macro-agent 0.0.11 → 0.0.13

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 +5 -3
  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
@@ -0,0 +1,293 @@
1
+ /**
2
+ * Team Template Loader
3
+ *
4
+ * Reads .macro-agent/teams/<name>/ directories, parses team.yaml,
5
+ * resolves role inheritance, loads prompts, and validates communication.
6
+ *
7
+ * @module teams/team-loader
8
+ */
9
+ import * as fs from "fs";
10
+ import * as path from "path";
11
+ import yaml from "js-yaml";
12
+ import { TeamLoadError, } from "./types.js";
13
+ // =============================================================================
14
+ // Constants
15
+ // =============================================================================
16
+ const TEAMS_DIR = ".macro-agent/teams";
17
+ const MANIFEST_FILE = "team.yaml";
18
+ const ROLES_DIR = "roles";
19
+ const PROMPTS_DIR = "prompts";
20
+ const TOOLS_DIR = "tools";
21
+ const MCP_SERVERS_FILE = "mcp-servers.json";
22
+ // =============================================================================
23
+ // TeamLoader
24
+ // =============================================================================
25
+ /**
26
+ * Load a team template from disk and resolve all references.
27
+ *
28
+ * @param teamName - Team name (directory name under .macro-agent/teams/)
29
+ * @param roleRegistry - Role registry for resolving extends chains
30
+ * @param basePath - Project root (default: process.cwd())
31
+ * @returns Fully resolved TeamManifest
32
+ */
33
+ export async function loadTeam(teamName, roleRegistry, basePath) {
34
+ const root = basePath ?? process.cwd();
35
+ const teamDir = path.join(root, TEAMS_DIR, teamName);
36
+ // 1. Check team directory exists
37
+ if (!fs.existsSync(teamDir)) {
38
+ throw new TeamLoadError(`Team directory not found: ${teamDir}`, "MANIFEST_NOT_FOUND", teamName);
39
+ }
40
+ // 2. Read and parse team.yaml
41
+ const manifestPath = path.join(teamDir, MANIFEST_FILE);
42
+ if (!fs.existsSync(manifestPath)) {
43
+ throw new TeamLoadError(`Team manifest not found: ${manifestPath}`, "MANIFEST_NOT_FOUND", teamName);
44
+ }
45
+ const raw = fs.readFileSync(manifestPath, "utf-8");
46
+ let parsed;
47
+ try {
48
+ parsed = yaml.load(raw);
49
+ }
50
+ catch (err) {
51
+ throw new TeamLoadError(`Failed to parse ${manifestPath}: ${err instanceof Error ? err.message : String(err)}`, "INVALID_MANIFEST", teamName);
52
+ }
53
+ // 3. Validate required fields
54
+ validateManifest(parsed, teamName);
55
+ const topology = parsed.topology;
56
+ const communication = (parsed.communication ?? {});
57
+ const macroAgent = (parsed.macro_agent ?? {});
58
+ const roleNames = parsed.roles;
59
+ // 4. Resolve roles
60
+ const resolvedRoles = new Map();
61
+ const spawnRules = topology.spawn_rules ?? {};
62
+ for (const roleName of roleNames) {
63
+ const resolved = resolveTeamRole(roleName, teamDir, roleRegistry, spawnRules);
64
+ resolvedRoles.set(roleName, resolved);
65
+ }
66
+ // 5. Load prompts
67
+ const loadedPrompts = new Map();
68
+ // Load prompts from topology nodes
69
+ const promptRefs = collectPromptRefs(topology, resolvedRoles);
70
+ for (const promptPath of promptRefs) {
71
+ const fullPath = path.join(teamDir, promptPath);
72
+ if (!fs.existsSync(fullPath)) {
73
+ throw new TeamLoadError(`Prompt file not found: ${fullPath}`, "PROMPT_NOT_FOUND", teamName);
74
+ }
75
+ loadedPrompts.set(promptPath, fs.readFileSync(fullPath, "utf-8"));
76
+ }
77
+ // 6. Load MCP server configs
78
+ const mcpServers = loadMcpServers(teamDir);
79
+ // 7. Validate communication topology
80
+ validateCommunication(communication, roleNames, teamName);
81
+ return {
82
+ name: parsed.name,
83
+ description: parsed.description ?? "",
84
+ version: parsed.version ?? 1,
85
+ roles: roleNames,
86
+ topology,
87
+ communication,
88
+ macro_agent: macroAgent,
89
+ _resolvedRoles: resolvedRoles,
90
+ _loadedPrompts: loadedPrompts,
91
+ _mcpServers: mcpServers,
92
+ };
93
+ }
94
+ // =============================================================================
95
+ // Manifest Validation
96
+ // =============================================================================
97
+ function validateManifest(parsed, teamName) {
98
+ if (!parsed || typeof parsed !== "object") {
99
+ throw new TeamLoadError("Team manifest must be a YAML object", "INVALID_MANIFEST", teamName);
100
+ }
101
+ if (!parsed.name || typeof parsed.name !== "string") {
102
+ throw new TeamLoadError("Team manifest requires a 'name' string field", "INVALID_MANIFEST", teamName);
103
+ }
104
+ if (!Array.isArray(parsed.roles) || parsed.roles.length === 0) {
105
+ throw new TeamLoadError("Team manifest requires a non-empty 'roles' array", "INVALID_MANIFEST", teamName);
106
+ }
107
+ if (!parsed.topology || typeof parsed.topology !== "object") {
108
+ throw new TeamLoadError("Team manifest requires a 'topology' object", "INVALID_MANIFEST", teamName);
109
+ }
110
+ const topology = parsed.topology;
111
+ if (!topology.root || typeof topology.root !== "object") {
112
+ throw new TeamLoadError("Team topology requires a 'root' object", "INVALID_MANIFEST", teamName);
113
+ }
114
+ }
115
+ // =============================================================================
116
+ // Role Resolution
117
+ // =============================================================================
118
+ /**
119
+ * Resolve a single team role: load YAML if present, resolve extends,
120
+ * compute capabilities, translate spawn rules.
121
+ */
122
+ function resolveTeamRole(roleName, teamDir, roleRegistry, spawnRules) {
123
+ // Try to load role YAML from team directory
124
+ const roleFilePath = path.join(teamDir, ROLES_DIR, `${roleName}.yaml`);
125
+ let teamRoleDef = null;
126
+ if (fs.existsSync(roleFilePath)) {
127
+ const raw = fs.readFileSync(roleFilePath, "utf-8");
128
+ try {
129
+ teamRoleDef = yaml.load(raw);
130
+ }
131
+ catch (err) {
132
+ throw new TeamLoadError(`Failed to parse role file ${roleFilePath}: ${err instanceof Error ? err.message : String(err)}`, "INVALID_ROLE", roleName);
133
+ }
134
+ }
135
+ // Determine base role
136
+ const baseRoleName = teamRoleDef?.extends ?? roleName;
137
+ let parentRole;
138
+ try {
139
+ parentRole = roleRegistry.resolveRole(baseRoleName);
140
+ }
141
+ catch {
142
+ throw new TeamLoadError(`Base role '${baseRoleName}' not found for team role '${roleName}'`, "ROLE_NOT_FOUND", roleName);
143
+ }
144
+ // Compute capabilities
145
+ let capabilities;
146
+ if (teamRoleDef?.capabilities) {
147
+ // Full replacement
148
+ capabilities = teamRoleDef.capabilities;
149
+ }
150
+ else if (teamRoleDef?.capabilities_add || teamRoleDef?.capabilities_remove) {
151
+ // Additive/subtractive
152
+ const base = new Set(parentRole.capabilities);
153
+ for (const cap of teamRoleDef.capabilities_add ?? []) {
154
+ base.add(cap);
155
+ }
156
+ for (const cap of teamRoleDef.capabilities_remove ?? []) {
157
+ base.delete(cap);
158
+ }
159
+ capabilities = Array.from(base);
160
+ }
161
+ else {
162
+ // Inherit parent capabilities
163
+ capabilities = [...parentRole.capabilities];
164
+ }
165
+ // Translate spawn_rules into capability additions (RD3)
166
+ const allowedSpawns = spawnRules[roleName];
167
+ if (allowedSpawns) {
168
+ for (const targetRole of allowedSpawns) {
169
+ const spawnCap = `agent.spawn.${targetRole}`;
170
+ if (!capabilities.includes(spawnCap)) {
171
+ capabilities.push(spawnCap);
172
+ }
173
+ }
174
+ }
175
+ // Build the resolved RoleDefinition for registry
176
+ const roleDefinition = {
177
+ name: roleName,
178
+ displayName: teamRoleDef?.display_name ?? parentRole.displayName,
179
+ description: teamRoleDef?.description ?? parentRole.description,
180
+ capabilities,
181
+ workspace: teamRoleDef?.macro_agent?.workspace
182
+ ? {
183
+ type: (teamRoleDef.macro_agent.workspace.type ?? "own"),
184
+ branchPattern: teamRoleDef.macro_agent.workspace.branch_pattern,
185
+ cleanupOnTerminate: teamRoleDef.macro_agent.workspace.cleanup_on_terminate,
186
+ }
187
+ : parentRole.workspace,
188
+ lifecycle: teamRoleDef?.macro_agent?.lifecycle
189
+ ? {
190
+ type: (teamRoleDef.macro_agent.lifecycle.type ?? "ephemeral"),
191
+ cascadeTerminate: teamRoleDef.macro_agent.lifecycle.cascade_terminate,
192
+ selfCleanup: teamRoleDef.macro_agent.lifecycle.self_cleanup,
193
+ taskBound: teamRoleDef.macro_agent.lifecycle.task_bound,
194
+ parentBound: teamRoleDef.macro_agent.lifecycle.parent_bound,
195
+ maxDurationMs: teamRoleDef.macro_agent.lifecycle.max_duration_ms,
196
+ }
197
+ : parentRole.lifecycle,
198
+ tools: parentRole.tools,
199
+ protocol: parentRole.protocol,
200
+ permissions: parentRole.permissions,
201
+ extends: teamRoleDef?.extends,
202
+ systemPrompt: parentRole.systemPrompt,
203
+ };
204
+ return {
205
+ name: roleName,
206
+ baseRole: baseRoleName,
207
+ capabilities,
208
+ prompt: teamRoleDef?.prompt,
209
+ roleDefinition,
210
+ };
211
+ }
212
+ // =============================================================================
213
+ // Prompt Collection
214
+ // =============================================================================
215
+ /**
216
+ * Collect all prompt file paths referenced by topology and roles.
217
+ */
218
+ function collectPromptRefs(topology, resolvedRoles) {
219
+ const refs = new Set();
220
+ // From topology nodes
221
+ if (topology.root.prompt)
222
+ refs.add(topology.root.prompt);
223
+ for (const companion of topology.companions ?? []) {
224
+ if (companion.prompt)
225
+ refs.add(companion.prompt);
226
+ }
227
+ // From role definitions
228
+ for (const resolved of resolvedRoles.values()) {
229
+ if (resolved.prompt)
230
+ refs.add(resolved.prompt);
231
+ }
232
+ return refs;
233
+ }
234
+ // =============================================================================
235
+ // MCP Server Loading
236
+ // =============================================================================
237
+ /**
238
+ * Load tools/mcp-servers.json if it exists.
239
+ * Returns a map of role name → MCP server entries.
240
+ */
241
+ function loadMcpServers(teamDir) {
242
+ const result = new Map();
243
+ const mcpPath = path.join(teamDir, TOOLS_DIR, MCP_SERVERS_FILE);
244
+ if (!fs.existsSync(mcpPath)) {
245
+ return result;
246
+ }
247
+ const raw = fs.readFileSync(mcpPath, "utf-8");
248
+ const parsed = JSON.parse(raw);
249
+ for (const [roleName, config] of Object.entries(parsed)) {
250
+ if (config.servers && Array.isArray(config.servers)) {
251
+ result.set(roleName, config.servers);
252
+ }
253
+ }
254
+ return result;
255
+ }
256
+ // =============================================================================
257
+ // Communication Validation
258
+ // =============================================================================
259
+ /**
260
+ * Validate communication topology references.
261
+ */
262
+ function validateCommunication(communication, roleNames, teamName) {
263
+ const channels = communication.channels ?? {};
264
+ const channelNames = new Set(Object.keys(channels));
265
+ const roleNameSet = new Set(roleNames);
266
+ // Validate subscriptions reference existing channels and roles
267
+ for (const [roleName, subs] of Object.entries(communication.subscriptions ?? {})) {
268
+ if (!roleNameSet.has(roleName)) {
269
+ throw new TeamLoadError(`Subscription references unknown role '${roleName}'`, "INVALID_COMMUNICATION", teamName);
270
+ }
271
+ for (const sub of subs) {
272
+ if (!channelNames.has(sub.channel)) {
273
+ throw new TeamLoadError(`Role '${roleName}' subscribes to unknown channel '${sub.channel}'`, "INVALID_COMMUNICATION", teamName);
274
+ }
275
+ }
276
+ }
277
+ // Validate emissions reference existing roles
278
+ for (const roleName of Object.keys(communication.emissions ?? {})) {
279
+ if (!roleNameSet.has(roleName)) {
280
+ throw new TeamLoadError(`Emissions references unknown role '${roleName}'`, "INVALID_COMMUNICATION", teamName);
281
+ }
282
+ }
283
+ // Validate peer connections
284
+ for (const peer of communication.routing?.peers ?? []) {
285
+ if (!roleNameSet.has(peer.from)) {
286
+ throw new TeamLoadError(`Peer connection references unknown role '${peer.from}'`, "INVALID_COMMUNICATION", teamName);
287
+ }
288
+ if (!roleNameSet.has(peer.to)) {
289
+ throw new TeamLoadError(`Peer connection references unknown role '${peer.to}'`, "INVALID_COMMUNICATION", teamName);
290
+ }
291
+ }
292
+ }
293
+ //# sourceMappingURL=team-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-loader.js","sourceRoot":"","sources":["../../src/teams/team-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Team Runtime
3
+ *
4
+ * Wires a loaded TeamManifest into the running system: registers roles,
5
+ * sets up integration strategy, configures communication topology,
6
+ * and manages the team lifecycle.
7
+ *
8
+ * @module teams/team-runtime
9
+ */
10
+ import type { EventStore } from "../store/event-store.js";
11
+ import type { MessageRouter } from "../router/message-router.js";
12
+ import type { AgentManager } from "../agent/agent-manager.js";
13
+ import type { TeamManifest } from "./types.js";
14
+ import type { IntegrationStrategy } from "../workspace/strategies/types.js";
15
+ export interface TeamServices {
16
+ agentManager: AgentManager;
17
+ messageRouter: MessageRouter;
18
+ eventStore: EventStore;
19
+ }
20
+ export interface TeamBootstrapResult {
21
+ rootId: string;
22
+ companionIds: string[];
23
+ }
24
+ export declare class TeamRuntime {
25
+ private readonly manifest;
26
+ private readonly services;
27
+ private rootAgentId?;
28
+ private companionAgentIds;
29
+ private roleRegistry;
30
+ private lifecycleUnsubscribe?;
31
+ private integrationStrategy?;
32
+ /** Role name → spawned agent ID mapping (populated during bootstrap) */
33
+ private roleAgentMap;
34
+ /** Peer connections that couldn't be wired at bootstrap (target role not yet spawned) */
35
+ private pendingPeerRoutes;
36
+ /** Per-agent signal filters from peer connections. Key: "fromAgentId→toAgentId" */
37
+ private peerSignalFilters;
38
+ /** Reverse mapping: agent ID → role name (for signal filter lookups) */
39
+ private agentRoleMap;
40
+ /** Lifecycle unsubscribe for deferred peer wiring */
41
+ private peerWiringUnsubscribe?;
42
+ constructor(manifest: TeamManifest, services: TeamServices);
43
+ /**
44
+ * Wire team configuration into running services.
45
+ *
46
+ * 1. Register team roles into RoleRegistry
47
+ * 2. Store team_config event in EventStore (for MCP subprocess discovery)
48
+ * 3. Register spawn interceptor on AgentManager
49
+ */
50
+ initialize(): Promise<void>;
51
+ /**
52
+ * Spawn root and companion agents per the team topology.
53
+ */
54
+ bootstrap(): Promise<TeamBootstrapResult>;
55
+ /**
56
+ * Tear down team: remove spawn interceptor, stop continuation monitoring.
57
+ */
58
+ teardown(): Promise<void>;
59
+ /** Get task assignment mode */
60
+ getTaskMode(): "push" | "pull";
61
+ /** Get integration strategy name */
62
+ getStrategyName(): string;
63
+ /** Get the active manifest (for API) */
64
+ getManifest(): TeamManifest;
65
+ /** Get root agent ID (after bootstrap) */
66
+ getRootAgentId(): string | undefined;
67
+ /** Get companion agent IDs (after bootstrap) */
68
+ getCompanionAgentIds(): string[];
69
+ /** Get the instantiated integration strategy (after initialize) */
70
+ getIntegrationStrategy(): IntegrationStrategy | undefined;
71
+ /** Get signal filters for peer connections (for use by signal filtering - i-3o8g) */
72
+ getPeerSignalFilters(): ReadonlyMap<string, string[]>;
73
+ /**
74
+ * Monitor agent lifecycle events for auto-continuation of daemon agents.
75
+ *
76
+ * When a root or companion agent terminates unexpectedly and the team's
77
+ * lifecycle config enables continuations, automatically spawn a continuation.
78
+ */
79
+ private monitorContinuations;
80
+ /**
81
+ * Create the spawn interceptor that injects team context into spawn options.
82
+ */
83
+ private createSpawnInterceptor;
84
+ /**
85
+ * Get topic names a role should subscribe to based on communication config.
86
+ */
87
+ private getTopicsForRole;
88
+ /**
89
+ * Get MCP servers configured for a role.
90
+ */
91
+ private getMcpServersForRole;
92
+ /**
93
+ * Get the loaded prompt content for a role.
94
+ */
95
+ private getPromptForRole;
96
+ /**
97
+ * Get the prompt for a topology node (root or companion).
98
+ */
99
+ private getPromptForTopologyNode;
100
+ /**
101
+ * Generate interaction pattern injection sections based on team config.
102
+ */
103
+ private getInteractionPatterns;
104
+ /**
105
+ * Install a signal filter on the message router.
106
+ *
107
+ * Combines two filter sources:
108
+ * 1. Channel subscription filters (per-role, per-topic): from communication.subscriptions
109
+ * 2. Peer connection filters (per-agent-pair): from communication.routing.peers
110
+ *
111
+ * Status events with no details.signal always pass through (backwards compat).
112
+ */
113
+ private installSignalFilter;
114
+ /**
115
+ * Install emission validator on the message router.
116
+ * Checks whether an agent's emitted signal is in its role's allowed emissions list.
117
+ * Behavior depends on enforcement mode: strict (reject), permissive (warn), audit (record).
118
+ */
119
+ private installEmissionValidator;
120
+ /**
121
+ * Wire peer subscriptions from communication config.
122
+ * Falls back to legacy bidirectional subtree subs when no peers config exists.
123
+ */
124
+ private wirePeerRoutes;
125
+ /**
126
+ * Wire a single peer connection based on its `via` type.
127
+ */
128
+ private wireSinglePeerRoute;
129
+ /**
130
+ * Legacy bidirectional subtree subscriptions between root and companions.
131
+ * Used when no `routing.peers` config is defined (backwards compat).
132
+ */
133
+ private setupLegacyPeerSubscriptions;
134
+ /**
135
+ * Listen for agent spawns and wire pending peer routes when roles become available.
136
+ */
137
+ private setupDeferredPeerWiring;
138
+ }
139
+ //# sourceMappingURL=team-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-runtime.d.ts","sourceRoot":"","sources":["../../src/teams/team-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,2BAA2B,CAAC;AAIhF,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAM5E,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAMD,qBAAa,WAAW;IAuBpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAvB3B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,oBAAoB,CAAC,CAAa;IAC1C,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAElD,wEAAwE;IACxE,OAAO,CAAC,YAAY,CAA8B;IAElD,yFAAyF;IACzF,OAAO,CAAC,iBAAiB,CAAwB;IAEjD,mFAAmF;IACnF,OAAO,CAAC,iBAAiB,CAA+B;IAExD,wEAAwE;IACxE,OAAO,CAAC,YAAY,CAA8B;IAElD,qDAAqD;IACrD,OAAO,CAAC,qBAAqB,CAAC,CAAa;gBAGxB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY;IASzC;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmEjC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAkE/C;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB/B,+BAA+B;IAC/B,WAAW,IAAI,MAAM,GAAG,MAAM;IAI9B,oCAAoC;IACpC,eAAe,IAAI,MAAM;IAIzB,wCAAwC;IACxC,WAAW,IAAI,YAAY;IAI3B,0CAA0C;IAC1C,cAAc,IAAI,MAAM,GAAG,SAAS;IAIpC,gDAAgD;IAChD,oBAAoB,IAAI,MAAM,EAAE;IAIhC,mEAAmE;IACnE,sBAAsB,IAAI,mBAAmB,GAAG,SAAS;IAIzD,qFAAqF;IACrF,oBAAoB,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAQrD;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IA6C5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+D9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAWhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0C9B;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAuD3B;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA2ChC;;;OAGG;IACH,OAAO,CAAC,cAAc;IA8BtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkC3B;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAUpC;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAiChC"}