macro-agent 0.1.12 → 0.2.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 (116) hide show
  1. package/dist/acp/macro-agent.d.ts.map +1 -1
  2. package/dist/acp/macro-agent.js +18 -40
  3. package/dist/acp/macro-agent.js.map +1 -1
  4. package/dist/agent/agent-manager-v2.d.ts.map +1 -1
  5. package/dist/agent/agent-manager-v2.js +241 -8
  6. package/dist/agent/agent-manager-v2.js.map +1 -1
  7. package/dist/agent/types.d.ts +47 -0
  8. package/dist/agent/types.d.ts.map +1 -1
  9. package/dist/agent/types.js.map +1 -1
  10. package/dist/boot-v2.d.ts +33 -0
  11. package/dist/boot-v2.d.ts.map +1 -1
  12. package/dist/boot-v2.js +144 -11
  13. package/dist/boot-v2.js.map +1 -1
  14. package/dist/cli/acp.js +0 -0
  15. package/dist/cli/inbox-mcp-proxy.d.ts +36 -0
  16. package/dist/cli/inbox-mcp-proxy.d.ts.map +1 -0
  17. package/dist/cli/inbox-mcp-proxy.js +51 -0
  18. package/dist/cli/inbox-mcp-proxy.js.map +1 -0
  19. package/dist/cli/index.js +0 -0
  20. package/dist/cli/mcp.js +0 -0
  21. package/dist/dispatch/loadout-translation.d.ts +100 -0
  22. package/dist/dispatch/loadout-translation.d.ts.map +1 -0
  23. package/dist/dispatch/loadout-translation.js +90 -0
  24. package/dist/dispatch/loadout-translation.js.map +1 -0
  25. package/dist/dispatch/mail-inbound-consumer.d.ts +136 -0
  26. package/dist/dispatch/mail-inbound-consumer.d.ts.map +1 -0
  27. package/dist/dispatch/mail-inbound-consumer.js +360 -0
  28. package/dist/dispatch/mail-inbound-consumer.js.map +1 -0
  29. package/dist/dispatch/mail-inbound-reuse-consumer.d.ts +75 -0
  30. package/dist/dispatch/mail-inbound-reuse-consumer.d.ts.map +1 -0
  31. package/dist/dispatch/mail-inbound-reuse-consumer.js +325 -0
  32. package/dist/dispatch/mail-inbound-reuse-consumer.js.map +1 -0
  33. package/dist/dispatch/permission-evaluator.d.ts +68 -0
  34. package/dist/dispatch/permission-evaluator.d.ts.map +1 -0
  35. package/dist/dispatch/permission-evaluator.js +159 -0
  36. package/dist/dispatch/permission-evaluator.js.map +1 -0
  37. package/dist/dispatch/permission-overlay.d.ts +64 -0
  38. package/dist/dispatch/permission-overlay.d.ts.map +1 -0
  39. package/dist/dispatch/permission-overlay.js +72 -0
  40. package/dist/dispatch/permission-overlay.js.map +1 -0
  41. package/dist/dispatch/permissions-handler.d.ts +71 -0
  42. package/dist/dispatch/permissions-handler.d.ts.map +1 -0
  43. package/dist/dispatch/permissions-handler.js +83 -0
  44. package/dist/dispatch/permissions-handler.js.map +1 -0
  45. package/dist/dispatch/spawn-agent-handler.d.ts +84 -0
  46. package/dist/dispatch/spawn-agent-handler.d.ts.map +1 -0
  47. package/dist/dispatch/spawn-agent-handler.js +85 -0
  48. package/dist/dispatch/spawn-agent-handler.js.map +1 -0
  49. package/dist/lifecycle/handlers-v2.d.ts +7 -0
  50. package/dist/lifecycle/handlers-v2.d.ts.map +1 -1
  51. package/dist/lifecycle/handlers-v2.js +27 -0
  52. package/dist/lifecycle/handlers-v2.js.map +1 -1
  53. package/dist/map/lifecycle-bridge.d.ts +18 -0
  54. package/dist/map/lifecycle-bridge.d.ts.map +1 -1
  55. package/dist/map/lifecycle-bridge.js +23 -1
  56. package/dist/map/lifecycle-bridge.js.map +1 -1
  57. package/dist/map/mail-bridge.d.ts +55 -0
  58. package/dist/map/mail-bridge.d.ts.map +1 -0
  59. package/dist/map/mail-bridge.js +115 -0
  60. package/dist/map/mail-bridge.js.map +1 -0
  61. package/dist/map/repo-workspace.d.ts +46 -0
  62. package/dist/map/repo-workspace.d.ts.map +1 -0
  63. package/dist/map/repo-workspace.js +39 -0
  64. package/dist/map/repo-workspace.js.map +1 -0
  65. package/dist/map/server.d.ts.map +1 -1
  66. package/dist/map/server.js +1 -0
  67. package/dist/map/server.js.map +1 -1
  68. package/dist/map/sidecar.d.ts.map +1 -1
  69. package/dist/map/sidecar.js +308 -1
  70. package/dist/map/sidecar.js.map +1 -1
  71. package/dist/map/types.d.ts +29 -0
  72. package/dist/map/types.d.ts.map +1 -1
  73. package/dist/mcp/tools/done-v2.d.ts.map +1 -1
  74. package/dist/mcp/tools/done-v2.js +1 -0
  75. package/dist/mcp/tools/done-v2.js.map +1 -1
  76. package/dist/teams/team-loader.d.ts.map +1 -1
  77. package/dist/teams/team-loader.js.map +1 -1
  78. package/dist/teams/team-runtime-v2.d.ts.map +1 -1
  79. package/dist/teams/team-runtime-v2.js +2 -0
  80. package/dist/teams/team-runtime-v2.js.map +1 -1
  81. package/package.json +7 -5
  82. package/src/acp/macro-agent.ts +20 -42
  83. package/src/agent/__tests__/agent-manager-v2.permission-interception.test.ts +296 -0
  84. package/src/agent/__tests__/agent-manager-v2.permissions.test.ts +233 -0
  85. package/src/agent/agent-manager-v2.ts +269 -8
  86. package/src/agent/types.ts +51 -0
  87. package/src/boot-v2.ts +192 -12
  88. package/src/cli/inbox-mcp-proxy.ts +56 -0
  89. package/src/dispatch/CLAUDE.md +129 -0
  90. package/src/dispatch/__tests__/loadout-translation.test.ts +141 -0
  91. package/src/dispatch/__tests__/mail-inbound-consumer.integration.test.ts +519 -0
  92. package/src/dispatch/__tests__/mail-inbound-consumer.test.ts +800 -0
  93. package/src/dispatch/__tests__/mail-inbound-reuse-consumer.test.ts +575 -0
  94. package/src/dispatch/__tests__/permission-evaluator.test.ts +196 -0
  95. package/src/dispatch/__tests__/permission-overlay.test.ts +56 -0
  96. package/src/dispatch/__tests__/permissions-handler.test.ts +168 -0
  97. package/src/dispatch/__tests__/spawn-agent-handler.test.ts +282 -0
  98. package/src/dispatch/loadout-translation.ts +138 -0
  99. package/src/dispatch/mail-inbound-consumer.ts +560 -0
  100. package/src/dispatch/mail-inbound-reuse-consumer.ts +479 -0
  101. package/src/dispatch/permission-evaluator.ts +191 -0
  102. package/src/dispatch/permission-overlay.ts +89 -0
  103. package/src/dispatch/permissions-handler.ts +112 -0
  104. package/src/dispatch/spawn-agent-handler.ts +160 -0
  105. package/src/lifecycle/handlers-v2.ts +34 -0
  106. package/src/map/__tests__/lifecycle-bridge.test.ts +64 -0
  107. package/src/map/__tests__/mail-bridge.test.ts +196 -0
  108. package/src/map/lifecycle-bridge.ts +48 -2
  109. package/src/map/mail-bridge.ts +203 -0
  110. package/src/map/repo-workspace.ts +82 -0
  111. package/src/map/server.ts +1 -0
  112. package/src/map/sidecar.ts +431 -1
  113. package/src/map/types.ts +34 -0
  114. package/src/mcp/tools/done-v2.ts +1 -0
  115. package/src/teams/team-loader.ts +3 -1
  116. package/src/teams/team-runtime-v2.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"macro-agent.d.ts","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,KAAK,IAAI,QAAQ,EAclB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAKpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQvD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAoFD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,mBAAmB,EAC/B,MAAM,EAAE,gBAAgB,GACvB,QAAQ,CAk2BV;AAED;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"macro-agent.d.ts","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,KAAK,IAAI,QAAQ,EAclB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAKpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQvD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAoFD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,mBAAmB,EAC/B,MAAM,EAAE,gBAAgB,GACvB,QAAQ,CA40BV;AAED;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -137,11 +137,14 @@ export function createMacroAgent(connection, config) {
137
137
  }
