@opendatalabs/personal-server-ts-core 0.0.1-canary.00328bf
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/api/index.d.ts +408 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +1257 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/raw-envelope.d.ts +3 -0
- package/dist/api/raw-envelope.d.ts.map +1 -0
- package/dist/api/raw-envelope.js +215 -0
- package/dist/api/raw-envelope.js.map +1 -0
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +2 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/request.d.ts +28 -0
- package/dist/auth/request.d.ts.map +1 -0
- package/dist/auth/request.js +106 -0
- package/dist/auth/request.js.map +1 -0
- package/dist/client.d.ts +233 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +243 -0
- package/dist/client.js.map +1 -0
- package/dist/config/defaults.d.ts +12 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +12 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/paths.d.ts +9 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +14 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/contracts/access-logs.d.ts +8 -0
- package/dist/contracts/access-logs.d.ts.map +1 -0
- package/dist/contracts/access-logs.js +7 -0
- package/dist/contracts/access-logs.js.map +1 -0
- package/dist/contracts/auth-device.d.ts +70 -0
- package/dist/contracts/auth-device.d.ts.map +1 -0
- package/dist/contracts/auth-device.js +163 -0
- package/dist/contracts/auth-device.js.map +1 -0
- package/dist/contracts/binary.d.ts +66 -0
- package/dist/contracts/binary.d.ts.map +1 -0
- package/dist/contracts/binary.js +123 -0
- package/dist/contracts/binary.js.map +1 -0
- package/dist/contracts/config.d.ts +5 -0
- package/dist/contracts/config.d.ts.map +1 -0
- package/dist/contracts/config.js +30 -0
- package/dist/contracts/config.js.map +1 -0
- package/dist/contracts/data.d.ts +165 -0
- package/dist/contracts/data.d.ts.map +1 -0
- package/dist/contracts/data.js +371 -0
- package/dist/contracts/data.js.map +1 -0
- package/dist/contracts/grants.d.ts +45 -0
- package/dist/contracts/grants.d.ts.map +1 -0
- package/dist/contracts/grants.js +177 -0
- package/dist/contracts/grants.js.map +1 -0
- package/dist/contracts/http.d.ts +21 -0
- package/dist/contracts/http.d.ts.map +1 -0
- package/dist/contracts/http.js +49 -0
- package/dist/contracts/http.js.map +1 -0
- package/dist/contracts/index.d.ts +16 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +10 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/oauth.d.ts +38 -0
- package/dist/contracts/oauth.d.ts.map +1 -0
- package/dist/contracts/oauth.js +130 -0
- package/dist/contracts/oauth.js.map +1 -0
- package/dist/contracts/sync.d.ts +10 -0
- package/dist/contracts/sync.d.ts.map +1 -0
- package/dist/contracts/sync.js +35 -0
- package/dist/contracts/sync.js.map +1 -0
- package/dist/derivatives/answer-shape.d.ts +83 -0
- package/dist/derivatives/answer-shape.d.ts.map +1 -0
- package/dist/derivatives/answer-shape.js +320 -0
- package/dist/derivatives/answer-shape.js.map +1 -0
- package/dist/derivatives/api.d.ts +48 -0
- package/dist/derivatives/api.d.ts.map +1 -0
- package/dist/derivatives/api.js +374 -0
- package/dist/derivatives/api.js.map +1 -0
- package/dist/derivatives/compute.d.ts +112 -0
- package/dist/derivatives/compute.d.ts.map +1 -0
- package/dist/derivatives/compute.js +476 -0
- package/dist/derivatives/compute.js.map +1 -0
- package/dist/derivatives/e2ee/aad.d.ts +22 -0
- package/dist/derivatives/e2ee/aad.d.ts.map +1 -0
- package/dist/derivatives/e2ee/aad.js +32 -0
- package/dist/derivatives/e2ee/aad.js.map +1 -0
- package/dist/derivatives/e2ee/attestation.d.ts +134 -0
- package/dist/derivatives/e2ee/attestation.d.ts.map +1 -0
- package/dist/derivatives/e2ee/attestation.js +248 -0
- package/dist/derivatives/e2ee/attestation.js.map +1 -0
- package/dist/derivatives/e2ee/index.d.ts +6 -0
- package/dist/derivatives/e2ee/index.d.ts.map +1 -0
- package/dist/derivatives/e2ee/index.js +6 -0
- package/dist/derivatives/e2ee/index.js.map +1 -0
- package/dist/derivatives/e2ee/jcs.d.ts +17 -0
- package/dist/derivatives/e2ee/jcs.d.ts.map +1 -0
- package/dist/derivatives/e2ee/jcs.js +55 -0
- package/dist/derivatives/e2ee/jcs.js.map +1 -0
- package/dist/derivatives/e2ee/phala.d.ts +62 -0
- package/dist/derivatives/e2ee/phala.d.ts.map +1 -0
- package/dist/derivatives/e2ee/phala.js +168 -0
- package/dist/derivatives/e2ee/phala.js.map +1 -0
- package/dist/derivatives/e2ee/suite.d.ts +56 -0
- package/dist/derivatives/e2ee/suite.d.ts.map +1 -0
- package/dist/derivatives/e2ee/suite.js +164 -0
- package/dist/derivatives/e2ee/suite.js.map +1 -0
- package/dist/derivatives/index.d.ts +11 -0
- package/dist/derivatives/index.d.ts.map +1 -0
- package/dist/derivatives/index.js +11 -0
- package/dist/derivatives/index.js.map +1 -0
- package/dist/derivatives/inference.d.ts +151 -0
- package/dist/derivatives/inference.d.ts.map +1 -0
- package/dist/derivatives/inference.js +262 -0
- package/dist/derivatives/inference.js.map +1 -0
- package/dist/derivatives/prompt.d.ts +99 -0
- package/dist/derivatives/prompt.d.ts.map +1 -0
- package/dist/derivatives/prompt.js +281 -0
- package/dist/derivatives/prompt.js.map +1 -0
- package/dist/derivatives/registration.d.ts +56 -0
- package/dist/derivatives/registration.d.ts.map +1 -0
- package/dist/derivatives/registration.js +187 -0
- package/dist/derivatives/registration.js.map +1 -0
- package/dist/derivatives/scheduler.d.ts +114 -0
- package/dist/derivatives/scheduler.d.ts.map +1 -0
- package/dist/derivatives/scheduler.js +331 -0
- package/dist/derivatives/scheduler.js.map +1 -0
- package/dist/derivatives/store.d.ts +14 -0
- package/dist/derivatives/store.d.ts.map +1 -0
- package/dist/derivatives/store.js +79 -0
- package/dist/derivatives/store.js.map +1 -0
- package/dist/derivatives/types.d.ts +102 -0
- package/dist/derivatives/types.d.ts.map +1 -0
- package/dist/derivatives/types.js +29 -0
- package/dist/derivatives/types.js.map +1 -0
- package/dist/errors/catalog.d.ts +125 -0
- package/dist/errors/catalog.d.ts.map +1 -0
- package/dist/errors/catalog.js +198 -0
- package/dist/errors/catalog.js.map +1 -0
- package/dist/errors/pdpp-catalog.d.ts +36 -0
- package/dist/errors/pdpp-catalog.d.ts.map +1 -0
- package/dist/errors/pdpp-catalog.js +82 -0
- package/dist/errors/pdpp-catalog.js.map +1 -0
- package/dist/grants/index.d.ts +5 -0
- package/dist/grants/index.d.ts.map +1 -0
- package/dist/grants/index.js +6 -0
- package/dist/grants/index.js.map +1 -0
- package/dist/grants/pdpp-binding-store.d.ts +58 -0
- package/dist/grants/pdpp-binding-store.d.ts.map +1 -0
- package/dist/grants/pdpp-binding-store.js +97 -0
- package/dist/grants/pdpp-binding-store.js.map +1 -0
- package/dist/grants/pdpp-binding.d.ts +179 -0
- package/dist/grants/pdpp-binding.d.ts.map +1 -0
- package/dist/grants/pdpp-binding.js +214 -0
- package/dist/grants/pdpp-binding.js.map +1 -0
- package/dist/keys/index.d.ts +3 -0
- package/dist/keys/index.d.ts.map +1 -0
- package/dist/keys/index.js +2 -0
- package/dist/keys/index.js.map +1 -0
- package/dist/keys/public-only-account.d.ts +8 -0
- package/dist/keys/public-only-account.d.ts.map +1 -0
- package/dist/keys/public-only-account.js +21 -0
- package/dist/keys/public-only-account.js.map +1 -0
- package/dist/keys/server-account.d.ts +24 -0
- package/dist/keys/server-account.d.ts.map +1 -0
- package/dist/keys/server-account.js +2 -0
- package/dist/keys/server-account.js.map +1 -0
- package/dist/lineage/attestation.d.ts +42 -0
- package/dist/lineage/attestation.d.ts.map +1 -0
- package/dist/lineage/attestation.js +25 -0
- package/dist/lineage/attestation.js.map +1 -0
- package/dist/lineage/gateway.d.ts +105 -0
- package/dist/lineage/gateway.d.ts.map +1 -0
- package/dist/lineage/gateway.js +242 -0
- package/dist/lineage/gateway.js.map +1 -0
- package/dist/lineage/index.d.ts +5 -0
- package/dist/lineage/index.d.ts.map +1 -0
- package/dist/lineage/index.js +5 -0
- package/dist/lineage/index.js.map +1 -0
- package/dist/lineage/lineage.d.ts +141 -0
- package/dist/lineage/lineage.d.ts.map +1 -0
- package/dist/lineage/lineage.js +255 -0
- package/dist/lineage/lineage.js.map +1 -0
- package/dist/logger/index.d.ts +9 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +5 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logging/access-log.d.ts +23 -0
- package/dist/logging/access-log.d.ts.map +1 -0
- package/dist/logging/access-log.js +2 -0
- package/dist/logging/access-log.js.map +1 -0
- package/dist/logging/access-reader.d.ts +14 -0
- package/dist/logging/access-reader.d.ts.map +1 -0
- package/dist/logging/access-reader.js +2 -0
- package/dist/logging/access-reader.js.map +1 -0
- package/dist/mcp/activity.d.ts +68 -0
- package/dist/mcp/activity.d.ts.map +1 -0
- package/dist/mcp/activity.js +111 -0
- package/dist/mcp/activity.js.map +1 -0
- package/dist/mcp/builder-registration.d.ts +24 -0
- package/dist/mcp/builder-registration.d.ts.map +1 -0
- package/dist/mcp/builder-registration.js +89 -0
- package/dist/mcp/builder-registration.js.map +1 -0
- package/dist/mcp/connection-api.d.ts +201 -0
- package/dist/mcp/connection-api.d.ts.map +1 -0
- package/dist/mcp/connection-api.js +506 -0
- package/dist/mcp/connection-api.js.map +1 -0
- package/dist/mcp/grantee.d.ts +52 -0
- package/dist/mcp/grantee.d.ts.map +1 -0
- package/dist/mcp/grantee.js +91 -0
- package/dist/mcp/grantee.js.map +1 -0
- package/dist/mcp/index.d.ts +12 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +12 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/read-client.d.ts +176 -0
- package/dist/mcp/read-client.d.ts.map +1 -0
- package/dist/mcp/read-client.js +579 -0
- package/dist/mcp/read-client.js.map +1 -0
- package/dist/mcp/resources.d.ts +37 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +114 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/search/index.d.ts +34 -0
- package/dist/mcp/search/index.d.ts.map +1 -0
- package/dist/mcp/search/index.js +156 -0
- package/dist/mcp/search/index.js.map +1 -0
- package/dist/mcp/server.d.ts +72 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +447 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/session.d.ts +160 -0
- package/dist/mcp/session.d.ts.map +1 -0
- package/dist/mcp/session.js +243 -0
- package/dist/mcp/session.js.map +1 -0
- package/dist/mcp/store.d.ts +13 -0
- package/dist/mcp/store.d.ts.map +1 -0
- package/dist/mcp/store.js +119 -0
- package/dist/mcp/store.js.map +1 -0
- package/dist/mcp/token-expiry.d.ts +38 -0
- package/dist/mcp/token-expiry.d.ts.map +1 -0
- package/dist/mcp/token-expiry.js +55 -0
- package/dist/mcp/token-expiry.js.map +1 -0
- package/dist/mcp/tools.d.ts +95 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +1381 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/types.d.ts +135 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +24 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/payment/index.d.ts +2 -0
- package/dist/payment/index.d.ts.map +1 -0
- package/dist/payment/index.js +2 -0
- package/dist/payment/index.js.map +1 -0
- package/dist/payment/x402.d.ts +155 -0
- package/dist/payment/x402.d.ts.map +1 -0
- package/dist/payment/x402.js +402 -0
- package/dist/payment/x402.js.map +1 -0
- package/dist/pdpp/approval.d.ts +182 -0
- package/dist/pdpp/approval.d.ts.map +1 -0
- package/dist/pdpp/approval.js +337 -0
- package/dist/pdpp/approval.js.map +1 -0
- package/dist/pdpp/client-identity.d.ts +88 -0
- package/dist/pdpp/client-identity.d.ts.map +1 -0
- package/dist/pdpp/client-identity.js +183 -0
- package/dist/pdpp/client-identity.js.map +1 -0
- package/dist/pdpp/client-metadata.d.ts +95 -0
- package/dist/pdpp/client-metadata.d.ts.map +1 -0
- package/dist/pdpp/client-metadata.js +96 -0
- package/dist/pdpp/client-metadata.js.map +1 -0
- package/dist/pdpp/declaration.d.ts +118 -0
- package/dist/pdpp/declaration.d.ts.map +1 -0
- package/dist/pdpp/declaration.js +549 -0
- package/dist/pdpp/declaration.js.map +1 -0
- package/dist/pdpp/index.d.ts +35 -0
- package/dist/pdpp/index.d.ts.map +1 -0
- package/dist/pdpp/index.js +22 -0
- package/dist/pdpp/index.js.map +1 -0
- package/dist/pdpp/issuance.d.ts +91 -0
- package/dist/pdpp/issuance.d.ts.map +1 -0
- package/dist/pdpp/issuance.js +124 -0
- package/dist/pdpp/issuance.js.map +1 -0
- package/dist/pdpp/pkce.d.ts +53 -0
- package/dist/pdpp/pkce.d.ts.map +1 -0
- package/dist/pdpp/pkce.js +109 -0
- package/dist/pdpp/pkce.js.map +1 -0
- package/dist/pdpp/redirect.d.ts +60 -0
- package/dist/pdpp/redirect.d.ts.map +1 -0
- package/dist/pdpp/redirect.js +125 -0
- package/dist/pdpp/redirect.js.map +1 -0
- package/dist/pdpp/resolve.d.ts +53 -0
- package/dist/pdpp/resolve.d.ts.map +1 -0
- package/dist/pdpp/resolve.js +218 -0
- package/dist/pdpp/resolve.js.map +1 -0
- package/dist/pdpp/review.d.ts +155 -0
- package/dist/pdpp/review.d.ts.map +1 -0
- package/dist/pdpp/review.js +142 -0
- package/dist/pdpp/review.js.map +1 -0
- package/dist/pdpp/selection.d.ts +43 -0
- package/dist/pdpp/selection.d.ts.map +1 -0
- package/dist/pdpp/selection.js +211 -0
- package/dist/pdpp/selection.js.map +1 -0
- package/dist/pdpp/store.d.ts +204 -0
- package/dist/pdpp/store.d.ts.map +1 -0
- package/dist/pdpp/store.js +501 -0
- package/dist/pdpp/store.js.map +1 -0
- package/dist/pdpp/tokens.d.ts +149 -0
- package/dist/pdpp/tokens.d.ts.map +1 -0
- package/dist/pdpp/tokens.js +387 -0
- package/dist/pdpp/tokens.js.map +1 -0
- package/dist/pdpp/types.d.ts +258 -0
- package/dist/pdpp/types.d.ts.map +1 -0
- package/dist/pdpp/types.js +40 -0
- package/dist/pdpp/types.js.map +1 -0
- package/dist/pdpp-version.d.ts +28 -0
- package/dist/pdpp-version.d.ts.map +1 -0
- package/dist/pdpp-version.js +28 -0
- package/dist/pdpp-version.js.map +1 -0
- package/dist/policy/data-read.d.ts +56 -0
- package/dist/policy/data-read.d.ts.map +1 -0
- package/dist/policy/data-read.js +176 -0
- package/dist/policy/data-read.js.map +1 -0
- package/dist/policy/data-write.d.ts +69 -0
- package/dist/policy/data-write.d.ts.map +1 -0
- package/dist/policy/data-write.js +131 -0
- package/dist/policy/data-write.js.map +1 -0
- package/dist/policy/index.d.ts +4 -0
- package/dist/policy/index.d.ts.map +1 -0
- package/dist/policy/index.js +4 -0
- package/dist/policy/index.js.map +1 -0
- package/dist/policy/signed-artifacts.d.ts +17 -0
- package/dist/policy/signed-artifacts.d.ts.map +1 -0
- package/dist/policy/signed-artifacts.js +110 -0
- package/dist/policy/signed-artifacts.js.map +1 -0
- package/dist/ports/index.d.ts +243 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +7 -0
- package/dist/ports/index.js.map +1 -0
- package/dist/ports/pdpp-auth.d.ts +103 -0
- package/dist/ports/pdpp-auth.d.ts.map +1 -0
- package/dist/ports/pdpp-auth.js +37 -0
- package/dist/ports/pdpp-auth.js.map +1 -0
- package/dist/ports/pdpp-auth.test-utils.d.ts +9 -0
- package/dist/ports/pdpp-auth.test-utils.d.ts.map +1 -0
- package/dist/ports/pdpp-auth.test-utils.js +18 -0
- package/dist/ports/pdpp-auth.test-utils.js.map +1 -0
- package/dist/schemas/server-config.d.ts +190 -0
- package/dist/schemas/server-config.d.ts.map +1 -0
- package/dist/schemas/server-config.js +282 -0
- package/dist/schemas/server-config.js.map +1 -0
- package/dist/signing/index.d.ts +3 -0
- package/dist/signing/index.d.ts.map +1 -0
- package/dist/signing/index.js +3 -0
- package/dist/signing/index.js.map +1 -0
- package/dist/signing/request-signer.d.ts +20 -0
- package/dist/signing/request-signer.d.ts.map +1 -0
- package/dist/signing/request-signer.js +23 -0
- package/dist/signing/request-signer.js.map +1 -0
- package/dist/signing/signer.d.ts +40 -0
- package/dist/signing/signer.d.ts.map +1 -0
- package/dist/signing/signer.js +56 -0
- package/dist/signing/signer.js.map +1 -0
- package/dist/storage/adapters/index.d.ts +4 -0
- package/dist/storage/adapters/index.d.ts.map +1 -0
- package/dist/storage/adapters/index.js +3 -0
- package/dist/storage/adapters/index.js.map +1 -0
- package/dist/storage/adapters/interface.d.ts +57 -0
- package/dist/storage/adapters/interface.d.ts.map +1 -0
- package/dist/storage/adapters/interface.js +2 -0
- package/dist/storage/adapters/interface.js.map +1 -0
- package/dist/storage/adapters/sdk.d.ts +23 -0
- package/dist/storage/adapters/sdk.d.ts.map +1 -0
- package/dist/storage/adapters/sdk.js +73 -0
- package/dist/storage/adapters/sdk.js.map +1 -0
- package/dist/storage/adapters/vana.d.ts +12 -0
- package/dist/storage/adapters/vana.d.ts.map +1 -0
- package/dist/storage/adapters/vana.js +111 -0
- package/dist/storage/adapters/vana.js.map +1 -0
- package/dist/storage/blocks/build.d.ts +20 -0
- package/dist/storage/blocks/build.d.ts.map +1 -0
- package/dist/storage/blocks/build.js +378 -0
- package/dist/storage/blocks/build.js.map +1 -0
- package/dist/storage/blocks/cursor.d.ts +33 -0
- package/dist/storage/blocks/cursor.d.ts.map +1 -0
- package/dist/storage/blocks/cursor.js +142 -0
- package/dist/storage/blocks/cursor.js.map +1 -0
- package/dist/storage/blocks/errors.d.ts +6 -0
- package/dist/storage/blocks/errors.d.ts.map +1 -0
- package/dist/storage/blocks/errors.js +9 -0
- package/dist/storage/blocks/errors.js.map +1 -0
- package/dist/storage/blocks/index.d.ts +6 -0
- package/dist/storage/blocks/index.d.ts.map +1 -0
- package/dist/storage/blocks/index.js +5 -0
- package/dist/storage/blocks/index.js.map +1 -0
- package/dist/storage/blocks/select.d.ts +29 -0
- package/dist/storage/blocks/select.d.ts.map +1 -0
- package/dist/storage/blocks/select.js +120 -0
- package/dist/storage/blocks/select.js.map +1 -0
- package/dist/storage/blocks/types.d.ts +56 -0
- package/dist/storage/blocks/types.d.ts.map +1 -0
- package/dist/storage/blocks/types.js +2 -0
- package/dist/storage/blocks/types.js.map +1 -0
- package/dist/storage/hierarchy/index.d.ts +3 -0
- package/dist/storage/hierarchy/index.d.ts.map +1 -0
- package/dist/storage/hierarchy/index.js +2 -0
- package/dist/storage/hierarchy/index.js.map +1 -0
- package/dist/storage/hierarchy/manager.d.ts +9 -0
- package/dist/storage/hierarchy/manager.d.ts.map +1 -0
- package/dist/storage/hierarchy/manager.js +2 -0
- package/dist/storage/hierarchy/manager.js.map +1 -0
- package/dist/storage/hierarchy/paths.d.ts +11 -0
- package/dist/storage/hierarchy/paths.d.ts.map +1 -0
- package/dist/storage/hierarchy/paths.js +43 -0
- package/dist/storage/hierarchy/paths.js.map +1 -0
- package/dist/storage/index/index.d.ts +3 -0
- package/dist/storage/index/index.d.ts.map +1 -0
- package/dist/storage/index/index.js +2 -0
- package/dist/storage/index/index.js.map +1 -0
- package/dist/storage/index/manager.d.ts +63 -0
- package/dist/storage/index/manager.d.ts.map +1 -0
- package/dist/storage/index/manager.js +2 -0
- package/dist/storage/index/manager.js.map +1 -0
- package/dist/storage/index/schema.d.ts +2 -0
- package/dist/storage/index/schema.d.ts.map +1 -0
- package/dist/storage/index/schema.js +2 -0
- package/dist/storage/index/schema.js.map +1 -0
- package/dist/storage/index/types.d.ts +37 -0
- package/dist/storage/index/types.d.ts.map +1 -0
- package/dist/storage/index/types.js +2 -0
- package/dist/storage/index/types.js.map +1 -0
- package/dist/storage/pdpp-records/cursor.d.ts +27 -0
- package/dist/storage/pdpp-records/cursor.d.ts.map +1 -0
- package/dist/storage/pdpp-records/cursor.js +49 -0
- package/dist/storage/pdpp-records/cursor.js.map +1 -0
- package/dist/storage/pdpp-records/enforcement.d.ts +37 -0
- package/dist/storage/pdpp-records/enforcement.d.ts.map +1 -0
- package/dist/storage/pdpp-records/enforcement.js +79 -0
- package/dist/storage/pdpp-records/enforcement.js.map +1 -0
- package/dist/storage/pdpp-records/index.d.ts +8 -0
- package/dist/storage/pdpp-records/index.d.ts.map +1 -0
- package/dist/storage/pdpp-records/index.js +8 -0
- package/dist/storage/pdpp-records/index.js.map +1 -0
- package/dist/storage/pdpp-records/interface.d.ts +49 -0
- package/dist/storage/pdpp-records/interface.d.ts.map +1 -0
- package/dist/storage/pdpp-records/interface.js +2 -0
- package/dist/storage/pdpp-records/interface.js.map +1 -0
- package/dist/storage/pdpp-records/memory-store.d.ts +9 -0
- package/dist/storage/pdpp-records/memory-store.d.ts.map +1 -0
- package/dist/storage/pdpp-records/memory-store.js +0 -0
- package/dist/storage/pdpp-records/memory-store.js.map +1 -0
- package/dist/storage/pdpp-records/record-key.d.ts +52 -0
- package/dist/storage/pdpp-records/record-key.d.ts.map +1 -0
- package/dist/storage/pdpp-records/record-key.js +97 -0
- package/dist/storage/pdpp-records/record-key.js.map +1 -0
- package/dist/storage/pdpp-records/stream-declaration.d.ts +43 -0
- package/dist/storage/pdpp-records/stream-declaration.d.ts.map +1 -0
- package/dist/storage/pdpp-records/stream-declaration.js +17 -0
- package/dist/storage/pdpp-records/stream-declaration.js.map +1 -0
- package/dist/storage/pdpp-records/types.d.ts +93 -0
- package/dist/storage/pdpp-records/types.d.ts.map +1 -0
- package/dist/storage/pdpp-records/types.js +17 -0
- package/dist/storage/pdpp-records/types.js.map +1 -0
- package/dist/storage/preview.d.ts +12 -0
- package/dist/storage/preview.d.ts.map +1 -0
- package/dist/storage/preview.js +239 -0
- package/dist/storage/preview.js.map +1 -0
- package/dist/sync/cursor.d.ts +10 -0
- package/dist/sync/cursor.d.ts.map +1 -0
- package/dist/sync/cursor.js +2 -0
- package/dist/sync/cursor.js.map +1 -0
- package/dist/sync/data-point-feed.d.ts +35 -0
- package/dist/sync/data-point-feed.d.ts.map +1 -0
- package/dist/sync/data-point-feed.js +122 -0
- package/dist/sync/data-point-feed.js.map +1 -0
- package/dist/sync/data-point-id.d.ts +7 -0
- package/dist/sync/data-point-id.d.ts.map +1 -0
- package/dist/sync/data-point-id.js +16 -0
- package/dist/sync/data-point-id.js.map +1 -0
- package/dist/sync/delete-data-port.d.ts +50 -0
- package/dist/sync/delete-data-port.d.ts.map +1 -0
- package/dist/sync/delete-data-port.js +244 -0
- package/dist/sync/delete-data-port.js.map +1 -0
- package/dist/sync/engine/sync-manager.d.ts +58 -0
- package/dist/sync/engine/sync-manager.d.ts.map +1 -0
- package/dist/sync/engine/sync-manager.js +285 -0
- package/dist/sync/engine/sync-manager.js.map +1 -0
- package/dist/sync/index.d.ts +15 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +14 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/issues.d.ts +55 -0
- package/dist/sync/issues.d.ts.map +1 -0
- package/dist/sync/issues.js +168 -0
- package/dist/sync/issues.js.map +1 -0
- package/dist/sync/pdpp-import.d.ts +192 -0
- package/dist/sync/pdpp-import.d.ts.map +1 -0
- package/dist/sync/pdpp-import.js +422 -0
- package/dist/sync/pdpp-import.js.map +1 -0
- package/dist/sync/pending-blob-deletions.d.ts +29 -0
- package/dist/sync/pending-blob-deletions.d.ts.map +1 -0
- package/dist/sync/pending-blob-deletions.js +116 -0
- package/dist/sync/pending-blob-deletions.js.map +1 -0
- package/dist/sync/retry-memory.d.ts +33 -0
- package/dist/sync/retry-memory.d.ts.map +1 -0
- package/dist/sync/retry-memory.js +68 -0
- package/dist/sync/retry-memory.js.map +1 -0
- package/dist/sync/scope-deletions.d.ts +155 -0
- package/dist/sync/scope-deletions.d.ts.map +1 -0
- package/dist/sync/scope-deletions.js +225 -0
- package/dist/sync/scope-deletions.js.map +1 -0
- package/dist/sync/tombstone.d.ts +27 -0
- package/dist/sync/tombstone.d.ts.map +1 -0
- package/dist/sync/tombstone.js +28 -0
- package/dist/sync/tombstone.js.map +1 -0
- package/dist/sync/types.d.ts +27 -0
- package/dist/sync/types.d.ts.map +1 -0
- package/dist/sync/types.js +2 -0
- package/dist/sync/types.js.map +1 -0
- package/dist/sync/workers/delete.d.ts +163 -0
- package/dist/sync/workers/delete.d.ts.map +1 -0
- package/dist/sync/workers/delete.js +474 -0
- package/dist/sync/workers/delete.js.map +1 -0
- package/dist/sync/workers/download.d.ts +159 -0
- package/dist/sync/workers/download.d.ts.map +1 -0
- package/dist/sync/workers/download.js +731 -0
- package/dist/sync/workers/download.js.map +1 -0
- package/dist/sync/workers/upload.d.ts +98 -0
- package/dist/sync/workers/upload.d.ts.map +1 -0
- package/dist/sync/workers/upload.js +412 -0
- package/dist/sync/workers/upload.js.map +1 -0
- package/dist/test-utils/e2ee-fixtures.d.ts +94 -0
- package/dist/test-utils/e2ee-fixtures.d.ts.map +1 -0
- package/dist/test-utils/e2ee-fixtures.js +116 -0
- package/dist/test-utils/e2ee-fixtures.js.map +1 -0
- package/dist/test-utils/e2ee-gateway.d.ts +61 -0
- package/dist/test-utils/e2ee-gateway.d.ts.map +1 -0
- package/dist/test-utils/e2ee-gateway.js +248 -0
- package/dist/test-utils/e2ee-gateway.js.map +1 -0
- package/dist/test-utils/index.d.ts +5 -0
- package/dist/test-utils/index.d.ts.map +1 -0
- package/dist/test-utils/index.js +5 -0
- package/dist/test-utils/index.js.map +1 -0
- package/dist/test-utils/memory-storage.d.ts +12 -0
- package/dist/test-utils/memory-storage.d.ts.map +1 -0
- package/dist/test-utils/memory-storage.js +146 -0
- package/dist/test-utils/memory-storage.js.map +1 -0
- package/dist/test-utils/wallet.d.ts +47 -0
- package/dist/test-utils/wallet.d.ts.map +1 -0
- package/dist/test-utils/wallet.js +98 -0
- package/dist/test-utils/wallet.js.map +1 -0
- package/dist/write/attribution.d.ts +185 -0
- package/dist/write/attribution.d.ts.map +1 -0
- package/dist/write/attribution.js +450 -0
- package/dist/write/attribution.js.map +1 -0
- package/dist/write/authorize.d.ts +77 -0
- package/dist/write/authorize.d.ts.map +1 -0
- package/dist/write/authorize.js +109 -0
- package/dist/write/authorize.js.map +1 -0
- package/dist/write/index.d.ts +5 -0
- package/dist/write/index.d.ts.map +1 -0
- package/dist/write/index.js +5 -0
- package/dist/write/index.js.map +1 -0
- package/dist/write/route.d.ts +61 -0
- package/dist/write/route.d.ts.map +1 -0
- package/dist/write/route.js +132 -0
- package/dist/write/route.js.map +1 -0
- package/dist/write/session.d.ts +96 -0
- package/dist/write/session.d.ts.map +1 -0
- package/dist/write/session.js +136 -0
- package/dist/write/session.js.map +1 -0
- package/package.json +175 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { BUILDER_REGISTRATION_TYPES, builderRegistrationDomain, verifyGrantRegistration, } from "@opendatalabs/vana-sdk/browser";
|
|
2
|
+
import { encodeAbiParameters, isAddressEqual, keccak256, recoverTypedDataAddress, toHex, } from "viem";
|
|
3
|
+
import { publicKeyToAddress } from "viem/accounts";
|
|
4
|
+
import { GrantRevokedError, SignedArtifactInvalidError, SignedArtifactMissingError, } from "../errors/catalog.js";
|
|
5
|
+
const DOMAIN_TYPE = "DataPortabilityDomain(uint256 chainId,address verifyingContract)";
|
|
6
|
+
const DOMAIN_TYPE_HASH = keccak256(toHex(DOMAIN_TYPE));
|
|
7
|
+
function grantExpiryToUint256(value) {
|
|
8
|
+
if (value === null || value === "" || value === "0")
|
|
9
|
+
return "0";
|
|
10
|
+
if (/^\d+$/u.test(value))
|
|
11
|
+
return value;
|
|
12
|
+
const millis = Date.parse(value);
|
|
13
|
+
if (!Number.isNaN(millis))
|
|
14
|
+
return String(Math.floor(millis / 1000));
|
|
15
|
+
throw new SignedArtifactInvalidError({ artifact: "grant" });
|
|
16
|
+
}
|
|
17
|
+
export async function verifySignedArtifacts(input) {
|
|
18
|
+
// TODO(step-4): revokedAt is Gateway-attested; verify revocation on-chain (contract s1 step 6).
|
|
19
|
+
if (input.grant.revokedAt !== null) {
|
|
20
|
+
throw new GrantRevokedError({ grantId: input.grant.id });
|
|
21
|
+
}
|
|
22
|
+
if (!input.grant.signature || !input.builder.signature) {
|
|
23
|
+
throw new SignedArtifactMissingError();
|
|
24
|
+
}
|
|
25
|
+
let grant;
|
|
26
|
+
try {
|
|
27
|
+
grant = await verifyGrantRegistration({
|
|
28
|
+
gatewayConfig: input.gatewayConfig,
|
|
29
|
+
grantorAddress: input.grant.grantorAddress,
|
|
30
|
+
granteeId: input.grant.granteeId,
|
|
31
|
+
scopes: input.grant.scopes,
|
|
32
|
+
grantVersion: input.grant.grantVersion,
|
|
33
|
+
expiresAt: grantExpiryToUint256(input.grant.expiresAt),
|
|
34
|
+
signature: input.grant.signature,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
throw new SignedArtifactInvalidError({ artifact: "grant" });
|
|
39
|
+
}
|
|
40
|
+
if (!grant.valid ||
|
|
41
|
+
!sameAddress(grant.grantorAddress, input.ownerAddress) ||
|
|
42
|
+
!sameAddress(grant.grantorAddress, input.grant.grantorAddress)) {
|
|
43
|
+
throw new SignedArtifactInvalidError({ artifact: "grant" });
|
|
44
|
+
}
|
|
45
|
+
let recoveredBuilder;
|
|
46
|
+
let publicKeyAddress;
|
|
47
|
+
let builderId;
|
|
48
|
+
try {
|
|
49
|
+
recoveredBuilder = await recoverTypedDataAddress({
|
|
50
|
+
domain: builderRegistrationDomain(input.gatewayConfig),
|
|
51
|
+
types: BUILDER_REGISTRATION_TYPES,
|
|
52
|
+
primaryType: "BuilderRegistration",
|
|
53
|
+
message: {
|
|
54
|
+
ownerAddress: input.builder.ownerAddress,
|
|
55
|
+
granteeAddress: input.builder.granteeAddress,
|
|
56
|
+
publicKey: input.builder.publicKey,
|
|
57
|
+
appUrl: input.builder.appUrl,
|
|
58
|
+
},
|
|
59
|
+
signature: input.builder.signature,
|
|
60
|
+
});
|
|
61
|
+
publicKeyAddress = publicKeyToAddress(input.builder.publicKey);
|
|
62
|
+
builderId = deriveBuilderId(input.builder, input.gatewayConfig);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
throw new SignedArtifactInvalidError({ artifact: "builder" });
|
|
66
|
+
}
|
|
67
|
+
if (!sameAddress(recoveredBuilder, input.builder.ownerAddress) ||
|
|
68
|
+
!sameAddress(publicKeyAddress, input.builder.granteeAddress) ||
|
|
69
|
+
// id is not signed; rebinding it to the signed fields stops a Gateway from
|
|
70
|
+
// pairing an attacker's signed builder with the owner's grant.
|
|
71
|
+
builderId.toLowerCase() !== input.builder.id.toLowerCase() ||
|
|
72
|
+
builderId.toLowerCase() !== input.grant.granteeId.toLowerCase()) {
|
|
73
|
+
throw new SignedArtifactInvalidError({ artifact: "builder" });
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export function deriveBuilderId(builder, gatewayConfig) {
|
|
77
|
+
const domain = builderRegistrationDomain(gatewayConfig);
|
|
78
|
+
if (domain.chainId === undefined || domain.verifyingContract === undefined) {
|
|
79
|
+
throw new Error("Builder registration domain is incomplete");
|
|
80
|
+
}
|
|
81
|
+
// Gateway/on-chain IDs use this custom domain separator, distinct from the
|
|
82
|
+
// standard EIP-712 domain hash used to verify the builder signature above.
|
|
83
|
+
const domainSeparator = keccak256(encodeAbiParameters([
|
|
84
|
+
{ name: "typeHash", type: "bytes32" },
|
|
85
|
+
{ name: "chainId", type: "uint256" },
|
|
86
|
+
{ name: "verifyingContract", type: "address" },
|
|
87
|
+
], [DOMAIN_TYPE_HASH, BigInt(domain.chainId), domain.verifyingContract]));
|
|
88
|
+
return keccak256(encodeAbiParameters([
|
|
89
|
+
{ name: "domainSeparator", type: "bytes32" },
|
|
90
|
+
{ name: "owner", type: "address" },
|
|
91
|
+
{ name: "granteeAddress", type: "address" },
|
|
92
|
+
{ name: "publicKey", type: "string" },
|
|
93
|
+
{ name: "appUrl", type: "string" },
|
|
94
|
+
], [
|
|
95
|
+
domainSeparator,
|
|
96
|
+
builder.ownerAddress,
|
|
97
|
+
builder.granteeAddress,
|
|
98
|
+
builder.publicKey,
|
|
99
|
+
builder.appUrl,
|
|
100
|
+
]));
|
|
101
|
+
}
|
|
102
|
+
function sameAddress(left, right) {
|
|
103
|
+
try {
|
|
104
|
+
return isAddressEqual(left, right);
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=signed-artifacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signed-artifacts.js","sourceRoot":"","sources":["../../src/policy/signed-artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import type { Builder, DataFileEnvelope, DataPointListResult, DataPointRecord, GatewayGrantResponse, ListDataPointsOptions, Schema, ServerInfo } from "@opendatalabs/vana-sdk/browser";
|
|
2
|
+
import type { WriteResult } from "../storage/hierarchy/index.js";
|
|
3
|
+
import type { DataBlockManifest, DataScopeBlock, ReadScopeBlocksResponse } from "../storage/blocks/index.js";
|
|
4
|
+
import type { IndexEntry, NewIndexEntry, ScopeSummary } from "../storage/index/types.js";
|
|
5
|
+
export interface ProtocolGatewayPort {
|
|
6
|
+
getBuilder(address: string): Promise<Builder | null>;
|
|
7
|
+
getGrant(grantId: string): Promise<GatewayGrantResponse | null>;
|
|
8
|
+
getSchemaForScope(scope: string): Promise<Schema | null>;
|
|
9
|
+
getServer(address: string): Promise<ServerInfo | null>;
|
|
10
|
+
getDataPoint(dataPointId: string): Promise<DataPointRecord | null>;
|
|
11
|
+
listDataPointsByOwner(owner: string, cursor: string | null, options?: ListDataPointsOptions): Promise<DataPointListResult>;
|
|
12
|
+
}
|
|
13
|
+
export interface GrantVerifierPort {
|
|
14
|
+
getGrant(grantId: string): Promise<GatewayGrantResponse | null>;
|
|
15
|
+
}
|
|
16
|
+
export interface AuthSessionVerifierPort {
|
|
17
|
+
getBuilder(address: string): Promise<Builder | null>;
|
|
18
|
+
}
|
|
19
|
+
export interface FileRegistrySyncRegistryPort {
|
|
20
|
+
getDataPoint(dataPointId: string): Promise<DataPointRecord | null>;
|
|
21
|
+
listDataPointsByOwner(owner: string, cursor: string | null, options?: ListDataPointsOptions): Promise<DataPointListResult>;
|
|
22
|
+
}
|
|
23
|
+
export interface PlatformCryptoPort {
|
|
24
|
+
randomBytes(length: number): Uint8Array;
|
|
25
|
+
}
|
|
26
|
+
export interface RuntimeStoragePort {
|
|
27
|
+
kind: "node-fs-sqlite" | "browser-indexeddb-opfs" | "custom";
|
|
28
|
+
}
|
|
29
|
+
export interface DataStorageListOptions {
|
|
30
|
+
limit?: number;
|
|
31
|
+
offset?: number;
|
|
32
|
+
}
|
|
33
|
+
export interface DataStorageScopeListOptions extends DataStorageListOptions {
|
|
34
|
+
scopePrefix?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface DataStorageEntryLookup {
|
|
37
|
+
scope: string;
|
|
38
|
+
fileId?: string;
|
|
39
|
+
at?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface DataStorageEnvelopePreview {
|
|
42
|
+
text: string;
|
|
43
|
+
truncated: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface DataStoragePort extends RuntimeStoragePort {
|
|
46
|
+
listScopes(options: DataStorageScopeListOptions): {
|
|
47
|
+
scopes: ScopeSummary[];
|
|
48
|
+
total: number;
|
|
49
|
+
};
|
|
50
|
+
listVersions(scope: string, options: DataStorageListOptions): IndexEntry[];
|
|
51
|
+
countVersions(scope: string): number;
|
|
52
|
+
findEntry(lookup: DataStorageEntryLookup): IndexEntry | undefined;
|
|
53
|
+
findByFileId(fileId: string): IndexEntry | undefined;
|
|
54
|
+
/** Dedup lookup for the download worker: find an entry by its DPv2 data-point id. */
|
|
55
|
+
findByDataPointId(dataPointId: string): IndexEntry | undefined;
|
|
56
|
+
findUnsynced(options?: {
|
|
57
|
+
limit?: number;
|
|
58
|
+
}): IndexEntry[];
|
|
59
|
+
readEnvelope(scope: string, collectedAt: string): Promise<DataFileEnvelope>;
|
|
60
|
+
/** Read the stored JSON envelope without parsing its potentially large data. */
|
|
61
|
+
readEnvelopeBytes?(scope: string, collectedAt: string): Promise<Uint8Array>;
|
|
62
|
+
/** Open a fresh byte stream for the stored JSON envelope. May be called twice. */
|
|
63
|
+
readEnvelopeStream?(scope: string, collectedAt: string): Promise<ReadableStream<Uint8Array>>;
|
|
64
|
+
readEnvelopePreview?(scope: string, collectedAt: string, options: {
|
|
65
|
+
maxBytes: number;
|
|
66
|
+
}): Promise<DataStorageEnvelopePreview>;
|
|
67
|
+
readScopeBlocks?(scope: string, collectedAt: string, options: {
|
|
68
|
+
cursor?: string;
|
|
69
|
+
maxBytes: number;
|
|
70
|
+
/**
|
|
71
|
+
* Block-addressed read: return only these blocks, in this order. When
|
|
72
|
+
* set, `cursor` is ignored and no `nextCursor` is produced; `maxBytes`
|
|
73
|
+
* still applies and any ids it cuts off are reported as warnings.
|
|
74
|
+
*/
|
|
75
|
+
blockIds?: readonly string[];
|
|
76
|
+
}): Promise<ReadScopeBlocksResponse>;
|
|
77
|
+
/**
|
|
78
|
+
* Read a scope's block manifest (table of contents) without reading any block
|
|
79
|
+
* values. Returns null when the scope has no manifest yet.
|
|
80
|
+
*/
|
|
81
|
+
readBlockManifest?(scope: string, collectedAt: string): Promise<DataBlockManifest | null>;
|
|
82
|
+
hasScopeBlocks?(scope: string, collectedAt: string): boolean | Promise<boolean>;
|
|
83
|
+
canReadScopeBlocks?(scope: string, collectedAt: string): boolean | Promise<boolean>;
|
|
84
|
+
writeEnvelope(envelope: DataFileEnvelope): Promise<WriteResult>;
|
|
85
|
+
writeBlockManifest?(scope: string, collectedAt: string, manifest: DataBlockManifest, blocks: DataScopeBlock[]): Promise<void>;
|
|
86
|
+
insertEntry(entry: NewIndexEntry): IndexEntry | Promise<IndexEntry>;
|
|
87
|
+
updateFileId(path: string, fileId: string): boolean | Promise<boolean>;
|
|
88
|
+
/** Highest stored DPv2 `version` for a scope; 0 if none. */
|
|
89
|
+
findLatestVersionByScope(scope: string): number | Promise<number>;
|
|
90
|
+
/** Stamps the DPv2 dataPointId on an entry after registerDataPoint. */
|
|
91
|
+
updateDataPointId(path: string, dataPointId: string): boolean | Promise<boolean>;
|
|
92
|
+
/**
|
|
93
|
+
* Rewrites the DPv2 `version` on an entry. Used when the upload worker
|
|
94
|
+
* rebases a registration onto the registry's live version after a
|
|
95
|
+
* stale-expectedVersion conflict — the blob key embeds the version, so
|
|
96
|
+
* the local row must follow the registered one.
|
|
97
|
+
*/
|
|
98
|
+
updateEntryVersion(path: string, version: number): boolean | Promise<boolean>;
|
|
99
|
+
deleteScope(scope: string): Promise<number>;
|
|
100
|
+
/**
|
|
101
|
+
* Delete a single version (index entry + its local blob) by its gateway fileId.
|
|
102
|
+
* Returns true if a local copy existed and was removed, false if none was present (no-op).
|
|
103
|
+
* Used by sync delete-reconciliation to drop a copy the gateway reports as deleted.
|
|
104
|
+
*/
|
|
105
|
+
deleteByFileId(fileId: string): Promise<boolean>;
|
|
106
|
+
/**
|
|
107
|
+
* Delete a single version (index entry + its local blob + block sidecars)
|
|
108
|
+
* by its DPv2 identity (scope, collectedAt). Returns true if a local copy
|
|
109
|
+
* existed and was removed, false if none was present (no-op). Used by sync
|
|
110
|
+
* deletion reconciliation to drop the exact versions a gateway tombstone
|
|
111
|
+
* covers while leaving a newer local re-ingest in place.
|
|
112
|
+
*/
|
|
113
|
+
deleteVersion(scope: string, collectedAt: string): Promise<boolean>;
|
|
114
|
+
/**
|
|
115
|
+
* Drop a single unsynced index entry by path, WITHOUT touching any blob.
|
|
116
|
+
* Used by the upload worker to evict an orphaned row whose local payload
|
|
117
|
+
* file is already gone (e.g. a manual `data/<scope>` deletion): the row can
|
|
118
|
+
* never upload, so retrying it head-blocks the scope forever. Returns true
|
|
119
|
+
* if a row was removed. No-op-safe when the path is unknown.
|
|
120
|
+
*/
|
|
121
|
+
dropUnsyncedEntry?(path: string): boolean | Promise<boolean>;
|
|
122
|
+
}
|
|
123
|
+
export interface RuntimeAvailabilityPort {
|
|
124
|
+
isAvailable(): boolean | Promise<boolean>;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* A gateway data-point row as seen by sync, including the deletion marker the
|
|
128
|
+
* plain SDK `DataPointRecord` does not model. `deletedAt` is null while the
|
|
129
|
+
* point is live and an ISO timestamp once the owner has tombstoned it.
|
|
130
|
+
*/
|
|
131
|
+
export interface DataPointFeedRecord extends DataPointRecord {
|
|
132
|
+
deletedAt: string | null;
|
|
133
|
+
}
|
|
134
|
+
export interface DataPointFeedListOptions extends ListDataPointsOptions {
|
|
135
|
+
/**
|
|
136
|
+
* Ask the gateway to include tombstoned rows (with `deletedAt` set). Sync
|
|
137
|
+
* always passes true: deletions must reach every replica or the local copy
|
|
138
|
+
* would be re-uploaded and resurrect the point.
|
|
139
|
+
*/
|
|
140
|
+
includeDeleted?: boolean;
|
|
141
|
+
}
|
|
142
|
+
export interface DataPointFeedListResult {
|
|
143
|
+
dataPoints: DataPointFeedRecord[];
|
|
144
|
+
cursor: string | null;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Deletion-aware view of the gateway data-point registry. Mirrors the SDK
|
|
148
|
+
* `GatewayClient` listing/lookup shape but surfaces `deletedAt`, which the
|
|
149
|
+
* SDK client (3.14) neither requests (`includeDeleted`) nor types.
|
|
150
|
+
*/
|
|
151
|
+
export interface DataPointFeedPort {
|
|
152
|
+
listDataPointsByOwner(owner: string, cursor: string | null, options?: DataPointFeedListOptions): Promise<DataPointFeedListResult>;
|
|
153
|
+
/**
|
|
154
|
+
* Current registry row for (owner, scope), deleted or not. Null when the
|
|
155
|
+
* point was never registered. A tombstoned point comes back with
|
|
156
|
+
* `deletedAt` set (never as a thrown 410).
|
|
157
|
+
*/
|
|
158
|
+
getDataPoint(input: {
|
|
159
|
+
ownerAddress: string;
|
|
160
|
+
scope: string;
|
|
161
|
+
}): Promise<DataPointFeedRecord | null>;
|
|
162
|
+
}
|
|
163
|
+
export type TombstoneOutcome = {
|
|
164
|
+
status: "tombstoned";
|
|
165
|
+
dataPointId: string;
|
|
166
|
+
/** The tombstone's own version (previous current + 1). */
|
|
167
|
+
version: string;
|
|
168
|
+
deletedAt: string | null;
|
|
169
|
+
} | {
|
|
170
|
+
status: "already-deleted";
|
|
171
|
+
dataPointId: string;
|
|
172
|
+
/**
|
|
173
|
+
* The winning tombstone's registry version as the gateway reports it
|
|
174
|
+
* (possibly higher than the version this replica attempted), or null
|
|
175
|
+
* when the gateway did not say. Null means the covered key range is
|
|
176
|
+
* unknown, so callers defer enumeration rather than guess.
|
|
177
|
+
*/
|
|
178
|
+
version: string | null;
|
|
179
|
+
deletedAt: string | null;
|
|
180
|
+
} | {
|
|
181
|
+
/** The gateway has no row for (owner, scope): nothing to tombstone. */
|
|
182
|
+
status: "not-registered";
|
|
183
|
+
dataPointId: string;
|
|
184
|
+
};
|
|
185
|
+
export interface DeleteBlobVersionsOutcome {
|
|
186
|
+
/** Versions whose blob existed and was deleted. */
|
|
187
|
+
deleted: string[];
|
|
188
|
+
/** Versions with no blob in storage (404): nothing to do, counts as done. */
|
|
189
|
+
missing: string[];
|
|
190
|
+
/** Versions whose delete failed (rate limit, 5xx, network); retry later. */
|
|
191
|
+
failed: Array<{
|
|
192
|
+
version: string;
|
|
193
|
+
error: string;
|
|
194
|
+
}>;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Remote side of durable deletion. `tombstone` is the durable fact (an
|
|
198
|
+
* owner-signed AddData with the tombstone commitments, recorded by the
|
|
199
|
+
* gateway); `deleteBlobVersions` removes the ciphertext of exactly the given
|
|
200
|
+
* versions, one exact-key delete per version, never a scope-wide prefix: a
|
|
201
|
+
* re-add registered after the tombstone lives under a higher version key and
|
|
202
|
+
* is untouched by construction. Callers MUST run tombstone first: a blob
|
|
203
|
+
* delete without a tombstone leaves a live registry row every replica would
|
|
204
|
+
* 404 on and then wedge.
|
|
205
|
+
*/
|
|
206
|
+
export interface DeleteDataPort {
|
|
207
|
+
tombstone(scope: string): Promise<TombstoneOutcome>;
|
|
208
|
+
deleteBlobVersions(scope: string, versions: string[]): Promise<DeleteBlobVersionsOutcome>;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Blob deletion work still to do after a tombstone landed, in one of three
|
|
212
|
+
* shapes:
|
|
213
|
+
* - an exact key: `{ scope, version }`;
|
|
214
|
+
* - a contiguous version range `{ scope, version: null, range }` (both
|
|
215
|
+
* bounds inclusive, decimal strings): the registry versions a tombstone
|
|
216
|
+
* covers, kept as bounds so a large tombstone version never has to be
|
|
217
|
+
* materialised key by key; passes take keys from the head and advance
|
|
218
|
+
* `from`;
|
|
219
|
+
* - an unexpanded marker `{ scope, version: null }` (no range): the gateway
|
|
220
|
+
* did not report the tombstone's version, so the covered range is not
|
|
221
|
+
* known yet; the retry expands it once the registry answers.
|
|
222
|
+
*/
|
|
223
|
+
export interface PendingBlobDeletion {
|
|
224
|
+
scope: string;
|
|
225
|
+
version: string | null;
|
|
226
|
+
range?: {
|
|
227
|
+
from: string;
|
|
228
|
+
to: string;
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Durable retry marker for blob deletions that could not complete AFTER the
|
|
233
|
+
* gateway tombstone landed (storage failure, rate limit, or a batch larger
|
|
234
|
+
* than one pass may send). The tombstone already makes the deletion stick;
|
|
235
|
+
* this only exists so later sync cycles finish removing the ciphertext, key
|
|
236
|
+
* by key.
|
|
237
|
+
*/
|
|
238
|
+
export interface PendingBlobDeletionStore {
|
|
239
|
+
list(): Promise<PendingBlobDeletion[]>;
|
|
240
|
+
add(keys: PendingBlobDeletion[]): Promise<void>;
|
|
241
|
+
remove(keys: PendingBlobDeletion[]): Promise<void>;
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
// FeeVerifier was the pre-X402 hook that gated reads on grant.paymentStatus
|
|
3
|
+
// via a side-channel call to the gateway. Replaced by the X402 layer on
|
|
4
|
+
// GET /v1/data/:scope (see packages/core/src/payment/x402.ts), which
|
|
5
|
+
// forwards the builder's signed payment to gateway.payForOperation as part
|
|
6
|
+
// of the read response cycle. Reads no longer block on prior paymentStatus.
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":";AA6TA,4EAA4E;AAC5E,wEAAwE;AACxE,qEAAqE;AACrE,2EAA2E;AAC3E,4EAA4E"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PDPP AS -> RS seam types, MIRRORED from `pdpp-ps-auth-v2-0917`'s published
|
|
3
|
+
* contract (`~/code/pdpp/local/conformance-fleet-0917/ps-auth-contract.md`,
|
|
4
|
+
* branch `feat/pdpp-as-grants`), not authored here.
|
|
5
|
+
*
|
|
6
|
+
* The AS lane owns `packages/core/src/pdpp/**` on its own branch. That branch
|
|
7
|
+
* is not merged as of this lane's implementation, so these types are a local
|
|
8
|
+
* mirror this lane's route/enforcement layer codes against now. When the AS
|
|
9
|
+
* branch merges, this file should be deleted and its imports repointed at
|
|
10
|
+
* `@opendatalabs/personal-server-ts-core/pdpp` — the shapes below are meant
|
|
11
|
+
* to be identical, not a superset or a simplification.
|
|
12
|
+
*
|
|
13
|
+
* DO NOT widen these beyond the AS contract. In particular:
|
|
14
|
+
* - `TimeConstraint.until` is EXCLUSIVE (`record[field] < until`), not `<=`.
|
|
15
|
+
* - Field projection, instance scoping, and time constraint are PER STREAM
|
|
16
|
+
* (`StreamGrant`), not grant-wide.
|
|
17
|
+
*/
|
|
18
|
+
export type PdppTokenKind = "owner" | "client";
|
|
19
|
+
export type AccessMode = "single_use" | "continuous";
|
|
20
|
+
export type SourceKind = "connector" | "provider_native";
|
|
21
|
+
export interface TimeConstraint {
|
|
22
|
+
/** Frozen declaration field the bounds are evaluated against. */
|
|
23
|
+
field: string;
|
|
24
|
+
/** Inclusive lower bound (record[field] >= since). ISO 8601. */
|
|
25
|
+
since?: string;
|
|
26
|
+
/** Exclusive upper bound (record[field] < until). ISO 8601. */
|
|
27
|
+
until?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface StreamGrant {
|
|
30
|
+
name: string;
|
|
31
|
+
instance_ids: string[];
|
|
32
|
+
fields: string[];
|
|
33
|
+
time_constraint?: TimeConstraint;
|
|
34
|
+
/** Canonical key strings. Absent means all records. */
|
|
35
|
+
resources?: string[];
|
|
36
|
+
}
|
|
37
|
+
export interface ClientDisplay {
|
|
38
|
+
name?: string;
|
|
39
|
+
[key: string]: unknown;
|
|
40
|
+
}
|
|
41
|
+
export interface Grant {
|
|
42
|
+
version: string;
|
|
43
|
+
grant_id: string;
|
|
44
|
+
issued_at: string;
|
|
45
|
+
subject: {
|
|
46
|
+
id: string;
|
|
47
|
+
};
|
|
48
|
+
client: {
|
|
49
|
+
client_id: string;
|
|
50
|
+
client_display?: ClientDisplay;
|
|
51
|
+
};
|
|
52
|
+
source: {
|
|
53
|
+
kind: SourceKind;
|
|
54
|
+
id: string;
|
|
55
|
+
};
|
|
56
|
+
source_declaration: {
|
|
57
|
+
version: string;
|
|
58
|
+
};
|
|
59
|
+
purpose_code: string;
|
|
60
|
+
purpose_description?: string;
|
|
61
|
+
access_mode: AccessMode;
|
|
62
|
+
streams: StreamGrant[];
|
|
63
|
+
selection_preset?: string;
|
|
64
|
+
retention?: {
|
|
65
|
+
max_duration: string;
|
|
66
|
+
on_expiry: "delete" | "anonymize";
|
|
67
|
+
};
|
|
68
|
+
expires_at?: string;
|
|
69
|
+
}
|
|
70
|
+
export type PdppInactiveReason = "unknown" | "expired" | "revoked" | "grant_revoked" | "grant_expired";
|
|
71
|
+
export interface PdppTokenContext {
|
|
72
|
+
active: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Optional to match the real AS lane's type exactly (`feat/pdpp-as-grants`,
|
|
75
|
+
* `packages/core/src/pdpp/types.ts`): an inactive token's context may omit
|
|
76
|
+
* this entirely. Route code must not assume it is present without also
|
|
77
|
+
* checking `active`.
|
|
78
|
+
*/
|
|
79
|
+
tokenKind?: PdppTokenKind;
|
|
80
|
+
subjectId?: string;
|
|
81
|
+
/** Client tokens only. */
|
|
82
|
+
grant?: Grant;
|
|
83
|
+
clientId?: string;
|
|
84
|
+
expiresAt?: string;
|
|
85
|
+
inactiveReason?: PdppInactiveReason;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* The single call this lane's route layer makes per request. A co-located
|
|
89
|
+
* AS+RS deployment resolves this locally (Core §8 permits this); a separated
|
|
90
|
+
* deployment would call RFC 7662 introspection instead — that wire path is
|
|
91
|
+
* the AS lane's concern, not this lane's.
|
|
92
|
+
*/
|
|
93
|
+
export interface PdppAuthorizationService {
|
|
94
|
+
resolveToken(accessToken: string): Promise<PdppTokenContext>;
|
|
95
|
+
}
|
|
96
|
+
/** Looks up the StreamGrant entry for a stream name, or undefined if not granted. */
|
|
97
|
+
export declare function findStreamGrant(grant: Grant, stream: string): StreamGrant | undefined;
|
|
98
|
+
/**
|
|
99
|
+
* Evaluates a TimeConstraint against a record's field value. `since` is
|
|
100
|
+
* inclusive; `until` is EXCLUSIVE per the AS contract (not `<=`).
|
|
101
|
+
*/
|
|
102
|
+
export declare function withinTimeConstraint(value: string | undefined, constraint: TimeConstraint | undefined): boolean;
|
|
103
|
+
//# sourceMappingURL=pdpp-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdpp-auth.d.ts","sourceRoot":"","sources":["../../src/ports/pdpp-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC/C,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,YAAY,CAAC;AACrD,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC;IAC9D,MAAM,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,kBAAkB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,QAAQ,GAAG,WAAW,CAAA;KAAE,CAAC;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,kBAAkB,GAC5B,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,eAAe,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9D;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GACb,WAAW,GAAG,SAAS,CAEzB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,UAAU,EAAE,cAAc,GAAG,SAAS,GACrC,OAAO,CAMT"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PDPP AS -> RS seam types, MIRRORED from `pdpp-ps-auth-v2-0917`'s published
|
|
3
|
+
* contract (`~/code/pdpp/local/conformance-fleet-0917/ps-auth-contract.md`,
|
|
4
|
+
* branch `feat/pdpp-as-grants`), not authored here.
|
|
5
|
+
*
|
|
6
|
+
* The AS lane owns `packages/core/src/pdpp/**` on its own branch. That branch
|
|
7
|
+
* is not merged as of this lane's implementation, so these types are a local
|
|
8
|
+
* mirror this lane's route/enforcement layer codes against now. When the AS
|
|
9
|
+
* branch merges, this file should be deleted and its imports repointed at
|
|
10
|
+
* `@opendatalabs/personal-server-ts-core/pdpp` — the shapes below are meant
|
|
11
|
+
* to be identical, not a superset or a simplification.
|
|
12
|
+
*
|
|
13
|
+
* DO NOT widen these beyond the AS contract. In particular:
|
|
14
|
+
* - `TimeConstraint.until` is EXCLUSIVE (`record[field] < until`), not `<=`.
|
|
15
|
+
* - Field projection, instance scoping, and time constraint are PER STREAM
|
|
16
|
+
* (`StreamGrant`), not grant-wide.
|
|
17
|
+
*/
|
|
18
|
+
/** Looks up the StreamGrant entry for a stream name, or undefined if not granted. */
|
|
19
|
+
export function findStreamGrant(grant, stream) {
|
|
20
|
+
return grant.streams.find((s) => s.name === stream);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Evaluates a TimeConstraint against a record's field value. `since` is
|
|
24
|
+
* inclusive; `until` is EXCLUSIVE per the AS contract (not `<=`).
|
|
25
|
+
*/
|
|
26
|
+
export function withinTimeConstraint(value, constraint) {
|
|
27
|
+
if (!constraint)
|
|
28
|
+
return true;
|
|
29
|
+
if (value === undefined)
|
|
30
|
+
return false;
|
|
31
|
+
if (constraint.since !== undefined && value < constraint.since)
|
|
32
|
+
return false;
|
|
33
|
+
if (constraint.until !== undefined && value >= constraint.until)
|
|
34
|
+
return false;
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=pdpp-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdpp-auth.js","sourceRoot":"","sources":["../../src/ports/pdpp-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA4EH,qFAAqF;AACrF,MAAM,UAAU,eAAe,CAC7B,KAAY,EACZ,MAAc;IAEd,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAyB,EACzB,UAAsC;IAEtC,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAC7E,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAC9E,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PdppAuthorizationService, PdppTokenContext } from "./pdpp-auth.js";
|
|
2
|
+
/**
|
|
3
|
+
* Deterministic fixture PdppAuthorizationService for this lane's own route
|
|
4
|
+
* tests. NOT a real AS integration — maps fixed token strings to fixed
|
|
5
|
+
* PdppTokenContext values. When the AS lane's real implementation exists,
|
|
6
|
+
* this is what gets swapped, not the PdppAuthorizationService interface.
|
|
7
|
+
*/
|
|
8
|
+
export declare function createFixtureAuthorizationService(tokens: Record<string, PdppTokenContext>): PdppAuthorizationService;
|
|
9
|
+
//# sourceMappingURL=pdpp-auth.test-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdpp-auth.test-utils.d.ts","sourceRoot":"","sources":["../../src/ports/pdpp-auth.test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GACvC,wBAAwB,CAY1B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic fixture PdppAuthorizationService for this lane's own route
|
|
3
|
+
* tests. NOT a real AS integration — maps fixed token strings to fixed
|
|
4
|
+
* PdppTokenContext values. When the AS lane's real implementation exists,
|
|
5
|
+
* this is what gets swapped, not the PdppAuthorizationService interface.
|
|
6
|
+
*/
|
|
7
|
+
export function createFixtureAuthorizationService(tokens) {
|
|
8
|
+
return {
|
|
9
|
+
async resolveToken(accessToken) {
|
|
10
|
+
return (tokens[accessToken] ?? {
|
|
11
|
+
active: false,
|
|
12
|
+
tokenKind: "client",
|
|
13
|
+
subjectId: "",
|
|
14
|
+
});
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=pdpp-auth.test-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdpp-auth.test-utils.js","sourceRoot":"","sources":["../../src/ports/pdpp-auth.test-utils.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,UAAU,iCAAiC,CAC/C,MAAwC;IAExC,OAAO;QACL,KAAK,CAAC,YAAY,CAAC,WAAmB;YACpC,OAAO,CACL,MAAM,CAAC,WAAW,CAAC,IAAI;gBACrB,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,EAAE;aACd,CACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|