@zhin.js/agent 0.1.20 → 0.1.22

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 (143) hide show
  1. package/README.md +37 -23
  2. package/lib/agent-prompt/format.d.ts +6 -0
  3. package/lib/agent-prompt/format.d.ts.map +1 -0
  4. package/lib/agent-prompt/format.js +40 -0
  5. package/lib/agent-prompt/format.js.map +1 -0
  6. package/lib/agent-prompt/index.d.ts +5 -0
  7. package/lib/agent-prompt/index.d.ts.map +1 -0
  8. package/lib/agent-prompt/index.js +4 -0
  9. package/lib/agent-prompt/index.js.map +1 -0
  10. package/lib/agent-prompt/registry.d.ts +7 -0
  11. package/lib/agent-prompt/registry.d.ts.map +1 -0
  12. package/lib/agent-prompt/registry.js +23 -0
  13. package/lib/agent-prompt/registry.js.map +1 -0
  14. package/lib/agent-prompt/resolver.d.ts +12 -0
  15. package/lib/agent-prompt/resolver.d.ts.map +1 -0
  16. package/lib/agent-prompt/resolver.js +71 -0
  17. package/lib/agent-prompt/resolver.js.map +1 -0
  18. package/lib/builtin/run-deferred-task-tool.d.ts +20 -0
  19. package/lib/builtin/run-deferred-task-tool.d.ts.map +1 -0
  20. package/lib/builtin/run-deferred-task-tool.js +39 -0
  21. package/lib/builtin/run-deferred-task-tool.js.map +1 -0
  22. package/lib/builtin/tool-search-tool.d.ts +19 -0
  23. package/lib/builtin/tool-search-tool.d.ts.map +1 -0
  24. package/lib/builtin/tool-search-tool.js +54 -0
  25. package/lib/builtin/tool-search-tool.js.map +1 -0
  26. package/lib/builtin-tools.d.ts +1 -1
  27. package/lib/builtin-tools.d.ts.map +1 -1
  28. package/lib/builtin-tools.js +1 -5
  29. package/lib/builtin-tools.js.map +1 -1
  30. package/lib/cron-engine.d.ts.map +1 -1
  31. package/lib/cron-engine.js +3 -3
  32. package/lib/cron-engine.js.map +1 -1
  33. package/lib/deferred-worker-runner.d.ts +30 -0
  34. package/lib/deferred-worker-runner.d.ts.map +1 -0
  35. package/lib/deferred-worker-runner.js +159 -0
  36. package/lib/deferred-worker-runner.js.map +1 -0
  37. package/lib/deferred-worker-tool-load.d.ts +6 -0
  38. package/lib/deferred-worker-tool-load.d.ts.map +1 -0
  39. package/lib/deferred-worker-tool-load.js +5 -0
  40. package/lib/deferred-worker-tool-load.js.map +1 -0
  41. package/lib/hooks.d.ts +13 -0
  42. package/lib/hooks.d.ts.map +1 -1
  43. package/lib/hooks.js.map +1 -1
  44. package/lib/index.d.ts +3 -3
  45. package/lib/index.d.ts.map +1 -1
  46. package/lib/index.js +2 -3
  47. package/lib/index.js.map +1 -1
  48. package/lib/init/create-zhin-agent.d.ts.map +1 -1
  49. package/lib/init/create-zhin-agent.js +9 -7
  50. package/lib/init/create-zhin-agent.js.map +1 -1
  51. package/lib/init/register-ai-service.d.ts.map +1 -1
  52. package/lib/init/register-ai-service.js +5 -5
  53. package/lib/init/register-ai-service.js.map +1 -1
  54. package/lib/init/register-ai-trigger.d.ts.map +1 -1
  55. package/lib/init/register-ai-trigger.js +25 -9
  56. package/lib/init/register-ai-trigger.js.map +1 -1
  57. package/lib/init/register-builtin-tools.d.ts.map +1 -1
  58. package/lib/init/register-builtin-tools.js +33 -29
  59. package/lib/init/register-builtin-tools.js.map +1 -1
  60. package/lib/init/register-mcp-from-config.d.ts +2 -0
  61. package/lib/init/register-mcp-from-config.d.ts.map +1 -0
  62. package/lib/init/register-mcp-from-config.js +85 -0
  63. package/lib/init/register-mcp-from-config.js.map +1 -0
  64. package/lib/init/register-mcp-memory-default.d.ts +2 -0
  65. package/lib/init/register-mcp-memory-default.d.ts.map +1 -0
  66. package/lib/init/register-mcp-memory-default.js +34 -0
  67. package/lib/init/register-mcp-memory-default.js.map +1 -0
  68. package/lib/init.d.ts.map +1 -1
  69. package/lib/init.js +4 -0
  70. package/lib/init.js.map +1 -1
  71. package/lib/mcp-client/index.d.ts +1 -2
  72. package/lib/mcp-client/index.d.ts.map +1 -1
  73. package/lib/mcp-client/index.js +1 -2
  74. package/lib/mcp-client/index.js.map +1 -1
  75. package/lib/orchestrator/mcp-lifecycle.d.ts +6 -0
  76. package/lib/orchestrator/mcp-lifecycle.d.ts.map +1 -0
  77. package/lib/orchestrator/mcp-lifecycle.js +7 -0
  78. package/lib/orchestrator/mcp-lifecycle.js.map +1 -0
  79. package/lib/orchestrator/mcp-registry.d.ts +5 -1
  80. package/lib/orchestrator/mcp-registry.d.ts.map +1 -1
  81. package/lib/orchestrator/mcp-registry.js +36 -20
  82. package/lib/orchestrator/mcp-registry.js.map +1 -1
  83. package/lib/orchestrator/owner-confirm-orchestration.d.ts +4 -1
  84. package/lib/orchestrator/owner-confirm-orchestration.d.ts.map +1 -1
  85. package/lib/orchestrator/owner-confirm-orchestration.js.map +1 -1
  86. package/lib/orchestrator/tool-selection.d.ts +2 -0
  87. package/lib/orchestrator/tool-selection.d.ts.map +1 -1
  88. package/lib/orchestrator/tool-selection.js +40 -4
  89. package/lib/orchestrator/tool-selection.js.map +1 -1
  90. package/lib/reserved-tools.js +2 -2
  91. package/lib/reserved-tools.js.map +1 -1
  92. package/lib/security/bash-tool-context.d.ts +17 -2
  93. package/lib/security/bash-tool-context.d.ts.map +1 -1
  94. package/lib/security/bash-tool-context.js +9 -3
  95. package/lib/security/bash-tool-context.js.map +1 -1
  96. package/lib/security/exec-policy.d.ts.map +1 -1
  97. package/lib/security/exec-policy.js +4 -1
  98. package/lib/security/exec-policy.js.map +1 -1
  99. package/lib/subagent.d.ts +7 -1
  100. package/lib/subagent.d.ts.map +1 -1
  101. package/lib/subagent.js +22 -8
  102. package/lib/subagent.js.map +1 -1
  103. package/lib/utils/config-env.d.ts +5 -0
  104. package/lib/utils/config-env.d.ts.map +1 -0
  105. package/lib/utils/config-env.js +34 -0
  106. package/lib/utils/config-env.js.map +1 -0
  107. package/lib/zhin-agent/config.d.ts +23 -0
  108. package/lib/zhin-agent/config.d.ts.map +1 -1
  109. package/lib/zhin-agent/config.js +20 -0
  110. package/lib/zhin-agent/config.js.map +1 -1
  111. package/lib/zhin-agent/index.d.ts +21 -0
  112. package/lib/zhin-agent/index.d.ts.map +1 -1
  113. package/lib/zhin-agent/index.js +257 -35
  114. package/lib/zhin-agent/index.js.map +1 -1
  115. package/lib/zhin-agent/prompt.d.ts +6 -0
  116. package/lib/zhin-agent/prompt.d.ts.map +1 -1
  117. package/lib/zhin-agent/prompt.js +70 -15
  118. package/lib/zhin-agent/prompt.js.map +1 -1
  119. package/lib/zhin-agent/tool-catalog.d.ts +15 -0
  120. package/lib/zhin-agent/tool-catalog.d.ts.map +1 -0
  121. package/lib/zhin-agent/tool-catalog.js +52 -0
  122. package/lib/zhin-agent/tool-catalog.js.map +1 -0
  123. package/lib/zhin-agent/tool-runtime.d.ts +3 -1
  124. package/lib/zhin-agent/tool-runtime.d.ts.map +1 -1
  125. package/lib/zhin-agent/tool-runtime.js +14 -0
  126. package/lib/zhin-agent/tool-runtime.js.map +1 -1
  127. package/lib/zhin-agent/tool-search-orchestrator.d.ts +23 -0
  128. package/lib/zhin-agent/tool-search-orchestrator.d.ts.map +1 -0
  129. package/lib/zhin-agent/tool-search-orchestrator.js +86 -0
  130. package/lib/zhin-agent/tool-search-orchestrator.js.map +1 -0
  131. package/lib/zhin-agent/turn-metrics.d.ts +20 -0
  132. package/lib/zhin-agent/turn-metrics.d.ts.map +1 -0
  133. package/lib/zhin-agent/turn-metrics.js +28 -0
  134. package/lib/zhin-agent/turn-metrics.js.map +1 -0
  135. package/package.json +14 -4
  136. package/lib/builtin/read-memory-tool.d.ts +0 -14
  137. package/lib/builtin/read-memory-tool.d.ts.map +0 -1
  138. package/lib/builtin/read-memory-tool.js +0 -49
  139. package/lib/builtin/read-memory-tool.js.map +0 -1
  140. package/lib/builtin/write-memory-tool.d.ts +0 -14
  141. package/lib/builtin/write-memory-tool.d.ts.map +0 -1
  142. package/lib/builtin/write-memory-tool.js +0 -50
  143. package/lib/builtin/write-memory-tool.js.map +0 -1
