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
package/dist/cli/mcp.js CHANGED
@@ -4,17 +4,16 @@
4
4
  *
5
5
  * Runs the MCP server as a subprocess that agents can connect to.
6
6
  * Agent context is passed via environment variables.
7
+ *
8
+ * Two modes:
9
+ * - **Thin-client mode** (MACRO_SERVER_URL set): Tools forward to the main server
10
+ * via ephemeral MAP WebSocket connections. No local services needed.
11
+ * - **Legacy mode** (MACRO_INSTANCE_ID set): Creates a full local service stack
12
+ * with shared SQLite. Used as fallback for backward compatibility.
7
13
  */
8
14
  import * as fs from "fs";
9
15
  import * as path from "path";
10
16
  import * as os from "os";
11
- import { createEventStore } from "../store/event-store.js";
12
- import { createAgentManager } from "../agent/agent-manager.js";
13
- import { createTaskManager } from "../task/task-manager.js";
14
- import { createMessageRouter } from "../router/message-router.js";
15
- import { createMCPServer } from "../mcp/mcp-server.js";
16
- import { createActivityWatcher, subscribeAgentToEvents, MONITOR_DEFAULT_EVENT_TYPES, } from "../activity/index.js";
17
- import { createWakeHandler, createSessionProviderFromAgentManager, } from "../agent/wake.js";
18
17
  // Debug logging to file (since stderr doesn't show up from MCP subprocess)
19
18
  const debugLogPath = path.join(os.tmpdir(), "macro-agent-mcp-debug.log");
