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
@@ -1,353 +0,0 @@
1
- ---
2
- title: Streaming
3
- parent: Protocol
4
- nav_order: 3
5
- description: "Event streaming, subscriptions, filtering, and replay"
6
- ---
7
-
8
- # Streaming Semantics
9
- {: .no_toc }
10
-
11
- System-wide event streaming, subscriptions, filtering, and replay.
12
- {: .fs-6 .fw-300 }
13
-
14
- ## Table of contents
15
- {: .no_toc .text-delta }
16
-
17
- 1. TOC
18
- {:toc}
19
-
20
- ---
21
-
22
- ## Design Goals
23
-
24
- 1. **System-wide visibility** - See all agent activity, not just one session
25
- 2. **Efficient filtering** - Subscribe only to relevant events
26
- 3. **Replay capability** - Catch up on missed events
27
- 4. **Backpressure handling** - Don't overwhelm slow consumers
28
- 5. **Ordered delivery** - Causal ordering where it matters
29
-
30
- ---
31
-
32
- ## Subscription Model
33
-
34
- ### Creating Subscriptions
35
-
36
- ```typescript
37
- {
38
- "jsonrpc": "2.0",
39
- "id": "sub_001",
40
- "method": "map/subscribe",
41
- "params": {
42
- "streams": ["messages", "state", "tasks"],
43
- "filter": {
44
- "agents": ["agent_worker_*"], // Glob pattern
45
- "roles": ["worker", "integrator"],
46
- "scopes": ["scope_active"]
47
- },
48
- "options": {
49
- "includeHistory": false,
50
- "bufferSize": 1000,
51
- "deliveryMode": "at-least-once"
52
- }
53
- }
54
- }
55
-
56
- // Response
57
- {
58
- "jsonrpc": "2.0",
59
- "id": "sub_001",
60
- "result": {
61
- "subscriptionId": "sub_a1b2c3",
62
- "streams": ["messages", "state", "tasks"],
63
- "effectiveFilter": { ... }
64
- }
65
- }
66
- ```
67
-
68
- ### Subscription Lifecycle
69
-
70
- ```mermaid
71
- stateDiagram-v2
72
- [*] --> inactive
73
- inactive --> active: subscribe
74
- active --> paused: pause
75
- paused --> active: resume
76
- active --> closed: unsubscribe
77
- paused --> closed: unsubscribe
78
- closed --> [*]
79
- ```
80
-
81
- ---
82
-
83
- ## Event Delivery
84
-
85
- ### Event Envelope
86
-
87
- ```typescript
88
- interface MAPStreamEventEnvelope {
89
- subscriptionId: string;
90
- sequence: number; // Monotonic within subscription
91
- timestamp: number; // Server timestamp
92
- event: MAPStreamEvent;
93
-
94
- // For ordering/dedup
95
- eventId: string; // Globally unique
96
- causedBy?: string[]; // Causal predecessors
97
- }
98
- ```
99
-
100
- ### Event Types
101
-
102
- #### Messaging Events
103
-
104
- ```typescript
105
- | { type: "message"; envelope: MAPEnvelope; receipts: MAPDeliveryReceipt[] }
106
- | { type: "message.ack"; messageId: string; agentId: string }
107
- | { type: "message.failed"; messageId: string; error: MAPError }
108
- ```
109
-
110
- #### Agent State Events
111
-
112
- ```typescript
113
- | { type: "agent.registered"; agent: MAPAgent }
114
- | { type: "agent.unregistered"; agentId: string; reason: string }
115
- | { type: "agent.state"; agentId: string; previous: string; current: string }
116
- | { type: "agent.updated"; agentId: string; changes: Partial<MAPAgent> }
117
- ```
118
-
119
- #### Task Events
120
-
121
- ```typescript
122
- | { type: "task.created"; task: MAPTask }
123
- | { type: "task.assigned"; taskId: string; agentId: string }
124
- | { type: "task.status"; taskId: string; previous: string; current: string }
125
- | { type: "task.completed"; taskId: string; result?: unknown }
126
- ```
127
-
128
- #### Scope Events
129
-
130
- ```typescript
131
- | { type: "scope.created"; scope: MAPScope }
132
- | { type: "scope.deleted"; scopeId: string }
133
- | { type: "scope.member.added"; scopeId: string; agentId: string }
134
- | { type: "scope.member.removed"; scopeId: string; agentId: string }
135
- ```
136
-
137
- #### System Events
138
-
139
- ```typescript
140
- | { type: "system.heartbeat"; timestamp: number }
141
- | { type: "system.capacity"; agents: number; maxAgents: number }
142
- ```
143
-
144
- ---
145
-
146
- ## Filtering
147
-
148
- ### Filter Syntax
149
-
150
- ```typescript
151
- interface MAPStreamFilter {
152
- // Agent filtering (OR within, AND across fields)
153
- agents?: string[]; // Glob patterns
154
- roles?: string[]; // Role names
155
- scopes?: string[]; // Scope IDs
156
-
157
- // Event filtering
158
- eventTypes?: string[]; // e.g., ["message", "task.*"]
159
- priorities?: MAPPriority[]; // For message events
160
-
161
- // Hierarchy filtering
162
- descendants?: string; // All descendants of agent
163
- ancestors?: string; // All ancestors of agent
164
- subtree?: string; // Agent and all descendants
165
- }
166
- ```
167
-
168
- ### Filter Examples
169
-
170
- **Single agent focus:**
171
- ```typescript
172
- { agents: ["agent_001"] }
173
- ```
174
-
175
- **Role-based:**
176
- ```typescript
177
- { roles: ["worker"], eventTypes: ["task.*"] }
178
- ```
179
-
180
- **Subtree observation:**
181
- ```typescript
182
- { subtree: "coordinator_001" }
183
- ```
184
-
185
- **High-priority messages only:**
186
- ```typescript
187
- { eventTypes: ["message"], priorities: ["urgent", "high"] }
188
- ```
189
-
190
- ---
191
-
192
- ## Replay
193
-
194
- ### Replay Request
195
-
196
- ```typescript
197
- {
198
- "jsonrpc": "2.0",
199
- "id": "replay_001",
200
- "method": "map/replay",
201
- "params": {
202
- // Time-based replay
203
- "from": 1706120000000,
204
- "to": 1706123456789,
205
-
206
- // OR event-based replay
207
- "afterEventId": "evt_x1y2z3",
208
-
209
- // Filter
210
- "filter": {
211
- "agents": ["agent_worker_*"],
212
- "eventTypes": ["task.*"]
213
- },
214
-
215
- // Options
216
- "options": {
217
- "limit": 1000,
218
- "order": "chronological",
219
- "includeSnapshots": true
220
- }
221
- }
222
- }
223
- ```
224
-
225
- ### Replay Response
226
-
227
- ```typescript
228
- {
229
- "jsonrpc": "2.0",
230
- "id": "replay_001",
231
- "result": {
232
- "events": [...],
233
- "snapshot": { ... }, // Initial state snapshot
234
- "hasMore": true,
235
- "cursor": "cursor_xyz" // For pagination
236
- }
237
- }
238
- ```
239
-
240
- ---
241
-
242
- ## Ordering Guarantees
243
-
244
- ### Within-Agent Ordering
245
-
246
- Events for a single agent are always delivered in causal order:
247
-
248
- ```
249
- Agent A: state=idle → state=busy → state=idle
250
- (seq 1) (seq 2) (seq 3)
251
- ```
252
-
253
- ### Cross-Agent Ordering
254
-
255
- Events across agents may be reordered unless causally related:
256
-
257
- ```
258
- Agent A: message sent ────────────────┐
259
-
260
- Agent B: message received → state=busy
261
-
262
- // The "message received" always comes after "message sent"
263
- // But unrelated events may interleave
264
- ```
265
-
266
- ### Ordering Modes
267
-
268
- ```typescript
269
- interface SubscriptionOptions {
270
- ordering:
271
- | "none" // No ordering guarantee (fastest)
272
- | "per-agent" // Ordered within each agent
273
- | "causal" // Full causal ordering (may have latency)
274
- | "total"; // Total ordering (highest latency)
275
- }
276
- ```
277
-
278
- ---
279
-
280
- ## Backpressure
281
-
282
- ### Client Flow Control
283
-
284
- ```typescript
285
- // Client acknowledges events (enables flow control)
286
- {
287
- "jsonrpc": "2.0",
288
- "method": "map/subscribe.ack",
289
- "params": {
290
- "subscriptionId": "sub_a1b2c3",
291
- "upToSequence": 100
292
- }
293
- }
294
- ```
295
-
296
- ### Overflow Handling
297
-
298
- When a client falls behind:
299
-
300
- ```typescript
301
- // Server notifies client of overflow
302
- {
303
- "jsonrpc": "2.0",
304
- "method": "map/subscription.overflow",
305
- "params": {
306
- "subscriptionId": "sub_a1b2c3",
307
- "eventsDropped": 150,
308
- "oldestDropped": "evt_x1y2z3",
309
- "newestDropped": "evt_a4b5c6",
310
- "recommendation": "reduce_filter_scope"
311
- }
312
- }
313
- ```
314
-
315
- ### Recovery Options
316
-
317
- 1. **Narrow filter** - Reduce the scope of events
318
- 2. **Increase buffer** - Request larger server-side buffer
319
- 3. **Replay missed** - Use replay API to catch up
320
- 4. **Accept loss** - Continue from current position
321
-
322
- ---
323
-
324
- ## Multiple Subscriptions
325
-
326
- Clients can maintain multiple concurrent subscriptions:
327
-
328
- ```typescript
329
- // Subscription 1: High-priority messages only
330
- const urgentSub = await client.subscribe({
331
- filter: { priorities: ["urgent", "high"] },
332
- streams: ["messages"]
333
- });
334
-
335
- // Subscription 2: All state changes
336
- const stateSub = await client.subscribe({
337
- filter: {},
338
- streams: ["state"]
339
- });
340
-
341
- // Subscription 3: Specific agent subtree
342
- const agentSub = await client.subscribe({
343
- filter: { subtree: "coordinator_001" },
344
- streams: ["messages", "state", "tasks"]
345
- });
346
- ```
347
-
348
- ---
349
-
350
- ## Next Steps
351
-
352
- - [Connection Model](./connection-model.html) - Connection lifecycle
353
- - [Error Handling](./error-handling.html) - Handling delivery failures
@@ -1,369 +0,0 @@
1
- ---
2
- title: Wire Protocol
3
- parent: Protocol
4
- nav_order: 2
5
- description: "JSON-RPC 2.0 wire format and transport bindings"
6
- ---
7
-
8
- # Wire Protocol
9
- {: .no_toc }
10
-
11
- JSON-RPC 2.0 message format, method namespacing, and transport bindings.
12
- {: .fs-6 .fw-300 }
13
-
14
- ## Table of contents
15
- {: .no_toc .text-delta }
16
-
17
- 1. TOC
18
- {:toc}
19
-
20
- ---
21
-
22
- ## Design Goals
23
-
24
- 1. **JSON-RPC 2.0 base** - Same foundation as ACP for tooling compatibility
25
- 2. **Bidirectional streaming** - Native support, not bolted on
26
- 3. **ACP downgrade path** - Graceful degradation to ACP-only clients
27
- 4. **Transport agnostic** - WebSocket, stdio, HTTP/SSE all viable
28
-
29
- ---
30
-
31
- ## Message Types
32
-
33
- MAP uses four message types over JSON-RPC:
34
-
35
- ### Request
36
-
37
- Expects a response:
38
-
39
- ```typescript
40
- interface MAPRequest {
41
- jsonrpc: "2.0";
42
- id: string | number;
43
- method: string;
44
- params?: unknown;
45
- }
46
- ```
47
-
48
- ### Response
49
-
50
- Reply to a request:
51
-
52
- ```typescript
53
- interface MAPResponse {
54
- jsonrpc: "2.0";
55
- id: string | number;
56
- result?: unknown;
57
- error?: MAPError;
58
- }
59
- ```
60
-
61
- ### Notification
62
-
63
- No response expected:
64
-
65
- ```typescript
66
- interface MAPNotification {
67
- jsonrpc: "2.0";
68
- method: string;
69
- params?: unknown;
70
- // Note: no 'id' field
71
- }
72
- ```
73
-
74
- ### Batch
75
-
76
- Multiple messages:
77
-
78
- ```typescript
79
- type MAPBatch = Array<MAPRequest | MAPNotification>;
80
- ```
81
-
82
- ---
83
-
84
- ## Method Namespacing
85
-
86
- ```
87
- map/ # Full MAP mode methods
88
- ├── connect
89
- ├── disconnect
90
- ├── send
91
- ├── subscribe
92
- ├── unsubscribe
93
- ├── agents/*
94
- ├── scopes/*
95
- ├── federation/*
96
- └── ...
97
-
98
- _map/ # ACP-compat mode (via extMethod)
99
- ├── agent.list
100
- ├── hierarchy.get
101
- ├── scope.list
102
- └── subscribe
103
- ```
104
-
105
- ---
106
-
107
- ## Protocol Phases
108
-
109
- ### Phase 1: Connection Establishment
110
-
111
- ```mermaid
112
- sequenceDiagram
113
- participant Client
114
- participant Server
115
-
116
- Client->>Server: Transport Connect
117
- Server-->>Client: Transport Accept
118
- ```
119
-
120
- ### Phase 2: Protocol Negotiation
121
-
122
- ```typescript
123
- // Client sends connect request
124
- {
125
- "jsonrpc": "2.0",
126
- "id": "req_001",
127
- "method": "map/connect",
128
- "params": {
129
- "protocolVersion": "2025-01-01",
130
- "participantType": "client",
131
- "clientInfo": {
132
- "name": "my-dashboard",
133
- "version": "1.0.0"
134
- },
135
- "capabilities": {
136
- "streaming": true,
137
- "scopes": true,
138
- "federation": false
139
- }
140
- }
141
- }
142
-
143
- // Server responds with negotiated capabilities
144
- {
145
- "jsonrpc": "2.0",
146
- "id": "req_001",
147
- "result": {
148
- "protocolVersion": "2025-01-01",
149
- "sessionId": "session_001",
150
- "serverInfo": {
151
- "name": "map-server",
152
- "version": "1.0.0"
153
- },
154
- "capabilities": {
155
- "streaming": true,
156
- "scopes": true,
157
- "federation": true,
158
- "replay": true,
159
- "maxSubscriptions": 100,
160
- "maxMessageSize": 1048576
161
- }
162
- }
163
- }
164
- ```
165
-
166
- ### Phase 3: Graceful Shutdown
167
-
168
- ```typescript
169
- {
170
- "jsonrpc": "2.0",
171
- "id": "req_final",
172
- "method": "map/disconnect",
173
- "params": {
174
- "reason": "user_requested",
175
- "timeout": 5000,
176
- "cascade": true
177
- }
178
- }
179
- ```
180
-
181
- ---
182
-
183
- ## Messaging Wire Format
184
-
185
- ### Send Message
186
-
187
- ```typescript
188
- // Request
189
- {
190
- "jsonrpc": "2.0",
191
- "id": "msg_001",
192
- "method": "map/send",
193
- "params": {
194
- "to": { "agent": "agent_worker_001" },
195
- "payload": {
196
- "type": "task_assignment",
197
- "task": {
198
- "id": "task_001",
199
- "description": "Review PR #123"
200
- }
201
- },
202
- "meta": {
203
- "priority": "high",
204
- "delivery": "inject",
205
- "ttl": 60000,
206
- "requireAck": true
207
- }
208
- }
209
- }
210
-
211
- // Response
212
- {
213
- "jsonrpc": "2.0",
214
- "id": "msg_001",
215
- "result": {
216
- "messageId": "envelope_a1b2c3",
217
- "delivered": 1,
218
- "receipts": [
219
- {
220
- "agentId": "agent_worker_001",
221
- "status": "delivered",
222
- "timestamp": 1706123456789
223
- }
224
- ]
225
- }
226
- }
227
- ```
228
-
229
- ### Addressing
230
-
231
- ```typescript
232
- type MAPAddress =
233
- | { agent: string } // Direct to agent
234
- | { scope: string } // Broadcast to scope
235
- | { role: string } // All agents with role
236
- | { agents: string[] } // Multiple specific agents
237
- | { parent: true } // Sender's parent
238
- | { children: true }; // Sender's children
239
- ```
240
-
241
- ---
242
-
243
- ## ACP Compatibility Layer
244
-
245
- ### Mode Detection
246
-
247
- ```typescript
248
- function detectMode(request: MAPConnectRequest): "full" | "acp-compat" {
249
- if (request.mode === "acp-compat") return "acp-compat";
250
- if (!request.capabilities?.streaming) return "acp-compat";
251
- return "full";
252
- }
253
- ```
254
-
255
- ### Feature Degradation Table
256
-
257
- | Feature | Full MAP | ACP-compat |
258
- |:--------|:---------|:-----------|
259
- | Multi-agent context | Native | Session-per-agent |
260
- | Streaming | Native bidirectional | Via sessionUpdate |
261
- | Hierarchy queries | Full tree ops | Flat list only |
262
- | Scopes | Full CRUD | Read-only listing |
263
- | Delivery semantics | All 4 modes | Best-effort only |
264
- | Federation | Supported | Not available |
265
- | Subscriptions | Multiple concurrent | Single per session |
266
-
267
- ---
268
-
269
- ## Transport Bindings
270
-
271
- ### WebSocket
272
-
273
- Primary transport for bidirectional streaming:
274
-
275
- ```typescript
276
- // WebSocket frame format: JSON messages
277
- // Each message is a complete JSON object
278
-
279
- const ws = new WebSocket("wss://map.example.com/v1");
280
- ws.onmessage = (event) => {
281
- const message = JSON.parse(event.data);
282
- handleMessage(message);
283
- };
284
- ```
285
-
286
- ### Stdio (Subprocess Agents)
287
-
288
- NDJSON (newline-delimited JSON) format over stdin/stdout:
289
-
290
- ```typescript
291
- interface StdioTransport {
292
- stdin: WritableStream<MAPMessage>;
293
- stdout: ReadableStream<MAPMessage>;
294
- stderr: ReadableStream<string>;
295
- }
296
-
297
- // Each line is a complete JSON message
298
- // {"jsonrpc":"2.0","method":"map/connect",...}\n
299
- ```
300
-
301
- ### HTTP/SSE (Stateless Clients)
302
-
303
- ```typescript
304
- // Endpoints:
305
- // POST /map/rpc - Single RPC call
306
- // GET /map/events - SSE event stream
307
- // POST /map/batch - Batch RPC calls
308
-
309
- // SSE event format
310
- event: map.event
311
- data: {"type":"agent.registered","agent":{...}}
312
- ```
313
-
314
- ---
315
-
316
- ## Error Format
317
-
318
- ```typescript
319
- interface MAPError {
320
- code: number;
321
- message: string;
322
- data?: {
323
- category: string;
324
- retryable?: boolean;
325
- retryAfter?: number;
326
- details?: unknown;
327
- };
328
- }
329
- ```
330
-
331
- ### Standard Error Codes
332
-
333
- | Code | Category | Description |
334
- |:-----|:---------|:------------|
335
- | -32700 | protocol | Parse error |
336
- | -32600 | protocol | Invalid request |
337
- | -32601 | protocol | Method not found |
338
- | -32602 | protocol | Invalid params |
339
- | -32603 | protocol | Internal error |
340
- | 1000-1999 | auth | Authentication errors |
341
- | 2000-2999 | routing | Message delivery errors |
342
- | 3000-3999 | agent | Agent lifecycle errors |
343
- | 4000-4999 | resource | Resource exhaustion |
344
- | 5000-5999 | federation | Cross-system errors |
345
-
346
- ---
347
-
348
- ## Protocol Extensions
349
-
350
- Custom methods use vendor prefixes:
351
-
352
- ```typescript
353
- {
354
- "jsonrpc": "2.0",
355
- "id": "ext_001",
356
- "method": "x-mycompany/workspace.sync",
357
- "params": {
358
- "worktree": "/path/to/worktree",
359
- "remote": "origin/main"
360
- }
361
- }
362
- ```
363
-
364
- ---
365
-
366
- ## Next Steps
367
-
368
- - [Streaming](./streaming.html) - Event subscriptions and filtering
369
- - [Error Handling](./error-handling.html) - Error taxonomy and recovery