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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CLAUDE.md +4 -0
- package/README.md +65 -0
- package/package.json +4 -4
- package/src/__tests__/config.test.mjs +128 -0
- package/src/__tests__/index.test.mjs +2 -0
- package/src/__tests__/paths.test.mjs +13 -0
- package/src/config.mjs +46 -16
- package/src/index.mjs +3 -1
- package/src/map-connection.mjs +3 -3
- package/src/paths.mjs +5 -0
- package/src/sidecar-client.mjs +2 -2
- package/references/multi-agent-protocol/.sudocode/issues.jsonl +0 -120
- package/references/multi-agent-protocol/.sudocode/specs.jsonl +0 -15
- package/references/multi-agent-protocol/LICENSE +0 -21
- package/references/multi-agent-protocol/README.md +0 -113
- package/references/multi-agent-protocol/docs/00-design-specification.md +0 -496
- package/references/multi-agent-protocol/docs/01-open-questions.md +0 -1050
- package/references/multi-agent-protocol/docs/02-wire-protocol.md +0 -296
- package/references/multi-agent-protocol/docs/03-streaming-semantics.md +0 -252
- package/references/multi-agent-protocol/docs/04-error-handling.md +0 -231
- package/references/multi-agent-protocol/docs/05-connection-model.md +0 -244
- package/references/multi-agent-protocol/docs/06-visibility-permissions.md +0 -243
- package/references/multi-agent-protocol/docs/07-federation.md +0 -335
- package/references/multi-agent-protocol/docs/08-macro-agent-migration.md +0 -253
- package/references/multi-agent-protocol/docs/09-authentication.md +0 -748
- package/references/multi-agent-protocol/docs/10-environment-awareness.md +0 -242
- package/references/multi-agent-protocol/docs/10-mail-protocol.md +0 -553
- package/references/multi-agent-protocol/docs/11-anp-inspired-improvements.md +0 -1079
- package/references/multi-agent-protocol/docs/11-trajectory-protocol.md +0 -292
- package/references/multi-agent-protocol/docs/12-anp-implementation-plan.md +0 -641
- package/references/multi-agent-protocol/docs/agent-iam-integration.md +0 -877
- package/references/multi-agent-protocol/docs/agentic-mesh-integration-draft.md +0 -459
- package/references/multi-agent-protocol/docs/git-transport-draft.md +0 -251
- package/references/multi-agent-protocol/docs-site/Gemfile +0 -22
- package/references/multi-agent-protocol/docs-site/README.md +0 -82
- package/references/multi-agent-protocol/docs-site/_config.yml +0 -91
- package/references/multi-agent-protocol/docs-site/_includes/head_custom.html +0 -20
- package/references/multi-agent-protocol/docs-site/_sass/color_schemes/map.scss +0 -42
- package/references/multi-agent-protocol/docs-site/_sass/custom/custom.scss +0 -34
- package/references/multi-agent-protocol/docs-site/examples/full-integration.md +0 -510
- package/references/multi-agent-protocol/docs-site/examples/index.md +0 -138
- package/references/multi-agent-protocol/docs-site/examples/simple-chat.md +0 -282
- package/references/multi-agent-protocol/docs-site/examples/task-queue.md +0 -399
- package/references/multi-agent-protocol/docs-site/getting-started/index.md +0 -98
- package/references/multi-agent-protocol/docs-site/getting-started/installation.md +0 -219
- package/references/multi-agent-protocol/docs-site/getting-started/overview.md +0 -172
- package/references/multi-agent-protocol/docs-site/getting-started/quickstart.md +0 -237
- package/references/multi-agent-protocol/docs-site/index.md +0 -136
- package/references/multi-agent-protocol/docs-site/protocol/authentication.md +0 -391
- package/references/multi-agent-protocol/docs-site/protocol/connection-model.md +0 -376
- package/references/multi-agent-protocol/docs-site/protocol/design.md +0 -284
- package/references/multi-agent-protocol/docs-site/protocol/error-handling.md +0 -312
- package/references/multi-agent-protocol/docs-site/protocol/federation.md +0 -449
- package/references/multi-agent-protocol/docs-site/protocol/index.md +0 -129
- package/references/multi-agent-protocol/docs-site/protocol/permissions.md +0 -398
- package/references/multi-agent-protocol/docs-site/protocol/streaming.md +0 -353
- package/references/multi-agent-protocol/docs-site/protocol/wire-protocol.md +0 -369
- package/references/multi-agent-protocol/docs-site/sdk/api/agent.md +0 -357
- package/references/multi-agent-protocol/docs-site/sdk/api/client.md +0 -380
- package/references/multi-agent-protocol/docs-site/sdk/api/index.md +0 -62
- package/references/multi-agent-protocol/docs-site/sdk/api/server.md +0 -453
- package/references/multi-agent-protocol/docs-site/sdk/api/types.md +0 -468
- package/references/multi-agent-protocol/docs-site/sdk/guides/agent.md +0 -375
- package/references/multi-agent-protocol/docs-site/sdk/guides/authentication.md +0 -405
- package/references/multi-agent-protocol/docs-site/sdk/guides/client.md +0 -352
- package/references/multi-agent-protocol/docs-site/sdk/guides/index.md +0 -89
- package/references/multi-agent-protocol/docs-site/sdk/guides/server.md +0 -360
- package/references/multi-agent-protocol/docs-site/sdk/guides/testing.md +0 -446
- package/references/multi-agent-protocol/docs-site/sdk/guides/transports.md +0 -363
- package/references/multi-agent-protocol/docs-site/sdk/index.md +0 -206
- package/references/multi-agent-protocol/package-lock.json +0 -4230
- package/references/multi-agent-protocol/package.json +0 -56
- package/references/multi-agent-protocol/schema/meta.json +0 -584
- package/references/multi-agent-protocol/schema/schema.json +0 -3067
- package/references/openhive/.claude/settings.json +0 -6
- package/references/openhive/.dockerignore +0 -54
- package/references/openhive/.github/workflows/docker.yml +0 -52
- package/references/openhive/.sudocode/issues.jsonl +0 -24
- package/references/openhive/.sudocode/specs.jsonl +0 -4
- package/references/openhive/CLAUDE.md +0 -88
- package/references/openhive/Dockerfile +0 -105
- package/references/openhive/README.md +0 -745
- package/references/openhive/bin/openhive.js +0 -6
- package/references/openhive/cloudbuild.yaml +0 -80
- package/references/openhive/deploy/cloud-run.sh +0 -106
- package/references/openhive/deploy/openhive.env.example +0 -80
- package/references/openhive/deploy/openhive.service +0 -91
- package/references/openhive/docker-compose.yml +0 -67
- package/references/openhive/docker-entrypoint.sh +0 -117
- package/references/openhive/docs/API_MIGRATION.md +0 -176
- package/references/openhive/docs/DEPLOYMENT.md +0 -847
- package/references/openhive/docs/DESIGN_v1.md +0 -489
- package/references/openhive/docs/DESIGN_v2.md +0 -564
- package/references/openhive/docs/HEADSCALE_HOSTING_SPEC.md +0 -513
- package/references/openhive/docs/HIVE_SYNC_DESIGN.md +0 -2362
- package/references/openhive/docs/HIVE_SYNC_IMPLEMENTATION_PLAN.md +0 -1169
- package/references/openhive/docs/HOSTING.md +0 -601
- package/references/openhive/docs/IMPLEMENTATION_PLAN.md +0 -428
- package/references/openhive/docs/LOCAL_SETUP.md +0 -506
- package/references/openhive/docs/MACRO_AGENT_ATLAS_EXTENSION.md +0 -351
- package/references/openhive/docs/MEMORY_BANK_SYNC_SPEC.md +0 -909
- package/references/openhive/docs/PLAN_v1.md +0 -471
- package/references/openhive/docs/PLAN_v2.md +0 -623
- package/references/openhive/docs/WEBSOCKET.md +0 -267
- package/references/openhive/docs/openswarm-bootstrap-token-spec.md +0 -240
- package/references/openhive/ecosystem.config.cjs +0 -76
- package/references/openhive/fly.toml +0 -63
- package/references/openhive/package-lock.json +0 -17640
- package/references/openhive/package.json +0 -128
- package/references/openhive/packages/openhive-types/package-lock.json +0 -1473
- package/references/openhive/packages/openhive-types/package.json +0 -42
- package/references/openhive/packages/openhive-types/src/index.ts +0 -36
- package/references/openhive/packages/openhive-types/src/map-coordination.ts +0 -92
- package/references/openhive/packages/openhive-types/src/map-session-sync.ts +0 -50
- package/references/openhive/packages/openhive-types/src/map-sync.ts +0 -68
- package/references/openhive/packages/openhive-types/tsconfig.json +0 -15
- package/references/openhive/packages/openhive-types/tsconfig.tsbuildinfo +0 -1
- package/references/openhive/packages/openhive-types/tsup.config.ts +0 -12
- package/references/openhive/railway.json +0 -13
- package/references/openhive/railway.toml +0 -24
- package/references/openhive/render.yaml +0 -51
- package/references/openhive/src/__tests__/auth.test.ts +0 -148
- package/references/openhive/src/__tests__/bridge/credentials.test.ts +0 -65
- package/references/openhive/src/__tests__/bridge/dal.test.ts +0 -279
- package/references/openhive/src/__tests__/bridge/inbound.test.ts +0 -349
- package/references/openhive/src/__tests__/bridge/manager.test.ts +0 -419
- package/references/openhive/src/__tests__/bridge/mentions.test.ts +0 -83
- package/references/openhive/src/__tests__/bridge/outbound.test.ts +0 -209
- package/references/openhive/src/__tests__/bridge/slack-adapter.test.ts +0 -276
- package/references/openhive/src/__tests__/cli.test.ts +0 -342
- package/references/openhive/src/__tests__/config.test.ts +0 -205
- package/references/openhive/src/__tests__/coordination/coordination.test.ts +0 -1072
- package/references/openhive/src/__tests__/coordination/cross-instance.test.ts +0 -540
- package/references/openhive/src/__tests__/coordination/e2e.test.ts +0 -780
- package/references/openhive/src/__tests__/data-dir.test.ts +0 -332
- package/references/openhive/src/__tests__/db.test.ts +0 -258
- package/references/openhive/src/__tests__/discovery.test.ts +0 -288
- package/references/openhive/src/__tests__/events/dal.test.ts +0 -371
- package/references/openhive/src/__tests__/events/dispatch.test.ts +0 -202
- package/references/openhive/src/__tests__/events/e2e.test.ts +0 -528
- package/references/openhive/src/__tests__/events/normalizers.test.ts +0 -263
- package/references/openhive/src/__tests__/events/router.test.ts +0 -314
- package/references/openhive/src/__tests__/events/routes.test.ts +0 -407
- package/references/openhive/src/__tests__/follows.test.ts +0 -328
- package/references/openhive/src/__tests__/helpers/test-dirs.ts +0 -44
- package/references/openhive/src/__tests__/ingest-keys.test.ts +0 -925
- package/references/openhive/src/__tests__/map/sync-client-content.test.ts +0 -288
- package/references/openhive/src/__tests__/map/sync-client.test.ts +0 -500
- package/references/openhive/src/__tests__/map/sync-listener.test.ts +0 -504
- package/references/openhive/src/__tests__/middleware/hostname-guard.test.ts +0 -73
- package/references/openhive/src/__tests__/migrations.test.ts +0 -260
- package/references/openhive/src/__tests__/opentasks/client.test.ts +0 -497
- package/references/openhive/src/__tests__/opentasks/discovery.test.ts +0 -283
- package/references/openhive/src/__tests__/opentasks/e2e.test.ts +0 -767
- package/references/openhive/src/__tests__/routes/agents.test.ts +0 -417
- package/references/openhive/src/__tests__/routes/opentasks-content.test.ts +0 -493
- package/references/openhive/src/__tests__/routes/resource-content.test.ts +0 -1741
- package/references/openhive/src/__tests__/sessions/adapters.test.ts +0 -524
- package/references/openhive/src/__tests__/sessions/routes.test.ts +0 -1053
- package/references/openhive/src/__tests__/sessions/storage.test.ts +0 -545
- package/references/openhive/src/__tests__/sessions/trajectory-checkpoints.test.ts +0 -349
- package/references/openhive/src/__tests__/sessions/trajectory-routes.test.ts +0 -290
- package/references/openhive/src/__tests__/swarm/config.test.ts +0 -125
- package/references/openhive/src/__tests__/swarm/credentials.test.ts +0 -254
- package/references/openhive/src/__tests__/swarm/dal.test.ts +0 -290
- package/references/openhive/src/__tests__/swarm/e2e.test.ts +0 -827
- package/references/openhive/src/__tests__/swarm/fixtures/exit-immediately.js +0 -3
- package/references/openhive/src/__tests__/swarm/fixtures/map-server.js +0 -147
- package/references/openhive/src/__tests__/swarm/fixtures/sleep-server.js +0 -52
- package/references/openhive/src/__tests__/swarm/local-provider.test.ts +0 -279
- package/references/openhive/src/__tests__/swarm/manager.test.ts +0 -305
- package/references/openhive/src/__tests__/swarm/routes.test.ts +0 -396
- package/references/openhive/src/__tests__/swarm/workspace.test.ts +0 -257
- package/references/openhive/src/__tests__/swarmhub/client.test.ts +0 -324
- package/references/openhive/src/__tests__/swarmhub/config.test.ts +0 -213
- package/references/openhive/src/__tests__/swarmhub/connector.test.ts +0 -581
- package/references/openhive/src/__tests__/swarmhub/routes.test.ts +0 -639
- package/references/openhive/src/__tests__/swarmhub/slack-client.test.ts +0 -164
- package/references/openhive/src/__tests__/swarmhub/slack-connector.test.ts +0 -164
- package/references/openhive/src/__tests__/swarmhub/slack-routes.test.ts +0 -373
- package/references/openhive/src/__tests__/swarmhub/webhook-handler.test.ts +0 -295
- package/references/openhive/src/__tests__/sync/resource-sync.test.ts +0 -1418
- package/references/openhive/src/__tests__/sync/sync.test.ts +0 -800
- package/references/openhive/src/api/index.ts +0 -65
- package/references/openhive/src/api/middleware/auth.ts +0 -227
- package/references/openhive/src/api/middleware/hostname-guard.ts +0 -38
- package/references/openhive/src/api/routes/admin.ts +0 -366
- package/references/openhive/src/api/routes/agents.ts +0 -223
- package/references/openhive/src/api/routes/auth.ts +0 -164
- package/references/openhive/src/api/routes/bridges.ts +0 -384
- package/references/openhive/src/api/routes/comments.ts +0 -294
- package/references/openhive/src/api/routes/coordination.ts +0 -312
- package/references/openhive/src/api/routes/events.ts +0 -158
- package/references/openhive/src/api/routes/federation.ts +0 -367
- package/references/openhive/src/api/routes/feed.ts +0 -212
- package/references/openhive/src/api/routes/hives.ts +0 -264
- package/references/openhive/src/api/routes/map.ts +0 -674
- package/references/openhive/src/api/routes/memory-banks.ts +0 -971
- package/references/openhive/src/api/routes/posts.ts +0 -342
- package/references/openhive/src/api/routes/resource-content.ts +0 -727
- package/references/openhive/src/api/routes/resources.ts +0 -1013
- package/references/openhive/src/api/routes/search.ts +0 -45
- package/references/openhive/src/api/routes/sessions.ts +0 -1187
- package/references/openhive/src/api/routes/swarm-hosting.ts +0 -313
- package/references/openhive/src/api/routes/sync-protocol.ts +0 -168
- package/references/openhive/src/api/routes/sync.ts +0 -279
- package/references/openhive/src/api/routes/uploads.ts +0 -174
- package/references/openhive/src/api/routes/webhooks.ts +0 -603
- package/references/openhive/src/api/schemas/agents.ts +0 -26
- package/references/openhive/src/api/schemas/comments.ts +0 -22
- package/references/openhive/src/api/schemas/hives.ts +0 -33
- package/references/openhive/src/api/schemas/posts.ts +0 -37
- package/references/openhive/src/api/schemas/sync.ts +0 -56
- package/references/openhive/src/auth/index.ts +0 -2
- package/references/openhive/src/auth/jwks.ts +0 -58
- package/references/openhive/src/bridge/adapters/slack.ts +0 -306
- package/references/openhive/src/bridge/credentials.ts +0 -72
- package/references/openhive/src/bridge/inbound.ts +0 -288
- package/references/openhive/src/bridge/index.ts +0 -42
- package/references/openhive/src/bridge/manager.ts +0 -425
- package/references/openhive/src/bridge/mentions.ts +0 -42
- package/references/openhive/src/bridge/outbound.ts +0 -103
- package/references/openhive/src/bridge/schema.ts +0 -82
- package/references/openhive/src/bridge/types.ts +0 -238
- package/references/openhive/src/cli/network.ts +0 -480
- package/references/openhive/src/cli.ts +0 -620
- package/references/openhive/src/config.ts +0 -611
- package/references/openhive/src/coordination/index.ts +0 -43
- package/references/openhive/src/coordination/listener.ts +0 -92
- package/references/openhive/src/coordination/schema.ts +0 -79
- package/references/openhive/src/coordination/service.ts +0 -233
- package/references/openhive/src/coordination/types.ts +0 -177
- package/references/openhive/src/data-dir.ts +0 -105
- package/references/openhive/src/db/adapters/index.ts +0 -21
- package/references/openhive/src/db/adapters/postgres.ts +0 -310
- package/references/openhive/src/db/adapters/sqlite.ts +0 -56
- package/references/openhive/src/db/adapters/types.ts +0 -65
- package/references/openhive/src/db/dal/agents.ts +0 -430
- package/references/openhive/src/db/dal/bridge.ts +0 -336
- package/references/openhive/src/db/dal/comments.ts +0 -213
- package/references/openhive/src/db/dal/coordination.ts +0 -361
- package/references/openhive/src/db/dal/events.ts +0 -381
- package/references/openhive/src/db/dal/follows.ts +0 -96
- package/references/openhive/src/db/dal/hives.ts +0 -198
- package/references/openhive/src/db/dal/ingest-keys.ts +0 -176
- package/references/openhive/src/db/dal/instances.ts +0 -196
- package/references/openhive/src/db/dal/invites.ts +0 -123
- package/references/openhive/src/db/dal/map.ts +0 -750
- package/references/openhive/src/db/dal/posts.ts +0 -274
- package/references/openhive/src/db/dal/remote-agents.ts +0 -56
- package/references/openhive/src/db/dal/search.ts +0 -238
- package/references/openhive/src/db/dal/sync-events.ts +0 -160
- package/references/openhive/src/db/dal/sync-groups.ts +0 -100
- package/references/openhive/src/db/dal/sync-peer-configs.ts +0 -216
- package/references/openhive/src/db/dal/sync-peers.ts +0 -145
- package/references/openhive/src/db/dal/syncable-resources.ts +0 -888
- package/references/openhive/src/db/dal/trajectory-checkpoints.ts +0 -291
- package/references/openhive/src/db/dal/uploads.ts +0 -124
- package/references/openhive/src/db/dal/votes.ts +0 -124
- package/references/openhive/src/db/index.ts +0 -293
- package/references/openhive/src/db/providers/index.ts +0 -75
- package/references/openhive/src/db/providers/postgres.ts +0 -529
- package/references/openhive/src/db/providers/sqlite.ts +0 -1383
- package/references/openhive/src/db/providers/turso.ts +0 -1360
- package/references/openhive/src/db/providers/types.ts +0 -516
- package/references/openhive/src/db/schema.ts +0 -641
- package/references/openhive/src/discovery/index.ts +0 -403
- package/references/openhive/src/events/dispatch.ts +0 -106
- package/references/openhive/src/events/index.ts +0 -17
- package/references/openhive/src/events/normalizers/github.ts +0 -133
- package/references/openhive/src/events/normalizers/index.ts +0 -62
- package/references/openhive/src/events/normalizers/slack.ts +0 -50
- package/references/openhive/src/events/router.ts +0 -156
- package/references/openhive/src/events/schema.ts +0 -66
- package/references/openhive/src/events/types.ts +0 -130
- package/references/openhive/src/federation/index.ts +0 -1
- package/references/openhive/src/federation/service.ts +0 -776
- package/references/openhive/src/headscale/client.ts +0 -256
- package/references/openhive/src/headscale/config.ts +0 -212
- package/references/openhive/src/headscale/index.ts +0 -23
- package/references/openhive/src/headscale/manager.ts +0 -249
- package/references/openhive/src/headscale/sync.ts +0 -272
- package/references/openhive/src/headscale/types.ts +0 -231
- package/references/openhive/src/index.ts +0 -225
- package/references/openhive/src/map/client-entry.ts +0 -26
- package/references/openhive/src/map/index.ts +0 -76
- package/references/openhive/src/map/schema.ts +0 -119
- package/references/openhive/src/map/service.ts +0 -323
- package/references/openhive/src/map/sync-client.ts +0 -696
- package/references/openhive/src/map/sync-listener.ts +0 -409
- package/references/openhive/src/map/types.ts +0 -290
- package/references/openhive/src/network/factory.ts +0 -118
- package/references/openhive/src/network/headscale-provider.ts +0 -437
- package/references/openhive/src/network/index.ts +0 -43
- package/references/openhive/src/network/tailscale-client.ts +0 -289
- package/references/openhive/src/network/tailscale-provider.ts +0 -287
- package/references/openhive/src/network/types.ts +0 -178
- package/references/openhive/src/opentasks-client/client.ts +0 -374
- package/references/openhive/src/opentasks-client/index.ts +0 -7
- package/references/openhive/src/realtime/index.ts +0 -282
- package/references/openhive/src/server.ts +0 -1069
- package/references/openhive/src/services/email.ts +0 -177
- package/references/openhive/src/services/sitemap.ts +0 -135
- package/references/openhive/src/sessions/adapters/claude.ts +0 -466
- package/references/openhive/src/sessions/adapters/codex.ts +0 -265
- package/references/openhive/src/sessions/adapters/index.ts +0 -263
- package/references/openhive/src/sessions/adapters/raw.ts +0 -144
- package/references/openhive/src/sessions/adapters/types.ts +0 -83
- package/references/openhive/src/sessions/index.ts +0 -50
- package/references/openhive/src/sessions/storage/adapters/gcs.ts +0 -277
- package/references/openhive/src/sessions/storage/adapters/local.ts +0 -240
- package/references/openhive/src/sessions/storage/adapters/s3.ts +0 -321
- package/references/openhive/src/sessions/storage/index.ts +0 -231
- package/references/openhive/src/sessions/storage/types.ts +0 -189
- package/references/openhive/src/sessions/types.ts +0 -415
- package/references/openhive/src/shared/types/index.ts +0 -45
- package/references/openhive/src/shared/types/map-coordination.ts +0 -92
- package/references/openhive/src/shared/types/map-session-sync.ts +0 -170
- package/references/openhive/src/shared/types/map-sync.ts +0 -68
- package/references/openhive/src/skill.ts +0 -203
- package/references/openhive/src/storage/adapters/local.ts +0 -169
- package/references/openhive/src/storage/adapters/s3.ts +0 -195
- package/references/openhive/src/storage/index.ts +0 -64
- package/references/openhive/src/storage/types.ts +0 -69
- package/references/openhive/src/swarm/credentials.ts +0 -98
- package/references/openhive/src/swarm/dal.ts +0 -206
- package/references/openhive/src/swarm/index.ts +0 -28
- package/references/openhive/src/swarm/manager.ts +0 -917
- package/references/openhive/src/swarm/providers/local.ts +0 -338
- package/references/openhive/src/swarm/providers/sandboxed-local.ts +0 -478
- package/references/openhive/src/swarm/providers/workspace.ts +0 -52
- package/references/openhive/src/swarm/schema.ts +0 -43
- package/references/openhive/src/swarm/types.ts +0 -333
- package/references/openhive/src/swarmhub/client.ts +0 -279
- package/references/openhive/src/swarmhub/connector.ts +0 -463
- package/references/openhive/src/swarmhub/index.ts +0 -43
- package/references/openhive/src/swarmhub/routes.ts +0 -296
- package/references/openhive/src/swarmhub/types.ts +0 -213
- package/references/openhive/src/swarmhub/webhook-handler.ts +0 -126
- package/references/openhive/src/sync/compaction.ts +0 -193
- package/references/openhive/src/sync/coordination-hooks.ts +0 -154
- package/references/openhive/src/sync/crypto.ts +0 -79
- package/references/openhive/src/sync/gossip.ts +0 -136
- package/references/openhive/src/sync/hooks.ts +0 -202
- package/references/openhive/src/sync/materializer-repo.ts +0 -256
- package/references/openhive/src/sync/materializer.ts +0 -682
- package/references/openhive/src/sync/middleware.ts +0 -140
- package/references/openhive/src/sync/peer-resolver.ts +0 -157
- package/references/openhive/src/sync/resource-hooks.ts +0 -161
- package/references/openhive/src/sync/schema.ts +0 -158
- package/references/openhive/src/sync/service.ts +0 -990
- package/references/openhive/src/sync/types.ts +0 -369
- package/references/openhive/src/terminal/index.ts +0 -4
- package/references/openhive/src/terminal/pty-manager.ts +0 -337
- package/references/openhive/src/terminal/resolve-tui.ts +0 -44
- package/references/openhive/src/terminal/terminal-ws.ts +0 -251
- package/references/openhive/src/types.ts +0 -442
- package/references/openhive/src/utils/git-remote.ts +0 -329
- package/references/openhive/src/web/App.tsx +0 -77
- package/references/openhive/src/web/__tests__/components/dashboard/RecentActivity.test.tsx +0 -77
- package/references/openhive/src/web/__tests__/components/dashboard/StatsOverview.test.tsx +0 -62
- package/references/openhive/src/web/__tests__/components/dashboard/SwarmStatusSummary.test.tsx +0 -122
- package/references/openhive/src/web/__tests__/components/dashboard/SyncResourcesStatus.test.tsx +0 -104
- package/references/openhive/src/web/__tests__/components/layout/Sidebar.test.tsx +0 -110
- package/references/openhive/src/web/__tests__/components/swarm/StatusBadges.test.tsx +0 -65
- package/references/openhive/src/web/__tests__/components/terminal/query-responses.test.ts +0 -143
- package/references/openhive/src/web/__tests__/components/terminal/terminal-mouse.test.ts +0 -509
- package/references/openhive/src/web/__tests__/hooks/useEventsApi.test.ts +0 -378
- package/references/openhive/src/web/__tests__/pages/Dashboard.test.tsx +0 -57
- package/references/openhive/src/web/__tests__/pages/Events.test.tsx +0 -886
- package/references/openhive/src/web/__tests__/pages/Explore.test.tsx +0 -63
- package/references/openhive/src/web/__tests__/routing.test.tsx +0 -79
- package/references/openhive/src/web/__tests__/setup.ts +0 -37
- package/references/openhive/src/web/__tests__/stores/dashboard.test.ts +0 -49
- package/references/openhive/src/web/components/common/AgentBadge.tsx +0 -58
- package/references/openhive/src/web/components/common/Avatar.tsx +0 -78
- package/references/openhive/src/web/components/common/ErrorBoundary.tsx +0 -76
- package/references/openhive/src/web/components/common/Highlight.tsx +0 -79
- package/references/openhive/src/web/components/common/ImageUpload.tsx +0 -209
- package/references/openhive/src/web/components/common/LoadingSpinner.tsx +0 -37
- package/references/openhive/src/web/components/common/Logo.tsx +0 -21
- package/references/openhive/src/web/components/common/Markdown.tsx +0 -53
- package/references/openhive/src/web/components/common/ProtectedRoute.tsx +0 -18
- package/references/openhive/src/web/components/common/ThemeToggle.tsx +0 -38
- package/references/openhive/src/web/components/common/TimeAgo.tsx +0 -17
- package/references/openhive/src/web/components/common/Toast.tsx +0 -70
- package/references/openhive/src/web/components/common/VoteButtons.tsx +0 -100
- package/references/openhive/src/web/components/dashboard/RecentActivity.tsx +0 -100
- package/references/openhive/src/web/components/dashboard/StatsOverview.tsx +0 -40
- package/references/openhive/src/web/components/dashboard/SwarmStatusSummary.tsx +0 -89
- package/references/openhive/src/web/components/dashboard/SyncResourcesStatus.tsx +0 -81
- package/references/openhive/src/web/components/feed/FeedControls.tsx +0 -38
- package/references/openhive/src/web/components/feed/NewPostsIndicator.tsx +0 -75
- package/references/openhive/src/web/components/feed/PostCard.tsx +0 -129
- package/references/openhive/src/web/components/feed/PostList.tsx +0 -83
- package/references/openhive/src/web/components/layout/Footer.tsx +0 -5
- package/references/openhive/src/web/components/layout/Layout.tsx +0 -29
- package/references/openhive/src/web/components/layout/Sidebar.tsx +0 -348
- package/references/openhive/src/web/components/post/CommentForm.tsx +0 -59
- package/references/openhive/src/web/components/post/CommentTree.tsx +0 -145
- package/references/openhive/src/web/components/resources/MemoryBrowser.tsx +0 -208
- package/references/openhive/src/web/components/resources/OpenTasksSummary.tsx +0 -138
- package/references/openhive/src/web/components/resources/SkillBrowser.tsx +0 -284
- package/references/openhive/src/web/components/swarm/StatusBadges.tsx +0 -56
- package/references/openhive/src/web/components/terminal/TerminalPanel.tsx +0 -485
- package/references/openhive/src/web/components/terminal/index.ts +0 -2
- package/references/openhive/src/web/components/terminal/query-responses.ts +0 -70
- package/references/openhive/src/web/components/terminal/terminal-mouse.ts +0 -222
- package/references/openhive/src/web/hooks/useApi.ts +0 -740
- package/references/openhive/src/web/hooks/useDocumentTitle.ts +0 -49
- package/references/openhive/src/web/hooks/useInfiniteScroll.ts +0 -58
- package/references/openhive/src/web/hooks/useRealtimeUpdates.ts +0 -154
- package/references/openhive/src/web/hooks/useWebSocket.ts +0 -225
- package/references/openhive/src/web/index.html +0 -73
- package/references/openhive/src/web/lib/api.ts +0 -518
- package/references/openhive/src/web/main.tsx +0 -32
- package/references/openhive/src/web/pages/About.tsx +0 -131
- package/references/openhive/src/web/pages/Agent.tsx +0 -130
- package/references/openhive/src/web/pages/Agents.tsx +0 -69
- package/references/openhive/src/web/pages/AuthCallback.tsx +0 -75
- package/references/openhive/src/web/pages/Dashboard.tsx +0 -41
- package/references/openhive/src/web/pages/Events.tsx +0 -1025
- package/references/openhive/src/web/pages/Explore.tsx +0 -43
- package/references/openhive/src/web/pages/Hive.tsx +0 -134
- package/references/openhive/src/web/pages/Hives.tsx +0 -64
- package/references/openhive/src/web/pages/Home.tsx +0 -43
- package/references/openhive/src/web/pages/Login.tsx +0 -122
- package/references/openhive/src/web/pages/Post.tsx +0 -216
- package/references/openhive/src/web/pages/ResourceDetail.tsx +0 -426
- package/references/openhive/src/web/pages/Resources.tsx +0 -276
- package/references/openhive/src/web/pages/Search.tsx +0 -234
- package/references/openhive/src/web/pages/SessionDetail.tsx +0 -703
- package/references/openhive/src/web/pages/Sessions.tsx +0 -129
- package/references/openhive/src/web/pages/Settings.tsx +0 -826
- package/references/openhive/src/web/pages/SwarmCraft.tsx +0 -16
- package/references/openhive/src/web/pages/Swarms.tsx +0 -981
- package/references/openhive/src/web/pages/Terminal.tsx +0 -69
- package/references/openhive/src/web/postcss.config.js +0 -5
- package/references/openhive/src/web/public/favicon.svg +0 -11
- package/references/openhive/src/web/public/manifest.json +0 -21
- package/references/openhive/src/web/stores/auth.ts +0 -207
- package/references/openhive/src/web/stores/dashboard.ts +0 -23
- package/references/openhive/src/web/stores/realtime.ts +0 -90
- package/references/openhive/src/web/stores/theme.ts +0 -70
- package/references/openhive/src/web/stores/toast.ts +0 -63
- package/references/openhive/src/web/styles/globals.css +0 -503
- package/references/openhive/src/web/sw.ts +0 -228
- package/references/openhive/src/web/utils/serviceWorker.ts +0 -86
- package/references/openhive/src/web/vite.config.ts +0 -81
- package/references/openhive/tsconfig.json +0 -32
- package/references/openhive/tsup.config.ts +0 -17
- package/references/openhive/vitest.config.ts +0 -30
- package/references/openhive/vitest.web.config.ts +0 -20
- package/references/opentasks/.claude/settings.json +0 -6
- package/references/opentasks/.claude-plugin/plugin.json +0 -20
- package/references/opentasks/.lintstagedrc.json +0 -4
- package/references/opentasks/.prettierignore +0 -4
- package/references/opentasks/.prettierrc.json +0 -11
- package/references/opentasks/.sudocode/issues.jsonl +0 -89
- package/references/opentasks/.sudocode/specs.jsonl +0 -24
- package/references/opentasks/README.md +0 -401
- package/references/opentasks/docs/ARCHITECTURE.md +0 -841
- package/references/opentasks/docs/DESIGN.md +0 -689
- package/references/opentasks/docs/INTERFACE.md +0 -670
- package/references/opentasks/docs/PERSISTENCE.md +0 -1638
- package/references/opentasks/docs/PROVIDERS.md +0 -1412
- package/references/opentasks/docs/SCHEMA.md +0 -815
- package/references/opentasks/docs/TESTING.md +0 -1081
- package/references/opentasks/eslint.config.js +0 -58
- package/references/opentasks/package-lock.json +0 -4348
- package/references/opentasks/package.json +0 -81
- package/references/opentasks/skills/opentasks/SKILL.md +0 -139
- package/references/opentasks/skills/opentasks/dependency-management.md +0 -119
- package/references/opentasks/skills/opentasks/feedback-and-review.md +0 -100
- package/references/opentasks/skills/opentasks/linking-external-data.md +0 -103
- package/references/opentasks/skills/opentasks/spec-to-implementation.md +0 -98
- package/references/opentasks/src/__tests__/cli-tools.test.ts +0 -800
- package/references/opentasks/src/__tests__/cli.test.ts +0 -97
- package/references/opentasks/src/__tests__/p1-p3-gaps.test.ts +0 -635
- package/references/opentasks/src/cli.ts +0 -929
- package/references/opentasks/src/client/__tests__/client-crud.test.ts +0 -546
- package/references/opentasks/src/client/__tests__/client.test.ts +0 -658
- package/references/opentasks/src/client/__tests__/socket-discovery.test.ts +0 -122
- package/references/opentasks/src/client/client.ts +0 -560
- package/references/opentasks/src/client/index.ts +0 -32
- package/references/opentasks/src/config/__tests__/defaults.test.ts +0 -66
- package/references/opentasks/src/config/__tests__/env.test.ts +0 -155
- package/references/opentasks/src/config/__tests__/index.test.ts +0 -148
- package/references/opentasks/src/config/__tests__/loader.test.ts +0 -173
- package/references/opentasks/src/config/__tests__/merge.test.ts +0 -121
- package/references/opentasks/src/config/__tests__/schema.test.ts +0 -446
- package/references/opentasks/src/config/defaults.ts +0 -18
- package/references/opentasks/src/config/env.ts +0 -170
- package/references/opentasks/src/config/errors.ts +0 -33
- package/references/opentasks/src/config/index.ts +0 -63
- package/references/opentasks/src/config/loader.ts +0 -90
- package/references/opentasks/src/config/merge.ts +0 -64
- package/references/opentasks/src/config/schema.ts +0 -767
- package/references/opentasks/src/core/__tests__/conditional-redirects.test.ts +0 -116
- package/references/opentasks/src/core/__tests__/connections.test.ts +0 -194
- package/references/opentasks/src/core/__tests__/hash.test.ts +0 -161
- package/references/opentasks/src/core/__tests__/id.test.ts +0 -175
- package/references/opentasks/src/core/__tests__/init.test.ts +0 -115
- package/references/opentasks/src/core/__tests__/location.test.ts +0 -94
- package/references/opentasks/src/core/__tests__/merge-driver.test.ts +0 -300
- package/references/opentasks/src/core/__tests__/redirects.test.ts +0 -169
- package/references/opentasks/src/core/__tests__/resolve-location-target.test.ts +0 -468
- package/references/opentasks/src/core/__tests__/uri.test.ts +0 -228
- package/references/opentasks/src/core/__tests__/worktree.test.ts +0 -160
- package/references/opentasks/src/core/conditional-redirects.ts +0 -100
- package/references/opentasks/src/core/connections.ts +0 -217
- package/references/opentasks/src/core/discover.ts +0 -195
- package/references/opentasks/src/core/hash.ts +0 -74
- package/references/opentasks/src/core/id.ts +0 -174
- package/references/opentasks/src/core/index.ts +0 -108
- package/references/opentasks/src/core/init.ts +0 -66
- package/references/opentasks/src/core/location.ts +0 -139
- package/references/opentasks/src/core/merge-driver.ts +0 -280
- package/references/opentasks/src/core/redirects.ts +0 -182
- package/references/opentasks/src/core/uri.ts +0 -270
- package/references/opentasks/src/core/worktree.ts +0 -504
- package/references/opentasks/src/daemon/__tests__/e2e-live-agent.test.ts +0 -344
- package/references/opentasks/src/daemon/__tests__/e2e-session-pipeline.test.ts +0 -447
- package/references/opentasks/src/daemon/__tests__/e2e-watch.test.ts +0 -279
- package/references/opentasks/src/daemon/__tests__/entire-linker.test.ts +0 -1074
- package/references/opentasks/src/daemon/__tests__/entire-watcher.test.ts +0 -659
- package/references/opentasks/src/daemon/__tests__/flush.test.ts +0 -306
- package/references/opentasks/src/daemon/__tests__/integration.test.ts +0 -338
- package/references/opentasks/src/daemon/__tests__/ipc.test.ts +0 -406
- package/references/opentasks/src/daemon/__tests__/lifecycle.test.ts +0 -378
- package/references/opentasks/src/daemon/__tests__/lock.test.ts +0 -240
- package/references/opentasks/src/daemon/__tests__/methods/graph.test.ts +0 -372
- package/references/opentasks/src/daemon/__tests__/methods/provider.test.ts +0 -238
- package/references/opentasks/src/daemon/__tests__/methods/tools.test.ts +0 -690
- package/references/opentasks/src/daemon/__tests__/multi-location.test.ts +0 -945
- package/references/opentasks/src/daemon/__tests__/registry.test.ts +0 -268
- package/references/opentasks/src/daemon/__tests__/watcher.test.ts +0 -329
- package/references/opentasks/src/daemon/entire-linker.ts +0 -615
- package/references/opentasks/src/daemon/entire-watcher.ts +0 -415
- package/references/opentasks/src/daemon/factory.ts +0 -133
- package/references/opentasks/src/daemon/flush.ts +0 -168
- package/references/opentasks/src/daemon/index.ts +0 -120
- package/references/opentasks/src/daemon/ipc.ts +0 -491
- package/references/opentasks/src/daemon/lifecycle.ts +0 -1106
- package/references/opentasks/src/daemon/location-state.ts +0 -481
- package/references/opentasks/src/daemon/lock.ts +0 -168
- package/references/opentasks/src/daemon/methods/__tests__/graph.test.ts +0 -359
- package/references/opentasks/src/daemon/methods/__tests__/provider.test.ts +0 -227
- package/references/opentasks/src/daemon/methods/__tests__/tools.test.ts +0 -360
- package/references/opentasks/src/daemon/methods/__tests__/watch.test.ts +0 -656
- package/references/opentasks/src/daemon/methods/archive.ts +0 -193
- package/references/opentasks/src/daemon/methods/graph.ts +0 -274
- package/references/opentasks/src/daemon/methods/lifecycle.ts +0 -112
- package/references/opentasks/src/daemon/methods/location.ts +0 -118
- package/references/opentasks/src/daemon/methods/provider.ts +0 -159
- package/references/opentasks/src/daemon/methods/tools.ts +0 -221
- package/references/opentasks/src/daemon/methods/watch.ts +0 -206
- package/references/opentasks/src/daemon/registry.ts +0 -244
- package/references/opentasks/src/daemon/types.ts +0 -163
- package/references/opentasks/src/daemon/watcher.ts +0 -248
- package/references/opentasks/src/entire/__tests__/agent-registry.test.ts +0 -127
- package/references/opentasks/src/entire/__tests__/claude-generator.test.ts +0 -49
- package/references/opentasks/src/entire/__tests__/commit-msg.test.ts +0 -89
- package/references/opentasks/src/entire/__tests__/cursor-agent.test.ts +0 -224
- package/references/opentasks/src/entire/__tests__/flush-sentinel.test.ts +0 -93
- package/references/opentasks/src/entire/__tests__/gemini-agent.test.ts +0 -375
- package/references/opentasks/src/entire/__tests__/git-hooks.test.ts +0 -85
- package/references/opentasks/src/entire/__tests__/hook-managers.test.ts +0 -128
- package/references/opentasks/src/entire/__tests__/opencode-agent.test.ts +0 -329
- package/references/opentasks/src/entire/__tests__/redaction.test.ts +0 -143
- package/references/opentasks/src/entire/__tests__/session-store.test.ts +0 -83
- package/references/opentasks/src/entire/__tests__/summarize.test.ts +0 -346
- package/references/opentasks/src/entire/__tests__/transcript-timestamp.test.ts +0 -127
- package/references/opentasks/src/entire/__tests__/types.test.ts +0 -112
- package/references/opentasks/src/entire/__tests__/utils.test.ts +0 -296
- package/references/opentasks/src/entire/__tests__/validation.test.ts +0 -103
- package/references/opentasks/src/entire/__tests__/worktree.test.ts +0 -66
- package/references/opentasks/src/entire/agent/registry.ts +0 -143
- package/references/opentasks/src/entire/agent/session-types.ts +0 -117
- package/references/opentasks/src/entire/agent/types.ts +0 -217
- package/references/opentasks/src/entire/commands/clean.ts +0 -134
- package/references/opentasks/src/entire/commands/disable.ts +0 -85
- package/references/opentasks/src/entire/commands/doctor.ts +0 -152
- package/references/opentasks/src/entire/commands/enable.ts +0 -149
- package/references/opentasks/src/entire/commands/explain.ts +0 -271
- package/references/opentasks/src/entire/commands/reset.ts +0 -105
- package/references/opentasks/src/entire/commands/resume.ts +0 -194
- package/references/opentasks/src/entire/commands/rewind.ts +0 -204
- package/references/opentasks/src/entire/commands/status.ts +0 -150
- package/references/opentasks/src/entire/config.ts +0 -153
- package/references/opentasks/src/entire/git-operations.ts +0 -485
- package/references/opentasks/src/entire/hooks/git-hooks.ts +0 -171
- package/references/opentasks/src/entire/hooks/lifecycle.ts +0 -224
- package/references/opentasks/src/entire/index.ts +0 -644
- package/references/opentasks/src/entire/security/redaction.ts +0 -263
- package/references/opentasks/src/entire/session/state-machine.ts +0 -463
- package/references/opentasks/src/entire/store/checkpoint-store.ts +0 -489
- package/references/opentasks/src/entire/store/native-store.ts +0 -178
- package/references/opentasks/src/entire/store/provider-types.ts +0 -99
- package/references/opentasks/src/entire/store/session-store.ts +0 -233
- package/references/opentasks/src/entire/strategy/attribution.ts +0 -300
- package/references/opentasks/src/entire/strategy/common.ts +0 -222
- package/references/opentasks/src/entire/strategy/content-overlap.ts +0 -242
- package/references/opentasks/src/entire/strategy/manual-commit.ts +0 -1008
- package/references/opentasks/src/entire/strategy/types.ts +0 -285
- package/references/opentasks/src/entire/summarize/claude-generator.ts +0 -119
- package/references/opentasks/src/entire/summarize/summarize.ts +0 -432
- package/references/opentasks/src/entire/types.ts +0 -408
- package/references/opentasks/src/entire/utils/chunk-files.ts +0 -49
- package/references/opentasks/src/entire/utils/commit-message.ts +0 -65
- package/references/opentasks/src/entire/utils/detect-agent.ts +0 -36
- package/references/opentasks/src/entire/utils/hook-managers.ts +0 -118
- package/references/opentasks/src/entire/utils/ide-tags.ts +0 -32
- package/references/opentasks/src/entire/utils/paths.ts +0 -59
- package/references/opentasks/src/entire/utils/preview-rewind.ts +0 -86
- package/references/opentasks/src/entire/utils/rewind-conflict.ts +0 -121
- package/references/opentasks/src/entire/utils/shadow-branch.ts +0 -113
- package/references/opentasks/src/entire/utils/string-utils.ts +0 -46
- package/references/opentasks/src/entire/utils/todo-extract.ts +0 -193
- package/references/opentasks/src/entire/utils/trailers.ts +0 -190
- package/references/opentasks/src/entire/utils/transcript-parse.ts +0 -177
- package/references/opentasks/src/entire/utils/transcript-timestamp.ts +0 -61
- package/references/opentasks/src/entire/utils/tree-ops.ts +0 -227
- package/references/opentasks/src/entire/utils/tty.ts +0 -72
- package/references/opentasks/src/entire/utils/validation.ts +0 -67
- package/references/opentasks/src/entire/utils/worktree.ts +0 -58
- package/references/opentasks/src/graph/EdgeTypeRegistry.ts +0 -330
- package/references/opentasks/src/graph/FederatedGraph.ts +0 -796
- package/references/opentasks/src/graph/GraphologyAdapter.ts +0 -374
- package/references/opentasks/src/graph/HydratingFederatedGraph.ts +0 -533
- package/references/opentasks/src/graph/__tests__/EdgeTypeRegistry.test.ts +0 -263
- package/references/opentasks/src/graph/__tests__/FederatedGraph.test.ts +0 -821
- package/references/opentasks/src/graph/__tests__/GraphologyAdapter.test.ts +0 -408
- package/references/opentasks/src/graph/__tests__/HydratingFederatedGraph.test.ts +0 -735
- package/references/opentasks/src/graph/__tests__/debounce.test.ts +0 -276
- package/references/opentasks/src/graph/__tests__/e2e-store-roundtrip.test.ts +0 -349
- package/references/opentasks/src/graph/__tests__/edge-cases.test.ts +0 -595
- package/references/opentasks/src/graph/__tests__/expansion.test.ts +0 -304
- package/references/opentasks/src/graph/__tests__/git-graph-syncer.test.ts +0 -572
- package/references/opentasks/src/graph/__tests__/provider-store.test.ts +0 -1091
- package/references/opentasks/src/graph/__tests__/query.test.ts +0 -991
- package/references/opentasks/src/graph/__tests__/store.test.ts +0 -998
- package/references/opentasks/src/graph/__tests__/sync.test.ts +0 -178
- package/references/opentasks/src/graph/__tests__/validation.test.ts +0 -657
- package/references/opentasks/src/graph/coordination.ts +0 -454
- package/references/opentasks/src/graph/debounce.ts +0 -154
- package/references/opentasks/src/graph/expansion.ts +0 -364
- package/references/opentasks/src/graph/git-graph-syncer.ts +0 -321
- package/references/opentasks/src/graph/history.ts +0 -438
- package/references/opentasks/src/graph/index.ts +0 -145
- package/references/opentasks/src/graph/provider-store.ts +0 -1077
- package/references/opentasks/src/graph/query.ts +0 -651
- package/references/opentasks/src/graph/store.ts +0 -861
- package/references/opentasks/src/graph/sync.ts +0 -116
- package/references/opentasks/src/graph/types.ts +0 -420
- package/references/opentasks/src/graph/validation.ts +0 -520
- package/references/opentasks/src/index.ts +0 -270
- package/references/opentasks/src/materialization/CLAUDE.md +0 -88
- package/references/opentasks/src/materialization/README.md +0 -187
- package/references/opentasks/src/materialization/__tests__/archive-methods.test.ts +0 -194
- package/references/opentasks/src/materialization/__tests__/archiver.test.ts +0 -528
- package/references/opentasks/src/materialization/__tests__/config.test.ts +0 -123
- package/references/opentasks/src/materialization/__tests__/git-remote-store.test.ts +0 -533
- package/references/opentasks/src/materialization/__tests__/graph-id.test.ts +0 -82
- package/references/opentasks/src/materialization/__tests__/http-remote-store.test.ts +0 -263
- package/references/opentasks/src/materialization/__tests__/materialize-before-archive.test.ts +0 -246
- package/references/opentasks/src/materialization/__tests__/remote-store-factory.test.ts +0 -152
- package/references/opentasks/src/materialization/__tests__/snapshot.test.ts +0 -209
- package/references/opentasks/src/materialization/archiver.ts +0 -318
- package/references/opentasks/src/materialization/git-archive-store.ts +0 -568
- package/references/opentasks/src/materialization/git-remote-store.ts +0 -551
- package/references/opentasks/src/materialization/graph-id.ts +0 -173
- package/references/opentasks/src/materialization/http-remote-store.ts +0 -190
- package/references/opentasks/src/materialization/index.ts +0 -62
- package/references/opentasks/src/materialization/remote-store-factory.ts +0 -55
- package/references/opentasks/src/materialization/snapshot.ts +0 -230
- package/references/opentasks/src/materialization/types.ts +0 -410
- package/references/opentasks/src/providers/__tests__/beads.test.ts +0 -752
- package/references/opentasks/src/providers/__tests__/claude-tasks.test.ts +0 -485
- package/references/opentasks/src/providers/__tests__/entire-e2e.test.ts +0 -692
- package/references/opentasks/src/providers/__tests__/entire-sessionlog-e2e.test.ts +0 -1113
- package/references/opentasks/src/providers/__tests__/entire.test.ts +0 -1016
- package/references/opentasks/src/providers/__tests__/from-config.test.ts +0 -183
- package/references/opentasks/src/providers/__tests__/global.test.ts +0 -515
- package/references/opentasks/src/providers/__tests__/materialization.test.ts +0 -567
- package/references/opentasks/src/providers/__tests__/native.test.ts +0 -693
- package/references/opentasks/src/providers/__tests__/registry.test.ts +0 -232
- package/references/opentasks/src/providers/beads.ts +0 -1155
- package/references/opentasks/src/providers/claude-tasks.ts +0 -402
- package/references/opentasks/src/providers/entire.ts +0 -608
- package/references/opentasks/src/providers/from-config.ts +0 -210
- package/references/opentasks/src/providers/global.ts +0 -460
- package/references/opentasks/src/providers/index.ts +0 -147
- package/references/opentasks/src/providers/location.ts +0 -237
- package/references/opentasks/src/providers/materialization.ts +0 -346
- package/references/opentasks/src/providers/native.ts +0 -725
- package/references/opentasks/src/providers/registry.ts +0 -114
- package/references/opentasks/src/providers/sudocode.ts +0 -1292
- package/references/opentasks/src/providers/sync.ts +0 -485
- package/references/opentasks/src/providers/traits/RelationshipQueryable.ts +0 -169
- package/references/opentasks/src/providers/traits/TaskManageable.ts +0 -211
- package/references/opentasks/src/providers/traits/Watchable.ts +0 -260
- package/references/opentasks/src/providers/traits/__tests__/RelationshipQueryable.test.ts +0 -217
- package/references/opentasks/src/providers/traits/__tests__/TaskManageable.test.ts +0 -241
- package/references/opentasks/src/providers/traits/index.ts +0 -42
- package/references/opentasks/src/providers/types.ts +0 -439
- package/references/opentasks/src/schema/__tests__/validation.test.ts +0 -283
- package/references/opentasks/src/schema/base.ts +0 -88
- package/references/opentasks/src/schema/edges.ts +0 -78
- package/references/opentasks/src/schema/index.ts +0 -37
- package/references/opentasks/src/schema/nodes.ts +0 -119
- package/references/opentasks/src/schema/storage.ts +0 -130
- package/references/opentasks/src/schema/validation.ts +0 -209
- package/references/opentasks/src/storage/__tests__/atomic-write.test.ts +0 -227
- package/references/opentasks/src/storage/__tests__/file-lock.test.ts +0 -120
- package/references/opentasks/src/storage/__tests__/jsonl.test.ts +0 -267
- package/references/opentasks/src/storage/__tests__/locked-writer.test.ts +0 -134
- package/references/opentasks/src/storage/__tests__/sqlite.test.ts +0 -572
- package/references/opentasks/src/storage/atomic-write.ts +0 -86
- package/references/opentasks/src/storage/file-lock.ts +0 -215
- package/references/opentasks/src/storage/index.ts +0 -24
- package/references/opentasks/src/storage/interface.ts +0 -289
- package/references/opentasks/src/storage/jsonl.ts +0 -264
- package/references/opentasks/src/storage/locked-writer.ts +0 -140
- package/references/opentasks/src/storage/sqlite-schema.ts +0 -177
- package/references/opentasks/src/storage/sqlite.ts +0 -791
- package/references/opentasks/src/tools/__tests__/annotate.test.ts +0 -381
- package/references/opentasks/src/tools/__tests__/link.test.ts +0 -299
- package/references/opentasks/src/tools/__tests__/query.test.ts +0 -350
- package/references/opentasks/src/tools/__tests__/task.test.ts +0 -218
- package/references/opentasks/src/tools/annotate.ts +0 -277
- package/references/opentasks/src/tools/index.ts +0 -57
- package/references/opentasks/src/tools/link.ts +0 -163
- package/references/opentasks/src/tools/query.ts +0 -468
- package/references/opentasks/src/tools/task.ts +0 -213
- package/references/opentasks/src/tools/types.ts +0 -451
- package/references/opentasks/src/tracking/__tests__/claude-tool-categorizer.test.ts +0 -223
- package/references/opentasks/src/tracking/__tests__/transcript-extractor.test.ts +0 -262
- package/references/opentasks/src/tracking/claude-tool-categorizer.ts +0 -155
- package/references/opentasks/src/tracking/index.ts +0 -32
- package/references/opentasks/src/tracking/skill-tracker.ts +0 -322
- package/references/opentasks/src/tracking/transcript-extractor.ts +0 -225
- package/references/opentasks/tests/e2e/helpers/assertions.ts +0 -211
- package/references/opentasks/tests/e2e/helpers/beads-helpers.ts +0 -487
- package/references/opentasks/tests/e2e/helpers/fixtures.ts +0 -236
- package/references/opentasks/tests/e2e/helpers/index.ts +0 -122
- package/references/opentasks/tests/e2e/helpers/sudocode-helpers.ts +0 -341
- package/references/opentasks/tests/e2e/helpers/system-setup.ts +0 -504
- package/references/opentasks/tests/e2e/helpers/test-agent.ts +0 -504
- package/references/opentasks/tests/e2e/infrastructure.e2e.test.ts +0 -521
- package/references/opentasks/tests/e2e/skill-tracking.e2e.test.ts +0 -625
- package/references/opentasks/tests/e2e/workflows/feedback-loop.e2e.test.ts +0 -279
- package/references/opentasks/tests/e2e/workflows/multi-agent.e2e.test.ts +0 -304
- package/references/opentasks/tests/e2e/workflows/provider-sync/background-sync.e2e.test.ts +0 -292
- package/references/opentasks/tests/e2e/workflows/provider-sync/beads-provider-compat.e2e.test.ts +0 -249
- package/references/opentasks/tests/e2e/workflows/provider-sync/cross-provider-edges.e2e.test.ts +0 -407
- package/references/opentasks/tests/e2e/workflows/provider-sync/federated-ready.e2e.test.ts +0 -504
- package/references/opentasks/tests/e2e/workflows/provider-sync/hydration.e2e.test.ts +0 -340
- package/references/opentasks/tests/e2e/workflows/provider-sync/materialization.e2e.test.ts +0 -370
- package/references/opentasks/tests/e2e/workflows/provider-sync/sudocode-provider-compat.e2e.test.ts +0 -683
- package/references/opentasks/tests/e2e/workflows/provider-sync/watchable-beads.e2e.test.ts +0 -573
- package/references/opentasks/tests/e2e/workflows/spec-driven.e2e.test.ts +0 -244
- package/references/opentasks/tests/e2e/worktree-location.e2e.test.ts +0 -699
- package/references/opentasks/tests/integration/daemon/helpers.ts +0 -147
- package/references/opentasks/tests/integration/daemon/ipc.integration.test.ts +0 -343
- package/references/opentasks/tests/integration/daemon/lifecycle.integration.test.ts +0 -407
- package/references/opentasks/tests/integration/graph/federated-graph.integration.test.ts +0 -660
- package/references/opentasks/tests/integration/helpers/flags.ts +0 -28
- package/references/opentasks/tests/integration/helpers/index.ts +0 -47
- package/references/opentasks/tests/integration/helpers/process.ts +0 -133
- package/references/opentasks/tests/integration/helpers/temp.ts +0 -105
- package/references/opentasks/tests/integration/helpers/wait.ts +0 -133
- package/references/opentasks/tests/integration/helpers.test.ts +0 -120
- package/references/opentasks/tests/integration/providers/beads-task-manageable.integration.test.ts +0 -450
- package/references/opentasks/tests/integration/providers/beads.integration.test.ts +0 -388
- package/references/opentasks/tests/integration/providers/native-task-manageable.integration.test.ts +0 -667
- package/references/opentasks/tests/integration/providers/sudocode-task-manageable.integration.test.ts +0 -406
- package/references/opentasks/tests/integration/providers/sudocode.integration.test.ts +0 -342
- package/references/opentasks/tests/integration/storage/jsonl-durability.integration.test.ts +0 -390
- package/references/opentasks/tests/integration/storage/sqlite-durability.integration.test.ts +0 -527
- package/references/opentasks/tests/integration/worktree/redirect-location-resolution.integration.test.ts +0 -578
- package/references/opentasks/tests/integration/worktree/worktree-flow.integration.test.ts +0 -656
- package/references/opentasks/tsconfig.json +0 -18
- package/references/opentasks/vitest.config.ts +0 -27
- package/references/opentasks/vitest.e2e.config.ts +0 -35
- package/references/opentasks/vitest.integration.config.ts +0 -19
- package/references/openteams/.claude/settings.json +0 -6
- package/references/openteams/CLAUDE.md +0 -98
- package/references/openteams/README.md +0 -508
- package/references/openteams/SKILL.md +0 -198
- package/references/openteams/design.md +0 -250
- package/references/openteams/docs/visual-editor-design.md +0 -1225
- package/references/openteams/editor/index.html +0 -15
- package/references/openteams/editor/package.json +0 -39
- package/references/openteams/editor/src/App.tsx +0 -48
- package/references/openteams/editor/src/components/canvas/Canvas.tsx +0 -131
- package/references/openteams/editor/src/components/canvas/QuickAddMenu.tsx +0 -134
- package/references/openteams/editor/src/components/edges/PeerRouteEdge.tsx +0 -82
- package/references/openteams/editor/src/components/edges/SignalFlowEdge.tsx +0 -77
- package/references/openteams/editor/src/components/edges/SpawnEdge.tsx +0 -54
- package/references/openteams/editor/src/components/inspector/ChannelInspector.tsx +0 -158
- package/references/openteams/editor/src/components/inspector/EdgeInspector.tsx +0 -168
- package/references/openteams/editor/src/components/inspector/Inspector.tsx +0 -46
- package/references/openteams/editor/src/components/inspector/RoleInspector.tsx +0 -508
- package/references/openteams/editor/src/components/inspector/TeamInspector.tsx +0 -126
- package/references/openteams/editor/src/components/nodes/ChannelNode.tsx +0 -103
- package/references/openteams/editor/src/components/nodes/RoleNode.tsx +0 -157
- package/references/openteams/editor/src/components/nodes/node-styles.ts +0 -101
- package/references/openteams/editor/src/components/sidebar/Sidebar.tsx +0 -227
- package/references/openteams/editor/src/components/toolbar/ExportModal.tsx +0 -110
- package/references/openteams/editor/src/components/toolbar/ImportModal.tsx +0 -139
- package/references/openteams/editor/src/components/toolbar/Toolbar.tsx +0 -190
- package/references/openteams/editor/src/hooks/use-autosave.ts +0 -126
- package/references/openteams/editor/src/hooks/use-keyboard.ts +0 -106
- package/references/openteams/editor/src/hooks/use-validation.ts +0 -45
- package/references/openteams/editor/src/index.css +0 -245
- package/references/openteams/editor/src/lib/auto-layout.ts +0 -51
- package/references/openteams/editor/src/lib/bundled-templates.ts +0 -42
- package/references/openteams/editor/src/lib/compiler.ts +0 -75
- package/references/openteams/editor/src/lib/load-template.ts +0 -103
- package/references/openteams/editor/src/lib/rebuild-edges.ts +0 -104
- package/references/openteams/editor/src/lib/serializer.ts +0 -408
- package/references/openteams/editor/src/lib/signal-catalog.ts +0 -50
- package/references/openteams/editor/src/lib/validator.ts +0 -172
- package/references/openteams/editor/src/main.tsx +0 -10
- package/references/openteams/editor/src/stores/canvas-store.ts +0 -80
- package/references/openteams/editor/src/stores/config-store.ts +0 -243
- package/references/openteams/editor/src/stores/history-store.ts +0 -143
- package/references/openteams/editor/src/stores/theme-store.ts +0 -66
- package/references/openteams/editor/src/stores/ui-store.ts +0 -46
- package/references/openteams/editor/src/stores/validation-store.ts +0 -27
- package/references/openteams/editor/src/types/editor.ts +0 -74
- package/references/openteams/editor/src/vite-env.d.ts +0 -1
- package/references/openteams/editor/tests/compiler.test.ts +0 -151
- package/references/openteams/editor/tests/e2e-add-remove.test.ts +0 -386
- package/references/openteams/editor/tests/e2e-components.test.tsx +0 -424
- package/references/openteams/editor/tests/e2e-export-roundtrip.test.ts +0 -299
- package/references/openteams/editor/tests/e2e-template-load.test.ts +0 -204
- package/references/openteams/editor/tests/e2e-ui-store.test.ts +0 -126
- package/references/openteams/editor/tests/e2e-undo-redo.test.ts +0 -203
- package/references/openteams/editor/tests/e2e-validation.test.ts +0 -307
- package/references/openteams/editor/tests/serializer.test.ts +0 -142
- package/references/openteams/editor/tests/setup.ts +0 -52
- package/references/openteams/editor/tests/validator.test.ts +0 -92
- package/references/openteams/editor/tsconfig.json +0 -21
- package/references/openteams/editor/tsconfig.tsbuildinfo +0 -1
- package/references/openteams/editor/vite.config.ts +0 -28
- package/references/openteams/examples/bmad-method/prompts/analyst/ROLE.md +0 -16
- package/references/openteams/examples/bmad-method/prompts/analyst/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/architect/ROLE.md +0 -24
- package/references/openteams/examples/bmad-method/prompts/architect/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/developer/ROLE.md +0 -25
- package/references/openteams/examples/bmad-method/prompts/developer/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/master/ROLE.md +0 -21
- package/references/openteams/examples/bmad-method/prompts/master/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/pm/ROLE.md +0 -20
- package/references/openteams/examples/bmad-method/prompts/pm/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/qa/ROLE.md +0 -17
- package/references/openteams/examples/bmad-method/prompts/qa/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/quick-flow-dev/ROLE.md +0 -23
- package/references/openteams/examples/bmad-method/prompts/quick-flow-dev/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/scrum-master/ROLE.md +0 -27
- package/references/openteams/examples/bmad-method/prompts/scrum-master/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/tech-writer/ROLE.md +0 -21
- package/references/openteams/examples/bmad-method/prompts/tech-writer/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/prompts/ux-designer/ROLE.md +0 -16
- package/references/openteams/examples/bmad-method/prompts/ux-designer/SOUL.md +0 -5
- package/references/openteams/examples/bmad-method/roles/analyst.yaml +0 -9
- package/references/openteams/examples/bmad-method/roles/architect.yaml +0 -9
- package/references/openteams/examples/bmad-method/roles/developer.yaml +0 -8
- package/references/openteams/examples/bmad-method/roles/master.yaml +0 -8
- package/references/openteams/examples/bmad-method/roles/pm.yaml +0 -9
- package/references/openteams/examples/bmad-method/roles/qa.yaml +0 -8
- package/references/openteams/examples/bmad-method/roles/quick-flow-dev.yaml +0 -8
- package/references/openteams/examples/bmad-method/roles/scrum-master.yaml +0 -9
- package/references/openteams/examples/bmad-method/roles/tech-writer.yaml +0 -8
- package/references/openteams/examples/bmad-method/roles/ux-designer.yaml +0 -8
- package/references/openteams/examples/bmad-method/team.yaml +0 -161
- package/references/openteams/examples/bug-fix-pipeline/roles/fixer.yaml +0 -9
- package/references/openteams/examples/bug-fix-pipeline/roles/investigator.yaml +0 -8
- package/references/openteams/examples/bug-fix-pipeline/roles/pr-creator.yaml +0 -6
- package/references/openteams/examples/bug-fix-pipeline/roles/triager.yaml +0 -7
- package/references/openteams/examples/bug-fix-pipeline/roles/verifier.yaml +0 -8
- package/references/openteams/examples/bug-fix-pipeline/team.yaml +0 -88
- package/references/openteams/examples/codebase-migration/roles/assessor.yaml +0 -7
- package/references/openteams/examples/codebase-migration/roles/migrator.yaml +0 -9
- package/references/openteams/examples/codebase-migration/roles/planner.yaml +0 -5
- package/references/openteams/examples/codebase-migration/roles/test-extractor.yaml +0 -9
- package/references/openteams/examples/codebase-migration/roles/validator.yaml +0 -7
- package/references/openteams/examples/codebase-migration/team.yaml +0 -81
- package/references/openteams/examples/docs-sync/roles/adr-writer.yaml +0 -7
- package/references/openteams/examples/docs-sync/roles/api-doc-writer.yaml +0 -7
- package/references/openteams/examples/docs-sync/roles/change-detector.yaml +0 -7
- package/references/openteams/examples/docs-sync/roles/doc-reviewer.yaml +0 -7
- package/references/openteams/examples/docs-sync/roles/guide-writer.yaml +0 -7
- package/references/openteams/examples/docs-sync/team.yaml +0 -84
- package/references/openteams/examples/gsd/prompts/codebase-mapper/ROLE.md +0 -17
- package/references/openteams/examples/gsd/prompts/codebase-mapper/SOUL.md +0 -5
- package/references/openteams/examples/gsd/prompts/debugger/ROLE.md +0 -25
- package/references/openteams/examples/gsd/prompts/debugger/SOUL.md +0 -5
- package/references/openteams/examples/gsd/prompts/executor/ROLE.md +0 -34
- package/references/openteams/examples/gsd/prompts/executor/SOUL.md +0 -5
- package/references/openteams/examples/gsd/prompts/integration-checker/ROLE.md +0 -18
- package/references/openteams/examples/gsd/prompts/integration-checker/SOUL.md +0 -3
- package/references/openteams/examples/gsd/prompts/orchestrator/ROLE.md +0 -42
- package/references/openteams/examples/gsd/prompts/orchestrator/SOUL.md +0 -5
- package/references/openteams/examples/gsd/prompts/phase-researcher/ROLE.md +0 -15
- package/references/openteams/examples/gsd/prompts/phase-researcher/SOUL.md +0 -3
- package/references/openteams/examples/gsd/prompts/plan-checker/ROLE.md +0 -17
- package/references/openteams/examples/gsd/prompts/plan-checker/SOUL.md +0 -3
- package/references/openteams/examples/gsd/prompts/planner/ROLE.md +0 -28
- package/references/openteams/examples/gsd/prompts/planner/SOUL.md +0 -5
- package/references/openteams/examples/gsd/prompts/project-researcher/ROLE.md +0 -16
- package/references/openteams/examples/gsd/prompts/project-researcher/SOUL.md +0 -3
- package/references/openteams/examples/gsd/prompts/research-synthesizer/ROLE.md +0 -13
- package/references/openteams/examples/gsd/prompts/research-synthesizer/SOUL.md +0 -3
- package/references/openteams/examples/gsd/prompts/roadmapper/ROLE.md +0 -14
- package/references/openteams/examples/gsd/prompts/roadmapper/SOUL.md +0 -3
- package/references/openteams/examples/gsd/prompts/verifier/ROLE.md +0 -19
- package/references/openteams/examples/gsd/prompts/verifier/SOUL.md +0 -5
- package/references/openteams/examples/gsd/roles/codebase-mapper.yaml +0 -8
- package/references/openteams/examples/gsd/roles/debugger.yaml +0 -8
- package/references/openteams/examples/gsd/roles/executor.yaml +0 -8
- package/references/openteams/examples/gsd/roles/integration-checker.yaml +0 -8
- package/references/openteams/examples/gsd/roles/orchestrator.yaml +0 -9
- package/references/openteams/examples/gsd/roles/phase-researcher.yaml +0 -7
- package/references/openteams/examples/gsd/roles/plan-checker.yaml +0 -8
- package/references/openteams/examples/gsd/roles/planner.yaml +0 -8
- package/references/openteams/examples/gsd/roles/project-researcher.yaml +0 -8
- package/references/openteams/examples/gsd/roles/research-synthesizer.yaml +0 -7
- package/references/openteams/examples/gsd/roles/roadmapper.yaml +0 -7
- package/references/openteams/examples/gsd/roles/verifier.yaml +0 -8
- package/references/openteams/examples/gsd/team.yaml +0 -154
- package/references/openteams/examples/incident-response/roles/communicator.yaml +0 -5
- package/references/openteams/examples/incident-response/roles/fix-proposer.yaml +0 -7
- package/references/openteams/examples/incident-response/roles/incident-triager.yaml +0 -8
- package/references/openteams/examples/incident-response/roles/investigator.yaml +0 -8
- package/references/openteams/examples/incident-response/team.yaml +0 -68
- package/references/openteams/examples/pr-review-checks/roles/code-reviewer.yaml +0 -7
- package/references/openteams/examples/pr-review-checks/roles/security-scanner.yaml +0 -6
- package/references/openteams/examples/pr-review-checks/roles/summarizer.yaml +0 -6
- package/references/openteams/examples/pr-review-checks/roles/test-checker.yaml +0 -8
- package/references/openteams/examples/pr-review-checks/team.yaml +0 -64
- package/references/openteams/examples/security-audit/roles/code-analyzer.yaml +0 -6
- package/references/openteams/examples/security-audit/roles/dep-scanner.yaml +0 -7
- package/references/openteams/examples/security-audit/roles/fixer.yaml +0 -9
- package/references/openteams/examples/security-audit/roles/pr-creator.yaml +0 -6
- package/references/openteams/examples/security-audit/roles/prioritizer.yaml +0 -6
- package/references/openteams/examples/security-audit/roles/secrets-scanner.yaml +0 -6
- package/references/openteams/examples/security-audit/roles/verifier.yaml +0 -8
- package/references/openteams/examples/security-audit/team.yaml +0 -102
- package/references/openteams/media/banner.png +0 -0
- package/references/openteams/media/editor.png +0 -0
- package/references/openteams/package-lock.json +0 -4804
- package/references/openteams/package.json +0 -58
- package/references/openteams/schema/role.schema.json +0 -147
- package/references/openteams/schema/team.schema.json +0 -311
- package/references/openteams/src/cli/editor.ts +0 -170
- package/references/openteams/src/cli/generate.test.ts +0 -191
- package/references/openteams/src/cli/generate.ts +0 -220
- package/references/openteams/src/cli/prompt-utils.ts +0 -42
- package/references/openteams/src/cli/template.test.ts +0 -365
- package/references/openteams/src/cli/template.ts +0 -205
- package/references/openteams/src/cli.ts +0 -22
- package/references/openteams/src/generators/agent-prompt-generator.test.ts +0 -332
- package/references/openteams/src/generators/agent-prompt-generator.ts +0 -527
- package/references/openteams/src/generators/package-generator.test.ts +0 -129
- package/references/openteams/src/generators/package-generator.ts +0 -102
- package/references/openteams/src/generators/skill-generator.test.ts +0 -246
- package/references/openteams/src/generators/skill-generator.ts +0 -388
- package/references/openteams/src/index.ts +0 -84
- package/references/openteams/src/template/builtins.test.ts +0 -74
- package/references/openteams/src/template/builtins.ts +0 -108
- package/references/openteams/src/template/install-service.test.ts +0 -452
- package/references/openteams/src/template/install-service.ts +0 -332
- package/references/openteams/src/template/loader.test.ts +0 -1696
- package/references/openteams/src/template/loader.ts +0 -804
- package/references/openteams/src/template/resolver.test.ts +0 -304
- package/references/openteams/src/template/resolver.ts +0 -251
- package/references/openteams/src/template/types.ts +0 -229
- package/references/openteams/tsconfig.cjs.json +0 -7
- package/references/openteams/tsconfig.esm.json +0 -8
- package/references/openteams/tsconfig.json +0 -16
- package/references/openteams/vitest.config.ts +0 -9
- package/references/sessionlog/.husky/pre-commit +0 -1
- package/references/sessionlog/.lintstagedrc.json +0 -4
- package/references/sessionlog/.prettierignore +0 -4
- package/references/sessionlog/.prettierrc.json +0 -11
- package/references/sessionlog/LICENSE +0 -21
- package/references/sessionlog/README.md +0 -453
- package/references/sessionlog/eslint.config.js +0 -58
- package/references/sessionlog/package-lock.json +0 -3672
- package/references/sessionlog/package.json +0 -65
- package/references/sessionlog/src/__tests__/agent-hooks.test.ts +0 -570
- package/references/sessionlog/src/__tests__/agent-registry.test.ts +0 -127
- package/references/sessionlog/src/__tests__/claude-code-hooks.test.ts +0 -225
- package/references/sessionlog/src/__tests__/claude-generator.test.ts +0 -46
- package/references/sessionlog/src/__tests__/commit-msg.test.ts +0 -86
- package/references/sessionlog/src/__tests__/cursor-agent.test.ts +0 -224
- package/references/sessionlog/src/__tests__/e2e-live.test.ts +0 -890
- package/references/sessionlog/src/__tests__/event-log.test.ts +0 -183
- package/references/sessionlog/src/__tests__/flush-sentinel.test.ts +0 -105
- package/references/sessionlog/src/__tests__/gemini-agent.test.ts +0 -375
- package/references/sessionlog/src/__tests__/git-hooks.test.ts +0 -78
- package/references/sessionlog/src/__tests__/hook-managers.test.ts +0 -121
- package/references/sessionlog/src/__tests__/lifecycle-tasks.test.ts +0 -759
- package/references/sessionlog/src/__tests__/opencode-agent.test.ts +0 -338
- package/references/sessionlog/src/__tests__/redaction.test.ts +0 -136
- package/references/sessionlog/src/__tests__/session-repo.test.ts +0 -353
- package/references/sessionlog/src/__tests__/session-store.test.ts +0 -166
- package/references/sessionlog/src/__tests__/setup-ccweb.test.ts +0 -466
- package/references/sessionlog/src/__tests__/skill-live.test.ts +0 -461
- package/references/sessionlog/src/__tests__/summarize.test.ts +0 -348
- package/references/sessionlog/src/__tests__/task-plan-e2e.test.ts +0 -610
- package/references/sessionlog/src/__tests__/task-plan-live.test.ts +0 -632
- package/references/sessionlog/src/__tests__/transcript-timestamp.test.ts +0 -121
- package/references/sessionlog/src/__tests__/types.test.ts +0 -166
- package/references/sessionlog/src/__tests__/utils.test.ts +0 -333
- package/references/sessionlog/src/__tests__/validation.test.ts +0 -103
- package/references/sessionlog/src/__tests__/worktree.test.ts +0 -57
- package/references/sessionlog/src/agent/registry.ts +0 -143
- package/references/sessionlog/src/agent/session-types.ts +0 -113
- package/references/sessionlog/src/agent/types.ts +0 -220
- package/references/sessionlog/src/cli.ts +0 -597
- package/references/sessionlog/src/commands/clean.ts +0 -133
- package/references/sessionlog/src/commands/disable.ts +0 -84
- package/references/sessionlog/src/commands/doctor.ts +0 -145
- package/references/sessionlog/src/commands/enable.ts +0 -202
- package/references/sessionlog/src/commands/explain.ts +0 -261
- package/references/sessionlog/src/commands/reset.ts +0 -105
- package/references/sessionlog/src/commands/resume.ts +0 -180
- package/references/sessionlog/src/commands/rewind.ts +0 -195
- package/references/sessionlog/src/commands/setup-ccweb.ts +0 -275
- package/references/sessionlog/src/commands/status.ts +0 -172
- package/references/sessionlog/src/config.ts +0 -165
- package/references/sessionlog/src/events/event-log.ts +0 -126
- package/references/sessionlog/src/git-operations.ts +0 -558
- package/references/sessionlog/src/hooks/git-hooks.ts +0 -165
- package/references/sessionlog/src/hooks/lifecycle.ts +0 -391
- package/references/sessionlog/src/index.ts +0 -650
- package/references/sessionlog/src/security/redaction.ts +0 -283
- package/references/sessionlog/src/session/state-machine.ts +0 -452
- package/references/sessionlog/src/store/checkpoint-store.ts +0 -509
- package/references/sessionlog/src/store/native-store.ts +0 -173
- package/references/sessionlog/src/store/provider-types.ts +0 -99
- package/references/sessionlog/src/store/session-store.ts +0 -266
- package/references/sessionlog/src/strategy/attribution.ts +0 -296
- package/references/sessionlog/src/strategy/common.ts +0 -207
- package/references/sessionlog/src/strategy/content-overlap.ts +0 -228
- package/references/sessionlog/src/strategy/manual-commit.ts +0 -988
- package/references/sessionlog/src/strategy/types.ts +0 -279
- package/references/sessionlog/src/summarize/claude-generator.ts +0 -115
- package/references/sessionlog/src/summarize/summarize.ts +0 -432
- package/references/sessionlog/src/types.ts +0 -508
- package/references/sessionlog/src/utils/chunk-files.ts +0 -49
- package/references/sessionlog/src/utils/commit-message.ts +0 -65
- package/references/sessionlog/src/utils/detect-agent.ts +0 -36
- package/references/sessionlog/src/utils/hook-managers.ts +0 -125
- package/references/sessionlog/src/utils/ide-tags.ts +0 -32
- package/references/sessionlog/src/utils/paths.ts +0 -79
- package/references/sessionlog/src/utils/preview-rewind.ts +0 -80
- package/references/sessionlog/src/utils/rewind-conflict.ts +0 -121
- package/references/sessionlog/src/utils/shadow-branch.ts +0 -109
- package/references/sessionlog/src/utils/string-utils.ts +0 -46
- package/references/sessionlog/src/utils/todo-extract.ts +0 -188
- package/references/sessionlog/src/utils/trailers.ts +0 -187
- package/references/sessionlog/src/utils/transcript-parse.ts +0 -177
- package/references/sessionlog/src/utils/transcript-timestamp.ts +0 -59
- package/references/sessionlog/src/utils/tree-ops.ts +0 -219
- package/references/sessionlog/src/utils/tty.ts +0 -72
- package/references/sessionlog/src/utils/validation.ts +0 -65
- package/references/sessionlog/src/utils/worktree.ts +0 -58
- package/references/sessionlog/src/wire-types.ts +0 -59
- package/references/sessionlog/templates/setup-env.sh +0 -153
- package/references/sessionlog/tsconfig.json +0 -18
- package/references/sessionlog/vitest.config.ts +0 -12
- package/references/swarmkit/LICENSE +0 -21
- package/references/swarmkit/README.md +0 -130
- package/references/swarmkit/docs/design.md +0 -453
- package/references/swarmkit/docs/package-setup-reference.md +0 -519
- package/references/swarmkit/package-lock.json +0 -1938
- package/references/swarmkit/package.json +0 -43
- package/references/swarmkit/src/cli.ts +0 -41
- package/references/swarmkit/src/commands/add.ts +0 -126
- package/references/swarmkit/src/commands/doctor.ts +0 -117
- package/references/swarmkit/src/commands/hive.ts +0 -279
- package/references/swarmkit/src/commands/init/phases/configure.ts +0 -96
- package/references/swarmkit/src/commands/init/phases/global-setup.ts +0 -102
- package/references/swarmkit/src/commands/init/phases/packages.ts +0 -44
- package/references/swarmkit/src/commands/init/phases/project.ts +0 -81
- package/references/swarmkit/src/commands/init/phases/use-case.ts +0 -47
- package/references/swarmkit/src/commands/init/state.test.ts +0 -23
- package/references/swarmkit/src/commands/init/state.ts +0 -22
- package/references/swarmkit/src/commands/init/wizard.ts +0 -160
- package/references/swarmkit/src/commands/init.ts +0 -17
- package/references/swarmkit/src/commands/login.ts +0 -106
- package/references/swarmkit/src/commands/logout.ts +0 -22
- package/references/swarmkit/src/commands/remove.ts +0 -72
- package/references/swarmkit/src/commands/status.ts +0 -101
- package/references/swarmkit/src/commands/update.ts +0 -62
- package/references/swarmkit/src/commands/whoami.ts +0 -41
- package/references/swarmkit/src/config/global.test.ts +0 -258
- package/references/swarmkit/src/config/global.ts +0 -141
- package/references/swarmkit/src/config/keys.test.ts +0 -109
- package/references/swarmkit/src/config/keys.ts +0 -49
- package/references/swarmkit/src/doctor/checks.test.ts +0 -366
- package/references/swarmkit/src/doctor/checks.ts +0 -292
- package/references/swarmkit/src/doctor/types.ts +0 -33
- package/references/swarmkit/src/hub/auth-flow.test.ts +0 -127
- package/references/swarmkit/src/hub/auth-flow.ts +0 -144
- package/references/swarmkit/src/hub/client.test.ts +0 -224
- package/references/swarmkit/src/hub/client.ts +0 -185
- package/references/swarmkit/src/hub/credentials.test.ts +0 -132
- package/references/swarmkit/src/hub/credentials.ts +0 -51
- package/references/swarmkit/src/index.ts +0 -116
- package/references/swarmkit/src/packages/installer.test.ts +0 -365
- package/references/swarmkit/src/packages/installer.ts +0 -206
- package/references/swarmkit/src/packages/plugin.test.ts +0 -141
- package/references/swarmkit/src/packages/plugin.ts +0 -46
- package/references/swarmkit/src/packages/registry.test.ts +0 -235
- package/references/swarmkit/src/packages/registry.ts +0 -209
- package/references/swarmkit/src/packages/setup.test.ts +0 -1349
- package/references/swarmkit/src/packages/setup.ts +0 -635
- package/references/swarmkit/src/utils/ui.test.ts +0 -115
- package/references/swarmkit/src/utils/ui.ts +0 -62
- package/references/swarmkit/tsconfig.json +0 -17
- package/references/swarmkit/vitest.config.ts +0 -9
|
@@ -1,1050 +0,0 @@
|
|
|
1
|
-
# MAP Open Questions & Design Decisions
|
|
2
|
-
|
|
3
|
-
This spec consolidates all open questions and unresolved design decisions across the MAP specification. Use this as the focal point for iterating on the protocol design.
|
|
4
|
-
|
|
5
|
-
## How to Use This Document
|
|
6
|
-
|
|
7
|
-
1. **Discuss & Decide**: Pick a question, discuss options, make a decision
|
|
8
|
-
2. **Document**: Record the decision with rationale in this spec
|
|
9
|
-
3. **Update**: Propagate the decision to the relevant child specs
|
|
10
|
-
4. **Close**: Mark the question as resolved
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Question Status Legend
|
|
15
|
-
|
|
16
|
-
- 🔴 **Blocking**: Must resolve before implementation
|
|
17
|
-
- 🟡 **Important**: Should resolve before v1.0
|
|
18
|
-
- 🟢 **Deferrable**: Can resolve in later versions
|
|
19
|
-
- ✅ **Resolved**: Decision made (kept for reference)
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Category 1: Protocol Fundamentals
|
|
24
|
-
|
|
25
|
-
These questions affect the core protocol design and are hard to change later.
|
|
26
|
-
|
|
27
|
-
### Q1.1: Message Acknowledgment ✅ RESOLVED
|
|
28
|
-
|
|
29
|
-
**Question**: Should the protocol require delivery confirmation for messages?
|
|
30
|
-
|
|
31
|
-
**Decision**: **Unified messaging with per-message delivery semantics via `meta.delivery`**
|
|
32
|
-
|
|
33
|
-
No separate ACK mechanism. Instead:
|
|
34
|
-
- `expectsResponse: true` → sender waits for response (implicit ACK)
|
|
35
|
-
- `delivery: "acknowledged"` → receiver sends explicit ACK
|
|
36
|
-
- `delivery: "fire-and-forget"` → no ACK
|
|
37
|
-
- `delivery: "guaranteed"` → retry until delivered
|
|
38
|
-
|
|
39
|
-
The pattern (task delegation vs peer messaging) determines the appropriate setting.
|
|
40
|
-
|
|
41
|
-
**Rationale**: Unifies the message model. Task delegation is naturally request-response. Peer messaging can opt-in to acknowledgment. Keeps the protocol simple while supporting all patterns.
|
|
42
|
-
|
|
43
|
-
**Decided**: 2026-01-24
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
### Q1.2: Ordering Guarantees ✅ RESOLVED
|
|
48
|
-
|
|
49
|
-
**Question**: What ordering is guaranteed for events?
|
|
50
|
-
|
|
51
|
-
**Decision**: **Per-agent ordering guaranteed + causal metadata included**
|
|
52
|
-
|
|
53
|
-
- Per-agent ordering is always guaranteed (Agent A's events always in order)
|
|
54
|
-
- Causal metadata (`causedBy` field) included in events
|
|
55
|
-
- Clients that need causal ordering can reconstruct from metadata
|
|
56
|
-
- Total ordering not required at protocol level
|
|
57
|
-
|
|
58
|
-
**Rationale**: Per-agent ordering is achievable without coordination overhead. Causal metadata enables reconstruction without mandating it. Total ordering would create a bottleneck and isn't needed for most use cases.
|
|
59
|
-
|
|
60
|
-
**Decided**: 2026-01-24
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
### Q1.3: Protocol Versioning ✅ RESOLVED
|
|
65
|
-
|
|
66
|
-
**Question**: How do we handle protocol evolution?
|
|
67
|
-
|
|
68
|
-
**Decision**: **Option D - Hybrid (capability negotiation within major version, breaking across)**
|
|
69
|
-
|
|
70
|
-
- Major versions may be incompatible (v1 vs v2)
|
|
71
|
-
- Within a major version, features are capability-negotiated
|
|
72
|
-
- Additive evolution preferred within major versions
|
|
73
|
-
- Breaking changes bump major version
|
|
74
|
-
|
|
75
|
-
**Rationale**: Follows ACP's approach. Provides stability within major versions while allowing evolution. Capability negotiation handles feature differences gracefully.
|
|
76
|
-
|
|
77
|
-
**Decided**: 2026-01-24
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
### Q1.4: Wire Format Requirements 🟡
|
|
82
|
-
|
|
83
|
-
**Question**: Should we support message compression?
|
|
84
|
-
|
|
85
|
-
**Options**:
|
|
86
|
-
- A. No compression (simplicity) ← **Leaning toward for v1**
|
|
87
|
-
- B. Optional gzip/brotli (negotiated)
|
|
88
|
-
- C. Always compress large messages (threshold-based)
|
|
89
|
-
|
|
90
|
-
**Related**: Message size limits - hard protocol limit or capability-negotiated?
|
|
91
|
-
|
|
92
|
-
**Current thinking**: Rely on transport-level compression (WebSocket permessage-deflate) for v1. Revisit if bandwidth becomes an issue.
|
|
93
|
-
|
|
94
|
-
**Decision**: *Pending final confirmation*
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
### Q1.5: Heartbeat Mechanism 🟡
|
|
99
|
-
|
|
100
|
-
**Question**: Explicit ping/pong or rely on transport-level keepalive?
|
|
101
|
-
|
|
102
|
-
**Options**:
|
|
103
|
-
- A. Transport-level only (WebSocket ping/pong)
|
|
104
|
-
- B. Protocol-level heartbeat (MAP-specific)
|
|
105
|
-
- C. Both (transport + protocol health check) ← **Leaning toward**
|
|
106
|
-
|
|
107
|
-
**Current thinking**: Transport-level for basic keepalive. Protocol-level `map/health` for connections that need it (federation, monitoring), capability-negotiated.
|
|
108
|
-
|
|
109
|
-
**Decision**: *Pending final confirmation*
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
### Q1.6: Participant Model ✅ RESOLVED
|
|
114
|
-
|
|
115
|
-
**Question**: Should agents and clients use the same protocol, or different protocols?
|
|
116
|
-
|
|
117
|
-
**Decision**: **Unified participant model - agents and clients speak the same protocol**
|
|
118
|
-
|
|
119
|
-
All participants (agents, clients, system, gateways) use the same MAP protocol. The differences are:
|
|
120
|
-
- **Capabilities**: What actions they can perform
|
|
121
|
-
- **Visibility**: What they can see
|
|
122
|
-
- **Transport**: How they connect (WebSocket, stdio, in-process, HTTP)
|
|
123
|
-
|
|
124
|
-
```typescript
|
|
125
|
-
interface MAPParticipant {
|
|
126
|
-
id: string;
|
|
127
|
-
type: "agent" | "client" | "system" | "gateway";
|
|
128
|
-
visibility: MAPParticipantVisibility;
|
|
129
|
-
capabilities: MAPParticipantCapabilities;
|
|
130
|
-
transport: MAPTransport;
|
|
131
|
-
}
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
**Key implications**:
|
|
135
|
-
1. Agents connect to the system the same way clients do
|
|
136
|
-
2. Agents can be both clients (to their parent) and servers (to their children)
|
|
137
|
-
3. Federation is natural (remote agents are just participants over WebSocket)
|
|
138
|
-
4. Testing is simpler (mock agents are just MAP participants)
|
|
139
|
-
|
|
140
|
-
**Rationale**: Consistent semantics across all participants. Transport optimization without protocol changes. Natural support for hierarchical composition (Claude Code pattern where parent is server to children). Federation becomes a transport concern, not a protocol concern.
|
|
141
|
-
|
|
142
|
-
**Decided**: 2026-01-27
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
### Q1.7: Transport Layer ✅ RESOLVED
|
|
147
|
-
|
|
148
|
-
**Question**: Should the protocol be tied to a specific transport (WebSocket), or transport-agnostic?
|
|
149
|
-
|
|
150
|
-
**Decision**: **Transport-agnostic with pluggable bindings**
|
|
151
|
-
|
|
152
|
-
MAP defines message format and semantics. Transport is pluggable:
|
|
153
|
-
|
|
154
|
-
| Transport | Use Case | Framing |
|
|
155
|
-
|-----------|----------|---------|
|
|
156
|
-
| WebSocket | Remote clients, federation | JSON messages |
|
|
157
|
-
| stdio | Subprocess agents (Claude Code) | NDJSON (newline-delimited) |
|
|
158
|
-
| In-process | Co-located agents | Direct object passing |
|
|
159
|
-
| HTTP + SSE | Stateless clients | POST + Server-Sent Events |
|
|
160
|
-
|
|
161
|
-
```typescript
|
|
162
|
-
interface MAPTransport {
|
|
163
|
-
type: string;
|
|
164
|
-
send(frame: MAPFrame): Promise<void>;
|
|
165
|
-
receive(): AsyncIterable<MAPFrame>;
|
|
166
|
-
close(): Promise<void>;
|
|
167
|
-
state: "connecting" | "connected" | "disconnected" | "error";
|
|
168
|
-
}
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
**Key implications**:
|
|
172
|
-
1. Spawn can specify transport: `transport: "stdio"` for subprocess agents
|
|
173
|
-
2. Same protocol over different wires
|
|
174
|
-
3. In-process transport avoids serialization overhead for co-located agents
|
|
175
|
-
4. HTTP+SSE enables browser clients without WebSocket
|
|
176
|
-
|
|
177
|
-
**Rationale**: Different deployment contexts need different transports. Subprocess agents (Claude Code pattern) use stdio naturally. Co-located agents shouldn't pay serialization cost. Remote clients need WebSocket. Protocol consistency matters more than transport uniformity.
|
|
178
|
-
|
|
179
|
-
**Decided**: 2026-01-27
|
|
180
|
-
|
|
181
|
-
---
|
|
182
|
-
|
|
183
|
-
## Category 2: Connection & Session Management
|
|
184
|
-
|
|
185
|
-
These affect how clients connect and maintain state.
|
|
186
|
-
|
|
187
|
-
### Q2.1: Connection Handshake Capabilities ✅ RESOLVED
|
|
188
|
-
|
|
189
|
-
**Question**: What capabilities are negotiated at connect time?
|
|
190
|
-
|
|
191
|
-
**Decision**: **Minimal capability set for v1, graceful degradation, fixed for session lifetime**
|
|
192
|
-
|
|
193
|
-
```typescript
|
|
194
|
-
interface MAPCapabilities {
|
|
195
|
-
// Core
|
|
196
|
-
protocolVersion: string; // e.g., "2025-01-01"
|
|
197
|
-
|
|
198
|
-
// Streaming
|
|
199
|
-
streaming: boolean;
|
|
200
|
-
replay: boolean;
|
|
201
|
-
replayWindow?: number; // How far back (ms)
|
|
202
|
-
|
|
203
|
-
// Features
|
|
204
|
-
federation: boolean;
|
|
205
|
-
namedSubscriptions: boolean; // Support for named/resumable subscriptions
|
|
206
|
-
|
|
207
|
-
// Delivery
|
|
208
|
-
deliverySemantics: string[]; // ["fire-and-forget", "acknowledged", "guaranteed"]
|
|
209
|
-
|
|
210
|
-
// Limits (optional - implementation-specific)
|
|
211
|
-
maxMessageSize?: number;
|
|
212
|
-
maxSubscriptions?: number; // If implementation enforces
|
|
213
|
-
}
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
**Key points**:
|
|
217
|
-
- Keep list minimal for v1, extend via capability negotiation
|
|
218
|
-
- Incompatible required capabilities = fail connection with clear error
|
|
219
|
-
- Missing optional capabilities = graceful degradation
|
|
220
|
-
- Capabilities fixed for session lifetime (no mid-session changes)
|
|
221
|
-
|
|
222
|
-
**Decided**: 2026-01-24
|
|
223
|
-
|
|
224
|
-
---
|
|
225
|
-
|
|
226
|
-
### Q2.2: Session Affinity ✅ RESOLVED
|
|
227
|
-
|
|
228
|
-
**Question**: Should subscriptions be tied to connection or transferable?
|
|
229
|
-
|
|
230
|
-
**Decision**: **Session-bound (like ACP) + optional named subscriptions**
|
|
231
|
-
|
|
232
|
-
Sessions are first-class entities that survive connection drops:
|
|
233
|
-
|
|
234
|
-
```typescript
|
|
235
|
-
interface MAPSession {
|
|
236
|
-
sessionId: string; // Unique identifier
|
|
237
|
-
participantId: string; // Owning participant
|
|
238
|
-
participantType: "agent" | "client" | "gateway";
|
|
239
|
-
subscriptions: MAPSubscription[]; // All subscriptions
|
|
240
|
-
createdAt: number;
|
|
241
|
-
lastActivity: number;
|
|
242
|
-
expiresAfter?: number; // TTL after disconnect (implementation-defined)
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
interface MAPSubscription {
|
|
246
|
-
subscriptionId: string; // Auto-generated
|
|
247
|
-
name?: string; // Optional name for explicit resume
|
|
248
|
-
filter: MAPSubscriptionFilter;
|
|
249
|
-
streams: string[];
|
|
250
|
-
}
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
**Session lifecycle**:
|
|
254
|
-
1. `map/connect` creates new session or resumes existing (with `sessionId`)
|
|
255
|
-
2. Subscriptions belong to session, not connection
|
|
256
|
-
3. On reconnect with `sessionId`, subscriptions auto-restore + missed events replayed
|
|
257
|
-
4. Named subscriptions can be explicitly resumed even in new sessions
|
|
258
|
-
|
|
259
|
-
**Protocol methods**:
|
|
260
|
-
```typescript
|
|
261
|
-
"map/connect"
|
|
262
|
-
params: { sessionId?: string } // Omit for new, provide to resume
|
|
263
|
-
|
|
264
|
-
"map/subscribe"
|
|
265
|
-
params: { name?: string, ... } // Optional name
|
|
266
|
-
|
|
267
|
-
"map/subscribe/resume"
|
|
268
|
-
params: { name: string, fromEventId?: string }
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
**Rationale**: Follows ACP's session model. Sessions provide resilience across connection drops. Named subscriptions add flexibility for explicit control when needed.
|
|
272
|
-
|
|
273
|
-
**Decided**: 2026-01-24
|
|
274
|
-
|
|
275
|
-
---
|
|
276
|
-
|
|
277
|
-
### Q2.3: Resource Limits ✅ RESOLVED
|
|
278
|
-
|
|
279
|
-
**Question**: Should the protocol mandate subscription limits?
|
|
280
|
-
|
|
281
|
-
**Decision**: **No - limits are implementation concern, not protocol requirement**
|
|
282
|
-
|
|
283
|
-
The protocol does not mandate resource limits. Implementations may enforce limits on:
|
|
284
|
-
- Number of concurrent subscriptions
|
|
285
|
-
- Message rates
|
|
286
|
-
- Connection counts
|
|
287
|
-
- etc.
|
|
288
|
-
|
|
289
|
-
If an implementation enforces limits:
|
|
290
|
-
- Advertise via capabilities in connection handshake
|
|
291
|
-
- Return clear errors when limits are reached
|
|
292
|
-
- Per-session tracking makes sense (since sessions are the unit of state)
|
|
293
|
-
|
|
294
|
-
```typescript
|
|
295
|
-
// Example: Implementation that enforces limits
|
|
296
|
-
interface MAPCapabilities {
|
|
297
|
-
// Optional - only present if implementation enforces
|
|
298
|
-
maxSubscriptions?: number;
|
|
299
|
-
maxMessagesPerSecond?: number;
|
|
300
|
-
}
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
**Rationale**:
|
|
304
|
-
- Visibility already controls what clients can access
|
|
305
|
-
- Clients should subscribe to what they need
|
|
306
|
-
- Rate limiting and backpressure handle load concerns
|
|
307
|
-
- Keeps protocol flexible; operational concerns left to implementations
|
|
308
|
-
|
|
309
|
-
**Decided**: 2026-01-24
|
|
310
|
-
|
|
311
|
-
---
|
|
312
|
-
|
|
313
|
-
### Q2.4: Auth Token Refresh ✅ RESOLVED
|
|
314
|
-
|
|
315
|
-
**Question**: How to handle token expiration during long-lived connections?
|
|
316
|
-
|
|
317
|
-
**Decision**: **In-band refresh + reconnection fallback (complementary)**
|
|
318
|
-
|
|
319
|
-
Two mechanisms that work together:
|
|
320
|
-
|
|
321
|
-
**1. In-band refresh (primary, for smooth UX)**:
|
|
322
|
-
```typescript
|
|
323
|
-
"map/auth/refresh"
|
|
324
|
-
params: { token: string } // New token
|
|
325
|
-
result: { expiresAt: number } // New expiry time
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
**2. Reconnection fallback (when in-band fails)**:
|
|
329
|
-
```typescript
|
|
330
|
-
"map/connect"
|
|
331
|
-
params: {
|
|
332
|
-
sessionId: string, // Resume session
|
|
333
|
-
auth: { token: "new_token" } // With fresh token
|
|
334
|
-
}
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
**Flow**:
|
|
338
|
-
```
|
|
339
|
-
Normal operation:
|
|
340
|
-
Token valid → Connection active → In-band refresh before expiry
|
|
341
|
-
|
|
342
|
-
Fallback (network blip, missed refresh window):
|
|
343
|
-
Connection drops → Get new token externally → Reconnect with sessionId
|
|
344
|
-
→ Session restored with new auth
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
**Rationale**: In-band refresh provides smooth UX for dashboards and long-running connections. Reconnection fallback ensures no session state is lost even if refresh fails.
|
|
348
|
-
|
|
349
|
-
**Decided**: 2026-01-24
|
|
350
|
-
|
|
351
|
-
---
|
|
352
|
-
|
|
353
|
-
### Q2.5: Partial Visibility Queries ✅ RESOLVED
|
|
354
|
-
|
|
355
|
-
**Question**: Can a client request "all agents I can see" without knowing IDs upfront?
|
|
356
|
-
|
|
357
|
-
**Decision**: **Yes - server filters based on permissions (empty filter = all visible)**
|
|
358
|
-
|
|
359
|
-
```typescript
|
|
360
|
-
// Empty filter = "everything I'm allowed to see"
|
|
361
|
-
await map.subscribe({ filter: {}, streams: ["messages", "state"] });
|
|
362
|
-
|
|
363
|
-
// Server applies visibility rules:
|
|
364
|
-
// 1. System-level exposure (what's exposed at all)
|
|
365
|
-
// 2. Client permissions (what this client can see)
|
|
366
|
-
// 3. Scope visibility (what scopes allow)
|
|
367
|
-
// 4. Agent visibility (what agents expose)
|
|
368
|
-
|
|
369
|
-
// Same for queries
|
|
370
|
-
await map.agents.list({}); // Returns all visible agents
|
|
371
|
-
await map.scopes.list({}); // Returns all visible scopes
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
**Rationale**: Most ergonomic for clients. Dashboards don't need to know agent IDs upfront. Server already enforces visibility rules, so filtering is natural. Client implementations can further filter client-side if needed.
|
|
375
|
-
|
|
376
|
-
**Decided**: 2026-01-24
|
|
377
|
-
|
|
378
|
-
---
|
|
379
|
-
|
|
380
|
-
## Category 3: Streaming & Events
|
|
381
|
-
|
|
382
|
-
These affect the event streaming subsystem.
|
|
383
|
-
|
|
384
|
-
### Q3.0: Stream Ordering ✅ RESOLVED
|
|
385
|
-
|
|
386
|
-
**Question**: How should event streams preserve and enable ordering reconstruction?
|
|
387
|
-
|
|
388
|
-
**Decision**: **Multi-layered ordering with per-subscription sequences + global event IDs + causal metadata**
|
|
389
|
-
|
|
390
|
-
```typescript
|
|
391
|
-
interface MAPStreamEvent {
|
|
392
|
-
subscriptionId: string; // Which subscription
|
|
393
|
-
seq: number; // Monotonic within subscription (gap detection)
|
|
394
|
-
event: MAPEventWithMeta;
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
interface MAPEventWithMeta extends MAPEvent {
|
|
398
|
-
eventId: string; // Globally unique, sortable (ULID)
|
|
399
|
-
timestamp: number; // Server timestamp
|
|
400
|
-
causedBy?: string[]; // Causal chain (event IDs)
|
|
401
|
-
agentId?: string; // Source agent
|
|
402
|
-
}
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
**Ordering guarantees**:
|
|
406
|
-
- Per-subscription `seq` for gap detection
|
|
407
|
-
- Per-agent ordering (events from same agent always ordered)
|
|
408
|
-
- Global `eventId` (ULID) for cross-stream correlation
|
|
409
|
-
- `causedBy` for causal ordering reconstruction
|
|
410
|
-
|
|
411
|
-
**Replay positions**: `fromEventId`, `fromSeq`, or `fromTimestamp`
|
|
412
|
-
|
|
413
|
-
**Rationale**: Layered approach lets clients choose their reconstruction strategy (timestamp, ULID, causal DAG) based on their needs. Gap detection via seq numbers enables reliable reconnection.
|
|
414
|
-
|
|
415
|
-
**Decided**: 2026-01-27
|
|
416
|
-
|
|
417
|
-
---
|
|
418
|
-
|
|
419
|
-
### Q3.1: Event Retention ✅ RESOLVED
|
|
420
|
-
|
|
421
|
-
**Question**: How long should servers retain events for replay?
|
|
422
|
-
|
|
423
|
-
**Decision**: **Implementation concern - advertise via capabilities**
|
|
424
|
-
|
|
425
|
-
Protocol requires:
|
|
426
|
-
- Capability advertisement of retention window (`replayWindow` in capabilities)
|
|
427
|
-
- Clear error when replay request exceeds retention
|
|
428
|
-
|
|
429
|
-
No minimum mandated. Implementations decide based on their constraints.
|
|
430
|
-
|
|
431
|
-
**Rationale**: A dashboard might retain 24 hours. A debugging session might retain 5 minutes. Protocol shouldn't dictate operational concerns.
|
|
432
|
-
|
|
433
|
-
**Decided**: 2026-01-27
|
|
434
|
-
|
|
435
|
-
---
|
|
436
|
-
|
|
437
|
-
### Q3.2: Snapshot Frequency ✅ RESOLVED
|
|
438
|
-
|
|
439
|
-
**Question**: How often should state snapshots be created for replay?
|
|
440
|
-
|
|
441
|
-
**Decision**: **Implementation detail, not protocol concern**
|
|
442
|
-
|
|
443
|
-
Snapshots are an internal optimization. The protocol only needs:
|
|
444
|
-
- `map/subscribe` with `fromEventId`, `fromSeq`, or `fromTimestamp`
|
|
445
|
-
- Server handles replay however it wants internally
|
|
446
|
-
|
|
447
|
-
**Rationale**: Protocol shouldn't mandate internal architecture. Some implementations use event sourcing with snapshots, others keep events in memory.
|
|
448
|
-
|
|
449
|
-
**Decided**: 2026-01-27
|
|
450
|
-
|
|
451
|
-
---
|
|
452
|
-
|
|
453
|
-
### Q3.3: Fan-out Limits ✅ RESOLVED
|
|
454
|
-
|
|
455
|
-
**Question**: Max subscribers per event type?
|
|
456
|
-
|
|
457
|
-
**Decision**: **Implementation concern + backpressure signaling**
|
|
458
|
-
|
|
459
|
-
Protocol provides:
|
|
460
|
-
- Simple pause/resume backpressure mechanism
|
|
461
|
-
- Stream warning/termination events for slow consumers
|
|
462
|
-
- Optional capability advertisement of limits
|
|
463
|
-
|
|
464
|
-
No hard limits mandated by protocol.
|
|
465
|
-
|
|
466
|
-
**Decided**: 2026-01-27
|
|
467
|
-
|
|
468
|
-
---
|
|
469
|
-
|
|
470
|
-
### Q3.4: Batch Response Ordering ✅ RESOLVED
|
|
471
|
-
|
|
472
|
-
**Question**: Should batch responses preserve order or allow reordering?
|
|
473
|
-
|
|
474
|
-
**Decision**: **Preserve order by default, allow opt-out**
|
|
475
|
-
|
|
476
|
-
```typescript
|
|
477
|
-
{
|
|
478
|
-
method: "map/batch",
|
|
479
|
-
params: {
|
|
480
|
-
requests: [...],
|
|
481
|
-
ordered: true // default: true, set false for perf
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
```
|
|
485
|
-
|
|
486
|
-
**Rationale**: Ordering is the safe, predictable default. Clients that want performance can opt-out.
|
|
487
|
-
|
|
488
|
-
**Decided**: 2026-01-27
|
|
489
|
-
|
|
490
|
-
---
|
|
491
|
-
|
|
492
|
-
## Category 4: Error Handling & Recovery
|
|
493
|
-
|
|
494
|
-
These affect system resilience.
|
|
495
|
-
|
|
496
|
-
### Q4.1: Reconnection State Recovery 🔴
|
|
497
|
-
|
|
498
|
-
**Question**: What state is recovered on reconnection?
|
|
499
|
-
|
|
500
|
-
**Options**:
|
|
501
|
-
- A. None: Fresh start on reconnect
|
|
502
|
-
- B. Subscriptions only: Resume subscriptions, replay missed events
|
|
503
|
-
- C. Full session: Subscriptions + pending requests + agent registrations
|
|
504
|
-
- D. Configurable per-resource
|
|
505
|
-
|
|
506
|
-
**Decision**: *Pending*
|
|
507
|
-
|
|
508
|
-
---
|
|
509
|
-
|
|
510
|
-
### Q4.2: Dead Letter Queue 🟡
|
|
511
|
-
|
|
512
|
-
**Question**: Should undeliverable messages go to a DLQ?
|
|
513
|
-
|
|
514
|
-
**Options**:
|
|
515
|
-
- A. No DLQ: Messages are dropped
|
|
516
|
-
- B. System DLQ: All undeliverable messages go to system queue
|
|
517
|
-
- C. Sender DLQ: Messages returned to sender
|
|
518
|
-
- D. Configurable per-message
|
|
519
|
-
|
|
520
|
-
**Decision**: *Pending*
|
|
521
|
-
|
|
522
|
-
---
|
|
523
|
-
|
|
524
|
-
### Q4.3: Error Storm Prevention 🟡
|
|
525
|
-
|
|
526
|
-
**Question**: How to prevent error storms from overwhelming monitoring?
|
|
527
|
-
|
|
528
|
-
**Options**:
|
|
529
|
-
- A. Error sampling (log 1 in N)
|
|
530
|
-
- B. Error aggregation (batch similar errors)
|
|
531
|
-
- C. Circuit breaker (stop error events after threshold)
|
|
532
|
-
- D. Severity filtering (only propagate severe errors)
|
|
533
|
-
|
|
534
|
-
**Decision**: *Pending*
|
|
535
|
-
|
|
536
|
-
---
|
|
537
|
-
|
|
538
|
-
### Q4.4: Automatic Recovery Scope 🟡
|
|
539
|
-
|
|
540
|
-
**Question**: How much should the protocol auto-heal vs require intervention?
|
|
541
|
-
|
|
542
|
-
**Options**:
|
|
543
|
-
- A. Minimal: Only retry connection, everything else manual
|
|
544
|
-
- B. Moderate: Auto-retry messages, resubscribe, but not re-register agents
|
|
545
|
-
- C. Aggressive: Auto-recover everything possible
|
|
546
|
-
- D. Configurable: Policy-driven recovery
|
|
547
|
-
|
|
548
|
-
**Decision**: *Pending*
|
|
549
|
-
|
|
550
|
-
---
|
|
551
|
-
|
|
552
|
-
### Q4.5: Partition Consistency Model 🟢
|
|
553
|
-
|
|
554
|
-
**Question**: What consistency guarantees during partition recovery?
|
|
555
|
-
|
|
556
|
-
**Options**:
|
|
557
|
-
- A. Last-write-wins (eventual consistency)
|
|
558
|
-
- B. Conflict detection (notify on conflict)
|
|
559
|
-
- C. Conflict resolution rules (configurable)
|
|
560
|
-
- D. Strong consistency (block until consensus)
|
|
561
|
-
|
|
562
|
-
**Context**: Primarily relevant for federation scenarios.
|
|
563
|
-
|
|
564
|
-
**Decision**: *Pending*
|
|
565
|
-
|
|
566
|
-
---
|
|
567
|
-
|
|
568
|
-
## Category 5: Permissions & Security
|
|
569
|
-
|
|
570
|
-
These affect the visibility and permission system.
|
|
571
|
-
|
|
572
|
-
### Q5.1: Permission Inheritance 🟡
|
|
573
|
-
|
|
574
|
-
**Question**: Should agent permissions inherit from parent by default?
|
|
575
|
-
|
|
576
|
-
**Options**:
|
|
577
|
-
- A. No inheritance: Each agent explicit
|
|
578
|
-
- B. Full inheritance: Child gets parent's permissions
|
|
579
|
-
- C. Restrictive inheritance: Child can only be more restricted
|
|
580
|
-
- D. Configurable: `inheritPermissions: true/false`
|
|
581
|
-
|
|
582
|
-
**Decision**: *Pending*
|
|
583
|
-
|
|
584
|
-
---
|
|
585
|
-
|
|
586
|
-
### Q5.2: Temporary Permission Grants 🟢
|
|
587
|
-
|
|
588
|
-
**Question**: Should there be time-limited permission grants?
|
|
589
|
-
|
|
590
|
-
**Options**:
|
|
591
|
-
- A. No: All permissions are permanent until revoked
|
|
592
|
-
- B. Yes: TTL on permission grants
|
|
593
|
-
- C. Scoped: TTL only for specific permission types
|
|
594
|
-
|
|
595
|
-
**Use case**: Temporary elevated access for debugging.
|
|
596
|
-
|
|
597
|
-
**Decision**: *Pending*
|
|
598
|
-
|
|
599
|
-
---
|
|
600
|
-
|
|
601
|
-
### Q5.3: Permission Delegation 🟢
|
|
602
|
-
|
|
603
|
-
**Question**: Can agents delegate their permissions to others?
|
|
604
|
-
|
|
605
|
-
**Options**:
|
|
606
|
-
- A. No delegation: Only system/operator grants
|
|
607
|
-
- B. Full delegation: Agent can grant any of its permissions
|
|
608
|
-
- C. Marked delegable: Only permissions marked as delegable
|
|
609
|
-
- D. Hierarchy only: Can only delegate to children
|
|
610
|
-
|
|
611
|
-
**Decision**: *Pending*
|
|
612
|
-
|
|
613
|
-
---
|
|
614
|
-
|
|
615
|
-
### Q5.4: Client Permission Groups 🟢
|
|
616
|
-
|
|
617
|
-
**Question**: Should there be permission groups/roles for clients?
|
|
618
|
-
|
|
619
|
-
**Options**:
|
|
620
|
-
- A. No groups: Each client has explicit permissions
|
|
621
|
-
- B. Named roles: `operator`, `observer`, `agent`, etc.
|
|
622
|
-
- C. Custom groups: Configurable permission sets
|
|
623
|
-
|
|
624
|
-
**Decision**: *Pending*
|
|
625
|
-
|
|
626
|
-
---
|
|
627
|
-
|
|
628
|
-
### Q5.5: Permission Revocation Timing 🟢
|
|
629
|
-
|
|
630
|
-
**Question**: Immediate revocation or graceful wind-down?
|
|
631
|
-
|
|
632
|
-
**Options**:
|
|
633
|
-
- A. Immediate: Permission denied instantly
|
|
634
|
-
- B. Graceful: In-flight operations complete, new ones denied
|
|
635
|
-
- C. Timed: Grace period before enforcement
|
|
636
|
-
- D. Hybrid: Immediate for security, graceful for operational
|
|
637
|
-
|
|
638
|
-
**Decision**: *Pending*
|
|
639
|
-
|
|
640
|
-
---
|
|
641
|
-
|
|
642
|
-
## Category 6: Federation
|
|
643
|
-
|
|
644
|
-
These affect multi-system communication.
|
|
645
|
-
|
|
646
|
-
### Q6.1: Transitive Federation 🟡
|
|
647
|
-
|
|
648
|
-
**Question**: If A↔B and B↔C, can A route to C via B?
|
|
649
|
-
|
|
650
|
-
**Options**:
|
|
651
|
-
- A. No: Only direct peers can communicate
|
|
652
|
-
- B. Yes, explicit: A must configure C as reachable via B
|
|
653
|
-
- C. Yes, automatic: Routing discovered automatically
|
|
654
|
-
- D. Yes, with limits: Hop count, TTL restrictions
|
|
655
|
-
|
|
656
|
-
**Decision**: *Pending*
|
|
657
|
-
|
|
658
|
-
---
|
|
659
|
-
|
|
660
|
-
### Q6.2: Federation Discovery 🟢
|
|
661
|
-
|
|
662
|
-
**Question**: Should there be a discovery mechanism for finding peers?
|
|
663
|
-
|
|
664
|
-
**Options**:
|
|
665
|
-
- A. No discovery: Manual peer configuration only
|
|
666
|
-
- B. Registry-based: Central federation registry
|
|
667
|
-
- C. Gossip-based: Peers share peer lists
|
|
668
|
-
- D. DNS-based: SRV records for peer discovery
|
|
669
|
-
|
|
670
|
-
**Decision**: *Pending*
|
|
671
|
-
|
|
672
|
-
---
|
|
673
|
-
|
|
674
|
-
### Q6.3: Cross-System Event Streaming 🟡
|
|
675
|
-
|
|
676
|
-
**Question**: How do events propagate across federated systems?
|
|
677
|
-
|
|
678
|
-
**Options**:
|
|
679
|
-
- A. No streaming: Request-response only across systems
|
|
680
|
-
- B. Filtered streaming: Peers subscribe with filters
|
|
681
|
-
- C. Replicated streaming: Full event replication
|
|
682
|
-
- D. Aggregated streaming: Summary events only
|
|
683
|
-
|
|
684
|
-
**Decision**: *Pending*
|
|
685
|
-
|
|
686
|
-
---
|
|
687
|
-
|
|
688
|
-
### Q6.4: Federation Schema Versioning 🟡
|
|
689
|
-
|
|
690
|
-
**Question**: What if peers have different protocol versions?
|
|
691
|
-
|
|
692
|
-
**Options**:
|
|
693
|
-
- A. Must match: Reject incompatible peers
|
|
694
|
-
- B. Negotiate: Use lowest common version
|
|
695
|
-
- C. Translate: Gateway handles version differences
|
|
696
|
-
- D. Envelope: Include version in each message
|
|
697
|
-
|
|
698
|
-
**Decision**: *Pending*
|
|
699
|
-
|
|
700
|
-
---
|
|
701
|
-
|
|
702
|
-
### Q6.5: Federation Audit Requirements 🟢
|
|
703
|
-
|
|
704
|
-
**Question**: What federation activity must be logged?
|
|
705
|
-
|
|
706
|
-
**Options**:
|
|
707
|
-
- A. Minimal: Connection events only
|
|
708
|
-
- B. Messages: All cross-system messages
|
|
709
|
-
- C. Full: Messages + events + errors
|
|
710
|
-
- D. Configurable: Per-peer audit level
|
|
711
|
-
|
|
712
|
-
**Decision**: *Pending*
|
|
713
|
-
|
|
714
|
-
---
|
|
715
|
-
|
|
716
|
-
## Category 7: Agent Lifecycle
|
|
717
|
-
|
|
718
|
-
These affect how agents are created, managed, and terminated.
|
|
719
|
-
|
|
720
|
-
### Q7.1: Agent State Model ✅ RESOLVED
|
|
721
|
-
|
|
722
|
-
**Question**: What states can agents be in?
|
|
723
|
-
|
|
724
|
-
**Decision**: **Extensible state model with standard states**
|
|
725
|
-
|
|
726
|
-
Standard states:
|
|
727
|
-
- `registered` - Known to system, not yet active
|
|
728
|
-
- `active` - Running and responsive
|
|
729
|
-
- `busy` - Active but processing (can't accept new work)
|
|
730
|
-
- `idle` - Active but waiting for work
|
|
731
|
-
- `suspended` - Paused, can be resumed
|
|
732
|
-
- `stopping` - Shutting down gracefully
|
|
733
|
-
- `stopped` - Terminated, may have result
|
|
734
|
-
- `failed` - Terminated abnormally
|
|
735
|
-
|
|
736
|
-
Implementations can add custom states (extensible via string type).
|
|
737
|
-
|
|
738
|
-
**Rationale**: Standard states cover common patterns. Extensibility allows implementations to add domain-specific states without protocol changes.
|
|
739
|
-
|
|
740
|
-
**Decided**: 2026-01-24
|
|
741
|
-
|
|
742
|
-
---
|
|
743
|
-
|
|
744
|
-
### Q7.2: Lifecycle Metadata ✅ RESOLVED
|
|
745
|
-
|
|
746
|
-
**Question**: Should lifecycle be prescriptive (enforced) or descriptive (metadata)?
|
|
747
|
-
|
|
748
|
-
**Decision**: **Descriptive - protocol records lifecycle metadata; implementation decides enforcement**
|
|
749
|
-
|
|
750
|
-
Lifecycle patterns are documented conventions, not protocol-enforced rules:
|
|
751
|
-
- `persistent` - Long-lived, explicit termination
|
|
752
|
-
- `task` - Lives for a task, returns result (Claude Code pattern)
|
|
753
|
-
- `session` - Lives for spawner's session
|
|
754
|
-
- `ephemeral` - Very short-lived
|
|
755
|
-
|
|
756
|
-
Implementations decide:
|
|
757
|
-
- When to terminate task-bound agents
|
|
758
|
-
- How to handle orphaned children
|
|
759
|
-
- Resource cleanup timing
|
|
760
|
-
|
|
761
|
-
**Rationale**: Keeps the protocol flexible. Different implementations have different constraints (subprocess vs container vs external service). Protocol provides the vocabulary; implementation provides the semantics.
|
|
762
|
-
|
|
763
|
-
**Decided**: 2026-01-24
|
|
764
|
-
|
|
765
|
-
---
|
|
766
|
-
|
|
767
|
-
### Q7.3: Agent Registration Patterns ✅ RESOLVED
|
|
768
|
-
|
|
769
|
-
**Question**: How are agents registered? Explicit only or implicit?
|
|
770
|
-
|
|
771
|
-
**Decision**: **Multiple patterns supported**
|
|
772
|
-
|
|
773
|
-
1. **Explicit registration**: `map/agents/register` - agent registered, then receives messages
|
|
774
|
-
2. **Spawn with task**: `map/agents/spawn` - atomic register + initial task (Claude Code pattern)
|
|
775
|
-
3. **Implicit registration**: `map/send` with `createAgent` param - message creates agent if missing
|
|
776
|
-
|
|
777
|
-
**Rationale**: Different use cases need different patterns. Claude Code needs atomic spawn+task. Persistent workers need explicit registration. Some systems want on-demand agent creation.
|
|
778
|
-
|
|
779
|
-
**Decided**: 2026-01-24
|
|
780
|
-
|
|
781
|
-
---
|
|
782
|
-
|
|
783
|
-
### Q7.4: Orphan Handling 🟢
|
|
784
|
-
|
|
785
|
-
**Question**: When a parent agent dies, what happens to children?
|
|
786
|
-
|
|
787
|
-
**Decision**: **Implementation decides; protocol provides options via `lifecycle.onEnd.children`**
|
|
788
|
-
|
|
789
|
-
Options expressed in lifecycle metadata:
|
|
790
|
-
- `cascade` - Stop all children
|
|
791
|
-
- `orphan` - Keep running, mark as orphaned
|
|
792
|
-
- `reparent` - Move to grandparent
|
|
793
|
-
|
|
794
|
-
Implementation decides the actual behavior and timing.
|
|
795
|
-
|
|
796
|
-
**Rationale**: Different systems have different needs. Task agents should cascade. Persistent workers might reparent. Protocol records intent; implementation enforces.
|
|
797
|
-
|
|
798
|
-
**Decided**: 2026-01-24
|
|
799
|
-
|
|
800
|
-
---
|
|
801
|
-
|
|
802
|
-
### Q7.5: Result Handling ✅ RESOLVED
|
|
803
|
-
|
|
804
|
-
**Question**: Should there be first-class support for agent results, or handle via messaging?
|
|
805
|
-
|
|
806
|
-
**Decision**: **Hybrid - Messages with optional structured result extension**
|
|
807
|
-
|
|
808
|
-
Results are delivered via the unified message model, with optional extensions for structured outputs:
|
|
809
|
-
|
|
810
|
-
```typescript
|
|
811
|
-
// Result message - uses standard message structure
|
|
812
|
-
const resultMessage: MAPMessage = {
|
|
813
|
-
from: "task-agent",
|
|
814
|
-
to: { parent: true },
|
|
815
|
-
payload: {
|
|
816
|
-
// Simple result (always present for task completion)
|
|
817
|
-
result: "Found 15 TypeScript files in src/",
|
|
818
|
-
|
|
819
|
-
// Optional: structured parts for typed content
|
|
820
|
-
parts: [
|
|
821
|
-
{ type: "text", content: "Found 15 TypeScript files in src/" },
|
|
822
|
-
{ type: "data", content: { files: ["src/index.ts", ...] }, schema: "file-list" }
|
|
823
|
-
]
|
|
824
|
-
},
|
|
825
|
-
meta: {
|
|
826
|
-
relationship: "child-to-parent",
|
|
827
|
-
correlationId: "task_001", // Links to original task
|
|
828
|
-
isResult: true // Indicates this is THE result
|
|
829
|
-
}
|
|
830
|
-
};
|
|
831
|
-
```
|
|
832
|
-
|
|
833
|
-
**Key Points**:
|
|
834
|
-
|
|
835
|
-
1. **Messages remain primary** - Results flow via messages, not a separate channel
|
|
836
|
-
2. **Payload structure is flexible** - Simple `result` field for basic cases
|
|
837
|
-
3. **Optional `parts` array** - For structured/typed outputs (text, data, file-reference)
|
|
838
|
-
4. **Metadata flags** - `isResult: true` and `correlationId` identify result messages
|
|
839
|
-
5. **Events reflect results** - `agent.task.completed` events include the result for observability
|
|
840
|
-
|
|
841
|
-
**Parts Structure (optional, for complex outputs)**:
|
|
842
|
-
|
|
843
|
-
```typescript
|
|
844
|
-
type MAPPart =
|
|
845
|
-
| { type: "text"; content: string; mimeType?: string }
|
|
846
|
-
| { type: "data"; content: unknown; schema?: string }
|
|
847
|
-
| { type: "file"; uri: string; name?: string; mimeType?: string }
|
|
848
|
-
| { type: string; content: unknown; [key: string]: unknown }; // Extensible
|
|
849
|
-
```
|
|
850
|
-
|
|
851
|
-
**Why This Approach**:
|
|
852
|
-
|
|
853
|
-
- **Keeps protocol streamlined** - One message type handles all communication
|
|
854
|
-
- **Simple cases stay simple** - Just put result in payload
|
|
855
|
-
- **Complex cases are supported** - Parts allow typed, structured outputs
|
|
856
|
-
- **Consistent with A2A concepts** - Parts model borrowed, but integrated into messages
|
|
857
|
-
- **No conversation/artifact split** - For MAP's use cases (task agents, workers), this distinction adds complexity without benefit
|
|
858
|
-
|
|
859
|
-
**Comparison to A2A**:
|
|
860
|
-
|
|
861
|
-
| A2A | MAP |
|
|
862
|
-
|-----|-----|
|
|
863
|
-
| Messages (conversation) + Artifacts (deliverables) | Messages with optional parts (unified) |
|
|
864
|
-
| Separate history and artifacts on Task | Result flows via message, captured in events |
|
|
865
|
-
| Parts on both Messages and Artifacts | Parts only in message payload |
|
|
866
|
-
|
|
867
|
-
**Rationale**: MAP's primary use cases (Claude Code task agents, macro-agent workers) don't have rich conversations separate from results. The A2A distinction between messages and artifacts adds complexity that doesn't pay off for these patterns. Keeping results as messages with optional structure is simpler and more flexible.
|
|
868
|
-
|
|
869
|
-
**Decided**: 2026-01-24
|
|
870
|
-
|
|
871
|
-
---
|
|
872
|
-
|
|
873
|
-
## Resolved Decisions
|
|
874
|
-
|
|
875
|
-
*Summary of all resolved decisions for quick reference.*
|
|
876
|
-
|
|
877
|
-
### ✅ Primary Abstraction
|
|
878
|
-
|
|
879
|
-
**Decision**: Agent + relationships, then messages
|
|
880
|
-
|
|
881
|
-
**Rationale**: Matches mental model of multi-agent systems.
|
|
882
|
-
|
|
883
|
-
**Decided**: 2026-01-24
|
|
884
|
-
|
|
885
|
-
---
|
|
886
|
-
|
|
887
|
-
### ✅ Topology Model
|
|
888
|
-
|
|
889
|
-
**Decision**: Topology is configuration, not protocol
|
|
890
|
-
|
|
891
|
-
**Rationale**: Same protocol supports orchestration (tree, like Claude Code) and collaboration (mesh, like macro-agent). Relationships determine topology.
|
|
892
|
-
|
|
893
|
-
**Decided**: 2026-01-24
|
|
894
|
-
|
|
895
|
-
---
|
|
896
|
-
|
|
897
|
-
### ✅ Unified Messaging
|
|
898
|
-
|
|
899
|
-
**Decision**: One message type with metadata specialization
|
|
900
|
-
|
|
901
|
-
**Rationale**: `meta.relationship` and `meta.expectsResponse` determine message semantics. Task delegation, peer messaging, and broadcast are all the same message type with different metadata.
|
|
902
|
-
|
|
903
|
-
**Decided**: 2026-01-24
|
|
904
|
-
|
|
905
|
-
---
|
|
906
|
-
|
|
907
|
-
### ✅ Unified Participant Model
|
|
908
|
-
|
|
909
|
-
**Decision**: Agents and clients speak the same protocol
|
|
910
|
-
|
|
911
|
-
**Rationale**: Consistent semantics across all participants. Transport can be optimized per deployment context. Federation is natural (remote agents are just participants). Hierarchical composition supported (agents can be servers to children).
|
|
912
|
-
|
|
913
|
-
**Decided**: 2026-01-27
|
|
914
|
-
|
|
915
|
-
---
|
|
916
|
-
|
|
917
|
-
### ✅ Pluggable Transport
|
|
918
|
-
|
|
919
|
-
**Decision**: Transport-agnostic with pluggable bindings (WebSocket, stdio, in-process, HTTP+SSE)
|
|
920
|
-
|
|
921
|
-
**Rationale**: Different deployment contexts need different transports. Subprocess agents use stdio. Co-located agents avoid serialization. Remote clients use WebSocket. Same protocol semantics regardless of transport.
|
|
922
|
-
|
|
923
|
-
**Decided**: 2026-01-27
|
|
924
|
-
|
|
925
|
-
---
|
|
926
|
-
|
|
927
|
-
### ✅ Visibility Model
|
|
928
|
-
|
|
929
|
-
**Decision**: First-class visibility on agents and scopes
|
|
930
|
-
|
|
931
|
-
**Rationale**: Enables Claude Code pattern (sub-agents invisible to user) and macro-agent pattern (full visibility). Levels: `parent`, `hierarchy`, `scoped`, `public`. Configurable per-scope.
|
|
932
|
-
|
|
933
|
-
**Decided**: 2026-01-24
|
|
934
|
-
|
|
935
|
-
---
|
|
936
|
-
|
|
937
|
-
### ✅ Agent Lifecycle
|
|
938
|
-
|
|
939
|
-
**Decision**: Descriptive lifecycle metadata, not prescriptive enforcement
|
|
940
|
-
|
|
941
|
-
**Rationale**: Protocol records intent (`pattern: "task"`). Implementation decides enforcement. Keeps protocol flexible for different runtime environments.
|
|
942
|
-
|
|
943
|
-
**Decided**: 2026-01-24
|
|
944
|
-
|
|
945
|
-
---
|
|
946
|
-
|
|
947
|
-
### ✅ Result Handling
|
|
948
|
-
|
|
949
|
-
**Decision**: Messages with optional structured parts
|
|
950
|
-
|
|
951
|
-
**Rationale**: Results flow via the unified message model. Simple cases use `payload.result`. Complex outputs use optional `parts` array with typed content (text, data, file). Keeps protocol streamlined while supporting rich outputs when needed. Avoids A2A's message/artifact split which adds complexity without benefit for MAP's use cases.
|
|
952
|
-
|
|
953
|
-
**Decided**: 2026-01-24
|
|
954
|
-
|
|
955
|
-
---
|
|
956
|
-
|
|
957
|
-
### ✅ Session Model
|
|
958
|
-
|
|
959
|
-
**Decision**: Session-bound state (like ACP) + optional named subscriptions
|
|
960
|
-
|
|
961
|
-
**Rationale**: Sessions are first-class entities with IDs. Subscriptions belong to sessions and survive connection drops. Named subscriptions allow explicit resume across sessions. Follows ACP's proven model.
|
|
962
|
-
|
|
963
|
-
**Decided**: 2026-01-24
|
|
964
|
-
|
|
965
|
-
---
|
|
966
|
-
|
|
967
|
-
### ✅ Capability Negotiation
|
|
968
|
-
|
|
969
|
-
**Decision**: Minimal capability set, graceful degradation, fixed for session lifetime
|
|
970
|
-
|
|
971
|
-
**Rationale**: Keep v1 simple. Required capabilities must match or connection fails. Optional capabilities degrade gracefully. No mid-session capability changes (simplifies implementation).
|
|
972
|
-
|
|
973
|
-
**Decided**: 2026-01-24
|
|
974
|
-
|
|
975
|
-
---
|
|
976
|
-
|
|
977
|
-
### ✅ Resource Limits
|
|
978
|
-
|
|
979
|
-
**Decision**: Implementation concern, not protocol requirement
|
|
980
|
-
|
|
981
|
-
**Rationale**: Protocol doesn't mandate limits. Implementations may enforce and advertise via capabilities. Visibility already controls access; rate limiting handles load.
|
|
982
|
-
|
|
983
|
-
**Decided**: 2026-01-24
|
|
984
|
-
|
|
985
|
-
---
|
|
986
|
-
|
|
987
|
-
### ✅ Auth Refresh
|
|
988
|
-
|
|
989
|
-
**Decision**: In-band refresh + reconnection fallback (complementary)
|
|
990
|
-
|
|
991
|
-
**Rationale**: In-band `map/auth/refresh` for smooth UX. Reconnection with sessionId as fallback. Both mechanisms work together for resilience.
|
|
992
|
-
|
|
993
|
-
**Decided**: 2026-01-24
|
|
994
|
-
|
|
995
|
-
---
|
|
996
|
-
|
|
997
|
-
### ✅ Visibility Queries
|
|
998
|
-
|
|
999
|
-
**Decision**: Server-filtered; empty filter = "all I can see"
|
|
1000
|
-
|
|
1001
|
-
**Rationale**: Most ergonomic for clients. Server already enforces visibility rules. Dashboards don't need to know IDs upfront.
|
|
1002
|
-
|
|
1003
|
-
**Decided**: 2026-01-24
|
|
1004
|
-
|
|
1005
|
-
---
|
|
1006
|
-
|
|
1007
|
-
### ✅ Stream Ordering
|
|
1008
|
-
|
|
1009
|
-
**Decision**: Multi-layered ordering with per-subscription sequences + global event IDs + causal metadata
|
|
1010
|
-
|
|
1011
|
-
**Rationale**: Per-subscription `seq` for gap detection, global `eventId` (ULID) for cross-stream correlation, `causedBy` for causal ordering. Clients choose reconstruction strategy based on needs.
|
|
1012
|
-
|
|
1013
|
-
**Decided**: 2026-01-27
|
|
1014
|
-
|
|
1015
|
-
---
|
|
1016
|
-
|
|
1017
|
-
### ✅ Streaming Implementation Details
|
|
1018
|
-
|
|
1019
|
-
**Decision**: Retention, snapshots, fan-out limits are implementation concerns, not protocol requirements
|
|
1020
|
-
|
|
1021
|
-
**Rationale**: Protocol specifies semantics (ordering, replay positions, backpressure signaling). Operational details left to implementations. Advertise constraints via capabilities.
|
|
1022
|
-
|
|
1023
|
-
**Decided**: 2026-01-27
|
|
1024
|
-
|
|
1025
|
-
---
|
|
1026
|
-
|
|
1027
|
-
## Decision Process
|
|
1028
|
-
|
|
1029
|
-
For each open question:
|
|
1030
|
-
|
|
1031
|
-
1. **Understand the question**: Why does this matter? What does it affect?
|
|
1032
|
-
2. **Enumerate options**: What are the realistic choices?
|
|
1033
|
-
3. **Evaluate trade-offs**: Pros/cons of each option
|
|
1034
|
-
4. **Consider precedent**: How do ACP, A2A, MCP handle this?
|
|
1035
|
-
5. **Make a decision**: Pick an option with clear rationale
|
|
1036
|
-
6. **Document**: Update this spec and propagate to child specs
|
|
1037
|
-
7. **Mark resolved**: Move to Resolved section
|
|
1038
|
-
|
|
1039
|
-
---
|
|
1040
|
-
|
|
1041
|
-
## References
|
|
1042
|
-
|
|
1043
|
-
Child specs where these questions originated:
|
|
1044
|
-
- Main MAP Design Specification (00-design-specification.md)
|
|
1045
|
-
- Wire Protocol & ACP Compatibility Layer (02-wire-protocol.md)
|
|
1046
|
-
- Streaming Semantics (03-streaming-semantics.md)
|
|
1047
|
-
- Error Handling & Failure Modes (04-error-handling.md)
|
|
1048
|
-
- Connection Model & Client Patterns (05-connection-model.md)
|
|
1049
|
-
- Visibility & Permission Model (06-visibility-permissions.md)
|
|
1050
|
-
- Federation & System-to-System Communication (07-federation.md)
|