macro-agent 0.2.4 → 0.2.6

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 (1002) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +30 -56
  3. package/dist/acp/websocket-server.d.ts +6 -0
  4. package/dist/acp/websocket-server.d.ts.map +1 -1
  5. package/dist/acp/websocket-server.js +13 -0
  6. package/dist/acp/websocket-server.js.map +1 -1
  7. package/dist/acp/websocket-stream.d.ts +30 -0
  8. package/dist/acp/websocket-stream.d.ts.map +1 -0
  9. package/dist/acp/websocket-stream.js +118 -0
  10. package/dist/acp/websocket-stream.js.map +1 -0
  11. package/dist/activity/deduplication.d.ts +85 -0
  12. package/dist/activity/deduplication.d.ts.map +1 -0
  13. package/dist/activity/deduplication.js +149 -0
  14. package/dist/activity/deduplication.js.map +1 -0
  15. package/dist/activity/index.d.ts +16 -0
  16. package/dist/activity/index.d.ts.map +1 -0
  17. package/dist/activity/index.js +17 -0
  18. package/dist/activity/index.js.map +1 -0
  19. package/dist/activity/relevance.d.ts +81 -0
  20. package/dist/activity/relevance.d.ts.map +1 -0
  21. package/dist/activity/relevance.js +161 -0
  22. package/dist/activity/relevance.js.map +1 -0
  23. package/dist/activity/types.d.ts +169 -0
  24. package/dist/activity/types.d.ts.map +1 -0
  25. package/dist/activity/types.js +33 -0
  26. package/dist/activity/types.js.map +1 -0
  27. package/dist/activity/watcher.d.ts +64 -0
  28. package/dist/activity/watcher.d.ts.map +1 -0
  29. package/dist/activity/watcher.js +212 -0
  30. package/dist/activity/watcher.js.map +1 -0
  31. package/dist/adapters/federation.d.ts +8 -1
  32. package/dist/adapters/federation.d.ts.map +1 -1
  33. package/dist/adapters/federation.js +33 -2
  34. package/dist/adapters/federation.js.map +1 -1
  35. package/dist/agent/agent-manager-v2.d.ts.map +1 -1
  36. package/dist/agent/agent-manager-v2.js +189 -67
  37. package/dist/agent/agent-manager-v2.js.map +1 -1
  38. package/dist/agent/agent-manager.d.ts +17 -0
  39. package/dist/agent/agent-manager.d.ts.map +1 -1
  40. package/dist/agent/agent-manager.js.map +1 -1
  41. package/dist/agent/types.d.ts +21 -2
  42. package/dist/agent/types.d.ts.map +1 -1
  43. package/dist/agent/types.js.map +1 -1
  44. package/dist/agent/wake.d.ts +85 -0
  45. package/dist/agent/wake.d.ts.map +1 -0
  46. package/dist/agent/wake.js +278 -0
  47. package/dist/agent/wake.js.map +1 -0
  48. package/dist/api/server.d.ts.map +1 -1
  49. package/dist/api/server.js +41 -25
  50. package/dist/api/server.js.map +1 -1
  51. package/dist/api/types.d.ts +6 -0
  52. package/dist/api/types.d.ts.map +1 -1
  53. package/dist/auth/server-auth.d.ts +43 -0
  54. package/dist/auth/server-auth.d.ts.map +1 -0
  55. package/dist/auth/server-auth.js +80 -0
  56. package/dist/auth/server-auth.js.map +1 -0
  57. package/dist/auth/token.d.ts +4 -0
  58. package/dist/auth/token.d.ts.map +1 -1
  59. package/dist/auth/token.js +7 -6
  60. package/dist/auth/token.js.map +1 -1
  61. package/dist/boot-v2.d.ts +6 -3
  62. package/dist/boot-v2.d.ts.map +1 -1
  63. package/dist/boot-v2.js +44 -25
  64. package/dist/boot-v2.js.map +1 -1
  65. package/dist/cognitive/macro-agent-backend.d.ts.map +1 -1
  66. package/dist/cognitive/macro-agent-backend.js +37 -8
  67. package/dist/cognitive/macro-agent-backend.js.map +1 -1
  68. package/dist/cognitive/team-lifecycle.d.ts +82 -0
  69. package/dist/cognitive/team-lifecycle.d.ts.map +1 -0
  70. package/dist/cognitive/team-lifecycle.js +121 -0
  71. package/dist/cognitive/team-lifecycle.js.map +1 -0
  72. package/dist/cognitive/trajectory-extractor.d.ts +25 -0
  73. package/dist/cognitive/trajectory-extractor.d.ts.map +1 -0
  74. package/dist/cognitive/trajectory-extractor.js +134 -0
  75. package/dist/cognitive/trajectory-extractor.js.map +1 -0
  76. package/dist/cognitive/types.d.ts +24 -0
  77. package/dist/cognitive/types.d.ts.map +1 -1
  78. package/dist/control/control-server.d.ts.map +1 -1
  79. package/dist/control/control-server.js +10 -0
  80. package/dist/control/control-server.js.map +1 -1
  81. package/dist/dispatch/mail-inbound-consumer.d.ts.map +1 -1
  82. package/dist/dispatch/mail-inbound-consumer.js +43 -10
  83. package/dist/dispatch/mail-inbound-consumer.js.map +1 -1
  84. package/dist/index.d.ts +5 -1
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +6 -1
  87. package/dist/index.js.map +1 -1
  88. package/dist/lifecycle/handlers/generic.d.ts +27 -0
  89. package/dist/lifecycle/handlers/generic.d.ts.map +1 -0
  90. package/dist/lifecycle/handlers/generic.js +56 -0
  91. package/dist/lifecycle/handlers/generic.js.map +1 -0
  92. package/dist/lifecycle/handlers/index.d.ts +51 -0
  93. package/dist/lifecycle/handlers/index.d.ts.map +1 -0
  94. package/dist/lifecycle/handlers/index.js +110 -0
  95. package/dist/lifecycle/handlers/index.js.map +1 -0
  96. package/dist/lifecycle/handlers/integrator.d.ts +81 -0
  97. package/dist/lifecycle/handlers/integrator.d.ts.map +1 -0
  98. package/dist/lifecycle/handlers/integrator.js +451 -0
  99. package/dist/lifecycle/handlers/integrator.js.map +1 -0
  100. package/dist/lifecycle/handlers/monitor.d.ts +29 -0
  101. package/dist/lifecycle/handlers/monitor.d.ts.map +1 -0
  102. package/dist/lifecycle/handlers/monitor.js +79 -0
  103. package/dist/lifecycle/handlers/monitor.js.map +1 -0
  104. package/dist/lifecycle/handlers/worker.d.ts +56 -0
  105. package/dist/lifecycle/handlers/worker.d.ts.map +1 -0
  106. package/dist/lifecycle/handlers/worker.js +381 -0
  107. package/dist/lifecycle/handlers/worker.js.map +1 -0
  108. package/dist/lifecycle/handlers-v2.d.ts +0 -2
  109. package/dist/lifecycle/handlers-v2.d.ts.map +1 -1
  110. package/dist/lifecycle/handlers-v2.js +4 -55
  111. package/dist/lifecycle/handlers-v2.js.map +1 -1
  112. package/dist/mail/conversation-map.d.ts +33 -0
  113. package/dist/mail/conversation-map.d.ts.map +1 -0
  114. package/dist/mail/conversation-map.js +61 -0
  115. package/dist/mail/conversation-map.js.map +1 -0
  116. package/dist/mail/index.d.ts +11 -0
  117. package/dist/mail/index.d.ts.map +1 -0
  118. package/dist/mail/index.js +11 -0
  119. package/dist/mail/index.js.map +1 -0
  120. package/dist/mail/mail-service.d.ts +85 -0
  121. package/dist/mail/mail-service.d.ts.map +1 -0
  122. package/dist/mail/mail-service.js +121 -0
  123. package/dist/mail/mail-service.js.map +1 -0
  124. package/dist/mail/stores/eventstore-conversation-store.d.ts +40 -0
  125. package/dist/mail/stores/eventstore-conversation-store.d.ts.map +1 -0
  126. package/dist/mail/stores/eventstore-conversation-store.js +131 -0
  127. package/dist/mail/stores/eventstore-conversation-store.js.map +1 -0
  128. package/dist/mail/stores/eventstore-participant-store.d.ts +43 -0
  129. package/dist/mail/stores/eventstore-participant-store.d.ts.map +1 -0
  130. package/dist/mail/stores/eventstore-participant-store.js +145 -0
  131. package/dist/mail/stores/eventstore-participant-store.js.map +1 -0
  132. package/dist/mail/stores/eventstore-thread-store.d.ts +46 -0
  133. package/dist/mail/stores/eventstore-thread-store.d.ts.map +1 -0
  134. package/dist/mail/stores/eventstore-thread-store.js +118 -0
  135. package/dist/mail/stores/eventstore-thread-store.js.map +1 -0
  136. package/dist/mail/stores/eventstore-turn-store.d.ts +47 -0
  137. package/dist/mail/stores/eventstore-turn-store.d.ts.map +1 -0
  138. package/dist/mail/stores/eventstore-turn-store.js +153 -0
  139. package/dist/mail/stores/eventstore-turn-store.js.map +1 -0
  140. package/dist/mail/stores/index.d.ts +12 -0
  141. package/dist/mail/stores/index.d.ts.map +1 -0
  142. package/dist/mail/stores/index.js +12 -0
  143. package/dist/mail/stores/index.js.map +1 -0
  144. package/dist/mail/stores/types.d.ts +146 -0
  145. package/dist/mail/stores/types.d.ts.map +1 -0
  146. package/dist/mail/stores/types.js +13 -0
  147. package/dist/mail/stores/types.js.map +1 -0
  148. package/dist/mail/turn-recorder.d.ts +30 -0
  149. package/dist/mail/turn-recorder.d.ts.map +1 -0
  150. package/dist/mail/turn-recorder.js +98 -0
  151. package/dist/mail/turn-recorder.js.map +1 -0
  152. package/dist/map/adapter/acp-over-map.d.ts +115 -0
  153. package/dist/map/adapter/acp-over-map.d.ts.map +1 -0
  154. package/dist/map/adapter/acp-over-map.js +1024 -0
  155. package/dist/map/adapter/acp-over-map.js.map +1 -0
  156. package/dist/map/adapter/connection-manager.d.ts +150 -0
  157. package/dist/map/adapter/connection-manager.d.ts.map +1 -0
  158. package/dist/map/adapter/connection-manager.js +207 -0
  159. package/dist/map/adapter/connection-manager.js.map +1 -0
  160. package/dist/map/adapter/event-log.d.ts +87 -0
  161. package/dist/map/adapter/event-log.d.ts.map +1 -0
  162. package/dist/map/adapter/event-log.js +122 -0
  163. package/dist/map/adapter/event-log.js.map +1 -0
  164. package/dist/map/adapter/event-translator.d.ts +85 -0
  165. package/dist/map/adapter/event-translator.d.ts.map +1 -0
  166. package/dist/map/adapter/event-translator.js +295 -0
  167. package/dist/map/adapter/event-translator.js.map +1 -0
  168. package/dist/map/adapter/extensions/agent-detection.d.ts +49 -0
  169. package/dist/map/adapter/extensions/agent-detection.d.ts.map +1 -0
  170. package/dist/map/adapter/extensions/agent-detection.js +91 -0
  171. package/dist/map/adapter/extensions/agent-detection.js.map +1 -0
  172. package/dist/map/adapter/extensions/agent-lifecycle.d.ts +82 -0
  173. package/dist/map/adapter/extensions/agent-lifecycle.d.ts.map +1 -0
  174. package/dist/map/adapter/extensions/agent-lifecycle.js +164 -0
  175. package/dist/map/adapter/extensions/agent-lifecycle.js.map +1 -0
  176. package/dist/map/adapter/extensions/cognitive.d.ts +27 -0
  177. package/dist/map/adapter/extensions/cognitive.d.ts.map +1 -0
  178. package/dist/map/adapter/extensions/cognitive.js +158 -0
  179. package/dist/map/adapter/extensions/cognitive.js.map +1 -0
  180. package/dist/map/adapter/extensions/index.d.ts +95 -0
  181. package/dist/map/adapter/extensions/index.d.ts.map +1 -0
  182. package/dist/map/adapter/extensions/index.js +228 -0
  183. package/dist/map/adapter/extensions/index.js.map +1 -0
  184. package/dist/map/adapter/extensions/mcp-bridge.d.ts +57 -0
  185. package/dist/map/adapter/extensions/mcp-bridge.d.ts.map +1 -0
  186. package/dist/map/adapter/extensions/mcp-bridge.js +745 -0
  187. package/dist/map/adapter/extensions/mcp-bridge.js.map +1 -0
  188. package/dist/map/adapter/extensions/resume.d.ts +47 -0
  189. package/dist/map/adapter/extensions/resume.d.ts.map +1 -0
  190. package/dist/map/adapter/extensions/resume.js +59 -0
  191. package/dist/map/adapter/extensions/resume.js.map +1 -0
  192. package/dist/map/adapter/extensions/streams.d.ts +95 -0
  193. package/dist/map/adapter/extensions/streams.d.ts.map +1 -0
  194. package/dist/map/adapter/extensions/streams.js +515 -0
  195. package/dist/map/adapter/extensions/streams.js.map +1 -0
  196. package/dist/map/adapter/extensions/task.d.ts +40 -0
  197. package/dist/map/adapter/extensions/task.d.ts.map +1 -0
  198. package/dist/map/adapter/extensions/task.js +197 -0
  199. package/dist/map/adapter/extensions/task.js.map +1 -0
  200. package/dist/map/adapter/extensions/update-metadata.d.ts +29 -0
  201. package/dist/map/adapter/extensions/update-metadata.d.ts.map +1 -0
  202. package/dist/map/adapter/extensions/update-metadata.js +67 -0
  203. package/dist/map/adapter/extensions/update-metadata.js.map +1 -0
  204. package/dist/map/adapter/extensions/wake.d.ts +60 -0
  205. package/dist/map/adapter/extensions/wake.d.ts.map +1 -0
  206. package/dist/map/adapter/extensions/wake.js +144 -0
  207. package/dist/map/adapter/extensions/wake.js.map +1 -0
  208. package/dist/map/adapter/extensions/workspace-files.d.ts +42 -0
  209. package/dist/map/adapter/extensions/workspace-files.d.ts.map +1 -0
  210. package/dist/map/adapter/extensions/workspace-files.js +338 -0
  211. package/dist/map/adapter/extensions/workspace-files.js.map +1 -0
  212. package/dist/map/adapter/extensions/workspace.d.ts +57 -0
  213. package/dist/map/adapter/extensions/workspace.d.ts.map +1 -0
  214. package/dist/map/adapter/extensions/workspace.js +81 -0
  215. package/dist/map/adapter/extensions/workspace.js.map +1 -0
  216. package/dist/map/adapter/index.d.ts +20 -0
  217. package/dist/map/adapter/index.d.ts.map +1 -0
  218. package/dist/map/adapter/index.js +40 -0
  219. package/dist/map/adapter/index.js.map +1 -0
  220. package/dist/map/adapter/interface.d.ts +450 -0
  221. package/dist/map/adapter/interface.d.ts.map +1 -0
  222. package/dist/map/adapter/interface.js +24 -0
  223. package/dist/map/adapter/interface.js.map +1 -0
  224. package/dist/map/adapter/mail-handler-adapter.d.ts +27 -0
  225. package/dist/map/adapter/mail-handler-adapter.d.ts.map +1 -0
  226. package/dist/map/adapter/mail-handler-adapter.js +292 -0
  227. package/dist/map/adapter/mail-handler-adapter.js.map +1 -0
  228. package/dist/map/adapter/map-adapter.d.ts +200 -0
  229. package/dist/map/adapter/map-adapter.d.ts.map +1 -0
  230. package/dist/map/adapter/map-adapter.js +1199 -0
  231. package/dist/map/adapter/map-adapter.js.map +1 -0
  232. package/dist/map/adapter/rpc-handler.d.ts +263 -0
  233. package/dist/map/adapter/rpc-handler.d.ts.map +1 -0
  234. package/dist/map/adapter/rpc-handler.js +365 -0
  235. package/dist/map/adapter/rpc-handler.js.map +1 -0
  236. package/dist/map/adapter/subscription-manager.d.ts +174 -0
  237. package/dist/map/adapter/subscription-manager.d.ts.map +1 -0
  238. package/dist/map/adapter/subscription-manager.js +248 -0
  239. package/dist/map/adapter/subscription-manager.js.map +1 -0
  240. package/dist/map/adapter/types.d.ts +194 -0
  241. package/dist/map/adapter/types.d.ts.map +1 -0
  242. package/dist/map/adapter/types.js +27 -0
  243. package/dist/map/adapter/types.js.map +1 -0
  244. package/dist/map/adapter/websocket-integration.d.ts +113 -0
  245. package/dist/map/adapter/websocket-integration.d.ts.map +1 -0
  246. package/dist/map/adapter/websocket-integration.js +134 -0
  247. package/dist/map/adapter/websocket-integration.js.map +1 -0
  248. package/dist/map/cascade-action-handler.d.ts.map +1 -1
  249. package/dist/map/cascade-action-handler.js +19 -5
  250. package/dist/map/cascade-action-handler.js.map +1 -1
  251. package/dist/map/federation/envelope.d.ts +98 -0
  252. package/dist/map/federation/envelope.d.ts.map +1 -0
  253. package/dist/map/federation/envelope.js +160 -0
  254. package/dist/map/federation/envelope.js.map +1 -0
  255. package/dist/map/federation/federation-handler.d.ts +50 -0
  256. package/dist/map/federation/federation-handler.d.ts.map +1 -0
  257. package/dist/map/federation/federation-handler.js +306 -0
  258. package/dist/map/federation/federation-handler.js.map +1 -0
  259. package/dist/map/federation/index.d.ts +14 -0
  260. package/dist/map/federation/index.d.ts.map +1 -0
  261. package/dist/map/federation/index.js +13 -0
  262. package/dist/map/federation/index.js.map +1 -0
  263. package/dist/map/federation/types.d.ts +239 -0
  264. package/dist/map/federation/types.d.ts.map +1 -0
  265. package/dist/map/federation/types.js +23 -0
  266. package/dist/map/federation/types.js.map +1 -0
  267. package/dist/map/mail-bridge.d.ts +7 -0
  268. package/dist/map/mail-bridge.d.ts.map +1 -1
  269. package/dist/map/mail-bridge.js +39 -9
  270. package/dist/map/mail-bridge.js.map +1 -1
  271. package/dist/map/server.d.ts.map +1 -1
  272. package/dist/map/server.js +17 -2
  273. package/dist/map/server.js.map +1 -1
  274. package/dist/map/types.d.ts +6 -0
  275. package/dist/map/types.d.ts.map +1 -1
  276. package/dist/mcp/map-client.d.ts +39 -0
  277. package/dist/mcp/map-client.d.ts.map +1 -0
  278. package/dist/mcp/map-client.js +129 -0
  279. package/dist/mcp/map-client.js.map +1 -0
  280. package/dist/mcp/mcp-server.d.ts +72 -0
  281. package/dist/mcp/mcp-server.d.ts.map +1 -0
  282. package/dist/mcp/mcp-server.js +1027 -0
  283. package/dist/mcp/mcp-server.js.map +1 -0
  284. package/dist/mcp/tools/claim_task.d.ts +35 -0
  285. package/dist/mcp/tools/claim_task.d.ts.map +1 -0
  286. package/dist/mcp/tools/claim_task.js +58 -0
  287. package/dist/mcp/tools/claim_task.js.map +1 -0
  288. package/dist/mcp/tools/done-v2.d.ts +0 -1
  289. package/dist/mcp/tools/done-v2.d.ts.map +1 -1
  290. package/dist/mcp/tools/done-v2.js +0 -1
  291. package/dist/mcp/tools/done-v2.js.map +1 -1
  292. package/dist/mcp/tools/done.d.ts +102 -0
  293. package/dist/mcp/tools/done.d.ts.map +1 -0
  294. package/dist/mcp/tools/done.js +253 -0
  295. package/dist/mcp/tools/done.js.map +1 -0
  296. package/dist/mcp/tools/inject_context.d.ts +61 -0
  297. package/dist/mcp/tools/inject_context.d.ts.map +1 -0
  298. package/dist/mcp/tools/inject_context.js +123 -0
  299. package/dist/mcp/tools/inject_context.js.map +1 -0
  300. package/dist/mcp/tools/list_claimable_tasks.d.ts +38 -0
  301. package/dist/mcp/tools/list_claimable_tasks.d.ts.map +1 -0
  302. package/dist/mcp/tools/list_claimable_tasks.js +63 -0
  303. package/dist/mcp/tools/list_claimable_tasks.js.map +1 -0
  304. package/dist/mcp/tools/unclaim_task.d.ts +31 -0
  305. package/dist/mcp/tools/unclaim_task.d.ts.map +1 -0
  306. package/dist/mcp/tools/unclaim_task.js +47 -0
  307. package/dist/mcp/tools/unclaim_task.js.map +1 -0
  308. package/dist/mcp/tools/wait_for_activity.d.ts +60 -0
  309. package/dist/mcp/tools/wait_for_activity.d.ts.map +1 -0
  310. package/dist/mcp/tools/wait_for_activity.js +135 -0
  311. package/dist/mcp/tools/wait_for_activity.js.map +1 -0
  312. package/dist/monitor/health-check-service.d.ts +143 -0
  313. package/dist/monitor/health-check-service.d.ts.map +1 -0
  314. package/dist/monitor/health-check-service.js +240 -0
  315. package/dist/monitor/health-check-service.js.map +1 -0
  316. package/dist/monitor/index.d.ts +14 -0
  317. package/dist/monitor/index.d.ts.map +1 -0
  318. package/dist/monitor/index.js +14 -0
  319. package/dist/monitor/index.js.map +1 -0
  320. package/dist/monitor/stall-detector.d.ts +109 -0
  321. package/dist/monitor/stall-detector.d.ts.map +1 -0
  322. package/dist/monitor/stall-detector.js +152 -0
  323. package/dist/monitor/stall-detector.js.map +1 -0
  324. package/dist/peer/capability-manager.d.ts +56 -0
  325. package/dist/peer/capability-manager.d.ts.map +1 -0
  326. package/dist/peer/capability-manager.js +186 -0
  327. package/dist/peer/capability-manager.js.map +1 -0
  328. package/dist/peer/encapsulation-manager.d.ts +190 -0
  329. package/dist/peer/encapsulation-manager.d.ts.map +1 -0
  330. package/dist/peer/encapsulation-manager.js +486 -0
  331. package/dist/peer/encapsulation-manager.js.map +1 -0
  332. package/dist/peer/federation-manager.d.ts +223 -0
  333. package/dist/peer/federation-manager.d.ts.map +1 -0
  334. package/dist/peer/federation-manager.js +528 -0
  335. package/dist/peer/federation-manager.js.map +1 -0
  336. package/dist/peer/hierarchy-errors.d.ts +208 -0
  337. package/dist/peer/hierarchy-errors.d.ts.map +1 -0
  338. package/dist/peer/hierarchy-errors.js +268 -0
  339. package/dist/peer/hierarchy-errors.js.map +1 -0
  340. package/dist/peer/hierarchy-protocol.d.ts +159 -0
  341. package/dist/peer/hierarchy-protocol.d.ts.map +1 -0
  342. package/dist/peer/hierarchy-protocol.js +142 -0
  343. package/dist/peer/hierarchy-protocol.js.map +1 -0
  344. package/dist/peer/index.d.ts +15 -0
  345. package/dist/peer/index.d.ts.map +1 -0
  346. package/dist/peer/index.js +15 -0
  347. package/dist/peer/index.js.map +1 -0
  348. package/dist/peer/peer-manager.d.ts +99 -0
  349. package/dist/peer/peer-manager.d.ts.map +1 -0
  350. package/dist/peer/peer-manager.js +333 -0
  351. package/dist/peer/peer-manager.js.map +1 -0
  352. package/dist/peer/task-delegation.d.ts +189 -0
  353. package/dist/peer/task-delegation.d.ts.map +1 -0
  354. package/dist/peer/task-delegation.js +303 -0
  355. package/dist/peer/task-delegation.js.map +1 -0
  356. package/dist/peer/transports/index.d.ts +8 -0
  357. package/dist/peer/transports/index.d.ts.map +1 -0
  358. package/dist/peer/transports/index.js +8 -0
  359. package/dist/peer/transports/index.js.map +1 -0
  360. package/dist/peer/transports/local-transport.d.ts +56 -0
  361. package/dist/peer/transports/local-transport.d.ts.map +1 -0
  362. package/dist/peer/transports/local-transport.js +263 -0
  363. package/dist/peer/transports/local-transport.js.map +1 -0
  364. package/dist/peer/transports/websocket-transport.d.ts +86 -0
  365. package/dist/peer/transports/websocket-transport.d.ts.map +1 -0
  366. package/dist/peer/transports/websocket-transport.js +338 -0
  367. package/dist/peer/transports/websocket-transport.js.map +1 -0
  368. package/dist/peer/types.d.ts +268 -0
  369. package/dist/peer/types.d.ts.map +1 -0
  370. package/dist/peer/types.js +36 -0
  371. package/dist/peer/types.js.map +1 -0
  372. package/dist/router/address-resolver.d.ts +102 -0
  373. package/dist/router/address-resolver.d.ts.map +1 -0
  374. package/dist/router/address-resolver.js +198 -0
  375. package/dist/router/address-resolver.js.map +1 -0
  376. package/dist/router/broadcast.d.ts +53 -0
  377. package/dist/router/broadcast.d.ts.map +1 -0
  378. package/dist/router/broadcast.js +75 -0
  379. package/dist/router/broadcast.js.map +1 -0
  380. package/dist/router/channels.d.ts +148 -0
  381. package/dist/router/channels.d.ts.map +1 -0
  382. package/dist/router/channels.js +126 -0
  383. package/dist/router/channels.js.map +1 -0
  384. package/dist/router/index.d.ts +21 -0
  385. package/dist/router/index.d.ts.map +1 -0
  386. package/dist/router/index.js +18 -0
  387. package/dist/router/index.js.map +1 -0
  388. package/dist/router/message-router.d.ts +197 -0
  389. package/dist/router/message-router.d.ts.map +1 -0
  390. package/dist/router/message-router.js +903 -0
  391. package/dist/router/message-router.js.map +1 -0
  392. package/dist/router/message-types.d.ts +183 -0
  393. package/dist/router/message-types.d.ts.map +1 -0
  394. package/dist/router/message-types.js +79 -0
  395. package/dist/router/message-types.js.map +1 -0
  396. package/dist/router/role-resolver.d.ts +67 -0
  397. package/dist/router/role-resolver.d.ts.map +1 -0
  398. package/dist/router/role-resolver.js +106 -0
  399. package/dist/router/role-resolver.js.map +1 -0
  400. package/dist/router/signals.d.ts +253 -0
  401. package/dist/router/signals.d.ts.map +1 -0
  402. package/dist/router/signals.js +53 -0
  403. package/dist/router/signals.js.map +1 -0
  404. package/dist/router/types.d.ts +191 -0
  405. package/dist/router/types.d.ts.map +1 -0
  406. package/dist/router/types.js +34 -0
  407. package/dist/router/types.js.map +1 -0
  408. package/dist/router/wake.d.ts +111 -0
  409. package/dist/router/wake.d.ts.map +1 -0
  410. package/dist/router/wake.js +180 -0
  411. package/dist/router/wake.js.map +1 -0
  412. package/dist/server/combined-server.d.ts +95 -0
  413. package/dist/server/combined-server.d.ts.map +1 -0
  414. package/dist/server/combined-server.js +335 -0
  415. package/dist/server/combined-server.js.map +1 -0
  416. package/dist/steering/index.d.ts +11 -0
  417. package/dist/steering/index.d.ts.map +1 -0
  418. package/dist/steering/index.js +11 -0
  419. package/dist/steering/index.js.map +1 -0
  420. package/dist/steering/inject.d.ts +39 -0
  421. package/dist/steering/inject.d.ts.map +1 -0
  422. package/dist/steering/inject.js +197 -0
  423. package/dist/steering/inject.js.map +1 -0
  424. package/dist/steering/types.d.ts +100 -0
  425. package/dist/steering/types.d.ts.map +1 -0
  426. package/dist/steering/types.js +11 -0
  427. package/dist/steering/types.js.map +1 -0
  428. package/dist/store/backends/index.d.ts +11 -0
  429. package/dist/store/backends/index.d.ts.map +1 -0
  430. package/dist/store/backends/index.js +15 -0
  431. package/dist/store/backends/index.js.map +1 -0
  432. package/dist/store/backends/json-backend.d.ts +23 -0
  433. package/dist/store/backends/json-backend.d.ts.map +1 -0
  434. package/dist/store/backends/json-backend.js +220 -0
  435. package/dist/store/backends/json-backend.js.map +1 -0
  436. package/dist/store/backends/memory-backend.d.ts +12 -0
  437. package/dist/store/backends/memory-backend.d.ts.map +1 -0
  438. package/dist/store/backends/memory-backend.js +205 -0
  439. package/dist/store/backends/memory-backend.js.map +1 -0
  440. package/dist/store/backends/sqlite-backend.d.ts +27 -0
  441. package/dist/store/backends/sqlite-backend.d.ts.map +1 -0
  442. package/dist/store/backends/sqlite-backend.js +231 -0
  443. package/dist/store/backends/sqlite-backend.js.map +1 -0
  444. package/dist/store/backends/tinybase-backend.d.ts +22 -0
  445. package/dist/store/backends/tinybase-backend.d.ts.map +1 -0
  446. package/dist/store/backends/tinybase-backend.js +203 -0
  447. package/dist/store/backends/tinybase-backend.js.map +1 -0
  448. package/dist/store/backends/types.d.ts +175 -0
  449. package/dist/store/backends/types.d.ts.map +1 -0
  450. package/dist/store/backends/types.js +28 -0
  451. package/dist/store/backends/types.js.map +1 -0
  452. package/dist/store/event-store.d.ts +128 -0
  453. package/dist/store/event-store.d.ts.map +1 -0
  454. package/dist/store/event-store.js +1751 -0
  455. package/dist/store/event-store.js.map +1 -0
  456. package/dist/store/instance.d.ts +290 -0
  457. package/dist/store/instance.d.ts.map +1 -0
  458. package/dist/store/instance.js +363 -0
  459. package/dist/store/instance.js.map +1 -0
  460. package/dist/store/migrations.d.ts +41 -0
  461. package/dist/store/migrations.d.ts.map +1 -0
  462. package/dist/store/migrations.js +79 -0
  463. package/dist/store/migrations.js.map +1 -0
  464. package/dist/store/test-utils.d.ts +63 -0
  465. package/dist/store/test-utils.d.ts.map +1 -0
  466. package/dist/store/test-utils.js +63 -0
  467. package/dist/store/test-utils.js.map +1 -0
  468. package/dist/store/types/config.d.ts +16 -0
  469. package/dist/store/types/config.d.ts.map +1 -0
  470. package/dist/store/types/config.js +8 -0
  471. package/dist/store/types/config.js.map +1 -0
  472. package/dist/store/types/conversations.d.ts +91 -0
  473. package/dist/store/types/conversations.d.ts.map +1 -0
  474. package/dist/store/types/conversations.js +8 -0
  475. package/dist/store/types/conversations.js.map +1 -0
  476. package/dist/store/types/sessions.d.ts +44 -0
  477. package/dist/store/types/sessions.d.ts.map +1 -0
  478. package/dist/store/types/sessions.js +9 -0
  479. package/dist/store/types/sessions.js.map +1 -0
  480. package/dist/store/types.d.ts +115 -0
  481. package/dist/store/types.d.ts.map +1 -0
  482. package/dist/store/types.js +6 -0
  483. package/dist/store/types.js.map +1 -0
  484. package/dist/task/backend/index.d.ts +93 -0
  485. package/dist/task/backend/index.d.ts.map +1 -0
  486. package/dist/task/backend/index.js +178 -0
  487. package/dist/task/backend/index.js.map +1 -0
  488. package/dist/task/backend/memory.d.ts +70 -0
  489. package/dist/task/backend/memory.d.ts.map +1 -0
  490. package/dist/task/backend/memory.js +621 -0
  491. package/dist/task/backend/memory.js.map +1 -0
  492. package/dist/task/backend/opentasks/backend.d.ts +140 -0
  493. package/dist/task/backend/opentasks/backend.d.ts.map +1 -0
  494. package/dist/task/backend/opentasks/backend.js +1023 -0
  495. package/dist/task/backend/opentasks/backend.js.map +1 -0
  496. package/dist/task/backend/opentasks/client.d.ts +337 -0
  497. package/dist/task/backend/opentasks/client.d.ts.map +1 -0
  498. package/dist/task/backend/opentasks/client.js +225 -0
  499. package/dist/task/backend/opentasks/client.js.map +1 -0
  500. package/dist/task/backend/opentasks/daemon-manager.d.ts +89 -0
  501. package/dist/task/backend/opentasks/daemon-manager.d.ts.map +1 -0
  502. package/dist/task/backend/opentasks/daemon-manager.js +195 -0
  503. package/dist/task/backend/opentasks/daemon-manager.js.map +1 -0
  504. package/dist/task/backend/opentasks/index.d.ts +21 -0
  505. package/dist/task/backend/opentasks/index.d.ts.map +1 -0
  506. package/dist/task/backend/opentasks/index.js +21 -0
  507. package/dist/task/backend/opentasks/index.js.map +1 -0
  508. package/dist/task/backend/opentasks/mapping.d.ts +48 -0
  509. package/dist/task/backend/opentasks/mapping.d.ts.map +1 -0
  510. package/dist/task/backend/opentasks/mapping.js +77 -0
  511. package/dist/task/backend/opentasks/mapping.js.map +1 -0
  512. package/dist/task/backend/sudocode/__tests__/integration/test-utils.d.ts +54 -0
  513. package/dist/task/backend/sudocode/__tests__/integration/test-utils.d.ts.map +1 -0
  514. package/dist/task/backend/sudocode/__tests__/integration/test-utils.js +88 -0
  515. package/dist/task/backend/sudocode/__tests__/integration/test-utils.js.map +1 -0
  516. package/dist/task/backend/sudocode/backend.d.ts +155 -0
  517. package/dist/task/backend/sudocode/backend.d.ts.map +1 -0
  518. package/dist/task/backend/sudocode/backend.js +942 -0
  519. package/dist/task/backend/sudocode/backend.js.map +1 -0
  520. package/dist/task/backend/sudocode/client.d.ts +303 -0
  521. package/dist/task/backend/sudocode/client.d.ts.map +1 -0
  522. package/dist/task/backend/sudocode/client.js +101 -0
  523. package/dist/task/backend/sudocode/client.js.map +1 -0
  524. package/dist/task/backend/sudocode/index.d.ts +19 -0
  525. package/dist/task/backend/sudocode/index.d.ts.map +1 -0
  526. package/dist/task/backend/sudocode/index.js +17 -0
  527. package/dist/task/backend/sudocode/index.js.map +1 -0
  528. package/dist/task/backend/sudocode/mapping.d.ts +51 -0
  529. package/dist/task/backend/sudocode/mapping.d.ts.map +1 -0
  530. package/dist/task/backend/sudocode/mapping.js +86 -0
  531. package/dist/task/backend/sudocode/mapping.js.map +1 -0
  532. package/dist/task/backend/sudocode/server-client.d.ts +56 -0
  533. package/dist/task/backend/sudocode/server-client.d.ts.map +1 -0
  534. package/dist/task/backend/sudocode/server-client.js +367 -0
  535. package/dist/task/backend/sudocode/server-client.js.map +1 -0
  536. package/dist/task/backend/sudocode/standalone-client.d.ts +91 -0
  537. package/dist/task/backend/sudocode/standalone-client.d.ts.map +1 -0
  538. package/dist/task/backend/sudocode/standalone-client.js +476 -0
  539. package/dist/task/backend/sudocode/standalone-client.js.map +1 -0
  540. package/dist/task/backend/sudocode/sync-policy.d.ts +166 -0
  541. package/dist/task/backend/sudocode/sync-policy.d.ts.map +1 -0
  542. package/dist/task/backend/sudocode/sync-policy.js +221 -0
  543. package/dist/task/backend/sudocode/sync-policy.js.map +1 -0
  544. package/dist/task/backend/sudocode/tools.d.ts +87 -0
  545. package/dist/task/backend/sudocode/tools.d.ts.map +1 -0
  546. package/dist/task/backend/sudocode/tools.js +743 -0
  547. package/dist/task/backend/sudocode/tools.js.map +1 -0
  548. package/dist/task/backend/tool-provider.d.ts +56 -0
  549. package/dist/task/backend/tool-provider.d.ts.map +1 -0
  550. package/dist/task/backend/tool-provider.js +424 -0
  551. package/dist/task/backend/tool-provider.js.map +1 -0
  552. package/dist/task/backend/types.d.ts +297 -0
  553. package/dist/task/backend/types.d.ts.map +1 -0
  554. package/dist/task/backend/types.js +27 -0
  555. package/dist/task/backend/types.js.map +1 -0
  556. package/dist/task/backend/unified-tool-provider.d.ts +57 -0
  557. package/dist/task/backend/unified-tool-provider.d.ts.map +1 -0
  558. package/dist/task/backend/unified-tool-provider.js +623 -0
  559. package/dist/task/backend/unified-tool-provider.js.map +1 -0
  560. package/dist/task/index.d.ts +7 -0
  561. package/dist/task/index.d.ts.map +1 -0
  562. package/dist/task/index.js +7 -0
  563. package/dist/task/index.js.map +1 -0
  564. package/dist/task/retry-policy.d.ts +89 -0
  565. package/dist/task/retry-policy.d.ts.map +1 -0
  566. package/dist/task/retry-policy.js +160 -0
  567. package/dist/task/retry-policy.js.map +1 -0
  568. package/dist/task/task-manager.d.ts +70 -0
  569. package/dist/task/task-manager.d.ts.map +1 -0
  570. package/dist/task/task-manager.js +319 -0
  571. package/dist/task/task-manager.js.map +1 -0
  572. package/dist/task/types.d.ts +72 -0
  573. package/dist/task/types.d.ts.map +1 -0
  574. package/dist/task/types.js +33 -0
  575. package/dist/task/types.js.map +1 -0
  576. package/dist/teams/team-loader.d.ts +2 -1
  577. package/dist/teams/team-loader.d.ts.map +1 -1
  578. package/dist/teams/team-loader.js +2 -1
  579. package/dist/teams/team-loader.js.map +1 -1
  580. package/dist/teams/team-manager.d.ts +101 -0
  581. package/dist/teams/team-manager.d.ts.map +1 -0
  582. package/dist/teams/team-manager.js +260 -0
  583. package/dist/teams/team-manager.js.map +1 -0
  584. package/dist/teams/team-runtime-v2.d.ts +0 -3
  585. package/dist/teams/team-runtime-v2.d.ts.map +1 -1
  586. package/dist/teams/team-runtime-v2.js +31 -93
  587. package/dist/teams/team-runtime-v2.js.map +1 -1
  588. package/dist/teams/team-runtime.d.ts +245 -0
  589. package/dist/teams/team-runtime.d.ts.map +1 -0
  590. package/dist/teams/team-runtime.js +1023 -0
  591. package/dist/teams/team-runtime.js.map +1 -0
  592. package/dist/trigger/router/index.d.ts +11 -0
  593. package/dist/trigger/router/index.d.ts.map +1 -0
  594. package/dist/trigger/router/index.js +10 -0
  595. package/dist/trigger/router/index.js.map +1 -0
  596. package/dist/trigger/router/strategies/ai-router-strategy.d.ts +34 -0
  597. package/dist/trigger/router/strategies/ai-router-strategy.d.ts.map +1 -0
  598. package/dist/trigger/router/strategies/ai-router-strategy.js +359 -0
  599. package/dist/trigger/router/strategies/ai-router-strategy.js.map +1 -0
  600. package/dist/trigger/router/strategies/direct-strategy.d.ts +32 -0
  601. package/dist/trigger/router/strategies/direct-strategy.d.ts.map +1 -0
  602. package/dist/trigger/router/strategies/direct-strategy.js +119 -0
  603. package/dist/trigger/router/strategies/direct-strategy.js.map +1 -0
  604. package/dist/trigger/router/strategies/index.d.ts +11 -0
  605. package/dist/trigger/router/strategies/index.d.ts.map +1 -0
  606. package/dist/trigger/router/strategies/index.js +11 -0
  607. package/dist/trigger/router/strategies/index.js.map +1 -0
  608. package/dist/trigger/router/strategies/role-strategy.d.ts +39 -0
  609. package/dist/trigger/router/strategies/role-strategy.d.ts.map +1 -0
  610. package/dist/trigger/router/strategies/role-strategy.js +207 -0
  611. package/dist/trigger/router/strategies/role-strategy.js.map +1 -0
  612. package/dist/trigger/router/trigger-router.d.ts +54 -0
  613. package/dist/trigger/router/trigger-router.d.ts.map +1 -0
  614. package/dist/trigger/router/trigger-router.js +362 -0
  615. package/dist/trigger/router/trigger-router.js.map +1 -0
  616. package/dist/trigger/router/types.d.ts +225 -0
  617. package/dist/trigger/router/types.d.ts.map +1 -0
  618. package/dist/trigger/router/types.js +10 -0
  619. package/dist/trigger/router/types.js.map +1 -0
  620. package/dist/trigger/sources/cron/cron-service.d.ts.map +1 -1
  621. package/dist/trigger/sources/cron/cron-service.js +6 -3
  622. package/dist/trigger/sources/cron/cron-service.js.map +1 -1
  623. package/dist/trigger/trigger-system.d.ts +77 -0
  624. package/dist/trigger/trigger-system.d.ts.map +1 -0
  625. package/dist/trigger/trigger-system.js +84 -0
  626. package/dist/trigger/trigger-system.js.map +1 -0
  627. package/dist/util/git-safety.d.ts +33 -0
  628. package/dist/util/git-safety.d.ts.map +1 -0
  629. package/dist/util/git-safety.js +94 -0
  630. package/dist/util/git-safety.js.map +1 -0
  631. package/dist/workspace/index.d.ts +0 -1
  632. package/dist/workspace/index.d.ts.map +1 -1
  633. package/dist/workspace/index.js +0 -2
  634. package/dist/workspace/index.js.map +1 -1
  635. package/dist/workspace/landing/direct-push.d.ts.map +1 -1
  636. package/dist/workspace/landing/direct-push.js +22 -7
  637. package/dist/workspace/landing/direct-push.js.map +1 -1
  638. package/dist/workspace/landing/queue-to-branch.d.ts.map +1 -1
  639. package/dist/workspace/landing/queue-to-branch.js +1 -3
  640. package/dist/workspace/landing/queue-to-branch.js.map +1 -1
  641. package/dist/workspace/types.d.ts +0 -13
  642. package/dist/workspace/types.d.ts.map +1 -1
  643. package/dist/workspace/workspace-manager.d.ts +0 -11
  644. package/dist/workspace/workspace-manager.d.ts.map +1 -1
  645. package/dist/workspace/workspace-manager.js +0 -30
  646. package/dist/workspace/workspace-manager.js.map +1 -1
  647. package/package.json +28 -2
  648. package/templates/teams/self-driving/prompts/grinder.md +1 -0
  649. package/templates/teams/self-driving/prompts/judge.md +1 -0
  650. package/templates/teams/self-driving/prompts/planner.md +1 -0
  651. package/templates/teams/self-driving/roles/grinder.yaml +15 -0
  652. package/templates/teams/self-driving/roles/judge.yaml +10 -0
  653. package/templates/teams/self-driving/roles/planner.yaml +16 -0
  654. package/.claude/commands/openspec/apply.md +0 -23
  655. package/.claude/commands/openspec/archive.md +0 -27
  656. package/.claude/commands/openspec/proposal.md +0 -28
  657. package/.claude/settings.json +0 -133
  658. package/.gitattributes +0 -3
  659. package/.opentasks/config.json +0 -9
  660. package/.opentasks/graph.jsonl +0 -0
  661. package/.sessionlog/settings.json +0 -4
  662. package/.sudocode/issues.jsonl +0 -183
  663. package/.sudocode/specs.jsonl +0 -56
  664. package/AGENTS.md +0 -18
  665. package/CLAUDE.md +0 -923
  666. package/docs/architecture.md +0 -508
  667. package/docs/configuration.md +0 -323
  668. package/docs/conflict-recovery.md +0 -472
  669. package/docs/design/task-dispatcher.md +0 -880
  670. package/docs/design-subsystem-extraction.md +0 -627
  671. package/docs/git-cascade-integration-gaps.md +0 -678
  672. package/docs/implementation-details.md +0 -1127
  673. package/docs/implementation-summary.md +0 -448
  674. package/docs/lifecycle-events-design.md +0 -111
  675. package/docs/mail-integration.md +0 -608
  676. package/docs/openhive-capability-summary.md +0 -415
  677. package/docs/openhive-integration.md +0 -415
  678. package/docs/plan-self-driving-support.md +0 -433
  679. package/docs/roadmap-v2-gaps.md +0 -216
  680. package/docs/spec-self-driving-support.md +0 -462
  681. package/docs/team-templates.md +0 -860
  682. package/docs/teams.md +0 -306
  683. package/docs/trigger-system-design.md +0 -333
  684. package/docs/troubleshooting.md +0 -489
  685. package/docs/workspace-interfaces.md +0 -731
  686. package/docs/workspace-redesign-plan.md +0 -302
  687. package/examples/distributed-peer-communication.ts +0 -202
  688. package/examples/local-peer-communication.ts +0 -165
  689. package/index.js +0 -2
  690. package/mvp_docs/agent-execution-system.md +0 -347
  691. package/mvp_docs/agent-interface.md +0 -580
  692. package/mvp_docs/data-structures.md +0 -701
  693. package/mvp_docs/dynamic-meta-orchestration.md +0 -116
  694. package/mvp_docs/multi-agent-interaction-design.md +0 -779
  695. package/mvp_docs/mvp-implementation-plan.md +0 -1148
  696. package/renovate.json5 +0 -6
  697. package/scripts/test-acp-integration.ts +0 -422
  698. package/src/__tests__/boot-v2.test.ts +0 -631
  699. package/src/__tests__/e2e/acp-over-map-live.e2e.test.ts +0 -496
  700. package/src/__tests__/e2e/acp-over-map.e2e.test.ts +0 -457
  701. package/src/__tests__/e2e/agent-lifecycle.e2e.test.ts +0 -770
  702. package/src/__tests__/e2e/auto-sync.e2e.test.ts +0 -257
  703. package/src/__tests__/e2e/bootstrap.e2e.test.ts +0 -319
  704. package/src/__tests__/e2e/cascade-rebase.e2e.test.ts +0 -254
  705. package/src/__tests__/e2e/cc-swarm-bridge.e2e.test.ts +0 -253
  706. package/src/__tests__/e2e/cli-run.e2e.test.ts +0 -167
  707. package/src/__tests__/e2e/cognitive-workspace.e2e.test.ts +0 -282
  708. package/src/__tests__/e2e/dispatch-coordination.e2e.test.ts +0 -495
  709. package/src/__tests__/e2e/dispatch-live.e2e.test.ts +0 -564
  710. package/src/__tests__/e2e/dispatch-opentasks.e2e.test.ts +0 -496
  711. package/src/__tests__/e2e/dispatch-phase2-live.e2e.test.ts +0 -456
  712. package/src/__tests__/e2e/dispatch-phase2.e2e.test.ts +0 -386
  713. package/src/__tests__/e2e/dispatch.e2e.test.ts +0 -376
  714. package/src/__tests__/e2e/done-scenarios.e2e.test.ts +0 -322
  715. package/src/__tests__/e2e/live-agent.e2e.test.ts +0 -1330
  716. package/src/__tests__/e2e/map-server.e2e.test.ts +0 -128
  717. package/src/__tests__/e2e/map-sidecar.e2e.test.ts +0 -139
  718. package/src/__tests__/e2e/opentasks-integration.e2e.test.ts +0 -280
  719. package/src/__tests__/e2e/pull-mode.e2e.test.ts +0 -632
  720. package/src/__tests__/e2e/resume-continue.e2e.test.ts +0 -312
  721. package/src/__tests__/e2e/self-driving-v3.e2e.test.ts +0 -197
  722. package/src/__tests__/e2e/spawn-resolver.e2e.test.ts +0 -200
  723. package/src/__tests__/e2e/swarmkit-integration.e2e.test.ts +0 -562
  724. package/src/__tests__/e2e/swarmkit-live.e2e.test.ts +0 -1049
  725. package/src/__tests__/e2e/trajectory-tracking.e2e.test.ts +0 -258
  726. package/src/__tests__/e2e/trigger-wake.e2e.test.ts +0 -257
  727. package/src/__tests__/e2e/workspace-lifecycle.e2e.test.ts +0 -383
  728. package/src/__tests__/e2e/workspace-v3.e2e.test.ts +0 -413
  729. package/src/acp/__tests__/claude-code-replay.test.ts +0 -225
  730. package/src/acp/__tests__/macro-agent.test.ts +0 -387
  731. package/src/acp/__tests__/session-mapper.test.ts +0 -152
  732. package/src/acp/__tests__/websocket-server.test.ts +0 -194
  733. package/src/acp/claude-code-replay.ts +0 -208
  734. package/src/acp/index.ts +0 -32
  735. package/src/acp/macro-agent.ts +0 -995
  736. package/src/acp/map-bridge.ts +0 -193
  737. package/src/acp/session-mapper.ts +0 -116
  738. package/src/acp/types.ts +0 -99
  739. package/src/acp/websocket-server.ts +0 -213
  740. package/src/adapters/__tests__/federation.test.ts +0 -256
  741. package/src/adapters/__tests__/inbox-adapter.test.ts +0 -316
  742. package/src/adapters/__tests__/tasks-adapter.test.ts +0 -270
  743. package/src/adapters/federation.ts +0 -185
  744. package/src/adapters/inbox-adapter.ts +0 -292
  745. package/src/adapters/inbox-client-adapter.ts +0 -173
  746. package/src/adapters/index.ts +0 -44
  747. package/src/adapters/opentasks-daemon.ts +0 -252
  748. package/src/adapters/tasks-adapter.ts +0 -330
  749. package/src/adapters/types.ts +0 -286
  750. package/src/agent/__tests__/agent-manager-topology.test.ts +0 -73
  751. package/src/agent/__tests__/agent-manager-v2.permission-interception.test.ts +0 -296
  752. package/src/agent/__tests__/agent-manager-v2.permissions.test.ts +0 -233
  753. package/src/agent/__tests__/agent-manager-v2.test.ts +0 -614
  754. package/src/agent/__tests__/agent-store.test.ts +0 -465
  755. package/src/agent/__tests__/task-ref-resolution.test.ts +0 -231
  756. package/src/agent/agent-manager-v2.ts +0 -2021
  757. package/src/agent/agent-manager.ts +0 -386
  758. package/src/agent/agent-store.ts +0 -409
  759. package/src/agent/index.ts +0 -7
  760. package/src/agent/prompts/coordinator-signals.ts +0 -115
  761. package/src/agent/prompts/index.ts +0 -7
  762. package/src/agent/system-prompt.ts +0 -298
  763. package/src/agent/types.ts +0 -459
  764. package/src/agent-detection/__tests__/command-builder.test.ts +0 -336
  765. package/src/agent-detection/__tests__/detector.test.ts +0 -768
  766. package/src/agent-detection/__tests__/registry.test.ts +0 -254
  767. package/src/agent-detection/command-builder.ts +0 -90
  768. package/src/agent-detection/detector.ts +0 -307
  769. package/src/agent-detection/index.ts +0 -36
  770. package/src/agent-detection/registry.ts +0 -200
  771. package/src/agent-detection/types.ts +0 -184
  772. package/src/api/__tests__/server.test.ts +0 -292
  773. package/src/api/index.ts +0 -8
  774. package/src/api/server.ts +0 -380
  775. package/src/api/types.ts +0 -39
  776. package/src/auth/__tests__/token.test.ts +0 -100
  777. package/src/auth/index.ts +0 -1
  778. package/src/auth/token.ts +0 -82
  779. package/src/boot-v2.ts +0 -1343
  780. package/src/cli/__tests__/stable-instance-id.test.ts +0 -57
  781. package/src/cli/acp.ts +0 -101
  782. package/src/cli/inbox-mcp-proxy.ts +0 -56
  783. package/src/cli/index.ts +0 -566
  784. package/src/cli/mcp.ts +0 -305
  785. package/src/cli/parse-args.ts +0 -54
  786. package/src/cli/stable-instance-id.ts +0 -14
  787. package/src/cognitive/__tests__/macro-agent-backend.test.ts +0 -520
  788. package/src/cognitive/__tests__/session-converter.test.ts +0 -423
  789. package/src/cognitive/__tests__/workspace-handler.test.ts +0 -221
  790. package/src/cognitive/analyst-role.ts +0 -59
  791. package/src/cognitive/index.ts +0 -49
  792. package/src/cognitive/macro-agent-backend.ts +0 -370
  793. package/src/cognitive/session-converter.ts +0 -151
  794. package/src/cognitive/types.ts +0 -163
  795. package/src/cognitive/workspace-handler.ts +0 -163
  796. package/src/config/index.ts +0 -9
  797. package/src/config/project-config.ts +0 -294
  798. package/src/control/__tests__/control-resilience.test.ts +0 -251
  799. package/src/control/__tests__/control-socket.test.ts +0 -240
  800. package/src/control/control-client.ts +0 -337
  801. package/src/control/control-server.ts +0 -298
  802. package/src/control/index.ts +0 -17
  803. package/src/control/types.ts +0 -95
  804. package/src/dispatch/CLAUDE.md +0 -129
  805. package/src/dispatch/__tests__/loadout-translation.test.ts +0 -141
  806. package/src/dispatch/__tests__/mail-inbound-consumer.integration.test.ts +0 -519
  807. package/src/dispatch/__tests__/mail-inbound-consumer.test.ts +0 -800
  808. package/src/dispatch/__tests__/mail-inbound-reuse-consumer.test.ts +0 -575
  809. package/src/dispatch/__tests__/permission-evaluator.test.ts +0 -196
  810. package/src/dispatch/__tests__/permission-overlay.test.ts +0 -56
  811. package/src/dispatch/__tests__/permissions-handler.test.ts +0 -168
  812. package/src/dispatch/__tests__/spawn-agent-handler.test.ts +0 -282
  813. package/src/dispatch/loadout-translation.ts +0 -138
  814. package/src/dispatch/mail-inbound-consumer.ts +0 -560
  815. package/src/dispatch/mail-inbound-reuse-consumer.ts +0 -479
  816. package/src/dispatch/permission-evaluator.ts +0 -191
  817. package/src/dispatch/permission-overlay.ts +0 -89
  818. package/src/dispatch/permissions-handler.ts +0 -112
  819. package/src/dispatch/spawn-agent-handler.ts +0 -160
  820. package/src/index.ts +0 -115
  821. package/src/integrations/__tests__/context-builder.test.ts +0 -218
  822. package/src/integrations/__tests__/sessionlog.test.ts +0 -498
  823. package/src/integrations/__tests__/skilltree.test.ts +0 -136
  824. package/src/integrations/context-builder.ts +0 -280
  825. package/src/integrations/sessionlog.ts +0 -194
  826. package/src/integrations/skilltree.ts +0 -184
  827. package/src/lifecycle/__tests__/cascade-consolidation.test.ts +0 -240
  828. package/src/lifecycle/__tests__/handlers-v2.test.ts +0 -565
  829. package/src/lifecycle/cascade.ts +0 -335
  830. package/src/lifecycle/cleanup.ts +0 -373
  831. package/src/lifecycle/handlers-v2.ts +0 -508
  832. package/src/lifecycle/index.ts +0 -76
  833. package/src/lifecycle/types.ts +0 -260
  834. package/src/map/__tests__/cascade-bridge.test.ts +0 -229
  835. package/src/map/__tests__/cascade-diff-server.test.ts +0 -434
  836. package/src/map/__tests__/emit-event.test.ts +0 -71
  837. package/src/map/__tests__/lifecycle-bridge.test.ts +0 -430
  838. package/src/map/__tests__/mail-bridge.test.ts +0 -284
  839. package/src/map/__tests__/permission-forwarding.test.ts +0 -143
  840. package/src/map/__tests__/sidecar-diff-install-smoke.test.ts +0 -90
  841. package/src/map/__tests__/sidecar-integration.test.ts +0 -190
  842. package/src/map/__tests__/task-bridge.test.ts +0 -153
  843. package/src/map/__tests__/trajectory-reporter.test.ts +0 -173
  844. package/src/map/acp-bridge.ts +0 -293
  845. package/src/map/cascade-action-handler.ts +0 -205
  846. package/src/map/cascade-bridge.ts +0 -339
  847. package/src/map/cascade-diff-server.ts +0 -404
  848. package/src/map/cc-swarm-hooks.ts +0 -242
  849. package/src/map/coordination-handler.ts +0 -232
  850. package/src/map/index.ts +0 -18
  851. package/src/map/lifecycle-bridge.ts +0 -236
  852. package/src/map/mail-bridge.ts +0 -215
  853. package/src/map/repo-workspace.ts +0 -82
  854. package/src/map/server.ts +0 -758
  855. package/src/map/sidecar.ts +0 -826
  856. package/src/map/task-bridge.ts +0 -89
  857. package/src/map/trajectory-reporter.ts +0 -124
  858. package/src/map/types.ts +0 -304
  859. package/src/mcp/__tests__/mcp-server-v2.test.ts +0 -236
  860. package/src/mcp/index.ts +0 -6
  861. package/src/mcp/mcp-server-v2.ts +0 -485
  862. package/src/mcp/tools/done-v2.ts +0 -213
  863. package/src/mcp/types.ts +0 -432
  864. package/src/metrics/__tests__/metrics.test.ts +0 -205
  865. package/src/metrics/index.ts +0 -13
  866. package/src/metrics/metrics.ts +0 -151
  867. package/src/metrics/types.ts +0 -63
  868. package/src/roles/__tests__/config-loader.test.ts +0 -540
  869. package/src/roles/builtin/coordinator.ts +0 -75
  870. package/src/roles/builtin/generic.ts +0 -39
  871. package/src/roles/builtin/index.ts +0 -51
  872. package/src/roles/builtin/integrator.ts +0 -62
  873. package/src/roles/builtin/monitor.ts +0 -65
  874. package/src/roles/builtin/worker.ts +0 -134
  875. package/src/roles/capabilities.ts +0 -257
  876. package/src/roles/config-loader.ts +0 -405
  877. package/src/roles/index.ts +0 -141
  878. package/src/roles/registry.ts +0 -713
  879. package/src/roles/types.ts +0 -344
  880. package/src/store/index.ts +0 -8
  881. package/src/store/types/agents.ts +0 -69
  882. package/src/store/types/events.ts +0 -91
  883. package/src/store/types/index.ts +0 -9
  884. package/src/store/types/messages.ts +0 -32
  885. package/src/store/types/primitives.ts +0 -9
  886. package/src/store/types/tasks.ts +0 -124
  887. package/src/teams/__tests__/team-manager-v2.test.ts +0 -425
  888. package/src/teams/__tests__/team-runtime-v2.test.ts +0 -402
  889. package/src/teams/index.ts +0 -29
  890. package/src/teams/seed-defaults.ts +0 -83
  891. package/src/teams/team-loader.ts +0 -476
  892. package/src/teams/team-manager-v2.ts +0 -343
  893. package/src/teams/team-runtime-v2.ts +0 -920
  894. package/src/teams/types.ts +0 -276
  895. package/src/trigger/__tests__/cron-service.test.ts +0 -548
  896. package/src/trigger/__tests__/scheduler.test.ts +0 -371
  897. package/src/trigger/__tests__/system-event-queue.test.ts +0 -147
  898. package/src/trigger/__tests__/trigger-system-v2.test.ts +0 -257
  899. package/src/trigger/__tests__/wake-manager.test.ts +0 -356
  900. package/src/trigger/__tests__/webhook-handler.test.ts +0 -567
  901. package/src/trigger/index.ts +0 -110
  902. package/src/trigger/queue/index.ts +0 -21
  903. package/src/trigger/queue/system-event-queue.ts +0 -232
  904. package/src/trigger/queue/types.ts +0 -149
  905. package/src/trigger/sources/cron/cron-service.ts +0 -499
  906. package/src/trigger/sources/cron/index.ts +0 -41
  907. package/src/trigger/sources/cron/scheduler.ts +0 -344
  908. package/src/trigger/sources/cron/types.ts +0 -333
  909. package/src/trigger/sources/index.ts +0 -10
  910. package/src/trigger/sources/webhook/index.ts +0 -25
  911. package/src/trigger/sources/webhook/types.ts +0 -205
  912. package/src/trigger/sources/webhook/webhook-handler.ts +0 -410
  913. package/src/trigger/strategies/ai-router.ts +0 -170
  914. package/src/trigger/trigger-system-v2.ts +0 -536
  915. package/src/trigger/types.ts +0 -228
  916. package/src/trigger/wake/index.ts +0 -22
  917. package/src/trigger/wake/types.ts +0 -162
  918. package/src/trigger/wake/wake-manager.ts +0 -390
  919. package/src/workspace/__tests__/git-cascade-adapter.test.ts +0 -563
  920. package/src/workspace/__tests__/land-dispatch.test.ts +0 -214
  921. package/src/workspace/__tests__/self-driving-yaml.test.ts +0 -122
  922. package/src/workspace/__tests__/shared-worktree-refcount.test.ts +0 -154
  923. package/src/workspace/__tests__/standalone-mode.test.ts +0 -118
  924. package/src/workspace/__tests__/workspace-manager-v3.test.ts +0 -245
  925. package/src/workspace/__tests__/yaml-schema.test.ts +0 -210
  926. package/src/workspace/config.ts +0 -165
  927. package/src/workspace/git-cascade-adapter.ts +0 -1213
  928. package/src/workspace/index.ts +0 -110
  929. package/src/workspace/landing/__tests__/strategies.test.ts +0 -184
  930. package/src/workspace/landing/direct-push.ts +0 -91
  931. package/src/workspace/landing/index.ts +0 -40
  932. package/src/workspace/landing/merge-to-parent.ts +0 -229
  933. package/src/workspace/landing/optimistic-push.ts +0 -36
  934. package/src/workspace/landing/queue-to-branch.ts +0 -108
  935. package/src/workspace/merge-queue/__tests__/conflict-resolution-git.e2e.test.ts +0 -641
  936. package/src/workspace/merge-queue/__tests__/conflict-resolution.test.ts +0 -707
  937. package/src/workspace/merge-queue/__tests__/merge-queue-concurrent.test.ts +0 -628
  938. package/src/workspace/merge-queue/__tests__/merge-queue-edge-cases.test.ts +0 -1217
  939. package/src/workspace/merge-queue/__tests__/merge-queue.test.ts +0 -506
  940. package/src/workspace/merge-queue/__tests__/real-git-operations.e2e.test.ts +0 -556
  941. package/src/workspace/merge-queue/__tests__/resolver-flow.test.ts +0 -472
  942. package/src/workspace/merge-queue/index.ts +0 -38
  943. package/src/workspace/merge-queue/merge-queue.ts +0 -585
  944. package/src/workspace/merge-queue/schema.ts +0 -98
  945. package/src/workspace/merge-queue/types.ts +0 -316
  946. package/src/workspace/pool/__tests__/worktree-pool.integration.test.ts +0 -1281
  947. package/src/workspace/pool/__tests__/worktree-pool.test.ts +0 -590
  948. package/src/workspace/pool/index.ts +0 -26
  949. package/src/workspace/pool/types.ts +0 -276
  950. package/src/workspace/pool/worktree-pool.ts +0 -659
  951. package/src/workspace/recovery/__tests__/auto-resolve-integration.test.ts +0 -127
  952. package/src/workspace/recovery/__tests__/spawn-resolver.test.ts +0 -139
  953. package/src/workspace/recovery/__tests__/strategies.test.ts +0 -145
  954. package/src/workspace/recovery/abandon.ts +0 -51
  955. package/src/workspace/recovery/auto-resolve.ts +0 -119
  956. package/src/workspace/recovery/defer.ts +0 -23
  957. package/src/workspace/recovery/escalate.ts +0 -30
  958. package/src/workspace/recovery/index.ts +0 -58
  959. package/src/workspace/recovery/spawn-resolver.ts +0 -152
  960. package/src/workspace/recovery/types.ts +0 -54
  961. package/src/workspace/strategies/index.ts +0 -18
  962. package/src/workspace/strategies/optimistic.ts +0 -139
  963. package/src/workspace/strategies/queue.ts +0 -81
  964. package/src/workspace/strategies/registry.ts +0 -89
  965. package/src/workspace/strategies/trunk.ts +0 -123
  966. package/src/workspace/strategies/types.ts +0 -145
  967. package/src/workspace/topology/__tests__/yaml-driven.test.ts +0 -345
  968. package/src/workspace/topology/index.ts +0 -18
  969. package/src/workspace/topology/no-workspace.ts +0 -39
  970. package/src/workspace/topology/types.ts +0 -116
  971. package/src/workspace/topology/yaml-driven.ts +0 -316
  972. package/src/workspace/types-v3.ts +0 -162
  973. package/src/workspace/types.ts +0 -541
  974. package/src/workspace/workspace-manager.ts +0 -1577
  975. package/src/workspace/yaml-schema.ts +0 -216
  976. package/test_fixtures/README.md +0 -425
  977. package/test_fixtures/fixtures/behaviors/coordinators.ts +0 -196
  978. package/test_fixtures/fixtures/behaviors/index.ts +0 -62
  979. package/test_fixtures/fixtures/behaviors/integrators.ts +0 -143
  980. package/test_fixtures/fixtures/behaviors/monitors.ts +0 -199
  981. package/test_fixtures/fixtures/behaviors/workers.ts +0 -348
  982. package/test_fixtures/fixtures/index.ts +0 -7
  983. package/test_fixtures/fixtures/projects/index.ts +0 -23
  984. package/test_fixtures/fixtures/projects/project-with-specs.ts +0 -44
  985. package/test_fixtures/fixtures/projects/typescript-project.ts +0 -200
  986. package/test_fixtures/fixtures/repos/index.ts +0 -6
  987. package/test_fixtures/fixtures/repos/temp-repo-factory.ts +0 -299
  988. package/test_fixtures/fixtures/repos/types.ts +0 -174
  989. package/test_fixtures/harness/assertions/harness-assertions.ts +0 -752
  990. package/test_fixtures/harness/assertions/index.ts +0 -8
  991. package/test_fixtures/harness/index.ts +0 -15
  992. package/test_fixtures/harness/simulator/agent-simulator.ts +0 -768
  993. package/test_fixtures/harness/simulator/behavior-executor.ts +0 -580
  994. package/test_fixtures/harness/simulator/index.ts +0 -14
  995. package/test_fixtures/harness/simulator/types.ts +0 -459
  996. package/test_fixtures/harness/test-harness.ts +0 -770
  997. package/test_fixtures/harness/timing/event-stepper.ts +0 -344
  998. package/test_fixtures/harness/timing/index.ts +0 -8
  999. package/tsconfig.json +0 -21
  1000. package/vitest.config.ts +0 -30
  1001. package/vitest.e2e.config.ts +0 -28
  1002. package/vitest.setup.ts +0 -12
