macro-agent 0.0.11 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/.macro-agent/teams/self-driving/prompts/grinder.md +27 -0
  2. package/.macro-agent/teams/self-driving/prompts/judge.md +27 -0
  3. package/.macro-agent/teams/self-driving/prompts/planner.md +33 -0
  4. package/.macro-agent/teams/self-driving/roles/grinder.yaml +17 -0
  5. package/.macro-agent/teams/self-driving/roles/judge.yaml +24 -0
  6. package/.macro-agent/teams/self-driving/roles/planner.yaml +18 -0
  7. package/.macro-agent/teams/self-driving/team.yaml +103 -0
  8. package/.macro-agent/teams/structured/prompts/developer.md +26 -0
  9. package/.macro-agent/teams/structured/prompts/lead.md +25 -0
  10. package/.macro-agent/teams/structured/prompts/reviewer.md +24 -0
  11. package/.macro-agent/teams/structured/roles/developer.yaml +12 -0
  12. package/.macro-agent/teams/structured/roles/lead.yaml +11 -0
  13. package/.macro-agent/teams/structured/roles/reviewer.yaml +19 -0
  14. package/.macro-agent/teams/structured/team.yaml +89 -0
  15. package/.sudocode/issues.jsonl +6 -0
  16. package/.sudocode/specs.jsonl +7 -0
  17. package/CLAUDE.md +110 -30
  18. package/README.md +60 -3
  19. package/dist/acp/macro-agent.d.ts +4 -0
  20. package/dist/acp/macro-agent.d.ts.map +1 -1
  21. package/dist/acp/macro-agent.js +50 -4
  22. package/dist/acp/macro-agent.js.map +1 -1
  23. package/dist/acp/session-mapper.d.ts +20 -1
  24. package/dist/acp/session-mapper.d.ts.map +1 -1
  25. package/dist/acp/session-mapper.js +90 -1
  26. package/dist/acp/session-mapper.js.map +1 -1
  27. package/dist/acp/types.d.ts +24 -1
  28. package/dist/acp/types.d.ts.map +1 -1
  29. package/dist/acp/types.js.map +1 -1
  30. package/dist/agent/agent-manager.d.ts +25 -1
  31. package/dist/agent/agent-manager.d.ts.map +1 -1
  32. package/dist/agent/agent-manager.js +93 -7
  33. package/dist/agent/agent-manager.js.map +1 -1
  34. package/dist/agent/types.d.ts +22 -0
  35. package/dist/agent/types.d.ts.map +1 -1
  36. package/dist/agent/types.js.map +1 -1
  37. package/dist/agent-detection/command-builder.d.ts +30 -0
  38. package/dist/agent-detection/command-builder.d.ts.map +1 -0
  39. package/dist/agent-detection/command-builder.js +71 -0
  40. package/dist/agent-detection/command-builder.js.map +1 -0
  41. package/dist/agent-detection/detector.d.ts +84 -0
  42. package/dist/agent-detection/detector.d.ts.map +1 -0
  43. package/dist/agent-detection/detector.js +240 -0
  44. package/dist/agent-detection/detector.js.map +1 -0
  45. package/dist/agent-detection/index.d.ts +12 -0
  46. package/dist/agent-detection/index.d.ts.map +1 -0
  47. package/dist/agent-detection/index.js +14 -0
  48. package/dist/agent-detection/index.js.map +1 -0
  49. package/dist/agent-detection/registry.d.ts +53 -0
  50. package/dist/agent-detection/registry.d.ts.map +1 -0
  51. package/dist/agent-detection/registry.js +177 -0
  52. package/dist/agent-detection/registry.js.map +1 -0
  53. package/dist/agent-detection/types.d.ts +121 -0
  54. package/dist/agent-detection/types.d.ts.map +1 -0
  55. package/dist/agent-detection/types.js +20 -0
  56. package/dist/agent-detection/types.js.map +1 -0
  57. package/dist/api/server.d.ts.map +1 -1
  58. package/dist/api/server.js +95 -0
  59. package/dist/api/server.js.map +1 -1
  60. package/dist/cli/index.js +29 -0
  61. package/dist/cli/index.js.map +1 -1
  62. package/dist/cli/mcp.js +38 -0
  63. package/dist/cli/mcp.js.map +1 -1
  64. package/dist/config/index.d.ts +2 -0
  65. package/dist/config/index.d.ts.map +1 -0
  66. package/dist/config/index.js +2 -0
  67. package/dist/config/index.js.map +1 -0
  68. package/dist/config/project-config.d.ts +46 -0
  69. package/dist/config/project-config.d.ts.map +1 -0
  70. package/dist/config/project-config.js +68 -0
  71. package/dist/config/project-config.js.map +1 -0
  72. package/dist/lifecycle/cascade.d.ts +1 -1
  73. package/dist/lifecycle/cascade.d.ts.map +1 -1
  74. package/dist/lifecycle/handlers/index.d.ts +4 -0
  75. package/dist/lifecycle/handlers/index.d.ts.map +1 -1
  76. package/dist/lifecycle/handlers/index.js +2 -0
  77. package/dist/lifecycle/handlers/index.js.map +1 -1
  78. package/dist/lifecycle/handlers/worker.d.ts +4 -0
  79. package/dist/lifecycle/handlers/worker.d.ts.map +1 -1
  80. package/dist/lifecycle/handlers/worker.js +35 -3
  81. package/dist/lifecycle/handlers/worker.js.map +1 -1
  82. package/dist/map/adapter/acp-over-map.d.ts.map +1 -1
  83. package/dist/map/adapter/acp-over-map.js +32 -2
  84. package/dist/map/adapter/acp-over-map.js.map +1 -1
  85. package/dist/map/adapter/event-translator.d.ts.map +1 -1
  86. package/dist/map/adapter/event-translator.js +1 -0
  87. package/dist/map/adapter/event-translator.js.map +1 -1
  88. package/dist/map/adapter/extensions/agent-detection.d.ts +49 -0
  89. package/dist/map/adapter/extensions/agent-detection.d.ts.map +1 -0
  90. package/dist/map/adapter/extensions/agent-detection.js +91 -0
  91. package/dist/map/adapter/extensions/agent-detection.js.map +1 -0
  92. package/dist/map/adapter/extensions/index.d.ts +10 -1
  93. package/dist/map/adapter/extensions/index.d.ts.map +1 -1
  94. package/dist/map/adapter/extensions/index.js +39 -0
  95. package/dist/map/adapter/extensions/index.js.map +1 -1
  96. package/dist/map/adapter/extensions/resume.d.ts +47 -0
  97. package/dist/map/adapter/extensions/resume.d.ts.map +1 -0
  98. package/dist/map/adapter/extensions/resume.js +59 -0
  99. package/dist/map/adapter/extensions/resume.js.map +1 -0
  100. package/dist/map/adapter/extensions/workspace-files.d.ts +42 -0
  101. package/dist/map/adapter/extensions/workspace-files.d.ts.map +1 -0
  102. package/dist/map/adapter/extensions/workspace-files.js +338 -0
  103. package/dist/map/adapter/extensions/workspace-files.js.map +1 -0
  104. package/dist/mcp/mcp-server.d.ts +6 -0
  105. package/dist/mcp/mcp-server.d.ts.map +1 -1
  106. package/dist/mcp/mcp-server.js +45 -0
  107. package/dist/mcp/mcp-server.js.map +1 -1
  108. package/dist/mcp/tools/claim_task.d.ts +35 -0
  109. package/dist/mcp/tools/claim_task.d.ts.map +1 -0
  110. package/dist/mcp/tools/claim_task.js +58 -0
  111. package/dist/mcp/tools/claim_task.js.map +1 -0
  112. package/dist/mcp/tools/done.d.ts +11 -2
  113. package/dist/mcp/tools/done.d.ts.map +1 -1
  114. package/dist/mcp/tools/done.js +15 -10
  115. package/dist/mcp/tools/done.js.map +1 -1
  116. package/dist/mcp/tools/list_claimable_tasks.d.ts +38 -0
  117. package/dist/mcp/tools/list_claimable_tasks.d.ts.map +1 -0
  118. package/dist/mcp/tools/list_claimable_tasks.js +63 -0
  119. package/dist/mcp/tools/list_claimable_tasks.js.map +1 -0
  120. package/dist/mcp/tools/unclaim_task.d.ts +31 -0
  121. package/dist/mcp/tools/unclaim_task.d.ts.map +1 -0
  122. package/dist/mcp/tools/unclaim_task.js +47 -0
  123. package/dist/mcp/tools/unclaim_task.js.map +1 -0
  124. package/dist/metrics/index.d.ts +2 -0
  125. package/dist/metrics/index.d.ts.map +1 -0
  126. package/dist/metrics/index.js +2 -0
  127. package/dist/metrics/index.js.map +1 -0
  128. package/dist/metrics/metrics.d.ts +79 -0
  129. package/dist/metrics/metrics.d.ts.map +1 -0
  130. package/dist/metrics/metrics.js +166 -0
  131. package/dist/metrics/metrics.js.map +1 -0
  132. package/dist/roles/capabilities.d.ts +1 -0
  133. package/dist/roles/capabilities.d.ts.map +1 -1
  134. package/dist/roles/capabilities.js +3 -0
  135. package/dist/roles/capabilities.js.map +1 -1
  136. package/dist/roles/types.d.ts +1 -1
  137. package/dist/roles/types.d.ts.map +1 -1
  138. package/dist/router/message-router.d.ts +41 -0
  139. package/dist/router/message-router.d.ts.map +1 -1
  140. package/dist/router/message-router.js +136 -5
  141. package/dist/router/message-router.js.map +1 -1
  142. package/dist/store/event-store.d.ts +8 -1
  143. package/dist/store/event-store.d.ts.map +1 -1
  144. package/dist/store/event-store.js +120 -4
  145. package/dist/store/event-store.js.map +1 -1
  146. package/dist/store/types/agents.d.ts +1 -1
  147. package/dist/store/types/agents.d.ts.map +1 -1
  148. package/dist/store/types/events.d.ts +1 -1
  149. package/dist/store/types/events.d.ts.map +1 -1
  150. package/dist/store/types/events.js.map +1 -1
  151. package/dist/store/types/index.d.ts +1 -0
  152. package/dist/store/types/index.d.ts.map +1 -1
  153. package/dist/store/types/index.js +1 -0
  154. package/dist/store/types/index.js.map +1 -1
  155. package/dist/store/types/sessions.d.ts +44 -0
  156. package/dist/store/types/sessions.d.ts.map +1 -0
  157. package/dist/store/types/sessions.js +9 -0
  158. package/dist/store/types/sessions.js.map +1 -0
  159. package/dist/store/types/tasks.d.ts +2 -0
  160. package/dist/store/types/tasks.d.ts.map +1 -1
  161. package/dist/task/backend/memory.d.ts +4 -1
  162. package/dist/task/backend/memory.d.ts.map +1 -1
  163. package/dist/task/backend/memory.js +81 -0
  164. package/dist/task/backend/memory.js.map +1 -1
  165. package/dist/task/backend/types.d.ts +30 -0
  166. package/dist/task/backend/types.d.ts.map +1 -1
  167. package/dist/task/backend/types.js.map +1 -1
  168. package/dist/teams/index.d.ts +4 -0
  169. package/dist/teams/index.d.ts.map +1 -0
  170. package/dist/teams/index.js +4 -0
  171. package/dist/teams/index.js.map +1 -0
  172. package/dist/teams/team-loader.d.ts +20 -0
  173. package/dist/teams/team-loader.d.ts.map +1 -0
  174. package/dist/teams/team-loader.js +293 -0
  175. package/dist/teams/team-loader.js.map +1 -0
  176. package/dist/teams/team-runtime.d.ts +139 -0
  177. package/dist/teams/team-runtime.d.ts.map +1 -0
  178. package/dist/teams/team-runtime.js +613 -0
  179. package/dist/teams/team-runtime.js.map +1 -0
  180. package/dist/teams/types.d.ts +266 -0
  181. package/dist/teams/types.d.ts.map +1 -0
  182. package/dist/teams/types.js +20 -0
  183. package/dist/teams/types.js.map +1 -0
  184. package/dist/workspace/dataplane-adapter.d.ts +1 -1
  185. package/dist/workspace/dataplane-adapter.d.ts.map +1 -1
  186. package/dist/workspace/dataplane-adapter.js +1 -1
  187. package/dist/workspace/dataplane-adapter.js.map +1 -1
  188. package/dist/workspace/index.d.ts +1 -1
  189. package/dist/workspace/index.d.ts.map +1 -1
  190. package/dist/workspace/strategies/index.d.ts +6 -0
  191. package/dist/workspace/strategies/index.d.ts.map +1 -0
  192. package/dist/workspace/strategies/index.js +5 -0
  193. package/dist/workspace/strategies/index.js.map +1 -0
  194. package/dist/workspace/strategies/optimistic.d.ts +26 -0
  195. package/dist/workspace/strategies/optimistic.d.ts.map +1 -0
  196. package/dist/workspace/strategies/optimistic.js +121 -0
  197. package/dist/workspace/strategies/optimistic.js.map +1 -0
  198. package/dist/workspace/strategies/queue.d.ts +26 -0
  199. package/dist/workspace/strategies/queue.d.ts.map +1 -0
  200. package/dist/workspace/strategies/queue.js +67 -0
  201. package/dist/workspace/strategies/queue.js.map +1 -0
  202. package/dist/workspace/strategies/registry.d.ts +37 -0
  203. package/dist/workspace/strategies/registry.d.ts.map +1 -0
  204. package/dist/workspace/strategies/registry.js +63 -0
  205. package/dist/workspace/strategies/registry.js.map +1 -0
  206. package/dist/workspace/strategies/trunk.d.ts +20 -0
  207. package/dist/workspace/strategies/trunk.d.ts.map +1 -0
  208. package/dist/workspace/strategies/trunk.js +108 -0
  209. package/dist/workspace/strategies/trunk.js.map +1 -0
  210. package/dist/workspace/strategies/types.d.ts +104 -0
  211. package/dist/workspace/strategies/types.d.ts.map +1 -0
  212. package/dist/workspace/strategies/types.js +11 -0
  213. package/dist/workspace/strategies/types.js.map +1 -0
  214. package/dist/workspace/types.d.ts +1 -1
  215. package/dist/workspace/types.d.ts.map +1 -1
  216. package/dist/workspace/workspace-manager.d.ts +1 -1
  217. package/dist/workspace/workspace-manager.d.ts.map +1 -1
  218. package/docs/implementation-details.md +1127 -0
  219. package/docs/implementation-summary.md +448 -0
  220. package/docs/plan-self-driving-support.md +433 -0
  221. package/docs/spec-self-driving-support.md +462 -0
  222. package/docs/team-templates.md +860 -0
  223. package/docs/teams.md +233 -0
  224. package/package.json +4 -2
  225. package/src/acp/__tests__/integration.test.ts +161 -1
  226. package/src/acp/__tests__/macro-agent.test.ts +95 -0
  227. package/src/acp/__tests__/session-persistence.test.ts +276 -0
  228. package/src/acp/macro-agent.ts +79 -7
  229. package/src/acp/session-mapper.ts +108 -1
  230. package/src/acp/types.ts +33 -1
  231. package/src/agent/agent-manager.ts +158 -6
  232. package/src/agent/types.ts +27 -0
  233. package/src/agent-detection/__tests__/command-builder.test.ts +336 -0
  234. package/src/agent-detection/__tests__/detector.test.ts +768 -0
  235. package/src/agent-detection/__tests__/registry.test.ts +254 -0
  236. package/src/agent-detection/command-builder.ts +90 -0
  237. package/src/agent-detection/detector.ts +307 -0
  238. package/src/agent-detection/index.ts +36 -0
  239. package/src/agent-detection/registry.ts +200 -0
  240. package/src/agent-detection/types.ts +184 -0
  241. package/src/api/server.ts +110 -0
  242. package/src/cli/index.ts +44 -0
  243. package/src/cli/mcp.ts +47 -0
  244. package/src/config/index.ts +9 -0
  245. package/src/config/project-config.ts +107 -0
  246. package/src/lifecycle/cascade.ts +1 -1
  247. package/src/lifecycle/handlers/index.ts +8 -0
  248. package/src/lifecycle/handlers/worker.ts +48 -3
  249. package/src/map/adapter/__tests__/extensions.test.ts +359 -0
  250. package/src/map/adapter/__tests__/workspace-files.test.ts +673 -0
  251. package/src/map/adapter/acp-over-map.ts +45 -2
  252. package/src/map/adapter/event-translator.ts +1 -0
  253. package/src/map/adapter/extensions/agent-detection.ts +201 -0
  254. package/src/map/adapter/extensions/index.ts +63 -0
  255. package/src/map/adapter/extensions/resume.ts +114 -0
  256. package/src/map/adapter/extensions/workspace-files.ts +449 -0
  257. package/src/mcp/mcp-server.ts +67 -0
  258. package/src/mcp/tools/claim_task.ts +86 -0
  259. package/src/mcp/tools/done.ts +24 -10
  260. package/src/mcp/tools/list_claimable_tasks.ts +93 -0
  261. package/src/mcp/tools/unclaim_task.ts +71 -0
  262. package/src/metrics/index.ts +9 -0
  263. package/src/metrics/metrics.ts +280 -0
  264. package/src/roles/capabilities.ts +3 -0
  265. package/src/roles/types.ts +2 -1
  266. package/src/router/__tests__/message-router.test.ts +561 -0
  267. package/src/router/message-router.ts +223 -6
  268. package/src/store/event-store.ts +151 -3
  269. package/src/store/types/agents.ts +1 -1
  270. package/src/store/types/events.ts +2 -1
  271. package/src/store/types/index.ts +1 -0
  272. package/src/store/types/sessions.ts +53 -0
  273. package/src/store/types/tasks.ts +3 -0
  274. package/src/task/backend/memory.ts +116 -0
  275. package/src/task/backend/types.ts +43 -0
  276. package/src/teams/__tests__/cross-subsystem.integration.test.ts +983 -0
  277. package/src/teams/__tests__/e2e/team-runtime.e2e.test.ts +553 -0
  278. package/src/teams/__tests__/team-system.test.ts +1280 -0
  279. package/src/teams/index.ts +13 -0
  280. package/src/teams/team-loader.ts +434 -0
  281. package/src/teams/team-runtime.ts +727 -0
  282. package/src/teams/types.ts +377 -0
  283. package/src/workspace/dataplane-adapter.ts +1 -1
  284. package/src/workspace/index.ts +1 -1
  285. package/src/workspace/strategies/index.ts +18 -0
  286. package/src/workspace/strategies/optimistic.ts +136 -0
  287. package/src/workspace/strategies/queue.ts +81 -0
  288. package/src/workspace/strategies/registry.ts +89 -0
  289. package/src/workspace/strategies/trunk.ts +123 -0
  290. package/src/workspace/strategies/types.ts +145 -0
  291. package/src/workspace/types.ts +1 -1
  292. package/src/workspace/workspace-manager.ts +1 -1
  293. package/.claude/settings.local.json +0 -59
  294. package/dist/map/utils/address-translation.d.ts +0 -99
  295. package/dist/map/utils/address-translation.d.ts.map +0 -1
  296. package/dist/map/utils/address-translation.js +0 -285
  297. package/dist/map/utils/address-translation.js.map +0 -1
  298. package/dist/map/utils/index.d.ts +0 -7
  299. package/dist/map/utils/index.d.ts.map +0 -1
  300. package/dist/map/utils/index.js +0 -7
  301. package/dist/map/utils/index.js.map +0 -1
  302. package/references/acp-factory-ref/CHANGELOG.md +0 -33
  303. package/references/acp-factory-ref/LICENSE +0 -21
  304. package/references/acp-factory-ref/README.md +0 -341
  305. package/references/acp-factory-ref/package-lock.json +0 -3102
  306. package/references/acp-factory-ref/package.json +0 -96
  307. package/references/acp-factory-ref/python/CHANGELOG.md +0 -33
  308. package/references/acp-factory-ref/python/LICENSE +0 -21
  309. package/references/acp-factory-ref/python/Makefile +0 -57
  310. package/references/acp-factory-ref/python/README.md +0 -253
  311. package/references/acp-factory-ref/python/pyproject.toml +0 -73
  312. package/references/acp-factory-ref/python/tests/__init__.py +0 -0
  313. package/references/acp-factory-ref/python/tests/e2e/__init__.py +0 -1
  314. package/references/acp-factory-ref/python/tests/e2e/test_codex_e2e.py +0 -349
  315. package/references/acp-factory-ref/python/tests/e2e/test_gemini_e2e.py +0 -165
  316. package/references/acp-factory-ref/python/tests/e2e/test_opencode_e2e.py +0 -296
  317. package/references/acp-factory-ref/python/tests/test_client_handler.py +0 -543
  318. package/references/acp-factory-ref/python/tests/test_pushable.py +0 -199
  319. package/references/claude-code-acp/.github/workflows/ci.yml +0 -45
  320. package/references/claude-code-acp/.github/workflows/publish.yml +0 -34
  321. package/references/claude-code-acp/.prettierrc.json +0 -4
  322. package/references/claude-code-acp/CHANGELOG.md +0 -249
  323. package/references/claude-code-acp/LICENSE +0 -222
  324. package/references/claude-code-acp/README.md +0 -53
  325. package/references/claude-code-acp/docs/RELEASES.md +0 -24
  326. package/references/claude-code-acp/eslint.config.js +0 -48
  327. package/references/claude-code-acp/package-lock.json +0 -4570
  328. package/references/claude-code-acp/package.json +0 -88
  329. package/references/claude-code-acp/scripts/release.sh +0 -119
  330. package/references/claude-code-acp/src/acp-agent.ts +0 -2065
  331. package/references/claude-code-acp/src/index.ts +0 -26
  332. package/references/claude-code-acp/src/lib.ts +0 -38
  333. package/references/claude-code-acp/src/mcp-server.ts +0 -911
  334. package/references/claude-code-acp/src/settings.ts +0 -522
  335. package/references/claude-code-acp/src/tests/.claude/commands/quick-math.md +0 -5
  336. package/references/claude-code-acp/src/tests/.claude/commands/say-hello.md +0 -6
  337. package/references/claude-code-acp/src/tests/acp-agent-fork.test.ts +0 -479
  338. package/references/claude-code-acp/src/tests/acp-agent.test.ts +0 -1502
  339. package/references/claude-code-acp/src/tests/extract-lines.test.ts +0 -103
  340. package/references/claude-code-acp/src/tests/fork-session.test.ts +0 -335
  341. package/references/claude-code-acp/src/tests/replace-and-calculate-location.test.ts +0 -334
  342. package/references/claude-code-acp/src/tests/settings.test.ts +0 -617
  343. package/references/claude-code-acp/src/tests/skills-options.test.ts +0 -187
  344. package/references/claude-code-acp/src/tests/tools.test.ts +0 -318
  345. package/references/claude-code-acp/src/tests/typescript-declarations.test.ts +0 -558
  346. package/references/claude-code-acp/src/tools.ts +0 -819
  347. package/references/claude-code-acp/src/utils.ts +0 -171
  348. package/references/claude-code-acp/tsconfig.json +0 -18
  349. package/references/claude-code-acp/vitest.config.ts +0 -19
  350. package/references/multi-agent-protocol/.sudocode/issues.jsonl +0 -111
  351. package/references/multi-agent-protocol/.sudocode/specs.jsonl +0 -13
  352. package/references/multi-agent-protocol/LICENSE +0 -21
  353. package/references/multi-agent-protocol/README.md +0 -113
  354. package/references/multi-agent-protocol/docs/00-design-specification.md +0 -496
  355. package/references/multi-agent-protocol/docs/01-open-questions.md +0 -1050
  356. package/references/multi-agent-protocol/docs/02-wire-protocol.md +0 -296
  357. package/references/multi-agent-protocol/docs/03-streaming-semantics.md +0 -252
  358. package/references/multi-agent-protocol/docs/04-error-handling.md +0 -231
  359. package/references/multi-agent-protocol/docs/05-connection-model.md +0 -244
  360. package/references/multi-agent-protocol/docs/06-visibility-permissions.md +0 -243
  361. package/references/multi-agent-protocol/docs/07-federation.md +0 -259
  362. package/references/multi-agent-protocol/docs/08-macro-agent-migration.md +0 -253
  363. package/references/multi-agent-protocol/docs/09-authentication.md +0 -680
  364. package/references/multi-agent-protocol/docs/10-mail-protocol.md +0 -553
  365. package/references/multi-agent-protocol/docs/agent-iam-integration.md +0 -877
  366. package/references/multi-agent-protocol/docs/agentic-mesh-integration-draft.md +0 -459
  367. package/references/multi-agent-protocol/docs/git-transport-draft.md +0 -251
  368. package/references/multi-agent-protocol/docs-site/Gemfile +0 -22
  369. package/references/multi-agent-protocol/docs-site/README.md +0 -82
  370. package/references/multi-agent-protocol/docs-site/_config.yml +0 -91
  371. package/references/multi-agent-protocol/docs-site/_includes/head_custom.html +0 -20
  372. package/references/multi-agent-protocol/docs-site/_sass/color_schemes/map.scss +0 -42
  373. package/references/multi-agent-protocol/docs-site/_sass/custom/custom.scss +0 -34
  374. package/references/multi-agent-protocol/docs-site/examples/full-integration.md +0 -510
  375. package/references/multi-agent-protocol/docs-site/examples/index.md +0 -138
  376. package/references/multi-agent-protocol/docs-site/examples/simple-chat.md +0 -282
  377. package/references/multi-agent-protocol/docs-site/examples/task-queue.md +0 -399
  378. package/references/multi-agent-protocol/docs-site/getting-started/index.md +0 -98
  379. package/references/multi-agent-protocol/docs-site/getting-started/installation.md +0 -219
  380. package/references/multi-agent-protocol/docs-site/getting-started/overview.md +0 -172
  381. package/references/multi-agent-protocol/docs-site/getting-started/quickstart.md +0 -237
  382. package/references/multi-agent-protocol/docs-site/index.md +0 -136
  383. package/references/multi-agent-protocol/docs-site/protocol/authentication.md +0 -391
  384. package/references/multi-agent-protocol/docs-site/protocol/connection-model.md +0 -376
  385. package/references/multi-agent-protocol/docs-site/protocol/design.md +0 -284
  386. package/references/multi-agent-protocol/docs-site/protocol/error-handling.md +0 -312
  387. package/references/multi-agent-protocol/docs-site/protocol/federation.md +0 -449
  388. package/references/multi-agent-protocol/docs-site/protocol/index.md +0 -129
  389. package/references/multi-agent-protocol/docs-site/protocol/permissions.md +0 -398
  390. package/references/multi-agent-protocol/docs-site/protocol/streaming.md +0 -353
  391. package/references/multi-agent-protocol/docs-site/protocol/wire-protocol.md +0 -369
  392. package/references/multi-agent-protocol/docs-site/sdk/api/agent.md +0 -357
  393. package/references/multi-agent-protocol/docs-site/sdk/api/client.md +0 -380
  394. package/references/multi-agent-protocol/docs-site/sdk/api/index.md +0 -62
  395. package/references/multi-agent-protocol/docs-site/sdk/api/server.md +0 -453
  396. package/references/multi-agent-protocol/docs-site/sdk/api/types.md +0 -468
  397. package/references/multi-agent-protocol/docs-site/sdk/guides/agent.md +0 -375
  398. package/references/multi-agent-protocol/docs-site/sdk/guides/authentication.md +0 -405
  399. package/references/multi-agent-protocol/docs-site/sdk/guides/client.md +0 -352
  400. package/references/multi-agent-protocol/docs-site/sdk/guides/index.md +0 -89
  401. package/references/multi-agent-protocol/docs-site/sdk/guides/server.md +0 -360
  402. package/references/multi-agent-protocol/docs-site/sdk/guides/testing.md +0 -446
  403. package/references/multi-agent-protocol/docs-site/sdk/guides/transports.md +0 -363
  404. package/references/multi-agent-protocol/docs-site/sdk/index.md +0 -206
  405. package/references/multi-agent-protocol/package-lock.json +0 -3886
  406. package/references/multi-agent-protocol/package.json +0 -56
  407. package/references/multi-agent-protocol/schema/meta.json +0 -467
  408. package/references/multi-agent-protocol/schema/schema.json +0 -2558