@@ -4,8 +4,12 @@
4
4
  * Manages connections to external MCP Servers and bridges their
5
5
  * tools/resources/prompts into the agent's resource pool.
6
6
  */
7
+ import { Logger } from '@zhin.js/core';
8
+ import { McpClientManager } from '../mcp-client/index.js';
7
9
  import { ResourceRegistry } from './resource-registry.js';
10
+ const logger = new Logger(null, 'McpRegistry');
8
11
  export class McpRegistry extends ResourceRegistry {
12
+ manager = new McpClientManager();
9
13
  connections = new Map();
10
14
  async connect(name) {
11
15
  const entry = this.get(name);
@@ -14,29 +18,36 @@ export class McpRegistry extends ResourceRegistry {
14
18
  const existing = this.connections.get(name);
15
19
  if (existing?.connected)
16
20
  return existing;
21
+ const clientConn = await this.manager.connect(entry);
17
22
  const connection = {
18
23
  name,
19
- connected: false,
20
- tools: [],
21
- resources: [],
22
- prompts: [],
24
+ connected: clientConn.isConnected,
25
+ tools: clientConn.tools,
26
+ resources: clientConn.resources,
27
+ prompts: clientConn.prompts,
23
28
  };
24
- try {
25
- // MCP client connection will be implemented in mcp-client/ module
26
- // For now, mark as connected with empty capabilities
27
- connection.connected = true;
28
- this.connections.set(name, connection);
29
- }
30
- catch (err) {
31
- throw err;
32
- }
29
+ this.connections.set(name, connection);
33
30
  return connection;
34
31
  }
32
+ /** Lazy-connect all registered servers; per-server failures are logged, not thrown. */
33
+ async ensureConnected() {
34
+ for (const entry of this.getAll()) {
35
+ if (this.isConnected(entry.name))
36
+ continue;
37
+ try {
38
+ await this.connect(entry.name);
39
+ if (!this.isConnected(entry.name)) {
40
+ logger.warn(`MCP server "${entry.name}" is registered but not connected (check SDK or server config)`);
41
+ }
42
+ }
43
+ catch (err) {
44
+ const message = err instanceof Error ? err.message : String(err);
45
+ logger.warn(`MCP server "${entry.name}" connect failed: ${message}`);
46
+ }
47
+ }
48
+ }
35
49
  disconnect(name) {
36
- const connection = this.connections.get(name);
37
- if (!connection)
38
- return;
39
- connection.connected = false;
50
+ void this.manager.disconnect(name);
40
51
  this.connections.delete(name);
41
52
  }
42
53
  getConnection(name) {
@@ -62,10 +73,15 @@ export class McpRegistry extends ResourceRegistry {
62
73
  isConnected(name) {
63
74
  return this.connections.get(name)?.connected ?? false;
64
75
  }
65
- dispose() {
66
- for (const name of this.connections.keys()) {
76
+ remove(name, scope) {
77
+ const ok = super.remove(name, scope);
78
+ if (ok)
67
79
  this.disconnect(name);
68
- }
80
+ return ok;
81
+ }
82
+ dispose() {
83
+ void this.manager.disconnectAll();
84
+ this.connections.clear();
69
85
  super.dispose();
70
86
  }
71
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-registry.js","sourceRoot":"","sources":["../../src/orchestrator/mcp-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAW1D,MAAM,OAAO,WAAY,SAAQ,gBAAgC;IAC9C,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEhE,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,kBAAkB,CAAC,CAAC;QAEnE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE,SAAS;YAAE,OAAO,QAAQ,CAAC;QAEzC,MAAM,UAAU,GAAkB;YAChC,IAAI;YACJ,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,IAAI,CAAC;YACH,kEAAkE;YAClE,qDAAqD;YACrD,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,kBAAkB,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,sBAAsB,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACrD,CAAC;IAED,oBAAoB,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IACnD,CAAC;IAED,cAAc;QACZ,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,IAAI,KAAK,CAAC;IACxD,CAAC;IAEQ,OAAO;QACd,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"mcp-registry.js","sourceRoot":"","sources":["../../src/orchestrator/mcp-registry.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,10 @@ export declare const ZHIN_NEEDS_OWNER_FIRST_LINE: "ZHIN_NEEDS_OWNER:";
5
5
  export { OWNER_HARD_ORCHESTRATION_TOOLS } from './owner-orchestration-constants.js';
6
6
  export interface OwnerOrchestrationOptions {
7
7
  toolContext: ToolContext;
8
- /** 子 Agent 内为 true:仅保留信号,不执行 B */
8
+ /**
9
+ * 子 Agent / Worker 内为 true:不自动 ask_user(阶段 B)。
10
+ * 须配合 {@link runWithDirectAgentExecution},否则 bash 仍可能只返回 `ZHIN_NEEDS_OWNER` 而不执行。
11
+ */
9
12
  disableHardOrchestration?: boolean;
10
13
  /** 每根任务自动 ask_user 上限,默认 3 */
11
14
  maxAutoOwnerAsk?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"owner-confirm-orchestration.d.ts","sourceRoot":"","sources":["../../src/orchestrator/owner-confirm-orchestration.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAUvD,4BAA4B;AAC5B,eAAO,MAAM,2BAA2B,EAAG,mBAA4B,CAAC;AAExE,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AAMpF,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,WAAW,CAAC;IACzB,kCAAkC;IAClC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,8BAA8B;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAQ1F;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAG3F;AAqBD;;GAEG;AACH,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,yBAAyB,GACjC,mBAAmB,CAoDrB"}
1
+ {"version":3,"file":"owner-confirm-orchestration.d.ts","sourceRoot":"","sources":["../../src/orchestrator/owner-confirm-orchestration.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAUvD,4BAA4B;AAC5B,eAAO,MAAM,2BAA2B,EAAG,mBAA4B,CAAC;AAExE,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AAMpF,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,WAAW,CAAC;IACzB;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,8BAA8B;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAQ1F;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAG3F;AAqBD;;GAEG;AACH,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,yBAAyB,GACjC,mBAAmB,CAoDrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"owner-confirm-orchestration.js","sourceRoot":"","sources":["../../src/orchestrator/owner-confirm-orchestration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-confirm-orchestration.js","sourceRoot":"","sources":["../../src/orchestrator/owner-confirm-orchestration.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ export declare function hasPermissionLevel(userLevel: ToolPermissionLevel, requi
25
25
  export declare function inferPermissionLevel(context: ToolContext): ToolPermissionLevel;
26
26
  export declare function inferPermissionPriority(context: ToolContext): number;
27
27
  export declare function canAccessTool(tool: Tool, context: ToolContext): boolean;
28
+ /** 技能关联工具:跨 IM 平台可用(如 QQ 上 star 仓库),仅校验 scope/权限。 */
29
+ export declare function canAccessToolFromSkill(tool: Tool, context: ToolContext): boolean;
28
30
  export declare function createRestrictedToolView(tools: AgentTool[], options?: RestrictedToolViewOptions): AgentTool[];
29
31
  export declare function normalizeTool(input: NormalizableTool, context?: ToolContext): AgentTool;
30
32
  export declare class ToolSelection {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-selection.d.ts","sourceRoot":"","sources":["../../src/orchestrator/tool-selection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAS,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AA6C/D,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAMzE,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,IAAI,IAAI,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,2BAA2B,kHAU9B,CAAC;AAEX,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAGjG;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,mBAAmB,EAAE,aAAa,EAAE,mBAAmB,GAAG,OAAO,CAE9G;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,mBAAmB,CAO9E;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAEpE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAIvE;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,GAAE,yBAA8B,GACtC,SAAS,EAAE,CAcb;AAmED,wBAAgB,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAyCvF;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IAEvD,SAAS,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS;IAIpE,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,EAAE;IAIhG,UAAU,IAAI,IAAI;IAIlB,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,oBAAoB,CAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,IAAI,EAAE,EACrB,GAAG,EAAE,mBAAmB,GACvB,SAAS,EAAE;CAyKf;AAED,eAAO,MAAM,mBAAmB,eAAsB,CAAC"}
1
+ {"version":3,"file":"tool-selection.d.ts","sourceRoot":"","sources":["../../src/orchestrator/tool-selection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAS,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AA6C/D,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAMzE,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,IAAI,IAAI,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,2BAA2B,kHAU9B,CAAC;AAEX,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAGjG;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,mBAAmB,EAAE,aAAa,EAAE,mBAAmB,GAAG,OAAO,CAE9G;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,mBAAmB,CAO9E;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAEpE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAIvE;AAED,qDAAqD;AACrD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAGhF;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,GAAE,yBAA8B,GACtC,SAAS,EAAE,CAcb;AAmED,wBAAgB,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAyCvF;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IAEvD,SAAS,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS;IAIpE,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,EAAE;IAIhG,UAAU,IAAI,IAAI;IAIlB,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,oBAAoB,CAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,IAAI,EAAE,EACrB,GAAG,EAAE,mBAAmB,GACvB,SAAS,EAAE;CAmMf;AAED,eAAO,MAAM,mBAAmB,eAAsB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Tool selection — normalization, permission checks, context injection and relevance caching.
3
3
  */
4
4
  import { Logger } from '@zhin.js/core';
5
+ import { formatCompact } from '@zhin.js/logger';
5
6
  import { CachedToolFilter } from '@zhin.js/ai';
6
7
  const logger = new Logger(null, 'ZhinAgent:ToolSelection');
7
8
  /** 技能在 frontmatter 中声明了 `platforms` 且包含当前会话平台时,视为「来源平台绑定」,无需用户消息里写出技能名。 */
@@ -93,6 +94,12 @@ export function canAccessTool(tool, context) {
93
94
  return false;
94
95
  return hasPermissionLevel(inferPermissionLevel(context), tool.permissionLevel || 'user');
95
96
  }
97
+ /** 技能关联工具:跨 IM 平台可用(如 QQ 上 star 仓库),仅校验 scope/权限。 */
98
+ export function canAccessToolFromSkill(tool, context) {
99
+ if (tool.scopes?.length && (!context.scope || !tool.scopes.includes(context.scope)))
100
+ return false;
101
+ return hasPermissionLevel(inferPermissionLevel(context), tool.permissionLevel || 'user');
102
+ }
96
103
  export function createRestrictedToolView(tools, options = {}) {
97
104
  const allowed = new Set((options.allowedNames ?? DEFAULT_SUBAGENT_TOOL_NAMES).map(name => name.toLowerCase()));
98
105
  const disabled = new Set((options.disabledNames ?? []).map(name => name.toLowerCase()));
@@ -226,6 +233,7 @@ export class ToolSelection {
226
233
  const collected = [];
227
234
  const collectedNames = new Set();
228
235
  const platformOnlySkillToolNames = new Set();
236
+ const mentionedSkillToolNames = new Set();
229
237
  let mentionedSkill = null;
230
238
  if (skillRegistry && skillRegistry.size > 0) {
231
239
  const msgLower = message.toLowerCase();
@@ -257,6 +265,23 @@ export class ToolSelection {
257
265
  collectedNames.add('activate_skill');
258
266
  logger.debug(`[技能激活] 已提前加入 activate_skill 工具(优先级最高)`);
259
267
  }
268
+ const skillByName = skillRegistry && typeof skillRegistry.getByName === 'function'
269
+ ? skillRegistry.getByName(mentionedSkill)
270
+ : undefined;
271
+ if (skillByName) {
272
+ for (const tool of skillByName.tools) {
273
+ if (!canAccessToolFromSkill(tool, context))
274
+ continue;
275
+ if (collectedNames.has(tool.name))
276
+ continue;
277
+ collected.push(this.normalize(tool, context));
278
+ collectedNames.add(tool.name);
279
+ mentionedSkillToolNames.add(tool.name);
280
+ }
281
+ if (mentionedSkillToolNames.size > 0) {
282
+ logger.debug(`[技能工具] 已注入 ${mentionedSkill} 的 ${mentionedSkillToolNames.size} 个工具(跨平台)`);
283
+ }
284
+ }
260
285
  }
261
286
  if (skillRegistry) {
262
287
  const searched = skillRegistry.search(message, { maxResults: config.maxSkills, platform: context.platform });
@@ -274,7 +299,7 @@ export class ToolSelection {
274
299
  logger.debug(`[Skill 匹配] ${skillStr}` + (context.platform ? ` (平台: ${context.platform})` : ''));
275
300
  for (const skill of skills) {
276
301
  for (const tool of skill.tools) {
277
- if (!canAccessTool(tool, context))
302
+ if (!canAccessToolFromSkill(tool, context))
278
303
  continue;
279
304
  if (collectedNames.has(tool.name))
280
305
  continue;
@@ -335,6 +360,14 @@ export class ToolSelection {
335
360
  if (t)
336
361
  filtered.unshift(t);
337
362
  }
363
+ /** 消息命中技能名/关键词时注入的工具:与 activate_skill 指引一致,须保留 */
364
+ for (const name of mentionedSkillToolNames) {
365
+ if (filtered.some(t => t.name === name))
366
+ continue;
367
+ const t = collected.find(x => x.name === name);
368
+ if (t)
369
+ filtered.unshift(t);
370
+ }
338
371
  if (mentionedSkill && filtered.length > 0) {
339
372
  const activateSkillIdx = filtered.findIndex(t => t.name === 'activate_skill');
340
373
  if (activateSkillIdx > 0) {
@@ -377,11 +410,14 @@ export class ToolSelection {
377
410
  }
378
411
  }
379
412
  if (final.length > 0) {
380
- logger.debug(`[工具收集] 收集了 ${collected.length} 个工具,过滤后 ${final.length} 个,` +
381
- `用户消息相关性最高的: ${final.slice(0, 3).map(t => t.name).join(', ')}`);
413
+ logger.debug(formatCompact({
414
+ collected: collected.length,
415
+ filtered: final.length,
416
+ top: final.slice(0, 3).map(t => t.name).join(','),
417
+ }));
382
418
  }
383
419
  else {
384
- logger.debug(`[工具收集] 收集了 ${collected.length} 个工具,但过滤后 0 个(没有超过相关性阈值的)`);
420
+ logger.debug(formatCompact({ collected: collected.length, filtered: 0 }));
385
421
  }
386
422
  return final;
387
423
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-selection.js","sourceRoot":"","sources":["../../src/orchestrator/tool-selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-selection.js","sourceRoot":"","sources":["../../src/orchestrator/tool-selection.ts"],"names":[],"mappings":"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"}
@@ -13,11 +13,11 @@ export const RESERVED_TOOL_NAMES = [
13
13
  'web_fetch',
14
14
  'todo_read',
15
15
  'todo_write',
16
- 'read_memory',
17
- 'write_memory',
18
16
  'activate_skill',
19
17
  'install_skill',
20
18
  'ask_user',
19
+ 'tool_search',
20
+ 'run_deferred_task',
21
21
  'chat_history',
22
22
  'user_profile',
23
23
  'spawn_task',
@@ -1 +1 @@
1
- {"version":3,"file":"reserved-tools.js","sourceRoot":"","sources":["../src/reserved-tools.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,WAAW;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,WAAW;IACX,YAAY;IACZ,WAAW;IACX,UAAU;IACV,MAAM;IACN,MAAM;IACN,MAAM;IACN,YAAY;IACZ,WAAW;IACX,WAAW;IACX,YAAY;IACZ,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,UAAU;IACV,cAAc;IACd,cAAc;IACd,YAAY;IACZ,WAAW;IACX,UAAU;IACV,aAAa;IACb,YAAY;IACZ,aAAa;CACd,CAAC"}
1
+ {"version":3,"file":"reserved-tools.js","sourceRoot":"","sources":["../src/reserved-tools.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,WAAW;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,WAAW;IACX,YAAY;IACZ,WAAW;IACX,UAAU;IACV,MAAM;IACN,MAAM;IACN,MAAM;IACN,YAAY;IACZ,WAAW;IACX,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,eAAe;IACf,UAAU;IACV,aAAa;IACb,mBAAmB;IACnB,cAAc;IACd,cAAc;IACd,YAAY;IACZ,WAAW;IACX,UAAU;IACV,aAAa;IACb,YAAY;IACZ,aAAa;CACd,CAAC"}
@@ -1,5 +1,20 @@
1
1
  import type { ToolContext } from '@zhin.js/core';
2
+ export interface BashToolExecutionScope {
3
+ toolContext?: ToolContext;
4
+ /**
5
+ * Worker / 异步子 Agent:跳过 execAsk 的 Owner 审批门(仍拒绝危险命令与 deny)。
6
+ * 与 {@link createOwnerOrchestratedToolResultTransform} 的 `disableHardOrchestration` 配合使用。
7
+ */
8
+ directExecution?: boolean;
9
+ }
2
10
  export declare function getCurrentBashToolContext(): ToolContext | undefined;
3
- export declare function runWithBashToolContext<T>(ctx: ToolContext | undefined, fn: () => T): T;
4
- export declare function runWithBashToolContext<T>(ctx: ToolContext | undefined, fn: () => Promise<T>): Promise<T>;
11
+ export declare function isDirectAgentExecution(): boolean;
12
+ export interface RunWithBashToolContextOptions {
13
+ directExecution?: boolean;
14
+ }
15
+ export declare function runWithBashToolContext<T>(ctx: ToolContext | undefined, fn: () => T, options?: RunWithBashToolContextOptions): T;
16
+ export declare function runWithBashToolContext<T>(ctx: ToolContext | undefined, fn: () => Promise<T>, options?: RunWithBashToolContextOptions): Promise<T>;
17
+ /** 子 Agent / Deferred Worker:免 Owner 在线审批,在策略允许范围内直接执行 bash */
18
+ export declare function runWithDirectAgentExecution<T>(ctx: ToolContext | undefined, fn: () => T): T;
19
+ export declare function runWithDirectAgentExecution<T>(ctx: ToolContext | undefined, fn: () => Promise<T>): Promise<T>;
5
20
  //# sourceMappingURL=bash-tool-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bash-tool-context.d.ts","sourceRoot":"","sources":["../../src/security/bash-tool-context.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIjD,wBAAgB,yBAAyB,IAAI,WAAW,GAAG,SAAS,CAEnE;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AACxF,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"bash-tool-context.d.ts","sourceRoot":"","sources":["../../src/security/bash-tool-context.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAID,wBAAgB,yBAAyB,IAAI,WAAW,GAAG,SAAS,CAEnE;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,EAAE,EAAE,MAAM,CAAC,EACX,OAAO,CAAC,EAAE,6BAA6B,GACtC,CAAC,CAAC;AACL,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE,6BAA6B,GACtC,OAAO,CAAC,CAAC,CAAC,CAAC;AASd,+DAA+D;AAC/D,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AAC7F,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC"}
@@ -5,9 +5,15 @@
5
5
  import { AsyncLocalStorage } from 'node:async_hooks';
6
6
  const als = new AsyncLocalStorage();
7
7
  export function getCurrentBashToolContext() {
8
- return als.getStore();
8
+ return als.getStore()?.toolContext;
9
9
  }
10
- export function runWithBashToolContext(ctx, fn) {
11
- return als.run(ctx, fn);
10
+ export function isDirectAgentExecution() {
11
+ return als.getStore()?.directExecution === true;
12
+ }
13
+ export function runWithBashToolContext(ctx, fn, options) {
14
+ return als.run({ toolContext: ctx, directExecution: options?.directExecution }, fn);
15
+ }
16
+ export function runWithDirectAgentExecution(ctx, fn) {
17
+ return runWithBashToolContext(ctx, fn, { directExecution: true });
12
18
  }
13
19
  //# sourceMappingURL=bash-tool-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bash-tool-context.js","sourceRoot":"","sources":["../../src/security/bash-tool-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,GAAG,GAAG,IAAI,iBAAiB,EAA2B,CAAC;AAE7D,MAAM,UAAU,yBAAyB;IACvC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAID,MAAM,UAAU,sBAAsB,CAAI,GAA4B,EAAE,EAAwB;IAC9F,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"bash-tool-context.js","sourceRoot":"","sources":["../../src/security/bash-tool-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAYrD,MAAM,GAAG,GAAG,IAAI,iBAAiB,EAAsC,CAAC;AAExE,MAAM,UAAU,yBAAyB;IACvC,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,eAAe,KAAK,IAAI,CAAC;AAClD,CAAC;AAgBD,MAAM,UAAU,sBAAsB,CACpC,GAA4B,EAC5B,EAAwB,EACxB,OAAuC;IAEvC,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;AACtF,CAAC;AAKD,MAAM,UAAU,2BAA2B,CACzC,GAA4B,EAC5B,EAAwB;IAExB,OAAO,sBAAsB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;AACpE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"exec-policy.d.ts","sourceRoot":"","sources":["../../src/security/exec-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAc/D,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAIjD,CAAC;AAqBF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMzD;AAYD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAsBzD;AAID;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAG9D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK1D;AAID,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAID;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,MAAM,EAAE,CAMhF;AA2FD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAyCpG;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAoBzG"}
1
+ {"version":3,"file":"exec-policy.d.ts","sourceRoot":"","sources":["../../src/security/exec-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAc/D,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAIjD,CAAC;AAqBF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMzD;AAYD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAsBzD;AAID;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAG9D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK1D;AAID,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAID;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,MAAM,EAAE,CAMhF;AA2FD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAyCpG;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAuBzG"}
@@ -11,7 +11,7 @@
11
11
  */
12
12
  import { getPlugin } from '@zhin.js/core';
13
13
  import { classifyBashCommand } from './file-policy.js';
14
- import { getCurrentBashToolContext } from './bash-tool-context.js';
14
+ import { getCurrentBashToolContext, isDirectAgentExecution } from './bash-tool-context.js';
15
15
  import { isIcqqSensitiveSubcommand, matchesBashOwnerExecBypass, } from './owner-approve-always-store.js';
16
16
  // ── 预设命令白名单 ──────────────────────────────────────────────────
17
17
  const PRESET_READONLY = ['ls', 'cat', 'pwd', 'date', 'whoami', 'grep', 'find', 'head', 'tail', 'wc', 'stat', 'file'];
@@ -257,6 +257,9 @@ export function applyExecPolicyToTools(config, tools) {
257
257
  const result = checkExecPolicy(config, cmd);
258
258
  if (!result.allowed) {
259
259
  if (result.needsApproval) {
260
+ if (isDirectAgentExecution()) {
261
+ return original(args);
262
+ }
260
263
  // 权威首行 + 正文:硬编排识别;与旧「请使用 ask_user」话术合并为单套
261
264
  return `ZHIN_NEEDS_OWNER:\n⚠️ ${result.reason}\n\n此 shell 命令需 Bot Owner 审批后方可执行。`;
262
265
  }
@@ -1 +1 @@
1
- {"version":3,"file":"exec-policy.js","sourceRoot":"","sources":["../../src/security/exec-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec-policy.js","sourceRoot":"","sources":["../../src/security/exec-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EACL,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,iCAAiC,CAAC;AAEzC,gEAAgE;AAEhE,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACrH,MAAM,cAAc,GAAG,CAAC,GAAG,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAC/F,MAAM,kBAAkB,GAAG,CAAC,GAAG,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE5I,MAAM,CAAC,MAAM,YAAY,GAA6B;IACpD,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,cAAc;IACvB,WAAW,EAAE,kBAAkB;CAChC,CAAC;AAEF,8DAA8D;AAE9D;;;GAGG;AACH,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,KAAK;IACL,MAAM,EAAE,IAAI,EAAE,MAAM;IACpB,sBAAsB;IACtB,MAAM,EAAE,MAAM;IACd,QAAQ;IACR,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;IAC/B,OAAO;IACP,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;IACnC,iBAAiB;IACjB,QAAQ;CACT,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,yDAAyD;AAEzD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,kDAAkD;IAClD,OAAO,OAAO,CAAC,OAAO,CACpB,gEAAgE,EAChE,EAAE,CACH,CAAC,IAAI,EAAE,CAAC;AACX,CAAC;AAED,iEAAiE;AAEjE;;;GAGG;AACH,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC;IACjD,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU;CACnE,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,kBAAkB;IAClB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,OAAO,IAAI,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,KAAK,CAAC;QAChB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM;QAC7B,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,0CAA0C;YAC1C,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,CAAC,EAAE,CAAC;YACN,CAAC;YACD,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtB,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtC,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,4DAA4D;AAE5D;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,0BAA0B;IAC1B,OAAO,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACjF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,gBAAgB;IAChB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAYD,iEAAiE;AAEjE;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAiC;IACpE,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IACjC,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,6BAA6B,CAAC,oBAA4B;IACjE,MAAM,GAAG,GAAG,yBAAyB,EAAE,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,KAAK;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;QAC/C,OAAO,0BAA0B,CAAC,MAAM,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,OAAe,EACf,cAAsB,EACtB,SAAmB,EACnB,QAAgB,EAChB,OAAgB;IAEhB,qBAAqB;IACrB,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,OAAO,mBAAmB,EAAE,CAAC;IAC5E,CAAC;IAED,0BAA0B;IAC1B,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,oDAAoD;IACpD,MAAM,cAAc,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,8DAA8D;IAC9D,IAAI,QAAQ,KAAK,WAAW,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,IAAI;gBACnB,MAAM,EAAE,2BAA2B,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;aACxD,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,8BAA8B,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;SAC3D,CAAC;IACJ,CAAC;IAED,WAAW;IACX,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC;YACtC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,KAAK,OAAO,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY;IACZ,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,MAAM,OAAO,qBAAqB;SAC3C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,MAAM,OAAO,6DAA6D;KACnF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAiC,EAAE,OAAe;IAChF,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC;IAC/C,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,yEAAyE,EAAE,CAAC;IAC/G,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;IACxC,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEnC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED,0BAA0B;IAC1B,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,eAAe,GAA4B,IAAI,CAAC;IAEpD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE9E,4BAA4B;QAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC7C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,aAAa;QACb,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,eAAe,EAAE,CAAC;YAChE,eAAe,GAAG,MAAM,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,UAAU;IACV,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAiC,EAAE,KAAkB;IAC1F,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACnB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC;QAC3B,OAAO;YACL,GAAG,CAAC;YACJ,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE;gBAC3C,MAAM,GAAG,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;wBACzB,IAAI,sBAAsB,EAAE,EAAE,CAAC;4BAC7B,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACxB,CAAC;wBACD,0CAA0C;wBAC1C,OAAO,yBAAyB,MAAM,CAAC,MAAM,oCAAoC,CAAC;oBACpF,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;gBAClC,CAAC;gBACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
package/lib/subagent.d.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  * 3. 管理子 agent 生命周期(运行跟踪、完成/失败回告)
8
8
  * 4. 完成后将结果投递回主流程,由主 agent 摘要后发送到原始频道
9
9
  */
10
- import type { AIProvider, AgentTool } from '@zhin.js/core';
10
+ import type { AIProvider, AgentTool, Usage } from '@zhin.js/core';
11
11
  import type { ModelRegistry } from '@zhin.js/ai';
12
12
  import type { ZhinAgentConfig } from './zhin-agent/config.js';
13
13
  export interface SubagentOrigin {
@@ -32,6 +32,10 @@ export interface SubagentManagerOptions {
32
32
  /** Exec policy config to enforce on subagent bash tools */
33
33
  execPolicyConfig?: Required<ZhinAgentConfig>;
34
34
  modelRegistry?: ModelRegistry | null;
35
+ /** 子 agent 完成后回传 token 用量(并入主会话 turn 统计) */
36
+ onSubagentUsage?: (usage: Usage) => void;
37
+ /** 注册子 agent 生命周期 Promise,供主会话在 turn 结束前可选等待 */
38
+ registerSubagentTask?: (done: Promise<void>) => void;
35
39
  }
36
40
  export declare class SubagentManager {
37
41
  private provider;
@@ -43,6 +47,8 @@ export declare class SubagentManager {
43
47
  private modelRegistry;
44
48
  private runningTasks;
45
49
  private resultSender;
50
+ private onSubagentUsage;
51
+ private registerSubagentTask;
46
52
  constructor(options: SubagentManagerOptions);
47
53
  setSender(sender: SubagentResultSender): void;
48
54
  setModelRegistry(registry: ModelRegistry | null): void;
@@ -1 +1 @@
1
- {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../src/subagent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAe9D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,SAAS,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CACtC;AAMD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,YAAY,CAAqC;gBAE7C,OAAO,EAAE,sBAAsB;IAU3C,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAI7C,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAIhD,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBnD,eAAe,IAAI,MAAM;YAMX,WAAW;YAqEX,cAAc;IAwB5B,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../src/subagent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAe9D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,SAAS,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,4CAA4C;IAC5C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACzC,gDAAgD;IAChD,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CACtD;AAMD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,oBAAoB,CAAyC;gBAEzD,OAAO,EAAE,sBAAsB;IAY3C,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAI7C,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAIhD,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBnD,eAAe,IAAI,MAAM;YAMX,WAAW;YA6EX,cAAc;IAwB5B,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,IAAI,IAAI;CAGhB"}
package/lib/subagent.js CHANGED
@@ -9,13 +9,14 @@
9
9
  */
10
10
  import { randomUUID } from 'crypto';
11
11
  import { Logger } from '@zhin.js/core';
12
+ import { formatCompact, formatCompactUsage } from '@zhin.js/logger';
12
13
  import { createAgent } from '@zhin.js/ai';
13
14
  import { applyExecPolicyToTools } from './security/exec-policy.js';
14
15
  import { RESERVED_TOOL_NAMES, RESERVED_TOOL_NAME_PREFIXES } from './reserved-tools.js';
15
16
  import { resolveContextBudget } from './zhin-agent/context-budget.js';
16
17
  import { createRestrictedToolView, DEFAULT_SUBAGENT_TOOL_NAMES } from './orchestrator/tool-selection.js';
17
18
  import { createOwnerOrchestratedToolResultTransform } from './orchestrator/owner-confirm-orchestration.js';
18
- import { runWithBashToolContext } from './security/bash-tool-context.js';
19
+ import { runWithDirectAgentExecution } from './security/bash-tool-context.js';
19
20
  const logger = new Logger(null, 'Subagent');
20
21
  // ============================================================================
21
22
  // SubagentManager
@@ -30,6 +31,8 @@ export class SubagentManager {
30
31
  modelRegistry;
31
32
  runningTasks = new Map();
32
33
  resultSender = null;
34
+ onSubagentUsage;
35
+ registerSubagentTask;
33
36
  constructor(options) {
34
37
  this.provider = options.provider;
35
38
  this.workspace = options.workspace;
@@ -38,6 +41,8 @@ export class SubagentManager {
38
41
  this.subagentTools = options.subagentTools || [];
39
42
  this.execPolicyConfig = options.execPolicyConfig ?? null;
40
43
  this.modelRegistry = options.modelRegistry ?? null;
44
+ this.onSubagentUsage = options.onSubagentUsage ?? null;
45
+ this.registerSubagentTask = options.registerSubagentTask ?? null;
41
46
  }
42
47
  setSender(sender) {
43
48
  this.resultSender = sender;
@@ -51,14 +56,15 @@ export class SubagentManager {
51
56
  options.task.slice(0, 30) + (options.task.length > 30 ? '...' : '');
52
57
  const abortController = new AbortController();
53
58
  this.runningTasks.set(taskId, abortController);
54
- this.runSubagent(taskId, options.task, displayLabel, options.origin)
59
+ const done = this.runSubagent(taskId, options.task, displayLabel, options.origin)
55
60
  .catch((error) => {
56
61
  logger.error({ error, taskId }, 'Subagent failed');
57
62
  })
58
63
  .finally(() => {
59
64
  this.runningTasks.delete(taskId);
60
65
  });
61
- logger.info({ taskId, label: displayLabel }, 'Spawned subagent');
66
+ this.registerSubagentTask?.(done);
67
+ logger.debug(formatCompact({ spawn: taskId, label: displayLabel }));
62
68
  return `子任务 [${displayLabel}] 已启动 (id: ${taskId}),完成后会自动通知你。`;
63
69
  }
64
70
  getRunningCount() {
@@ -66,7 +72,8 @@ export class SubagentManager {
66
72
  }
67
73
  // ── 内部方法 ──────────────────────────────────────────────────────
68
74
  async runSubagent(taskId, task, label, origin) {
69
- logger.info({ taskId, label }, 'Subagent starting task');
75
+ const startedAt = Date.now();
76
+ logger.debug(formatCompact({ task_id: taskId, label }));
70
77
  try {
71
78
  const allTools = this.createTools();
72
79
  let tools = createRestrictedToolView(allTools, {
@@ -110,9 +117,16 @@ export class SubagentManager {
110
117
  }),
111
118
  });
112
119
  try {
113
- const result = await runWithBashToolContext(bashToolContext, () => agent.run(task));
120
+ const result = await runWithDirectAgentExecution(bashToolContext, () => agent.run(task));
121
+ this.onSubagentUsage?.(result.usage);
114
122
  const finalResult = result.content || '任务已完成,但未生成最终响应。';
115
- logger.info({ taskId }, 'Subagent completed successfully');
123
+ logger.debug(formatCompact({
124
+ task_id: taskId,
125
+ total_ms: Date.now() - startedAt,
126
+ usage: formatCompactUsage(result.usage),
127
+ iter: result.iterations,
128
+ model,
129
+ }));
116
130
  await this.announceResult(taskId, label, task, finalResult, origin, 'ok');
117
131
  }
118
132
  finally {
@@ -127,7 +141,7 @@ export class SubagentManager {
127
141
  }
128
142
  async announceResult(taskId, label, task, result, origin, status) {
129
143
  if (!this.resultSender) {
130
- logger.warn({ taskId }, 'No result sender configured, discarding subagent result');
144
+ logger.warn(formatCompact({ task_id: taskId, error: 'no_sender' }));
131
145
  return;
132
146
  }
133
147
  const statusText = status === 'ok' ? '已完成' : '执行失败';
@@ -158,7 +172,7 @@ ${task}
158
172
 
159
173
  ## You may
160
174
  - Read/write files in the workspace
161
- - Run shell commands
175
+ - Run shell commands (no Owner online approval in this sub-agent; deny/dangerous rules still apply)
162
176
  - Search and fetch the web
163
177
  - Complete the task thoroughly
164
178