claude-code-swarm 0.3.2 → 0.3.4

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 (1129) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CLAUDE.md +4 -0
  4. package/README.md +65 -0
  5. package/package.json +4 -4
  6. package/src/__tests__/config.test.mjs +128 -0
  7. package/src/__tests__/index.test.mjs +2 -0
  8. package/src/__tests__/paths.test.mjs +13 -0
  9. package/src/config.mjs +46 -16
  10. package/src/index.mjs +3 -1
  11. package/src/map-connection.mjs +3 -3
  12. package/src/paths.mjs +5 -0
  13. package/src/sidecar-client.mjs +2 -2
  14. package/references/multi-agent-protocol/.sudocode/issues.jsonl +0 -120
  15. package/references/multi-agent-protocol/.sudocode/specs.jsonl +0 -15
  16. package/references/multi-agent-protocol/LICENSE +0 -21
  17. package/references/multi-agent-protocol/README.md +0 -113
  18. package/references/multi-agent-protocol/docs/00-design-specification.md +0 -496
  19. package/references/multi-agent-protocol/docs/01-open-questions.md +0 -1050
  20. package/references/multi-agent-protocol/docs/02-wire-protocol.md +0 -296
  21. package/references/multi-agent-protocol/docs/03-streaming-semantics.md +0 -252
  22. package/references/multi-agent-protocol/docs/04-error-handling.md +0 -231
  23. package/references/multi-agent-protocol/docs/05-connection-model.md +0 -244
  24. package/references/multi-agent-protocol/docs/06-visibility-permissions.md +0 -243
  25. package/references/multi-agent-protocol/docs/07-federation.md +0 -335
  26. package/references/multi-agent-protocol/docs/08-macro-agent-migration.md +0 -253
  27. package/references/multi-agent-protocol/docs/09-authentication.md +0 -748
  28. package/references/multi-agent-protocol/docs/10-environment-awareness.md +0 -242
  29. package/references/multi-agent-protocol/docs/10-mail-protocol.md +0 -553
  30. package/references/multi-agent-protocol/docs/11-anp-inspired-improvements.md +0 -1079
  31. package/references/multi-agent-protocol/docs/11-trajectory-protocol.md +0 -292
  32. package/references/multi-agent-protocol/docs/12-anp-implementation-plan.md +0 -641
  33. package/references/multi-agent-protocol/docs/agent-iam-integration.md +0 -877
  34. package/references/multi-agent-protocol/docs/agentic-mesh-integration-draft.md +0 -459
  35. package/references/multi-agent-protocol/docs/git-transport-draft.md +0 -251
  36. package/references/multi-agent-protocol/docs-site/Gemfile +0 -22
  37. package/references/multi-agent-protocol/docs-site/README.md +0 -82
  38. package/references/multi-agent-protocol/docs-site/_config.yml +0 -91
  39. package/references/multi-agent-protocol/docs-site/_includes/head_custom.html +0 -20
  40. package/references/multi-agent-protocol/docs-site/_sass/color_schemes/map.scss +0 -42
  41. package/references/multi-agent-protocol/docs-site/_sass/custom/custom.scss +0 -34
  42. package/references/multi-agent-protocol/docs-site/examples/full-integration.md +0 -510
  43. package/references/multi-agent-protocol/docs-site/examples/index.md +0 -138
  44. package/references/multi-agent-protocol/docs-site/examples/simple-chat.md +0 -282
  45. package/references/multi-agent-protocol/docs-site/examples/task-queue.md +0 -399
  46. package/references/multi-agent-protocol/docs-site/getting-started/index.md +0 -98
  47. package/references/multi-agent-protocol/docs-site/getting-started/installation.md +0 -219
  48. package/references/multi-agent-protocol/docs-site/getting-started/overview.md +0 -172
  49. package/references/multi-agent-protocol/docs-site/getting-started/quickstart.md +0 -237
  50. package/references/multi-agent-protocol/docs-site/index.md +0 -136
  51. package/references/multi-agent-protocol/docs-site/protocol/authentication.md +0 -391
  52. package/references/multi-agent-protocol/docs-site/protocol/connection-model.md +0 -376
  53. package/references/multi-agent-protocol/docs-site/protocol/design.md +0 -284
  54. package/references/multi-agent-protocol/docs-site/protocol/error-handling.md +0 -312
  55. package/references/multi-agent-protocol/docs-site/protocol/federation.md +0 -449
  56. package/references/multi-agent-protocol/docs-site/protocol/index.md +0 -129
  57. package/references/multi-agent-protocol/docs-site/protocol/permissions.md +0 -398
  58. package/references/multi-agent-protocol/docs-site/protocol/streaming.md +0 -353
  59. package/references/multi-agent-protocol/docs-site/protocol/wire-protocol.md +0 -369
  60. package/references/multi-agent-protocol/docs-site/sdk/api/agent.md +0 -357
  61. package/references/multi-agent-protocol/docs-site/sdk/api/client.md +0 -380
  62. package/references/multi-agent-protocol/docs-site/sdk/api/index.md +0 -62
  63. package/references/multi-agent-protocol/docs-site/sdk/api/server.md +0 -453
  64. package/references/multi-agent-protocol/docs-site/sdk/api/types.md +0 -468
  65. package/references/multi-agent-protocol/docs-site/sdk/guides/agent.md +0 -375
  66. package/references/multi-agent-protocol/docs-site/sdk/guides/authentication.md +0 -405
  67. package/references/multi-agent-protocol/docs-site/sdk/guides/client.md +0 -352
  68. package/references/multi-agent-protocol/docs-site/sdk/guides/index.md +0 -89
  69. package/references/multi-agent-protocol/docs-site/sdk/guides/server.md +0 -360
  70. package/references/multi-agent-protocol/docs-site/sdk/guides/testing.md +0 -446
  71. package/references/multi-agent-protocol/docs-site/sdk/guides/transports.md +0 -363
  72. package/references/multi-agent-protocol/docs-site/sdk/index.md +0 -206
  73. package/references/multi-agent-protocol/package-lock.json +0 -4230
  74. package/references/multi-agent-protocol/package.json +0 -56
  75. package/references/multi-agent-protocol/schema/meta.json +0 -584
  76. package/references/multi-agent-protocol/schema/schema.json +0 -3067
  77. package/references/openhive/.claude/settings.json +0 -6
  78. package/references/openhive/.dockerignore +0 -54
  79. package/references/openhive/.github/workflows/docker.yml +0 -52
  80. package/references/openhive/.sudocode/issues.jsonl +0 -24
  81. package/references/openhive/.sudocode/specs.jsonl +0 -4
  82. package/references/openhive/CLAUDE.md +0 -88
  83. package/references/openhive/Dockerfile +0 -105
  84. package/references/openhive/README.md +0 -745
  85. package/references/openhive/bin/openhive.js +0 -6
  86. package/references/openhive/cloudbuild.yaml +0 -80
  87. package/references/openhive/deploy/cloud-run.sh +0 -106
  88. package/references/openhive/deploy/openhive.env.example +0 -80
  89. package/references/openhive/deploy/openhive.service +0 -91
  90. package/references/openhive/docker-compose.yml +0 -67
  91. package/references/openhive/docker-entrypoint.sh +0 -117
  92. package/references/openhive/docs/API_MIGRATION.md +0 -176
  93. package/references/openhive/docs/DEPLOYMENT.md +0 -847
  94. package/references/openhive/docs/DESIGN_v1.md +0 -489
  95. package/references/openhive/docs/DESIGN_v2.md +0 -564
  96. package/references/openhive/docs/HEADSCALE_HOSTING_SPEC.md +0 -513
  97. package/references/openhive/docs/HIVE_SYNC_DESIGN.md +0 -2362
  98. package/references/openhive/docs/HIVE_SYNC_IMPLEMENTATION_PLAN.md +0 -1169
  99. package/references/openhive/docs/HOSTING.md +0 -601
  100. package/references/openhive/docs/IMPLEMENTATION_PLAN.md +0 -428
  101. package/references/openhive/docs/LOCAL_SETUP.md +0 -506
  102. package/references/openhive/docs/MACRO_AGENT_ATLAS_EXTENSION.md +0 -351
  103. package/references/openhive/docs/MEMORY_BANK_SYNC_SPEC.md +0 -909
  104. package/references/openhive/docs/PLAN_v1.md +0 -471
  105. package/references/openhive/docs/PLAN_v2.md +0 -623
  106. package/references/openhive/docs/WEBSOCKET.md +0 -267
  107. package/references/openhive/docs/openswarm-bootstrap-token-spec.md +0 -240
  108. package/references/openhive/ecosystem.config.cjs +0 -76
  109. package/references/openhive/fly.toml +0 -63
  110. package/references/openhive/package-lock.json +0 -17640
  111. package/references/openhive/package.json +0 -128
  112. package/references/openhive/packages/openhive-types/package-lock.json +0 -1473
  113. package/references/openhive/packages/openhive-types/package.json +0 -42
  114. package/references/openhive/packages/openhive-types/src/index.ts +0 -36
  115. package/references/openhive/packages/openhive-types/src/map-coordination.ts +0 -92
  116. package/references/openhive/packages/openhive-types/src/map-session-sync.ts +0 -50
  117. package/references/openhive/packages/openhive-types/src/map-sync.ts +0 -68
  118. package/references/openhive/packages/openhive-types/tsconfig.json +0 -15
  119. package/references/openhive/packages/openhive-types/tsconfig.tsbuildinfo +0 -1
  120. package/references/openhive/packages/openhive-types/tsup.config.ts +0 -12
  121. package/references/openhive/railway.json +0 -13
  122. package/references/openhive/railway.toml +0 -24
  123. package/references/openhive/render.yaml +0 -51
  124. package/references/openhive/src/__tests__/auth.test.ts +0 -148
  125. package/references/openhive/src/__tests__/bridge/credentials.test.ts +0 -65
  126. package/references/openhive/src/__tests__/bridge/dal.test.ts +0 -279
  127. package/references/openhive/src/__tests__/bridge/inbound.test.ts +0 -349
  128. package/references/openhive/src/__tests__/bridge/manager.test.ts +0 -419
  129. package/references/openhive/src/__tests__/bridge/mentions.test.ts +0 -83
  130. package/references/openhive/src/__tests__/bridge/outbound.test.ts +0 -209
  131. package/references/openhive/src/__tests__/bridge/slack-adapter.test.ts +0 -276
  132. package/references/openhive/src/__tests__/cli.test.ts +0 -342
  133. package/references/openhive/src/__tests__/config.test.ts +0 -205
  134. package/references/openhive/src/__tests__/coordination/coordination.test.ts +0 -1072
  135. package/references/openhive/src/__tests__/coordination/cross-instance.test.ts +0 -540
  136. package/references/openhive/src/__tests__/coordination/e2e.test.ts +0 -780
  137. package/references/openhive/src/__tests__/data-dir.test.ts +0 -332
  138. package/references/openhive/src/__tests__/db.test.ts +0 -258
  139. package/references/openhive/src/__tests__/discovery.test.ts +0 -288
  140. package/references/openhive/src/__tests__/events/dal.test.ts +0 -371
  141. package/references/openhive/src/__tests__/events/dispatch.test.ts +0 -202
  142. package/references/openhive/src/__tests__/events/e2e.test.ts +0 -528
  143. package/references/openhive/src/__tests__/events/normalizers.test.ts +0 -263
  144. package/references/openhive/src/__tests__/events/router.test.ts +0 -314
  145. package/references/openhive/src/__tests__/events/routes.test.ts +0 -407
  146. package/references/openhive/src/__tests__/follows.test.ts +0 -328
  147. package/references/openhive/src/__tests__/helpers/test-dirs.ts +0 -44
  148. package/references/openhive/src/__tests__/ingest-keys.test.ts +0 -925
  149. package/references/openhive/src/__tests__/map/sync-client-content.test.ts +0 -288
  150. package/references/openhive/src/__tests__/map/sync-client.test.ts +0 -500
  151. package/references/openhive/src/__tests__/map/sync-listener.test.ts +0 -504
  152. package/references/openhive/src/__tests__/middleware/hostname-guard.test.ts +0 -73
  153. package/references/openhive/src/__tests__/migrations.test.ts +0 -260
  154. package/references/openhive/src/__tests__/opentasks/client.test.ts +0 -497
  155. package/references/openhive/src/__tests__/opentasks/discovery.test.ts +0 -283
  156. package/references/openhive/src/__tests__/opentasks/e2e.test.ts +0 -767
  157. package/references/openhive/src/__tests__/routes/agents.test.ts +0 -417
  158. package/references/openhive/src/__tests__/routes/opentasks-content.test.ts +0 -493
  159. package/references/openhive/src/__tests__/routes/resource-content.test.ts +0 -1741
  160. package/references/openhive/src/__tests__/sessions/adapters.test.ts +0 -524
  161. package/references/openhive/src/__tests__/sessions/routes.test.ts +0 -1053
  162. package/references/openhive/src/__tests__/sessions/storage.test.ts +0 -545
  163. package/references/openhive/src/__tests__/sessions/trajectory-checkpoints.test.ts +0 -349
  164. package/references/openhive/src/__tests__/sessions/trajectory-routes.test.ts +0 -290
  165. package/references/openhive/src/__tests__/swarm/config.test.ts +0 -125
  166. package/references/openhive/src/__tests__/swarm/credentials.test.ts +0 -254
  167. package/references/openhive/src/__tests__/swarm/dal.test.ts +0 -290
  168. package/references/openhive/src/__tests__/swarm/e2e.test.ts +0 -827
  169. package/references/openhive/src/__tests__/swarm/fixtures/exit-immediately.js +0 -3
  170. package/references/openhive/src/__tests__/swarm/fixtures/map-server.js +0 -147
  171. package/references/openhive/src/__tests__/swarm/fixtures/sleep-server.js +0 -52
  172. package/references/openhive/src/__tests__/swarm/local-provider.test.ts +0 -279
  173. package/references/openhive/src/__tests__/swarm/manager.test.ts +0 -305
  174. package/references/openhive/src/__tests__/swarm/routes.test.ts +0 -396
  175. package/references/openhive/src/__tests__/swarm/workspace.test.ts +0 -257
  176. package/references/openhive/src/__tests__/swarmhub/client.test.ts +0 -324
  177. package/references/openhive/src/__tests__/swarmhub/config.test.ts +0 -213
  178. package/references/openhive/src/__tests__/swarmhub/connector.test.ts +0 -581
  179. package/references/openhive/src/__tests__/swarmhub/routes.test.ts +0 -639
  180. package/references/openhive/src/__tests__/swarmhub/slack-client.test.ts +0 -164
  181. package/references/openhive/src/__tests__/swarmhub/slack-connector.test.ts +0 -164
  182. package/references/openhive/src/__tests__/swarmhub/slack-routes.test.ts +0 -373
  183. package/references/openhive/src/__tests__/swarmhub/webhook-handler.test.ts +0 -295
  184. package/references/openhive/src/__tests__/sync/resource-sync.test.ts +0 -1418
  185. package/references/openhive/src/__tests__/sync/sync.test.ts +0 -800
  186. package/references/openhive/src/api/index.ts +0 -65
  187. package/references/openhive/src/api/middleware/auth.ts +0 -227
  188. package/references/openhive/src/api/middleware/hostname-guard.ts +0 -38
  189. package/references/openhive/src/api/routes/admin.ts +0 -366
  190. package/references/openhive/src/api/routes/agents.ts +0 -223
  191. package/references/openhive/src/api/routes/auth.ts +0 -164
  192. package/references/openhive/src/api/routes/bridges.ts +0 -384
  193. package/references/openhive/src/api/routes/comments.ts +0 -294
  194. package/references/openhive/src/api/routes/coordination.ts +0 -312
  195. package/references/openhive/src/api/routes/events.ts +0 -158
  196. package/references/openhive/src/api/routes/federation.ts +0 -367
  197. package/references/openhive/src/api/routes/feed.ts +0 -212
  198. package/references/openhive/src/api/routes/hives.ts +0 -264
  199. package/references/openhive/src/api/routes/map.ts +0 -674
  200. package/references/openhive/src/api/routes/memory-banks.ts +0 -971
  201. package/references/openhive/src/api/routes/posts.ts +0 -342
  202. package/references/openhive/src/api/routes/resource-content.ts +0 -727
  203. package/references/openhive/src/api/routes/resources.ts +0 -1013
  204. package/references/openhive/src/api/routes/search.ts +0 -45
  205. package/references/openhive/src/api/routes/sessions.ts +0 -1187
  206. package/references/openhive/src/api/routes/swarm-hosting.ts +0 -313
  207. package/references/openhive/src/api/routes/sync-protocol.ts +0 -168
  208. package/references/openhive/src/api/routes/sync.ts +0 -279
  209. package/references/openhive/src/api/routes/uploads.ts +0 -174
  210. package/references/openhive/src/api/routes/webhooks.ts +0 -603
  211. package/references/openhive/src/api/schemas/agents.ts +0 -26
  212. package/references/openhive/src/api/schemas/comments.ts +0 -22
  213. package/references/openhive/src/api/schemas/hives.ts +0 -33
  214. package/references/openhive/src/api/schemas/posts.ts +0 -37
  215. package/references/openhive/src/api/schemas/sync.ts +0 -56
  216. package/references/openhive/src/auth/index.ts +0 -2
  217. package/references/openhive/src/auth/jwks.ts +0 -58
  218. package/references/openhive/src/bridge/adapters/slack.ts +0 -306
  219. package/references/openhive/src/bridge/credentials.ts +0 -72
  220. package/references/openhive/src/bridge/inbound.ts +0 -288
  221. package/references/openhive/src/bridge/index.ts +0 -42
  222. package/references/openhive/src/bridge/manager.ts +0 -425
  223. package/references/openhive/src/bridge/mentions.ts +0 -42
  224. package/references/openhive/src/bridge/outbound.ts +0 -103
  225. package/references/openhive/src/bridge/schema.ts +0 -82
  226. package/references/openhive/src/bridge/types.ts +0 -238
  227. package/references/openhive/src/cli/network.ts +0 -480
  228. package/references/openhive/src/cli.ts +0 -620
  229. package/references/openhive/src/config.ts +0 -611
  230. package/references/openhive/src/coordination/index.ts +0 -43
  231. package/references/openhive/src/coordination/listener.ts +0 -92
  232. package/references/openhive/src/coordination/schema.ts +0 -79
  233. package/references/openhive/src/coordination/service.ts +0 -233
  234. package/references/openhive/src/coordination/types.ts +0 -177
  235. package/references/openhive/src/data-dir.ts +0 -105
  236. package/references/openhive/src/db/adapters/index.ts +0 -21
  237. package/references/openhive/src/db/adapters/postgres.ts +0 -310
  238. package/references/openhive/src/db/adapters/sqlite.ts +0 -56
  239. package/references/openhive/src/db/adapters/types.ts +0 -65
  240. package/references/openhive/src/db/dal/agents.ts +0 -430
  241. package/references/openhive/src/db/dal/bridge.ts +0 -336
  242. package/references/openhive/src/db/dal/comments.ts +0 -213
  243. package/references/openhive/src/db/dal/coordination.ts +0 -361
  244. package/references/openhive/src/db/dal/events.ts +0 -381
  245. package/references/openhive/src/db/dal/follows.ts +0 -96
  246. package/references/openhive/src/db/dal/hives.ts +0 -198
  247. package/references/openhive/src/db/dal/ingest-keys.ts +0 -176
  248. package/references/openhive/src/db/dal/instances.ts +0 -196
  249. package/references/openhive/src/db/dal/invites.ts +0 -123
  250. package/references/openhive/src/db/dal/map.ts +0 -750
  251. package/references/openhive/src/db/dal/posts.ts +0 -274
  252. package/references/openhive/src/db/dal/remote-agents.ts +0 -56
  253. package/references/openhive/src/db/dal/search.ts +0 -238
  254. package/references/openhive/src/db/dal/sync-events.ts +0 -160
  255. package/references/openhive/src/db/dal/sync-groups.ts +0 -100
  256. package/references/openhive/src/db/dal/sync-peer-configs.ts +0 -216
  257. package/references/openhive/src/db/dal/sync-peers.ts +0 -145
  258. package/references/openhive/src/db/dal/syncable-resources.ts +0 -888
  259. package/references/openhive/src/db/dal/trajectory-checkpoints.ts +0 -291
  260. package/references/openhive/src/db/dal/uploads.ts +0 -124
  261. package/references/openhive/src/db/dal/votes.ts +0 -124
  262. package/references/openhive/src/db/index.ts +0 -293
  263. package/references/openhive/src/db/providers/index.ts +0 -75
  264. package/references/openhive/src/db/providers/postgres.ts +0 -529
  265. package/references/openhive/src/db/providers/sqlite.ts +0 -1383
  266. package/references/openhive/src/db/providers/turso.ts +0 -1360
  267. package/references/openhive/src/db/providers/types.ts +0 -516
  268. package/references/openhive/src/db/schema.ts +0 -641
  269. package/references/openhive/src/discovery/index.ts +0 -403
  270. package/references/openhive/src/events/dispatch.ts +0 -106
  271. package/references/openhive/src/events/index.ts +0 -17
  272. package/references/openhive/src/events/normalizers/github.ts +0 -133
  273. package/references/openhive/src/events/normalizers/index.ts +0 -62
  274. package/references/openhive/src/events/normalizers/slack.ts +0 -50
  275. package/references/openhive/src/events/router.ts +0 -156
  276. package/references/openhive/src/events/schema.ts +0 -66
  277. package/references/openhive/src/events/types.ts +0 -130
  278. package/references/openhive/src/federation/index.ts +0 -1
  279. package/references/openhive/src/federation/service.ts +0 -776
  280. package/references/openhive/src/headscale/client.ts +0 -256
  281. package/references/openhive/src/headscale/config.ts +0 -212
  282. package/references/openhive/src/headscale/index.ts +0 -23
  283. package/references/openhive/src/headscale/manager.ts +0 -249
  284. package/references/openhive/src/headscale/sync.ts +0 -272
  285. package/references/openhive/src/headscale/types.ts +0 -231
  286. package/references/openhive/src/index.ts +0 -225
  287. package/references/openhive/src/map/client-entry.ts +0 -26
  288. package/references/openhive/src/map/index.ts +0 -76
  289. package/references/openhive/src/map/schema.ts +0 -119
  290. package/references/openhive/src/map/service.ts +0 -323
  291. package/references/openhive/src/map/sync-client.ts +0 -696
  292. package/references/openhive/src/map/sync-listener.ts +0 -409
  293. package/references/openhive/src/map/types.ts +0 -290
  294. package/references/openhive/src/network/factory.ts +0 -118
  295. package/references/openhive/src/network/headscale-provider.ts +0 -437
  296. package/references/openhive/src/network/index.ts +0 -43
  297. package/references/openhive/src/network/tailscale-client.ts +0 -289
  298. package/references/openhive/src/network/tailscale-provider.ts +0 -287
  299. package/references/openhive/src/network/types.ts +0 -178
  300. package/references/openhive/src/opentasks-client/client.ts +0 -374
  301. package/references/openhive/src/opentasks-client/index.ts +0 -7
  302. package/references/openhive/src/realtime/index.ts +0 -282
  303. package/references/openhive/src/server.ts +0 -1069
  304. package/references/openhive/src/services/email.ts +0 -177
  305. package/references/openhive/src/services/sitemap.ts +0 -135
  306. package/references/openhive/src/sessions/adapters/claude.ts +0 -466
  307. package/references/openhive/src/sessions/adapters/codex.ts +0 -265
  308. package/references/openhive/src/sessions/adapters/index.ts +0 -263
  309. package/references/openhive/src/sessions/adapters/raw.ts +0 -144
  310. package/references/openhive/src/sessions/adapters/types.ts +0 -83
  311. package/references/openhive/src/sessions/index.ts +0 -50
  312. package/references/openhive/src/sessions/storage/adapters/gcs.ts +0 -277
  313. package/references/openhive/src/sessions/storage/adapters/local.ts +0 -240
  314. package/references/openhive/src/sessions/storage/adapters/s3.ts +0 -321
  315. package/references/openhive/src/sessions/storage/index.ts +0 -231
  316. package/references/openhive/src/sessions/storage/types.ts +0 -189
  317. package/references/openhive/src/sessions/types.ts +0 -415
  318. package/references/openhive/src/shared/types/index.ts +0 -45
  319. package/references/openhive/src/shared/types/map-coordination.ts +0 -92
  320. package/references/openhive/src/shared/types/map-session-sync.ts +0 -170
  321. package/references/openhive/src/shared/types/map-sync.ts +0 -68
  322. package/references/openhive/src/skill.ts +0 -203
  323. package/references/openhive/src/storage/adapters/local.ts +0 -169
  324. package/references/openhive/src/storage/adapters/s3.ts +0 -195
  325. package/references/openhive/src/storage/index.ts +0 -64
  326. package/references/openhive/src/storage/types.ts +0 -69
  327. package/references/openhive/src/swarm/credentials.ts +0 -98
  328. package/references/openhive/src/swarm/dal.ts +0 -206
  329. package/references/openhive/src/swarm/index.ts +0 -28
  330. package/references/openhive/src/swarm/manager.ts +0 -917
  331. package/references/openhive/src/swarm/providers/local.ts +0 -338
  332. package/references/openhive/src/swarm/providers/sandboxed-local.ts +0 -478
  333. package/references/openhive/src/swarm/providers/workspace.ts +0 -52
  334. package/references/openhive/src/swarm/schema.ts +0 -43
  335. package/references/openhive/src/swarm/types.ts +0 -333
  336. package/references/openhive/src/swarmhub/client.ts +0 -279
  337. package/references/openhive/src/swarmhub/connector.ts +0 -463
  338. package/references/openhive/src/swarmhub/index.ts +0 -43
  339. package/references/openhive/src/swarmhub/routes.ts +0 -296
  340. package/references/openhive/src/swarmhub/types.ts +0 -213
  341. package/references/openhive/src/swarmhub/webhook-handler.ts +0 -126
  342. package/references/openhive/src/sync/compaction.ts +0 -193
  343. package/references/openhive/src/sync/coordination-hooks.ts +0 -154
  344. package/references/openhive/src/sync/crypto.ts +0 -79
  345. package/references/openhive/src/sync/gossip.ts +0 -136
  346. package/references/openhive/src/sync/hooks.ts +0 -202
  347. package/references/openhive/src/sync/materializer-repo.ts +0 -256
  348. package/references/openhive/src/sync/materializer.ts +0 -682
  349. package/references/openhive/src/sync/middleware.ts +0 -140
  350. package/references/openhive/src/sync/peer-resolver.ts +0 -157
  351. package/references/openhive/src/sync/resource-hooks.ts +0 -161
  352. package/references/openhive/src/sync/schema.ts +0 -158
  353. package/references/openhive/src/sync/service.ts +0 -990
  354. package/references/openhive/src/sync/types.ts +0 -369
  355. package/references/openhive/src/terminal/index.ts +0 -4
  356. package/references/openhive/src/terminal/pty-manager.ts +0 -337
  357. package/references/openhive/src/terminal/resolve-tui.ts +0 -44
  358. package/references/openhive/src/terminal/terminal-ws.ts +0 -251
  359. package/references/openhive/src/types.ts +0 -442
  360. package/references/openhive/src/utils/git-remote.ts +0 -329
  361. package/references/openhive/src/web/App.tsx +0 -77
  362. package/references/openhive/src/web/__tests__/components/dashboard/RecentActivity.test.tsx +0 -77
  363. package/references/openhive/src/web/__tests__/components/dashboard/StatsOverview.test.tsx +0 -62
  364. package/references/openhive/src/web/__tests__/components/dashboard/SwarmStatusSummary.test.tsx +0 -122
  365. package/references/openhive/src/web/__tests__/components/dashboard/SyncResourcesStatus.test.tsx +0 -104
  366. package/references/openhive/src/web/__tests__/components/layout/Sidebar.test.tsx +0 -110
  367. package/references/openhive/src/web/__tests__/components/swarm/StatusBadges.test.tsx +0 -65
  368. package/references/openhive/src/web/__tests__/components/terminal/query-responses.test.ts +0 -143
  369. package/references/openhive/src/web/__tests__/components/terminal/terminal-mouse.test.ts +0 -509
  370. package/references/openhive/src/web/__tests__/hooks/useEventsApi.test.ts +0 -378
  371. package/references/openhive/src/web/__tests__/pages/Dashboard.test.tsx +0 -57
  372. package/references/openhive/src/web/__tests__/pages/Events.test.tsx +0 -886
  373. package/references/openhive/src/web/__tests__/pages/Explore.test.tsx +0 -63
  374. package/references/openhive/src/web/__tests__/routing.test.tsx +0 -79
  375. package/references/openhive/src/web/__tests__/setup.ts +0 -37
  376. package/references/openhive/src/web/__tests__/stores/dashboard.test.ts +0 -49
  377. package/references/openhive/src/web/components/common/AgentBadge.tsx +0 -58
  378. package/references/openhive/src/web/components/common/Avatar.tsx +0 -78
  379. package/references/openhive/src/web/components/common/ErrorBoundary.tsx +0 -76
  380. package/references/openhive/src/web/components/common/Highlight.tsx +0 -79
  381. package/references/openhive/src/web/components/common/ImageUpload.tsx +0 -209
  382. package/references/openhive/src/web/components/common/LoadingSpinner.tsx +0 -37
  383. package/references/openhive/src/web/components/common/Logo.tsx +0 -21
  384. package/references/openhive/src/web/components/common/Markdown.tsx +0 -53
  385. package/references/openhive/src/web/components/common/ProtectedRoute.tsx +0 -18
  386. package/references/openhive/src/web/components/common/ThemeToggle.tsx +0 -38
  387. package/references/openhive/src/web/components/common/TimeAgo.tsx +0 -17
  388. package/references/openhive/src/web/components/common/Toast.tsx +0 -70
  389. package/references/openhive/src/web/components/common/VoteButtons.tsx +0 -100
  390. package/references/openhive/src/web/components/dashboard/RecentActivity.tsx +0 -100
  391. package/references/openhive/src/web/components/dashboard/StatsOverview.tsx +0 -40
  392. package/references/openhive/src/web/components/dashboard/SwarmStatusSummary.tsx +0 -89
  393. package/references/openhive/src/web/components/dashboard/SyncResourcesStatus.tsx +0 -81
  394. package/references/openhive/src/web/components/feed/FeedControls.tsx +0 -38
  395. package/references/openhive/src/web/components/feed/NewPostsIndicator.tsx +0 -75
  396. package/references/openhive/src/web/components/feed/PostCard.tsx +0 -129
  397. package/references/openhive/src/web/components/feed/PostList.tsx +0 -83
  398. package/references/openhive/src/web/components/layout/Footer.tsx +0 -5
  399. package/references/openhive/src/web/components/layout/Layout.tsx +0 -29
  400. package/references/openhive/src/web/components/layout/Sidebar.tsx +0 -348
  401. package/references/openhive/src/web/components/post/CommentForm.tsx +0 -59
  402. package/references/openhive/src/web/components/post/CommentTree.tsx +0 -145
  403. package/references/openhive/src/web/components/resources/MemoryBrowser.tsx +0 -208
  404. package/references/openhive/src/web/components/resources/OpenTasksSummary.tsx +0 -138
  405. package/references/openhive/src/web/components/resources/SkillBrowser.tsx +0 -284
  406. package/references/openhive/src/web/components/swarm/StatusBadges.tsx +0 -56
  407. package/references/openhive/src/web/components/terminal/TerminalPanel.tsx +0 -485
  408. package/references/openhive/src/web/components/terminal/index.ts +0 -2
  409. package/references/openhive/src/web/components/terminal/query-responses.ts +0 -70
  410. package/references/openhive/src/web/components/terminal/terminal-mouse.ts +0 -222
  411. package/references/openhive/src/web/hooks/useApi.ts +0 -740
  412. package/references/openhive/src/web/hooks/useDocumentTitle.ts +0 -49
  413. package/references/openhive/src/web/hooks/useInfiniteScroll.ts +0 -58
  414. package/references/openhive/src/web/hooks/useRealtimeUpdates.ts +0 -154
  415. package/references/openhive/src/web/hooks/useWebSocket.ts +0 -225
  416. package/references/openhive/src/web/index.html +0 -73
  417. package/references/openhive/src/web/lib/api.ts +0 -518
  418. package/references/openhive/src/web/main.tsx +0 -32
  419. package/references/openhive/src/web/pages/About.tsx +0 -131
  420. package/references/openhive/src/web/pages/Agent.tsx +0 -130
  421. package/references/openhive/src/web/pages/Agents.tsx +0 -69
  422. package/references/openhive/src/web/pages/AuthCallback.tsx +0 -75
  423. package/references/openhive/src/web/pages/Dashboard.tsx +0 -41
  424. package/references/openhive/src/web/pages/Events.tsx +0 -1025
  425. package/references/openhive/src/web/pages/Explore.tsx +0 -43
  426. package/references/openhive/src/web/pages/Hive.tsx +0 -134
  427. package/references/openhive/src/web/pages/Hives.tsx +0 -64
  428. package/references/openhive/src/web/pages/Home.tsx +0 -43
  429. package/references/openhive/src/web/pages/Login.tsx +0 -122
  430. package/references/openhive/src/web/pages/Post.tsx +0 -216
  431. package/references/openhive/src/web/pages/ResourceDetail.tsx +0 -426
  432. package/references/openhive/src/web/pages/Resources.tsx +0 -276
  433. package/references/openhive/src/web/pages/Search.tsx +0 -234
  434. package/references/openhive/src/web/pages/SessionDetail.tsx +0 -703
  435. package/references/openhive/src/web/pages/Sessions.tsx +0 -129
  436. package/references/openhive/src/web/pages/Settings.tsx +0 -826
  437. package/references/openhive/src/web/pages/SwarmCraft.tsx +0 -16
  438. package/references/openhive/src/web/pages/Swarms.tsx +0 -981
  439. package/references/openhive/src/web/pages/Terminal.tsx +0 -69
  440. package/references/openhive/src/web/postcss.config.js +0 -5
  441. package/references/openhive/src/web/public/favicon.svg +0 -11
  442. package/references/openhive/src/web/public/manifest.json +0 -21
  443. package/references/openhive/src/web/stores/auth.ts +0 -207
  444. package/references/openhive/src/web/stores/dashboard.ts +0 -23
  445. package/references/openhive/src/web/stores/realtime.ts +0 -90
  446. package/references/openhive/src/web/stores/theme.ts +0 -70
  447. package/references/openhive/src/web/stores/toast.ts +0 -63
  448. package/references/openhive/src/web/styles/globals.css +0 -503
  449. package/references/openhive/src/web/sw.ts +0 -228
  450. package/references/openhive/src/web/utils/serviceWorker.ts +0 -86
  451. package/references/openhive/src/web/vite.config.ts +0 -81
  452. package/references/openhive/tsconfig.json +0 -32
  453. package/references/openhive/tsup.config.ts +0 -17
  454. package/references/openhive/vitest.config.ts +0 -30
  455. package/references/openhive/vitest.web.config.ts +0 -20
  456. package/references/opentasks/.claude/settings.json +0 -6
  457. package/references/opentasks/.claude-plugin/plugin.json +0 -20
  458. package/references/opentasks/.lintstagedrc.json +0 -4
  459. package/references/opentasks/.prettierignore +0 -4
  460. package/references/opentasks/.prettierrc.json +0 -11
  461. package/references/opentasks/.sudocode/issues.jsonl +0 -89
  462. package/references/opentasks/.sudocode/specs.jsonl +0 -24
  463. package/references/opentasks/README.md +0 -401
  464. package/references/opentasks/docs/ARCHITECTURE.md +0 -841
  465. package/references/opentasks/docs/DESIGN.md +0 -689
  466. package/references/opentasks/docs/INTERFACE.md +0 -670
  467. package/references/opentasks/docs/PERSISTENCE.md +0 -1638
  468. package/references/opentasks/docs/PROVIDERS.md +0 -1412
  469. package/references/opentasks/docs/SCHEMA.md +0 -815
  470. package/references/opentasks/docs/TESTING.md +0 -1081
  471. package/references/opentasks/eslint.config.js +0 -58
  472. package/references/opentasks/package-lock.json +0 -4348
  473. package/references/opentasks/package.json +0 -81
  474. package/references/opentasks/skills/opentasks/SKILL.md +0 -139
  475. package/references/opentasks/skills/opentasks/dependency-management.md +0 -119
  476. package/references/opentasks/skills/opentasks/feedback-and-review.md +0 -100
  477. package/references/opentasks/skills/opentasks/linking-external-data.md +0 -103
  478. package/references/opentasks/skills/opentasks/spec-to-implementation.md +0 -98
  479. package/references/opentasks/src/__tests__/cli-tools.test.ts +0 -800
  480. package/references/opentasks/src/__tests__/cli.test.ts +0 -97
  481. package/references/opentasks/src/__tests__/p1-p3-gaps.test.ts +0 -635
  482. package/references/opentasks/src/cli.ts +0 -929
  483. package/references/opentasks/src/client/__tests__/client-crud.test.ts +0 -546
  484. package/references/opentasks/src/client/__tests__/client.test.ts +0 -658
  485. package/references/opentasks/src/client/__tests__/socket-discovery.test.ts +0 -122
  486. package/references/opentasks/src/client/client.ts +0 -560
  487. package/references/opentasks/src/client/index.ts +0 -32
  488. package/references/opentasks/src/config/__tests__/defaults.test.ts +0 -66
  489. package/references/opentasks/src/config/__tests__/env.test.ts +0 -155
  490. package/references/opentasks/src/config/__tests__/index.test.ts +0 -148
  491. package/references/opentasks/src/config/__tests__/loader.test.ts +0 -173
  492. package/references/opentasks/src/config/__tests__/merge.test.ts +0 -121
  493. package/references/opentasks/src/config/__tests__/schema.test.ts +0 -446
  494. package/references/opentasks/src/config/defaults.ts +0 -18
  495. package/references/opentasks/src/config/env.ts +0 -170
  496. package/references/opentasks/src/config/errors.ts +0 -33
  497. package/references/opentasks/src/config/index.ts +0 -63
  498. package/references/opentasks/src/config/loader.ts +0 -90
  499. package/references/opentasks/src/config/merge.ts +0 -64
  500. package/references/opentasks/src/config/schema.ts +0 -767
  501. package/references/opentasks/src/core/__tests__/conditional-redirects.test.ts +0 -116
  502. package/references/opentasks/src/core/__tests__/connections.test.ts +0 -194
  503. package/references/opentasks/src/core/__tests__/hash.test.ts +0 -161
  504. package/references/opentasks/src/core/__tests__/id.test.ts +0 -175
  505. package/references/opentasks/src/core/__tests__/init.test.ts +0 -115
  506. package/references/opentasks/src/core/__tests__/location.test.ts +0 -94
  507. package/references/opentasks/src/core/__tests__/merge-driver.test.ts +0 -300
  508. package/references/opentasks/src/core/__tests__/redirects.test.ts +0 -169
  509. package/references/opentasks/src/core/__tests__/resolve-location-target.test.ts +0 -468
  510. package/references/opentasks/src/core/__tests__/uri.test.ts +0 -228
  511. package/references/opentasks/src/core/__tests__/worktree.test.ts +0 -160
  512. package/references/opentasks/src/core/conditional-redirects.ts +0 -100
  513. package/references/opentasks/src/core/connections.ts +0 -217
  514. package/references/opentasks/src/core/discover.ts +0 -195
  515. package/references/opentasks/src/core/hash.ts +0 -74
  516. package/references/opentasks/src/core/id.ts +0 -174
  517. package/references/opentasks/src/core/index.ts +0 -108
  518. package/references/opentasks/src/core/init.ts +0 -66
  519. package/references/opentasks/src/core/location.ts +0 -139
  520. package/references/opentasks/src/core/merge-driver.ts +0 -280
  521. package/references/opentasks/src/core/redirects.ts +0 -182
  522. package/references/opentasks/src/core/uri.ts +0 -270
  523. package/references/opentasks/src/core/worktree.ts +0 -504
  524. package/references/opentasks/src/daemon/__tests__/e2e-live-agent.test.ts +0 -344
  525. package/references/opentasks/src/daemon/__tests__/e2e-session-pipeline.test.ts +0 -447
  526. package/references/opentasks/src/daemon/__tests__/e2e-watch.test.ts +0 -279
  527. package/references/opentasks/src/daemon/__tests__/entire-linker.test.ts +0 -1074
  528. package/references/opentasks/src/daemon/__tests__/entire-watcher.test.ts +0 -659
  529. package/references/opentasks/src/daemon/__tests__/flush.test.ts +0 -306
  530. package/references/opentasks/src/daemon/__tests__/integration.test.ts +0 -338
  531. package/references/opentasks/src/daemon/__tests__/ipc.test.ts +0 -406
  532. package/references/opentasks/src/daemon/__tests__/lifecycle.test.ts +0 -378
  533. package/references/opentasks/src/daemon/__tests__/lock.test.ts +0 -240
  534. package/references/opentasks/src/daemon/__tests__/methods/graph.test.ts +0 -372
  535. package/references/opentasks/src/daemon/__tests__/methods/provider.test.ts +0 -238
  536. package/references/opentasks/src/daemon/__tests__/methods/tools.test.ts +0 -690
  537. package/references/opentasks/src/daemon/__tests__/multi-location.test.ts +0 -945
  538. package/references/opentasks/src/daemon/__tests__/registry.test.ts +0 -268
  539. package/references/opentasks/src/daemon/__tests__/watcher.test.ts +0 -329
  540. package/references/opentasks/src/daemon/entire-linker.ts +0 -615
  541. package/references/opentasks/src/daemon/entire-watcher.ts +0 -415
  542. package/references/opentasks/src/daemon/factory.ts +0 -133
  543. package/references/opentasks/src/daemon/flush.ts +0 -168
  544. package/references/opentasks/src/daemon/index.ts +0 -120
  545. package/references/opentasks/src/daemon/ipc.ts +0 -491
  546. package/references/opentasks/src/daemon/lifecycle.ts +0 -1106
  547. package/references/opentasks/src/daemon/location-state.ts +0 -481
  548. package/references/opentasks/src/daemon/lock.ts +0 -168
  549. package/references/opentasks/src/daemon/methods/__tests__/graph.test.ts +0 -359
  550. package/references/opentasks/src/daemon/methods/__tests__/provider.test.ts +0 -227
  551. package/references/opentasks/src/daemon/methods/__tests__/tools.test.ts +0 -360
  552. package/references/opentasks/src/daemon/methods/__tests__/watch.test.ts +0 -656
  553. package/references/opentasks/src/daemon/methods/archive.ts +0 -193
  554. package/references/opentasks/src/daemon/methods/graph.ts +0 -274
  555. package/references/opentasks/src/daemon/methods/lifecycle.ts +0 -112
  556. package/references/opentasks/src/daemon/methods/location.ts +0 -118
  557. package/references/opentasks/src/daemon/methods/provider.ts +0 -159
  558. package/references/opentasks/src/daemon/methods/tools.ts +0 -221
  559. package/references/opentasks/src/daemon/methods/watch.ts +0 -206
  560. package/references/opentasks/src/daemon/registry.ts +0 -244
  561. package/references/opentasks/src/daemon/types.ts +0 -163
  562. package/references/opentasks/src/daemon/watcher.ts +0 -248
  563. package/references/opentasks/src/entire/__tests__/agent-registry.test.ts +0 -127
  564. package/references/opentasks/src/entire/__tests__/claude-generator.test.ts +0 -49
  565. package/references/opentasks/src/entire/__tests__/commit-msg.test.ts +0 -89
  566. package/references/opentasks/src/entire/__tests__/cursor-agent.test.ts +0 -224
  567. package/references/opentasks/src/entire/__tests__/flush-sentinel.test.ts +0 -93
  568. package/references/opentasks/src/entire/__tests__/gemini-agent.test.ts +0 -375
  569. package/references/opentasks/src/entire/__tests__/git-hooks.test.ts +0 -85
  570. package/references/opentasks/src/entire/__tests__/hook-managers.test.ts +0 -128
  571. package/references/opentasks/src/entire/__tests__/opencode-agent.test.ts +0 -329
  572. package/references/opentasks/src/entire/__tests__/redaction.test.ts +0 -143
  573. package/references/opentasks/src/entire/__tests__/session-store.test.ts +0 -83
  574. package/references/opentasks/src/entire/__tests__/summarize.test.ts +0 -346
  575. package/references/opentasks/src/entire/__tests__/transcript-timestamp.test.ts +0 -127
  576. package/references/opentasks/src/entire/__tests__/types.test.ts +0 -112
  577. package/references/opentasks/src/entire/__tests__/utils.test.ts +0 -296
  578. package/references/opentasks/src/entire/__tests__/validation.test.ts +0 -103
  579. package/references/opentasks/src/entire/__tests__/worktree.test.ts +0 -66
  580. package/references/opentasks/src/entire/agent/registry.ts +0 -143
  581. package/references/opentasks/src/entire/agent/session-types.ts +0 -117
  582. package/references/opentasks/src/entire/agent/types.ts +0 -217
  583. package/references/opentasks/src/entire/commands/clean.ts +0 -134
  584. package/references/opentasks/src/entire/commands/disable.ts +0 -85
  585. package/references/opentasks/src/entire/commands/doctor.ts +0 -152
  586. package/references/opentasks/src/entire/commands/enable.ts +0 -149
  587. package/references/opentasks/src/entire/commands/explain.ts +0 -271
  588. package/references/opentasks/src/entire/commands/reset.ts +0 -105
  589. package/references/opentasks/src/entire/commands/resume.ts +0 -194
  590. package/references/opentasks/src/entire/commands/rewind.ts +0 -204
  591. package/references/opentasks/src/entire/commands/status.ts +0 -150
  592. package/references/opentasks/src/entire/config.ts +0 -153
  593. package/references/opentasks/src/entire/git-operations.ts +0 -485
  594. package/references/opentasks/src/entire/hooks/git-hooks.ts +0 -171
  595. package/references/opentasks/src/entire/hooks/lifecycle.ts +0 -224
  596. package/references/opentasks/src/entire/index.ts +0 -644
  597. package/references/opentasks/src/entire/security/redaction.ts +0 -263
  598. package/references/opentasks/src/entire/session/state-machine.ts +0 -463
  599. package/references/opentasks/src/entire/store/checkpoint-store.ts +0 -489
  600. package/references/opentasks/src/entire/store/native-store.ts +0 -178
  601. package/references/opentasks/src/entire/store/provider-types.ts +0 -99
  602. package/references/opentasks/src/entire/store/session-store.ts +0 -233
  603. package/references/opentasks/src/entire/strategy/attribution.ts +0 -300
  604. package/references/opentasks/src/entire/strategy/common.ts +0 -222
  605. package/references/opentasks/src/entire/strategy/content-overlap.ts +0 -242
  606. package/references/opentasks/src/entire/strategy/manual-commit.ts +0 -1008
  607. package/references/opentasks/src/entire/strategy/types.ts +0 -285
  608. package/references/opentasks/src/entire/summarize/claude-generator.ts +0 -119
  609. package/references/opentasks/src/entire/summarize/summarize.ts +0 -432
  610. package/references/opentasks/src/entire/types.ts +0 -408
  611. package/references/opentasks/src/entire/utils/chunk-files.ts +0 -49
  612. package/references/opentasks/src/entire/utils/commit-message.ts +0 -65
  613. package/references/opentasks/src/entire/utils/detect-agent.ts +0 -36
  614. package/references/opentasks/src/entire/utils/hook-managers.ts +0 -118
  615. package/references/opentasks/src/entire/utils/ide-tags.ts +0 -32
  616. package/references/opentasks/src/entire/utils/paths.ts +0 -59
  617. package/references/opentasks/src/entire/utils/preview-rewind.ts +0 -86
  618. package/references/opentasks/src/entire/utils/rewind-conflict.ts +0 -121
  619. package/references/opentasks/src/entire/utils/shadow-branch.ts +0 -113
  620. package/references/opentasks/src/entire/utils/string-utils.ts +0 -46
  621. package/references/opentasks/src/entire/utils/todo-extract.ts +0 -193
  622. package/references/opentasks/src/entire/utils/trailers.ts +0 -190
  623. package/references/opentasks/src/entire/utils/transcript-parse.ts +0 -177
  624. package/references/opentasks/src/entire/utils/transcript-timestamp.ts +0 -61
  625. package/references/opentasks/src/entire/utils/tree-ops.ts +0 -227
  626. package/references/opentasks/src/entire/utils/tty.ts +0 -72
  627. package/references/opentasks/src/entire/utils/validation.ts +0 -67
  628. package/references/opentasks/src/entire/utils/worktree.ts +0 -58
  629. package/references/opentasks/src/graph/EdgeTypeRegistry.ts +0 -330
  630. package/references/opentasks/src/graph/FederatedGraph.ts +0 -796
  631. package/references/opentasks/src/graph/GraphologyAdapter.ts +0 -374
  632. package/references/opentasks/src/graph/HydratingFederatedGraph.ts +0 -533
  633. package/references/opentasks/src/graph/__tests__/EdgeTypeRegistry.test.ts +0 -263
  634. package/references/opentasks/src/graph/__tests__/FederatedGraph.test.ts +0 -821
  635. package/references/opentasks/src/graph/__tests__/GraphologyAdapter.test.ts +0 -408
  636. package/references/opentasks/src/graph/__tests__/HydratingFederatedGraph.test.ts +0 -735
  637. package/references/opentasks/src/graph/__tests__/debounce.test.ts +0 -276
  638. package/references/opentasks/src/graph/__tests__/e2e-store-roundtrip.test.ts +0 -349
  639. package/references/opentasks/src/graph/__tests__/edge-cases.test.ts +0 -595
  640. package/references/opentasks/src/graph/__tests__/expansion.test.ts +0 -304
  641. package/references/opentasks/src/graph/__tests__/git-graph-syncer.test.ts +0 -572
  642. package/references/opentasks/src/graph/__tests__/provider-store.test.ts +0 -1091
  643. package/references/opentasks/src/graph/__tests__/query.test.ts +0 -991
  644. package/references/opentasks/src/graph/__tests__/store.test.ts +0 -998
  645. package/references/opentasks/src/graph/__tests__/sync.test.ts +0 -178
  646. package/references/opentasks/src/graph/__tests__/validation.test.ts +0 -657
  647. package/references/opentasks/src/graph/coordination.ts +0 -454
  648. package/references/opentasks/src/graph/debounce.ts +0 -154
  649. package/references/opentasks/src/graph/expansion.ts +0 -364
  650. package/references/opentasks/src/graph/git-graph-syncer.ts +0 -321
  651. package/references/opentasks/src/graph/history.ts +0 -438
  652. package/references/opentasks/src/graph/index.ts +0 -145
  653. package/references/opentasks/src/graph/provider-store.ts +0 -1077
  654. package/references/opentasks/src/graph/query.ts +0 -651
  655. package/references/opentasks/src/graph/store.ts +0 -861
  656. package/references/opentasks/src/graph/sync.ts +0 -116
  657. package/references/opentasks/src/graph/types.ts +0 -420
  658. package/references/opentasks/src/graph/validation.ts +0 -520
  659. package/references/opentasks/src/index.ts +0 -270
  660. package/references/opentasks/src/materialization/CLAUDE.md +0 -88
  661. package/references/opentasks/src/materialization/README.md +0 -187
  662. package/references/opentasks/src/materialization/__tests__/archive-methods.test.ts +0 -194
  663. package/references/opentasks/src/materialization/__tests__/archiver.test.ts +0 -528
  664. package/references/opentasks/src/materialization/__tests__/config.test.ts +0 -123
  665. package/references/opentasks/src/materialization/__tests__/git-remote-store.test.ts +0 -533
  666. package/references/opentasks/src/materialization/__tests__/graph-id.test.ts +0 -82
  667. package/references/opentasks/src/materialization/__tests__/http-remote-store.test.ts +0 -263
  668. package/references/opentasks/src/materialization/__tests__/materialize-before-archive.test.ts +0 -246
  669. package/references/opentasks/src/materialization/__tests__/remote-store-factory.test.ts +0 -152
  670. package/references/opentasks/src/materialization/__tests__/snapshot.test.ts +0 -209
  671. package/references/opentasks/src/materialization/archiver.ts +0 -318
  672. package/references/opentasks/src/materialization/git-archive-store.ts +0 -568
  673. package/references/opentasks/src/materialization/git-remote-store.ts +0 -551
  674. package/references/opentasks/src/materialization/graph-id.ts +0 -173
  675. package/references/opentasks/src/materialization/http-remote-store.ts +0 -190
  676. package/references/opentasks/src/materialization/index.ts +0 -62
  677. package/references/opentasks/src/materialization/remote-store-factory.ts +0 -55
  678. package/references/opentasks/src/materialization/snapshot.ts +0 -230
  679. package/references/opentasks/src/materialization/types.ts +0 -410
  680. package/references/opentasks/src/providers/__tests__/beads.test.ts +0 -752
  681. package/references/opentasks/src/providers/__tests__/claude-tasks.test.ts +0 -485
  682. package/references/opentasks/src/providers/__tests__/entire-e2e.test.ts +0 -692
  683. package/references/opentasks/src/providers/__tests__/entire-sessionlog-e2e.test.ts +0 -1113
  684. package/references/opentasks/src/providers/__tests__/entire.test.ts +0 -1016
  685. package/references/opentasks/src/providers/__tests__/from-config.test.ts +0 -183
  686. package/references/opentasks/src/providers/__tests__/global.test.ts +0 -515
  687. package/references/opentasks/src/providers/__tests__/materialization.test.ts +0 -567
  688. package/references/opentasks/src/providers/__tests__/native.test.ts +0 -693
  689. package/references/opentasks/src/providers/__tests__/registry.test.ts +0 -232
  690. package/references/opentasks/src/providers/beads.ts +0 -1155
  691. package/references/opentasks/src/providers/claude-tasks.ts +0 -402
  692. package/references/opentasks/src/providers/entire.ts +0 -608
  693. package/references/opentasks/src/providers/from-config.ts +0 -210
  694. package/references/opentasks/src/providers/global.ts +0 -460
  695. package/references/opentasks/src/providers/index.ts +0 -147
  696. package/references/opentasks/src/providers/location.ts +0 -237
  697. package/references/opentasks/src/providers/materialization.ts +0 -346
  698. package/references/opentasks/src/providers/native.ts +0 -725
  699. package/references/opentasks/src/providers/registry.ts +0 -114
  700. package/references/opentasks/src/providers/sudocode.ts +0 -1292
  701. package/references/opentasks/src/providers/sync.ts +0 -485
  702. package/references/opentasks/src/providers/traits/RelationshipQueryable.ts +0 -169
  703. package/references/opentasks/src/providers/traits/TaskManageable.ts +0 -211
  704. package/references/opentasks/src/providers/traits/Watchable.ts +0 -260
  705. package/references/opentasks/src/providers/traits/__tests__/RelationshipQueryable.test.ts +0 -217
  706. package/references/opentasks/src/providers/traits/__tests__/TaskManageable.test.ts +0 -241
  707. package/references/opentasks/src/providers/traits/index.ts +0 -42
  708. package/references/opentasks/src/providers/types.ts +0 -439
  709. package/references/opentasks/src/schema/__tests__/validation.test.ts +0 -283
  710. package/references/opentasks/src/schema/base.ts +0 -88
  711. package/references/opentasks/src/schema/edges.ts +0 -78
  712. package/references/opentasks/src/schema/index.ts +0 -37
  713. package/references/opentasks/src/schema/nodes.ts +0 -119
  714. package/references/opentasks/src/schema/storage.ts +0 -130
  715. package/references/opentasks/src/schema/validation.ts +0 -209
  716. package/references/opentasks/src/storage/__tests__/atomic-write.test.ts +0 -227
  717. package/references/opentasks/src/storage/__tests__/file-lock.test.ts +0 -120
  718. package/references/opentasks/src/storage/__tests__/jsonl.test.ts +0 -267
  719. package/references/opentasks/src/storage/__tests__/locked-writer.test.ts +0 -134
  720. package/references/opentasks/src/storage/__tests__/sqlite.test.ts +0 -572
  721. package/references/opentasks/src/storage/atomic-write.ts +0 -86
  722. package/references/opentasks/src/storage/file-lock.ts +0 -215
  723. package/references/opentasks/src/storage/index.ts +0 -24
  724. package/references/opentasks/src/storage/interface.ts +0 -289
  725. package/references/opentasks/src/storage/jsonl.ts +0 -264
  726. package/references/opentasks/src/storage/locked-writer.ts +0 -140
  727. package/references/opentasks/src/storage/sqlite-schema.ts +0 -177
  728. package/references/opentasks/src/storage/sqlite.ts +0 -791
  729. package/references/opentasks/src/tools/__tests__/annotate.test.ts +0 -381
  730. package/references/opentasks/src/tools/__tests__/link.test.ts +0 -299
  731. package/references/opentasks/src/tools/__tests__/query.test.ts +0 -350
  732. package/references/opentasks/src/tools/__tests__/task.test.ts +0 -218
  733. package/references/opentasks/src/tools/annotate.ts +0 -277
  734. package/references/opentasks/src/tools/index.ts +0 -57
  735. package/references/opentasks/src/tools/link.ts +0 -163
  736. package/references/opentasks/src/tools/query.ts +0 -468
  737. package/references/opentasks/src/tools/task.ts +0 -213
  738. package/references/opentasks/src/tools/types.ts +0 -451
  739. package/references/opentasks/src/tracking/__tests__/claude-tool-categorizer.test.ts +0 -223
  740. package/references/opentasks/src/tracking/__tests__/transcript-extractor.test.ts +0 -262
  741. package/references/opentasks/src/tracking/claude-tool-categorizer.ts +0 -155
  742. package/references/opentasks/src/tracking/index.ts +0 -32
  743. package/references/opentasks/src/tracking/skill-tracker.ts +0 -322
  744. package/references/opentasks/src/tracking/transcript-extractor.ts +0 -225
  745. package/references/opentasks/tests/e2e/helpers/assertions.ts +0 -211
  746. package/references/opentasks/tests/e2e/helpers/beads-helpers.ts +0 -487
  747. package/references/opentasks/tests/e2e/helpers/fixtures.ts +0 -236
  748. package/references/opentasks/tests/e2e/helpers/index.ts +0 -122
  749. package/references/opentasks/tests/e2e/helpers/sudocode-helpers.ts +0 -341
  750. package/references/opentasks/tests/e2e/helpers/system-setup.ts +0 -504
  751. package/references/opentasks/tests/e2e/helpers/test-agent.ts +0 -504
  752. package/references/opentasks/tests/e2e/infrastructure.e2e.test.ts +0 -521
  753. package/references/opentasks/tests/e2e/skill-tracking.e2e.test.ts +0 -625
  754. package/references/opentasks/tests/e2e/workflows/feedback-loop.e2e.test.ts +0 -279
  755. package/references/opentasks/tests/e2e/workflows/multi-agent.e2e.test.ts +0 -304
  756. package/references/opentasks/tests/e2e/workflows/provider-sync/background-sync.e2e.test.ts +0 -292
  757. package/references/opentasks/tests/e2e/workflows/provider-sync/beads-provider-compat.e2e.test.ts +0 -249
  758. package/references/opentasks/tests/e2e/workflows/provider-sync/cross-provider-edges.e2e.test.ts +0 -407
  759. package/references/opentasks/tests/e2e/workflows/provider-sync/federated-ready.e2e.test.ts +0 -504
  760. package/references/opentasks/tests/e2e/workflows/provider-sync/hydration.e2e.test.ts +0 -340
  761. package/references/opentasks/tests/e2e/workflows/provider-sync/materialization.e2e.test.ts +0 -370
  762. package/references/opentasks/tests/e2e/workflows/provider-sync/sudocode-provider-compat.e2e.test.ts +0 -683
  763. package/references/opentasks/tests/e2e/workflows/provider-sync/watchable-beads.e2e.test.ts +0 -573
  764. package/references/opentasks/tests/e2e/workflows/spec-driven.e2e.test.ts +0 -244
  765. package/references/opentasks/tests/e2e/worktree-location.e2e.test.ts +0 -699
  766. package/references/opentasks/tests/integration/daemon/helpers.ts +0 -147
  767. package/references/opentasks/tests/integration/daemon/ipc.integration.test.ts +0 -343
  768. package/references/opentasks/tests/integration/daemon/lifecycle.integration.test.ts +0 -407
  769. package/references/opentasks/tests/integration/graph/federated-graph.integration.test.ts +0 -660
  770. package/references/opentasks/tests/integration/helpers/flags.ts +0 -28
  771. package/references/opentasks/tests/integration/helpers/index.ts +0 -47
  772. package/references/opentasks/tests/integration/helpers/process.ts +0 -133
  773. package/references/opentasks/tests/integration/helpers/temp.ts +0 -105
  774. package/references/opentasks/tests/integration/helpers/wait.ts +0 -133
  775. package/references/opentasks/tests/integration/helpers.test.ts +0 -120
  776. package/references/opentasks/tests/integration/providers/beads-task-manageable.integration.test.ts +0 -450
  777. package/references/opentasks/tests/integration/providers/beads.integration.test.ts +0 -388
  778. package/references/opentasks/tests/integration/providers/native-task-manageable.integration.test.ts +0 -667
  779. package/references/opentasks/tests/integration/providers/sudocode-task-manageable.integration.test.ts +0 -406
  780. package/references/opentasks/tests/integration/providers/sudocode.integration.test.ts +0 -342
  781. package/references/opentasks/tests/integration/storage/jsonl-durability.integration.test.ts +0 -390
  782. package/references/opentasks/tests/integration/storage/sqlite-durability.integration.test.ts +0 -527
  783. package/references/opentasks/tests/integration/worktree/redirect-location-resolution.integration.test.ts +0 -578
  784. package/references/opentasks/tests/integration/worktree/worktree-flow.integration.test.ts +0 -656
  785. package/references/opentasks/tsconfig.json +0 -18
  786. package/references/opentasks/vitest.config.ts +0 -27
  787. package/references/opentasks/vitest.e2e.config.ts +0 -35
  788. package/references/opentasks/vitest.integration.config.ts +0 -19
  789. package/references/openteams/.claude/settings.json +0 -6
  790. package/references/openteams/CLAUDE.md +0 -98
  791. package/references/openteams/README.md +0 -508
  792. package/references/openteams/SKILL.md +0 -198
  793. package/references/openteams/design.md +0 -250
  794. package/references/openteams/docs/visual-editor-design.md +0 -1225
  795. package/references/openteams/editor/index.html +0 -15
  796. package/references/openteams/editor/package.json +0 -39
  797. package/references/openteams/editor/src/App.tsx +0 -48
  798. package/references/openteams/editor/src/components/canvas/Canvas.tsx +0 -131
  799. package/references/openteams/editor/src/components/canvas/QuickAddMenu.tsx +0 -134
  800. package/references/openteams/editor/src/components/edges/PeerRouteEdge.tsx +0 -82
  801. package/references/openteams/editor/src/components/edges/SignalFlowEdge.tsx +0 -77
  802. package/references/openteams/editor/src/components/edges/SpawnEdge.tsx +0 -54
  803. package/references/openteams/editor/src/components/inspector/ChannelInspector.tsx +0 -158
  804. package/references/openteams/editor/src/components/inspector/EdgeInspector.tsx +0 -168
  805. package/references/openteams/editor/src/components/inspector/Inspector.tsx +0 -46
  806. package/references/openteams/editor/src/components/inspector/RoleInspector.tsx +0 -508
  807. package/references/openteams/editor/src/components/inspector/TeamInspector.tsx +0 -126
  808. package/references/openteams/editor/src/components/nodes/ChannelNode.tsx +0 -103
  809. package/references/openteams/editor/src/components/nodes/RoleNode.tsx +0 -157
  810. package/references/openteams/editor/src/components/nodes/node-styles.ts +0 -101
  811. package/references/openteams/editor/src/components/sidebar/Sidebar.tsx +0 -227
  812. package/references/openteams/editor/src/components/toolbar/ExportModal.tsx +0 -110
  813. package/references/openteams/editor/src/components/toolbar/ImportModal.tsx +0 -139
  814. package/references/openteams/editor/src/components/toolbar/Toolbar.tsx +0 -190
  815. package/references/openteams/editor/src/hooks/use-autosave.ts +0 -126
  816. package/references/openteams/editor/src/hooks/use-keyboard.ts +0 -106
  817. package/references/openteams/editor/src/hooks/use-validation.ts +0 -45
  818. package/references/openteams/editor/src/index.css +0 -245
  819. package/references/openteams/editor/src/lib/auto-layout.ts +0 -51
  820. package/references/openteams/editor/src/lib/bundled-templates.ts +0 -42
  821. package/references/openteams/editor/src/lib/compiler.ts +0 -75
  822. package/references/openteams/editor/src/lib/load-template.ts +0 -103
  823. package/references/openteams/editor/src/lib/rebuild-edges.ts +0 -104
  824. package/references/openteams/editor/src/lib/serializer.ts +0 -408
  825. package/references/openteams/editor/src/lib/signal-catalog.ts +0 -50
  826. package/references/openteams/editor/src/lib/validator.ts +0 -172
  827. package/references/openteams/editor/src/main.tsx +0 -10
  828. package/references/openteams/editor/src/stores/canvas-store.ts +0 -80
  829. package/references/openteams/editor/src/stores/config-store.ts +0 -243
  830. package/references/openteams/editor/src/stores/history-store.ts +0 -143
  831. package/references/openteams/editor/src/stores/theme-store.ts +0 -66
  832. package/references/openteams/editor/src/stores/ui-store.ts +0 -46
  833. package/references/openteams/editor/src/stores/validation-store.ts +0 -27
  834. package/references/openteams/editor/src/types/editor.ts +0 -74
  835. package/references/openteams/editor/src/vite-env.d.ts +0 -1
  836. package/references/openteams/editor/tests/compiler.test.ts +0 -151
  837. package/references/openteams/editor/tests/e2e-add-remove.test.ts +0 -386
  838. package/references/openteams/editor/tests/e2e-components.test.tsx +0 -424
  839. package/references/openteams/editor/tests/e2e-export-roundtrip.test.ts +0 -299
  840. package/references/openteams/editor/tests/e2e-template-load.test.ts +0 -204
  841. package/references/openteams/editor/tests/e2e-ui-store.test.ts +0 -126
  842. package/references/openteams/editor/tests/e2e-undo-redo.test.ts +0 -203
  843. package/references/openteams/editor/tests/e2e-validation.test.ts +0 -307
  844. package/references/openteams/editor/tests/serializer.test.ts +0 -142
  845. package/references/openteams/editor/tests/setup.ts +0 -52
  846. package/references/openteams/editor/tests/validator.test.ts +0 -92
  847. package/references/openteams/editor/tsconfig.json +0 -21
  848. package/references/openteams/editor/tsconfig.tsbuildinfo +0 -1
  849. package/references/openteams/editor/vite.config.ts +0 -28
  850. package/references/openteams/examples/bmad-method/prompts/analyst/ROLE.md +0 -16
  851. package/references/openteams/examples/bmad-method/prompts/analyst/SOUL.md +0 -5
  852. package/references/openteams/examples/bmad-method/prompts/architect/ROLE.md +0 -24
  853. package/references/openteams/examples/bmad-method/prompts/architect/SOUL.md +0 -5
  854. package/references/openteams/examples/bmad-method/prompts/developer/ROLE.md +0 -25
  855. package/references/openteams/examples/bmad-method/prompts/developer/SOUL.md +0 -5
  856. package/references/openteams/examples/bmad-method/prompts/master/ROLE.md +0 -21
  857. package/references/openteams/examples/bmad-method/prompts/master/SOUL.md +0 -5
  858. package/references/openteams/examples/bmad-method/prompts/pm/ROLE.md +0 -20
  859. package/references/openteams/examples/bmad-method/prompts/pm/SOUL.md +0 -5
  860. package/references/openteams/examples/bmad-method/prompts/qa/ROLE.md +0 -17
  861. package/references/openteams/examples/bmad-method/prompts/qa/SOUL.md +0 -5
  862. package/references/openteams/examples/bmad-method/prompts/quick-flow-dev/ROLE.md +0 -23
  863. package/references/openteams/examples/bmad-method/prompts/quick-flow-dev/SOUL.md +0 -5
  864. package/references/openteams/examples/bmad-method/prompts/scrum-master/ROLE.md +0 -27
  865. package/references/openteams/examples/bmad-method/prompts/scrum-master/SOUL.md +0 -5
  866. package/references/openteams/examples/bmad-method/prompts/tech-writer/ROLE.md +0 -21
  867. package/references/openteams/examples/bmad-method/prompts/tech-writer/SOUL.md +0 -5
  868. package/references/openteams/examples/bmad-method/prompts/ux-designer/ROLE.md +0 -16
  869. package/references/openteams/examples/bmad-method/prompts/ux-designer/SOUL.md +0 -5
  870. package/references/openteams/examples/bmad-method/roles/analyst.yaml +0 -9
  871. package/references/openteams/examples/bmad-method/roles/architect.yaml +0 -9
  872. package/references/openteams/examples/bmad-method/roles/developer.yaml +0 -8
  873. package/references/openteams/examples/bmad-method/roles/master.yaml +0 -8
  874. package/references/openteams/examples/bmad-method/roles/pm.yaml +0 -9
  875. package/references/openteams/examples/bmad-method/roles/qa.yaml +0 -8
  876. package/references/openteams/examples/bmad-method/roles/quick-flow-dev.yaml +0 -8
  877. package/references/openteams/examples/bmad-method/roles/scrum-master.yaml +0 -9
  878. package/references/openteams/examples/bmad-method/roles/tech-writer.yaml +0 -8
  879. package/references/openteams/examples/bmad-method/roles/ux-designer.yaml +0 -8
  880. package/references/openteams/examples/bmad-method/team.yaml +0 -161
  881. package/references/openteams/examples/bug-fix-pipeline/roles/fixer.yaml +0 -9
  882. package/references/openteams/examples/bug-fix-pipeline/roles/investigator.yaml +0 -8
  883. package/references/openteams/examples/bug-fix-pipeline/roles/pr-creator.yaml +0 -6
  884. package/references/openteams/examples/bug-fix-pipeline/roles/triager.yaml +0 -7
  885. package/references/openteams/examples/bug-fix-pipeline/roles/verifier.yaml +0 -8
  886. package/references/openteams/examples/bug-fix-pipeline/team.yaml +0 -88
  887. package/references/openteams/examples/codebase-migration/roles/assessor.yaml +0 -7
  888. package/references/openteams/examples/codebase-migration/roles/migrator.yaml +0 -9
  889. package/references/openteams/examples/codebase-migration/roles/planner.yaml +0 -5
  890. package/references/openteams/examples/codebase-migration/roles/test-extractor.yaml +0 -9
  891. package/references/openteams/examples/codebase-migration/roles/validator.yaml +0 -7
  892. package/references/openteams/examples/codebase-migration/team.yaml +0 -81
  893. package/references/openteams/examples/docs-sync/roles/adr-writer.yaml +0 -7
  894. package/references/openteams/examples/docs-sync/roles/api-doc-writer.yaml +0 -7
  895. package/references/openteams/examples/docs-sync/roles/change-detector.yaml +0 -7
  896. package/references/openteams/examples/docs-sync/roles/doc-reviewer.yaml +0 -7
  897. package/references/openteams/examples/docs-sync/roles/guide-writer.yaml +0 -7
  898. package/references/openteams/examples/docs-sync/team.yaml +0 -84
  899. package/references/openteams/examples/gsd/prompts/codebase-mapper/ROLE.md +0 -17
  900. package/references/openteams/examples/gsd/prompts/codebase-mapper/SOUL.md +0 -5
  901. package/references/openteams/examples/gsd/prompts/debugger/ROLE.md +0 -25
  902. package/references/openteams/examples/gsd/prompts/debugger/SOUL.md +0 -5
  903. package/references/openteams/examples/gsd/prompts/executor/ROLE.md +0 -34
  904. package/references/openteams/examples/gsd/prompts/executor/SOUL.md +0 -5
  905. package/references/openteams/examples/gsd/prompts/integration-checker/ROLE.md +0 -18
  906. package/references/openteams/examples/gsd/prompts/integration-checker/SOUL.md +0 -3
  907. package/references/openteams/examples/gsd/prompts/orchestrator/ROLE.md +0 -42
  908. package/references/openteams/examples/gsd/prompts/orchestrator/SOUL.md +0 -5
  909. package/references/openteams/examples/gsd/prompts/phase-researcher/ROLE.md +0 -15
  910. package/references/openteams/examples/gsd/prompts/phase-researcher/SOUL.md +0 -3
  911. package/references/openteams/examples/gsd/prompts/plan-checker/ROLE.md +0 -17
  912. package/references/openteams/examples/gsd/prompts/plan-checker/SOUL.md +0 -3
  913. package/references/openteams/examples/gsd/prompts/planner/ROLE.md +0 -28
  914. package/references/openteams/examples/gsd/prompts/planner/SOUL.md +0 -5
  915. package/references/openteams/examples/gsd/prompts/project-researcher/ROLE.md +0 -16
  916. package/references/openteams/examples/gsd/prompts/project-researcher/SOUL.md +0 -3
  917. package/references/openteams/examples/gsd/prompts/research-synthesizer/ROLE.md +0 -13
  918. package/references/openteams/examples/gsd/prompts/research-synthesizer/SOUL.md +0 -3
  919. package/references/openteams/examples/gsd/prompts/roadmapper/ROLE.md +0 -14
  920. package/references/openteams/examples/gsd/prompts/roadmapper/SOUL.md +0 -3
  921. package/references/openteams/examples/gsd/prompts/verifier/ROLE.md +0 -19
  922. package/references/openteams/examples/gsd/prompts/verifier/SOUL.md +0 -5
  923. package/references/openteams/examples/gsd/roles/codebase-mapper.yaml +0 -8
  924. package/references/openteams/examples/gsd/roles/debugger.yaml +0 -8
  925. package/references/openteams/examples/gsd/roles/executor.yaml +0 -8
  926. package/references/openteams/examples/gsd/roles/integration-checker.yaml +0 -8
  927. package/references/openteams/examples/gsd/roles/orchestrator.yaml +0 -9
  928. package/references/openteams/examples/gsd/roles/phase-researcher.yaml +0 -7
  929. package/references/openteams/examples/gsd/roles/plan-checker.yaml +0 -8
  930. package/references/openteams/examples/gsd/roles/planner.yaml +0 -8
  931. package/references/openteams/examples/gsd/roles/project-researcher.yaml +0 -8
  932. package/references/openteams/examples/gsd/roles/research-synthesizer.yaml +0 -7
  933. package/references/openteams/examples/gsd/roles/roadmapper.yaml +0 -7
  934. package/references/openteams/examples/gsd/roles/verifier.yaml +0 -8
  935. package/references/openteams/examples/gsd/team.yaml +0 -154
  936. package/references/openteams/examples/incident-response/roles/communicator.yaml +0 -5
  937. package/references/openteams/examples/incident-response/roles/fix-proposer.yaml +0 -7
  938. package/references/openteams/examples/incident-response/roles/incident-triager.yaml +0 -8
  939. package/references/openteams/examples/incident-response/roles/investigator.yaml +0 -8
  940. package/references/openteams/examples/incident-response/team.yaml +0 -68
  941. package/references/openteams/examples/pr-review-checks/roles/code-reviewer.yaml +0 -7
  942. package/references/openteams/examples/pr-review-checks/roles/security-scanner.yaml +0 -6
  943. package/references/openteams/examples/pr-review-checks/roles/summarizer.yaml +0 -6
  944. package/references/openteams/examples/pr-review-checks/roles/test-checker.yaml +0 -8
  945. package/references/openteams/examples/pr-review-checks/team.yaml +0 -64
  946. package/references/openteams/examples/security-audit/roles/code-analyzer.yaml +0 -6
  947. package/references/openteams/examples/security-audit/roles/dep-scanner.yaml +0 -7
  948. package/references/openteams/examples/security-audit/roles/fixer.yaml +0 -9
  949. package/references/openteams/examples/security-audit/roles/pr-creator.yaml +0 -6
  950. package/references/openteams/examples/security-audit/roles/prioritizer.yaml +0 -6
  951. package/references/openteams/examples/security-audit/roles/secrets-scanner.yaml +0 -6
  952. package/references/openteams/examples/security-audit/roles/verifier.yaml +0 -8
  953. package/references/openteams/examples/security-audit/team.yaml +0 -102
  954. package/references/openteams/media/banner.png +0 -0
  955. package/references/openteams/media/editor.png +0 -0
  956. package/references/openteams/package-lock.json +0 -4804
  957. package/references/openteams/package.json +0 -58
  958. package/references/openteams/schema/role.schema.json +0 -147
  959. package/references/openteams/schema/team.schema.json +0 -311
  960. package/references/openteams/src/cli/editor.ts +0 -170
  961. package/references/openteams/src/cli/generate.test.ts +0 -191
  962. package/references/openteams/src/cli/generate.ts +0 -220
  963. package/references/openteams/src/cli/prompt-utils.ts +0 -42
  964. package/references/openteams/src/cli/template.test.ts +0 -365
  965. package/references/openteams/src/cli/template.ts +0 -205
  966. package/references/openteams/src/cli.ts +0 -22
  967. package/references/openteams/src/generators/agent-prompt-generator.test.ts +0 -332
  968. package/references/openteams/src/generators/agent-prompt-generator.ts +0 -527
  969. package/references/openteams/src/generators/package-generator.test.ts +0 -129
  970. package/references/openteams/src/generators/package-generator.ts +0 -102
  971. package/references/openteams/src/generators/skill-generator.test.ts +0 -246
  972. package/references/openteams/src/generators/skill-generator.ts +0 -388
  973. package/references/openteams/src/index.ts +0 -84
  974. package/references/openteams/src/template/builtins.test.ts +0 -74
  975. package/references/openteams/src/template/builtins.ts +0 -108
  976. package/references/openteams/src/template/install-service.test.ts +0 -452
  977. package/references/openteams/src/template/install-service.ts +0 -332
  978. package/references/openteams/src/template/loader.test.ts +0 -1696
  979. package/references/openteams/src/template/loader.ts +0 -804
  980. package/references/openteams/src/template/resolver.test.ts +0 -304
  981. package/references/openteams/src/template/resolver.ts +0 -251
  982. package/references/openteams/src/template/types.ts +0 -229
  983. package/references/openteams/tsconfig.cjs.json +0 -7
  984. package/references/openteams/tsconfig.esm.json +0 -8
  985. package/references/openteams/tsconfig.json +0 -16
  986. package/references/openteams/vitest.config.ts +0 -9
  987. package/references/sessionlog/.husky/pre-commit +0 -1
  988. package/references/sessionlog/.lintstagedrc.json +0 -4
  989. package/references/sessionlog/.prettierignore +0 -4
  990. package/references/sessionlog/.prettierrc.json +0 -11
  991. package/references/sessionlog/LICENSE +0 -21
  992. package/references/sessionlog/README.md +0 -453
  993. package/references/sessionlog/eslint.config.js +0 -58
  994. package/references/sessionlog/package-lock.json +0 -3672
  995. package/references/sessionlog/package.json +0 -65
  996. package/references/sessionlog/src/__tests__/agent-hooks.test.ts +0 -570
  997. package/references/sessionlog/src/__tests__/agent-registry.test.ts +0 -127
  998. package/references/sessionlog/src/__tests__/claude-code-hooks.test.ts +0 -225
  999. package/references/sessionlog/src/__tests__/claude-generator.test.ts +0 -46
  1000. package/references/sessionlog/src/__tests__/commit-msg.test.ts +0 -86
  1001. package/references/sessionlog/src/__tests__/cursor-agent.test.ts +0 -224
  1002. package/references/sessionlog/src/__tests__/e2e-live.test.ts +0 -890
  1003. package/references/sessionlog/src/__tests__/event-log.test.ts +0 -183
  1004. package/references/sessionlog/src/__tests__/flush-sentinel.test.ts +0 -105
  1005. package/references/sessionlog/src/__tests__/gemini-agent.test.ts +0 -375
  1006. package/references/sessionlog/src/__tests__/git-hooks.test.ts +0 -78
  1007. package/references/sessionlog/src/__tests__/hook-managers.test.ts +0 -121
  1008. package/references/sessionlog/src/__tests__/lifecycle-tasks.test.ts +0 -759
  1009. package/references/sessionlog/src/__tests__/opencode-agent.test.ts +0 -338
  1010. package/references/sessionlog/src/__tests__/redaction.test.ts +0 -136
  1011. package/references/sessionlog/src/__tests__/session-repo.test.ts +0 -353
  1012. package/references/sessionlog/src/__tests__/session-store.test.ts +0 -166
  1013. package/references/sessionlog/src/__tests__/setup-ccweb.test.ts +0 -466
  1014. package/references/sessionlog/src/__tests__/skill-live.test.ts +0 -461
  1015. package/references/sessionlog/src/__tests__/summarize.test.ts +0 -348
  1016. package/references/sessionlog/src/__tests__/task-plan-e2e.test.ts +0 -610
  1017. package/references/sessionlog/src/__tests__/task-plan-live.test.ts +0 -632
  1018. package/references/sessionlog/src/__tests__/transcript-timestamp.test.ts +0 -121
  1019. package/references/sessionlog/src/__tests__/types.test.ts +0 -166
  1020. package/references/sessionlog/src/__tests__/utils.test.ts +0 -333
  1021. package/references/sessionlog/src/__tests__/validation.test.ts +0 -103
  1022. package/references/sessionlog/src/__tests__/worktree.test.ts +0 -57
  1023. package/references/sessionlog/src/agent/registry.ts +0 -143
  1024. package/references/sessionlog/src/agent/session-types.ts +0 -113
  1025. package/references/sessionlog/src/agent/types.ts +0 -220
  1026. package/references/sessionlog/src/cli.ts +0 -597
  1027. package/references/sessionlog/src/commands/clean.ts +0 -133
  1028. package/references/sessionlog/src/commands/disable.ts +0 -84
  1029. package/references/sessionlog/src/commands/doctor.ts +0 -145
  1030. package/references/sessionlog/src/commands/enable.ts +0 -202
  1031. package/references/sessionlog/src/commands/explain.ts +0 -261
  1032. package/references/sessionlog/src/commands/reset.ts +0 -105
  1033. package/references/sessionlog/src/commands/resume.ts +0 -180
  1034. package/references/sessionlog/src/commands/rewind.ts +0 -195
  1035. package/references/sessionlog/src/commands/setup-ccweb.ts +0 -275
  1036. package/references/sessionlog/src/commands/status.ts +0 -172
  1037. package/references/sessionlog/src/config.ts +0 -165
  1038. package/references/sessionlog/src/events/event-log.ts +0 -126
  1039. package/references/sessionlog/src/git-operations.ts +0 -558
  1040. package/references/sessionlog/src/hooks/git-hooks.ts +0 -165
  1041. package/references/sessionlog/src/hooks/lifecycle.ts +0 -391
  1042. package/references/sessionlog/src/index.ts +0 -650
  1043. package/references/sessionlog/src/security/redaction.ts +0 -283
  1044. package/references/sessionlog/src/session/state-machine.ts +0 -452
  1045. package/references/sessionlog/src/store/checkpoint-store.ts +0 -509
  1046. package/references/sessionlog/src/store/native-store.ts +0 -173
  1047. package/references/sessionlog/src/store/provider-types.ts +0 -99
  1048. package/references/sessionlog/src/store/session-store.ts +0 -266
  1049. package/references/sessionlog/src/strategy/attribution.ts +0 -296
  1050. package/references/sessionlog/src/strategy/common.ts +0 -207
  1051. package/references/sessionlog/src/strategy/content-overlap.ts +0 -228
  1052. package/references/sessionlog/src/strategy/manual-commit.ts +0 -988
  1053. package/references/sessionlog/src/strategy/types.ts +0 -279
  1054. package/references/sessionlog/src/summarize/claude-generator.ts +0 -115
  1055. package/references/sessionlog/src/summarize/summarize.ts +0 -432
  1056. package/references/sessionlog/src/types.ts +0 -508
  1057. package/references/sessionlog/src/utils/chunk-files.ts +0 -49
  1058. package/references/sessionlog/src/utils/commit-message.ts +0 -65
  1059. package/references/sessionlog/src/utils/detect-agent.ts +0 -36
  1060. package/references/sessionlog/src/utils/hook-managers.ts +0 -125
  1061. package/references/sessionlog/src/utils/ide-tags.ts +0 -32
  1062. package/references/sessionlog/src/utils/paths.ts +0 -79
  1063. package/references/sessionlog/src/utils/preview-rewind.ts +0 -80
  1064. package/references/sessionlog/src/utils/rewind-conflict.ts +0 -121
  1065. package/references/sessionlog/src/utils/shadow-branch.ts +0 -109
  1066. package/references/sessionlog/src/utils/string-utils.ts +0 -46
  1067. package/references/sessionlog/src/utils/todo-extract.ts +0 -188
  1068. package/references/sessionlog/src/utils/trailers.ts +0 -187
  1069. package/references/sessionlog/src/utils/transcript-parse.ts +0 -177
  1070. package/references/sessionlog/src/utils/transcript-timestamp.ts +0 -59
  1071. package/references/sessionlog/src/utils/tree-ops.ts +0 -219
  1072. package/references/sessionlog/src/utils/tty.ts +0 -72
  1073. package/references/sessionlog/src/utils/validation.ts +0 -65
  1074. package/references/sessionlog/src/utils/worktree.ts +0 -58
  1075. package/references/sessionlog/src/wire-types.ts +0 -59
  1076. package/references/sessionlog/templates/setup-env.sh +0 -153
  1077. package/references/sessionlog/tsconfig.json +0 -18
  1078. package/references/sessionlog/vitest.config.ts +0 -12
  1079. package/references/swarmkit/LICENSE +0 -21
  1080. package/references/swarmkit/README.md +0 -130
  1081. package/references/swarmkit/docs/design.md +0 -453
  1082. package/references/swarmkit/docs/package-setup-reference.md +0 -519
  1083. package/references/swarmkit/package-lock.json +0 -1938
  1084. package/references/swarmkit/package.json +0 -43
  1085. package/references/swarmkit/src/cli.ts +0 -41
  1086. package/references/swarmkit/src/commands/add.ts +0 -126
  1087. package/references/swarmkit/src/commands/doctor.ts +0 -117
  1088. package/references/swarmkit/src/commands/hive.ts +0 -279
  1089. package/references/swarmkit/src/commands/init/phases/configure.ts +0 -96
  1090. package/references/swarmkit/src/commands/init/phases/global-setup.ts +0 -102
  1091. package/references/swarmkit/src/commands/init/phases/packages.ts +0 -44
  1092. package/references/swarmkit/src/commands/init/phases/project.ts +0 -81
  1093. package/references/swarmkit/src/commands/init/phases/use-case.ts +0 -47
  1094. package/references/swarmkit/src/commands/init/state.test.ts +0 -23
  1095. package/references/swarmkit/src/commands/init/state.ts +0 -22
  1096. package/references/swarmkit/src/commands/init/wizard.ts +0 -160
  1097. package/references/swarmkit/src/commands/init.ts +0 -17
  1098. package/references/swarmkit/src/commands/login.ts +0 -106
  1099. package/references/swarmkit/src/commands/logout.ts +0 -22
  1100. package/references/swarmkit/src/commands/remove.ts +0 -72
  1101. package/references/swarmkit/src/commands/status.ts +0 -101
  1102. package/references/swarmkit/src/commands/update.ts +0 -62
  1103. package/references/swarmkit/src/commands/whoami.ts +0 -41
  1104. package/references/swarmkit/src/config/global.test.ts +0 -258
  1105. package/references/swarmkit/src/config/global.ts +0 -141
  1106. package/references/swarmkit/src/config/keys.test.ts +0 -109
  1107. package/references/swarmkit/src/config/keys.ts +0 -49
  1108. package/references/swarmkit/src/doctor/checks.test.ts +0 -366
  1109. package/references/swarmkit/src/doctor/checks.ts +0 -292
  1110. package/references/swarmkit/src/doctor/types.ts +0 -33
  1111. package/references/swarmkit/src/hub/auth-flow.test.ts +0 -127
  1112. package/references/swarmkit/src/hub/auth-flow.ts +0 -144
  1113. package/references/swarmkit/src/hub/client.test.ts +0 -224
  1114. package/references/swarmkit/src/hub/client.ts +0 -185
  1115. package/references/swarmkit/src/hub/credentials.test.ts +0 -132
  1116. package/references/swarmkit/src/hub/credentials.ts +0 -51
  1117. package/references/swarmkit/src/index.ts +0 -116
  1118. package/references/swarmkit/src/packages/installer.test.ts +0 -365
  1119. package/references/swarmkit/src/packages/installer.ts +0 -206
  1120. package/references/swarmkit/src/packages/plugin.test.ts +0 -141
  1121. package/references/swarmkit/src/packages/plugin.ts +0 -46
  1122. package/references/swarmkit/src/packages/registry.test.ts +0 -235
  1123. package/references/swarmkit/src/packages/registry.ts +0 -209
  1124. package/references/swarmkit/src/packages/setup.test.ts +0 -1349
  1125. package/references/swarmkit/src/packages/setup.ts +0 -635
  1126. package/references/swarmkit/src/utils/ui.test.ts +0 -115
  1127. package/references/swarmkit/src/utils/ui.ts +0 -62
  1128. package/references/swarmkit/tsconfig.json +0 -17
  1129. package/references/swarmkit/vitest.config.ts +0 -9