package/README.md CHANGED
@@ -6,14 +6,19 @@ A multi-agent orchestration system for spawning and managing hierarchical Claude
6
6
 
7
7
  - **Hierarchical Agent Management** - Head manager spawns and coordinates child agents
8
8
  - **Role-Based Agents** - Worker, Integrator, Coordinator, and Monitor roles with distinct capabilities
9
+ - **Team Templates** - Declarative YAML-based team configurations for multi-agent topologies
10
+ - **Pluggable Integration Strategies** - Queue, trunk, or optimistic merge strategies
9
11
  - **Workspace Isolation** - Each worker gets isolated git worktrees to prevent conflicts
10
12
  - **Merge Queue** - Serialized integration of worker changes with conflict resolution
11
13
  - **Event-Sourced State** - All state changes persisted via append-only event log
12
14
  - **Real-time Communication** - WebSocket subscriptions for live updates
13
15
  - **MCP Tool Integration** - Agents communicate via Model Context Protocol tools
14
- - **Task Lifecycle** - Create, assign, and track tasks across agents
15
- - **Message Routing** - Direct, broadcast, and role-based message delivery with priority
16
+ - **Task Lifecycle** - Create, assign, and track tasks with push or pull models
17
+ - **Message Routing** - Direct, broadcast, role-based, and topic-based message delivery with priority
18
+ - **Signal Filtering** - Per-role and per-peer signal filtering for status notifications
16
19
  - **Context Injection** - Push context into running agents without waiting for message checks
