@zhin.js/agent 0.2.1 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/README.md +11 -12
  2. package/lib/agent-prompt/resolver.d.ts +2 -1
  3. package/lib/agent-prompt/resolver.d.ts.map +1 -1
  4. package/lib/agent-prompt/resolver.js +8 -3
  5. package/lib/agent-prompt/resolver.js.map +1 -1
  6. package/lib/assistant/home-mcp-bridge.d.ts +1 -1
  7. package/lib/assistant/home-mcp-bridge.d.ts.map +1 -1
  8. package/lib/assistant/home-policy.js +20 -21
  9. package/lib/assistant/home-policy.js.map +1 -1
  10. package/lib/assistant/home-tools.d.ts.map +1 -1
  11. package/lib/assistant/home-tools.js +5 -2
  12. package/lib/assistant/home-tools.js.map +1 -1
  13. package/lib/bootstrap.d.ts +12 -0
  14. package/lib/bootstrap.d.ts.map +1 -1
  15. package/lib/bootstrap.js +14 -0
  16. package/lib/bootstrap.js.map +1 -1
  17. package/lib/builtin/analyze-media-tool.d.ts.map +1 -1
  18. package/lib/builtin/analyze-media-tool.js +11 -5
  19. package/lib/builtin/analyze-media-tool.js.map +1 -1
  20. package/lib/builtin/bash-tool.d.ts +4 -2
  21. package/lib/builtin/bash-tool.d.ts.map +1 -1
  22. package/lib/builtin/bash-tool.js +17 -14
  23. package/lib/builtin/bash-tool.js.map +1 -1
  24. package/lib/builtin/generate-image-tool.d.ts +1 -1
  25. package/lib/builtin/generate-image-tool.d.ts.map +1 -1
  26. package/lib/builtin/generate-image-tool.js +3 -3
  27. package/lib/builtin/generate-image-tool.js.map +1 -1
  28. package/lib/builtin/grep-tool.d.ts.map +1 -1
  29. package/lib/builtin/grep-tool.js +4 -1
  30. package/lib/builtin/grep-tool.js.map +1 -1
  31. package/lib/builtin/knowledge-search-tool.d.ts +6 -0
  32. package/lib/builtin/knowledge-search-tool.d.ts.map +1 -0
  33. package/lib/builtin/knowledge-search-tool.js +184 -0
  34. package/lib/builtin/knowledge-search-tool.js.map +1 -0
  35. package/lib/builtin/orchestration-tools.d.ts +2 -1
  36. package/lib/builtin/orchestration-tools.d.ts.map +1 -1
  37. package/lib/builtin/orchestration-tools.js.map +1 -1
  38. package/lib/builtin/read-file-tool.d.ts.map +1 -1
  39. package/lib/builtin/read-file-tool.js +4 -4
  40. package/lib/builtin/read-file-tool.js.map +1 -1
  41. package/lib/builtin/run-spec-dry-run-tool.d.ts +1 -4
  42. package/lib/builtin/run-spec-dry-run-tool.d.ts.map +1 -1
  43. package/lib/builtin/run-spec-dry-run-tool.js.map +1 -1
  44. package/lib/builtin/run-validation-spec-tool.d.ts +1 -4
  45. package/lib/builtin/run-validation-spec-tool.d.ts.map +1 -1
  46. package/lib/builtin/run-validation-spec-tool.js.map +1 -1
  47. package/lib/builtin/spawn-task-tool.d.ts +2 -1
  48. package/lib/builtin/spawn-task-tool.d.ts.map +1 -1
  49. package/lib/builtin/spawn-task-tool.js.map +1 -1
  50. package/lib/builtin/web-fetch-tool.d.ts +2 -0
  51. package/lib/builtin/web-fetch-tool.d.ts.map +1 -1
  52. package/lib/builtin/web-fetch-tool.js +38 -16
  53. package/lib/builtin/web-fetch-tool.js.map +1 -1
  54. package/lib/builtin-tools.d.ts +2 -0
  55. package/lib/builtin-tools.d.ts.map +1 -1
  56. package/lib/builtin-tools.js +5 -1
  57. package/lib/builtin-tools.js.map +1 -1
  58. package/lib/config/fix-ai-config.d.ts +1 -1
  59. package/lib/config/fix-ai-config.d.ts.map +1 -1
  60. package/lib/config/fix-ai-config.js +1 -1
  61. package/lib/config/normalize-ai-config.d.ts +5 -2
  62. package/lib/config/normalize-ai-config.d.ts.map +1 -1
  63. package/lib/config/normalize-ai-config.js +50 -7
  64. package/lib/config/normalize-ai-config.js.map +1 -1
  65. package/lib/config/provider-instance.d.ts +1 -1
  66. package/lib/config/provider-instance.d.ts.map +1 -1
  67. package/lib/config/provider-instance.js +2 -51
  68. package/lib/config/provider-instance.js.map +1 -1
  69. package/lib/config/types.d.ts +9 -5
  70. package/lib/config/types.d.ts.map +1 -1
  71. package/lib/config/types.js.map +1 -1
  72. package/lib/config/validate-ai-config.d.ts.map +1 -1
  73. package/lib/config/validate-ai-config.js +12 -2
  74. package/lib/config/validate-ai-config.js.map +1 -1
  75. package/lib/create-agent-session.d.ts +1 -1
  76. package/lib/create-agent-session.d.ts.map +1 -1
  77. package/lib/deferred-worker-runner.d.ts +1 -1
  78. package/lib/deferred-worker-runner.d.ts.map +1 -1
  79. package/lib/deferred-worker-runner.js +39 -12
  80. package/lib/deferred-worker-runner.js.map +1 -1
  81. package/lib/index.d.ts +5 -19
  82. package/lib/index.d.ts.map +1 -1
  83. package/lib/index.js +3 -10
  84. package/lib/index.js.map +1 -1
  85. package/lib/init/activate-ai-database-storage.d.ts +1 -1
  86. package/lib/init/activate-ai-database-storage.d.ts.map +1 -1
  87. package/lib/init/activate-ai-database-storage.js +12 -8
  88. package/lib/init/activate-ai-database-storage.js.map +1 -1
  89. package/lib/init/create-zhin-agent.d.ts.map +1 -1
  90. package/lib/init/create-zhin-agent.js +18 -6
  91. package/lib/init/create-zhin-agent.js.map +1 -1
  92. package/lib/init/introspection-collectors.d.ts +1 -1
  93. package/lib/init/introspection-collectors.d.ts.map +1 -1
  94. package/lib/init/introspection-collectors.js.map +1 -1
  95. package/lib/init/introspection-commands-format.d.ts +1 -1
  96. package/lib/init/introspection-commands-format.d.ts.map +1 -1
  97. package/lib/init/introspection-commands-format.js.map +1 -1
  98. package/lib/init/message-media.d.ts +2 -1
  99. package/lib/init/message-media.d.ts.map +1 -1
  100. package/lib/init/message-media.js.map +1 -1
  101. package/lib/init/register-agent-mesh-mcp.d.ts.map +1 -1
  102. package/lib/init/register-agent-mesh-mcp.js +18 -2
  103. package/lib/init/register-agent-mesh-mcp.js.map +1 -1
  104. package/lib/init/register-ai-service.d.ts.map +1 -1
  105. package/lib/init/register-ai-service.js +2 -1
  106. package/lib/init/register-ai-service.js.map +1 -1
  107. package/lib/init/register-builtin-tools.d.ts.map +1 -1
  108. package/lib/init/register-builtin-tools.js +12 -7
  109. package/lib/init/register-builtin-tools.js.map +1 -1
  110. package/lib/init/register-db-upgrade.js.map +1 -1
  111. package/lib/init/register-introspection-commands.d.ts.map +1 -1
  112. package/lib/init/register-introspection-commands.js +8 -9
  113. package/lib/init/register-introspection-commands.js.map +1 -1
  114. package/lib/init/register-owner-approve-commands.d.ts.map +1 -1
  115. package/lib/init/register-owner-approve-commands.js +16 -22
  116. package/lib/init/register-owner-approve-commands.js.map +1 -1
  117. package/lib/mcp-client/bridge.d.ts +4 -4
  118. package/lib/mcp-client/bridge.d.ts.map +1 -1
  119. package/lib/mcp-client/bridge.js.map +1 -1
  120. package/lib/mcp-client/connection.d.ts.map +1 -1
  121. package/lib/mcp-client/connection.js +37 -1
  122. package/lib/mcp-client/connection.js.map +1 -1
  123. package/lib/mcp-server/agent-mesh-tools.js +1 -1
  124. package/lib/mcp-server/agent-mesh-tools.js.map +1 -1
  125. package/lib/media/media-capabilities.d.ts.map +1 -1
  126. package/lib/media/media-capabilities.js +5 -7
  127. package/lib/media/media-capabilities.js.map +1 -1
  128. package/lib/media/resolve-config.d.ts.map +1 -1
  129. package/lib/media/resolve-config.js +5 -7
  130. package/lib/media/resolve-config.js.map +1 -1
  131. package/lib/memory-layers.d.ts.map +1 -1
  132. package/lib/memory-layers.js +10 -15
  133. package/lib/memory-layers.js.map +1 -1
  134. package/lib/orchestrator/agent-dispatcher.d.ts +1 -1
  135. package/lib/orchestrator/agent-dispatcher.d.ts.map +1 -1
  136. package/lib/orchestrator/owner-confirm-orchestration.d.ts +1 -1
  137. package/lib/orchestrator/owner-confirm-orchestration.d.ts.map +1 -1
  138. package/lib/orchestrator/owner-confirm-orchestration.js +3 -9
  139. package/lib/orchestrator/owner-confirm-orchestration.js.map +1 -1
  140. package/lib/orchestrator/remote-agent-registry.d.ts +1 -1
  141. package/lib/orchestrator/remote-agent-registry.d.ts.map +1 -1
  142. package/lib/plugin-ai-hook-bus.d.ts.map +1 -1
  143. package/lib/plugin-ai-hook-bus.js +2 -7
  144. package/lib/plugin-ai-hook-bus.js.map +1 -1
  145. package/lib/routing/runtime-binding.d.ts +1 -1
  146. package/lib/routing/runtime-binding.d.ts.map +1 -1
  147. package/lib/security/audit-logger.d.ts +1 -0
  148. package/lib/security/audit-logger.d.ts.map +1 -1
  149. package/lib/security/audit-logger.js +17 -7
  150. package/lib/security/audit-logger.js.map +1 -1
  151. package/lib/security/dangerous-tool-policy.d.ts +4 -0
  152. package/lib/security/dangerous-tool-policy.d.ts.map +1 -1
  153. package/lib/security/dangerous-tool-policy.js +46 -42
  154. package/lib/security/dangerous-tool-policy.js.map +1 -1
  155. package/lib/security/exec-policy.d.ts +1 -1
  156. package/lib/security/exec-policy.d.ts.map +1 -1
  157. package/lib/security/exec-policy.js +15 -3
  158. package/lib/security/exec-policy.js.map +1 -1
  159. package/lib/security/file-policy.d.ts +8 -0
  160. package/lib/security/file-policy.d.ts.map +1 -1
  161. package/lib/security/file-policy.js +48 -12
  162. package/lib/security/file-policy.js.map +1 -1
  163. package/lib/security/file-role-policy.d.ts +6 -3
  164. package/lib/security/file-role-policy.d.ts.map +1 -1
  165. package/lib/security/file-role-policy.js +29 -6
  166. package/lib/security/file-role-policy.js.map +1 -1
  167. package/lib/security/index.d.ts +3 -45
  168. package/lib/security/index.d.ts.map +1 -1
  169. package/lib/security/index.js +3 -66
  170. package/lib/security/index.js.map +1 -1
  171. package/lib/security/network-policy.d.ts +30 -87
  172. package/lib/security/network-policy.d.ts.map +1 -1
  173. package/lib/security/network-policy.js +133 -280
  174. package/lib/security/network-policy.js.map +1 -1
  175. package/lib/security/owner-approve-always-store.js +0 -1
  176. package/lib/security/owner-approve-always-store.js.map +1 -1
  177. package/lib/security/sandbox-docker.d.ts +28 -0
  178. package/lib/security/sandbox-docker.d.ts.map +1 -0
  179. package/lib/security/sandbox-docker.js +177 -0
  180. package/lib/security/sandbox-docker.js.map +1 -0
  181. package/lib/security/sandbox.d.ts +10 -0
  182. package/lib/security/sandbox.d.ts.map +1 -1
  183. package/lib/security/sandbox.js +152 -14
  184. package/lib/security/sandbox.js.map +1 -1
  185. package/lib/service.d.ts +4 -5
  186. package/lib/service.d.ts.map +1 -1
  187. package/lib/service.js +4 -12
  188. package/lib/service.js.map +1 -1
  189. package/lib/subagent.d.ts +7 -3
  190. package/lib/subagent.d.ts.map +1 -1
  191. package/lib/subagent.js +2 -2
  192. package/lib/subagent.js.map +1 -1
  193. package/lib/types/disposable.d.ts +5 -0
  194. package/lib/types/disposable.d.ts.map +1 -0
  195. package/lib/types/disposable.js +2 -0
  196. package/lib/types/disposable.js.map +1 -0
  197. package/lib/zhin-agent/agent-loop-standalone.d.ts +11 -0
  198. package/lib/zhin-agent/agent-loop-standalone.d.ts.map +1 -1
  199. package/lib/zhin-agent/agent-loop-standalone.js +26 -7
  200. package/lib/zhin-agent/agent-loop-standalone.js.map +1 -1
  201. package/lib/zhin-agent/agent-loop-turn.d.ts.map +1 -1
  202. package/lib/zhin-agent/agent-loop-turn.js +76 -9
  203. package/lib/zhin-agent/agent-loop-turn.js.map +1 -1
  204. package/lib/zhin-agent/agents-instruction.d.ts +15 -0
  205. package/lib/zhin-agent/agents-instruction.d.ts.map +1 -0
  206. package/lib/zhin-agent/agents-instruction.js +98 -0
  207. package/lib/zhin-agent/agents-instruction.js.map +1 -0
  208. package/lib/zhin-agent/builtin-tools.d.ts +1 -1
  209. package/lib/zhin-agent/builtin-tools.d.ts.map +1 -1
  210. package/lib/zhin-agent/compaction-runtime.d.ts.map +1 -1
  211. package/lib/zhin-agent/compaction-runtime.js +7 -1
  212. package/lib/zhin-agent/compaction-runtime.js.map +1 -1
  213. package/lib/zhin-agent/config.d.ts +53 -3
  214. package/lib/zhin-agent/config.d.ts.map +1 -1
  215. package/lib/zhin-agent/config.js +53 -2
  216. package/lib/zhin-agent/config.js.map +1 -1
  217. package/lib/zhin-agent/index.d.ts +20 -16
  218. package/lib/zhin-agent/index.d.ts.map +1 -1
  219. package/lib/zhin-agent/index.js +108 -99
  220. package/lib/zhin-agent/index.js.map +1 -1
  221. package/lib/zhin-agent/interfaces.d.ts +63 -0
  222. package/lib/zhin-agent/interfaces.d.ts.map +1 -0
  223. package/lib/zhin-agent/interfaces.js +8 -0
  224. package/lib/zhin-agent/interfaces.js.map +1 -0
  225. package/lib/zhin-agent/model-harness.js +1 -1
  226. package/lib/zhin-agent/phase-trace.d.ts +12 -1
  227. package/lib/zhin-agent/phase-trace.d.ts.map +1 -1
  228. package/lib/zhin-agent/phase-trace.js +25 -0
  229. package/lib/zhin-agent/phase-trace.js.map +1 -1
  230. package/lib/zhin-agent/prompt-assembly.d.ts +13 -4
  231. package/lib/zhin-agent/prompt-assembly.d.ts.map +1 -1
  232. package/lib/zhin-agent/prompt-assembly.js +34 -8
  233. package/lib/zhin-agent/prompt-assembly.js.map +1 -1
  234. package/lib/zhin-agent/prompt-trace.d.ts +20 -0
  235. package/lib/zhin-agent/prompt-trace.d.ts.map +1 -0
  236. package/lib/zhin-agent/prompt-trace.js +72 -0
  237. package/lib/zhin-agent/prompt-trace.js.map +1 -0
  238. package/lib/zhin-agent/prompt.d.ts +25 -3
  239. package/lib/zhin-agent/prompt.d.ts.map +1 -1
  240. package/lib/zhin-agent/prompt.js +109 -46
  241. package/lib/zhin-agent/prompt.js.map +1 -1
  242. package/lib/zhin-agent/session-io.d.ts +2 -2
  243. package/lib/zhin-agent/session-io.d.ts.map +1 -1
  244. package/lib/zhin-agent/session-io.js +2 -3
  245. package/lib/zhin-agent/session-io.js.map +1 -1
  246. package/lib/zhin-agent/task-continuation.d.ts +4 -4
  247. package/lib/zhin-agent/task-continuation.d.ts.map +1 -1
  248. package/lib/zhin-agent/task-continuation.js.map +1 -1
  249. package/lib/zhin-agent/tool-catalog.d.ts.map +1 -1
  250. package/lib/zhin-agent/tool-catalog.js +9 -1
  251. package/lib/zhin-agent/tool-catalog.js.map +1 -1
  252. package/lib/zhin-agent/turn-pipeline.d.ts.map +1 -1
  253. package/lib/zhin-agent/turn-pipeline.js +44 -11
  254. package/lib/zhin-agent/turn-pipeline.js.map +1 -1
  255. package/lib/zhin-agent/turn-user-message.d.ts +4 -1
  256. package/lib/zhin-agent/turn-user-message.d.ts.map +1 -1
  257. package/lib/zhin-agent/turn-user-message.js +39 -0
  258. package/lib/zhin-agent/turn-user-message.js.map +1 -1
  259. package/lib/zhin-agent/workspace-prompt.d.ts +10 -0
  260. package/lib/zhin-agent/workspace-prompt.d.ts.map +1 -0
  261. package/lib/zhin-agent/workspace-prompt.js +55 -0
  262. package/lib/zhin-agent/workspace-prompt.js.map +1 -0
  263. package/lib/zhin-agent/zhin-agent-private.d.ts +2 -0
  264. package/lib/zhin-agent/zhin-agent-private.d.ts.map +1 -1
  265. package/lib/zhin-agent/zhin-agent-private.js.map +1 -1
  266. package/package.json +16 -6
  267. package/lib/monitoring/index.d.ts +0 -79
  268. package/lib/monitoring/index.d.ts.map +0 -1
  269. package/lib/monitoring/index.js +0 -197
  270. package/lib/monitoring/index.js.map +0 -1
  271. package/lib/monitoring/metrics.d.ts +0 -260
  272. package/lib/monitoring/metrics.d.ts.map +0 -1
  273. package/lib/monitoring/metrics.js +0 -550
  274. package/lib/monitoring/metrics.js.map +0 -1
  275. package/lib/security/budget-limiter.d.ts +0 -161
  276. package/lib/security/budget-limiter.d.ts.map +0 -1
  277. package/lib/security/budget-limiter.js +0 -392
  278. package/lib/security/budget-limiter.js.map +0 -1
  279. package/lib/security/security-config.example.d.ts +0 -33
  280. package/lib/security/security-config.example.d.ts.map +0 -1
  281. package/lib/security/security-config.example.js +0 -166
  282. package/lib/security/security-config.example.js.map +0 -1
