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,136 +0,0 @@
1
- ---
2
- title: Home
3
- layout: home
4
- nav_order: 1
5
- description: "Multi-Agent Protocol (MAP) - A JSON-RPC based protocol for observing, coordinating, and routing messages within multi-agent AI systems."
6
- permalink: /
7
- ---
8
-
9
- # Multi-Agent Protocol (MAP)
10
- {: .fs-9 }
11
-
12
- A JSON-RPC based protocol for observing, coordinating, and routing messages within multi-agent AI systems.
13
- {: .fs-6 .fw-300 }
14
-
15
- [Get Started](/multi-agent-protocol/getting-started/){: .btn .btn-primary .fs-5 .mb-4 .mb-md-0 .mr-2 }
16
- [View on GitHub](https://github.com/multi-agent-protocol/multi-agent-protocol){: .btn .fs-5 .mb-4 .mb-md-0 }
17
-
18
- ---
19
-
20
- ## Why MAP?
21
-
22
- Unlike protocols designed for single-agent interaction (ACP) or peer-to-peer agent delegation (A2A), MAP provides a **window into** a multi-agent system with visibility into its internal structure, agent relationships, and message flows.
23
-
24
- {: .highlight }
25
- MAP is the protocol for building **observable, coordinated** multi-agent systems.
26
-
27
- ### Key Features
28
-
29
- | Feature | Description |
30
- |:--------|:------------|
31
- | **Real-time Streaming** | Subscribe to events with backpressure support |
32
- | **Auto-reconnection** | Exponential backoff with subscription restoration |
33
- | **Permission System** | 4-layer access control (system, participant, scope, agent) |
34
- | **Federation** | Connect multiple MAP systems with envelope-based routing |
35
- | **Causal Ordering** | Events released in dependency order |
36
-
37
- ---
38
-
39
- ## Protocol Landscape
40
-
41
- | Protocol | Relationship | Visibility | Primary Use |
42
- |:---------|:-------------|:-----------|:------------|
43
- | MCP | Agent → Tool | N/A | Tool invocation |
44
- | ACP | Client → Agent | Opaque | Single-agent sessions |
45
- | A2A | Agent → Agent (peer) | Opaque | Cross-org delegation |
46
- | **MAP** | Client → System | **Transparent** | Internal orchestration |
47
-
48
- ---
49
-
50
- ## Quick Example
51
-
52
- ```typescript
53
- import { MAPServer } from "@multi-agent-protocol/sdk/server";
54
- import { ClientConnection, AgentConnection } from "@multi-agent-protocol/sdk";
55
-
56
- // Create a MAP server
57
- const server = new MAPServer({ name: "MyServer" });
58
-
59
- // Register an agent
60
- const agent = new AgentConnection(stream, {
61
- name: "Worker",
62
- role: "processor"
63
- });
64
- await agent.connect();
65
-
66
- // Subscribe to events from a client
67
- const client = new ClientConnection(stream, { name: "Dashboard" });
68
- await client.connect();
69
-
70
- const subscription = await client.subscribe({
71
- eventTypes: ["agent.*"]
72
- });
73
-
74
- for await (const event of subscription) {
75
- console.log(event.type, event.data);
76
- }
77
- ```
78
-
79
- ---
80
-
81
- ## Three Participant Types
82
-
83
- ```mermaid
84
- flowchart TB
85
- subgraph Server["MAP Server"]
86
- EventBus["EventBus"]
87
- Agents["Agents"]
88
- Scopes["Scopes"]
89
- end
90
-
91
- Agent1["Agent"] --> Server
92
- Client["Client"] --> Server
93
- Agent2["Agent"] --> Server
94
- ```
95
-
96
- | Type | Role | Capabilities |
97
- |:-----|:-----|:-------------|
98
- | **Agent** | Worker that processes tasks | Register, join scopes, send/receive messages |
99
- | **Client** | Observer and requester | Subscribe to events, query state, send messages |
100
- | **Gateway** | Federation bridge | Route between MAP systems |
101
-
102
- ---
103
-
104
- ## Protocol Methods
105
-
106
- The protocol defines **27 methods** across three tiers:
107
-
108
- ### Core (Required)
109
- `map/connect`, `map/disconnect`, `map/send`, `map/subscribe`, `map/unsubscribe`, `map/agents/list`, `map/agents/get`
110
-
111
- ### Structure (Recommended)
112
- Agent lifecycle (`register`, `spawn`, `unregister`, `update`, `stop`, `suspend`, `resume`), scope management (`scopes/create`, `join`, `leave`), and structure queries
113
-
114
- ### Extensions (Optional)
115
- Federation (`federation/connect`, `federation/route`), session management, and steering (`map/inject`)
116
-
117
- ---
118
-
119
- ## Getting Started
120
-
121
- <div class="code-example" markdown="1">
122
- **Installation**
123
- ```bash
124
- npm install @multi-agent-protocol/sdk
125
- ```
126
- </div>
127
-
128
- Ready to build? Check out the [Getting Started Guide](/multi-agent-protocol/getting-started/) to run your first MAP server in 5 minutes.
129
-
130
- ---
131
-
132
- ## About
133
-
134
- Multi-Agent Protocol is open source and available under the [MIT License](https://github.com/multi-agent-protocol/multi-agent-protocol/blob/main/LICENSE).
135
-
136
- Created and maintained by the [sudocode](https://github.com/sudocode-ai) team.
@@ -1,391 +0,0 @@
1
- ---
2
- title: Authentication
3
- parent: Protocol
4
- nav_order: 6
5
- description: "Authentication methods and flows"
6
- ---
7
-
8
- # Authentication
9
- {: .no_toc }
10
-
11
- Authentication methods, negotiation flows, and security considerations.
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 Principles
23
-
24
- 1. **Pluggable mechanisms** - Support multiple auth methods with a standard negotiation flow
25
- 2. **Sensible defaults** - Built-in support for common methods (bearer tokens, API keys)
26
- 3. **Transport-aware** - Acknowledge that some auth happens at transport layer (mTLS)
27
- 4. **Optional for local** - No auth overhead for trusted local connections (stdio)
28
- 5. **Federation-ready** - Credentials can carry claims for cross-server authentication
29
-
30
- ---
31
-
32
- ## Authentication Methods
33
-
34
- | Method | Description | Use Case |
35
- |:-------|:------------|:---------|
36
- | `none` | No authentication | Local subprocess agents, development |
37
- | `bearer` | Bearer token (JWT or opaque) | OAuth2, IdP integration, M2M tokens |
38
- | `api-key` | Simple API key | Simple integrations, internal services |
39
- | `mtls` | Mutual TLS (transport layer) | High-security service-to-service |
40
-
41
- ### Extension Methods
42
-
43
- Custom authentication methods use the `x-` prefix:
44
-
45
- ```
46
- x-custom-auth
47
- x-kerberos
48
- x-saml
49
- ```
50
-
51
- Servers MUST reject unknown methods without the `x-` prefix.
52
-
53
- ---
54
-
55
- ## Wire Protocol
56
-
57
- ### Server Authentication Capabilities
58
-
59
- Servers advertise requirements in the connect response:
60
-
61
- ```typescript
62
- interface ServerAuthCapabilities {
63
- /** Supported authentication methods (in preference order) */
64
- methods: AuthMethod[];
65
-
66
- /** Is authentication required to proceed? */
67
- required: boolean;
68
-
69
- /** OAuth2 authorization server metadata URL */
70
- oauth2MetadataUrl?: string;
71
-
72
- /** JWKS URL for local JWT verification */
73
- jwksUrl?: string;
74
-
75
- /** Realm identifier for this server */
76
- realm?: string;
77
- }
78
- ```
79
-
80
- ### Client Credentials
81
-
82
- ```typescript
83
- interface AuthCredentials {
84
- /** The authentication method being used */
85
- method: AuthMethod;
86
-
87
- /** The credential value (token, API key, etc.) */
88
- credential?: string;
89
-
90
- /** Method-specific additional data */
91
- metadata?: Record<string, unknown>;
92
- }
93
- ```
94
-
95
- ### Authentication Result
96
-
97
- ```typescript
98
- interface AuthResult {
99
- success: boolean;
100
-
101
- principal?: {
102
- id: string;
103
- issuer?: string;
104
- claims?: Record<string, unknown>;
105
- };
106
-
107
- error?: {
108
- code: AuthErrorCode;
109
- message: string;
110
- };
111
- }
112
-
113
- type AuthErrorCode =
114
- | 'invalid_credentials'
115
- | 'expired'
116
- | 'insufficient_scope'
117
- | 'method_not_supported'
118
- | 'auth_required';
119
- ```
120
-
121
- ---
122
-
123
- ## Connection Flows
124
-
125
- ### Flow 1: Auth Provided Upfront (Recommended)
126
-
127
- When the client knows the server's auth requirements:
128
-
129
- ```mermaid
130
- sequenceDiagram
131
- participant Client
132
- participant Server
133
-
134
- Client->>Server: map/connect {participantType, auth}
135
- Server-->>Client: connect response {session, principal}
136
- ```
137
-
138
- ```typescript
139
- // Request
140
- {
141
- "jsonrpc": "2.0",
142
- "id": 1,
143
- "method": "map/connect",
144
- "params": {
145
- "protocolVersion": 1,
146
- "participantType": "client",
147
- "name": "my-client",
148
- "auth": {
149
- "method": "bearer",
150
- "credential": "eyJhbGciOiJSUzI1NiIs..."
151
- }
152
- }
153
- }
154
-
155
- // Response (success)
156
- {
157
- "jsonrpc": "2.0",
158
- "id": 1,
159
- "result": {
160
- "sessionId": "session_01ABC",
161
- "participantId": "client_01XYZ",
162
- "principal": {
163
- "id": "user_123",
164
- "issuer": "https://auth.example.com",
165
- "claims": { "scope": "read write" }
166
- }
167
- }
168
- }
169
- ```
170
-
171
- ### Flow 2: Auth Negotiation
172
-
173
- When the client doesn't know auth requirements:
174
-
175
- ```mermaid
176
- sequenceDiagram
177
- participant Client
178
- participant Server
179
-
180
- Client->>Server: map/connect {participantType}
181
- Server-->>Client: auth_required {methods, required}
182
- Client->>Server: map/authenticate {method, credential}
183
- Server-->>Client: auth result {success, session, principal}
184
- ```
185
-
186
- ### Flow 3: No Authentication
187
-
188
- For trusted local connections:
189
-
190
- ```mermaid
191
- sequenceDiagram
192
- participant Client
193
- participant Server
194
-
195
- Client->>Server: map/connect {participantType}
196
- Server-->>Client: connect response {session}
197
- ```
198
-
199
- ---
200
-
201
- ## Method-Specific Details
202
-
203
- ### Bearer Tokens (JWT)
204
-
205
- ```typescript
206
- // Standard JWT claims used by MAP
207
- interface MAPJWTClaims {
208
- sub: string; // Subject (principal ID)
209
- iss: string; // Issuer
210
- aud: string | string[];// Audience (MAP server ID)
211
- exp: number; // Expiration
212
- iat: number; // Issued at
213
- nbf?: number; // Not before
214
-
215
- // MAP-specific claims
216
- "map:permissions"?: MAPPermissions;
217
- "map:roles"?: string[];
218
- "map:scopes"?: string[];
219
- }
220
- ```
221
-
222
- ### API Keys
223
-
224
- ```typescript
225
- // API key format
226
- interface MAPApiKey {
227
- prefix: string; // e.g., "map_"
228
- keyId: string; // Key identifier
229
- secret: string; // Secret portion
230
-
231
- // Combined format: map_keyId_secret
232
- }
233
-
234
- // Header format
235
- Authorization: ApiKey map_abc123_secretxyz
236
- ```
237
-
238
- ### Mutual TLS
239
-
240
- Authentication happens at transport layer:
241
-
242
- ```typescript
243
- interface MTLSAuth {
244
- method: "mtls";
245
- metadata: {
246
- clientCertificate: {
247
- subject: string;
248
- issuer: string;
249
- fingerprint: string;
250
- validFrom: string;
251
- validTo: string;
252
- };
253
- };
254
- }
255
- ```
256
-
257
- ---
258
-
259
- ## Token Refresh
260
-
261
- ### Proactive Refresh
262
-
263
- Client refreshes before expiration:
264
-
265
- ```typescript
266
- {
267
- "method": "map/authenticate",
268
- "params": {
269
- "method": "bearer",
270
- "credential": "new_access_token",
271
- "refresh": true
272
- }
273
- }
274
- ```
275
-
276
- ### Server-Initiated Refresh
277
-
278
- Server can request reauthentication:
279
-
280
- ```typescript
281
- // Server notification
282
- {
283
- "method": "map/auth.expiring",
284
- "params": {
285
- "expiresIn": 300, // seconds
286
- "reason": "token_expiring"
287
- }
288
- }
289
-
290
- // Client responds with new credentials
291
- {
292
- "method": "map/authenticate",
293
- "params": {
294
- "method": "bearer",
295
- "credential": "refreshed_token"
296
- }
297
- }
298
- ```
299
-
300
- ---
301
-
302
- ## Federation Authentication
303
-
304
- ### Trust Establishment
305
-
306
- ```typescript
307
- interface FederationAuth {
308
- // Peer identification
309
- peerId: string;
310
- peerCertificate?: string;
311
-
312
- // Trust method
313
- trustMethod: "mtls" | "signed_tokens" | "shared_secret";
314
-
315
- // Token signing for cross-system calls
316
- tokenSigning?: {
317
- algorithm: string;
318
- keyId: string;
319
- };
320
- }
321
- ```
322
-
323
- ### Cross-System Token Propagation
324
-
325
- ```typescript
326
- // Message with propagated auth context
327
- {
328
- "method": "map/federation/send",
329
- "params": {
330
- "peerId": "system_beta",
331
- "message": { ... },
332
- "authContext": {
333
- "originalPrincipal": "user_123",
334
- "originalIssuer": "system_alpha",
335
- "delegationChain": ["system_alpha"],
336
- "signature": "..."
337
- }
338
- }
339
- }
340
- ```
341
-
342
- ---
343
-
344
- ## Error Handling
345
-
346
- ### Authentication Errors
347
-
348
- | Code | Error | Recovery |
349
- |:-----|:------|:---------|
350
- | 1000 | AUTH_REQUIRED | Provide credentials |
351
- | 1001 | AUTH_FAILED | Check credentials |
352
- | 1002 | AUTH_EXPIRED | Refresh token |
353
- | 1003 | PERMISSION_DENIED | Request additional scope |
354
-
355
- ### Error Response
356
-
357
- ```typescript
358
- {
359
- "error": {
360
- "code": 1001,
361
- "message": "Authentication failed",
362
- "data": {
363
- "category": "auth",
364
- "reason": "invalid_signature",
365
- "hint": "Token signature verification failed"
366
- }
367
- }
368
- }
369
- ```
370
-
371
- ---
372
-
373
- ## Security Considerations
374
-
375
- {: .warning }
376
- > Always use TLS in production environments. Never transmit credentials over unencrypted connections.
377
-
378
- ### Best Practices
379
-
380
- 1. **Short-lived tokens** - Use access tokens with short expiration
381
- 2. **Secure storage** - Never log or store credentials in plain text
382
- 3. **Scope limitation** - Request minimum necessary permissions
383
- 4. **Token rotation** - Rotate API keys and refresh tokens regularly
384
- 5. **Audit logging** - Log authentication events for security monitoring
385
-
386
- ---
387
-
388
- ## Next Steps
389
-
390
- - [Permissions](./permissions.html) - 4-layer permission model
391
- - [Federation](./federation.html) - Cross-system authentication