Skip to content

Commit a33c76f

Browse files
committed
refactor(tools): move contextual manifest helpers
1 parent 913d268 commit a33c76f

13 files changed

Lines changed: 1204 additions & 254 deletions

File tree

docs/architecture/core-decomposition.md

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Rust 编译和链接面。
6666
| `bitfun-agent-stream` | Stream 聚合和 stream-focused 测试 | done:stream 聚合已独立 |
6767
| `bitfun-runtime-ports` | 面向 service/agent 边界的轻量跨层 DTO 和 trait | partial:DTO/trait-only 边界已建立,包含 agent submission/transcript/cancel、remote state、runtime event 与 remote image attachment 契约;不拥有 runtime 实现 |
6868
| `bitfun-agent-runtime` | Sessions、execution、coordination、agent system | target:crate 尚不存在,agent runtime 仍在 core |
69-
| `bitfun-agent-tools` | 轻量 tool DTO / contract、portable tool context facts / provider、runtime restriction、pure manifest/exposure and GetToolSpec presentation/schema contract、generic registry / static-provider / dynamic-provider container | partial:runtime manifest assembly / context filtering`ToolUseContext``GetToolSpec` 执行和 concrete tools 仍在 core;core 当前仅把内置工具列表收敛为 core-owned static provider group,并只通过 `PortableToolContextProvider` 提供 `ToolContextFacts` 只读投影 |
69+
| `bitfun-agent-tools` | 轻量 tool DTO / contract、portable tool context facts / provider、runtime restriction、pure manifest/exposure and GetToolSpec presentation/schema/detail contract、generic contextual manifest resolver、generic catalog snapshot provider / GetToolSpec catalog provider、generic registry / static-provider / dynamic-provider container | partial:product registry snapshot access`ToolUseContext` adapter`GetToolSpec` 执行和 concrete tools 仍在 core;core 当前把内置工具列表收敛为 core-owned static provider group,并只通过 `PortableToolContextProvider` 提供 `ToolContextFacts` 只读投影 |
7070
| `bitfun-tool-packs` | 由 feature group 隔离的具体工具实现 | target/scaffold:仅提供 basic / git / mcp / browser-web / computer-use / image-analysis / miniapp / agent-control feature-group 元数据,不得声明 concrete tools 已迁移 |
7171
| `bitfun-services-core` | Config、session、workspace、storage、filesystem、system services | partial:部分 pure helper 已迁出;config/workspace/filesystem runtime 多数仍在 core |
7272
| `bitfun-services-integrations` | Git、MCP、remote SSH、remote connect、file watch integrations | partial:MCP runtime 已迁入;remote SSH 仍只迁移低风险 contracts/helpers;remote-connect 已拥有 wire DTO、request builder、tracker state / registry lifecycle 与 tracker event reduction,dispatcher/product execution 仍在 core |
@@ -136,17 +136,20 @@ owner 边界,否则不要把一个 feature group 继续拆成更小的 crate
136136
处理前,必须保留 `report.md` / `citations.md` / `display_map.json` 的 deterministic post-processing 行为;
137137
在此之前该 hook 仍属于 `bitfun-core` agent runtime assembly。
138138
- 最新主干新增 on-demand tool spec discovery。`ToolExposure``GetToolSpec` 名称、
139-
collapsed stub、manifest ordering、generic collapsed exposure query、GetToolSpec
140-
prompt / schema / assistant-detail rendering 等纯契约可由 `bitfun-agent-tools`
141-
拥有;但 `manifest_resolver`、产品 registry snapshot、product collapsed-tool catalog、context-aware
142-
tool schema/description、`GetToolSpec` 执行和 `ToolUseContext.unlocked_collapsed_tools`
143-
暂时仍属于 `bitfun-core` product tool runtime。继续迁移前必须证明 prompt-visible
144-
manifest、expanded/collapsed exposure、unlock state 与 desktop/MCP/ACP tool catalog 等价。
139+
collapsed stub、manifest ordering、generic collapsed exposure query、generic contextual
140+
prompt-manifest resolver、generic catalog snapshot provider、GetToolSpec catalog provider /
141+
prompt / schema / assistant-detail rendering / detail JSON 等 provider-neutral 契约可由 `bitfun-agent-tools`
142+
拥有;但产品 registry snapshot、`dyn Tool`
143+
/ `ToolUseContext` adapter、product collapsed-tool catalog、context-aware tool
144+
schema/description 的实际调用、`GetToolSpec` 执行和
145+
`ToolUseContext.unlocked_collapsed_tools` 仍属于 `bitfun-core` product tool runtime。
146+
继续迁移前必须证明 prompt-visible manifest、expanded/collapsed exposure、unlock state
147+
与 desktop/MCP/ACP tool catalog 等价。
145148
- 当前 tool runtime 外移的低风险入口是 `StaticToolProvider` / `install_static_provider`
146149
合约归属 `bitfun-agent-tools`,并让 core 通过 `runtime_assembly.rs` + `static_providers.rs`
147150
将内置工具列表收敛为 `core.basic``core.agent``core.session``core.integration`
148151
provider group。
149-
这不代表 concrete tools、`ToolUseContext`runtime manifest resolver
152+
这不代表 concrete tools、`ToolUseContext`product registry snapshot adapter
150153
`GetToolSpecTool` 执行已经迁移。
151154
- `ToolContextFacts` 只记录 tool call、agent/session/turn、workspace kind/root
152155
与 runtime restriction 等可移植事实。它不携带 collapsed-tool unlock state、
@@ -254,12 +257,13 @@ owner 边界,否则不要把一个 feature group 继续拆成更小的 crate
254257
- 已合入的 semantic baseline 已补 config failure、catalog replacement invalidation、沿用既有 list-changed
255258
helper baseline、dynamic manifest order/metadata、tool manifest / `GetToolSpec`、MiniApp storage layout
256259
adapter 等价和 remote search fallback gate;这些都是 behavior-locking tests,不移动 runtime owner。
257-
- 本轮 tool manifest presentation contract closure 只把 `ToolExposure``GetToolSpec` 名称、纯 manifest
258-
policy、collapsed prompt stub、prompt-visible ordering、GetToolSpec input schema / validation、
259-
prompt description、assistant-detail rendering 与 duplicate-load hint 归入 `bitfun-agent-tools`
260-
并让 core runtime manifest resolver / `GetToolSpecTool` 委托这些纯 helper;不迁移
261-
`ToolUseContext`、registry snapshot、context-aware tool discovery、`GetToolSpecTool` 执行、
262-
unlock state 或 concrete tool implementation。
260+
- 本轮 tool manifest presentation contract closure 把 `ToolExposure``GetToolSpec` 名称、纯 manifest
261+
policy、collapsed prompt stub、prompt-visible ordering、generic contextual manifest resolver、
262+
generic catalog snapshot provider、GetToolSpec catalog provider、GetToolSpec input schema / validation、prompt description、
263+
assistant-detail rendering、collapsed summary/detail JSON 与 duplicate-load hint 归入
264+
`bitfun-agent-tools`,并让 core manifest adapter / `GetToolSpecTool` 委托这些
265+
provider-neutral helper;不迁移 `ToolUseContext`、registry snapshot access、
266+
`GetToolSpecTool` 执行、unlock state 或 concrete tool implementation。
263267
该阶段闭环后,后续不应再插入 baseline-only PR 才开始 runtime owner 迁移;下一组 PR 应直接以
264268
单一 owner 为单位移动实际 runtime,并沿用本节等价测试和边界脚本。
265269
- 已合入的 `Services/Product Runtime Owner Closure` 只收口已经有 port/contract 保护的低风险 owner:

0 commit comments

Comments
 (0)