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
@@ -1,296 +0,0 @@
1
- # MAP Wire Protocol & ACP Compatibility Layer
2
-
3
- This spec details the wire protocol format for MAP and how it maintains compatibility with ACP.
4
-
5
- ## Design Goals
6
-
7
- 1. **JSON-RPC 2.0 base** - Same foundation as ACP for tooling compatibility
8
- 2. **Bidirectional streaming** - Native support, not bolted on
9
- 3. **ACP downgrade path** - Graceful degradation to ACP-only clients
10
- 4. **Transport agnostic** - WebSocket, stdio, HTTP/SSE all viable
11
-
12
- ---
13
-
14
- ## Wire Protocol Format
15
-
16
- ### Message Types
17
-
18
- MAP uses four message types over JSON-RPC:
19
-
20
- ```typescript
21
- // 1. Request (expects response)
22
- interface MAPRequest {
23
- jsonrpc: "2.0";
24
- id: string | number;
25
- method: string;
26
- params?: unknown;
27
- }
28
-
29
- // 2. Response (to a request)
30
- interface MAPResponse {
31
- jsonrpc: "2.0";
32
- id: string | number;
33
- result?: unknown;
34
- error?: MAPError;
35
- }
36
-
37
- // 3. Notification (no response expected)
38
- interface MAPNotification {
39
- jsonrpc: "2.0";
40
- method: string;
41
- params?: unknown;
42
- // Note: no 'id' field
43
- }
44
-
45
- // 4. Batch (multiple messages)
46
- type MAPBatch = Array<MAPRequest | MAPNotification>;
47
- ```
48
-
49
- ### Method Namespacing
50
-
51
- ```
52
- map/ # Full MAP mode methods
53
- ├── initialize
54
- ├── agent.*
55
- ├── hierarchy.*
56
- ├── scope.*
57
- ├── send
58
- ├── request
59
- ├── broadcast
60
- ├── inject
61
- ├── subscribe
62
- ├── task.*
63
- ├── role.*
64
- ├── env.*
65
- └── user.*
66
-
67
- _map/ # ACP-compat mode (via extMethod)
68
- ├── agent.list
69
- ├── hierarchy.get
70
- ├── scope.list
71
- ├── send
72
- ├── broadcast
73
- ├── task.list
74
- └── subscribe
75
- ```
76
-
77
- ---
78
-
79
- ## Protocol Phases
80
-
81
- ### Phase 1: Connection Establishment
82
-
83
- ```
84
- Client Server
85
- │ │
86
- │─────── Transport Connect ──────────────►│
87
- │ │
88
- │◄────── Transport Accept ───────────────│
89
- │ │
90
- ```
91
-
92
- ### Phase 2: Protocol Negotiation
93
-
94
- ```typescript
95
- // Client sends initialize request
96
- {
97
- "jsonrpc": "2.0",
98
- "id": "req_001",
99
- "method": "map/initialize",
100
- "params": {
101
- "protocolVersion": "2025-01-01",
102
- "mode": "full", // or "acp-compat"
103
- "clientInfo": {
104
- "name": "macro-agent",
105
- "version": "1.0.0"
106
- },
107
- "capabilities": {
108
- "streaming": true,
109
- "scopes": true,
110
- "tasks": true,
111
- "roles": true,
112
- "environments": true,
113
- "federation": false
114
- }
115
- }
116
- }
117
-
118
- // Server responds with negotiated capabilities
119
- {
120
- "jsonrpc": "2.0",
121
- "id": "req_001",
122
- "result": {
123
- "protocolVersion": "2025-01-01",
124
- "mode": "full",
125
- "serverInfo": {
126
- "name": "map-server",
127
- "version": "1.0.0"
128
- },
129
- "capabilities": {
130
- "streaming": true,
131
- "scopes": true,
132
- "tasks": true,
133
- "roles": true,
134
- "environments": true,
135
- "federation": true,
136
- "replay": true,
137
- "deliverySemantics": ["inject", "interrupt", "queue", "best-effort"],
138
- "maxSubscriptions": 100,
139
- "maxMessageSize": 1048576
140
- },
141
- "agentId": "agent_root_001"
142
- }
143
- }
144
- ```
145
-
146
- ### Phase 3: Graceful Shutdown
147
-
148
- ```typescript
149
- // Client initiates shutdown
150
- {
151
- "jsonrpc": "2.0",
152
- "id": "req_final",
153
- "method": "map/shutdown",
154
- "params": {
155
- "reason": "user_requested",
156
- "timeout": 5000,
157
- "cascade": true
158
- }
159
- }
160
- ```
161
-
162
- ---
163
-
164
- ## Messaging Wire Format
165
-
166
- ### Send Message
167
-
168
- ```typescript
169
- // Request
170
- {
171
- "jsonrpc": "2.0",
172
- "id": "msg_001",
173
- "method": "map/send",
174
- "params": {
175
- "to": { "type": "agent", "id": "agent_worker_001" },
176
- "payload": {
177
- "type": "task_assignment",
178
- "task": {
179
- "id": "task_001",
180
- "description": "Review PR #123"
181
- }
182
- },
183
- "meta": {
184
- "priority": "high",
185
- "delivery": "inject",
186
- "ttl": 60000,
187
- "requireAck": true
188
- }
189
- }
190
- }
191
-
192
- // Response
193
- {
194
- "jsonrpc": "2.0",
195
- "id": "msg_001",
196
- "result": {
197
- "messageId": "envelope_a1b2c3",
198
- "delivered": 1,
199
- "receipts": [
200
- {
201
- "agentId": "agent_worker_001",
202
- "status": "delivered",
203
- "semantic": "inject",
204
- "timestamp": 1706123456789
205
- }
206
- ]
207
- }
208
- }
209
- ```
210
-
211
- ---
212
-
213
- ## ACP Compatibility Layer
214
-
215
- ### Mode Detection
216
-
217
- ```typescript
218
- function detectMode(request: MAPInitializeRequest): "full" | "acp-compat" {
219
- if (request.mode === "acp-compat") return "acp-compat";
220
- if (!request.capabilities?.streaming) return "acp-compat";
221
- if (!request.mode && request.clientCapabilities) return "acp-compat";
222
- return "full";
223
- }
224
- ```
225
-
226
- ### Feature Degradation Table
227
-
228
- | Feature | Full MAP | ACP-compat |
229
- |---------|----------|------------|
230
- | Multi-agent context | Native | Session-per-agent |
231
- | Streaming | Native bidirectional | Via sessionUpdate |
232
- | Hierarchy queries | Full tree ops | Flat list only |
233
- | Scopes | Full CRUD | Read-only listing |
234
- | Delivery semantics | All 4 modes | Best-effort only |
235
- | Federation | Supported | Not available |
236
- | Subscriptions | Multiple concurrent | Single per session |
237
-
238
- ---
239
-
240
- ## Transport Bindings
241
-
242
- ### WebSocket
243
-
244
- ```typescript
245
- // Primary transport for bidirectional streaming
246
- // WebSocket frame format: NDJSON (newline-delimited JSON)
247
- // Each message is a single line of JSON followed by \n
248
- ```
249
-
250
- ### Stdio (for subprocess agents)
251
-
252
- ```typescript
253
- // Same NDJSON format over stdin/stdout
254
- interface StdioTransport {
255
- stdin: WritableStream<MAPMessage>;
256
- stdout: ReadableStream<MAPMessage>;
257
- stderr: ReadableStream<string>;
258
- }
259
- ```
260
-
261
- ### HTTP/SSE (for stateless clients)
262
-
263
- ```typescript
264
- // Endpoints:
265
- // POST /map/rpc - Single RPC call
266
- // GET /map/events - SSE event stream
267
- // POST /map/batch - Batch RPC calls
268
- ```
269
-
270
- ---
271
-
272
- ## Protocol Extensions
273
-
274
- ### Custom Methods
275
-
276
- ```typescript
277
- // Vendor-specific extension
278
- {
279
- "jsonrpc": "2.0",
280
- "id": "ext_001",
281
- "method": "macro/workspace.sync",
282
- "params": {
283
- "worktree": "/path/to/worktree",
284
- "remote": "origin/main"
285
- }
286
- }
287
- ```
288
-
289
- ---
290
-
291
- ## Open Questions
292
-
293
- 1. **Compression**: Should we support message compression (gzip, brotli)?
294
- 2. **Batching**: Should batch responses preserve order or allow reordering?
295
- 3. **Heartbeat**: Explicit ping/pong or rely on transport-level?
296
- 4. **Message size limits**: Hard protocol limit or capability-negotiated?
@@ -1,252 +0,0 @@
1
- # MAP Streaming Semantics
2
-
3
- This spec details how MAP handles system-wide event streaming, subscriptions, filtering, and replay.
4
-
5
- ## Design Goals
6
-
7
- 1. **System-wide visibility** - See all agent activity, not just one session
8
- 2. **Efficient filtering** - Subscribe only to relevant events
9
- 3. **Replay capability** - Catch up on missed events
10
- 4. **Backpressure handling** - Don't overwhelm slow consumers
11
- 5. **Ordered delivery** - Causal ordering where it matters
12
-
13
- ---
14
-
15
- ## Subscription Model
16
-
17
- ### Creating Subscriptions
18
-
19
- ```typescript
20
- // Subscribe to multiple stream types with filtering
21
- {
22
- "jsonrpc": "2.0",
23
- "id": "sub_001",
24
- "method": "map/subscribe",
25
- "params": {
26
- "streams": ["messages", "state", "tasks"],
27
- "filter": {
28
- "agents": ["agent_worker_*"], // Glob pattern
29
- "roles": ["worker", "integrator"],
30
- "priorities": ["urgent", "high"],
31
- "scopes": ["scope_active"]
32
- },
33
- "options": {
34
- "includeHistory": false,
35
- "bufferSize": 1000,
36
- "deliveryMode": "at-least-once"
37
- }
38
- }
39
- }
40
- ```
41
-
42
- ### Subscription Lifecycle
43
-
44
- ```
45
- ┌──────────┐ subscribe ┌──────────┐
46
- │ inactive │ ──────────────► │ active │
47
- └──────────┘ └────┬─────┘
48
- ▲ │
49
- │ │ pause
50
- │ ▼
51
- │ ┌──────────┐
52
- │ resume │ paused │
53
- │ ◄──────────────────── └────┬─────┘
54
- │ │
55
- │ unsubscribe │ unsubscribe
56
- │ ▼
57
- └─────────────────────► ┌──────────┐
58
- │ closed │
59
- └──────────┘
60
- ```
61
-
62
- ---
63
-
64
- ## Event Delivery
65
-
66
- ### Event Envelope
67
-
68
- ```typescript
69
- interface MAPStreamEventEnvelope {
70
- subscriptionId: string;
71
- sequence: number; // Monotonic within subscription
72
- timestamp: number; // Server timestamp
73
- event: MAPStreamEvent;
74
-
75
- // For ordering/dedup
76
- eventId: string; // Globally unique
77
- causedBy?: string[]; // Causal predecessors
78
- }
79
- ```
80
-
81
- ### Event Types
82
-
83
- ```typescript
84
- type MAPStreamEvent =
85
- // Messaging events
86
- | { type: "message"; envelope: MAPEnvelope; receipts: MAPDeliveryReceipt[] }
87
- | { type: "message.ack"; messageId: string; agentId: string }
88
- | { type: "message.failed"; messageId: string; error: MAPError }
89
-
90
- // Agent state events
91
- | { type: "agent.registered"; agent: MAPAgent }
92
- | { type: "agent.unregistered"; agentId: string; reason: string }
93
- | { type: "agent.state"; agentId: string; previous: string; current: string }
94
- | { type: "agent.updated"; agentId: string; changes: Partial<MAPAgent> }
95
-
96
- // Task events
97
- | { type: "task.created"; task: MAPTask }
98
- | { type: "task.assigned"; taskId: string; agentId: string }
99
- | { type: "task.status"; taskId: string; previous: string; current: string }
100
- | { type: "task.completed"; taskId: string; result?: unknown }
101
-
102
- // Scope events
103
- | { type: "scope.created"; scope: MAPScope }
104
- | { type: "scope.deleted"; scopeId: string }
105
- | { type: "scope.member.added"; scopeId: string; agentId: string }
106
- | { type: "scope.member.removed"; scopeId: string; agentId: string }
107
-
108
- // System events
109
- | { type: "system.heartbeat"; timestamp: number }
110
- | { type: "system.capacity"; agents: number; maxAgents: number };
111
- ```
112
-
113
- ---
114
-
115
- ## Filtering
116
-
117
- ### Filter Syntax
118
-
119
- ```typescript
120
- interface MAPStreamFilter {
121
- // Agent filtering (OR within, AND across fields)
122
- agents?: string[]; // Glob patterns
123
- roles?: string[]; // Role names
124
- scopes?: string[]; // Scope IDs
125
- environments?: string[]; // Environment IDs
126
-
127
- // Event filtering
128
- eventTypes?: string[]; // e.g., ["message", "task.*"]
129
- priorities?: MAPPriority[]; // For message events
130
-
131
- // Hierarchy filtering
132
- descendants?: string; // All descendants of agent
133
- ancestors?: string; // All ancestors of agent
134
- subtree?: string; // Agent and all descendants
135
- }
136
- ```
137
-
138
- ---
139
-
140
- ## Replay
141
-
142
- ### Replay Request
143
-
144
- ```typescript
145
- {
146
- "jsonrpc": "2.0",
147
- "id": "replay_001",
148
- "method": "map/replay",
149
- "params": {
150
- // Time-based replay
151
- "from": 1706120000000,
152
- "to": 1706123456789,
153
-
154
- // OR event-based replay
155
- "afterEventId": "evt_x1y2z3",
156
-
157
- // Filter
158
- "filter": {
159
- "agents": ["agent_worker_*"],
160
- "eventTypes": ["task.*"]
161
- },
162
-
163
- // Options
164
- "options": {
165
- "limit": 1000,
166
- "order": "chronological",
167
- "includeSnapshots": true
168
- }
169
- }
170
- }
171
- ```
172
-
173
- ---
174
-
175
- ## Ordering Guarantees
176
-
177
- ### Within-Agent Ordering
178
-
179
- Events for a single agent are always delivered in causal order:
180
-
181
- ```
182
- Agent A: state=idle → state=busy → state=idle
183
- (seq 1) (seq 2) (seq 3)
184
- ```
185
-
186
- ### Cross-Agent Ordering
187
-
188
- Events across agents may be reordered unless causally related:
189
-
190
- ```
191
- Agent A: message sent ────────────────┐
192
-
193
- Agent B: message received → state=busy
194
-
195
- // The "message received" always comes after "message sent"
196
- // But unrelated events may interleave
197
- ```
198
-
199
- ### Ordering Modes
200
-
201
- ```typescript
202
- interface SubscriptionOptions {
203
- ordering:
204
- | "none" // No ordering guarantee (fastest)
205
- | "per-agent" // Ordered within each agent
206
- | "causal" // Full causal ordering (may have latency)
207
- | "total"; // Total ordering (highest latency)
208
- }
209
- ```
210
-
211
- ---
212
-
213
- ## Backpressure
214
-
215
- ### Client Flow Control
216
-
217
- ```typescript
218
- // Client acknowledges events (enables flow control)
219
- {
220
- "jsonrpc": "2.0",
221
- "method": "map/subscribe.ack",
222
- "params": {
223
- "subscriptionId": "sub_a1b2c3",
224
- "upToSequence": 100
225
- }
226
- }
227
- ```
228
-
229
- ### Overflow Handling
230
-
231
- ```typescript
232
- // Server notifies client of overflow
233
- {
234
- "event": {
235
- "type": "subscription.overflow",
236
- "eventsDropped": 150,
237
- "oldestDropped": "evt_x1y2z3",
238
- "newestDropped": "evt_a4b5c6",
239
- "recommendation": "reduce_filter_scope"
240
- }
241
- }
242
- ```
243
-
244
- ---
245
-
246
- ## Open Questions
247
-
248
- 1. **Event retention**: How long should servers retain events for replay?
249
- 2. **Compression**: Should event streams be compressible?
250
- 3. **Fan-out limits**: Max subscribers per event type?
251
- 4. **Cross-federation streaming**: How do events propagate across federated systems?
252
- 5. **Snapshot frequency**: How often should state snapshots be created?