@@ -1,1079 +0,0 @@
1
- # MAP Improvements Inspired by the AI Agent Protocol (ANP)
2
-
3
- This spec proposes six improvements to MAP inspired by the W3C Community Group [Agent Network Protocol (ANP)](https://github.com/w3c-cg/ai-agent-protocol). ANP aims to be the "HTTP of the Agentic Web" — a decentralized protocol for AI agents to discover, authenticate, and interact across the open internet. While MAP and ANP occupy different niches (internal orchestration vs. open-internet identity), several ANP ideas strengthen MAP's federation, discovery, and privacy stories.
4
-
5
- ## Context: MAP vs ANP
6
-
7
- | Dimension | MAP | ANP |
8
- |-----------|-----|-----|
9
- | **Primary concern** | Internal multi-agent orchestration & observability | Internet-scale agent identity & discovery |
10
- | **Identity model** | Server-assigned participant IDs | Decentralized DIDs (`did:wba`) anchored to DNS/HTTPS |
11
- | **Discovery** | Runtime queries (`agents/list`, subscriptions) | `.well-known` endpoints + web crawling |
12
- | **Transport** | Transport-agnostic (WebSocket, stdio, in-process, HTTP/SSE) | HTTP/HTTPS only |
13
- | **Wire format** | JSON-RPC 2.0 | HTTP + JSON-LD (meta-protocol negotiation) |
14
-
15
- These proposals are scoped to MAP's federation and cross-system layers. They do not change how MAP works for internal, single-system deployments.
16
-
17
- ---
18
-
19
- ## Proposal 1: Decentralized Identity via `did:wba` for Federation
20
-
21
- ### Status: ✅ Implemented — See `ts-sdk/src/federation/did-wba/` and `ts-sdk/src/server/auth/did-wba-authenticator.ts`
22
-
23
- ### Problem
24
-
25
- MAP federation currently uses server-assigned IDs and pre-configured peer credentials (`mutual-tls`, `bearer`, `api-key`). This requires:
26
- - Manual allowlist maintenance on every federated server
27
- - No globally-unique, stable agent identities across system boundaries
28
- - Trust establishment requires out-of-band credential exchange
29
-
30
- For federations with more than a handful of peers, this doesn't scale.
31
-
32
- ### Proposal
33
-
34
- Add `did:wba` as a federation authentication method. `did:wba` (Web-Based Agent DID) anchors identity to domain ownership via HTTPS. An identity like `did:wba:agents.example.com:worker-alpha` resolves to a DID document at `https://agents.example.com/worker-alpha/did.json`.
35
-
36
- #### DID Document Resolution
37
-
38
- ```
39
- did:wba:agents.example.com:worker-alpha
40
- → GET https://agents.example.com/worker-alpha/did.json
41
- → Returns DID Document with:
42
- - Public keys for verification
43
- - Service endpoints (MAP WebSocket URL)
44
- - MAP-specific metadata (capabilities, protocol version)
45
- ```
46
-
47
- #### Extended Auth Method
48
-
49
- Add `did:wba` to the existing authentication methods in `docs/09-authentication.md`:
50
-
51
- | Method | Description | Use Case |
52
- |--------|-------------|----------|
53
- | `none` | No authentication | Local subprocess, development |
54
- | `bearer` | Bearer token (JWT or opaque) | OAuth2, IdP, M2M tokens |
55
- | `api-key` | Simple API key | Simple integrations |
56
- | `mtls` | Mutual TLS | High-security service-to-service |
57
- | **`did:wba`** | **DID-based, domain-anchored** | **Cross-org federation, open discovery** |
58
-
59
- #### Authentication Flow
60
-
61
- ```
62
- Peer System A Peer System B
63
- │ │
64
- │── map/federation/connect ─────────────────────────►│
65
- │ { auth: { │
66
- │ method: "did:wba", │
67
- │ did: "did:wba:alpha.example.com:gateway", │
68
- │ proof: { │
69
- │ type: "JsonWebSignature2020", │
70
- │ created: "2026-02-10T...", │
71
- │ challenge: "<server-provided-nonce>", │
72
- │ jws: "eyJ..." │
73
- │ } │
74
- │ } │
75
- │ } │
76
- │ │
77
- │ [Server B resolves DID document via HTTPS] │
78
- │ [Server B verifies proof against public key] │
79
- │ [Server B checks domain matches expected peer] │
80
- │ │
81
- │◄── connect response ──────────────────────────────│
82
- │ { principal: { │
83
- │ id: "did:wba:alpha.example.com:gateway", │
84
- │ issuer: "https://alpha.example.com", │
85
- │ claims: { ... } │
86
- │ } │
87
- │ } │
88
- ```
89
-
90
- #### Wire Protocol Types
91
-
92
- ```typescript
93
- // New auth credential variant
94
- interface DIDWBACredentials {
95
- method: "did:wba";
96
-
97
- /** The DID of the connecting system/agent */
98
- did: string;
99
-
100
- /** Cryptographic proof of DID ownership */
101
- proof: {
102
- /** Proof type (e.g., "JsonWebSignature2020", "Ed25519Signature2020") */
103
- type: string;
104
-
105
- /** ISO 8601 timestamp */
106
- created: string;
107
-
108
- /** Server-provided nonce (prevents replay) */
109
- challenge: string;
110
-
111
- /** The signature over (challenge + did + created) */
112
- jws: string;
113
- };
114
- }
115
-
116
- // Extended federation auth
117
- type MAPFederationAuth =
118
- | { method: "mutual-tls"; certificate: string }
119
- | { method: "bearer"; token: string }
120
- | { method: "api-key"; key: string }
121
- | { method: "oauth2"; config: OAuth2Config }
122
- | DIDWBACredentials;
123
- ```
124
-
125
- #### DID Document with MAP Service Endpoint
126
-
127
- ```json
128
- {
129
- "@context": ["https://www.w3.org/ns/did/v1", "https://map-protocol.org/ns/v1"],
130
- "id": "did:wba:alpha.example.com:gateway",
131
- "verificationMethod": [{
132
- "id": "did:wba:alpha.example.com:gateway#key-1",
133
- "type": "JsonWebKey2020",
134
- "controller": "did:wba:alpha.example.com:gateway",
135
- "publicKeyJwk": { "kty": "EC", "crv": "P-256", "x": "...", "y": "..." }
136
- }],
137
- "authentication": ["did:wba:alpha.example.com:gateway#key-1"],
138
- "service": [{
139
- "id": "did:wba:alpha.example.com:gateway#map",
140
- "type": "MAPFederationEndpoint",
141
- "serviceEndpoint": "wss://alpha.example.com/map/federation",
142
- "mapProtocolVersion": 1,
143
- "mapCapabilities": {
144
- "streaming": true,
145
- "federation": true
146
- }
147
- }]
148
- }
149
- ```
150
-
151
- ### Trust Model
152
-
153
- DID resolution provides **domain-verified identity** — if you trust the domain, you trust the DID. This is weaker than mutual TLS (no CA chain) but stronger than bearer tokens (domain ownership is cryptographically verifiable without pre-shared secrets).
154
-
155
- Trust levels in MAP federation:
156
-
157
- | Auth Method | Trust Basis | Setup Overhead | Scalability |
158
- |-------------|-------------|----------------|-------------|
159
- | `mtls` | Certificate authority chain | High (cert management) | Medium |
160
- | `bearer` | Pre-shared token/JWKS | Medium (token distribution) | Medium |
161
- | `api-key` | Pre-shared secret | Low | Low |
162
- | `did:wba` | Domain ownership via DNS/HTTPS | Low (publish DID doc) | High |
163
-
164
- ### Relationship to Existing Auth
165
-
166
- `did:wba` is additive. It does not replace existing methods. Systems can support multiple auth methods and negotiate during `map/federation/connect`. A practical deployment might use `did:wba` for initial discovery and identity verification, then upgrade to `bearer` tokens (JWT signed by the verified DID key) for ongoing session authentication.
167
-
168
- ### Impacts
169
-
170
- - **`docs/09-authentication.md`**: Add `did:wba` method, resolution flow, proof format
171
- - **`docs/07-federation.md`**: Add `did:wba` to `MAPFederationAuth`, document trust model
172
- - **`ts-sdk`**: Add DID resolution utility, proof generation/verification
173
- - **`schema/schema.json`**: Extend auth credential union type
174
-
175
- ### Open Questions
176
-
177
- 1. **DID document caching**: How long should resolved DID documents be cached? Should the protocol mandate a TTL or leave it to implementations?
178
- 2. **Key rotation**: When a peer rotates keys, should there be a grace period where both old and new keys are valid?
179
- 3. **Revocation**: DID documents can be updated to remove keys, but there's no revocation list. Is this sufficient for MAP's trust model?
180
-
181
- ---
182
-
183
- ## Proposal 2: `.well-known` Federation Discovery Endpoint
184
-
185
- ### Status: 🟢 Deferrable — Can resolve in later versions
186
-
187
- ### Problem
188
-
189
- MAP federation requires explicit peer configuration (`MAPPeerConfig[]` in `MAPFederationConfig`). This means:
190
- - Every peer must be manually added to every other peer's configuration
191
- - There's no standard way to discover what MAP systems exist at a domain
192
- - No machine-readable advertisement of federation capabilities
193
-
194
- This is identified as an open question in `docs/07-federation.md`:
195
- > **Q: Federation Discovery** — Should there be a discovery mechanism for finding peers?
196
-
197
- And in `docs/01-open-questions.md` as Q6.2 (pending).
198
-
199
- ### Proposal
200
-
201
- Define a `/.well-known/map-federation` endpoint (per [RFC 8615](https://tools.ietf.org/html/rfc8615)) that MAP systems can serve to advertise their federation capabilities.
202
-
203
- #### Discovery Document
204
-
205
- ```
206
- GET https://example.com/.well-known/map-federation
207
- Content-Type: application/json
208
- ```
209
-
210
- ```typescript
211
- interface MAPFederationDiscovery {
212
- /** Schema version for this discovery document */
213
- version: 1;
214
-
215
- /** System identifier (matches MAPFederationConfig.systemId) */
216
- systemId: string;
217
-
218
- /** Human-readable system name */
219
- name: string;
220
-
221
- /** System description */
222
- description?: string;
223
-
224
- /** MAP protocol version(s) supported */
225
- protocolVersions: number[];
226
-
227
- /** Federation connection endpoints */
228
- endpoints: MAPFederationEndpoint[];
229
-
230
- /** Supported authentication methods (in preference order) */
231
- authMethods: AuthMethod[];
232
-
233
- /** What this system exposes to federation peers */
234
- exposure: {
235
- /** Whether the system accepts new federation peers */
236
- acceptsPeers: boolean;
237
-
238
- /** High-level description of exposed capabilities */
239
- capabilities: string[];
240
-
241
- /** Agent roles available to federation peers */
242
- exposedRoles?: string[];
243
-
244
- /** Scope tags available to federation peers */
245
- exposedScopeTags?: string[];
246
- };
247
-
248
- /** DID for this system's gateway (if did:wba auth supported) */
249
- did?: string;
250
-
251
- /** Contact/governance information */
252
- contact?: {
253
- url?: string;
254
- email?: string;
255
- };
256
-
257
- /** When this document was last updated (ISO 8601) */
258
- updatedAt: string;
259
- }
260
-
261
- interface MAPFederationEndpoint {
262
- /** Transport type */
263
- transport: "websocket" | "http-sse";
264
-
265
- /** Connection URL */
266
- url: string;
267
-
268
- /** Geographic region hint (for latency-aware peer selection) */
269
- region?: string;
270
- }
271
- ```
272
-
273
- #### Example Discovery Document
274
-
275
- ```json
276
- {
277
- "version": 1,
278
- "systemId": "alpha-prod",
279
- "name": "Alpha AI System",
280
- "description": "Multi-agent orchestration for document processing",
281
- "protocolVersions": [1],
282
- "endpoints": [
283
- {
284
- "transport": "websocket",
285
- "url": "wss://alpha.example.com/map/federation",
286
- "region": "us-east-1"
287
- }
288
- ],
289
- "authMethods": ["did:wba", "bearer", "mtls"],
290
- "exposure": {
291
- "acceptsPeers": true,
292
- "capabilities": ["document-processing", "ocr", "summarization"],
293
- "exposedRoles": ["processor", "summarizer"],
294
- "exposedScopeTags": ["federation"]
295
- },
296
- "did": "did:wba:alpha.example.com:gateway",
297
- "contact": {
298
- "url": "https://alpha.example.com/federation-docs"
299
- },
300
- "updatedAt": "2026-02-10T00:00:00Z"
301
- }
302
- ```
303
-
304
- #### Discovery Flow
305
-
306
- ```
307
- System B wants to federate with alpha.example.com:
308
-
309
- 1. GET https://alpha.example.com/.well-known/map-federation
310
- → Receives discovery document
311
-
312
- 2. Inspect authMethods, endpoints, exposure
313
- → Determines compatibility
314
-
315
- 3. Resolve DID (if did:wba supported)
316
- GET https://alpha.example.com/gateway/did.json
317
- → Gets public key for authentication
318
-
319
- 4. Connect to federation endpoint
320
- → map/federation/connect with appropriate auth
321
- ```
322
-
323
- #### Auto-Discovery (Optional Extension)
324
-
325
- For environments that want automatic peer discovery, systems can optionally publish DNS TXT records:
326
-
327
- ```
328
- _map-federation.example.com. TXT "v=MAP1; endpoint=https://example.com/.well-known/map-federation"
329
- ```
330
-
331
- This enables DNS-based service discovery without requiring prior knowledge of specific URLs. This is strictly optional — most deployments will use direct URL configuration.
332
-
333
- ### Security Considerations
334
-
335
- 1. **The discovery document is public information.** It should not contain secrets, internal topology, or sensitive agent details. It advertises only what the system is willing to expose to potential federation peers.
336
- 2. **Connection still requires authentication.** Discovery is read-only. The actual federation connection goes through the full auth flow (`map/federation/connect`).
337
- 3. **Rate limiting.** The `.well-known` endpoint should be rate-limited to prevent scraping.
338
- 4. **HTTPS required.** The discovery endpoint MUST be served over HTTPS to prevent MITM attacks on the discovery document.
339
-
340
- ### Relationship to Open Questions
341
-
342
- This proposal resolves **Q6.2: Federation Discovery** from `docs/01-open-questions.md`:
343
- - **Decision**: Option D — DNS-based + well-known endpoint
344
- - **Rationale**: Leverages existing web infrastructure (HTTPS, DNS). Low setup overhead. No central registry required. Compatible with `did:wba` identity. Discovery is read-only and safe.
345
-
346
- ### Impacts
347
-
348
- - **`docs/07-federation.md`**: Add discovery section, reference `.well-known` format
349
- - **`docs/01-open-questions.md`**: Resolve Q6.2
350
- - **`ts-sdk`**: Add discovery client utility (`fetchFederationDiscovery(domain)`)
351
- - **New**: Register `map-federation` with IANA well-known URI registry (when protocol matures)
352
-
353
- ---
354
-
355
- ## Proposal 3: Linked Capability Documents for Agent Discovery
356
-
357
- ### Status: ✅ Implemented — See `ts-sdk/src/types/index.ts` (MAPAgentCapabilityDescriptor) and agent handler/store updates
358
-
359
- ### Problem
360
-
361
- MAP agents currently describe themselves with minimal metadata:
362
- - `role?: string` — a single string
363
- - `metadata?: Record<string, unknown>` — unstructured bag of key-values
364
- - `environment?: AgentEnvironment` — compute environment info
365
-
366
- This is insufficient for dynamic orchestration scenarios where:
367
- - An orchestrator needs to discover which agents can handle a given task type
368
- - A federation peer needs to understand what capabilities a remote system exposes
369
- - A dashboard needs to display meaningful information about what agents do
370
-
371
- ANP addresses this by making every agent serve a structured **Agent Description Document** that links to detailed capability declarations, forming a navigable web of capabilities.
372
-
373
- ### Proposal
374
-
375
- Introduce an optional, structured **Agent Capability Descriptor** that agents can publish at registration time. The descriptor follows a linked-data model: top-level capabilities link to detailed interface specifications, which can link to schema definitions.
376
-
377
- #### Capability Descriptor Schema
378
-
379
- ```typescript
380
- /**
381
- * Structured capability descriptor for an agent.
382
- * Published at registration time via the `capabilities` field on MAPAgent.
383
- * Optional — agents without descriptors still work via role/metadata.
384
- */
385
- interface MAPAgentCapabilityDescriptor {
386
- /** Schema version */
387
- version: 1;
388
-
389
- /** Human-readable summary of what this agent does */
390
- description: string;
391
-
392
- /** Capability categories this agent supports */
393
- capabilities: MAPCapabilityDeclaration[];
394
-
395
- /** Input types this agent can accept */
396
- accepts?: MAPInterfaceSpec[];
397
-
398
- /** Output types this agent can produce */
399
- produces?: MAPInterfaceSpec[];
400
-
401
- /** Link to full documentation (external URL) */
402
- documentationUrl?: string;
403
-
404
- /** Semantic tags for discovery (searchable) */
405
- tags?: string[];
406
- }
407
-
408
- interface MAPCapabilityDeclaration {
409
- /** Machine-readable capability identifier (namespaced) */
410
- id: string;
411
-
412
- /** Human-readable capability name */
413
- name: string;
414
-
415
- /** What this capability does */
416
- description: string;
417
-
418
- /** Link to detailed interface spec (URL or inline) */
419
- interfaceRef?: string;
420
-
421
- /** Inline interface specification (alternative to interfaceRef) */
422
- interface?: MAPInterfaceSpec;
423
- }
424
-
425
- interface MAPInterfaceSpec {
426
- /** Content type (e.g., "application/json", "text/plain") */
427
- contentType: string;
428
-
429
- /** JSON Schema for the expected payload structure */
430
- schema?: Record<string, unknown>;
431
-
432
- /** Link to external schema definition */
433
- schemaRef?: string;
434
-
435
- /** Example payload */
436
- example?: unknown;
437
- }
438
- ```
439
-
440
- #### Registration with Capabilities
441
-
442
- ```typescript
443
- // Agent registers with capability descriptor
444
- {
445
- "method": "map/agents/register",
446
- "params": {
447
- "name": "document-processor",
448
- "role": "processor",
449
- "capabilities": {
450
- "version": 1,
451
- "description": "Processes documents: extracts text, generates summaries, identifies entities",
452
- "capabilities": [
453
- {
454
- "id": "doc:extract-text",
455
- "name": "Text Extraction",
456
- "description": "Extracts text content from PDF, DOCX, and image files",
457
- "interface": {
458
- "contentType": "application/json",
459
- "schema": {
460
- "type": "object",
461
- "properties": {
462
- "documentUrl": { "type": "string", "format": "uri" },
463
- "format": { "enum": ["pdf", "docx", "png", "jpg"] }
464
- },
465
- "required": ["documentUrl"]
466
- }
467
- }
468
- },
469
- {
470
- "id": "doc:summarize",
471
- "name": "Document Summarization",
472
- "description": "Generates concise summaries of text documents",
473
- "interface": {
474
- "contentType": "application/json",
475
- "schema": {
476
- "type": "object",
477
- "properties": {
478
- "text": { "type": "string" },
479
- "maxLength": { "type": "integer" },
480
- "style": { "enum": ["bullet-points", "paragraph", "executive"] }
481
- },
482
- "required": ["text"]
483
- }
484
- }
485
- }
486
- ],
487
- "tags": ["document-processing", "nlp", "extraction", "summarization"]
488
- }
489
- }
490
- }
491
- ```
492
-
493
- #### Capability-Based Queries
494
-
495
- Extend `map/agents/list` to support filtering by capability:
496
-
497
- ```typescript
498
- // Find agents that can summarize documents
499
- {
500
- "method": "map/agents/list",
501
- "params": {
502
- "filter": {
503
- "capabilityId": "doc:summarize"
504
- }
505
- }
506
- }
507
-
508
- // Find agents by semantic tag
509
- {
510
- "method": "map/agents/list",
511
- "params": {
512
- "filter": {
513
- "tags": ["document-processing"]
514
- }
515
- }
516
- }
517
-
518
- // Find agents that accept a specific content type
519
- {
520
- "method": "map/agents/list",
521
- "params": {
522
- "filter": {
523
- "accepts": "application/pdf"
524
- }
525
- }
526
- }
527
- ```
528
-
529
- #### Linked Navigation (for Federation)
530
-
531
- In federation scenarios, exposed agents can reference external capability documents:
532
-
533
- ```typescript
534
- {
535
- "id": "doc:summarize",
536
- "name": "Document Summarization",
537
- "description": "Generates concise summaries",
538
- // Link to detailed spec hosted by the federated system
539
- "interfaceRef": "https://alpha.example.com/capabilities/doc-summarize.json"
540
- }
541
- ```
542
-
543
- This allows federated systems to serve detailed capability specifications without bloating the federation protocol messages. Peers fetch detailed specs only when needed.
544
-
545
- ### Relationship to Existing Structures
546
-
547
- This extends (not replaces) the existing agent model:
548
-
549
- | Current | With Capability Descriptor |
550
- |---------|---------------------------|
551
- | `role: "processor"` | Still works — quick filtering |
552
- | `metadata: { ... }` | Still works — unstructured extensions |
553
- | — | `capabilities: { ... }` — structured, queryable, linked |
554
-
555
- Agents that don't publish capability descriptors are fully backwards-compatible. The descriptor is optional.
556
-
557
- ### Impacts
558
-
559
- - **`docs/00-design-specification.md`**: Add capability descriptor to agent model
560
- - **`ts-sdk/src/types/index.ts`**: Add `MAPAgentCapabilityDescriptor` types
561
- - **`ts-sdk/src/server/agents/`**: Extend registry to index capabilities for querying
562
- - **`schema/schema.json`**: Add capability descriptor schema, extend agent list filters
563
-
564
- ### Open Questions
565
-
566
- 1. **Capability namespacing**: Should capability IDs use a formal namespace (e.g., `urn:map:capability:doc:summarize`) or informal prefixes (`doc:summarize`)?
567
- 2. **Schema format**: JSON Schema is proposed here. Should we also support other schema formats (e.g., TypeBox, Zod references)?
568
- 3. **Capability inheritance**: If a parent agent has capabilities, do spawned children inherit them?
569
-
570
- ---
571
-
572
- ## Proposal 4: Meta-Protocol Negotiation for Federation
573
-
574
- ### Status: 🟢 Deferrable — Can resolve in later versions
575
-
576
- ### Problem
577
-
578
- MAP federation currently assumes both sides speak MAP. But in practice, a MAP system may need to federate with:
579
- - An A2A-based system (Google's Agent-to-Agent protocol)
580
- - An ACP-based system (single-agent systems that want to expose themselves)
581
- - A future protocol not yet designed
582
-
583
- Currently, if System A speaks MAP and System B speaks A2A, there's no standard way for them to negotiate which protocol to use. The gateway must be hardcoded for each protocol.
584
-
585
- ANP addresses this with a "Layer 2" meta-protocol where agents negotiate *which application protocol* to use for a given interaction.
586
-
587
- ### Proposal
588
-
589
- Add an optional meta-protocol negotiation step to `map/federation/connect`. Before committing to MAP as the federation protocol, peers exchange their supported protocols and agree on one.
590
-
591
- #### Negotiation Flow
592
-
593
- ```
594
- System A System B
595
- │ │
596
- │── map/federation/connect ────────────────────────►│
597
- │ { protocols: [ │
598
- │ { id: "map", version: 1, priority: 1 }, │
599
- │ { id: "a2a", version: "2025-05-01", │
600
- │ priority: 2 } │
601
- │ ], │
602
- │ preferredProtocol: "map" │
603
- │ } │
604
- │ │
605
- │◄── connect response ─────────────────────────────│
606
- │ { selectedProtocol: { │
607
- │ id: "map", │
608
- │ version: 1 │
609
- │ }, │
610
- │ fallbackAvailable: ["a2a"] │
611
- │ } │
612
- │ │
613
- │ [Proceeds with MAP federation protocol] │
614
- ```
615
-
616
- If neither side supports a common protocol, the connection is rejected with a clear error.
617
-
618
- #### Wire Protocol Types
619
-
620
- ```typescript
621
- interface MAPProtocolOption {
622
- /** Protocol identifier */
623
- id: "map" | "a2a" | "acp" | string;
624
-
625
- /** Protocol version */
626
- version: string | number;
627
-
628
- /** Priority (1 = highest) */
629
- priority: number;
630
-
631
- /** Protocol-specific connection parameters */
632
- params?: Record<string, unknown>;
633
- }
634
-
635
- // Extended federation connect params
636
- interface MAPFederationConnectParams {
637
- // ... existing fields ...
638
-
639
- /**
640
- * Optional: Supported protocols in preference order.
641
- * If omitted, only MAP is assumed (backwards-compatible).
642
- */
643
- protocols?: MAPProtocolOption[];
644
-
645
- /** Explicitly preferred protocol (shorthand when only one option) */
646
- preferredProtocol?: string;
647
- }
648
-
649
- // Extended federation connect response
650
- interface MAPFederationConnectResult {
651
- // ... existing fields ...
652
-
653
- /** The protocol selected for this federation link */
654
- selectedProtocol: {
655
- id: string;
656
- version: string | number;
657
- };
658
-
659
- /** Other protocols available if the primary fails */
660
- fallbackAvailable?: string[];
661
- }
662
- ```
663
-
664
- #### Gateway Protocol Adapters
665
-
666
- The gateway agent pattern from `docs/07-federation.md` naturally supports this. Each gateway can have protocol adapters:
667
-
668
- ```
669
- ┌─────────────────────────────────────────────────────────┐
670
- │ MAP Gateway Agent │
671
- │ │
672
- │ ┌──────────────────────────────────────────────────┐ │
673
- │ │ Protocol Adapter Layer │ │
674
- │ │ │ │
675
- │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
676
- │ │ │ MAP │ │ A2A │ │ ACP │ ... │ │
677
- │ │ │ Adapter │ │ Adapter │ │ Adapter │ │ │
678
- │ │ └────┬────┘ └────┬────┘ └────┬────┘ │ │
679
- │ │ └─────────────┼───────────┘ │ │
680
- │ │ │ │ │
681
- │ │ Unified Internal Model │ │
682
- │ └──────────────────────────────────────────────────┘ │
683
- │ │ │
684
- │ Internal MAP │
685
- │ │
686
- └─────────────────────────────────────────────────────────┘
687
- ```
688
-
689
- Each adapter translates between MAP's internal message model and the external protocol:
690
- - **MAP adapter**: Pass-through (native)
691
- - **A2A adapter**: Translates MAP messages ↔ A2A Tasks, MAP agents ↔ A2A Agent Cards
692
- - **ACP adapter**: Translates MAP messages ↔ ACP sessions/events
693
-
694
- ### Backwards Compatibility
695
-
696
- If `protocols` is omitted from `map/federation/connect`, the server assumes MAP-only (current behavior). This makes the feature fully backwards-compatible.
697
-
698
- ### Scope Limitation
699
-
700
- This proposal defines the **negotiation mechanism** only. The actual protocol adapters (A2A ↔ MAP translation, ACP ↔ MAP translation) are implementation concerns, not protocol spec. The spec only needs to define:
701
- 1. How protocols are advertised during connection
702
- 2. How a protocol is selected
703
- 3. Error handling when no common protocol exists
704
-
705
- ### Impacts
706
-
707
- - **`docs/07-federation.md`**: Add meta-protocol negotiation section
708
- - **`docs/02-wire-protocol.md`**: Document `protocols` field in federation connect
709
- - **`ts-sdk/src/federation/`**: Add protocol negotiation logic
710
- - **`ts-sdk/src/server/federation/`**: Extensible adapter pattern in gateway
711
-
712
- ### Open Questions
713
-
714
- 1. **Adapter specification**: Should the protocol define any normative mappings (e.g., how MAP messages map to A2A tasks)?
715
- 2. **Runtime protocol switching**: Can peers switch protocols mid-federation, or is it fixed at connection time?
716
- 3. **Protocol capability intersection**: If two protocols are supported but with different capability subsets, how is this communicated?
717
-
718
- ---
719
-
720
- ## Proposal 5: Privacy Through Multi-Identity for Federation
721
-
722
- ### Status: 🟢 Deferrable — Can resolve in later versions
723
-
724
- ### Problem
725
-
726
- MAP agents currently have a single, system-wide `id`. When interacting with multiple federated systems, this creates privacy concerns:
727
- - A federated peer can correlate agent activity across interactions
728
- - Internal agent identifiers leak organizational structure
729
- - There's no way for an agent to present different identities to different peers
730
-
731
- ANP addresses this by supporting agents with **multiple DIDs** for different interaction contexts, with periodic rotation.
732
-
733
- ### Proposal
734
-
735
- Introduce **federation aliases**: context-specific identities that agents can present to different federated peers. Internally, the system maintains the mapping; externally, each peer sees only the alias assigned to them.
736
-
737
- #### Architecture
738
-
739
- ```
740
- ┌───────────────────────────────────────────────────────────────┐
741
- │ MAP System (Internal) │
742
- │ │
743
- │ agent_worker_01 ───────────────────────────────── │
744
- │ (internal id) │ │ │
745
- │ │ Alias Registry │ │
746
- │ │ │ │
747
- │ ├─► peer-alpha: "proc-7f3a" │ │
748
- │ ├─► peer-beta: "handler-9e1c" │ │
749
- │ └─► peer-gamma: "agent-2b8d" │ │
750
- │ │
751
- │ Gateway translates internal IDs ↔ aliases per peer │
752
- └───────────────────────────────────────────────────────────────┘
753
- ```
754
-
755
- #### Wire Protocol Types
756
-
757
- ```typescript
758
- interface MAPFederationAliasConfig {
759
- /** Enable context-specific identities for federation */
760
- aliasing: {
761
- enabled: boolean;
762
-
763
- /** Strategy for generating aliases */
764
- strategy: "random" | "deterministic" | "manual";
765
-
766
- /** How often to rotate aliases (0 = never) */
767
- rotationIntervalMs?: number;
768
-
769
- /** Alias format template (e.g., "agent-{random}") */
770
- format?: string;
771
-
772
- /** Per-peer alias overrides */
773
- peerOverrides?: Record<string, {
774
- /** Explicit alias for this peer */
775
- alias?: string;
776
-
777
- /** Use real ID for this peer (trusted peer) */
778
- transparent?: boolean;
779
- }>;
780
- };
781
- }
782
- ```
783
-
784
- #### Extended Federation Exposure
785
-
786
- ```typescript
787
- interface MAPFederationExposure {
788
- agents: {
789
- expose: "none" | "gateway" | "tagged" | "all";
790
- tags?: string[];
791
-
792
- /** NEW: Identity presentation strategy */
793
- identity: "real" | "alias" | "per-peer-alias";
794
- };
795
- // ... existing fields ...
796
- }
797
- ```
798
-
799
- #### Gateway Alias Translation
800
-
801
- The gateway agent (already responsible for federation routing per `docs/07-federation.md`) handles alias translation transparently:
802
-
803
- ```
804
- Outbound (internal → federated):
805
- message.from: "agent_worker_01" → "proc-7f3a" (alias for peer-alpha)
806
-
807
- Inbound (federated → internal):
808
- message.to: "proc-7f3a" → "agent_worker_01" (resolve alias)
809
- ```
810
-
811
- #### Alias Rotation
812
-
813
- When aliases rotate, the gateway:
814
- 1. Generates new alias
815
- 2. Starts accepting both old and new alias (grace period)
816
- 3. Uses new alias for outbound messages
817
- 4. After grace period, stops accepting old alias
818
-
819
- ```typescript
820
- interface MAPAliasRotationEvent {
821
- /** Peer this rotation applies to */
822
- peerId: string;
823
-
824
- /** Agent being rotated */
825
- agentId: string;
826
-
827
- /** Previous alias (will expire after grace period) */
828
- previousAlias: string;
829
-
830
- /** New alias (now active) */
831
- newAlias: string;
832
-
833
- /** When the previous alias stops being accepted */
834
- previousAliasExpiresAt: number;
835
- }
836
- ```
837
-
838
- ### Security Properties
839
-
840
- | Property | Without Aliases | With Aliases |
841
- |----------|----------------|--------------|
842
- | Cross-peer correlation | Trivial (same ID) | Prevented (different alias per peer) |
843
- | Internal structure leakage | Possible (ID patterns) | Prevented (random aliases) |
844
- | Activity tracking across rotation | Continuous | Broken at rotation boundaries |
845
- | Trusted peer exception | N/A | Configurable per-peer |
846
-
847
- ### Relationship to DID Identity (Proposal 1)
848
-
849
- When using `did:wba` authentication (Proposal 1), aliases can be implemented as **derived DIDs** — sub-identities under the system's DID that can be independently verified but can't be correlated to each other without the system's cooperation.
850
-
851
- ### Impacts
852
-
853
- - **`docs/07-federation.md`**: Add alias configuration to federation model
854
- - **`docs/06-visibility-permissions.md`**: Document alias as a visibility layer
855
- - **`ts-sdk/src/federation/`**: Add alias registry, translation in envelope handling
856
- - **`ts-sdk/src/server/federation/`**: Gateway alias management
857
-
858
- ### Open Questions
859
-
860
- 1. **Alias persistence**: Should aliases survive system restarts? (Probably yes, to maintain peer relationships.)
861
- 2. **Correlation resistance**: Should the system actively prevent timing-based correlation (e.g., jittering message delivery)?
862
- 3. **Alias in events**: When a federated peer subscribes to events, do events use aliases? (Yes — gateway translates.)
863
-
864
- ---
865
-
866
- ## Proposal 6: Single-Request Federation Authentication
867
-
868
- ### Status: ✅ Implemented — See `ts-sdk/src/server/federation/handlers.ts` and `ts-sdk/src/federation/challenge.ts`
869
-
870
- ### Problem
871
-
872
- MAP's current federation authentication can require multiple round trips:
873
- 1. `map/federation/connect` → server returns `authRequired` with supported methods
874
- 2. `map/authenticate` → client provides credentials
875
- 3. Server verifies → returns session
876
-
877
- For federation connections that traverse the internet (potentially high latency), this multi-round-trip flow adds significant connection setup time. When federating across many peers or re-establishing connections after outages, this compounds.
878
-
879
- ANP's `did:wba` auth completes in a single HTTP request: the client sends DID + cryptographic proof in the initial request headers, and the server resolves and verifies in one step.
880
-
881
- ### Proposal
882
-
883
- Optimize MAP's federation connect to support **single-request authentication** — the peer provides all credentials in the initial `map/federation/connect` request, and the server completes auth without requiring a separate `map/authenticate` step.
884
-
885
- #### Current Flow (Multi-Round-Trip)
886
-
887
- ```
888
- Peer A Peer B
889
- │ │
890
- │── federation/connect ────────────────►│ RTT 1
891
- │◄── authRequired { methods } ─────────│
892
- │ │
893
- │── authenticate { credential } ───────►│ RTT 2
894
- │◄── { success, session } ─────────────│
895
- │ │
896
- │── subscribe / send ──────────────────►│ RTT 3
897
- │ │
898
- ```
899
-
900
- #### Proposed Flow (Single-Request)
901
-
902
- ```
903
- Peer A Peer B
904
- │ │
905
- │── federation/connect ────────────────►│ RTT 1
906
- │ { systemId, auth, exposure, ... } │
907
- │ │
908
- │◄── { session, principal, ... } ───────│
909
- │ │
910
- │── subscribe / send ──────────────────►│ RTT 2
911
- │ │
912
- ```
913
-
914
- #### Wire Protocol Changes
915
-
916
- The `map/federation/connect` request already supports an `auth` field (see `docs/07-federation.md` line 135). The change is to make the server:
917
- 1. **Attempt authentication immediately** if `auth` is provided in `connect`
918
- 2. **Only fall back to negotiation** if `auth` is absent or fails with a recoverable error
919
-
920
- ```typescript
921
- // Federation connect - enhanced auth handling
922
- interface MAPFederationConnectParams {
923
- systemId: string;
924
- systemInfo: { name: string; version: string; endpoint: string };
925
- protocolVersion: string;
926
-
927
- /**
928
- * Authentication credentials.
929
- * If provided, server SHOULD attempt auth immediately (single-request flow).
930
- * If omitted, server returns authRequired (negotiation flow).
931
- */
932
- auth?: MAPFederationAuth;
933
-
934
- /**
935
- * NEW: Pre-fetched server auth requirements.
936
- * Client can include this to signal it already knows the server's
937
- * requirements (e.g., from .well-known discovery document).
938
- */
939
- authContext?: {
940
- /** How the client learned the server's auth requirements */
941
- source: "well-known" | "cached" | "configured";
942
-
943
- /** The server's nonce/challenge (if pre-fetched) */
944
- challenge?: string;
945
- };
946
-
947
- exposure: MAPFederationExposure;
948
- }
949
- ```
950
-
951
- #### Response Variants
952
-
953
- ```typescript
954
- // Success (single-request auth completed)
955
- {
956
- "jsonrpc": "2.0",
957
- "id": 1,
958
- "result": {
959
- "sessionId": "fed_session_01ABC",
960
- "principal": {
961
- "id": "did:wba:alpha.example.com:gateway",
962
- "claims": { ... }
963
- },
964
- "capabilities": { ... }
965
- }
966
- }
967
-
968
- // Auth required (fallback to negotiation)
969
- {
970
- "jsonrpc": "2.0",
971
- "id": 1,
972
- "result": {
973
- "authRequired": {
974
- "methods": ["did:wba", "bearer", "mtls"],
975
- "challenge": "nonce_abc123", // For did:wba proof
976
- "required": true
977
- }
978
- }
979
- }
980
-
981
- // Auth failed (non-recoverable)
982
- {
983
- "jsonrpc": "2.0",
984
- "id": 1,
985
- "error": {
986
- "code": -32001,
987
- "message": "Authentication failed",
988
- "data": {
989
- "authError": { "code": "invalid_credentials", "message": "..." }
990
- }
991
- }
992
- }
993
- ```
994
-
995
- #### Challenge Pre-Fetch via Discovery
996
-
997
- The `.well-known/map-federation` endpoint (Proposal 2) can include a challenge endpoint:
998
-
999
- ```json
1000
- {
1001
- "systemId": "beta-prod",
1002
- "authMethods": ["did:wba", "bearer"],
1003
- "challengeEndpoint": "https://beta.example.com/map/federation/challenge"
1004
- }
1005
- ```
1006
-
1007
- A peer can pre-fetch a challenge nonce before connecting, enabling `did:wba` single-request auth:
1008
-
1009
- ```
1010
- 1. GET /.well-known/map-federation → learn auth methods
1011
- 2. GET /map/federation/challenge → get nonce
1012
- 3. Connect with auth { did, proof: sign(nonce) } → single RTT
1013
- ```
1014
-
1015
- ### Backwards Compatibility
1016
-
1017
- This is fully backwards-compatible:
1018
- - If `auth` is omitted from `connect`, the existing negotiation flow is used
1019
- - If a server doesn't support single-request auth, it can ignore `auth` and return `authRequired`
1020
- - The `authContext` field is optional and informational
1021
-
1022
- ### Performance Impact
1023
-
1024
- | Scenario | Current | Proposed |
1025
- |----------|---------|----------|
1026
- | Federation connect (known auth) | 2 RTT | 1 RTT |
1027
- | Federation connect (unknown auth) | 2 RTT | 2 RTT (unchanged) |
1028
- | Reconnection after outage | 2 RTT | 1 RTT |
1029
- | Bulk federation (10 peers) | 20 RTT | 10 RTT |
1030
-
1031
- For cross-region federation (e.g., 100ms RTT), saving 1 RTT per connection saves 1 second across 10 peers.
1032
-
1033
- ### Impacts
1034
-
1035
- - **`docs/07-federation.md`**: Document single-request auth flow
1036
- - **`docs/09-authentication.md`**: Add federation-specific single-request pattern
1037
- - **`ts-sdk/src/federation/`**: Update connection logic to attempt auth in connect
1038
- - **`ts-sdk/src/server/federation/`**: Handle auth in connect handler
1039
-
1040
- ---
1041
-
1042
- ## Implementation Priority
1043
-
1044
- | # | Proposal | Status | Effort | Value |
1045
- |---|----------|--------|--------|-------|
1046
- | 6 | Single-Request Federation Auth | 🟡 Important | Low | High — immediate perf win, backwards-compatible |
1047
- | 1 | `did:wba` Decentralized Identity | 🟡 Important | High | High — unlocks scalable federation |
1048
- | 3 | Linked Capability Documents | 🟡 Important | Medium | High — enables dynamic orchestration |
1049
- | 2 | `.well-known` Discovery | 🟢 Deferrable | Low | Medium — zero-config federation |
1050
- | 5 | Multi-Identity Privacy | 🟢 Deferrable | Medium | Medium — important for cross-org scenarios |
1051
- | 4 | Meta-Protocol Negotiation | 🟢 Deferrable | Medium | Low-Medium — future-proofing |
1052
-
1053
- ### Recommended Approach
1054
-
1055
- **Phase 1** (v1.0): Proposals 6 and 3
1056
- - Single-request auth is a small, backwards-compatible optimization
1057
- - Capability descriptors improve the existing agent model without changing wire protocol
1058
-
1059
- **Phase 2** (v1.x): Proposals 1 and 2
1060
- - `did:wba` and `.well-known` discovery work together as a federation identity stack
1061
- - Requires more design work and dependency on W3C DID standards
1062
-
1063
- **Phase 3** (v2.0 consideration): Proposals 4 and 5
1064
- - Meta-protocol negotiation and multi-identity are forward-looking
1065
- - May benefit from real-world federation deployment experience before finalizing
1066
-
1067
- ---
1068
-
1069
- ## References
1070
-
1071
- - [W3C CG AI Agent Protocol (ANP)](https://github.com/w3c-cg/ai-agent-protocol) — Source of inspiration
1072
- - [DID Core Specification](https://www.w3.org/TR/did-core/) — W3C standard for Decentralized Identifiers
1073
- - [did:wba Method Specification](https://github.com/anthropics/anp-spec) — Web-Based Agent DID method
1074
- - [RFC 8615](https://tools.ietf.org/html/rfc8615) — Well-Known URIs
1075
- - MAP Specs:
1076
- - `docs/07-federation.md` — Current federation design
1077
- - `docs/09-authentication.md` — Current auth design
1078
- - `docs/06-visibility-permissions.md` — Visibility/permission model
1079
- - `docs/01-open-questions.md` — Open questions (Q6.2 addressed here)