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
@@ -0,0 +1,166 @@
1
+ /**
2
+ * Metrics Module
3
+ *
4
+ * Computes throughput, utilization, and error metrics from EventStore data.
5
+ * No new events needed — aggregates existing spawn, terminate, task, and
6
+ * status events.
7
+ *
8
+ * @module metrics/metrics
9
+ */
10
+ // =============================================================================
11
+ // Implementation
12
+ // =============================================================================
13
+ /**
14
+ * Compute throughput metrics for a time window.
15
+ *
16
+ * @param eventStore - EventStore to query
17
+ * @param windowMs - Time window in milliseconds (default: 5 minutes)
18
+ */
19
+ export function getThroughputMetrics(eventStore, windowMs = 5 * 60 * 1000) {
20
+ const now = Date.now();
21
+ const windowStart = now - windowMs;
22
+ const taskEvents = eventStore.query({
23
+ type: "task",
24
+ after: windowStart,
25
+ });
26
+ let tasksCompleted = 0;
27
+ let tasksFailed = 0;
28
+ let tasksCreated = 0;
29
+ let totalCompletionTimeMs = 0;
30
+ let completedWithTime = 0;
31
+ for (const event of taskEvents) {
32
+ const action = event.payload?.action;
33
+ if (action === "created") {
34
+ tasksCreated++;
35
+ }
36
+ else if (action === "completed") {
37
+ tasksCompleted++;
38
+ // Try to compute completion time
39
+ const taskId = event.payload?.task_id;
40
+ if (taskId) {
41
+ const task = eventStore.getTask(taskId);
42
+ if (task?.created_at && task?.completed_at) {
43
+ totalCompletionTimeMs += task.completed_at - task.created_at;
44
+ completedWithTime++;
45
+ }
46
+ }
47
+ }
48
+ else if (action === "failed") {
49
+ tasksFailed++;
50
+ }
51
+ }
52
+ const windowMinutes = windowMs / 60000;
53
+ const completedPerMinute = windowMinutes > 0 ? tasksCompleted / windowMinutes : 0;
54
+ return {
55
+ tasksCompleted,
56
+ tasksFailed,
57
+ tasksCreated,
58
+ avgCompletionTimeMs: completedWithTime > 0
59
+ ? Math.round(totalCompletionTimeMs / completedWithTime)
60
+ : null,
61
+ completedPerMinute: Math.round(completedPerMinute * 100) / 100,
62
+ windowStart,
63
+ windowEnd: now,
64
+ };
65
+ }
66
+ /**
67
+ * Compute utilization metrics (current snapshot + window).
68
+ *
69
+ * @param eventStore - EventStore to query
70
+ * @param windowMs - Time window for spawn/stop counts (default: 5 minutes)
71
+ */
72
+ export function getUtilizationMetrics(eventStore, windowMs = 5 * 60 * 1000) {
73
+ const now = Date.now();
74
+ const windowStart = now - windowMs;
75
+ // Current agents
76
+ const allAgents = eventStore.listAgents();
77
+ const activeAgents = allAgents.filter((a) => a.state === "running" || a.state === "spawning");
78
+ // Agents by role
79
+ const agentsByRole = {};
80
+ for (const agent of activeAgents) {
81
+ const role = agent.role ?? "unknown";
82
+ agentsByRole[role] = (agentsByRole[role] ?? 0) + 1;
83
+ }
84
+ // Agents by state
85
+ const agentsByState = {};
86
+ for (const agent of allAgents) {
87
+ agentsByState[agent.state] = (agentsByState[agent.state] ?? 0) + 1;
88
+ }
89
+ // Count spawn and terminate events in window
90
+ const spawnEvents = eventStore.query({
91
+ type: "spawn",
92
+ after: windowStart,
93
+ });
94
+ const terminateEvents = eventStore.query({
95
+ type: "terminate",
96
+ after: windowStart,
97
+ });
98
+ return {
99
+ activeAgents: activeAgents.length,
100
+ totalSpawned: spawnEvents.length,
101
+ totalStopped: terminateEvents.length,
102
+ agentsByRole,
103
+ agentsByState,
104
+ };
105
+ }
106
+ /**
107
+ * Compute error metrics for a time window.
108
+ *
109
+ * @param eventStore - EventStore to query
110
+ * @param windowMs - Time window in milliseconds (default: 30 minutes)
111
+ * @param maxRecent - Maximum recent errors to return (default: 20)
112
+ */
113
+ export function getErrorMetrics(eventStore, windowMs = 30 * 60 * 1000, maxRecent = 20) {
114
+ const now = Date.now();
115
+ const windowStart = now - windowMs;
116
+ // Query status events that indicate errors
117
+ const statusEvents = eventStore.query({
118
+ type: "status",
119
+ after: windowStart,
120
+ });
121
+ const errors = [];
122
+ const errorsByType = {};
123
+ for (const event of statusEvents) {
124
+ const statusType = event.payload?.status_type;
125
+ if (statusType !== "failed")
126
+ continue;
127
+ const agentId = event.source?.agent_id ?? "unknown";
128
+ const summary = event.payload?.summary ?? "Unknown error";
129
+ const errorType = event.payload?.details?.signal ??
130
+ "agent_failed";
131
+ errors.push({
132
+ timestamp: event.timestamp,
133
+ agentId,
134
+ type: errorType,
135
+ summary,
136
+ });
137
+ errorsByType[errorType] = (errorsByType[errorType] ?? 0) + 1;
138
+ }
139
+ // Also count task failures
140
+ const taskEvents = eventStore.query({
141
+ type: "task",
142
+ after: windowStart,
143
+ });
144
+ for (const event of taskEvents) {
145
+ if (event.payload?.action !== "failed")
146
+ continue;
147
+ const agentId = event.source?.agent_id ?? "unknown";
148
+ const taskId = event.payload?.task_id ?? "unknown";
149
+ errors.push({
150
+ timestamp: event.timestamp,
151
+ agentId,
152
+ type: "task_failed",
153
+ summary: `Task ${taskId} failed`,
154
+ });
155
+ errorsByType["task_failed"] = (errorsByType["task_failed"] ?? 0) + 1;
156
+ }
157
+ // Sort by timestamp descending and limit
158
+ errors.sort((a, b) => b.timestamp - a.timestamp);
159
+ const recentErrors = errors.slice(0, maxRecent);
160
+ return {
161
+ totalErrors: errors.length,
162
+ errorsByType,
163
+ recentErrors,
164
+ };
165
+ }
166
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/metrics/metrics.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ export declare const TASK_CAPABILITIES: {
38
38
  ASSIGN: "task.assign";
39
39
  UPDATE: "task.update";
40
40
  CLOSE: "task.close";
41
+ CLAIM: "task.claim";
41
42
  };
