{"_id":"@buckeyestudio/toh-headless","name":"@buckeyestudio/toh-headless","dist-tags":{"next":"0.1.1-rc.2","latest":"0.1.1-rc.2"},"versions":{"0.1.1-rc.2":{"name":"@buckeyestudio/toh-headless","description":"The toh one-shot bundle: a direct core Agent/Session runner over toh-base with no Host, HTTP, or browser layer","version":"0.1.1-rc.2","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/dustinwloring1988/theopen-harness.git","directory":"packages/bundle/headless"},"type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./startup":{"types":"./lib/types/startup.d.ts","default":"./lib/startup.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./cordis.patch.yml":"./cordis.patch.yml","./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","author":{"name":"buckeyestudio"},"toh":{"bundle":{"patch":"./cordis.patch.yml"}},"dependencies":{"commander":"^15.0.0","@buckeyestudio/toh-cmdline":"^0.1.1-rc.2","@buckeyestudio/toh-code-runtime-worker-thread":"^0.1.1-rc.2","@buckeyestudio/schemastery":"^3.18.1"},"peerDependencies":{"@buckeyestudio/toh-agent":"^0.1.1-rc.2","@buckeyestudio/cordis-plugin-loader":"^1.0.2","@buckeyestudio/toh-agent-default-model":"^0.1.1-rc.2","@buckeyestudio/toh-invariants":"^0.1.1-rc.2","@buckeyestudio/toh-llm":"^0.1.1-rc.2","@buckeyestudio/toh-session":"^0.1.1-rc.2","@buckeyestudio/cordis":"^4.0.1"},"devDependencies":{"@buckeyestudio/cordis-plugin-loader":"^1.0.2","@buckeyestudio/toh-agent":"^0.1.1-rc.2","@buckeyestudio/toh-agent-default-model":"^0.1.1-rc.2","@buckeyestudio/toh-invariants":"^0.1.1-rc.2","@buckeyestudio/toh-llm":"^0.1.1-rc.2","@buckeyestudio/toh-session":"^0.1.1-rc.2","@buckeyestudio/cordis":"^4.0.1"},"_id":"@buckeyestudio/toh-headless@0.1.1-rc.2","bugs":{"url":"https://github.com/dustinwloring1988/theopen-harness/issues"},"homepage":"https://github.com/dustinwloring1988/theopen-harness#readme","_integrity":"sha512-XmHKutVs4fPvr0KGrDJB+FjmHMe2bnxOiv95wqlm6tRO0Zu6q11huqdjNjbyD0gZYp0VNSTBqJoaDuGp5G0TUA==","_resolved":"/home/runner/work/theopen-harness/theopen-harness/dist/npm/buckeyestudio-toh-headless-0.1.1-rc.2.tgz","_from":"file:/home/runner/work/theopen-harness/theopen-harness/dist/npm/buckeyestudio-toh-headless-0.1.1-rc.2.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-XmHKutVs4fPvr0KGrDJB+FjmHMe2bnxOiv95wqlm6tRO0Zu6q11huqdjNjbyD0gZYp0VNSTBqJoaDuGp5G0TUA==","shasum":"9d53747eadd6684f3e146a319361dbe6aefd57e8","tarball":"https://registry.npmjs.org/@buckeyestudio/toh-headless/-/toh-headless-0.1.1-rc.2.tgz","fileCount":12,"unpackedSize":19969,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDsKspfwqKnUd/WQ/oQmnKs8yjO2a+Kry8262Sb724SHAIgaTS5a4ZVTSH2dYsMWgj/nzWhUNyzDJtPm3MRqmsFxvs="}]},"_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-headless_0.1.1-rc.2_1787489527013_0.17241716803457918"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-23T12:52:06.860Z","0.1.1-rc.2":"2026-08-23T12:52:07.171Z","modified":"2026-08-23T12:52:07.335Z"},"maintainers":[{"name":"buckeyestudio","email":"dustinwloring1988@gmail.com"}],"description":"The toh one-shot bundle: a direct core Agent/Session runner over toh-base with no Host, HTTP, or browser layer","homepage":"https://github.com/dustinwloring1988/theopen-harness#readme","repository":{"type":"git","url":"git+https://github.com/dustinwloring1988/theopen-harness.git","directory":"packages/bundle/headless"},"author":{"name":"buckeyestudio"},"bugs":{"url":"https://github.com/dustinwloring1988/theopen-harness/issues"},"license":"MIT","readme":"# `@buckeyestudio/toh-headless`\n\n[English](README.md) | 中文\n\ntoh 一次性任务组合包。[`cordis.patch.yml`](cordis.patch.yml) 直接叠加在 [`toh-base`](../base/README.zh.md) 之上：提供编码 persona 和工具模式、禁用 HMR（热模块替换）、将 Code Mode 的 worker 作为核心执行能力挂载，并插入本包的 `headless-runner` 插件（配置为 `{task}`，从注入的 `headlessStartup` 提供方解析）。它不挂载任何 Host、HTTP server、Web runtime 或浏览器插件。\n\nLoader 结算后，runner 读取共享的 [`ctx.agentDefaultModel`](../../core/agent-default-model/README.zh.md)，通过 `ctx.agents` 创建一个全新的持久化 Agent（智能体），将任务作为普通用户消息提交，并等待完全停稳。它对 Session 执行 flush 后再汇总自身持有的持久化事件区间，将最后一条非空 assistant 文本写入 stdout，再经启动器提供的 `ctx.appExit` 宿主钩子（[`toh-cmdline`](../../boot/cmdline/README.zh.md)）请求退出（最终 `turn/end` 完成 → 0，否则为 1）。最终结束原因为 `error` 时，还会将 code 与 message 写入 stderr；成功运行时 stderr 保持为空。进程不会打开监听端口。任务文本就是这个应用的命令行：普通 `headless-startup` 提供方（[`src/startup.ts`](src/startup.ts)）注入 `ctx.cmdlineArgs`（[`toh-cmdline`](../../boot/cmdline/README.zh.md)），读取 `toh --profile headless \"task\"` 的位置参数、打印应用自己的 `--help`，并提供 `headlessStartup`；runner 注入该服务，再从惰性配置中读取任务。缺失或只有空白的任务会在 runner 激活前被拒绝。\n\n## 模型体验\n\n无影响，因为 runner 把任务作为普通用户消息提交；提示词与工具由 base 和 headless 组合包中的相应条目提供。\n\n#### KV Cache 影响\n\n无；runner 不向请求前缀添加任何内容。\n\n## 已知限制与暂缓事项\n\n- **只提交一个任务**：runner 没有用于交互式后续输入的 surface；它会等待 Agent 在返回 idle 前完成的所有工作，并打印该区间内最后一条非空 assistant 消息。\n- **`ctx.appExit` 由启动器持有**：在 `toh` 启动器之外启动 headless profile 会在激活时明确报错，直到宿主提供该退出请求。\n","readmeFilename":"README.zh.md","_rev":"1-049f7fd96d4ad29fc129453d9982ba94"}