httpapi-codegen

oc-httpapi-codegen · package · G14-工具 · Layer 0

① 作用

构建期源代码生成工具。compile(Api) 反射一个权威 HttpApi 共享契约;emitPromise/emitEffect/emitEffectImported 独立产出客户;write(output,dir) 经 prettier 格式化后落盘。Effect 客户经 effect/unstable/httpapi 解码域值;Promise 客户零 Effect 直接 fetch。

② 提供能力

从 HttpApi+Effect Schema 契约生成领域化客户端 TS 源码:类型化输入、解包 {data:A}、void/stream 映射、统一 ClientError、operations 元数据。

③ 依赖(上游)

节点机制证据
clientworkspace-depclient depends on httpapi-codegen

④ 被依赖(下游)

无下游依赖

⑤ 为什么存在(why)

设计意图(官方)

把 HTTP 客户端生成从 OpenCode Core 解耦成私有独立包,测试即规范;契约作为唯一共享源,Promise 与 Effect 双投影解耦;manifest 防重复生成破坏。

改造关联

官方底座,未被本机装配层直接引用

⑥ 怎么用(how)

怎么用

定义 HttpApi 契约→compile 得 Contract→选 emitPromise 或 emitEffect→write 到目录。产物头部注明 Generated by @opencode-ai/httpapi-codegen. Do not edit.

典型场景与协作

@opencode-ai/client 在服务器契约一改时重新生成 src/generated;app/session-ui/sdk-next 消费该 client 做远端与内嵌调用。