20
19
  function debugLog(message) {
@@ -23,196 +22,284 @@ function debugLog(message) {
23
22
  fs.appendFileSync(debugLogPath, line);
24
23
  console.error(message); // Also log to stderr in case it's visible
25
24
  }
26
- async function main() {
27
- // Get agent context from environment variables
25
+ // =============================================================================
26
+ // Thin-Client Mode (MACRO_SERVER_URL)
27
+ // =============================================================================
28
+ async function startThinClient() {
28
29
  const agentId = process.env.MACRO_AGENT_ID;
29
- const parentId = process.env.MACRO_PARENT_ID || null;
30
30
  const taskId = process.env.MACRO_TASK_ID;
31
31
  const agentCwd = process.env.MACRO_AGENT_CWD || process.cwd();
32
- const instanceId = process.env.MACRO_INSTANCE_ID;
33
- const baseDir = process.env.MACRO_BASE_DIR; // Optional: custom base directory for testing
34
- if (!agentId) {
35
- console.error("Error: MACRO_AGENT_ID environment variable is required");
36
- process.exit(1);
32
+ const serverUrl = process.env.MACRO_SERVER_URL;
33
+ const lineageStr = process.env.MACRO_AGENT_LINEAGE || "[]";
34
+ const sessionId = process.env.MACRO_SESSION_ID || "";
35
+ const serverToken = process.env.MACRO_SERVER_TOKEN || "";
36
+ const agentToken = process.env.MACRO_AGENT_TOKEN || "";
37
+ let lineage;
38
+ try {
39
+ lineage = JSON.parse(lineageStr);
37
40
  }
38
- if (!instanceId) {
39
- console.error("Error: MACRO_INSTANCE_ID environment variable is required");
40
- process.exit(1);
41
+ catch {
42
+ lineage = [];
41
43
  }
42
- debugLog(`[MCP] Starting MCP server for agent ${agentId} with instanceId ${instanceId}`);
44
+ debugLog(`[MCP] Thin-client mode: agent=${agentId}, server=${serverUrl}`);
45
+ const { createMCPServerThinClient } = await import("../mcp/mcp-server.js");
46
+ const { mapCall } = await import("../mcp/map-client.js");
47
+ const context = {
48
+ agent_id: agentId,
49
+ session_id: sessionId,
50
+ task_id: taskId ?? undefined,
51
+ lineage,
52
+ cwd: agentCwd,
53
+ agent_token: agentToken || undefined,
54
+ };
55
+ // Also pass permission mode for spawn_agent forwarding
56
+ const permissionMode = process.env.MACRO_PERMISSION_MODE;
57
+ // Build mapCall options with server token for WebSocket auth
58
+ const callOptions = serverToken ? { serverToken } : undefined;
59
+ const mcpServer = createMCPServerThinClient(context, async (method, params, options) => {
60
+ // Merge auth options with per-call options
61
+ const mergedOptions = { ...callOptions, ...options };
62
+ // Inject permission_mode into spawn_agent calls
63
+ if (method === "_macro/mcp/spawn_agent" && permissionMode) {
64
+ const p = (params ?? {});
65
+ p.permission_mode = permissionMode;
66
+ return mapCall(serverUrl, method, p, mergedOptions);
67
+ }
68
+ return mapCall(serverUrl, method, params, mergedOptions);
69
+ });
70
+ await mcpServer.start();
71
+ // Handle graceful shutdown
72
+ const shutdown = async () => {
73
+ await mcpServer.close();
74
+ process.exit(0);
75
+ };
76
+ process.on("SIGINT", shutdown);
77
+ process.on("SIGTERM", shutdown);
78
+ }
79
+ // =============================================================================
80
+ // Legacy Mode (MACRO_INSTANCE_ID)
81
+ // =============================================================================
82
+ async function startLegacy() {
83
+ const agentId = process.env.MACRO_AGENT_ID;
84
+ const taskId = process.env.MACRO_TASK_ID;
85
+ const agentCwd = process.env.MACRO_AGENT_CWD || process.cwd();
86
+ const instanceId = process.env.MACRO_INSTANCE_ID;
87
+ const baseDir = process.env.MACRO_BASE_DIR;
88
+ debugLog(`[MCP] Legacy mode: agent=${agentId}, instanceId=${instanceId}`);
43
89
  debugLog(`[MCP] Debug log file: ${debugLogPath}`);
90
+ const { createEventStore } = await import("../store/event-store.js");
91
+ const { createAgentManager } = await import("../agent/agent-manager.js");
92
+ const { createTaskManager } = await import("../task/task-manager.js");
93
+ const { createMessageRouter } = await import("../router/message-router.js");
94
+ const { createMCPServer } = await import("../mcp/mcp-server.js");
95
+ const { createTaskBackend, loadTaskConfigFromEnv } = await import("../task/backend/index.js");
96
+ const { UnifiedTaskToolProvider } = await import("../task/backend/unified-tool-provider.js");
97
+ const { createActivityWatcher, subscribeAgentToEvents, MONITOR_DEFAULT_EVENT_TYPES, } = await import("../activity/index.js");
98
+ const { createWakeHandler, createSessionProviderFromAgentManager, } = await import("../agent/wake.js");
99
+ // Initialize services with shared file-based storage
100
+ const eventStore = await createEventStore({ inMemory: false, instanceId, baseDir });
101
+ debugLog(`[MCP] EventStore created, path: ${eventStore.instancePath}`);
102
+ const messageRouter = createMessageRouter(eventStore);
103
+ const agentManager = createAgentManager(eventStore, messageRouter);
104
+ const taskManager = createTaskManager(eventStore);
105
+ // Create task backend from env config
106
+ const taskConfig = loadTaskConfigFromEnv();
107
+ let taskBackend;
108
+ let taskToolProvider;
109
+ let openTasksClient;
44
110
  try {
45
- // Initialize services with shared file-based storage using the same instanceId as the main process
46
- // If MACRO_BASE_DIR is provided (e.g., for testing), use it to resolve to the correct database location
47
- const eventStore = await createEventStore({ inMemory: false, instanceId, baseDir });
48
- debugLog(`[MCP] EventStore created, path: ${eventStore.instancePath}`);
49
- const messageRouter = createMessageRouter(eventStore);
50
- const agentManager = createAgentManager(eventStore, messageRouter);
51
- const taskManager = createTaskManager(eventStore);
52
- // Get agent lineage for authorization checks
53
- // Note: The agent may not be in the store yet if the MCP server starts before
54
- // the spawn event is persisted. This is a race condition - we retry a few times.
55
- let agent = eventStore.getAgent(agentId);
56
- const allAgentsInitial = eventStore.listAgents();
57
- debugLog(`[MCP] Initial check: agent found = ${!!agent}, total agents in store = ${allAgentsInitial.length}`);
58
- if (allAgentsInitial.length > 0) {
59
- debugLog(`[MCP] Agents in store: ${allAgentsInitial.map(a => a.id).join(', ')}`);
60
- }
61
- if (!agent) {
62
- // Retry a few times with small delays to handle race condition
63
- // where MCP server starts before spawn event is persisted
64
- for (let i = 0; i < 10; i++) {
65
- await new Promise(resolve => setTimeout(resolve, 100));
66
- // Reload from SQLite to get fresh data
67
- await eventStore.reload();
68
- agent = eventStore.getAgent(agentId);
69
- const allAgentsRetry = eventStore.listAgents();
70
- debugLog(`[MCP] Retry ${i + 1}: agent found = ${!!agent}, total agents = ${allAgentsRetry.length}`);
71
- if (agent) {
72
- debugLog(`[MCP] Found agent ${agentId} after ${i + 1} retries`);
73
- break;
74
- }
111
+ const result = await createTaskBackend(taskConfig, eventStore);
112
+ taskBackend = result.backend;
113
+ openTasksClient = result.openTasksClient;
114
+ taskToolProvider = new UnifiedTaskToolProvider(taskBackend, () => ({ agent_id: agentId }), openTasksClient);
115
+ debugLog(`[MCP] Task backend created: ${taskConfig.backend.type}`);
116
+ }
117
+ catch (err) {
118
+ debugLog(`[MCP] Failed to create task backend: ${err}. Falling back to legacy TaskManager only.`);
119
+ }
120
+ // Get agent lineage for authorization checks
121
+ let agent = eventStore.getAgent(agentId);
122
+ const allAgentsInitial = eventStore.listAgents();
123
+ debugLog(`[MCP] Initial check: agent found = ${!!agent}, total agents in store = ${allAgentsInitial.length}`);
124
+ if (allAgentsInitial.length > 0) {
125
+ debugLog(`[MCP] Agents in store: ${allAgentsInitial.map(a => a.id).join(', ')}`);
126
+ }
127
+ if (!agent) {
128
+ for (let i = 0; i < 10; i++) {
129
+ await new Promise(resolve => setTimeout(resolve, 100));
130
+ await eventStore.reload();
131
+ agent = eventStore.getAgent(agentId);
132
+ const allAgentsRetry = eventStore.listAgents();
133
+ debugLog(`[MCP] Retry ${i + 1}: agent found = ${!!agent}, total agents = ${allAgentsRetry.length}`);
134
+ if (agent) {
135
+ debugLog(`[MCP] Found agent ${agentId} after ${i + 1} retries`);
136
+ break;
75
137
  }
76
138
  }
77
- else {
78
- debugLog(`[MCP] Agent ${agentId} found immediately (no retry needed)`);
79
- }
80
- if (!agent) {
81
- debugLog(`[MCP] Warning: Agent ${agentId} not found in store after retries. ` +
82
- `Continuing with limited context. This may affect authorization checks.`);
83
- // List all events to help debug
84
- const events = eventStore.query({ limit: 50 });
85
- debugLog(`[MCP] Events in store (${events.length}): ${events.map(e => `${e.type}:${e.payload?.agent_id || e.source?.agent_id}`).join(', ')}`);
86
- }
87
- const lineage = agent?.lineage ?? [];
88
- // Create ActivityWatcher for wait_for_activity MCP tool
89
- const sessionProvider = createSessionProviderFromAgentManager(agentManager);
90
- const wakeHandler = createWakeHandler(sessionProvider, agentManager);
91
- const activityWatcher = createActivityWatcher({
92
- listAgents: () => agentManager.list(),
93
- getAgent: (id) => agentManager.get(id),
94
- }, wakeHandler);
95
- // Wire EventStore events to ActivityWatcher
96
- eventStore.onAgentChange((changedAgentId, changedAgent) => {
97
- if (!activityWatcher.isRunning())
98
- return;
99
- if (!changedAgent)
100
- return; // Agent was deleted
101
- // Infer event type from agent state
102
- const eventType = changedAgent.state === "spawning" ? "agent_spawned"
103
- : changedAgent.state === "running" ? "agent_started"
104
- : changedAgent.state === "stopped" ? "agent_terminated"
105
- : "agent_updated";
106
- activityWatcher.processActivity({
107
- id: `evt-${Date.now()}-${Math.random().toString(36).slice(2)}`,
108
- type: eventType,
109
- source: { agent_id: changedAgentId, role: changedAgent.role },
110
- timestamp: Date.now(),
111
- details: { state: changedAgent.state },
112
- });
139
+ }
140
+ else {
141
+ debugLog(`[MCP] Agent ${agentId} found immediately (no retry needed)`);
142
+ }
143
+ if (!agent) {
144
+ debugLog(`[MCP] Warning: Agent ${agentId} not found in store after retries. ` +
145
+ `Continuing with limited context. This may affect authorization checks.`);
146
+ const events = eventStore.query({ limit: 50 });
147
+ debugLog(`[MCP] Events in store (${events.length}): ${events.map(e => `${e.type}:${e.payload?.agent_id || e.source?.agent_id}`).join(', ')}`);
148
+ }
149
+ const lineage = agent?.lineage ?? [];
150
+ // Create ActivityWatcher for wait_for_activity MCP tool
151
+ const sessionProvider = createSessionProviderFromAgentManager(agentManager);
152
+ const wakeHandler = createWakeHandler(sessionProvider, agentManager);
153
+ const activityWatcher = createActivityWatcher({
154
+ listAgents: () => agentManager.list(),
155
+ getAgent: (id) => agentManager.get(id),
156
+ }, wakeHandler);
157
+ // Wire EventStore events to ActivityWatcher
158
+ eventStore.onAgentChange((changedAgentId, changedAgent) => {
159
+ if (!activityWatcher.isRunning())
160
+ return;
161
+ if (!changedAgent)
162
+ return;
163
+ const eventType = changedAgent.state === "spawning" ? "agent_spawned"
164
+ : changedAgent.state === "running" ? "agent_started"
165
+ : changedAgent.state === "stopped" ? "agent_terminated"
166
+ : "agent_updated";
167
+ activityWatcher.processActivity({
168
+ id: `evt-${Date.now()}-${Math.random().toString(36).slice(2)}`,
169
+ type: eventType,
170
+ source: { agent_id: changedAgentId, role: changedAgent.role },
171
+ timestamp: Date.now(),
172
+ details: { state: changedAgent.state },
113
173
  });
114
- eventStore.onTaskChange((changedTaskId, task) => {
115
- if (!activityWatcher.isRunning())
116
- return;
117
- if (!task)
118
- return; // Task was deleted
119
- // Infer event type from task status
120
- const eventType = task.status === "pending" ? "task_created"
121
- : task.status === "assigned" ? "task_assigned"
122
- : task.status === "in_progress" ? "task_started"
123
- : task.status === "completed" ? "task_completed"
124
- : task.status === "failed" ? "task_failed"
125
- : "task_updated";
126
- activityWatcher.processActivity({
127
- id: `evt-${Date.now()}-${Math.random().toString(36).slice(2)}`,
128
- type: eventType,
129
- source: { agent_id: task.assigned_agent ?? undefined, task_id: changedTaskId },
130
- timestamp: Date.now(),
131
- details: { status: task.status },
132
- });
174
+ });
175
+ eventStore.onTaskChange((changedTaskId, task) => {
176
+ if (!activityWatcher.isRunning())
177
+ return;
178
+ if (!task)
179
+ return;
180
+ const eventType = task.status === "pending" ? "task_created"
181
+ : task.status === "assigned" ? "task_assigned"
182
+ : task.status === "in_progress" ? "task_started"
183
+ : task.status === "completed" ? "task_completed"
184
+ : task.status === "failed" ? "task_failed"
185
+ : "task_updated";
186
+ activityWatcher.processActivity({
187
+ id: `evt-${Date.now()}-${Math.random().toString(36).slice(2)}`,
188
+ type: eventType,
189
+ source: { agent_id: task.assigned_agent ?? undefined, task_id: changedTaskId },
190
+ timestamp: Date.now(),
191
+ details: { status: task.status },
133
192
  });
134
- // Start the ActivityWatcher
135
- activityWatcher.start();
136
- // Auto-subscribe Monitor agents to health events when they spawn
137
- agentManager.onLifecycleEvent((event) => {
138
- if (event.type === "spawned") {
139
- const spawnedAgent = event.agent;
140
- // Check if this is a Monitor agent
141
- if (spawnedAgent.role === "monitor" || spawnedAgent.role?.startsWith("monitor.")) {
142
- subscribeAgentToEvents(activityWatcher, spawnedAgent.id, MONITOR_DEFAULT_EVENT_TYPES, undefined, // No scope filter - monitor sees all
143
- "high" // High priority for health events
144
- );
145
- debugLog(`[MCP] Auto-subscribed Monitor ${spawnedAgent.id} to health events`);
146
- }
193
+ });
194
+ activityWatcher.start();
195
+ // Auto-subscribe Monitor agents to health events when they spawn
196
+ agentManager.onLifecycleEvent((event) => {
197
+ if (event.type === "spawned") {
198
+ const spawnedAgent = event.agent;
199
+ if (spawnedAgent.role === "monitor" || spawnedAgent.role?.startsWith("monitor.")) {
200
+ subscribeAgentToEvents(activityWatcher, spawnedAgent.id, MONITOR_DEFAULT_EVENT_TYPES, undefined, "high");
201
+ debugLog(`[MCP] Auto-subscribed Monitor ${spawnedAgent.id} to health events`);
147
202
  }
148
- });
149
- // Read team config from EventStore (stored by TeamRuntime.initialize)
150
- let teamTaskMode;
151
- const teamEvents = eventStore.query({ type: "status", limit: 50 });
152
- const teamConfigEvent = teamEvents.find((e) => e.payload?.team_config != null);
153
- if (teamConfigEvent?.payload?.team_config) {
154
- const tc = teamConfigEvent.payload.team_config;
155
- teamTaskMode = tc.taskMode;
156
- debugLog(`[MCP] Found team config: team=${tc.teamName}, strategy=${tc.strategy}, taskMode=${tc.taskMode}`);
157
203
  }
158
- // Register team roles in local RoleRegistry for capability checks
159
- const roleRegistry = agentManager.getRoleRegistry();
160
- let integrationStrategy;
161
- if (teamConfigEvent?.payload?.team_config) {
162
- const tc = teamConfigEvent.payload.team_config;
163
- // Register serialized team roles (stored by TeamRuntime.initialize)
164
- const roles = tc.roles;
165
- if (roles) {
166
- for (const roleDef of Object.values(roles)) {
167
- roleRegistry.registerRole(roleDef);
168
- }
169
- debugLog(`[MCP] Registered ${Object.keys(roles).length} team roles in RoleRegistry`);
204
+ });
205
+ // Read team config from EventStore
206
+ let teamTaskMode;
207
+ const teamEvents = eventStore.query({ type: "status", limit: 50 });
208
+ const teamConfigEvent = teamEvents.find((e) => e.payload?.team_config != null);
209
+ if (teamConfigEvent?.payload?.team_config) {
210
+ const tc = teamConfigEvent.payload.team_config;
211
+ teamTaskMode = tc.taskMode;
212
+ debugLog(`[MCP] Found team config: team=${tc.teamName}, strategy=${tc.strategy}, taskMode=${tc.taskMode}`);
213
+ }
214
+ // Register team roles in local RoleRegistry
215
+ const roleRegistry = agentManager.getRoleRegistry();
216
+ let integrationStrategy;
217
+ if (teamConfigEvent?.payload?.team_config) {
218
+ const tc = teamConfigEvent.payload.team_config;
219
+ const roles = tc.roles;
220
+ if (roles) {
221
+ for (const roleDef of Object.values(roles)) {
222
+ roleRegistry.registerRole(roleDef);
223
+ }
224
+ debugLog(`[MCP] Registered ${Object.keys(roles).length} team roles in RoleRegistry`);
225
+ }
226
+ const strategyName = tc.strategy;
227
+ if (strategyName) {
228
+ try {
229
+ const { defaultStrategyRegistry } = await import("../workspace/strategies/registry.js");
230
+ integrationStrategy = defaultStrategyRegistry.get(strategyName, tc.strategyConfig);
231
+ debugLog(`[MCP] Instantiated '${strategyName}' integration strategy`);
170
232
  }
171
- // Instantiate integration strategy from team config
172
- const strategyName = tc.strategy;
173
- if (strategyName) {
174
- try {
175
- const { defaultStrategyRegistry } = await import("../workspace/strategies/registry.js");
176
- integrationStrategy = defaultStrategyRegistry.get(strategyName, tc.strategyConfig);
177
- debugLog(`[MCP] Instantiated '${strategyName}' integration strategy`);
178
- }
179
- catch (err) {
180
- debugLog(`[MCP] Failed to instantiate strategy '${strategyName}': ${err}`);
181
- }
233
+ catch (err) {
234
+ debugLog(`[MCP] Failed to instantiate strategy '${strategyName}': ${err}`);
182
235
  }
183
236
  }
184
- // Create MCP server with agent context
185
- const mcpServer = createMCPServer({
186
- agent_id: agentId,
187
- session_id: agent?.session_id ?? "",
188
- task_id: taskId ?? undefined,
189
- lineage,
190
- cwd: agentCwd,
191
- }, {
192
- eventStore,
193
- agentManager,
194
- taskManager,
195
- messageRouter,
196
- activityWatcher,
197
- taskMode: teamTaskMode,
198
- roleRegistry,
199
- integrationStrategy,
200
- });
201
- // Start the MCP server (uses stdio transport)
202
- await mcpServer.start();
203
- // Handle graceful shutdown
204
- process.on("SIGINT", async () => {
205
- activityWatcher.stop();
206
- await mcpServer.close();
207
- await eventStore.close();
208
- process.exit(0);
209
- });
210
- process.on("SIGTERM", async () => {
211
- activityWatcher.stop();
212
- await mcpServer.close();
213
- await eventStore.close();
214
- process.exit(0);
215
- });
237
+ }
238
+ const mcpServer = createMCPServer({
239
+ agent_id: agentId,
240
+ session_id: agent?.session_id ?? "",
241
+ task_id: taskId ?? undefined,
242
+ lineage,
243
+ cwd: agentCwd,
244
+ }, {
245
+ eventStore,
246
+ agentManager,
247
+ taskManager,
248
+ messageRouter,
249
+ activityWatcher,
250
+ taskMode: teamTaskMode,
251
+ roleRegistry,
252
+ integrationStrategy,
253
+ taskBackend,
254
+ taskToolProvider,
255
+ });
256
+ await mcpServer.start();
257
+ // Handle graceful shutdown
258
+ process.on("SIGINT", async () => {
259
+ activityWatcher.stop();
260
+ try {
261
+ openTasksClient?.disconnect();
262
+ }
263
+ catch { /* ignore */ }
264
+ await mcpServer.close();
265
+ await eventStore.close();
266
+ process.exit(0);
267
+ });
268
+ process.on("SIGTERM", async () => {
269
+ activityWatcher.stop();
270
+ try {
271
+ openTasksClient?.disconnect();
272
+ }
273
+ catch { /* ignore */ }
274
+ await mcpServer.close();
275
+ await eventStore.close();
276
+ process.exit(0);
277
+ });
278
+ }
279
+ // =============================================================================
280
+ // Main
281
+ // =============================================================================
282
+ async function main() {
283
+ const agentId = process.env.MACRO_AGENT_ID;
284
+ const serverUrl = process.env.MACRO_SERVER_URL;
285
+ const instanceId = process.env.MACRO_INSTANCE_ID;
286
+ if (!agentId) {
287
+ console.error("Error: MACRO_AGENT_ID environment variable is required");
288
+ process.exit(1);
289
+ }
290
+ try {
291
+ if (serverUrl) {
292
+ // Thin-client mode: forward tool calls to main server via MAP WebSocket
293
+ await startThinClient();
294
+ }
295
+ else if (instanceId) {
296
+ // Legacy mode: create full local service stack with shared SQLite
297
+ await startLegacy();
298
+ }
299
+ else {
300
+ console.error("Error: Either MACRO_SERVER_URL or MACRO_INSTANCE_ID environment variable is required");
301
+ process.exit(1);
302
+ }
216
303
  }
217
304
  catch (error) {
218
305
  console.error(`Failed to start MCP server: ${error}`);
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/cli/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/cli/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export interface ACPServerOptions {
2
+ /** Working directory for agents */
3
+ cwd?: string;
4
+ /** Stdio ACP-only mode (for embedded use with acp-factory) */
5
+ acp?: boolean;
6
+ /** Port for server (default: 3001) */
7
+ port?: number;
8
+ /** Host for server (default: localhost) */
9
+ host?: string;
10
+ /** Instance ID to reuse an existing event store (omit for new instance) */
11
+ instanceId?: string;
12
+ /** Disable authentication (for local development/testing) */
13
+ noAuth?: boolean;
14
+ }
15
+ /**
16
+ * Parse command line arguments.
17
+ * @param argv Optional array of arguments (defaults to process.argv.slice(2))
18
+ */
19
+ export declare function parseArgs(argv?: string[]): ACPServerOptions;
20
+ //# sourceMappingURL=parse-args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-args.d.ts","sourceRoot":"","sources":["../../src/cli/parse-args.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,gBAAgB,CA8B3D"}
@@ -0,0 +1,43 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ /**
5
+ * Parse command line arguments.
6
+ * @param argv Optional array of arguments (defaults to process.argv.slice(2))
7
+ */
8
+ export function parseArgs(argv) {
9
+ const args = argv ?? process.argv.slice(2);
10
+ const options = {};
11
+ for (let i = 0; i < args.length; i++) {
12
+ if (args[i] === "--version" || args[i] === "-v") {
13
+ const __dirname = dirname(fileURLToPath(import.meta.url));
14
+ const pkg = JSON.parse(readFileSync(join(__dirname, "../../package.json"), "utf-8"));
15
+ console.log(pkg.version);
16
+ process.exit(0);
17
+ }
18
+ else if (args[i] === "--cwd" && args[i + 1]) {
19
+ options.cwd = args[i + 1];
20
+ i++;
21
+ }
22
+ else if (args[i] === "--acp") {
23
+ options.acp = true;
24
+ }
25
+ else if (args[i] === "--port" && args[i + 1]) {
26
+ options.port = parseInt(args[i + 1], 10);
27
+ i++;
28
+ }
29
+ else if (args[i] === "--host" && args[i + 1]) {
30
+ options.host = args[i + 1];
31
+ i++;
32
+ }
33
+ else if (args[i] === "--instance-id" && args[i + 1]) {
34
+ options.instanceId = args[i + 1];
35
+ i++;
36
+ }
37
+ else if (args[i] === "--no-auth") {
38
+ options.noAuth = true;
39
+ }
40
+ }
41
+ return options;
42
+ }
43
+ //# sourceMappingURL=parse-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-args.js","sourceRoot":"","sources":["../../src/cli/parse-args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAiBzC;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAe;IACvC,MAAM,IAAI,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAqB,EAAE,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzC,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;YACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Generate a stable, deterministic instance ID from a directory path.
3
+ *
4
+ * This ensures the same project always uses the same EventStore,
5
+ * so agents and sessions persist across server restarts.
6
+ */
7
+ export declare function getStableInstanceId(cwd: string): string;
8
+ //# sourceMappingURL=stable-instance-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stable-instance-id.d.ts","sourceRoot":"","sources":["../../src/cli/stable-instance-id.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIvD"}