138
138
  // ── Extension dispatcher ────────────────────────────────────
139
139
  async function handleExtension(method, params) {
140
+ const normalizedMethod = method.startsWith("macro/")
141
+ ? `_${method}`
142
+ : method;
140
143
  // Check if it's a stubbed peer method
141
- if (STUBBED_PEER_EXTENSIONS.includes(method)) {
142
- throw new ACPError(`Peer manager not available: ${method}`, "NO_PEER_MANAGER", { method });
144
+ if (STUBBED_PEER_EXTENSIONS.includes(normalizedMethod)) {
145
+ throw new ACPError(`Peer manager not available: ${normalizedMethod}`, "NO_PEER_MANAGER", { method: normalizedMethod });
143
146
  }
144
- switch (method) {
147
+ switch (normalizedMethod) {
145
148
  case "_macro/spawnAgent": {
146
149
  const task = params.task;
147
150
  if (!task)
@@ -152,6 +155,7 @@ export function createMacroAgent(connection, config) {
152
155
  cwd: params.cwd ?? defaultCwd,
153
156
  role: params.role,
154
157
  permissionMode: params.permissionMode,
158
+ askForAllTools: params.askForAllTools,
155
159
  });
156
160
  return {
157
161
  agentId: spawned.id,
@@ -684,44 +688,18 @@ export function createMacroAgent(connection, config) {
684
688
  }
685
689
  }
686
690
  // Handle permission requests from the underlying agent.
687
- // When the agent is in interactive mode, it yields
688
- // PermissionRequestUpdate objects instead of auto-approving.
689
- // We forward these to the client via AgentSideConnection's
690
- // requestPermission() method (JSON-RPC agent→client request).
691
+ // When the agent is in interactive mode, acp-factory yields
692
+ // PermissionRequestUpdate objects. Forward them as session updates
693
+ // instead of AgentSideConnection.requestPermission(): MAP-routed
694
+ // browser clients already consume session/update, and replies come
695
+ // back through _macro/respondToPermission or _macro/cancelPermission.
691
696
  if (isPermissionRequestUpdate(update)) {
692
- try {
693
- const permResponse = await connection.requestPermission({
694
- sessionId: params.sessionId,
695
- toolCall: {
696
- toolCallId: update.toolCall.toolCallId,
697
- title: update.toolCall.title,
698
- status: update.toolCall.status,
699
- rawInput: update.toolCall.rawInput,
700
- },
701
- options: update.options,
702
- });
703
- // Relay the permission response back to the agent.
704
- // ACP response: { outcome: { outcome: "selected", optionId } | { outcome: "cancelled" } }
705
- const outcome = permResponse?.outcome;
706
- if (outcome) {
707
- if (outcome.outcome === "selected" && "optionId" in outcome) {
708
- agentManager.respondToPermission(agentId, update.requestId, outcome.optionId);
709
- }
710
- else if (outcome.outcome === "cancelled") {
711
- agentManager.cancelPermission(agentId, update.requestId);
712
- }
713
- }
714
- }
715
- catch {
716
- // If the permission request fails (e.g., client disconnected),
717
- // cancel it so the agent doesn't hang.
718
- try {
719
- agentManager.cancelPermission(agentId, update.requestId);
720
- }
721
- catch {
722
- // Best effort
723
- }
724
- }
697
+ const forwardedUpdate = { ...update, _agentId: agentId };
698
+ appendSessionUpdate(params.sessionId, forwardedUpdate);
699
+ await connection.sessionUpdate({
700
+ sessionId: params.sessionId,
701
+ update: forwardedUpdate,
702
+ });
725
703
  continue;
726
704
  }
727
705
  // Forward each update to the client as a session notification.
@@ -1 +1 @@
1
- {"version":3,"file":"macro-agent.js","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"macro-agent.js","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager-v2.d.ts","sourceRoot":"","sources":["../../src/agent/agent-manager-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,UAAU,EAGX,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EACV,iBAAiB,EAelB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,mBAAmB,CAAC;AAIlE,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,uBAAuB,CAAC;AAMzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,oBAAoB,CAAC;AAkCzE,oEAAoE;AACpE,UAAU,kBAAkB;IAC1B,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CACf,YAAY,EAAE,iBAAiB,KAC5B,OAAO,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;CACvD;AAMD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,MAAM,GAAE,oBAAyB,GAChC,YAAY,CAukDd"}
1
+ {"version":3,"file":"agent-manager-v2.d.ts","sourceRoot":"","sources":["../../src/agent/agent-manager-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,UAAU,EAGX,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EACV,iBAAiB,EAelB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,mBAAmB,CAAC;AAIlE,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,uBAAuB,CAAC;AAMzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,oBAAoB,CAAC;AAoFzE,oEAAoE;AACpE,UAAU,kBAAkB;IAC1B,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CACf,YAAY,EAAE,iBAAiB,KAC5B,OAAO,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;CACvD;AAMD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,MAAM,GAAE,oBAAyB,GAChC,YAAY,CA0xDd"}
@@ -15,9 +15,56 @@ import { AGENT_CAPABILITIES } from "../roles/capabilities.js";
15
15
  import { DefaultRoleRegistry } from "../roles/registry.js";
16
16
  import { generateSystemPrompt } from "./system-prompt.js";
17
17
  import { terminateWithChangeConsolidation, } from "../lifecycle/cascade.js";
18
+ import { getPermissionOverlay } from "../dispatch/permission-overlay.js";
19
+ import { evaluatePermission } from "../dispatch/permission-evaluator.js";
18
20
  // ─────────────────────────────────────────────────────────────────
19
21
  // Helper
20
22
  // ─────────────────────────────────────────────────────────────────
23
+ /**
24
+ * Derive the canonical Claude Code tool name from a `permission_request`
25
+ * `toolCall` object.
26
+ *
27
+ * Why this is needed: claude-agent-acp's `toolInfoFromToolUse` mangles
28
+ * built-in tool names into display titles (e.g., `Read /tmp/x` instead of
29
+ * `Read`). MCP tools use their fully-qualified `mcp__server__tool` name as
30
+ * the title. The `kind` field (Claude SDK's tool category) is the
31
+ * cleanest signal for built-ins, with the input shape disambiguating
32
+ * within a category (e.g., `edit` covers Write/Edit/MultiEdit — we look
33
+ * at `old_string`/`edits` to pick which).
34
+ *
35
+ * Pure: no side effects; safe to call from the prompt iterator.
36
+ */
37
+ function deriveToolName(toolCall) {
38
+ const title = toolCall?.title ?? "";
39
+ const kind = toolCall?.kind ?? "";
40
+ // MCP tools — title is the canonical name.
41
+ if (title.startsWith("mcp__"))
42
+ return title.split(/\s/)[0] ?? "";
43
+ const input = toolCall?.rawInput && typeof toolCall.rawInput === "object"
44
+ ? toolCall.rawInput
45
+ : {};
46
+ switch (kind) {
47
+ case "read":
48
+ return "Read";
49
+ case "execute":
50
+ return "Bash";
51
+ case "edit":
52
+ if ("edits" in input)
53
+ return "MultiEdit";
54
+ if ("old_string" in input)
55
+ return "Edit";
56
+ return "Write";
57
+ case "search":
58
+ return "path" in input ? "Grep" : "Glob";
59
+ case "think":
60
+ return "Task";
61
+ case "switch_mode":
62
+ return "ExitPlanMode";
63
+ }
64
+ // Fallback: first whitespace-delimited token of the title (Read/Write/
65
+ // Edit cases not caught above; built-ins newer than this matrix).
66
+ return title.split(/\s/)[0] ?? "";
67
+ }
21
68
  function getSpawnCapability(childRole) {
22
69
  const baseRole = childRole.split(".")[0];
23
70
  switch (baseRole) {
@@ -338,7 +385,7 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
338
385
  const options = resolvedTaskRef === interceptedOptions.taskRef
339
386
  ? interceptedOptions
340
387
  : { ...interceptedOptions, taskRef: resolvedTaskRef };
341
- const { task, task_id, parent, cwd = defaultCwd, permissionMode = defaultPermissionMode, subscribeParent = true, topics = [], config: agentConfig, agentType = defaultAgentType, customPrompt, interactionPatterns, role, team_instance, capabilities, } = options;
388
+ const { task, task_id, parent, cwd = defaultCwd, permissionMode = defaultPermissionMode, askForAllTools = false, subscribeParent = true, topics = [], config: agentConfig, agentType = defaultAgentType, customPrompt, interactionPatterns, role, team_instance, capabilities, } = options;
342
389
  // Generate IDs
343
390
  const agentId = `agent_${nanoid(12)}`;
344
391
  const taskId = (task_id ?? `task_${nanoid(12)}`);
@@ -411,7 +458,12 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
411
458
  created_at: now,
412
459
  started_at: now,
413
460
  config: agentConfig,
414
- metadata: options.taskRef ? { task_ref: options.taskRef } : {},
461
+ metadata: {
462
+ ...(options.taskRef ? { task_ref: options.taskRef } : {}),
463
+ // Persist isolatedSettings so resume() applies the same agentMeta
464
+ // policy without needing the original SpawnAgentOptions.
465
+ ...(options.isolatedSettings ? { isolatedSettings: true } : {}),
466
+ },
415
467
  };
416
468
  agentStore.putAgent(agentRecord);
417
469
  let handle;
@@ -488,6 +540,48 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
488
540
  })),
489
541
  })) ?? []),
