macro-agent 0.0.10 → 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 (518) 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 +56 -51
  16. package/.sudocode/specs.jsonl +8 -1
  17. package/CLAUDE.md +121 -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 +40 -1
  31. package/dist/agent/agent-manager.d.ts.map +1 -1
  32. package/dist/agent/agent-manager.js +172 -8
  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/wake.d.ts +15 -0
  38. package/dist/agent/wake.d.ts.map +1 -1
  39. package/dist/agent/wake.js +15 -0
  40. package/dist/agent/wake.js.map +1 -1
  41. package/dist/agent-detection/command-builder.d.ts +30 -0
  42. package/dist/agent-detection/command-builder.d.ts.map +1 -0
  43. package/dist/agent-detection/command-builder.js +71 -0
  44. package/dist/agent-detection/command-builder.js.map +1 -0
  45. package/dist/agent-detection/detector.d.ts +84 -0
  46. package/dist/agent-detection/detector.d.ts.map +1 -0
  47. package/dist/agent-detection/detector.js +240 -0
  48. package/dist/agent-detection/detector.js.map +1 -0
  49. package/dist/agent-detection/index.d.ts +12 -0
  50. package/dist/agent-detection/index.d.ts.map +1 -0
  51. package/dist/agent-detection/index.js +14 -0
  52. package/dist/agent-detection/index.js.map +1 -0
  53. package/dist/agent-detection/registry.d.ts +53 -0
  54. package/dist/agent-detection/registry.d.ts.map +1 -0
  55. package/dist/agent-detection/registry.js +177 -0
  56. package/dist/agent-detection/registry.js.map +1 -0
  57. package/dist/agent-detection/types.d.ts +121 -0
  58. package/dist/agent-detection/types.d.ts.map +1 -0
  59. package/dist/agent-detection/types.js +20 -0
  60. package/dist/agent-detection/types.js.map +1 -0
  61. package/dist/api/server.d.ts +5 -1
  62. package/dist/api/server.d.ts.map +1 -1
  63. package/dist/api/server.js +362 -0
  64. package/dist/api/server.js.map +1 -1
  65. package/dist/api/types.d.ts +50 -1
  66. package/dist/api/types.d.ts.map +1 -1
  67. package/dist/cli/acp.d.ts +2 -0
  68. package/dist/cli/acp.d.ts.map +1 -1
  69. package/dist/cli/acp.js +8 -1
  70. package/dist/cli/acp.js.map +1 -1
  71. package/dist/cli/index.js +29 -0
  72. package/dist/cli/index.js.map +1 -1
  73. package/dist/cli/mcp.js +38 -0
  74. package/dist/cli/mcp.js.map +1 -1
  75. package/dist/config/index.d.ts +2 -0
  76. package/dist/config/index.d.ts.map +1 -0
  77. package/dist/config/index.js +2 -0
  78. package/dist/config/index.js.map +1 -0
  79. package/dist/config/project-config.d.ts +46 -0
  80. package/dist/config/project-config.d.ts.map +1 -0
  81. package/dist/config/project-config.js +68 -0
  82. package/dist/config/project-config.js.map +1 -0
  83. package/dist/lifecycle/cascade.d.ts +1 -1
  84. package/dist/lifecycle/cascade.d.ts.map +1 -1
  85. package/dist/lifecycle/handlers/index.d.ts +4 -0
  86. package/dist/lifecycle/handlers/index.d.ts.map +1 -1
  87. package/dist/lifecycle/handlers/index.js +2 -0
  88. package/dist/lifecycle/handlers/index.js.map +1 -1
  89. package/dist/lifecycle/handlers/worker.d.ts +4 -0
  90. package/dist/lifecycle/handlers/worker.d.ts.map +1 -1
  91. package/dist/lifecycle/handlers/worker.js +35 -3
  92. package/dist/lifecycle/handlers/worker.js.map +1 -1
  93. package/dist/mail/conversation-map.d.ts +33 -0
  94. package/dist/mail/conversation-map.d.ts.map +1 -0
  95. package/dist/mail/conversation-map.js +61 -0
  96. package/dist/mail/conversation-map.js.map +1 -0
  97. package/dist/mail/index.d.ts +11 -0
  98. package/dist/mail/index.d.ts.map +1 -0
  99. package/dist/mail/index.js +11 -0
  100. package/dist/mail/index.js.map +1 -0
  101. package/dist/mail/mail-service.d.ts +85 -0
  102. package/dist/mail/mail-service.d.ts.map +1 -0
  103. package/dist/mail/mail-service.js +121 -0
  104. package/dist/mail/mail-service.js.map +1 -0
  105. package/dist/mail/stores/eventstore-conversation-store.d.ts +40 -0
  106. package/dist/mail/stores/eventstore-conversation-store.d.ts.map +1 -0
  107. package/dist/mail/stores/eventstore-conversation-store.js +131 -0
  108. package/dist/mail/stores/eventstore-conversation-store.js.map +1 -0
  109. package/dist/mail/stores/eventstore-participant-store.d.ts +43 -0
  110. package/dist/mail/stores/eventstore-participant-store.d.ts.map +1 -0
  111. package/dist/mail/stores/eventstore-participant-store.js +145 -0
  112. package/dist/mail/stores/eventstore-participant-store.js.map +1 -0
  113. package/dist/mail/stores/eventstore-thread-store.d.ts +46 -0
  114. package/dist/mail/stores/eventstore-thread-store.d.ts.map +1 -0
  115. package/dist/mail/stores/eventstore-thread-store.js +118 -0
  116. package/dist/mail/stores/eventstore-thread-store.js.map +1 -0
  117. package/dist/mail/stores/eventstore-turn-store.d.ts +47 -0
  118. package/dist/mail/stores/eventstore-turn-store.d.ts.map +1 -0
  119. package/dist/mail/stores/eventstore-turn-store.js +153 -0
  120. package/dist/mail/stores/eventstore-turn-store.js.map +1 -0
  121. package/dist/mail/stores/index.d.ts +12 -0
  122. package/dist/mail/stores/index.d.ts.map +1 -0
  123. package/dist/mail/stores/index.js +12 -0
  124. package/dist/mail/stores/index.js.map +1 -0
  125. package/dist/mail/stores/types.d.ts +146 -0
  126. package/dist/mail/stores/types.d.ts.map +1 -0
  127. package/dist/mail/stores/types.js +13 -0
  128. package/dist/mail/stores/types.js.map +1 -0
  129. package/dist/mail/turn-recorder.d.ts +30 -0
  130. package/dist/mail/turn-recorder.d.ts.map +1 -0
  131. package/dist/mail/turn-recorder.js +98 -0
  132. package/dist/mail/turn-recorder.js.map +1 -0
  133. package/dist/map/adapter/acp-over-map.d.ts.map +1 -1
  134. package/dist/map/adapter/acp-over-map.js +32 -2
  135. package/dist/map/adapter/acp-over-map.js.map +1 -1
  136. package/dist/map/adapter/event-translator.d.ts.map +1 -1
  137. package/dist/map/adapter/event-translator.js +4 -0
  138. package/dist/map/adapter/event-translator.js.map +1 -1
  139. package/dist/map/adapter/extensions/agent-detection.d.ts +49 -0
  140. package/dist/map/adapter/extensions/agent-detection.d.ts.map +1 -0
  141. package/dist/map/adapter/extensions/agent-detection.js +91 -0
  142. package/dist/map/adapter/extensions/agent-detection.js.map +1 -0
  143. package/dist/map/adapter/extensions/index.d.ts +10 -1
  144. package/dist/map/adapter/extensions/index.d.ts.map +1 -1
  145. package/dist/map/adapter/extensions/index.js +39 -0
  146. package/dist/map/adapter/extensions/index.js.map +1 -1
  147. package/dist/map/adapter/extensions/resume.d.ts +47 -0
  148. package/dist/map/adapter/extensions/resume.d.ts.map +1 -0
  149. package/dist/map/adapter/extensions/resume.js +59 -0
  150. package/dist/map/adapter/extensions/resume.js.map +1 -0
  151. package/dist/map/adapter/extensions/workspace-files.d.ts +42 -0
  152. package/dist/map/adapter/extensions/workspace-files.d.ts.map +1 -0
  153. package/dist/map/adapter/extensions/workspace-files.js +338 -0
  154. package/dist/map/adapter/extensions/workspace-files.js.map +1 -0
  155. package/dist/map/adapter/mail-handler-adapter.d.ts +27 -0
  156. package/dist/map/adapter/mail-handler-adapter.d.ts.map +1 -0
  157. package/dist/map/adapter/mail-handler-adapter.js +292 -0
  158. package/dist/map/adapter/mail-handler-adapter.js.map +1 -0
  159. package/dist/map/adapter/map-adapter.d.ts +34 -10
  160. package/dist/map/adapter/map-adapter.d.ts.map +1 -1
  161. package/dist/map/adapter/map-adapter.js +110 -14
  162. package/dist/map/adapter/map-adapter.js.map +1 -1
  163. package/dist/map/adapter/rpc-handler.d.ts +4 -1
  164. package/dist/map/adapter/rpc-handler.d.ts.map +1 -1
  165. package/dist/map/adapter/rpc-handler.js +6 -0
  166. package/dist/map/adapter/rpc-handler.js.map +1 -1
  167. package/dist/map/index.d.ts +1 -0
  168. package/dist/map/index.d.ts.map +1 -1
  169. package/dist/map/index.js +2 -0
  170. package/dist/map/index.js.map +1 -1
  171. package/dist/map/types.d.ts +3 -1
  172. package/dist/map/types.d.ts.map +1 -1
  173. package/dist/map/types.js.map +1 -1
  174. package/dist/mcp/mcp-server.d.ts +6 -0
  175. package/dist/mcp/mcp-server.d.ts.map +1 -1
  176. package/dist/mcp/mcp-server.js +45 -0
  177. package/dist/mcp/mcp-server.js.map +1 -1
  178. package/dist/mcp/tools/claim_task.d.ts +35 -0
  179. package/dist/mcp/tools/claim_task.d.ts.map +1 -0
  180. package/dist/mcp/tools/claim_task.js +58 -0
  181. package/dist/mcp/tools/claim_task.js.map +1 -0
  182. package/dist/mcp/tools/done.d.ts +15 -2
  183. package/dist/mcp/tools/done.d.ts.map +1 -1
  184. package/dist/mcp/tools/done.js +45 -10
  185. package/dist/mcp/tools/done.js.map +1 -1
  186. package/dist/mcp/tools/list_claimable_tasks.d.ts +38 -0
  187. package/dist/mcp/tools/list_claimable_tasks.d.ts.map +1 -0
  188. package/dist/mcp/tools/list_claimable_tasks.js +63 -0
  189. package/dist/mcp/tools/list_claimable_tasks.js.map +1 -0
  190. package/dist/mcp/tools/unclaim_task.d.ts +31 -0
  191. package/dist/mcp/tools/unclaim_task.d.ts.map +1 -0
  192. package/dist/mcp/tools/unclaim_task.js +47 -0
  193. package/dist/mcp/tools/unclaim_task.js.map +1 -0
  194. package/dist/metrics/index.d.ts +2 -0
  195. package/dist/metrics/index.d.ts.map +1 -0
  196. package/dist/metrics/index.js +2 -0
  197. package/dist/metrics/index.js.map +1 -0
  198. package/dist/metrics/metrics.d.ts +79 -0
  199. package/dist/metrics/metrics.d.ts.map +1 -0
  200. package/dist/metrics/metrics.js +166 -0
  201. package/dist/metrics/metrics.js.map +1 -0
  202. package/dist/roles/capabilities.d.ts +1 -0
  203. package/dist/roles/capabilities.d.ts.map +1 -1
  204. package/dist/roles/capabilities.js +3 -0
  205. package/dist/roles/capabilities.js.map +1 -1
  206. package/dist/roles/types.d.ts +1 -1
  207. package/dist/roles/types.d.ts.map +1 -1
  208. package/dist/router/channels.d.ts +2 -4
  209. package/dist/router/channels.d.ts.map +1 -1
  210. package/dist/router/channels.js.map +1 -1
  211. package/dist/router/message-router.d.ts +85 -9
  212. package/dist/router/message-router.d.ts.map +1 -1
  213. package/dist/router/message-router.js +203 -14
  214. package/dist/router/message-router.js.map +1 -1
  215. package/dist/router/role-resolver.d.ts +10 -1
  216. package/dist/router/role-resolver.d.ts.map +1 -1
  217. package/dist/router/role-resolver.js +15 -1
  218. package/dist/router/role-resolver.js.map +1 -1
  219. package/dist/router/types.d.ts +30 -1
  220. package/dist/router/types.d.ts.map +1 -1
  221. package/dist/router/types.js.map +1 -1
  222. package/dist/server/combined-server.d.ts +6 -0
  223. package/dist/server/combined-server.d.ts.map +1 -1
  224. package/dist/server/combined-server.js +24 -2
  225. package/dist/server/combined-server.js.map +1 -1
  226. package/dist/store/event-store.d.ts +14 -1
  227. package/dist/store/event-store.d.ts.map +1 -1
  228. package/dist/store/event-store.js +456 -4
  229. package/dist/store/event-store.js.map +1 -1
  230. package/dist/store/types/agents.d.ts +1 -1
  231. package/dist/store/types/agents.d.ts.map +1 -1
  232. package/dist/store/types/conversations.d.ts +91 -0
  233. package/dist/store/types/conversations.d.ts.map +1 -0
  234. package/dist/store/types/conversations.js +8 -0
  235. package/dist/store/types/conversations.js.map +1 -0
  236. package/dist/store/types/events.d.ts +1 -1
  237. package/dist/store/types/events.d.ts.map +1 -1
  238. package/dist/store/types/events.js.map +1 -1
  239. package/dist/store/types/index.d.ts +2 -0
  240. package/dist/store/types/index.d.ts.map +1 -1
  241. package/dist/store/types/index.js +2 -0
  242. package/dist/store/types/index.js.map +1 -1
  243. package/dist/store/types/sessions.d.ts +44 -0
  244. package/dist/store/types/sessions.d.ts.map +1 -0
  245. package/dist/store/types/sessions.js +9 -0
  246. package/dist/store/types/sessions.js.map +1 -0
  247. package/dist/store/types/tasks.d.ts +2 -0
  248. package/dist/store/types/tasks.d.ts.map +1 -1
  249. package/dist/task/backend/memory.d.ts +4 -1
  250. package/dist/task/backend/memory.d.ts.map +1 -1
  251. package/dist/task/backend/memory.js +81 -0
  252. package/dist/task/backend/memory.js.map +1 -1
  253. package/dist/task/backend/types.d.ts +30 -0
  254. package/dist/task/backend/types.d.ts.map +1 -1
  255. package/dist/task/backend/types.js.map +1 -1
  256. package/dist/teams/index.d.ts +4 -0
  257. package/dist/teams/index.d.ts.map +1 -0
  258. package/dist/teams/index.js +4 -0
  259. package/dist/teams/index.js.map +1 -0
  260. package/dist/teams/team-loader.d.ts +20 -0
  261. package/dist/teams/team-loader.d.ts.map +1 -0
  262. package/dist/teams/team-loader.js +293 -0
  263. package/dist/teams/team-loader.js.map +1 -0
  264. package/dist/teams/team-runtime.d.ts +139 -0
  265. package/dist/teams/team-runtime.d.ts.map +1 -0
  266. package/dist/teams/team-runtime.js +613 -0
  267. package/dist/teams/team-runtime.js.map +1 -0
  268. package/dist/teams/types.d.ts +266 -0
  269. package/dist/teams/types.d.ts.map +1 -0
  270. package/dist/teams/types.js +20 -0
  271. package/dist/teams/types.js.map +1 -0
  272. package/dist/trigger/router/trigger-router.d.ts +30 -3
  273. package/dist/trigger/router/trigger-router.d.ts.map +1 -1
  274. package/dist/trigger/router/trigger-router.js +30 -3
  275. package/dist/trigger/router/trigger-router.js.map +1 -1
  276. package/dist/trigger/wake/types.d.ts +31 -5
  277. package/dist/trigger/wake/types.d.ts.map +1 -1
  278. package/dist/trigger/wake/types.js +19 -0
  279. package/dist/trigger/wake/types.js.map +1 -1
  280. package/dist/workspace/dataplane-adapter.d.ts +1 -1
  281. package/dist/workspace/dataplane-adapter.d.ts.map +1 -1
  282. package/dist/workspace/dataplane-adapter.js +1 -1
  283. package/dist/workspace/dataplane-adapter.js.map +1 -1
  284. package/dist/workspace/index.d.ts +1 -1
  285. package/dist/workspace/index.d.ts.map +1 -1
  286. package/dist/workspace/strategies/index.d.ts +6 -0
  287. package/dist/workspace/strategies/index.d.ts.map +1 -0
  288. package/dist/workspace/strategies/index.js +5 -0
  289. package/dist/workspace/strategies/index.js.map +1 -0
  290. package/dist/workspace/strategies/optimistic.d.ts +26 -0
  291. package/dist/workspace/strategies/optimistic.d.ts.map +1 -0
  292. package/dist/workspace/strategies/optimistic.js +121 -0
  293. package/dist/workspace/strategies/optimistic.js.map +1 -0
  294. package/dist/workspace/strategies/queue.d.ts +26 -0
  295. package/dist/workspace/strategies/queue.d.ts.map +1 -0
  296. package/dist/workspace/strategies/queue.js +67 -0
  297. package/dist/workspace/strategies/queue.js.map +1 -0
  298. package/dist/workspace/strategies/registry.d.ts +37 -0
  299. package/dist/workspace/strategies/registry.d.ts.map +1 -0
  300. package/dist/workspace/strategies/registry.js +63 -0
  301. package/dist/workspace/strategies/registry.js.map +1 -0
  302. package/dist/workspace/strategies/trunk.d.ts +20 -0
  303. package/dist/workspace/strategies/trunk.d.ts.map +1 -0
  304. package/dist/workspace/strategies/trunk.js +108 -0
  305. package/dist/workspace/strategies/trunk.js.map +1 -0
  306. package/dist/workspace/strategies/types.d.ts +104 -0
  307. package/dist/workspace/strategies/types.d.ts.map +1 -0
  308. package/dist/workspace/strategies/types.js +11 -0
  309. package/dist/workspace/strategies/types.js.map +1 -0
  310. package/dist/workspace/types.d.ts +1 -1
  311. package/dist/workspace/types.d.ts.map +1 -1
  312. package/dist/workspace/workspace-manager.d.ts +1 -1
  313. package/dist/workspace/workspace-manager.d.ts.map +1 -1
  314. package/docs/implementation-details.md +1127 -0
  315. package/docs/implementation-summary.md +448 -0
  316. package/docs/mail-integration.md +608 -0
  317. package/docs/plan-self-driving-support.md +433 -0
  318. package/docs/spec-self-driving-support.md +462 -0
  319. package/docs/team-templates.md +860 -0
  320. package/docs/teams.md +233 -0
  321. package/package.json +5 -3
  322. package/src/acp/__tests__/integration.test.ts +161 -1
  323. package/src/acp/__tests__/macro-agent.test.ts +95 -0
  324. package/src/acp/__tests__/session-persistence.test.ts +276 -0
  325. package/src/acp/macro-agent.ts +79 -7
  326. package/src/acp/session-mapper.ts +108 -1
  327. package/src/acp/types.ts +33 -1
  328. package/src/agent/agent-manager.ts +278 -6
  329. package/src/agent/types.ts +27 -0
  330. package/src/agent/wake.ts +15 -0
  331. package/src/agent-detection/__tests__/command-builder.test.ts +336 -0
  332. package/src/agent-detection/__tests__/detector.test.ts +768 -0
  333. package/src/agent-detection/__tests__/registry.test.ts +254 -0
  334. package/src/agent-detection/command-builder.ts +90 -0
  335. package/src/agent-detection/detector.ts +307 -0
  336. package/src/agent-detection/index.ts +36 -0
  337. package/src/agent-detection/registry.ts +200 -0
  338. package/src/agent-detection/types.ts +184 -0
  339. package/src/api/__tests__/conversation-api.test.ts +468 -0
  340. package/src/api/server.ts +425 -1
  341. package/src/api/types.ts +64 -1
  342. package/src/cli/acp.ts +9 -1
  343. package/src/cli/index.ts +44 -0
  344. package/src/cli/mcp.ts +47 -0
  345. package/src/config/index.ts +9 -0
  346. package/src/config/project-config.ts +107 -0
  347. package/src/lifecycle/cascade.ts +1 -1
  348. package/src/lifecycle/handlers/index.ts +8 -0
  349. package/src/lifecycle/handlers/worker.ts +48 -3
  350. package/src/mail/__tests__/conversation-lifecycle.test.ts +409 -0
  351. package/src/mail/__tests__/eventstore-stores.test.ts +1073 -0
  352. package/src/mail/__tests__/mail-full-agent.e2e.test.ts +575 -0
  353. package/src/mail/__tests__/mail-integration.test.ts +759 -0
  354. package/src/mail/__tests__/mail-map-protocol.e2e.test.ts +1068 -0
  355. package/src/mail/__tests__/mail-service.test.ts +506 -0
  356. package/src/mail/__tests__/turn-recorder.test.ts +328 -0
  357. package/src/mail/conversation-map.ts +107 -0
  358. package/src/mail/index.ts +25 -0
  359. package/src/mail/mail-service.ts +257 -0
  360. package/src/mail/stores/eventstore-conversation-store.ts +146 -0
  361. package/src/mail/stores/eventstore-participant-store.ts +172 -0
  362. package/src/mail/stores/eventstore-thread-store.ts +129 -0
  363. package/src/mail/stores/eventstore-turn-store.ts +173 -0
  364. package/src/mail/stores/index.ts +12 -0
  365. package/src/mail/stores/types.ts +160 -0
  366. package/src/mail/turn-recorder.ts +124 -0
  367. package/src/map/README.md +79 -0
  368. package/src/map/adapter/__tests__/extensions.test.ts +359 -0
  369. package/src/map/adapter/__tests__/map-adapter.test.ts +90 -0
  370. package/src/map/adapter/__tests__/workspace-files.test.ts +673 -0
  371. package/src/map/adapter/acp-over-map.ts +45 -2
  372. package/src/map/adapter/event-translator.ts +4 -0
  373. package/src/map/adapter/extensions/agent-detection.ts +201 -0
  374. package/src/map/adapter/extensions/index.ts +63 -0
  375. package/src/map/adapter/extensions/resume.ts +114 -0
  376. package/src/map/adapter/extensions/workspace-files.ts +449 -0
  377. package/src/map/adapter/mail-handler-adapter.ts +429 -0
  378. package/src/map/adapter/map-adapter.ts +173 -27
  379. package/src/map/adapter/rpc-handler.ts +8 -1
  380. package/src/map/index.ts +3 -0
  381. package/src/map/types.ts +3 -1
  382. package/src/mcp/mcp-server.ts +67 -0
  383. package/src/mcp/tools/claim_task.ts +86 -0
  384. package/src/mcp/tools/done.ts +59 -10
  385. package/src/mcp/tools/list_claimable_tasks.ts +93 -0
  386. package/src/mcp/tools/unclaim_task.ts +71 -0
  387. package/src/metrics/index.ts +9 -0
  388. package/src/metrics/metrics.ts +280 -0
  389. package/src/roles/capabilities.ts +3 -0
  390. package/src/roles/types.ts +2 -1
  391. package/src/router/README.md +120 -0
  392. package/src/router/__tests__/message-router.test.ts +561 -0
  393. package/src/router/channels.ts +3 -4
  394. package/src/router/message-router.ts +308 -22
  395. package/src/router/role-resolver.ts +22 -1
  396. package/src/router/types.ts +36 -1
  397. package/src/server/combined-server.ts +36 -2
  398. package/src/store/README.md +134 -0
  399. package/src/store/event-store.ts +546 -3
  400. package/src/store/types/agents.ts +1 -1
  401. package/src/store/types/conversations.ts +129 -0
  402. package/src/store/types/events.ts +5 -1
  403. package/src/store/types/index.ts +2 -0
  404. package/src/store/types/sessions.ts +53 -0
  405. package/src/store/types/tasks.ts +3 -0
  406. package/src/task/backend/memory.ts +116 -0
  407. package/src/task/backend/types.ts +43 -0
  408. package/src/teams/__tests__/cross-subsystem.integration.test.ts +983 -0
  409. package/src/teams/__tests__/e2e/team-runtime.e2e.test.ts +553 -0
  410. package/src/teams/__tests__/team-system.test.ts +1280 -0
  411. package/src/teams/index.ts +13 -0
  412. package/src/teams/team-loader.ts +434 -0
  413. package/src/teams/team-runtime.ts +727 -0
  414. package/src/teams/types.ts +377 -0
  415. package/src/trigger/router/trigger-router.ts +30 -3
  416. package/src/trigger/wake/types.ts +32 -5
  417. package/src/trigger/wake/wake-manager.ts +2 -2
  418. package/src/workspace/dataplane-adapter.ts +1 -1
  419. package/src/workspace/index.ts +1 -1
  420. package/src/workspace/strategies/index.ts +18 -0
  421. package/src/workspace/strategies/optimistic.ts +136 -0
  422. package/src/workspace/strategies/queue.ts +81 -0
  423. package/src/workspace/strategies/registry.ts +89 -0
  424. package/src/workspace/strategies/trunk.ts +123 -0
  425. package/src/workspace/strategies/types.ts +145 -0
  426. package/src/workspace/types.ts +1 -1
  427. package/src/workspace/workspace-manager.ts +1 -1
  428. package/.claude/settings.local.json +0 -59
  429. package/dist/map/utils/address-translation.d.ts +0 -99
  430. package/dist/map/utils/address-translation.d.ts.map +0 -1
  431. package/dist/map/utils/address-translation.js +0 -285
  432. package/dist/map/utils/address-translation.js.map +0 -1
  433. package/dist/map/utils/index.d.ts +0 -7
  434. package/dist/map/utils/index.d.ts.map +0 -1
  435. package/dist/map/utils/index.js +0 -7
  436. package/dist/map/utils/index.js.map +0 -1
  437. package/openspec/AGENTS.md +0 -456
  438. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/design.md +0 -128
  439. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/proposal.md +0 -49
  440. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/specs/agent-manager/spec.md +0 -150
  441. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/specs/cli-api/spec.md +0 -258
  442. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/specs/event-store/spec.md +0 -160
  443. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/specs/mcp-tools/spec.md +0 -224
  444. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/specs/message-router/spec.md +0 -153
  445. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/specs/task-manager/spec.md +0 -136
  446. package/openspec/changes/archive/2025-12-21-add-mvp-foundation/tasks.md +0 -147
  447. package/openspec/project.md +0 -31
  448. package/openspec/specs/agent-manager/spec.md +0 -154
  449. package/openspec/specs/cli-api/spec.md +0 -262
  450. package/openspec/specs/event-store/spec.md +0 -164
  451. package/openspec/specs/mcp-tools/spec.md +0 -228
  452. package/openspec/specs/message-router/spec.md +0 -157
  453. package/openspec/specs/task-manager/spec.md +0 -140
  454. package/references/acp-factory-ref/CHANGELOG.md +0 -33
  455. package/references/acp-factory-ref/LICENSE +0 -21
  456. package/references/acp-factory-ref/README.md +0 -341
  457. package/references/acp-factory-ref/package-lock.json +0 -3102
  458. package/references/acp-factory-ref/package.json +0 -96
  459. package/references/acp-factory-ref/python/CHANGELOG.md +0 -33
  460. package/references/acp-factory-ref/python/LICENSE +0 -21
  461. package/references/acp-factory-ref/python/Makefile +0 -57
  462. package/references/acp-factory-ref/python/README.md +0 -253
  463. package/references/acp-factory-ref/python/pyproject.toml +0 -73
  464. package/references/acp-factory-ref/python/tests/__init__.py +0 -0
  465. package/references/acp-factory-ref/python/tests/e2e/__init__.py +0 -1
  466. package/references/acp-factory-ref/python/tests/e2e/test_codex_e2e.py +0 -349
  467. package/references/acp-factory-ref/python/tests/e2e/test_gemini_e2e.py +0 -165
  468. package/references/acp-factory-ref/python/tests/e2e/test_opencode_e2e.py +0 -296
  469. package/references/acp-factory-ref/python/tests/test_client_handler.py +0 -543
  470. package/references/acp-factory-ref/python/tests/test_pushable.py +0 -199
  471. package/references/claude-code-acp/.github/workflows/ci.yml +0 -45
  472. package/references/claude-code-acp/.github/workflows/publish.yml +0 -34
  473. package/references/claude-code-acp/.prettierrc.json +0 -4
  474. package/references/claude-code-acp/CHANGELOG.md +0 -249
  475. package/references/claude-code-acp/LICENSE +0 -222
  476. package/references/claude-code-acp/README.md +0 -53
  477. package/references/claude-code-acp/docs/RELEASES.md +0 -24
  478. package/references/claude-code-acp/eslint.config.js +0 -48
  479. package/references/claude-code-acp/package-lock.json +0 -4570
  480. package/references/claude-code-acp/package.json +0 -88
  481. package/references/claude-code-acp/scripts/release.sh +0 -119
  482. package/references/claude-code-acp/src/acp-agent.ts +0 -2065
  483. package/references/claude-code-acp/src/index.ts +0 -26
  484. package/references/claude-code-acp/src/lib.ts +0 -38
  485. package/references/claude-code-acp/src/mcp-server.ts +0 -911
  486. package/references/claude-code-acp/src/settings.ts +0 -522
  487. package/references/claude-code-acp/src/tests/.claude/commands/quick-math.md +0 -5
  488. package/references/claude-code-acp/src/tests/.claude/commands/say-hello.md +0 -6
  489. package/references/claude-code-acp/src/tests/acp-agent-fork.test.ts +0 -479
  490. package/references/claude-code-acp/src/tests/acp-agent.test.ts +0 -1502
  491. package/references/claude-code-acp/src/tests/extract-lines.test.ts +0 -103
  492. package/references/claude-code-acp/src/tests/fork-session.test.ts +0 -335
  493. package/references/claude-code-acp/src/tests/replace-and-calculate-location.test.ts +0 -334
  494. package/references/claude-code-acp/src/tests/settings.test.ts +0 -617
  495. package/references/claude-code-acp/src/tests/skills-options.test.ts +0 -187
  496. package/references/claude-code-acp/src/tests/tools.test.ts +0 -318
  497. package/references/claude-code-acp/src/tests/typescript-declarations.test.ts +0 -558
  498. package/references/claude-code-acp/src/tools.ts +0 -819
  499. package/references/claude-code-acp/src/utils.ts +0 -171
  500. package/references/claude-code-acp/tsconfig.json +0 -18
  501. package/references/claude-code-acp/vitest.config.ts +0 -19
  502. package/references/multi-agent-protocol/.sudocode/issues.jsonl +0 -82
  503. package/references/multi-agent-protocol/.sudocode/specs.jsonl +0 -9
  504. package/references/multi-agent-protocol/LICENSE +0 -21
  505. package/references/multi-agent-protocol/README.md +0 -113
  506. package/references/multi-agent-protocol/docs/00-design-specification.md +0 -460
  507. package/references/multi-agent-protocol/docs/01-open-questions.md +0 -1050
  508. package/references/multi-agent-protocol/docs/02-wire-protocol.md +0 -296
  509. package/references/multi-agent-protocol/docs/03-streaming-semantics.md +0 -252
  510. package/references/multi-agent-protocol/docs/04-error-handling.md +0 -231
  511. package/references/multi-agent-protocol/docs/05-connection-model.md +0 -244
  512. package/references/multi-agent-protocol/docs/06-visibility-permissions.md +0 -243
  513. package/references/multi-agent-protocol/docs/07-federation.md +0 -259
  514. package/references/multi-agent-protocol/docs/08-macro-agent-migration.md +0 -253
  515. package/references/multi-agent-protocol/package-lock.json +0 -3239
  516. package/references/multi-agent-protocol/package.json +0 -56
  517. package/references/multi-agent-protocol/schema/meta.json +0 -337
  518. package/references/multi-agent-protocol/schema/schema.json +0 -1828
