macro-agent 0.2.5 → 0.2.6

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 (992) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +30 -56
  3. package/dist/acp/websocket-server.d.ts +6 -0
  4. package/dist/acp/websocket-server.d.ts.map +1 -1
  5. package/dist/acp/websocket-server.js +13 -0
  6. package/dist/acp/websocket-server.js.map +1 -1
  7. package/dist/acp/websocket-stream.d.ts +30 -0
  8. package/dist/acp/websocket-stream.d.ts.map +1 -0
  9. package/dist/acp/websocket-stream.js +118 -0
  10. package/dist/acp/websocket-stream.js.map +1 -0
  11. package/dist/activity/deduplication.d.ts +85 -0
  12. package/dist/activity/deduplication.d.ts.map +1 -0
  13. package/dist/activity/deduplication.js +149 -0
  14. package/dist/activity/deduplication.js.map +1 -0
  15. package/dist/activity/index.d.ts +16 -0
  16. package/dist/activity/index.d.ts.map +1 -0
  17. package/dist/activity/index.js +17 -0
  18. package/dist/activity/index.js.map +1 -0
  19. package/dist/activity/relevance.d.ts +81 -0
  20. package/dist/activity/relevance.d.ts.map +1 -0
  21. package/dist/activity/relevance.js +161 -0
  22. package/dist/activity/relevance.js.map +1 -0
  23. package/dist/activity/types.d.ts +169 -0
  24. package/dist/activity/types.d.ts.map +1 -0
  25. package/dist/activity/types.js +33 -0
  26. package/dist/activity/types.js.map +1 -0
  27. package/dist/activity/watcher.d.ts +64 -0
  28. package/dist/activity/watcher.d.ts.map +1 -0
  29. package/dist/activity/watcher.js +212 -0
  30. package/dist/activity/watcher.js.map +1 -0
  31. package/dist/adapters/federation.d.ts +8 -1
  32. package/dist/adapters/federation.d.ts.map +1 -1
  33. package/dist/adapters/federation.js +33 -2
  34. package/dist/adapters/federation.js.map +1 -1
  35. package/dist/agent/agent-manager-v2.d.ts.map +1 -1
  36. package/dist/agent/agent-manager-v2.js +7 -24
  37. package/dist/agent/agent-manager-v2.js.map +1 -1
  38. package/dist/agent/wake.d.ts +85 -0
  39. package/dist/agent/wake.d.ts.map +1 -0
  40. package/dist/agent/wake.js +278 -0
  41. package/dist/agent/wake.js.map +1 -0
  42. package/dist/api/server.d.ts.map +1 -1
  43. package/dist/api/server.js +41 -25
  44. package/dist/api/server.js.map +1 -1
  45. package/dist/api/types.d.ts +6 -0
  46. package/dist/api/types.d.ts.map +1 -1
  47. package/dist/auth/server-auth.d.ts +43 -0
  48. package/dist/auth/server-auth.d.ts.map +1 -0
  49. package/dist/auth/server-auth.js +80 -0
  50. package/dist/auth/server-auth.js.map +1 -0
  51. package/dist/auth/token.d.ts +4 -0
  52. package/dist/auth/token.d.ts.map +1 -1
  53. package/dist/auth/token.js +7 -6
  54. package/dist/auth/token.js.map +1 -1
  55. package/dist/boot-v2.d.ts +6 -3
  56. package/dist/boot-v2.d.ts.map +1 -1
  57. package/dist/boot-v2.js +44 -25
  58. package/dist/boot-v2.js.map +1 -1
  59. package/dist/cognitive/team-lifecycle.d.ts +82 -0
  60. package/dist/cognitive/team-lifecycle.d.ts.map +1 -0
  61. package/dist/cognitive/team-lifecycle.js +121 -0
  62. package/dist/cognitive/team-lifecycle.js.map +1 -0
  63. package/dist/cognitive/trajectory-extractor.d.ts +25 -0
  64. package/dist/cognitive/trajectory-extractor.d.ts.map +1 -0
  65. package/dist/cognitive/trajectory-extractor.js +134 -0
  66. package/dist/cognitive/trajectory-extractor.js.map +1 -0
  67. package/dist/control/control-server.d.ts.map +1 -1
  68. package/dist/control/control-server.js +10 -0
  69. package/dist/control/control-server.js.map +1 -1
  70. package/dist/dispatch/mail-inbound-consumer.d.ts.map +1 -1
  71. package/dist/dispatch/mail-inbound-consumer.js +43 -10
  72. package/dist/dispatch/mail-inbound-consumer.js.map +1 -1
  73. package/dist/index.d.ts +4 -0
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +6 -1
  76. package/dist/index.js.map +1 -1
  77. package/dist/lifecycle/handlers/generic.d.ts +27 -0
  78. package/dist/lifecycle/handlers/generic.d.ts.map +1 -0
  79. package/dist/lifecycle/handlers/generic.js +56 -0
  80. package/dist/lifecycle/handlers/generic.js.map +1 -0
  81. package/dist/lifecycle/handlers/index.d.ts +51 -0
  82. package/dist/lifecycle/handlers/index.d.ts.map +1 -0
  83. package/dist/lifecycle/handlers/index.js +110 -0
  84. package/dist/lifecycle/handlers/index.js.map +1 -0
  85. package/dist/lifecycle/handlers/integrator.d.ts +81 -0
  86. package/dist/lifecycle/handlers/integrator.d.ts.map +1 -0
  87. package/dist/lifecycle/handlers/integrator.js +451 -0
  88. package/dist/lifecycle/handlers/integrator.js.map +1 -0
  89. package/dist/lifecycle/handlers/monitor.d.ts +29 -0
  90. package/dist/lifecycle/handlers/monitor.d.ts.map +1 -0
  91. package/dist/lifecycle/handlers/monitor.js +79 -0
  92. package/dist/lifecycle/handlers/monitor.js.map +1 -0
  93. package/dist/lifecycle/handlers/worker.d.ts +56 -0
  94. package/dist/lifecycle/handlers/worker.d.ts.map +1 -0
  95. package/dist/lifecycle/handlers/worker.js +381 -0
  96. package/dist/lifecycle/handlers/worker.js.map +1 -0
  97. package/dist/lifecycle/handlers-v2.d.ts +0 -2
  98. package/dist/lifecycle/handlers-v2.d.ts.map +1 -1
  99. package/dist/lifecycle/handlers-v2.js +4 -55
  100. package/dist/lifecycle/handlers-v2.js.map +1 -1
  101. package/dist/mail/conversation-map.d.ts +33 -0
  102. package/dist/mail/conversation-map.d.ts.map +1 -0
  103. package/dist/mail/conversation-map.js +61 -0
  104. package/dist/mail/conversation-map.js.map +1 -0
  105. package/dist/mail/index.d.ts +11 -0
  106. package/dist/mail/index.d.ts.map +1 -0
  107. package/dist/mail/index.js +11 -0
  108. package/dist/mail/index.js.map +1 -0
  109. package/dist/mail/mail-service.d.ts +85 -0
  110. package/dist/mail/mail-service.d.ts.map +1 -0
  111. package/dist/mail/mail-service.js +121 -0
  112. package/dist/mail/mail-service.js.map +1 -0
  113. package/dist/mail/stores/eventstore-conversation-store.d.ts +40 -0
  114. package/dist/mail/stores/eventstore-conversation-store.d.ts.map +1 -0
  115. package/dist/mail/stores/eventstore-conversation-store.js +131 -0
  116. package/dist/mail/stores/eventstore-conversation-store.js.map +1 -0
  117. package/dist/mail/stores/eventstore-participant-store.d.ts +43 -0
  118. package/dist/mail/stores/eventstore-participant-store.d.ts.map +1 -0
  119. package/dist/mail/stores/eventstore-participant-store.js +145 -0
  120. package/dist/mail/stores/eventstore-participant-store.js.map +1 -0
  121. package/dist/mail/stores/eventstore-thread-store.d.ts +46 -0
  122. package/dist/mail/stores/eventstore-thread-store.d.ts.map +1 -0
  123. package/dist/mail/stores/eventstore-thread-store.js +118 -0
  124. package/dist/mail/stores/eventstore-thread-store.js.map +1 -0
  125. package/dist/mail/stores/eventstore-turn-store.d.ts +47 -0
  126. package/dist/mail/stores/eventstore-turn-store.d.ts.map +1 -0
  127. package/dist/mail/stores/eventstore-turn-store.js +153 -0
  128. package/dist/mail/stores/eventstore-turn-store.js.map +1 -0
  129. package/dist/mail/stores/index.d.ts +12 -0
  130. package/dist/mail/stores/index.d.ts.map +1 -0
  131. package/dist/mail/stores/index.js +12 -0
  132. package/dist/mail/stores/index.js.map +1 -0
  133. package/dist/mail/stores/types.d.ts +146 -0
  134. package/dist/mail/stores/types.d.ts.map +1 -0
  135. package/dist/mail/stores/types.js +13 -0
  136. package/dist/mail/stores/types.js.map +1 -0
  137. package/dist/mail/turn-recorder.d.ts +30 -0
  138. package/dist/mail/turn-recorder.d.ts.map +1 -0
  139. package/dist/mail/turn-recorder.js +98 -0
  140. package/dist/mail/turn-recorder.js.map +1 -0
  141. package/dist/map/adapter/acp-over-map.d.ts +115 -0
  142. package/dist/map/adapter/acp-over-map.d.ts.map +1 -0
  143. package/dist/map/adapter/acp-over-map.js +1024 -0
  144. package/dist/map/adapter/acp-over-map.js.map +1 -0
  145. package/dist/map/adapter/connection-manager.d.ts +150 -0
  146. package/dist/map/adapter/connection-manager.d.ts.map +1 -0
  147. package/dist/map/adapter/connection-manager.js +207 -0
  148. package/dist/map/adapter/connection-manager.js.map +1 -0
  149. package/dist/map/adapter/event-log.d.ts +87 -0
  150. package/dist/map/adapter/event-log.d.ts.map +1 -0
  151. package/dist/map/adapter/event-log.js +122 -0
  152. package/dist/map/adapter/event-log.js.map +1 -0
  153. package/dist/map/adapter/event-translator.d.ts +85 -0
  154. package/dist/map/adapter/event-translator.d.ts.map +1 -0
  155. package/dist/map/adapter/event-translator.js +295 -0
  156. package/dist/map/adapter/event-translator.js.map +1 -0
  157. package/dist/map/adapter/extensions/agent-detection.d.ts +49 -0
  158. package/dist/map/adapter/extensions/agent-detection.d.ts.map +1 -0
  159. package/dist/map/adapter/extensions/agent-detection.js +91 -0
  160. package/dist/map/adapter/extensions/agent-detection.js.map +1 -0
  161. package/dist/map/adapter/extensions/agent-lifecycle.d.ts +82 -0
  162. package/dist/map/adapter/extensions/agent-lifecycle.d.ts.map +1 -0
  163. package/dist/map/adapter/extensions/agent-lifecycle.js +164 -0
  164. package/dist/map/adapter/extensions/agent-lifecycle.js.map +1 -0
  165. package/dist/map/adapter/extensions/cognitive.d.ts +27 -0
  166. package/dist/map/adapter/extensions/cognitive.d.ts.map +1 -0
  167. package/dist/map/adapter/extensions/cognitive.js +158 -0
  168. package/dist/map/adapter/extensions/cognitive.js.map +1 -0
  169. package/dist/map/adapter/extensions/index.d.ts +95 -0
  170. package/dist/map/adapter/extensions/index.d.ts.map +1 -0
  171. package/dist/map/adapter/extensions/index.js +228 -0
  172. package/dist/map/adapter/extensions/index.js.map +1 -0
  173. package/dist/map/adapter/extensions/mcp-bridge.d.ts +57 -0
  174. package/dist/map/adapter/extensions/mcp-bridge.d.ts.map +1 -0
  175. package/dist/map/adapter/extensions/mcp-bridge.js +745 -0
  176. package/dist/map/adapter/extensions/mcp-bridge.js.map +1 -0
  177. package/dist/map/adapter/extensions/resume.d.ts +47 -0
  178. package/dist/map/adapter/extensions/resume.d.ts.map +1 -0
  179. package/dist/map/adapter/extensions/resume.js +59 -0
  180. package/dist/map/adapter/extensions/resume.js.map +1 -0
  181. package/dist/map/adapter/extensions/streams.d.ts +95 -0
  182. package/dist/map/adapter/extensions/streams.d.ts.map +1 -0
  183. package/dist/map/adapter/extensions/streams.js +515 -0
  184. package/dist/map/adapter/extensions/streams.js.map +1 -0
  185. package/dist/map/adapter/extensions/task.d.ts +40 -0
  186. package/dist/map/adapter/extensions/task.d.ts.map +1 -0
  187. package/dist/map/adapter/extensions/task.js +197 -0
  188. package/dist/map/adapter/extensions/task.js.map +1 -0
  189. package/dist/map/adapter/extensions/update-metadata.d.ts +29 -0
  190. package/dist/map/adapter/extensions/update-metadata.d.ts.map +1 -0
  191. package/dist/map/adapter/extensions/update-metadata.js +67 -0
  192. package/dist/map/adapter/extensions/update-metadata.js.map +1 -0
  193. package/dist/map/adapter/extensions/wake.d.ts +60 -0
  194. package/dist/map/adapter/extensions/wake.d.ts.map +1 -0
  195. package/dist/map/adapter/extensions/wake.js +144 -0
  196. package/dist/map/adapter/extensions/wake.js.map +1 -0
  197. package/dist/map/adapter/extensions/workspace-files.d.ts +42 -0
  198. package/dist/map/adapter/extensions/workspace-files.d.ts.map +1 -0
  199. package/dist/map/adapter/extensions/workspace-files.js +338 -0
  200. package/dist/map/adapter/extensions/workspace-files.js.map +1 -0
  201. package/dist/map/adapter/extensions/workspace.d.ts +57 -0
  202. package/dist/map/adapter/extensions/workspace.d.ts.map +1 -0
  203. package/dist/map/adapter/extensions/workspace.js +81 -0
  204. package/dist/map/adapter/extensions/workspace.js.map +1 -0
  205. package/dist/map/adapter/index.d.ts +20 -0
  206. package/dist/map/adapter/index.d.ts.map +1 -0
  207. package/dist/map/adapter/index.js +40 -0
  208. package/dist/map/adapter/index.js.map +1 -0
  209. package/dist/map/adapter/interface.d.ts +450 -0
  210. package/dist/map/adapter/interface.d.ts.map +1 -0
  211. package/dist/map/adapter/interface.js +24 -0
  212. package/dist/map/adapter/interface.js.map +1 -0
  213. package/dist/map/adapter/mail-handler-adapter.d.ts +27 -0
  214. package/dist/map/adapter/mail-handler-adapter.d.ts.map +1 -0
  215. package/dist/map/adapter/mail-handler-adapter.js +292 -0
  216. package/dist/map/adapter/mail-handler-adapter.js.map +1 -0
  217. package/dist/map/adapter/map-adapter.d.ts +200 -0
  218. package/dist/map/adapter/map-adapter.d.ts.map +1 -0
  219. package/dist/map/adapter/map-adapter.js +1199 -0
  220. package/dist/map/adapter/map-adapter.js.map +1 -0
  221. package/dist/map/adapter/rpc-handler.d.ts +263 -0
  222. package/dist/map/adapter/rpc-handler.d.ts.map +1 -0
  223. package/dist/map/adapter/rpc-handler.js +365 -0
  224. package/dist/map/adapter/rpc-handler.js.map +1 -0
  225. package/dist/map/adapter/subscription-manager.d.ts +174 -0
  226. package/dist/map/adapter/subscription-manager.d.ts.map +1 -0
  227. package/dist/map/adapter/subscription-manager.js +248 -0
  228. package/dist/map/adapter/subscription-manager.js.map +1 -0
  229. package/dist/map/adapter/types.d.ts +194 -0
  230. package/dist/map/adapter/types.d.ts.map +1 -0
  231. package/dist/map/adapter/types.js +27 -0
  232. package/dist/map/adapter/types.js.map +1 -0
  233. package/dist/map/adapter/websocket-integration.d.ts +113 -0
  234. package/dist/map/adapter/websocket-integration.d.ts.map +1 -0
  235. package/dist/map/adapter/websocket-integration.js +134 -0
  236. package/dist/map/adapter/websocket-integration.js.map +1 -0
  237. package/dist/map/cascade-action-handler.d.ts.map +1 -1
  238. package/dist/map/cascade-action-handler.js +19 -5
  239. package/dist/map/cascade-action-handler.js.map +1 -1
  240. package/dist/map/federation/envelope.d.ts +98 -0
  241. package/dist/map/federation/envelope.d.ts.map +1 -0
  242. package/dist/map/federation/envelope.js +160 -0
  243. package/dist/map/federation/envelope.js.map +1 -0
  244. package/dist/map/federation/federation-handler.d.ts +50 -0
  245. package/dist/map/federation/federation-handler.d.ts.map +1 -0
  246. package/dist/map/federation/federation-handler.js +306 -0
  247. package/dist/map/federation/federation-handler.js.map +1 -0
  248. package/dist/map/federation/index.d.ts +14 -0
  249. package/dist/map/federation/index.d.ts.map +1 -0
  250. package/dist/map/federation/index.js +13 -0
  251. package/dist/map/federation/index.js.map +1 -0
  252. package/dist/map/federation/types.d.ts +239 -0
  253. package/dist/map/federation/types.d.ts.map +1 -0
  254. package/dist/map/federation/types.js +23 -0
  255. package/dist/map/federation/types.js.map +1 -0
  256. package/dist/map/server.d.ts.map +1 -1
  257. package/dist/map/server.js +17 -2
  258. package/dist/map/server.js.map +1 -1
  259. package/dist/map/types.d.ts +6 -0
  260. package/dist/map/types.d.ts.map +1 -1
  261. package/dist/mcp/map-client.d.ts +39 -0
  262. package/dist/mcp/map-client.d.ts.map +1 -0
  263. package/dist/mcp/map-client.js +129 -0
  264. package/dist/mcp/map-client.js.map +1 -0
  265. package/dist/mcp/mcp-server.d.ts +72 -0
  266. package/dist/mcp/mcp-server.d.ts.map +1 -0
  267. package/dist/mcp/mcp-server.js +1027 -0
  268. package/dist/mcp/mcp-server.js.map +1 -0
  269. package/dist/mcp/tools/claim_task.d.ts +35 -0
  270. package/dist/mcp/tools/claim_task.d.ts.map +1 -0
  271. package/dist/mcp/tools/claim_task.js +58 -0
  272. package/dist/mcp/tools/claim_task.js.map +1 -0
  273. package/dist/mcp/tools/done-v2.d.ts +0 -1
  274. package/dist/mcp/tools/done-v2.d.ts.map +1 -1
  275. package/dist/mcp/tools/done-v2.js +0 -1
  276. package/dist/mcp/tools/done-v2.js.map +1 -1
  277. package/dist/mcp/tools/done.d.ts +102 -0
  278. package/dist/mcp/tools/done.d.ts.map +1 -0
  279. package/dist/mcp/tools/done.js +253 -0
  280. package/dist/mcp/tools/done.js.map +1 -0
  281. package/dist/mcp/tools/inject_context.d.ts +61 -0
  282. package/dist/mcp/tools/inject_context.d.ts.map +1 -0
  283. package/dist/mcp/tools/inject_context.js +123 -0
  284. package/dist/mcp/tools/inject_context.js.map +1 -0
  285. package/dist/mcp/tools/list_claimable_tasks.d.ts +38 -0
  286. package/dist/mcp/tools/list_claimable_tasks.d.ts.map +1 -0
  287. package/dist/mcp/tools/list_claimable_tasks.js +63 -0
  288. package/dist/mcp/tools/list_claimable_tasks.js.map +1 -0
  289. package/dist/mcp/tools/unclaim_task.d.ts +31 -0
  290. package/dist/mcp/tools/unclaim_task.d.ts.map +1 -0
  291. package/dist/mcp/tools/unclaim_task.js +47 -0
  292. package/dist/mcp/tools/unclaim_task.js.map +1 -0
  293. package/dist/mcp/tools/wait_for_activity.d.ts +60 -0
  294. package/dist/mcp/tools/wait_for_activity.d.ts.map +1 -0
  295. package/dist/mcp/tools/wait_for_activity.js +135 -0
  296. package/dist/mcp/tools/wait_for_activity.js.map +1 -0
  297. package/dist/monitor/health-check-service.d.ts +143 -0
  298. package/dist/monitor/health-check-service.d.ts.map +1 -0
  299. package/dist/monitor/health-check-service.js +240 -0
  300. package/dist/monitor/health-check-service.js.map +1 -0
  301. package/dist/monitor/index.d.ts +14 -0
  302. package/dist/monitor/index.d.ts.map +1 -0
  303. package/dist/monitor/index.js +14 -0
  304. package/dist/monitor/index.js.map +1 -0
  305. package/dist/monitor/stall-detector.d.ts +109 -0
  306. package/dist/monitor/stall-detector.d.ts.map +1 -0
  307. package/dist/monitor/stall-detector.js +152 -0
  308. package/dist/monitor/stall-detector.js.map +1 -0
  309. package/dist/peer/capability-manager.d.ts +56 -0
  310. package/dist/peer/capability-manager.d.ts.map +1 -0
  311. package/dist/peer/capability-manager.js +186 -0
  312. package/dist/peer/capability-manager.js.map +1 -0
  313. package/dist/peer/encapsulation-manager.d.ts +190 -0
  314. package/dist/peer/encapsulation-manager.d.ts.map +1 -0
  315. package/dist/peer/encapsulation-manager.js +486 -0
  316. package/dist/peer/encapsulation-manager.js.map +1 -0
  317. package/dist/peer/federation-manager.d.ts +223 -0
  318. package/dist/peer/federation-manager.d.ts.map +1 -0
  319. package/dist/peer/federation-manager.js +528 -0
  320. package/dist/peer/federation-manager.js.map +1 -0
  321. package/dist/peer/hierarchy-errors.d.ts +208 -0
  322. package/dist/peer/hierarchy-errors.d.ts.map +1 -0
  323. package/dist/peer/hierarchy-errors.js +268 -0
  324. package/dist/peer/hierarchy-errors.js.map +1 -0
  325. package/dist/peer/hierarchy-protocol.d.ts +159 -0
  326. package/dist/peer/hierarchy-protocol.d.ts.map +1 -0
  327. package/dist/peer/hierarchy-protocol.js +142 -0
  328. package/dist/peer/hierarchy-protocol.js.map +1 -0
  329. package/dist/peer/index.d.ts +15 -0
  330. package/dist/peer/index.d.ts.map +1 -0
  331. package/dist/peer/index.js +15 -0
  332. package/dist/peer/index.js.map +1 -0
  333. package/dist/peer/peer-manager.d.ts +99 -0
  334. package/dist/peer/peer-manager.d.ts.map +1 -0
  335. package/dist/peer/peer-manager.js +333 -0
  336. package/dist/peer/peer-manager.js.map +1 -0
  337. package/dist/peer/task-delegation.d.ts +189 -0
  338. package/dist/peer/task-delegation.d.ts.map +1 -0
  339. package/dist/peer/task-delegation.js +303 -0
  340. package/dist/peer/task-delegation.js.map +1 -0
  341. package/dist/peer/transports/index.d.ts +8 -0
  342. package/dist/peer/transports/index.d.ts.map +1 -0
  343. package/dist/peer/transports/index.js +8 -0
  344. package/dist/peer/transports/index.js.map +1 -0
  345. package/dist/peer/transports/local-transport.d.ts +56 -0
  346. package/dist/peer/transports/local-transport.d.ts.map +1 -0
  347. package/dist/peer/transports/local-transport.js +263 -0
  348. package/dist/peer/transports/local-transport.js.map +1 -0
  349. package/dist/peer/transports/websocket-transport.d.ts +86 -0
  350. package/dist/peer/transports/websocket-transport.d.ts.map +1 -0
  351. package/dist/peer/transports/websocket-transport.js +338 -0
  352. package/dist/peer/transports/websocket-transport.js.map +1 -0
  353. package/dist/peer/types.d.ts +268 -0
  354. package/dist/peer/types.d.ts.map +1 -0
  355. package/dist/peer/types.js +36 -0
  356. package/dist/peer/types.js.map +1 -0
  357. package/dist/router/address-resolver.d.ts +102 -0
  358. package/dist/router/address-resolver.d.ts.map +1 -0
  359. package/dist/router/address-resolver.js +198 -0
  360. package/dist/router/address-resolver.js.map +1 -0
  361. package/dist/router/broadcast.d.ts +53 -0
  362. package/dist/router/broadcast.d.ts.map +1 -0
  363. package/dist/router/broadcast.js +75 -0
  364. package/dist/router/broadcast.js.map +1 -0
  365. package/dist/router/channels.d.ts +148 -0
  366. package/dist/router/channels.d.ts.map +1 -0
  367. package/dist/router/channels.js +126 -0
  368. package/dist/router/channels.js.map +1 -0
  369. package/dist/router/index.d.ts +21 -0
  370. package/dist/router/index.d.ts.map +1 -0
  371. package/dist/router/index.js +18 -0
  372. package/dist/router/index.js.map +1 -0
  373. package/dist/router/message-router.d.ts +197 -0
  374. package/dist/router/message-router.d.ts.map +1 -0
  375. package/dist/router/message-router.js +903 -0
  376. package/dist/router/message-router.js.map +1 -0
  377. package/dist/router/message-types.d.ts +183 -0
  378. package/dist/router/message-types.d.ts.map +1 -0
  379. package/dist/router/message-types.js +79 -0
  380. package/dist/router/message-types.js.map +1 -0
  381. package/dist/router/role-resolver.d.ts +67 -0
  382. package/dist/router/role-resolver.d.ts.map +1 -0
  383. package/dist/router/role-resolver.js +106 -0
  384. package/dist/router/role-resolver.js.map +1 -0
  385. package/dist/router/signals.d.ts +253 -0
  386. package/dist/router/signals.d.ts.map +1 -0
  387. package/dist/router/signals.js +53 -0
  388. package/dist/router/signals.js.map +1 -0
  389. package/dist/router/types.d.ts +191 -0
  390. package/dist/router/types.d.ts.map +1 -0
  391. package/dist/router/types.js +34 -0
  392. package/dist/router/types.js.map +1 -0
  393. package/dist/router/wake.d.ts +111 -0
  394. package/dist/router/wake.d.ts.map +1 -0
  395. package/dist/router/wake.js +180 -0
  396. package/dist/router/wake.js.map +1 -0
  397. package/dist/server/combined-server.d.ts +95 -0
  398. package/dist/server/combined-server.d.ts.map +1 -0
  399. package/dist/server/combined-server.js +335 -0
  400. package/dist/server/combined-server.js.map +1 -0
  401. package/dist/steering/index.d.ts +11 -0
  402. package/dist/steering/index.d.ts.map +1 -0
  403. package/dist/steering/index.js +11 -0
  404. package/dist/steering/index.js.map +1 -0
  405. package/dist/steering/inject.d.ts +39 -0
  406. package/dist/steering/inject.d.ts.map +1 -0
  407. package/dist/steering/inject.js +197 -0
  408. package/dist/steering/inject.js.map +1 -0
  409. package/dist/steering/types.d.ts +100 -0
  410. package/dist/steering/types.d.ts.map +1 -0
  411. package/dist/steering/types.js +11 -0
  412. package/dist/steering/types.js.map +1 -0
  413. package/dist/store/backends/index.d.ts +11 -0
  414. package/dist/store/backends/index.d.ts.map +1 -0
  415. package/dist/store/backends/index.js +15 -0
  416. package/dist/store/backends/index.js.map +1 -0
  417. package/dist/store/backends/json-backend.d.ts +23 -0
  418. package/dist/store/backends/json-backend.d.ts.map +1 -0
  419. package/dist/store/backends/json-backend.js +220 -0
  420. package/dist/store/backends/json-backend.js.map +1 -0
  421. package/dist/store/backends/memory-backend.d.ts +12 -0
  422. package/dist/store/backends/memory-backend.d.ts.map +1 -0
  423. package/dist/store/backends/memory-backend.js +205 -0
  424. package/dist/store/backends/memory-backend.js.map +1 -0
  425. package/dist/store/backends/sqlite-backend.d.ts +27 -0
  426. package/dist/store/backends/sqlite-backend.d.ts.map +1 -0
  427. package/dist/store/backends/sqlite-backend.js +231 -0
  428. package/dist/store/backends/sqlite-backend.js.map +1 -0
  429. package/dist/store/backends/tinybase-backend.d.ts +22 -0
  430. package/dist/store/backends/tinybase-backend.d.ts.map +1 -0
  431. package/dist/store/backends/tinybase-backend.js +203 -0
  432. package/dist/store/backends/tinybase-backend.js.map +1 -0
  433. package/dist/store/backends/types.d.ts +175 -0
  434. package/dist/store/backends/types.d.ts.map +1 -0
  435. package/dist/store/backends/types.js +28 -0
  436. package/dist/store/backends/types.js.map +1 -0
  437. package/dist/store/event-store.d.ts +128 -0
  438. package/dist/store/event-store.d.ts.map +1 -0
  439. package/dist/store/event-store.js +1751 -0
  440. package/dist/store/event-store.js.map +1 -0
  441. package/dist/store/instance.d.ts +290 -0
  442. package/dist/store/instance.d.ts.map +1 -0
  443. package/dist/store/instance.js +363 -0
  444. package/dist/store/instance.js.map +1 -0
  445. package/dist/store/migrations.d.ts +41 -0
  446. package/dist/store/migrations.d.ts.map +1 -0
  447. package/dist/store/migrations.js +79 -0
  448. package/dist/store/migrations.js.map +1 -0
  449. package/dist/store/test-utils.d.ts +63 -0
  450. package/dist/store/test-utils.d.ts.map +1 -0
  451. package/dist/store/test-utils.js +63 -0
  452. package/dist/store/test-utils.js.map +1 -0
  453. package/dist/store/types/config.d.ts +16 -0
  454. package/dist/store/types/config.d.ts.map +1 -0
  455. package/dist/store/types/config.js +8 -0
  456. package/dist/store/types/config.js.map +1 -0
  457. package/dist/store/types/conversations.d.ts +91 -0
  458. package/dist/store/types/conversations.d.ts.map +1 -0
  459. package/dist/store/types/conversations.js +8 -0
  460. package/dist/store/types/conversations.js.map +1 -0
  461. package/dist/store/types/sessions.d.ts +44 -0
  462. package/dist/store/types/sessions.d.ts.map +1 -0
  463. package/dist/store/types/sessions.js +9 -0
  464. package/dist/store/types/sessions.js.map +1 -0
  465. package/dist/store/types.d.ts +115 -0
  466. package/dist/store/types.d.ts.map +1 -0
  467. package/dist/store/types.js +6 -0
  468. package/dist/store/types.js.map +1 -0
  469. package/dist/task/backend/index.d.ts +93 -0
  470. package/dist/task/backend/index.d.ts.map +1 -0
  471. package/dist/task/backend/index.js +178 -0
  472. package/dist/task/backend/index.js.map +1 -0
  473. package/dist/task/backend/memory.d.ts +70 -0
  474. package/dist/task/backend/memory.d.ts.map +1 -0
  475. package/dist/task/backend/memory.js +621 -0
  476. package/dist/task/backend/memory.js.map +1 -0
  477. package/dist/task/backend/opentasks/backend.d.ts +140 -0
  478. package/dist/task/backend/opentasks/backend.d.ts.map +1 -0
  479. package/dist/task/backend/opentasks/backend.js +1023 -0
  480. package/dist/task/backend/opentasks/backend.js.map +1 -0
  481. package/dist/task/backend/opentasks/client.d.ts +337 -0
  482. package/dist/task/backend/opentasks/client.d.ts.map +1 -0
  483. package/dist/task/backend/opentasks/client.js +225 -0
  484. package/dist/task/backend/opentasks/client.js.map +1 -0
  485. package/dist/task/backend/opentasks/daemon-manager.d.ts +89 -0
  486. package/dist/task/backend/opentasks/daemon-manager.d.ts.map +1 -0
  487. package/dist/task/backend/opentasks/daemon-manager.js +195 -0
  488. package/dist/task/backend/opentasks/daemon-manager.js.map +1 -0
  489. package/dist/task/backend/opentasks/index.d.ts +21 -0
  490. package/dist/task/backend/opentasks/index.d.ts.map +1 -0
  491. package/dist/task/backend/opentasks/index.js +21 -0
  492. package/dist/task/backend/opentasks/index.js.map +1 -0
  493. package/dist/task/backend/opentasks/mapping.d.ts +48 -0
  494. package/dist/task/backend/opentasks/mapping.d.ts.map +1 -0
  495. package/dist/task/backend/opentasks/mapping.js +77 -0
  496. package/dist/task/backend/opentasks/mapping.js.map +1 -0
  497. package/dist/task/backend/sudocode/__tests__/integration/test-utils.d.ts +54 -0
  498. package/dist/task/backend/sudocode/__tests__/integration/test-utils.d.ts.map +1 -0
  499. package/dist/task/backend/sudocode/__tests__/integration/test-utils.js +88 -0
  500. package/dist/task/backend/sudocode/__tests__/integration/test-utils.js.map +1 -0
  501. package/dist/task/backend/sudocode/backend.d.ts +155 -0
  502. package/dist/task/backend/sudocode/backend.d.ts.map +1 -0
  503. package/dist/task/backend/sudocode/backend.js +942 -0
  504. package/dist/task/backend/sudocode/backend.js.map +1 -0
  505. package/dist/task/backend/sudocode/client.d.ts +303 -0
  506. package/dist/task/backend/sudocode/client.d.ts.map +1 -0
  507. package/dist/task/backend/sudocode/client.js +101 -0
  508. package/dist/task/backend/sudocode/client.js.map +1 -0
  509. package/dist/task/backend/sudocode/index.d.ts +19 -0
  510. package/dist/task/backend/sudocode/index.d.ts.map +1 -0
  511. package/dist/task/backend/sudocode/index.js +17 -0
  512. package/dist/task/backend/sudocode/index.js.map +1 -0
  513. package/dist/task/backend/sudocode/mapping.d.ts +51 -0
  514. package/dist/task/backend/sudocode/mapping.d.ts.map +1 -0
  515. package/dist/task/backend/sudocode/mapping.js +86 -0
  516. package/dist/task/backend/sudocode/mapping.js.map +1 -0
  517. package/dist/task/backend/sudocode/server-client.d.ts +56 -0
  518. package/dist/task/backend/sudocode/server-client.d.ts.map +1 -0
  519. package/dist/task/backend/sudocode/server-client.js +367 -0
  520. package/dist/task/backend/sudocode/server-client.js.map +1 -0
  521. package/dist/task/backend/sudocode/standalone-client.d.ts +91 -0
  522. package/dist/task/backend/sudocode/standalone-client.d.ts.map +1 -0
  523. package/dist/task/backend/sudocode/standalone-client.js +476 -0
  524. package/dist/task/backend/sudocode/standalone-client.js.map +1 -0
  525. package/dist/task/backend/sudocode/sync-policy.d.ts +166 -0
  526. package/dist/task/backend/sudocode/sync-policy.d.ts.map +1 -0
  527. package/dist/task/backend/sudocode/sync-policy.js +221 -0
  528. package/dist/task/backend/sudocode/sync-policy.js.map +1 -0
  529. package/dist/task/backend/sudocode/tools.d.ts +87 -0
  530. package/dist/task/backend/sudocode/tools.d.ts.map +1 -0
  531. package/dist/task/backend/sudocode/tools.js +743 -0
  532. package/dist/task/backend/sudocode/tools.js.map +1 -0
  533. package/dist/task/backend/tool-provider.d.ts +56 -0
  534. package/dist/task/backend/tool-provider.d.ts.map +1 -0
  535. package/dist/task/backend/tool-provider.js +424 -0
  536. package/dist/task/backend/tool-provider.js.map +1 -0
  537. package/dist/task/backend/types.d.ts +297 -0
  538. package/dist/task/backend/types.d.ts.map +1 -0
  539. package/dist/task/backend/types.js +27 -0
  540. package/dist/task/backend/types.js.map +1 -0
  541. package/dist/task/backend/unified-tool-provider.d.ts +57 -0
  542. package/dist/task/backend/unified-tool-provider.d.ts.map +1 -0
  543. package/dist/task/backend/unified-tool-provider.js +623 -0
  544. package/dist/task/backend/unified-tool-provider.js.map +1 -0
  545. package/dist/task/index.d.ts +7 -0
  546. package/dist/task/index.d.ts.map +1 -0
  547. package/dist/task/index.js +7 -0
  548. package/dist/task/index.js.map +1 -0
  549. package/dist/task/retry-policy.d.ts +89 -0
  550. package/dist/task/retry-policy.d.ts.map +1 -0
  551. package/dist/task/retry-policy.js +160 -0
  552. package/dist/task/retry-policy.js.map +1 -0
  553. package/dist/task/task-manager.d.ts +70 -0
  554. package/dist/task/task-manager.d.ts.map +1 -0
  555. package/dist/task/task-manager.js +319 -0
  556. package/dist/task/task-manager.js.map +1 -0
  557. package/dist/task/types.d.ts +72 -0
  558. package/dist/task/types.d.ts.map +1 -0
  559. package/dist/task/types.js +33 -0
  560. package/dist/task/types.js.map +1 -0
  561. package/dist/teams/team-loader.d.ts +2 -1
  562. package/dist/teams/team-loader.d.ts.map +1 -1
  563. package/dist/teams/team-loader.js +2 -1
  564. package/dist/teams/team-loader.js.map +1 -1
  565. package/dist/teams/team-manager.d.ts +101 -0
  566. package/dist/teams/team-manager.d.ts.map +1 -0
  567. package/dist/teams/team-manager.js +260 -0
  568. package/dist/teams/team-manager.js.map +1 -0
  569. package/dist/teams/team-runtime-v2.d.ts +0 -3
  570. package/dist/teams/team-runtime-v2.d.ts.map +1 -1
  571. package/dist/teams/team-runtime-v2.js +8 -87
  572. package/dist/teams/team-runtime-v2.js.map +1 -1
  573. package/dist/teams/team-runtime.d.ts +245 -0
  574. package/dist/teams/team-runtime.d.ts.map +1 -0
  575. package/dist/teams/team-runtime.js +1023 -0
  576. package/dist/teams/team-runtime.js.map +1 -0
  577. package/dist/trigger/router/index.d.ts +11 -0
  578. package/dist/trigger/router/index.d.ts.map +1 -0
  579. package/dist/trigger/router/index.js +10 -0
  580. package/dist/trigger/router/index.js.map +1 -0
  581. package/dist/trigger/router/strategies/ai-router-strategy.d.ts +34 -0
  582. package/dist/trigger/router/strategies/ai-router-strategy.d.ts.map +1 -0
  583. package/dist/trigger/router/strategies/ai-router-strategy.js +359 -0
  584. package/dist/trigger/router/strategies/ai-router-strategy.js.map +1 -0
  585. package/dist/trigger/router/strategies/direct-strategy.d.ts +32 -0
  586. package/dist/trigger/router/strategies/direct-strategy.d.ts.map +1 -0
  587. package/dist/trigger/router/strategies/direct-strategy.js +119 -0
  588. package/dist/trigger/router/strategies/direct-strategy.js.map +1 -0
  589. package/dist/trigger/router/strategies/index.d.ts +11 -0
  590. package/dist/trigger/router/strategies/index.d.ts.map +1 -0
  591. package/dist/trigger/router/strategies/index.js +11 -0
  592. package/dist/trigger/router/strategies/index.js.map +1 -0
  593. package/dist/trigger/router/strategies/role-strategy.d.ts +39 -0
  594. package/dist/trigger/router/strategies/role-strategy.d.ts.map +1 -0
  595. package/dist/trigger/router/strategies/role-strategy.js +207 -0
  596. package/dist/trigger/router/strategies/role-strategy.js.map +1 -0
  597. package/dist/trigger/router/trigger-router.d.ts +54 -0
  598. package/dist/trigger/router/trigger-router.d.ts.map +1 -0
  599. package/dist/trigger/router/trigger-router.js +362 -0
  600. package/dist/trigger/router/trigger-router.js.map +1 -0
  601. package/dist/trigger/router/types.d.ts +225 -0
  602. package/dist/trigger/router/types.d.ts.map +1 -0
  603. package/dist/trigger/router/types.js +10 -0
  604. package/dist/trigger/router/types.js.map +1 -0
  605. package/dist/trigger/sources/cron/cron-service.d.ts.map +1 -1
  606. package/dist/trigger/sources/cron/cron-service.js +6 -3
  607. package/dist/trigger/sources/cron/cron-service.js.map +1 -1
  608. package/dist/trigger/trigger-system.d.ts +77 -0
  609. package/dist/trigger/trigger-system.d.ts.map +1 -0
  610. package/dist/trigger/trigger-system.js +84 -0
  611. package/dist/trigger/trigger-system.js.map +1 -0
  612. package/dist/util/git-safety.d.ts +33 -0
  613. package/dist/util/git-safety.d.ts.map +1 -0
  614. package/dist/util/git-safety.js +94 -0
  615. package/dist/util/git-safety.js.map +1 -0
  616. package/dist/workspace/dataplane-adapter.d.ts +260 -0
  617. package/dist/workspace/dataplane-adapter.d.ts.map +1 -0
  618. package/dist/workspace/dataplane-adapter.js +416 -0
  619. package/dist/workspace/dataplane-adapter.js.map +1 -0
  620. package/dist/workspace/index.d.ts +0 -1
  621. package/dist/workspace/index.d.ts.map +1 -1
  622. package/dist/workspace/index.js +0 -2
  623. package/dist/workspace/index.js.map +1 -1
  624. package/dist/workspace/landing/direct-push.d.ts.map +1 -1
  625. package/dist/workspace/landing/direct-push.js +22 -7
  626. package/dist/workspace/landing/direct-push.js.map +1 -1
  627. package/dist/workspace/landing/queue-to-branch.d.ts.map +1 -1
  628. package/dist/workspace/landing/queue-to-branch.js +1 -3
  629. package/dist/workspace/landing/queue-to-branch.js.map +1 -1
  630. package/dist/workspace/types.d.ts +0 -13
  631. package/dist/workspace/types.d.ts.map +1 -1
  632. package/dist/workspace/workspace-manager.d.ts +0 -11
  633. package/dist/workspace/workspace-manager.d.ts.map +1 -1
  634. package/dist/workspace/workspace-manager.js +0 -30
  635. package/dist/workspace/workspace-manager.js.map +1 -1
  636. package/package.json +28 -2
  637. package/templates/teams/self-driving/prompts/grinder.md +1 -0
  638. package/templates/teams/self-driving/prompts/judge.md +1 -0
  639. package/templates/teams/self-driving/prompts/planner.md +1 -0
  640. package/templates/teams/self-driving/roles/grinder.yaml +15 -0
  641. package/templates/teams/self-driving/roles/judge.yaml +10 -0
  642. package/templates/teams/self-driving/roles/planner.yaml +16 -0
  643. package/.claude/commands/openspec/apply.md +0 -23
  644. package/.claude/commands/openspec/archive.md +0 -27
  645. package/.claude/commands/openspec/proposal.md +0 -28
  646. package/.claude/settings.json +0 -133
  647. package/.gitattributes +0 -3
  648. package/.opentasks/config.json +0 -9
  649. package/.opentasks/graph.jsonl +0 -0
  650. package/.sessionlog/settings.json +0 -4
  651. package/.sudocode/issues.jsonl +0 -183
  652. package/.sudocode/specs.jsonl +0 -56
  653. package/AGENTS.md +0 -18
  654. package/CLAUDE.md +0 -923
  655. package/docs/architecture.md +0 -508
  656. package/docs/configuration.md +0 -323
  657. package/docs/conflict-recovery.md +0 -472
  658. package/docs/design/task-dispatcher.md +0 -880
  659. package/docs/design-subsystem-extraction.md +0 -627
  660. package/docs/git-cascade-integration-gaps.md +0 -678
  661. package/docs/implementation-details.md +0 -1127
  662. package/docs/implementation-summary.md +0 -448
  663. package/docs/lifecycle-events-design.md +0 -111
  664. package/docs/mail-integration.md +0 -608
  665. package/docs/openhive-capability-summary.md +0 -415
  666. package/docs/openhive-integration.md +0 -415
  667. package/docs/plan-self-driving-support.md +0 -433
  668. package/docs/roadmap-v2-gaps.md +0 -216
  669. package/docs/spec-self-driving-support.md +0 -462
  670. package/docs/team-templates.md +0 -860
  671. package/docs/teams.md +0 -306
  672. package/docs/trigger-system-design.md +0 -333
  673. package/docs/troubleshooting.md +0 -489
  674. package/docs/workspace-interfaces.md +0 -731
  675. package/docs/workspace-redesign-plan.md +0 -302
  676. package/examples/distributed-peer-communication.ts +0 -202
  677. package/examples/local-peer-communication.ts +0 -165
  678. package/index.js +0 -2
  679. package/mvp_docs/agent-execution-system.md +0 -347
  680. package/mvp_docs/agent-interface.md +0 -580
  681. package/mvp_docs/data-structures.md +0 -701
  682. package/mvp_docs/dynamic-meta-orchestration.md +0 -116
  683. package/mvp_docs/multi-agent-interaction-design.md +0 -779
  684. package/mvp_docs/mvp-implementation-plan.md +0 -1148
  685. package/renovate.json5 +0 -6
  686. package/scripts/test-acp-integration.ts +0 -422
  687. package/src/__tests__/boot-v2.test.ts +0 -631
  688. package/src/__tests__/e2e/acp-over-map-live.e2e.test.ts +0 -496
  689. package/src/__tests__/e2e/acp-over-map.e2e.test.ts +0 -457
  690. package/src/__tests__/e2e/agent-lifecycle.e2e.test.ts +0 -770
  691. package/src/__tests__/e2e/auto-sync.e2e.test.ts +0 -257
  692. package/src/__tests__/e2e/bootstrap.e2e.test.ts +0 -319
  693. package/src/__tests__/e2e/cascade-rebase.e2e.test.ts +0 -254
  694. package/src/__tests__/e2e/cc-swarm-bridge.e2e.test.ts +0 -253
  695. package/src/__tests__/e2e/cli-run.e2e.test.ts +0 -167
  696. package/src/__tests__/e2e/cognitive-workspace.e2e.test.ts +0 -282
  697. package/src/__tests__/e2e/dispatch-coordination.e2e.test.ts +0 -495
  698. package/src/__tests__/e2e/dispatch-live.e2e.test.ts +0 -564
  699. package/src/__tests__/e2e/dispatch-opentasks.e2e.test.ts +0 -496
  700. package/src/__tests__/e2e/dispatch-phase2-live.e2e.test.ts +0 -456
  701. package/src/__tests__/e2e/dispatch-phase2.e2e.test.ts +0 -386
  702. package/src/__tests__/e2e/dispatch.e2e.test.ts +0 -376
  703. package/src/__tests__/e2e/done-scenarios.e2e.test.ts +0 -322
  704. package/src/__tests__/e2e/live-agent.e2e.test.ts +0 -1330
  705. package/src/__tests__/e2e/map-server.e2e.test.ts +0 -128
  706. package/src/__tests__/e2e/map-sidecar.e2e.test.ts +0 -139
  707. package/src/__tests__/e2e/opentasks-integration.e2e.test.ts +0 -280
  708. package/src/__tests__/e2e/pull-mode.e2e.test.ts +0 -632
  709. package/src/__tests__/e2e/resume-continue.e2e.test.ts +0 -312
  710. package/src/__tests__/e2e/self-driving-v3.e2e.test.ts +0 -197
  711. package/src/__tests__/e2e/spawn-resolver.e2e.test.ts +0 -200
  712. package/src/__tests__/e2e/swarmkit-integration.e2e.test.ts +0 -562
  713. package/src/__tests__/e2e/swarmkit-live.e2e.test.ts +0 -1049
  714. package/src/__tests__/e2e/trajectory-tracking.e2e.test.ts +0 -258
  715. package/src/__tests__/e2e/trigger-wake.e2e.test.ts +0 -257
  716. package/src/__tests__/e2e/workspace-lifecycle.e2e.test.ts +0 -383
  717. package/src/__tests__/e2e/workspace-v3.e2e.test.ts +0 -413
  718. package/src/acp/__tests__/claude-code-replay.test.ts +0 -225
  719. package/src/acp/__tests__/macro-agent.test.ts +0 -387
  720. package/src/acp/__tests__/session-mapper.test.ts +0 -152
  721. package/src/acp/__tests__/websocket-server.test.ts +0 -194
  722. package/src/acp/claude-code-replay.ts +0 -208
  723. package/src/acp/index.ts +0 -32
  724. package/src/acp/macro-agent.ts +0 -995
  725. package/src/acp/map-bridge.ts +0 -193
  726. package/src/acp/session-mapper.ts +0 -116
  727. package/src/acp/types.ts +0 -99
  728. package/src/acp/websocket-server.ts +0 -213
  729. package/src/adapters/__tests__/federation.test.ts +0 -256
  730. package/src/adapters/__tests__/inbox-adapter.test.ts +0 -316
  731. package/src/adapters/__tests__/tasks-adapter.test.ts +0 -270
  732. package/src/adapters/federation.ts +0 -185
  733. package/src/adapters/inbox-adapter.ts +0 -292
  734. package/src/adapters/inbox-client-adapter.ts +0 -173
  735. package/src/adapters/index.ts +0 -44
  736. package/src/adapters/opentasks-daemon.ts +0 -252
  737. package/src/adapters/tasks-adapter.ts +0 -330
  738. package/src/adapters/types.ts +0 -286
  739. package/src/agent/__tests__/agent-manager-topology.test.ts +0 -73
  740. package/src/agent/__tests__/agent-manager-v2.completion-signal.test.ts +0 -284
  741. package/src/agent/__tests__/agent-manager-v2.permission-interception.test.ts +0 -296
  742. package/src/agent/__tests__/agent-manager-v2.permissions.test.ts +0 -233
  743. package/src/agent/__tests__/agent-manager-v2.test.ts +0 -614
  744. package/src/agent/__tests__/agent-store.test.ts +0 -465
  745. package/src/agent/__tests__/task-ref-resolution.test.ts +0 -231
  746. package/src/agent/agent-manager-v2.ts +0 -2187
  747. package/src/agent/agent-manager.ts +0 -403
  748. package/src/agent/agent-store.ts +0 -409
  749. package/src/agent/index.ts +0 -7
  750. package/src/agent/prompts/coordinator-signals.ts +0 -115
  751. package/src/agent/prompts/index.ts +0 -7
  752. package/src/agent/system-prompt.ts +0 -298
  753. package/src/agent/types.ts +0 -480
  754. package/src/agent-detection/__tests__/command-builder.test.ts +0 -336
  755. package/src/agent-detection/__tests__/detector.test.ts +0 -768
  756. package/src/agent-detection/__tests__/registry.test.ts +0 -254
  757. package/src/agent-detection/command-builder.ts +0 -90
  758. package/src/agent-detection/detector.ts +0 -307
  759. package/src/agent-detection/index.ts +0 -36
  760. package/src/agent-detection/registry.ts +0 -200
  761. package/src/agent-detection/types.ts +0 -184
  762. package/src/api/__tests__/server.test.ts +0 -292
  763. package/src/api/index.ts +0 -8
  764. package/src/api/server.ts +0 -380
  765. package/src/api/types.ts +0 -39
  766. package/src/auth/__tests__/token.test.ts +0 -100
  767. package/src/auth/index.ts +0 -1
  768. package/src/auth/token.ts +0 -82
  769. package/src/boot-v2.ts +0 -1343
  770. package/src/cli/__tests__/stable-instance-id.test.ts +0 -57
  771. package/src/cli/acp.ts +0 -101
  772. package/src/cli/inbox-mcp-proxy.ts +0 -56
  773. package/src/cli/index.ts +0 -566
  774. package/src/cli/mcp.ts +0 -305
  775. package/src/cli/parse-args.ts +0 -54
  776. package/src/cli/stable-instance-id.ts +0 -14
  777. package/src/cognitive/__tests__/macro-agent-backend.test.ts +0 -673
  778. package/src/cognitive/__tests__/session-converter.test.ts +0 -423
  779. package/src/cognitive/__tests__/workspace-handler.test.ts +0 -221
  780. package/src/cognitive/analyst-role.ts +0 -59
  781. package/src/cognitive/index.ts +0 -49
  782. package/src/cognitive/macro-agent-backend.ts +0 -402
  783. package/src/cognitive/session-converter.ts +0 -151
  784. package/src/cognitive/types.ts +0 -187
  785. package/src/cognitive/workspace-handler.ts +0 -163
  786. package/src/config/index.ts +0 -9
  787. package/src/config/project-config.ts +0 -294
  788. package/src/control/__tests__/control-resilience.test.ts +0 -251
  789. package/src/control/__tests__/control-socket.test.ts +0 -240
  790. package/src/control/control-client.ts +0 -337
  791. package/src/control/control-server.ts +0 -298
  792. package/src/control/index.ts +0 -17
  793. package/src/control/types.ts +0 -95
  794. package/src/dispatch/CLAUDE.md +0 -129
  795. package/src/dispatch/__tests__/loadout-translation.test.ts +0 -141
  796. package/src/dispatch/__tests__/mail-inbound-consumer.integration.test.ts +0 -519
  797. package/src/dispatch/__tests__/mail-inbound-consumer.test.ts +0 -800
  798. package/src/dispatch/__tests__/mail-inbound-reuse-consumer.test.ts +0 -575
  799. package/src/dispatch/__tests__/permission-evaluator.test.ts +0 -196
  800. package/src/dispatch/__tests__/permission-overlay.test.ts +0 -56
  801. package/src/dispatch/__tests__/permissions-handler.test.ts +0 -168
  802. package/src/dispatch/__tests__/spawn-agent-handler.test.ts +0 -282
  803. package/src/dispatch/loadout-translation.ts +0 -138
  804. package/src/dispatch/mail-inbound-consumer.ts +0 -560
  805. package/src/dispatch/mail-inbound-reuse-consumer.ts +0 -479
  806. package/src/dispatch/permission-evaluator.ts +0 -191
  807. package/src/dispatch/permission-overlay.ts +0 -89
  808. package/src/dispatch/permissions-handler.ts +0 -112
  809. package/src/dispatch/spawn-agent-handler.ts +0 -160
  810. package/src/index.ts +0 -117
  811. package/src/integrations/__tests__/context-builder.test.ts +0 -218
  812. package/src/integrations/__tests__/sessionlog.test.ts +0 -498
  813. package/src/integrations/__tests__/skilltree.test.ts +0 -136
  814. package/src/integrations/context-builder.ts +0 -280
  815. package/src/integrations/sessionlog.ts +0 -194
  816. package/src/integrations/skilltree.ts +0 -184
  817. package/src/lifecycle/__tests__/cascade-consolidation.test.ts +0 -240
  818. package/src/lifecycle/__tests__/handlers-v2.test.ts +0 -565
  819. package/src/lifecycle/cascade.ts +0 -335
  820. package/src/lifecycle/cleanup.ts +0 -373
  821. package/src/lifecycle/handlers-v2.ts +0 -508
  822. package/src/lifecycle/index.ts +0 -76
  823. package/src/lifecycle/types.ts +0 -260
  824. package/src/map/__tests__/cascade-bridge.test.ts +0 -229
  825. package/src/map/__tests__/cascade-diff-server.test.ts +0 -434
  826. package/src/map/__tests__/emit-event.test.ts +0 -71
  827. package/src/map/__tests__/lifecycle-bridge.test.ts +0 -430
  828. package/src/map/__tests__/mail-bridge.test.ts +0 -321
  829. package/src/map/__tests__/permission-forwarding.test.ts +0 -143
  830. package/src/map/__tests__/sidecar-diff-install-smoke.test.ts +0 -90
  831. package/src/map/__tests__/sidecar-integration.test.ts +0 -190
  832. package/src/map/__tests__/task-bridge.test.ts +0 -153
  833. package/src/map/__tests__/trajectory-reporter.test.ts +0 -173
  834. package/src/map/acp-bridge.ts +0 -293
  835. package/src/map/cascade-action-handler.ts +0 -205
  836. package/src/map/cascade-bridge.ts +0 -339
  837. package/src/map/cascade-diff-server.ts +0 -404
  838. package/src/map/cc-swarm-hooks.ts +0 -242
  839. package/src/map/coordination-handler.ts +0 -232
  840. package/src/map/index.ts +0 -18
  841. package/src/map/lifecycle-bridge.ts +0 -236
  842. package/src/map/mail-bridge.ts +0 -263
  843. package/src/map/repo-workspace.ts +0 -82
  844. package/src/map/server.ts +0 -758
  845. package/src/map/sidecar.ts +0 -826
  846. package/src/map/task-bridge.ts +0 -89
  847. package/src/map/trajectory-reporter.ts +0 -124
  848. package/src/map/types.ts +0 -304
  849. package/src/mcp/__tests__/mcp-server-v2.test.ts +0 -236
  850. package/src/mcp/index.ts +0 -6
  851. package/src/mcp/mcp-server-v2.ts +0 -485
  852. package/src/mcp/tools/done-v2.ts +0 -213
  853. package/src/mcp/types.ts +0 -432
  854. package/src/metrics/__tests__/metrics.test.ts +0 -205
  855. package/src/metrics/index.ts +0 -13
  856. package/src/metrics/metrics.ts +0 -151
  857. package/src/metrics/types.ts +0 -63
  858. package/src/roles/__tests__/config-loader.test.ts +0 -540
  859. package/src/roles/builtin/coordinator.ts +0 -75
  860. package/src/roles/builtin/generic.ts +0 -39
  861. package/src/roles/builtin/index.ts +0 -51
  862. package/src/roles/builtin/integrator.ts +0 -62
  863. package/src/roles/builtin/monitor.ts +0 -65
  864. package/src/roles/builtin/worker.ts +0 -134
  865. package/src/roles/capabilities.ts +0 -257
  866. package/src/roles/config-loader.ts +0 -405
  867. package/src/roles/index.ts +0 -141
  868. package/src/roles/registry.ts +0 -713
  869. package/src/roles/types.ts +0 -344
  870. package/src/store/index.ts +0 -8
  871. package/src/store/types/agents.ts +0 -69
  872. package/src/store/types/events.ts +0 -91
  873. package/src/store/types/index.ts +0 -9
  874. package/src/store/types/messages.ts +0 -32
  875. package/src/store/types/primitives.ts +0 -9
  876. package/src/store/types/tasks.ts +0 -124
  877. package/src/teams/__tests__/team-manager-v2.test.ts +0 -425
  878. package/src/teams/__tests__/team-runtime-v2.test.ts +0 -402
  879. package/src/teams/index.ts +0 -29
  880. package/src/teams/seed-defaults.ts +0 -83
  881. package/src/teams/team-loader.ts +0 -476
  882. package/src/teams/team-manager-v2.ts +0 -343
  883. package/src/teams/team-runtime-v2.ts +0 -943
  884. package/src/teams/types.ts +0 -276
  885. package/src/trigger/__tests__/cron-service.test.ts +0 -548
  886. package/src/trigger/__tests__/scheduler.test.ts +0 -371
  887. package/src/trigger/__tests__/system-event-queue.test.ts +0 -147
  888. package/src/trigger/__tests__/trigger-system-v2.test.ts +0 -257
  889. package/src/trigger/__tests__/wake-manager.test.ts +0 -356
  890. package/src/trigger/__tests__/webhook-handler.test.ts +0 -567
  891. package/src/trigger/index.ts +0 -110
  892. package/src/trigger/queue/index.ts +0 -21
  893. package/src/trigger/queue/system-event-queue.ts +0 -232
  894. package/src/trigger/queue/types.ts +0 -149
  895. package/src/trigger/sources/cron/cron-service.ts +0 -499
  896. package/src/trigger/sources/cron/index.ts +0 -41
  897. package/src/trigger/sources/cron/scheduler.ts +0 -344
  898. package/src/trigger/sources/cron/types.ts +0 -333
  899. package/src/trigger/sources/index.ts +0 -10
  900. package/src/trigger/sources/webhook/index.ts +0 -25
  901. package/src/trigger/sources/webhook/types.ts +0 -205
  902. package/src/trigger/sources/webhook/webhook-handler.ts +0 -410
  903. package/src/trigger/strategies/ai-router.ts +0 -170
  904. package/src/trigger/trigger-system-v2.ts +0 -536
  905. package/src/trigger/types.ts +0 -228
  906. package/src/trigger/wake/index.ts +0 -22
  907. package/src/trigger/wake/types.ts +0 -162
  908. package/src/trigger/wake/wake-manager.ts +0 -390
  909. package/src/workspace/__tests__/git-cascade-adapter.test.ts +0 -563
  910. package/src/workspace/__tests__/land-dispatch.test.ts +0 -214
  911. package/src/workspace/__tests__/self-driving-yaml.test.ts +0 -122
  912. package/src/workspace/__tests__/shared-worktree-refcount.test.ts +0 -154
  913. package/src/workspace/__tests__/standalone-mode.test.ts +0 -118
  914. package/src/workspace/__tests__/workspace-manager-v3.test.ts +0 -245
  915. package/src/workspace/__tests__/yaml-schema.test.ts +0 -210
  916. package/src/workspace/config.ts +0 -165
  917. package/src/workspace/git-cascade-adapter.ts +0 -1213
  918. package/src/workspace/index.ts +0 -110
  919. package/src/workspace/landing/__tests__/strategies.test.ts +0 -184
  920. package/src/workspace/landing/direct-push.ts +0 -91
  921. package/src/workspace/landing/index.ts +0 -40
  922. package/src/workspace/landing/merge-to-parent.ts +0 -229
  923. package/src/workspace/landing/optimistic-push.ts +0 -36
  924. package/src/workspace/landing/queue-to-branch.ts +0 -108
  925. package/src/workspace/merge-queue/__tests__/conflict-resolution-git.e2e.test.ts +0 -641
  926. package/src/workspace/merge-queue/__tests__/conflict-resolution.test.ts +0 -707
  927. package/src/workspace/merge-queue/__tests__/merge-queue-concurrent.test.ts +0 -628
  928. package/src/workspace/merge-queue/__tests__/merge-queue-edge-cases.test.ts +0 -1217
  929. package/src/workspace/merge-queue/__tests__/merge-queue.test.ts +0 -506
  930. package/src/workspace/merge-queue/__tests__/real-git-operations.e2e.test.ts +0 -556
  931. package/src/workspace/merge-queue/__tests__/resolver-flow.test.ts +0 -472
  932. package/src/workspace/merge-queue/index.ts +0 -38
  933. package/src/workspace/merge-queue/merge-queue.ts +0 -585
  934. package/src/workspace/merge-queue/schema.ts +0 -98
  935. package/src/workspace/merge-queue/types.ts +0 -316
  936. package/src/workspace/pool/__tests__/worktree-pool.integration.test.ts +0 -1281
  937. package/src/workspace/pool/__tests__/worktree-pool.test.ts +0 -590
  938. package/src/workspace/pool/index.ts +0 -26
  939. package/src/workspace/pool/types.ts +0 -276
  940. package/src/workspace/pool/worktree-pool.ts +0 -659
  941. package/src/workspace/recovery/__tests__/auto-resolve-integration.test.ts +0 -127
  942. package/src/workspace/recovery/__tests__/spawn-resolver.test.ts +0 -139
  943. package/src/workspace/recovery/__tests__/strategies.test.ts +0 -145
  944. package/src/workspace/recovery/abandon.ts +0 -51
  945. package/src/workspace/recovery/auto-resolve.ts +0 -119
  946. package/src/workspace/recovery/defer.ts +0 -23
  947. package/src/workspace/recovery/escalate.ts +0 -30
  948. package/src/workspace/recovery/index.ts +0 -58
  949. package/src/workspace/recovery/spawn-resolver.ts +0 -152
  950. package/src/workspace/recovery/types.ts +0 -54
  951. package/src/workspace/strategies/index.ts +0 -18
  952. package/src/workspace/strategies/optimistic.ts +0 -139
  953. package/src/workspace/strategies/queue.ts +0 -81
  954. package/src/workspace/strategies/registry.ts +0 -89
  955. package/src/workspace/strategies/trunk.ts +0 -123
  956. package/src/workspace/strategies/types.ts +0 -145
  957. package/src/workspace/topology/__tests__/yaml-driven.test.ts +0 -345
  958. package/src/workspace/topology/index.ts +0 -18
  959. package/src/workspace/topology/no-workspace.ts +0 -39
  960. package/src/workspace/topology/types.ts +0 -116
  961. package/src/workspace/topology/yaml-driven.ts +0 -316
  962. package/src/workspace/types-v3.ts +0 -162
  963. package/src/workspace/types.ts +0 -541
  964. package/src/workspace/workspace-manager.ts +0 -1577
  965. package/src/workspace/yaml-schema.ts +0 -216
  966. package/test_fixtures/README.md +0 -425
  967. package/test_fixtures/fixtures/behaviors/coordinators.ts +0 -196
  968. package/test_fixtures/fixtures/behaviors/index.ts +0 -62
  969. package/test_fixtures/fixtures/behaviors/integrators.ts +0 -143
  970. package/test_fixtures/fixtures/behaviors/monitors.ts +0 -199
  971. package/test_fixtures/fixtures/behaviors/workers.ts +0 -348
  972. package/test_fixtures/fixtures/index.ts +0 -7
  973. package/test_fixtures/fixtures/projects/index.ts +0 -23
  974. package/test_fixtures/fixtures/projects/project-with-specs.ts +0 -44
  975. package/test_fixtures/fixtures/projects/typescript-project.ts +0 -200
  976. package/test_fixtures/fixtures/repos/index.ts +0 -6
  977. package/test_fixtures/fixtures/repos/temp-repo-factory.ts +0 -299
  978. package/test_fixtures/fixtures/repos/types.ts +0 -174
  979. package/test_fixtures/harness/assertions/harness-assertions.ts +0 -752
  980. package/test_fixtures/harness/assertions/index.ts +0 -8
  981. package/test_fixtures/harness/index.ts +0 -15
  982. package/test_fixtures/harness/simulator/agent-simulator.ts +0 -768
  983. package/test_fixtures/harness/simulator/behavior-executor.ts +0 -580
  984. package/test_fixtures/harness/simulator/index.ts +0 -14
  985. package/test_fixtures/harness/simulator/types.ts +0 -459
  986. package/test_fixtures/harness/test-harness.ts +0 -770
  987. package/test_fixtures/harness/timing/event-stepper.ts +0 -344
  988. package/test_fixtures/harness/timing/index.ts +0 -8
  989. package/tsconfig.json +0 -21
  990. package/vitest.config.ts +0 -30
  991. package/vitest.e2e.config.ts +0 -28
  992. package/vitest.setup.ts +0 -12
