macro-agent 0.2.4 → 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 (1002) 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 +189 -67
  37. package/dist/agent/agent-manager-v2.js.map +1 -1
  38. package/dist/agent/agent-manager.d.ts +17 -0
  39. package/dist/agent/agent-manager.d.ts.map +1 -1
  40. package/dist/agent/agent-manager.js.map +1 -1
  41. package/dist/agent/types.d.ts +21 -2
  42. package/dist/agent/types.d.ts.map +1 -1
  43. package/dist/agent/types.js.map +1 -1
  44. package/dist/agent/wake.d.ts +85 -0
  45. package/dist/agent/wake.d.ts.map +1 -0
  46. package/dist/agent/wake.js +278 -0
  47. package/dist/agent/wake.js.map +1 -0
  48. package/dist/api/server.d.ts.map +1 -1
  49. package/dist/api/server.js +41 -25
  50. package/dist/api/server.js.map +1 -1
  51. package/dist/api/types.d.ts +6 -0
  52. package/dist/api/types.d.ts.map +1 -1
  53. package/dist/auth/server-auth.d.ts +43 -0
  54. package/dist/auth/server-auth.d.ts.map +1 -0
  55. package/dist/auth/server-auth.js +80 -0
  56. package/dist/auth/server-auth.js.map +1 -0
  57. package/dist/auth/token.d.ts +4 -0
  58. package/dist/auth/token.d.ts.map +1 -1
  59. package/dist/auth/token.js +7 -6
  60. package/dist/auth/token.js.map +1 -1
  61. package/dist/boot-v2.d.ts +6 -3
  62. package/dist/boot-v2.d.ts.map +1 -1
  63. package/dist/boot-v2.js +44 -25
  64. package/dist/boot-v2.js.map +1 -1
  65. package/dist/cognitive/macro-agent-backend.d.ts.map +1 -1
  66. package/dist/cognitive/macro-agent-backend.js +37 -8
  67. package/dist/cognitive/macro-agent-backend.js.map +1 -1
  68. package/dist/cognitive/team-lifecycle.d.ts +82 -0
  69. package/dist/cognitive/team-lifecycle.d.ts.map +1 -0
  70. package/dist/cognitive/team-lifecycle.js +121 -0
  71. package/dist/cognitive/team-lifecycle.js.map +1 -0
  72. package/dist/cognitive/trajectory-extractor.d.ts +25 -0
  73. package/dist/cognitive/trajectory-extractor.d.ts.map +1 -0
  74. package/dist/cognitive/trajectory-extractor.js +134 -0
  75. package/dist/cognitive/trajectory-extractor.js.map +1 -0
  76. package/dist/cognitive/types.d.ts +24 -0
  77. package/dist/cognitive/types.d.ts.map +1 -1
  78. package/dist/control/control-server.d.ts.map +1 -1
  79. package/dist/control/control-server.js +10 -0
  80. package/dist/control/control-server.js.map +1 -1
  81. package/dist/dispatch/mail-inbound-consumer.d.ts.map +1 -1
  82. package/dist/dispatch/mail-inbound-consumer.js +43 -10
  83. package/dist/dispatch/mail-inbound-consumer.js.map +1 -1
  84. package/dist/index.d.ts +5 -1
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +6 -1
  87. package/dist/index.js.map +1 -1
  88. package/dist/lifecycle/handlers/generic.d.ts +27 -0
  89. package/dist/lifecycle/handlers/generic.d.ts.map +1 -0
  90. package/dist/lifecycle/handlers/generic.js +56 -0
  91. package/dist/lifecycle/handlers/generic.js.map +1 -0
  92. package/dist/lifecycle/handlers/index.d.ts +51 -0
  93. package/dist/lifecycle/handlers/index.d.ts.map +1 -0
  94. package/dist/lifecycle/handlers/index.js +110 -0
  95. package/dist/lifecycle/handlers/index.js.map +1 -0
  96. package/dist/lifecycle/handlers/integrator.d.ts +81 -0
  97. package/dist/lifecycle/handlers/integrator.d.ts.map +1 -0
  98. package/dist/lifecycle/handlers/integrator.js +451 -0
  99. package/dist/lifecycle/handlers/integrator.js.map +1 -0
  100. package/dist/lifecycle/handlers/monitor.d.ts +29 -0
  101. package/dist/lifecycle/handlers/monitor.d.ts.map +1 -0
  102. package/dist/lifecycle/handlers/monitor.js +79 -0
  103. package/dist/lifecycle/handlers/monitor.js.map +1 -0
  104. package/dist/lifecycle/handlers/worker.d.ts +56 -0
  105. package/dist/lifecycle/handlers/worker.d.ts.map +1 -0
  106. package/dist/lifecycle/handlers/worker.js +381 -0
  107. package/dist/lifecycle/handlers/worker.js.map +1 -0
  108. package/dist/lifecycle/handlers-v2.d.ts +0 -2
  109. package/dist/lifecycle/handlers-v2.d.ts.map +1 -1
  110. package/dist/lifecycle/handlers-v2.js +4 -55
  111. package/dist/lifecycle/handlers-v2.js.map +1 -1
  112. package/dist/mail/conversation-map.d.ts +33 -0
  113. package/dist/mail/conversation-map.d.ts.map +1 -0
  114. package/dist/mail/conversation-map.js +61 -0
  115. package/dist/mail/conversation-map.js.map +1 -0
  116. package/dist/mail/index.d.ts +11 -0
  117. package/dist/mail/index.d.ts.map +1 -0
  118. package/dist/mail/index.js +11 -0
  119. package/dist/mail/index.js.map +1 -0
  120. package/dist/mail/mail-service.d.ts +85 -0
  121. package/dist/mail/mail-service.d.ts.map +1 -0
  122. package/dist/mail/mail-service.js +121 -0
  123. package/dist/mail/mail-service.js.map +1 -0
  124. package/dist/mail/stores/eventstore-conversation-store.d.ts +40 -0
  125. package/dist/mail/stores/eventstore-conversation-store.d.ts.map +1 -0
  126. package/dist/mail/stores/eventstore-conversation-store.js +131 -0
  127. package/dist/mail/stores/eventstore-conversation-store.js.map +1 -0
  128. package/dist/mail/stores/eventstore-participant-store.d.ts +43 -0
  129. package/dist/mail/stores/eventstore-participant-store.d.ts.map +1 -0
  130. package/dist/mail/stores/eventstore-participant-store.js +145 -0
  131. package/dist/mail/stores/eventstore-participant-store.js.map +1 -0
  132. package/dist/mail/stores/eventstore-thread-store.d.ts +46 -0
  133. package/dist/mail/stores/eventstore-thread-store.d.ts.map +1 -0
  134. package/dist/mail/stores/eventstore-thread-store.js +118 -0
  135. package/dist/mail/stores/eventstore-thread-store.js.map +1 -0
  136. package/dist/mail/stores/eventstore-turn-store.d.ts +47 -0
  137. package/dist/mail/stores/eventstore-turn-store.d.ts.map +1 -0
  138. package/dist/mail/stores/eventstore-turn-store.js +153 -0
  139. package/dist/mail/stores/eventstore-turn-store.js.map +1 -0
  140. package/dist/mail/stores/index.d.ts +12 -0
  141. package/dist/mail/stores/index.d.ts.map +1 -0
  142. package/dist/mail/stores/index.js +12 -0
  143. package/dist/mail/stores/index.js.map +1 -0
  144. package/dist/mail/stores/types.d.ts +146 -0
  145. package/dist/mail/stores/types.d.ts.map +1 -0
  146. package/dist/mail/stores/types.js +13 -0
  147. package/dist/mail/stores/types.js.map +1 -0
  148. package/dist/mail/turn-recorder.d.ts +30 -0
  149. package/dist/mail/turn-recorder.d.ts.map +1 -0
  150. package/dist/mail/turn-recorder.js +98 -0
  151. package/dist/mail/turn-recorder.js.map +1 -0
  152. package/dist/map/adapter/acp-over-map.d.ts +115 -0
  153. package/dist/map/adapter/acp-over-map.d.ts.map +1 -0
  154. package/dist/map/adapter/acp-over-map.js +1024 -0
  155. package/dist/map/adapter/acp-over-map.js.map +1 -0
  156. package/dist/map/adapter/connection-manager.d.ts +150 -0
  157. package/dist/map/adapter/connection-manager.d.ts.map +1 -0
  158. package/dist/map/adapter/connection-manager.js +207 -0
  159. package/dist/map/adapter/connection-manager.js.map +1 -0
  160. package/dist/map/adapter/event-log.d.ts +87 -0
  161. package/dist/map/adapter/event-log.d.ts.map +1 -0
  162. package/dist/map/adapter/event-log.js +122 -0
  163. package/dist/map/adapter/event-log.js.map +1 -0
  164. package/dist/map/adapter/event-translator.d.ts +85 -0
  165. package/dist/map/adapter/event-translator.d.ts.map +1 -0
  166. package/dist/map/adapter/event-translator.js +295 -0
  167. package/dist/map/adapter/event-translator.js.map +1 -0
  168. package/dist/map/adapter/extensions/agent-detection.d.ts +49 -0
  169. package/dist/map/adapter/extensions/agent-detection.d.ts.map +1 -0
  170. package/dist/map/adapter/extensions/agent-detection.js +91 -0
  171. package/dist/map/adapter/extensions/agent-detection.js.map +1 -0
  172. package/dist/map/adapter/extensions/agent-lifecycle.d.ts +82 -0
  173. package/dist/map/adapter/extensions/agent-lifecycle.d.ts.map +1 -0
  174. package/dist/map/adapter/extensions/agent-lifecycle.js +164 -0
  175. package/dist/map/adapter/extensions/agent-lifecycle.js.map +1 -0
  176. package/dist/map/adapter/extensions/cognitive.d.ts +27 -0
  177. package/dist/map/adapter/extensions/cognitive.d.ts.map +1 -0
  178. package/dist/map/adapter/extensions/cognitive.js +158 -0
  179. package/dist/map/adapter/extensions/cognitive.js.map +1 -0
  180. package/dist/map/adapter/extensions/index.d.ts +95 -0
  181. package/dist/map/adapter/extensions/index.d.ts.map +1 -0
  182. package/dist/map/adapter/extensions/index.js +228 -0
  183. package/dist/map/adapter/extensions/index.js.map +1 -0
  184. package/dist/map/adapter/extensions/mcp-bridge.d.ts +57 -0
  185. package/dist/map/adapter/extensions/mcp-bridge.d.ts.map +1 -0
  186. package/dist/map/adapter/extensions/mcp-bridge.js +745 -0
  187. package/dist/map/adapter/extensions/mcp-bridge.js.map +1 -0
  188. package/dist/map/adapter/extensions/resume.d.ts +47 -0
  189. package/dist/map/adapter/extensions/resume.d.ts.map +1 -0
  190. package/dist/map/adapter/extensions/resume.js +59 -0
  191. package/dist/map/adapter/extensions/resume.js.map +1 -0
  192. package/dist/map/adapter/extensions/streams.d.ts +95 -0
  193. package/dist/map/adapter/extensions/streams.d.ts.map +1 -0
  194. package/dist/map/adapter/extensions/streams.js +515 -0
  195. package/dist/map/adapter/extensions/streams.js.map +1 -0
  196. package/dist/map/adapter/extensions/task.d.ts +40 -0
  197. package/dist/map/adapter/extensions/task.d.ts.map +1 -0
  198. package/dist/map/adapter/extensions/task.js +197 -0
  199. package/dist/map/adapter/extensions/task.js.map +1 -0
  200. package/dist/map/adapter/extensions/update-metadata.d.ts +29 -0
  201. package/dist/map/adapter/extensions/update-metadata.d.ts.map +1 -0
  202. package/dist/map/adapter/extensions/update-metadata.js +67 -0
  203. package/dist/map/adapter/extensions/update-metadata.js.map +1 -0
  204. package/dist/map/adapter/extensions/wake.d.ts +60 -0
  205. package/dist/map/adapter/extensions/wake.d.ts.map +1 -0
  206. package/dist/map/adapter/extensions/wake.js +144 -0
  207. package/dist/map/adapter/extensions/wake.js.map +1 -0
  208. package/dist/map/adapter/extensions/workspace-files.d.ts +42 -0
  209. package/dist/map/adapter/extensions/workspace-files.d.ts.map +1 -0
  210. package/dist/map/adapter/extensions/workspace-files.js +338 -0
  211. package/dist/map/adapter/extensions/workspace-files.js.map +1 -0
  212. package/dist/map/adapter/extensions/workspace.d.ts +57 -0
  213. package/dist/map/adapter/extensions/workspace.d.ts.map +1 -0
  214. package/dist/map/adapter/extensions/workspace.js +81 -0
  215. package/dist/map/adapter/extensions/workspace.js.map +1 -0
  216. package/dist/map/adapter/index.d.ts +20 -0
  217. package/dist/map/adapter/index.d.ts.map +1 -0
  218. package/dist/map/adapter/index.js +40 -0
  219. package/dist/map/adapter/index.js.map +1 -0
  220. package/dist/map/adapter/interface.d.ts +450 -0
  221. package/dist/map/adapter/interface.d.ts.map +1 -0
  222. package/dist/map/adapter/interface.js +24 -0
  223. package/dist/map/adapter/interface.js.map +1 -0
  224. package/dist/map/adapter/mail-handler-adapter.d.ts +27 -0
  225. package/dist/map/adapter/mail-handler-adapter.d.ts.map +1 -0
  226. package/dist/map/adapter/mail-handler-adapter.js +292 -0
  227. package/dist/map/adapter/mail-handler-adapter.js.map +1 -0
  228. package/dist/map/adapter/map-adapter.d.ts +200 -0
  229. package/dist/map/adapter/map-adapter.d.ts.map +1 -0
  230. package/dist/map/adapter/map-adapter.js +1199 -0
  231. package/dist/map/adapter/map-adapter.js.map +1 -0
  232. package/dist/map/adapter/rpc-handler.d.ts +263 -0
  233. package/dist/map/adapter/rpc-handler.d.ts.map +1 -0
  234. package/dist/map/adapter/rpc-handler.js +365 -0
  235. package/dist/map/adapter/rpc-handler.js.map +1 -0
  236. package/dist/map/adapter/subscription-manager.d.ts +174 -0
  237. package/dist/map/adapter/subscription-manager.d.ts.map +1 -0
  238. package/dist/map/adapter/subscription-manager.js +248 -0
  239. package/dist/map/adapter/subscription-manager.js.map +1 -0
  240. package/dist/map/adapter/types.d.ts +194 -0
  241. package/dist/map/adapter/types.d.ts.map +1 -0
  242. package/dist/map/adapter/types.js +27 -0
  243. package/dist/map/adapter/types.js.map +1 -0
  244. package/dist/map/adapter/websocket-integration.d.ts +113 -0
  245. package/dist/map/adapter/websocket-integration.d.ts.map +1 -0
  246. package/dist/map/adapter/websocket-integration.js +134 -0
  247. package/dist/map/adapter/websocket-integration.js.map +1 -0
  248. package/dist/map/cascade-action-handler.d.ts.map +1 -1
  249. package/dist/map/cascade-action-handler.js +19 -5
  250. package/dist/map/cascade-action-handler.js.map +1 -1
  251. package/dist/map/federation/envelope.d.ts +98 -0
  252. package/dist/map/federation/envelope.d.ts.map +1 -0
  253. package/dist/map/federation/envelope.js +160 -0
  254. package/dist/map/federation/envelope.js.map +1 -0
  255. package/dist/map/federation/federation-handler.d.ts +50 -0
  256. package/dist/map/federation/federation-handler.d.ts.map +1 -0
  257. package/dist/map/federation/federation-handler.js +306 -0
  258. package/dist/map/federation/federation-handler.js.map +1 -0
  259. package/dist/map/federation/index.d.ts +14 -0
  260. package/dist/map/federation/index.d.ts.map +1 -0
  261. package/dist/map/federation/index.js +13 -0
  262. package/dist/map/federation/index.js.map +1 -0
  263. package/dist/map/federation/types.d.ts +239 -0
  264. package/dist/map/federation/types.d.ts.map +1 -0
  265. package/dist/map/federation/types.js +23 -0
  266. package/dist/map/federation/types.js.map +1 -0
  267. package/dist/map/mail-bridge.d.ts +7 -0
  268. package/dist/map/mail-bridge.d.ts.map +1 -1
  269. package/dist/map/mail-bridge.js +39 -9
  270. package/dist/map/mail-bridge.js.map +1 -1
  271. package/dist/map/server.d.ts.map +1 -1
  272. package/dist/map/server.js +17 -2
  273. package/dist/map/server.js.map +1 -1
  274. package/dist/map/types.d.ts +6 -0
  275. package/dist/map/types.d.ts.map +1 -1
  276. package/dist/mcp/map-client.d.ts +39 -0
  277. package/dist/mcp/map-client.d.ts.map +1 -0
  278. package/dist/mcp/map-client.js +129 -0
  279. package/dist/mcp/map-client.js.map +1 -0
  280. package/dist/mcp/mcp-server.d.ts +72 -0
  281. package/dist/mcp/mcp-server.d.ts.map +1 -0
  282. package/dist/mcp/mcp-server.js +1027 -0
  283. package/dist/mcp/mcp-server.js.map +1 -0
  284. package/dist/mcp/tools/claim_task.d.ts +35 -0
  285. package/dist/mcp/tools/claim_task.d.ts.map +1 -0
  286. package/dist/mcp/tools/claim_task.js +58 -0
  287. package/dist/mcp/tools/claim_task.js.map +1 -0
  288. package/dist/mcp/tools/done-v2.d.ts +0 -1
  289. package/dist/mcp/tools/done-v2.d.ts.map +1 -1
  290. package/dist/mcp/tools/done-v2.js +0 -1
  291. package/dist/mcp/tools/done-v2.js.map +1 -1
  292. package/dist/mcp/tools/done.d.ts +102 -0
  293. package/dist/mcp/tools/done.d.ts.map +1 -0
  294. package/dist/mcp/tools/done.js +253 -0
  295. package/dist/mcp/tools/done.js.map +1 -0
  296. package/dist/mcp/tools/inject_context.d.ts +61 -0
  297. package/dist/mcp/tools/inject_context.d.ts.map +1 -0
  298. package/dist/mcp/tools/inject_context.js +123 -0
  299. package/dist/mcp/tools/inject_context.js.map +1 -0
  300. package/dist/mcp/tools/list_claimable_tasks.d.ts +38 -0
  301. package/dist/mcp/tools/list_claimable_tasks.d.ts.map +1 -0
  302. package/dist/mcp/tools/list_claimable_tasks.js +63 -0
  303. package/dist/mcp/tools/list_claimable_tasks.js.map +1 -0
  304. package/dist/mcp/tools/unclaim_task.d.ts +31 -0
  305. package/dist/mcp/tools/unclaim_task.d.ts.map +1 -0
  306. package/dist/mcp/tools/unclaim_task.js +47 -0
  307. package/dist/mcp/tools/unclaim_task.js.map +1 -0
  308. package/dist/mcp/tools/wait_for_activity.d.ts +60 -0
  309. package/dist/mcp/tools/wait_for_activity.d.ts.map +1 -0
  310. package/dist/mcp/tools/wait_for_activity.js +135 -0
  311. package/dist/mcp/tools/wait_for_activity.js.map +1 -0
  312. package/dist/monitor/health-check-service.d.ts +143 -0
  313. package/dist/monitor/health-check-service.d.ts.map +1 -0
  314. package/dist/monitor/health-check-service.js +240 -0
  315. package/dist/monitor/health-check-service.js.map +1 -0
  316. package/dist/monitor/index.d.ts +14 -0
  317. package/dist/monitor/index.d.ts.map +1 -0
  318. package/dist/monitor/index.js +14 -0
  319. package/dist/monitor/index.js.map +1 -0
  320. package/dist/monitor/stall-detector.d.ts +109 -0
  321. package/dist/monitor/stall-detector.d.ts.map +1 -0
  322. package/dist/monitor/stall-detector.js +152 -0
  323. package/dist/monitor/stall-detector.js.map +1 -0
  324. package/dist/peer/capability-manager.d.ts +56 -0
  325. package/dist/peer/capability-manager.d.ts.map +1 -0
  326. package/dist/peer/capability-manager.js +186 -0
  327. package/dist/peer/capability-manager.js.map +1 -0
  328. package/dist/peer/encapsulation-manager.d.ts +190 -0
  329. package/dist/peer/encapsulation-manager.d.ts.map +1 -0
  330. package/dist/peer/encapsulation-manager.js +486 -0
  331. package/dist/peer/encapsulation-manager.js.map +1 -0
  332. package/dist/peer/federation-manager.d.ts +223 -0
  333. package/dist/peer/federation-manager.d.ts.map +1 -0
  334. package/dist/peer/federation-manager.js +528 -0
  335. package/dist/peer/federation-manager.js.map +1 -0
  336. package/dist/peer/hierarchy-errors.d.ts +208 -0
  337. package/dist/peer/hierarchy-errors.d.ts.map +1 -0
  338. package/dist/peer/hierarchy-errors.js +268 -0
  339. package/dist/peer/hierarchy-errors.js.map +1 -0
  340. package/dist/peer/hierarchy-protocol.d.ts +159 -0
  341. package/dist/peer/hierarchy-protocol.d.ts.map +1 -0
  342. package/dist/peer/hierarchy-protocol.js +142 -0
  343. package/dist/peer/hierarchy-protocol.js.map +1 -0
  344. package/dist/peer/index.d.ts +15 -0
  345. package/dist/peer/index.d.ts.map +1 -0
  346. package/dist/peer/index.js +15 -0
  347. package/dist/peer/index.js.map +1 -0
  348. package/dist/peer/peer-manager.d.ts +99 -0
  349. package/dist/peer/peer-manager.d.ts.map +1 -0
  350. package/dist/peer/peer-manager.js +333 -0
  351. package/dist/peer/peer-manager.js.map +1 -0
  352. package/dist/peer/task-delegation.d.ts +189 -0
  353. package/dist/peer/task-delegation.d.ts.map +1 -0
  354. package/dist/peer/task-delegation.js +303 -0
  355. package/dist/peer/task-delegation.js.map +1 -0
  356. package/dist/peer/transports/index.d.ts +8 -0
  357. package/dist/peer/transports/index.d.ts.map +1 -0
  358. package/dist/peer/transports/index.js +8 -0
  359. package/dist/peer/transports/index.js.map +1 -0
  360. package/dist/peer/transports/local-transport.d.ts +56 -0
  361. package/dist/peer/transports/local-transport.d.ts.map +1 -0
  362. package/dist/peer/transports/local-transport.js +263 -0
  363. package/dist/peer/transports/local-transport.js.map +1 -0
  364. package/dist/peer/transports/websocket-transport.d.ts +86 -0
  365. package/dist/peer/transports/websocket-transport.d.ts.map +1 -0
  366. package/dist/peer/transports/websocket-transport.js +338 -0
  367. package/dist/peer/transports/websocket-transport.js.map +1 -0
  368. package/dist/peer/types.d.ts +268 -0
  369. package/dist/peer/types.d.ts.map +1 -0
  370. package/dist/peer/types.js +36 -0
  371. package/dist/peer/types.js.map +1 -0
  372. package/dist/router/address-resolver.d.ts +102 -0
  373. package/dist/router/address-resolver.d.ts.map +1 -0
  374. package/dist/router/address-resolver.js +198 -0
  375. package/dist/router/address-resolver.js.map +1 -0
  376. package/dist/router/broadcast.d.ts +53 -0
  377. package/dist/router/broadcast.d.ts.map +1 -0
  378. package/dist/router/broadcast.js +75 -0
  379. package/dist/router/broadcast.js.map +1 -0
  380. package/dist/router/channels.d.ts +148 -0
  381. package/dist/router/channels.d.ts.map +1 -0
  382. package/dist/router/channels.js +126 -0
  383. package/dist/router/channels.js.map +1 -0
  384. package/dist/router/index.d.ts +21 -0
  385. package/dist/router/index.d.ts.map +1 -0
  386. package/dist/router/index.js +18 -0
  387. package/dist/router/index.js.map +1 -0
  388. package/dist/router/message-router.d.ts +197 -0
  389. package/dist/router/message-router.d.ts.map +1 -0
  390. package/dist/router/message-router.js +903 -0
  391. package/dist/router/message-router.js.map +1 -0
  392. package/dist/router/message-types.d.ts +183 -0
  393. package/dist/router/message-types.d.ts.map +1 -0
  394. package/dist/router/message-types.js +79 -0
  395. package/dist/router/message-types.js.map +1 -0
  396. package/dist/router/role-resolver.d.ts +67 -0
  397. package/dist/router/role-resolver.d.ts.map +1 -0
  398. package/dist/router/role-resolver.js +106 -0
  399. package/dist/router/role-resolver.js.map +1 -0
  400. package/dist/router/signals.d.ts +253 -0
  401. package/dist/router/signals.d.ts.map +1 -0
  402. package/dist/router/signals.js +53 -0
  403. package/dist/router/signals.js.map +1 -0
  404. package/dist/router/types.d.ts +191 -0
  405. package/dist/router/types.d.ts.map +1 -0
  406. package/dist/router/types.js +34 -0
  407. package/dist/router/types.js.map +1 -0
  408. package/dist/router/wake.d.ts +111 -0
  409. package/dist/router/wake.d.ts.map +1 -0
  410. package/dist/router/wake.js +180 -0
  411. package/dist/router/wake.js.map +1 -0
  412. package/dist/server/combined-server.d.ts +95 -0
  413. package/dist/server/combined-server.d.ts.map +1 -0
  414. package/dist/server/combined-server.js +335 -0
  415. package/dist/server/combined-server.js.map +1 -0
  416. package/dist/steering/index.d.ts +11 -0
  417. package/dist/steering/index.d.ts.map +1 -0
  418. package/dist/steering/index.js +11 -0
  419. package/dist/steering/index.js.map +1 -0
  420. package/dist/steering/inject.d.ts +39 -0
  421. package/dist/steering/inject.d.ts.map +1 -0
  422. package/dist/steering/inject.js +197 -0
  423. package/dist/steering/inject.js.map +1 -0
  424. package/dist/steering/types.d.ts +100 -0
  425. package/dist/steering/types.d.ts.map +1 -0
  426. package/dist/steering/types.js +11 -0
  427. package/dist/steering/types.js.map +1 -0
  428. package/dist/store/backends/index.d.ts +11 -0
  429. package/dist/store/backends/index.d.ts.map +1 -0
  430. package/dist/store/backends/index.js +15 -0
  431. package/dist/store/backends/index.js.map +1 -0
  432. package/dist/store/backends/json-backend.d.ts +23 -0
  433. package/dist/store/backends/json-backend.d.ts.map +1 -0
  434. package/dist/store/backends/json-backend.js +220 -0
  435. package/dist/store/backends/json-backend.js.map +1 -0
  436. package/dist/store/backends/memory-backend.d.ts +12 -0
  437. package/dist/store/backends/memory-backend.d.ts.map +1 -0
  438. package/dist/store/backends/memory-backend.js +205 -0
  439. package/dist/store/backends/memory-backend.js.map +1 -0
  440. package/dist/store/backends/sqlite-backend.d.ts +27 -0
  441. package/dist/store/backends/sqlite-backend.d.ts.map +1 -0
  442. package/dist/store/backends/sqlite-backend.js +231 -0
  443. package/dist/store/backends/sqlite-backend.js.map +1 -0
  444. package/dist/store/backends/tinybase-backend.d.ts +22 -0
  445. package/dist/store/backends/tinybase-backend.d.ts.map +1 -0
  446. package/dist/store/backends/tinybase-backend.js +203 -0
  447. package/dist/store/backends/tinybase-backend.js.map +1 -0
  448. package/dist/store/backends/types.d.ts +175 -0
  449. package/dist/store/backends/types.d.ts.map +1 -0
  450. package/dist/store/backends/types.js +28 -0
  451. package/dist/store/backends/types.js.map +1 -0
  452. package/dist/store/event-store.d.ts +128 -0
  453. package/dist/store/event-store.d.ts.map +1 -0
  454. package/dist/store/event-store.js +1751 -0
  455. package/dist/store/event-store.js.map +1 -0
  456. package/dist/store/instance.d.ts +290 -0
  457. package/dist/store/instance.d.ts.map +1 -0
  458. package/dist/store/instance.js +363 -0
  459. package/dist/store/instance.js.map +1 -0
  460. package/dist/store/migrations.d.ts +41 -0
  461. package/dist/store/migrations.d.ts.map +1 -0
  462. package/dist/store/migrations.js +79 -0
  463. package/dist/store/migrations.js.map +1 -0
  464. package/dist/store/test-utils.d.ts +63 -0
  465. package/dist/store/test-utils.d.ts.map +1 -0
  466. package/dist/store/test-utils.js +63 -0
  467. package/dist/store/test-utils.js.map +1 -0
  468. package/dist/store/types/config.d.ts +16 -0
  469. package/dist/store/types/config.d.ts.map +1 -0
  470. package/dist/store/types/config.js +8 -0
  471. package/dist/store/types/config.js.map +1 -0
  472. package/dist/store/types/conversations.d.ts +91 -0
  473. package/dist/store/types/conversations.d.ts.map +1 -0
  474. package/dist/store/types/conversations.js +8 -0
  475. package/dist/store/types/conversations.js.map +1 -0
  476. package/dist/store/types/sessions.d.ts +44 -0
  477. package/dist/store/types/sessions.d.ts.map +1 -0
  478. package/dist/store/types/sessions.js +9 -0
  479. package/dist/store/types/sessions.js.map +1 -0
  480. package/dist/store/types.d.ts +115 -0
  481. package/dist/store/types.d.ts.map +1 -0
  482. package/dist/store/types.js +6 -0
  483. package/dist/store/types.js.map +1 -0
  484. package/dist/task/backend/index.d.ts +93 -0
  485. package/dist/task/backend/index.d.ts.map +1 -0
  486. package/dist/task/backend/index.js +178 -0
  487. package/dist/task/backend/index.js.map +1 -0
  488. package/dist/task/backend/memory.d.ts +70 -0
  489. package/dist/task/backend/memory.d.ts.map +1 -0
  490. package/dist/task/backend/memory.js +621 -0
  491. package/dist/task/backend/memory.js.map +1 -0
  492. package/dist/task/backend/opentasks/backend.d.ts +140 -0
  493. package/dist/task/backend/opentasks/backend.d.ts.map +1 -0
  494. package/dist/task/backend/opentasks/backend.js +1023 -0
  495. package/dist/task/backend/opentasks/backend.js.map +1 -0
  496. package/dist/task/backend/opentasks/client.d.ts +337 -0
  497. package/dist/task/backend/opentasks/client.d.ts.map +1 -0
  498. package/dist/task/backend/opentasks/client.js +225 -0
  499. package/dist/task/backend/opentasks/client.js.map +1 -0
  500. package/dist/task/backend/opentasks/daemon-manager.d.ts +89 -0
  501. package/dist/task/backend/opentasks/daemon-manager.d.ts.map +1 -0
  502. package/dist/task/backend/opentasks/daemon-manager.js +195 -0
  503. package/dist/task/backend/opentasks/daemon-manager.js.map +1 -0
  504. package/dist/task/backend/opentasks/index.d.ts +21 -0
  505. package/dist/task/backend/opentasks/index.d.ts.map +1 -0
  506. package/dist/task/backend/opentasks/index.js +21 -0
  507. package/dist/task/backend/opentasks/index.js.map +1 -0
  508. package/dist/task/backend/opentasks/mapping.d.ts +48 -0
  509. package/dist/task/backend/opentasks/mapping.d.ts.map +1 -0
  510. package/dist/task/backend/opentasks/mapping.js +77 -0
  511. package/dist/task/backend/opentasks/mapping.js.map +1 -0
  512. package/dist/task/backend/sudocode/__tests__/integration/test-utils.d.ts +54 -0
  513. package/dist/task/backend/sudocode/__tests__/integration/test-utils.d.ts.map +1 -0
  514. package/dist/task/backend/sudocode/__tests__/integration/test-utils.js +88 -0
  515. package/dist/task/backend/sudocode/__tests__/integration/test-utils.js.map +1 -0
  516. package/dist/task/backend/sudocode/backend.d.ts +155 -0
  517. package/dist/task/backend/sudocode/backend.d.ts.map +1 -0
  518. package/dist/task/backend/sudocode/backend.js +942 -0
  519. package/dist/task/backend/sudocode/backend.js.map +1 -0
  520. package/dist/task/backend/sudocode/client.d.ts +303 -0
  521. package/dist/task/backend/sudocode/client.d.ts.map +1 -0
  522. package/dist/task/backend/sudocode/client.js +101 -0
  523. package/dist/task/backend/sudocode/client.js.map +1 -0
  524. package/dist/task/backend/sudocode/index.d.ts +19 -0
  525. package/dist/task/backend/sudocode/index.d.ts.map +1 -0
  526. package/dist/task/backend/sudocode/index.js +17 -0
  527. package/dist/task/backend/sudocode/index.js.map +1 -0
  528. package/dist/task/backend/sudocode/mapping.d.ts +51 -0
  529. package/dist/task/backend/sudocode/mapping.d.ts.map +1 -0
  530. package/dist/task/backend/sudocode/mapping.js +86 -0
  531. package/dist/task/backend/sudocode/mapping.js.map +1 -0
  532. package/dist/task/backend/sudocode/server-client.d.ts +56 -0
  533. package/dist/task/backend/sudocode/server-client.d.ts.map +1 -0
  534. package/dist/task/backend/sudocode/server-client.js +367 -0
  535. package/dist/task/backend/sudocode/server-client.js.map +1 -0
  536. package/dist/task/backend/sudocode/standalone-client.d.ts +91 -0
  537. package/dist/task/backend/sudocode/standalone-client.d.ts.map +1 -0
  538. package/dist/task/backend/sudocode/standalone-client.js +476 -0
  539. package/dist/task/backend/sudocode/standalone-client.js.map +1 -0
  540. package/dist/task/backend/sudocode/sync-policy.d.ts +166 -0
  541. package/dist/task/backend/sudocode/sync-policy.d.ts.map +1 -0
  542. package/dist/task/backend/sudocode/sync-policy.js +221 -0
  543. package/dist/task/backend/sudocode/sync-policy.js.map +1 -0
  544. package/dist/task/backend/sudocode/tools.d.ts +87 -0
  545. package/dist/task/backend/sudocode/tools.d.ts.map +1 -0
  546. package/dist/task/backend/sudocode/tools.js +743 -0
  547. package/dist/task/backend/sudocode/tools.js.map +1 -0
  548. package/dist/task/backend/tool-provider.d.ts +56 -0
  549. package/dist/task/backend/tool-provider.d.ts.map +1 -0
  550. package/dist/task/backend/tool-provider.js +424 -0
  551. package/dist/task/backend/tool-provider.js.map +1 -0
  552. package/dist/task/backend/types.d.ts +297 -0
  553. package/dist/task/backend/types.d.ts.map +1 -0
  554. package/dist/task/backend/types.js +27 -0
  555. package/dist/task/backend/types.js.map +1 -0
  556. package/dist/task/backend/unified-tool-provider.d.ts +57 -0
  557. package/dist/task/backend/unified-tool-provider.d.ts.map +1 -0
  558. package/dist/task/backend/unified-tool-provider.js +623 -0
  559. package/dist/task/backend/unified-tool-provider.js.map +1 -0
  560. package/dist/task/index.d.ts +7 -0
  561. package/dist/task/index.d.ts.map +1 -0
  562. package/dist/task/index.js +7 -0
  563. package/dist/task/index.js.map +1 -0
  564. package/dist/task/retry-policy.d.ts +89 -0
  565. package/dist/task/retry-policy.d.ts.map +1 -0
  566. package/dist/task/retry-policy.js +160 -0
  567. package/dist/task/retry-policy.js.map +1 -0
  568. package/dist/task/task-manager.d.ts +70 -0
  569. package/dist/task/task-manager.d.ts.map +1 -0
  570. package/dist/task/task-manager.js +319 -0
  571. package/dist/task/task-manager.js.map +1 -0
  572. package/dist/task/types.d.ts +72 -0
  573. package/dist/task/types.d.ts.map +1 -0
  574. package/dist/task/types.js +33 -0
  575. package/dist/task/types.js.map +1 -0
  576. package/dist/teams/team-loader.d.ts +2 -1
  577. package/dist/teams/team-loader.d.ts.map +1 -1
  578. package/dist/teams/team-loader.js +2 -1
  579. package/dist/teams/team-loader.js.map +1 -1
  580. package/dist/teams/team-manager.d.ts +101 -0
  581. package/dist/teams/team-manager.d.ts.map +1 -0
  582. package/dist/teams/team-manager.js +260 -0
  583. package/dist/teams/team-manager.js.map +1 -0
  584. package/dist/teams/team-runtime-v2.d.ts +0 -3
  585. package/dist/teams/team-runtime-v2.d.ts.map +1 -1
  586. package/dist/teams/team-runtime-v2.js +31 -93
  587. package/dist/teams/team-runtime-v2.js.map +1 -1
  588. package/dist/teams/team-runtime.d.ts +245 -0
  589. package/dist/teams/team-runtime.d.ts.map +1 -0
  590. package/dist/teams/team-runtime.js +1023 -0
  591. package/dist/teams/team-runtime.js.map +1 -0
  592. package/dist/trigger/router/index.d.ts +11 -0
  593. package/dist/trigger/router/index.d.ts.map +1 -0
  594. package/dist/trigger/router/index.js +10 -0
  595. package/dist/trigger/router/index.js.map +1 -0
  596. package/dist/trigger/router/strategies/ai-router-strategy.d.ts +34 -0
  597. package/dist/trigger/router/strategies/ai-router-strategy.d.ts.map +1 -0
  598. package/dist/trigger/router/strategies/ai-router-strategy.js +359 -0
  599. package/dist/trigger/router/strategies/ai-router-strategy.js.map +1 -0
  600. package/dist/trigger/router/strategies/direct-strategy.d.ts +32 -0
  601. package/dist/trigger/router/strategies/direct-strategy.d.ts.map +1 -0
  602. package/dist/trigger/router/strategies/direct-strategy.js +119 -0
  603. package/dist/trigger/router/strategies/direct-strategy.js.map +1 -0
  604. package/dist/trigger/router/strategies/index.d.ts +11 -0
  605. package/dist/trigger/router/strategies/index.d.ts.map +1 -0
  606. package/dist/trigger/router/strategies/index.js +11 -0
  607. package/dist/trigger/router/strategies/index.js.map +1 -0
  608. package/dist/trigger/router/strategies/role-strategy.d.ts +39 -0
  609. package/dist/trigger/router/strategies/role-strategy.d.ts.map +1 -0
  610. package/dist/trigger/router/strategies/role-strategy.js +207 -0
  611. package/dist/trigger/router/strategies/role-strategy.js.map +1 -0
  612. package/dist/trigger/router/trigger-router.d.ts +54 -0
  613. package/dist/trigger/router/trigger-router.d.ts.map +1 -0
  614. package/dist/trigger/router/trigger-router.js +362 -0
  615. package/dist/trigger/router/trigger-router.js.map +1 -0
  616. package/dist/trigger/router/types.d.ts +225 -0
  617. package/dist/trigger/router/types.d.ts.map +1 -0
  618. package/dist/trigger/router/types.js +10 -0
  619. package/dist/trigger/router/types.js.map +1 -0
  620. package/dist/trigger/sources/cron/cron-service.d.ts.map +1 -1
  621. package/dist/trigger/sources/cron/cron-service.js +6 -3
  622. package/dist/trigger/sources/cron/cron-service.js.map +1 -1
  623. package/dist/trigger/trigger-system.d.ts +77 -0
  624. package/dist/trigger/trigger-system.d.ts.map +1 -0
  625. package/dist/trigger/trigger-system.js +84 -0
  626. package/dist/trigger/trigger-system.js.map +1 -0
  627. package/dist/util/git-safety.d.ts +33 -0
  628. package/dist/util/git-safety.d.ts.map +1 -0
  629. package/dist/util/git-safety.js +94 -0
  630. package/dist/util/git-safety.js.map +1 -0
  631. package/dist/workspace/index.d.ts +0 -1
  632. package/dist/workspace/index.d.ts.map +1 -1
  633. package/dist/workspace/index.js +0 -2
  634. package/dist/workspace/index.js.map +1 -1
  635. package/dist/workspace/landing/direct-push.d.ts.map +1 -1
  636. package/dist/workspace/landing/direct-push.js +22 -7
  637. package/dist/workspace/landing/direct-push.js.map +1 -1
  638. package/dist/workspace/landing/queue-to-branch.d.ts.map +1 -1
  639. package/dist/workspace/landing/queue-to-branch.js +1 -3
  640. package/dist/workspace/landing/queue-to-branch.js.map +1 -1
  641. package/dist/workspace/types.d.ts +0 -13
  642. package/dist/workspace/types.d.ts.map +1 -1
  643. package/dist/workspace/workspace-manager.d.ts +0 -11
  644. package/dist/workspace/workspace-manager.d.ts.map +1 -1
  645. package/dist/workspace/workspace-manager.js +0 -30
  646. package/dist/workspace/workspace-manager.js.map +1 -1
  647. package/package.json +28 -2
  648. package/templates/teams/self-driving/prompts/grinder.md +1 -0
  649. package/templates/teams/self-driving/prompts/judge.md +1 -0
  650. package/templates/teams/self-driving/prompts/planner.md +1 -0
  651. package/templates/teams/self-driving/roles/grinder.yaml +15 -0
  652. package/templates/teams/self-driving/roles/judge.yaml +10 -0
  653. package/templates/teams/self-driving/roles/planner.yaml +16 -0
  654. package/.claude/commands/openspec/apply.md +0 -23
  655. package/.claude/commands/openspec/archive.md +0 -27
  656. package/.claude/commands/openspec/proposal.md +0 -28
  657. package/.claude/settings.json +0 -133
  658. package/.gitattributes +0 -3
  659. package/.opentasks/config.json +0 -9
  660. package/.opentasks/graph.jsonl +0 -0
  661. package/.sessionlog/settings.json +0 -4
  662. package/.sudocode/issues.jsonl +0 -183
  663. package/.sudocode/specs.jsonl +0 -56
  664. package/AGENTS.md +0 -18
  665. package/CLAUDE.md +0 -923
  666. package/docs/architecture.md +0 -508
  667. package/docs/configuration.md +0 -323
  668. package/docs/conflict-recovery.md +0 -472
  669. package/docs/design/task-dispatcher.md +0 -880
  670. package/docs/design-subsystem-extraction.md +0 -627
  671. package/docs/git-cascade-integration-gaps.md +0 -678
  672. package/docs/implementation-details.md +0 -1127
  673. package/docs/implementation-summary.md +0 -448
  674. package/docs/lifecycle-events-design.md +0 -111
  675. package/docs/mail-integration.md +0 -608
  676. package/docs/openhive-capability-summary.md +0 -415
  677. package/docs/openhive-integration.md +0 -415
  678. package/docs/plan-self-driving-support.md +0 -433
  679. package/docs/roadmap-v2-gaps.md +0 -216
  680. package/docs/spec-self-driving-support.md +0 -462
  681. package/docs/team-templates.md +0 -860
  682. package/docs/teams.md +0 -306
  683. package/docs/trigger-system-design.md +0 -333
  684. package/docs/troubleshooting.md +0 -489
  685. package/docs/workspace-interfaces.md +0 -731
  686. package/docs/workspace-redesign-plan.md +0 -302
  687. package/examples/distributed-peer-communication.ts +0 -202
  688. package/examples/local-peer-communication.ts +0 -165
  689. package/index.js +0 -2
  690. package/mvp_docs/agent-execution-system.md +0 -347
  691. package/mvp_docs/agent-interface.md +0 -580
  692. package/mvp_docs/data-structures.md +0 -701
  693. package/mvp_docs/dynamic-meta-orchestration.md +0 -116
  694. package/mvp_docs/multi-agent-interaction-design.md +0 -779
  695. package/mvp_docs/mvp-implementation-plan.md +0 -1148
  696. package/renovate.json5 +0 -6
  697. package/scripts/test-acp-integration.ts +0 -422
  698. package/src/__tests__/boot-v2.test.ts +0 -631
  699. package/src/__tests__/e2e/acp-over-map-live.e2e.test.ts +0 -496
  700. package/src/__tests__/e2e/acp-over-map.e2e.test.ts +0 -457
  701. package/src/__tests__/e2e/agent-lifecycle.e2e.test.ts +0 -770
  702. package/src/__tests__/e2e/auto-sync.e2e.test.ts +0 -257
  703. package/src/__tests__/e2e/bootstrap.e2e.test.ts +0 -319
  704. package/src/__tests__/e2e/cascade-rebase.e2e.test.ts +0 -254
  705. package/src/__tests__/e2e/cc-swarm-bridge.e2e.test.ts +0 -253
  706. package/src/__tests__/e2e/cli-run.e2e.test.ts +0 -167
  707. package/src/__tests__/e2e/cognitive-workspace.e2e.test.ts +0 -282
  708. package/src/__tests__/e2e/dispatch-coordination.e2e.test.ts +0 -495
  709. package/src/__tests__/e2e/dispatch-live.e2e.test.ts +0 -564
  710. package/src/__tests__/e2e/dispatch-opentasks.e2e.test.ts +0 -496
  711. package/src/__tests__/e2e/dispatch-phase2-live.e2e.test.ts +0 -456
  712. package/src/__tests__/e2e/dispatch-phase2.e2e.test.ts +0 -386
  713. package/src/__tests__/e2e/dispatch.e2e.test.ts +0 -376
  714. package/src/__tests__/e2e/done-scenarios.e2e.test.ts +0 -322
  715. package/src/__tests__/e2e/live-agent.e2e.test.ts +0 -1330
  716. package/src/__tests__/e2e/map-server.e2e.test.ts +0 -128
  717. package/src/__tests__/e2e/map-sidecar.e2e.test.ts +0 -139
  718. package/src/__tests__/e2e/opentasks-integration.e2e.test.ts +0 -280
  719. package/src/__tests__/e2e/pull-mode.e2e.test.ts +0 -632
  720. package/src/__tests__/e2e/resume-continue.e2e.test.ts +0 -312
  721. package/src/__tests__/e2e/self-driving-v3.e2e.test.ts +0 -197
  722. package/src/__tests__/e2e/spawn-resolver.e2e.test.ts +0 -200
  723. package/src/__tests__/e2e/swarmkit-integration.e2e.test.ts +0 -562
  724. package/src/__tests__/e2e/swarmkit-live.e2e.test.ts +0 -1049
  725. package/src/__tests__/e2e/trajectory-tracking.e2e.test.ts +0 -258
  726. package/src/__tests__/e2e/trigger-wake.e2e.test.ts +0 -257
  727. package/src/__tests__/e2e/workspace-lifecycle.e2e.test.ts +0 -383
  728. package/src/__tests__/e2e/workspace-v3.e2e.test.ts +0 -413
  729. package/src/acp/__tests__/claude-code-replay.test.ts +0 -225
  730. package/src/acp/__tests__/macro-agent.test.ts +0 -387
  731. package/src/acp/__tests__/session-mapper.test.ts +0 -152
  732. package/src/acp/__tests__/websocket-server.test.ts +0 -194
  733. package/src/acp/claude-code-replay.ts +0 -208
  734. package/src/acp/index.ts +0 -32
  735. package/src/acp/macro-agent.ts +0 -995
  736. package/src/acp/map-bridge.ts +0 -193
  737. package/src/acp/session-mapper.ts +0 -116
  738. package/src/acp/types.ts +0 -99
  739. package/src/acp/websocket-server.ts +0 -213
  740. package/src/adapters/__tests__/federation.test.ts +0 -256
  741. package/src/adapters/__tests__/inbox-adapter.test.ts +0 -316
  742. package/src/adapters/__tests__/tasks-adapter.test.ts +0 -270
  743. package/src/adapters/federation.ts +0 -185
  744. package/src/adapters/inbox-adapter.ts +0 -292
  745. package/src/adapters/inbox-client-adapter.ts +0 -173
  746. package/src/adapters/index.ts +0 -44
  747. package/src/adapters/opentasks-daemon.ts +0 -252
  748. package/src/adapters/tasks-adapter.ts +0 -330
  749. package/src/adapters/types.ts +0 -286
  750. package/src/agent/__tests__/agent-manager-topology.test.ts +0 -73
  751. package/src/agent/__tests__/agent-manager-v2.permission-interception.test.ts +0 -296
  752. package/src/agent/__tests__/agent-manager-v2.permissions.test.ts +0 -233
  753. package/src/agent/__tests__/agent-manager-v2.test.ts +0 -614
  754. package/src/agent/__tests__/agent-store.test.ts +0 -465
  755. package/src/agent/__tests__/task-ref-resolution.test.ts +0 -231
  756. package/src/agent/agent-manager-v2.ts +0 -2021
  757. package/src/agent/agent-manager.ts +0 -386
  758. package/src/agent/agent-store.ts +0 -409
  759. package/src/agent/index.ts +0 -7
  760. package/src/agent/prompts/coordinator-signals.ts +0 -115
  761. package/src/agent/prompts/index.ts +0 -7
  762. package/src/agent/system-prompt.ts +0 -298
  763. package/src/agent/types.ts +0 -459
  764. package/src/agent-detection/__tests__/command-builder.test.ts +0 -336
  765. package/src/agent-detection/__tests__/detector.test.ts +0 -768
  766. package/src/agent-detection/__tests__/registry.test.ts +0 -254
  767. package/src/agent-detection/command-builder.ts +0 -90
  768. package/src/agent-detection/detector.ts +0 -307
  769. package/src/agent-detection/index.ts +0 -36
  770. package/src/agent-detection/registry.ts +0 -200
  771. package/src/agent-detection/types.ts +0 -184
  772. package/src/api/__tests__/server.test.ts +0 -292
  773. package/src/api/index.ts +0 -8
  774. package/src/api/server.ts +0 -380
  775. package/src/api/types.ts +0 -39
  776. package/src/auth/__tests__/token.test.ts +0 -100
  777. package/src/auth/index.ts +0 -1
  778. package/src/auth/token.ts +0 -82
  779. package/src/boot-v2.ts +0 -1343
  780. package/src/cli/__tests__/stable-instance-id.test.ts +0 -57
  781. package/src/cli/acp.ts +0 -101
  782. package/src/cli/inbox-mcp-proxy.ts +0 -56
  783. package/src/cli/index.ts +0 -566
  784. package/src/cli/mcp.ts +0 -305
  785. package/src/cli/parse-args.ts +0 -54
  786. package/src/cli/stable-instance-id.ts +0 -14
  787. package/src/cognitive/__tests__/macro-agent-backend.test.ts +0 -520
  788. package/src/cognitive/__tests__/session-converter.test.ts +0 -423
  789. package/src/cognitive/__tests__/workspace-handler.test.ts +0 -221
  790. package/src/cognitive/analyst-role.ts +0 -59
  791. package/src/cognitive/index.ts +0 -49
  792. package/src/cognitive/macro-agent-backend.ts +0 -370
  793. package/src/cognitive/session-converter.ts +0 -151
  794. package/src/cognitive/types.ts +0 -163
  795. package/src/cognitive/workspace-handler.ts +0 -163
  796. package/src/config/index.ts +0 -9
  797. package/src/config/project-config.ts +0 -294
  798. package/src/control/__tests__/control-resilience.test.ts +0 -251
  799. package/src/control/__tests__/control-socket.test.ts +0 -240
  800. package/src/control/control-client.ts +0 -337
  801. package/src/control/control-server.ts +0 -298
  802. package/src/control/index.ts +0 -17
  803. package/src/control/types.ts +0 -95
  804. package/src/dispatch/CLAUDE.md +0 -129
  805. package/src/dispatch/__tests__/loadout-translation.test.ts +0 -141
  806. package/src/dispatch/__tests__/mail-inbound-consumer.integration.test.ts +0 -519
  807. package/src/dispatch/__tests__/mail-inbound-consumer.test.ts +0 -800
  808. package/src/dispatch/__tests__/mail-inbound-reuse-consumer.test.ts +0 -575
  809. package/src/dispatch/__tests__/permission-evaluator.test.ts +0 -196
  810. package/src/dispatch/__tests__/permission-overlay.test.ts +0 -56
  811. package/src/dispatch/__tests__/permissions-handler.test.ts +0 -168
  812. package/src/dispatch/__tests__/spawn-agent-handler.test.ts +0 -282
  813. package/src/dispatch/loadout-translation.ts +0 -138
  814. package/src/dispatch/mail-inbound-consumer.ts +0 -560
  815. package/src/dispatch/mail-inbound-reuse-consumer.ts +0 -479
  816. package/src/dispatch/permission-evaluator.ts +0 -191
  817. package/src/dispatch/permission-overlay.ts +0 -89
  818. package/src/dispatch/permissions-handler.ts +0 -112
  819. package/src/dispatch/spawn-agent-handler.ts +0 -160
  820. package/src/index.ts +0 -115
  821. package/src/integrations/__tests__/context-builder.test.ts +0 -218
  822. package/src/integrations/__tests__/sessionlog.test.ts +0 -498
  823. package/src/integrations/__tests__/skilltree.test.ts +0 -136
  824. package/src/integrations/context-builder.ts +0 -280
  825. package/src/integrations/sessionlog.ts +0 -194
  826. package/src/integrations/skilltree.ts +0 -184
  827. package/src/lifecycle/__tests__/cascade-consolidation.test.ts +0 -240
  828. package/src/lifecycle/__tests__/handlers-v2.test.ts +0 -565
  829. package/src/lifecycle/cascade.ts +0 -335
  830. package/src/lifecycle/cleanup.ts +0 -373
  831. package/src/lifecycle/handlers-v2.ts +0 -508
  832. package/src/lifecycle/index.ts +0 -76
  833. package/src/lifecycle/types.ts +0 -260
  834. package/src/map/__tests__/cascade-bridge.test.ts +0 -229
  835. package/src/map/__tests__/cascade-diff-server.test.ts +0 -434
  836. package/src/map/__tests__/emit-event.test.ts +0 -71
  837. package/src/map/__tests__/lifecycle-bridge.test.ts +0 -430
  838. package/src/map/__tests__/mail-bridge.test.ts +0 -284
  839. package/src/map/__tests__/permission-forwarding.test.ts +0 -143
  840. package/src/map/__tests__/sidecar-diff-install-smoke.test.ts +0 -90
  841. package/src/map/__tests__/sidecar-integration.test.ts +0 -190
  842. package/src/map/__tests__/task-bridge.test.ts +0 -153
  843. package/src/map/__tests__/trajectory-reporter.test.ts +0 -173
  844. package/src/map/acp-bridge.ts +0 -293
  845. package/src/map/cascade-action-handler.ts +0 -205
  846. package/src/map/cascade-bridge.ts +0 -339
  847. package/src/map/cascade-diff-server.ts +0 -404
  848. package/src/map/cc-swarm-hooks.ts +0 -242
  849. package/src/map/coordination-handler.ts +0 -232
  850. package/src/map/index.ts +0 -18
  851. package/src/map/lifecycle-bridge.ts +0 -236
  852. package/src/map/mail-bridge.ts +0 -215
  853. package/src/map/repo-workspace.ts +0 -82
  854. package/src/map/server.ts +0 -758
  855. package/src/map/sidecar.ts +0 -826
  856. package/src/map/task-bridge.ts +0 -89
  857. package/src/map/trajectory-reporter.ts +0 -124
  858. package/src/map/types.ts +0 -304
  859. package/src/mcp/__tests__/mcp-server-v2.test.ts +0 -236
  860. package/src/mcp/index.ts +0 -6
  861. package/src/mcp/mcp-server-v2.ts +0 -485
  862. package/src/mcp/tools/done-v2.ts +0 -213
  863. package/src/mcp/types.ts +0 -432
  864. package/src/metrics/__tests__/metrics.test.ts +0 -205
  865. package/src/metrics/index.ts +0 -13
  866. package/src/metrics/metrics.ts +0 -151
  867. package/src/metrics/types.ts +0 -63
  868. package/src/roles/__tests__/config-loader.test.ts +0 -540
  869. package/src/roles/builtin/coordinator.ts +0 -75
  870. package/src/roles/builtin/generic.ts +0 -39
  871. package/src/roles/builtin/index.ts +0 -51
  872. package/src/roles/builtin/integrator.ts +0 -62
  873. package/src/roles/builtin/monitor.ts +0 -65
  874. package/src/roles/builtin/worker.ts +0 -134
  875. package/src/roles/capabilities.ts +0 -257
  876. package/src/roles/config-loader.ts +0 -405
  877. package/src/roles/index.ts +0 -141
  878. package/src/roles/registry.ts +0 -713
  879. package/src/roles/types.ts +0 -344
  880. package/src/store/index.ts +0 -8
  881. package/src/store/types/agents.ts +0 -69
  882. package/src/store/types/events.ts +0 -91
  883. package/src/store/types/index.ts +0 -9
  884. package/src/store/types/messages.ts +0 -32
  885. package/src/store/types/primitives.ts +0 -9
  886. package/src/store/types/tasks.ts +0 -124
  887. package/src/teams/__tests__/team-manager-v2.test.ts +0 -425
  888. package/src/teams/__tests__/team-runtime-v2.test.ts +0 -402
  889. package/src/teams/index.ts +0 -29
  890. package/src/teams/seed-defaults.ts +0 -83
  891. package/src/teams/team-loader.ts +0 -476
  892. package/src/teams/team-manager-v2.ts +0 -343
  893. package/src/teams/team-runtime-v2.ts +0 -920
  894. package/src/teams/types.ts +0 -276
  895. package/src/trigger/__tests__/cron-service.test.ts +0 -548
  896. package/src/trigger/__tests__/scheduler.test.ts +0 -371
  897. package/src/trigger/__tests__/system-event-queue.test.ts +0 -147
  898. package/src/trigger/__tests__/trigger-system-v2.test.ts +0 -257
  899. package/src/trigger/__tests__/wake-manager.test.ts +0 -356
  900. package/src/trigger/__tests__/webhook-handler.test.ts +0 -567
  901. package/src/trigger/index.ts +0 -110
  902. package/src/trigger/queue/index.ts +0 -21
  903. package/src/trigger/queue/system-event-queue.ts +0 -232
  904. package/src/trigger/queue/types.ts +0 -149
  905. package/src/trigger/sources/cron/cron-service.ts +0 -499
  906. package/src/trigger/sources/cron/index.ts +0 -41
  907. package/src/trigger/sources/cron/scheduler.ts +0 -344
  908. package/src/trigger/sources/cron/types.ts +0 -333
  909. package/src/trigger/sources/index.ts +0 -10
  910. package/src/trigger/sources/webhook/index.ts +0 -25
  911. package/src/trigger/sources/webhook/types.ts +0 -205
  912. package/src/trigger/sources/webhook/webhook-handler.ts +0 -410
  913. package/src/trigger/strategies/ai-router.ts +0 -170
  914. package/src/trigger/trigger-system-v2.ts +0 -536
  915. package/src/trigger/types.ts +0 -228
  916. package/src/trigger/wake/index.ts +0 -22
  917. package/src/trigger/wake/types.ts +0 -162
  918. package/src/trigger/wake/wake-manager.ts +0 -390
  919. package/src/workspace/__tests__/git-cascade-adapter.test.ts +0 -563
  920. package/src/workspace/__tests__/land-dispatch.test.ts +0 -214
  921. package/src/workspace/__tests__/self-driving-yaml.test.ts +0 -122
  922. package/src/workspace/__tests__/shared-worktree-refcount.test.ts +0 -154
  923. package/src/workspace/__tests__/standalone-mode.test.ts +0 -118
  924. package/src/workspace/__tests__/workspace-manager-v3.test.ts +0 -245
  925. package/src/workspace/__tests__/yaml-schema.test.ts +0 -210
  926. package/src/workspace/config.ts +0 -165
  927. package/src/workspace/git-cascade-adapter.ts +0 -1213
  928. package/src/workspace/index.ts +0 -110
  929. package/src/workspace/landing/__tests__/strategies.test.ts +0 -184
  930. package/src/workspace/landing/direct-push.ts +0 -91
  931. package/src/workspace/landing/index.ts +0 -40
  932. package/src/workspace/landing/merge-to-parent.ts +0 -229
  933. package/src/workspace/landing/optimistic-push.ts +0 -36
  934. package/src/workspace/landing/queue-to-branch.ts +0 -108
  935. package/src/workspace/merge-queue/__tests__/conflict-resolution-git.e2e.test.ts +0 -641
  936. package/src/workspace/merge-queue/__tests__/conflict-resolution.test.ts +0 -707
  937. package/src/workspace/merge-queue/__tests__/merge-queue-concurrent.test.ts +0 -628
  938. package/src/workspace/merge-queue/__tests__/merge-queue-edge-cases.test.ts +0 -1217
  939. package/src/workspace/merge-queue/__tests__/merge-queue.test.ts +0 -506
  940. package/src/workspace/merge-queue/__tests__/real-git-operations.e2e.test.ts +0 -556
  941. package/src/workspace/merge-queue/__tests__/resolver-flow.test.ts +0 -472
  942. package/src/workspace/merge-queue/index.ts +0 -38
  943. package/src/workspace/merge-queue/merge-queue.ts +0 -585
  944. package/src/workspace/merge-queue/schema.ts +0 -98
  945. package/src/workspace/merge-queue/types.ts +0 -316
  946. package/src/workspace/pool/__tests__/worktree-pool.integration.test.ts +0 -1281
  947. package/src/workspace/pool/__tests__/worktree-pool.test.ts +0 -590
  948. package/src/workspace/pool/index.ts +0 -26
  949. package/src/workspace/pool/types.ts +0 -276
  950. package/src/workspace/pool/worktree-pool.ts +0 -659
  951. package/src/workspace/recovery/__tests__/auto-resolve-integration.test.ts +0 -127
  952. package/src/workspace/recovery/__tests__/spawn-resolver.test.ts +0 -139
  953. package/src/workspace/recovery/__tests__/strategies.test.ts +0 -145
  954. package/src/workspace/recovery/abandon.ts +0 -51
  955. package/src/workspace/recovery/auto-resolve.ts +0 -119
  956. package/src/workspace/recovery/defer.ts +0 -23
  957. package/src/workspace/recovery/escalate.ts +0 -30
  958. package/src/workspace/recovery/index.ts +0 -58
  959. package/src/workspace/recovery/spawn-resolver.ts +0 -152
  960. package/src/workspace/recovery/types.ts +0 -54
  961. package/src/workspace/strategies/index.ts +0 -18
  962. package/src/workspace/strategies/optimistic.ts +0 -139
  963. package/src/workspace/strategies/queue.ts +0 -81
  964. package/src/workspace/strategies/registry.ts +0 -89
  965. package/src/workspace/strategies/trunk.ts +0 -123
  966. package/src/workspace/strategies/types.ts +0 -145
  967. package/src/workspace/topology/__tests__/yaml-driven.test.ts +0 -345
  968. package/src/workspace/topology/index.ts +0 -18
  969. package/src/workspace/topology/no-workspace.ts +0 -39
  970. package/src/workspace/topology/types.ts +0 -116
  971. package/src/workspace/topology/yaml-driven.ts +0 -316
  972. package/src/workspace/types-v3.ts +0 -162
  973. package/src/workspace/types.ts +0 -541
  974. package/src/workspace/workspace-manager.ts +0 -1577
  975. package/src/workspace/yaml-schema.ts +0 -216
  976. package/test_fixtures/README.md +0 -425
  977. package/test_fixtures/fixtures/behaviors/coordinators.ts +0 -196
  978. package/test_fixtures/fixtures/behaviors/index.ts +0 -62
  979. package/test_fixtures/fixtures/behaviors/integrators.ts +0 -143
  980. package/test_fixtures/fixtures/behaviors/monitors.ts +0 -199
  981. package/test_fixtures/fixtures/behaviors/workers.ts +0 -348
  982. package/test_fixtures/fixtures/index.ts +0 -7
  983. package/test_fixtures/fixtures/projects/index.ts +0 -23
  984. package/test_fixtures/fixtures/projects/project-with-specs.ts +0 -44
  985. package/test_fixtures/fixtures/projects/typescript-project.ts +0 -200
  986. package/test_fixtures/fixtures/repos/index.ts +0 -6
  987. package/test_fixtures/fixtures/repos/temp-repo-factory.ts +0 -299
  988. package/test_fixtures/fixtures/repos/types.ts +0 -174
  989. package/test_fixtures/harness/assertions/harness-assertions.ts +0 -752
  990. package/test_fixtures/harness/assertions/index.ts +0 -8
  991. package/test_fixtures/harness/index.ts +0 -15
  992. package/test_fixtures/harness/simulator/agent-simulator.ts +0 -768
  993. package/test_fixtures/harness/simulator/behavior-executor.ts +0 -580
  994. package/test_fixtures/harness/simulator/index.ts +0 -14
  995. package/test_fixtures/harness/simulator/types.ts +0 -459
  996. package/test_fixtures/harness/test-harness.ts +0 -770
  997. package/test_fixtures/harness/timing/event-stepper.ts +0 -344
  998. package/test_fixtures/harness/timing/index.ts +0 -8
  999. package/tsconfig.json +0 -21
  1000. package/vitest.config.ts +0 -30
  1001. package/vitest.e2e.config.ts +0 -28
  1002. 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.