20
+ - **Session Continuations** - Auto-resume long-running agents across process restarts
21
+ - **Observability** - Throughput, utilization, and error metrics via REST API
17
22
  - **Sudocode Integration** - Optional issue tracking with dependency management
18
23
 
19
24
  ## Sudocode Integration
@@ -37,6 +42,44 @@ With sudocode enabled:
37
42
 
38
43
  See [docs/sudocode-integration.md](docs/sudocode-integration.md) for full documentation.
39
44
 
45
+ ## Team Templates
46
+
47
+ Teams define multi-agent topologies as YAML configuration. A team template specifies which roles to spawn, how they communicate, and what integration strategy to use.
48
+
49
+ ```bash
50
+ # Start with a team template
51
+ npx multiagent --team self-driving
52
+
53
+ # Or set in project config (.macro-agent/config.json)
54
+ echo '{ "team": "self-driving" }' > .macro-agent/config.json
55
+ npx multiagent
56
+ ```
57
+
58
+ Teams are stored in `.macro-agent/teams/<name>/`:
59
+
60
+ ```
61
+ .macro-agent/teams/self-driving/
62
+ ├── team.yaml # Team manifest (topology, communication, strategy)
63
+ ├── roles/
64
+ │ ├── planner.yaml # Custom role (extends coordinator)
65
+ │ ├── grinder.yaml # Custom role (extends worker)
66
+ │ └── judge.yaml # Custom role (extends monitor)
67
+ └── prompts/
68
+ ├── planner.md # Role-specific system prompt
69
+ ├── grinder.md
70
+ └── judge.md
71
+ ```
72
+
73
+ Key team features:
74
+ - **Topology**: Root + companion agents spawned at bootstrap, with spawn rules for dynamic workers
75
+ - **Communication**: Topic-based channels with per-role signal filtering, peer-to-peer routing
76
+ - **Integration strategies**: `queue` (merge queue), `trunk` (direct push with rebase), `optimistic` (push + validation)
77
+ - **Task modes**: `push` (coordinator assigns) or `pull` (agents claim from pool)
78
+ - **Enforcement**: `strict` (reject violations), `permissive` (warn), or `audit` (record)
79
+ - **Session continuations**: Auto-resume daemon agents on unexpected stops
80
+
81
+ See [docs/teams.md](docs/teams.md) for the full schema reference and [docs/team-templates.md](docs/team-templates.md) for examples.
82
+
40
83
  ## Installation