490
542
  ];
543
+ // Always-on subsystem MCP servers (the "trinity"). The macro-agent
544
+ // architecture docs describe agent-inbox + opentasks as separate MCP
545
+ // servers available to spawned workers, but until this entry block
546
+ // existed they were only reachable when host-level Claude plugins
547
+ // happened to have wired them. That left mail-inbound workers
548
+ // (`parent: null` + `isolatedSettings: true`) without inbox/tasks
549
+ // tools — see openhive-2 docs/LOADOUTS_DESIGN.md "Loadout-provided
550
+ // MCP servers" live finding 2026-05-03.
551
+ //
552
+ // Registering them here makes them per-spawn defaults independent
553
+ // of host configuration. Caller-supplied `agentConfig.mcpServers`
554
+ // remains additive (Option C / "hybrid"): the trinity is always
555
+ // there, callers can layer more on top.
556
+ // agent-inbox — exposes send_message, check_inbox, read_thread,
557
+ // list_agents via the InboxMcpProxy stdio bridge.
558
+ if (inboxAdapter.socketPath) {
559
+ const inboxProxyEntry = new URL("../../dist/cli/inbox-mcp-proxy.js", import.meta.url).pathname;
560
+ mcpServers.push({
561
+ name: "agent-inbox",
562
+ command: "node",
563
+ args: [inboxProxyEntry],
564
+ env: [
565
+ { name: "INBOX_SOCKET_PATH", value: inboxAdapter.socketPath },
566
+ { name: "MACRO_AGENT_ID", value: agentId },
567
+ ],
568
+ });
569
+ }
570
+ // opentasks — exposes task, link, annotate, query via the
571
+ // `opentasks mcp` CLI subcommand. The package's dist/mcp/stdio.js
572
+ // is an exports-only module (no auto-start); the CLI's `mcp`
573
+ // subcommand is what actually wires StdioServerTransport. Conditional
574
+ // on tasksAdapter.connected — when the daemon isn't running, skip
575
+ // rather than mount a server that would fail at every tool call.
576
+ if (tasksAdapter.connected) {
577
+ const opentasksCliEntry = new URL("opentasks/dist/cli.js", import.meta.url).pathname;
578
+ mcpServers.push({
579
+ name: "opentasks",
580
+ command: "node",
581
+ args: [opentasksCliEntry, "mcp"],
582
+ env: [],
583
+ });
584
+ }
491
585
  // Register minimem MCP server (agent-type independent — works for any MCP-capable agent)
