macro-agent 0.0.17 → 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 (338) 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 +17 -0
  6. package/dist/acp/macro-agent.d.ts.map +1 -1
  7. package/dist/acp/macro-agent.js +183 -55
  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 +23 -0
  53. package/dist/map/adapter/acp-over-map.d.ts.map +1 -1
  54. package/dist/map/adapter/acp-over-map.js +482 -55
  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 +4 -0
  95. package/dist/map/adapter/map-adapter.d.ts.map +1 -1
  96. package/dist/map/adapter/map-adapter.js +302 -30
  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 +7 -1
  131. package/dist/store/event-store.d.ts.map +1 -1
  132. package/dist/store/event-store.js +91 -8
  133. package/dist/store/event-store.js.map +1 -1
  134. package/dist/store/types/agents.d.ts +23 -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__/history.test.ts +8 -4
  197. package/src/acp/__tests__/integration.test.ts +56 -31
  198. package/src/acp/__tests__/macro-agent.test.ts +16 -7
  199. package/src/acp/macro-agent.ts +230 -62
  200. package/src/acp/types.ts +46 -1
  201. package/src/agent/__tests__/agent-manager.test.ts +228 -2
  202. package/src/agent/agent-manager.ts +714 -261
  203. package/src/agent/types.ts +3 -1
  204. package/src/api/server.ts +41 -7
  205. package/src/auth/__tests__/token.test.ts +100 -0
  206. package/src/auth/index.ts +1 -0
  207. package/src/auth/token.ts +82 -0
  208. package/src/cli/__tests__/acp.test.ts +1 -1
  209. package/src/cli/__tests__/stable-instance-id.test.ts +1 -1
  210. package/src/cli/acp.ts +130 -72
  211. package/src/cli/index.ts +120 -14
  212. package/src/cli/mcp.ts +311 -207
  213. package/src/cli/parse-args.ts +54 -0
  214. package/src/cli/stable-instance-id.ts +14 -0
  215. package/src/config/project-config.ts +190 -27
  216. package/src/lifecycle/__tests__/cascade-termination.test.ts +1 -1
  217. package/src/map/adapter/__tests__/acp-over-map-cancel.test.ts +820 -0
  218. package/src/map/adapter/__tests__/acp-over-map-getmodels.test.ts +355 -0
  219. package/src/map/adapter/__tests__/acp-over-map-history.test.ts +724 -2
  220. package/src/map/adapter/__tests__/acp-over-map-persistence.e2e.test.ts +1 -1
  221. package/src/map/adapter/__tests__/event-broadcast.test.ts +420 -0
  222. package/src/map/adapter/__tests__/event-log.test.ts +527 -0
  223. package/src/map/adapter/__tests__/event-translator.test.ts +3 -3
  224. package/src/map/adapter/__tests__/extensions.test.ts +408 -0
  225. package/src/map/adapter/__tests__/map-adapter.test.ts +99 -0
  226. package/src/map/adapter/__tests__/mcp-bridge.test.ts +1187 -0
  227. package/src/map/adapter/__tests__/multi-client-broadcast.test.ts +711 -0
  228. package/src/map/adapter/__tests__/websocket-integration.test.ts +218 -0
  229. package/src/map/adapter/acp-over-map.ts +777 -92
  230. package/src/map/adapter/connection-manager.ts +3 -0
  231. package/src/map/adapter/event-log.ts +208 -0
  232. package/src/map/adapter/event-translator.ts +6 -6
  233. package/src/map/adapter/extensions/agent-lifecycle.ts +267 -0
  234. package/src/map/adapter/extensions/index.ts +60 -0
  235. package/src/map/adapter/extensions/mcp-bridge.ts +995 -0
  236. package/src/map/adapter/extensions/task.ts +11 -0
  237. package/src/map/adapter/extensions/update-metadata.ts +126 -0
  238. package/src/map/adapter/index.ts +28 -0
  239. package/src/map/adapter/interface.ts +2 -0
  240. package/src/map/adapter/map-adapter.ts +373 -38
  241. package/src/map/adapter/subscription-manager.ts +5 -1
  242. package/src/map/adapter/types.ts +2 -0
  243. package/src/mcp/__tests__/map-client.test.ts +386 -0
  244. package/src/mcp/__tests__/mcp-server-thin-client.test.ts +368 -0
  245. package/src/mcp/__tests__/mcp-server.test.ts +100 -1
  246. package/src/mcp/map-client.ts +177 -0
  247. package/src/mcp/mcp-server.ts +191 -100
  248. package/src/mcp/types.ts +6 -1
  249. package/src/metrics/metrics.ts +1 -1
  250. package/src/monitor/__tests__/stale-agent-flow.integration.test.ts +1 -1
  251. package/src/roles/__tests__/config-loader.test.ts +7 -7
  252. package/src/roles/capabilities.ts +17 -7
  253. package/src/roles/config-loader.ts +6 -6
  254. package/src/roles/registry.ts +2 -2
  255. package/src/server/__tests__/combined-server.test.ts +94 -21
  256. package/src/server/combined-server.ts +189 -33
  257. package/src/steering/__tests__/steering-integration.test.ts +1 -1
  258. package/src/store/__tests__/event-store.test.ts +236 -1
  259. package/src/store/__tests__/instance.test.ts +3 -3
  260. package/src/store/event-store.ts +109 -8
  261. package/src/store/types/agents.ts +16 -0
  262. package/src/store/types/events.ts +1 -1
  263. package/src/task/backend/__tests__/create-task-backend.test.ts +225 -0
  264. package/src/task/backend/__tests__/e2e/unified-tool-provider-opentasks.e2e.test.ts +524 -0
  265. package/src/task/backend/__tests__/unified-tool-provider.test.ts +579 -0
  266. package/src/task/backend/index.ts +156 -106
  267. package/src/task/backend/memory.ts +4 -0
  268. package/src/task/backend/opentasks/__tests__/backend.test.ts +968 -0
  269. package/src/task/backend/opentasks/__tests__/daemon-manager.test.ts +406 -0
  270. package/src/task/backend/opentasks/__tests__/mapping.test.ts +84 -0
  271. package/src/task/backend/opentasks/__tests__/opentasks-backend.e2e.test.ts +1338 -0
  272. package/src/task/backend/opentasks/backend.ts +1323 -0
  273. package/src/task/backend/opentasks/client.ts +652 -0
  274. package/src/task/backend/opentasks/daemon-manager.ts +253 -0
  275. package/src/task/backend/opentasks/index.ts +69 -0
  276. package/src/task/backend/opentasks/mapping.ts +94 -0
  277. package/src/task/backend/types.ts +42 -66
  278. package/src/task/backend/unified-tool-provider.ts +779 -0
  279. package/src/teams/__tests__/cross-subsystem.integration.test.ts +1 -1
  280. package/src/teams/team-loader.ts +3 -3
  281. package/src/teams/team-runtime.ts +2 -0
  282. package/test_fixtures/README.md +2 -3
  283. package/test_fixtures/fixtures/index.ts +0 -3
  284. package/test_fixtures/fixtures/projects/project-with-specs.ts +7 -149
  285. package/test_fixtures/fixtures/repos/index.ts +1 -3
  286. package/test_fixtures/fixtures/repos/temp-repo-factory.ts +0 -116
  287. package/test_fixtures/fixtures/repos/types.ts +0 -11
  288. package/test_fixtures/harness/__tests__/fixtures.test.ts +10 -102
  289. package/test_fixtures/harness/__tests__/temp-repo-and-simulator.test.ts +0 -33
  290. package/test_fixtures/harness/simulator/agent-simulator.ts +4 -4
  291. package/vitest.config.ts +1 -1
  292. package/vitest.e2e.config.ts +1 -1
  293. package/vitest.setup.ts +1 -30
  294. package/.macro-agent/teams/self-driving/prompts/grinder.md +0 -27
  295. package/.macro-agent/teams/self-driving/prompts/judge.md +0 -27
  296. package/.macro-agent/teams/self-driving/prompts/planner.md +0 -33
  297. package/.macro-agent/teams/self-driving/roles/grinder.yaml +0 -17
  298. package/.macro-agent/teams/self-driving/roles/judge.yaml +0 -24
  299. package/.macro-agent/teams/self-driving/roles/planner.yaml +0 -18
  300. package/.macro-agent/teams/self-driving/team.yaml +0 -103
  301. package/.macro-agent/teams/structured/prompts/developer.md +0 -26
  302. package/.macro-agent/teams/structured/prompts/lead.md +0 -25
  303. package/.macro-agent/teams/structured/prompts/reviewer.md +0 -24
  304. package/.macro-agent/teams/structured/roles/developer.yaml +0 -12
  305. package/.macro-agent/teams/structured/roles/lead.yaml +0 -11
  306. package/.macro-agent/teams/structured/roles/reviewer.yaml +0 -19
  307. package/.macro-agent/teams/structured/team.yaml +0 -89
  308. package/docs/sudocode-integration.md +0 -383
  309. package/src/task/backend/__tests__/backend-parity.test.ts +0 -451
  310. package/src/task/backend/__tests__/tool-provider-edge-cases.test.ts +0 -430
  311. package/src/task/backend/__tests__/tool-provider.test.ts +0 -983
  312. package/src/task/backend/sudocode/__tests__/backend-edge-cases.test.ts +0 -575
  313. package/src/task/backend/sudocode/__tests__/backend.test.ts +0 -1194
  314. package/src/task/backend/sudocode/__tests__/client-integration.test.ts +0 -418
  315. package/src/task/backend/sudocode/__tests__/client.test.ts +0 -345
  316. package/src/task/backend/sudocode/__tests__/e2e/backend.e2e.test.ts +0 -753
  317. package/src/task/backend/sudocode/__tests__/e2e/server-client.e2e.test.ts +0 -680
  318. package/src/task/backend/sudocode/__tests__/e2e-workflow.test.ts +0 -666
  319. package/src/task/backend/sudocode/__tests__/integration/standalone-client.integration.test.ts +0 -396
  320. package/src/task/backend/sudocode/__tests__/integration/sudocode-cli.integration.test.ts +0 -328
  321. package/src/task/backend/sudocode/__tests__/integration/test-utils.ts +0 -175
  322. package/src/task/backend/sudocode/__tests__/mapping-edge-cases.test.ts +0 -265
  323. package/src/task/backend/sudocode/__tests__/server-client.test.ts +0 -675
  324. package/src/task/backend/sudocode/__tests__/sync-policy-edge-cases.test.ts +0 -521
  325. package/src/task/backend/sudocode/__tests__/sync-policy.test.ts +0 -519
  326. package/src/task/backend/sudocode/__tests__/tools.test.ts +0 -471
  327. package/src/task/backend/sudocode/backend.ts +0 -1237
  328. package/src/task/backend/sudocode/client.ts +0 -515
  329. package/src/task/backend/sudocode/index.ts +0 -120
  330. package/src/task/backend/sudocode/mapping.ts +0 -93
  331. package/src/task/backend/sudocode/server-client.ts +0 -522
  332. package/src/task/backend/sudocode/standalone-client.ts +0 -623
  333. package/src/task/backend/sudocode/sync-policy.ts +0 -387
  334. package/src/task/backend/sudocode/tools.ts +0 -896
  335. package/src/task/backend/tool-provider.ts +0 -506
  336. package/test_fixtures/fixtures/sudocode/index.ts +0 -29
  337. package/test_fixtures/fixtures/sudocode/issues.ts +0 -185
  338. package/test_fixtures/fixtures/sudocode/specs.ts +0 -159
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-manager.js","sourceRoot":"","sources":["../../../src/map/adapter/subscription-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscription-manager.js","sourceRoot":"","sources":["../../../src/map/adapter/subscription-manager.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,8 @@ export interface ParticipantCapabilities {
71
71
  canManageTasks?: boolean;
72
72
  /** Can manage federation connections (connect/disconnect peers) */
73
73
  canManageFederation?: boolean;
74
+ /** Can manage agent lifecycle (resume, spawn, fork, permissions) */
75
+ canManageLifecycle?: boolean;
74
76
  }