41
84
 
42
85
  ```bash
@@ -51,6 +94,9 @@ npm install macro-agent
51
94
  # Start full server with ACP + MAP + REST API
52
95
  npx multiagent
53
96
 
97
+ # Start with a team template
98
+ npx multiagent --team self-driving
99
+
54
100
  # Custom port and host
55
101
  npx multiagent --port 8080 --host 0.0.0.0
56
102
  ```
@@ -224,6 +270,10 @@ Fallback chain: `inject()` → `interruptWith()` → high-priority message
224
270
  | `/api/events` | GET | List events |
225
271
  | `/api/conversation/message` | POST | Send message |
226
272
  | `/api/conversation/history` | GET | Get history |
273
+ | `/api/team` | GET | Active team info |
274
+ | `/api/metrics/throughput` | GET | Task completion rates |
275
+ | `/api/metrics/utilization` | GET | Agent counts by role/state |
276
+ | `/api/metrics/errors` | GET | Error tracking |
227
277
 
228
278
  ### WebSocket Channels
229
279
 
@@ -237,7 +287,7 @@ Fallback chain: `inject()` → `interruptWith()` → high-priority message
237
287
  | Tool | Description |
238
288
  |------|-------------|
239
289
  | `spawn_agent` | Spawn a child agent |
240
- | `emit_status` | Report status to parent |
290
+ | `emit_status` | Report status (with signal filtering and emission validation) |
241
291
  | `send_message` | Send message to another agent |
242
292
  | `check_messages` | Check message inbox |
243
293
  | `get_hierarchy` | View agent tree |
@@ -246,6 +296,9 @@ Fallback chain: `inject()` → `interruptWith()` → high-priority message
246
296
  | `create_task` | Create a new task |
247
297
  | `get_task` | Get task details |
248
298
  | `list_ready_tasks` | List tasks with no blockers |
299
+ | `claim_task` | Claim next available task (pull mode) |
300
+ | `unclaim_task` | Return claimed task to pool (pull mode) |
301
+ | `list_claimable_tasks` | List claimable tasks (pull mode) |
249
302
  | `done` | Signal task completion (role-specific) |
250
303
  | `inject_context` | Inject context into another agent |
251
304
  | `wait_for_activity` | Wait for system events (Monitor) |
@@ -279,6 +332,7 @@ npx multiagent --acp --cwd /path/to/project
279
332
  | `--port <port>` | Server port (default: 3001) |
280
333
  | `--host <host>` | Server host (default: localhost) |
281
334
  | `--cwd <path>` | Working directory for agents |
335
+ | `--team <name>` | Load team template from `.macro-agent/teams/<name>/` |
282
336
  | `--acp` | Stdio ACP-only mode (for embedded use with acp-factory) |
283
337
 
284
338
  ### Multi-Client Architecture
@@ -344,6 +398,7 @@ multiagent [options] Start the agent server (full mode by default)
344
398
  --port <port> Port (default: 3001)
345
399
  --host <host> Host (default: localhost)
346
400
  --cwd <path> Working directory
401
+ --team <name> Load team template
347
402
  --acp Stdio ACP-only mode (for acp-factory)