492
586
  if (minimemConfig?.enabled) {
493
587
  mcpServers.push({
@@ -502,11 +596,95 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
502
596
  env: [],
503
597
  });
504
598
  }
505
- // Build agentMeta
506
- let agentMeta;
507
- if (permissionMode === "interactive") {
508
- agentMeta = { claudeCode: { options: { settingSources: [] } } };
599
+ // Build agentMeta. Two layers:
600
+ //
601
+ // 1. `settingSources: []` when the caller requests isolated
602
+ // settings (mail-inbound dispatch workers via
603
+ // SpawnAgentOptions.isolatedSettings), strip user/project/local
604
+ // setting sources so the worker doesn't load the host's
605
+ // claude-code-swarm / oh-my-claudecode / etc plugin MCP servers
606
+ // — those plugins assume host-shaped environment (sockets,
607
+ // daemons) and hang at session/new MCP-init when missing.
608
+ // Interactive `multiagent` callers leave this false so their
609
+ // installed plugins load normally.
610
+ //
611
+ // 2. `settings.permissions` — when the caller passes
612
+ // SpawnAgentOptions.permissions (e.g., from a materialized
613
+ // loadout), wire the rules inline via the Claude Agent SDK's
614
+ // session-level settings pass-through. Verified live: `deny`
615
+ // wins even over `permissionMode: "auto-approve"`. Inline
616
+ // wiring avoids file collisions when concurrent workers share
617
+ // a CWD (no `.claude/settings.json` written to disk).
618
+ //
619
+ // SDK contract pinned by the boundary test in
620
+ // `src/agent/__tests__/agent-manager-v2.permissions.test.ts` —
621
+ // it captures the literal `agentMeta` argument passed to
622
+ // `handle.createSession` and asserts both `settingSources: []`
623
+ // AND `settings.permissions` are present together (the
624
+ // interaction between filesystem-stripping and inline
625
+ // reconciliation that the SDK's docs don't fully spell out).
626
+ // If a future SDK version changes how `settings` reconciles
627
+ // with empty `settingSources`, that test will catch it.
628
+ //
629
+ // `ask` rules collapse based on `fullAutonomous`:
630
+ // - fullAutonomous: true → ask → allow (autonomous worker
631
+ // opts to proceed when there's no human to answer)
632
+ // - fullAutonomous: false → ask → deny (safe default;
633
+ // autonomous workers shouldn't make judgment calls)
634
+ const claudeCodeOptions = {};
635
+ if (options.isolatedSettings || permissionMode === "interactive") {
636
+ claudeCodeOptions.settingSources = [];
509
637
  }
638
+ if (options.permissions) {
639
+ const { allow = [], deny = [], ask = [] } = options.permissions;
640
+ const finalAllow = options.fullAutonomous ? [...allow, ...ask] : [...allow];
641
+ const finalDeny = options.fullAutonomous ? [...deny] : [...deny, ...ask];
642
+ claudeCodeOptions.settings = {
643
+ permissions: {
644
+ ...(finalAllow.length ? { allow: finalAllow } : {}),
645
+ ...(finalDeny.length ? { deny: finalDeny } : {}),
646
+ },
647
+ };
648
+ }
649
+ // P3 spike: when an agent should funnel every tool call through the host
650
+ // (so the prompt-iterator handler can apply runtime overlays), set
651
+ // `ask: ['*']` on settings.permissions. The SDK then consults canUseTool
652
+ // for every tool, which emits `permission_request` session updates.
653
+ // Used for dispatch-target agents (mail+reuse, ACP+reuse) that need
654
+ // dynamic enforcement; chat agents and parented children stay on
655
+ // their session's static rules.
656
+ if (options.askForAllTools) {
657
+ const existingPerms = claudeCodeOptions.settings?.permissions ?? {};
658
+ claudeCodeOptions.settings = {
659
+ ...claudeCodeOptions.settings,
660
+ permissions: {
661
+ ...existingPerms,
662
+ ask: ["*"],
663
+ },
664
+ };
665
+ }
666
+ // 3. Runtime permission overlay enforcement lives in the prompt
667
+ // iterator (see `prompt()` below), NOT here at spawn time.
668
+ //
669
+ // Background: an earlier design installed a Claude SDK PreToolUse
670
+ // hook here that closed over the per-process permission-overlay
671
+ // registry. That mechanism was verified broken: function callbacks
672
+ // inside arrays don't survive JSON.stringify across the
673
+ // macro-agent → claude-agent-acp stdio JSON-RPC boundary, so the
674
+ // hook arrived as `null` at the SDK and silently no-op'd.
675
+ //
676
+ // The current design uses ACP's `permission_request` session
677
+ // update path instead. When an agent is spawned with
678
+ // `askForAllTools: true` + `permissionMode: 'interactive'`, the
679
+ // SDK consults `canUseTool` on every tool call, claude-agent-acp
680
+ // converts that into a `client.requestPermission` call, and
681
+ // acp-factory emits it as a `permission_request` session update.
682
+ // The prompt iterator below intercepts those updates, evaluates
683
+ // against the overlay, and responds via `respondPermission`.
684
+ // See `docs/PERMISSION_OVERLAY_ACP_DESIGN.md` for the full design.
685
+ const agentMeta = Object.keys(claudeCodeOptions).length > 0
686
+ ? { claudeCode: { options: claudeCodeOptions } }
687
+ : undefined;
510
688
  // Build capabilities context + skill-tree loadout for system prompt
511
689
  // Matches cc-swarm's context injection pattern (role-aware, tool-specific)
512
690
  let contextSuffix = "";
@@ -806,7 +984,11 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
806
984
  })),
