macro-agent 0.1.0 → 0.1.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 (337) hide show
  1. package/.claude/settings.local.json +3 -1
  2. package/.sudocode/specs.jsonl +4 -0
  3. package/CLAUDE.md +16 -14
  4. package/README.md +11 -29
  5. package/dist/acp/macro-agent.d.ts +15 -0
  6. package/dist/acp/macro-agent.d.ts.map +1 -1
  7. package/dist/acp/macro-agent.js +131 -35
  8. package/dist/acp/macro-agent.js.map +1 -1
  9. package/dist/acp/types.d.ts +32 -1
  10. package/dist/acp/types.d.ts.map +1 -1
  11. package/dist/acp/types.js.map +1 -1
  12. package/dist/agent/agent-manager.d.ts +65 -1
  13. package/dist/agent/agent-manager.d.ts.map +1 -1
  14. package/dist/agent/agent-manager.js +464 -183
  15. package/dist/agent/agent-manager.js.map +1 -1
  16. package/dist/agent/types.d.ts +1 -1
  17. package/dist/agent/types.d.ts.map +1 -1
  18. package/dist/api/server.d.ts +3 -0
  19. package/dist/api/server.d.ts.map +1 -1
  20. package/dist/api/server.js +37 -6
  21. package/dist/api/server.js.map +1 -1
  22. package/dist/auth/index.d.ts +2 -0
  23. package/dist/auth/index.d.ts.map +1 -0
  24. package/dist/auth/index.js +2 -0
  25. package/dist/auth/index.js.map +1 -0
  26. package/dist/auth/token.d.ts +41 -0
  27. package/dist/auth/token.d.ts.map +1 -0
  28. package/dist/auth/token.js +73 -0
  29. package/dist/auth/token.js.map +1 -0
  30. package/dist/cli/acp.d.ts +2 -23
  31. package/dist/cli/acp.d.ts.map +1 -1
  32. package/dist/cli/acp.js +127 -61
  33. package/dist/cli/acp.js.map +1 -1
  34. package/dist/cli/index.js +147 -15
  35. package/dist/cli/index.js.map +1 -1
  36. package/dist/cli/mcp.d.ts +6 -0
  37. package/dist/cli/mcp.d.ts.map +1 -1
  38. package/dist/cli/mcp.js +268 -181
  39. package/dist/cli/mcp.js.map +1 -1
  40. package/dist/cli/parse-args.d.ts +20 -0
  41. package/dist/cli/parse-args.d.ts.map +1 -0
  42. package/dist/cli/parse-args.js +43 -0
  43. package/dist/cli/parse-args.js.map +1 -0
  44. package/dist/cli/stable-instance-id.d.ts +8 -0
  45. package/dist/cli/stable-instance-id.d.ts.map +1 -0
  46. package/dist/cli/stable-instance-id.js +14 -0
  47. package/dist/cli/stable-instance-id.js.map +1 -0
  48. package/dist/config/project-config.d.ts +74 -7
  49. package/dist/config/project-config.d.ts.map +1 -1
  50. package/dist/config/project-config.js +123 -20
  51. package/dist/config/project-config.js.map +1 -1
  52. package/dist/map/adapter/acp-over-map.d.ts +17 -0
  53. package/dist/map/adapter/acp-over-map.d.ts.map +1 -1
  54. package/dist/map/adapter/acp-over-map.js +384 -23
  55. package/dist/map/adapter/acp-over-map.js.map +1 -1
  56. package/dist/map/adapter/connection-manager.d.ts.map +1 -1
  57. package/dist/map/adapter/connection-manager.js +3 -0
  58. package/dist/map/adapter/connection-manager.js.map +1 -1
  59. package/dist/map/adapter/event-log.d.ts +87 -0
  60. package/dist/map/adapter/event-log.d.ts.map +1 -0
  61. package/dist/map/adapter/event-log.js +122 -0
  62. package/dist/map/adapter/event-log.js.map +1 -0
  63. package/dist/map/adapter/event-translator.js +6 -6
  64. package/dist/map/adapter/event-translator.js.map +1 -1
  65. package/dist/map/adapter/extensions/agent-lifecycle.d.ts +82 -0
  66. package/dist/map/adapter/extensions/agent-lifecycle.d.ts.map +1 -0
  67. package/dist/map/adapter/extensions/agent-lifecycle.js +164 -0
  68. package/dist/map/adapter/extensions/agent-lifecycle.js.map +1 -0
  69. package/dist/map/adapter/extensions/index.d.ts +10 -1
  70. package/dist/map/adapter/extensions/index.d.ts.map +1 -1
  71. package/dist/map/adapter/extensions/index.js +34 -0
  72. package/dist/map/adapter/extensions/index.js.map +1 -1
  73. package/dist/map/adapter/extensions/mcp-bridge.d.ts +57 -0
  74. package/dist/map/adapter/extensions/mcp-bridge.d.ts.map +1 -0
  75. package/dist/map/adapter/extensions/mcp-bridge.js +745 -0
  76. package/dist/map/adapter/extensions/mcp-bridge.js.map +1 -0
  77. package/dist/map/adapter/extensions/rename.d.ts +29 -0
  78. package/dist/map/adapter/extensions/rename.d.ts.map +1 -0
  79. package/dist/map/adapter/extensions/rename.js +49 -0
  80. package/dist/map/adapter/extensions/rename.js.map +1 -0
  81. package/dist/map/adapter/extensions/task.d.ts.map +1 -1
  82. package/dist/map/adapter/extensions/task.js +10 -0
  83. package/dist/map/adapter/extensions/task.js.map +1 -1
  84. package/dist/map/adapter/extensions/update-metadata.d.ts +29 -0
  85. package/dist/map/adapter/extensions/update-metadata.d.ts.map +1 -0
  86. package/dist/map/adapter/extensions/update-metadata.js +67 -0
  87. package/dist/map/adapter/extensions/update-metadata.js.map +1 -0
  88. package/dist/map/adapter/index.d.ts +2 -1
  89. package/dist/map/adapter/index.d.ts.map +1 -1
  90. package/dist/map/adapter/index.js +8 -2
  91. package/dist/map/adapter/index.js.map +1 -1
  92. package/dist/map/adapter/interface.d.ts +2 -0
  93. package/dist/map/adapter/interface.d.ts.map +1 -1
  94. package/dist/map/adapter/map-adapter.d.ts +3 -0
  95. package/dist/map/adapter/map-adapter.d.ts.map +1 -1
  96. package/dist/map/adapter/map-adapter.js +258 -35
  97. package/dist/map/adapter/map-adapter.js.map +1 -1
  98. package/dist/map/adapter/subscription-manager.d.ts.map +1 -1
  99. package/dist/map/adapter/subscription-manager.js +5 -1
  100. package/dist/map/adapter/subscription-manager.js.map +1 -1
  101. package/dist/map/adapter/types.d.ts +2 -0
  102. package/dist/map/adapter/types.d.ts.map +1 -1
  103. package/dist/mcp/map-client.d.ts +39 -0
  104. package/dist/mcp/map-client.d.ts.map +1 -0
  105. package/dist/mcp/map-client.js +129 -0
  106. package/dist/mcp/map-client.js.map +1 -0
  107. package/dist/mcp/mcp-server.d.ts +14 -0
  108. package/dist/mcp/mcp-server.d.ts.map +1 -1
  109. package/dist/mcp/mcp-server.js +113 -85
  110. package/dist/mcp/mcp-server.js.map +1 -1
  111. package/dist/mcp/types.d.ts +9 -1
  112. package/dist/mcp/types.d.ts.map +1 -1
  113. package/dist/mcp/types.js.map +1 -1
  114. package/dist/metrics/metrics.js +1 -1
  115. package/dist/metrics/metrics.js.map +1 -1
  116. package/dist/roles/capabilities.d.ts +3 -1
  117. package/dist/roles/capabilities.d.ts.map +1 -1
  118. package/dist/roles/capabilities.js +17 -7
  119. package/dist/roles/capabilities.js.map +1 -1
  120. package/dist/roles/config-loader.d.ts +6 -6
  121. package/dist/roles/config-loader.d.ts.map +1 -1
  122. package/dist/roles/config-loader.js +6 -6
  123. package/dist/roles/config-loader.js.map +1 -1
  124. package/dist/roles/registry.d.ts +2 -2
  125. package/dist/roles/registry.js +2 -2
  126. package/dist/server/combined-server.d.ts +20 -0
  127. package/dist/server/combined-server.d.ts.map +1 -1
  128. package/dist/server/combined-server.js +107 -8
  129. package/dist/server/combined-server.js.map +1 -1
  130. package/dist/store/event-store.d.ts +2 -1
  131. package/dist/store/event-store.d.ts.map +1 -1
  132. package/dist/store/event-store.js +69 -20
  133. package/dist/store/event-store.js.map +1 -1
  134. package/dist/store/types/agents.d.ts +18 -0
  135. package/dist/store/types/agents.d.ts.map +1 -1
  136. package/dist/store/types/events.d.ts +1 -1
  137. package/dist/store/types/events.d.ts.map +1 -1
  138. package/dist/task/backend/index.d.ts +47 -29
  139. package/dist/task/backend/index.d.ts.map +1 -1
  140. package/dist/task/backend/index.js +109 -71
  141. package/dist/task/backend/index.js.map +1 -1
  142. package/dist/task/backend/memory.d.ts +1 -0
  143. package/dist/task/backend/memory.d.ts.map +1 -1
  144. package/dist/task/backend/memory.js +3 -0
  145. package/dist/task/backend/memory.js.map +1 -1
  146. package/dist/task/backend/opentasks/backend.d.ts +140 -0
  147. package/dist/task/backend/opentasks/backend.d.ts.map +1 -0
  148. package/dist/task/backend/opentasks/backend.js +1023 -0
  149. package/dist/task/backend/opentasks/backend.js.map +1 -0
  150. package/dist/task/backend/opentasks/client.d.ts +337 -0
  151. package/dist/task/backend/opentasks/client.d.ts.map +1 -0
  152. package/dist/task/backend/opentasks/client.js +225 -0
  153. package/dist/task/backend/opentasks/client.js.map +1 -0
  154. package/dist/task/backend/opentasks/daemon-manager.d.ts +89 -0
  155. package/dist/task/backend/opentasks/daemon-manager.d.ts.map +1 -0
  156. package/dist/task/backend/opentasks/daemon-manager.js +195 -0
  157. package/dist/task/backend/opentasks/daemon-manager.js.map +1 -0
  158. package/dist/task/backend/opentasks/index.d.ts +21 -0
  159. package/dist/task/backend/opentasks/index.d.ts.map +1 -0
  160. package/dist/task/backend/opentasks/index.js +21 -0
  161. package/dist/task/backend/opentasks/index.js.map +1 -0
  162. package/dist/task/backend/opentasks/mapping.d.ts +48 -0
  163. package/dist/task/backend/opentasks/mapping.d.ts.map +1 -0
  164. package/dist/task/backend/opentasks/mapping.js +77 -0
  165. package/dist/task/backend/opentasks/mapping.js.map +1 -0
  166. package/dist/task/backend/types.d.ts +33 -53
  167. package/dist/task/backend/types.d.ts.map +1 -1
  168. package/dist/task/backend/types.js +7 -11
  169. package/dist/task/backend/types.js.map +1 -1
  170. package/dist/task/backend/unified-tool-provider.d.ts +57 -0
  171. package/dist/task/backend/unified-tool-provider.d.ts.map +1 -0
  172. package/dist/task/backend/unified-tool-provider.js +623 -0
  173. package/dist/task/backend/unified-tool-provider.js.map +1 -0
  174. package/dist/teams/team-loader.d.ts +2 -2
  175. package/dist/teams/team-loader.js +3 -3
  176. package/dist/teams/team-loader.js.map +1 -1
  177. package/dist/teams/team-runtime.d.ts.map +1 -1
  178. package/dist/teams/team-runtime.js +2 -0
  179. package/dist/teams/team-runtime.js.map +1 -1
  180. package/docs/architecture.md +7 -6
  181. package/docs/configuration.md +26 -62
  182. package/docs/implementation-details.md +5 -5
  183. package/docs/implementation-summary.md +17 -17
  184. package/docs/plan-self-driving-support.md +4 -4
  185. package/docs/spec-self-driving-support.md +10 -10
  186. package/docs/team-templates.md +2 -2
  187. package/docs/teams.md +3 -3
  188. package/docs/troubleshooting.md +10 -11
  189. package/package.json +6 -4
  190. package/src/__tests__/e2e/agent-spawn-visibility.e2e.test.ts +761 -0
  191. package/src/__tests__/e2e/full-agent-conflict-resolution.e2e.test.ts +2 -2
  192. package/src/__tests__/e2e/mcp-thin-client-bridge.e2e.test.ts +304 -0
  193. package/src/__tests__/e2e/mcp-tools-available.e2e.test.ts +324 -0
  194. package/src/__tests__/e2e/multi-agent.e2e.test.ts +5 -5
  195. package/src/__tests__/e2e/spawn-session-streaming.e2e.test.ts +563 -0
  196. package/src/acp/__tests__/integration.test.ts +56 -31
  197. package/src/acp/__tests__/macro-agent.test.ts +16 -7
  198. package/src/acp/macro-agent.ts +170 -36
  199. package/src/acp/types.ts +46 -1
  200. package/src/agent/__tests__/agent-manager.test.ts +228 -2
  201. package/src/agent/agent-manager.ts +714 -261
  202. package/src/agent/types.ts +3 -1
  203. package/src/api/server.ts +41 -7
  204. package/src/auth/__tests__/token.test.ts +100 -0
  205. package/src/auth/index.ts +1 -0
  206. package/src/auth/token.ts +82 -0
  207. package/src/cli/__tests__/acp.test.ts +1 -1
  208. package/src/cli/__tests__/stable-instance-id.test.ts +1 -1
  209. package/src/cli/acp.ts +130 -72
  210. package/src/cli/index.ts +120 -14
  211. package/src/cli/mcp.ts +311 -207
  212. package/src/cli/parse-args.ts +54 -0
  213. package/src/cli/stable-instance-id.ts +14 -0
  214. package/src/config/project-config.ts +190 -27
  215. package/src/lifecycle/__tests__/cascade-termination.test.ts +1 -1
  216. package/src/map/adapter/__tests__/acp-over-map-cancel.test.ts +22 -4
  217. package/src/map/adapter/__tests__/acp-over-map-getmodels.test.ts +355 -0
  218. package/src/map/adapter/__tests__/acp-over-map-history.test.ts +263 -0
  219. package/src/map/adapter/__tests__/acp-over-map-persistence.e2e.test.ts +1 -1
  220. package/src/map/adapter/__tests__/event-broadcast.test.ts +420 -0
  221. package/src/map/adapter/__tests__/event-log.test.ts +527 -0
  222. package/src/map/adapter/__tests__/event-translator.test.ts +3 -3
  223. package/src/map/adapter/__tests__/extensions.test.ts +408 -0
  224. package/src/map/adapter/__tests__/map-adapter.test.ts +99 -0
  225. package/src/map/adapter/__tests__/mcp-bridge.test.ts +1187 -0
  226. package/src/map/adapter/__tests__/multi-client-broadcast.test.ts +711 -0
  227. package/src/map/adapter/__tests__/websocket-integration.test.ts +218 -0
  228. package/src/map/adapter/acp-over-map.ts +678 -66
  229. package/src/map/adapter/connection-manager.ts +3 -0
  230. package/src/map/adapter/event-log.ts +208 -0
  231. package/src/map/adapter/event-translator.ts +6 -6
  232. package/src/map/adapter/extensions/agent-lifecycle.ts +267 -0
  233. package/src/map/adapter/extensions/index.ts +60 -0
  234. package/src/map/adapter/extensions/mcp-bridge.ts +995 -0
  235. package/src/map/adapter/extensions/task.ts +11 -0
  236. package/src/map/adapter/extensions/update-metadata.ts +126 -0
  237. package/src/map/adapter/index.ts +28 -0
  238. package/src/map/adapter/interface.ts +2 -0
  239. package/src/map/adapter/map-adapter.ts +312 -47
  240. package/src/map/adapter/subscription-manager.ts +5 -1
  241. package/src/map/adapter/types.ts +2 -0
  242. package/src/mcp/__tests__/map-client.test.ts +386 -0
  243. package/src/mcp/__tests__/mcp-server-thin-client.test.ts +368 -0
  244. package/src/mcp/__tests__/mcp-server.test.ts +100 -1
  245. package/src/mcp/map-client.ts +177 -0
  246. package/src/mcp/mcp-server.ts +191 -100
  247. package/src/mcp/types.ts +6 -1
  248. package/src/metrics/metrics.ts +1 -1
  249. package/src/monitor/__tests__/stale-agent-flow.integration.test.ts +1 -1
  250. package/src/roles/__tests__/config-loader.test.ts +7 -7
  251. package/src/roles/capabilities.ts +17 -7
  252. package/src/roles/config-loader.ts +6 -6
  253. package/src/roles/registry.ts +2 -2
  254. package/src/server/__tests__/combined-server.test.ts +94 -21
  255. package/src/server/combined-server.ts +189 -33
  256. package/src/steering/__tests__/steering-integration.test.ts +1 -1
  257. package/src/store/__tests__/event-store.test.ts +196 -1
  258. package/src/store/__tests__/instance.test.ts +3 -3
  259. package/src/store/event-store.ts +80 -21
  260. package/src/store/types/agents.ts +15 -0
  261. package/src/store/types/events.ts +1 -1
  262. package/src/task/backend/__tests__/create-task-backend.test.ts +225 -0
  263. package/src/task/backend/__tests__/e2e/unified-tool-provider-opentasks.e2e.test.ts +524 -0
  264. package/src/task/backend/__tests__/unified-tool-provider.test.ts +579 -0
  265. package/src/task/backend/index.ts +156 -106
  266. package/src/task/backend/memory.ts +4 -0
  267. package/src/task/backend/opentasks/__tests__/backend.test.ts +968 -0
  268. package/src/task/backend/opentasks/__tests__/daemon-manager.test.ts +406 -0
  269. package/src/task/backend/opentasks/__tests__/mapping.test.ts +84 -0
  270. package/src/task/backend/opentasks/__tests__/opentasks-backend.e2e.test.ts +1338 -0
  271. package/src/task/backend/opentasks/backend.ts +1323 -0
  272. package/src/task/backend/opentasks/client.ts +652 -0
  273. package/src/task/backend/opentasks/daemon-manager.ts +253 -0
  274. package/src/task/backend/opentasks/index.ts +69 -0
  275. package/src/task/backend/opentasks/mapping.ts +94 -0
  276. package/src/task/backend/types.ts +42 -66
  277. package/src/task/backend/unified-tool-provider.ts +779 -0
  278. package/src/teams/__tests__/cross-subsystem.integration.test.ts +1 -1
  279. package/src/teams/team-loader.ts +3 -3
  280. package/src/teams/team-runtime.ts +2 -0
  281. package/test_fixtures/README.md +2 -3
  282. package/test_fixtures/fixtures/index.ts +0 -3
  283. package/test_fixtures/fixtures/projects/project-with-specs.ts +7 -149
  284. package/test_fixtures/fixtures/repos/index.ts +1 -3
  285. package/test_fixtures/fixtures/repos/temp-repo-factory.ts +0 -116
  286. package/test_fixtures/fixtures/repos/types.ts +0 -11
  287. package/test_fixtures/harness/__tests__/fixtures.test.ts +10 -102
  288. package/test_fixtures/harness/__tests__/temp-repo-and-simulator.test.ts +0 -33
  289. package/test_fixtures/harness/simulator/agent-simulator.ts +4 -4
  290. package/vitest.config.ts +1 -1
  291. package/vitest.e2e.config.ts +1 -1
  292. package/vitest.setup.ts +1 -30
  293. package/.macro-agent/teams/self-driving/prompts/grinder.md +0 -27
  294. package/.macro-agent/teams/self-driving/prompts/judge.md +0 -27
  295. package/.macro-agent/teams/self-driving/prompts/planner.md +0 -33
  296. package/.macro-agent/teams/self-driving/roles/grinder.yaml +0 -17
  297. package/.macro-agent/teams/self-driving/roles/judge.yaml +0 -24
  298. package/.macro-agent/teams/self-driving/roles/planner.yaml +0 -18
  299. package/.macro-agent/teams/self-driving/team.yaml +0 -103
  300. package/.macro-agent/teams/structured/prompts/developer.md +0 -26
  301. package/.macro-agent/teams/structured/prompts/lead.md +0 -25
  302. package/.macro-agent/teams/structured/prompts/reviewer.md +0 -24
  303. package/.macro-agent/teams/structured/roles/developer.yaml +0 -12
  304. package/.macro-agent/teams/structured/roles/lead.yaml +0 -11
  305. package/.macro-agent/teams/structured/roles/reviewer.yaml +0 -19
  306. package/.macro-agent/teams/structured/team.yaml +0 -89
  307. package/docs/sudocode-integration.md +0 -383
  308. package/src/task/backend/__tests__/backend-parity.test.ts +0 -451
  309. package/src/task/backend/__tests__/tool-provider-edge-cases.test.ts +0 -430
  310. package/src/task/backend/__tests__/tool-provider.test.ts +0 -983
  311. package/src/task/backend/sudocode/__tests__/backend-edge-cases.test.ts +0 -575
  312. package/src/task/backend/sudocode/__tests__/backend.test.ts +0 -1194
  313. package/src/task/backend/sudocode/__tests__/client-integration.test.ts +0 -418
  314. package/src/task/backend/sudocode/__tests__/client.test.ts +0 -345
  315. package/src/task/backend/sudocode/__tests__/e2e/backend.e2e.test.ts +0 -753
  316. package/src/task/backend/sudocode/__tests__/e2e/server-client.e2e.test.ts +0 -680
  317. package/src/task/backend/sudocode/__tests__/e2e-workflow.test.ts +0 -666
  318. package/src/task/backend/sudocode/__tests__/integration/standalone-client.integration.test.ts +0 -396
  319. package/src/task/backend/sudocode/__tests__/integration/sudocode-cli.integration.test.ts +0 -328
  320. package/src/task/backend/sudocode/__tests__/integration/test-utils.ts +0 -175
  321. package/src/task/backend/sudocode/__tests__/mapping-edge-cases.test.ts +0 -265
  322. package/src/task/backend/sudocode/__tests__/server-client.test.ts +0 -675
  323. package/src/task/backend/sudocode/__tests__/sync-policy-edge-cases.test.ts +0 -521
  324. package/src/task/backend/sudocode/__tests__/sync-policy.test.ts +0 -519
  325. package/src/task/backend/sudocode/__tests__/tools.test.ts +0 -471
  326. package/src/task/backend/sudocode/backend.ts +0 -1237
  327. package/src/task/backend/sudocode/client.ts +0 -515
  328. package/src/task/backend/sudocode/index.ts +0 -120
  329. package/src/task/backend/sudocode/mapping.ts +0 -93
  330. package/src/task/backend/sudocode/server-client.ts +0 -522
  331. package/src/task/backend/sudocode/standalone-client.ts +0 -623
  332. package/src/task/backend/sudocode/sync-policy.ts +0 -387
  333. package/src/task/backend/sudocode/tools.ts +0 -896
  334. package/src/task/backend/tool-provider.ts +0 -506
  335. package/test_fixtures/fixtures/sudocode/index.ts +0 -29
  336. package/test_fixtures/fixtures/sudocode/issues.ts +0 -185
  337. package/test_fixtures/fixtures/sudocode/specs.ts +0 -159
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Agent Lifecycle Extension Methods (_macro/spawnAgent, _macro/forkAgent, etc.)
3
+ *
4
+ * Exposes agent lifecycle management to external MAP clients via direct
5
+ * JSON-RPC extension calls, replacing the need for ACP-over-MAP streams.
6
+ *
7
+ * Methods:
8
+ * - _macro/spawnAgent - Spawn a child agent
9
+ * - _macro/forkAgent - Fork an agent's session
10
+ * - _macro/setPermissionMode - Change an agent's permission mode
11
+ * - _macro/respondToPermission - Respond to a pending permission request
12
+ */
13
+ import { RPCError } from "../rpc-handler.js";
14
+ // =============================================================================
15
+ // Handler Implementations
16
+ // =============================================================================
17
+ function createSpawnHandler(services) {
18
+ return async (_context, params) => {
19
+ const { task, cwd, topics, config, parentId } = (params ?? {});
20
+ if (!task) {
21
+ throw RPCError.invalidParams("task is required");
22
+ }
23
+ // Determine parent: explicit parentId, or fall back to head manager
24
+ let parent;
25
+ if (parentId) {
26
+ parent = parentId;
27
+ }
28
+ else {
29
+ const headManagers = services.listHeadManagers();
30
+ if (headManagers.length > 0) {
31
+ parent = headManagers[0].id;
32
+ }
33
+ }
34
+ if (!parent) {
35
+ throw RPCError.invalidParams("No parent agent available for spawning");
36
+ }
37
+ const spawned = await services.spawn({
38
+ parent,
39
+ task,
40
+ cwd: cwd ?? services.defaultCwd,
41
+ role: "worker",
42
+ topics,
43
+ config,
44
+ });
45
+ // Notify subscribers that a new agent was registered
46
+ if (services.onAgentRegistered) {
47
+ const agent = services.getAgent(spawned.id);
48
+ services.onAgentRegistered({
49
+ id: spawned.id,
50
+ name: agent?.id,
51
+ role: "worker",
52
+ parent: parent,
53
+ });
54
+ }
55
+ return {
56
+ agentId: spawned.id,
57
+ sessionId: spawned.session_id,
58
+ };
59
+ };
60
+ }
61
+ function createForkHandler(services) {
62
+ return async (_context, params) => {
63
+ const { agentId, name, prompt, cwd } = (params ?? {});
64
+ if (!agentId) {
65
+ throw RPCError.invalidParams("agentId is required");
66
+ }
67
+ const sourceAgent = services.getAgent(agentId);
68
+ if (!sourceAgent) {
69
+ throw RPCError.notFound("agent", agentId);
70
+ }
71
+ const forked = await services.forkAgent(agentId, {
72
+ name,
73
+ prompt,
74
+ cwd: cwd ?? sourceAgent.cwd ?? services.defaultCwd,
75
+ });
76
+ // Notify subscribers
77
+ if (services.onAgentRegistered) {
78
+ services.onAgentRegistered({
79
+ id: forked.id,
80
+ name,
81
+ parent: sourceAgent.id,
82
+ });
83
+ }
84
+ // Fire-and-forget initial prompt if provided
85
+ if (prompt && forked.id) {
86
+ (async () => {
87
+ try {
88
+ for await (const _chunk of services.prompt(forked.id, prompt)) {
89
+ // drain iterator
90
+ }
91
+ }
92
+ catch {
93
+ // best-effort
94
+ }
95
+ })();
96
+ }
97
+ return {
98
+ newAgentId: forked.id,
99
+ newSessionId: forked.session_id,
100
+ originalAgentId: agentId,
101
+ providerSessionId: forked.session?.id,
102
+ };
103
+ };
104
+ }
105
+ function createSetPermissionModeHandler(services) {
106
+ return async (_context, params) => {
107
+ const { agentId, permissionMode } = (params ?? {});
108
+ if (!agentId || !permissionMode) {
109
+ throw RPCError.invalidParams("agentId and permissionMode are required");
110
+ }
111
+ const previousMode = services.getPermissionMode(agentId);
112
+ const success = services.setPermissionMode(agentId, permissionMode);
113
+ if (!success) {
114
+ return {
115
+ success: false,
116
+ error: `No active session found for agent ${agentId}`,
117
+ };
118
+ }
119
+ return {
120
+ success: true,
121
+ agentId,
122
+ previousMode,
123
+ newMode: permissionMode,
124
+ };
125
+ };
126
+ }
127
+ function createRespondToPermissionHandler(services) {
128
+ return async (_context, params) => {
129
+ const { agentId, requestId, optionId } = (params ?? {});
130
+ if (!agentId || !requestId || !optionId) {
131
+ throw RPCError.invalidParams("agentId, requestId, and optionId are required");
132
+ }
133
+ const success = services.respondToPermission(agentId, requestId, optionId);
134
+ return { success };
135
+ };
136
+ }
137
+ // =============================================================================
138
+ // Registration
139
+ // =============================================================================
140
+ /** All agent lifecycle extension method names */
141
+ export const AGENT_LIFECYCLE_METHODS = [
142
+ "_macro/spawnAgent",
143
+ "_macro/forkAgent",
144
+ "_macro/setPermissionMode",
145
+ "_macro/respondToPermission",
146
+ ];
147
+ /**
148
+ * Register agent lifecycle extension methods with the MAPAdapter.
149
+ */
150
+ export function registerAgentLifecycleExtensions(adapter, services) {
151
+ adapter.registerExtension("_macro/spawnAgent", createSpawnHandler(services));
152
+ adapter.registerExtension("_macro/forkAgent", createForkHandler(services));
153
+ adapter.registerExtension("_macro/setPermissionMode", createSetPermissionModeHandler(services));
154
+ adapter.registerExtension("_macro/respondToPermission", createRespondToPermissionHandler(services));
155
+ }
156
+ /**
157
+ * Unregister agent lifecycle extension methods.
158
+ */
159
+ export function unregisterAgentLifecycleExtensions(adapter) {
160
+ for (const method of AGENT_LIFECYCLE_METHODS) {
161
+ adapter.unregisterExtension(method);
162
+ }
163
+ }
164
+ //# sourceMappingURL=agent-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-lifecycle.js","sourceRoot":"","sources":["../../../../src/map/adapter/extensions/agent-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,9 @@ export { registerWorkspaceExtension, unregisterWorkspaceExtension, type Workspac
13
13
  export { registerWorkspaceFileExtensions, unregisterWorkspaceFileExtensions, type WorkspaceFileServices, } from "./workspace-files.js";