@@ -0,0 +1,134 @@
1
+ /**
2
+ * MAP WebSocket Integration
3
+ *
4
+ * Provides WebSocket integration for the MAP adapter, enabling external clients
5
+ * to connect via WebSocket and use the MAP protocol.
6
+ *
7
+ * Reuses the existing webSocketStream() adapter to keep MAPAdapter transport-agnostic.
8
+ *
9
+ * @see specs/s-5qir_map_integration_for_macro_agent.md
10
+ */
11
+ import { webSocketStream } from "../../acp/websocket-stream.js";
12
+ // =============================================================================
13
+ // WebSocket Handler Factory
14
+ // =============================================================================
15
+ /**
16
+ * Create a MAP WebSocket handler.
17
+ *
18
+ * This handler processes WebSocket connections for the MAP protocol.
19
+ * It creates a stream adapter from the WebSocket and passes it to the MAPAdapter.
20
+ *
21
+ * @param adapter - The MAPAdapter instance to use
22
+ * @returns Handler for managing MAP WebSocket connections
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * const mapHandler = createMAPWebSocketHandler(mapAdapter);
27
+ *
28
+ * wss.on("connection", (ws, req) => {
29
+ * if (req.url?.startsWith("/map")) {
30
+ * mapHandler.handleConnection(ws, req);
31
+ * }
32
+ * });
33
+ * ```
34
+ */
35
+ export function createMAPWebSocketHandler(adapter) {
36
+ const connections = new Map();
37
+ async function handleConnection(ws, req) {
38
+ const remoteAddress = req.socket.remoteAddress ?? "unknown";
39
+ console.error(`[ws-map] New connection from ${remoteAddress}`);
40
+ // Create stream adapter from WebSocket
41
+ const stream = webSocketStream(ws);
42
+ try {
43
+ // Let MAPAdapter handle the connection
44
+ const participant = await adapter.acceptConnection(stream);
45
+ // Track this connection
46
+ const tracked = {
47
+ ws,
48
+ participant,
49
+ createdAt: Date.now(),
50
+ };
51
+ connections.set(ws, tracked);
52
+ console.error(`[ws-map] Participant ${participant.id} connected`);
53
+ // Handle connection close
54
+ ws.on("close", (code, reason) => {
55
+ console.error(`[ws-map] Connection closed: participant=${participant.id}, code=${code}, reason=${reason.toString()}`);
56
+ connections.delete(ws);
57
+ // MAPAdapter handles cleanup internally via stream close
58
+ });
59
+ // Handle connection errors
60
+ ws.on("error", (err) => {
61
+ console.error(`[ws-map] Connection error: participant=${participant.id}`, err);
62
+ connections.delete(ws);
63
+ });
64
+ }
65
+ catch (error) {
66
+ console.error(`[ws-map] Failed to accept connection:`, error);
67
+ ws.close(1011, "Connection setup failed");
68
+ }
69
+ }
70
+ function getConnectionCount() {
71
+ return connections.size;
72
+ }
73
+ function closeAll() {
74
+ console.error(`[ws-map] Closing ${connections.size} connections...`);
75
+ for (const [ws, tracked] of connections) {
76
+ if (ws.readyState === ws.OPEN) {
77
+ // Disconnect via adapter first (for clean subscription cleanup)
78
+ adapter.disconnectParticipant(tracked.participant.id, "Server shutting down")
79
+ .catch((err) => console.error(`[ws-map] Error disconnecting participant:`, err));
80
+ ws.close(1001, "Server shutting down");
81
+ }
82
+ }
83
+ connections.clear();
84
+ }
85
+ function getParticipant(ws) {
86
+ return connections.get(ws)?.participant;
87
+ }
88
+ return {
89
+ handleConnection,
90
+ getConnectionCount,
91
+ closeAll,
92
+ getParticipant,
93
+ };
94
+ }
95
+ /**
96
+ * Set up MAP WebSocket handling configuration.
97
+ *
98
+ * Returns a handler and path matcher for use in a combined server setup.
99
+ *
100
+ * @param config - MAP WebSocket configuration
101
+ * @returns Setup result with handler and path matcher
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * const mapSetup = setupMAPWebSocket({ adapter: mapAdapter });
106
+ * const acpSetup = setupACPWebSocket(wss, services);
107
+ *
108
+ * // Route connections based on path
109
+ * httpServer.on("upgrade", (req, socket, head) => {
110
+ * if (mapSetup.matchesPath(req.url)) {
111
+ * wss.handleUpgrade(req, socket, head, (ws) => {
112
+ * mapSetup.handler.handleConnection(ws, req);
113
+ * });
114
+ * } else {
115
+ * // ACP or other handling
116
+ * }
117
+ * });
118
+ * ```
119
+ */
120
+ export function setupMAPWebSocket(config) {
121
+ const { adapter, path = "/map" } = config;
122
+ const handler = createMAPWebSocketHandler(adapter);
123
+ function matchesPath(url) {
124
+ if (!url)
125
+ return false;
126
+ // Match exact path or path with query string
127
+ return url === path || url.startsWith(`${path}?`) || url.startsWith(`${path}/`);
128
+ }
129
+ return {
130
+ handler,
131
+ matchesPath,
132
+ };
133
+ }
134
+ //# sourceMappingURL=websocket-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-integration.js","sourceRoot":"","sources":["../../../src/map/adapter/websocket-integration.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cascade-action-handler.d.ts","sourceRoot":"","sources":["../../src/map/cascade-action-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,MAAM,WAAW,uBAAuB;IACtC,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACjD,IAAI,CAAC;IACR,eAAe,CACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACjD,IAAI,CAAC;CACT;AAYD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,uBAAuB,EACnC,OAAO,EAAE,iBAAiB,GACzB,MAAM,IAAI,CAgKZ"}
1
+ {"version":3,"file":"cascade-action-handler.d.ts","sourceRoot":"","sources":["../../src/map/cascade-action-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAG7E,MAAM,WAAW,uBAAuB;IACtC,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACjD,IAAI,CAAC;IACR,eAAe,CACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACjD,IAAI,CAAC;CACT;AAYD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,uBAAuB,EACnC,OAAO,EAAE,iBAAiB,GACzB,MAAM,IAAI,CA0KZ"}
@@ -11,6 +11,8 @@
11
11
  *
12
12
  * @module map/cascade-action-handler
13
13
  */
14
+ import { execFileSync } from 'node:child_process';
15
+ import { assertSafeGitRef, GitInputError } from '../util/git-safety.js';
14
16
  const REQUEST_METHODS = {
15
17
  MERGE: 'x-cascade/request.merge',
16
18
  ABANDON: 'x-cascade/request.abandon',
@@ -114,12 +116,24 @@ export function setupCascadeActionHandlers(connection, adapter) {
114
116
  const worktreePath = findWorktreeForStream(p.stream_id);
115
117
  if (!worktreePath)
116
118
  return;
117
- const remote = p.remote ?? 'origin';
119
+ // `remote` and `target_ref` are hub-controlled and were previously
120
+ // interpolated into a `git push` shell string — a command-injection sink.
121
+ // Validate them as plain refs and invoke git via execFileSync array args
122
+ // (no shell) so metacharacters cannot be interpreted.
123
+ let remote;
124
+ let targetRef;
118
125
  const streamBranch = `stream/${p.stream_id}`;
119
- const targetRef = p.target_ref ?? streamBranch;
120
126
  try {
121
- const { execSync } = require('child_process');
122
- execSync(`git push ${remote} ${streamBranch}:refs/heads/${targetRef}`, {
127
+ remote = assertSafeGitRef(p.remote ?? 'origin', 'remote');
128
+ targetRef = assertSafeGitRef(p.target_ref ?? streamBranch, 'target_ref');
129
+ }
130
+ catch (err) {
131
+ if (err instanceof GitInputError)
132
+ return; // reject unsafe push silently
133
+ throw err;
134
+ }
135
+ try {
136
+ execFileSync('git', ['push', '--', remote, `${streamBranch}:refs/heads/${targetRef}`], {
123
137
  cwd: worktreePath,
124
138
  stdio: 'pipe',
125
139
  encoding: 'utf-8',
@@ -128,7 +142,7 @@ export function setupCascadeActionHandlers(connection, adapter) {
128
142
  adapter.notifyStreamPushed?.({
129
143
  streamId: p.stream_id,
130
144
  agentId: 'hub-request',
131
- pushedCommit: execSync('git rev-parse HEAD', {
145
+ pushedCommit: execFileSync('git', ['rev-parse', 'HEAD'], {
132
146
  cwd: worktreePath,
133
147
  encoding: 'utf-8',
134
148
  }).trim(),
@@ -1 +1 @@
1
- {"version":3,"file":"cascade-action-handler.js","sourceRoot":"","sources":["../../src/map/cascade-action-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cascade-action-handler.js","sourceRoot":"","sources":["../../src/map/cascade-action-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Federation Envelope Handling
3
+ *
4
+ * Wraps and unwraps messages for cross-system federation communication.
5
+ * The envelope adds metadata needed for routing and tracing across systems.
6
+ *
7
+ * @see specs/s-5qir_map_integration_for_macro_agent.md
8
+ */
9
+ import type { SystemId } from "../types.js";
10
+ /**
11
+ * Federation metadata attached to cross-system messages.
12
+ */
13
+ export interface FederationMetadata {
14
+ /** Source system identifier */
15
+ sourceSystem: SystemId;
16
+ /** Target system identifier */
17
+ targetSystem: SystemId;
18
+ /** Unix timestamp when envelope was created */
19
+ timestamp: number;
20
+ /** Optional correlation ID for request/response tracking */
21
+ correlationId?: string;
22
+ }
23
+ /**
24
+ * Federation envelope wrapping a message for cross-system transport.
25
+ */
26
+ export interface FederationEnvelope<T = unknown> {
27
+ /** The wrapped message payload */
28
+ message: T;
29
+ /** Federation routing metadata */
30
+ federation: FederationMetadata;
31
+ }
32
+ /**
33
+ * Wrap a message in a federation envelope.
34
+ *
35
+ * @param message - The message to wrap
36
+ * @param sourceSystem - The source system identifier
37
+ * @param targetSystem - The target system identifier
38
+ * @param options - Optional envelope options
39
+ * @returns The wrapped envelope
40
+ */
41
+ export declare function wrapMessage<T>(message: T, sourceSystem: SystemId, targetSystem: SystemId, options?: {
42
+ correlationId?: string;
43
+ timestamp?: number;
44
+ }): FederationEnvelope<T>;
45
+ /**
46
+ * Unwrap a message from a federation envelope.
47
+ *
48
+ * @param envelope - The envelope to unwrap
49
+ * @returns The unwrapped message
50
+ */
51
+ export declare function unwrapMessage<T>(envelope: FederationEnvelope<T>): T;
52
+ /**
53
+ * Get the federation metadata from an envelope.
54
+ *
55
+ * @param envelope - The envelope
56
+ * @returns The federation metadata
57
+ */
58
+ export declare function getMetadata(envelope: FederationEnvelope): FederationMetadata;
59
+ /**
60
+ * Check if an object is a valid federation envelope.
61
+ *
62
+ * @param obj - The object to check
63
+ * @returns True if the object is a valid federation envelope
64
+ */
65
+ export declare function isEnvelope(obj: unknown): obj is FederationEnvelope;
66
+ /**
67
+ * Validate envelope metadata.
68
+ *
69
+ * @param envelope - The envelope to validate
70
+ * @returns Array of validation errors, empty if valid
71
+ */
72
+ export declare function validateEnvelope(envelope: FederationEnvelope): string[];
73
+ /**
74
+ * Create a response envelope from a request envelope.
75
+ * Swaps source and target systems.
76
+ *
77
+ * @param requestEnvelope - The original request envelope
78
+ * @param responseMessage - The response message
79
+ * @returns A new envelope for the response
80
+ */
81
+ export declare function createResponseEnvelope<T>(requestEnvelope: FederationEnvelope, responseMessage: T): FederationEnvelope<T>;
82
+ /**
83
+ * Check if an envelope is a response to a request.
84
+ *
85
+ * @param request - The request envelope
86
+ * @param response - The potential response envelope
87
+ * @returns True if response matches the request
88
+ */
89
+ export declare function isResponseTo(request: FederationEnvelope, response: FederationEnvelope): boolean;
90
+ /**
91
+ * Get age of an envelope in milliseconds.
92
+ *
93
+ * @param envelope - The envelope
94
+ * @param now - Current timestamp (defaults to Date.now())
95
+ * @returns Age in milliseconds
96
+ */
97
+ export declare function getEnvelopeAge(envelope: FederationEnvelope, now?: number): number;
98
+ //# sourceMappingURL=envelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../../src/map/federation/envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,YAAY,EAAE,QAAQ,CAAC;IAEvB,+BAA+B;IAC/B,YAAY,EAAE,QAAQ,CAAC;IAEvB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAElB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,OAAO;IAC7C,kCAAkC;IAClC,OAAO,EAAE,CAAC,CAAC;IAEX,kCAAkC;IAClC,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAMD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,OAAO,EAAE,CAAC,EACV,YAAY,EAAE,QAAQ,EACtB,YAAY,EAAE,QAAQ,EACtB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,kBAAkB,CAAC,CAAC,CAAC,CAUvB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAEnE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,kBAAkB,CAE5E;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,kBAAkB,CAuClE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAsBvE;AAMD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,eAAe,EAAE,kBAAkB,EACnC,eAAe,EAAE,CAAC,GACjB,kBAAkB,CAAC,CAAC,CAAC,CASvB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CAeT;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,GAAE,MAAmB,GACvB,MAAM,CAER"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Federation Envelope Handling
3
+ *
4
+ * Wraps and unwraps messages for cross-system federation communication.
5
+ * The envelope adds metadata needed for routing and tracing across systems.
6
+ *
7
+ * @see specs/s-5qir_map_integration_for_macro_agent.md
8
+ */
9
+ // =============================================================================
10
+ // Envelope Functions
11
+ // =============================================================================
12
+ /**
13
+ * Wrap a message in a federation envelope.
14
+ *
15
+ * @param message - The message to wrap
16
+ * @param sourceSystem - The source system identifier
17
+ * @param targetSystem - The target system identifier
18
+ * @param options - Optional envelope options
19
+ * @returns The wrapped envelope
20
+ */
21
+ export function wrapMessage(message, sourceSystem, targetSystem, options) {
22
+ return {
23
+ message,
24
+ federation: {
25
+ sourceSystem,
26
+ targetSystem,
27
+ timestamp: options?.timestamp ?? Date.now(),
28
+ ...(options?.correlationId && { correlationId: options.correlationId }),
29
+ },
30
+ };
31
+ }
32
+ /**
33
+ * Unwrap a message from a federation envelope.
34
+ *
35
+ * @param envelope - The envelope to unwrap
36
+ * @returns The unwrapped message
37
+ */
38
+ export function unwrapMessage(envelope) {
39
+ return envelope.message;
40
+ }
41
+ /**
42
+ * Get the federation metadata from an envelope.
43
+ *
44
+ * @param envelope - The envelope
45
+ * @returns The federation metadata
46
+ */
47
+ export function getMetadata(envelope) {
48
+ return envelope.federation;
49
+ }
50
+ // =============================================================================
51
+ // Type Guards
52
+ // =============================================================================
53
+ /**
54
+ * Check if an object is a valid federation envelope.
55
+ *
56
+ * @param obj - The object to check
57
+ * @returns True if the object is a valid federation envelope
58
+ */
59
+ export function isEnvelope(obj) {
60
+ if (typeof obj !== "object" || obj === null) {
61
+ return false;
62
+ }
63
+ const envelope = obj;
64
+ // Must have message property
65
+ if (!("message" in envelope)) {
66
+ return false;
67
+ }
68
+ // Must have federation metadata
69
+ if (!("federation" in envelope) || typeof envelope.federation !== "object") {
70
+ return false;
71
+ }
72
+ const federation = envelope.federation;
73
+ // Required federation fields
74
+ if (typeof federation.sourceSystem !== "string") {
75
+ return false;
76
+ }
77
+ if (typeof federation.targetSystem !== "string") {
78
+ return false;
79
+ }
80
+ if (typeof federation.timestamp !== "number") {
81
+ return false;
82
+ }
83
+ // Optional correlationId must be string if present
84
+ if ("correlationId" in federation &&
85
+ typeof federation.correlationId !== "string") {
86
+ return false;
87
+ }
88
+ return true;
89
+ }
90
+ /**
91
+ * Validate envelope metadata.
92
+ *
93
+ * @param envelope - The envelope to validate
94
+ * @returns Array of validation errors, empty if valid
95
+ */
96
+ export function validateEnvelope(envelope) {
97
+ const errors = [];
98
+ if (!envelope.federation.sourceSystem) {
99
+ errors.push("sourceSystem is required");
100
+ }
101
+ if (!envelope.federation.targetSystem) {
102
+ errors.push("targetSystem is required");
103
+ }
104
+ if (typeof envelope.federation.timestamp !== "number") {
105
+ errors.push("timestamp must be a number");
106
+ }
107
+ else if (envelope.federation.timestamp <= 0) {
108
+ errors.push("timestamp must be positive");
109
+ }
110
+ if (envelope.federation.sourceSystem === envelope.federation.targetSystem) {
111
+ errors.push("sourceSystem and targetSystem cannot be the same");
112
+ }
113
+ return errors;
114
+ }
115
+ // =============================================================================
116
+ // Utility Functions
117
+ // =============================================================================
118
+ /**
119
+ * Create a response envelope from a request envelope.
120
+ * Swaps source and target systems.
121
+ *
122
+ * @param requestEnvelope - The original request envelope
123
+ * @param responseMessage - The response message
124
+ * @returns A new envelope for the response
125
+ */
126
+ export function createResponseEnvelope(requestEnvelope, responseMessage) {
127
+ return wrapMessage(responseMessage, requestEnvelope.federation.targetSystem, requestEnvelope.federation.sourceSystem, {
128
+ correlationId: requestEnvelope.federation.correlationId,
129
+ });
130
+ }
131
+ /**
132
+ * Check if an envelope is a response to a request.
133
+ *
134
+ * @param request - The request envelope
135
+ * @param response - The potential response envelope
136
+ * @returns True if response matches the request
137
+ */
138
+ export function isResponseTo(request, response) {
139
+ // Systems must be swapped
140
+ if (response.federation.sourceSystem !== request.federation.targetSystem ||
141
+ response.federation.targetSystem !== request.federation.sourceSystem) {
142
+ return false;
143
+ }
144
+ // If request had correlationId, response must match
145
+ if (request.federation.correlationId) {
146
+ return response.federation.correlationId === request.federation.correlationId;
147
+ }
148
+ return true;
149
+ }
150
+ /**
151
+ * Get age of an envelope in milliseconds.
152
+ *
153
+ * @param envelope - The envelope
154
+ * @param now - Current timestamp (defaults to Date.now())
155
+ * @returns Age in milliseconds
156
+ */
157
+ export function getEnvelopeAge(envelope, now = Date.now()) {
158
+ return now - envelope.federation.timestamp;
159
+ }
160
+ //# sourceMappingURL=envelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../../src/map/federation/envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoCH,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CACzB,OAAU,EACV,YAAsB,EACtB,YAAsB,EACtB,OAGC;IAED,OAAO;QACL,OAAO;QACP,UAAU,EAAE;YACV,YAAY;YACZ,YAAY;YACZ,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YAC3C,GAAG,CAAC,OAAO,EAAE,aAAa,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;SACxE;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAI,QAA+B;IAC9D,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,QAA4B;IACtD,OAAO,QAAQ,CAAC,UAAU,CAAC;AAC7B,CAAC;AAED,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,GAA8B,CAAC;IAEhD,6BAA6B;IAC7B,IAAI,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gCAAgC;IAChC,IAAI,CAAC,CAAC,YAAY,IAAI,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAqC,CAAC;IAElE,6BAA6B;IAC7B,IAAI,OAAO,UAAU,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,UAAU,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mDAAmD;IACnD,IACE,eAAe,IAAI,UAAU;QAC7B,OAAO,UAAU,CAAC,aAAa,KAAK,QAAQ,EAC5C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA4B;IAC3D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,OAAO,QAAQ,CAAC,UAAU,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,CAAC,YAAY,KAAK,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,eAAmC,EACnC,eAAkB;IAElB,OAAO,WAAW,CAChB,eAAe,EACf,eAAe,CAAC,UAAU,CAAC,YAAY,EACvC,eAAe,CAAC,UAAU,CAAC,YAAY,EACvC;QACE,aAAa,EAAE,eAAe,CAAC,UAAU,CAAC,aAAa;KACxD,CACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,OAA2B,EAC3B,QAA4B;IAE5B,0BAA0B;IAC1B,IACE,QAAQ,CAAC,UAAU,CAAC,YAAY,KAAK,OAAO,CAAC,UAAU,CAAC,YAAY;QACpE,QAAQ,CAAC,UAAU,CAAC,YAAY,KAAK,OAAO,CAAC,UAAU,CAAC,YAAY,EACpE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oDAAoD;IACpD,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QACrC,OAAO,QAAQ,CAAC,UAAU,CAAC,aAAa,KAAK,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;IAChF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,QAA4B,EAC5B,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,OAAO,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * FederationHandler - MAP Federation Implementation
3
+ *
4
+ * Wraps the existing PeerManager infrastructure with MAP semantics,
5
+ * providing cross-system communication capabilities.
6
+ *
7
+ * @see specs/s-5qir_map_integration_for_macro_agent.md
8
+ */
9
+ import type { PeerManager } from "../../peer/peer-manager.js";
10
+ import type { PeerMessage, PeerRequest, PeerResponse } from "../../peer/types.js";
11
+ import type { SystemId, FederatedAddress } from "../types.js";
12
+ import type { FederationHandler, MAPFederationConfig, FederationCapabilities } from "./types.js";
13
+ /**
14
+ * Create a FederationHandler instance.
15
+ *
16
+ * @param peerManager - The PeerManager to use for transport
17
+ * @param config - Federation configuration
18
+ * @returns FederationHandler instance
19
+ */
20
+ export declare function createFederationHandler(peerManager: PeerManager, config: MAPFederationConfig): FederationHandler;
21
+ /**
22
+ * Convert a federated address to a peer address.
23
+ *
24
+ * @param address - The federated address
25
+ * @returns The peer address string
26
+ */
27
+ export declare function federatedAddressToPeerAddress(address: FederatedAddress): string;
28
+ /**
29
+ * Extract the system ID from a federated address.
30
+ *
31
+ * @param address - The federated address
32
+ * @returns The system ID
33
+ */
34
+ export declare function getSystemFromAddress(address: FederatedAddress): SystemId;
35
+ /**
36
+ * Create a capability exchange request handler.
37
+ * This should be registered with PeerManager to handle incoming capability requests.
38
+ *
39
+ * @param localCapabilities - This system's capabilities
40
+ * @returns Handler function
41
+ */
42
+ export declare function createCapabilityExchangeHandler(localCapabilities: FederationCapabilities): (request: PeerRequest) => PeerResponse;
43
+ /**
44
+ * Unwrap a federated message from a peer message.
45
+ *
46
+ * @param message - The peer message
47
+ * @returns The unwrapped message or null if not a federated message
48
+ */
49
+ export declare function unwrapFederatedMessage(message: PeerMessage): unknown | null;
50
+ //# sourceMappingURL=federation-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"federation-handler.d.ts","sourceRoot":"","sources":["../../../src/map/federation/federation-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAiB,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EAEnB,sBAAsB,EAKvB,MAAM,YAAY,CAAC;AAkBpB;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,mBAAmB,GAC1B,iBAAiB,CAmUnB;AAMD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAM/E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,QAAQ,CAExE;AAMD;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,iBAAiB,EAAE,sBAAsB,GACxC,CAAC,OAAO,EAAE,WAAW,KAAK,YAAY,CAOxC;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,GAAG,IAAI,CAU3E"}