package/README.md CHANGED
@@ -24,32 +24,31 @@ Zhin AI Agent 组合层:在 `@zhin.js/core` 的类型与 Provider 之上,提
24
24
 
25
25
  ## 依赖关系
26
26
 
27
- - 依赖 **@zhin.js/core**:AI 类型(`AIProvider`、`ChatMessage`、`Session` 等)与各 Provider 实现(OpenAI、Ollama 等)
28
- - 通常通过 **zhin.js** 主包使用,主包会调用 `initAgentModule()` re-export 本包 API
27
+ - 依赖 **@zhin.js/core**(IM 类型与消息链)与 **@zhin.js/ai**(`agentLoop`、Provider 抽象)
28
+ - **zhin.js 4.x** 主包为 optional peer;运行时通过 `zhin.js/agent` 子路径或本包 import;`bootstrapNode` 在检测到本包时调用 `initAgentModule()`
29
29
 
30
30
  ## 安装
31
31
 
32
32
  ```bash
33
- npm install @zhin.js/agent
34
- # 或使用主包(已包含 agent)
35
- npm install zhin.js
33
+ pnpm add @zhin.js/agent zod ai
34
+ pnpm add @ai-sdk/openai # 示例:按厂商安装 provider SDK
36
35
  ```
37
36
 