@@ -1,1828 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/alexngai/multi-agent-protocol/schema/schema.json",
4
- "title": "Multi-Agent Protocol Schema",
5
- "description": "JSON Schema for the Multi-Agent Protocol (MAP) - a protocol for observing, coordinating, and routing messages within multi-agent AI systems",
6
- "oneOf": [
7
- { "$ref": "#/$defs/MAPRequest" },
8
- { "$ref": "#/$defs/MAPResponse" },
9
- { "$ref": "#/$defs/MAPNotification" }
10
- ],
11
- "$defs": {
12
- "JsonRpcVersion": {
13
- "type": "string",
14
- "const": "2.0",
15
- "description": "JSON-RPC version, always '2.0'"
16
- },
17
- "RequestId": {
18
- "oneOf": [
19
- { "type": "string" },
20
- { "type": "integer" }
21
- ],
22
- "description": "Unique identifier for a request, used to correlate responses"
23
- },
24
- "MAPRequest": {
25
- "type": "object",
26
- "description": "A JSON-RPC 2.0 request message in MAP",
27
- "properties": {
28
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
29
- "id": { "$ref": "#/$defs/RequestId" },
30
- "method": { "type": "string" },
31
- "params": { "type": "object" }
32
- },
33
- "required": ["jsonrpc", "id", "method"],
34
- "additionalProperties": false,
35
- "oneOf": [
36
- { "$ref": "#/$defs/ConnectRequest" },
37
- { "$ref": "#/$defs/DisconnectRequest" },
38
- { "$ref": "#/$defs/SessionListRequest" },
39
- { "$ref": "#/$defs/SessionLoadRequest" },
40
- { "$ref": "#/$defs/SessionCloseRequest" },
41
- { "$ref": "#/$defs/AgentsListRequest" },
42
- { "$ref": "#/$defs/AgentsGetRequest" },
43
- { "$ref": "#/$defs/AgentsRegisterRequest" },
44
- { "$ref": "#/$defs/AgentsSpawnRequest" },
45
- { "$ref": "#/$defs/AgentsUnregisterRequest" },
46
- { "$ref": "#/$defs/AgentsUpdateRequest" },
47
- { "$ref": "#/$defs/AgentsStopRequest" },
48
- { "$ref": "#/$defs/AgentsSuspendRequest" },
49
- { "$ref": "#/$defs/AgentsResumeRequest" },
50
- { "$ref": "#/$defs/SendRequest" },
51
- { "$ref": "#/$defs/SubscribeRequest" },
52
- { "$ref": "#/$defs/UnsubscribeRequest" },
53
- { "$ref": "#/$defs/ScopesListRequest" },
54
- { "$ref": "#/$defs/ScopesGetRequest" },
55
- { "$ref": "#/$defs/ScopesCreateRequest" },
56
- { "$ref": "#/$defs/ScopesDeleteRequest" },
57
- { "$ref": "#/$defs/ScopesJoinRequest" },
58
- { "$ref": "#/$defs/ScopesLeaveRequest" },
59
- { "$ref": "#/$defs/ScopesMembersRequest" },
60
- { "$ref": "#/$defs/StructureGraphRequest" },
61
- { "$ref": "#/$defs/AuthRefreshRequest" },
62
- { "$ref": "#/$defs/InjectRequest" },
63
- { "$ref": "#/$defs/FederationConnectRequest" },
64
- { "$ref": "#/$defs/FederationRouteRequest" }
65
- ]
66
- },
67
- "MAPResponse": {
68
- "type": "object",
69
- "description": "A JSON-RPC 2.0 response message in MAP",
70
- "properties": {
71
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
72
- "id": { "$ref": "#/$defs/RequestId" }
73
- },
74
- "required": ["jsonrpc", "id"],
75
- "oneOf": [
76
- {
77
- "type": "object",
78
- "properties": {
79
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
80
- "id": { "$ref": "#/$defs/RequestId" },
81
- "result": {}
82
- },
83
- "required": ["jsonrpc", "id", "result"],
84
- "additionalProperties": false
85
- },
86
- {
87
- "type": "object",
88
- "properties": {
89
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
90
- "id": { "$ref": "#/$defs/RequestId" },
91
- "error": { "$ref": "#/$defs/MAPError" }
92
- },
93
- "required": ["jsonrpc", "id", "error"],
94
- "additionalProperties": false
95
- }
96
- ]
97
- },
98
- "MAPNotification": {
99
- "type": "object",
100
- "description": "A JSON-RPC 2.0 notification message in MAP (no response expected)",
101
- "properties": {
102
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
103
- "method": { "type": "string" },
104
- "params": { "type": "object" }
105
- },
106
- "required": ["jsonrpc", "method"],
107
- "additionalProperties": false,
108
- "oneOf": [
109
- { "$ref": "#/$defs/EventNotification" },
110
- { "$ref": "#/$defs/MessageNotification" }
111
- ]
112
- },
113
- "MAPError": {
114
- "type": "object",
115
- "description": "JSON-RPC 2.0 error object",
116
- "properties": {
117
- "code": {
118
- "type": "integer",
119
- "description": "Error code"
120
- },
121
- "message": {
122
- "type": "string",
123
- "description": "Human-readable error message"
124
- },
125
- "data": {
126
- "description": "Additional error data",
127
- "$ref": "#/$defs/MAPErrorData"
128
- }
129
- },
130
- "required": ["code", "message"],
131
- "additionalProperties": false
132
- },
133
- "MAPErrorData": {
134
- "type": "object",
135
- "description": "Structured error data",
136
- "properties": {
137
- "category": { "$ref": "#/$defs/ErrorCategory" },
138
- "retryable": { "type": "boolean" },
139
- "retryAfterMs": { "type": "integer" },
140
- "details": { "type": "object" },
141
- "_meta": { "$ref": "#/$defs/Meta" }
142
- },
143
- "additionalProperties": true
144
- },
145
- "ErrorCategory": {
146
- "type": "string",
147
- "enum": [
148
- "protocol",
149
- "auth",
150
- "routing",
151
- "agent",
152
- "resource",
153
- "federation",
154
- "internal"
155
- ],
156
- "description": "Category of error for handling decisions"
157
- },
158
-
159
- "ParticipantId": {
160
- "type": "string",
161
- "description": "Unique identifier for any participant (agent, client, system, gateway)"
162
- },
163
- "AgentId": {
164
- "type": "string",
165
- "description": "Unique identifier for an agent"
166
- },
167
- "ScopeId": {
168
- "type": "string",
169
- "description": "Unique identifier for a scope"
170
- },
171
- "SessionId": {
172
- "type": "string",
173
- "description": "Unique identifier for a session"
174
- },
175
- "MessageId": {
176
- "type": "string",
177
- "description": "Unique identifier for a message"
178
- },
179
- "SubscriptionId": {
180
- "type": "string",
181
- "description": "Unique identifier for a subscription"
182
- },
183
- "CorrelationId": {
184
- "type": "string",
185
- "description": "Identifier for correlating related messages"
186
- },
187
- "ProtocolVersion": {
188
- "type": "integer",
189
- "const": 1,
190
- "description": "MAP protocol version"
191
- },
192
- "Timestamp": {
193
- "type": "integer",
194
- "description": "Unix timestamp in milliseconds"
195
- },
196
- "Meta": {
197
- "type": "object",
198
- "additionalProperties": true,
199
- "description": "Vendor extension metadata. Implementations MUST NOT assume specific keys."
200
- },
201
-
202
- "ParticipantType": {
203
- "type": "string",
204
- "enum": ["agent", "client", "system", "gateway"],
205
- "description": "Type of participant in the protocol"
206
- },
207
- "ParticipantCapabilities": {
208
- "type": "object",
209
- "description": "Capabilities of a participant, grouped by category",
210
- "properties": {
211
- "observation": {
212
- "type": "object",
213
- "properties": {
214
- "canObserve": {
215
- "type": "boolean",
216
- "description": "Can subscribe to event streams"
217
- },
218
- "canQuery": {
219
- "type": "boolean",
220
- "description": "Can query agents and structure"
221
- }
222
- },
223
- "additionalProperties": false
224
- },
225
- "messaging": {
226
- "type": "object",
227
- "properties": {
228
- "canSend": {
229
- "type": "boolean",
230
- "description": "Can send messages"
231
- },
232
- "canReceive": {
233
- "type": "boolean",
234
- "description": "Can receive messages addressed to it"
235
- },
236
- "canBroadcast": {
237
- "type": "boolean",
238
- "description": "Can send to scopes/roles"
239
- }
240
- },
241
- "additionalProperties": false
242
- },
243
- "lifecycle": {
244
- "type": "object",
245
- "properties": {
246
- "canSpawn": {
247
- "type": "boolean",
248
- "description": "Can create child agents"
249
- },
250
- "canRegister": {
251
- "type": "boolean",
252
- "description": "Can register agents (not as children)"
253
- },
254
- "canUnregister": {
255
- "type": "boolean",
256
- "description": "Can remove agents"
257
- },
258
- "canSteer": {
259
- "type": "boolean",
260
- "description": "Can inject context/control agents"
261
- },
262
- "canStop": {
263
- "type": "boolean",
264
- "description": "Can request agent termination"
265
- }
266
- },
267
- "additionalProperties": false
268
- },
269
- "scopes": {
270
- "type": "object",
271
- "properties": {
272
- "canCreateScopes": {
273
- "type": "boolean",
274
- "description": "Can create new scopes"
275
- },
276
- "canManageScopes": {
277
- "type": "boolean",
278
- "description": "Can modify and delete scopes"
279
- }
280
- },
281
- "additionalProperties": false
282
- },
283
- "_meta": { "$ref": "#/$defs/Meta" }
284
- },
285
- "additionalProperties": false
286
- },
287
- "TransportType": {
288
- "type": "string",
289
- "enum": ["websocket", "stdio", "inprocess", "http-sse"],
290
- "description": "Transport binding type"
291
- },
292
- "Participant": {
293
- "type": "object",
294
- "description": "A participant in the MAP protocol",
295
- "properties": {
296
- "id": { "$ref": "#/$defs/ParticipantId" },
297
- "type": { "$ref": "#/$defs/ParticipantType" },
298
- "name": { "type": "string" },
299
- "capabilities": { "$ref": "#/$defs/ParticipantCapabilities" },
300
- "transport": { "$ref": "#/$defs/TransportType" },
301
- "sessionId": { "$ref": "#/$defs/SessionId" },
302
- "metadata": { "type": "object" },
303
- "_meta": { "$ref": "#/$defs/Meta" }
304
- },
305
- "required": ["id", "type"],
306
- "additionalProperties": false
307
- },
308
-
309
- "AgentState": {
310
- "type": "string",
311
- "description": "State of an agent. Standard states are enumerated; custom states use 'x-' prefix.",
312
- "oneOf": [
313
- {
314
- "enum": [
315
- "registered",
316
- "active",
317
- "busy",
318
- "idle",
319
- "suspended",
320
- "stopping",
321
- "stopped",
322
- "failed"
323
- ]
324
- },
325
- {
326
- "type": "string",
327
- "pattern": "^x-[a-z][a-z0-9-]*$",
328
- "description": "Custom state with x- prefix"
329
- }
330
- ]
331
- },
332
- "AgentRelationship": {
333
- "type": "object",
334
- "description": "A relationship between agents",
335
- "properties": {
336
- "type": {
337
- "type": "string",
338
- "enum": ["peer", "supervisor", "supervised", "collaborator"],
339
- "description": "Type of relationship"
340
- },
341
- "agentId": { "$ref": "#/$defs/AgentId" },
342
- "metadata": { "type": "object" },
343
- "_meta": { "$ref": "#/$defs/Meta" }
344
- },
345
- "required": ["type", "agentId"],
346
- "additionalProperties": false
347
- },
348
- "AgentLifecycle": {
349
- "type": "object",
350
- "description": "Lifecycle metadata for an agent",
351
- "properties": {
352
- "createdAt": { "$ref": "#/$defs/Timestamp" },
353
- "startedAt": { "$ref": "#/$defs/Timestamp" },
354
- "stoppedAt": { "$ref": "#/$defs/Timestamp" },
355
- "lastActiveAt": { "$ref": "#/$defs/Timestamp" },
356
- "exitCode": { "type": "integer" },
357
- "exitReason": { "type": "string" },
358
- "_meta": { "$ref": "#/$defs/Meta" }
359
- },
360
- "additionalProperties": false
361
- },
362
- "AgentVisibility": {
363
- "type": "string",
364
- "enum": ["public", "parent-only", "scope", "system"],
365
- "description": "Who can see this agent"
366
- },
367
- "Agent": {
368
- "type": "object",
369
- "description": "An agent in the multi-agent system",
370
- "properties": {
371
- "id": { "$ref": "#/$defs/AgentId" },
372
- "name": { "type": "string" },
373
- "description": { "type": "string" },
374
- "parent": { "$ref": "#/$defs/AgentId" },
375
- "relationships": {
376
- "type": "array",
377
- "items": { "$ref": "#/$defs/AgentRelationship" }
378
- },
379
- "state": { "$ref": "#/$defs/AgentState" },
380
- "role": { "type": "string" },
381
- "scopes": {
382
- "type": "array",
383
- "items": { "$ref": "#/$defs/ScopeId" }
384
- },
385
- "visibility": { "$ref": "#/$defs/AgentVisibility" },
386
- "lifecycle": { "$ref": "#/$defs/AgentLifecycle" },
387
- "capabilities": { "$ref": "#/$defs/ParticipantCapabilities" },
388
- "metadata": { "type": "object" },
389
- "_meta": { "$ref": "#/$defs/Meta" }
390
- },
391
- "required": ["id", "state"],
392
- "additionalProperties": false
393
- },
394
-
395
- "Address": {
396
- "description": "Flexible addressing for any topology",
397
- "oneOf": [
398
- {
399
- "type": "string",
400
- "description": "Shorthand: agent ID"
401
- },
402
- { "$ref": "#/$defs/DirectAddress" },
403
- { "$ref": "#/$defs/MultiAddress" },
404
- { "$ref": "#/$defs/ScopeAddress" },
405
- { "$ref": "#/$defs/RoleAddress" },
406
- { "$ref": "#/$defs/HierarchicalAddress" },
407
- { "$ref": "#/$defs/BroadcastAddress" },
408
- { "$ref": "#/$defs/SystemAddress" },
409
- { "$ref": "#/$defs/ParticipantAddress" },
410
- { "$ref": "#/$defs/FederatedAddress" }
411
- ]
412
- },
413
- "DirectAddress": {
414
- "type": "object",
415
- "description": "Address a single agent directly",
416
- "properties": {
417
- "agent": { "$ref": "#/$defs/AgentId" }
418
- },
419
- "required": ["agent"],
420
- "additionalProperties": false
421
- },
422
- "MultiAddress": {
423
- "type": "object",
424
- "description": "Address multiple agents",
425
- "properties": {
426
- "agents": {
427
- "type": "array",
428
- "items": { "$ref": "#/$defs/AgentId" },
429
- "minItems": 1
430
- }
431
- },
432
- "required": ["agents"],
433
- "additionalProperties": false
434
- },
435
- "ScopeAddress": {
436
- "type": "object",
437
- "description": "Address all agents in a scope",
438
- "properties": {
439
- "scope": { "$ref": "#/$defs/ScopeId" }
440
- },
441
- "required": ["scope"],
442
- "additionalProperties": false
443
- },
444
- "RoleAddress": {
445
- "type": "object",
446
- "description": "Address agents by role, optionally within a scope",
447
- "properties": {
448
- "role": { "type": "string" },
449
- "within": { "$ref": "#/$defs/ScopeId" }
450
- },
451
- "required": ["role"],
452
- "additionalProperties": false
453
- },
454
- "HierarchicalAddress": {
455
- "type": "object",
456
- "description": "Address relative to sender in hierarchy",
457
- "properties": {
458
- "parent": {
459
- "type": "boolean",
460
- "const": true,
461
- "description": "Address sender's parent"
462
- },
463
- "children": {
464
- "type": "boolean",
465
- "const": true,
466
- "description": "Address sender's children"
467
- },
468
- "ancestors": {
469
- "type": "boolean",
470
- "const": true,
471
- "description": "Address ancestors up the tree"
472
- },
473
- "descendants": {
474
- "type": "boolean",
475
- "const": true,
476
- "description": "Address descendants down the tree"
477
- },
478
- "siblings": {
479
- "type": "boolean",
480
- "const": true,
481
- "description": "Address agents with same parent"
482
- },
483
- "depth": {
484
- "type": "integer",
485
- "minimum": 1,
486
- "description": "Limit depth for children/ancestors/descendants"
487
- }
488
- },
489
- "oneOf": [
490
- { "required": ["parent"] },
491
- { "required": ["children"] },
492
- { "required": ["ancestors"] },
493
- { "required": ["descendants"] },
494
- { "required": ["siblings"] }
495
- ],
496
- "additionalProperties": false
497
- },
498
- "BroadcastAddress": {
499
- "type": "object",
500
- "description": "Address all agents in the system",
501
- "properties": {
502
- "broadcast": {
503
- "type": "boolean",
504
- "const": true
505
- }
506
- },
507
- "required": ["broadcast"],
508
- "additionalProperties": false
509
- },
510
- "SystemAddress": {
511
- "type": "object",
512
- "description": "Address the system/router itself",
513
- "properties": {
514
- "system": {
515
- "type": "boolean",
516
- "const": true
517
- }
518
- },
519
- "required": ["system"],
520
- "additionalProperties": false
521
- },
522
- "ParticipantAddress": {
523
- "type": "object",
524
- "description": "Address any participant by ID or category",
525
- "properties": {
526
- "participant": { "$ref": "#/$defs/ParticipantId" },
527
- "participants": {
528
- "type": "string",
529
- "enum": ["all", "agents", "clients"]
530
- }
531
- },
532
- "oneOf": [
533
- { "required": ["participant"] },
534
- { "required": ["participants"] }
535
- ],
536
- "additionalProperties": false
537
- },
538
- "FederatedAddress": {
539
- "type": "object",
540
- "description": "Address an agent in a federated system",
541
- "properties": {
542
- "system": {
543
- "type": "string",
544
- "description": "Target system identifier"
545
- },
546
- "agent": { "$ref": "#/$defs/AgentId" }
547
- },
548
- "required": ["system", "agent"],
549
- "additionalProperties": false
550
- },
551
-
552
- "MessagePriority": {
553
- "type": "string",
554
- "enum": ["urgent", "high", "normal", "low"],
555
- "default": "normal"
556
- },
557
- "DeliverySemantics": {
558
- "type": "string",
559
- "enum": ["fire-and-forget", "acknowledged", "guaranteed"],
560
- "default": "fire-and-forget",
561
- "description": "Message delivery guarantees"
562
- },
563
- "MessageRelationship": {
564
- "type": "string",
565
- "enum": ["parent-to-child", "child-to-parent", "peer", "broadcast"],
566
- "description": "Relationship context for the message"
567
- },
568
- "MessageMeta": {
569
- "type": "object",
570
- "description": "Metadata for a message",
571
- "properties": {
572
- "timestamp": { "$ref": "#/$defs/Timestamp" },
573
- "relationship": { "$ref": "#/$defs/MessageRelationship" },
574
- "expectsResponse": { "type": "boolean" },
575
- "correlationId": { "$ref": "#/$defs/CorrelationId" },
576
- "isResult": { "type": "boolean" },
577
- "priority": { "$ref": "#/$defs/MessagePriority" },
578
- "delivery": { "$ref": "#/$defs/DeliverySemantics" },
579
- "ttlMs": {
580
- "type": "integer",
581
- "description": "Time-to-live in milliseconds"
582
- },
583
- "_meta": { "$ref": "#/$defs/Meta" }
584
- },
585
- "additionalProperties": false
586
- },
587
- "Message": {
588
- "type": "object",
589
- "description": "A message in the multi-agent system",
590
- "properties": {
591
- "id": { "$ref": "#/$defs/MessageId" },
592
- "from": { "$ref": "#/$defs/ParticipantId" },
593
- "to": { "$ref": "#/$defs/Address" },
594
- "payload": {
595
- "description": "Message payload - structure depends on use case"
596
- },
597
- "meta": { "$ref": "#/$defs/MessageMeta" },
598
- "_meta": { "$ref": "#/$defs/Meta" }
599
- },
600
- "required": ["id", "from", "to"],
601
- "additionalProperties": false
602
- },
603
-
604
- "JoinPolicy": {
605
- "type": "string",
606
- "enum": ["open", "invite", "role", "system"],
607
- "description": "Policy for joining a scope"
608
- },
609
- "ScopeVisibility": {
610
- "type": "string",
611
- "enum": ["public", "members", "system"],
612
- "description": "Who can see the scope exists and its members"
613
- },
614
- "MessageVisibility": {
615
- "type": "string",
616
- "enum": ["public", "members", "system"],
617
- "description": "Who can see messages sent to this scope"
618
- },
619
- "SendPolicy": {
620
- "type": "string",
621
- "enum": ["members", "any"],
622
- "description": "Who can send messages to this scope"
623
- },
624
- "Scope": {
625
- "type": "object",
626
- "description": "A scope for grouping agents",
627
- "properties": {
628
- "id": { "$ref": "#/$defs/ScopeId" },
629
- "name": { "type": "string" },
630
- "description": { "type": "string" },
631
- "parent": { "$ref": "#/$defs/ScopeId" },
632
- "joinPolicy": { "$ref": "#/$defs/JoinPolicy" },
633
- "autoJoinRoles": {
634
- "type": "array",
635
- "items": { "type": "string" },
636
- "description": "Roles that auto-join this scope"
637
- },
638
- "visibility": { "$ref": "#/$defs/ScopeVisibility" },
639
- "messageVisibility": { "$ref": "#/$defs/MessageVisibility" },
640
- "sendPolicy": { "$ref": "#/$defs/SendPolicy" },
641
- "persistent": {
642
- "type": "boolean",
643
- "default": true,
644
- "description": "Survives system restart"
645
- },
646
- "autoDelete": {
647
- "type": "boolean",
648
- "default": false,
649
- "description": "Delete when empty"
650
- },
651
- "metadata": { "type": "object" },
652
- "_meta": { "$ref": "#/$defs/Meta" }
653
- },
654
- "required": ["id"],
655
- "additionalProperties": false
656
- },
657
-
658
- "EventType": {
659
- "type": "string",
660
- "enum": [
661
- "agent_registered",
662
- "agent_state_changed",
663
- "agent_unregistered",
664
- "message_sent",
665
- "message_delivered",
666
- "message_failed",
667
- "scope_created",
668
- "scope_deleted",
669
- "scope_member_joined",
670
- "scope_member_left",
671
- "system_error",
672
- "federation_connected",
673
- "federation_disconnected"
674
- ],
675
- "description": "Type of system event"
676
- },
677
- "Event": {
678
- "type": "object",
679
- "description": "A system event",
680
- "properties": {
681
- "id": { "type": "string" },
682
- "type": { "$ref": "#/$defs/EventType" },
683
- "timestamp": { "$ref": "#/$defs/Timestamp" },
684
- "source": { "$ref": "#/$defs/ParticipantId" },
685
- "data": {
686
- "type": "object",
687
- "description": "Event-specific data"
688
- },
689
- "causedBy": {
690
- "type": "array",
691
- "items": { "type": "string" },
692
- "description": "IDs of events that caused this one (causal ordering)"
693
- },
694
- "_meta": { "$ref": "#/$defs/Meta" }
695
- },
696
- "required": ["id", "type", "timestamp"],
697
- "additionalProperties": false
698
- },
699
- "SubscriptionFilter": {
700
- "type": "object",
701
- "description": "Filter for event subscriptions",
702
- "properties": {
703
- "agents": {
704
- "type": "array",
705
- "items": { "$ref": "#/$defs/AgentId" },
706
- "description": "Only events from these agents"
707
- },
708
- "roles": {
709
- "type": "array",
710
- "items": { "type": "string" },
711
- "description": "Only events from agents with these roles"
712
- },
713
- "scopes": {
714
- "type": "array",
715
- "items": { "$ref": "#/$defs/ScopeId" },
716
- "description": "Only events in these scopes"
717
- },
718
- "eventTypes": {
719
- "type": "array",
720
- "items": { "$ref": "#/$defs/EventType" },
721
- "description": "Only these event types"
722
- },
723
- "priorities": {
724
- "type": "array",
725
- "items": { "$ref": "#/$defs/MessagePriority" },
726
- "description": "Only events with these priorities"
727
- },
728
- "_meta": { "$ref": "#/$defs/Meta" }
729
- },
730
- "additionalProperties": false
731
- },
732
- "Subscription": {
733
- "type": "object",
734
- "description": "An active event subscription",
735
- "properties": {
736
- "id": { "$ref": "#/$defs/SubscriptionId" },
737
- "filter": { "$ref": "#/$defs/SubscriptionFilter" },
738
- "createdAt": { "$ref": "#/$defs/Timestamp" },
739
- "replayFrom": {
740
- "oneOf": [
741
- { "$ref": "#/$defs/Timestamp" },
742
- { "type": "string", "description": "Event ID to replay from" }
743
- ],
744
- "description": "Replay missed events from this point"
745
- },
746
- "_meta": { "$ref": "#/$defs/Meta" }
747
- },
748
- "required": ["id"],
749
- "additionalProperties": false
750
- },
751
-
752
- "ConnectRequest": {
753
- "type": "object",
754
- "x-method": "map/connect",
755
- "x-tier": "core",
756
- "description": "Connect to the MAP system and negotiate capabilities",
757
- "properties": {
758
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
759
- "id": { "$ref": "#/$defs/RequestId" },
760
- "method": { "const": "map/connect" },
761
- "params": {
762
- "type": "object",
763
- "properties": {
764
- "protocolVersion": { "$ref": "#/$defs/ProtocolVersion" },
765
- "participantType": { "$ref": "#/$defs/ParticipantType" },
766
- "participantId": { "$ref": "#/$defs/ParticipantId" },
767
- "name": { "type": "string" },
768
- "capabilities": { "$ref": "#/$defs/ParticipantCapabilities" },
769
- "sessionId": {
770
- "$ref": "#/$defs/SessionId",
771
- "description": "Optional session to reconnect to"
772
- },
773
- "auth": {
774
- "type": "object",
775
- "properties": {
776
- "method": {
777
- "type": "string",
778
- "enum": ["bearer", "api-key", "mtls", "none"]
779
- },
780
- "token": { "type": "string" }
781
- }
782
- },
783
- "_meta": { "$ref": "#/$defs/Meta" }
784
- },
785
- "required": ["protocolVersion", "participantType"]
786
- }
787
- },
788
- "required": ["jsonrpc", "id", "method", "params"]
789
- },
790
- "ConnectResponse": {
791
- "type": "object",
792
- "description": "Response to map/connect",
793
- "properties": {
794
- "protocolVersion": { "$ref": "#/$defs/ProtocolVersion" },
795
- "sessionId": { "$ref": "#/$defs/SessionId" },
796
- "participantId": { "$ref": "#/$defs/ParticipantId" },
797
- "capabilities": { "$ref": "#/$defs/ParticipantCapabilities" },
798
- "systemInfo": {
799
- "type": "object",
800
- "properties": {
801
- "name": { "type": "string" },
802
- "version": { "type": "string" }
803
- }
804
- },
805
- "_meta": { "$ref": "#/$defs/Meta" }
806
- },
807
- "required": ["protocolVersion", "sessionId", "participantId", "capabilities"]
808
- },
809
- "DisconnectRequest": {
810
- "type": "object",
811
- "x-method": "map/disconnect",
812
- "x-tier": "core",
813
- "description": "Gracefully disconnect from the MAP system",
814
- "properties": {
815
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
816
- "id": { "$ref": "#/$defs/RequestId" },
817
- "method": { "const": "map/disconnect" },
818
- "params": {
819
- "type": "object",
820
- "properties": {
821
- "reason": { "type": "string" },
822
- "_meta": { "$ref": "#/$defs/Meta" }
823
- }
824
- }
825
- },
826
- "required": ["jsonrpc", "id", "method"]
827
- },
828
- "DisconnectResponse": {
829
- "type": "object",
830
- "description": "Response to map/disconnect",
831
- "properties": {
832
- "acknowledged": { "type": "boolean" },
833
- "_meta": { "$ref": "#/$defs/Meta" }
834
- },
835
- "required": ["acknowledged"]
836
- },
837
-
838
- "SessionListRequest": {
839
- "type": "object",
840
- "x-method": "map/session/list",
841
- "x-tier": "core",
842
- "description": "List participant's sessions",
843
- "properties": {
844
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
845
- "id": { "$ref": "#/$defs/RequestId" },
846
- "method": { "const": "map/session/list" },
847
- "params": {
848
- "type": "object",
849
- "properties": {
850
- "_meta": { "$ref": "#/$defs/Meta" }
851
- }
852
- }
853
- },
854
- "required": ["jsonrpc", "id", "method"]
855
- },
856
- "SessionListResponse": {
857
- "type": "object",
858
- "description": "Response to map/session/list",
859
- "properties": {
860
- "sessions": {
861
- "type": "array",
862
- "items": {
863
- "type": "object",
864
- "properties": {
865
- "id": { "$ref": "#/$defs/SessionId" },
866
- "createdAt": { "$ref": "#/$defs/Timestamp" },
867
- "lastActiveAt": { "$ref": "#/$defs/Timestamp" }
868
- },
869
- "required": ["id", "createdAt"]
870
- }
871
- },
872
- "_meta": { "$ref": "#/$defs/Meta" }
873
- },
874
- "required": ["sessions"]
875
- },
876
- "SessionLoadRequest": {
877
- "type": "object",
878
- "x-method": "map/session/load",
879
- "x-tier": "core",
880
- "description": "Load/reconnect to an existing session",
881
- "properties": {
882
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
883
- "id": { "$ref": "#/$defs/RequestId" },
884
- "method": { "const": "map/session/load" },
885
- "params": {
886
- "type": "object",
887
- "properties": {
888
- "sessionId": { "$ref": "#/$defs/SessionId" },
889
- "_meta": { "$ref": "#/$defs/Meta" }
890
- },
891
- "required": ["sessionId"]
892
- }
893
- },
894
- "required": ["jsonrpc", "id", "method", "params"]
895
- },
896
- "SessionLoadResponse": {
897
- "type": "object",
898
- "description": "Response to map/session/load",
899
- "properties": {
900
- "sessionId": { "$ref": "#/$defs/SessionId" },
901
- "restored": { "type": "boolean" },
902
- "_meta": { "$ref": "#/$defs/Meta" }
903
- },
904
- "required": ["sessionId", "restored"]
905
- },
906
- "SessionCloseRequest": {
907
- "type": "object",
908
- "x-method": "map/session/close",
909
- "x-tier": "core",
910
- "description": "Explicitly end a session",
911
- "properties": {
912
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
913
- "id": { "$ref": "#/$defs/RequestId" },
914
- "method": { "const": "map/session/close" },
915
- "params": {
916
- "type": "object",
917
- "properties": {
918
- "sessionId": { "$ref": "#/$defs/SessionId" },
919
- "_meta": { "$ref": "#/$defs/Meta" }
920
- }
921
- }
922
- },
923
- "required": ["jsonrpc", "id", "method"]
924
- },
925
- "SessionCloseResponse": {
926
- "type": "object",
927
- "description": "Response to map/session/close",
928
- "properties": {
929
- "closed": { "type": "boolean" },
930
- "_meta": { "$ref": "#/$defs/Meta" }
931
- },
932
- "required": ["closed"]
933
- },
934
-
935
- "AgentsListRequest": {
936
- "type": "object",
937
- "x-method": "map/agents/list",
938
- "x-tier": "core",
939
- "description": "List agents with optional filters",
940
- "properties": {
941
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
942
- "id": { "$ref": "#/$defs/RequestId" },
943
- "method": { "const": "map/agents/list" },
944
- "params": {
945
- "type": "object",
946
- "properties": {
947
- "filter": {
948
- "type": "object",
949
- "properties": {
950
- "states": {
951
- "type": "array",
952
- "items": { "$ref": "#/$defs/AgentState" }
953
- },
954
- "roles": {
955
- "type": "array",
956
- "items": { "type": "string" }
957
- },
958
- "scopes": {
959
- "type": "array",
960
- "items": { "$ref": "#/$defs/ScopeId" }
961
- },
962
- "parent": { "$ref": "#/$defs/AgentId" },
963
- "hasChildren": { "type": "boolean" }
964
- }
965
- },
966
- "limit": { "type": "integer", "minimum": 1 },
967
- "cursor": { "type": "string" },
968
- "_meta": { "$ref": "#/$defs/Meta" }
969
- }
970
- }
971
- },
972
- "required": ["jsonrpc", "id", "method"]
973
- },
974
- "AgentsListResponse": {
975
- "type": "object",
976
- "description": "Response to map/agents/list",
977
- "properties": {
978
- "agents": {
979
- "type": "array",
980
- "items": { "$ref": "#/$defs/Agent" }
981
- },
982
- "nextCursor": { "type": "string" },
983
- "_meta": { "$ref": "#/$defs/Meta" }
984
- },
985
- "required": ["agents"]
986
- },
987
- "AgentsGetRequest": {
988
- "type": "object",
989
- "x-method": "map/agents/get",
990
- "x-tier": "core",
991
- "description": "Get details for a single agent",
992
- "properties": {
993
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
994
- "id": { "$ref": "#/$defs/RequestId" },
995
- "method": { "const": "map/agents/get" },
996
- "params": {
997
- "type": "object",
998
- "properties": {
999
- "agentId": { "$ref": "#/$defs/AgentId" },
1000
- "_meta": { "$ref": "#/$defs/Meta" }
1001
- },
1002
- "required": ["agentId"]
1003
- }
1004
- },
1005
- "required": ["jsonrpc", "id", "method", "params"]
1006
- },
1007
- "AgentsGetResponse": {
1008
- "type": "object",
1009
- "description": "Response to map/agents/get",
1010
- "properties": {
1011
- "agent": { "$ref": "#/$defs/Agent" },
1012
- "_meta": { "$ref": "#/$defs/Meta" }
1013
- },
1014
- "required": ["agent"]
1015
- },
1016
-
1017
- "SendRequest": {
1018
- "type": "object",
1019
- "x-method": "map/send",
1020
- "x-tier": "core",
1021
- "description": "Send a message to an address",
1022
- "properties": {
1023
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1024
- "id": { "$ref": "#/$defs/RequestId" },
1025
- "method": { "const": "map/send" },
1026
- "params": {
1027
- "type": "object",
1028
- "properties": {
1029
- "to": { "$ref": "#/$defs/Address" },
1030
- "payload": {},
1031
- "meta": { "$ref": "#/$defs/MessageMeta" },
1032
- "_meta": { "$ref": "#/$defs/Meta" }
1033
- },
1034
- "required": ["to"]
1035
- }
1036
- },
1037
- "required": ["jsonrpc", "id", "method", "params"]
1038
- },
1039
- "SendResponse": {
1040
- "type": "object",
1041
- "description": "Response to map/send",
1042
- "properties": {
1043
- "messageId": { "$ref": "#/$defs/MessageId" },
1044
- "delivered": {
1045
- "type": "array",
1046
- "items": { "$ref": "#/$defs/ParticipantId" },
1047
- "description": "Participants the message was delivered to"
1048
- },
1049
- "_meta": { "$ref": "#/$defs/Meta" }
1050
- },
1051
- "required": ["messageId"]
1052
- },
1053
-
1054
- "SubscribeRequest": {
1055
- "type": "object",
1056
- "x-method": "map/subscribe",
1057
- "x-tier": "core",
1058
- "description": "Subscribe to event streams",
1059
- "properties": {
1060
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1061
- "id": { "$ref": "#/$defs/RequestId" },
1062
- "method": { "const": "map/subscribe" },
1063
- "params": {
1064
- "type": "object",
1065
- "properties": {
1066
- "filter": { "$ref": "#/$defs/SubscriptionFilter" },
1067
- "replayFrom": {
1068
- "oneOf": [
1069
- { "$ref": "#/$defs/Timestamp" },
1070
- { "type": "string" }
1071
- ]
1072
- },
1073
- "_meta": { "$ref": "#/$defs/Meta" }
1074
- }
1075
- }
1076
- },
1077
- "required": ["jsonrpc", "id", "method"]
1078
- },
1079
- "SubscribeResponse": {
1080
- "type": "object",
1081
- "description": "Response to map/subscribe",
1082
- "properties": {
1083
- "subscriptionId": { "$ref": "#/$defs/SubscriptionId" },
1084
- "_meta": { "$ref": "#/$defs/Meta" }
1085
- },
1086
- "required": ["subscriptionId"]
1087
- },
1088
- "UnsubscribeRequest": {
1089
- "type": "object",
1090
- "x-method": "map/unsubscribe",
1091
- "x-tier": "core",
1092
- "description": "Unsubscribe from event streams",
1093
- "properties": {
1094
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1095
- "id": { "$ref": "#/$defs/RequestId" },
1096
- "method": { "const": "map/unsubscribe" },
1097
- "params": {
1098
- "type": "object",
1099
- "properties": {
1100
- "subscriptionId": { "$ref": "#/$defs/SubscriptionId" },
1101
- "_meta": { "$ref": "#/$defs/Meta" }
1102
- },
1103
- "required": ["subscriptionId"]
1104
- }
1105
- },
1106
- "required": ["jsonrpc", "id", "method", "params"]
1107
- },
1108
- "UnsubscribeResponse": {
1109
- "type": "object",
1110
- "description": "Response to map/unsubscribe",
1111
- "properties": {
1112
- "unsubscribed": { "type": "boolean" },
1113
- "_meta": { "$ref": "#/$defs/Meta" }
1114
- },
1115
- "required": ["unsubscribed"]
1116
- },
1117
-
1118
- "AuthRefreshRequest": {
1119
- "type": "object",
1120
- "x-method": "map/auth/refresh",
1121
- "x-tier": "core",
1122
- "description": "Refresh authentication token in-band",
1123
- "properties": {
1124
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1125
- "id": { "$ref": "#/$defs/RequestId" },
1126
- "method": { "const": "map/auth/refresh" },
1127
- "params": {
1128
- "type": "object",
1129
- "properties": {
1130
- "refreshToken": { "type": "string" },
1131
- "_meta": { "$ref": "#/$defs/Meta" }
1132
- },
1133
- "required": ["refreshToken"]
1134
- }
1135
- },
1136
- "required": ["jsonrpc", "id", "method", "params"]
1137
- },
1138
- "AuthRefreshResponse": {
1139
- "type": "object",
1140
- "description": "Response to map/auth/refresh",
1141
- "properties": {
1142
- "accessToken": { "type": "string" },
1143
- "expiresAt": { "$ref": "#/$defs/Timestamp" },
1144
- "refreshToken": { "type": "string" },
1145
- "_meta": { "$ref": "#/$defs/Meta" }
1146
- },
1147
- "required": ["accessToken", "expiresAt"]
1148
- },
1149
-
1150
- "AgentsRegisterRequest": {
1151
- "type": "object",
1152
- "x-method": "map/agents/register",
1153
- "x-tier": "structure",
1154
- "description": "Register a new agent in the system",
1155
- "properties": {
1156
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1157
- "id": { "$ref": "#/$defs/RequestId" },
1158
- "method": { "const": "map/agents/register" },
1159
- "params": {
1160
- "type": "object",
1161
- "properties": {
1162
- "agentId": { "$ref": "#/$defs/AgentId" },
1163
- "name": { "type": "string" },
1164
- "description": { "type": "string" },
1165
- "role": { "type": "string" },
1166
- "parent": { "$ref": "#/$defs/AgentId" },
1167
- "scopes": {
1168
- "type": "array",
1169
- "items": { "$ref": "#/$defs/ScopeId" }
1170
- },
1171
- "visibility": { "$ref": "#/$defs/AgentVisibility" },
1172
- "capabilities": { "$ref": "#/$defs/ParticipantCapabilities" },
1173
- "metadata": { "type": "object" },
1174
- "_meta": { "$ref": "#/$defs/Meta" }
1175
- }
1176
- }
1177
- },
1178
- "required": ["jsonrpc", "id", "method"]
1179
- },
1180
- "AgentsRegisterResponse": {
1181
- "type": "object",
1182
- "description": "Response to map/agents/register",
1183
- "properties": {
1184
- "agent": { "$ref": "#/$defs/Agent" },
1185
- "_meta": { "$ref": "#/$defs/Meta" }
1186
- },
1187
- "required": ["agent"]
1188
- },
1189
- "AgentsSpawnRequest": {
1190
- "type": "object",
1191
- "x-method": "map/agents/spawn",
1192
- "x-tier": "structure",
1193
- "description": "Register agent and assign initial task atomically",
1194
- "properties": {
1195
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1196
- "id": { "$ref": "#/$defs/RequestId" },
1197
- "method": { "const": "map/agents/spawn" },
1198
- "params": {
1199
- "type": "object",
1200
- "properties": {
1201
- "agentId": { "$ref": "#/$defs/AgentId" },
1202
- "name": { "type": "string" },
1203
- "description": { "type": "string" },
1204
- "role": { "type": "string" },
1205
- "parent": { "$ref": "#/$defs/AgentId" },
1206
- "scopes": {
1207
- "type": "array",
1208
- "items": { "$ref": "#/$defs/ScopeId" }
1209
- },
1210
- "visibility": { "$ref": "#/$defs/AgentVisibility" },
1211
- "capabilities": { "$ref": "#/$defs/ParticipantCapabilities" },
1212
- "initialMessage": { "$ref": "#/$defs/Message" },
1213
- "metadata": { "type": "object" },
1214
- "_meta": { "$ref": "#/$defs/Meta" }
1215
- }
1216
- }
1217
- },
1218
- "required": ["jsonrpc", "id", "method"]
1219
- },
1220
- "AgentsSpawnResponse": {
1221
- "type": "object",
1222
- "description": "Response to map/agents/spawn",
1223
- "properties": {
1224
- "agent": { "$ref": "#/$defs/Agent" },
1225
- "messageId": { "$ref": "#/$defs/MessageId" },
1226
- "_meta": { "$ref": "#/$defs/Meta" }
1227
- },
1228
- "required": ["agent"]
1229
- },
1230
- "AgentsUnregisterRequest": {
1231
- "type": "object",
1232
- "x-method": "map/agents/unregister",
1233
- "x-tier": "structure",
1234
- "description": "Remove an agent from the system",
1235
- "properties": {
1236
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1237
- "id": { "$ref": "#/$defs/RequestId" },
1238
- "method": { "const": "map/agents/unregister" },
1239
- "params": {
1240
- "type": "object",
1241
- "properties": {
1242
- "agentId": { "$ref": "#/$defs/AgentId" },
1243
- "reason": { "type": "string" },
1244
- "_meta": { "$ref": "#/$defs/Meta" }
1245
- },
1246
- "required": ["agentId"]
1247
- }
1248
- },
1249
- "required": ["jsonrpc", "id", "method", "params"]
1250
- },
1251
- "AgentsUnregisterResponse": {
1252
- "type": "object",
1253
- "description": "Response to map/agents/unregister",
1254
- "properties": {
1255
- "unregistered": { "type": "boolean" },
1256
- "_meta": { "$ref": "#/$defs/Meta" }
1257
- },
1258
- "required": ["unregistered"]
1259
- },
1260
- "AgentsUpdateRequest": {
1261
- "type": "object",
1262
- "x-method": "map/agents/update",
1263
- "x-tier": "structure",
1264
- "description": "Update agent state or metadata",
1265
- "properties": {
1266
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1267
- "id": { "$ref": "#/$defs/RequestId" },
1268
- "method": { "const": "map/agents/update" },
1269
- "params": {
1270
- "type": "object",
1271
- "properties": {
1272
- "agentId": { "$ref": "#/$defs/AgentId" },
1273
- "state": { "$ref": "#/$defs/AgentState" },
1274
- "metadata": { "type": "object" },
1275
- "_meta": { "$ref": "#/$defs/Meta" }
1276
- },
1277
- "required": ["agentId"]
1278
- }
1279
- },
1280
- "required": ["jsonrpc", "id", "method", "params"]
1281
- },
1282
- "AgentsUpdateResponse": {
1283
- "type": "object",
1284
- "description": "Response to map/agents/update",
1285
- "properties": {
1286
- "agent": { "$ref": "#/$defs/Agent" },
1287
- "_meta": { "$ref": "#/$defs/Meta" }
1288
- },
1289
- "required": ["agent"]
1290
- },
1291
- "AgentsStopRequest": {
1292
- "type": "object",
1293
- "x-method": "map/agents/stop",
1294
- "x-tier": "structure",
1295
- "description": "Request graceful agent stop",
1296
- "properties": {
1297
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1298
- "id": { "$ref": "#/$defs/RequestId" },
1299
- "method": { "const": "map/agents/stop" },
1300
- "params": {
1301
- "type": "object",
1302
- "properties": {
1303
- "agentId": { "$ref": "#/$defs/AgentId" },
1304
- "reason": { "type": "string" },
1305
- "force": { "type": "boolean", "default": false },
1306
- "_meta": { "$ref": "#/$defs/Meta" }
1307
- },
1308
- "required": ["agentId"]
1309
- }
1310
- },
1311
- "required": ["jsonrpc", "id", "method", "params"]
1312
- },
1313
- "AgentsStopResponse": {
1314
- "type": "object",
1315
- "description": "Response to map/agents/stop",
1316
- "properties": {
1317
- "stopping": { "type": "boolean" },
1318
- "agent": { "$ref": "#/$defs/Agent" },
1319
- "_meta": { "$ref": "#/$defs/Meta" }
1320
- },
1321
- "required": ["stopping"]
1322
- },
1323
- "AgentsSuspendRequest": {
1324
- "type": "object",
1325
- "x-method": "map/agents/suspend",
1326
- "x-tier": "structure",
1327
- "description": "Pause an agent",
1328
- "properties": {
1329
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1330
- "id": { "$ref": "#/$defs/RequestId" },
1331
- "method": { "const": "map/agents/suspend" },
1332
- "params": {
1333
- "type": "object",
1334
- "properties": {
1335
- "agentId": { "$ref": "#/$defs/AgentId" },
1336
- "reason": { "type": "string" },
1337
- "_meta": { "$ref": "#/$defs/Meta" }
1338
- },
1339
- "required": ["agentId"]
1340
- }
1341
- },
1342
- "required": ["jsonrpc", "id", "method", "params"]
1343
- },
1344
- "AgentsSuspendResponse": {
1345
- "type": "object",
1346
- "description": "Response to map/agents/suspend",
1347
- "properties": {
1348
- "suspended": { "type": "boolean" },
1349
- "agent": { "$ref": "#/$defs/Agent" },
1350
- "_meta": { "$ref": "#/$defs/Meta" }
1351
- },
1352
- "required": ["suspended"]
1353
- },
1354
- "AgentsResumeRequest": {
1355
- "type": "object",
1356
- "x-method": "map/agents/resume",
1357
- "x-tier": "structure",
1358
- "description": "Resume a suspended agent",
1359
- "properties": {
1360
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1361
- "id": { "$ref": "#/$defs/RequestId" },
1362
- "method": { "const": "map/agents/resume" },
1363
- "params": {
1364
- "type": "object",
1365
- "properties": {
1366
- "agentId": { "$ref": "#/$defs/AgentId" },
1367
- "_meta": { "$ref": "#/$defs/Meta" }
1368
- },
1369
- "required": ["agentId"]
1370
- }
1371
- },
1372
- "required": ["jsonrpc", "id", "method", "params"]
1373
- },
1374
- "AgentsResumeResponse": {
1375
- "type": "object",
1376
- "description": "Response to map/agents/resume",
1377
- "properties": {
1378
- "resumed": { "type": "boolean" },
1379
- "agent": { "$ref": "#/$defs/Agent" },
1380
- "_meta": { "$ref": "#/$defs/Meta" }
1381
- },
1382
- "required": ["resumed"]
1383
- },
1384
-
1385
- "StructureGraphRequest": {
1386
- "type": "object",
1387
- "x-method": "map/structure/graph",
1388
- "x-tier": "structure",
1389
- "description": "Get the agent relationship graph",
1390
- "properties": {
1391
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1392
- "id": { "$ref": "#/$defs/RequestId" },
1393
- "method": { "const": "map/structure/graph" },
1394
- "params": {
1395
- "type": "object",
1396
- "properties": {
1397
- "rootAgentId": { "$ref": "#/$defs/AgentId" },
1398
- "depth": { "type": "integer", "minimum": 1 },
1399
- "includeRelationships": { "type": "boolean", "default": true },
1400
- "_meta": { "$ref": "#/$defs/Meta" }
1401
- }
1402
- }
1403
- },
1404
- "required": ["jsonrpc", "id", "method"]
1405
- },
1406
- "StructureGraphResponse": {
1407
- "type": "object",
1408
- "description": "Response to map/structure/graph",
1409
- "properties": {
1410
- "nodes": {
1411
- "type": "array",
1412
- "items": { "$ref": "#/$defs/Agent" }
1413
- },
1414
- "edges": {
1415
- "type": "array",
1416
- "items": {
1417
- "type": "object",
1418
- "properties": {
1419
- "from": { "$ref": "#/$defs/AgentId" },
1420
- "to": { "$ref": "#/$defs/AgentId" },
1421
- "type": {
1422
- "type": "string",
1423
- "enum": ["parent-child", "peer", "supervisor", "collaborator"]
1424
- }
1425
- },
1426
- "required": ["from", "to", "type"]
1427
- }
1428
- },
1429
- "_meta": { "$ref": "#/$defs/Meta" }
1430
- },
1431
- "required": ["nodes", "edges"]
1432
- },
1433
-
1434
- "ScopesListRequest": {
1435
- "type": "object",
1436
- "x-method": "map/scopes/list",
1437
- "x-tier": "structure",
1438
- "description": "List all scopes",
1439
- "properties": {
1440
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1441
- "id": { "$ref": "#/$defs/RequestId" },
1442
- "method": { "const": "map/scopes/list" },
1443
- "params": {
1444
- "type": "object",
1445
- "properties": {
1446
- "parent": { "$ref": "#/$defs/ScopeId" },
1447
- "_meta": { "$ref": "#/$defs/Meta" }
1448
- }
1449
- }
1450
- },
1451
- "required": ["jsonrpc", "id", "method"]
1452
- },
1453
- "ScopesListResponse": {
1454
- "type": "object",
1455
- "description": "Response to map/scopes/list",
1456
- "properties": {
1457
- "scopes": {
1458
- "type": "array",
1459
- "items": { "$ref": "#/$defs/Scope" }
1460
- },
1461
- "_meta": { "$ref": "#/$defs/Meta" }
1462
- },
1463
- "required": ["scopes"]
1464
- },
1465
- "ScopesGetRequest": {
1466
- "type": "object",
1467
- "x-method": "map/scopes/get",
1468
- "x-tier": "structure",
1469
- "description": "Get details for a single scope",
1470
- "properties": {
1471
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1472
- "id": { "$ref": "#/$defs/RequestId" },
1473
- "method": { "const": "map/scopes/get" },
1474
- "params": {
1475
- "type": "object",
1476
- "properties": {
1477
- "scopeId": { "$ref": "#/$defs/ScopeId" },
1478
- "_meta": { "$ref": "#/$defs/Meta" }
1479
- },
1480
- "required": ["scopeId"]
1481
- }
1482
- },
1483
- "required": ["jsonrpc", "id", "method", "params"]
1484
- },
1485
- "ScopesGetResponse": {
1486
- "type": "object",
1487
- "description": "Response to map/scopes/get",
1488
- "properties": {
1489
- "scope": { "$ref": "#/$defs/Scope" },
1490
- "_meta": { "$ref": "#/$defs/Meta" }
1491
- },
1492
- "required": ["scope"]
1493
- },
1494
- "ScopesCreateRequest": {
1495
- "type": "object",
1496
- "x-method": "map/scopes/create",
1497
- "x-tier": "structure",
1498
- "description": "Create a new scope",
1499
- "properties": {
1500
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1501
- "id": { "$ref": "#/$defs/RequestId" },
1502
- "method": { "const": "map/scopes/create" },
1503
- "params": {
1504
- "type": "object",
1505
- "properties": {
1506
- "scopeId": { "$ref": "#/$defs/ScopeId" },
1507
- "name": { "type": "string" },
1508
- "description": { "type": "string" },
1509
- "parent": { "$ref": "#/$defs/ScopeId" },
1510
- "joinPolicy": { "$ref": "#/$defs/JoinPolicy" },
1511
- "autoJoinRoles": {
1512
- "type": "array",
1513
- "items": { "type": "string" }
1514
- },
1515
- "visibility": { "$ref": "#/$defs/ScopeVisibility" },
1516
- "messageVisibility": { "$ref": "#/$defs/MessageVisibility" },
1517
- "sendPolicy": { "$ref": "#/$defs/SendPolicy" },
1518
- "persistent": { "type": "boolean" },
1519
- "autoDelete": { "type": "boolean" },
1520
- "metadata": { "type": "object" },
1521
- "_meta": { "$ref": "#/$defs/Meta" }
1522
- }
1523
- }
1524
- },
1525
- "required": ["jsonrpc", "id", "method"]
1526
- },
1527
- "ScopesCreateResponse": {
1528
- "type": "object",
1529
- "description": "Response to map/scopes/create",
1530
- "properties": {
1531
- "scope": { "$ref": "#/$defs/Scope" },
1532
- "_meta": { "$ref": "#/$defs/Meta" }
1533
- },
1534
- "required": ["scope"]
1535
- },
1536
- "ScopesDeleteRequest": {
1537
- "type": "object",
1538
- "x-method": "map/scopes/delete",
1539
- "x-tier": "structure",
1540
- "description": "Delete a scope",
1541
- "properties": {
1542
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1543
- "id": { "$ref": "#/$defs/RequestId" },
1544
- "method": { "const": "map/scopes/delete" },
1545
- "params": {
1546
- "type": "object",
1547
- "properties": {
1548
- "scopeId": { "$ref": "#/$defs/ScopeId" },
1549
- "_meta": { "$ref": "#/$defs/Meta" }
1550
- },
1551
- "required": ["scopeId"]
1552
- }
1553
- },
1554
- "required": ["jsonrpc", "id", "method", "params"]
1555
- },
1556
- "ScopesDeleteResponse": {
1557
- "type": "object",
1558
- "description": "Response to map/scopes/delete",
1559
- "properties": {
1560
- "deleted": { "type": "boolean" },
1561
- "_meta": { "$ref": "#/$defs/Meta" }
1562
- },
1563
- "required": ["deleted"]
1564
- },
1565
- "ScopesJoinRequest": {
1566
- "type": "object",
1567
- "x-method": "map/scopes/join",
1568
- "x-tier": "structure",
1569
- "description": "Add an agent to a scope",
1570
- "properties": {
1571
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1572
- "id": { "$ref": "#/$defs/RequestId" },
1573
- "method": { "const": "map/scopes/join" },
1574
- "params": {
1575
- "type": "object",
1576
- "properties": {
1577
- "scopeId": { "$ref": "#/$defs/ScopeId" },
1578
- "agentId": { "$ref": "#/$defs/AgentId" },
1579
- "_meta": { "$ref": "#/$defs/Meta" }
1580
- },
1581
- "required": ["scopeId", "agentId"]
1582
- }
1583
- },
1584
- "required": ["jsonrpc", "id", "method", "params"]
1585
- },
1586
- "ScopesJoinResponse": {
1587
- "type": "object",
1588
- "description": "Response to map/scopes/join",
1589
- "properties": {
1590
- "joined": { "type": "boolean" },
1591
- "_meta": { "$ref": "#/$defs/Meta" }
1592
- },
1593
- "required": ["joined"]
1594
- },
1595
- "ScopesLeaveRequest": {
1596
- "type": "object",
1597
- "x-method": "map/scopes/leave",
1598
- "x-tier": "structure",
1599
- "description": "Remove an agent from a scope",
1600
- "properties": {
1601
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1602
- "id": { "$ref": "#/$defs/RequestId" },
1603
- "method": { "const": "map/scopes/leave" },
1604
- "params": {
1605
- "type": "object",
1606
- "properties": {
1607
- "scopeId": { "$ref": "#/$defs/ScopeId" },
1608
- "agentId": { "$ref": "#/$defs/AgentId" },
1609
- "_meta": { "$ref": "#/$defs/Meta" }
1610
- },
1611
- "required": ["scopeId", "agentId"]
1612
- }
1613
- },
1614
- "required": ["jsonrpc", "id", "method", "params"]
1615
- },
1616
- "ScopesLeaveResponse": {
1617
- "type": "object",
1618
- "description": "Response to map/scopes/leave",
1619
- "properties": {
1620
- "left": { "type": "boolean" },
1621
- "_meta": { "$ref": "#/$defs/Meta" }
1622
- },
1623
- "required": ["left"]
1624
- },
1625
- "ScopesMembersRequest": {
1626
- "type": "object",
1627
- "x-method": "map/scopes/members",
1628
- "x-tier": "structure",
1629
- "description": "List members of a scope",
1630
- "properties": {
1631
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1632
- "id": { "$ref": "#/$defs/RequestId" },
1633
- "method": { "const": "map/scopes/members" },
1634
- "params": {
1635
- "type": "object",
1636
- "properties": {
1637
- "scopeId": { "$ref": "#/$defs/ScopeId" },
1638
- "limit": { "type": "integer", "minimum": 1 },
1639
- "cursor": { "type": "string" },
1640
- "_meta": { "$ref": "#/$defs/Meta" }
1641
- },
1642
- "required": ["scopeId"]
1643
- }
1644
- },
1645
- "required": ["jsonrpc", "id", "method", "params"]
1646
- },
1647
- "ScopesMembersResponse": {
1648
- "type": "object",
1649
- "description": "Response to map/scopes/members",
1650
- "properties": {
1651
- "members": {
1652
- "type": "array",
1653
- "items": { "$ref": "#/$defs/AgentId" }
1654
- },
1655
- "nextCursor": { "type": "string" },
1656
- "_meta": { "$ref": "#/$defs/Meta" }
1657
- },
1658
- "required": ["members"]
1659
- },
1660
-
1661
- "InjectRequest": {
1662
- "type": "object",
1663
- "x-method": "map/inject",
1664
- "x-tier": "extension",
1665
- "description": "Inject context into a running agent (steering)",
1666
- "properties": {
1667
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1668
- "id": { "$ref": "#/$defs/RequestId" },
1669
- "method": { "const": "map/inject" },
1670
- "params": {
1671
- "type": "object",
1672
- "properties": {
1673
- "agentId": { "$ref": "#/$defs/AgentId" },
1674
- "content": {
1675
- "description": "Content to inject"
1676
- },
1677
- "delivery": {
1678
- "type": "string",
1679
- "enum": ["interrupt", "queue", "best-effort"],
1680
- "default": "best-effort",
1681
- "description": "How to deliver the injection"
1682
- },
1683
- "_meta": { "$ref": "#/$defs/Meta" }
1684
- },
1685
- "required": ["agentId", "content"]
1686
- }
1687
- },
1688
- "required": ["jsonrpc", "id", "method", "params"]
1689
- },
1690
- "InjectResponse": {
1691
- "type": "object",
1692
- "description": "Response to map/inject",
1693
- "properties": {
1694
- "injected": { "type": "boolean" },
1695
- "delivery": {
1696
- "type": "string",
1697
- "enum": ["interrupt", "queue", "message"],
1698
- "description": "Actual delivery method used"
1699
- },
1700
- "_meta": { "$ref": "#/$defs/Meta" }
1701
- },
1702
- "required": ["injected"]
1703
- },
1704
-
1705
- "FederationConnectRequest": {
1706
- "type": "object",
1707
- "x-method": "map/federation/connect",
1708
- "x-tier": "extension",
1709
- "description": "Connect to a peer MAP system",
1710
- "properties": {
1711
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1712
- "id": { "$ref": "#/$defs/RequestId" },
1713
- "method": { "const": "map/federation/connect" },
1714
- "params": {
1715
- "type": "object",
1716
- "properties": {
1717
- "systemId": { "type": "string" },
1718
- "endpoint": { "type": "string", "format": "uri" },
1719
- "auth": {
1720
- "type": "object",
1721
- "properties": {
1722
- "method": {
1723
- "type": "string",
1724
- "enum": ["bearer", "api-key", "mtls"]
1725
- },
1726
- "credentials": { "type": "string" }
1727
- },
1728
- "required": ["method"]
1729
- },
1730
- "_meta": { "$ref": "#/$defs/Meta" }
1731
- },
1732
- "required": ["systemId", "endpoint"]
1733
- }
1734
- },
1735
- "required": ["jsonrpc", "id", "method", "params"]
1736
- },
1737
- "FederationConnectResponse": {
1738
- "type": "object",
1739
- "description": "Response to map/federation/connect",
1740
- "properties": {
1741
- "connected": { "type": "boolean" },
1742
- "systemInfo": {
1743
- "type": "object",
1744
- "properties": {
1745
- "name": { "type": "string" },
1746
- "version": { "type": "string" },
1747
- "capabilities": { "$ref": "#/$defs/ParticipantCapabilities" }
1748
- }
1749
- },
1750
- "_meta": { "$ref": "#/$defs/Meta" }
1751
- },
1752
- "required": ["connected"]
1753
- },
1754
- "FederationRouteRequest": {
1755
- "type": "object",
1756
- "x-method": "map/federation/route",
1757
- "x-tier": "extension",
1758
- "description": "Route a message to a federated system",
1759
- "properties": {
1760
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1761
- "id": { "$ref": "#/$defs/RequestId" },
1762
- "method": { "const": "map/federation/route" },
1763
- "params": {
1764
- "type": "object",
1765
- "properties": {
1766
- "systemId": { "type": "string" },
1767
- "message": { "$ref": "#/$defs/Message" },
1768
- "_meta": { "$ref": "#/$defs/Meta" }
1769
- },
1770
- "required": ["systemId", "message"]
1771
- }
1772
- },
1773
- "required": ["jsonrpc", "id", "method", "params"]
1774
- },
1775
- "FederationRouteResponse": {
1776
- "type": "object",
1777
- "description": "Response to map/federation/route",
1778
- "properties": {
1779
- "routed": { "type": "boolean" },
1780
- "messageId": { "$ref": "#/$defs/MessageId" },
1781
- "_meta": { "$ref": "#/$defs/Meta" }
1782
- },
1783
- "required": ["routed"]
1784
- },
1785
-
1786
- "EventNotification": {
1787
- "type": "object",
1788
- "x-method": "map/event",
1789
- "description": "System event notification (sent to subscribers)",
1790
- "properties": {
1791
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1792
- "method": { "const": "map/event" },
1793
- "params": {
1794
- "type": "object",
1795
- "properties": {
1796
- "subscriptionId": { "$ref": "#/$defs/SubscriptionId" },
1797
- "sequenceNumber": {
1798
- "type": "integer",
1799
- "description": "Monotonic sequence for ordering"
1800
- },
1801
- "event": { "$ref": "#/$defs/Event" },
1802
- "_meta": { "$ref": "#/$defs/Meta" }
1803
- },
1804
- "required": ["subscriptionId", "sequenceNumber", "event"]
1805
- }
1806
- },
1807
- "required": ["jsonrpc", "method", "params"]
1808
- },
1809
- "MessageNotification": {
1810
- "type": "object",
1811
- "x-method": "map/message",
1812
- "description": "Message delivery notification",
1813
- "properties": {
1814
- "jsonrpc": { "$ref": "#/$defs/JsonRpcVersion" },
1815
- "method": { "const": "map/message" },
1816
- "params": {
1817
- "type": "object",
1818
- "properties": {
1819
- "message": { "$ref": "#/$defs/Message" },
1820
- "_meta": { "$ref": "#/$defs/Meta" }
1821
- },
1822
- "required": ["message"]
1823
- }
1824
- },
1825
- "required": ["jsonrpc", "method", "params"]
1826
- }
1827
- }
1828
- }