42
43
  /** Execution capabilities */
43
44
  export declare const EXEC_CAPABILITIES: {
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/roles/capabilities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMhE,kCAAkC;AAClC,eAAO,MAAM,iBAAiB;;;;CAI7B,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,gBAAgB;;;;;;CAM5B,CAAC;AAEF,oCAAoC;AACpC,eAAO,MAAM,kBAAkB;;;;;;CAM9B,CAAC;AAEF,6BAA6B;AAC7B,eAAO,MAAM,sBAAsB;;;;CAIlC,CAAC;AAEF,mCAAmC;AACnC,eAAO,MAAM,iBAAiB;;;;;CAK7B,CAAC;AAEF,6BAA6B;AAC7B,eAAO,MAAM,iBAAiB;;;;;CAK7B,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,mBAAmB,EAAG,GAAY,CAAC;AAMhD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAqC3C,CAAC;AAEH;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,UAAU,CAE9E;AAMD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,iBAuCjC,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAUxC,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,UAAU,EAAE,EAC1B,YAAY,EAAE,MAAM,EAAE,GACrB,MAAM,EAAE,CAkBV;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAMT"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/roles/capabilities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMhE,kCAAkC;AAClC,eAAO,MAAM,iBAAiB;;;;CAI7B,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,gBAAgB;;;;;;CAM5B,CAAC;AAEF,oCAAoC;AACpC,eAAO,MAAM,kBAAkB;;;;;;CAM9B,CAAC;AAEF,6BAA6B;AAC7B,eAAO,MAAM,sBAAsB;;;;CAIlC,CAAC;AAEF,mCAAmC;AACnC,eAAO,MAAM,iBAAiB;;;;;;CAM7B,CAAC;AAEF,6BAA6B;AAC7B,eAAO,MAAM,iBAAiB;;;;;CAK7B,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,mBAAmB,EAAG,GAAY,CAAC;AAMhD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAsC3C,CAAC;AAEH;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,UAAU,CAE9E;AAMD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,iBAwCjC,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAUxC,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,UAAU,EAAE,EAC1B,YAAY,EAAE,MAAM,EAAE,GACrB,MAAM,EAAE,CAkBV;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAMT"}
@@ -40,6 +40,7 @@ export const TASK_CAPABILITIES = {
40
40
  ASSIGN: "task.assign",
41
41
  UPDATE: "task.update",
42
42
  CLOSE: "task.close",
43
+ CLAIM: "task.claim",
43
44
  };