37
+ 仅 IM、不需要 Agent 时可只装 `zhin.js`(见 [ADR 0019](../../docs/adr/0019-install-size-layering.md))。
38
+
38
39
  ## 使用
39
40
 
40
- ### 在主包中(推荐)
41
+ ### 在 Zhin 项目中(推荐)
41
42
 
42
- 主包 `zhin.js` 已依赖 `@zhin.js/agent` 并在 setup 中调用 `initAgentModule()`,插件可直接从 `zhin.js` 使用:
43
+ 安装本包后,从 **`zhin.js/agent`** **`@zhin.js/agent`** 引入:
43
44
 
44
45
  ```typescript
45
46
  import {
46
- initAgentModule,
47
47
  ZhinAgent,
48
48
  AIService,
49
49
  SessionManager,
50
50
  registerAIHook,
51
- createBuiltinTools,
52
- } from 'zhin.js'
51
+ } from 'zhin.js/agent'
53
52
 
54
53
  // 使用 ctx.ai (AIService)
55
54
  useContext('ai', async (ai) => {
@@ -58,9 +57,9 @@ useContext('ai', async (ai) => {
58
57
  })
59
58
  ```
60
59
 
61
- ### 直接使用 @zhin.js/agent
60
+ `initAgentModule()` `zhin.js/node` 的 `bootstrapNode` 在启动时调用,插件一般无需手动 init。
62
61
 
