{"_id":"@buckeyestudio/toh-sdk-jsonrpc-demo","name":"@buckeyestudio/toh-sdk-jsonrpc-demo","dist-tags":{"next":"0.1.1-rc.2","latest":"0.1.1-rc.2"},"versions":{"0.1.1-rc.2":{"name":"@buckeyestudio/toh-sdk-jsonrpc-demo","description":"Bin that boots an external Cordis config for the stdio JSON-RPC SDK runtime","version":"0.1.1-rc.2","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/dustinwloring1988/theopen-harness.git","directory":"packages/examples/jsonrpc-demo"},"type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","bin":{"toh-jsonrpc-agent":"lib/bin.js"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./bin":{"types":"./lib/types/bin.d.ts","default":"./lib/bin.js"},"./packaged-bin":{"types":"./lib/types/packaged-bin.d.ts","default":"./lib/packaged-bin.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","author":{"name":"buckeyestudio"},"dependencies":{"@buckeyestudio/toh-app-boot":"^0.1.1-rc.2"},"peerDependencies":{"@buckeyestudio/toh-invariants":"^0.1.1-rc.2","@buckeyestudio/cordis":"^4.0.1"},"devDependencies":{"@buckeyestudio/toh-invariants":"^0.1.1-rc.2","@buckeyestudio/cordis":"^4.0.1"},"_id":"@buckeyestudio/toh-sdk-jsonrpc-demo@0.1.1-rc.2","bugs":{"url":"https://github.com/dustinwloring1988/theopen-harness/issues"},"homepage":"https://github.com/dustinwloring1988/theopen-harness#readme","_integrity":"sha512-IZvVNK2aSN7ILNdrfLBOZNfbEhX2wAjDWeuxOmZEft6DLaN9jFKZJj2eAPTT/TYHnlDXOCcT/aHys4ZQIfw/QQ==","_resolved":"/home/runner/work/theopen-harness/theopen-harness/dist/npm/buckeyestudio-toh-sdk-jsonrpc-demo-0.1.1-rc.2.tgz","_from":"file:/home/runner/work/theopen-harness/theopen-harness/dist/npm/buckeyestudio-toh-sdk-jsonrpc-demo-0.1.1-rc.2.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-IZvVNK2aSN7ILNdrfLBOZNfbEhX2wAjDWeuxOmZEft6DLaN9jFKZJj2eAPTT/TYHnlDXOCcT/aHys4ZQIfw/QQ==","shasum":"d62819164b33d188a37a1e9c48f73d6afce2e84c","tarball":"https://registry.npmjs.org/@buckeyestudio/toh-sdk-jsonrpc-demo/-/toh-sdk-jsonrpc-demo-0.1.1-rc.2.tgz","fileCount":14,"unpackedSize":15907,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD/imynJMixA61zFAAIL2i9uLsFKjEGSJb/t89l/zlU5AIgK+R4sLhVqrE1uCnK31cDK48hX35GmHJmo4zsMOu86lc="}]},"_npmUser":{"name":"buckeyestudio","email":"dustinwloring1988@gmail.com"},"directories":{},"maintainers":[{"name":"buckeyestudio","email":"dustinwloring1988@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/toh-sdk-jsonrpc-demo_0.1.1-rc.2_1787489830842_0.9300006798996678"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-23T12:57:10.658Z","0.1.1-rc.2":"2026-08-23T12:57:10.995Z","modified":"2026-08-23T12:57:11.205Z"},"maintainers":[{"name":"buckeyestudio","email":"dustinwloring1988@gmail.com"}],"description":"Bin that boots an external Cordis config for the stdio JSON-RPC SDK runtime","homepage":"https://github.com/dustinwloring1988/theopen-harness#readme","repository":{"type":"git","url":"git+https://github.com/dustinwloring1988/theopen-harness.git","directory":"packages/examples/jsonrpc-demo"},"author":{"name":"buckeyestudio"},"bugs":{"url":"https://github.com/dustinwloring1988/theopen-harness/issues"},"license":"MIT","readme":"# @buckeyestudio/toh-sdk-jsonrpc-demo\n\n[English](README.md) | 中文\n\n只包含 bin 的应用，启动外部 `cordis.yml`；其 [`jsonrpc`](../../sdk/server/README.zh.md) 入口通过按换行分隔的 stdio 为 SDK 客户端提供服务。配置负责组合主干、后端和服务插件。发布的 `toh-jsonrpc-agent` bin 从配置项目解析裸插件。Python SDK 的 `toh-jsonrpc-agent-pkg` [单文件可执行运行时](../../../.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md)改用 `lib/packaged-bin.js`：已打包的裸插件从封闭运行时包树解析，相对插件仍以配置目录为基准。\n\n## 配置发现\n\n第一个非空通道生效：先 `$TOH_CORDIS_CONFIG`，再位置参数 `argv[2]`。如果二者都没有指向现有文件，bin 会向 stderr 打印单行用法并以 1 退出；没有工作目录回退或内置回退。[`toh-app-boot`](../../boot/app-boot/README.zh.md) 会使插件加载失败成为致命错误。此协议不使用 `TOH_SNAPSHOT`。\n\n不含 `toh-sdk-jsonrpc-server` 的配置仍然有效，只是不提供任何服务；bin 不会指定服务器插件。\n\n## 退出生命周期\n\nstdin EOF 和 `SIGTERM` 会 dispose（释放资源）根上下文，等待完全停稳后以 0 退出；`SIGINT` 完成同样的 dispose 后以 130 退出。EOF 可能按[分发 Agent Note](../../../.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md) 所述截断正在处理的轮次。`jsonrpc` 插件拥有先响应再退出的协议关闭流程；两条路径均幂等，即使发生竞态也安全。\n\n## stdout 是协议\n\nstdout 只承载 JSON-RPC 帧。bin 和启动守卫在 stderr 上输出诊断，配置必须省略 stdout logger。\n\n## 模型体验\n\n模型体验由外部 `cordis.yml` 加载的插件间接提供；这些插件负责所有面向模型的提示词、schema、消息和结果，此 bin 不添加任何内容。\n\n#### KV Cache 影响\n\n不会直接失效；由上述消费方负责请求前缀的任何变更。\n\n## 已知限制与暂缓事项\n\n- **bin 无法证明配置提供 JSON-RPC 服务**：不含 `toh-sdk-jsonrpc-server` 条目的有效配置也能成功启动，但不会提供任何服务。\n- **不存在内置或默认配置**：每次启动都必须提供 `TOH_CORDIS_CONFIG` 或位置路径；部署方负责完整的插件树和 stdout 纪律。\n- **stdin EOF 会截断正在处理的工作**：客户端消失时立即释放根上下文；需要有序完成的调用方应使用协议级 `shutdown` 请求。\n","readmeFilename":"README.zh.md","_rev":"1-dafab22df09292a2cc99c8ac3e1a351a"}