14
14
  export { registerResumeExtension, unregisterResumeExtension, type ResumeExtensionServices, } from "./resume.js";
15
15
  export { registerAgentDetectionExtensions, unregisterAgentDetectionExtensions, type AgentDetectionExtensionServices, } from "./agent-detection.js";
16
+ export { registerUpdateMetadataExtension, unregisterUpdateMetadataExtension, type UpdateMetadataExtensionServices, } from "./update-metadata.js";
17
+ export { registerMCPBridgeExtensions, unregisterMCPBridgeExtensions, MCP_BRIDGE_METHODS, type MCPBridgeServices, } from "./mcp-bridge.js";
18
+ export { registerAgentLifecycleExtensions, unregisterAgentLifecycleExtensions, AGENT_LIFECYCLE_METHODS, type AgentLifecycleExtensionServices, } from "./agent-lifecycle.js";
16
19
  import type { MAPAdapter } from "../interface.js";
17
20
  import type { TaskExtensionServices } from "./task.js";
18
21
  import type { WakeExtensionServices } from "./wake.js";
@@ -20,6 +23,9 @@ import type { WorkspaceExtensionServices } from "./workspace.js";
20
23
  import type { WorkspaceFileServices } from "./workspace-files.js";
21
24
  import type { ResumeExtensionServices } from "./resume.js";