63
- 仅在需要单独集成 Agent 能力时使用:
62
+ ### Zhin 宿主 / 单独集成
64
63
 
65
64
  ```javascript
66
65
  import { initAgentModule, AIService } from '@zhin.js/agent'
@@ -1,4 +1,5 @@
1
1
  import type { AgentPromptBuildContext, AgentPromptSection } from '@zhin.js/core';
2
+ import type { AgentTool } from '@zhin.js/ai';
2
3
  import type { ZhinAgentConfig } from '../zhin-agent/config.js';
3
4
  export interface ResolveAgentPromptOptions {
4
5
  ctx: AgentPromptBuildContext;
@@ -7,6 +8,6 @@ export interface ResolveAgentPromptOptions {
7
8
  }
8
9
  export declare function resolveAgentPromptSections(options: ResolveAgentPromptOptions): Promise<AgentPromptSection[]>;
9
10
  export declare function resolveAgentPromptMarkdown(options: ResolveAgentPromptOptions): Promise<string>;
10
- export declare function resolveDeferredToolsForPlatform(ctx: AgentPromptBuildContext, query: string, goal: string, catalog: import('@zhin.js/ai').AgentTool[], maxTools: number, defaultSelect: (query: string, goal: string, catalog: import('@zhin.js/ai').AgentTool[], maxTools: number) => import('@zhin.js/ai').AgentTool[]): import('@zhin.js/ai').AgentTool[];
11
+ export declare function resolveDeferredToolsForPlatform(ctx: AgentPromptBuildContext, query: string, goal: string, catalog: AgentTool[], maxTools: number, defaultSelect: (query: string, goal: string, catalog: AgentTool[], maxTools: number) => AgentTool[]): AgentTool[];
11
12
  export declare function platformMatchesDeferredTask(ctx: AgentPromptBuildContext, query: string, goal: string): boolean;
12
13
  //# sourceMappingURL=resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/agent-prompt/resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAY/D,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,uBAAuB,CAAC;IAC7B,MAAM,CAAC,EAAE,IAAI,CACX,QAAQ,CAAC,eAAe,CAAC,EACzB,+BAA+B,GAAG,wBAAwB,CAC3D,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAyC/B;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,uBAAuB,EAC5B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,aAAa,EAAE,SAAS,EAAE,EAC1C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,aAAa,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,aAAa,EAAE,SAAS,EAAE,GAC9I,OAAO,aAAa,EAAE,SAAS,EAAE,CAOnC;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,uBAAuB,EAC5B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAUT"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/agent-prompt/resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAY/D,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,uBAAuB,CAAC;IAC7B,MAAM,CAAC,EAAE,IAAI,CACX,QAAQ,CAAC,eAAe,CAAC,EACzB,+BAA+B,GAAG,wBAAwB,CAC3D,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAyC/B;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,uBAAuB,EAC5B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,EAAE,EACpB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,CACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,EAAE,EACpB,QAAQ,EAAE,MAAM,KACb,SAAS,EAAE,GACf,SAAS,EAAE,CAab;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,uBAAuB,EAC5B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAUT"}
@@ -49,9 +49,14 @@ export async function resolveAgentPromptMarkdown(options) {
49
49
  export function resolveDeferredToolsForPlatform(ctx, query, goal, catalog, maxTools, defaultSelect) {
50
50
  const contributor = getAgentPromptContributor(String(ctx.commMessage.$adapter));
51
51
  if (contributor?.matchesDeferredTask?.(ctx)) {
52
- const selected = contributor.selectDeferredTools?.(query, goal, catalog, maxTools);
53
- if (selected)
54
- return selected;
52
+ const catalogLite = catalog.map((t) => ({ name: t.name, description: t.description }));
53
+ const selected = contributor.selectDeferredTools?.(query, goal, catalogLite, maxTools);
54
+ if (selected) {
55
+ const byName = new Map(catalog.map((t) => [t.name, t]));
56
+ return selected
57
+ .map((item) => byName.get(item.name))
58
+ .filter((tool) => tool != null);
59
+ }
55
60
  }
56
61
  return defaultSelect(query, goal, catalog, maxTools);
57
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/agent-prompt/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/agent-prompt/resolver.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * REST 为主路径;配置 mcpServer 时与 ai.mcpServers 对齐,供 Agent binding 挂载 MCP 工具。
5
5
  */
6
- import type { AIConfig } from '@zhin.js/core';
6
+ import type { AIConfig } from '@zhin.js/ai';
7
7
  import type { AssistantHomeConfig } from './home-config.js';
8
8
  export declare function listConfiguredMcpServerNames(ai?: AIConfig): string[];
9
9
  /** 校验 mcpServer 已在 ai.mcpServers 注册;返回警告文案(无则 null) */
@@ -1 +1 @@
1
- {"version":3,"file":"home-mcp-bridge.d.ts","sourceRoot":"","sources":["../../src/assistant/home-mcp-bridge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,wBAAgB,4BAA4B,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,CAOpE;AAED,uDAAuD;AACvD,wBAAgB,qBAAqB,CACnC,IAAI,CAAC,EAAE,mBAAmB,EAC1B,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,GAAG,IAAI,CAOf;AAED,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAGjE"}
1
+ {"version":3,"file":"home-mcp-bridge.d.ts","sourceRoot":"","sources":["../../src/assistant/home-mcp-bridge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,wBAAgB,4BAA4B,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,CAOpE;AAED,uDAAuD;AACvD,wBAAgB,qBAAqB,CACnC,IAAI,CAAC,EAAE,mBAAmB,EAC1B,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,GAAG,IAAI,CAOf;AAED,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAGjE"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Home Domain 工具权限(M4)
3
3
  */
4
- import { getPlugin, hasSenderRole, mergeAITriggerConfig, resolveSenderRoles, senderRolesFromMessage, } from '@zhin.js/core';
4
+ import { getHostRootPlugin, hasSenderRole, mergeAITriggerConfig, resolveSenderRoles, senderRolesFromMessage, } from '@zhin.js/core';
5
5
  import { resolveToolRequesterRole, } from '../security/owner-approve-always-store.js';
6
6
  import { parseEntityDomain } from './domains/home-assistant.js';
7
7
  function resolveRole(commMessage) {
@@ -10,29 +10,28 @@ function resolveRole(commMessage) {
10
10
  }
11
11
  if (commMessage.$adapter === 'process')
12
12
  return 'master';
13
+ const host = getHostRootPlugin();
14
+ if (host) {
15
+ return resolveToolRequesterRole(host, commMessage);
16
+ }
17
+ if (commMessage.$sender.isMaster !== undefined || commMessage.$sender.isTrusted !== undefined) {
18
+ const roles = senderRolesFromMessage(commMessage);
19
+ if (hasSenderRole(roles, 'master'))
20
+ return 'master';
21
+ if (hasSenderRole(roles, 'trusted'))
22
+ return 'trusted';
23
+ return 'other';
24
+ }
13
25
  try {
14
- return resolveToolRequesterRole(getPlugin(), commMessage);
26
+ const { roles } = resolveSenderRoles(commMessage, mergeAITriggerConfig({}), undefined);
27
+ if (hasSenderRole(roles, 'master'))
28
+ return 'master';
29
+ if (hasSenderRole(roles, 'trusted'))
30
+ return 'trusted';
31
+ return 'other';
15
32
  }
16
33
  catch {
17
- if (commMessage.$sender.isMaster !== undefined || commMessage.$sender.isTrusted !== undefined) {
18
- const roles = senderRolesFromMessage(commMessage);
19
- if (hasSenderRole(roles, 'master'))
20
- return 'master';
21
- if (hasSenderRole(roles, 'trusted'))
22
- return 'trusted';
23
- return 'other';
24
- }
25
- try {
26
- const { roles } = resolveSenderRoles(commMessage, mergeAITriggerConfig({}), undefined);
27
- if (hasSenderRole(roles, 'master'))
28
- return 'master';
29
- if (hasSenderRole(roles, 'trusted'))
30
- return 'trusted';
31
- return 'other';
32
- }
33
- catch {
34
- return 'other';
35
- }
34
+ return 'other';
36
35
  }
37
36
  }
38
37
  export function checkHomeToolAccess(operation, entityId, commMessage, policy) {
@@ -1 +1 @@
1
- {"version":3,"file":"home-policy.js","sourceRoot":"","sources":["../../src/assistant/home-policy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,wBAAwB,GAEzB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAShE,SAAS,WAAW,CAAC,WAAqB;IACxC,IAAI,CAAC,WAAW,EAAE,QAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACnF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACxD,IAAI,CAAC;QACH,OAAO,wBAAwB,CAAC,SAAS,EAAE,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9F,MAAM,KAAK,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,OAAO,QAAQ,CAAC;YACpD,IAAI,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;YACtD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAClC,WAAW,EACX,oBAAoB,CAAC,EAAE,CAAC,EACxB,SAAS,CACV,CAAC;YACF,IAAI,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,OAAO,QAAQ,CAAC;YACpD,IAAI,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;YACtD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,SAA2B,EAC3B,QAAgB,EAChB,WAAgC,EAChC,MAAgF;IAEhF,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE3C,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,IAAI;YACJ,MAAM,EAAE,qCAAqC;SAC9C,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,KAAK,OAAO,IAAI,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,kBAAkB,EAAE,IAAI;YACxB,IAAI;YACJ,MAAM,EAAE,IAAI,MAAM,iCAAiC,QAAQ,IAAI;SAChE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA0B;IAC1D,OAAO,sBAAsB,QAAQ,CAAC,MAAM,IAAI,sBAAsB,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAA0B;IACxD,OAAO,UAAU,QAAQ,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"home-policy.js","sourceRoot":"","sources":["../../src/assistant/home-policy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,wBAAwB,GAEzB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAShE,SAAS,WAAW,CAAC,WAAqB;IACxC,IAAI,CAAC,WAAW,EAAE,QAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACnF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACxD,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,wBAAwB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9F,MAAM,KAAK,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpD,IAAI,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAClC,WAAW,EACX,oBAAoB,CAAC,EAAE,CAAC,EACxB,SAAS,CACV,CAAC;QACF,IAAI,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpD,IAAI,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,SAA2B,EAC3B,QAAgB,EAChB,WAAgC,EAChC,MAAgF;IAEhF,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE3C,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,IAAI;YACJ,MAAM,EAAE,qCAAqC;SAC9C,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,KAAK,OAAO,IAAI,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,kBAAkB,EAAE,IAAI;YACxB,IAAI;YACJ,MAAM,EAAE,IAAI,MAAM,iCAAiC,QAAQ,IAAI;SAChE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA0B;IAC1D,OAAO,sBAAsB,QAAQ,CAAC,MAAM,IAAI,sBAAsB,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAA0B;IACxD,OAAO,UAAU,QAAQ,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;AACrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"home-tools.d.ts","sourceRoot":"","sources":["../../src/assistant/home-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAUzD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,EAAE,gBAAgB,GAAG;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAClF;AAsCD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,QAAQ,EAAE,CA8FrE"}
1
+ {"version":3,"file":"home-tools.d.ts","sourceRoot":"","sources":["../../src/assistant/home-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAUzD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,EAAE,gBAAgB,GAAG;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAClF;AAwCD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,QAAQ,EAAE,CA8FrE"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { ZhinTool } from '@zhin.js/core';
5
5
  import { checkHomeToolAccess, toHomeDenyError, toHomeOwnerSignal, } from './home-policy.js';
6
- import { getPlugin } from '@zhin.js/core';
6
+ import { getHostRootPlugin } from '@zhin.js/core';
7
7
  import { resolveToolRequesterRole } from '../security/owner-approve-always-store.js';
8
8
  function guard(operation, entityId, commMessage, policy) {
9
9
  const decision = checkHomeToolAccess(operation, entityId, commMessage, policy);
@@ -14,7 +14,10 @@ function guardMasterOnly(commMessage, policy) {
14
14
  return null;
15
15
  }
16
16
  try {
17
- const role = resolveToolRequesterRole(getPlugin(), commMessage);
17
+ const host = getHostRootPlugin();
18
+ if (!host)
19
+ return null;
20
+ const role = resolveToolRequesterRole(host, commMessage);
18
21
  if (role === 'master')
19
22
  return null;
20
23
  return toHomeDenyError({
@@ -1 +1 @@
1
- {"version":3,"file":"home-tools.js","sourceRoot":"","sources":["../../src/assistant/home-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"home-tools.js","sourceRoot":"","sources":["../../src/assistant/home-tools.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@
15
15
  */
16
16
  /** 支持的引导文件名(顺序:SOUL → AGENTS → TOOLS) */
17
17
  export declare const BOOTSTRAP_FILENAMES: readonly ["SOUL.md", "AGENTS.md", "TOOLS.md"];
18
+ /** 可缓存 system §11:仅 SOUL + TOOLS(AGENTS 进 Turn envelope) */
19
+ export declare const STABLE_BOOTSTRAP_FILENAMES: readonly ["SOUL.md", "TOOLS.md"];
18
20
  export type BootstrapFileName = typeof BOOTSTRAP_FILENAMES[number];
19
21
  /** 引导文件信息 */
20
22
  export interface BootstrapFile {
@@ -52,6 +54,16 @@ export declare function buildContextFiles(bootstrapFiles: BootstrapFile[], optio
52
54
  maxChars?: number;
53
55
  totalMaxChars?: number;
54
56
  }): ContextFile[];
57
+ /** 仅 SOUL.md + TOOLS.md,供可缓存 system §11 */
58
+ export declare function buildStableContextFiles(bootstrapFiles: BootstrapFile[], options?: {
59
+ maxChars?: number;
60
+ totalMaxChars?: number;
61
+ }): ContextFile[];
62
+ /** 构建可缓存 bootstrap 段(不含 AGENTS.md) */
63
+ export declare function buildStableBootstrapSection(bootstrapFiles: BootstrapFile[], options?: {
64
+ maxChars?: number;
65
+ totalMaxChars?: number;
66
+ }): string;
55
67
  /**
56
68
  * 加载 SOUL.md 人格定义
57
69
  */
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH,yCAAyC;AACzC,eAAO,MAAM,mBAAmB,+CAItB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAYnE,aAAa;AACb,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AA8BD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAcD;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,EAAE,CAAC,CA6B1B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,aAAa,EAAE,EAC/B,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACA,WAAW,EAAE,CA8Bf;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAInF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIlF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIpF;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAuBhF"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH,yCAAyC;AACzC,eAAO,MAAM,mBAAmB,+CAItB,CAAC;AAEX,4DAA4D;AAC5D,eAAO,MAAM,0BAA0B,kCAG7B,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAYnE,aAAa;AACb,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AA8BD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAcD;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,EAAE,CAAC,CA6B1B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,aAAa,EAAE,EAC/B,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACA,WAAW,EAAE,CA8Bf;AAED,2CAA2C;AAC3C,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,aAAa,EAAE,EAC/B,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACA,WAAW,EAAE,CAKf;AAED,sCAAsC;AACtC,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,aAAa,EAAE,EAC/B,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACA,MAAM,CAER;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAInF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIlF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIpF;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAuBhF"}
package/lib/bootstrap.js CHANGED
@@ -26,6 +26,11 @@ export const BOOTSTRAP_FILENAMES = [
26
26
  'AGENTS.md',
27
27
  'TOOLS.md',
28
28
  ];
29
+ /** 可缓存 system §11:仅 SOUL + TOOLS(AGENTS 进 Turn envelope) */
30
+ export const STABLE_BOOTSTRAP_FILENAMES = [
31
+ 'SOUL.md',
32
+ 'TOOLS.md',
33
+ ];
29
34
  /** 单文件最大字符数(默认 16KB) */
30
35
  const DEFAULT_MAX_CHARS = 16 * 1024;
31
36
  /** 所有引导文件总最大字符数(默认 48KB) */
@@ -143,6 +148,15 @@ export function buildContextFiles(bootstrapFiles, options) {
143
148
  }
144
149
  return contextFiles;
145
150
  }
151
+ /** 仅 SOUL.md + TOOLS.md,供可缓存 system §11 */
152
+ export function buildStableContextFiles(bootstrapFiles, options) {
153
+ const stable = bootstrapFiles.filter(f => STABLE_BOOTSTRAP_FILENAMES.includes(f.name));
154
+ return buildContextFiles(stable, options);
155
+ }
156
+ /** 构建可缓存 bootstrap 段(不含 AGENTS.md) */
157
+ export function buildStableBootstrapSection(bootstrapFiles, options) {
158
+ return buildBootstrapContextSection(buildStableContextFiles(bootstrapFiles, options));
159
+ }
146
160
  /**
147
161
  * 加载 SOUL.md 人格定义
148
162
  */
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-media-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/analyze-media-tool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIrF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgBzD,eAAO,MAAM,wBAAwB,EAAE,oBAMtC,CAAC;AAEF,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,WAAW,kQACqC;IACzD,QAAQ,CAAC,UAAU,4CAA4B;IAC/C,QAAQ,CAAC,IAAI,UAAU;;IAQjB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CA2DrF;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
1
+ {"version":3,"file":"analyze-media-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/analyze-media-tool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIrF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgBzD,eAAO,MAAM,wBAAwB,EAAE,oBAMtC,CAAC;AAEF,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,WAAW,kQACqC;IACzD,QAAQ,CAAC,UAAU,4CAA4B;IAC/C,QAAQ,CAAC,IAAI,UAAU;;IAQjB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CA+DrF;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
@@ -3,8 +3,8 @@
3
3
  */
4
4
  import * as fs from 'node:fs/promises';
5
5
  import * as path from 'node:path';
6
- import { checkFileToolAccess, toDenyError, toOwnerSignal } from '../security/dangerous-tool-policy.js';
7
- import { checkFilePermission, formatFilePermissionMessage, toolRequesterRoleToFileRole } from '../security/file-role-policy.js';
6
+ import { checkFileToolAccess, checkSensitiveFilePathAccess, toDenyError, toOwnerSignal } from '../security/dangerous-tool-policy.js';
7
+ import { checkFilePermission, resolveFilePermissionGate, toolRequesterRoleToFileRole } from '../security/file-role-policy.js';
8
8
  import { expandHome, nodeErrToFileMessage } from '../discovery/utils.js';
9
9
  import { BuiltinBaseTool } from './builtin-base-tool.js';
10
10
  import { normalizeContentPartsToPayloads } from '../media/media-normalize.js';
@@ -48,11 +48,17 @@ export class AnalyzeMediaBuiltinTool extends BuiltinBaseTool {
48
48
  }
49
49
  const fileRole = toolRequesterRoleToFileRole(roleDecision.role);
50
50
  const permResult = checkFilePermission(fileRole, 'read', filePathArg);
51
- if (!permResult.allowed) {
52
- return formatFilePermissionMessage(permResult, 'analyze_media');
53
- }
51
+ const permGate = resolveFilePermissionGate(permResult, 'analyze_media');
52
+ if (permGate)
53
+ return permGate;
54
54
  try {
55
55
  const fp = expandHome(filePathArg);
56
+ const sensitiveDecision = checkSensitiveFilePathAccess('read_file', fp, commMessage);
57
+ if (!sensitiveDecision.allowed) {
58
+ if (sensitiveDecision.needsOwnerApproval)
59
+ return toOwnerSignal(sensitiveDecision);
60
+ return toDenyError(sensitiveDecision);
61
+ }
56
62
  if (!isMediaPath(fp)) {
57
63
  return 'Error: analyze_media 仅支持图片/音频/视频扩展名;文本请用 read_file。';
58
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-media-tool.js","sourceRoot":"","sources":["../../src/builtin/analyze-media-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze-media-tool.js","sourceRoot":"","sources":["../../src/builtin/analyze-media-tool.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * bash — Shell 执行(安全检查 + 命令读写分类 + 沙箱保护 + 文件角色权限)
3
3
  */
4
4
  import { type ExecOptions } from 'node:child_process';
5
- import { type Tool, type Message, type ToolParametersSchema, type ToolResult } from '@zhin.js/core';
5
+ import { type Plugin, type Tool, type Message, type ToolParametersSchema, type ToolResult } from '@zhin.js/core';
6
6
  import { BuiltinBaseTool } from './builtin-base-tool.js';
7
7
  /** 可注入以便单测(默认 `promisify(exec)`) */
8
8
  export type BashExecAsync = (command: string, options?: ExecOptions) => Promise<{
@@ -18,10 +18,12 @@ export declare class BashBuiltinTool extends BuiltinBaseTool {
18
18
  readonly kind = "shell";
19
19
  /** 是否使用沙箱(默认 true,测试时可设为 false) */
20
20
  private useSandbox;
21
+ private readonly hostPlugin?;
21
22
  constructor(execAsync?: BashExecAsync, options?: {
22
23
  useSandbox?: boolean;
24
+ plugin?: Plugin;
23
25
  });
24
26
  run(args: Record<string, unknown>, commMessage?: Message): Promise<ToolResult>;
25
27
  }
26
- export declare function createBashTool(): Tool;
28
+ export declare function createBashTool(plugin?: Plugin): Tool;
27
29
  //# sourceMappingURL=bash-tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bash-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/bash-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAa,KAAK,IAAI,EAAE,KAAK,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAS/G,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEjD,eAAO,MAAM,eAAe,EAAE,oBAQ7B,CAAC;AAEF,qBAAa,eAAgB,SAAQ,eAAe;IAWhD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV5B,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,WAAW,mPACgC;IACpD,QAAQ,CAAC,UAAU,4CAAmB;IACtC,QAAQ,CAAC,IAAI,WAAW;IAExB,mCAAmC;IACnC,OAAO,CAAC,UAAU,CAAU;gBAGT,SAAS,GAAE,aAAgC,EAC5D,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;IAQ9B,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CAuErF;AAED,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
1
+ {"version":3,"file":"bash-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/bash-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,IAAI,EAAE,KAAK,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAUjH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEjD,eAAO,MAAM,eAAe,EAAE,oBAQ7B,CAAC;AAEF,qBAAa,eAAgB,SAAQ,eAAe;IAYhD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAX5B,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,WAAW,mPACgC;IACpD,QAAQ,CAAC,UAAU,4CAAmB;IACtC,QAAQ,CAAC,IAAI,WAAW;IAExB,mCAAmC;IACnC,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;gBAGlB,SAAS,GAAE,aAAgC,EAC5D,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAS/C,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CAwErF;AAED,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAEpD"}
@@ -3,10 +3,10 @@
3
3
  */
4
4
  import { exec } from 'node:child_process';
5
5
  import { promisify } from 'node:util';
6
- import { getPlugin } from '@zhin.js/core';
7
6
  import { resolveToolRequesterRole } from '../security/owner-approve-always-store.js';
8
- import { checkBashFilePermission, formatFilePermissionMessage, toolRequesterRoleToFileRole } from '../security/file-role-policy.js';
7
+ import { checkBashFilePermission, resolveFilePermissionGate, toolRequesterRoleToFileRole } from '../security/file-role-policy.js';
9
8
  import { checkBashCommandSafety, classifyBashCommand, } from '../security/file-policy.js';
9
+ import { checkBashSensitiveReadAccess, toDenyError, toOwnerSignal } from '../security/dangerous-tool-policy.js';
10
10
  import { getSandbox } from '../security/sandbox.js';
11
11
  import { errMsg } from '../discovery/utils.js';
12
12
  import { BuiltinBaseTool } from './builtin-base-tool.js';
@@ -28,12 +28,14 @@ export class BashBuiltinTool extends BuiltinBaseTool {
28
28
  kind = 'shell';
29
29
  /** 是否使用沙箱(默认 true,测试时可设为 false) */
30
30
  useSandbox;
31
+ hostPlugin;
31
32
  constructor(execAsync = defaultExecAsync, options) {
32
33
  super();
33
34
  this.execAsync = execAsync;
34
35
  this.tags.push('shell', 'exec');
35
36
  this.keywords.push('执行', '运行', '命令', '终端', 'shell', 'bash');
36
37
  this.useSandbox = options?.useSandbox ?? true;
38
+ this.hostPlugin = options?.plugin?.root ?? options?.plugin;
37
39
  }
38
40
  async run(args, commMessage) {
39
41
  try {
@@ -43,19 +45,20 @@ export class BashBuiltinTool extends BuiltinBaseTool {
43
45
  const safety = checkBashCommandSafety(cmd);
44
46
  if (!safety.safe)
45
47
  return `Error: ${safety.reason}`;
46
- const requesterRole = commMessage
47
- ? resolveToolRequesterRole(getPlugin(), commMessage)
48
+ const sensitiveRead = checkBashSensitiveReadAccess(cmd, commMessage);
49
+ if (!sensitiveRead.allowed) {
50
+ if (sensitiveRead.needsOwnerApproval)
51
+ return toOwnerSignal(sensitiveRead);
52
+ return toDenyError(sensitiveRead);
53
+ }
54
+ const requesterRole = commMessage && this.hostPlugin
55
+ ? resolveToolRequesterRole(this.hostPlugin, commMessage)
48
56
  : 'unknown';
49
57
  const role = toolRequesterRoleToFileRole(requesterRole);
50
58
  const filePermResult = checkBashFilePermission(role, cmd);
51
- if (!filePermResult.allowed) {
52
- return formatFilePermissionMessage(filePermResult, 'bash', `Shell 命令: ${cmd.slice(0, 200)}`);
53
- }
54
- if (filePermResult.needsOwnerConfirmation || filePermResult.needsConfirmation) {
55
- const msg = formatFilePermissionMessage(filePermResult, 'bash', `Shell 命令: ${cmd.slice(0, 200)}`);
56
- if (msg)
57
- return msg;
58
- }
59
+ const filePermGate = resolveFilePermissionGate(filePermResult, 'bash');
60
+ if (filePermGate)
61
+ return filePermGate;
59
62
  const timeout = args.timeout ?? 30000;
60
63
  const classification = classifyBashCommand(cmd);
61
64
  const cwd = args.cwd || process.cwd();
@@ -105,7 +108,7 @@ export class BashBuiltinTool extends BuiltinBaseTool {
105
108
  }
106
109
  }
107
110
  }
108
- export function createBashTool() {
109
- return new BashBuiltinTool().toTool();
111
+ export function createBashTool(plugin) {
112
+ return new BashBuiltinTool(undefined, { plugin }).toTool();
110
113
  }
111
114
  //# sourceMappingURL=bash-tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bash-tool.js","sourceRoot":"","sources":["../../src/builtin/bash-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bash-tool.js","sourceRoot":"","sources":["../../src/builtin/bash-tool.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export declare class GenerateImageBuiltinTool extends BuiltinBaseTool {
11
11
  private readonly getProvider;
12
12
  private readonly resolveDefaults;
13
13
  readonly name = "generate_image";
14
- readonly description = "Text-to-image (\u6587\u751F\u56FE/\u753B\u56FE). Drivers: zhipu (cogview-3-flash free), cloudflare (flux), openai (gpt-image-2), google/gemini (gemini-2.5-flash-image / Nano Banana). Unless user wants anime, use \u5199\u5B9E\u6444\u5F71/photorealistic in prompt.";
14
+ readonly description = "Text-to-image (\u6587\u751F\u56FE/\u753B\u56FE). SDKs: openai-compatible + \u667A\u8C31 (cogview-3-flash), Cloudflare (flux, accountId), openai (gpt-image-2), google (gemini-2.5-flash-image). Unless user wants anime, use \u5199\u5B9E\u6444\u5F71/photorealistic in prompt.";
15
15
  readonly parameters: ToolParametersSchema<Record<string, any>>;
16
16
  readonly kind = "media";
17
17
  constructor(getProvider: GetProviderFn, resolveDefaults?: ResolveImageGenerationDefaultsFn);
@@ -1 +1 @@
1
- {"version":3,"file":"generate-image-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/generate-image-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,eAAO,MAAM,yBAAyB,EAAE,oBAyCvC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;AAC1D,MAAM,MAAM,gCAAgC,GAAG,CAAC,aAAa,EAAE,MAAM,KAAK,uBAAuB,CAAC;AAWlG,qBAAa,wBAAyB,SAAQ,eAAe;IAQzD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IARlC,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,WAAW,4QAC0M;IAC9N,QAAQ,CAAC,UAAU,4CAA6B;IAChD,QAAQ,CAAC,IAAI,WAAW;gBAGL,WAAW,EAAE,aAAa,EAC1B,eAAe,GAAE,gCAA6C;IAU3E,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;CA0E9D;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,aAAa,EAC1B,eAAe,CAAC,EAAE,gCAAgC,GACjD,IAAI,CAEN"}
1
+ {"version":3,"file":"generate-image-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/generate-image-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,eAAO,MAAM,yBAAyB,EAAE,oBAyCvC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;AAC1D,MAAM,MAAM,gCAAgC,GAAG,CAAC,aAAa,EAAE,MAAM,KAAK,uBAAuB,CAAC;AAWlG,qBAAa,wBAAyB,SAAQ,eAAe;IAQzD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IARlC,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,WAAW,qRACyM;IAC7N,QAAQ,CAAC,UAAU,4CAA6B;IAChD,QAAQ,CAAC,IAAI,WAAW;gBAGL,WAAW,EAAE,aAAa,EAC1B,eAAe,GAAE,gCAA6C;IAU3E,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;CA0E9D;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,aAAa,EAC1B,eAAe,CAAC,EAAE,gCAAgC,GACjD,IAAI,CAEN"}
@@ -5,7 +5,7 @@ export const GENERATE_IMAGE_PARAMETERS = {
5
5
  properties: {
6
6
  provider_alias: {
7
7
  type: 'string',
8
- description: 'ai.providers 中的实例名;driver 须支持 generateImage:zhipucloudflare、openai、google/gemini',
8
+ description: 'ai.providers 中的实例名;sdk 须支持 generateImage:openaigoogle、openai-compatible(智谱等)、Cloudflare(accountId)',
9
9
  },
10
10
  prompt: {
11
11
  type: 'string',
@@ -49,7 +49,7 @@ export class GenerateImageBuiltinTool extends BuiltinBaseTool {
49
49
  getProvider;
50
50
  resolveDefaults;
51
51
  name = 'generate_image';
52
- description = 'Text-to-image (文生图/画图). Drivers: zhipu (cogview-3-flash free), cloudflare (flux), openai (gpt-image-2), google/gemini (gemini-2.5-flash-image / Nano Banana). Unless user wants anime, use 写实摄影/photorealistic in prompt.';
52
+ description = 'Text-to-image (文生图/画图). SDKs: openai-compatible + 智谱 (cogview-3-flash), Cloudflare (flux, accountId), openai (gpt-image-2), google (gemini-2.5-flash-image). Unless user wants anime, use 写实摄影/photorealistic in prompt.';
53
53
  parameters = GENERATE_IMAGE_PARAMETERS;
54
54
  kind = 'media';
55
55
  constructor(getProvider, resolveDefaults = () => ({})) {
@@ -77,7 +77,7 @@ export class GenerateImageBuiltinTool extends BuiltinBaseTool {
77
77
  return `Error: unknown provider alias "${alias}": ${msg}`;
78
78
  }
79
79
  if (!hasGenerateImage(provider)) {
80
- return `Error: provider "${alias}" does not support image generation (driver: zhipu, cloudflare, openai, google, gemini)`;
80
+ return `Error: provider "${alias}" does not support image generation (sdk: openai, google, openai-compatible, or Cloudflare with accountId)`;
81
81
  }
82
82
  const defaults = this.resolveDefaults(alias.trim());
83
83
  const model = typeof args.model === 'string' && args.model.trim()