348
403
  ```
349
404
 
@@ -397,6 +452,8 @@ RUN_E2E_TESTS=true ANTHROPIC_API_KEY=xxx npm run test:e2e
397
452
 
398
453
  - [Architecture Overview](docs/architecture.md) - Full system architecture
399
454
  - [Configuration Reference](docs/configuration.md) - Environment variables and config options
455
+ - [Team Templates](docs/team-templates.md) - Team template format and examples
456
+ - [Team Schema Reference](docs/teams.md) - Full YAML schema reference
400
457
  - [Sudocode Integration](docs/sudocode-integration.md) - External issue tracking
401
458
  - [Troubleshooting Guide](docs/troubleshooting.md) - Common issues and solutions
402
459
 
@@ -169,6 +169,10 @@ export declare class MacroAgent implements Agent {
169
169
  * then calls the agent manager to cancel the pending permission.
170
170
  */
171
171
  private handleCancelPermission;
172
+ /**
173
+ * Resume a stopped/failed agent
174
+ */
175
+ private handleResumeAgent;
172
176
  /**
173
177
  * Extract text content from prompt content blocks
174
178
  */
@@ -1 +1 @@
1
- {"version":3,"file":"macro-agent.d.ts","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"macro-agent.d.ts","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ const SUPPORTED_EXTENSIONS = [
28
28
  "_macro/checkCapability",
29
29
  "_macro/respondToPermission",
30
30
  "_macro/cancelPermission",
31
+ "_macro/resume",
31
32
  ];
32
33
  // ─────────────────────────────────────────────────────────────────
33
34
  // MacroAgent Implementation
@@ -58,8 +59,13 @@ export class MacroAgent {
58
59
  this.peerManager = config.peerManager;
59
60
  this.capabilityManager = config.capabilityManager;
60
61
  this.roleRegistry = config.roleRegistry ?? new DefaultRoleRegistry();
61
- this.sessionMapper = new SessionMapper();
62
+ this.sessionMapper = new SessionMapper(config.eventStore);
62
63
  this.defaultCwd = config.defaultCwd ?? process.cwd();
64
+ // Recover persisted sessions from the EventStore
65
+ const recovered = this.sessionMapper.recoverFromStore();
66
+ if (recovered > 0) {
67
+ console.log(`[MacroAgent] Recovered ${recovered} session(s) from EventStore`);
68
+ }
63
69
  }
64
70
  // ─────────────────────────────────────────────────────────────────
65
71
  // Core ACP Methods
@@ -121,8 +127,21 @@ export class MacroAgent {
121
127
  * Load an existing session from EventStore
122
128
  */
123
129
  async loadSession(params) {
124
- const acpSessionId = params.sessionId;
130
+ let acpSessionId = params.sessionId;
125
131
  const cwd = params.cwd ?? this.defaultCwd;
132
+ // Extension: If _meta.agentId provided, look up session from agent record
133
+ // This allows resuming a stopped head manager by MAP agent ID
134
+ // when the TUI doesn't know the ACP session ID
135
+ const metaAgentId = params._meta
136
+ ?.agentId;
137
+ if (metaAgentId) {
138
+ const agent = this.eventStore.getAgent(metaAgentId);
139
+ if (!agent) {
140
+ throw new Error(`Agent not found: ${metaAgentId}`);
141
+ }
142
+ acpSessionId = agent.session_id;
143
+ console.log(`[MacroAgent] loadSession: Resolved agentId ${metaAgentId} to session ${acpSessionId}`);
144
+ }
126
145
  // Try to find an existing head manager with this session ID
127
146
  const headManagers = this.agentManager.listHeadManagers();
128
147
  const existing = headManagers.find((hm) => hm.session_id === acpSessionId);
@@ -203,8 +222,8 @@ export class MacroAgent {
203
222
  await this.connection.sessionUpdate({
204
223
  sessionId: acpSessionId,
205
224
  update: {
206
- type: "agent_message_chunk",
207
- textChunk: `Error: ${errorMessage}`,
225
+ sessionUpdate: "agent_message_chunk",
226
+ content: { type: "text", text: `Error: ${errorMessage}` },
208
227
  },
209
228
  });
210
229
  return {
@@ -286,6 +305,8 @@ export class MacroAgent {
286
305
  return this.handleRespondToPermission(params);
287
306
  case "_macro/cancelPermission":
288
307
  return this.handleCancelPermission(params);
308
+ case "_macro/resume":
309
+ return this.handleResumeAgent(params);
289
310
  default:
290
311
  throw new ACPError(`Unknown extension method: ${method}`, "INVALID_EXTENSION");
291
312
  }
@@ -714,6 +735,31 @@ export class MacroAgent {
714
735
  };
715
736
  }
716
737
  }
738
+ /**
739
+ * Resume a stopped/failed agent
740
+ */
741
+ async handleResumeAgent(params) {
742
+ const { agentId } = params;
743
+ if (!agentId) {
744
+ throw new ACPError("agentId is required", "INVALID_EXTENSION");
745
+ }
746
+ // Verify agent exists
747
+ const agent = this.eventStore.getAgent(agentId);
748
+ if (!agent) {
749
+ throw new ACPError(`Agent not found: ${agentId}`, "AGENT_NOT_FOUND");
750
+ }
751
+ // Only resume stopped/failed agents
752
+ if (agent.state !== "stopped" && agent.state !== "failed") {
753
+ throw new ACPError(`Agent ${agentId} is ${agent.state} — only stopped or failed agents can be resumed`, "INVALID_EXTENSION");
754
+ }
755
+ console.log(`[MacroAgent] Resuming agent ${agentId}`);
756
+ const spawned = await this.agentManager.resume(agentId);
757
+ return {
758
+ success: true,
759
+ agentId: spawned.id,
760
+ sessionId: spawned.session_id,
761
+ };
762
+ }
717
763
  // ─────────────────────────────────────────────────────────────────
718
764
  // Helper Methods
719
765
  // ─────────────────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"macro-agent.js","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAqCpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,oEAAoE;AACpE,qBAAqB;AACrB,oEAAoE;AAEpE,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,MAAM,oBAAoB,GAAyB;IACjD,mBAAmB;IACnB,qBAAqB;IACrB,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,wBAAwB;IACxB,wBAAwB;IACxB,2BAA2B;IAC3B,2BAA2B;IAC3B,wBAAwB;IACxB,yBAAyB;IACzB,wBAAwB;IACxB,wBAAwB;IACxB,4BAA4B;IAC5B,yBAAyB;CAC1B,CAAC;AA6BF,oEAAoE;AACpE,4BAA4B;AAC5B,oEAAoE;AAEpE;;;GAGG;AACH,MAAM,OAAO,UAAU;IACb,UAAU,CAAsB;IAChC,YAAY,CAAe;IAC3B,UAAU,CAAa;IACvB,WAAW,CAAc;IACzB,WAAW,CAA0B;IACrC,iBAAiB,CAAgC;IACjD,YAAY,CAAe;IAC3B,aAAa,CAAgB;IAC7B,UAAU,CAAS;IAE3B,4CAA4C;IACpC,UAAU,GAAyB,EAAE,CAAC;IAE9C,8DAA8D;IACtD,uBAAuB,GAC7B,IAAI,GAAG,EAAE,CAAC;IAEZ,YAAY,UAA+B,EAAE,MAAwB;QACnE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,mBAAmB,EAAE,CAAC;QACrE,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvD,CAAC;IAED,oEAAoE;IACpE,mBAAmB;IACnB,oEAAoE;IAEpE;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,MAAyB;QACxC,oDAAoD;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,KAA4C,CAAC;QACjE,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAmC,CAAC;YAE3D,gDAAgD;YAChD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,OAAO;YACL,eAAe,EAAE,gBAAgB;YACjC,iBAAiB,EAAE;gBACjB,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE;oBACL,UAAU,EAAE,oBAAoB;oBAChC,SAAS,EAAE,aAAa;oBACxB,wDAAwD;oBACxD,aAAa,EAAE,IAAI,CAAC,UAAU;iBAC/B;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAyB;QACxC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC;QAE1C,8CAA8C;QAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;QAC5D,MAAM,mBAAmB,GAAG,aAAa,EAAE,cAAc,CAAC;QAE1D,4CAA4C;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC;YAC7D,GAAG;YACH,QAAQ,EAAE,IAAI,EAAE,mCAAmC;YACnD,cAAc,EAAE,mBAAmB;YACnC,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE;SACvC,CAAC,CAAC;QAEH,yBAAyB;QACzB,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAE3D,2CAA2C;QAC3C,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,eAAe,EAAE,CAAC,CAAC;QAEtE,OAAO;YACL,SAAS,EAAE,YAAY;SACxB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAA0B;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC;QAE1C,4DAA4D;QAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,KAAK,YAAY,CAAC,CAAC;QAE3E,IAAI,QAAQ,EAAE,CAAC;YACb,mDAAmD;YACnD,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CACT,mCAAmC,QAAQ,CAAC,EAAE,sCAAsC,CACrF,CAAC;gBACF,2DAA2D;gBAC3D,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBACpD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,eAAe,EAAE,CAAC,CAAC;gBACxE,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,iDAAiD;YACjD,OAAO,CAAC,GAAG,CACT,oDAAoD,QAAQ,CAAC,EAAE,EAAE,CAClE,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAE5D,yBAAyB;YACzB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,eAAe,EAAE,CAAC,CAAC;YAEtE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,8EAA8E;QAC9E,OAAO,CAAC,GAAG,CACT,2DAA2D,YAAY,gBAAgB,CACxF,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC;YAC7D,GAAG;YACH,SAAS,EAAE,YAAY;SACxB,CAAC,CAAC;QAEH,yBAAyB;QACzB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,eAAe,EAAE,CAAC,CAAC;QAEtE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,OAA4B;QAE5B,6BAA6B;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAAqB;QAChC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;QAEtC,uBAAuB;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEnE,iCAAiC;QACjC,IAAI,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvD,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;YACxC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAClE,CAAC;QAED,6CAA6C;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEjE,qDAAqD;QACrD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,kCAAkC;YAClC,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CACjD,OAAO,EACP,cAAc,CACf,EAAE,CAAC;gBACF,yBAAyB;gBACzB,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnC,OAAO;wBACL,UAAU,EAAE,WAAW;qBACxB,CAAC;gBACJ,CAAC;gBAED,wCAAwC;gBACxC,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC;YAED,OAAO;gBACL,UAAU,EAAE,UAAU;aACvB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAgB;YAChB,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAE3D,+BAA+B;YAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;gBAClC,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE;oBACN,IAAI,EAAE,qBAAqB;oBAC3B,SAAS,EAAE,UAAU,YAAY,EAAE;iBACpC;aACF,CAAC,CAAC;YAEH,OAAO;gBACL,UAAU,EAAE,UAAU;aACvB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,yDAAyD;YACzD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAA0B;QACrC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;QAEtC,sBAAsB;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QAED,2CAA2C;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,iDAAiD;YACjD,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qDAAqD;YACrD,OAAO,CAAC,IAAI,CACV,wCAAwC,OAAO,GAAG,EAClD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACJ,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,oEAAoE;IACpE,oBAAoB;IACpB,oEAAoE;IAEpE;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,MAAc,EACd,MAA+B;QAE/B,wEAAwE;QACxE,iFAAiF;QACjF,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAuB,CAAC;QAE1F,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,mBAAmB;gBACtB,OAAO,IAAI,CAAC,gBAAgB,CAC1B,MAAsC,CACD,CAAC;YAE1C,KAAK,qBAAqB;gBACxB,OAAO,IAAI,CAAC,kBAAkB,CAC5B,MAAwC,CACH,CAAC;YAE1C,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,aAAa,CACvB,MAAmC,CACE,CAAC;YAE1C,KAAK,mBAAmB;gBACtB,OAAO,IAAI,CAAC,gBAAgB,CAC1B,MAAsC,CACD,CAAC;YAE1C,KAAK,kBAAkB;gBACrB,OAAO,IAAI,CAAC,eAAe,CACzB,MAAqC,CACA,CAAC;YAE1C,KAAK,wBAAwB;gBAC3B,OAAO,IAAI,CAAC,qBAAqB,CAC/B,MAA8C,CACT,CAAC;YAE1C,KAAK,wBAAwB;gBAC3B,OAAO,IAAI,CAAC,qBAAqB,CAC/B,MAA8C,CACT,CAAC;YAE1C,KAAK,2BAA2B;gBAC9B,OAAO,IAAI,CAAC,wBAAwB,CAClC,MAA8C,CACT,CAAC;YAE1C,KAAK,2BAA2B;gBAC9B,OAAO,IAAI,CAAC,wBAAwB,CAClC,MAA8C,CACT,CAAC;YAE1C,KAAK,wBAAwB;gBAC3B,OAAO,IAAI,CAAC,qBAAqB,CAC/B,MAA2C,CACN,CAAC;YAE1C,KAAK,yBAAyB;gBAC5B,OAAO,IAAI,CAAC,sBAAsB,CAChC,MAA4C,CACP,CAAC;YAE1C,KAAK,wBAAwB;gBAC3B,OAAO,IAAI,CAAC,qBAAqB,CAC/B,MAA2C,CACN,CAAC;YAE1C,KAAK,wBAAwB;gBAC3B,OAAO,IAAI,CAAC,qBAAqB,CAC/B,MAA2C,CACN,CAAC;YAE1C,KAAK,4BAA4B;gBAC/B,OAAO,IAAI,CAAC,yBAAyB,CACnC,MAA+C,CACV,CAAC;YAE1C,KAAK,yBAAyB;gBAC5B,OAAO,IAAI,CAAC,sBAAsB,CAChC,MAA4C,CACP,CAAC;YAE1C;gBACE,MAAM,IAAI,QAAQ,CAChB,6BAA6B,MAAM,EAAE,EACrC,mBAAmB,CACpB,CAAC;QACN,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,qBAAqB;IACrB,oEAAoE;IAEpE;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAC5B,MAAyB;QAEzB,oFAAoF;QACpF,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAE/B,6DAA6D;QAC7D,wDAAwD;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,+CAA+C;YAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;YAC1D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC;gBAC1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAE9D,oDAAoD;gBACpD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,IAAI,QAAQ,CAAC;gBAChD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,CAAC;oBACrE,MAAM,IAAI,QAAQ,CAChB,2BAA2B,UAAU,wCAAwC,SAAS,YAAY;wBAChG,wBAAwB,kBAAkB,EAAE,EAC9C,mBAAmB,EACnB;wBACE,QAAQ;wBACR,UAAU;wBACV,SAAS;wBACT,kBAAkB;qBACnB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAC3C,IAAI,CAAC,UAAU,CAAC,qBAAqB,EACrC,MAAM,CAAC,MAAM,CACd,CAAC;QAEF,qCAAqC;QACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC5C,IAAI,EAAE,MAAM,CAAC,gBAAgB;YAC7B,MAAM,EAAE,QAAQ,IAAI,IAAI;YACxB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,UAAU;YAC3C,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,IAAI,IAAI;YACxD,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM;YAC9B,cAAc,EAAE,YAAY,EAAE,cAAc;YAC5C,SAAS,EAAE,YAAY,EAAE,SAAS;YAClC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;SACzC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,EAAE;YACnB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,OAAQ;YAC9B,SAAS,EAAE,OAAO,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,SAAiB;QAC1C,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzC,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,kBAAkB,CAAC,YAAY,CAAC;YACzC,KAAK,YAAY;gBACf,OAAO,kBAAkB,CAAC,gBAAgB,CAAC;YAC7C,KAAK,SAAS;gBACZ,OAAO,kBAAkB,CAAC,aAAa,CAAC;YAC1C,KAAK,aAAa;gBAChB,4EAA4E;gBAC5E,gDAAgD;gBAChD,OAAO,kBAAkB,CAAC,YAAY,CAAC;YACzC;gBACE,8DAA8D;gBAC9D,OAAO,kBAAkB,CAAC,YAAY,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,MAA2B;QAE3B,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAErC,mDAAmD;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;YAC1D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,sCAAsC;gBACtC,OAAO;oBACL,SAAS,EAAE;wBACT,KAAK,EAAE,IAA0D;wBACjE,QAAQ,EAAE,EAAE;qBACb;oBACD,WAAW,EAAE,CAAC;oBACd,KAAK,EAAE,CAAC;iBACT,CAAC;YACJ,CAAC;YACD,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,CAAC;QAED,mCAAmC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAE9D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CAAC,oBAAoB,WAAW,EAAE,EAAE,iBAAiB,EAAE;gBACvE,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,SAAS,EAAE,SAAS,CAAC,IAAI;YACzB,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACzB,MAAsB;QAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,QAAQ,CAAC,mBAAmB,MAAM,CAAC,MAAM,EAAE,EAAE,gBAAgB,EAAE;gBACvE,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,IAAI;SACL,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,gBAAgB,CAC5B,MAAyB;QAEzB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAEtC,iCAAiC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,QAAQ,CAAC,oBAAoB,OAAO,EAAE,EAAE,iBAAiB,EAAE;gBACnE,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAChB,sBAAsB,SAAS,EAAE,EACjC,mBAAmB,EACnB,EAAE,SAAS,EAAE,CACd,CAAC;QACJ,CAAC;QAED,yCAAyC;QACzC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;QAExC,wCAAwC;QACxC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE7C,OAAO;YACL,SAAS;YACT,KAAK;YACL,eAAe;SAChB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,eAAe,CAC3B,MAAwB;QAExB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAEjC,yBAAyB;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,QAAQ,CAAC,oBAAoB,OAAO,EAAE,EAAE,iBAAiB,EAAE;gBACnE,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,4DAA4D;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,QAAQ,CAChB,wCAAwC,OAAO,EAAE,EACjD,oBAAoB,EACpB,EAAE,OAAO,EAAE,CACZ,CAAC;QACJ,CAAC;QAED,6DAA6D;QAC7D,sCAAsC;QACtC,+CAA+C;QAC/C,qDAAqD;QACrD,oEAAoE;QACpE,sDAAsD;QAEtD,MAAM,eAAe,GAAG,IAAI;YAC1B,CAAC,CAAC,YAAY,OAAO,KAAK,IAAI,EAAE;YAChC,CAAC,CAAC,YAAY,OAAO,KAAK,aAAa,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC;QAElE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC5C,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,aAAa,CAAC,MAAM,IAAI,IAAI;YACpC,GAAG,EAAE,IAAI,CAAC,UAAU;YACpB,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QAEH,yEAAyE;QACzE,4EAA4E;QAE5E,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,EAAE;YACtB,YAAY,EAAE,OAAO,CAAC,UAAU;YAChC,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,wCAAwC;IACxC,oEAAoE;IAEpE;;;;OAIG;IACK,KAAK,CAAC,qBAAqB,CACjC,MAAiC;QAEjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,QAAQ,CAChB,iDAAiD,EACjD,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAED,iEAAiE;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAC1D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,QAAQ,CAChB,0CAA0C,EAC1C,iBAAiB,CAClB,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,EAAE;gBAC5D,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,aAAa;oBAC5B,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE;oBACzC,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CAChB,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACxF,kBAAkB,EAClB,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,qBAAqB,CACjC,MAAiC;QAEjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,QAAQ,CAChB,iDAAiD,EACjD,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAED,iEAAiE;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAC1D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,QAAQ,CAChB,0CAA0C,EAC1C,iBAAiB,CAClB,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CACjD,cAAc,EACd,MAAM,CAAC,EAAE,EACT;gBACE,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CACF,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CAChB,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACxF,kBAAkB,EAClB,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,wBAAwB,CACpC,MAAiC;QAEjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,QAAQ,CAChB,iDAAiD,EACjD,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAED,wDAAwD;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAC/C,MAAM,CAAC,IAAI,EACX;YACE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,aAAa;gBAC5B,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE;gBACzC,CAAC,CAAC,SAAS;SACd,EACD,MAAM,CAAC,aAAa,CACrB,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,wBAAwB,CACpC,MAAiC;QAEjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,QAAQ,CAChB,iDAAiD,EACjD,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAED,2DAA2D;QAC3D,iDAAiD;QACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CACpD,MAAM,CAAC,IAAI,EACX;YACE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,EACD,MAAM,CAAC,aAAa,CACrB,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,oEAAoE;IACpE,gCAAgC;IAChC,oEAAoE;IAEpE;;OAEG;IACK,KAAK,CAAC,qBAAqB,CACjC,MAA8B;QAE9B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,QAAQ,CAChB,uDAAuD,EACvD,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAC/C,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,MAAM,EACb;YACE,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CACF,CAAC;QAEF,OAAO,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAClC,MAA+B;QAE/B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,QAAQ,CAChB,uDAAuD,EACvD,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAEhE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,qBAAqB,EAAE,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAC3D,MAAM,CAAC,MAAM,CACd;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CACjC,MAA8B;QAE9B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,QAAQ,CAChB,uDAAuD,EACvD,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO;gBACL,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;aACpE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE;SAC9D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CACjC,MAA8B;QAE9B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,QAAQ,CAChB,uDAAuD,EACvD,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CACjD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,CAChB;SACF,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,gCAAgC;IAChC,oEAAoE;IAEpE;;;;;OAKG;IACK,KAAK,CAAC,yBAAyB,CACrC,MAAkC;QAElC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAElD,uCAAuC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,+BAA+B,SAAS,EAAE;aAClD,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACnD,OAAO,EACP,SAAS,EACT,QAAQ,CACT,CAAC;QAEF,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CACT,wCAAwC,SAAS,gBAAgB,SAAS,SAAS,QAAQ,EAAE,CAC9F,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,mCAAmC,SAAS,cAAc,OAAO,EAAE;aAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,sBAAsB,CAClC,MAA+B;QAE/B,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAExC,uCAAuC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,+BAA+B,SAAS,EAAE;aAClD,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAEvE,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CACT,qCAAqC,SAAS,gBAAgB,SAAS,EAAE,CAC1E,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,+BAA+B,SAAS,cAAc,OAAO,EAAE;aACvE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,iBAAiB;IACjB,oEAAoE;IAEpE;;OAEG;IACK,qBAAqB,CAAC,MAA+B;QAC3D,8BAA8B;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM;iBACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACb,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;oBACpB,OAAO,KAAK,CAAC,IAAI,CAAC;gBACpB,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;iBACD,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,KAAK,CAAC,oBAAoB,CAChC,YAA0B,EAC1B,MAAe;QAEf,MAAM,aAAa,GAAG,MAAiC,CAAC;QAExD,+EAA+E;QAC/E,IAAI,CAAC,CAAC,eAAe,IAAI,aAAa,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CACV,2DAA2D,EAC3D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CACzC,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,aAAa,CAAC,aAAuB,CAAC;QAEzD,mEAAmE;QACnE,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,qBAAqB,CAAC;YAC3B,KAAK,qBAAqB,CAAC;YAC3B,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,OAEjB,CAAC;gBACd,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;gBACjC,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC,GAAG,CACT,2BAA2B,UAAU,KAAK,IAAI,CAAC,MAAM,aAAa,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAC3H,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,UAAU,GAAG,aAAa,CAAC,UAAoB,CAAC;gBACtD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAe,CAAC;gBAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,MAAgB,CAAC;gBAC9C,OAAO,CAAC,GAAG,CACT,yCAAyC,UAAU,YAAY,KAAK,aAAa,MAAM,EAAE,CAC1F,CAAC;gBACF,MAAM;YACR,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,UAAU,GAAG,aAAa,CAAC,UAAoB,CAAC;gBACtD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAgB,CAAC;gBAC9C,OAAO,CAAC,GAAG,CACT,gDAAgD,UAAU,YAAY,MAAM,EAAE,CAC/E,CAAC;gBACF,MAAM;YACR,CAAC;YAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,yFAAyF;gBACzF,6EAA6E;gBAE7E,kCAAkC;gBAClC,MAAM,OAAO,GAAG,aAcf,CAAC;gBAEF,iEAAiE;gBACjE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACjE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CACV,2CAA2C,OAAO,CAAC,SAAS,qCAAqC,CAClG,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,gDAAgD;gBAChD,iFAAiF;gBACjF,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;wBACvD,SAAS,EAAE,YAAY;wBACvB,QAAQ,EAAE;4BACR,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU;4BACvC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;4BAC7B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;4BAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;yBACpC;wBACD,OAAO,EAAE,OAAO,CAAC,OAAO;qBACzB,CAAC,CAAC;oBAEH,8DAA8D;oBAC9D,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;wBACrB,IACE,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,UAAU;4BACvC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EACzB,CAAC;4BACD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACnD,OAAO,EACP,OAAO,CAAC,SAAS,EACjB,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAC1B,CAAC;4BACF,IAAI,CAAC,OAAO,EAAE,CAAC;gCACb,OAAO,CAAC,IAAI,CACV,+DAA+D,OAAO,EAAE,CACzE,CAAC;4BACJ,CAAC;wBACH,CAAC;6BAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;4BACpD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAChD,OAAO,EACP,OAAO,CAAC,SAAS,CAClB,CAAC;4BACF,IAAI,CAAC,OAAO,EAAE,CAAC;gCACb,OAAO,CAAC,IAAI,CACV,sDAAsD,OAAO,EAAE,CAChE,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CACX,oDAAoD,EACpD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;oBACF,yCAAyC;oBACzC,IAAI,CAAC;wBACH,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;oBACjE,CAAC;oBAAC,MAAM,CAAC;wBACP,uBAAuB;oBACzB,CAAC;gBACH,CAAC;gBACD,wEAAwE;gBACxE,OAAO;YACT,CAAC;YAED;gBACE,wCAAwC;gBACxC,OAAO,CAAC,GAAG,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,uFAAuF;QACvF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;gBAClC,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,kCAAkC,UAAU,GAAG,EAC/C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnE,IAAI,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CACzB,QAAyB,EACzB,QAAyB;QAEzB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,6CAA6C;QAC7C,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;YACvC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;YACnD,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW;YACzD,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc;YAClE,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;YACnD,gEAAgE;YAChE,GAAG,EACD,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG;gBAC1B,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE;gBACtC,CAAC,CAAC,SAAS;YACf,sDAAsD;YACtD,UAAU,EACR,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;iBAC7D,MAAM,GAAG,CAAC;gBACX,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;gBAClE,CAAC,CAAC,SAAS;SAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,MAAuB;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC9C,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,YAAY;IACZ,oEAAoE;IAEpE;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,YAA0B;QACzC,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"macro-agent.js","sourceRoot":"","sources":["../../src/acp/macro-agent.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,18 @@
6
6
  * - Default mapping to head manager on session creation
7
7
  * - Remapping via mount to control different agents
8
8
  * - Multiple concurrent sessions with independent mappings
9
+ * - Persistent session lifecycle events via EventStore
10
+ * - Recovery of session state from EventStore after restart
9
11
  */
10
12
  import type { AgentId } from "../store/types/index.js";
13
+ import type { EventStore } from "../store/event-store.js";
11
14
  import type { ACPSessionId, SessionMapping } from "./types.js";
12
15
  export declare class SessionMapper {
13
16
  /** Map of ACP session ID to mapping info */
14
17
  private mappings;
18
+ /** Optional EventStore for persisting session lifecycle events */
19
+ private eventStore;
20
+ constructor(eventStore?: EventStore);
15
21
  /**
16
22
  * Register a new ACP session with its head manager
17
23
  *
@@ -85,7 +91,7 @@ export declare class SessionMapper {
85
91
  */
86
92
  isMounted(acpSessionId: ACPSessionId): boolean;
87
93
  /**
88
- * Remove a session mapping
94
+ * Remove a session mapping and emit a close event
89
95
  *
90
96
  * @param acpSessionId - The ACP session ID
91
97
  * @returns True if removed, false if not found
@@ -125,6 +131,15 @@ export declare class SessionMapper {
125
131
  sessionId: ACPSessionId;
126
132
  lastProcessingChangeAt: number;
127
133
  } | undefined;
134
+ /**
135
+ * Recover session mappings from the EventStore.
136
+ *
137
+ * Loads all non-closed sessions and rebuilds the in-memory mapping state.
138
+ * Called during initialization to restore sessions after a restart.
139
+ *
140
+ * @returns Number of sessions recovered
141
+ */
142
+ recoverFromStore(): number;
128
143
  /**
129
144
  * Get the number of active session mappings
130
145
  */
@@ -133,5 +148,9 @@ export declare class SessionMapper {
133
148
  * Clear all session mappings
134
149
  */
135
150
  clear(): void;
151
+ /**
152
+ * Emit a session lifecycle event to the EventStore
153
+ */
154
+ private emitSessionEvent;
136
155
  }
137
156
  //# sourceMappingURL=session-mapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-mapper.d.ts","sourceRoot":"","sources":["../../src/acp/session-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG/D,qBAAa,aAAa;IACxB,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAgD;IAEhE;;;;;;OAMG;IACH,aAAa,CACX,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,OAAO,GACrB,cAAc;IAiBjB;;;;;OAKG;IACH,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS;IAIlE;;;;;;OAMG;IACH,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,cAAc;IAY7D;;;;;OAKG;IACH,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,GAAG,SAAS;IAI3D;;;;;;OAMG;IACH,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAKtD;;;;;OAKG;IACH,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,GAAG,SAAS;IAIjE;;;;;;;;;;OAUG;IACH,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAW5D;;;;;;OAMG;IACH,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAW5C;;;;;OAKG;IACH,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAI9C;;;;;OAKG;IACH,aAAa,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAIlD;;;;OAIG;IACH,cAAc,IAAI,cAAc,EAAE;IAIlC;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE;IAUrD;;;;;;;;OAQG;IACH,aAAa,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,GAAG,IAAI;IAStE;;;;;OAKG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,YAAY,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAalI;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"session-mapper.d.ts","sourceRoot":"","sources":["../../src/acp/session-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG/D,qBAAa,aAAa;IACxB,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAgD;IAEhE,kEAAkE;IAClE,OAAO,CAAC,UAAU,CAAoB;gBAE1B,UAAU,CAAC,EAAE,UAAU;IAInC;;;;;;OAMG;IACH,aAAa,CACX,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,OAAO,GACrB,cAAc;IAuBjB;;;;;OAKG;IACH,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS;IAIlE;;;;;;OAMG;IACH,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,cAAc;IAY7D;;;;;OAKG;IACH,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,GAAG,SAAS;IAI3D;;;;;;OAMG;IACH,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAKtD;;;;;OAKG;IACH,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,GAAG,SAAS;IAIjE;;;;;;;;;;OAUG;IACH,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAwB5D;;;;;;OAMG;IACH,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAgB5C;;;;;OAKG;IACH,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAI9C;;;;;OAKG;IACH,aAAa,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IASlD;;;;OAIG;IACH,cAAc,IAAI,cAAc,EAAE;IAIlC;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE;IAUrD;;;;;;;;OAQG;IACH,aAAa,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,GAAG,IAAI;IAStE;;;;;OAKG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,YAAY,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAalI;;;;;;;OAOG;IACH,gBAAgB,IAAI,MAAM;IA6B1B;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,OAAO,CAAC,gBAAgB;CA2BzB"}
@@ -6,11 +6,18 @@
6
6
  * - Default mapping to head manager on session creation
7
7
  * - Remapping via mount to control different agents
8
8
  * - Multiple concurrent sessions with independent mappings
9
+ * - Persistent session lifecycle events via EventStore
10
+ * - Recovery of session state from EventStore after restart
9
11
  */
10
12
  import { ACPError } from "./types.js";
11
13
  export class SessionMapper {
12
14
  /** Map of ACP session ID to mapping info */
13
15
  mappings = new Map();
16
+ /** Optional EventStore for persisting session lifecycle events */
17
+ eventStore;
18
+ constructor(eventStore) {
19
+ this.eventStore = eventStore ?? null;
20
+ }
14
21
  /**
15
22
  * Register a new ACP session with its head manager
16
23
  *
@@ -31,6 +38,10 @@ export class SessionMapper {
31
38
  lastProcessingChangeAt: now,
32
39
  };
33
40
  this.mappings.set(acpSessionId, mapping);
41
+ // Persist session creation event
42
+ this.emitSessionEvent("created", acpSessionId, {
43
+ head_manager_id: headManagerId,
44
+ });
34
45
  return mapping;
35
46
  }
36
47
  /**
@@ -102,6 +113,19 @@ export class SessionMapper {
102
113
  mapping.agentId = agentId;
103
114
  mapping.isMounted = agentId !== mapping.headManagerId;
104
115
  mapping.updatedAt = Date.now();
116
+ // Persist mount event
117
+ if (mapping.isMounted) {
118
+ this.emitSessionEvent("mounted", acpSessionId, {
119
+ target_agent_id: agentId,
120
+ previous_agent_id: previousAgentId,
121
+ });
122
+ }
123
+ else {
124
+ // Mounting back to head manager is effectively an unmount
125
+ this.emitSessionEvent("unmounted", acpSessionId, {
126
+ previous_agent_id: previousAgentId,
127
+ });
128
+ }
105
129
  return previousAgentId;
106
130
  }
107
131
  /**
@@ -117,6 +141,10 @@ export class SessionMapper {
117
141
  mapping.agentId = mapping.headManagerId;
118
142
  mapping.isMounted = false;
119
143
  mapping.updatedAt = Date.now();
144
+ // Persist unmount event
145
+ this.emitSessionEvent("unmounted", acpSessionId, {
146
+ previous_agent_id: previousAgentId,
147
+ });
120
148
  return previousAgentId;
121
149
  }
122
150
  /**
@@ -129,12 +157,17 @@ export class SessionMapper {
129
157
  return this.mappings.get(acpSessionId)?.isMounted ?? false;
130
158
  }
131
159
  /**
132
- * Remove a session mapping
160
+ * Remove a session mapping and emit a close event
133
161
  *
134
162
  * @param acpSessionId - The ACP session ID
135
163
  * @returns True if removed, false if not found
136
164
  */
137
165
  removeMapping(acpSessionId) {
166
+ const existed = this.mappings.has(acpSessionId);
167
+ if (existed) {
168
+ // Persist close event before removing
169
+ this.emitSessionEvent("closed", acpSessionId, {});
170
+ }
138
171
  return this.mappings.delete(acpSessionId);
139
172
  }
140
173
  /**
@@ -195,6 +228,39 @@ export class SessionMapper {
195
228
  }
196
229
  return undefined;
197
230
  }
231
+ /**
232
+ * Recover session mappings from the EventStore.
233
+ *
234
+ * Loads all non-closed sessions and rebuilds the in-memory mapping state.
235
+ * Called during initialization to restore sessions after a restart.
236
+ *
237
+ * @returns Number of sessions recovered
238
+ */
239
+ recoverFromStore() {
240
+ if (!this.eventStore || typeof this.eventStore.listSessions !== "function") {
241
+ return 0;
242
+ }
243
+ const activeSessions = this.eventStore.listSessions({ state: "active" });
244
+ const mountedSessions = this.eventStore.listSessions({ state: "mounted" });
245
+ const allSessions = [...activeSessions, ...mountedSessions];
246
+ let recovered = 0;
247
+ for (const session of allSessions) {
248
+ const now = Date.now();
249
+ const mapping = {
250
+ acpSessionId: session.id,
251
+ agentId: session.current_agent_id,
252
+ headManagerId: session.head_manager_id,
253
+ isMounted: session.state === "mounted",
254
+ createdAt: session.created_at,
255
+ updatedAt: now,
256
+ isProcessing: false,
257
+ lastProcessingChangeAt: now,
258
+ };
259
+ this.mappings.set(session.id, mapping);
260
+ recovered++;
261
+ }
262
+ return recovered;
263
+ }
198
264
  /**
199
265
  * Get the number of active session mappings
200
266
  */
@@ -207,5 +273,28 @@ export class SessionMapper {
207
273
  clear() {
208
274
  this.mappings.clear();
209
275
  }
276
+ /**
277
+ * Emit a session lifecycle event to the EventStore
278
+ */
279
+ emitSessionEvent(action, sessionId, details) {
280
+ if (!this.eventStore || typeof this.eventStore.emit !== "function") {
281
+ return;
282
+ }
283
+ try {
284
+ this.eventStore.emit({
285
+ type: "session",
286
+ source: {},
287
+ payload: {
288
+ action,
289
+ session_id: sessionId,
290
+ ...details,
291
+ },
292
+ });
293
+ }
294
+ catch (error) {
295
+ // Log but don't fail — session events are supplementary
296
+ console.warn(`[SessionMapper] Failed to emit session ${action} event:`, error instanceof Error ? error.message : String(error));
297
+ }
298
+ }
210
299
  }
211
300
  //# sourceMappingURL=session-mapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-mapper.js","sourceRoot":"","sources":["../../src/acp/session-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-mapper.js","sourceRoot":"","sources":["../../src/acp/session-mapper.ts"],"names":[],"mappings":"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"}