面向 Web/桌面的客户端库。src/contract.ts:1-17 复用 protocol 的 makeDefaultApi 定义 ClientApi 与 Location/SessionLocation 中间件,并声明 groupNames/endpointNames 映射(src/contract.ts:19-51);src/index.ts:1-2 从 generated/ 导出类型化客户端;src/generated/ 与 src/generated-effect/ 由 script/build.ts 依据 contract 生成(普通 + Effect 两版),src/effect.ts:3-25 转出 schema 数据类型并保证不 import core/server(文件头注释 src/effect.ts:1-2)。
· 客户端 Api 契约(基于 protocol 默认 Api,packages/client/src/contract.ts:14-17)
· 生成的普通客户端(packages/client/src/generated/client.ts)
· 生成的 Effect 客户端(packages/client/src/generated-effect/client.ts)
· 类型 re-export 与错误类型(packages/client/src/effect.ts:4-25、generated/client-error.ts)
· group/endpoint 名称映射(packages/client/src/contract.ts:19-51)
| 节点 | 机制 | 证据 |
|---|---|---|
| schema | workspace-dep | @opencode-ai/client/package.json dependencies.@opencode-ai/schema |
| protocol | workspace-dep | @opencode-ai/client/package.json dependencies.@opencode-ai/protocol |
| 节点 | 机制 | 证据 |
|---|---|---|
| app | workspace-dep | @opencode-ai/app/package.json dependencies.@opencode-ai/client |
| sdk-next | workspace-dep | @opencode-ai/sdk-next/package.json dependencies.@opencode-ai/client |
| session-ui | workspace-dep | @opencode-ai/session-ui/package.json dependencies.@opencode-ai/client |
| httpapi-codegen | workspace-dep | client depends on httpapi-codegen |
面向 app/web 前端生成类型安全的 HTTP 客户端,并通过协议层复用服务端同款端点契约;强调不得反向依赖 core/server(src/effect.ts:1-2),保持客户端纯净。
官方底座,未被本机装配层直接引用