75
77
  /**
76
78
  * Information about a connected participant.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/map/adapter/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/map/adapter/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Thin MAP Client
3
+ *
4
+ * Ephemeral WebSocket client for MCP subprocesses to call MAP extension
5
+ * methods on the main server. Each call opens a connection, performs the
6
+ * MAP handshake, sends a single RPC, and disconnects.
7
+ *
8
+ * Uses raw WebSocket + JSON-RPC — not the full MAP ClientConnection SDK,
9
+ * since the SDK's capability negotiation and subscription management
10
+ * overhead is unnecessary for single-RPC ephemeral calls.
11
+ */
12
+ export interface MapCallOptions {
13
+ /** Timeout in milliseconds (default: 30000) */
14
+ timeoutMs?: number;
15
+ /** Server token for authentication (appended as query param on WebSocket URL) */
16
+ serverToken?: string;
17
+ }
18
+ export declare class MapCallError extends Error {
19
+ readonly code: number;
20
+ readonly data?: unknown;
21
+ constructor(code: number, message: string, data?: unknown);
22
+ }
23
+ /**
24
+ * Make a single MAP extension RPC call via ephemeral WebSocket.
25
+ *
26
+ * 1. Opens WebSocket to the MAP endpoint
27
+ * 2. Sends `map/connect` handshake
28
+ * 3. Sends the RPC request
29
+ * 4. Awaits the response
30
+ * 5. Closes the WebSocket
31
+ *
32
+ * @param serverUrl - HTTP URL of the macro-agent server (e.g., "http://localhost:3001")
33
+ * @param method - MAP extension method (e.g., "_macro/mcp/spawn_agent")
34
+ * @param params - Method parameters (includes context)
35
+ * @param options - Timeout and other options
36
+ * @returns The RPC result
37
+ */
38
+ export declare function mapCall<T = unknown>(serverUrl: string, method: string, params?: unknown, options?: MapCallOptions): Promise<T>;
39
+ //# sourceMappingURL=map-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-client.d.ts","sourceRoot":"","sources":["../../src/mcp/map-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA0BH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;gBAEZ,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;CAM1D;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,OAAO,CAAC,CAAC,GAAG,OAAO,EACvC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC,CAiGZ"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Thin MAP Client
3
+ *
4
+ * Ephemeral WebSocket client for MCP subprocesses to call MAP extension
5
+ * methods on the main server. Each call opens a connection, performs the
6
+ * MAP handshake, sends a single RPC, and disconnects.
7
+ *
8
+ * Uses raw WebSocket + JSON-RPC — not the full MAP ClientConnection SDK,
9
+ * since the SDK's capability negotiation and subscription management
10
+ * overhead is unnecessary for single-RPC ephemeral calls.
11
+ */
12
+ import WebSocket from "ws";
13
+ export class MapCallError extends Error {
14
+ code;
15
+ data;
16
+ constructor(code, message, data) {
17
+ super(message);
18
+ this.name = "MapCallError";
19
+ this.code = code;
20
+ this.data = data;
21
+ }
22
+ }
23
+ // =============================================================================
24
+ // Implementation
25
+ // =============================================================================
26
+ /**
27
+ * Make a single MAP extension RPC call via ephemeral WebSocket.
28
+ *
29
+ * 1. Opens WebSocket to the MAP endpoint
30
+ * 2. Sends `map/connect` handshake
31
+ * 3. Sends the RPC request
32
+ * 4. Awaits the response
33
+ * 5. Closes the WebSocket
34
+ *
35
+ * @param serverUrl - HTTP URL of the macro-agent server (e.g., "http://localhost:3001")
36
+ * @param method - MAP extension method (e.g., "_macro/mcp/spawn_agent")
37
+ * @param params - Method parameters (includes context)
38
+ * @param options - Timeout and other options
39
+ * @returns The RPC result
40
+ */
41
+ export async function mapCall(serverUrl, method, params, options) {
42
+ const timeoutMs = options?.timeoutMs ?? 30000;
43
+ let wsUrl = serverUrl.replace(/^http/, "ws") + "/map";
44
+ if (options?.serverToken) {
45
+ wsUrl += `?token=${encodeURIComponent(options.serverToken)}`;
46
+ }
47
+ return new Promise((resolve, reject) => {
48
+ let settled = false;
49
+ let nextId = 1;
50
+ let handshakeCompleted = false;
51
+ const timeout = setTimeout(() => {
52
+ if (!settled) {
53
+ settled = true;
54
+ ws.close();
55
+ reject(new MapCallError(-32000, `MAP call timed out after ${timeoutMs}ms: ${method}`));
56
+ }
57
+ }, timeoutMs);
58
+ const ws = new WebSocket(wsUrl);
59
+ ws.on("open", () => {
60
+ // Step 1: Send MAP handshake
61
+ const connectRequest = {
62
+ jsonrpc: "2.0",
63
+ id: nextId++,
64
+ method: "map/connect",
65
+ params: {
66
+ participantType: "client",
67
+ identity: `mcp-bridge-${Date.now()}`,
68
+ },
69
+ };
70
+ ws.send(JSON.stringify(connectRequest));
71
+ });
72
+ ws.on("message", (data) => {
73
+ if (settled)
74
+ return;
75
+ let msg;
76
+ try {
77
+ msg = JSON.parse(data.toString());
78
+ }
79
+ catch {
80
+ return; // Ignore non-JSON messages
81
+ }
82
+ if (!handshakeCompleted) {
83
+ // This should be the map/connect response
84
+ if (msg.error) {
85
+ settled = true;
86
+ clearTimeout(timeout);
87
+ ws.close();
88
+ reject(new MapCallError(msg.error.code, `MAP handshake failed: ${msg.error.message}`, msg.error.data));
89
+ return;
90
+ }
91
+ handshakeCompleted = true;
92
+ // Step 2: Send the actual RPC request
93
+ const rpcRequest = {
94
+ jsonrpc: "2.0",
95
+ id: nextId++,
96
+ method,
97
+ params,
98
+ };
99
+ ws.send(JSON.stringify(rpcRequest));
100
+ return;
101
+ }
102
+ // This is the RPC response
103
+ settled = true;
104
+ clearTimeout(timeout);
105
+ ws.close();
106
+ if (msg.error) {
107
+ reject(new MapCallError(msg.error.code, msg.error.message, msg.error.data));
108
+ }
109
+ else {
110
+ resolve(msg.result);
111
+ }
112
+ });
113
+ ws.on("error", (err) => {
114
+ if (!settled) {
115
+ settled = true;
116
+ clearTimeout(timeout);
117
+ reject(new MapCallError(-32000, `MAP WebSocket error: ${err.message}`));
118
+ }
119
+ });
120
+ ws.on("close", () => {
121
+ if (!settled) {
122
+ settled = true;
123
+ clearTimeout(timeout);
124
+ reject(new MapCallError(-32000, "MAP WebSocket closed unexpectedly"));
125
+ }
126
+ });
127
+ });
128
+ }
129
+ //# sourceMappingURL=map-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-client.js","sourceRoot":"","sources":["../../src/mcp/map-client.ts"],"names":[],"mappings":"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"}
@@ -53,4 +53,18 @@ export interface MCPServerInstance {
53
53
  * The context (agent_id, session_id, etc.) is baked into all tool handlers.
54
54
  */
55
55
  export declare function createMCPServer(context: ToolContext, services: MCPServices, config?: MCPServerConfig): MCPServerInstance;
56
+ /**
57
+ * Type for the mapCall function used in thin-client mode.
58
+ */
59
+ export type MapCallFn = <T = unknown>(method: string, params?: unknown, options?: {
60
+ timeoutMs?: number;
61
+ }) => Promise<T>;
62
+ /**
63
+ * Creates a thin-client MCP server where every tool handler calls
64
+ * the main server via MAP WebSocket RPC instead of using local services.
65
+ *
66
+ * Tool schemas, descriptions, and role filtering remain the same.
67
+ * Only the handler bodies change — they forward to `_macro/mcp/*` extensions.
68
+ */
69
+ export declare function createMCPServerThinClient(context: ToolContext, mapCallFn: MapCallFn, config?: MCPServerConfig): MCPServerInstance;
56
70
  //# sourceMappingURL=mcp-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/mcp/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,YAAY,CAAC;AAQ7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA2B9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAoBtE,MAAM,WAAW,eAAe;IAC9B,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,gEAAgE;IAChE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,wDAAwD;IACxD,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,2DAA2D;IAC3D,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,qDAAqD;IACrD,mBAAmB,CAAC,EAAE,OAAO,kCAAkC,EAAE,mBAAmB,CAAC;IACrF,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,0BAA0B,EAAE,WAAW,CAAC;CAC9D;AAMD,MAAM,WAAW,iBAAiB;IAChC,qBAAqB;IACrB,MAAM,EAAE,SAAS,CAAC;IAElB,4CAA4C;IAC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,uBAAuB;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAuJD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,WAAW,EACrB,MAAM,GAAE,eAAoB,GAC3B,iBAAiB,CAggCnB"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/mcp/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,YAAY,CAAC;AAQ7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA2B9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAoBtE,MAAM,WAAW,eAAe;IAC9B,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,gEAAgE;IAChE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,wDAAwD;IACxD,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,2DAA2D;IAC3D,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,qDAAqD;IACrD,mBAAmB,CAAC,EAAE,OAAO,kCAAkC,EAAE,mBAAmB,CAAC;IACrF,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,0BAA0B,EAAE,WAAW,CAAC;CAC9D;AAMD,MAAM,WAAW,iBAAiB;IAChC,qBAAqB;IACrB,MAAM,EAAE,SAAS,CAAC;IAElB,4CAA4C;IAC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,uBAAuB;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AA6ID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,WAAW,EACrB,MAAM,GAAE,eAAoB,GAC3B,iBAAiB,CAm8BnB;AAMD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,OAAO,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KAC7B,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhB;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,SAAS,EACpB,MAAM,GAAE,eAAoB,GAC3B,iBAAiB,CAwInB"}
@@ -122,14 +122,6 @@ const StopAgentSchema = {
122
122
  .default("cancelled")
123
123
  .describe("Reason for stopping"),
124
124
  };
125
- const CreateTaskSchema = {
126
- description: z.string().describe("Task description"),
127
- parent_task: z.string().optional().describe("Parent task ID for subtasks"),
128
- inputs: z.record(z.string(), z.unknown()).optional().describe("Initial inputs for the task"),
129
- };
130
- const GetTaskSchema = {
131
- task_id: z.string().describe("Task ID to look up"),
132
- };
133
125
  // ─────────────────────────────────────────────────────────────────
134
126
  // Peer Communication Schemas
135
127
  // ─────────────────────────────────────────────────────────────────
@@ -222,6 +214,11 @@ export function createMCPServer(context, services, config = {}) {
222
214
  if (allAgents.length > 0) {
223
215
  debugLog(`[MCP spawn_agent] Agent IDs: ${allAgents.map(a => a.id).join(', ')}`);
224
216
  }
217
+ // Inherit the parent's permission mode so sub-agents respect
218
+ // the same mode (e.g., "interactive") set during initialization.
219
+ // Read from env var since the MCP server is a separate process
220
+ // without access to the macro-agent server's in-memory state.
221
+ const parentPermissionMode = process.env.MACRO_PERMISSION_MODE;
225
222
  const spawned = await agentManager.spawn({
226
223
  task: args.task,
227
224
  parent: context.agent_id,
@@ -229,6 +226,7 @@ export function createMCPServer(context, services, config = {}) {
229
226
  topics: args.topics ?? [],
230
227
  config: args.config,
231
228
  cwd: args.cwd ?? context.cwd,
229
+ permissionMode: (parentPermissionMode || undefined),
232
230
  });
233
231
  return {
234
232
  content: [
@@ -236,6 +234,7 @@ export function createMCPServer(context, services, config = {}) {
236
234
  type: "text",
237
235
  text: JSON.stringify({
238
236
  agent_id: spawned.id,
237
+ name: spawned.agent.name,
239
238
  task_id: spawned.agent.task_id,
240
239
  session_id: spawned.session_id,
241
240
  }),
@@ -361,14 +360,18 @@ export function createMCPServer(context, services, config = {}) {
361
360
  limit: limit,
362
361
  includeAcknowledged: args.include_acknowledged ?? false,
363
362
  });
364
- const formattedInternalMessages = internalMessages.map((msg) => ({
365
- id: msg.id,
366
- from: `agent:${msg.from.agent_id}`,
367
- content: msg.content.length > 500 ? msg.content.substring(0, 500) : msg.content,
368
- timestamp: msg.timestamp,
369
- truncated: msg.truncated || msg.content.length > 500,
370
- correlation_id: msg.correlation_id,
371
- }));
363
+ const formattedInternalMessages = internalMessages.map((msg) => {
364
+ const fromAgent = msg.from.agent_id ? agentManager.get(msg.from.agent_id) : undefined;
365
+ return {
366
+ id: msg.id,
367
+ from: `agent:${msg.from.agent_id}`,
368
+ from_name: fromAgent?.name,
369
+ content: msg.content.length > 500 ? msg.content.substring(0, 500) : msg.content,
370
+ timestamp: msg.timestamp,
371
+ truncated: msg.truncated || msg.content.length > 500,
372
+ correlation_id: msg.correlation_id,
373
+ };
374
+ });
372
375
  // Get peer messages if peerManager is available
373
376
  let formattedPeerMessages = [];
374
377
  if (peerManager) {
@@ -434,12 +437,14 @@ export function createMCPServer(context, services, config = {}) {
434
437
  // Apply search
435
438
  if (search) {
436
439
  agents = agents.filter((a) => a.id.toLowerCase().includes(search) ||
440
+ a.name?.toLowerCase().includes(search) ||
437
441
  a.task?.toLowerCase().includes(search));
438
442
  }
439
443
  for (const agent of agents) {
440
444
  entries.push({
441
445
  type: "agent",
442
446
  id: agent.id,
447
+ name: agent.name,
443
448
  summary: agent.task ?? "No task description",
444
449
  state: agent.state,
445
450
  });
@@ -508,6 +513,7 @@ export function createMCPServer(context, services, config = {}) {
508
513
  const shouldIncludeChildren = args.depth === undefined || currentDepth < args.depth;
509
514
  return {
510
515
  agent_id: node.agent.id,
516
+ name: node.agent.name,
511
517
  task: node.agent.task ?? "No task",
512
518
  state: node.agent.state,
513
519
  children: shouldIncludeChildren
@@ -565,6 +571,7 @@ export function createMCPServer(context, services, config = {}) {
565
571
  type: "text",
566
572
  text: JSON.stringify({
567
573
  id: agent.id,
574
+ name: agent.name,
568
575
  session_id: agent.session_id,
569
576
  task: agent.task ?? "No task",
570
577
  state: agent.state,
@@ -608,9 +615,10 @@ export function createMCPServer(context, services, config = {}) {
608
615
  for (const child of children) {
609
616
  await stopRecursive(child.id);
610
617
  }
611
- // Stop this agent
618
+ // Capture name before stopping
619
+ const agentName = agent.name;
612
620
  await agentManager.terminate(agentId, args.reason ?? "cancelled");
613
- stoppedAgents.push(agentId);
621
+ stoppedAgents.push({ agent_id: agentId, name: agentName });
614
622
  }
615
623
  await stopRecursive(args.agent_id);
616
624
  return {
@@ -627,73 +635,6 @@ export function createMCPServer(context, services, config = {}) {
627
635
  });
628
636
  }
629
637
  // ─────────────────────────────────────────────────────────────────
630
- // Tool: create_task (requires task.create capability)
631
- // ─────────────────────────────────────────────────────────────────
632
- if (shouldRegisterTool("create_task")) {
633
- server.registerTool("create_task", {
634
- description: "Create a new task",
635
- inputSchema: CreateTaskSchema,
636
- }, async (args) => {
637
- try {
638
- const task = taskManager.create({
639
- description: args.description,
640
- created_by: context.agent_id,
641
- parent_task: args.parent_task,
642
- inputs: args.inputs,
643
- });
644
- return {
645
- content: [
646
- {
647
- type: "text",
648
- text: JSON.stringify({
649
- task_id: task.id,
650
- }),
651
- },
652
- ],
653
- };
654
- }
655
- catch (error) {
656
- throw new MCPToolError(`Failed to create task: ${error}`, "INVALID_INPUT");
657
- }
658
- });
659
- }
660
- // ─────────────────────────────────────────────────────────────────
661
- // Tool: get_task (always allowed - observability)
662
- // ─────────────────────────────────────────────────────────────────
663
- if (shouldRegisterTool("get_task")) {
664
- server.registerTool("get_task", {
665
- description: "Get details of a specific task",
666
- inputSchema: GetTaskSchema,
667
- }, async (args) => {
668
- const task = taskManager.get(args.task_id);
669
- if (!task) {
670
- throw new MCPToolError(`Task not found: ${args.task_id}`, "TASK_NOT_FOUND");
671
- }
672
- // Use completed_at, started_at, or created_at as last update
673
- const updatedAt = task.completed_at ?? task.started_at ?? task.created_at;
674
- return {
675
- content: [
676
- {
677
- type: "text",
678
- text: JSON.stringify({
679
- id: task.id,
680
- description: task.description,
681
- status: task.status,
682
- assigned_agent: task.assigned_agent,
683
- parent_task: task.parent_task,
684
- subtasks: task.subtasks ?? [],
685
- inputs: task.inputs,
686
- outputs: task.outputs,
687
- artifacts: task.artifacts,
688
- created_at: task.created_at,
689
- updated_at: updatedAt,
690
- }),
691
- },
692
- ],
693
- };
694
- });
695
- }
696
- // ─────────────────────────────────────────────────────────────────
697
638
  // Tool: send_peer_message (requires msg.send capability)
698
639
  // ─────────────────────────────────────────────────────────────────
699
640
  if (shouldRegisterTool("send_peer_message")) {
@@ -984,4 +925,91 @@ export function createMCPServer(context, services, config = {}) {
984
925
  close,
985
926
  };
986
927
  }
928
+ /**
929
+ * Creates a thin-client MCP server where every tool handler calls
930
+ * the main server via MAP WebSocket RPC instead of using local services.
931
+ *
932
+ * Tool schemas, descriptions, and role filtering remain the same.
933
+ * Only the handler bodies change — they forward to `_macro/mcp/*` extensions.
934
+ */
935
+ export function createMCPServerThinClient(context, mapCallFn, config = {}) {
936
+ const { name = "macro-agent-mcp", version = "1.0.0" } = config;
937
+ const server = new McpServer({ name, version }, { capabilities: { tools: {} } });
938
+ /**
939
+ * Helper: wrap args with agent context for the bridge handler.
940
+ */
941
+ function withContext(args) {
942
+ return { ...args, context };
943
+ }
944
+ /**
945
+ * Helper: create a tool handler that forwards to a MAP bridge extension.
946
+ */
947
+ function bridgeTool(toolName, schema, description, mapMethod, options) {
948
+ server.registerTool(toolName, { description, inputSchema: schema }, async (args) => {
949
+ try {
950
+ const result = await mapCallFn(mapMethod, withContext(args), options);
951
+ return {
952
+ content: [{ type: "text", text: JSON.stringify(result) }],
953
+ };
954
+ }
955
+ catch (error) {
956
+ const message = error instanceof Error ? error.message : String(error);
957
+ throw new MCPToolError(`${toolName} failed: ${message}`, "ROUTING_FAILED");
958
+ }
959
+ });
960
+ }
961
+ // Register all tools pointing to their _macro/mcp/* bridge counterparts
962
+ bridgeTool("spawn_agent", SpawnAgentSchema, "Spawn a child agent to work on a subtask", "_macro/mcp/spawn_agent");
963
+ bridgeTool("emit_status", EmitStatusSchema, "Report a status milestone (started, checkpoint, completed, failed, blocked)", "_macro/mcp/emit_status");
964
+ bridgeTool("send_message", SendMessageSchema, "Send a message to another agent, task, or topic", "_macro/mcp/send_message");
965
+ bridgeTool("check_messages", CheckMessagesSchema, "Check pending messages in your inbox", "_macro/mcp/check_messages");
966
+ bridgeTool("query_index", QueryIndexSchema, "Search for agents and tasks", "_macro/mcp/query_index");
967
+ bridgeTool("get_hierarchy", GetHierarchySchema, "View the agent hierarchy tree", "_macro/mcp/get_hierarchy");
968
+ bridgeTool("get_agent_summary", GetAgentSummarySchema, "Get detailed summary of a specific agent", "_macro/mcp/get_agent_summary");
969
+ bridgeTool("stop_agent", StopAgentSchema, "Stop a child agent in your subtree", "_macro/mcp/stop_agent");
970
+ bridgeTool("done", DoneSchema, DONE_TOOL_INFO.description, "_macro/mcp/done");
971
+ bridgeTool("inject_context", InjectContextSchema, INJECT_CONTEXT_TOOL_INFO.description, "_macro/mcp/inject_context");
972
+ bridgeTool("wait_for_activity", WaitForActivitySchema, WAIT_FOR_ACTIVITY_TOOL_INFO.description, "_macro/mcp/wait_for_activity", { timeoutMs: 65000 }); // Extra buffer for long-poll
973
+ bridgeTool("claim_task", ClaimTaskSchema, CLAIM_TASK_TOOL_INFO.description, "_macro/mcp/claim_task");
974
+ bridgeTool("unclaim_task", UnclaimTaskSchema, UNCLAIM_TASK_TOOL_INFO.description, "_macro/mcp/unclaim_task");
975
+ bridgeTool("list_claimable_tasks", ListClaimableTasksSchema, LIST_CLAIMABLE_TASKS_TOOL_INFO.description, "_macro/mcp/list_claimable_tasks");
976
+ bridgeTool("send_peer_message", SendPeerMessageSchema, "Send a fire-and-forget message to another macro-agent (peer)", "_macro/mcp/send_peer_message");
977
+ bridgeTool("send_peer_request", SendPeerRequestSchema, "Send a request to another macro-agent (peer) and wait for response", "_macro/mcp/send_peer_request");
978
+ bridgeTool("respond_to_peer_request", RespondToPeerRequestSchema, "Respond to an incoming peer request", "_macro/mcp/respond_to_peer_request");
979
+ // ─────────────────────────────────────────────────────────────────
980
+ // Server Lifecycle
981
+ // ─────────────────────────────────────────────────────────────────
982
+ let transport = null;
983
+ async function start() {
984
+ // Discover dynamic task tools from the server before connecting.
985
+ // This ensures we only register tools the server actually supports
986
+ // (e.g. memory backend = 4 tools, OpenTasks = 7 tools, none = 0).
987
+ try {
988
+ const result = await mapCallFn("_macro/mcp/task_tools_list", withContext({}));
989
+ if (result?.tools?.length > 0) {
990
+ const DynamicTaskParamsSchema = {
991
+ params: z.record(z.string(), z.unknown()).optional()
992
+ .describe("Tool parameters (validated by the server-side handler)"),
993
+ };
994
+ for (const tool of result.tools) {
995
+ bridgeTool(tool.name, DynamicTaskParamsSchema, tool.description, `_macro/mcp/task_tool/${tool.name}`);
996
+ }
997
+ debugLog(`[MCP] Registered ${result.tools.length} dynamic task tools from server`);
998
+ }
999
+ }
1000
+ catch (error) {
1001
+ // Server may not support task tools — continue without them
1002
+ debugLog(`[MCP] Failed to discover task tools: ${error instanceof Error ? error.message : error}`);
1003
+ }
1004
+ transport = new StdioServerTransport();
1005
+ await server.connect(transport);
1006
+ }
1007
+ async function close() {
1008
+ if (transport) {
1009
+ await server.close();
1010
+ transport = null;
1011
+ }
1012
+ }
1013
+ return { server, start, close };
1014
+ }
987
1015
  //# sourceMappingURL=mcp-server.js.map