@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
|
@@ -7,11 +7,17 @@ import type { ByteBudget } from "../../additions/budget.js";
|
|
|
7
7
|
export interface StorageAdapter {
|
|
8
8
|
/**
|
|
9
9
|
* Upload an encrypted blob to the storage backend.
|
|
10
|
+
*
|
|
11
|
+
* A key names one data version, so a backend that can refuse to replace
|
|
12
|
+
* stored bytes (vana-storage keys are write-once) must do so: re-sending
|
|
13
|
+
* identical bytes succeeds, and different bytes throw
|
|
14
|
+
* {@link StoredBlobConflictError} with the stored bytes left unchanged.
|
|
10
15
|
* @param key - unique storage key / path
|
|
11
16
|
* @param data - encrypted binary data
|
|
17
|
+
* @param signal - cancels the transfer; the call settles once it stops
|
|
12
18
|
* @returns URL where the blob is accessible
|
|
13
19
|
*/
|
|
14
|
-
upload(key: string, data: Uint8Array): Promise<string>;
|
|
20
|
+
upload(key: string, data: Uint8Array, signal?: AbortSignal): Promise<string>;
|
|
15
21
|
/**
|
|
16
22
|
* Resolve the canonical URL for a storage key WITHOUT uploading.
|
|
17
23
|
*
|
|
@@ -57,4 +63,15 @@ export interface StorageAdapter {
|
|
|
57
63
|
*/
|
|
58
64
|
deleteAll?(): Promise<number>;
|
|
59
65
|
}
|
|
66
|
+
/** An adapter whose every read stops at a caller's byte budget. */
|
|
67
|
+
export type BoundedStorageAdapter = StorageAdapter & Required<Pick<StorageAdapter, "downloadBounded">>;
|
|
68
|
+
/**
|
|
69
|
+
* The upload key already holds different bytes, which the backend kept.
|
|
70
|
+
* Callers decide whether those bytes are theirs (same plaintext, different
|
|
71
|
+
* ciphertext) or another writer's.
|
|
72
|
+
*/
|
|
73
|
+
export declare class StoredBlobConflictError extends Error {
|
|
74
|
+
readonly key: string;
|
|
75
|
+
constructor(key: string);
|
|
76
|
+
}
|
|
60
77
|
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7E;;;;;;;;OAQG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C,kFAAkF;IAClF,eAAe,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvE;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,WAAW,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7C;;;;OAIG;IACH,SAAS,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,mEAAmE;AACnE,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAChD,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAEpD;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM;CAIjC"}
|
|
@@ -1,2 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The upload key already holds different bytes, which the backend kept.
|
|
3
|
+
* Callers decide whether those bytes are theirs (same plaintext, different
|
|
4
|
+
* ciphertext) or another writer's.
|
|
5
|
+
*/
|
|
6
|
+
export class StoredBlobConflictError extends Error {
|
|
7
|
+
key;
|
|
8
|
+
constructor(key) {
|
|
9
|
+
super(`Storage key ${key} already holds different bytes`);
|
|
10
|
+
this.key = key;
|
|
11
|
+
this.name = "StoredBlobConflictError";
|
|
12
|
+
}
|
|
13
|
+
}
|
|
2
14
|
//# sourceMappingURL=interface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/storage/adapters/interface.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/storage/adapters/interface.ts"],"names":[],"mappings":"AA6EA;;;;GAIG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC3B;IAArB,YAAqB,GAAW;QAC9B,KAAK,CAAC,eAAe,GAAG,gCAAgC,CAAC,CAAC;QADvC,QAAG,GAAH,GAAG,CAAQ;QAE9B,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type StorageAdapter } from "./interface.js";
|
|
2
2
|
export interface SdkStorageProvider {
|
|
3
3
|
upload(file: Blob, filename?: string): Promise<{
|
|
4
4
|
url: string;
|
|
@@ -20,4 +20,5 @@ export interface SdkStorageAdapterOptions {
|
|
|
20
20
|
urlForKey?: (key: string) => string;
|
|
21
21
|
}
|
|
22
22
|
export declare function createSdkStorageAdapter(providerOrFactory: SdkStorageProvider | SdkStorageProviderFactory, options?: SdkStorageAdapterOptions): StorageAdapter;
|
|
23
|
+
export declare function isDefinitiveNotFound(err: unknown): boolean;
|
|
23
24
|
//# sourceMappingURL=sdk.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IACjC,MAAM,CACJ,IAAI,EAAE,IAAI,EACV,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvC;AACD,MAAM,MAAM,yBAAyB,GAAG,MAAM,kBAAkB,CAAC;AAEjE,MAAM,WAAW,wBAAwB;IACvC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CACrC;AAED,wBAAgB,uBAAuB,CACrC,iBAAiB,EAAE,kBAAkB,GAAG,yBAAyB,EACjE,OAAO,CAAC,EAAE,wBAAwB,GACjC,cAAc,CAwDhB;AAUD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAQ1D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { StoredBlobConflictError } from "./interface.js";
|
|
1
2
|
export function createSdkStorageAdapter(providerOrFactory, options) {
|
|
2
3
|
let cachedProvider;
|
|
3
4
|
const urlForKey = options?.urlForKey ?? ((key) => key);
|
|
@@ -10,8 +11,15 @@ export function createSdkStorageAdapter(providerOrFactory, options) {
|
|
|
10
11
|
}
|
|
11
12
|
return {
|
|
12
13
|
async upload(key, data) {
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
try {
|
|
15
|
+
const result = await provider().upload(new Blob([copyBytes(data)], { type: "application/octet-stream" }), key);
|
|
16
|
+
return result.url;
|
|
17
|
+
}
|
|
18
|
+
catch (err) {
|
|
19
|
+
if (isWriteConflict(err))
|
|
20
|
+
throw new StoredBlobConflictError(key);
|
|
21
|
+
throw err;
|
|
22
|
+
}
|
|
15
23
|
},
|
|
16
24
|
urlForKey,
|
|
17
25
|
async download(storageUrl) {
|
|
@@ -50,7 +58,7 @@ export function createSdkStorageAdapter(providerOrFactory, options) {
|
|
|
50
58
|
// neither and so surface as errors — safe, never a false "missing". When
|
|
51
59
|
// vana-sdk grows a status field on StorageError, the property check takes
|
|
52
60
|
// over and the regex becomes dead fallback.
|
|
53
|
-
function isDefinitiveNotFound(err) {
|
|
61
|
+
export function isDefinitiveNotFound(err) {
|
|
54
62
|
const status = numericProperty(err, "status") ?? numericProperty(err, "statusCode");
|
|
55
63
|
if (status !== undefined) {
|
|
56
64
|
return status === 404 || status === 410;
|
|
@@ -58,6 +66,16 @@ function isDefinitiveNotFound(err) {
|
|
|
58
66
|
const message = err instanceof Error ? err.message : String(err);
|
|
59
67
|
return /download failed: (404|410)\b/.test(message);
|
|
60
68
|
}
|
|
69
|
+
// vana-storage answers a PUT of different bytes to an existing key with 409.
|
|
70
|
+
// The SDK's StorageError carries the status only in its message
|
|
71
|
+
// ("vana-storage upload failed: 409 Conflict - ..."), like downloads above.
|
|
72
|
+
function isWriteConflict(err) {
|
|
73
|
+
const status = numericProperty(err, "status") ?? numericProperty(err, "statusCode");
|
|
74
|
+
if (status !== undefined)
|
|
75
|
+
return status === 409;
|
|
76
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
77
|
+
return /upload failed: 409\b/.test(message);
|
|
78
|
+
}
|
|
61
79
|
function numericProperty(value, key) {
|
|
62
80
|
if (typeof value !== "object" || value === null || !(key in value)) {
|
|
63
81
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/storage/adapters/sdk.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/storage/adapters/sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
import type { ServerAccount } from "../../keys/server-account.js";
|
|
2
|
-
import type
|
|
3
|
-
|
|
4
|
-
* explicit audience needed by preview workers without rewriting a signed claim. */
|
|
5
|
-
export declare function createAudienceVanaAdapter(input: {
|
|
2
|
+
import { type StorageAdapter } from "./interface.js";
|
|
3
|
+
interface VanaBlobNamespace {
|
|
6
4
|
endpoint: string;
|
|
7
5
|
audience: string;
|
|
8
6
|
chainId: number;
|
|
9
7
|
owner: string;
|
|
10
8
|
signer: Pick<ServerAccount, "signMessage">;
|
|
11
|
-
}
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The URL layout and Web3Signed authorization of one owner's blobs. A host
|
|
12
|
+
* that moves the bytes itself (PS-Lite native transfers) signs with this, so
|
|
13
|
+
* its requests match the adapter below.
|
|
14
|
+
*/
|
|
15
|
+
export declare function vanaBlobRequests(input: VanaBlobNamespace): {
|
|
16
|
+
urlForKey: (key: string) => string;
|
|
17
|
+
validate: (url: string) => URL;
|
|
18
|
+
authorization: (method: "PUT" | "GET" | "DELETE", url: string, body?: Uint8Array) => Promise<string>;
|
|
19
|
+
};
|
|
20
|
+
/** SDK 3.x couples routing and authentication origins. This adapter supplies the
|
|
21
|
+
* explicit audience needed by preview workers without rewriting a signed claim. */
|
|
22
|
+
export declare function createAudienceVanaAdapter(input: VanaBlobNamespace): StorageAdapter;
|
|
23
|
+
export {};
|
|
12
24
|
//# sourceMappingURL=vana-audience.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vana-audience.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/vana-audience.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"vana-audience.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/vana-audience.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAA2B,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE9E,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;qBASpC,MAAM;oBAPF,MAAM;4BAWjB,KAAK,GAAG,KAAK,GAAG,QAAQ,OAC3B,MAAM,SACJ,UAAU;EAUtB;AAED;mFACmF;AACnF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,iBAAiB,GACvB,cAAc,CA0DhB"}
|
|
@@ -1,24 +1,37 @@
|
|
|
1
1
|
import { buildWeb3SignedHeader } from "@opendatalabs/vana-sdk/browser";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { StoredBlobConflictError } from "./interface.js";
|
|
3
|
+
/**
|
|
4
|
+
* The URL layout and Web3Signed authorization of one owner's blobs. A host
|
|
5
|
+
* that moves the bytes itself (PS-Lite native transfers) signs with this, so
|
|
6
|
+
* its requests match the adapter below.
|
|
7
|
+
*/
|
|
8
|
+
export function vanaBlobRequests(input) {
|
|
5
9
|
const prefix = `${input.endpoint}/v1/chains/${input.chainId}/blobs/${input.owner}/`;
|
|
6
|
-
const urlForKey = (key) => prefix + key.split("/").map(encodeURIComponent).join("/");
|
|
7
10
|
function validate(url) {
|
|
8
11
|
const parsed = new URL(url);
|
|
9
12
|
if (!parsed.href.startsWith(prefix) || /%(?:2f|5c)/i.test(parsed.pathname))
|
|
10
13
|
throw new Error("Blob URL does not match configured namespace");
|
|
11
14
|
return parsed;
|
|
12
15
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
return {
|
|
17
|
+
urlForKey: (key) => prefix + key.split("/").map(encodeURIComponent).join("/"),
|
|
18
|
+
validate,
|
|
19
|
+
authorization: (method, url, body) => buildWeb3SignedHeader({
|
|
16
20
|
aud: input.audience,
|
|
17
21
|
method,
|
|
18
|
-
uri:
|
|
22
|
+
uri: validate(url).pathname,
|
|
19
23
|
body,
|
|
20
24
|
signMessage: (message) => input.signer.signMessage(message),
|
|
21
|
-
})
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/** SDK 3.x couples routing and authentication origins. This adapter supplies the
|
|
29
|
+
* explicit audience needed by preview workers without rewriting a signed claim. */
|
|
30
|
+
export function createAudienceVanaAdapter(input) {
|
|
31
|
+
const { urlForKey, validate, authorization: sign } = vanaBlobRequests(input);
|
|
32
|
+
async function request(url, method, body) {
|
|
33
|
+
const parsed = validate(url);
|
|
34
|
+
const authorization = await sign(method, url, body);
|
|
22
35
|
const response = await fetch(parsed.href, {
|
|
23
36
|
method,
|
|
24
37
|
headers: {
|
|
@@ -30,6 +43,8 @@ export function createAudienceVanaAdapter(input) {
|
|
|
30
43
|
});
|
|
31
44
|
if (!response.ok && response.status !== 404) {
|
|
32
45
|
await response.body?.cancel();
|
|
46
|
+
if (method === "PUT" && response.status === 409)
|
|
47
|
+
throw new StoredBlobConflictError(new URL(url).pathname);
|
|
33
48
|
throw new Error(`Storage ${method} failed (${response.status})`);
|
|
34
49
|
}
|
|
35
50
|
return response;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vana-audience.js","sourceRoot":"","sources":["../../../src/storage/adapters/vana-audience.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"vana-audience.js","sourceRoot":"","sources":["../../../src/storage/adapters/vana-audience.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ServerConfig } from "../../schemas/server-config.js";
|
|
2
2
|
import type { ServerAccount } from "../../keys/server-account.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { BoundedStorageAdapter } from "./interface.js";
|
|
4
4
|
/** Storage base URL the sync adapter targets (config override or SDK default). */
|
|
5
5
|
export declare function resolveVanaStorageEndpoint(config: ServerConfig): string;
|
|
6
6
|
export declare function createVanaSyncStorageAdapter(params: {
|
|
@@ -10,5 +10,5 @@ export declare function createVanaSyncStorageAdapter(params: {
|
|
|
10
10
|
reads?: "signed" | "public";
|
|
11
11
|
/** Authentication origin, independently of a preview routing endpoint. */
|
|
12
12
|
audience?: string;
|
|
13
|
-
}):
|
|
13
|
+
}): BoundedStorageAdapter;
|
|
14
14
|
//# sourceMappingURL=vana.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vana.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/vana.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"vana.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/vana.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAkB,MAAM,gBAAgB,CAAC;AAe5E,kFAAkF;AAClF,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAIvE;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IACnD,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,aAAa,CAAC,CAAC;IAC9D,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,qBAAqB,CAgExB"}
|
|
@@ -35,9 +35,13 @@ export function createVanaSyncStorageAdapter(params) {
|
|
|
35
35
|
const chainId = params.config.gateway.chainId;
|
|
36
36
|
// enclave sandbox --> public blob GET ----------> vana-storage
|
|
37
37
|
// desktop/cloud ---> signed PUT / GET / DELETE -> vana-storage
|
|
38
|
+
const downloadBounded = boundedBlobDownload(`${endpoint}/v1/chains/${chainId}/blobs/${owner}/`);
|
|
38
39
|
if (params.reads === PUBLIC_READS) {
|
|
39
40
|
// TODO(decision): blob reads stay public (architecture, resolved 2026-09-02); revisit if storage adds read auth.
|
|
40
|
-
return
|
|
41
|
+
return {
|
|
42
|
+
...createPublicReadAdapter({ endpoint, chainId, owner }),
|
|
43
|
+
downloadBounded,
|
|
44
|
+
};
|
|
41
45
|
}
|
|
42
46
|
const adapter = params.audience && params.audience !== endpoint
|
|
43
47
|
? createAudienceVanaAdapter({
|
|
@@ -68,28 +72,32 @@ export function createVanaSyncStorageAdapter(params) {
|
|
|
68
72
|
return `${endpoint}/v1/chains/${chainId}/blobs/${owner}/${subpath}`;
|
|
69
73
|
},
|
|
70
74
|
});
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
75
|
+
return { ...adapter, downloadBounded };
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Blob GET is public by the existing storage contract, so signed and public
|
|
79
|
+
* adapters read the canonical URL directly. The read never enters SDK blob
|
|
80
|
+
* buffering: it stops on `Content-Length` or cancels the stream at the budget.
|
|
81
|
+
*/
|
|
82
|
+
function boundedBlobDownload(prefix) {
|
|
83
|
+
return async (url, budget) => {
|
|
84
|
+
const parsed = new URL(url);
|
|
85
|
+
if (!parsed.href.startsWith(prefix) ||
|
|
86
|
+
ENCODED_PATH_SEPARATOR_PATTERN.test(parsed.pathname))
|
|
87
|
+
throw new Error("Blob URL does not match configured namespace");
|
|
88
|
+
budget.charge();
|
|
89
|
+
const response = await fetch(parsed.href, {
|
|
90
|
+
signal: budget.signal,
|
|
91
|
+
cache: "no-store",
|
|
92
|
+
redirect: "error",
|
|
93
|
+
});
|
|
94
|
+
if (!response.ok) {
|
|
95
|
+
await response.body?.cancel();
|
|
96
|
+
throw Object.assign(new Error(`Blob download failed (${response.status})`), {
|
|
97
|
+
status: response.status,
|
|
86
98
|
});
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
throw new Error(`Blob download failed (${response.status})`);
|
|
90
|
-
}
|
|
91
|
-
return readBoundedResponse(response, budget);
|
|
92
|
-
},
|
|
99
|
+
}
|
|
100
|
+
return readBoundedResponse(response, budget);
|
|
93
101
|
};
|
|
94
102
|
}
|
|
95
103
|
function createPublicReadAdapter(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vana.js","sourceRoot":"","sources":["../../../src/storage/adapters/vana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAIxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,6EAA6E;AAC7E,yEAAyE;AACzE,iCAAiC;AACjC,MAAM,6BAA6B,GAAG,0BAA0B,CAAC;AACjE,MAAM,UAAU,GAAG,KAAK,CAAC;AACzB,MAAM,YAAY,GAAG,QAAQ,CAAC;AAC9B,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,YAAY,GAAG,cAAc,CAAC;AACpC,MAAM,8BAA8B,GAAG,aAAa,CAAC;AAErD,kFAAkF;AAClF,MAAM,UAAU,0BAA0B,CAAC,MAAoB;IAC7D,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,6BAA6B,CACpE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAO5C;IACC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3D,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,iCAAiC;IACjC,2EAA2E;IAC3E,wEAAwE;IACxE,qEAAqE;IACrE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,EAAmB,CAAC;IAChE,8EAA8E;IAC9E,0EAA0E;IAC1E,yEAAyE;IACzE,0CAA0C;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;IAE9C,+DAA+D;IAC/D,+DAA+D;IAC/D,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QAClC,iHAAiH;QACjH,OAAO,uBAAuB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"vana.js","sourceRoot":"","sources":["../../../src/storage/adapters/vana.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ import { type PdppRecordStore } from "./pdpp-records/portable.js";
|
|
|
15
15
|
* auth/grants, and the sync `DataStoragePort` listing surface.
|
|
16
16
|
*/
|
|
17
17
|
/** Bump when a change to this module (or the pure projector) can change bytes. */
|
|
18
|
-
export declare const CANONICAL_LEGACY_VIEW_CONTRACT = "canonical-legacy-view/
|
|
18
|
+
export declare const CANONICAL_LEGACY_VIEW_CONTRACT = "canonical-legacy-view/9";
|
|
19
19
|
export interface CanonicalConnectionBinding {
|
|
20
20
|
instance: string;
|
|
21
21
|
sourceId: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical-legacy-projection.d.ts","sourceRoot":"","sources":["../../src/storage/canonical-legacy-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAKvE,OAAO,EAOL,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AASvC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAQtF,OAAO,EAGL,KAAK,eAAe,EAGrB,MAAM,4BAA4B,CAAC;AAEpC;;;;;;;;;;GAUG;AAEH,kFAAkF;AAClF,eAAO,MAAM,8BAA8B,4BAA4B,CAAC;AAOxE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,eAAe,EACf,aAAa,GAAG,aAAa,CAC9B;IACC,oFAAoF;IACpF,WAAW,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IAC/C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,CAAC;IACjE,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,EAAE,CAAC;IAChE,mDAAmD;IACnD,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,EAAE,CAAC;IACrE;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7D;;;;;OAKG;IACH,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,2EAA2E;IAC3E,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;;;OAIG;IACH,SAAS,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAClE,mEAAmE;IACnE,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IACpE;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,cAAc,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC3C,8EAA8E;IAC9E,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACtD,yEAAyE;IACzE,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACtD;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,wBAAwB,CAAC;CACvC;AAED,MAAM,MAAM,0BAA0B,GAClC;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,sBAAsB,CAAC;CAChC,GACD;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzE;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,wBAAwB,CAAC;IACjC,MAAM,EACJ,gBAAgB,GAAG,SAAS,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;CACxE,GACD;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GACnD;IACE;;;;;OAKG;IACH,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,2BAA2B,CAAC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,GACD;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,yBAAyB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5E;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,iCAAiC,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,2BAA2B,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,4BAA4B,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB,GACD;IACE,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,KAAK,EAAE,eAAe,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC,GACD;IACE,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC,CAAC;AAEN,MAAM,MAAM,yBAAyB,GACnC,qBAAqB,GAAG,CAAC;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,GAAG,0BAA0B,CAAC,CAAC;AAEvE,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,wBAAwB,CAAC;IAChC,qFAAqF;IACrF,YAAY,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,4BAA4B,CAAC;IACxC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAChC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,kFAAkF;IAClF,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,wFAAwF;IACxF,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mFAAmF;IACnF,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,gCAAgC,GACxC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,4BAA4B,CAAA;CAAE,GACrD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,eAAe,GAAG,sBAAsB,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEN;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,IAAI,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,EACxD,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,gCAAgC,CA2BlC;AAED,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,yBAAyB,CAAC,
|
|
1
|
+
{"version":3,"file":"canonical-legacy-projection.d.ts","sourceRoot":"","sources":["../../src/storage/canonical-legacy-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ import { CursorExpiredError, InvalidCursorError, } from "./pdpp-records/portable
|
|
|
15
15
|
* auth/grants, and the sync `DataStoragePort` listing surface.
|
|
16
16
|
*/
|
|
17
17
|
/** Bump when a change to this module (or the pure projector) can change bytes. */
|
|
18
|
-
export const CANONICAL_LEGACY_VIEW_CONTRACT = "canonical-legacy-view/
|
|
18
|
+
export const CANONICAL_LEGACY_VIEW_CONTRACT = "canonical-legacy-view/9";
|
|
19
19
|
const DEFAULT_PAGE_SIZE = 500;
|
|
20
20
|
const MAX_BLOB_READ_BYTES = 64 * 1024 * 1024;
|
|
21
21
|
const SOURCE_ID_PREFIX = "https://registry.pdpp.dev/sources/";
|
|
@@ -80,7 +80,7 @@ export async function readCanonicalLegacyScope(input) {
|
|
|
80
80
|
: collectSnapshot(store, selection, streams, binding.rowOrder === "arrival", pageSize, Number.isSafeInteger(input.blobByteBudget) &&
|
|
81
81
|
(input.blobByteBudget ?? -1) >= 0
|
|
82
82
|
? Math.min(MAX_BLOB_READ_BYTES, input.blobByteBudget)
|
|
83
|
-
: MAX_BLOB_READ_BYTES, input.requireCompletionReceipts === true, input.allowUnprovenEmptyStreams === true, input.declarations));
|
|
83
|
+
: MAX_BLOB_READ_BYTES, input.requireCompletionReceipts === true, input.allowUnprovenEmptyStreams === true, new Set(binding.ancillaryBlobStreams), input.declarations));
|
|
84
84
|
if (!snapshot.ok)
|
|
85
85
|
return snapshot.result;
|
|
86
86
|
return projectSnapshot({
|
|
@@ -95,7 +95,7 @@ export async function readCanonicalLegacyScope(input) {
|
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
97
|
/** Everything the view needs from the store, read inside one snapshot. */
|
|
98
|
-
function collectSnapshot(store, selection, streams, arrivalOrder, pageSize, blobByteBudget, requireCompletionReceipts, allowUnprovenEmptyStreams, declarations) {
|
|
98
|
+
function collectSnapshot(store, selection, streams, arrivalOrder, pageSize, blobByteBudget, requireCompletionReceipts, allowUnprovenEmptyStreams, ancillaryBlobStreams, declarations) {
|
|
99
99
|
const { instance } = selection;
|
|
100
100
|
const binding = store.getInstanceBinding(instance);
|
|
101
101
|
const rejected = checkConnection(binding, selection);
|
|
@@ -172,6 +172,9 @@ function collectSnapshot(store, selection, streams, arrivalOrder, pageSize, blob
|
|
|
172
172
|
let requiredBytes = 0;
|
|
173
173
|
const declaredBlobIds = new Set();
|
|
174
174
|
for (const stream of streams) {
|
|
175
|
+
// The binding projects these rows from their typed fields alone.
|
|
176
|
+
if (ancillaryBlobStreams.has(stream))
|
|
177
|
+
continue;
|
|
175
178
|
const blobBacked = (rowsByStream.get(stream) ?? []).filter(hasBlobRef);
|
|
176
179
|
if (blobBacked.length === 0)
|
|
177
180
|
continue;
|
|
@@ -345,6 +348,7 @@ async function projectSnapshot(input) {
|
|
|
345
348
|
const sourceRowCounts = Object.fromEntries(streams.map((stream) => [stream, rowsByStream.get(stream)?.length ?? 0]));
|
|
346
349
|
const expanded = [];
|
|
347
350
|
const canExpandClaude = selection.sourceId === CLAUDE_SOURCE_ID &&
|
|
351
|
+
selection.method === "anthropic" &&
|
|
348
352
|
(scope === "claude.conversations" || scope === "claude.projects");
|
|
349
353
|
if (canExpandClaude && input.requireClaudeRawBlobs) {
|
|
350
354
|
const parentStream = scope === "claude.conversations" ? "conversations" : "projects";
|
|
@@ -357,6 +361,8 @@ async function projectSnapshot(input) {
|
|
|
357
361
|
}
|
|
358
362
|
}
|
|
359
363
|
for (const stream of streams) {
|
|
364
|
+
if (binding.ancillaryBlobStreams?.includes(stream))
|
|
365
|
+
continue;
|
|
360
366
|
const blobBacked = (rowsByStream.get(stream) ?? []).filter(hasBlobRef);
|
|
361
367
|
if (canExpandClaude &&
|
|
362
368
|
!declaredBlobField(input.streamSchemas[stream]) &&
|
|
@@ -603,19 +609,10 @@ function checkConnection(binding, selection) {
|
|
|
603
609
|
return null;
|
|
604
610
|
}
|
|
605
611
|
function rejection(error, sourceRowCounts) {
|
|
606
|
-
if (error.kind === "unknown_scope" ||
|
|
607
|
-
error.kind === "unsupported_profile" ||
|
|
608
|
-
error.kind === "gap") {
|
|
612
|
+
if (error.kind === "unknown_scope" || error.kind === "unsupported_profile") {
|
|
609
613
|
return unavailable({
|
|
610
614
|
reason: "unbound_scope",
|
|
611
|
-
lookup: error
|
|
612
|
-
? {
|
|
613
|
-
kind: "gap",
|
|
614
|
-
scope: error.scope,
|
|
615
|
-
reason: error.reason,
|
|
616
|
-
provenanceChecked: [],
|
|
617
|
-
}
|
|
618
|
-
: error,
|
|
615
|
+
lookup: error,
|
|
619
616
|
});
|
|
620
617
|
}
|
|
621
618
|
return {
|
|
@@ -752,7 +749,8 @@ export function legacyConnectorKey(pdppSource) {
|
|
|
752
749
|
}
|
|
753
750
|
/** Most connector keys match their public source; Anthropic collects Claude. */
|
|
754
751
|
function canonicalSourceId(pdppSource) {
|
|
755
|
-
if (pdppSource === ANTHROPIC_CONNECTOR_ID
|
|
752
|
+
if (pdppSource === ANTHROPIC_CONNECTOR_ID ||
|
|
753
|
+
pdppSource === "https://registry.pdpp.dev/connectors/anthropic-live")
|
|
756
754
|
return CLAUDE_SOURCE_ID;
|
|
757
755
|
return pdppSource.startsWith(CONNECTOR_ID_PREFIX)
|
|
758
756
|
? SOURCE_ID_PREFIX + pdppSource.slice(CONNECTOR_ID_PREFIX.length)
|