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,282 +0,0 @@
1
- ---
2
- title: Simple Chat
3
- parent: Examples
4
- nav_order: 1
5
- description: "Basic agent-to-agent messaging example"
6
- ---
7
-
8
- # Simple Chat
9
- {: .no_toc }
10
-
11
- A minimal example of agent-to-agent messaging.
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
- ## Overview
23
-
24
- This example demonstrates:
25
- - Setting up a MAP server
26
- - Creating chat agents
27
- - Sending messages between agents
28
- - Subscribing to events
29
-
30
- ---
31
-
32
- ## Server
33
-
34
- ```typescript
35
- // server.ts
36
- import { MAPServer } from "@multi-agent-protocol/sdk/server";
37
- import { WebSocketServer } from "ws";
38
-
39
- const server = new MAPServer({
40
- name: "ChatServer",
41
- version: "1.0.0",
42
- });
43
-
44
- // Log events
45
- server.on("agent.registered", (event) => {
46
- console.log(`[Server] Agent joined: ${event.data.agent.name}`);
47
- });
48
-
49
- server.on("agent.unregistered", (event) => {
50
- console.log(`[Server] Agent left: ${event.data.agentId}`);
51
- });
52
-
53
- server.on("message.sent", (event) => {
54
- console.log(`[Server] Message from ${event.data.from} to ${event.data.to}`);
55
- });
56
-
57
- // WebSocket server
58
- const wss = new WebSocketServer({ port: 8080 });
59
-
60
- wss.on("connection", (ws) => {
61
- const stream = websocketToStream(ws);
62
- server.accept(stream).start();
63
- });
64
-
65
- console.log("Chat server running on ws://localhost:8080");
66
-
67
- // Helper function
68
- function websocketToStream(ws) {
69
- return {
70
- readable: new ReadableStream({
71
- start(controller) {
72
- ws.on("message", (data) => {
73
- controller.enqueue(JSON.parse(data.toString()));
74
- });
75
- ws.on("close", () => controller.close());
76
- ws.on("error", (err) => controller.error(err));
77
- },
78
- }),
79
- writable: new WritableStream({
80
- write(message) {
81
- ws.send(JSON.stringify(message));
82
- },
83
- close() {
84
- ws.close();
85
- },
86
- }),
87
- };
88
- }
89
- ```
90
-
91
- ---
92
-
93
- ## Chat Agent
94
-
95
- ```typescript
96
- // chat-agent.ts
97
- import { AgentConnection } from "@multi-agent-protocol/sdk";
98
- import WebSocket from "ws";
99
- import * as readline from "readline";
100
-
101
- async function main() {
102
- const agentName = process.argv[2] || "Agent";
103
-
104
- // Connect to server
105
- const ws = new WebSocket("ws://localhost:8080");
106
- await new Promise((resolve) => ws.on("open", resolve));
107
-
108
- const stream = websocketToStream(ws);
109
-
110
- // Create agent
111
- const agent = new AgentConnection(stream, {
112
- name: agentName,
113
- role: "chatter",
114
- });
115
-
116
- // Handle incoming messages
117
- agent.onMessage((message) => {
118
- console.log(`\n[${message.from}]: ${message.payload.text}`);
119
- rl.prompt();
120
- });
121
-
122
- // Connect
123
- const { agent: registered } = await agent.connect();
124
- console.log(`Connected as ${registered.name} (${registered.id})`);
125
-
126
- // List other agents
127
- const { agents } = await agent.listAgents();
128
- const others = agents.filter((a) => a.id !== registered.id);
129
-
130
- if (others.length > 0) {
131
- console.log("Other agents online:");
132
- others.forEach((a) => console.log(` - ${a.name} (${a.id})`));
133
- } else {
134
- console.log("No other agents online yet.");
135
- }
136
-
137
- // Set up readline for input
138
- const rl = readline.createInterface({
139
- input: process.stdin,
140
- output: process.stdout,
141
- });
142
-
143
- console.log('\nType messages to send. Use "@name message" to send to specific agent.');
144
- console.log('Type "list" to see online agents, "quit" to exit.\n');
145
-
146
- rl.prompt();
147
-
148
- rl.on("line", async (input) => {
149
- const trimmed = input.trim();
150
-
151
- if (trimmed === "quit") {
152
- await agent.disconnect();
153
- process.exit(0);
154
- }
155
-
156
- if (trimmed === "list") {
157
- const { agents } = await agent.listAgents();
158
- const others = agents.filter((a) => a.id !== registered.id);
159
- console.log("Agents online:");
160
- others.forEach((a) => console.log(` - ${a.name} (${a.id})`));
161
- rl.prompt();
162
- return;
163
- }
164
-
165
- // Parse @name message format
166
- const match = trimmed.match(/^@(\S+)\s+(.+)$/);
167
- if (match) {
168
- const [, targetName, text] = match;
169
-
170
- // Find agent by name
171
- const { agents } = await agent.listAgents();
172
- const target = agents.find(
173
- (a) => a.name.toLowerCase() === targetName.toLowerCase()
174
- );
175
-
176
- if (target) {
177
- await agent.send({
178
- to: { agentId: target.id },
179
- payload: { text },
180
- });
181
- console.log(`[You → ${target.name}]: ${text}`);
182
- } else {
183
- console.log(`Agent "${targetName}" not found.`);
184
- }
185
- } else if (trimmed) {
186
- // Broadcast to all agents
187
- const { agents } = await agent.listAgents();
188
- const others = agents.filter((a) => a.id !== registered.id);
189
-
190
- for (const other of others) {
191
- await agent.send({
192
- to: { agentId: other.id },
193
- payload: { text: trimmed },
194
- });
195
- }
196
- console.log(`[You → all]: ${trimmed}`);
197
- }
198
-
199
- rl.prompt();
200
- });
201
- }
202
-
203
- main().catch(console.error);
204
- ```
205
-
206
- ---
207
-
208
- ## Running the Example
209
-
210
- 1. Start the server:
211
-
212
- ```bash
213
- npx ts-node server.ts
214
- ```
215
-
216
- 2. In separate terminals, start multiple chat agents:
217
-
218
- ```bash
219
- # Terminal 2
220
- npx ts-node chat-agent.ts Alice
221
-
222
- # Terminal 3
223
- npx ts-node chat-agent.ts Bob
224
- ```
225
-
226
- 3. Type messages in each terminal:
227
-
228
- ```
229
- # Alice's terminal
230
- > Hello everyone!
231
- [You → all]: Hello everyone!
232
-
233
- # Bob's terminal
234
- [Alice]: Hello everyone!
235
- > @Alice Hi Alice!
236
- [You → Alice]: Hi Alice!
237
- ```
238
-
239
- ---
240
-
241
- ## Key Concepts Demonstrated
242
-
243
- ### Agent Registration
244
-
245
- ```typescript
246
- const agent = new AgentConnection(stream, {
247
- name: agentName,
248
- role: "chatter",
249
- });
250
-
251
- await agent.connect();
252
- ```
253
-
254
- ### Message Handling
255
-
256
- ```typescript
257
- agent.onMessage((message) => {
258
- console.log(`[${message.from}]: ${message.payload.text}`);
259
- });
260
- ```
261
-
262
- ### Agent Discovery
263
-
264
- ```typescript
265
- const { agents } = await agent.listAgents();
266
- ```
267
-
268
- ### Direct Messaging
269
-
270
- ```typescript
271
- await agent.send({
272
- to: { agentId: target.id },
273
- payload: { text: "Hello!" },
274
- });
275
- ```
276
-
277
- ---
278
-
279
- ## Next Steps
280
-
281
- - [Task Queue](./task-queue.html) - Work distribution with scopes
282
- - [Full Integration](./full-integration.html) - Complete application
@@ -1,399 +0,0 @@
1
- ---
2
- title: Task Queue
3
- parent: Examples
4
- nav_order: 2
5
- description: "Work distribution with scopes"
6
- ---
7
-
8
- # Task Queue
9
- {: .no_toc }
10
-
11
- Distribute work to agents using scopes.
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
- ## Overview
23
-
24
- This example demonstrates:
25
- - Creating scopes for work distribution
26
- - Coordinator pattern for task assignment
27
- - Worker agents processing tasks
28
- - Client submitting and monitoring work
29
-
30
- ---
31
-
32
- ## Architecture
33
-
34
- ```mermaid
35
- flowchart TB
36
- Client["Client<br/>(submits tasks)"]
37
- Coord["Coordinator<br/>(assigns to workers)"]
38
- W1["Worker 1<br/>(scope)"]
39
- W2["Worker 2<br/>(scope)"]
40
- W3["Worker 3<br/>(scope)"]
41
-
42
- Client --> Coord
43
- Coord --> W1
44
- Coord --> W2
45
- Coord --> W3
46
- ```
47
-
48
- ---
49
-
50
- ## Server
51
-
52
- ```typescript
53
- // server.ts
54
- import { MAPServer } from "@multi-agent-protocol/sdk/server";
55
- import { WebSocketServer } from "ws";
56
-
57
- const server = new MAPServer({
58
- name: "TaskQueueServer",
59
- version: "1.0.0",
60
- });
61
-
62
- const wss = new WebSocketServer({ port: 8080 });
63
-
64
- wss.on("connection", (ws) => {
65
- server.accept(websocketToStream(ws)).start();
66
- });
67
-
68
- console.log("Task queue server running on ws://localhost:8080");
69
- ```
70
-
71
- ---
72
-
73
- ## Coordinator
74
-
75
- ```typescript
76
- // coordinator.ts
77
- import { AgentConnection } from "@multi-agent-protocol/sdk";
78
- import WebSocket from "ws";
79
-
80
- async function main() {
81
- const ws = new WebSocket("ws://localhost:8080");
82
- await new Promise((resolve) => ws.on("open", resolve));
83
-
84
- const agent = new AgentConnection(websocketToStream(ws), {
85
- name: "Coordinator",
86
- role: "coordinator",
87
- });
88
-
89
- const { agent: registered } = await agent.connect();
90
- console.log(`Coordinator registered: ${registered.id}`);
91
-
92
- // Create task queue scope
93
- const taskQueue = await agent.createScope({
94
- name: "task-queue",
95
- metadata: { type: "work-distribution" },
96
- });
97
- console.log(`Created task queue scope: ${taskQueue.id}`);
98
-
99
- // Track workers and their state
100
- const workers = new Map<string, { agentId: string; busy: boolean }>();
101
- const pendingTasks: any[] = [];
102
-
103
- // Subscribe to worker events
104
- const subscription = await agent.subscribe({
105
- eventTypes: ["scope.joined", "scope.left", "agent.unregistered"],
106
- });
107
-
108
- // Process events in background
109
- (async () => {
110
- for await (const event of subscription) {
111
- if (event.type === "scope.joined" && event.data.scopeId === taskQueue.id) {
112
- const { agentId } = event.data;
113
- if (agentId !== registered.id) {
114
- workers.set(agentId, { agentId, busy: false });
115
- console.log(`Worker joined: ${agentId}`);
116
- // Try to assign pending tasks
117
- assignPendingTasks();
118
- }
119
- }
120
-
121
- if (event.type === "scope.left" && event.data.scopeId === taskQueue.id) {
122
- workers.delete(event.data.agentId);
123
- console.log(`Worker left: ${event.data.agentId}`);
124
- }
125
-
126
- if (event.type === "agent.unregistered") {
127
- workers.delete(event.data.agentId);
128
- }
129
- }
130
- })();
131
-
132
- // Handle incoming messages
133
- agent.onMessage(async (message) => {
134
- const { type } = message.payload;
135
-
136
- if (type === "submit-task") {
137
- const task = {
138
- id: `task-${Date.now()}`,
139
- ...message.payload.task,
140
- submitter: message.from,
141
- };
142
-
143
- console.log(`Received task: ${task.id}`);
144
-
145
- // Find available worker
146
- const available = [...workers.values()].find((w) => !w.busy);
147
-
148
- if (available) {
149
- assignTask(task, available.agentId);
150
- } else {
151
- pendingTasks.push(task);
152
- console.log(`Task ${task.id} queued (${pendingTasks.length} pending)`);
153
- }
154
- }
155
-
156
- if (type === "task-complete") {
157
- const { taskId, result, success } = message.payload;
158
- const worker = workers.get(message.from);
159
-
160
- if (worker) {
161
- worker.busy = false;
162
- }
163
-
164
- console.log(`Task ${taskId} completed: ${success ? "success" : "failed"}`);
165
-
166
- // Notify submitter
167
- // ... forward result to original submitter
168
-
169
- // Assign pending tasks
170
- assignPendingTasks();
171
- }
172
- });
173
-
174
- async function assignTask(task: any, workerId: string) {
175
- const worker = workers.get(workerId);
176
- if (worker) {
177
- worker.busy = true;
178
- }
179
-
180
- await agent.send({
181
- to: { agentId: workerId },
182
- payload: {
183
- type: "task",
184
- task,
185
- },
186
- });
187
-
188
- console.log(`Assigned task ${task.id} to ${workerId}`);
189
- }
190
-
191
- function assignPendingTasks() {
192
- while (pendingTasks.length > 0) {
193
- const available = [...workers.values()].find((w) => !w.busy);
194
- if (!available) break;
195
-
196
- const task = pendingTasks.shift()!;
197
- assignTask(task, available.agentId);
198
- }
199
- }
200
-
201
- console.log("Coordinator ready. Waiting for workers and tasks...");
202
- }
203
-
204
- main().catch(console.error);
205
- ```
206
-
207
- ---
208
-
209
- ## Worker
210
-
211
- ```typescript
212
- // worker.ts
213
- import { AgentConnection } from "@multi-agent-protocol/sdk";
214
- import WebSocket from "ws";
215
-
216
- async function main() {
217
- const workerId = process.argv[2] || `Worker-${Math.random().toString(36).slice(2, 6)}`;
218
-
219
- const ws = new WebSocket("ws://localhost:8080");
220
- await new Promise((resolve) => ws.on("open", resolve));
221
-
222
- const agent = new AgentConnection(websocketToStream(ws), {
223
- name: workerId,
224
- role: "worker",
225
- });
226
-
227
- const { agent: registered } = await agent.connect();
228
- console.log(`Worker registered: ${registered.id}`);
229
-
230
- // Find and join task queue
231
- const { scopes } = await agent.listScopes();
232
- const taskQueue = scopes.find((s) => s.name === "task-queue");
233
-
234
- if (taskQueue) {
235
- await agent.joinScope(taskQueue.id);
236
- console.log("Joined task queue");
237
- } else {
238
- console.log("Task queue not found. Waiting for coordinator...");
239
-
240
- // Subscribe to scope creation
241
- const sub = await agent.subscribe({ eventTypes: ["scope.created"] });
242
- for await (const event of sub) {
243
- if (event.data.scope.name === "task-queue") {
244
- await agent.joinScope(event.data.scope.id);
245
- console.log("Joined task queue");
246
- await sub.unsubscribe();
247
- break;
248
- }
249
- }
250
- }
251
-
252
- // Handle tasks
253
- agent.onMessage(async (message) => {
254
- if (message.payload.type === "task") {
255
- const { task } = message.payload;
256
- console.log(`Processing task: ${task.id}`);
257
-
258
- await agent.update({ state: "busy" });
259
-
260
- try {
261
- // Simulate work
262
- await new Promise((r) => setTimeout(r, 2000 + Math.random() * 3000));
263
-
264
- // Send result
265
- await agent.send({
266
- to: { agentId: message.from },
267
- payload: {
268
- type: "task-complete",
269
- taskId: task.id,
270
- success: true,
271
- result: { processed: true },
272
- },
273
- });
274
-
275
- console.log(`Completed task: ${task.id}`);
276
- } catch (error) {
277
- await agent.send({
278
- to: { agentId: message.from },
279
- payload: {
280
- type: "task-complete",
281
- taskId: task.id,
282
- success: false,
283
- error: error.message,
284
- },
285
- });
286
- }
287
-
288
- await agent.update({ state: "running" });
289
- }
290
- });
291
-
292
- console.log("Worker ready. Waiting for tasks...");
293
- }
294
-
295
- main().catch(console.error);
296
- ```
297
-
298
- ---
299
-
300
- ## Client
301
-
302
- ```typescript
303
- // client.ts
304
- import { ClientConnection } from "@multi-agent-protocol/sdk";
305
- import WebSocket from "ws";
306
-
307
- async function main() {
308
- const ws = new WebSocket("ws://localhost:8080");
309
- await new Promise((resolve) => ws.on("open", resolve));
310
-
311
- const client = new ClientConnection(websocketToStream(ws), {
312
- name: "TaskSubmitter",
313
- });
314
-
315
- await client.connect();
316
- console.log("Connected to task queue server");
317
-
318
- // Find coordinator
319
- const { agents } = await client.listAgents({ role: "coordinator" });
320
-
321
- if (agents.length === 0) {
322
- console.log("No coordinator found. Please start the coordinator first.");
323
- return;
324
- }
325
-
326
- const coordinator = agents[0];
327
- console.log(`Found coordinator: ${coordinator.id}`);
328
-
329
- // Submit some tasks
330
- for (let i = 1; i <= 5; i++) {
331
- await client.send({
332
- to: { agentId: coordinator.id },
333
- payload: {
334
- type: "submit-task",
335
- task: {
336
- name: `Task ${i}`,
337
- data: { value: i * 10 },
338
- },
339
- },
340
- });
341
-
342
- console.log(`Submitted task ${i}`);
343
- await new Promise((r) => setTimeout(r, 500));
344
- }
345
-
346
- console.log("All tasks submitted. Monitoring...");
347
-
348
- // Subscribe to events
349
- const subscription = await client.subscribe({
350
- eventTypes: ["agent.*"],
351
- });
352
-
353
- for await (const event of subscription) {
354
- console.log(`Event: ${event.type}`);
355
- }
356
- }
357
-
358
- main().catch(console.error);
359
- ```
360
-
361
- ---
362
-
363
- ## Running the Example
364
-
365
- 1. Start the server:
366
- ```bash
367
- npx ts-node server.ts
368
- ```
369
-
370
- 2. Start the coordinator:
371
- ```bash
372
- npx ts-node coordinator.ts
373
- ```
374
-
375
- 3. Start some workers:
376
- ```bash
377
- npx ts-node worker.ts Worker1
378
- npx ts-node worker.ts Worker2
379
- ```
380
-
381
- 4. Submit tasks:
382
- ```bash
383
- npx ts-node client.ts
384
- ```
385
-
386
- ---
387
-
388
- ## Key Concepts Demonstrated
389
-
390
- - **Scopes** for grouping related agents
391
- - **Coordinator pattern** for task distribution
392
- - **Worker pool** with busy/available tracking
393
- - **Message passing** for task assignment and completion
394
-
395
- ---
396
-
397
- ## Next Steps
398
-
399
- - [Full Integration](./full-integration.html) - Complete application with all concepts