22
25
  import type { AgentDetectionExtensionServices } from "./agent-detection.js";
26
+ import type { UpdateMetadataExtensionServices } from "./update-metadata.js";
27
+ import type { MCPBridgeServices } from "./mcp-bridge.js";
28
+ import type { AgentLifecycleExtensionServices } from "./agent-lifecycle.js";
23
29
  /**
24
30
  * All services required for macro-agent extensions
25
31
  */
@@ -30,6 +36,9 @@ export interface MacroExtensionServices {
30
36
  workspaceFiles?: WorkspaceFileServices;
31
37
  resume?: ResumeExtensionServices;
32
38
  agentDetection?: AgentDetectionExtensionServices;
39
+ updateMetadata?: UpdateMetadataExtensionServices;
40
+ mcpBridge?: MCPBridgeServices;
41
+ agentLifecycle?: AgentLifecycleExtensionServices;
33
42
  }
34
43
  /**
35
44
  * Register all available macro-agent extension methods.
@@ -72,7 +81,7 @@ export declare function unregisterMacroExtensions(adapter: MAPAdapter): void;
72
81
  /**
73
82
  * List of all macro-agent extension methods
74
83
  */
75
- export declare const MACRO_EXTENSION_METHODS: readonly ["_macro/task/list", "_macro/task/get", "_macro/task/create", "_macro/task/assign", "_macro/task/complete", "_macro/task/send", "_macro/wake", "_macro/workspace/info", "_macro/workspace/files/search", "_macro/workspace/files/list", "_macro/workspace/files/read", "_macro/resume", "_macro/agents/available", "_macro/agents/refresh"];
84
+ export declare const MACRO_EXTENSION_METHODS: readonly ["_macro/task/list", "_macro/task/get", "_macro/task/create", "_macro/task/assign", "_macro/task/complete", "_macro/task/send", "_macro/wake", "_macro/workspace/info", "_macro/workspace/files/search", "_macro/workspace/files/list", "_macro/workspace/files/read", "_macro/resume", "_macro/agents/available", "_macro/agents/refresh", "_macro/agents/update", "_macro/mcp/spawn_agent", "_macro/mcp/emit_status", "_macro/mcp/send_message", "_macro/mcp/check_messages", "_macro/mcp/query_index", "_macro/mcp/get_hierarchy", "_macro/mcp/get_agent_summary", "_macro/mcp/stop_agent", "_macro/mcp/done", "_macro/mcp/inject_context", "_macro/mcp/wait_for_activity", "_macro/mcp/claim_task", "_macro/mcp/unclaim_task", "_macro/mcp/list_claimable_tasks", "_macro/mcp/send_peer_message", "_macro/mcp/send_peer_request", "_macro/mcp/respond_to_peer_request", "_macro/mcp/task_tools_list", "_macro/spawnAgent", "_macro/forkAgent", "_macro/setPermissionMode", "_macro/respondToPermission"];
76
85
  /**
77
86
  * Extension method to required capability mapping
78
87
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/map/adapter/extensions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,GACjB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,+BAA+B,EAC/B,iCAAiC,EACjC,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EAClC,KAAK,+BAA+B,GACrC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAY5E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,cAAc,CAAC,EAAE,+BAA+B,CAAC;CAClD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,sBAAsB,GAC/B,IAAI,CAwBN;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAoBnE;AAMD;;GAEG;AACH,eAAO,MAAM,uBAAuB,sVAqB1B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAezD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/map/adapter/extensions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,GACjB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,+BAA+B,EAC/B,iCAAiC,EACjC,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EAClC,KAAK,+BAA+B,GACrC,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,+BAA+B,EAC/B,iCAAiC,EACjC,KAAK,+BAA+B,GACrC,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EAClC,uBAAuB,EACvB,KAAK,+BAA+B,GACrC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAe5E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,cAAc,CAAC,EAAE,+BAA+B,CAAC;IACjD,cAAc,CAAC,EAAE,+BAA+B,CAAC;IACjD,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,cAAc,CAAC,EAAE,+BAA+B,CAAC;CAClD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,sBAAsB,GAC/B,IAAI,CAoCN;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAyBnE;AAMD;;GAEG;AACH,eAAO,MAAM,uBAAuB,u9BA2B1B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoBzD,CAAC"}
@@ -19,12 +19,21 @@ export { registerWorkspaceFileExtensions, unregisterWorkspaceFileExtensions, } f
19
19
  export { registerResumeExtension, unregisterResumeExtension, } from "./resume.js";
20
20
  // Agent detection extensions
21
21
  export { registerAgentDetectionExtensions, unregisterAgentDetectionExtensions, } from "./agent-detection.js";
22
+ // Update metadata extension
23
+ export { registerUpdateMetadataExtension, unregisterUpdateMetadataExtension, } from "./update-metadata.js";
24
+ // MCP bridge extensions
25
+ export { registerMCPBridgeExtensions, unregisterMCPBridgeExtensions, MCP_BRIDGE_METHODS, } from "./mcp-bridge.js";
26
+ // Agent lifecycle extensions
27
+ export { registerAgentLifecycleExtensions, unregisterAgentLifecycleExtensions, AGENT_LIFECYCLE_METHODS, } from "./agent-lifecycle.js";
22
28
  import { registerTaskExtensions } from "./task.js";
23
29
  import { registerWakeExtension } from "./wake.js";
24
30
  import { registerWorkspaceExtension } from "./workspace.js";
25
31
  import { registerWorkspaceFileExtensions } from "./workspace-files.js";
26
32
  import { registerResumeExtension } from "./resume.js";
27
33
  import { registerAgentDetectionExtensions } from "./agent-detection.js";
34
+ import { registerUpdateMetadataExtension } from "./update-metadata.js";
35
+ import { registerMCPBridgeExtensions, unregisterMCPBridgeExtensions, MCP_BRIDGE_METHODS } from "./mcp-bridge.js";
36
+ import { registerAgentLifecycleExtensions, unregisterAgentLifecycleExtensions, AGENT_LIFECYCLE_METHODS } from "./agent-lifecycle.js";
28
37
  /**
29
38
  * Register all available macro-agent extension methods.
30
39
  *
@@ -75,6 +84,15 @@ export function registerMacroExtensions(adapter, services) {
75
84
  if (services.agentDetection) {
76
85
  registerAgentDetectionExtensions(adapter, services.agentDetection);
77
86
  }
87
+ if (services.updateMetadata) {
88
+ registerUpdateMetadataExtension(adapter, services.updateMetadata);
89
+ }
90
+ if (services.mcpBridge) {
91
+ registerMCPBridgeExtensions(adapter, services.mcpBridge);
92
+ }
93
+ if (services.agentLifecycle) {
94
+ registerAgentLifecycleExtensions(adapter, services.agentLifecycle);
95
+ }
78
96
  }
79
97
  /**
80
98
  * Unregister all macro-agent extension methods.
@@ -98,10 +116,15 @@ export function unregisterMacroExtensions(adapter) {
98
116
  adapter.unregisterExtension("_macro/resume");
99
117
  adapter.unregisterExtension("_macro/agents/available");
100
118
  adapter.unregisterExtension("_macro/agents/refresh");
119
+ adapter.unregisterExtension("_macro/agents/update");
101
120
  }
102
121
  catch {
103
122
  // Ignore errors from unregistering non-existent extensions
104
123
  }
124
+ // Also unregister MCP bridge extensions
125
+ unregisterMCPBridgeExtensions(adapter);
126
+ // Also unregister agent lifecycle extensions
127
+ unregisterAgentLifecycleExtensions(adapter);
105
128
  }
106
129
  // =============================================================================
107
130
  // Extension Method List
@@ -130,6 +153,12 @@ export const MACRO_EXTENSION_METHODS = [
130
153
  // Agent detection extensions
131
154
  "_macro/agents/available",
132
155
  "_macro/agents/refresh",
156
+ // Update metadata extension
157
+ "_macro/agents/update",
158
+ // MCP bridge extensions
159
+ ...MCP_BRIDGE_METHODS,
160
+ // Agent lifecycle extensions
161
+ ...AGENT_LIFECYCLE_METHODS,
133
162
  ];
134
163
  /**
135
164
  * Extension method to required capability mapping
@@ -149,5 +178,10 @@ export const EXTENSION_CAPABILITIES = {
149
178
  "_macro/resume": "canManageLifecycle",
150
179
  "_macro/agents/available": "canQuery",
151
180
  "_macro/agents/refresh": "canQuery",
181
+ "_macro/agents/update": "canQuery",
182
+ "_macro/spawnAgent": "canManageLifecycle",
183
+ "_macro/forkAgent": "canManageLifecycle",
184
+ "_macro/setPermissionMode": "canManageLifecycle",
185
+ "_macro/respondToPermission": "canManageLifecycle",
152
186
  };
153
187
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/map/adapter/extensions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/map/adapter/extensions/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * MCP Bridge Extensions (_macro/mcp/*)
3
+ *
4
+ * Server-side extension handlers that mirror each MCP tool.
5
+ * When MCP subprocesses run in thin-client mode, their tool calls
6
+ * are routed here via ephemeral MAP WebSocket connections.
7
+ *
8
+ * Each handler receives agent context via `params.context` since the
9
+ * MAP ExtensionContext only has participant info, not agent identity.
10
+ */
11
+ import type { MAPAdapter } from "../interface.js";
12
+ import type { EventStore } from "../../../store/event-store.js";
13
+ import type { AgentManager } from "../../../agent/agent-manager.js";
14
+ import type { TaskManager } from "../../../task/task-manager.js";
15
+ import type { MessageRouter } from "../../../router/message-router.js";
16
+ import type { PeerManager } from "../../../peer/peer-manager.js";
17
+ import type { ActivityWatcher } from "../../../activity/watcher.js";
18
+ import type { RoleRegistry } from "../../../roles/types.js";
19
+ import type { TaskBackend } from "../../../task/backend/types.js";
20
+ import type { AgentTokenManager } from "../../../auth/token.js";
21
+ /**
22
+ * Services required for MCP bridge extensions.
23
+ */
24
+ export interface MCPBridgeServices {
25
+ eventStore: EventStore;
26
+ agentManager: AgentManager;
27
+ taskManager: TaskManager;
28
+ messageRouter: MessageRouter;
29
+ peerManager?: PeerManager;
30
+ activityWatcher?: ActivityWatcher;
31
+ roleRegistry?: RoleRegistry;
32
+ taskBackend?: TaskBackend;
33
+ taskToolProvider?: import("../../../task/backend/types.js").TaskToolProvider;
34
+ /** Mutable context holder for task tool provider agent_id injection */
35
+ taskToolContext?: {
36
+ agent_id: string;
37
+ };
38
+ integrationStrategy?: import("../../../workspace/strategies/types.js").IntegrationStrategy;
39
+ /** Optional agent token manager for per-agent authentication */
40
+ agentTokenManager?: AgentTokenManager;
41
+ }
42
+ /**
43
+ * All MCP bridge extension method names.
44
+ */
45
+ export declare const MCP_BRIDGE_METHODS: readonly ["_macro/mcp/spawn_agent", "_macro/mcp/emit_status", "_macro/mcp/send_message", "_macro/mcp/check_messages", "_macro/mcp/query_index", "_macro/mcp/get_hierarchy", "_macro/mcp/get_agent_summary", "_macro/mcp/stop_agent", "_macro/mcp/done", "_macro/mcp/inject_context", "_macro/mcp/wait_for_activity", "_macro/mcp/claim_task", "_macro/mcp/unclaim_task", "_macro/mcp/list_claimable_tasks", "_macro/mcp/send_peer_message", "_macro/mcp/send_peer_request", "_macro/mcp/respond_to_peer_request", "_macro/mcp/task_tools_list"];
46
+ /**
47
+ * Register all MCP bridge extension methods with the MAP adapter.
48
+ *
49
+ * These handlers mirror each MCP tool, allowing thin-client MCP subprocesses
50
+ * to execute tool logic on the main server via ephemeral WebSocket calls.
51
+ */
52
+ export declare function registerMCPBridgeExtensions(adapter: MAPAdapter, services: MCPBridgeServices): void;
53
+ /**
54
+ * Unregister all MCP bridge extension methods.
55
+ */
56
+ export declare function unregisterMCPBridgeExtensions(adapter: MAPAdapter): void;
57
+ //# sourceMappingURL=mcp-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-bridge.d.ts","sourceRoot":"","sources":["../../../../src/map/adapter/extensions/mcp-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAsC,MAAM,iBAAiB,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAOlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAehE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,gCAAgC,EAAE,gBAAgB,CAAC;IAC7E,uEAAuE;IACvE,eAAe,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,mBAAmB,CAAC,EAAE,OAAO,wCAAwC,EAAE,mBAAmB,CAAC;IAC3F,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAs0BD;;GAEG;AACH,eAAO,MAAM,kBAAkB,ihBAmBrB,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,iBAAiB,GAC1B,IAAI,CAqDN;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAMvE"}