macro-agent 0.0.10 → 0.0.12

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 (518) hide show
  1. package/.macro-agent/teams/self-driving/prompts/grinder.md +27 -0
  2. package/.macro-agent/teams/self-driving/prompts/judge.md +27 -0
  3. package/.macro-agent/teams/self-driving/prompts/planner.md +33 -0
  4. package/.macro-agent/teams/self-driving/roles/grinder.yaml +17 -0
  5. package/.macro-agent/teams/self-driving/roles/judge.yaml +24 -0
  6. package/.macro-agent/teams/self-driving/roles/planner.yaml +18 -0
  7. package/.macro-agent/teams/self-driving/team.yaml +103 -0
  8. package/.macro-agent/teams/structured/prompts/developer.md +26 -0
  9. package/.macro-agent/teams/structured/prompts/lead.md +25 -0
  10. package/.macro-agent/teams/structured/prompts/reviewer.md +24 -0
  11. package/.macro-agent/teams/structured/roles/developer.yaml +12 -0
  12. package/.macro-agent/teams/structured/roles/lead.yaml +11 -0
  13. package/.macro-agent/teams/structured/roles/reviewer.yaml +19 -0
  14. package/.macro-agent/teams/structured/team.yaml +89 -0
  15. package/.sudocode/issues.jsonl +56 -51
  16. package/.sudocode/specs.jsonl +8 -1
  17. package/CLAUDE.md +121 -30
  18. package/README.md +60 -3
  19. package/dist/acp/macro-agent.d.ts +4 -0
  20. package/dist/acp/macro-agent.d.ts.map +1 -1
  21. package/dist/acp/macro-agent.js +50 -4
  22. package/dist/acp/macro-agent.js.map +1 -1
  23. package/dist/acp/session-mapper.d.ts +20 -1
  24. package/dist/acp/session-mapper.d.ts.map +1 -1
  25. package/dist/acp/session-mapper.js +90 -1
  26. package/dist/acp/session-mapper.js.map +1 -1
  27. package/dist/acp/types.d.ts +24 -1
  28. package/dist/acp/types.d.ts.map +1 -1
  29. package/dist/acp/types.js.map +1 -1
  30. package/dist/agent/agent-manager.d.ts +40 -1
  31. package/dist/agent/agent-manager.d.ts.map +1 -1
  32. package/dist/agent/agent-manager.js +172 -8
  33. package/dist/agent/agent-manager.js.map +1 -1
  34. package/dist/agent/types.d.ts +22 -0
  35. package/dist/agent/types.d.ts.map +1 -1
  36. package/dist/agent/types.js.map +1 -1
  37. package/dist/agent/wake.d.ts +15 -0
  38. package/dist/agent/wake.d.ts.map +1 -1
  39. package/dist/agent/wake.js +15 -0
  40. package/dist/agent/wake.js.map +1 -1
  41. package/dist/agent-detection/command-builder.d.ts +30 -0
  42. package/dist/agent-detection/command-builder.d.ts.map +1 -0
  43. package/dist/agent-detection/command-builder.js +71 -0
  44. package/dist/agent-detection/command-builder.js.map +1 -0
  45. package/dist/agent-detection/detector.d.ts +84 -0
  46. package/dist/agent-detection/detector.d.ts.map +1 -0
  47. package/dist/agent-detection/detector.js +240 -0
  48. package/dist/agent-detection/detector.js.map +1 -0
  49. package/dist/agent-detection/index.d.ts +12 -0
  50. package/dist/agent-detection/index.d.ts.map +1 -0
  51. package/dist/agent-detection/index.js +14 -0
  52. package/dist/agent-detection/index.js.map +1 -0
  53. package/dist/agent-detection/registry.d.ts +53 -0
  54. package/dist/agent-detection/registry.d.ts.map +1 -0
  55. package/dist/agent-detection/registry.js +177 -0
  56. package/dist/agent-detection/registry.js.map +1 -0
  57. package/dist/agent-detection/types.d.ts +121 -0
  58. package/dist/agent-detection/types.d.ts.map +1 -0
  59. package/dist/agent-detection/types.js +20 -0
  60. package/dist/agent-detection/types.js.map +1 -0
  61. package/dist/api/server.d.ts +5 -1
  62. package/dist/api/server.d.ts.map +1 -1
  63. package/dist/api/server.js +362 -0
  64. package/dist/api/server.js.map +1 -1
  65. package/dist/api/types.d.ts +50 -1
  66. package/dist/api/types.d.ts.map +1 -1
  67. package/dist/cli/acp.d.ts +2 -0
  68. package/dist/cli/acp.d.ts.map +1 -1
  69. package/dist/cli/acp.js +8 -1
  70. package/dist/cli/acp.js.map +1 -1
  71. package/dist/cli/index.js +29 -0
  72. package/dist/cli/index.js.map +1 -1
  73. package/dist/cli/mcp.js +38 -0
  74. package/dist/cli/mcp.js.map +1 -1
  75. package/dist/config/index.d.ts +2 -0
  76. package/dist/config/index.d.ts.map +1 -0
  77. package/dist/config/index.js +2 -0
  78. package/dist/config/index.js.map +1 -0
  79. package/dist/config/project-config.d.ts +46 -0
  80. package/dist/config/project-config.d.ts.map +1 -0
  81. package/dist/config/project-config.js +68 -0
  82. package/dist/config/project-config.js.map +1 -0
  83. package/dist/lifecycle/cascade.d.ts +1 -1
  84. package/dist/lifecycle/cascade.d.ts.map +1 -1
  85. package/dist/lifecycle/handlers/index.d.ts +4 -0
  86. package/dist/lifecycle/handlers/index.d.ts.map +1 -1
  87. package/dist/lifecycle/handlers/index.js +2 -0
  88. package/dist/lifecycle/handlers/index.js.map +1 -1
  89. package/dist/lifecycle/handlers/worker.d.ts +4 -0
  90. package/dist/lifecycle/handlers/worker.d.ts.map +1 -1
  91. package/dist/lifecycle/handlers/worker.js +35 -3
  92. package/dist/lifecycle/handlers/worker.js.map +1 -1
  93. package/dist/mail/conversation-map.d.ts +33 -0
  94. package/dist/mail/conversation-map.d.ts.map +1 -0
  95. package/dist/mail/conversation-map.js +61 -0
  96. package/dist/mail/conversation-map.js.map +1 -0
  97. package/dist/mail/index.d.ts +11 -0
  98. package/dist/mail/index.d.ts.map +1 -0
  99. package/dist/mail/index.js +11 -0
  100. package/dist/mail/index.js.map +1 -0
  101. package/dist/mail/mail-service.d.ts +85 -0
  102. package/dist/mail/mail-service.d.ts.map +1 -0
  103. package/dist/mail/mail-service.js +121 -0
  104. package/dist/mail/mail-service.js.map +1 -0
  105. package/dist/mail/stores/eventstore-conversation-store.d.ts +40 -0
  106. package/dist/mail/stores/eventstore-conversation-store.d.ts.map +1 -0
  107. package/dist/mail/stores/eventstore-conversation-store.js +131 -0
  108. package/dist/mail/stores/eventstore-conversation-store.js.map +1 -0
  109. package/dist/mail/stores/eventstore-participant-store.d.ts +43 -0
  110. package/dist/mail/stores/eventstore-participant-store.d.ts.map +1 -0
  111. package/dist/mail/stores/eventstore-participant-store.js +145 -0
  112. package/dist/mail/stores/eventstore-participant-store.js.map +1 -0
  113. package/dist/mail/stores/eventstore-thread-store.d.ts +46 -0
  114. package/dist/mail/stores/eventstore-thread-store.d.ts.map +1 -0
  115. package/dist/mail/stores/eventstore-thread-store.js +118 -0
  116. package/dist/mail/stores/eventstore-thread-store.js.map +1 -0
  117. package/dist/mail/stores/eventstore-turn-store.d.ts +47 -0
  118. package/dist/mail/stores/eventstore-turn-store.d.ts.map +1 -0
  119. package/dist/mail/stores/eventstore-turn-store.js +153 -0
  120. package/dist/mail/stores/eventstore-turn-store.js.map +1 -0
  121. package/dist/mail/stores/index.d.ts +12 -0
  122. package/dist/mail/stores/index.d.ts.map +1 -0
  123. package/dist/mail/stores/index.js +12 -0
  124. package/dist/mail/stores/index.js.map +1 -0
  125. package/dist/mail/stores/types.d.ts +146 -0
  126. package/dist/mail/stores/types.d.ts.map +1 -0
  127. package/dist/mail/stores/types.js +13 -0
  128. package/dist/mail/stores/types.js.map +1 -0
  129. package/dist/mail/turn-recorder.d.ts +30 -0
  130. package/dist/mail/turn-recorder.d.ts.map +1 -0
  131. package/dist/mail/turn-recorder.js +98 -0
  132. package/dist/mail/turn-recorder.js.map +1 -0
  133. package/dist/map/adapter/acp-over-map.d.ts.map +1 -1
  134. package/dist/map/adapter/acp-over-map.js +32 -2
  135. package/dist/map/adapter/acp-over-map.js.map +1 -1
  136. package/dist/map/adapter/event-translator.d.ts.map +1 -1
  137. package/dist/map/adapter/event-translator.js +4 -0
  138. package/dist/map/adapter/event-translator.js.map +1 -1
  139. package/dist/map/adapter/extensions/agent-detection.d.ts +49 -0
  140. package/dist/map/adapter/extensions/agent-detection.d.ts.map +1 -0
  141. package/dist/map/adapter/extensions/agent-detection.js +91 -0
  142. package/dist/map/adapter/extensions/agent-detection.js.map +1 -0
  143. package/dist/map/adapter/extensions/index.d.ts +10 -1
  144. package/dist/map/adapter/extensions/index.d.ts.map +1 -1
  145. package/dist/map/adapter/extensions/index.js +39 -0
  146. package/dist/map/adapter/extensions/index.js.map +1 -1
  147. package/dist/map/adapter/extensions/resume.d.ts +47 -0
  148. package/dist/map/adapter/extensions/resume.d.ts.map +1 -0
  149. package/dist/map/adapter/extensions/resume.js +59 -0
  150. package/dist/map/adapter/extensions/resume.js.map +1 -0
  151. package/dist/map/adapter/extensions/workspace-files.d.ts +42 -0
  152. package/dist/map/adapter/extensions/workspace-files.d.ts.map +1 -0
  153. package/dist/map/adapter/extensions/workspace-files.js +338 -0
  154. package/dist/map/adapter/extensions/workspace-files.js.map +1 -0
  155. package/dist/map/adapter/mail-handler-adapter.d.ts +27 -0
  156. package/dist/map/adapter/mail-handler-adapter.d.ts.map +1 -0
  157. package/dist/map/adapter/mail-handler-adapter.js +292 -0
  158. package/dist/map/adapter/mail-handler-adapter.js.map +1 -0
  159. package/dist/map/adapter/map-adapter.d.ts +34 -10
  160. package/dist/map/adapter/map-adapter.d.ts.map +1 -1
  161. package/dist/map/adapter/map-adapter.js +110 -14
  162. package/dist/map/adapter/map-adapter.js.map +1 -1
  163. package/dist/map/adapter/rpc-handler.d.ts +4 -1
  164. package/dist/map/adapter/rpc-handler.d.ts.map +1 -1
  165. package/dist/map/adapter/rpc-handler.js +6 -0
  166. package/dist/map/adapter/rpc-handler.js.map +1 -1
  167. package/dist/map/index.d.ts +1 -0
  168. package/dist/map/index.d.ts.map +1 -1
  169. package/dist/map/index.js +2 -0
  170. package/dist/map/index.js.map +1 -1
  171. package/dist/map/types.d.ts +3 -1
  172. package/dist/map/types.d.ts.map +1 -1
  173. package/dist/map/types.js.map +1 -1
  174. package/dist/mcp/mcp-server.d.ts +6 -0
  175. package/dist/mcp/mcp-server.d.ts.map +1 -1
  176. package/dist/mcp/mcp-server.js +45 -0
  177. package/dist/mcp/mcp-server.js.map +1 -1
  178. package/dist/mcp/tools/claim_task.d.ts +35 -0
  179. package/dist/mcp/tools/claim_task.d.ts.map +1 -0
  180. package/dist/mcp/tools/claim_task.js +58 -0
  181. package/dist/mcp/tools/claim_task.js.map +1 -0
  182. package/dist/mcp/tools/done.d.ts +15 -2
  183. package/dist/mcp/tools/done.d.ts.map +1 -1
  184. package/dist/mcp/tools/done.js +45 -10
  185. package/dist/mcp/tools/done.js.map +1 -1
  186. package/dist/mcp/tools/list_claimable_tasks.d.ts +38 -0
  187. package/dist/mcp/tools/list_claimable_tasks.d.ts.map +1 -0
  188. package/dist/mcp/tools/list_claimable_tasks.js +63 -0
  189. package/dist/mcp/tools/list_claimable_tasks.js.map +1 -0
  190. package/dist/mcp/tools/unclaim_task.d.ts +31 -0
  191. package/dist/mcp/tools/unclaim_task.d.ts.map +1 -0
  192. package/dist/mcp/tools/unclaim_task.js +47 -0
  193. package/dist/mcp/tools/unclaim_task.js.map +1 -0
  194. package/dist/metrics/index.d.ts +2 -0
  195. package/dist/metrics/index.d.ts.map +1 -0
  196. package/dist/metrics/index.js +2 -0
  197. package/dist/metrics/index.js.map +1 -0
  198. package/dist/metrics/metrics.d.ts +79 -0
  199. package/dist/metrics/metrics.d.ts.map +1 -0
  200. package/dist/metrics/metrics.js +166 -0
  201. package/dist/metrics/metrics.js.map +1 -0
  202. package/dist/roles/capabilities.d.ts +1 -0
  203. package/dist/roles/capabilities.d.ts.map +1 -1
  204. package/dist/roles/capabilities.js +3 -0
  205. package/dist/roles/capabilities.js.map +1 -1
  206. package/dist/roles/types.d.ts +1 -1
  207. package/dist/roles/types.d.ts.map +1 -1
  208. package/dist/router/channels.d.ts +2 -4
  209. package/dist/router/channels.d.ts.map +1 -1
  210. package/dist/router/channels.js.map +1 -1
  211. package/dist/router/message-router.d.ts +85 -9
  212. package/dist/router/message-router.d.ts.map +1 -1
  213. package/dist/router/message-router.js +203 -14
  214. package/dist/router/message-router.js.map +1 -1
  215. package/dist/router/role-resolver.d.ts +10 -1
  216. package/dist/router/role-resolver.d.ts.map +1 -1
  217. package/dist/router/role-resolver.js +15 -1
  218. package/dist/router/role-resolver.js.map +1 -1
  219. package/dist/router/types.d.ts +30 -1
  220. package/dist/router/types.d.ts.map +1 -1
  221. package/dist/router/types.js.map +1 -1
  222. package/dist/server/combined-server.d.ts +6 -0
  223. package/dist/server/combined-server.d.ts.map +1 -1
  224. package/dist/server/combined-server.js +24 -2
  225. package/dist/server/combined-server.js.map +1 -1
  226. package/dist/store/event-store.d.ts +14 -1
  227. package/dist/store/event-store.d.ts.map +1 -1
  228. package/dist/store/event-store.js +456 -4
  229. package/dist/store/event-store.js.map +1 -1
  230. package/dist/store/types/agents.d.ts +1 -1
  231. package/dist/store/types/agents.d.ts.map +1 -1
  232. package/dist/store/types/conversations.d.ts +91 -0
  233. package/dist/store/types/conversations.d.ts.map +1 -0
  234. package/dist/store/types/conversations.js +8 -0
  235. package/dist/store/types/conversations.js.map +1 -0
  236. package/dist/store/types/events.d.ts +1 -1
  237. package/dist/store/types/events.d.ts.map +1 -1
  238. package/dist/store/types/events.js.map +1 -1
  239. package/dist/store/types/index.d.ts +2 -0
  240. package/dist/store/types/index.d.ts.map +1 -1
  241. package/dist/store/types/index.js +2 -0
  242. package/dist/store/types/index.js.map +1 -1
  243. package/dist/store/types/sessions.d.ts +44 -0
  244. package/dist/store/types/sessions.d.ts.map +1 -0
  245. package/dist/store/types/sessions.js +9 -0
  246. package/dist/store/types/sessions.js.map +1 -0
  247. package/dist/store/types/tasks.d.ts +2 -0
  248. package/dist/store/types/tasks.d.ts.map +1 -1
  249. package/dist/task/backend/memory.d.ts +4 -1
  250. package/dist/task/backend/memory.d.ts.map +1 -1
  251. package/dist/task/backend/memory.js +81 -0
  252. package/dist/task/backend/memory.js.map +1 -1
  253. package/dist/task/backend/types.d.ts +30 -0
  254. package/dist/task/backend/types.d.ts.map +1 -1
  255. package/dist/task/backend/types.js.map +1 -1
  256. package/dist/teams/index.d.ts +4 -0
  257. package/dist/teams/index.d.ts.map +1 -0
  258. package/dist/teams/index.js +4 -0
  259. package/dist/teams/index.js.map +1 -0
  260. package/dist/teams/team-loader.d.ts +20 -0
  261. package/dist/teams/team-loader.d.ts.map +1 -0
  262. package/dist/teams/team-loader.js +293 -0
  263. package/dist/teams/team-loader.js.map +1 -0
  264. package/dist/teams/team-runtime.d.ts +139 -0
  265. package/dist/teams/team-runtime.d.ts.map +1 -0
  266. package/dist/teams/team-runtime.js +613 -0
  267. package/dist/teams/team-runtime.js.map +1 -0
  268. package/dist/teams/types.d.ts +266 -0
  269. package/dist/teams/types.d.ts.map +1 -0
  270. package/dist/teams/types.js +20 -0
  271. package/dist/teams/types.js.map +1 -0
  272. package/dist/trigger/router/trigger-router.d.ts +30 -3
  273. package/dist/trigger/router/trigger-router.d.ts.map +1 -1
  274. package/dist/trigger/router/trigger-router.js +30 -3
  275. package/dist/trigger/router/trigger-router.js.map +1 -1
  276. package/dist/trigger/wake/types.d.ts +31 -5
  277. package/dist/trigger/wake/types.d.ts.map +1 -1
  278. package/dist/trigger/wake/types.js +19 -0
  279. package/dist/trigger/wake/types.js.map +1 -1
  280. package/dist/workspace/dataplane-adapter.d.ts +1 -1
  281. package/dist/workspace/dataplane-adapter.d.ts.map +1 -1
  282. package/dist/workspace/dataplane-adapter.js +1 -1
  283. package/dist/workspace/dataplane-adapter.js.map +1 -1
  284. package/dist/workspace/index.d.ts +1 -1
  285. package/dist/workspace/index.d.ts.map +1 -1
  286. package/dist/workspace/strategies/index.d.ts +6 -0
  287. package/dist/workspace/strategies/index.d.ts.map +1 -0
  288. package/dist/workspace/strategies/index.js +5 -0
  289. package/dist/workspace/strategies/index.js.map +1 -0
  290. package/dist/workspace/strategies/optimistic.d.ts +26 -0
  291. package/dist/workspace/strategies/optimistic.d.ts.map +1 -0
  292. package/dist/workspace/strategies/optimistic.js +121 -0
  293. package/dist/workspace/strategies/optimistic.js.map +1 -0
  294. package/dist/workspace/strategies/queue.d.ts +26 -0
  295. package/dist/workspace/strategies/queue.d.ts.map +1 -0
  296. package/dist/workspace/strategies/queue.js +67 -0
  297. package/dist/workspace/strategies/queue.js.map +1 -0
  298. package/dist/workspace/strategies/registry.d.ts +37 -0
  299. package/dist/workspace/strategies/registry.d.ts.map +1 -0
  300. package/dist/workspace/strategies/registry.js +63 -0
  301. package/dist/workspace/strategies/registry.js.map +1 -0
  302. package/dist/workspace/strategies/trunk.d.ts +20 -0
  303. package/dist/workspace/strategies/trunk.d.ts.map +1 -0
  304. package/dist/workspace/strategies/trunk.js +108 -0
  305. package/dist/workspace/strategies/trunk.js.map +1 -0
  306. package/dist/workspace/strategies/types.d.ts +104 -0
  307. package/dist/workspace/strategies/types.d.ts.map +1 -0
  308. package/dist/workspace/strategies/types.js +11 -0
  309. package/dist/workspace/strategies/types.js.map +1 -0
  310. package/dist/workspace/types.d.ts +1 -1
  311. package/dist/workspace/types.d.ts.map +1 -1
  312. package/dist/workspace/workspace-manager.d.ts +1 -1
  313. package/dist/workspace/workspace-manager.d.ts.map +1 -1
  314. package/docs/implementation-details.md +1127 -0
  315. package/docs/implementation-summary.md +448 -0
  316. package/docs/mail-integration.md +608 -0
  317. package/docs/plan-self-driving-support.md +433 -0
  318. package/docs/spec-self-driving-support.md +462 -0
  319. package/docs/team-templates.md +860 -0
  320. package/docs/teams.md +233 -0
  321. package/package.json +5 -3
  322. package/src/acp/__tests__/integration.test.ts +161 -1
  323. package/src/acp/__tests__/macro-agent.test.ts +95 -0
  324. package/src/acp/__tests__/session-persistence.test.ts +276 -0
  325. package/src/acp/macro-agent.ts +79 -7
  326. package/src/acp/session-mapper.ts +108 -1
  327. package/src/acp/types.ts +33 -1
  328. package/src/agent/agent-manager.ts +278 -6
  329. package/src/agent/types.ts +27 -0
  330. package/src/agent/wake.ts +15 -0
  331. package/src/agent-detection/__tests__/command-builder.test.ts +336 -0
  332. package/src/agent-detection/__tests__/detector.test.ts +768 -0
  333. package/src/agent-detection/__tests__/registry.test.ts +254 -0
  334. package/src/agent-detection/command-builder.ts +90 -0
  335. package/src/agent-detection/detector.ts +307 -0
  336. package/src/agent-detection/index.ts +36 -0
  337. package/src/agent-detection/registry.ts +200 -0
  338. package/src/agent-detection/types.ts +184 -0
  339. package/src/api/__tests__/conversation-api.test.ts +468 -0
  340. package/src/api/server.ts +425 -1
  341. package/src/api/types.ts +64 -1
  342. package/src/cli/acp.ts +9 -1
  343. package/src/cli/index.ts +44 -0
  344. package/src/cli/mcp.ts +47 -0
  345. package/src/config/index.ts +9 -0
  346. package/src/config/project-config.ts +107 -0
  347. package/src/lifecycle/cascade.ts +1 -1
  348. package/src/lifecycle/handlers/index.ts +8 -0
  349. package/src/lifecycle/handlers/worker.ts +48 -3
  350. package/src/mail/__tests__/conversation-lifecycle.test.ts +409 -0
  351. package/src/mail/__tests__/eventstore-stores.test.ts +1073 -0
  352. package/src/mail/__tests__/mail-full-agent.e2e.test.ts +575 -0
  353. package/src/mail/__tests__/mail-integration.test.ts +759 -0
  354. package/src/mail/__tests__/mail-map-protocol.e2e.test.ts +1068 -0
  355. package/src/mail/__tests__/mail-service.test.ts +506 -0
  356. package/src/mail/__tests__/turn-recorder.test.ts +328 -0
  357. package/src/mail/conversation-map.ts +107 -0
  358. package/src/mail/index.ts +25 -0
  359. package/src/mail/mail-service.ts +257 -0
  360. package/src/mail/stores/eventstore-conversation-store.ts +146 -0
  361. package/src/mail/stores/eventstore-participant-store.ts +172 -0
  362. package/src/mail/stores/eventstore-thread-store.ts +129 -0
  363. package/src/mail/stores/eventstore-turn-store.ts +173 -0
  364. package/src/mail/stores/index.ts +12 -0
  365. package/src/mail/stores/types.ts +160 -0
  366. package/src/mail/turn-recorder.ts +124 -0
  367. package/src/map/README.md +79 -0
  368. package/src/map/adapter/__tests__/extensions.test.ts +359 -0
  369. package/src/map/adapter/__tests__/map-adapter.test.ts +90 -0
  370. package/src/map/adapter/__tests__/workspace-files.test.ts +673 -0
  371. package/src/map/adapter/acp-over-map.ts +45 -2
  372. package/src/map/adapter/event-translator.ts +4 -0
  373. package/src/map/adapter/extensions/agent-detection.ts +201 -0
  374. package/src/map/adapter/extensions/index.ts +63 -0
  375. package/src/map/adapter/extensions/resume.ts +114 -0
  376. package/src/map/adapter/extensions/workspace-files.ts +449 -0
  377. package/src/map/adapter/mail-handler-adapter.ts +429 -0
  378. package/src/map/adapter/map-adapter.ts +173 -27
  379. package/src/map/adapter/rpc-handler.ts +8 -1
  380. package/src/map/index.ts +3 -0
  381. package/src/map/types.ts +3 -1
  382. package/src/mcp/mcp-server.ts +67 -0
  383. package/src/mcp/tools/claim_task.ts +86 -0
  384. package/src/mcp/tools/done.ts +59 -10
  385. package/src/mcp/tools/list_claimable_tasks.ts +93 -0
  386. package/src/mcp/tools/unclaim_task.ts +71 -0
  387. package/src/metrics/index.ts +9 -0
  388. package/src/metrics/metrics.ts +280 -0
  389. package/src/roles/capabilities.ts +3 -0
  390. package/src/roles/types.ts +2 -1
  391. package/src/router/README.md +120 -0
  392. package/src/router/__tests__/message-router.test.ts +561 -0
  393. package/src/router/channels.ts +3 -4
  394. package/src/router/message-router.ts +308 -22
  395. package/src/router/role-resolver.ts +22 -1
  396. package/src/router/types.ts +36 -1
  397. package/src/server/combined-server.ts +36 -2
  398. package/src/store/README.md +134 -0
  399. package/src/store/event-store.ts +546 -3
  400. package/src/store/types/agents.ts +1 -1
  401. package/src/store/types/conversations.ts +129 -0
  402. package/src/store/types/events.ts +5 -1
  403. package/src/store/types/index.ts +2 -0
  404. package/src/store/types/sessions.ts +53 -0
  405. package/src/store/types/tasks.ts +3 -0
  406. package/src/task/backend/memory.ts +116 -0
  407. package/src/task/backend/types.ts +43 -0
  408. package/src/teams/__tests__/cross-subsystem.integration.test.ts +983 -0
  409. package/src/teams/__tests__/e2e/team-runtime.e2e.test.ts +553 -0
  410. package/src/teams/__tests__/team-system.test.ts +1280 -0
  411. package/src/teams/index.ts +13 -0
  412. package/src/teams/team-loader.ts +434 -0
  413. package/src/teams/team-runtime.ts +727 -0
  414. package/src/teams/types.ts +377 -0
  415. package/src/trigger/router/trigger-router.ts +30 -3
  416. package/src/trigger/wake/types.ts +32 -5
  417. package/src/trigger/wake/wake-manager.ts +2 -2
  418. package/src/workspace/dataplane-adapter.ts +1 -1
  419. package/src/workspace/index.ts +1 -1
  420. package/src/workspace/strategies/index.ts +18 -0
  421. package/src/workspace/strategies/optimistic.ts +136 -0
  422. package/src/workspace/strategies/queue.ts +81 -0
  423. package/src/workspace/strategies/registry.ts +89 -0
  424. package/src/workspace/strategies/trunk.ts +123 -0
  425. package/src/workspace/strategies/types.ts +145 -0
  426. package/src/workspace/types.ts +1 -1
  427. package/src/workspace/workspace-manager.ts +1 -1
  428. package/.claude/settings.local.json +0 -59
  429. package/dist/map/utils/address-translation.d.ts +0 -99
  430. package/dist/map/utils/address-translation.d.ts.map +0 -1
  431. package/dist/map/utils/address-translation.js +0 -285
  432. package/dist/map/utils/address-translation.js.map +0 -1
  433. package/dist/map/utils/index.d.ts +0 -7
  434. package/dist/map/utils/index.d.ts.map +0 -1
  435. package/dist/map/utils/index.js +0 -7
  436. package/dist/map/utils/index.js.map +0 -1
  437. package/openspec/AGENTS.md +0 -456
  438. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/design.md +0 -128
  439. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/proposal.md +0 -49
  440. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/specs/agent-manager/spec.md +0 -150
  441. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/specs/cli-api/spec.md +0 -258
  442. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/specs/event-store/spec.md +0 -160
  443. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/specs/mcp-tools/spec.md +0 -224
  444. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/specs/message-router/spec.md +0 -153
  445. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/specs/task-manager/spec.md +0 -136
  446. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/tasks.md +0 -147
  447. package/openspec/project.md +0 -31
  448. package/openspec/specs/agent-manager/spec.md +0 -154
  449. package/openspec/specs/cli-api/spec.md +0 -262
  450. package/openspec/specs/event-store/spec.md +0 -164
  451. package/openspec/specs/mcp-tools/spec.md +0 -228
  452. package/openspec/specs/message-router/spec.md +0 -157
  453. package/openspec/specs/task-manager/spec.md +0 -140
  454. package/references/acp-factory-ref/CHANGELOG.md +0 -33
  455. package/references/acp-factory-ref/LICENSE +0 -21
  456. package/references/acp-factory-ref/README.md +0 -341
  457. package/references/acp-factory-ref/package-lock.json +0 -3102
  458. package/references/acp-factory-ref/package.json +0 -96
  459. package/references/acp-factory-ref/python/CHANGELOG.md +0 -33
  460. package/references/acp-factory-ref/python/LICENSE +0 -21
  461. package/references/acp-factory-ref/python/Makefile +0 -57
  462. package/references/acp-factory-ref/python/README.md +0 -253
  463. package/references/acp-factory-ref/python/pyproject.toml +0 -73
  464. package/references/acp-factory-ref/python/tests/__init__.py +0 -0
  465. package/references/acp-factory-ref/python/tests/e2e/__init__.py +0 -1
  466. package/references/acp-factory-ref/python/tests/e2e/test_codex_e2e.py +0 -349
  467. package/references/acp-factory-ref/python/tests/e2e/test_gemini_e2e.py +0 -165
  468. package/references/acp-factory-ref/python/tests/e2e/test_opencode_e2e.py +0 -296
  469. package/references/acp-factory-ref/python/tests/test_client_handler.py +0 -543
  470. package/references/acp-factory-ref/python/tests/test_pushable.py +0 -199
  471. package/references/claude-code-acp/.github/workflows/ci.yml +0 -45
  472. package/references/claude-code-acp/.github/workflows/publish.yml +0 -34
  473. package/references/claude-code-acp/.prettierrc.json +0 -4
  474. package/references/claude-code-acp/CHANGELOG.md +0 -249
  475. package/references/claude-code-acp/LICENSE +0 -222
  476. package/references/claude-code-acp/README.md +0 -53
  477. package/references/claude-code-acp/docs/RELEASES.md +0 -24
  478. package/references/claude-code-acp/eslint.config.js +0 -48
  479. package/references/claude-code-acp/package-lock.json +0 -4570
  480. package/references/claude-code-acp/package.json +0 -88
  481. package/references/claude-code-acp/scripts/release.sh +0 -119
  482. package/references/claude-code-acp/src/acp-agent.ts +0 -2065
  483. package/references/claude-code-acp/src/index.ts +0 -26
  484. package/references/claude-code-acp/src/lib.ts +0 -38
  485. package/references/claude-code-acp/src/mcp-server.ts +0 -911
  486. package/references/claude-code-acp/src/settings.ts +0 -522
  487. package/references/claude-code-acp/src/tests/.claude/commands/quick-math.md +0 -5
  488. package/references/claude-code-acp/src/tests/.claude/commands/say-hello.md +0 -6
  489. package/references/claude-code-acp/src/tests/acp-agent-fork.test.ts +0 -479
  490. package/references/claude-code-acp/src/tests/acp-agent.test.ts +0 -1502
  491. package/references/claude-code-acp/src/tests/extract-lines.test.ts +0 -103
  492. package/references/claude-code-acp/src/tests/fork-session.test.ts +0 -335
  493. package/references/claude-code-acp/src/tests/replace-and-calculate-location.test.ts +0 -334
  494. package/references/claude-code-acp/src/tests/settings.test.ts +0 -617
  495. package/references/claude-code-acp/src/tests/skills-options.test.ts +0 -187
  496. package/references/claude-code-acp/src/tests/tools.test.ts +0 -318
  497. package/references/claude-code-acp/src/tests/typescript-declarations.test.ts +0 -558
  498. package/references/claude-code-acp/src/tools.ts +0 -819
  499. package/references/claude-code-acp/src/utils.ts +0 -171
  500. package/references/claude-code-acp/tsconfig.json +0 -18
  501. package/references/claude-code-acp/vitest.config.ts +0 -19
  502. package/references/multi-agent-protocol/.sudocode/issues.jsonl +0 -82
  503. package/references/multi-agent-protocol/.sudocode/specs.jsonl +0 -9
  504. package/references/multi-agent-protocol/LICENSE +0 -21
  505. package/references/multi-agent-protocol/README.md +0 -113
  506. package/references/multi-agent-protocol/docs/00-design-specification.md +0 -460
  507. package/references/multi-agent-protocol/docs/01-open-questions.md +0 -1050
  508. package/references/multi-agent-protocol/docs/02-wire-protocol.md +0 -296
  509. package/references/multi-agent-protocol/docs/03-streaming-semantics.md +0 -252
  510. package/references/multi-agent-protocol/docs/04-error-handling.md +0 -231
  511. package/references/multi-agent-protocol/docs/05-connection-model.md +0 -244
  512. package/references/multi-agent-protocol/docs/06-visibility-permissions.md +0 -243
  513. package/references/multi-agent-protocol/docs/07-federation.md +0 -259
  514. package/references/multi-agent-protocol/docs/08-macro-agent-migration.md +0 -253
  515. package/references/multi-agent-protocol/package-lock.json +0 -3239
  516. package/references/multi-agent-protocol/package.json +0 -56
  517. package/references/multi-agent-protocol/schema/meta.json +0 -337
  518. package/references/multi-agent-protocol/schema/schema.json +0 -1828
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Queue Integration Strategy
3
+ *
4
+ * Wraps the existing MergeQueueInterface — submits merge requests to
5
+ * the queue for sequential processing by an integrator agent.
6
+ *
7
+ * This produces identical behavior to the current worker done() handler's
8
+ * merge queue path.
9
+ *
10
+ * @module workspace/strategies/queue
11
+ */
12
+
13
+ import type {
14
+ IntegrationStrategy,
15
+ LandRequest,
16
+ LandResult,
17
+ QueueStrategyConfig,
18
+ } from "./types.js";
19
+ import type { MergeQueueInterface } from "../merge-queue/types.js";
20
+
21
+ export class QueueIntegrationStrategy implements IntegrationStrategy {
22
+ readonly name = "queue";
23
+ private mergeQueue?: MergeQueueInterface;
24
+ private defaultPriority: number;
25
+
26
+ constructor(config?: Record<string, unknown>) {
27
+ const typedConfig = config as QueueStrategyConfig | undefined;
28
+ this.defaultPriority = typedConfig?.defaultPriority ?? 100;
29
+ }
30
+
31
+ /**
32
+ * Set the merge queue instance.
33
+ * Called after construction since merge queue may not be available at strategy creation time.
34
+ */
35
+ setMergeQueue(queue: MergeQueueInterface): void {
36
+ this.mergeQueue = queue;
37
+ }
38
+
39
+ async land(request: LandRequest): Promise<LandResult> {
40
+ if (!this.mergeQueue) {
41
+ return {
42
+ status: "failed",
43
+ error: "Merge queue not configured",
44
+ };
45
+ }
46
+
47
+ if (!request.streamId) {
48
+ return {
49
+ status: "failed",
50
+ error: "streamId required for queue strategy",
51
+ };
52
+ }
53
+
54
+ if (!request.taskId) {
55
+ return {
56
+ status: "failed",
57
+ error: "taskId required for queue strategy",
58
+ };
59
+ }
60
+
61
+ try {
62
+ const mrId = this.mergeQueue.submit({
63
+ streamId: request.streamId,
64
+ taskId: request.taskId,
65
+ workerBranch: request.sourceBranch,
66
+ workerAgentId: request.agentId,
67
+ priority: this.defaultPriority,
68
+ });
69
+
70
+ return {
71
+ status: "landed",
72
+ mergeRequestId: mrId,
73
+ };
74
+ } catch (error) {
75
+ return {
76
+ status: "failed",
77
+ error: `Failed to submit to merge queue: ${error instanceof Error ? error.message : String(error)}`,
78
+ };
79
+ }
80
+ }
81
+ }
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Integration Strategy Registry
3
+ *
4
+ * Factory registry for creating named integration strategies.
5
+ * Supports registration of custom strategies alongside built-in ones.
6
+ *
7
+ * @module workspace/strategies/registry
8
+ */
9
+
10
+ import type {
11
+ IntegrationStrategy,
12
+ IntegrationStrategyFactory,
13
+ } from "./types.js";
14
+ import { QueueIntegrationStrategy } from "./queue.js";
15
+ import { TrunkIntegrationStrategy } from "./trunk.js";
16
+ import { OptimisticIntegrationStrategy } from "./optimistic.js";
17
+
18
+ // =============================================================================
19
+ // Registry
20
+ // =============================================================================
21
+
22
+ export class IntegrationStrategyRegistry {
23
+ private factories = new Map<string, IntegrationStrategyFactory>();
24
+
25
+ /**
26
+ * Register a strategy factory under a name.
27
+ */
28
+ register(name: string, factory: IntegrationStrategyFactory): void {
29
+ this.factories.set(name, factory);
30
+ }
31
+
32
+ /**
33
+ * Create a strategy instance by name.
34
+ *
35
+ * @throws Error if the strategy name is not registered
36
+ */
37
+ get(name: string, config?: Record<string, unknown>): IntegrationStrategy {
38
+ const factory = this.factories.get(name);
39
+ if (!factory) {
40
+ throw new Error(
41
+ `Unknown integration strategy: '${name}'. Available: ${this.list().join(", ")}`
42
+ );
43
+ }
44
+ return factory(config);
45
+ }
46
+
47
+ /**
48
+ * Check if a strategy is registered.
49
+ */
50
+ has(name: string): boolean {
51
+ return this.factories.has(name);
52
+ }
53
+
54
+ /**
55
+ * List registered strategy names.
56
+ */
57
+ list(): string[] {
58
+ return Array.from(this.factories.keys());
59
+ }
60
+ }
61
+
62
+ // =============================================================================
63
+ // Default Registry
64
+ // =============================================================================
65
+
66
+ /**
67
+ * Create a registry with all built-in strategies registered.
68
+ */
69
+ export function createDefaultStrategyRegistry(): IntegrationStrategyRegistry {
70
+ const registry = new IntegrationStrategyRegistry();
71
+
72
+ registry.register(
73
+ "queue",
74
+ (config) => new QueueIntegrationStrategy(config)
75
+ );
76
+ registry.register(
77
+ "trunk",
78
+ (config) => new TrunkIntegrationStrategy(config)
79
+ );
80
+ registry.register(
81
+ "optimistic",
82
+ (config) => new OptimisticIntegrationStrategy(config)
83
+ );
84
+
85
+ return registry;
86
+ }
87
+
88
+ /** Singleton default registry */
89
+ export const defaultStrategyRegistry = createDefaultStrategyRegistry();
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Trunk Integration Strategy
3
+ *
4
+ * Direct push to integration branch with rebase-and-retry on conflict.
5
+ * Suited for trunk-based development workflows where changes are
6
+ * integrated immediately.
7
+ *
8
+ * @module workspace/strategies/trunk
9
+ */
10
+
11
+ import { execSync } from "child_process";
12
+ import type {
13
+ IntegrationStrategy,
14
+ LandRequest,
15
+ LandResult,
16
+ TrunkStrategyConfig,
17
+ } from "./types.js";
18
+
19
+ export class TrunkIntegrationStrategy implements IntegrationStrategy {
20
+ readonly name = "trunk";
21
+ private maxRetries: number;
22
+ private conflictAction: "abandon" | "queued_for_resolution";
23
+
24
+ constructor(config?: Record<string, unknown>) {
25
+ const typedConfig = config as TrunkStrategyConfig | undefined;
26
+ this.maxRetries = typedConfig?.maxRetries ?? 3;
27
+ this.conflictAction = typedConfig?.conflictAction ?? "abandon";
28
+ }
29
+
30
+ async land(request: LandRequest): Promise<LandResult> {
31
+ const { workspacePath, targetBranch } = request;
32
+ let retryCount = 0;
33
+
34
+ while (retryCount <= this.maxRetries) {
35
+ try {
36
+ // Fetch latest target branch
37
+ this.git(workspacePath, `fetch origin ${targetBranch}`);
38
+
39
+ // Rebase our changes onto latest target
40
+ try {
41
+ this.git(workspacePath, `rebase origin/${targetBranch}`);
42
+ } catch {
43
+ // Rebase conflict — abort and retry or give up
44
+ try {
45
+ this.git(workspacePath, "rebase --abort");
46
+ } catch {
47
+ /* already clean */
48
+ }
49
+
50
+ if (retryCount >= this.maxRetries) {
51
+ const conflictFiles = this.getConflictFiles(workspacePath);
52
+ return {
53
+ status: "conflict",
54
+ conflictFiles,
55
+ action: this.conflictAction === "abandon" ? "abandoned" : this.conflictAction,
56
+ retryCount,
57
+ error: `Rebase conflict after ${retryCount + 1} attempts`,
58
+ };
59
+ }
60
+
61
+ retryCount++;
62
+ continue;
63
+ }
64
+
65
+ // Push to target branch
66
+ try {
67
+ this.git(workspacePath, `push origin HEAD:${targetBranch}`);
68
+ } catch {
69
+ // Push rejected (concurrent update) — retry
70
+ if (retryCount >= this.maxRetries) {
71
+ return {
72
+ status: "conflict",
73
+ action: this.conflictAction === "abandon" ? "abandoned" : this.conflictAction,
74
+ retryCount,
75
+ error: `Push rejected after ${retryCount + 1} attempts`,
76
+ };
77
+ }
78
+
79
+ retryCount++;
80
+ continue;
81
+ }
82
+
83
+ // Get the HEAD commit hash
84
+ const commitHash = this.git(workspacePath, "rev-parse HEAD").trim();
85
+
86
+ return {
87
+ status: "landed",
88
+ commitHash,
89
+ retryCount,
90
+ };
91
+ } catch (error) {
92
+ return {
93
+ status: "failed",
94
+ retryCount,
95
+ error: `Unexpected error: ${error instanceof Error ? error.message : String(error)}`,
96
+ };
97
+ }
98
+ }
99
+
100
+ return {
101
+ status: "failed",
102
+ retryCount,
103
+ error: "Exceeded maximum retries",
104
+ };
105
+ }
106
+
107
+ private git(cwd: string, args: string): string {
108
+ return execSync(`git ${args}`, {
109
+ cwd,
110
+ encoding: "utf-8",
111
+ timeout: 30000,
112
+ });
113
+ }
114
+
115
+ private getConflictFiles(cwd: string): string[] {
116
+ try {
117
+ const output = this.git(cwd, "diff --name-only --diff-filter=U");
118
+ return output.split("\n").filter(Boolean);
119
+ } catch {
120
+ return [];
121
+ }
122
+ }
123
+ }
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Integration Strategy Types
3
+ *
4
+ * Defines the pluggable strategy interface for integrating worker changes
5
+ * into the integration branch. Strategies determine how completed work
6
+ * is landed (merge queue, direct push, optimistic push).
7
+ *
8
+ * @module workspace/strategies/types
9
+ */
10
+
11
+ // =============================================================================
12
+ // Land Request / Result
13
+ // =============================================================================
14
+
15
+ /**
16
+ * Result status from a land operation
17
+ */
18
+ export type LandResultStatus = "landed" | "conflict" | "failed";
19
+
20
+ /**
21
+ * Request to land changes from a worker branch
22
+ */
23
+ export interface LandRequest {
24
+ /** Worker's branch with completed changes */
25
+ sourceBranch: string;
26
+
27
+ /** Target integration branch */
28
+ targetBranch: string;
29
+
30
+ /** Workspace path where git operations run */
31
+ workspacePath: string;
32
+
33
+ /** Agent ID of the worker */
34
+ agentId: string;
35
+
36
+ /** Task ID associated with the changes */
37
+ taskId?: string;
38
+
39
+ /** Stream ID for the integration stream */
40
+ streamId?: string;
41
+
42
+ /** Commit message for the merge/rebase */
43
+ commitMessage?: string;
44
+ }
45
+
46
+ /**
47
+ * Result of a land operation
48
+ */
49
+ export interface LandResult {
50
+ /** Whether the landing was successful */
51
+ status: LandResultStatus;
52
+
53
+ /** Merge/rebase commit hash if landed */
54
+ commitHash?: string;
55
+
56
+ /** Merge request ID if submitted to a queue */
57
+ mergeRequestId?: string;
58
+
59
+ /** Files with conflicts if status is "conflict" */
60
+ conflictFiles?: string[];
61
+
62
+ /** Action taken on conflict exhaustion */
63
+ action?: "abandoned" | "queued_for_resolution";
64
+
65
+ /** Error message if status is "failed" */
66
+ error?: string;
67
+
68
+ /** Number of retry attempts made */
69
+ retryCount?: number;
70
+ }
71
+
72
+ // =============================================================================
73
+ // Strategy Interface
74
+ // =============================================================================
75
+
76
+ /**
77
+ * Integration strategy interface.
78
+ *
79
+ * Strategies determine how completed worker changes are integrated
80
+ * into the target branch. Different strategies suit different workflows:
81
+ * - queue: Sequential merge via integrator (default, existing behavior)
82
+ * - trunk: Direct push with rebase-and-retry
83
+ * - optimistic: Push immediately, validate later (judge validates)
84
+ */
85
+ export interface IntegrationStrategy {
86
+ /** Strategy name */
87
+ readonly name: string;
88
+
89
+ /**
90
+ * Land changes from source branch to target branch.
91
+ */
92
+ land(request: LandRequest): Promise<LandResult>;
93
+
94
+ /**
95
+ * Optional initialization hook (called on TeamRuntime.initialize()).
96
+ */
97
+ initialize?(): Promise<void>;
98
+
99
+ /**
100
+ * Optional cleanup hook (called on TeamRuntime.teardown()).
101
+ */
102
+ close?(): Promise<void>;
103
+ }
104
+
105
+ // =============================================================================
106
+ // Strategy Configuration Types
107
+ // =============================================================================
108
+
109
+ /**
110
+ * Configuration for the queue strategy
111
+ */
112
+ export interface QueueStrategyConfig {
113
+ /** Priority for submitted merge requests (default: 100) */
114
+ defaultPriority?: number;
115
+ }
116
+
117
+ /**
118
+ * Configuration for the trunk strategy
119
+ */
120
+ export interface TrunkStrategyConfig {
121
+ /** Maximum rebase-and-retry attempts on conflict (default: 3) */
122
+ maxRetries?: number;
123
+
124
+ /** Action on conflict exhaustion (default: "abandon") */
125
+ conflictAction?: "abandon" | "queued_for_resolution";
126
+ }
127
+
128
+ /**
129
+ * Configuration for the optimistic strategy
130
+ */
131
+ export interface OptimisticStrategyConfig {
132
+ /** Maximum rebase-and-retry attempts on conflict (default: 3) */
133
+ maxRetries?: number;
134
+ }
135
+
136
+ // =============================================================================
137
+ // Factory
138
+ // =============================================================================
139
+
140
+ /**
141
+ * Factory function signature for creating strategies
142
+ */
143
+ export type IntegrationStrategyFactory = (
144
+ config?: Record<string, unknown>
145
+ ) => IntegrationStrategy;
@@ -8,7 +8,7 @@
8
8
  * @implements [[s-7ktd]] Workspace types section
