@opendatalabs/personal-server-ts-core 1.34.2 → 1.35.0
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/dist/additions/durable.d.ts +32 -2
- package/dist/additions/durable.d.ts.map +1 -1
- package/dist/additions/durable.js +237 -88
- package/dist/additions/durable.js.map +1 -1
- package/dist/additions/version-inventory.d.ts +4 -0
- package/dist/additions/version-inventory.d.ts.map +1 -1
- package/dist/additions/version-inventory.js +11 -1
- package/dist/additions/version-inventory.js.map +1 -1
- package/dist/api/index.d.ts +18 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +172 -4
- package/dist/api/index.js.map +1 -1
- package/dist/api/oura-collection-requirements.d.ts +16 -0
- package/dist/api/oura-collection-requirements.d.ts.map +1 -0
- package/dist/api/oura-collection-requirements.js +70 -0
- package/dist/api/oura-collection-requirements.js.map +1 -0
- package/dist/api/scope-upload-batches.d.ts +18 -0
- package/dist/api/scope-upload-batches.d.ts.map +1 -0
- package/dist/api/scope-upload-batches.js +71 -0
- package/dist/api/scope-upload-batches.js.map +1 -0
- package/dist/api/scope-uploads.d.ts +112 -0
- package/dist/api/scope-uploads.d.ts.map +1 -0
- package/dist/api/scope-uploads.js +369 -0
- package/dist/api/scope-uploads.js.map +1 -0
- package/dist/client.d.ts +70 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1 -0
- package/dist/client.js.map +1 -1
- package/dist/contracts/data.d.ts +8 -0
- package/dist/contracts/data.d.ts.map +1 -1
- package/dist/contracts/data.js +31 -1
- package/dist/contracts/data.js.map +1 -1
- package/dist/contracts/grants.d.ts.map +1 -1
- package/dist/contracts/grants.js +3 -0
- package/dist/contracts/grants.js.map +1 -1
- package/dist/contracts/index.d.ts +3 -1
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +3 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/oura-collection-requirements.d.ts +17 -0
- package/dist/contracts/oura-collection-requirements.d.ts.map +1 -0
- package/dist/contracts/oura-collection-requirements.js +49 -0
- package/dist/contracts/oura-collection-requirements.js.map +1 -0
- package/dist/legacy-projection/bindings.d.ts +1 -7
- package/dist/legacy-projection/bindings.d.ts.map +1 -1
- package/dist/legacy-projection/bindings.js +162 -28
- package/dist/legacy-projection/bindings.js.map +1 -1
- package/dist/legacy-projection/index.d.ts +6 -5
- package/dist/legacy-projection/index.d.ts.map +1 -1
- package/dist/legacy-projection/index.js +9 -21
- package/dist/legacy-projection/index.js.map +1 -1
- package/dist/legacy-projection/oura-browser-bindings.d.ts +2 -0
- package/dist/legacy-projection/oura-browser-bindings.d.ts.map +1 -1
- package/dist/legacy-projection/oura-browser-bindings.js +2 -0
- package/dist/legacy-projection/oura-browser-bindings.js.map +1 -1
- package/dist/legacy-projection/strava-browser-bindings.d.ts +3 -0
- package/dist/legacy-projection/strava-browser-bindings.d.ts.map +1 -0
- package/dist/legacy-projection/strava-browser-bindings.js +32 -0
- package/dist/legacy-projection/strava-browser-bindings.js.map +1 -0
- package/dist/legacy-projection/types.d.ts +44 -12
- package/dist/legacy-projection/types.d.ts.map +1 -1
- package/dist/mcp/connection-api.d.ts +11 -1
- package/dist/mcp/connection-api.d.ts.map +1 -1
- package/dist/mcp/connection-api.js +94 -9
- package/dist/mcp/connection-api.js.map +1 -1
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +19 -6
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/store.d.ts +10 -1
- package/dist/mcp/store.d.ts.map +1 -1
- package/dist/mcp/store.js +51 -0
- package/dist/mcp/store.js.map +1 -1
- package/dist/mcp/tools.d.ts +52 -2
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +395 -11
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/types.d.ts +36 -2
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js +12 -0
- package/dist/mcp/types.js.map +1 -1
- package/dist/mcp/write-client.d.ts +81 -0
- package/dist/mcp/write-client.d.ts.map +1 -0
- package/dist/mcp/write-client.js +140 -0
- package/dist/mcp/write-client.js.map +1 -0
- package/dist/oura/history-policy.d.ts +12 -0
- package/dist/oura/history-policy.d.ts.map +1 -0
- package/dist/oura/history-policy.js +54 -0
- package/dist/oura/history-policy.js.map +1 -0
- package/dist/oura/index.d.ts +51 -0
- package/dist/oura/index.d.ts.map +1 -0
- package/dist/oura/index.js +315 -0
- package/dist/oura/index.js.map +1 -0
- package/dist/pdpp/approval.d.ts +1 -1
- package/dist/pdpp/approval.d.ts.map +1 -1
- package/dist/pdpp/approval.js +29 -10
- package/dist/pdpp/approval.js.map +1 -1
- package/dist/pdpp/declaration-limits.d.ts +7 -0
- package/dist/pdpp/declaration-limits.d.ts.map +1 -0
- package/dist/pdpp/declaration-limits.js +7 -0
- package/dist/pdpp/declaration-limits.js.map +1 -0
- package/dist/pdpp/declaration.d.ts +2 -1
- package/dist/pdpp/declaration.d.ts.map +1 -1
- package/dist/pdpp/declaration.js +2 -1
- package/dist/pdpp/declaration.js.map +1 -1
- package/dist/pdpp/index.d.ts +3 -2
- package/dist/pdpp/index.d.ts.map +1 -1
- package/dist/pdpp/index.js +3 -2
- package/dist/pdpp/index.js.map +1 -1
- package/dist/pdpp/issuance.d.ts.map +1 -1
- package/dist/pdpp/issuance.js +6 -2
- package/dist/pdpp/issuance.js.map +1 -1
- package/dist/pdpp/resolve.d.ts +12 -1
- package/dist/pdpp/resolve.d.ts.map +1 -1
- package/dist/pdpp/resolve.js +156 -58
- package/dist/pdpp/resolve.js.map +1 -1
- package/dist/pdpp/selection.d.ts +30 -1
- package/dist/pdpp/selection.d.ts.map +1 -1
- package/dist/pdpp/selection.js +77 -26
- package/dist/pdpp/selection.js.map +1 -1
- package/dist/pdpp/time.d.ts +39 -0
- package/dist/pdpp/time.d.ts.map +1 -0
- package/dist/pdpp/time.js +173 -0
- package/dist/pdpp/time.js.map +1 -0
- package/dist/pdpp/tokens.d.ts.map +1 -1
- package/dist/pdpp/tokens.js +4 -2
- package/dist/pdpp/tokens.js.map +1 -1
- package/dist/pdpp/types.d.ts +18 -2
- package/dist/pdpp/types.d.ts.map +1 -1
- package/dist/pdpp/types.js +7 -0
- package/dist/pdpp/types.js.map +1 -1
- package/dist/policy/reserved-scopes.d.ts +7 -0
- package/dist/policy/reserved-scopes.d.ts.map +1 -1
- package/dist/policy/reserved-scopes.js +12 -1
- package/dist/policy/reserved-scopes.js.map +1 -1
- package/dist/ports/index.d.ts +85 -1
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js.map +1 -1
- package/dist/ports/pdpp-auth.d.ts +17 -27
- package/dist/ports/pdpp-auth.d.ts.map +1 -1
- package/dist/ports/pdpp-auth.js +14 -28
- package/dist/ports/pdpp-auth.js.map +1 -1
- package/dist/publication/publish.d.ts +96 -0
- package/dist/publication/publish.d.ts.map +1 -0
- package/dist/publication/publish.js +261 -0
- package/dist/publication/publish.js.map +1 -0
- package/dist/replication/completion.d.ts +20 -0
- package/dist/replication/completion.d.ts.map +1 -0
- package/dist/replication/completion.js +73 -0
- package/dist/replication/completion.js.map +1 -0
- package/dist/replication/coordinator-state.d.ts +29 -0
- package/dist/replication/coordinator-state.d.ts.map +1 -0
- package/dist/replication/coordinator-state.js +88 -0
- package/dist/replication/coordinator-state.js.map +1 -0
- package/dist/replication/coordinator-state.test-utils.d.ts +32 -0
- package/dist/replication/coordinator-state.test-utils.d.ts.map +1 -0
- package/dist/replication/coordinator-state.test-utils.js +113 -0
- package/dist/replication/coordinator-state.test-utils.js.map +1 -0
- package/dist/replication/coordinator.d.ts +264 -0
- package/dist/replication/coordinator.d.ts.map +1 -0
- package/dist/replication/coordinator.js +499 -0
- package/dist/replication/coordinator.js.map +1 -0
- package/dist/replication/copies.d.ts +126 -0
- package/dist/replication/copies.d.ts.map +1 -0
- package/dist/replication/copies.js +437 -0
- package/dist/replication/copies.js.map +1 -0
- package/dist/replication/copy-promotion.d.ts +132 -0
- package/dist/replication/copy-promotion.d.ts.map +1 -0
- package/dist/replication/copy-promotion.js +126 -0
- package/dist/replication/copy-promotion.js.map +1 -0
- package/dist/replication/door.d.ts +33 -0
- package/dist/replication/door.d.ts.map +1 -0
- package/dist/replication/door.js +10 -0
- package/dist/replication/door.js.map +1 -0
- package/dist/replication/dpv2.d.ts +141 -0
- package/dist/replication/dpv2.d.ts.map +1 -0
- package/dist/replication/dpv2.js +320 -0
- package/dist/replication/dpv2.js.map +1 -0
- package/dist/replication/effects.d.ts +68 -0
- package/dist/replication/effects.d.ts.map +1 -0
- package/dist/replication/effects.js +89 -0
- package/dist/replication/effects.js.map +1 -0
- package/dist/replication/engine.d.ts +378 -0
- package/dist/replication/engine.d.ts.map +1 -0
- package/dist/replication/engine.js +3197 -0
- package/dist/replication/engine.js.map +1 -0
- package/dist/replication/envelope.d.ts +481 -0
- package/dist/replication/envelope.d.ts.map +1 -0
- package/dist/replication/envelope.js +192 -0
- package/dist/replication/envelope.js.map +1 -0
- package/dist/replication/evidence.d.ts +118 -0
- package/dist/replication/evidence.d.ts.map +1 -0
- package/dist/replication/evidence.js +198 -0
- package/dist/replication/evidence.js.map +1 -0
- package/dist/replication/finality.d.ts +16 -0
- package/dist/replication/finality.d.ts.map +1 -0
- package/dist/replication/finality.js +11 -0
- package/dist/replication/finality.js.map +1 -0
- package/dist/replication/fixtures.d.ts +16 -0
- package/dist/replication/fixtures.d.ts.map +1 -0
- package/dist/replication/fixtures.js +47 -0
- package/dist/replication/fixtures.js.map +1 -0
- package/dist/replication/host-config.d.ts +52 -0
- package/dist/replication/host-config.d.ts.map +1 -0
- package/dist/replication/host-config.js +111 -0
- package/dist/replication/host-config.js.map +1 -0
- package/dist/replication/host-driver.d.ts +95 -0
- package/dist/replication/host-driver.d.ts.map +1 -0
- package/dist/replication/host-driver.js +202 -0
- package/dist/replication/host-driver.js.map +1 -0
- package/dist/replication/host-ports.d.ts +48 -0
- package/dist/replication/host-ports.d.ts.map +1 -0
- package/dist/replication/host-ports.js +69 -0
- package/dist/replication/host-ports.js.map +1 -0
- package/dist/replication/identity.d.ts +13 -0
- package/dist/replication/identity.d.ts.map +1 -0
- package/dist/replication/identity.js +22 -0
- package/dist/replication/identity.js.map +1 -0
- package/dist/replication/limits.d.ts +124 -0
- package/dist/replication/limits.d.ts.map +1 -0
- package/dist/replication/limits.js +182 -0
- package/dist/replication/limits.js.map +1 -0
- package/dist/replication/merge-plan.d.ts +92 -0
- package/dist/replication/merge-plan.d.ts.map +1 -0
- package/dist/replication/merge-plan.js +229 -0
- package/dist/replication/merge-plan.js.map +1 -0
- package/dist/replication/namespace.d.ts +4 -0
- package/dist/replication/namespace.d.ts.map +1 -0
- package/dist/replication/namespace.js +7 -0
- package/dist/replication/namespace.js.map +1 -0
- package/dist/replication/outcome.d.ts +178 -0
- package/dist/replication/outcome.d.ts.map +1 -0
- package/dist/replication/outcome.js +83 -0
- package/dist/replication/outcome.js.map +1 -0
- package/dist/replication/payload.d.ts +39 -0
- package/dist/replication/payload.d.ts.map +1 -0
- package/dist/replication/payload.js +137 -0
- package/dist/replication/payload.js.map +1 -0
- package/dist/replication/preparation.d.ts +42 -0
- package/dist/replication/preparation.d.ts.map +1 -0
- package/dist/replication/preparation.js +118 -0
- package/dist/replication/preparation.js.map +1 -0
- package/dist/replication/rebaseline.d.ts +33 -0
- package/dist/replication/rebaseline.d.ts.map +1 -0
- package/dist/replication/rebaseline.js +40 -0
- package/dist/replication/rebaseline.js.map +1 -0
- package/dist/replication/rebinding.d.ts +43 -0
- package/dist/replication/rebinding.d.ts.map +1 -0
- package/dist/replication/rebinding.js +52 -0
- package/dist/replication/rebinding.js.map +1 -0
- package/dist/replication/receive.d.ts +57 -0
- package/dist/replication/receive.d.ts.map +1 -0
- package/dist/replication/receive.js +114 -0
- package/dist/replication/receive.js.map +1 -0
- package/dist/replication/record-reducer.d.ts +16 -0
- package/dist/replication/record-reducer.d.ts.map +1 -0
- package/dist/replication/record-reducer.js +52 -0
- package/dist/replication/record-reducer.js.map +1 -0
- package/dist/replication/revision.d.ts +24 -0
- package/dist/replication/revision.d.ts.map +1 -0
- package/dist/replication/revision.js +35 -0
- package/dist/replication/revision.js.map +1 -0
- package/dist/replication/roster.d.ts +53 -0
- package/dist/replication/roster.d.ts.map +1 -0
- package/dist/replication/roster.js +115 -0
- package/dist/replication/roster.js.map +1 -0
- package/dist/replication/schedule.d.ts +73 -0
- package/dist/replication/schedule.d.ts.map +1 -0
- package/dist/replication/schedule.js +182 -0
- package/dist/replication/schedule.js.map +1 -0
- package/dist/replication/stream.d.ts +73 -0
- package/dist/replication/stream.d.ts.map +1 -0
- package/dist/replication/stream.js +542 -0
- package/dist/replication/stream.js.map +1 -0
- package/dist/replication/transport.d.ts +236 -0
- package/dist/replication/transport.d.ts.map +1 -0
- package/dist/replication/transport.js +440 -0
- package/dist/replication/transport.js.map +1 -0
- package/dist/replication/visibility-engine.d.ts +337 -0
- package/dist/replication/visibility-engine.d.ts.map +1 -0
- package/dist/replication/visibility-engine.js +602 -0
- package/dist/replication/visibility-engine.js.map +1 -0
- package/dist/replication/visibility-policy.d.ts +26 -0
- package/dist/replication/visibility-policy.d.ts.map +1 -0
- package/dist/replication/visibility-policy.js +33 -0
- package/dist/replication/visibility-policy.js.map +1 -0
- package/dist/replication/writer-identity-store.d.ts +100 -0
- package/dist/replication/writer-identity-store.d.ts.map +1 -0
- package/dist/replication/writer-identity-store.js +218 -0
- package/dist/replication/writer-identity-store.js.map +1 -0
- package/dist/replication/writer-identity.d.ts +252 -0
- package/dist/replication/writer-identity.d.ts.map +1 -0
- package/dist/replication/writer-identity.js +281 -0
- package/dist/replication/writer-identity.js.map +1 -0
- package/dist/replication/writer-identity.test-utils.d.ts +24 -0
- package/dist/replication/writer-identity.test-utils.d.ts.map +1 -0
- package/dist/replication/writer-identity.test-utils.js +86 -0
- package/dist/replication/writer-identity.test-utils.js.map +1 -0
- package/dist/schemas/server-config.d.ts +13 -0
- package/dist/schemas/server-config.d.ts.map +1 -1
- package/dist/schemas/server-config.js +24 -0
- package/dist/schemas/server-config.js.map +1 -1
- package/dist/storage/adapters/index.d.ts +3 -1
- package/dist/storage/adapters/index.d.ts.map +1 -1
- package/dist/storage/adapters/index.js +2 -0
- package/dist/storage/adapters/index.js.map +1 -1
- package/dist/storage/adapters/interface.d.ts +18 -1
- package/dist/storage/adapters/interface.d.ts.map +1 -1
- package/dist/storage/adapters/interface.js +13 -1
- package/dist/storage/adapters/interface.js.map +1 -1
- package/dist/storage/adapters/sdk.d.ts +2 -1
- package/dist/storage/adapters/sdk.d.ts.map +1 -1
- package/dist/storage/adapters/sdk.js +21 -3
- package/dist/storage/adapters/sdk.js.map +1 -1
- package/dist/storage/adapters/vana-audience.d.ts +17 -5
- package/dist/storage/adapters/vana-audience.d.ts.map +1 -1
- package/dist/storage/adapters/vana-audience.js +24 -9
- package/dist/storage/adapters/vana-audience.js.map +1 -1
- package/dist/storage/adapters/vana.d.ts +2 -2
- package/dist/storage/adapters/vana.d.ts.map +1 -1
- package/dist/storage/adapters/vana.js +30 -22
- package/dist/storage/adapters/vana.js.map +1 -1
- package/dist/storage/canonical-legacy-projection.d.ts +1 -1
- package/dist/storage/canonical-legacy-projection.d.ts.map +1 -1
- package/dist/storage/canonical-legacy-projection.js +13 -15
- package/dist/storage/canonical-legacy-projection.js.map +1 -1
- package/dist/storage/legacy-projection.d.ts.map +1 -1
- package/dist/storage/legacy-projection.js +16 -1
- package/dist/storage/legacy-projection.js.map +1 -1
- package/dist/storage/legacy-scope-coverage-exceptions.d.ts +5 -0
- package/dist/storage/legacy-scope-coverage-exceptions.d.ts.map +1 -1
- package/dist/storage/legacy-scope-coverage-exceptions.js +4 -0
- package/dist/storage/legacy-scope-coverage-exceptions.js.map +1 -1
- package/dist/storage/legacy-scope-coverage.d.ts.map +1 -1
- package/dist/storage/legacy-scope-coverage.js +14 -1
- package/dist/storage/legacy-scope-coverage.js.map +1 -1
- package/dist/storage/legacy-scope-entity-keys.d.ts +14 -1
- package/dist/storage/legacy-scope-entity-keys.d.ts.map +1 -1
- package/dist/storage/legacy-scope-entity-keys.js +18 -1
- package/dist/storage/legacy-scope-entity-keys.js.map +1 -1
- package/dist/storage/legacy-scope-view.d.ts +57 -5
- package/dist/storage/legacy-scope-view.d.ts.map +1 -1
- package/dist/storage/legacy-scope-view.js +644 -318
- package/dist/storage/legacy-scope-view.js.map +1 -1
- package/dist/storage/pdpp-records/cursor.d.ts +47 -2
- package/dist/storage/pdpp-records/cursor.d.ts.map +1 -1
- package/dist/storage/pdpp-records/cursor.js +7 -0
- package/dist/storage/pdpp-records/cursor.js.map +1 -1
- package/dist/storage/pdpp-records/enforcement.d.ts +3 -16
- package/dist/storage/pdpp-records/enforcement.d.ts.map +1 -1
- package/dist/storage/pdpp-records/enforcement.js +40 -13
- package/dist/storage/pdpp-records/enforcement.js.map +1 -1
- package/dist/storage/pdpp-records/index.d.ts +2 -0
- package/dist/storage/pdpp-records/index.d.ts.map +1 -1
- package/dist/storage/pdpp-records/index.js +1 -0
- package/dist/storage/pdpp-records/index.js.map +1 -1
- package/dist/storage/pdpp-records/interface.d.ts +8 -1
- package/dist/storage/pdpp-records/interface.d.ts.map +1 -1
- package/dist/storage/pdpp-records/list-page.d.ts +35 -0
- package/dist/storage/pdpp-records/list-page.d.ts.map +1 -0
- package/dist/storage/pdpp-records/list-page.js +106 -0
- package/dist/storage/pdpp-records/list-page.js.map +1 -0
- package/dist/storage/pdpp-records/memory-store.d.ts.map +1 -1
- package/dist/storage/pdpp-records/memory-store.js +95 -99
- package/dist/storage/pdpp-records/memory-store.js.map +1 -1
- package/dist/storage/pdpp-records/portable.d.ts +3 -0
- package/dist/storage/pdpp-records/portable.d.ts.map +1 -1
- package/dist/storage/pdpp-records/portable.js +3 -0
- package/dist/storage/pdpp-records/portable.js.map +1 -1
- package/dist/storage/pdpp-records/replication-journal.d.ts +20 -0
- package/dist/storage/pdpp-records/replication-journal.d.ts.map +1 -0
- package/dist/storage/pdpp-records/replication-journal.js +2 -0
- package/dist/storage/pdpp-records/replication-journal.js.map +1 -0
- package/dist/storage/pdpp-records/stream-declaration.d.ts +0 -2
- package/dist/storage/pdpp-records/stream-declaration.d.ts.map +1 -1
- package/dist/storage/pdpp-records/stream-declaration.js +0 -9
- package/dist/storage/pdpp-records/stream-declaration.js.map +1 -1
- package/dist/storage/pdpp-records/sync-selection.d.ts +4 -0
- package/dist/storage/pdpp-records/sync-selection.d.ts.map +1 -0
- package/dist/storage/pdpp-records/sync-selection.js +37 -0
- package/dist/storage/pdpp-records/sync-selection.js.map +1 -0
- package/dist/storage/pdpp-records/types.d.ts +64 -0
- package/dist/storage/pdpp-records/types.d.ts.map +1 -1
- package/dist/storage/pdpp-records/types.js.map +1 -1
- package/dist/sync/delete-data-port.d.ts +15 -0
- package/dist/sync/delete-data-port.d.ts.map +1 -1
- package/dist/sync/delete-data-port.js +19 -7
- package/dist/sync/delete-data-port.js.map +1 -1
- package/dist/sync/index.d.ts +2 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +2 -1
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/pending-blob-deletions.d.ts +18 -2
- package/dist/sync/pending-blob-deletions.d.ts.map +1 -1
- package/dist/sync/pending-blob-deletions.js +69 -23
- package/dist/sync/pending-blob-deletions.js.map +1 -1
- package/dist/sync/workers/delete.d.ts.map +1 -1
- package/dist/sync/workers/delete.js +316 -142
- package/dist/sync/workers/delete.js.map +1 -1
- package/dist/sync/workers/download.d.ts.map +1 -1
- package/dist/sync/workers/download.js +53 -5
- package/dist/sync/workers/download.js.map +1 -1
- package/dist/sync/workers/upload.d.ts +24 -5
- package/dist/sync/workers/upload.d.ts.map +1 -1
- package/dist/sync/workers/upload.js +160 -275
- package/dist/sync/workers/upload.js.map +1 -1
- package/dist/test-utils/memory-storage.d.ts.map +1 -1
- package/dist/test-utils/memory-storage.js +17 -2
- package/dist/test-utils/memory-storage.js.map +1 -1
- package/package.json +24 -2
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
// biome-ignore lint/performance/noBarrelFile: re-exported through @vana-unity/app-runtime/sources
|
|
2
|
-
import { GROCERY_INVALID_ORDER, LEGACY_SCOPE_BINDINGS,
|
|
2
|
+
import { ANTHROPIC_LIVE_BINDINGS, GROCERY_INVALID_ORDER, LEGACY_SCOPE_BINDINGS, } from "./bindings.js";
|
|
3
3
|
import { GITHUB_BROWSER_BINDINGS } from "./github-browser-bindings.js";
|
|
4
4
|
import { META_040_BINDINGS } from "./meta-040-bindings.js";
|
|
5
5
|
import { OURA_BROWSER_BINDINGS } from "./oura-browser-bindings.js";
|
|
6
|
+
import { STRAVA_BROWSER_BINDINGS } from "./strava-browser-bindings.js";
|
|
6
7
|
import { classifyAsTestDebris } from "./test-debris.js";
|
|
7
8
|
import { decodeDeclaredRecordsForProjection, DeclaredTextError, } from "./declared-text.js";
|
|
9
|
+
export { ANTHROPIC_LIVE_BINDINGS } from "./bindings.js";
|
|
8
10
|
export { LEGACY_SCOPE_BINDINGS } from "./bindings.js";
|
|
9
|
-
export { LEGACY_SCOPE_GAPS } from "./bindings.js";
|
|
10
11
|
export { GITHUB_BROWSER_BINDINGS } from "./github-browser-bindings.js";
|
|
11
12
|
export { META_040_BINDINGS } from "./meta-040-bindings.js";
|
|
12
|
-
export { OURA_BROWSER_BINDINGS } from "./oura-browser-bindings.js";
|
|
13
|
+
export { OURA_BROWSER_BINDINGS, OURA_BROWSER_DECLARATION_DIGEST, } from "./oura-browser-bindings.js";
|
|
14
|
+
export { STRAVA_BROWSER_BINDINGS } from "./strava-browser-bindings.js";
|
|
13
15
|
export { classifyAsTestDebris } from "./test-debris.js";
|
|
14
16
|
const ALTERNATE_PROFILE_BINDINGS = new Map([
|
|
17
|
+
["anthropic-live", ANTHROPIC_LIVE_BINDINGS],
|
|
15
18
|
["github-browser", GITHUB_BROWSER_BINDINGS],
|
|
16
19
|
["meta", META_040_BINDINGS],
|
|
17
20
|
["oura-browser", OURA_BROWSER_BINDINGS],
|
|
21
|
+
["strava-browser", STRAVA_BROWSER_BINDINGS],
|
|
18
22
|
]);
|
|
19
23
|
export function hasAlternateLegacyProfile(profileKey) {
|
|
20
24
|
return ALTERNATE_PROFILE_BINDINGS.has(profileKey);
|
|
@@ -34,8 +38,8 @@ export function legacyBindingsForProfile(profileKey) {
|
|
|
34
38
|
}
|
|
35
39
|
/**
|
|
36
40
|
* Translate an exact legacy scope string to the PDPP selection an already
|
|
37
|
-
* deployed app should now be served from. Exact string match only
|
|
38
|
-
*
|
|
41
|
+
* deployed app should now be served from. Exact string match only; unbound
|
|
42
|
+
* scopes are not guessed.
|
|
39
43
|
*/
|
|
40
44
|
export function legacyScopeToPdppSelection(scope, options = {}) {
|
|
41
45
|
const debrisReason = classifyAsTestDebris(scope);
|
|
@@ -57,18 +61,6 @@ export function legacyScopeToPdppSelection(scope, options = {}) {
|
|
|
57
61
|
},
|
|
58
62
|
};
|
|
59
63
|
}
|
|
60
|
-
const gap = LEGACY_SCOPE_GAPS.get(scope);
|
|
61
|
-
if (gap) {
|
|
62
|
-
return {
|
|
63
|
-
ok: false,
|
|
64
|
-
error: {
|
|
65
|
-
kind: "gap",
|
|
66
|
-
scope,
|
|
67
|
-
reason: gap.reason,
|
|
68
|
-
provenanceChecked: gap.provenanceChecked,
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
64
|
return { ok: false, error: { kind: "unknown_scope", scope } };
|
|
73
65
|
}
|
|
74
66
|
return {
|
|
@@ -100,10 +92,6 @@ export function projectPdppRecordsToLegacyPayload(scope, records, options) {
|
|
|
100
92
|
},
|
|
101
93
|
};
|
|
102
94
|
}
|
|
103
|
-
const gap = LEGACY_SCOPE_GAPS.get(scope);
|
|
104
|
-
if (gap) {
|
|
105
|
-
return { ok: false, error: { kind: "gap", scope, reason: gap.reason } };
|
|
106
|
-
}
|
|
107
95
|
return { ok: false, error: { kind: "unknown_scope", scope } };
|
|
108
96
|
}
|
|
109
97
|
let decodeDiagnostics = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/legacy-projection/index.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/legacy-projection/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { LegacyScopeBinding } from "./types.js";
|
|
2
|
+
/** Digest of the frozen projection collection profile, distinct from its OCI image. */
|
|
3
|
+
export declare const OURA_BROWSER_DECLARATION_DIGEST = "sha256:0b149898fceb3aa16e6e97b170273a7660d23ed567a905d465ddd8274bc58ed7";
|
|
2
4
|
export declare const OURA_BROWSER_BINDINGS: ReadonlyMap<string, LegacyScopeBinding>;
|
|
3
5
|
//# sourceMappingURL=oura-browser-bindings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oura-browser-bindings.d.ts","sourceRoot":"","sources":["../../src/legacy-projection/oura-browser-bindings.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,YAAY,CAAC;AAOvE,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAmKvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"oura-browser-bindings.d.ts","sourceRoot":"","sources":["../../src/legacy-projection/oura-browser-bindings.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,YAAY,CAAC;AAOvE,uFAAuF;AACvF,eAAO,MAAM,+BAA+B,4EAC+B,CAAC;AAE5E,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAmKvE,CAAC"}
|
|
@@ -2,6 +2,8 @@ import { LEGACY_SCOPE_BINDINGS, OURA_SLEEP_CONTRIBUTOR_INTEGERS, ouraInteger, ou
|
|
|
2
2
|
// Map signed Oura Browser 0.1.2 records into the retained legacy scopes.
|
|
3
3
|
const source = "https://registry.pdpp.dev/connectors/oura-browser";
|
|
4
4
|
const digest = "sha256:ddc901015996e4ae67030bcd9ec809aa368b1b69d94b8ed5515d1be0a886975d";
|
|
5
|
+
/** Digest of the frozen projection collection profile, distinct from its OCI image. */
|
|
6
|
+
export const OURA_BROWSER_DECLARATION_DIGEST = "sha256:0b149898fceb3aa16e6e97b170273a7660d23ed567a905d465ddd8274bc58ed7";
|
|
5
7
|
export const OURA_BROWSER_BINDINGS = new Map(["activity", "readiness", "sleep"].map((stream) => {
|
|
6
8
|
const scope = `oura.${stream}`;
|
|
7
9
|
const original = LEGACY_SCOPE_BINDINGS.get(scope);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oura-browser-bindings.js","sourceRoot":"","sources":["../../src/legacy-projection/oura-browser-bindings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oura-browser-bindings.js","sourceRoot":"","sources":["../../src/legacy-projection/oura-browser-bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strava-browser-bindings.d.ts","sourceRoot":"","sources":["../../src/legacy-projection/strava-browser-bindings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAkCrD,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CACjB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { LEGACY_SCOPE_BINDINGS } from "./bindings.js";
|
|
2
|
+
// Signed strava-browser 0.1.35 writes the export's activity fields, with
|
|
3
|
+
// freshness "live", plus start_date_local. The export binding is an identity
|
|
4
|
+
// over native records, so this profile reuses its projection unchanged.
|
|
5
|
+
// strava.coverage_diagnostics stays bound to the export method only: the
|
|
6
|
+
// browser method declares no diagnostics stream.
|
|
7
|
+
const source = "https://registry.pdpp.dev/connectors/strava-browser";
|
|
8
|
+
const digest = "sha256:026018b79ca78789326a6f14a88899e1f346cee04fcaba9afedc5b885f86804f";
|
|
9
|
+
const original = LEGACY_SCOPE_BINDINGS.get("strava.activities");
|
|
10
|
+
if (!original)
|
|
11
|
+
throw new Error("Missing retained Strava activities binding");
|
|
12
|
+
const stravaBrowserActivities = {
|
|
13
|
+
...original,
|
|
14
|
+
pdppSource: source,
|
|
15
|
+
fieldsRead: {
|
|
16
|
+
activities: [...original.fieldsRead.activities, "start_date_local"],
|
|
17
|
+
},
|
|
18
|
+
lossy: [
|
|
19
|
+
...original.lossy.filter((item) => !item.startsWith("Coverage:")),
|
|
20
|
+
"Coverage: the browser method writes no strava.coverage_diagnostics; that scope keeps serving the export method's rows or file.",
|
|
21
|
+
],
|
|
22
|
+
provenance: [
|
|
23
|
+
{
|
|
24
|
+
kind: "oci",
|
|
25
|
+
ref: "ghcr.io/pdp-connect/connector/strava-browser:0.1.35",
|
|
26
|
+
digest,
|
|
27
|
+
path: "collection-profile.json#streams[name=activities]",
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
export const STRAVA_BROWSER_BINDINGS = new Map([["strava.activities", stravaBrowserActivities]]);
|
|
32
|
+
//# sourceMappingURL=strava-browser-bindings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strava-browser-bindings.js","sourceRoot":"","sources":["../../src/legacy-projection/strava-browser-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGtD,yEAAyE;AACzE,6EAA6E;AAC7E,wEAAwE;AACxE,yEAAyE;AACzE,iDAAiD;AACjD,MAAM,MAAM,GAAG,qDAAqD,CAAC;AACrE,MAAM,MAAM,GACV,yEAAyE,CAAC;AAE5E,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAChE,IAAI,CAAC,QAAQ;IAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;AAE7E,MAAM,uBAAuB,GAAuB;IAClD,GAAG,QAAQ;IACX,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE;QACV,UAAU,EAAE,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,kBAAkB,CAAC;KACpE;IACD,KAAK,EAAE;QACL,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACjE,gIAAgI;KACjI;IACD,UAAU,EAAE;QACV;YACE,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,qDAAqD;YAC1D,MAAM;YACN,IAAI,EAAE,kDAAkD;SACzD;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAClC,IAAI,GAAG,CAAC,CAAC,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -20,11 +20,6 @@ export type LegacyScopeLookupError = {
|
|
|
20
20
|
kind: "test_debris_scope";
|
|
21
21
|
scope: string;
|
|
22
22
|
reason: string;
|
|
23
|
-
} | {
|
|
24
|
-
kind: "gap";
|
|
25
|
-
scope: string;
|
|
26
|
-
reason: string;
|
|
27
|
-
provenanceChecked: LegacyScopeBindingProvenance[];
|
|
28
23
|
};
|
|
29
24
|
export interface LegacyScopeLookupOk {
|
|
30
25
|
ok: true;
|
|
@@ -64,10 +59,6 @@ export type ProjectionError = {
|
|
|
64
59
|
* be projected. Absent for other incomplete scopes.
|
|
65
60
|
*/
|
|
66
61
|
diagnostics?: ProjectionDiagnostic[];
|
|
67
|
-
} | {
|
|
68
|
-
kind: "gap";
|
|
69
|
-
scope: string;
|
|
70
|
-
reason: string;
|
|
71
62
|
} | {
|
|
72
63
|
kind: "empty_singleton";
|
|
73
64
|
scope: string;
|
|
@@ -158,11 +149,16 @@ export interface ProjectPdppRecordsOptions {
|
|
|
158
149
|
orderByPrimaryKey?: boolean;
|
|
159
150
|
}
|
|
160
151
|
/**
|
|
161
|
-
* One legacy scope's binding.
|
|
162
|
-
*
|
|
163
|
-
* no binding entry at all, by design: "no entry, no fabricated mapping."
|
|
152
|
+
* One legacy scope's binding. An unbound scope has no binding entry, so no
|
|
153
|
+
* mapping is fabricated.
|
|
164
154
|
*/
|
|
165
155
|
export interface LegacyScopeBinding {
|
|
156
|
+
/**
|
|
157
|
+
* Streams whose `blob_ref` is only a copy of the raw source envelope: the
|
|
158
|
+
* declared typed fields already carry the full record, so a reader neither
|
|
159
|
+
* fetches that blob nor treats it as projected content.
|
|
160
|
+
*/
|
|
161
|
+
ancillaryBlobStreams?: string[];
|
|
166
162
|
/**
|
|
167
163
|
* Per bound stream, the exact set of declared field names `project()`
|
|
168
164
|
* reads off that stream's records. Checked by the self-check against the
|
|
@@ -171,6 +167,8 @@ export interface LegacyScopeBinding {
|
|
|
171
167
|
* and fail the self-check (S1).
|
|
172
168
|
*/
|
|
173
169
|
fieldsRead: Record<string, string[]>;
|
|
170
|
+
/** Optional passthrough fields supplied by newer profiles, absent at the pinned declaration. */
|
|
171
|
+
optionalFieldsRead?: Record<string, string[]>;
|
|
174
172
|
/** Legacy JSON Schema path this binding's output must validate against, relative to ./legacy-schemas. */
|
|
175
173
|
legacySchemaPath: string;
|
|
176
174
|
/**
|
|
@@ -199,5 +197,39 @@ export interface LegacyScopeBinding {
|
|
|
199
197
|
*/
|
|
200
198
|
rowOrder?: "arrival";
|
|
201
199
|
scope: string;
|
|
200
|
+
/**
|
|
201
|
+
* Present when the projection can be computed a window of parent rows at a
|
|
202
|
+
* time; see {@link LegacyProjectionWindow}.
|
|
203
|
+
*/
|
|
204
|
+
window?: LegacyProjectionWindow;
|
|
205
|
+
/**
|
|
206
|
+
* Why this binding builds its whole projection in memory and has no
|
|
207
|
+
* `window`: one line saying why it stays small, or why it cannot be
|
|
208
|
+
* windowed. Required of every binding with more than one stream that has no
|
|
209
|
+
* `window` (`window-guard.test.ts`).
|
|
210
|
+
*/
|
|
211
|
+
memoryBound?: string;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* A binding whose output holds one row per `parentStream` row, built from
|
|
215
|
+
* that row, the `childStream` rows whose `childKey` holds its primary key,
|
|
216
|
+
* and whole copies of the binding's other streams. Projecting the parents a
|
|
217
|
+
* window at a time, each with exactly its own children, and joining the
|
|
218
|
+
* windows' arrays in `parentOrder` gives the whole projection's array, when
|
|
219
|
+
* the caller passes `orderByPrimaryKey`. Every other payload key is the same
|
|
220
|
+
* in each window, except `sumKeys`, which add up.
|
|
221
|
+
*
|
|
222
|
+
* A child row that is not an object or names no parent is not in any window,
|
|
223
|
+
* so a caller must refuse such input rather than window it.
|
|
224
|
+
*/
|
|
225
|
+
export interface LegacyProjectionWindow {
|
|
226
|
+
parentStream: string;
|
|
227
|
+
childStream: string;
|
|
228
|
+
childKey: string;
|
|
229
|
+
/** The payload key of the output array. */
|
|
230
|
+
arrayKey: string;
|
|
231
|
+
sumKeys: string[];
|
|
232
|
+
/** The output array's order, as a total order on parent rows. */
|
|
233
|
+
parentOrder: (a: Record<string, unknown>, b: Record<string, unknown>) => number;
|
|
202
234
|
}
|
|
203
235
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/legacy-projection/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAEpE,iHAAiH;AACjH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,iFAAiF;AACjF,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/legacy-projection/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import { type DataPortabilityGatewayConfig, type GatewayClient } from "@opendatalabs/vana-sdk/browser";
|
|
26
26
|
import type { ServerSigner } from "../signing/index.js";
|
|
27
|
-
import type { McpConnectionRecord, McpConnectionStore, McpConnectionGrant, McpScopeAccessDecision, McpScopeAccessRequest, McpScopeAccessRequestView, McpOAuthAuthorizationRecord, McpOAuthAuthorizationStore } from "./types.js";
|
|
27
|
+
import type { McpConnectionRecord, McpConnectionStore, McpConnectionGrant, McpIngress, McpScopeAccessDecision, McpScopeAccessRequest, McpScopeAccessRequestView, McpOAuthAuthorizationRecord, McpOAuthAuthorizationStore } from "./types.js";
|
|
28
28
|
/**
|
|
29
29
|
* Default lifetime of a grant the server signs itself for an MCP connection
|
|
30
30
|
* (OAuth approve, or a scope-request approve with no live grant to inherit
|
|
@@ -55,6 +55,9 @@ export declare const MCP_SCOPE_REQUEST_READ_TOKEN_TTL_MS: number;
|
|
|
55
55
|
export declare function hashConnectionToken(token: string): Promise<string>;
|
|
56
56
|
export interface CreateMcpConnectionInput {
|
|
57
57
|
displayName?: string;
|
|
58
|
+
ingress?: McpIngress;
|
|
59
|
+
/** OAuth client asking for this connection, if any. */
|
|
60
|
+
clientId?: string;
|
|
58
61
|
}
|
|
59
62
|
export interface CreateMcpConnectionOutput {
|
|
60
63
|
connectionId: string;
|
|
@@ -238,6 +241,11 @@ export interface CreateMcpOAuthAuthorizationInput {
|
|
|
238
241
|
codeChallengeMethod: string;
|
|
239
242
|
scope?: string;
|
|
240
243
|
state?: string;
|
|
244
|
+
/** Listener the authorize request arrived on; binds the connection to it. */
|
|
245
|
+
ingress?: McpIngress;
|
|
246
|
+
/** From the client's registration; names the connection. */
|
|
247
|
+
clientName?: string;
|
|
248
|
+
clientUri?: string;
|
|
241
249
|
}
|
|
242
250
|
export interface CreateMcpOAuthAuthorizationOptions {
|
|
243
251
|
connectionStore: McpConnectionStore;
|
|
@@ -261,6 +269,8 @@ export declare function createMcpOAuthAuthorization(input: CreateMcpOAuthAuthori
|
|
|
261
269
|
export interface McpOAuthAuthorizationView {
|
|
262
270
|
id: string;
|
|
263
271
|
clientId: string;
|
|
272
|
+
clientName?: string;
|
|
273
|
+
clientUri?: string;
|
|
264
274
|
redirectUri: string;
|
|
265
275
|
scope?: string;
|
|
266
276
|
state?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-api.d.ts","sourceRoot":"","sources":["../../src/mcp/connection-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"connection-api.d.ts","sourceRoot":"","sources":["../../src/mcp/connection-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import { generateMcpGrantee } from "./grantee.js";
|
|
26
26
|
import { createGrantContract } from "../contracts/index.js";
|
|
27
|
+
import { isWriteScopeEntry, WRITE_SCOPE_PREFIX } from "../policy/data-write.js";
|
|
28
|
+
import { isMemoryScope, isSystemScope } from "../policy/reserved-scopes.js";
|
|
27
29
|
import { ScopeSchema, } from "@opendatalabs/vana-sdk/browser";
|
|
28
30
|
import { appUrlFromOAuthRedirectUri, ensureMcpGranteeRegistered, McpGranteeRegistrationError, } from "./builder-registration.js";
|
|
29
31
|
import { MCP_SCOPE_ACCESS_REQUEST_LIMIT } from "./types.js";
|
|
@@ -31,6 +33,7 @@ import { isAllowedOAuthRedirectUri } from "./oauth-redirect.js";
|
|
|
31
33
|
import { isMcpRefreshExpired, MCP_TOKEN_TTL_MS, mcpRefreshExpiry, mcpTokenExpiry, } from "./token-expiry.js";
|
|
32
34
|
const TOKEN_BYTES = 32;
|
|
33
35
|
const OAUTH_AUTHORIZATION_TTL_MS = 10 * 60 * 1000;
|
|
36
|
+
const pendingOAuthReplacements = new WeakMap();
|
|
34
37
|
/**
|
|
35
38
|
* Default lifetime of a grant the server signs itself for an MCP connection
|
|
36
39
|
* (OAuth approve, or a scope-request approve with no live grant to inherit
|
|
@@ -109,6 +112,11 @@ function randomToken() {
|
|
|
109
112
|
return bytesToBase64Url(randomBytes(TOKEN_BYTES));
|
|
110
113
|
}
|
|
111
114
|
export async function createMcpConnection(input, options) {
|
|
115
|
+
const { record, output } = await buildMcpConnection(input, options);
|
|
116
|
+
await options.store.create(record);
|
|
117
|
+
return output;
|
|
118
|
+
}
|
|
119
|
+
async function buildMcpConnection(input, options) {
|
|
112
120
|
const grantee = generateMcpGrantee();
|
|
113
121
|
const token = randomToken();
|
|
114
122
|
const tokenHash = await hashConnectionToken(token);
|
|
@@ -125,14 +133,18 @@ export async function createMcpConnection(input, options) {
|
|
|
125
133
|
status: "pending",
|
|
126
134
|
grants: [],
|
|
127
135
|
createdAt,
|
|
136
|
+
...(input.ingress ? { ingress: input.ingress } : {}),
|
|
137
|
+
...(input.clientId ? { clientId: input.clientId } : {}),
|
|
128
138
|
};
|
|
129
|
-
await options.store.create(record);
|
|
130
139
|
return {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
140
|
+
record,
|
|
141
|
+
output: {
|
|
142
|
+
connectionId: id,
|
|
143
|
+
granteeAddress: grantee.key.address,
|
|
144
|
+
connectionToken: token,
|
|
145
|
+
mcpUrl: buildMcpUrl(options.publicOrigin, token),
|
|
146
|
+
createdAt,
|
|
147
|
+
},
|
|
136
148
|
};
|
|
137
149
|
}
|
|
138
150
|
export function buildMcpUrl(publicOrigin, token) {
|
|
@@ -211,6 +223,11 @@ export async function approveMcpConnection(input, options) {
|
|
|
211
223
|
return updated;
|
|
212
224
|
}
|
|
213
225
|
function grantCoversScope(grant, scope) {
|
|
226
|
+
// A `write:` request is covered only by the same exact write entry: not by
|
|
227
|
+
// a read wildcard such as `*`, and not by a write wildcard, which `remember`
|
|
228
|
+
// ignores (the agent must still be able to ask for the exact grant).
|
|
229
|
+
if (isWriteScopeEntry(scope))
|
|
230
|
+
return grant.scopes.includes(scope);
|
|
214
231
|
return grant.scopes.some((granted) => granted === "*" ||
|
|
215
232
|
granted === scope ||
|
|
216
233
|
(granted.endsWith(".*") && scope.startsWith(granted.slice(0, -1))));
|
|
@@ -423,6 +440,20 @@ function requirePendingScopeRequest(connection) {
|
|
|
423
440
|
}
|
|
424
441
|
return pending;
|
|
425
442
|
}
|
|
443
|
+
/**
|
|
444
|
+
* A scope the owner may approve on a connection: a read scope the SDK accepts,
|
|
445
|
+
* or `write:` plus one concrete agent-memory scope (`memory.<app>`, never a
|
|
446
|
+
* wildcard). MCP clients only ever write memories.
|
|
447
|
+
*/
|
|
448
|
+
function isApprovableScope(scope) {
|
|
449
|
+
if (!isWriteScopeEntry(scope))
|
|
450
|
+
return ScopeSchema.safeParse(scope).success;
|
|
451
|
+
const target = scope.slice(WRITE_SCOPE_PREFIX.length);
|
|
452
|
+
return (!target.includes("*") &&
|
|
453
|
+
!isSystemScope(target) &&
|
|
454
|
+
isMemoryScope(target) &&
|
|
455
|
+
ScopeSchema.safeParse(target).success);
|
|
456
|
+
}
|
|
426
457
|
function parseApprovedScopes(value, pending) {
|
|
427
458
|
if (!Array.isArray(value) || value.length === 0) {
|
|
428
459
|
throw new McpScopeRequestError("SCOPES_REQUIRED", "Approve requires a non-empty scopes array; use deny to decline all.");
|
|
@@ -430,7 +461,7 @@ function parseApprovedScopes(value, pending) {
|
|
|
430
461
|
const scopes = [];
|
|
431
462
|
for (const raw of value) {
|
|
432
463
|
const scope = typeof raw === "string" ? raw.trim() : "";
|
|
433
|
-
if (!
|
|
464
|
+
if (!isApprovableScope(scope)) {
|
|
434
465
|
throw new McpScopeRequestError("INVALID_SCOPE", `Invalid scope: ${JSON.stringify(raw)}`);
|
|
435
466
|
}
|
|
436
467
|
if (!pending.scopes.includes(scope)) {
|
|
@@ -574,6 +605,8 @@ export async function listMcpConnectionViews(store) {
|
|
|
574
605
|
const records = await store.list();
|
|
575
606
|
return records.map(toMcpConnectionView);
|
|
576
607
|
}
|
|
608
|
+
/** Connection label when the client never told this server its name. */
|
|
609
|
+
const DEFAULT_MCP_CLIENT_NAME = "MCP client";
|
|
577
610
|
export class McpOAuthAuthorizationError extends Error {
|
|
578
611
|
code;
|
|
579
612
|
status;
|
|
@@ -604,15 +637,21 @@ export async function createMcpOAuthAuthorization(input, options) {
|
|
|
604
637
|
}
|
|
605
638
|
const now = options.now ? options.now() : new Date();
|
|
606
639
|
const expiresAt = new Date(now.getTime() + OAUTH_AUTHORIZATION_TTL_MS).toISOString();
|
|
607
|
-
const
|
|
608
|
-
|
|
640
|
+
const { record: connection, output: created } = await buildMcpConnection({
|
|
641
|
+
displayName: input.clientName ?? DEFAULT_MCP_CLIENT_NAME,
|
|
642
|
+
ingress: input.ingress,
|
|
643
|
+
clientId: input.clientId,
|
|
644
|
+
}, {
|
|
609
645
|
publicOrigin: options.publicOrigin,
|
|
610
646
|
now: () => now,
|
|
611
647
|
});
|
|
648
|
+
await replacePendingOAuthConnections(options.connectionStore, input.clientId, now.getTime() - OAUTH_AUTHORIZATION_TTL_MS, connection);
|
|
612
649
|
const authorizationId = randomId();
|
|
613
650
|
const record = {
|
|
614
651
|
id: authorizationId,
|
|
615
652
|
clientId: input.clientId,
|
|
653
|
+
...(input.clientName ? { clientName: input.clientName } : {}),
|
|
654
|
+
...(input.clientUri ? { clientUri: input.clientUri } : {}),
|
|
616
655
|
redirectUri: input.redirectUri,
|
|
617
656
|
codeChallenge: input.codeChallenge,
|
|
618
657
|
codeChallengeMethod: "S256",
|
|
@@ -632,10 +671,45 @@ export async function createMcpOAuthAuthorization(input, options) {
|
|
|
632
671
|
expiresAt,
|
|
633
672
|
};
|
|
634
673
|
}
|
|
674
|
+
async function replacePendingOAuthConnections(store, clientId, expiredBefore, replacement) {
|
|
675
|
+
if (store.replacePendingOAuthConnections) {
|
|
676
|
+
await store.replacePendingOAuthConnections(clientId, expiredBefore, replacement);
|
|
677
|
+
return;
|
|
678
|
+
}
|
|
679
|
+
const previous = pendingOAuthReplacements.get(store) ?? Promise.resolve();
|
|
680
|
+
const operation = previous.then(async () => {
|
|
681
|
+
for (const connection of await store.list()) {
|
|
682
|
+
const expired = Date.parse(connection.createdAt) <= expiredBefore;
|
|
683
|
+
if (connection.status !== "pending" ||
|
|
684
|
+
!connection.clientId ||
|
|
685
|
+
(connection.clientId !== clientId && !expired)) {
|
|
686
|
+
continue;
|
|
687
|
+
}
|
|
688
|
+
await store.mutate(connection.id, (latest) => latest.status === "pending"
|
|
689
|
+
? {
|
|
690
|
+
...latest,
|
|
691
|
+
status: "revoked",
|
|
692
|
+
revokedAt: replacement.createdAt,
|
|
693
|
+
}
|
|
694
|
+
: latest);
|
|
695
|
+
}
|
|
696
|
+
await store.create(replacement);
|
|
697
|
+
});
|
|
698
|
+
pendingOAuthReplacements.set(store, operation.then(() => undefined, () => undefined));
|
|
699
|
+
await operation;
|
|
700
|
+
}
|
|
701
|
+
/** A superseded or removed authorization has a revoked connection; refuse it. */
|
|
702
|
+
function requireLive(connection) {
|
|
703
|
+
if (connection?.status !== "revoked")
|
|
704
|
+
return;
|
|
705
|
+
throw new McpOAuthAuthorizationError("invalid_state", "MCP OAuth authorization was superseded or removed; connect again");
|
|
706
|
+
}
|
|
635
707
|
export function toMcpOAuthAuthorizationView(record) {
|
|
636
708
|
return {
|
|
637
709
|
id: record.id,
|
|
638
710
|
clientId: record.clientId,
|
|
711
|
+
...(record.clientName ? { clientName: record.clientName } : {}),
|
|
712
|
+
...(record.clientUri ? { clientUri: record.clientUri } : {}),
|
|
639
713
|
redirectUri: record.redirectUri,
|
|
640
714
|
...(record.scope ? { scope: record.scope } : {}),
|
|
641
715
|
...(record.state ? { state: record.state } : {}),
|
|
@@ -661,6 +735,7 @@ export async function approveMcpOAuthAuthorization(input, options) {
|
|
|
661
735
|
if (input.grants.length === 0) {
|
|
662
736
|
throw new McpOAuthAuthorizationError("grants_required", "Approve requires at least one grant");
|
|
663
737
|
}
|
|
738
|
+
requireLive(await options.connectionStore.getById(record.connectionId));
|
|
664
739
|
await approveMcpConnection({ connectionId: record.connectionId, grants: input.grants }, { store: options.connectionStore, now: options.now });
|
|
665
740
|
const authorizationCode = randomToken();
|
|
666
741
|
const authorizationCodeHash = await hashMcpOAuthAuthorizationCode(authorizationCode);
|
|
@@ -685,10 +760,20 @@ export async function approveMcpOAuthAuthorizationWithScopes(input, options) {
|
|
|
685
760
|
if (!Array.isArray(input.scopes) || input.scopes.length === 0) {
|
|
686
761
|
throw new McpOAuthAuthorizationError("scopes_required", "Approve requires at least one scope");
|
|
687
762
|
}
|
|
763
|
+
// Read entries are signed as before. A `write:` entry follows the same rule
|
|
764
|
+
// as a scope-request approval: one concrete scope, never a wildcard, since
|
|
765
|
+
// `remember` makes a write grant on this connection usable.
|
|
766
|
+
const badWrite = input.scopes.find((scope) => typeof scope === "string" &&
|
|
767
|
+
isWriteScopeEntry(scope) &&
|
|
768
|
+
!isApprovableScope(scope));
|
|
769
|
+
if (badWrite !== undefined) {
|
|
770
|
+
throw new McpOAuthAuthorizationError("invalid_scope", `Invalid write scope: ${JSON.stringify(badWrite)}`);
|
|
771
|
+
}
|
|
688
772
|
const connection = await options.connectionStore.getById(record.connectionId);
|
|
689
773
|
if (!connection) {
|
|
690
774
|
throw new McpOAuthAuthorizationError("connection_not_found", `mcp connection ${record.connectionId} not found`, 404);
|
|
691
775
|
}
|
|
776
|
+
requireLive(connection);
|
|
692
777
|
try {
|
|
693
778
|
await ensureMcpGranteeRegistered({
|
|
694
779
|
connection,
|