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,363 +0,0 @@
1
- ---
2
- title: Transports
3
- parent: Guides
4
- grand_parent: SDK
5
- nav_order: 4
6
- description: "WebSocket, stdio, and custom transport adapters"
7
- ---
8
-
9
- # Transports
10
- {: .no_toc }
11
-
12
- Connect via WebSocket, stdio, or custom transports.
13
- {: .fs-6 .fw-300 }
14
-
15
- ## Table of contents
16
- {: .no_toc .text-delta }
17
-
18
- 1. TOC
19
- {:toc}
20
-
21
- ---
22
-
23
- ## Overview
24
-
25
- MAP is transport-agnostic. The SDK provides adapters for common transports and interfaces for building custom ones.
26
-
27
- ---
28
-
29
- ## Stream Interface
30
-
31
- All transports implement the bidirectional stream interface:
32
-
33
- ```typescript
34
- interface Stream {
35
- readable: ReadableStream<JSONRPCMessage>;
36
- writable: WritableStream<JSONRPCMessage>;
37
- }
38
- ```
39
-
40
- ---
41
-
42
- ## WebSocket Transport
43
-
44
- The most common transport for remote connections.
45
-
46
- ### Server Side
47
-
48
- ```typescript
49
- import { MAPServer } from "@multi-agent-protocol/sdk/server";
50
- import { WebSocketServer } from "ws";
51
-
52
- const server = new MAPServer({ name: "MyServer" });
53
- const wss = new WebSocketServer({ port: 8080 });
54
-
55
- wss.on("connection", (ws) => {
56
- const stream = websocketToStream(ws);
57
- server.accept(stream).start();
58
- });
59
-
60
- function websocketToStream(ws: WebSocket): Stream {
61
- return {
62
- readable: new ReadableStream({
63
- start(controller) {
64
- ws.on("message", (data) => {
65
- controller.enqueue(JSON.parse(data.toString()));
66
- });
67
- ws.on("close", () => controller.close());
68
- ws.on("error", (err) => controller.error(err));
69
- },
70
- }),
71
- writable: new WritableStream({
72
- write(message) {
73
- ws.send(JSON.stringify(message));
74
- },
75
- close() {
76
- ws.close();
77
- },
78
- }),
79
- };
80
- }
81
- ```
82
-
83
- ### Client Side
84
-
85
- ```typescript
86
- import { ClientConnection } from "@multi-agent-protocol/sdk";
87
- import WebSocket from "ws";
88
-
89
- const ws = new WebSocket("ws://localhost:8080");
90
- await new Promise((resolve) => ws.on("open", resolve));
91
-
92
- const stream = websocketToStream(ws);
93
- const client = new ClientConnection(stream, { name: "Dashboard" });
94
- await client.connect();
95
- ```
96
-
97
- ---
98
-
99
- ## Stdio Transport
100
-
101
- For subprocess agents (like Claude Code's Task tool pattern).
102
-
103
- ### Parent Process (Server)
104
-
105
- ```typescript
106
- import { spawn } from "child_process";
107
- import { MAPServer } from "@multi-agent-protocol/sdk/server";
108
-
109
- const server = new MAPServer({ name: "ParentServer" });
110
-
111
- // Spawn child agent process
112
- const child = spawn("node", ["agent.js"], {
113
- stdio: ["pipe", "pipe", "inherit"],
114
- });
115
-
116
- const stream = stdioToStream(child.stdin, child.stdout);
117
- server.accept(stream).start();
118
-
119
- function stdioToStream(stdin: Writable, stdout: Readable): Stream {
120
- let buffer = "";
121
-
122
- return {
123
- readable: new ReadableStream({
124
- start(controller) {
125
- stdout.on("data", (chunk) => {
126
- buffer += chunk.toString();
127
- const lines = buffer.split("\n");
128
- buffer = lines.pop() || "";
129
-
130
- for (const line of lines) {
131
- if (line.trim()) {
132
- controller.enqueue(JSON.parse(line));
133
- }
134
- }
135
- });
136
- stdout.on("end", () => controller.close());
137
- stdout.on("error", (err) => controller.error(err));
138
- },
139
- }),
140
- writable: new WritableStream({
141
- write(message) {
142
- stdin.write(JSON.stringify(message) + "\n");
143
- },
144
- close() {
145
- stdin.end();
146
- },
147
- }),
148
- };
149
- }
150
- ```
151
-
152
- ### Child Process (Agent)
153
-
154
- ```typescript
155
- // agent.js
156
- import { AgentConnection } from "@multi-agent-protocol/sdk";
157
-
158
- const stream = stdioToStream(process.stdin, process.stdout);
159
- const agent = new AgentConnection(stream, {
160
- name: "ChildAgent",
161
- role: "worker",
162
- });
163
-
164
- await agent.connect();
165
-
166
- agent.onMessage((message) => {
167
- // Process messages from parent
168
- });
169
- ```
170
-
171
- ---
172
-
173
- ## In-Process Transport
174
-
175
- For testing or co-located components.
176
-
177
- ```typescript
178
- import { createStreamPair } from "@multi-agent-protocol/sdk/stream";
179
- import { MAPServer } from "@multi-agent-protocol/sdk/server";
180
- import { ClientConnection } from "@multi-agent-protocol/sdk";
181
-
182
- // Create a connected pair of streams
183
- const [clientStream, serverStream] = createStreamPair();
184
-
185
- // Server uses one end
186
- const server = new MAPServer({ name: "TestServer" });
187
- server.accept(serverStream).start();
188
-
189
- // Client uses the other end
190
- const client = new ClientConnection(clientStream, { name: "TestClient" });
191
- await client.connect();
192
- ```
193
-
194
- ---
195
-
196
- ## HTTP + SSE Transport
197
-
198
- For stateless clients and environments that don't support WebSockets.
199
-
200
- ### Server Side
201
-
202
- ```typescript
203
- import express from "express";
204
- import { MAPServer } from "@multi-agent-protocol/sdk/server";
205
-
206
- const app = express();
207
- const server = new MAPServer({ name: "HTTPServer" });
208
-
209
- // Store active SSE connections
210
- const sseConnections = new Map<string, Response>();
211
-
212
- // RPC endpoint
213
- app.post("/map/rpc", express.json(), async (req, res) => {
214
- const sessionId = req.headers["x-session-id"] as string;
215
- const result = await server.handleRequest(req.body, sessionId);
216
- res.json(result);
217
- });
218
-
219
- // SSE endpoint for events
220
- app.get("/map/events", (req, res) => {
221
- const sessionId = req.query.sessionId as string;
222
-
223
- res.setHeader("Content-Type", "text/event-stream");
224
- res.setHeader("Cache-Control", "no-cache");
225
- res.setHeader("Connection", "keep-alive");
226
-
227
- sseConnections.set(sessionId, res);
228
-
229
- req.on("close", () => {
230
- sseConnections.delete(sessionId);
231
- });
232
- });
233
-
234
- // Deliver events via SSE
235
- server.on("*", (event) => {
236
- for (const [sessionId, res] of sseConnections) {
237
- res.write(`event: map.event\n`);
238
- res.write(`data: ${JSON.stringify(event)}\n\n`);
239
- }
240
- });
241
-
242
- app.listen(8080);
243
- ```
244
-
245
- ### Client Side
246
-
247
- ```typescript
248
- function httpToStream(baseUrl: string, sessionId: string): Stream {
249
- const eventSource = new EventSource(
250
- `${baseUrl}/map/events?sessionId=${sessionId}`
251
- );
252
-
253
- return {
254
- readable: new ReadableStream({
255
- start(controller) {
256
- eventSource.addEventListener("map.event", (e) => {
257
- controller.enqueue(JSON.parse(e.data));
258
- });
259
- eventSource.onerror = () => controller.close();
260
- },
261
- }),
262
- writable: new WritableStream({
263
- async write(message) {
264
- await fetch(`${baseUrl}/map/rpc`, {
265
- method: "POST",
266
- headers: {
267
- "Content-Type": "application/json",
268
- "X-Session-Id": sessionId,
269
- },
270
- body: JSON.stringify(message),
271
- });
272
- },
273
- }),
274
- };
275
- }
276
- ```
277
-
278
- ---
279
-
280
- ## Custom Transports
281
-
282
- Implement any transport by providing a Stream:
283
-
284
- ```typescript
285
- interface CustomTransportOptions {
286
- // Your transport-specific options
287
- }
288
-
289
- function createCustomTransport(options: CustomTransportOptions): Stream {
290
- return {
291
- readable: new ReadableStream({
292
- start(controller) {
293
- // Set up your transport's incoming message handling
294
- // Call controller.enqueue(message) for each message
295
- // Call controller.close() when connection ends
296
- // Call controller.error(err) on errors
297
- },
298
- }),
299
- writable: new WritableStream({
300
- write(message) {
301
- // Send message over your transport
302
- },
303
- close() {
304
- // Clean up your transport
305
- },
306
- }),
307
- };
308
- }
309
- ```
310
-
311
- ### Example: Redis Pub/Sub Transport
312
-
313
- ```typescript
314
- import Redis from "ioredis";
315
-
316
- function redisToStream(channelIn: string, channelOut: string): Stream {
317
- const subscriber = new Redis();
318
- const publisher = new Redis();
319
-
320
- return {
321
- readable: new ReadableStream({
322
- async start(controller) {
323
- await subscriber.subscribe(channelIn);
324
- subscriber.on("message", (channel, data) => {
325
- if (channel === channelIn) {
326
- controller.enqueue(JSON.parse(data));
327
- }
328
- });
329
- },
330
- cancel() {
331
- subscriber.unsubscribe(channelIn);
332
- subscriber.quit();
333
- },
334
- }),
335
- writable: new WritableStream({
336
- write(message) {
337
- publisher.publish(channelOut, JSON.stringify(message));
338
- },
339
- close() {
340
- publisher.quit();
341
- },
342
- }),
343
- };
344
- }
345
- ```
346
-
347
- ---
348
-
349
- ## Transport Selection Guide
350
-
351
- | Transport | Use Case | Pros | Cons |
352
- |:----------|:---------|:-----|:-----|
353
- | **WebSocket** | Remote clients, browsers | Bidirectional, real-time | Requires WS support |
354
- | **stdio** | Subprocess agents | Simple, no network | Local only |
355
- | **In-process** | Testing, co-located | Zero latency | Same process only |
356
- | **HTTP + SSE** | Serverless, restricted envs | Works everywhere | Higher latency |
357
-
358
- ---
359
-
360
- ## Next Steps
361
-
362
- - [Server Setup](./server.html) - Configure your server
363
- - [Testing](./testing.html) - Use in-process transport for tests
@@ -1,206 +0,0 @@
1
- ---
2
- title: SDK
3
- nav_order: 4
4
- has_children: true
5
- description: "MAP TypeScript SDK documentation"
6
- ---
7
-
8
- # TypeScript SDK
9
-
10
- The Multi-Agent Protocol TypeScript SDK provides everything you need to build observable, coordinated multi-agent systems.
11
- {: .fs-6 .fw-300 }
12
-
13
- ---
14
-
15
- ## Who This Is For
16
-
17
- - **Agent Developers** - Build agents that register with MAP servers, receive messages, and collaborate with other agents
18
- - **Platform Developers** - Build MAP-compliant servers that orchestrate agents and expose them to clients
19
- - **Client Developers** - Build applications that observe and interact with multi-agent systems
20
-
21
- ---
22
-
23
- ## Installation
24
-
25
- ```bash
26
- npm install @multi-agent-protocol/sdk
27
- ```
28
-
29
- ---
30
-
31
- ## Quick Navigation
32
-
33
- ### Guides
34
-
35
- | Guide | Description |
36
- |:------|:------------|
37
- | [Server Setup](./guides/server.html) | Set up a MAP server with MAPServer |
38
- | [Client Integration](./guides/client.html) | Connect clients that observe and send messages |
39
- | [Agent Integration](./guides/agent.html) | Build agents that register and process work |
40
- | [Transports](./guides/transports.html) | WebSocket, stdio, and custom transports |
41
- | [Authentication](./guides/authentication.html) | Configure authentication |
42
- | [Testing](./guides/testing.html) | Test your MAP integrations |
43
-
44
- ### API Reference
45
-
46
- | Reference | Description |
47
- |:----------|:------------|
48
- | [Server API](./api/server.html) | MAPServer and building blocks |
49
- | [Client API](./api/client.html) | ClientConnection methods |
50
- | [Agent API](./api/agent.html) | AgentConnection methods |
51
- | [Types](./api/types.html) | TypeScript type definitions |
52
-
53
- ---
54
-
55
- ## Package Exports
56
-
57
- ```typescript
58
- // Main exports (connections)
59
- import {
60
- ClientConnection,
61
- AgentConnection,
62
- GatewayConnection
63
- } from "@multi-agent-protocol/sdk";
64
-
65
- // Server components
66
- import { MAPServer } from "@multi-agent-protocol/sdk/server";
67
-
68
- // Building blocks for custom servers
69
- import {
70
- EventBusImpl,
71
- AgentRegistryImpl,
72
- ScopeManagerImpl,
73
- SubscriptionManagerImpl,
74
- } from "@multi-agent-protocol/sdk/server";
75
-
76
- // Stream utilities
77
- import { createStreamPair } from "@multi-agent-protocol/sdk/stream";
78
-
79
- // Type definitions
80
- import type {
81
- Agent,
82
- Message,
83
- Event,
84
- Subscription,
85
- } from "@multi-agent-protocol/sdk";
86
- ```
87
-
88
- ---
89
-
90
- ## Minimal Example
91
-
92
- **Server:**
93
- ```typescript
94
- import { MAPServer } from "@multi-agent-protocol/sdk/server";
95
- import { WebSocketServer } from "ws";
96
-
97
- const server = new MAPServer({ name: "MyServer" });
98
- const wss = new WebSocketServer({ port: 8080 });
99
-
100
- wss.on("connection", (ws) => {
101
- const stream = websocketToStream(ws);
102
- server.accept(stream).start();
103
- });
104
- ```
105
-
106
- **Agent:**
107
- ```typescript
108
- import { AgentConnection } from "@multi-agent-protocol/sdk";
109
-
110
- const agent = new AgentConnection(stream, {
111
- name: "Worker",
112
- role: "processor"
113
- });
114
-
115
- const { agent: registered } = await agent.connect();
116
- console.log(`Registered: ${registered.id}`);
117
-
118
- agent.onMessage((message) => {
119
- console.log("Received:", message.payload);
120
- });
121
- ```
122
-
123
- **Client:**
124
- ```typescript
125
- import { ClientConnection } from "@multi-agent-protocol/sdk";
126
-
127
- const client = new ClientConnection(stream, { name: "Dashboard" });
128
- await client.connect();
129
-
130
- // List all agents
131
- const { agents } = await client.listAgents();
132
-
133
- // Subscribe to events
134
- const subscription = await client.subscribe({
135
- eventTypes: ["agent.*"]
136
- });
137
-
138
- for await (const event of subscription) {
139
- console.log("Event:", event.type);
140
- }
141
- ```
142
-
143
- ---
144
-
145
- ## Progressive Disclosure
146
-
147
- The SDK follows a **progressive disclosure** pattern:
148
-
149
- ### Level 1: Just Works
150
-
151
- ```typescript
152
- const server = new MAPServer();
153
- ```
154
-
155
- ### Level 2: Customize Behavior
156
-
157
- ```typescript
158
- const server = new MAPServer({
159
- middleware: [loggingMiddleware, authMiddleware],
160
- additionalHandlers: { "custom/method": myHandler },
161
- });
162
- ```
163
-
164
- ### Level 3: Full Control
165
-
166
- ```typescript
167
- const eventBus = new EventBusImpl({
168
- store: new RedisEventStore()
169
- });
170
- const agents = new AgentRegistryImpl({
171
- eventBus,
172
- store: new PostgresAgentStore()
173
- });
174
- // ... compose your own server
175
- ```
176
-
177
- ---
178
-
179
- ## Key Concepts
180
-
181
- ### Three Participant Types
182
-
183
- | Type | Class | Purpose |
184
- |:-----|:------|:--------|
185
- | **Agent** | `AgentConnection` | Worker that processes tasks |
186
- | **Client** | `ClientConnection` | Observer that monitors and sends messages |
187
- | **Gateway** | `GatewayConnection` | Bridge between federated systems |
188
-
189
- ### Server Building Blocks
190
-
191
- | Component | Purpose |
192
- |:----------|:--------|
193
- | **EventBus** | Central event dispatcher |
194
- | **AgentRegistry** | Tracks registered agents |
195
- | **ScopeManager** | Manages logical groupings |
196
- | **SessionManager** | Handles connections |
197
- | **SubscriptionManager** | Event filtering and delivery |
198
- | **MessageRouter** | Routes messages |
199
-
200
- ---
201
-
202
- ## Next Steps
203
-
204
- 1. **[Server Setup](./guides/server.html)** - Create your MAP server
205
- 2. **[Agent Integration](./guides/agent.html)** - Build your first agent
206
- 3. **[Client Integration](./guides/client.html)** - Build observability tools