9
9
  */
10
10
 
11
- import type { Stream, WorkerTask, StartTaskResult } from 'dataplane';
11
+ import type { Stream, WorkerTask, StartTaskResult } from 'git-cascade';
12
12
  import type { MergeQueueInterface } from './merge-queue/types.js';
13
13
 
14
14
  /**
@@ -8,7 +8,7 @@
8
8
  * @implements [[s-7ktd]] WorkspaceManager API section
9
9
  */
10
10
 
11
- import type { Stream, WorkerTask, StartTaskResult, AgentWorktree, CleanupWorkerBranchesOptions, CleanupResult } from 'dataplane';
11
+ import type { Stream, WorkerTask, StartTaskResult, AgentWorktree, CleanupWorkerBranchesOptions, CleanupResult } from 'git-cascade';
12
12
  import { DataplaneAdapter } from './dataplane-adapter.js';
13
13
  import type { DataplaneConfig, WorktreePoolConfig } from './config.js';
14
14
  import { DEFAULT_POOL_CONFIG } from './config.js';
@@ -1,59 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "mcp__plugin_sudocode_sudocode__show_spec",
5
- "mcp__plugin_sudocode_sudocode__list_specs",
6
- "mcp__plugin_sudocode_sudocode__upsert_issue",
7
- "mcp__plugin_sudocode_sudocode__link",
8
- "Bash(npm test:*)",
9
- "Bash(npx vitest:*)",
10
- "Bash(npm run test:run:*)",
11
- "Bash(npm install:*)",
12
- "mcp__plugin_sudocode_sudocode__add_feedback",
13
- "mcp__plugin_sudocode_sudocode__show_issue",
14
- "mcp__plugin_sudocode_sudocode__ready",
15
- "mcp__plugin_sudocode_sudocode__list_issues",
16
- "Bash(wc:*)",
17
- "Bash(npm run build:*)",
18
- "Skill(sudocode:sudocode)",
19
- "Bash(find:*)",
20
- "Bash(jq:*)",
21
- "Bash(for spec in s-60tc s-7ktd s-32xs s-bcqm s-8472 s-9rld)",
22
- "Bash(do)",
23
- "Bash(echo:*)",
24
- "Bash(done)",
25
- "Bash(grep:*)",
26
- "mcp__plugin_sudocode_sudocode__upsert_spec",
27
- "mcp__macro-agent__check_messages",
28
- "mcp__macro-agent__get_hierarchy",
29
- "Bash(git branch:*)",
30
- "Bash(git worktree:*)",
31
- "Bash(npm run test:e2e:*)",
32
- "Bash(node --experimental-strip-types:*)",
33
- "Bash(npx tsx:*)",
34
- "Bash(for:*)",
35
- "Bash(do echo \"Testing: $f\" npx vitest run --config vitest.e2e.config.ts \"$f\")",
36
- "Bash(__NEW_LINE_6544485f4eb6ac41__ echo \"Testing full copy...\")",
37
- "Bash(ls:*)",
38
- "Bash(git status:*)",
39
- "Bash(RUN_E2E_TESTS=true npx vitest:*)",
40
- "Bash(RUN_E2E_TESTS=true npm run test:e2e:*)",
41
- "Bash(npx tsc:*)",
42
- "Bash(npm run test:*)",
43
- "Bash(node:*)",
44
- "Bash(RUN_FULL_AGENT_TESTS=true npx vitest:*)",
45
- "Bash(RUN_FULL_AGENT_TESTS=true npm run test:e2e:*)",
46
- "Bash(MACRO_AGENT_ID=test_agent MACRO_INSTANCE_ID=test_instance MACRO_BASE_DIR=/tmp/test-mcp timeout 3 node:*)",
47
- "Bash(MACRO_AGENT_ID=test_agent MACRO_INSTANCE_ID=test_instance timeout 5 npx multiagent-mcp:*)",
48
- "Bash(npm view:*)",
49
- "Bash(npm ls:*)",
50
- "Bash(npx @sudocode-ai/claude-code-acp@latest --version)",
51
- "WebSearch",
52
- "Bash(npm link:*)",
53
- "Bash(npm unlink:*)",
54
- "mcp__macro-agent__spawn_agent",
55
- "Bash(git stash:*)",
56
- "Bash(do echo \"Testing $f\")"
57
- ]
58
- }
59
- }
@@ -1,99 +0,0 @@
1
- /**
2
- * Address Translation Utilities
3
- *
4
- * Provides bidirectional translation between MAP addresses and
5
- * legacy MessageRouter channel format. Used during migration to
6
- * support both addressing schemes.
7
- *
8
- * @see specs/s-5qir_map_integration_for_macro_agent.md
9
- */
10
- import type { Address } from "../types.js";
11
- import type { ChannelType } from "../../router/types.js";
12
- import type { AgentId } from "../../store/types/index.js";
13
- /**
14
- * Legacy channel format from MessageRouter.
15
- * Used for translation during migration.
16
- */
17
- export interface LegacyChannel {
18
- type: ChannelType;
19
- /** Target ID (agent_id, task_id, or topic name) */
20
- target: string;
21
- /** Role name for role channels */
22
- role?: string;
23
- /** Coordinator ID for scoped role channels */
24
- coordinatorId?: AgentId;
25
- /** Broadcast scope */
26
- scope?: string;
27
- }
28
- /**
29
- * Translate a MAP Address to legacy MessageRouter channel format.
30
- *
31
- * Used during migration to route messages through the existing
32
- * MessageRouter while accepting MAP-style addresses.
33
- *
34
- * @param address - MAP address to translate
35
- * @returns Legacy channel format
36
- * @throws Error if address type is not supported in legacy format
37
- */
38
- export declare function addressToChannel(address: Address): LegacyChannel;
39
- /**
40
- * Translate a legacy MessageRouter channel to MAP address format.
41
- *
42
- * Used to migrate existing code to the new addressing scheme.
43
- *
44
- * @param channel - Legacy channel to translate
45
- * @returns MAP address
46
- * @throws Error if channel type is unknown
47
- */
48
- export declare function channelToAddress(channel: LegacyChannel): Address;
49
- /**
50
- * Check if a MAP address can be translated to legacy channel format.
51
- *
52
- * Returns false for address types that were added in MAP and have
53
- * no equivalent in the legacy MessageRouter.
54
- *
55
- * @param address - Address to check
56
- * @returns true if address can be translated to legacy format
57
- */
58
- export declare function isLegacyCompatible(address: Address): boolean;
59
- /**
60
- * Get a list of address features that are not legacy compatible.
61
- *
62
- * @param address - Address to check
63
- * @returns Array of incompatible feature names, empty if fully compatible
64
- */
65
- export declare function getLegacyIncompatibilities(address: Address): string[];
66
- /**
67
- * Error thrown when a MAP address cannot be translated to legacy format.
68
- */
69
- export declare class AddressTranslationError extends Error {
70
- readonly address: Address;
71
- constructor(message: string, address: Address);
72
- }
73
- /**
74
- * Error thrown when a legacy channel cannot be translated to MAP format.
75
- */
76
- export declare class ChannelTranslationError extends Error {
77
- readonly channel: LegacyChannel;
78
- constructor(message: string, channel: LegacyChannel);
79
- }
80
- /**
81
- * Attempt to translate an address, returning undefined if not compatible.
82
- *
83
- * @param address - Address to translate
84
- * @returns Legacy channel or undefined if not compatible
85
- */
86
- export declare function tryAddressToChannel(address: Address): LegacyChannel | undefined;
87
- /**
88
- * Create a mapping table entry for documentation/debugging.
89
- */
90
- export interface AddressMapping {
91
- mapAddress: string;
92
- legacyChannel: string;
93
- notes?: string;
94
- }
95
- /**
96
- * Get the address mapping table for documentation.
97
- */
98
- export declare function getAddressMappingTable(): AddressMapping[];
99
- //# sourceMappingURL=address-translation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"address-translation.d.ts","sourceRoot":"","sources":["../../../src/map/utils/address-translation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,OAAO,EASR,MAAM,aAAa,CAAC;AAcrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAU,MAAM,4BAA4B,CAAC;AAMlE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CA0FhE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAsChE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAW5D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAiBrE;AAMD;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAK9C;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;gBAEpB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa;CAKpD;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,GACf,aAAa,GAAG,SAAS,CAU3B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,cAAc,EAAE,CAuDzD"}