44
45
  /** Execution capabilities */
45
46
  export const EXEC_CAPABILITIES = {
@@ -88,6 +89,7 @@ export const ALL_CAPABILITIES = new Set([
88
89
  TASK_CAPABILITIES.ASSIGN,
89
90
  TASK_CAPABILITIES.UPDATE,
90
91
  TASK_CAPABILITIES.CLOSE,
92
+ TASK_CAPABILITIES.CLAIM,
91
93
  // Exec
92
94
  EXEC_CAPABILITIES.COMMAND,
93
95
  EXEC_CAPABILITIES.BUILD,
@@ -139,6 +141,7 @@ export const CAPABILITY_TOOL_MAP = {
139
141
  [TASK_CAPABILITIES.ASSIGN]: ["sudocode_upsert_issue", "assign_task"],
140
142
  [TASK_CAPABILITIES.UPDATE]: ["sudocode_upsert_issue", "update_task"],
141
143
  [TASK_CAPABILITIES.CLOSE]: ["sudocode_upsert_issue", "close_task"],
144
+ [TASK_CAPABILITIES.CLAIM]: ["claim_task", "unclaim_task", "list_claimable_tasks"],
142
145
  // Execution operations
143
146
  [EXEC_CAPABILITIES.COMMAND]: ["bash"],
144
147
  [EXEC_CAPABILITIES.BUILD]: ["bash"],
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/roles/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/roles/capabilities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,kCAAkC;AAClC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,WAAoB;IAC1B,KAAK,EAAE,YAAqB;IAC5B,MAAM,EAAE,aAAsB;CAC/B,CAAC;AAEF,iCAAiC;AACjC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,YAAqB;IAC7B,KAAK,EAAE,WAAoB;IAC3B,IAAI,EAAE,UAAmB;IACzB,aAAa,EAAE,mBAA4B;IAC3C,aAAa,EAAE,mBAA4B;CAC5C,CAAC;AAEF,oCAAoC;AACpC,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,YAAY,EAAE,oBAA6B;IAC3C,gBAAgB,EAAE,wBAAiC;IACnD,aAAa,EAAE,qBAA8B;IAC7C,YAAY,EAAE,oBAA6B;IAC3C,SAAS,EAAE,iBAA0B;CACtC,CAAC;AAEF,6BAA6B;AAC7B,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,gBAAyB;IAC/B,UAAU,EAAE,sBAA+B;IAC3C,MAAM,EAAE,kBAA2B;CACpC,CAAC;AAEF,mCAAmC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,aAAsB;IAC9B,MAAM,EAAE,aAAsB;IAC9B,MAAM,EAAE,aAAsB;IAC9B,KAAK,EAAE,YAAqB;IAC5B,KAAK,EAAE,YAAqB;CAC7B,CAAC;AAEF,6BAA6B;AAC7B,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,cAAuB;IAChC,KAAK,EAAE,YAAqB;IAC5B,IAAI,EAAE,WAAoB;IAC1B,IAAI,EAAE,WAAoB;CAC3B,CAAC;AAEF,iCAAiC;AACjC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,UAAmB;IACzB,SAAS,EAAE,eAAwB;IACnC,SAAS,EAAE,eAAwB;CACpC,CAAC;AAEF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAY,CAAC;AAEhD,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAoB,IAAI,GAAG,CAAC;IACvD,OAAO;IACP,iBAAiB,CAAC,IAAI;IACtB,iBAAiB,CAAC,KAAK;IACvB,iBAAiB,CAAC,MAAM;IACxB,MAAM;IACN,gBAAgB,CAAC,MAAM;IACvB,gBAAgB,CAAC,KAAK;IACtB,gBAAgB,CAAC,IAAI;IACrB,gBAAgB,CAAC,aAAa;IAC9B,gBAAgB,CAAC,aAAa;IAC9B,QAAQ;IACR,kBAAkB,CAAC,YAAY;IAC/B,kBAAkB,CAAC,gBAAgB;IACnC,kBAAkB,CAAC,aAAa;IAChC,kBAAkB,CAAC,YAAY;IAC/B,kBAAkB,CAAC,SAAS;IAC5B,YAAY;IACZ,sBAAsB,CAAC,IAAI;IAC3B,sBAAsB,CAAC,UAAU;IACjC,sBAAsB,CAAC,MAAM;IAC7B,OAAO;IACP,iBAAiB,CAAC,MAAM;IACxB,iBAAiB,CAAC,MAAM;IACxB,iBAAiB,CAAC,MAAM;IACxB,iBAAiB,CAAC,KAAK;IACvB,iBAAiB,CAAC,KAAK;IACvB,OAAO;IACP,iBAAiB,CAAC,OAAO;IACzB,iBAAiB,CAAC,KAAK;IACvB,iBAAiB,CAAC,IAAI;IACtB,iBAAiB,CAAC,IAAI;IACtB,MAAM;IACN,gBAAgB,CAAC,IAAI;IACrB,gBAAgB,CAAC,SAAS;IAC1B,gBAAgB,CAAC,SAAS;IAC1B,WAAW;IACX,mBAAmB;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,OAAO,gBAAgB,CAAC,GAAG,CAAC,UAAwB,CAAC,CAAC;AACxD,CAAC;AAED,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,oDAAoD;IACpD,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAClD,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IAC5C,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,cAAc;IAEpD,4BAA4B;IAC5B,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;IACnC,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC;IAClC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;IACjC,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;IAC1C,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;IAE1C,oCAAoC;IACpC,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC;IAClD,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC,aAAa,CAAC;IACtD,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC;IACnD,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC;IAClD,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC;IAE9C,uBAAuB;IACvB,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;IAEvC,4DAA4D;IAC5D,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,uBAAuB,EAAE,aAAa,CAAC;IACpE,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,uBAAuB,EAAE,aAAa,CAAC;IACpE,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,uBAAuB,EAAE,aAAa,CAAC;IACpE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,EAAE,YAAY,CAAC;IAClE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,sBAAsB,CAAC;IAEjF,uBAAuB;IACvB,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC;IACrC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC;IACnC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;IAClC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;IAElC,4CAA4C;IAC5C,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,CAAC;IAChF,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,cAAc,CAAC;IAC9C,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,gBAAgB,CAAC;CACjD,CAAC;AAEF,gFAAgF;AAChF,2CAA2C;AAC3C,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAa;IAC5C,aAAa;IACb,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,UAAU;IACV,gBAAgB;IAChB,mBAAmB;IACnB,mBAAmB;IACnB,yBAAyB;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,YAA0B,EAC1B,YAAsB;IAEtB,2BAA2B;IAC3B,IAAI,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC/C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAsB,EACtB,QAAgB;IAEhB,IAAI,UAAU,KAAK,mBAAmB,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAClD,CAAC"}
@@ -15,7 +15,7 @@ export type AgentCapability = "agent.spawn.worker" | "agent.spawn.integrator" |
15
15
  /** Lifecycle capabilities */
16
16
  export type LifecycleCapability = "lifecycle.done" | "lifecycle.persistent" | "lifecycle.daemon";
17
17
  /** Task management capabilities (via TaskBackend, see s-8472) */
18
- export type TaskCapability = "task.create" | "task.assign" | "task.update" | "task.close";
18
+ export type TaskCapability = "task.create" | "task.assign" | "task.update" | "task.close" | "task.claim";
19
19
  /** Execution capabilities */
20
20
  export type ExecCapability = "exec.command" | "exec.build" | "exec.test" | "exec.lint";
21
21
  /** Communication capabilities */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/roles/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/roles/types.ts"],"names":[],"mappings":"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"}
@@ -113,7 +113,48 @@ export interface MessageRouter {
113
113
  * Supports late binding since mail services may be created after router.
114
114
  */
115
115
  setTurnRecorder(recorder: TurnRecorderCallback): void;
116
+ /**
117
+ * Set signal filter for status notification delivery.
118
+ * Called before delivering each status notification — return false to suppress.
119
+ * Supports late binding since TeamRuntime is created after router.
120
+ */
121
+ setSignalFilter(filter: SignalFilter): void;
122
+ /**
123
+ * Set emission validator for outbound status events.
124
+ * Called before emitting a status event — can reject, warn, or audit.
125
+ * Supports late binding since TeamRuntime is created after router.
126
+ */
127
+ setEmissionValidator(validator: EmissionValidator): void;
116
128
  }
129
+ /**
130
+ * Signal filter callback for status notification delivery.
131
+ * Return true to deliver, false to suppress.
132
+ *
133
+ * @param from - Agent emitting the status
134
+ * @param to - Agent that would receive the notification
135
+ * @param signal - Signal name from details.signal (undefined if not tagged)
136
+ */
137
+ export type SignalFilter = (from: AgentId, to: AgentId, signal: string | undefined) => boolean;
138
+ /**
139
+ * Emission validator result.
140
+ * - "allow": emit normally
141
+ * - "reject": block the emission (strict mode)
142
+ * - "warn": log warning but allow (permissive mode)
143
+ * - "audit": record audit event but allow (audit mode)
144
+ */
145
+ export type EmissionValidatorResult = {
146
+ action: "allow" | "reject" | "warn" | "audit";
147
+ message?: string;
148
+ };
149
+ /**
150
+ * Emission validator callback for outbound status events.
151
+ * Called with the emitting agent's ID and the signal name.
152
+ * Returns an action to take (allow, reject, warn, audit).
153
+ *
154
+ * @param agentId - Agent emitting the status
155
+ * @param signal - Signal name from details.signal (undefined if not tagged)
156
+ */
157
+ export type EmissionValidator = (agentId: AgentId, signal: string | undefined) => EmissionValidatorResult;
117
158
  /**
118
159
  * Callback invoked when a message determines a wake action
119
160
  */
@@ -1 +1 @@
1
- {"version":3,"file":"message-router.d.ts","sourceRoot":"","sources":["../../src/router/message-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EACV,OAAO,EAEP,OAAO,EAER,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAEV,eAAe,EACf,kBAAkB,EAClB,OAAO,EAEP,0BAA0B,EAC1B,iBAAiB,EAEjB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EAGnB,oBAAoB,EACpB,iBAAiB,EAEjB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAUpB,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAanB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAOpE;;GAEG;AACH,MAAM,WAAW,aAAa;IAK5B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEzE;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAM7C;;;OAGG;IACH,WAAW,CACT,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,eAAe,EAAE,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAMlD;;;OAGG;IACH,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAE/D;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAMnE;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAEpD;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAEtD;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAE9C;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAM5C;;;;;;OAMG;IACH,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAErE;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CACxB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,OAAO,KACf,IAAI,CAAC;AAEV;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,MAAM,GAAE,mBAAwB,GAC/B,aAAa,CAu5Bf"}
1
+ {"version":3,"file":"message-router.d.ts","sourceRoot":"","sources":["../../src/router/message-router.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,10 @@ export function createMessageRouter(eventStore, config = {}) {
58
58
  const federationHandler = config.federationHandler;
59
59
  // Turn recorder for conversation tracking (late-bound)
60
60
  let turnRecorder;
61
+ // Signal filter for status notification delivery (late-bound)
62
+ let signalFilter;
63
+ // Emission validator for outbound status events (late-bound)
64
+ let emissionValidator;
61
65
  // Track acknowledged messages: Map<agentId, Set<messageId>>
62
66
  const acknowledgedMessages = new Map();
63
67
  // ─────────────────────────────────────────────────────────────────
@@ -573,6 +577,33 @@ export function createMessageRouter(eventStore, config = {}) {
573
577
  }
574
578
  function emitStatus(request) {
575
579
  const { from, status_type, summary, details } = request;
580
+ // Check emission restrictions if validator installed
581
+ if (emissionValidator) {
582
+ const signal = details?.signal;
583
+ const result = emissionValidator(from.agent_id, signal);
584
+ if (result.action === "reject") {
585
+ // Strict mode: block the emission entirely
586
+ return;
587
+ }
588
+ if (result.action === "audit") {
589
+ // Audit mode: record audit event, then continue with emission
590
+ eventStore.emit({
591
+ type: "status",
592
+ source: { agent_id: "system" },
593
+ payload: {
594
+ status_type: "discovery",
595
+ summary: result.message ?? `Emission audit: agent ${from.agent_id} emitted signal '${signal}'`,
596
+ audit: {
597
+ type: "emission_violation",
598
+ agent_id: from.agent_id,
599
+ signal,
600
+ status_type,
601
+ },
602
+ },
603
+ });
604
+ }
605
+ // "warn" and "allow" proceed normally (warning is logged by the validator installer)
606
+ }
576
607
  // Emit status event to event store
577
608
  const event = eventStore.emit({
578
609
  type: "status",
@@ -586,15 +617,18 @@ export function createMessageRouter(eventStore, config = {}) {
586
617
  details,
587
618
  },
588
619
  });
589
- // Route to subtree subscribers
590
- routeStatusToSubtreeSubscribers(from.agent_id, {
620
+ const statusNotification = {
591
621
  agent_id: from.agent_id,
592
622
  task_id: from.task_id,
593
623
  status_type,
594
624
  summary,
595
625
  details,
596
626
  timestamp: event.timestamp,
597
- });
627
+ };
628
+ // Route to subtree subscribers (hierarchical: parents/ancestors)
629
+ const subtreeRecipients = routeStatusToSubtreeSubscribers(from.agent_id, statusNotification);
630
+ // Route to topic co-subscribers (non-hierarchical: peers sharing topics)
631
+ routeStatusToTopicSubscribers(from.agent_id, statusNotification, subtreeRecipients);
598
632
  }
599
633
  // ─────────────────────────────────────────────────────────────────
600
634
  // Message Retrieval
@@ -694,11 +728,13 @@ export function createMessageRouter(eventStore, config = {}) {
694
728
  /**
695
729
  * Route status event to subtree subscribers.
696
730
  * Parents who have subscribed to an agent's subtree receive status notifications.
731
+ * Returns the set of agents that were notified (for dedup with topic routing).
697
732
  */
698
733
  function routeStatusToSubtreeSubscribers(agentId, status) {
734
+ const notified = new Set();
699
735
  const agent = eventStore.getAgent(agentId);
700
736
  if (!agent)
701
- return;
737
+ return notified;
702
738
  // Find all agents with subtree subscription that includes this agent
703
739
  // This includes:
704
740
  // 1. Direct subtree subscription to this agent
@@ -727,16 +763,22 @@ export function createMessageRouter(eventStore, config = {}) {
727
763
  }
728
764
  }
729
765
  }
766
+ // Extract signal name from details (if tagged)
767
+ const statusSignal = status.details?.signal;
730
768
  // Send status notification to each subscriber
731
769
  for (const subscriberId of agentsToNotify) {
732
770
  // Skip self-notification
733
771
  if (subscriberId === agentId)
734
772
  continue;
773
+ // Apply signal filter if installed
774
+ if (signalFilter && !signalFilter(agentId, subscriberId, statusSignal)) {
775
+ continue;
776
+ }
735
777
  const statusContent = JSON.stringify({
736
778
  type: "status_notification",
737
779
  ...status,
738
780
  });
739
- eventStore.emit({
781
+ const event = eventStore.emit({
740
782
  type: "message",
741
783
  source: {
742
784
  agent_id: agentId,
@@ -749,11 +791,98 @@ export function createMessageRouter(eventStore, config = {}) {
749
791
  via: "subtree",
750
792
  },
751
793
  });
794
+ // Wake sleeping agents on status notifications
795
+ if (sessionChecker && wakeHandler) {
796
+ try {
797
+ const decision = getWakeDecisionWithHint(subscriberId, { priority: "normal" }, sessionChecker);
798
+ if (decision.shouldWake || decision.shouldInterrupt) {
799
+ wakeHandler(subscriberId, decision, event.id);
800
+ }
801
+ }
802
+ catch {
803
+ // Never fail status delivery due to wake errors
804
+ }
805
+ }
806
+ notified.add(subscriberId);
807
+ }
808
+ return notified;
809
+ }
810
+ /**
811
+ * Route status event to topic co-subscribers.
812
+ * Agents sharing topic subscriptions with the emitting agent receive status notifications.
813
+ * This enables non-hierarchical visibility: peers on the same topic see each other's status.
814
+ * Skips agents already notified via subtree routing to avoid duplicates.
815
+ */
816
+ function routeStatusToTopicSubscribers(agentId, status, alreadyNotified) {
817
+ // Find all topics the emitting agent is subscribed to
818
+ const subscriptions = eventStore.getSubscriptions(agentId);
819
+ const topicSubscriptions = subscriptions.filter((s) => s.type === "topic");
820
+ if (topicSubscriptions.length === 0)
821
+ return;
822
+ // Collect unique recipients across all shared topics
823
+ const topicRecipients = new Set();
824
+ for (const sub of topicSubscriptions) {
825
+ const subscribers = eventStore.getSubscribers({
826
+ type: "topic",
827
+ target: sub.target,
828
+ });
829
+ for (const subscriberId of subscribers) {
830
+ // Skip self and already-notified (from subtree routing)
831
+ if (subscriberId !== agentId && !alreadyNotified.has(subscriberId)) {
832
+ topicRecipients.add(subscriberId);
833
+ }
834
+ }
835
+ }
836
+ if (topicRecipients.size === 0)
837
+ return;
838
+ // Extract signal name from details (if tagged)
839
+ const statusSignal = status.details?.signal;
840
+ const statusContent = JSON.stringify({
841
+ type: "status_notification",
842
+ ...status,
843
+ });
844
+ // Deliver to each topic co-subscriber
845
+ for (const recipientId of topicRecipients) {
846
+ // Apply signal filter if installed
847
+ if (signalFilter && !signalFilter(agentId, recipientId, statusSignal)) {
848
+ continue;
849
+ }
850
+ const event = eventStore.emit({
851
+ type: "message",
852
+ source: {
853
+ agent_id: agentId,
854
+ },
855
+ target: {
856
+ agent_id: recipientId,
857
+ },
858
+ payload: {
859
+ content: statusContent,
860
+ via: "topic",
861
+ },
862
+ });
863
+ // Wake sleeping agents on status notifications
864
+ if (sessionChecker && wakeHandler) {
865
+ try {
866
+ const decision = getWakeDecisionWithHint(recipientId, { priority: "normal" }, sessionChecker);
867
+ if (decision.shouldWake || decision.shouldInterrupt) {
868
+ wakeHandler(recipientId, decision, event.id);
869
+ }
870
+ }
871
+ catch {
872
+ // Never fail status delivery due to wake errors
873
+ }
874
+ }
752
875
  }
753
876
  }
754
877
  function setTurnRecorder(recorder) {
755
878
  turnRecorder = recorder;
756
879
  }
880
+ function setSignalFilter(filter) {
881
+ signalFilter = filter;
882
+ }
883
+ function setEmissionValidator(validator) {
884
+ emissionValidator = validator;
885
+ }
757
886
  return {
758
887
  sendToAddress,
759
888
  emitStatus,
@@ -767,6 +896,8 @@ export function createMessageRouter(eventStore, config = {}) {
767
896
  getSubscribers,
768
897
  setupDefaultSubscriptions,
769
898
  setTurnRecorder,
899
+ setSignalFilter,
900
+ setEmissionValidator,
770
901
  };
771
902
  }
772
903
  //# sourceMappingURL=message-router.js.map