@@ -1,1148 +0,0 @@
1
- # Multi-Agent System MVP Implementation Plan
2
-
3
- **Status:** Draft
4
- **Date:** 2025-01-09
5
- **Phase:** MVP (Phase 1)
6
-
7
- ---
8
-
9
- ## Overview
10
-
11
- This document describes the implementation plan for the MVP of the multi-agent system. The goal is a working system where a user can interact with a head manager agent that can spawn child agents for complex task decomposition.
12
-
13
- ### MVP Target Flow
14
-
15
- ```
16
- User (CLI) → API → Head Manager Agent
17
-
18
- ├── Spawns child agents via ACP
19
- ├── Receives status updates via messaging
20
- ├── Queries child state/results
21
- └── Synthesizes and responds to user
22
- ```
23
-
24
- ### Success Criteria
25
-
26
- - [ ] User can start system and interact via CLI
27
- - [ ] Head manager spawns on first interaction
28
- - [ ] Head manager can spawn child agents for subtasks
29
- - [ ] Child agents execute work via Claude Code
30
- - [ ] Status flows from children to parent via messaging
31
- - [ ] Parent can query agent/task state
32
- - [ ] Results flow back to user
33
- - [ ] History persists across sessions
34
-
35
- ---
36
-
37
- ## Architecture Overview
38
-
39
- ```
40
- ┌─────────────────────────────────────────────────────────────────┐
41
- │ CLI (lightweight) │
42
- └─────────────────────────────────┬───────────────────────────────┘
43
- │ HTTP/WebSocket
44
-
45
- ┌─────────────────────────────────────────────────────────────────┐
46
- │ API │
47
- │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
48
- │ │ Routes │ │ WebSocket │ │ MCP Server │ │
49
- │ │ (REST) │ │ (realtime) │ │ (agent tools) │ │
50
- │ └──────┬──────┘ └──────┬──────┘ └───────────┬─────────────┘ │
51
- └─────────┼────────────────┼─────────────────────┼────────────────┘
52
- │ │ │
53
- └────────────────┼─────────────────────┘
54
-
55
- ┌─────────────────────────────────────────────────────────────────┐
56
- │ Core Services │
57
- │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
58
- │ │ Agent Manager │ │ Task Manager │ │ Message Router │ │
59
- │ └────────┬────────┘ └────────┬────────┘ └────────┬────────┘ │
60
- └───────────┼────────────────────┼────────────────────┼───────────┘
61
- │ │ │
62
- └────────────────────┼────────────────────┘
63
-
64
- ┌─────────────────────────────────────────────────────────────────┐
65
- │ Event Store (TinyBase) │
66
- │ ┌─────────────────┐ ┌─────────────────────────────────────┐ │
67
- │ │ Event Log │ │ Materialized Views │ │
68
- │ │ (append-only) │ │ (agents, tasks, messages, etc.) │ │
69
- │ └─────────────────┘ └─────────────────────────────────────┘ │
70
- └─────────────────────────────────────────────────────────────────┘
71
-
72
-
73
- ┌─────────────────────────────────────────────────────────────────┐
74
- │ ACP Wrapper (separate scope) │
75
- │ (Claude Code integration) │
76
- └─────────────────────────────────────────────────────────────────┘
77
- ```
78
-
79
- ---
80
-
81
- ## Local Environment
82
-
83
- ### Directory Structure
84
-
85
- ```
86
- ~/.multiagent/
87
- ├── config.json # System configuration
88
- ├── store.db # TinyBase persistent storage
89
- └── logs/ # Optional: debug logs
90
- ```
91
-
92
- ### Configuration Schema
93
-
94
- ```json
95
- {
96
- "version": "1.0.0",
97
-
98
- "storage": {
99
- "path": "~/.multiagent/store.db"
100
- },
101
-
102
- "api": {
103
- "port": 3000,
104
- "host": "localhost"
105
- },
106
-
107
- "acp": {
108
- "endpoint": "...",
109
- "timeout": 300000
110
- },
111
-
112
- "agents": {
113
- "default_model": "claude-sonnet-4-20250514",
114
- "default_timeout": 1800000
115
- },
116
-
117
- "system": {
118
- "head_manager_task": "You are the head manager agent..."
119
- }
120
- }
121
- ```
122
-
123
- ---
124
-
125
- ## Implementation Components
126
-
127
- ### 1. Event Store (TinyBase)
128
-
129
- **Purpose:** Append-only event log with real-time materialized views.
130
-
131
- **1.1 Store Initialization**
132
-
133
- ```typescript
134
- // store/init.ts
135
- interface EventStore {
136
- // Core operations
137
- emit(event: Omit<Event, 'id' | 'timestamp'>): Event
138
- query(filter: EventFilter): Event[]
139
- subscribe(filter: EventFilter, callback: (events: Event[]) => void): Unsubscribe
140
-
141
- // Views
142
- agents: AgentView
143
- tasks: TaskView
144
- messages: MessageView
145
- subscriptions: SubscriptionView
146
- }
147
-
148
- function createEventStore(config: StoreConfig): EventStore
149
- ```
150
-
151
- **1.2 Event Log Table**
152
-
153
- ```typescript
154
- // Tables
155
- events: {
156
- id: string
157
- timestamp: number
158
- type: EventType
159
- source_agent_id: string | null
160
- source_task_id: string | null
161
- target_agent_id: string | null
162
- target_task_id: string | null
163
- target_topic: string | null
164
- payload: string // JSON
165
- metadata: string // JSON
166
- }
167
- ```
168
-
169
- **1.3 Materialized Views**
170
-
171
- ```typescript
172
- // Derived from events, maintained by TinyBase
173
- agents: {
174
- [agent_id]: {
175
- id, session_id, parent, state, task, task_id,
176
- created_at, started_at, stopped_at, stop_reason
177
- }
178
- }
179
-
180
- tasks: {
181
- [task_id]: {
182
- id, description, status, assigned_agent,
183
- parent_task, created_at, created_by
184
- }
185
- }
186
-
187
- messages: {
188
- [agent_id]: {
189
- pending: [{ message_id, from, content, timestamp, ... }]
190
- }
191
- }
192
-
193
- subscriptions: {
194
- [agent_id]: [{ type, target }]
195
- }
196
- ```
197
-
198
- **1.4 Real-time Sync**
199
-
200
- - TinyBase provides reactive updates
201
- - CLI subscribes to changes via WebSocket
202
- - Views update automatically on new events
203
-
204
- **Deliverables:**
205
- - [ ] TinyBase store setup with persistence
206
- - [ ] Event emission with ID/timestamp generation
207
- - [ ] Event query with filtering
208
- - [ ] Agent view projection
209
- - [ ] Task view projection
210
- - [ ] Message queue projection
211
- - [ ] Subscription change handlers
212
-
213
- ---
214
-
215
- ### 2. Agent Manager
216
-
217
- **Purpose:** Manage agent lifecycle and state.
218
-
219
- **2.1 Interface**
220
-
221
- ```typescript
222
- // services/agent-manager.ts
223
- interface AgentManager {
224
- // Lifecycle
225
- spawn(params: SpawnParams): Promise<Agent>
226
- terminate(agent_id: string, reason: StopReason): Promise<void>
227
-
228
- // Queries
229
- get(agent_id: string): Agent | null
230
- list(filter?: AgentFilter): Agent[]
231
- getChildren(agent_id: string): Agent[]
232
- getHierarchy(root?: string): HierarchyNode
233
-
234
- // Head manager
235
- getOrCreateHeadManager(): Promise<Agent>
236
- }
237
-
238
- interface SpawnParams {
239
- task: string
240
- parent: string | null
241
- task_id?: string
242
- subscriptions?: Subscription[]
243
- subscribe_parent?: boolean
244
- config?: AgentConfig
245
- }
246
- ```
247
-
248
- **2.2 Head Manager Bootstrap**
249
-
250
- ```typescript
251
- async function getOrCreateHeadManager(): Promise<Agent> {
252
- // Check for existing head manager
253
- const existing = agents.list({ parent: null, state: 'running' })
254
- if (existing.length > 0) {
255
- return existing[0]
256
- }
257
-
258
- // Spawn new head manager
259
- return spawn({
260
- task: config.system.head_manager_task,
261
- parent: null,
262
- subscribe_parent: false
263
- })
264
- }
265
- ```
266
-
267
- **2.3 Spawn Flow**
268
-
269
- ```typescript
270
- async function spawn(params: SpawnParams): Promise<Agent> {
271
- // 1. Generate IDs
272
- const agent_id = generateId('agent')
273
- const task_id = params.task_id ?? generateId('task')
274
-
275
- // 2. Create task (if not provided)
276
- if (!params.task_id) {
277
- taskManager.create({
278
- id: task_id,
279
- description: params.task,
280
- created_by: params.parent ?? 'system'
281
- })
282
- }
283
-
284
- // 3. Spawn via ACP
285
- const session_id = await acp.spawn({
286
- systemPrompt: generateSystemPrompt({ agent_id, task_id, ...params }),
287
- // ... other ACP config
288
- })
289
-
290
- // 4. Emit spawn event
291
- eventStore.emit({
292
- type: 'spawn',
293
- source: { agent_id: params.parent },
294
- payload: {
295
- agent_id,
296
- session_id,
297
- task: params.task,
298
- task_id,
299
- parent: params.parent,
300
- config: params.config
301
- }
302
- })
303
-
304
- // 5. Setup subscriptions
305
- setupSubscriptions(agent_id, params)
306
-
307
- // 6. Assign task
308
- taskManager.assign(task_id, agent_id)
309
-
310
- return agents.get(agent_id)
311
- }
312
- ```
313
-
314
- **2.4 Termination Flow**
315
-
316
- ```typescript
317
- async function terminate(agent_id: string, reason: StopReason): Promise<void> {
318
- const agent = agents.get(agent_id)
319
-
320
- // 1. Terminate via ACP
321
- await acp.terminate(agent.session_id)
322
-
323
- // 2. Emit terminate event
324
- eventStore.emit({
325
- type: 'terminate',
326
- source: { agent_id },
327
- payload: {
328
- session_id: agent.session_id,
329
- reason
330
- }
331
- })
332
-
333
- // 3. Update task status
334
- if (agent.task_id) {
335
- const status = reason === 'completed' ? 'completed' : 'failed'
336
- taskManager.updateStatus(agent.task_id, status)
337
- }
338
- }
339
- ```
340
-
341
- **Deliverables:**
342
- - [ ] AgentManager service
343
- - [ ] Spawn flow with ACP integration
344
- - [ ] Terminate flow
345
- - [ ] Head manager bootstrap
346
- - [ ] Agent queries (get, list, children, hierarchy)
347
- - [ ] Subscription setup on spawn
348
-
349
- ---
350
-
351
- ### 3. Task Manager
352
-
353
- **Purpose:** Manage task lifecycle and assignment.
354
-
355
- **3.1 Interface**
356
-
357
- ```typescript
358
- // services/task-manager.ts
359
- interface TaskManager {
360
- // CRUD
361
- create(params: CreateTaskParams): Task
362
- get(task_id: string): Task | null
363
- list(filter?: TaskFilter): Task[]
364
- update(task_id: string, updates: Partial<Task>): Task
365
-
366
- // Assignment
367
- assign(task_id: string, agent_id: string, role?: AssignmentRole): void
368
- unassign(task_id: string, agent_id: string): void
369
-
370
- // Status
371
- updateStatus(task_id: string, status: TaskStatus): void
372
-
373
- // Hierarchy
374
- createSubtask(parent_id: string, params: CreateTaskParams): Task
375
- getSubtasks(task_id: string): Task[]
376
- }
377
- ```
378
-
379
- **3.2 Task Events**
380
-
381
- ```typescript
382
- // Task creation
383
- { type: 'task', payload: { task_id, action: 'created', details: {...} } }
384
-
385
- // Task assignment
386
- { type: 'task', payload: { task_id, action: 'assigned', details: { agent_id, role } } }
387
-
388
- // Task status change
389
- { type: 'task', payload: { task_id, action: 'status_change', details: { status } } }
390
- ```
391
-
392
- **Deliverables:**
393
- - [ ] TaskManager service
394
- - [ ] Task CRUD operations
395
- - [ ] Task assignment/unassignment
396
- - [ ] Status transitions
397
- - [ ] Subtask creation
398
- - [ ] Task view projection
399
-
400
- ---
401
-
402
- ### 4. Messaging System
403
-
404
- **Purpose:** Route messages between agents.
405
-
406
- **4.1 Interface**
407
-
408
- ```typescript
409
- // services/message-router.ts
410
- interface MessageRouter {
411
- // Sending
412
- send(params: SendParams): Message
413
-
414
- // Receiving
415
- getMessages(agent_id: string, options?: GetMessagesOptions): Message[]
416
- getFullMessage(message_id: string): Message
417
-
418
- // Subscriptions
419
- subscribe(agent_id: string, subscription: Subscription): void
420
- unsubscribe(agent_id: string, subscription: Subscription): void
421
- getSubscriptions(agent_id: string): Subscription[]
422
- }
423
-
424
- interface SendParams {
425
- from: { agent_id: string, task_id?: string }
426
- to: Target
427
- content: string
428
- correlation_id?: string
429
- priority?: MessagePriority
430
- }
431
-
432
- interface Target {
433
- agent_id?: string
434
- task_id?: string
435
- topic?: string
436
- }
437
- ```
438
-
439
- **4.2 Message Routing Logic**
440
-
441
- ```typescript
442
- function routeMessage(event: MessageEvent): void {
443
- const { target } = event
444
- const recipients: string[] = []
445
-
446
- // Direct to agent
447
- if (target.agent_id) {
448
- recipients.push(target.agent_id)
449
- }
450
-
451
- // To task's assigned agent
452
- if (target.task_id) {
453
- const task = tasks.get(target.task_id)
454
- if (task?.assigned_agent) {
455
- recipients.push(task.assigned_agent)
456
- }
457
- }
458
-
459
- // To topic subscribers
460
- if (target.topic) {
461
- const subscribers = subscriptions.getByTopic(target.topic)
462
- recipients.push(...subscribers)
463
- }
464
-
465
- // Add to each recipient's queue
466
- for (const agent_id of new Set(recipients)) {
467
- addToMessageQueue(agent_id, event)
468
- }
469
- }
470
- ```
471
-
472
- **4.3 Automatic Subscriptions**
473
-
474
- ```typescript
475
- function setupSubscriptions(agent_id: string, params: SpawnParams): void {
476
- // Always subscribe to direct messages
477
- subscribe(agent_id, { type: 'agent', target: agent_id })
478
-
479
- // Subscribe to assigned task
480
- if (params.task_id) {
481
- subscribe(agent_id, { type: 'task', target: params.task_id })
482
- }
483
-
484
- // Subscribe to lineage (upward visibility)
485
- subscribe(agent_id, { type: 'lineage', target: agent_id })
486
-
487
- // Parent subscribes to subtree (downward visibility)
488
- if (params.parent && params.subscribe_parent !== false) {
489
- subscribe(params.parent, { type: 'subtree', target: agent_id })
490
- }
491
-
492
- // Explicit subscriptions
493
- for (const sub of params.subscriptions ?? []) {
494
- subscribe(agent_id, sub)
495
- }
496
- }
497
- ```
498
-
499
- **4.4 Status Event Routing**
500
-
501
- Status events from children are routed to parent via subtree subscription:
502
-
503
- ```typescript
504
- function handleStatusEvent(event: StatusEvent): void {
505
- const { source } = event
506
-
507
- // Route to agents subscribed to this agent's subtree
508
- const subscribers = subscriptions.getBySubtree(source.agent_id)
509
- for (const subscriber of subscribers) {
510
- addToMessageQueue(subscriber, event)
511
- }
512
- }
513
- ```
514
-
515
- **Deliverables:**
516
- - [ ] MessageRouter service
517
- - [ ] Send message with routing
518
- - [ ] Message queue per agent
519
- - [ ] Subscription management
520
- - [ ] Automatic subscription setup
521
- - [ ] Status event routing to parent
522
- - [ ] Truncation for large messages
523
-
524
- ---
525
-
526
- ### 5. System Prompt Generator
527
-
528
- **Purpose:** Generate appropriate system prompts for agents.
529
-
530
- **5.1 Interface**
531
-
532
- ```typescript
533
- // services/prompt-generator.ts
534
- interface PromptGenerator {
535
- generate(context: PromptContext): string
536
- }
537
-
538
- interface PromptContext {
539
- agent_id: string
540
- session_id: string
541
- task: string
542
- task_id: string
543
- parent: string | null
544
- lineage: string[]
545
- subscriptions: Subscription[]
546
- config: AgentConfig
547
- available_tools: ToolDescription[]
548
- }
549
- ```
550
-
551
- **5.2 Template**
552
-
553
- ```typescript
554
- function generate(ctx: PromptContext): string {
555
- return `
556
- You are Agent ${ctx.agent_id} (session: ${ctx.session_id}).
557
-
558
- ## Task
559
- ${ctx.task}
560
-
561
- ## Hierarchy
562
- - Agent ID: ${ctx.agent_id}
563
- - Parent: ${ctx.parent ?? 'none (you are the head manager)'}
564
- - Lineage: ${ctx.lineage.join(' → ') || 'root'}
565
-
566
- ## Available Tools
567
- ${ctx.available_tools.map(t => `- ${t.name}: ${t.description}`).join('\n')}
568
-
569
- ## Subscriptions
570
- ${ctx.subscriptions.map(s => `- ${s.type}:${s.target}`).join('\n')}
571
-
572
- ## Guidance
573
-
574
- ### Status Reporting
575
- - Emit 'started' status when you begin work
576
- - Emit 'checkpoint' status at significant milestones
577
- - Emit 'completed' or 'failed' status when done, with summary
578
-
579
- ### Communication
580
- - Check messages periodically for updates from parent or peers
581
- - Send messages to coordinate with other agents
582
- - Use the blackboard for cross-cutting discoveries
583
-
584
- ### Task Management
585
- - Spawn sub-agents for substantial independent subtasks
586
- - Monitor child agent status via messages
587
- - Aggregate results for your parent/user
588
-
589
- ${ctx.parent === null ? `
590
- ### Head Manager Responsibilities
591
- You are the head manager. You interact directly with the user.
592
- - Decompose complex requests into manageable tasks
593
- - Spawn specialized agents for different aspects
594
- - Synthesize results and report back to the user
595
- - You persist across interactions; maintain continuity
596
- ` : ''}
597
- `.trim()
598
- }
599
- ```
600
-
601
- **Deliverables:**
602
- - [ ] PromptGenerator service
603
- - [ ] Base template
604
- - [ ] Head manager variant
605
- - [ ] Tool list formatting
606
- - [ ] Subscription formatting
607
-
608
- ---
609
-
610
- ### 6. MCP Tools
611
-
612
- **Purpose:** Expose multi-agent capabilities to agents.
613
-
614
- **6.1 Server Setup**
615
-
616
- ```typescript
617
- // mcp/server.ts
618
- interface MCPServer {
619
- start(): Promise<void>
620
- stop(): Promise<void>
621
- registerTool(tool: Tool): void
622
- }
623
-
624
- interface Tool {
625
- name: string
626
- description: string
627
- parameters: JSONSchema
628
- handler: (params: any, context: ToolContext) => Promise<any>
629
- }
630
-
631
- interface ToolContext {
632
- agent_id: string
633
- session_id: string
634
- }
635
- ```
636
-
637
- **6.2 MVP Tool Implementations**
638
-
639
- ```typescript
640
- // mcp/tools/spawn-agent.ts
641
- const spawnAgentTool: Tool = {
642
- name: 'spawn_agent',
643
- description: 'Spawn a new agent to handle a subtask',
644
- parameters: {
645
- type: 'object',
646
- properties: {
647
- task: { type: 'string', description: 'What the agent should do' },
648
- subscribe_parent: { type: 'boolean', default: true },
649
- config: { type: 'object' }
650
- },
651
- required: ['task']
652
- },
653
- handler: async (params, ctx) => {
654
- const agent = await agentManager.spawn({
655
- task: params.task,
656
- parent: ctx.agent_id,
657
- subscribe_parent: params.subscribe_parent,
658
- config: params.config
659
- })
660
- return { agent_id: agent.id, task_id: agent.task_id }
661
- }
662
- }
663
-
664
- // mcp/tools/emit-status.ts
665
- const emitStatusTool: Tool = {
666
- name: 'emit_status',
667
- description: 'Report a status milestone',
668
- parameters: {
669
- type: 'object',
670
- properties: {
671
- status_type: {
672
- type: 'string',
673
- enum: ['started', 'checkpoint', 'blocked', 'discovery', 'completed', 'failed']
674
- },
675
- summary: { type: 'string' },
676
- details: { type: 'object' }
677
- },
678
- required: ['status_type', 'summary']
679
- },
680
- handler: async (params, ctx) => {
681
- const event = eventStore.emit({
682
- type: 'status',
683
- source: { agent_id: ctx.agent_id },
684
- payload: params
685
- })
686
- return { event_id: event.id }
687
- }
688
- }
689
-
690
- // mcp/tools/send-message.ts
691
- const sendMessageTool: Tool = {
692
- name: 'send_message',
693
- description: 'Send a message to another agent, task, or topic',
694
- parameters: {
695
- type: 'object',
696
- properties: {
697
- to: {
698
- type: 'object',
699
- properties: {
700
- agent_id: { type: 'string' },
701
- task_id: { type: 'string' },
702
- topic: { type: 'string' }
703
- }
704
- },
705
- content: { type: 'string' },
706
- correlation_id: { type: 'string' }
707
- },
708
- required: ['to', 'content']
709
- },
710
- handler: async (params, ctx) => {
711
- const message = messageRouter.send({
712
- from: { agent_id: ctx.agent_id },
713
- to: params.to,
714
- content: params.content,
715
- correlation_id: params.correlation_id
716
- })
717
- return { message_id: message.id }
718
- }
719
- }
720
-
721
- // mcp/tools/check-messages.ts
722
- const checkMessagesTool: Tool = {
723
- name: 'check_messages',
724
- description: 'Check for pending messages',
725
- parameters: {
726
- type: 'object',
727
- properties: {
728
- limit: { type: 'number', default: 10 }
729
- }
730
- },
731
- handler: async (params, ctx) => {
732
- const messages = messageRouter.getMessages(ctx.agent_id, {
733
- limit: params.limit
734
- })
735
- return { messages }
736
- }
737
- }
738
-
739
- // mcp/tools/query-index.ts
740
- const queryIndexTool: Tool = {
741
- name: 'query_index',
742
- description: 'Search for agents or tasks',
743
- parameters: {
744
- type: 'object',
745
- properties: {
746
- type: { type: 'string', enum: ['agents', 'tasks', 'all'] },
747
- filter: { type: 'object' },
748
- search: { type: 'string' },
749
- limit: { type: 'number', default: 10 }
750
- }
751
- },
752
- handler: async (params, ctx) => {
753
- if (params.type === 'agents' || params.type === 'all') {
754
- const agents = agentManager.list(params.filter)
755
- // Apply search/limit
756
- }
757
- if (params.type === 'tasks' || params.type === 'all') {
758
- const tasks = taskManager.list(params.filter)
759
- // Apply search/limit
760
- }
761
- return { entries }
762
- }
763
- }
764
-
765
- // mcp/tools/get-hierarchy.ts
766
- const getHierarchyTool: Tool = {
767
- name: 'get_hierarchy',
768
- description: 'View the agent hierarchy tree',
769
- parameters: {
770
- type: 'object',
771
- properties: {
772
- root: { type: 'string' },
773
- depth: { type: 'number', default: 3 }
774
- }
775
- },
776
- handler: async (params, ctx) => {
777
- const tree = agentManager.getHierarchy(params.root)
778
- return { tree }
779
- }
780
- }
781
- ```
782
-
783
- **6.3 MVP Tool List**
784
-
785
- | Tool | Status | Notes |
786
- |------|--------|-------|
787
- | `spawn_agent` | MVP | Core functionality |
788
- | `emit_status` | MVP | Child → parent feedback |
789
- | `send_message` | MVP | Agent communication |
790
- | `check_messages` | MVP | Receive messages |
791
- | `query_index` | MVP | Agent/task lookup |
792
- | `get_hierarchy` | MVP | Tree visualization |
793
- | `get_agent_summary` | MVP | Quick agent view |
794
- | `stop_agent` | MVP | Terminate children |
795
- | `create_task` | MVP | Explicit task creation |
796
- | `get_task` | MVP | Task lookup |
797
-
798
- **Deliverables:**
799
- - [ ] MCP server setup
800
- - [ ] Tool registration system
801
- - [ ] spawn_agent tool
802
- - [ ] emit_status tool
803
- - [ ] send_message tool
804
- - [ ] check_messages tool
805
- - [ ] query_index tool
806
- - [ ] get_hierarchy tool
807
- - [ ] get_agent_summary tool
808
- - [ ] stop_agent tool (with ownership check)
809
- - [ ] create_task tool
810
- - [ ] get_task tool
811
-
812
- ---
813
-
814
- ### 7. API Layer
815
-
816
- **Purpose:** HTTP/WebSocket API for CLI and future clients.
817
-
818
- **7.1 REST Endpoints**
819
-
820
- ```typescript
821
- // api/routes.ts
822
-
823
- // System
824
- POST /api/init // Initialize system
825
- GET /api/status // System status
826
-
827
- // Conversation (user interaction)
828
- POST /api/conversation/message // Send message to head manager
829
- GET /api/conversation/history // Get conversation history
830
-
831
- // Agents (read-only for CLI)
832
- GET /api/agents // List agents
833
- GET /api/agents/:id // Get agent
834
- GET /api/agents/:id/hierarchy // Get subtree
835
-
836
- // Tasks (read-only for CLI)
837
- GET /api/tasks // List tasks
838
- GET /api/tasks/:id // Get task
839
-
840
- // Events (debugging)
841
- GET /api/events // Query events
842
- ```
843
-
844
- **7.2 WebSocket (real-time updates)**
845
-
846
- ```typescript
847
- // api/websocket.ts
848
-
849
- // Client subscribes to updates
850
- ws.on('subscribe', (channel: string) => {
851
- // Channels: 'agents', 'tasks', 'messages', 'conversation'
852
- })
853
-
854
- // Server pushes updates
855
- ws.emit('agent:update', agent)
856
- ws.emit('task:update', task)
857
- ws.emit('conversation:message', message)
858
- ```
859
-
860
- **7.3 User Conversation Flow**
861
-
862
- ```typescript
863
- // api/routes/conversation.ts
864
-
865
- async function sendMessage(req: Request): Promise<Response> {
866
- const { content } = req.body
867
-
868
- // Get or create head manager
869
- const headManager = await agentManager.getOrCreateHeadManager()
870
-
871
- // Send message to head manager via ACP
872
- await acp.send(headManager.session_id, {
873
- role: 'user',
874
- content
875
- })
876
-
877
- // Response streams back via WebSocket
878
- return { status: 'sent', agent_id: headManager.id }
879
- }
880
- ```
881
-
882
- **Deliverables:**
883
- - [ ] Express/Fastify server setup
884
- - [ ] REST routes
885
- - [ ] WebSocket server
886
- - [ ] TinyBase → WebSocket bridge for real-time updates
887
- - [ ] Conversation endpoint (user → head manager)
888
-
889
- ---
890
-
891
- ### 8. CLI
892
-
893
- **Purpose:** Lightweight command-line interface for user interaction.
894
-
895
- **8.1 Commands**
896
-
897
- ```bash
898
- # Start the system
899
- multiagent start
900
-
901
- # Interactive conversation mode
902
- multiagent chat
903
-
904
- # Status commands
905
- multiagent status # System overview
906
- multiagent agents # List agents
907
- multiagent agents <id> # Agent details
908
- multiagent tasks # List tasks
909
- multiagent tasks <id> # Task details
910
- multiagent hierarchy # Show agent tree
911
-
912
- # Management
913
- multiagent clear # Clear history (new head manager)
914
- multiagent stop # Stop system
915
- ```
916
-
917
- **8.2 Chat Mode**
918
-
919
- ```typescript
920
- // cli/chat.ts
921
-
922
- async function chatMode() {
923
- const ws = connectWebSocket()
924
- const rl = createReadline()
925
-
926
- // Subscribe to conversation updates
927
- ws.send({ type: 'subscribe', channel: 'conversation' })
928
-
929
- // Display incoming messages
930
- ws.on('conversation:message', (msg) => {
931
- console.log(`\n[${msg.from}]: ${msg.content}`)
932
- prompt()
933
- })
934
-
935
- // Send user input
936
- rl.on('line', async (input) => {
937
- await api.post('/conversation/message', { content: input })
938
- })
939
-
940
- // Real-time status updates (optional display)
941
- ws.on('agent:update', (agent) => {
942
- if (verbose) {
943
- console.log(`[status] Agent ${agent.id}: ${agent.state}`)
944
- }
945
- })
946
- }
947
- ```
948
-
949
- **8.3 Status Display**
950
-
951
- ```
952
- $ multiagent status
953
-
954
- System Status: running
955
- Head Manager: agent_abc123 (running)
956
-
957
- Agents: 5 total
958
- - 1 running
959
- - 4 stopped
960
-
961
- Tasks: 3 total
962
- - 1 in_progress
963
- - 2 completed
964
-
965
- $ multiagent hierarchy
966
-
967
- agent_abc123 (head_manager) [running]
968
- ├── agent_def456 (architect) [completed]
969
- ├── agent_ghi789 (implementer) [running]
970
- │ ├── agent_jkl012 (auth_module) [completed]
971
- │ └── agent_mno345 (api_routes) [running]
972
- └── agent_pqr678 (reviewer) [stopped]
973
- ```
974
-
975
- **Deliverables:**
976
- - [ ] CLI framework (commander/yargs)
977
- - [ ] start command
978
- - [ ] chat command with real-time updates
979
- - [ ] status command
980
- - [ ] agents/tasks list commands
981
- - [ ] hierarchy command
982
- - [ ] clear command
983
- - [ ] stop command
984
-
985
- ---
986
-
987
- ## Deferred to Phase 2
988
-
989
- The following are explicitly out of scope for MVP:
990
-
991
- - Fork mechanics (fork_agent tool, fork context)
992
- - Mount/remount abstraction
993
- - Blackboard system
994
- - Resource management (limits, throttling)
995
- - Advanced context merging (summarization)
996
- - Handoff conversation tool
997
- - Inject message tool
998
- - Index garbage collection / archival
999
- - Semantic search
1000
-
1001
- ---
1002
-
1003
- ## Implementation Sequence
1004
-
1005
- ### Week 1: Foundation
1006
-
1007
- **Days 1-2: Event Store**
1008
- - [ ] TinyBase setup with persistence
1009
- - [ ] Event log table
1010
- - [ ] Event emission API
1011
- - [ ] Basic queries
1012
-
1013
- **Days 3-4: Materialized Views**
1014
- - [ ] Agent view projection
1015
- - [ ] Task view projection
1016
- - [ ] Message queue projection
1017
- - [ ] Subscription projection
1018
-
1019
- **Day 5: Integration Test**
1020
- - [ ] Emit events, verify views update
1021
- - [ ] Real-time subscription test
1022
-
1023
- ### Week 2: Core Services
1024
-
1025
- **Days 1-2: Agent Manager**
1026
- - [ ] Spawn flow (mock ACP)
1027
- - [ ] Terminate flow
1028
- - [ ] Agent queries
1029
- - [ ] Head manager bootstrap
1030
-
1031
- **Days 3-4: Task Manager**
1032
- - [ ] Task CRUD
1033
- - [ ] Assignment management
1034
- - [ ] Status transitions
1035
-
1036
- **Day 5: Messaging**
1037
- - [ ] Message router
1038
- - [ ] Subscription management
1039
- - [ ] Status event routing
1040
-
1041
- ### Week 3: Agent Interface
1042
-
1043
- **Days 1-2: ACP Integration**
1044
- - [ ] Protocol wrapper
1045
- - [ ] Claude Code adapter
1046
- - [ ] Session management
1047
-
1048
- **Days 3-4: System Prompts**
1049
- - [ ] Template implementation
1050
- - [ ] Context assembly
1051
- - [ ] Tool documentation in prompt
1052
-
1053
- **Day 5: MCP Server**
1054
- - [ ] Server setup
1055
- - [ ] Tool registration
1056
-
1057
- ### Week 4: MCP Tools & API
1058
-
1059
- **Days 1-2: Core Tools**
1060
- - [ ] spawn_agent
1061
- - [ ] emit_status
1062
- - [ ] send_message
1063
- - [ ] check_messages
1064
-
1065
- **Days 3-4: Additional Tools**
1066
- - [ ] query_index
1067
- - [ ] get_hierarchy
1068
- - [ ] stop_agent
1069
- - [ ] Task tools
1070
-
1071
- **Day 5: API Layer**
1072
- - [ ] REST endpoints
1073
- - [ ] WebSocket server
1074
-
1075
- ### Week 5: CLI & Integration
1076
-
1077
- **Days 1-2: CLI**
1078
- - [ ] Command framework
1079
- - [ ] Chat mode
1080
- - [ ] Status commands
1081
-
1082
- **Days 3-5: End-to-End Testing**
1083
- - [ ] Full flow testing
1084
- - [ ] Bug fixes
1085
- - [ ] Documentation
1086
-
1087
- ---
1088
-
1089
- ## Validation Checklist
1090
-
1091
- ### Core Functionality
1092
- - [ ] System starts and persists state
1093
- - [ ] Head manager created on first interaction
1094
- - [ ] User can send messages via CLI
1095
- - [ ] Head manager responds appropriately
1096
-
1097
- ### Agent Spawning
1098
- - [ ] Head manager can spawn child agents
1099
- - [ ] Child agents receive correct system prompts
1100
- - [ ] Child agents can use MCP tools
1101
- - [ ] Spawn events recorded correctly
1102
-
1103
- ### Communication
1104
- - [ ] Child agents can emit status
1105
- - [ ] Parent receives child status updates
1106
- - [ ] Agents can send direct messages
1107
- - [ ] Messages appear in recipient's queue
1108
-
1109
- ### Task Management
1110
- - [ ] Tasks created on agent spawn
1111
- - [ ] Task status updates with agent status
1112
- - [ ] Task queries work correctly
1113
-
1114
- ### Hierarchy
1115
- - [ ] Agent hierarchy tracked correctly
1116
- - [ ] Children list maintained
1117
- - [ ] Hierarchy visualization works
1118
-
1119
- ### Persistence
1120
- - [ ] State survives restart
1121
- - [ ] Event log intact after restart
1122
- - [ ] Views rebuild correctly
1123
-
1124
- ---
1125
-
1126
- ## Open Items for Separate Documents
1127
-
1128
- 1. **ACP Wrapper Design** — Detailed design for Agent Client Protocol integration
1129
- 2. **Error Handling Strategy** — How errors propagate and are handled at each layer
1130
- 3. **Testing Strategy** — Unit tests, integration tests, end-to-end tests
1131
- 4. **Deployment Guide** — How to install and run the system
1132
-
1133
- ---
1134
-
1135
- ## Summary
1136
-
1137
- This MVP implementation plan covers:
1138
-
1139
- 1. **Event Store** — TinyBase with real-time materialized views
1140
- 2. **Agent Manager** — Spawn, terminate, query, head manager bootstrap
1141
- 3. **Task Manager** — First-class tasks with CRUD and assignment
1142
- 4. **Messaging** — Send/receive with subscription-based routing
1143
- 5. **System Prompts** — Template-based generation
1144
- 6. **MCP Tools** — Core toolset for agent capabilities
1145
- 7. **API** — REST + WebSocket for CLI integration
1146
- 8. **CLI** — Lightweight interface for user interaction
1147
-
1148
- **Target:** Working system where user can interact with head manager that spawns child agents for complex task decomposition.