{"_id":"@buckeyestudio/toh-base","name":"@buckeyestudio/toh-base","dist-tags":{"next":"0.1.1-rc.2","latest":"0.1.1-rc.2"},"versions":{"0.1.1-rc.2":{"name":"@buckeyestudio/toh-base","description":"The shared toh core as a profile bundle: every profile's first patch layer, inserting the base plugin rows over the empty profile root","version":"0.1.1-rc.2","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/dustinwloring1988/theopen-harness.git","directory":"packages/bundle/base"},"type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.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":{"@buckeyestudio/cordis-plugin-hmr":"^1.0.16","@buckeyestudio/toh-agent-default-model":"^0.1.1-rc.2","@buckeyestudio/cordis-plugin-timer":"^1.1.3","@buckeyestudio/toh-agent":"^0.1.1-rc.2","@buckeyestudio/toh-agent-loop":"^0.1.1-rc.2","@buckeyestudio/toh-attachment-local":"^0.1.1-rc.2","@buckeyestudio/toh-bash-sandbox":"^0.1.1-rc.2","@buckeyestudio/toh-shell-env":"^0.1.1-rc.2","@buckeyestudio/toh-command-feedback":"^0.1.1-rc.2","@buckeyestudio/toh-command-goal":"^0.1.1-rc.2","@buckeyestudio/toh-compaction-basic":"^0.1.1-rc.2","@buckeyestudio/toh-compaction-tool-result-pruner":"^0.1.1-rc.2","@buckeyestudio/toh-credentials-local":"^0.1.1-rc.2","@buckeyestudio/toh-fs-local":"^0.1.1-rc.2","@buckeyestudio/toh-commands":"^0.1.1-rc.2","@buckeyestudio/toh-fs-observation-policy":"^0.1.1-rc.2","@buckeyestudio/toh-goal":"^0.1.1-rc.2","@buckeyestudio/toh-fs-sandbox":"^0.1.1-rc.2","@buckeyestudio/toh-api-gateway":"^0.1.1-rc.2","@buckeyestudio/toh-llm":"^0.1.1-rc.2","@buckeyestudio/toh-goal-round-driver":"^0.1.1-rc.2","@buckeyestudio/toh-llm-deepseek":"^0.1.1-rc.2","@buckeyestudio/toh-command-compact":"^0.1.1-rc.2","@buckeyestudio/toh-llm-pi-ai":"^0.1.1-rc.2","@buckeyestudio/toh-llm-retry":"^0.1.1-rc.2","@buckeyestudio/toh-plan-mode":"^0.1.1-rc.2","@buckeyestudio/toh-repeat-tool-reminder":"^0.1.1-rc.2","@buckeyestudio/toh-sandbox-local":"^0.1.1-rc.2","@buckeyestudio/toh-sandbox-policy":"^0.1.1-rc.2","@buckeyestudio/toh-session":"^0.1.1-rc.2","@buckeyestudio/toh-session-checkpoint-policy":"^0.1.1-rc.2","@buckeyestudio/toh-session-persistence-jsonl":"^0.1.1-rc.2","@buckeyestudio/toh-pwsh-sandbox":"^0.1.1-rc.2","@buckeyestudio/toh-permission-presets":"^0.1.1-rc.2","@buckeyestudio/toh-session-projection":"^0.1.1-rc.2","@buckeyestudio/toh-session-query-sqlite":"^0.1.1-rc.2","@buckeyestudio/toh-session-telemetry-otel":"^0.1.1-rc.2","@buckeyestudio/toh-session-title":"^0.1.1-rc.2","@buckeyestudio/toh-settings-file":"^0.1.1-rc.2","@buckeyestudio/toh-session-title-first-prompt-llm":"^0.1.1-rc.2","@buckeyestudio/toh-skill-filesystem":"^0.1.1-rc.2","@buckeyestudio/toh-skill-badge":"^0.1.1-rc.2","@buckeyestudio/toh-skill":"^0.1.1-rc.2","@buckeyestudio/toh-spill-local":"^0.1.1-rc.2","@buckeyestudio/toh-spill-policy":"^0.1.1-rc.2","@buckeyestudio/toh-subagent":"^0.1.1-rc.2","@buckeyestudio/toh-subagent-fork-in-process":"^0.1.1-rc.2","@buckeyestudio/toh-subagent-spawn-in-process":"^0.1.1-rc.2","@buckeyestudio/toh-subprocess-local":"^0.1.1-rc.2","@buckeyestudio/toh-system-prompt":"^0.1.1-rc.2","@buckeyestudio/toh-jobs-local":"^0.1.1-rc.2","@buckeyestudio/toh-token-meter":"^0.1.1-rc.2","@buckeyestudio/toh-tool-bash":"^0.1.1-rc.2","@buckeyestudio/toh-tool-fs":"^0.1.1-rc.2","@buckeyestudio/toh-tool-call-timeout-policy":"^0.1.1-rc.2","@buckeyestudio/toh-tool-fs-search":"^0.1.1-rc.2","@buckeyestudio/toh-tool-goal":"^0.1.1-rc.2","@buckeyestudio/toh-tool-ralph":"^0.1.1-rc.2","@buckeyestudio/toh-tool-pwsh":"^0.1.1-rc.2","@buckeyestudio/toh-tool-skill":"^0.1.1-rc.2","@buckeyestudio/toh-tool-subagent":"^0.1.1-rc.2","@buckeyestudio/toh-tool-str-replace-editor":"^0.1.1-rc.2","@buckeyestudio/toh-tool-subagent-control":"^0.1.1-rc.2","@buckeyestudio/toh-tool-jobs":"^0.1.1-rc.2","@buckeyestudio/toh-tool-todo":"^0.1.1-rc.2","@buckeyestudio/toh-tool-web":"^0.1.1-rc.2","@buckeyestudio/toh-tool-subagent-report":"^0.1.1-rc.2","@buckeyestudio/toh-tools":"^0.1.1-rc.2","@buckeyestudio/toh-tool-workflow":"^0.1.1-rc.2","@buckeyestudio/toh-typert-loader":"^0.1.1-rc.2","@buckeyestudio/toh-typert-registry":"^0.1.1-rc.2","@buckeyestudio/toh-user-questions":"^0.1.1-rc.2","@buckeyestudio/toh-user-approval":"^0.1.1-rc.2","@buckeyestudio/toh-web":"^0.1.1-rc.2","@buckeyestudio/toh-web-search-deepseek":"^0.1.1-rc.2","@buckeyestudio/toh-workflow-worker-thread":"^0.1.1-rc.2","@buckeyestudio/toh-agent-instructions":"^0.1.1-rc.2"},"peerDependencies":{"@buckeyestudio/cordis":"^4.0.1","@buckeyestudio/toh-invariants":"^0.1.1-rc.2"},"devDependencies":{"@buckeyestudio/toh-invariants":"^0.1.1-rc.2","@buckeyestudio/cordis":"^4.0.1"},"_id":"@buckeyestudio/toh-base@0.1.1-rc.2","bugs":{"url":"https://github.com/dustinwloring1988/theopen-harness/issues"},"homepage":"https://github.com/dustinwloring1988/theopen-harness#readme","_integrity":"sha512-7vnp12pq3U35gDVgxQpJ3U/Uhw7lkrX+ETma+3uu7A9ZPO5/cfQtNRlQBDIEBv51rzupMRuqw+ZSEUUfbP9OFQ==","_resolved":"/home/runner/work/theopen-harness/theopen-harness/dist/npm/buckeyestudio-toh-base-0.1.1-rc.2.tgz","_from":"file:/home/runner/work/theopen-harness/theopen-harness/dist/npm/buckeyestudio-toh-base-0.1.1-rc.2.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-7vnp12pq3U35gDVgxQpJ3U/Uhw7lkrX+ETma+3uu7A9ZPO5/cfQtNRlQBDIEBv51rzupMRuqw+ZSEUUfbP9OFQ==","shasum":"4fe6ebac670ab292afb34e8bfcd33af90327bb78","tarball":"https://registry.npmjs.org/@buckeyestudio/toh-base/-/toh-base-0.1.1-rc.2.tgz","fileCount":10,"unpackedSize":34095,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDj4252m2XTfbM73IfV8XBy1r+3pT6fUiCHQ+UMYq6gEwIhALU75vvE99XUQ0R9f/UlqJ8UjUR7s5NDlA3HH3A3uoH9"}]},"_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-base_0.1.1-rc.2_1787489451347_0.3361477792951262"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-23T12:50:51.101Z","0.1.1-rc.2":"2026-08-23T12:50:51.479Z","modified":"2026-08-23T12:50:51.714Z"},"maintainers":[{"name":"buckeyestudio","email":"dustinwloring1988@gmail.com"}],"description":"The shared toh core as a profile bundle: every profile's first patch layer, inserting the base plugin rows over the empty profile root","homepage":"https://github.com/dustinwloring1988/theopen-harness#readme","repository":{"type":"git","url":"git+https://github.com/dustinwloring1988/theopen-harness.git","directory":"packages/bundle/base"},"author":{"name":"buckeyestudio"},"bugs":{"url":"https://github.com/dustinwloring1988/theopen-harness/issues"},"license":"MIT","readme":"# `@buckeyestudio/toh-base`\n\n[English](README.md) | 中文\n\n以 profile 组合包形式交付的共享 toh 核心：[`cordis.patch.yml`](cordis.patch.yml) 在空的 profile 根之上插入全部基础插件行——模型适配器、共享的 [`agent-default-model`](../../core/agent-default-model/README.zh.md) 选择、工具、持久化、策略、settings／credentials、遥测与核心 spawn／fork subagent provider——作为每个 profile 的 `toh.profile.bundles` 列表中的第一层。可选的 Codex 与 Claude Code provider 不属于本包及其生产依赖闭包；Profile 仅在需要时安装任一[产品 provider Bundle](../../subagent/README.zh.md)。因此，默认的 `@buckeyestudio/toh` 生产依赖闭包既不包含任一产品 provider、Claude Agent SDK，也不包含 Codex wrapper 及其平台载荷。后续的组合包层（例如 [`toh-web-app`](../web-app/README.zh.md)）和用户 profile 的 `cordis.patch.yml` 按 id 覆盖这些行；patch 会替换目标行的整个 `config`，因此模式专属的值放在各模式组合包中，而不是这里。该包没有运行时 API；profile 组合器通过 manifest（元数据清单）的 `toh.bundle.patch` 字段解析 patch，绝不通过代码。\n\npatch 在自身上按平台门控两个 shell 栈：`bash-sandbox`/`tool-bash` 携带 `disabled: !!js process.platform === 'win32'`（bash 没有 Windows runner），它们的孪生行 `pwsh-sandbox`/`tool-pwsh` 以取反的表达式仅在 win32 挂载——同一份 patch 文件，每个宿主恰好挂载一个 shell 栈。权限面与 POSIX 完全一致：`sandbox`/`sandbox-policy` 通过 Windows ACL 受限令牌 runner（`toh-sandbox-local` 的 win32 链 → `@buckeyestudio/toh-sandbox-windows-acl`）执行文件效果策略，权限切换器与 approval 服务原样运行，`fs-sandbox` 继续围栏 `ctx.fs` 写入——在其旁再挂载 `toh-fs-local` 会重复注册 `ctx.fs` 并在加载时失败。偏好不受沙盒约束的本地 pwsh 执行器或完整访问的 Windows 主机通过其 profile 或 home 的 `cordis.patch.yml` 覆盖这些行（bash 恢复配方必须完整：禁用 `pwsh-sandbox`/`tool-pwsh` 并重新启用 `bash-sandbox`/`tool-bash`——两个执行器家族注册同一个 `bash` 服务，配方不完整会在加载时直接报错）。POSIX 主机看到的是被禁用的 pwsh 行。\n\n行集合及其设计依据以行内注释写在 patch 文件里；[生成的组合图](../../../apps/cli/composition.md)负责渲染它。\n\n## 模型体验\n\n通过插入的行间接产生影响：该组合包选定了随发行版交付的无 persona 提示词基座、工具集合与 DeepSeek 适配器，供各模式组合包进一步特化；它自身不贡献任何模型可见文本。\n\n#### KV Cache 影响\n\n无直接影响；每条插入行的影响由其所属的包负责。\n\n## 已知限制与暂缓事项\n\n- **patch 会替换整行 `config`**：profile 覆盖必须重述该行需要保留的每个字段；不存在深度合并层。\n- **Windows 的临时目录授权是按会话的私有子目录**——`workspace-write` 把写入限制在工作区与会话自己的 temp 子目录（`<temp>\\toh-<hash>`，受限子进程的 TMP/TEMP 被改写）；`read-only` 不授予任何临时目录写入权限。见 `@buckeyestudio/toh-sandbox-windows-acl`。\n","readmeFilename":"README.zh.md","_rev":"1-33ddc5540e8cac105027a9662fe3c603"}