807
985
  },
808
986
  ];
809
- const agentMeta = permMode === "interactive"
987
+ // Strip user/project/local setting sources for isolated workers (the
988
+ // metadata flag is set at spawn time when SpawnAgentOptions.isolatedSettings
989
+ // was true) or interactive mode. See spawn() for the rationale.
990
+ const isIsolated = record.metadata?.isolatedSettings === true;
991
+ const agentMeta = isIsolated || permMode === "interactive"
810
992
  ? { claudeCode: { options: { settingSources: [] } } }
811
993
  : undefined;
812
994
  // Try to load existing session or create new
@@ -1095,7 +1277,58 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
1095
1277
  }
1096
1278
  activeSession.isPrompting = true;
1097
1279
  try {
1098
- yield* activeSession.session.prompt(message);
1280
+ // Permission overlay enforcement — for agents in dispatch context
1281
+ // (mail-inbound + ACP reuse targets), the dispatch consumer sets a
1282
+ // per-agent overlay before driving prompt(). When set, `permission_request`
1283
+ // session updates are intercepted here, evaluated against the overlay,
1284
+ // and answered via `respondToPermission`. The update is NOT yielded
1285
+ // to the consumer in that case — dispatch enforcement is internal.
1286
+ //
1287
+ // When no overlay is set (the common case — chat agents, sub-agents
1288
+ // spawned by parents, etc.), permission_request updates are yielded
1289
+ // through unchanged so chat surfaces' UI permission dialogs (the
1290
+ // swarmcraft PermissionDialog rendered via the openhive-acp-service
1291
+ // WS subscription) keep working.
1292
+ //
1293
+ // See `docs/PERMISSION_OVERLAY_ACP_DESIGN.md` for the rationale and
1294
+ // a diagram of the four-process flow.
1295
+ for await (const update of activeSession.session.prompt(message)) {
1296
+ const u = update;
1297
+ if (u?.sessionUpdate === "permission_request") {
1298
+ const overlay = getPermissionOverlay(agentId);
1299
+ // No overlay → pass through to the consumer (chat UI, etc.).
1300
+ if (!overlay) {
1301
+ yield update;
1302
+ continue;
1303
+ }
1304
+ let optionId;
1305
+ try {
1306
+ const toolName = deriveToolName(u.toolCall);
1307
+ const toolInput = u.toolCall?.rawInput ?? {};
1308
+ const decision = evaluatePermission(toolName, toolInput, overlay)
1309
+ .decision;
1310
+ const wantedKind = decision === "deny" ? "reject_once" : "allow_once";
1311
+ const opt = u.options?.find((o) => o.kind === wantedKind) ??
1312
+ u.options?.find((o) => o.kind === (decision === "deny" ? "reject_always" : "allow_always"));
1313
+ optionId = opt?.optionId;
1314
+ }
1315
+ catch {
1316
+ // Fail closed: on registry/evaluator error, deny.
1317
+ optionId = u.options?.find((o) => o.kind === "reject_once")?.optionId;
1318
+ }
1319
+ if (u.requestId && optionId) {
1320
+ try {
1321
+ activeSession.session.respondToPermission?.(u.requestId, optionId);
1322
+ }
1323
+ catch (err) {
1324
+ console.warn(`[perm-overlay] respondToPermission failed agent=${agentId} req=${u.requestId}: ${err.message}`);
1325
+ }
1326
+ }
1327
+ // Don't yield permission_request to the consumer — dispatch-internal.
1328
+ continue;
1329
+ }
1330
+ yield update;
1331
+ }
1099
1332
  }
1100
1333
  finally {
1101
1334
  activeSession.isPrompting = false;