@tearleads/client-sdk 0.0.0-stage → 0.1.13
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/README.md +108 -2
- package/client/Tearleads.d.ts +111 -0
- package/client/Tearleads.js +264 -0
- package/client/Tearleads.js.map +1 -0
- package/client/apiVersion.d.ts +17 -0
- package/client/apiVersion.js +27 -0
- package/client/apiVersion.js.map +1 -0
- package/client/billing/directCheckout.d.ts +86 -0
- package/client/billing/directCheckout.js +35 -0
- package/client/billing/directCheckout.js.map +1 -0
- package/client/billing/purchaseErrors.d.ts +24 -0
- package/client/billing/purchaseErrors.js +43 -0
- package/client/billing/purchaseErrors.js.map +1 -0
- package/client/billing/purchases.d.ts +177 -0
- package/client/billing/purchases.js +165 -0
- package/client/billing/purchases.js.map +1 -0
- package/client/billing/revenueCatCheckoutGate.js +71 -0
- package/client/billing/revenueCatCheckoutGate.js.map +1 -0
- package/client/billing/revenueCatErrors.js +122 -0
- package/client/billing/revenueCatErrors.js.map +1 -0
- package/client/billing/revenueCatIdentity.js +387 -0
- package/client/billing/revenueCatIdentity.js.map +1 -0
- package/client/billing/revenueCatIdentityTypes.js +2 -0
- package/client/billing/revenueCatIdentityTypes.js.map +1 -0
- package/client/billing/revenueCatNativeSubscriptionMove.js +74 -0
- package/client/billing/revenueCatNativeSubscriptionMove.js.map +1 -0
- package/client/billing/revenueCatProviderPhase.js +34 -0
- package/client/billing/revenueCatProviderPhase.js.map +1 -0
- package/client/billing/revenueCatProviderSettlement.js +19 -0
- package/client/billing/revenueCatProviderSettlement.js.map +1 -0
- package/client/billing/revenueCatPurchaseErrorNormalization.js +26 -0
- package/client/billing/revenueCatPurchaseErrorNormalization.js.map +1 -0
- package/client/billing/revenueCatPurchasePreparation.js +18 -0
- package/client/billing/revenueCatPurchasePreparation.js.map +1 -0
- package/client/billing/revenueCatTimeoutCoordinator.js +144 -0
- package/client/billing/revenueCatTimeoutCoordinator.js.map +1 -0
- package/client/blobs.d.ts +13 -0
- package/client/blobs.js +33 -0
- package/client/blobs.js.map +1 -0
- package/client/containerContents.d.ts +15 -0
- package/client/containerContents.js +217 -0
- package/client/containerContents.js.map +1 -0
- package/client/containerContentsTypes.d.ts +230 -0
- package/client/containerContentsTypes.js +2 -0
- package/client/containerContentsTypes.js.map +1 -0
- package/client/containerDocumentDiscovery.js +48 -0
- package/client/containerDocumentDiscovery.js.map +1 -0
- package/client/database.d.ts +32 -0
- package/client/database.js +77 -0
- package/client/database.js.map +1 -0
- package/client/deviceFirst.d.ts +33 -0
- package/client/deviceFirst.js +204 -0
- package/client/deviceFirst.js.map +1 -0
- package/client/documents.d.ts +39 -0
- package/client/documents.js +76 -0
- package/client/documents.js.map +1 -0
- package/client/events.d.ts +29 -0
- package/client/events.js +60 -0
- package/client/events.js.map +1 -0
- package/client/fileSaver.d.ts +44 -0
- package/client/fileSaver.js +20 -0
- package/client/fileSaver.js.map +1 -0
- package/client/identity.d.ts +50 -0
- package/client/identity.js +163 -0
- package/client/identity.js.map +1 -0
- package/client/identityKeyPackage.d.ts +30 -0
- package/client/identityKeyPackage.js +201 -0
- package/client/identityKeyPackage.js.map +1 -0
- package/client/index.d.ts +30 -0
- package/client/index.js +17 -0
- package/client/index.js.map +1 -0
- package/client/listenerSet.js +27 -0
- package/client/listenerSet.js.map +1 -0
- package/client/localKeyring/aesGcmWrapping.js +94 -0
- package/client/localKeyring/aesGcmWrapping.js.map +1 -0
- package/client/localKeyring/browser.d.ts +52 -0
- package/client/localKeyring/browser.js +72 -0
- package/client/localKeyring/browser.js.map +1 -0
- package/client/localKeyring/envelope.d.ts +8 -0
- package/client/localKeyring/envelope.js +54 -0
- package/client/localKeyring/envelope.js.map +1 -0
- package/client/localKeyring/index.d.ts +25 -0
- package/client/localKeyring/index.js +14 -0
- package/client/localKeyring/index.js.map +1 -0
- package/client/localKeyring/indexedDbKeystore.d.ts +9 -0
- package/client/localKeyring/indexedDbKeystore.js +146 -0
- package/client/localKeyring/indexedDbKeystore.js.map +1 -0
- package/client/localKeyring/indexedDbManifestStore.d.ts +8 -0
- package/client/localKeyring/indexedDbManifestStore.js +85 -0
- package/client/localKeyring/indexedDbManifestStore.js.map +1 -0
- package/client/localKeyring/indexedDbStoreConnection.js +129 -0
- package/client/localKeyring/indexedDbStoreConnection.js.map +1 -0
- package/client/localKeyring/indexedDbWrappingKeyRecord.js +90 -0
- package/client/localKeyring/indexedDbWrappingKeyRecord.js.map +1 -0
- package/client/localKeyring/jsonReaders.d.ts +8 -0
- package/client/localKeyring/jsonReaders.js +47 -0
- package/client/localKeyring/jsonReaders.js.map +1 -0
- package/client/localKeyring/localKeyringPinCode.d.ts +18 -0
- package/client/localKeyring/localKeyringPinCode.js +142 -0
- package/client/localKeyring/localKeyringPinCode.js.map +1 -0
- package/client/localKeyring/localKeyringPinCodeSupport.d.ts +34 -0
- package/client/localKeyring/localKeyringPinCodeSupport.js +135 -0
- package/client/localKeyring/localKeyringPinCodeSupport.js.map +1 -0
- package/client/localKeyring/localStorageManifestStore.d.ts +6 -0
- package/client/localKeyring/localStorageManifestStore.js +34 -0
- package/client/localKeyring/localStorageManifestStore.js.map +1 -0
- package/client/localKeyring/manifest.d.ts +5 -0
- package/client/localKeyring/manifest.js +43 -0
- package/client/localKeyring/manifest.js.map +1 -0
- package/client/localKeyring/memory.d.ts +3 -0
- package/client/localKeyring/memory.js +64 -0
- package/client/localKeyring/memory.js.map +1 -0
- package/client/localKeyring/primitives.d.ts +4 -0
- package/client/localKeyring/primitives.js +18 -0
- package/client/localKeyring/primitives.js.map +1 -0
- package/client/localKeyring/rootKey.js +22 -0
- package/client/localKeyring/rootKey.js.map +1 -0
- package/client/localKeyring/scope.d.ts +8 -0
- package/client/localKeyring/scope.js +46 -0
- package/client/localKeyring/scope.js.map +1 -0
- package/client/localKeyring/service.d.ts +2 -0
- package/client/localKeyring/service.js +116 -0
- package/client/localKeyring/service.js.map +1 -0
- package/client/localKeyring/session.js +76 -0
- package/client/localKeyring/session.js.map +1 -0
- package/client/localKeyring/sqliteKey.d.ts +2 -0
- package/client/localKeyring/sqliteKey.js +9 -0
- package/client/localKeyring/sqliteKey.js.map +1 -0
- package/client/localKeyring/types.d.ts +106 -0
- package/client/localKeyring/types.js +3 -0
- package/client/localKeyring/types.js.map +1 -0
- package/client/logger.d.ts +5 -0
- package/client/logger.js +8 -0
- package/client/logger.js.map +1 -0
- package/client/network.d.ts +87 -0
- package/client/network.js +105 -0
- package/client/network.js.map +1 -0
- package/client/organizations/index.d.ts +46 -0
- package/client/organizations/index.js +201 -0
- package/client/organizations/index.js.map +1 -0
- package/client/organizations/organizationAccessRestoration.js +38 -0
- package/client/organizations/organizationAccessRestoration.js.map +1 -0
- package/client/organizations/organizationDataUsage.d.ts +8 -0
- package/client/organizations/organizationDataUsage.js +75 -0
- package/client/organizations/organizationDataUsage.js.map +1 -0
- package/client/organizations/organizationGroupNameHydration.js +28 -0
- package/client/organizations/organizationGroupNameHydration.js.map +1 -0
- package/client/organizations/organizationGroupPresentation.d.ts +21 -0
- package/client/organizations/organizationGroupPresentation.js +17 -0
- package/client/organizations/organizationGroupPresentation.js.map +1 -0
- package/client/organizations/organizationMetadataProfileSync.js +38 -0
- package/client/organizations/organizationMetadataProfileSync.js.map +1 -0
- package/client/organizations/organizationReadModels.d.ts +22 -0
- package/client/organizations/organizationReadModels.js +279 -0
- package/client/organizations/organizationReadModels.js.map +1 -0
- package/client/organizations/organizationWorkflowRuntime.js +37 -0
- package/client/organizations/organizationWorkflowRuntime.js.map +1 -0
- package/client/organizations/principalContainerMutations.js +27 -0
- package/client/organizations/principalContainerMutations.js.map +1 -0
- package/client/organizations/principalMutationScope.js +20 -0
- package/client/organizations/principalMutationScope.js.map +1 -0
- package/client/organizations/principalMutations.d.ts +891 -0
- package/client/organizations/principalMutations.js +194 -0
- package/client/organizations/principalMutations.js.map +1 -0
- package/client/principalHistoryProtection.d.ts +19 -0
- package/client/principalHistoryProtection.js +76 -0
- package/client/principalHistoryProtection.js.map +1 -0
- package/client/root/index.d.ts +43 -0
- package/client/root/index.js +104 -0
- package/client/root/index.js.map +1 -0
- package/client/rootContainerAdoption.js +18 -0
- package/client/rootContainerAdoption.js.map +1 -0
- package/client/securityIncidents.d.ts +37 -0
- package/client/securityIncidents.js +287 -0
- package/client/securityIncidents.js.map +1 -0
- package/client/session/index.js +340 -0
- package/client/session/index.js.map +1 -0
- package/client/session/sessionContext.js +45 -0
- package/client/session/sessionContext.js.map +1 -0
- package/client/session/sessionIdentityTrust.d.ts +35 -0
- package/client/session/sessionIdentityTrust.js +62 -0
- package/client/session/sessionIdentityTrust.js.map +1 -0
- package/client/session/sessionListing.js +16 -0
- package/client/session/sessionListing.js.map +1 -0
- package/client/session/sessionLoginRefusal.js +16 -0
- package/client/session/sessionLoginRefusal.js.map +1 -0
- package/client/session/sessionOrganizationCreation.js +53 -0
- package/client/session/sessionOrganizationCreation.js.map +1 -0
- package/client/session/sessionPurgeRecovery.js +110 -0
- package/client/session/sessionPurgeRecovery.js.map +1 -0
- package/client/session/sessionRecoveryErrors.d.ts +9 -0
- package/client/session/sessionRecoveryErrors.js +15 -0
- package/client/session/sessionRecoveryErrors.js.map +1 -0
- package/client/session/sessionRootAuthority.js +84 -0
- package/client/session/sessionRootAuthority.js.map +1 -0
- package/client/session/sessionTypes.d.ts +153 -0
- package/client/session/sessionTypes.js +2 -0
- package/client/session/sessionTypes.js.map +1 -0
- package/client/syncBillingGate.d.ts +50 -0
- package/client/syncBillingGate.js +107 -0
- package/client/syncBillingGate.js.map +1 -0
- package/client/userIdentities.d.ts +16 -0
- package/client/userIdentities.js +32 -0
- package/client/userIdentities.js.map +1 -0
- package/client/workflowRuntime.d.ts +60 -0
- package/client/workflowRuntime.js +232 -0
- package/client/workflowRuntime.js.map +1 -0
- package/data/accessLevel.js +24 -0
- package/data/accessLevel.js.map +1 -0
- package/data/blobContracts.d.ts +19 -0
- package/data/blobContracts.js +88 -0
- package/data/blobContracts.js.map +1 -0
- package/data/blobs/createBlobStore.d.ts +2 -0
- package/data/blobs/createBlobStore.js +17 -0
- package/data/blobs/createBlobStore.js.map +1 -0
- package/data/blobs/encryptedBlobByteSource.js +133 -0
- package/data/blobs/encryptedBlobByteSource.js.map +1 -0
- package/data/blobs/encryptedBlobEnvelope.d.ts +53 -0
- package/data/blobs/encryptedBlobEnvelope.js +229 -0
- package/data/blobs/encryptedBlobEnvelope.js.map +1 -0
- package/data/blobs/encryptedBlobStore.d.ts +15 -0
- package/data/blobs/encryptedBlobStore.js +216 -0
- package/data/blobs/encryptedBlobStore.js.map +1 -0
- package/data/blobs/memoryBlobStore.d.ts +2 -0
- package/data/blobs/memoryBlobStore.js +25 -0
- package/data/blobs/memoryBlobStore.js.map +1 -0
- package/data/blobs/opfsBlobStore.d.ts +10 -0
- package/data/blobs/opfsBlobStore.js +126 -0
- package/data/blobs/opfsBlobStore.js.map +1 -0
- package/data/containers/containerBinding.d.ts +55 -0
- package/data/containers/containerBinding.js +51 -0
- package/data/containers/containerBinding.js.map +1 -0
- package/data/containers/containerMetadataDocument.d.ts +15 -0
- package/data/containers/containerMetadataDocument.js +43 -0
- package/data/containers/containerMetadataDocument.js.map +1 -0
- package/data/containers/shared/authorAccess.d.ts +15 -0
- package/data/containers/shared/authorAccess.js +25 -0
- package/data/containers/shared/authorAccess.js.map +1 -0
- package/data/containers/shared/containerPathLimits.d.ts +14 -0
- package/data/containers/shared/containerPathLimits.js +25 -0
- package/data/containers/shared/containerPathLimits.js.map +1 -0
- package/data/containers/shared/events.js +123 -0
- package/data/containers/shared/events.js.map +1 -0
- package/data/containers/shared/heldContainerHeads.js +124 -0
- package/data/containers/shared/heldContainerHeads.js.map +1 -0
- package/data/containers/shared/mutationAcknowledgement.js +187 -0
- package/data/containers/shared/mutationAcknowledgement.js.map +1 -0
- package/data/containers/shared/mutationFailures.js +51 -0
- package/data/containers/shared/mutationFailures.js.map +1 -0
- package/data/containers/shared/mutationRequestOptions.d.ts +4 -0
- package/data/containers/shared/mutationRequestOptions.js +2 -0
- package/data/containers/shared/mutationRequestOptions.js.map +1 -0
- package/data/containers/shared/principalPolicies.js +34 -0
- package/data/containers/shared/principalPolicies.js.map +1 -0
- package/data/containers/shared/projection.js +158 -0
- package/data/containers/shared/projection.js.map +1 -0
- package/data/containers/shared/readers.js +103 -0
- package/data/containers/shared/readers.js.map +1 -0
- package/data/containers/shared/reciteApi.d.ts +6 -0
- package/data/containers/shared/reciteApi.js +2 -0
- package/data/containers/shared/reciteApi.js.map +1 -0
- package/data/containers/shared/types.d.ts +232 -0
- package/data/containers/shared/types.js +2 -0
- package/data/containers/shared/types.js.map +1 -0
- package/data/crdtPeerSeed.js +167 -0
- package/data/crdtPeerSeed.js.map +1 -0
- package/data/documents/attachmentContentIdentity.js +17 -0
- package/data/documents/attachmentContentIdentity.js.map +1 -0
- package/data/documents/blob/shared/blobEnvelopeStream.js +58 -0
- package/data/documents/blob/shared/blobEnvelopeStream.js.map +1 -0
- package/data/documents/blob/shared/blobRecordCrypto.js +84 -0
- package/data/documents/blob/shared/blobRecordCrypto.js.map +1 -0
- package/data/documents/blob/shared/blobSourceSnapshot.d.ts +9 -0
- package/data/documents/blob/shared/blobSourceSnapshot.js +70 -0
- package/data/documents/blob/shared/blobSourceSnapshot.js.map +1 -0
- package/data/documents/blob/shared/chunkedBlobCrypto.js +174 -0
- package/data/documents/blob/shared/chunkedBlobCrypto.js.map +1 -0
- package/data/documents/blob/shared/crypto.js +3 -0
- package/data/documents/blob/shared/crypto.js.map +1 -0
- package/data/documents/blob/shared/events.js +85 -0
- package/data/documents/blob/shared/events.js.map +1 -0
- package/data/documents/blob/shared/projection.js +126 -0
- package/data/documents/blob/shared/projection.js.map +1 -0
- package/data/documents/blob/shared/readers.js +55 -0
- package/data/documents/blob/shared/readers.js.map +1 -0
- package/data/documents/blob/shared/responses.js +111 -0
- package/data/documents/blob/shared/responses.js.map +1 -0
- package/data/documents/blob/shared/types.d.ts +173 -0
- package/data/documents/blob/shared/types.js +7 -0
- package/data/documents/blob/shared/types.js.map +1 -0
- package/data/documents/documentConstants.d.ts +4 -0
- package/data/documents/documentConstants.js +12 -0
- package/data/documents/documentConstants.js.map +1 -0
- package/data/documents/documentContent.d.ts +15 -0
- package/data/documents/documentContent.js +124 -0
- package/data/documents/documentContent.js.map +1 -0
- package/data/documents/documentKinds.d.ts +100 -0
- package/data/documents/documentKinds.js +231 -0
- package/data/documents/documentKinds.js.map +1 -0
- package/data/documents/documentRowList.d.ts +31 -0
- package/data/documents/documentRowList.js +162 -0
- package/data/documents/documentRowList.js.map +1 -0
- package/data/documents/documentSummary.d.ts +24 -0
- package/data/documents/documentSummary.js +5 -0
- package/data/documents/documentSummary.js.map +1 -0
- package/data/documents/documentSync.js +68 -0
- package/data/documents/documentSync.js.map +1 -0
- package/data/documents/editAttribution.d.ts +77 -0
- package/data/documents/editAttribution.js +131 -0
- package/data/documents/editAttribution.js.map +1 -0
- package/data/documents/editAttributionBlame.d.ts +59 -0
- package/data/documents/editAttributionBlame.js +165 -0
- package/data/documents/editAttributionBlame.js.map +1 -0
- package/data/documents/editAttributionTypes.d.ts +14 -0
- package/data/documents/editAttributionTypes.js +5 -0
- package/data/documents/editAttributionTypes.js.map +1 -0
- package/data/documents/shared/containerKekCurrency.d.ts +22 -0
- package/data/documents/shared/containerKekCurrency.js +42 -0
- package/data/documents/shared/containerKekCurrency.js.map +1 -0
- package/data/documents/shared/containerKekEntryVerification.js +15 -0
- package/data/documents/shared/containerKekEntryVerification.js.map +1 -0
- package/data/documents/shared/containerKekLogFetch.d.ts +18 -0
- package/data/documents/shared/containerKekLogFetch.js +76 -0
- package/data/documents/shared/containerKekLogFetch.js.map +1 -0
- package/data/documents/shared/containerKekPath.d.ts +18 -0
- package/data/documents/shared/containerKekPath.js +265 -0
- package/data/documents/shared/containerKekPath.js.map +1 -0
- package/data/documents/shared/containerKekPathHistory.d.ts +61 -0
- package/data/documents/shared/containerKekPathHistory.js +223 -0
- package/data/documents/shared/containerKekPathHistory.js.map +1 -0
- package/data/documents/shared/containerKekPathVerification.d.ts +15 -0
- package/data/documents/shared/containerKekPathVerification.js +23 -0
- package/data/documents/shared/containerKekPathVerification.js.map +1 -0
- package/data/documents/shared/containerKekWrapping.js +61 -0
- package/data/documents/shared/containerKekWrapping.js.map +1 -0
- package/data/documents/shared/contentRecordAdditionalData.js +14 -0
- package/data/documents/shared/contentRecordAdditionalData.js.map +1 -0
- package/data/documents/shared/contentRecordKeys.js +40 -0
- package/data/documents/shared/contentRecordKeys.js.map +1 -0
- package/data/documents/shared/crypto.js +172 -0
- package/data/documents/shared/crypto.js.map +1 -0
- package/data/documents/shared/documentSyncUpdateDecryption.js +238 -0
- package/data/documents/shared/documentSyncUpdateDecryption.js.map +1 -0
- package/data/documents/shared/documentSyncUpdateIsolation.d.ts +55 -0
- package/data/documents/shared/documentSyncUpdateIsolation.js +298 -0
- package/data/documents/shared/documentSyncUpdateIsolation.js.map +1 -0
- package/data/documents/shared/documentUpdateIntegrity.js +18 -0
- package/data/documents/shared/documentUpdateIntegrity.js.map +1 -0
- package/data/documents/shared/events.js +121 -0
- package/data/documents/shared/events.js.map +1 -0
- package/data/documents/shared/keyringLogWalk.d.ts +45 -0
- package/data/documents/shared/keyringLogWalk.js +204 -0
- package/data/documents/shared/keyringLogWalk.js.map +1 -0
- package/data/documents/shared/keyringRebuild.d.ts +60 -0
- package/data/documents/shared/keyringRebuild.js +242 -0
- package/data/documents/shared/keyringRebuild.js.map +1 -0
- package/data/documents/shared/manifestBundleReaders.js +59 -0
- package/data/documents/shared/manifestBundleReaders.js.map +1 -0
- package/data/documents/shared/mutationAcknowledgement.js +10 -0
- package/data/documents/shared/mutationAcknowledgement.js.map +1 -0
- package/data/documents/shared/plaintextHash.js +8 -0
- package/data/documents/shared/plaintextHash.js.map +1 -0
- package/data/documents/shared/projection.d.ts +25 -0
- package/data/documents/shared/projection.js +132 -0
- package/data/documents/shared/projection.js.map +1 -0
- package/data/documents/shared/projectionContentKeys.d.ts +90 -0
- package/data/documents/shared/projectionContentKeys.js +262 -0
- package/data/documents/shared/projectionContentKeys.js.map +1 -0
- package/data/documents/shared/projectionTargets.d.ts +38 -0
- package/data/documents/shared/projectionTargets.js +164 -0
- package/data/documents/shared/projectionTargets.js.map +1 -0
- package/data/documents/shared/pullContinuation.d.ts +17 -0
- package/data/documents/shared/pullContinuation.js +53 -0
- package/data/documents/shared/pullContinuation.js.map +1 -0
- package/data/documents/shared/readers.js +156 -0
- package/data/documents/shared/readers.js.map +1 -0
- package/data/documents/shared/responses.d.ts +14 -0
- package/data/documents/shared/responses.js +133 -0
- package/data/documents/shared/responses.js.map +1 -0
- package/data/documents/shared/stableDocumentId.js +20 -0
- package/data/documents/shared/stableDocumentId.js.map +1 -0
- package/data/documents/shared/syncPagination.d.ts +20 -0
- package/data/documents/shared/syncPagination.js +109 -0
- package/data/documents/shared/syncPagination.js.map +1 -0
- package/data/documents/shared/syncResponseAuthorization.js +63 -0
- package/data/documents/shared/syncResponseAuthorization.js.map +1 -0
- package/data/documents/shared/syncResponses.d.ts +11 -0
- package/data/documents/shared/syncResponses.js +287 -0
- package/data/documents/shared/syncResponses.js.map +1 -0
- package/data/documents/shared/syncSubmitFailure.d.ts +9 -0
- package/data/documents/shared/syncSubmitFailure.js +2 -0
- package/data/documents/shared/syncSubmitFailure.js.map +1 -0
- package/data/documents/shared/types.d.ts +330 -0
- package/data/documents/shared/types.js +58 -0
- package/data/documents/shared/types.js.map +1 -0
- package/data/domainScope.d.ts +6 -0
- package/data/domainScope.js +5 -0
- package/data/domainScope.js.map +1 -0
- package/data/errorMessage.js +10 -0
- package/data/errorMessage.js.map +1 -0
- package/data/keyingCanonicalJson.js +83 -0
- package/data/keyingCanonicalJson.js.map +1 -0
- package/data/keyingProjectionVerification/accessManifestCheckpointEnforcement.js +57 -0
- package/data/keyingProjectionVerification/accessManifestCheckpointEnforcement.js.map +1 -0
- package/data/keyingProjectionVerification/bundleVerification.js +61 -0
- package/data/keyingProjectionVerification/bundleVerification.js.map +1 -0
- package/data/keyingProjectionVerification/checkpointContext.d.ts +32 -0
- package/data/keyingProjectionVerification/checkpointContext.js +82 -0
- package/data/keyingProjectionVerification/checkpointContext.js.map +1 -0
- package/data/keyingProjectionVerification/containerAncestorCitations.js +164 -0
- package/data/keyingProjectionVerification/containerAncestorCitations.js.map +1 -0
- package/data/keyingProjectionVerification/containerCreateManifest.js +28 -0
- package/data/keyingProjectionVerification/containerCreateManifest.js.map +1 -0
- package/data/keyingProjectionVerification/containerDestinationVerification.js +39 -0
- package/data/keyingProjectionVerification/containerDestinationVerification.js.map +1 -0
- package/data/keyingProjectionVerification/containerManifestVerification.js +285 -0
- package/data/keyingProjectionVerification/containerManifestVerification.js.map +1 -0
- package/data/keyingProjectionVerification/containerPathVerification.js +51 -0
- package/data/keyingProjectionVerification/containerPathVerification.js.map +1 -0
- package/data/keyingProjectionVerification/containerProjectionVerification.d.ts +24 -0
- package/data/keyingProjectionVerification/containerProjectionVerification.js +249 -0
- package/data/keyingProjectionVerification/containerProjectionVerification.js.map +1 -0
- package/data/keyingProjectionVerification/dependencyUnavailable.js +8 -0
- package/data/keyingProjectionVerification/dependencyUnavailable.js.map +1 -0
- package/data/keyingProjectionVerification/documentContainerProjections.js +8 -0
- package/data/keyingProjectionVerification/documentContainerProjections.js.map +1 -0
- package/data/keyingProjectionVerification/documentDependencyPaths.d.ts +17 -0
- package/data/keyingProjectionVerification/documentDependencyPaths.js +70 -0
- package/data/keyingProjectionVerification/documentDependencyPaths.js.map +1 -0
- package/data/keyingProjectionVerification/documentManifestPolicies.js +32 -0
- package/data/keyingProjectionVerification/documentManifestPolicies.js.map +1 -0
- package/data/keyingProjectionVerification/documentManifestPredecessor.js +12 -0
- package/data/keyingProjectionVerification/documentManifestPredecessor.js.map +1 -0
- package/data/keyingProjectionVerification/documentManifestVerification.js +135 -0
- package/data/keyingProjectionVerification/documentManifestVerification.js.map +1 -0
- package/data/keyingProjectionVerification/documentProjectionVerification.d.ts +25 -0
- package/data/keyingProjectionVerification/documentProjectionVerification.js +162 -0
- package/data/keyingProjectionVerification/documentProjectionVerification.js.map +1 -0
- package/data/keyingProjectionVerification/documentPurgeCheckpointCurrency.js +74 -0
- package/data/keyingProjectionVerification/documentPurgeCheckpointCurrency.js.map +1 -0
- package/data/keyingProjectionVerification/documentPurgeCheckpointEnforcement.js +8 -0
- package/data/keyingProjectionVerification/documentPurgeCheckpointEnforcement.js.map +1 -0
- package/data/keyingProjectionVerification/documentPurgeDocumentChainVerification.js +177 -0
- package/data/keyingProjectionVerification/documentPurgeDocumentChainVerification.js.map +1 -0
- package/data/keyingProjectionVerification/documentPurgePrincipalEvidence.js +104 -0
- package/data/keyingProjectionVerification/documentPurgePrincipalEvidence.js.map +1 -0
- package/data/keyingProjectionVerification/documentPurgeProofVerification.d.ts +32 -0
- package/data/keyingProjectionVerification/documentPurgeProofVerification.js +164 -0
- package/data/keyingProjectionVerification/documentPurgeProofVerification.js.map +1 -0
- package/data/keyingProjectionVerification/error.js +139 -0
- package/data/keyingProjectionVerification/error.js.map +1 -0
- package/data/keyingProjectionVerification/manifestCheckpointVerification.js +64 -0
- package/data/keyingProjectionVerification/manifestCheckpointVerification.js.map +1 -0
- package/data/keyingProjectionVerification/mergeProjectionPolicyEvidence.js +43 -0
- package/data/keyingProjectionVerification/mergeProjectionPolicyEvidence.js.map +1 -0
- package/data/keyingProjectionVerification/organizationFounderBinding.js +41 -0
- package/data/keyingProjectionVerification/organizationFounderBinding.js.map +1 -0
- package/data/keyingProjectionVerification/principalPolicyCache.js +76 -0
- package/data/keyingProjectionVerification/principalPolicyCache.js.map +1 -0
- package/data/keyingProjectionVerification/principalPolicySnapshotVerification.js +208 -0
- package/data/keyingProjectionVerification/principalPolicySnapshotVerification.js.map +1 -0
- package/data/keyingProjectionVerification/principalPolicyVerification.js +253 -0
- package/data/keyingProjectionVerification/principalPolicyVerification.js.map +1 -0
- package/data/keyingProjectionVerification/projectionAuthorizationEvidence.js +36 -0
- package/data/keyingProjectionVerification/projectionAuthorizationEvidence.js.map +1 -0
- package/data/keyingProjectionVerification/projectionPolicyEvidence.js +70 -0
- package/data/keyingProjectionVerification/projectionPolicyEvidence.js.map +1 -0
- package/data/keyingProjectionVerification/readers.d.ts +8 -0
- package/data/keyingProjectionVerification/readers.js +153 -0
- package/data/keyingProjectionVerification/readers.js.map +1 -0
- package/data/keyingProjectionVerification/resolvedPrincipalPolicy.js +70 -0
- package/data/keyingProjectionVerification/resolvedPrincipalPolicy.js.map +1 -0
- package/data/keyingProjectionVerification/snapshotVerificationCache.js +39 -0
- package/data/keyingProjectionVerification/snapshotVerificationCache.js.map +1 -0
- package/data/keyingProjectionVerification/types.d.ts +47 -0
- package/data/keyingProjectionVerification/types.js +72 -0
- package/data/keyingProjectionVerification/types.js.map +1 -0
- package/data/keyingProjectionVerification/userKeyResolver.d.ts +7 -0
- package/data/keyingProjectionVerification/userKeyResolver.js +17 -0
- package/data/keyingProjectionVerification/userKeyResolver.js.map +1 -0
- package/data/keyingProjectionVerification.d.ts +9 -0
- package/data/keyingProjectionVerification.js +16 -0
- package/data/keyingProjectionVerification.js.map +1 -0
- package/data/persistence/container-contents/containerContentsPersistence.d.ts +4 -0
- package/data/persistence/container-contents/containerContentsPersistence.js +199 -0
- package/data/persistence/container-contents/containerContentsPersistence.js.map +1 -0
- package/data/persistence/container-contents/containerContentsPersistenceTypes.d.ts +340 -0
- package/data/persistence/container-contents/containerContentsPersistenceTypes.js +3 -0
- package/data/persistence/container-contents/containerContentsPersistenceTypes.js.map +1 -0
- package/data/persistence/container-contents/containerCreateIntentSettlement.js +115 -0
- package/data/persistence/container-contents/containerCreateIntentSettlement.js.map +1 -0
- package/data/persistence/container-contents/containerDeletionPersistence.js +168 -0
- package/data/persistence/container-contents/containerDeletionPersistence.js.map +1 -0
- package/data/persistence/container-contents/containerDocumentReassignment.js +127 -0
- package/data/persistence/container-contents/containerDocumentReassignment.js.map +1 -0
- package/data/persistence/container-contents/containerHydrationPersistence.js +182 -0
- package/data/persistence/container-contents/containerHydrationPersistence.js.map +1 -0
- package/data/persistence/container-contents/containerIntentPersistence.js +207 -0
- package/data/persistence/container-contents/containerIntentPersistence.js.map +1 -0
- package/data/persistence/container-contents/containerMetadataMutationPersistence.js +259 -0
- package/data/persistence/container-contents/containerMetadataMutationPersistence.js.map +1 -0
- package/data/persistence/container-contents/containerMetadataPullContinuationPersistence.js +32 -0
- package/data/persistence/container-contents/containerMetadataPullContinuationPersistence.js.map +1 -0
- package/data/persistence/container-contents/containerMetadataRows.js +160 -0
- package/data/persistence/container-contents/containerMetadataRows.js.map +1 -0
- package/data/persistence/container-contents/containerMoveAbandonPersistence.js +29 -0
- package/data/persistence/container-contents/containerMoveAbandonPersistence.js.map +1 -0
- package/data/persistence/container-contents/containerMoveIntentRows.js +37 -0
- package/data/persistence/container-contents/containerMoveIntentRows.js.map +1 -0
- package/data/persistence/container-contents/containerPendingUpdatePersistence.js +57 -0
- package/data/persistence/container-contents/containerPendingUpdatePersistence.js.map +1 -0
- package/data/persistence/container-contents/containerRebindPersistence.js +75 -0
- package/data/persistence/container-contents/containerRebindPersistence.js.map +1 -0
- package/data/persistence/container-contents/containerReconcilePersistence.js +144 -0
- package/data/persistence/container-contents/containerReconcilePersistence.js.map +1 -0
- package/data/persistence/container-contents/containerRecoveryPersistence.js +139 -0
- package/data/persistence/container-contents/containerRecoveryPersistence.js.map +1 -0
- package/data/persistence/container-contents/containerRemovalWork.js +30 -0
- package/data/persistence/container-contents/containerRemovalWork.js.map +1 -0
- package/data/persistence/container-contents/containerStructuralRepair.js +224 -0
- package/data/persistence/container-contents/containerStructuralRepair.js.map +1 -0
- package/data/persistence/container-contents/documentLinkRemovalRepair.js +135 -0
- package/data/persistence/container-contents/documentLinkRemovalRepair.js.map +1 -0
- package/data/persistence/container-contents/documentMoveIntentPersistence.js +213 -0
- package/data/persistence/container-contents/documentMoveIntentPersistence.js.map +1 -0
- package/data/persistence/container-contents/documentPlacementIntentEnqueue.js +149 -0
- package/data/persistence/container-contents/documentPlacementIntentEnqueue.js.map +1 -0
- package/data/persistence/container-contents/dormantContainerMetadata.d.ts +12 -0
- package/data/persistence/container-contents/dormantContainerMetadata.js +57 -0
- package/data/persistence/container-contents/dormantContainerMetadata.js.map +1 -0
- package/data/persistence/container-contents/dormantMetadataSweep.d.ts +20 -0
- package/data/persistence/container-contents/dormantMetadataSweep.js +102 -0
- package/data/persistence/container-contents/dormantMetadataSweep.js.map +1 -0
- package/data/persistence/container-contents/pendingContainerCreate.js +21 -0
- package/data/persistence/container-contents/pendingContainerCreate.js.map +1 -0
- package/data/persistence/container-contents/supersededContainerBindings.js +27 -0
- package/data/persistence/container-contents/supersededContainerBindings.js.map +1 -0
- package/data/persistence/containers/containerPersistence.d.ts +35 -0
- package/data/persistence/containers/containerPersistence.js +204 -0
- package/data/persistence/containers/containerPersistence.js.map +1 -0
- package/data/persistence/containers/containerSyncWatermarkPersistence.d.ts +48 -0
- package/data/persistence/containers/containerSyncWatermarkPersistence.js +238 -0
- package/data/persistence/containers/containerSyncWatermarkPersistence.js.map +1 -0
- package/data/persistence/containers/documentContainerProjectionPersistence.js +130 -0
- package/data/persistence/containers/documentContainerProjectionPersistence.js.map +1 -0
- package/data/persistence/containers/documentPlacement.js +51 -0
- package/data/persistence/containers/documentPlacement.js.map +1 -0
- package/data/persistence/documentPurgeCheckpointPersistence.d.ts +10 -0
- package/data/persistence/documentPurgeCheckpointPersistence.js +43 -0
- package/data/persistence/documentPurgeCheckpointPersistence.js.map +1 -0
- package/data/persistence/documents/containerDocumentTombstoneHoldsPersistence.js +108 -0
- package/data/persistence/documents/containerDocumentTombstoneHoldsPersistence.js.map +1 -0
- package/data/persistence/documents/documentDiscoveryCandidate.d.ts +6 -0
- package/data/persistence/documents/documentDiscoveryCandidate.js +33 -0
- package/data/persistence/documents/documentDiscoveryCandidate.js.map +1 -0
- package/data/persistence/documents/documentDiscoveryEvidencePersistence.d.ts +26 -0
- package/data/persistence/documents/documentDiscoveryEvidencePersistence.js +237 -0
- package/data/persistence/documents/documentDiscoveryEvidencePersistence.js.map +1 -0
- package/data/persistence/documents/documentDiscoveryReset.js +31 -0
- package/data/persistence/documents/documentDiscoveryReset.js.map +1 -0
- package/data/persistence/documents/documentsPersistence.d.ts +12 -0
- package/data/persistence/documents/documentsPersistence.js +233 -0
- package/data/persistence/documents/documentsPersistence.js.map +1 -0
- package/data/persistence/documents/internal/attachmentRows.js +78 -0
- package/data/persistence/documents/internal/attachmentRows.js.map +1 -0
- package/data/persistence/documents/internal/attachmentStagingPersistence.js +99 -0
- package/data/persistence/documents/internal/attachmentStagingPersistence.js.map +1 -0
- package/data/persistence/documents/internal/constants.d.ts +1 -0
- package/data/persistence/documents/internal/constants.js +2 -0
- package/data/persistence/documents/internal/constants.js.map +1 -0
- package/data/persistence/documents/internal/containerDocumentTombstoneHolds.js +182 -0
- package/data/persistence/documents/internal/containerDocumentTombstoneHolds.js.map +1 -0
- package/data/persistence/documents/internal/containerDocumentTombstones.js +164 -0
- package/data/persistence/documents/internal/containerDocumentTombstones.js.map +1 -0
- package/data/persistence/documents/internal/createDocumentWithHistoryCheckpoint.js +60 -0
- package/data/persistence/documents/internal/createDocumentWithHistoryCheckpoint.js.map +1 -0
- package/data/persistence/documents/internal/discardDocument.js +167 -0
- package/data/persistence/documents/internal/discardDocument.js.map +1 -0
- package/data/persistence/documents/internal/discoveredDocumentPlacement.js +30 -0
- package/data/persistence/documents/internal/discoveredDocumentPlacement.js.map +1 -0
- package/data/persistence/documents/internal/documentDeletionPersistence.js +152 -0
- package/data/persistence/documents/internal/documentDeletionPersistence.js.map +1 -0
- package/data/persistence/documents/internal/documentHistoryStatePersistence.js +10 -0
- package/data/persistence/documents/internal/documentHistoryStatePersistence.js.map +1 -0
- package/data/persistence/documents/internal/documentMutationPersistence.js +228 -0
- package/data/persistence/documents/internal/documentMutationPersistence.js.map +1 -0
- package/data/persistence/documents/internal/documentProjectionRows.js +65 -0
- package/data/persistence/documents/internal/documentProjectionRows.js.map +1 -0
- package/data/persistence/documents/internal/documentPullContinuationPersistence.js +20 -0
- package/data/persistence/documents/internal/documentPullContinuationPersistence.js.map +1 -0
- package/data/persistence/documents/internal/documentRecordIdentity.js +20 -0
- package/data/persistence/documents/internal/documentRecordIdentity.js.map +1 -0
- package/data/persistence/documents/internal/documentRows.js +178 -0
- package/data/persistence/documents/internal/documentRows.js.map +1 -0
- package/data/persistence/documents/internal/documentRuntimeState.js +39 -0
- package/data/persistence/documents/internal/documentRuntimeState.js.map +1 -0
- package/data/persistence/documents/internal/documentStoreStatePersistence.js +17 -0
- package/data/persistence/documents/internal/documentStoreStatePersistence.js.map +1 -0
- package/data/persistence/documents/internal/documentSummaryQueries.js +89 -0
- package/data/persistence/documents/internal/documentSummaryQueries.js.map +1 -0
- package/data/persistence/documents/internal/ensureDocumentsSchema.js +15 -0
- package/data/persistence/documents/internal/ensureDocumentsSchema.js.map +1 -0
- package/data/persistence/documents/internal/hydratedAttachmentPersistence.js +47 -0
- package/data/persistence/documents/internal/hydratedAttachmentPersistence.js.map +1 -0
- package/data/persistence/documents/internal/orphanSideRows.js +204 -0
- package/data/persistence/documents/internal/orphanSideRows.js.map +1 -0
- package/data/persistence/documents/internal/pendingCreateAdoption.js +43 -0
- package/data/persistence/documents/internal/pendingCreateAdoption.js.map +1 -0
- package/data/persistence/documents/internal/rowQueryPersistence.js +95 -0
- package/data/persistence/documents/internal/rowQueryPersistence.js.map +1 -0
- package/data/persistence/documents/internal/syncQueuePersistence.js +197 -0
- package/data/persistence/documents/internal/syncQueuePersistence.js.map +1 -0
- package/data/persistence/documents/types.d.ts +322 -0
- package/data/persistence/documents/types.js +2 -0
- package/data/persistence/documents/types.js.map +1 -0
- package/data/persistence/keyingCheckpointAdvancePersistence.js +200 -0
- package/data/persistence/keyingCheckpointAdvancePersistence.js.map +1 -0
- package/data/persistence/keyingCheckpointEvidence.js +32 -0
- package/data/persistence/keyingCheckpointEvidence.js.map +1 -0
- package/data/persistence/keyingCheckpointPersistence.js +133 -0
- package/data/persistence/keyingCheckpointPersistence.js.map +1 -0
- package/data/persistence/latestTimestamp.js +15 -0
- package/data/persistence/latestTimestamp.js.map +1 -0
- package/data/persistence/locallyAcknowledgedCheckpointPersistence.d.ts +53 -0
- package/data/persistence/locallyAcknowledgedCheckpointPersistence.js +167 -0
- package/data/persistence/locallyAcknowledgedCheckpointPersistence.js.map +1 -0
- package/data/persistence/organizationFounderPersistence.js +59 -0
- package/data/persistence/organizationFounderPersistence.js.map +1 -0
- package/data/persistence/organizationReplacementCheckpointPersistence.js +72 -0
- package/data/persistence/organizationReplacementCheckpointPersistence.js.map +1 -0
- package/data/persistence/organizations/organizationAccessRevocationPersistence.js +45 -0
- package/data/persistence/organizations/organizationAccessRevocationPersistence.js.map +1 -0
- package/data/persistence/organizations/organizationDataUsagePersistence.js +219 -0
- package/data/persistence/organizations/organizationDataUsagePersistence.js.map +1 -0
- package/data/persistence/organizations/organizationGroupNamePersistence.js +33 -0
- package/data/persistence/organizations/organizationGroupNamePersistence.js.map +1 -0
- package/data/persistence/organizations/organizationPresentationDenialPersistence.js +52 -0
- package/data/persistence/organizations/organizationPresentationDenialPersistence.js.map +1 -0
- package/data/persistence/organizations/organizationProfileDocumentPointers.js +32 -0
- package/data/persistence/organizations/organizationProfileDocumentPointers.js.map +1 -0
- package/data/persistence/organizations/organizationProvisioningAttemptPersistence.js +69 -0
- package/data/persistence/organizations/organizationProvisioningAttemptPersistence.js.map +1 -0
- package/data/persistence/organizations/organizationReadModelGrantPersistence.js +91 -0
- package/data/persistence/organizations/organizationReadModelGrantPersistence.js.map +1 -0
- package/data/persistence/organizations/organizationReadModelInvalidation.d.ts +11 -0
- package/data/persistence/organizations/organizationReadModelInvalidation.js +35 -0
- package/data/persistence/organizations/organizationReadModelInvalidation.js.map +1 -0
- package/data/persistence/organizations/organizationReadModelMemberLoad.js +96 -0
- package/data/persistence/organizations/organizationReadModelMemberLoad.js.map +1 -0
- package/data/persistence/organizations/organizationReadModelMembershipPersistence.js +161 -0
- package/data/persistence/organizations/organizationReadModelMembershipPersistence.js.map +1 -0
- package/data/persistence/organizations/organizationReadModelPersistence.js +301 -0
- package/data/persistence/organizations/organizationReadModelPersistence.js.map +1 -0
- package/data/persistence/organizations/organizationReadModelPolicyHeadPersistence.js +64 -0
- package/data/persistence/organizations/organizationReadModelPolicyHeadPersistence.js.map +1 -0
- package/data/persistence/organizations/organizationReadModelProjection.js +228 -0
- package/data/persistence/organizations/organizationReadModelProjection.js.map +1 -0
- package/data/persistence/organizations/organizationReadModelProtocol.js +14 -0
- package/data/persistence/organizations/organizationReadModelProtocol.js.map +1 -0
- package/data/persistence/organizations/organizationReadModelPurge.js +113 -0
- package/data/persistence/organizations/organizationReadModelPurge.js.map +1 -0
- package/data/persistence/organizations/organizationReadModelResponseAssertions.js +42 -0
- package/data/persistence/organizations/organizationReadModelResponseAssertions.js.map +1 -0
- package/data/persistence/principalGrantRetirementPersistence.d.ts +9 -0
- package/data/persistence/principalGrantRetirementPersistence.js +40 -0
- package/data/persistence/principalGrantRetirementPersistence.js.map +1 -0
- package/data/persistence/principalHistoryEvidencePersistence.js +91 -0
- package/data/persistence/principalHistoryEvidencePersistence.js.map +1 -0
- package/data/persistence/principalHistoryPrefixPersistence.js +52 -0
- package/data/persistence/principalHistoryPrefixPersistence.js.map +1 -0
- package/data/persistence/principalHistoryStagePersistence.js +61 -0
- package/data/persistence/principalHistoryStagePersistence.js.map +1 -0
- package/data/persistence/principalKeyEnvelopeCandidates.js +67 -0
- package/data/persistence/principalKeyEnvelopeCandidates.js.map +1 -0
- package/data/persistence/principalPolicyBundleIntegrity.js +49 -0
- package/data/persistence/principalPolicyBundleIntegrity.js.map +1 -0
- package/data/persistence/principalPolicyCheckpointSelection.js +26 -0
- package/data/persistence/principalPolicyCheckpointSelection.js.map +1 -0
- package/data/persistence/principalPolicyOrganizationPersistence.js +42 -0
- package/data/persistence/principalPolicyOrganizationPersistence.js.map +1 -0
- package/data/persistence/principalPolicyPersistence.js +279 -0
- package/data/persistence/principalPolicyPersistence.js.map +1 -0
- package/data/persistence/principalPolicyReferenceCheckpoint.js +27 -0
- package/data/persistence/principalPolicyReferenceCheckpoint.js.map +1 -0
- package/data/persistence/principalPolicyReferenceIndexPersistence.js +52 -0
- package/data/persistence/principalPolicyReferenceIndexPersistence.js.map +1 -0
- package/data/persistence/principalPolicyReferencePersistence.js +215 -0
- package/data/persistence/principalPolicyReferencePersistence.js.map +1 -0
- package/data/persistence/securityIncidentPersistence.js +156 -0
- package/data/persistence/securityIncidentPersistence.js.map +1 -0
- package/data/persistence/storedPrincipalPolicyBundle.js +17 -0
- package/data/persistence/storedPrincipalPolicyBundle.js.map +1 -0
- package/data/persistence/trustedUserIdentityPinPersistence.js +252 -0
- package/data/persistence/trustedUserIdentityPinPersistence.js.map +1 -0
- package/data/persistence/trustedUserIdentityPinTransaction.js +51 -0
- package/data/persistence/trustedUserIdentityPinTransaction.js.map +1 -0
- package/data/persistence/verifiedPrincipalPolicyBundle.js +77 -0
- package/data/persistence/verifiedPrincipalPolicyBundle.js.map +1 -0
- package/data/persistence/verifiedPrincipalPolicyRetentionPersistence.js +18 -0
- package/data/persistence/verifiedPrincipalPolicyRetentionPersistence.js.map +1 -0
- package/data/principalPolicyStates.js +24 -0
- package/data/principalPolicyStates.js.map +1 -0
- package/data/principals/organizationAuthorityDescriptor.d.ts +22 -0
- package/data/principals/organizationAuthorityDescriptor.js +138 -0
- package/data/principals/organizationAuthorityDescriptor.js.map +1 -0
- package/data/principals/organizationGroupRoles.js +27 -0
- package/data/principals/organizationGroupRoles.js.map +1 -0
- package/data/principals/principalHistoryPrefixProtection.js +29 -0
- package/data/principals/principalHistoryPrefixProtection.js.map +1 -0
- package/data/principals/principalHistoryProtection.d.ts +10 -0
- package/data/principals/principalHistoryProtection.js +14 -0
- package/data/principals/principalHistoryProtection.js.map +1 -0
- package/data/principals/principalHistoryStageProtection.js +67 -0
- package/data/principals/principalHistoryStageProtection.js.map +1 -0
- package/data/principals/principalKeyValidation.js +19 -0
- package/data/principals/principalKeyValidation.js.map +1 -0
- package/data/principals/principalPolicyAdminSigners.js +81 -0
- package/data/principals/principalPolicyAdminSigners.js.map +1 -0
- package/data/principals/principalPolicyCrypto.js +73 -0
- package/data/principals/principalPolicyCrypto.js.map +1 -0
- package/data/principals/principalPolicyEvidence.d.ts +4 -0
- package/data/principals/principalPolicyEvidence.js +12 -0
- package/data/principals/principalPolicyEvidence.js.map +1 -0
- package/data/recordReaders.d.ts +17 -0
- package/data/recordReaders.js +76 -0
- package/data/recordReaders.js.map +1 -0
- package/data/securityIncidents.d.ts +26 -0
- package/data/securityIncidents.js +2 -0
- package/data/securityIncidents.js.map +1 -0
- package/data/sqlite/containerDocumentTombstoneHoldSchema.d.ts +142 -0
- package/data/sqlite/containerDocumentTombstoneHoldSchema.js +35 -0
- package/data/sqlite/containerDocumentTombstoneHoldSchema.js.map +1 -0
- package/data/sqlite/containerSchema.d.ts +1289 -0
- package/data/sqlite/containerSchema.js +112 -0
- package/data/sqlite/containerSchema.js.map +1 -0
- package/data/sqlite/documentAttachmentSchema.d.ts +513 -0
- package/data/sqlite/documentAttachmentSchema.js +94 -0
- package/data/sqlite/documentAttachmentSchema.js.map +1 -0
- package/data/sqlite/documentDiscoveryEvidenceSchema.js +28 -0
- package/data/sqlite/documentDiscoveryEvidenceSchema.js.map +1 -0
- package/data/sqlite/documentHistoryPersistence.d.ts +80 -0
- package/data/sqlite/documentHistoryPersistence.js +281 -0
- package/data/sqlite/documentHistoryPersistence.js.map +1 -0
- package/data/sqlite/documentOrphanBlobReclaims.js +6 -0
- package/data/sqlite/documentOrphanBlobReclaims.js.map +1 -0
- package/data/sqlite/documentPendingUpdatePersistence.d.ts +56 -0
- package/data/sqlite/documentPendingUpdatePersistence.js +169 -0
- package/data/sqlite/documentPendingUpdatePersistence.js.map +1 -0
- package/data/sqlite/documentPersistence.d.ts +22 -0
- package/data/sqlite/documentPersistence.js +35 -0
- package/data/sqlite/documentPersistence.js.map +1 -0
- package/data/sqlite/documentPersistenceTypes.d.ts +79 -0
- package/data/sqlite/documentPersistenceTypes.js +2 -0
- package/data/sqlite/documentPersistenceTypes.js.map +1 -0
- package/data/sqlite/documentPlacementIntentSchema.d.ts +327 -0
- package/data/sqlite/documentPlacementIntentSchema.js +60 -0
- package/data/sqlite/documentPlacementIntentSchema.js.map +1 -0
- package/data/sqlite/documentRecordPersistence.d.ts +275 -0
- package/data/sqlite/documentRecordPersistence.js +102 -0
- package/data/sqlite/documentRecordPersistence.js.map +1 -0
- package/data/sqlite/documentSyncFailurePersistence.d.ts +29 -0
- package/data/sqlite/documentSyncFailurePersistence.js +91 -0
- package/data/sqlite/documentSyncFailurePersistence.js.map +1 -0
- package/data/sqlite/organizationDataUsageSchema.js +40 -0
- package/data/sqlite/organizationDataUsageSchema.js.map +1 -0
- package/data/sqlite/organizationFounderSchema.js +9 -0
- package/data/sqlite/organizationFounderSchema.js.map +1 -0
- package/data/sqlite/organizationProvisioningAttemptSchema.js +23 -0
- package/data/sqlite/organizationProvisioningAttemptSchema.js.map +1 -0
- package/data/sqlite/organizationReadModelSchema.js +133 -0
- package/data/sqlite/organizationReadModelSchema.js.map +1 -0
- package/data/sqlite/organizationReadModelTableRegistry.d.ts +1479 -0
- package/data/sqlite/organizationReadModelTableRegistry.js +28 -0
- package/data/sqlite/organizationReadModelTableRegistry.js.map +1 -0
- package/data/sqlite/principalGrantRetirementSchema.js +12 -0
- package/data/sqlite/principalGrantRetirementSchema.js.map +1 -0
- package/data/sqlite/principalHistoryEvidenceSchema.js +46 -0
- package/data/sqlite/principalHistoryEvidenceSchema.js.map +1 -0
- package/data/sqlite/principalHistoryStageSchema.js +17 -0
- package/data/sqlite/principalHistoryStageSchema.js.map +1 -0
- package/data/sqlite/principalKeyFingerprintJson.js +9 -0
- package/data/sqlite/principalKeyFingerprintJson.js.map +1 -0
- package/data/sqlite/principalPolicySchema.d.ts +716 -0
- package/data/sqlite/principalPolicySchema.js +72 -0
- package/data/sqlite/principalPolicySchema.js.map +1 -0
- package/data/sqlite/schema.d.ts +9024 -0
- package/data/sqlite/schema.js +635 -0
- package/data/sqlite/schema.js.map +1 -0
- package/data/sqlite/securityIncidentSchema.d.ts +224 -0
- package/data/sqlite/securityIncidentSchema.js +28 -0
- package/data/sqlite/securityIncidentSchema.js.map +1 -0
- package/data/sqlite/sqlExec.d.ts +39 -0
- package/data/sqlite/sqlExec.js +118 -0
- package/data/sqlite/sqlExec.js.map +1 -0
- package/data/sqlite/sqlSchema.d.ts +4 -0
- package/data/sqlite/sqlSchema.js +3 -0
- package/data/sqlite/sqlSchema.js.map +1 -0
- package/data/sqlite/sqlTableSchema.d.ts +19 -0
- package/data/sqlite/sqlTableSchema.js +138 -0
- package/data/sqlite/sqlTableSchema.js.map +1 -0
- package/data/sqlite/sqlitePersistenceRuntime.d.ts +34 -0
- package/data/sqlite/sqlitePersistenceRuntime.js +204 -0
- package/data/sqlite/sqlitePersistenceRuntime.js.map +1 -0
- package/data/sqlite/storagePersistence.d.ts +68 -0
- package/data/sqlite/storagePersistence.js +81 -0
- package/data/sqlite/storagePersistence.js.map +1 -0
- package/data/stableUuid.js +39 -0
- package/data/stableUuid.js.map +1 -0
- package/data/sync/coordinatorPump.d.ts +10 -0
- package/data/sync/coordinatorPump.js +305 -0
- package/data/sync/coordinatorPump.js.map +1 -0
- package/data/sync/coordinatorState.d.ts +43 -0
- package/data/sync/coordinatorState.js +72 -0
- package/data/sync/coordinatorState.js.map +1 -0
- package/data/sync/databaseUnavailable.d.ts +4 -0
- package/data/sync/databaseUnavailable.js +47 -0
- package/data/sync/databaseUnavailable.js.map +1 -0
- package/data/sync/documentSyncOutgoingBatch.d.ts +17 -0
- package/data/sync/documentSyncOutgoingBatch.js +93 -0
- package/data/sync/documentSyncOutgoingBatch.js.map +1 -0
- package/data/sync/outgoingUpdateSettlement.d.ts +54 -0
- package/data/sync/outgoingUpdateSettlement.js +60 -0
- package/data/sync/outgoingUpdateSettlement.js.map +1 -0
- package/data/sync/sequence.d.ts +8 -0
- package/data/sync/sequence.js +9 -0
- package/data/sync/sequence.js.map +1 -0
- package/data/sync/syncCoordinator.d.ts +32 -0
- package/data/sync/syncCoordinator.js +160 -0
- package/data/sync/syncCoordinator.js.map +1 -0
- package/data/sync/syncLaneConfig.d.ts +16 -0
- package/data/sync/syncLaneConfig.js +2 -0
- package/data/sync/syncLaneConfig.js.map +1 -0
- package/data/sync/syncPrerequisites.d.ts +12 -0
- package/data/sync/syncPrerequisites.js +8 -0
- package/data/sync/syncPrerequisites.js.map +1 -0
- package/data/sync/syncTelemetry.d.ts +86 -0
- package/data/sync/syncTelemetry.js +69 -0
- package/data/sync/syncTelemetry.js.map +1 -0
- package/data/sync/uploadLane.d.ts +18 -0
- package/data/sync/uploadLane.js +116 -0
- package/data/sync/uploadLane.js.map +1 -0
- package/data/trustedUserIdentity/apiAdapter.d.ts +12 -0
- package/data/trustedUserIdentity/apiAdapter.js +33 -0
- package/data/trustedUserIdentity/apiAdapter.js.map +1 -0
- package/data/trustedUserIdentity/index.d.ts +6 -0
- package/data/trustedUserIdentity/index.js +6 -0
- package/data/trustedUserIdentity/index.js.map +1 -0
- package/data/trustedUserIdentity/requiredResolver.d.ts +3 -0
- package/data/trustedUserIdentity/requiredResolver.js +27 -0
- package/data/trustedUserIdentity/requiredResolver.js.map +1 -0
- package/data/trustedUserIdentity/service.d.ts +2 -0
- package/data/trustedUserIdentity/service.js +125 -0
- package/data/trustedUserIdentity/service.js.map +1 -0
- package/data/trustedUserIdentity/testFixtures.d.ts +15 -0
- package/data/trustedUserIdentity/testFixtures.js +33 -0
- package/data/trustedUserIdentity/testFixtures.js.map +1 -0
- package/data/trustedUserIdentity/trustDomain.d.ts +13 -0
- package/data/trustedUserIdentity/trustDomain.js +66 -0
- package/data/trustedUserIdentity/trustDomain.js.map +1 -0
- package/data/trustedUserIdentity/types.d.ts +69 -0
- package/data/trustedUserIdentity/types.js +18 -0
- package/data/trustedUserIdentity/types.js.map +1 -0
- package/data/trustedUserIdentity/validation.d.ts +16 -0
- package/data/trustedUserIdentity/validation.js +109 -0
- package/data/trustedUserIdentity/validation.js.map +1 -0
- package/documents.d.ts +7 -0
- package/documents.js +7 -0
- package/documents.js.map +1 -0
- package/index.d.ts +26 -0
- package/index.js +14 -0
- package/index.js.map +1 -0
- package/internal/api-client/ApiCache.js +112 -0
- package/internal/api-client/ApiCache.js.map +1 -0
- package/internal/api-client/ApiClient.d.ts +3968 -0
- package/internal/api-client/ApiClient.js +844 -0
- package/internal/api-client/ApiClient.js.map +1 -0
- package/internal/api-client/apiRequestRuntime.d.ts +48 -0
- package/internal/api-client/apiRequestRuntime.js +305 -0
- package/internal/api-client/apiRequestRuntime.js.map +1 -0
- package/internal/api-client/binaryRequestOperationTransport.js +41 -0
- package/internal/api-client/binaryRequestOperationTransport.js.map +1 -0
- package/internal/api-client/binaryResponseOperationTransport.d.ts +22 -0
- package/internal/api-client/binaryResponseOperationTransport.js +42 -0
- package/internal/api-client/binaryResponseOperationTransport.js.map +1 -0
- package/internal/api-client/index.d.ts +5 -0
- package/internal/api-client/index.js +3 -0
- package/internal/api-client/index.js.map +1 -0
- package/internal/api-client/operationResponse.d.ts +39 -0
- package/internal/api-client/operationResponse.js +78 -0
- package/internal/api-client/operationResponse.js.map +1 -0
- package/internal/api-client/operationTransport.d.ts +38 -0
- package/internal/api-client/operationTransport.js +118 -0
- package/internal/api-client/operationTransport.js.map +1 -0
- package/internal/api-client/operationTransportFactory.js +11 -0
- package/internal/api-client/operationTransportFactory.js.map +1 -0
- package/internal/api-client/operationTransportSurface.js +48 -0
- package/internal/api-client/operationTransportSurface.js.map +1 -0
- package/internal/api-client/principalHistoryRequest.js +90 -0
- package/internal/api-client/principalHistoryRequest.js.map +1 -0
- package/internal/api-client/principalHistoryRequestContext.js +67 -0
- package/internal/api-client/principalHistoryRequestContext.js.map +1 -0
- package/internal/api-client/principalPolicyPages.d.ts +20 -0
- package/internal/api-client/principalPolicyPages.js +181 -0
- package/internal/api-client/principalPolicyPages.js.map +1 -0
- package/internal/api-client/principalPolicyRequests.js +68 -0
- package/internal/api-client/principalPolicyRequests.js.map +1 -0
- package/internal/api-client/projectionHistoryTransport.js +107 -0
- package/internal/api-client/projectionHistoryTransport.js.map +1 -0
- package/internal/api-client/requestInternals.js +294 -0
- package/internal/api-client/requestInternals.js.map +1 -0
- package/internal/api-client/responseBodyFailure.js +13 -0
- package/internal/api-client/responseBodyFailure.js.map +1 -0
- package/internal/api-client/routes/auth/session.js +31 -0
- package/internal/api-client/routes/auth/session.js.map +1 -0
- package/internal/api-client/routes/blobs/attachments.js +21 -0
- package/internal/api-client/routes/blobs/attachments.js.map +1 -0
- package/internal/api-client/routes/blobs/get.d.ts +14 -0
- package/internal/api-client/routes/blobs/get.js +46 -0
- package/internal/api-client/routes/blobs/get.js.map +1 -0
- package/internal/api-client/routes/blobs/multipart.js +25 -0
- package/internal/api-client/routes/blobs/multipart.js.map +1 -0
- package/internal/api-client/routes/containers/mutations.js +54 -0
- package/internal/api-client/routes/containers/mutations.js.map +1 -0
- package/internal/api-client/routes/containers/reads.d.ts +22 -0
- package/internal/api-client/routes/containers/reads.js +31 -0
- package/internal/api-client/routes/containers/reads.js.map +1 -0
- package/internal/api-client/routes/documents/attachments.js +11 -0
- package/internal/api-client/routes/documents/attachments.js.map +1 -0
- package/internal/api-client/routes/documents/attributionRequests.js +72 -0
- package/internal/api-client/routes/documents/attributionRequests.js.map +1 -0
- package/internal/api-client/routes/documents/mutations.d.ts +32 -0
- package/internal/api-client/routes/documents/mutations.js +36 -0
- package/internal/api-client/routes/documents/mutations.js.map +1 -0
- package/internal/api-client/routes/organizations/billing.js +49 -0
- package/internal/api-client/routes/organizations/billing.js.map +1 -0
- package/internal/api-client/routes/organizations/createGroup.js +12 -0
- package/internal/api-client/routes/organizations/createGroup.js.map +1 -0
- package/internal/api-client/routes/organizations/dataUsage.js +11 -0
- package/internal/api-client/routes/organizations/dataUsage.js.map +1 -0
- package/internal/api-client/routes/organizations/deleteGroup.js +12 -0
- package/internal/api-client/routes/organizations/deleteGroup.js.map +1 -0
- package/internal/api-client/routes/organizations/groupMembers.js +12 -0
- package/internal/api-client/routes/organizations/groupMembers.js.map +1 -0
- package/internal/api-client/routes/organizations/profile.js +12 -0
- package/internal/api-client/routes/organizations/profile.js.map +1 -0
- package/internal/api-client/routes/organizations/roster.js +13 -0
- package/internal/api-client/routes/organizations/roster.js.map +1 -0
- package/internal/api-client/routes/organizations/stripeCheckout.js +42 -0
- package/internal/api-client/routes/organizations/stripeCheckout.js.map +1 -0
- package/internal/api-client/routes/path.js +4 -0
- package/internal/api-client/routes/path.js.map +1 -0
- package/internal/api-client/routes/principals/policy.js +34 -0
- package/internal/api-client/routes/principals/policy.js.map +1 -0
- package/internal/api-client/routes/writerProjections.js +56 -0
- package/internal/api-client/routes/writerProjections.js.map +1 -0
- package/internal/api-client/sessionRefresh.js +39 -0
- package/internal/api-client/sessionRefresh.js.map +1 -0
- package/internal/api-client/types.d.ts +61 -0
- package/internal/api-client/types.js +2 -0
- package/internal/api-client/types.js.map +1 -0
- package/internal/api-client/verifiedProjectionHistory.d.ts +4 -0
- package/internal/api-client/verifiedProjectionHistory.js +12 -0
- package/internal/api-client/verifiedProjectionHistory.js.map +1 -0
- package/internal/api-client/writerProjectionCitations.js +95 -0
- package/internal/api-client/writerProjectionCitations.js.map +1 -0
- package/internal/api-client/writerProjectionPrime.js +25 -0
- package/internal/api-client/writerProjectionPrime.js.map +1 -0
- package/internal/crypto/blobEnvelopeError.d.ts +8 -0
- package/internal/crypto/blobEnvelopeError.js +12 -0
- package/internal/crypto/blobEnvelopeError.js.map +1 -0
- package/internal/crypto/blobEnvelopeFields.js +34 -0
- package/internal/crypto/blobEnvelopeFields.js.map +1 -0
- package/internal/crypto/blobEnvelopeReader.d.ts +30 -0
- package/internal/crypto/blobEnvelopeReader.js +182 -0
- package/internal/crypto/blobEnvelopeReader.js.map +1 -0
- package/internal/crypto/blobEnvelopeV2.d.ts +38 -0
- package/internal/crypto/blobEnvelopeV2.js +100 -0
- package/internal/crypto/blobEnvelopeV2.js.map +1 -0
- package/internal/crypto/canonicalOrdering.d.ts +7 -0
- package/internal/crypto/canonicalOrdering.js +10 -0
- package/internal/crypto/canonicalOrdering.js.map +1 -0
- package/internal/crypto/challenge.d.ts +16 -0
- package/internal/crypto/challenge.js +53 -0
- package/internal/crypto/challenge.js.map +1 -0
- package/internal/crypto/contentKeyEnvelope.d.ts +48 -0
- package/internal/crypto/contentKeyEnvelope.js +96 -0
- package/internal/crypto/contentKeyEnvelope.js.map +1 -0
- package/internal/crypto/encapsulation/decryptAsRecipient.d.ts +6 -0
- package/internal/crypto/encapsulation/decryptAsRecipient.js +44 -0
- package/internal/crypto/encapsulation/decryptAsRecipient.js.map +1 -0
- package/internal/crypto/encapsulation/encryptForRecipients.d.ts +6 -0
- package/internal/crypto/encapsulation/encryptForRecipients.js +15 -0
- package/internal/crypto/encapsulation/encryptForRecipients.js.map +1 -0
- package/internal/crypto/encapsulation/generateKeyPair.d.ts +10 -0
- package/internal/crypto/encapsulation/generateKeyPair.js +17 -0
- package/internal/crypto/encapsulation/generateKeyPair.js.map +1 -0
- package/internal/crypto/encapsulation/types.d.ts +10 -0
- package/internal/crypto/encapsulation/types.js +2 -0
- package/internal/crypto/encapsulation/types.js.map +1 -0
- package/internal/crypto/encapsulation/unwrapDek.d.ts +6 -0
- package/internal/crypto/encapsulation/unwrapDek.js +37 -0
- package/internal/crypto/encapsulation/unwrapDek.js.map +1 -0
- package/internal/crypto/encapsulation/wrapDek.d.ts +7 -0
- package/internal/crypto/encapsulation/wrapDek.js +38 -0
- package/internal/crypto/encapsulation/wrapDek.js.map +1 -0
- package/internal/crypto/fingerprint.d.ts +1 -0
- package/internal/crypto/fingerprint.js +5 -0
- package/internal/crypto/fingerprint.js.map +1 -0
- package/internal/crypto/groupMetadata.d.ts +31 -0
- package/internal/crypto/groupMetadata.js +100 -0
- package/internal/crypto/groupMetadata.js.map +1 -0
- package/internal/crypto/hex.d.ts +2 -0
- package/internal/crypto/hex.js +14 -0
- package/internal/crypto/hex.js.map +1 -0
- package/internal/crypto/identitySeedPhrase.d.ts +16 -0
- package/internal/crypto/identitySeedPhrase.js +71 -0
- package/internal/crypto/identitySeedPhrase.js.map +1 -0
- package/internal/crypto/incrementalSha256.d.ts +6 -0
- package/internal/crypto/incrementalSha256.js +22 -0
- package/internal/crypto/incrementalSha256.js.map +1 -0
- package/internal/crypto/index.d.ts +38 -0
- package/internal/crypto/index.js +29 -0
- package/internal/crypto/index.js.map +1 -0
- package/internal/crypto/keying/accessEvent.d.ts +11 -0
- package/internal/crypto/keying/accessEvent.js +273 -0
- package/internal/crypto/keying/accessEvent.js.map +1 -0
- package/internal/crypto/keying/accessManifestSnapshot.d.ts +14 -0
- package/internal/crypto/keying/accessManifestSnapshot.js +52 -0
- package/internal/crypto/keying/accessManifestSnapshot.js.map +1 -0
- package/internal/crypto/keying/accessManifestSnapshotTypes.d.ts +11 -0
- package/internal/crypto/keying/accessManifestSnapshotTypes.js +8 -0
- package/internal/crypto/keying/accessManifestSnapshotTypes.js.map +1 -0
- package/internal/crypto/keying/accessManifestVerificationRevision.d.ts +8 -0
- package/internal/crypto/keying/accessManifestVerificationRevision.js +9 -0
- package/internal/crypto/keying/accessManifestVerificationRevision.js.map +1 -0
- package/internal/crypto/keying/canonical.d.ts +12 -0
- package/internal/crypto/keying/canonical.js +126 -0
- package/internal/crypto/keying/canonical.js.map +1 -0
- package/internal/crypto/keying/checkpoints.d.ts +16 -0
- package/internal/crypto/keying/checkpoints.js +149 -0
- package/internal/crypto/keying/checkpoints.js.map +1 -0
- package/internal/crypto/keying/containerAccess.d.ts +6 -0
- package/internal/crypto/keying/containerAccess.js +58 -0
- package/internal/crypto/keying/containerAccess.js.map +1 -0
- package/internal/crypto/keying/containerAccessBodies.d.ts +2 -0
- package/internal/crypto/keying/containerAccessBodies.js +160 -0
- package/internal/crypto/keying/containerAccessBodies.js.map +1 -0
- package/internal/crypto/keying/containerAccessReciteBody.d.ts +3 -0
- package/internal/crypto/keying/containerAccessReciteBody.js +19 -0
- package/internal/crypto/keying/containerAccessReciteBody.js.map +1 -0
- package/internal/crypto/keying/containerAccessRekeyBody.js +35 -0
- package/internal/crypto/keying/containerAccessRekeyBody.js.map +1 -0
- package/internal/crypto/keying/containerAccessState.d.ts +16 -0
- package/internal/crypto/keying/containerAccessState.js +166 -0
- package/internal/crypto/keying/containerAccessState.js.map +1 -0
- package/internal/crypto/keying/containerAccessStructure.js +44 -0
- package/internal/crypto/keying/containerAccessStructure.js.map +1 -0
- package/internal/crypto/keying/containerAccessTransitionBase.js +111 -0
- package/internal/crypto/keying/containerAccessTransitionBase.js.map +1 -0
- package/internal/crypto/keying/containerAccessTransitions.js +182 -0
- package/internal/crypto/keying/containerAccessTransitions.js.map +1 -0
- package/internal/crypto/keying/containerGrantPrincipalHead.js +20 -0
- package/internal/crypto/keying/containerGrantPrincipalHead.js.map +1 -0
- package/internal/crypto/keying/containerKek/contentKeyTargets.d.ts +6 -0
- package/internal/crypto/keying/containerKek/contentKeyTargets.js +294 -0
- package/internal/crypto/keying/containerKek/contentKeyTargets.js.map +1 -0
- package/internal/crypto/keying/containerKek.d.ts +8 -0
- package/internal/crypto/keying/containerKek.js +326 -0
- package/internal/crypto/keying/containerKek.js.map +1 -0
- package/internal/crypto/keying/containerKekCacheToken.js +31 -0
- package/internal/crypto/keying/containerKekCacheToken.js.map +1 -0
- package/internal/crypto/keying/containerKekEpochBinding.js +69 -0
- package/internal/crypto/keying/containerKekEpochBinding.js.map +1 -0
- package/internal/crypto/keying/containerKekKeyring.d.ts +39 -0
- package/internal/crypto/keying/containerKekKeyring.js +236 -0
- package/internal/crypto/keying/containerKekKeyring.js.map +1 -0
- package/internal/crypto/keying/containerKekMaterial.d.ts +13 -0
- package/internal/crypto/keying/containerKekMaterial.js +71 -0
- package/internal/crypto/keying/containerKekMaterial.js.map +1 -0
- package/internal/crypto/keying/containerKekParent.js +86 -0
- package/internal/crypto/keying/containerKekParent.js.map +1 -0
- package/internal/crypto/keying/containerKekPredecessor.d.ts +14 -0
- package/internal/crypto/keying/containerKekPredecessor.js +135 -0
- package/internal/crypto/keying/containerKekPredecessor.js.map +1 -0
- package/internal/crypto/keying/containerKekWrapping.d.ts +12 -0
- package/internal/crypto/keying/containerKekWrapping.js +125 -0
- package/internal/crypto/keying/containerKekWrapping.js.map +1 -0
- package/internal/crypto/keying/containerParentAuthority.d.ts +16 -0
- package/internal/crypto/keying/containerParentAuthority.js +53 -0
- package/internal/crypto/keying/containerParentAuthority.js.map +1 -0
- package/internal/crypto/keying/containerPathAccess.d.ts +45 -0
- package/internal/crypto/keying/containerPathAccess.js +111 -0
- package/internal/crypto/keying/containerPathAccess.js.map +1 -0
- package/internal/crypto/keying/containerPrincipalReferences.js +34 -0
- package/internal/crypto/keying/containerPrincipalReferences.js.map +1 -0
- package/internal/crypto/keying/containerSystemTopology.js +18 -0
- package/internal/crypto/keying/containerSystemTopology.js.map +1 -0
- package/internal/crypto/keying/containerUserRecipientKey.js +15 -0
- package/internal/crypto/keying/containerUserRecipientKey.js.map +1 -0
- package/internal/crypto/keying/documentAccess.d.ts +14 -0
- package/internal/crypto/keying/documentAccess.js +447 -0
- package/internal/crypto/keying/documentAccess.js.map +1 -0
- package/internal/crypto/keying/documentAccessAuthorization.d.ts +33 -0
- package/internal/crypto/keying/documentAccessAuthorization.js +89 -0
- package/internal/crypto/keying/documentAccessAuthorization.js.map +1 -0
- package/internal/crypto/keying/documentAccessBody.d.ts +2 -0
- package/internal/crypto/keying/documentAccessBody.js +35 -0
- package/internal/crypto/keying/documentAccessBody.js.map +1 -0
- package/internal/crypto/keying/documentBlobRewraps.js +82 -0
- package/internal/crypto/keying/documentBlobRewraps.js.map +1 -0
- package/internal/crypto/keying/documentCitationScope.js +55 -0
- package/internal/crypto/keying/documentCitationScope.js.map +1 -0
- package/internal/crypto/keying/documentContentWriteAuthority.d.ts +18 -0
- package/internal/crypto/keying/documentContentWriteAuthority.js +81 -0
- package/internal/crypto/keying/documentContentWriteAuthority.js.map +1 -0
- package/internal/crypto/keying/documentPurge.d.ts +17 -0
- package/internal/crypto/keying/documentPurge.js +124 -0
- package/internal/crypto/keying/documentPurge.js.map +1 -0
- package/internal/crypto/keying/index.d.ts +35 -0
- package/internal/crypto/keying/index.js +31 -0
- package/internal/crypto/keying/index.js.map +1 -0
- package/internal/crypto/keying/keyingHashDomains.d.ts +1 -0
- package/internal/crypto/keying/keyingHashDomains.js +2 -0
- package/internal/crypto/keying/keyingHashDomains.js.map +1 -0
- package/internal/crypto/keying/principalPolicy.d.ts +8 -0
- package/internal/crypto/keying/principalPolicy.js +189 -0
- package/internal/crypto/keying/principalPolicy.js.map +1 -0
- package/internal/crypto/keying/principalPolicyBundleHistory.d.ts +7 -0
- package/internal/crypto/keying/principalPolicyBundleHistory.js +75 -0
- package/internal/crypto/keying/principalPolicyBundleHistory.js.map +1 -0
- package/internal/crypto/keying/principalPolicyChainEntry.js +83 -0
- package/internal/crypto/keying/principalPolicyChainEntry.js.map +1 -0
- package/internal/crypto/keying/principalPolicyCommitments.js +37 -0
- package/internal/crypto/keying/principalPolicyCommitments.js.map +1 -0
- package/internal/crypto/keying/principalPolicyCurrent.d.ts +12 -0
- package/internal/crypto/keying/principalPolicyCurrent.js +57 -0
- package/internal/crypto/keying/principalPolicyCurrent.js.map +1 -0
- package/internal/crypto/keying/principalPolicyExternalAuthority.js +66 -0
- package/internal/crypto/keying/principalPolicyExternalAuthority.js.map +1 -0
- package/internal/crypto/keying/principalPolicyExternalAuthorityTypes.d.ts +15 -0
- package/internal/crypto/keying/principalPolicyExternalAuthorityTypes.js +2 -0
- package/internal/crypto/keying/principalPolicyExternalAuthorityTypes.js.map +1 -0
- package/internal/crypto/keying/principalPolicyHistory.d.ts +12 -0
- package/internal/crypto/keying/principalPolicyHistory.js +158 -0
- package/internal/crypto/keying/principalPolicyHistory.js.map +1 -0
- package/internal/crypto/keying/principalPolicyHistoryChecks.js +60 -0
- package/internal/crypto/keying/principalPolicyHistoryChecks.js.map +1 -0
- package/internal/crypto/keying/principalPolicyHistoryIndex.d.ts +30 -0
- package/internal/crypto/keying/principalPolicyHistoryIndex.js +112 -0
- package/internal/crypto/keying/principalPolicyHistoryIndex.js.map +1 -0
- package/internal/crypto/keying/principalPolicyHistoryPage.d.ts +17 -0
- package/internal/crypto/keying/principalPolicyHistoryPage.js +87 -0
- package/internal/crypto/keying/principalPolicyHistoryPage.js.map +1 -0
- package/internal/crypto/keying/principalPolicyHistoryProgress.js +90 -0
- package/internal/crypto/keying/principalPolicyHistoryProgress.js.map +1 -0
- package/internal/crypto/keying/principalPolicyHistoryProgressEntry.js +107 -0
- package/internal/crypto/keying/principalPolicyHistoryProgressEntry.js.map +1 -0
- package/internal/crypto/keying/principalPolicyHistoryProgressProtection.js +76 -0
- package/internal/crypto/keying/principalPolicyHistoryProgressProtection.js.map +1 -0
- package/internal/crypto/keying/principalPolicyHistoryReferences.d.ts +20 -0
- package/internal/crypto/keying/principalPolicyHistoryReferences.js +81 -0
- package/internal/crypto/keying/principalPolicyHistoryReferences.js.map +1 -0
- package/internal/crypto/keying/principalPolicyHistoryTypes.d.ts +46 -0
- package/internal/crypto/keying/principalPolicyHistoryTypes.js +21 -0
- package/internal/crypto/keying/principalPolicyHistoryTypes.js.map +1 -0
- package/internal/crypto/keying/principalPolicyMemberEnvelopes.js +27 -0
- package/internal/crypto/keying/principalPolicyMemberEnvelopes.js.map +1 -0
- package/internal/crypto/keying/principalPolicyPayload.js +20 -0
- package/internal/crypto/keying/principalPolicyPayload.js.map +1 -0
- package/internal/crypto/keying/principalPolicyReference.js +33 -0
- package/internal/crypto/keying/principalPolicyReference.js.map +1 -0
- package/internal/crypto/keying/principalPolicySelection.d.ts +11 -0
- package/internal/crypto/keying/principalPolicySelection.js +32 -0
- package/internal/crypto/keying/principalPolicySelection.js.map +1 -0
- package/internal/crypto/keying/principalPolicySignatures.js +36 -0
- package/internal/crypto/keying/principalPolicySignatures.js.map +1 -0
- package/internal/crypto/keying/principalPolicySignerKeys.js +30 -0
- package/internal/crypto/keying/principalPolicySignerKeys.js.map +1 -0
- package/internal/crypto/keying/principalPolicyTransition.d.ts +21 -0
- package/internal/crypto/keying/principalPolicyTransition.js +103 -0
- package/internal/crypto/keying/principalPolicyTransition.js.map +1 -0
- package/internal/crypto/keying/principalPolicyTypes.d.ts +126 -0
- package/internal/crypto/keying/principalPolicyTypes.js +23 -0
- package/internal/crypto/keying/principalPolicyTypes.js.map +1 -0
- package/internal/crypto/keying/shared.js +252 -0
- package/internal/crypto/keying/shared.js.map +1 -0
- package/internal/crypto/keying/transparency.d.ts +8 -0
- package/internal/crypto/keying/transparency.js +266 -0
- package/internal/crypto/keying/transparency.js.map +1 -0
- package/internal/crypto/keying/transparencyProofs.d.ts +28 -0
- package/internal/crypto/keying/transparencyProofs.js +215 -0
- package/internal/crypto/keying/transparencyProofs.js.map +1 -0
- package/internal/crypto/keying/transparencyTree.d.ts +14 -0
- package/internal/crypto/keying/transparencyTree.js +137 -0
- package/internal/crypto/keying/transparencyTree.js.map +1 -0
- package/internal/crypto/keying/types.d.ts +669 -0
- package/internal/crypto/keying/types.js +124 -0
- package/internal/crypto/keying/types.js.map +1 -0
- package/internal/crypto/keying/verificationError.d.ts +14 -0
- package/internal/crypto/keying/verificationError.js +28 -0
- package/internal/crypto/keying/verificationError.js.map +1 -0
- package/internal/crypto/keying/writeHeader.d.ts +5 -0
- package/internal/crypto/keying/writeHeader.js +226 -0
- package/internal/crypto/keying/writeHeader.js.map +1 -0
- package/internal/crypto/keying/writeHeaderAuthorization.js +81 -0
- package/internal/crypto/keying/writeHeaderAuthorization.js.map +1 -0
- package/internal/crypto/keying/writeHeaderCitations.js +21 -0
- package/internal/crypto/keying/writeHeaderCitations.js.map +1 -0
- package/internal/crypto/keying.d.ts +1 -0
- package/internal/crypto/keying.js +2 -0
- package/internal/crypto/keying.js.map +1 -0
- package/internal/crypto/organizationReplacement.d.ts +18 -0
- package/internal/crypto/organizationReplacement.js +133 -0
- package/internal/crypto/organizationReplacement.js.map +1 -0
- package/internal/crypto/principalContainerGrants.d.ts +3 -0
- package/internal/crypto/principalContainerGrants.js +39 -0
- package/internal/crypto/principalContainerGrants.js.map +1 -0
- package/internal/crypto/principalMemberEnvelopes.d.ts +7 -0
- package/internal/crypto/principalMemberEnvelopes.js +69 -0
- package/internal/crypto/principalMemberEnvelopes.js.map +1 -0
- package/internal/crypto/principalPolicyValidationError.d.ts +6 -0
- package/internal/crypto/principalPolicyValidationError.js +12 -0
- package/internal/crypto/principalPolicyValidationError.js.map +1 -0
- package/internal/crypto/principalState.d.ts +17 -0
- package/internal/crypto/principalState.js +280 -0
- package/internal/crypto/principalState.js.map +1 -0
- package/internal/crypto/principalStateMembers.js +39 -0
- package/internal/crypto/principalStateMembers.js.map +1 -0
- package/internal/crypto/principalStateTypes.d.ts +93 -0
- package/internal/crypto/principalStateTypes.js +2 -0
- package/internal/crypto/principalStateTypes.js.map +1 -0
- package/internal/crypto/principalStateVerification.d.ts +11 -0
- package/internal/crypto/principalStateVerification.js +47 -0
- package/internal/crypto/principalStateVerification.js.map +1 -0
- package/internal/crypto/projectionHistory.d.ts +14 -0
- package/internal/crypto/projectionHistory.js +90 -0
- package/internal/crypto/projectionHistory.js.map +1 -0
- package/internal/crypto/projectionHistorySlots.d.ts +13 -0
- package/internal/crypto/projectionHistorySlots.js +85 -0
- package/internal/crypto/projectionHistorySlots.js.map +1 -0
- package/internal/crypto/signing/generateKeyPair.d.ts +9 -0
- package/internal/crypto/signing/generateKeyPair.js +17 -0
- package/internal/crypto/signing/generateKeyPair.js.map +1 -0
- package/internal/crypto/signing/sign.d.ts +1 -0
- package/internal/crypto/signing/sign.js +9 -0
- package/internal/crypto/signing/sign.js.map +1 -0
- package/internal/crypto/signing/verifiedHistorySignature.js +37 -0
- package/internal/crypto/signing/verifiedHistorySignature.js.map +1 -0
- package/internal/crypto/signing/verifiedSignatureHistory.js +60 -0
- package/internal/crypto/signing/verifiedSignatureHistory.js.map +1 -0
- package/internal/crypto/signing/verify.d.ts +1 -0
- package/internal/crypto/signing/verify.js +16 -0
- package/internal/crypto/signing/verify.js.map +1 -0
- package/internal/crypto/symmetric.d.ts +11 -0
- package/internal/crypto/symmetric.js +54 -0
- package/internal/crypto/symmetric.js.map +1 -0
- package/internal/encoding/base64.js +16 -0
- package/internal/encoding/base64.js.map +1 -0
- package/internal/encoding/index.js +2 -0
- package/internal/encoding/index.js.map +1 -0
- package/internal/loro/document.d.ts +109 -0
- package/internal/loro/document.js +301 -0
- package/internal/loro/document.js.map +1 -0
- package/internal/loro/historyCanonicalization.js +74 -0
- package/internal/loro/historyCanonicalization.js.map +1 -0
- package/internal/loro/importMetadata.d.ts +8 -0
- package/internal/loro/importMetadata.js +17 -0
- package/internal/loro/importMetadata.js.map +1 -0
- package/internal/loro/index.d.ts +4 -0
- package/internal/loro/index.js +5 -0
- package/internal/loro/index.js.map +1 -0
- package/internal/loro/shared/index.d.ts +1 -0
- package/internal/loro/shared/index.js +2 -0
- package/internal/loro/shared/index.js.map +1 -0
- package/internal/loro/shared/validators.d.ts +12 -0
- package/internal/loro/shared/validators.js +2 -0
- package/internal/loro/shared/validators.js.map +1 -0
- package/internal/loro/updateIdentity.d.ts +8 -0
- package/internal/loro/updateIdentity.js +89 -0
- package/internal/loro/updateIdentity.js.map +1 -0
- package/internal/sqlite-worker/client.d.ts +27 -0
- package/internal/sqlite-worker/client.js +105 -0
- package/internal/sqlite-worker/client.js.map +1 -0
- package/internal/sqlite-worker/crossTabLocalClient.js +58 -0
- package/internal/sqlite-worker/crossTabLocalClient.js.map +1 -0
- package/internal/sqlite-worker/crossTabLocks.js +118 -0
- package/internal/sqlite-worker/crossTabLocks.js.map +1 -0
- package/internal/sqlite-worker/crossTabOwner.js +210 -0
- package/internal/sqlite-worker/crossTabOwner.js.map +1 -0
- package/internal/sqlite-worker/crossTabOwnership.js +53 -0
- package/internal/sqlite-worker/crossTabOwnership.js.map +1 -0
- package/internal/sqlite-worker/crossTabProtocol.js +53 -0
- package/internal/sqlite-worker/crossTabProtocol.js.map +1 -0
- package/internal/sqlite-worker/crossTabRuntime.js +387 -0
- package/internal/sqlite-worker/crossTabRuntime.js.map +1 -0
- package/internal/sqlite-worker/purgeOpfsDatabase.d.ts +13 -0
- package/internal/sqlite-worker/purgeOpfsDatabase.js +53 -0
- package/internal/sqlite-worker/purgeOpfsDatabase.js.map +1 -0
- package/internal/sqlite-worker/renewedClientTransport.d.ts +19 -0
- package/internal/sqlite-worker/renewedClientTransport.js +102 -0
- package/internal/sqlite-worker/renewedClientTransport.js.map +1 -0
- package/internal/sqlite-worker/runtime.d.ts +96 -0
- package/internal/sqlite-worker/runtime.js +280 -0
- package/internal/sqlite-worker/runtime.js.map +1 -0
- package/internal/sqlite-worker/sahPoolStorage.js +37 -0
- package/internal/sqlite-worker/sahPoolStorage.js.map +1 -0
- package/internal/sqlite-worker/types.d.ts +94 -0
- package/internal/sqlite-worker/types.js +4 -0
- package/internal/sqlite-worker/types.js.map +1 -0
- package/internal/sqlite-worker/workerCrash.js +40 -0
- package/internal/sqlite-worker/workerCrash.js.map +1 -0
- package/internal/validators/billing.d.ts +42 -0
- package/internal/validators/billing.js +86 -0
- package/internal/validators/billing.js.map +1 -0
- package/internal/validators/billingWebhookRefinements.js +9 -0
- package/internal/validators/billingWebhookRefinements.js.map +1 -0
- package/internal/validators/containerReadRefinements.js +32 -0
- package/internal/validators/containerReadRefinements.js.map +1 -0
- package/internal/validators/containerReadSchemas.js +4 -0
- package/internal/validators/containerReadSchemas.js.map +1 -0
- package/internal/validators/containerSystemSlot.d.ts +12 -0
- package/internal/validators/containerSystemSlot.js +44 -0
- package/internal/validators/containerSystemSlot.js.map +1 -0
- package/internal/validators/documentAttributionRefinements.js +8 -0
- package/internal/validators/documentAttributionRefinements.js.map +1 -0
- package/internal/validators/documentSyncCheckpoint.js +17 -0
- package/internal/validators/documentSyncCheckpoint.js.map +1 -0
- package/internal/validators/documentSyncRefinements.js +69 -0
- package/internal/validators/documentSyncRefinements.js.map +1 -0
- package/internal/validators/documentSyncRequestMode.js +9 -0
- package/internal/validators/documentSyncRequestMode.js.map +1 -0
- package/internal/validators/isPlainObject.js +8 -0
- package/internal/validators/isPlainObject.js.map +1 -0
- package/internal/validators/jsonSchema.js +295 -0
- package/internal/validators/jsonSchema.js.map +1 -0
- package/internal/validators/jsonSchemaEncoding.js +88 -0
- package/internal/validators/jsonSchemaEncoding.js.map +1 -0
- package/internal/validators/operation/apiVersion.d.ts +9 -0
- package/internal/validators/operation/apiVersion.js +16 -0
- package/internal/validators/operation/apiVersion.js.map +1 -0
- package/internal/validators/operation/attachments.d.ts +1313 -0
- package/internal/validators/operation/attachments.js +83 -0
- package/internal/validators/operation/attachments.js.map +1 -0
- package/internal/validators/operation/auth.d.ts +8306 -0
- package/internal/validators/operation/auth.js +164 -0
- package/internal/validators/operation/auth.js.map +1 -0
- package/internal/validators/operation/billingWebhooks.d.ts +379 -0
- package/internal/validators/operation/billingWebhooks.js +66 -0
- package/internal/validators/operation/billingWebhooks.js.map +1 -0
- package/internal/validators/operation/blobBytes.d.ts +377 -0
- package/internal/validators/operation/blobBytes.js +122 -0
- package/internal/validators/operation/blobBytes.js.map +1 -0
- package/internal/validators/operation/containerMutations.d.ts +12465 -0
- package/internal/validators/operation/containerMutations.js +131 -0
- package/internal/validators/operation/containerMutations.js.map +1 -0
- package/internal/validators/operation/containerReads.d.ts +695 -0
- package/internal/validators/operation/containerReads.js +124 -0
- package/internal/validators/operation/containerReads.js.map +1 -0
- package/internal/validators/operation/containerReplacement.d.ts +172 -0
- package/internal/validators/operation/containerReplacement.js +29 -0
- package/internal/validators/operation/containerReplacement.js.map +1 -0
- package/internal/validators/operation/definition.d.ts +49 -0
- package/internal/validators/operation/definition.js +76 -0
- package/internal/validators/operation/definition.js.map +1 -0
- package/internal/validators/operation/documentAttribution.d.ts +482 -0
- package/internal/validators/operation/documentAttribution.js +140 -0
- package/internal/validators/operation/documentAttribution.js.map +1 -0
- package/internal/validators/operation/documentMutations.d.ts +3386 -0
- package/internal/validators/operation/documentMutations.js +92 -0
- package/internal/validators/operation/documentMutations.js.map +1 -0
- package/internal/validators/operation/documentSync.d.ts +1236 -0
- package/internal/validators/operation/documentSync.js +46 -0
- package/internal/validators/operation/documentSync.js.map +1 -0
- package/internal/validators/operation/headerNames.d.ts +3 -0
- package/internal/validators/operation/headerNames.js +32 -0
- package/internal/validators/operation/headerNames.js.map +1 -0
- package/internal/validators/operation/health.d.ts +66 -0
- package/internal/validators/operation/health.js +21 -0
- package/internal/validators/operation/health.js.map +1 -0
- package/internal/validators/operation/index.d.ts +25 -0
- package/internal/validators/operation/index.js +26 -0
- package/internal/validators/operation/index.js.map +1 -0
- package/internal/validators/operation/multipartBlobs.d.ts +567 -0
- package/internal/validators/operation/multipartBlobs.js +74 -0
- package/internal/validators/operation/multipartBlobs.js.map +1 -0
- package/internal/validators/operation/organizationBilling.d.ts +1175 -0
- package/internal/validators/operation/organizationBilling.js +105 -0
- package/internal/validators/operation/organizationBilling.js.map +1 -0
- package/internal/validators/operation/organizationPolicyHistory.d.ts +480 -0
- package/internal/validators/operation/organizationPolicyHistory.js +23 -0
- package/internal/validators/operation/organizationPolicyHistory.js.map +1 -0
- package/internal/validators/operation/organizations.d.ts +11315 -0
- package/internal/validators/operation/organizations.js +203 -0
- package/internal/validators/operation/organizations.js.map +1 -0
- package/internal/validators/operation/principalPolicyPageQuery.d.ts +6 -0
- package/internal/validators/operation/principalPolicyPageQuery.js +20 -0
- package/internal/validators/operation/principalPolicyPageQuery.js.map +1 -0
- package/internal/validators/operation/principals.d.ts +3672 -0
- package/internal/validators/operation/principals.js +96 -0
- package/internal/validators/operation/principals.js.map +1 -0
- package/internal/validators/operation/registry.d.ts +94 -0
- package/internal/validators/operation/registry.js +97 -0
- package/internal/validators/operation/registry.js.map +1 -0
- package/internal/validators/operation/root.d.ts +583 -0
- package/internal/validators/operation/root.js +79 -0
- package/internal/validators/operation/root.js.map +1 -0
- package/internal/validators/operation/rootOrganizations.d.ts +1165 -0
- package/internal/validators/operation/rootOrganizations.js +86 -0
- package/internal/validators/operation/rootOrganizations.js.map +1 -0
- package/internal/validators/operation/stripeCheckout.d.ts +901 -0
- package/internal/validators/operation/stripeCheckout.js +86 -0
- package/internal/validators/operation/stripeCheckout.js.map +1 -0
- package/internal/validators/operation/writerProjections.d.ts +2338 -0
- package/internal/validators/operation/writerProjections.js +59 -0
- package/internal/validators/operation/writerProjections.js.map +1 -0
- package/internal/validators/organizationBillingRefinements.js +5 -0
- package/internal/validators/organizationBillingRefinements.js.map +1 -0
- package/internal/validators/organizationDataUsageRefinements.js +18 -0
- package/internal/validators/organizationDataUsageRefinements.js.map +1 -0
- package/internal/validators/organizationProvisioningRefinements.js +25 -0
- package/internal/validators/organizationProvisioningRefinements.js.map +1 -0
- package/internal/validators/organizationReadModelRefinements.js +8 -0
- package/internal/validators/organizationReadModelRefinements.js.map +1 -0
- package/internal/validators/projectionHistoryRefinements.js +5 -0
- package/internal/validators/projectionHistoryRefinements.js.map +1 -0
- package/internal/validators/realtime/index.js +5 -0
- package/internal/validators/realtime/index.js.map +1 -0
- package/internal/validators/realtime/wsClientDeclarations.js +57 -0
- package/internal/validators/realtime/wsClientDeclarations.js.map +1 -0
- package/internal/validators/realtime/wsInvalidationHints.js +76 -0
- package/internal/validators/realtime/wsInvalidationHints.js.map +1 -0
- package/internal/validators/realtime/wsServerFrames.js +64 -0
- package/internal/validators/realtime/wsServerFrames.js.map +1 -0
- package/internal/validators/realtime/wsShared.js +18 -0
- package/internal/validators/realtime/wsShared.js.map +1 -0
- package/internal/validators/request/auth/challenge.d.ts +12 -0
- package/internal/validators/request/auth/challenge.js +8 -0
- package/internal/validators/request/auth/challenge.js.map +1 -0
- package/internal/validators/request/auth/index.d.ts +2 -0
- package/internal/validators/request/auth/index.js +3 -0
- package/internal/validators/request/auth/index.js.map +1 -0
- package/internal/validators/request/auth/verify.d.ts +16 -0
- package/internal/validators/request/auth/verify.js +10 -0
- package/internal/validators/request/auth/verify.js.map +1 -0
- package/internal/validators/request/blob.d.ts +645 -0
- package/internal/validators/request/blob.js +68 -0
- package/internal/validators/request/blob.js.map +1 -0
- package/internal/validators/request/container.d.ts +598 -0
- package/internal/validators/request/container.js +60 -0
- package/internal/validators/request/container.js.map +1 -0
- package/internal/validators/request/containerMetadata.d.ts +961 -0
- package/internal/validators/request/containerMetadata.js +15 -0
- package/internal/validators/request/containerMetadata.js.map +1 -0
- package/internal/validators/request/containerParentLanes.d.ts +22 -0
- package/internal/validators/request/containerParentLanes.js +52 -0
- package/internal/validators/request/containerParentLanes.js.map +1 -0
- package/internal/validators/request/contentKeyEnvelopeSchema.js +23 -0
- package/internal/validators/request/contentKeyEnvelopeSchema.js.map +1 -0
- package/internal/validators/request/document.d.ts +838 -0
- package/internal/validators/request/document.js +81 -0
- package/internal/validators/request/document.js.map +1 -0
- package/internal/validators/request/documentSyncSchema.d.ts +485 -0
- package/internal/validators/request/documentSyncSchema.js +208 -0
- package/internal/validators/request/documentSyncSchema.js.map +1 -0
- package/internal/validators/request/index.d.ts +14 -0
- package/internal/validators/request/index.js +14 -0
- package/internal/validators/request/index.js.map +1 -0
- package/internal/validators/request/organization.d.ts +1529 -0
- package/internal/validators/request/organization.js +41 -0
- package/internal/validators/request/organization.js.map +1 -0
- package/internal/validators/request/organizationProvisioning.d.ts +18090 -0
- package/internal/validators/request/organizationProvisioning.js +123 -0
- package/internal/validators/request/organizationProvisioning.js.map +1 -0
- package/internal/validators/request/principal.d.ts +1677 -0
- package/internal/validators/request/principal.js +86 -0
- package/internal/validators/request/principal.js.map +1 -0
- package/internal/validators/request/registration.d.ts +5684 -0
- package/internal/validators/request/registration.js +12 -0
- package/internal/validators/request/registration.js.map +1 -0
- package/internal/validators/request/revenuecatWebhook.d.ts +385 -0
- package/internal/validators/request/revenuecatWebhook.js +72 -0
- package/internal/validators/request/revenuecatWebhook.js.map +1 -0
- package/internal/validators/request/stripeCheckout.d.ts +13 -0
- package/internal/validators/request/stripeCheckout.js +12 -0
- package/internal/validators/request/stripeCheckout.js.map +1 -0
- package/internal/validators/request/stripeWebhook.d.ts +5 -0
- package/internal/validators/request/stripeWebhook.js +7 -0
- package/internal/validators/request/stripeWebhook.js.map +1 -0
- package/internal/validators/response/accessLevel.d.ts +4 -0
- package/internal/validators/response/accessLevel.js +6 -0
- package/internal/validators/response/accessLevel.js.map +1 -0
- package/internal/validators/response/auth/challenge.d.ts +24 -0
- package/internal/validators/response/auth/challenge.js +11 -0
- package/internal/validators/response/auth/challenge.js.map +1 -0
- package/internal/validators/response/auth/index.d.ts +6 -0
- package/internal/validators/response/auth/index.js +7 -0
- package/internal/validators/response/auth/index.js.map +1 -0
- package/internal/validators/response/auth/sessionFailure.d.ts +28 -0
- package/internal/validators/response/auth/sessionFailure.js +22 -0
- package/internal/validators/response/auth/sessionFailure.js.map +1 -0
- package/internal/validators/response/auth/sessions.d.ts +90 -0
- package/internal/validators/response/auth/sessions.js +27 -0
- package/internal/validators/response/auth/sessions.js.map +1 -0
- package/internal/validators/response/auth/userIdentity.d.ts +28 -0
- package/internal/validators/response/auth/userIdentity.js +13 -0
- package/internal/validators/response/auth/userIdentity.js.map +1 -0
- package/internal/validators/response/auth/verify.d.ts +71 -0
- package/internal/validators/response/auth/verify.js +26 -0
- package/internal/validators/response/auth/verify.js.map +1 -0
- package/internal/validators/response/auth/wsTicket.d.ts +12 -0
- package/internal/validators/response/auth/wsTicket.js +9 -0
- package/internal/validators/response/auth/wsTicket.js.map +1 -0
- package/internal/validators/response/billingWebhooks.d.ts +31 -0
- package/internal/validators/response/billingWebhooks.js +17 -0
- package/internal/validators/response/billingWebhooks.js.map +1 -0
- package/internal/validators/response/blob.d.ts +854 -0
- package/internal/validators/response/blob.js +121 -0
- package/internal/validators/response/blob.js.map +1 -0
- package/internal/validators/response/blobMutationError.d.ts +17 -0
- package/internal/validators/response/blobMutationError.js +17 -0
- package/internal/validators/response/blobMutationError.js.map +1 -0
- package/internal/validators/response/container.d.ts +2484 -0
- package/internal/validators/response/container.js +188 -0
- package/internal/validators/response/container.js.map +1 -0
- package/internal/validators/response/containerMetadata.d.ts +392 -0
- package/internal/validators/response/containerMetadata.js +12 -0
- package/internal/validators/response/containerMetadata.js.map +1 -0
- package/internal/validators/response/containerMutationError.d.ts +443 -0
- package/internal/validators/response/containerMutationError.js +53 -0
- package/internal/validators/response/containerMutationError.js.map +1 -0
- package/internal/validators/response/containerNotFoundError.d.ts +12 -0
- package/internal/validators/response/containerNotFoundError.js +12 -0
- package/internal/validators/response/containerNotFoundError.js.map +1 -0
- package/internal/validators/response/containerParentLanes.d.ts +80 -0
- package/internal/validators/response/containerParentLanes.js +30 -0
- package/internal/validators/response/containerParentLanes.js.map +1 -0
- package/internal/validators/response/containerUnavailableError.d.ts +11 -0
- package/internal/validators/response/containerUnavailableError.js +11 -0
- package/internal/validators/response/containerUnavailableError.js.map +1 -0
- package/internal/validators/response/descendantRekeysRequiredError.js +9 -0
- package/internal/validators/response/descendantRekeysRequiredError.js.map +1 -0
- package/internal/validators/response/document.d.ts +374 -0
- package/internal/validators/response/document.js +95 -0
- package/internal/validators/response/document.js.map +1 -0
- package/internal/validators/response/documentMutation.d.ts +2585 -0
- package/internal/validators/response/documentMutation.js +100 -0
- package/internal/validators/response/documentMutation.js.map +1 -0
- package/internal/validators/response/documentMutationError.d.ts +17 -0
- package/internal/validators/response/documentMutationError.js +28 -0
- package/internal/validators/response/documentMutationError.js.map +1 -0
- package/internal/validators/response/documentSyncError.d.ts +470 -0
- package/internal/validators/response/documentSyncError.js +91 -0
- package/internal/validators/response/documentSyncError.js.map +1 -0
- package/internal/validators/response/documentSyncSchema.d.ts +477 -0
- package/internal/validators/response/documentSyncSchema.js +107 -0
- package/internal/validators/response/documentSyncSchema.js.map +1 -0
- package/internal/validators/response/error.d.ts +12 -0
- package/internal/validators/response/error.js +9 -0
- package/internal/validators/response/error.js.map +1 -0
- package/internal/validators/response/health.d.ts +12 -0
- package/internal/validators/response/health.js +9 -0
- package/internal/validators/response/health.js.map +1 -0
- package/internal/validators/response/index.d.ts +39 -0
- package/internal/validators/response/index.js +40 -0
- package/internal/validators/response/index.js.map +1 -0
- package/internal/validators/response/multipartBlobStageError.d.ts +37 -0
- package/internal/validators/response/multipartBlobStageError.js +34 -0
- package/internal/validators/response/multipartBlobStageError.js.map +1 -0
- package/internal/validators/response/organization.d.ts +2210 -0
- package/internal/validators/response/organization.js +186 -0
- package/internal/validators/response/organization.js.map +1 -0
- package/internal/validators/response/organizationBilling.d.ts +136 -0
- package/internal/validators/response/organizationBilling.js +104 -0
- package/internal/validators/response/organizationBilling.js.map +1 -0
- package/internal/validators/response/organizationBillingHistory.d.ts +243 -0
- package/internal/validators/response/organizationBillingHistory.js +75 -0
- package/internal/validators/response/organizationBillingHistory.js.map +1 -0
- package/internal/validators/response/organizationBillingManagementUrl.d.ts +28 -0
- package/internal/validators/response/organizationBillingManagementUrl.js +24 -0
- package/internal/validators/response/organizationBillingManagementUrl.js.map +1 -0
- package/internal/validators/response/organizationDataUsage.d.ts +50 -0
- package/internal/validators/response/organizationDataUsage.js +80 -0
- package/internal/validators/response/organizationDataUsage.js.map +1 -0
- package/internal/validators/response/organizationNativePurchaseEligibility.d.ts +36 -0
- package/internal/validators/response/organizationNativePurchaseEligibility.js +31 -0
- package/internal/validators/response/organizationNativePurchaseEligibility.js.map +1 -0
- package/internal/validators/response/organizationPolicyHistory.d.ts +380 -0
- package/internal/validators/response/organizationPolicyHistory.js +10 -0
- package/internal/validators/response/organizationPolicyHistory.js.map +1 -0
- package/internal/validators/response/organizationPresentationError.d.ts +17 -0
- package/internal/validators/response/organizationPresentationError.js +18 -0
- package/internal/validators/response/organizationPresentationError.js.map +1 -0
- package/internal/validators/response/organizationProvisioning.d.ts +4799 -0
- package/internal/validators/response/organizationProvisioning.js +71 -0
- package/internal/validators/response/organizationProvisioning.js.map +1 -0
- package/internal/validators/response/organizationReadModel.d.ts +733 -0
- package/internal/validators/response/organizationReadModel.js +159 -0
- package/internal/validators/response/organizationReadModel.js.map +1 -0
- package/internal/validators/response/organizationReadModelError.d.ts +16 -0
- package/internal/validators/response/organizationReadModelError.js +15 -0
- package/internal/validators/response/organizationReadModelError.js.map +1 -0
- package/internal/validators/response/principal.d.ts +2573 -0
- package/internal/validators/response/principal.js +66 -0
- package/internal/validators/response/principal.js.map +1 -0
- package/internal/validators/response/principalHistoryPreparation.js +9 -0
- package/internal/validators/response/principalHistoryPreparation.js.map +1 -0
- package/internal/validators/response/principalPolicyPage.d.ts +429 -0
- package/internal/validators/response/principalPolicyPage.js +16 -0
- package/internal/validators/response/principalPolicyPage.js.map +1 -0
- package/internal/validators/response/principalReference.d.ts +40 -0
- package/internal/validators/response/principalReference.js +15 -0
- package/internal/validators/response/principalReference.js.map +1 -0
- package/internal/validators/response/principalSnapshot.d.ts +775 -0
- package/internal/validators/response/principalSnapshot.js +88 -0
- package/internal/validators/response/principalSnapshot.js.map +1 -0
- package/internal/validators/response/projectionPolicyEvidence.d.ts +700 -0
- package/internal/validators/response/projectionPolicyEvidence.js +9 -0
- package/internal/validators/response/projectionPolicyEvidence.js.map +1 -0
- package/internal/validators/response/registration.d.ts +1668 -0
- package/internal/validators/response/registration.js +12 -0
- package/internal/validators/response/registration.js.map +1 -0
- package/internal/validators/response/root.d.ts +419 -0
- package/internal/validators/response/root.js +68 -0
- package/internal/validators/response/root.js.map +1 -0
- package/internal/validators/response/rootOrganizations.d.ts +561 -0
- package/internal/validators/response/rootOrganizations.js +64 -0
- package/internal/validators/response/rootOrganizations.js.map +1 -0
- package/internal/validators/response/stripeCheckout.d.ts +143 -0
- package/internal/validators/response/stripeCheckout.js +57 -0
- package/internal/validators/response/stripeCheckout.js.map +1 -0
- package/internal/validators/response/syncWatermark.d.ts +16 -0
- package/internal/validators/response/syncWatermark.js +10 -0
- package/internal/validators/response/syncWatermark.js.map +1 -0
- package/internal/validators/schema.js +158 -0
- package/internal/validators/schema.js.map +1 -0
- package/internal/validators/stripeCheckoutRefinements.js +5 -0
- package/internal/validators/stripeCheckoutRefinements.js.map +1 -0
- package/internal/validators/util/accessManifestBundle.d.ts +84 -0
- package/internal/validators/util/accessManifestBundle.js +34 -0
- package/internal/validators/util/accessManifestBundle.js.map +1 -0
- package/internal/validators/util/blob.d.ts +2 -0
- package/internal/validators/util/blob.js +3 -0
- package/internal/validators/util/blob.js.map +1 -0
- package/internal/validators/util/containerKekKeyringWire.d.ts +105 -0
- package/internal/validators/util/containerKekKeyringWire.js +98 -0
- package/internal/validators/util/containerKekKeyringWire.js.map +1 -0
- package/internal/validators/util/containerLimits.d.ts +2 -0
- package/internal/validators/util/containerLimits.js +3 -0
- package/internal/validators/util/containerLimits.js.map +1 -0
- package/internal/validators/util/documentSyncLimits.d.ts +10 -0
- package/internal/validators/util/documentSyncLimits.js +27 -0
- package/internal/validators/util/documentSyncLimits.js.map +1 -0
- package/internal/validators/util/index.d.ts +14 -0
- package/internal/validators/util/index.js +15 -0
- package/internal/validators/util/index.js.map +1 -0
- package/internal/validators/util/keyEnvelope.d.ts +7 -0
- package/internal/validators/util/keyEnvelope.js +12 -0
- package/internal/validators/util/keyEnvelope.js.map +1 -0
- package/internal/validators/util/organizationReplacement.d.ts +18 -0
- package/internal/validators/util/organizationReplacement.js +21 -0
- package/internal/validators/util/organizationReplacement.js.map +1 -0
- package/internal/validators/util/principalHistoryWire.d.ts +2 -0
- package/internal/validators/util/principalHistoryWire.js +3 -0
- package/internal/validators/util/principalHistoryWire.js.map +1 -0
- package/internal/validators/util/projectionHistoryWire.d.ts +23 -0
- package/internal/validators/util/projectionHistoryWire.js +33 -0
- package/internal/validators/util/projectionHistoryWire.js.map +1 -0
- package/internal/validators/util/properties.d.ts +17 -0
- package/internal/validators/util/properties.js +58 -0
- package/internal/validators/util/properties.js.map +1 -0
- package/internal/validators/util/protocol.d.ts +9 -0
- package/internal/validators/util/protocol.js +26 -0
- package/internal/validators/util/protocol.js.map +1 -0
- package/internal/validators/util/signedAt.d.ts +14 -0
- package/internal/validators/util/signedAt.js +21 -0
- package/internal/validators/util/signedAt.js.map +1 -0
- package/internal/validators/util/uuid.d.ts +2 -0
- package/internal/validators/util/uuid.js +5 -0
- package/internal/validators/util/uuid.js.map +1 -0
- package/internal/validators/util/walLsn.d.ts +3 -0
- package/internal/validators/util/walLsn.js +22 -0
- package/internal/validators/util/walLsn.js.map +1 -0
- package/internal/validators/writerProjectionRefinements.js +10 -0
- package/internal/validators/writerProjectionRefinements.js.map +1 -0
- package/package.json +35 -4
- package/sqlite.d.ts +18 -0
- package/sqlite.js +11 -0
- package/sqlite.js.map +1 -0
- package/stores/container-contents/accessRestorationSweep.js +146 -0
- package/stores/container-contents/accessRestorationSweep.js.map +1 -0
- package/stores/container-contents/backgroundHydration.js +32 -0
- package/stores/container-contents/backgroundHydration.js.map +1 -0
- package/stores/container-contents/containerContentsStore.d.ts +18 -0
- package/stores/container-contents/containerContentsStore.js +190 -0
- package/stores/container-contents/containerContentsStore.js.map +1 -0
- package/stores/container-contents/containerPurgeCore.js +98 -0
- package/stores/container-contents/containerPurgeCore.js.map +1 -0
- package/stores/container-contents/containerStateMap.js +49 -0
- package/stores/container-contents/containerStateMap.js.map +1 -0
- package/stores/container-contents/containerStatePersistence.js +57 -0
- package/stores/container-contents/containerStatePersistence.js.map +1 -0
- package/stores/container-contents/documentRecovery.js +114 -0
- package/stores/container-contents/documentRecovery.js.map +1 -0
- package/stores/container-contents/documentRotation.js +13 -0
- package/stores/container-contents/documentRotation.js.map +1 -0
- package/stores/container-contents/documentWork.js +29 -0
- package/stores/container-contents/documentWork.js.map +1 -0
- package/stores/container-contents/emptyTrashOperation.js +20 -0
- package/stores/container-contents/emptyTrashOperation.js.map +1 -0
- package/stores/container-contents/existingSystemContainer.js +58 -0
- package/stores/container-contents/existingSystemContainer.js.map +1 -0
- package/stores/container-contents/groupRewrapOperation.js +52 -0
- package/stores/container-contents/groupRewrapOperation.js.map +1 -0
- package/stores/container-contents/index.d.ts +6 -0
- package/stores/container-contents/index.js +6 -0
- package/stores/container-contents/index.js.map +1 -0
- package/stores/container-contents/localRefresh.js +189 -0
- package/stores/container-contents/localRefresh.js.map +1 -0
- package/stores/container-contents/logLabel.js +4 -0
- package/stores/container-contents/logLabel.js.map +1 -0
- package/stores/container-contents/metadataSyncSignal.js +37 -0
- package/stores/container-contents/metadataSyncSignal.js.map +1 -0
- package/stores/container-contents/missingContainerState.js +10 -0
- package/stores/container-contents/missingContainerState.js.map +1 -0
- package/stores/container-contents/missingSyncedContainerState.js +10 -0
- package/stores/container-contents/missingSyncedContainerState.js.map +1 -0
- package/stores/container-contents/operations.js +301 -0
- package/stores/container-contents/operations.js.map +1 -0
- package/stores/container-contents/organizationMetadataSystemContainer.js +44 -0
- package/stores/container-contents/organizationMetadataSystemContainer.js.map +1 -0
- package/stores/container-contents/purgeContainerOperation.js +17 -0
- package/stores/container-contents/purgeContainerOperation.js.map +1 -0
- package/stores/container-contents/reconcilableContainer.d.ts +48 -0
- package/stores/container-contents/reconcilableContainer.js +78 -0
- package/stores/container-contents/reconcilableContainer.js.map +1 -0
- package/stores/container-contents/remoteBackedContainerState.js +9 -0
- package/stores/container-contents/remoteBackedContainerState.js.map +1 -0
- package/stores/container-contents/remoteContainerIngestion.js +59 -0
- package/stores/container-contents/remoteContainerIngestion.js.map +1 -0
- package/stores/container-contents/remoteEventProjectionInvalidation.js +36 -0
- package/stores/container-contents/remoteEventProjectionInvalidation.js.map +1 -0
- package/stores/container-contents/remoteEventSync.js +38 -0
- package/stores/container-contents/remoteEventSync.js.map +1 -0
- package/stores/container-contents/remoteHydrationRefresh.js +113 -0
- package/stores/container-contents/remoteHydrationRefresh.js.map +1 -0
- package/stores/container-contents/remoteHydrationRequest.js +245 -0
- package/stores/container-contents/remoteHydrationRequest.js.map +1 -0
- package/stores/container-contents/remoteWriteGuards.js +54 -0
- package/stores/container-contents/remoteWriteGuards.js.map +1 -0
- package/stores/container-contents/remoteWriteQueue.js +51 -0
- package/stores/container-contents/remoteWriteQueue.js.map +1 -0
- package/stores/container-contents/reportShareFailure.js +44 -0
- package/stores/container-contents/reportShareFailure.js.map +1 -0
- package/stores/container-contents/setContainerIconOperation.js +47 -0
- package/stores/container-contents/setContainerIconOperation.js.map +1 -0
- package/stores/container-contents/shareOperations.js +90 -0
- package/stores/container-contents/shareOperations.js.map +1 -0
- package/stores/container-contents/startupHydration.js +110 -0
- package/stores/container-contents/startupHydration.js.map +1 -0
- package/stores/container-contents/state.d.ts +14 -0
- package/stores/container-contents/state.js +224 -0
- package/stores/container-contents/state.js.map +1 -0
- package/stores/container-contents/syncAgent.d.ts +8 -0
- package/stores/container-contents/syncAgent.js +241 -0
- package/stores/container-contents/syncAgent.js.map +1 -0
- package/stores/container-contents/syncAgentTypes.d.ts +81 -0
- package/stores/container-contents/syncAgentTypes.js +2 -0
- package/stores/container-contents/syncAgentTypes.js.map +1 -0
- package/stores/container-contents/syncLaneIteration.js +237 -0
- package/stores/container-contents/syncLaneIteration.js.map +1 -0
- package/stores/container-contents/systemContainerHydration.js +30 -0
- package/stores/container-contents/systemContainerHydration.js.map +1 -0
- package/stores/container-contents/systemContainerIcon.js +42 -0
- package/stores/container-contents/systemContainerIcon.js.map +1 -0
- package/stores/container-contents/systemContainerLookup.js +65 -0
- package/stores/container-contents/systemContainerLookup.js.map +1 -0
- package/stores/container-contents/systemContainerPostCreate.js +109 -0
- package/stores/container-contents/systemContainerPostCreate.js.map +1 -0
- package/stores/container-contents/systemContainerPromotion.js +49 -0
- package/stores/container-contents/systemContainerPromotion.js.map +1 -0
- package/stores/container-contents/types.d.ts +88 -0
- package/stores/container-contents/types.js +2 -0
- package/stores/container-contents/types.js.map +1 -0
- package/stores/container-contents/utils.js +63 -0
- package/stores/container-contents/utils.js.map +1 -0
- package/stores/container-contents/writeGeneration.js +37 -0
- package/stores/container-contents/writeGeneration.js.map +1 -0
- package/stores/documents/documentStore/ancestorRepairPark.js +29 -0
- package/stores/documents/documentStore/ancestorRepairPark.js.map +1 -0
- package/stores/documents/documentStore/attachmentDetachState.js +54 -0
- package/stores/documents/documentStore/attachmentDetachState.js.map +1 -0
- package/stores/documents/documentStore/attachmentHydration.js +54 -0
- package/stores/documents/documentStore/attachmentHydration.js.map +1 -0
- package/stores/documents/documentStore/attachmentHydrationCommit.js +53 -0
- package/stores/documents/documentStore/attachmentHydrationCommit.js.map +1 -0
- package/stores/documents/documentStore/attachmentIntents.js +39 -0
- package/stores/documents/documentStore/attachmentIntents.js.map +1 -0
- package/stores/documents/documentStore/attachmentMutationPersistence.js +37 -0
- package/stores/documents/documentStore/attachmentMutationPersistence.js.map +1 -0
- package/stores/documents/documentStore/attachmentPersistFollowup.js +16 -0
- package/stores/documents/documentStore/attachmentPersistFollowup.js.map +1 -0
- package/stores/documents/documentStore/attachmentPersistence.js +106 -0
- package/stores/documents/documentStore/attachmentPersistence.js.map +1 -0
- package/stores/documents/documentStore/attachmentSnapshot.js +33 -0
- package/stores/documents/documentStore/attachmentSnapshot.js.map +1 -0
- package/stores/documents/documentStore/attachmentSourceUpload.js +39 -0
- package/stores/documents/documentStore/attachmentSourceUpload.js.map +1 -0
- package/stores/documents/documentStore/attachmentStaging.js +73 -0
- package/stores/documents/documentStore/attachmentStaging.js.map +1 -0
- package/stores/documents/documentStore/attachmentUploadAttempt.js +97 -0
- package/stores/documents/documentStore/attachmentUploadAttempt.js.map +1 -0
- package/stores/documents/documentStore/attachmentUploadLane.js +49 -0
- package/stores/documents/documentStore/attachmentUploadLane.js.map +1 -0
- package/stores/documents/documentStore/attachmentUploadResume.js +95 -0
- package/stores/documents/documentStore/attachmentUploadResume.js.map +1 -0
- package/stores/documents/documentStore/attachmentWriteGeneration.js +32 -0
- package/stores/documents/documentStore/attachmentWriteGeneration.js.map +1 -0
- package/stores/documents/documentStore/attachments.js +330 -0
- package/stores/documents/documentStore/attachments.js.map +1 -0
- package/stores/documents/documentStore/discard.js +88 -0
- package/stores/documents/documentStore/discard.js.map +1 -0
- package/stores/documents/documentStore/documentHistoryCompaction.js +67 -0
- package/stores/documents/documentStore/documentHistoryCompaction.js.map +1 -0
- package/stores/documents/documentStore/durableDocumentReload.js +79 -0
- package/stores/documents/documentStore/durableDocumentReload.js.map +1 -0
- package/stores/documents/documentStore/historyRebuild.js +75 -0
- package/stores/documents/documentStore/historyRebuild.js.map +1 -0
- package/stores/documents/documentStore/identityWriteChain.js +20 -0
- package/stores/documents/documentStore/identityWriteChain.js.map +1 -0
- package/stores/documents/documentStore/initialization.js +318 -0
- package/stores/documents/documentStore/initialization.js.map +1 -0
- package/stores/documents/documentStore/initializationAttachments.js +9 -0
- package/stores/documents/documentStore/initializationAttachments.js.map +1 -0
- package/stores/documents/documentStore/initializationHistory.js +33 -0
- package/stores/documents/documentStore/initializationHistory.js.map +1 -0
- package/stores/documents/documentStore/initializationRecovery.js +107 -0
- package/stores/documents/documentStore/initializationRecovery.js.map +1 -0
- package/stores/documents/documentStore/internalRelink.js +12 -0
- package/stores/documents/documentStore/internalRelink.js.map +1 -0
- package/stores/documents/documentStore/mutationIdentityRevalidation.js +8 -0
- package/stores/documents/documentStore/mutationIdentityRevalidation.js.map +1 -0
- package/stores/documents/documentStore/mutations.js +254 -0
- package/stores/documents/documentStore/mutations.js.map +1 -0
- package/stores/documents/documentStore/orphanMaintenance.js +8 -0
- package/stores/documents/documentStore/orphanMaintenance.js.map +1 -0
- package/stores/documents/documentStore/pendingUpdateRefusal.js +15 -0
- package/stores/documents/documentStore/pendingUpdateRefusal.js.map +1 -0
- package/stores/documents/documentStore/persistence.js +268 -0
- package/stores/documents/documentStore/persistence.js.map +1 -0
- package/stores/documents/documentStore/pullContinuationInvalidation.js +61 -0
- package/stores/documents/documentStore/pullContinuationInvalidation.js.map +1 -0
- package/stores/documents/documentStore/remoteRevalidationTelemetry.js +15 -0
- package/stores/documents/documentStore/remoteRevalidationTelemetry.js.map +1 -0
- package/stores/documents/documentStore/remoteWork.js +43 -0
- package/stores/documents/documentStore/remoteWork.js.map +1 -0
- package/stores/documents/documentStore/reportWriteFailure.js +49 -0
- package/stores/documents/documentStore/reportWriteFailure.js.map +1 -0
- package/stores/documents/documentStore/rotation.js +307 -0
- package/stores/documents/documentStore/rotation.js.map +1 -0
- package/stores/documents/documentStore/rotationProvenance.js +52 -0
- package/stores/documents/documentStore/rotationProvenance.js.map +1 -0
- package/stores/documents/documentStore/rotationSettlement.js +222 -0
- package/stores/documents/documentStore/rotationSettlement.js.map +1 -0
- package/stores/documents/documentStore/rows.js +133 -0
- package/stores/documents/documentStore/rows.js.map +1 -0
- package/stores/documents/documentStore/state.js +223 -0
- package/stores/documents/documentStore/state.js.map +1 -0
- package/stores/documents/documentStore/storedDocument.js +29 -0
- package/stores/documents/documentStore/storedDocument.js.map +1 -0
- package/stores/documents/documentStore/sync.js +292 -0
- package/stores/documents/documentStore/sync.js.map +1 -0
- package/stores/documents/documentStore/syncAcceptedUpdateIds.js +35 -0
- package/stores/documents/documentStore/syncAcceptedUpdateIds.js.map +1 -0
- package/stores/documents/documentStore/syncAttachmentSettlement.js +72 -0
- package/stores/documents/documentStore/syncAttachmentSettlement.js.map +1 -0
- package/stores/documents/documentStore/syncAttachments.js +323 -0
- package/stores/documents/documentStore/syncAttachments.js.map +1 -0
- package/stores/documents/documentStore/syncDetachedAttachments.js +125 -0
- package/stores/documents/documentStore/syncDetachedAttachments.js.map +1 -0
- package/stores/documents/documentStore/syncFinalize.js +200 -0
- package/stores/documents/documentStore/syncFinalize.js.map +1 -0
- package/stores/documents/documentStore/syncGeneration.js +193 -0
- package/stores/documents/documentStore/syncGeneration.js.map +1 -0
- package/stores/documents/documentStore/syncOutgoingCoverage.js +96 -0
- package/stores/documents/documentStore/syncOutgoingCoverage.js.map +1 -0
- package/stores/documents/documentStore/syncRemoteSignals.js +67 -0
- package/stores/documents/documentStore/syncRemoteSignals.js.map +1 -0
- package/stores/documents/documentStore/syncRequest.js +158 -0
- package/stores/documents/documentStore/syncRequest.js.map +1 -0
- package/stores/documents/documentStore/syncShared.js +211 -0
- package/stores/documents/documentStore/syncShared.js.map +1 -0
- package/stores/documents/documentStore/syncUpdateImport.js +62 -0
- package/stores/documents/documentStore/syncUpdateImport.js.map +1 -0
- package/stores/documents/documentStore/versionCoverage.js +45 -0
- package/stores/documents/documentStore/versionCoverage.js.map +1 -0
- package/stores/documents/documentStore/writerProjectionGeneration.js +20 -0
- package/stores/documents/documentStore/writerProjectionGeneration.js.map +1 -0
- package/stores/documents/documentStore.d.ts +8 -0
- package/stores/documents/documentStore.js +212 -0
- package/stores/documents/documentStore.js.map +1 -0
- package/stores/documents/index.d.ts +2 -0
- package/stores/documents/index.js +3 -0
- package/stores/documents/index.js.map +1 -0
- package/stores/documents/registry.d.ts +43 -0
- package/stores/documents/registry.js +206 -0
- package/stores/documents/registry.js.map +1 -0
- package/stores/documents/types.d.ts +85 -0
- package/stores/documents/types.js +2 -0
- package/stores/documents/types.js.map +1 -0
- package/stores/local-projection/index.d.ts +3 -0
- package/stores/local-projection/index.js +2 -0
- package/stores/local-projection/index.js.map +1 -0
- package/stores/local-projection/localProjectionStore.d.ts +31 -0
- package/stores/local-projection/localProjectionStore.js +299 -0
- package/stores/local-projection/localProjectionStore.js.map +1 -0
- package/stores/local-projection/registry.d.ts +15 -0
- package/stores/local-projection/registry.js +24 -0
- package/stores/local-projection/registry.js.map +1 -0
- package/stores/local-projection/summaryCache.js +93 -0
- package/stores/local-projection/summaryCache.js.map +1 -0
- package/stores/local-projection/types.d.ts +45 -0
- package/stores/local-projection/types.js +2 -0
- package/stores/local-projection/types.js.map +1 -0
- package/sync/reconciliation/documentContentPull.js +49 -0
- package/sync/reconciliation/documentContentPull.js.map +1 -0
- package/sync/reconciliation/idleBackfill.js +37 -0
- package/sync/reconciliation/idleBackfill.js.map +1 -0
- package/sync/reconciliation/index.d.ts +3 -0
- package/sync/reconciliation/index.js +3 -0
- package/sync/reconciliation/index.js.map +1 -0
- package/sync/reconciliation/initialDocumentProbe.d.ts +37 -0
- package/sync/reconciliation/initialDocumentProbe.js +269 -0
- package/sync/reconciliation/initialDocumentProbe.js.map +1 -0
- package/sync/reconciliation/knownContainerSweep.js +126 -0
- package/sync/reconciliation/knownContainerSweep.js.map +1 -0
- package/sync/reconciliation/laneFailure.js +36 -0
- package/sync/reconciliation/laneFailure.js.map +1 -0
- package/sync/reconciliation/originatedDocuments.js +49 -0
- package/sync/reconciliation/originatedDocuments.js.map +1 -0
- package/sync/reconciliation/queue.d.ts +18 -0
- package/sync/reconciliation/queue.js +32 -0
- package/sync/reconciliation/queue.js.map +1 -0
- package/sync/reconciliation/reconcileContainer.js +31 -0
- package/sync/reconciliation/reconcileContainer.js.map +1 -0
- package/sync/reconciliation/service.d.ts +2 -0
- package/sync/reconciliation/service.js +282 -0
- package/sync/reconciliation/service.js.map +1 -0
- package/sync/reconciliation/serviceTypes.d.ts +66 -0
- package/sync/reconciliation/serviceTypes.js +2 -0
- package/sync/reconciliation/serviceTypes.js.map +1 -0
- package/sync/reconciliation/triggers.d.ts +28 -0
- package/sync/reconciliation/triggers.js +93 -0
- package/sync/reconciliation/triggers.js.map +1 -0
- package/workflows/blobs/attachmentBindingVerification.js +49 -0
- package/workflows/blobs/attachmentBindingVerification.js.map +1 -0
- package/workflows/blobs/attachmentDecryptor.js +41 -0
- package/workflows/blobs/attachmentDecryptor.js.map +1 -0
- package/workflows/blobs/attachmentKeyAuthenticator.js +68 -0
- package/workflows/blobs/attachmentKeyAuthenticator.js.map +1 -0
- package/workflows/blobs/automaticMultipartUpload.js +9 -0
- package/workflows/blobs/automaticMultipartUpload.js.map +1 -0
- package/workflows/blobs/blobChunkDecryption.js +34 -0
- package/workflows/blobs/blobChunkDecryption.js.map +1 -0
- package/workflows/blobs/decrypt.d.ts +12 -0
- package/workflows/blobs/decrypt.js +244 -0
- package/workflows/blobs/decrypt.js.map +1 -0
- package/workflows/blobs/detach.js +57 -0
- package/workflows/blobs/detach.js.map +1 -0
- package/workflows/blobs/hydrate.d.ts +52 -0
- package/workflows/blobs/hydrate.js +174 -0
- package/workflows/blobs/hydrate.js.map +1 -0
- package/workflows/blobs/hydrationResults.js +23 -0
- package/workflows/blobs/hydrationResults.js.map +1 -0
- package/workflows/blobs/index.d.ts +11 -0
- package/workflows/blobs/index.js +9 -0
- package/workflows/blobs/index.js.map +1 -0
- package/workflows/blobs/multipartStageFailures.js +36 -0
- package/workflows/blobs/multipartStageFailures.js.map +1 -0
- package/workflows/blobs/multipartUpload.js +288 -0
- package/workflows/blobs/multipartUpload.js.map +1 -0
- package/workflows/blobs/retainedAttachmentVerification.js +38 -0
- package/workflows/blobs/retainedAttachmentVerification.js.map +1 -0
- package/workflows/blobs/upload.d.ts +10 -0
- package/workflows/blobs/upload.js +243 -0
- package/workflows/blobs/upload.js.map +1 -0
- package/workflows/blobs/verifiedWrapScope.js +20 -0
- package/workflows/blobs/verifiedWrapScope.js.map +1 -0
- package/workflows/blobs/writerProjection.js +29 -0
- package/workflows/blobs/writerProjection.js.map +1 -0
- package/workflows/container-contents/availableDocumentLinkIntent.js +32 -0
- package/workflows/container-contents/availableDocumentLinkIntent.js.map +1 -0
- package/workflows/container-contents/blobInfo.d.ts +6 -0
- package/workflows/container-contents/blobInfo.js +323 -0
- package/workflows/container-contents/blobInfo.js.map +1 -0
- package/workflows/container-contents/blobInfoRows.js +72 -0
- package/workflows/container-contents/blobInfoRows.js.map +1 -0
- package/workflows/container-contents/blobInfoTypes.d.ts +48 -0
- package/workflows/container-contents/blobInfoTypes.js +2 -0
- package/workflows/container-contents/blobInfoTypes.js.map +1 -0
- package/workflows/container-contents/container-state/createAdoption.js +191 -0
- package/workflows/container-contents/container-state/createAdoption.js.map +1 -0
- package/workflows/container-contents/container-state/createChild.js +217 -0
- package/workflows/container-contents/container-state/createChild.js.map +1 -0
- package/workflows/container-contents/container-state/createIntentDepth.js +36 -0
- package/workflows/container-contents/container-state/createIntentDepth.js.map +1 -0
- package/workflows/container-contents/container-state/createIntentSettlement.js +21 -0
- package/workflows/container-contents/container-state/createIntentSettlement.js.map +1 -0
- package/workflows/container-contents/container-state/createIntentSync.js +354 -0
- package/workflows/container-contents/container-state/createIntentSync.js.map +1 -0
- package/workflows/container-contents/container-state/createTerminalFailure.js +19 -0
- package/workflows/container-contents/container-state/createTerminalFailure.js.map +1 -0
- package/workflows/container-contents/container-state/createWithMetadata.js +332 -0
- package/workflows/container-contents/container-state/createWithMetadata.js.map +1 -0
- package/workflows/container-contents/container-state/delete.js +34 -0
- package/workflows/container-contents/container-state/delete.js.map +1 -0
- package/workflows/container-contents/container-state/groupGrantVerification.js +93 -0
- package/workflows/container-contents/container-state/groupGrantVerification.js.map +1 -0
- package/workflows/container-contents/container-state/localPathDepth.js +60 -0
- package/workflows/container-contents/container-state/localPathDepth.js.map +1 -0
- package/workflows/container-contents/container-state/moveIntentSync.js +345 -0
- package/workflows/container-contents/container-state/moveIntentSync.js.map +1 -0
- package/workflows/container-contents/container-state/projectionCache.js +71 -0
- package/workflows/container-contents/container-state/projectionCache.js.map +1 -0
- package/workflows/container-contents/container-state/purgeProgress.d.ts +9 -0
- package/workflows/container-contents/container-state/purgeProgress.js +2 -0
- package/workflows/container-contents/container-state/purgeProgress.js.map +1 -0
- package/workflows/container-contents/container-state/purgeTree.js +251 -0
- package/workflows/container-contents/container-state/purgeTree.js.map +1 -0
- package/workflows/container-contents/container-state/purgeTreeCollection.js +34 -0
- package/workflows/container-contents/container-state/purgeTreeCollection.js.map +1 -0
- package/workflows/container-contents/container-state/purgeTreeContainerDeletion.js +67 -0
- package/workflows/container-contents/container-state/purgeTreeContainerDeletion.js.map +1 -0
- package/workflows/container-contents/container-state/remote.js +156 -0
- package/workflows/container-contents/container-state/remote.js.map +1 -0
- package/workflows/container-contents/container-state/share.js +305 -0
- package/workflows/container-contents/container-state/share.js.map +1 -0
- package/workflows/container-contents/container-state/sharePersistence.js +136 -0
- package/workflows/container-contents/container-state/sharePersistence.js.map +1 -0
- package/workflows/container-contents/container-state/types.js +2 -0
- package/workflows/container-contents/container-state/types.js.map +1 -0
- package/workflows/container-contents/containerDocumentListing.js +52 -0
- package/workflows/container-contents/containerDocumentListing.js.map +1 -0
- package/workflows/container-contents/containerEvents.js +112 -0
- package/workflows/container-contents/containerEvents.js.map +1 -0
- package/workflows/container-contents/containerInfo.d.ts +77 -0
- package/workflows/container-contents/containerInfo.js +200 -0
- package/workflows/container-contents/containerInfo.js.map +1 -0
- package/workflows/container-contents/containerPersistence.d.ts +21 -0
- package/workflows/container-contents/containerPersistence.js +40 -0
- package/workflows/container-contents/containerPersistence.js.map +1 -0
- package/workflows/container-contents/deferredDocumentLinks.js +9 -0
- package/workflows/container-contents/deferredDocumentLinks.js.map +1 -0
- package/workflows/container-contents/documentAttributionRanges.d.ts +26 -0
- package/workflows/container-contents/documentAttributionRanges.js +15 -0
- package/workflows/container-contents/documentAttributionRanges.js.map +1 -0
- package/workflows/container-contents/documentCharacterBlame.js +33 -0
- package/workflows/container-contents/documentCharacterBlame.js.map +1 -0
- package/workflows/container-contents/documentDiscovery.d.ts +12 -0
- package/workflows/container-contents/documentDiscovery.js +255 -0
- package/workflows/container-contents/documentDiscovery.js.map +1 -0
- package/workflows/container-contents/documentDiscoveryCandidates.js +29 -0
- package/workflows/container-contents/documentDiscoveryCandidates.js.map +1 -0
- package/workflows/container-contents/documentDiscoveryEvidence.js +91 -0
- package/workflows/container-contents/documentDiscoveryEvidence.js.map +1 -0
- package/workflows/container-contents/documentDiscoveryInputs.js +85 -0
- package/workflows/container-contents/documentDiscoveryInputs.js.map +1 -0
- package/workflows/container-contents/documentDiscoveryTypes.d.ts +154 -0
- package/workflows/container-contents/documentDiscoveryTypes.js +2 -0
- package/workflows/container-contents/documentDiscoveryTypes.js.map +1 -0
- package/workflows/container-contents/documentFieldBlame.js +26 -0
- package/workflows/container-contents/documentFieldBlame.js.map +1 -0
- package/workflows/container-contents/documentHeadScope.js +9 -0
- package/workflows/container-contents/documentHeadScope.js.map +1 -0
- package/workflows/container-contents/documentHydrationProbe.js +146 -0
- package/workflows/container-contents/documentHydrationProbe.js.map +1 -0
- package/workflows/container-contents/documentInfo.d.ts +18 -0
- package/workflows/container-contents/documentInfo.js +306 -0
- package/workflows/container-contents/documentInfo.js.map +1 -0
- package/workflows/container-contents/documentInfoTypes.d.ts +92 -0
- package/workflows/container-contents/documentInfoTypes.js +2 -0
- package/workflows/container-contents/documentInfoTypes.js.map +1 -0
- package/workflows/container-contents/documentLinkIntent.js +82 -0
- package/workflows/container-contents/documentLinkIntent.js.map +1 -0
- package/workflows/container-contents/documentLinks.d.ts +59 -0
- package/workflows/container-contents/documentLinks.js +262 -0
- package/workflows/container-contents/documentLinks.js.map +1 -0
- package/workflows/container-contents/documentLocalRelink.js +23 -0
- package/workflows/container-contents/documentLocalRelink.js.map +1 -0
- package/workflows/container-contents/documentMoveDeniedReplay.js +20 -0
- package/workflows/container-contents/documentMoveDeniedReplay.js.map +1 -0
- package/workflows/container-contents/documentMoveFailure.js +35 -0
- package/workflows/container-contents/documentMoveFailure.js.map +1 -0
- package/workflows/container-contents/documentMoveIntent.js +77 -0
- package/workflows/container-contents/documentMoveIntent.js.map +1 -0
- package/workflows/container-contents/documentMoveIntentErrors.js +17 -0
- package/workflows/container-contents/documentMoveIntentErrors.js.map +1 -0
- package/workflows/container-contents/documentMoveIntentSettlement.js +25 -0
- package/workflows/container-contents/documentMoveIntentSettlement.js.map +1 -0
- package/workflows/container-contents/documentMoveIntentSync.js +346 -0
- package/workflows/container-contents/documentMoveIntentSync.js.map +1 -0
- package/workflows/container-contents/documentMoveUnlinkIds.js +21 -0
- package/workflows/container-contents/documentMoveUnlinkIds.js.map +1 -0
- package/workflows/container-contents/documentMoveVanishedRefresh.js +100 -0
- package/workflows/container-contents/documentMoveVanishedRefresh.js.map +1 -0
- package/workflows/container-contents/documentPriming.js +248 -0
- package/workflows/container-contents/documentPriming.js.map +1 -0
- package/workflows/container-contents/documentPurge.d.ts +31 -0
- package/workflows/container-contents/documentPurge.js +129 -0
- package/workflows/container-contents/documentPurge.js.map +1 -0
- package/workflows/container-contents/documentQueries/rows.js +113 -0
- package/workflows/container-contents/documentQueries/rows.js.map +1 -0
- package/workflows/container-contents/documentQueries/sql.js +337 -0
- package/workflows/container-contents/documentQueries/sql.js.map +1 -0
- package/workflows/container-contents/documentQueries/types.d.ts +99 -0
- package/workflows/container-contents/documentQueries/types.js +2 -0
- package/workflows/container-contents/documentQueries/types.js.map +1 -0
- package/workflows/container-contents/documentQueries.d.ts +57 -0
- package/workflows/container-contents/documentQueries.js +205 -0
- package/workflows/container-contents/documentQueries.js.map +1 -0
- package/workflows/container-contents/documentRuntimeTargetSync.js +55 -0
- package/workflows/container-contents/documentRuntimeTargetSync.js.map +1 -0
- package/workflows/container-contents/documentStructure.d.ts +53 -0
- package/workflows/container-contents/documentStructure.js +183 -0
- package/workflows/container-contents/documentStructure.js.map +1 -0
- package/workflows/container-contents/documentStructureTypes.d.ts +32 -0
- package/workflows/container-contents/documentStructureTypes.js +2 -0
- package/workflows/container-contents/documentStructureTypes.js.map +1 -0
- package/workflows/container-contents/documentSubtreeQueries.js +169 -0
- package/workflows/container-contents/documentSubtreeQueries.js.map +1 -0
- package/workflows/container-contents/documentTombstoneEvidence.js +162 -0
- package/workflows/container-contents/documentTombstoneEvidence.js.map +1 -0
- package/workflows/container-contents/documentTombstoneGate.js +94 -0
- package/workflows/container-contents/documentTombstoneGate.js.map +1 -0
- package/workflows/container-contents/folderRecovery.d.ts +19 -0
- package/workflows/container-contents/folderRecovery.js +32 -0
- package/workflows/container-contents/folderRecovery.js.map +1 -0
- package/workflows/container-contents/index.d.ts +20 -0
- package/workflows/container-contents/index.js +19 -0
- package/workflows/container-contents/index.js.map +1 -0
- package/workflows/container-contents/localState.js +17 -0
- package/workflows/container-contents/localState.js.map +1 -0
- package/workflows/container-contents/metadata.d.ts +25 -0
- package/workflows/container-contents/metadata.js +217 -0
- package/workflows/container-contents/metadata.js.map +1 -0
- package/workflows/container-contents/metadataEvents.d.ts +7 -0
- package/workflows/container-contents/metadataEvents.js +47 -0
- package/workflows/container-contents/metadataEvents.js.map +1 -0
- package/workflows/container-contents/metadataIncomingUpdateIsolation.js +40 -0
- package/workflows/container-contents/metadataIncomingUpdateIsolation.js.map +1 -0
- package/workflows/container-contents/metadataMutationPreparation.d.ts +75 -0
- package/workflows/container-contents/metadataMutationPreparation.js +177 -0
- package/workflows/container-contents/metadataMutationPreparation.js.map +1 -0
- package/workflows/container-contents/metadataPersistence.d.ts +34 -0
- package/workflows/container-contents/metadataPersistence.js +254 -0
- package/workflows/container-contents/metadataPersistence.js.map +1 -0
- package/workflows/container-contents/metadataPullContinuationInvalidation.js +65 -0
- package/workflows/container-contents/metadataPullContinuationInvalidation.js.map +1 -0
- package/workflows/container-contents/metadataReadState.d.ts +2 -0
- package/workflows/container-contents/metadataReadState.js +11 -0
- package/workflows/container-contents/metadataReadState.js.map +1 -0
- package/workflows/container-contents/metadataRecord.js +43 -0
- package/workflows/container-contents/metadataRecord.js.map +1 -0
- package/workflows/container-contents/metadataRemoteSync.d.ts +38 -0
- package/workflows/container-contents/metadataRemoteSync.js +91 -0
- package/workflows/container-contents/metadataRemoteSync.js.map +1 -0
- package/workflows/container-contents/metadataStateInstallation.d.ts +3 -0
- package/workflows/container-contents/metadataStateInstallation.js +5 -0
- package/workflows/container-contents/metadataStateInstallation.js.map +1 -0
- package/workflows/container-contents/metadataStateIsolation.js +80 -0
- package/workflows/container-contents/metadataStateIsolation.js.map +1 -0
- package/workflows/container-contents/metadataSyncErrors.js +41 -0
- package/workflows/container-contents/metadataSyncErrors.js.map +1 -0
- package/workflows/container-contents/metadataSyncFollowup.js +11 -0
- package/workflows/container-contents/metadataSyncFollowup.js.map +1 -0
- package/workflows/container-contents/metadataSyncRegistrations.d.ts +4 -0
- package/workflows/container-contents/metadataSyncRegistrations.js +35 -0
- package/workflows/container-contents/metadataSyncRegistrations.js.map +1 -0
- package/workflows/container-contents/metadataSyncSettlement.d.ts +13 -0
- package/workflows/container-contents/metadataSyncSettlement.js +27 -0
- package/workflows/container-contents/metadataSyncSettlement.js.map +1 -0
- package/workflows/container-contents/metadataTypes.d.ts +54 -0
- package/workflows/container-contents/metadataTypes.js +2 -0
- package/workflows/container-contents/metadataTypes.js.map +1 -0
- package/workflows/container-contents/orphanedDocumentSql.js +39 -0
- package/workflows/container-contents/orphanedDocumentSql.js.map +1 -0
- package/workflows/container-contents/pendingWrites/aggregation.js +138 -0
- package/workflows/container-contents/pendingWrites/aggregation.js.map +1 -0
- package/workflows/container-contents/pendingWrites/deferredTails.js +213 -0
- package/workflows/container-contents/pendingWrites/deferredTails.js.map +1 -0
- package/workflows/container-contents/pendingWrites/rowReaders.js +12 -0
- package/workflows/container-contents/pendingWrites/rowReaders.js.map +1 -0
- package/workflows/container-contents/pendingWrites/sources.js +437 -0
- package/workflows/container-contents/pendingWrites/sources.js.map +1 -0
- package/workflows/container-contents/pendingWrites.d.ts +26 -0
- package/workflows/container-contents/pendingWrites.js +113 -0
- package/workflows/container-contents/pendingWrites.js.map +1 -0
- package/workflows/container-contents/pendingWritesTypes.d.ts +36 -0
- package/workflows/container-contents/pendingWritesTypes.js +2 -0
- package/workflows/container-contents/pendingWritesTypes.js.map +1 -0
- package/workflows/container-contents/projectionGeneration.js +10 -0
- package/workflows/container-contents/projectionGeneration.js.map +1 -0
- package/workflows/container-contents/projectionKeys.d.ts +15 -0
- package/workflows/container-contents/projectionKeys.js +25 -0
- package/workflows/container-contents/projectionKeys.js.map +1 -0
- package/workflows/container-contents/projectionView.js +25 -0
- package/workflows/container-contents/projectionView.js.map +1 -0
- package/workflows/container-contents/remoteContainerPageHydration.js +244 -0
- package/workflows/container-contents/remoteContainerPageHydration.js.map +1 -0
- package/workflows/container-contents/remoteContainerState.js +260 -0
- package/workflows/container-contents/remoteContainerState.js.map +1 -0
- package/workflows/container-contents/remoteHydration/childIndex.js +36 -0
- package/workflows/container-contents/remoteHydration/childIndex.js.map +1 -0
- package/workflows/container-contents/remoteHydration/completeHydration.js +25 -0
- package/workflows/container-contents/remoteHydration/completeHydration.js.map +1 -0
- package/workflows/container-contents/remoteHydration/containerStateFingerprint.js +14 -0
- package/workflows/container-contents/remoteHydration/containerStateFingerprint.js.map +1 -0
- package/workflows/container-contents/remoteHydration/destinationPrefetch.js +26 -0
- package/workflows/container-contents/remoteHydration/destinationPrefetch.js.map +1 -0
- package/workflows/container-contents/remoteHydration/destinationRoleCache.js +39 -0
- package/workflows/container-contents/remoteHydration/destinationRoleCache.js.map +1 -0
- package/workflows/container-contents/remoteHydration/destinationRootReload.js +10 -0
- package/workflows/container-contents/remoteHydration/destinationRootReload.js.map +1 -0
- package/workflows/container-contents/remoteHydration/heldContainerRebind.js +36 -0
- package/workflows/container-contents/remoteHydration/heldContainerRebind.js.map +1 -0
- package/workflows/container-contents/remoteHydration/insertRemoteContainer.js +135 -0
- package/workflows/container-contents/remoteHydration/insertRemoteContainer.js.map +1 -0
- package/workflows/container-contents/remoteHydration/laneFetchMarkers.js +27 -0
- package/workflows/container-contents/remoteHydration/laneFetchMarkers.js.map +1 -0
- package/workflows/container-contents/remoteHydration/parentLaneFetch.js +61 -0
- package/workflows/container-contents/remoteHydration/parentLaneFetch.js.map +1 -0
- package/workflows/container-contents/remoteHydration/parentLaneQueue.js +30 -0
- package/workflows/container-contents/remoteHydration/parentLaneQueue.js.map +1 -0
- package/workflows/container-contents/remoteHydration/principalPolicyCache.js +26 -0
- package/workflows/container-contents/remoteHydration/principalPolicyCache.js.map +1 -0
- package/workflows/container-contents/remoteHydration/reattachMetadata.js +49 -0
- package/workflows/container-contents/remoteHydration/reattachMetadata.js.map +1 -0
- package/workflows/container-contents/remoteHydration/reconciliation.js +322 -0
- package/workflows/container-contents/remoteHydration/reconciliation.js.map +1 -0
- package/workflows/container-contents/remoteHydration/remoteContainerTimestamps.js +31 -0
- package/workflows/container-contents/remoteHydration/remoteContainerTimestamps.js.map +1 -0
- package/workflows/container-contents/remoteHydration/replacementBinding.js +75 -0
- package/workflows/container-contents/remoteHydration/replacementBinding.js.map +1 -0
- package/workflows/container-contents/remoteHydration/tombstoneApplication.js +149 -0
- package/workflows/container-contents/remoteHydration/tombstoneApplication.js.map +1 -0
- package/workflows/container-contents/remoteHydration/tombstoneReasons.js +108 -0
- package/workflows/container-contents/remoteHydration/tombstoneReasons.js.map +1 -0
- package/workflows/container-contents/remoteHydration/types.d.ts +90 -0
- package/workflows/container-contents/remoteHydration/types.js +2 -0
- package/workflows/container-contents/remoteHydration/types.js.map +1 -0
- package/workflows/container-contents/remoteHydration/verifiedDestination.js +294 -0
- package/workflows/container-contents/remoteHydration/verifiedDestination.js.map +1 -0
- package/workflows/container-contents/remoteHydration.d.ts +28 -0
- package/workflows/container-contents/remoteHydration.js +302 -0
- package/workflows/container-contents/remoteHydration.js.map +1 -0
- package/workflows/container-contents/remoteHydrationLog.js +20 -0
- package/workflows/container-contents/remoteHydrationLog.js.map +1 -0
- package/workflows/container-contents/runtime.d.ts +69 -0
- package/workflows/container-contents/runtime.js +45 -0
- package/workflows/container-contents/runtime.js.map +1 -0
- package/workflows/container-contents/staleRootRecovery.js +111 -0
- package/workflows/container-contents/staleRootRecovery.js.map +1 -0
- package/workflows/container-contents/storedContainerState.js +84 -0
- package/workflows/container-contents/storedContainerState.js.map +1 -0
- package/workflows/container-contents/syncLane.d.ts +12 -0
- package/workflows/container-contents/syncLane.js +20 -0
- package/workflows/container-contents/syncLane.js.map +1 -0
- package/workflows/container-contents/syncState.d.ts +16 -0
- package/workflows/container-contents/syncState.js +28 -0
- package/workflows/container-contents/syncState.js.map +1 -0
- package/workflows/container-contents/systemSlot.d.ts +11 -0
- package/workflows/container-contents/systemSlot.js +19 -0
- package/workflows/container-contents/systemSlot.js.map +1 -0
- package/workflows/containers/child/carriedDescendantRekeys.js +118 -0
- package/workflows/containers/child/carriedDescendantRekeys.js.map +1 -0
- package/workflows/containers/child/create.d.ts +24 -0
- package/workflows/containers/child/create.js +337 -0
- package/workflows/containers/child/create.js.map +1 -0
- package/workflows/containers/child/createProjection.d.ts +6 -0
- package/workflows/containers/child/createProjection.js +43 -0
- package/workflows/containers/child/createProjection.js.map +1 -0
- package/workflows/containers/child/createSubmission.d.ts +58 -0
- package/workflows/containers/child/createSubmission.js +45 -0
- package/workflows/containers/child/createSubmission.js.map +1 -0
- package/workflows/containers/child/keyringOverrideLineage.d.ts +22 -0
- package/workflows/containers/child/keyringOverrideLineage.js +39 -0
- package/workflows/containers/child/keyringOverrideLineage.js.map +1 -0
- package/workflows/containers/child/move.d.ts +23 -0
- package/workflows/containers/child/move.js +268 -0
- package/workflows/containers/child/move.js.map +1 -0
- package/workflows/containers/child/moveArtifacts.js +102 -0
- package/workflows/containers/child/moveArtifacts.js.map +1 -0
- package/workflows/containers/child/moveRotation.js +88 -0
- package/workflows/containers/child/moveRotation.js.map +1 -0
- package/workflows/containers/child/moveWraps.js +49 -0
- package/workflows/containers/child/moveWraps.js.map +1 -0
- package/workflows/containers/child/mutationRequestCore.js +39 -0
- package/workflows/containers/child/mutationRequestCore.js.map +1 -0
- package/workflows/containers/child/mutationSubmit.js +122 -0
- package/workflows/containers/child/mutationSubmit.js.map +1 -0
- package/workflows/containers/child/policyRepair.js +23 -0
- package/workflows/containers/child/policyRepair.js.map +1 -0
- package/workflows/containers/child/recite.js +175 -0
- package/workflows/containers/child/recite.js.map +1 -0
- package/workflows/containers/child/recitePlan.js +80 -0
- package/workflows/containers/child/recitePlan.js.map +1 -0
- package/workflows/containers/child/rekey.d.ts +32 -0
- package/workflows/containers/child/rekey.js +227 -0
- package/workflows/containers/child/rekey.js.map +1 -0
- package/workflows/containers/child/rekeyProjection.d.ts +41 -0
- package/workflows/containers/child/rekeyProjection.js +110 -0
- package/workflows/containers/child/rekeyProjection.js.map +1 -0
- package/workflows/containers/child/rekeyRemote.d.ts +24 -0
- package/workflows/containers/child/rekeyRemote.js +64 -0
- package/workflows/containers/child/rekeyRemote.js.map +1 -0
- package/workflows/containers/child/revoke.d.ts +44 -0
- package/workflows/containers/child/revoke.js +229 -0
- package/workflows/containers/child/revoke.js.map +1 -0
- package/workflows/containers/child/revokeManifest.d.ts +12 -0
- package/workflows/containers/child/revokeManifest.js +48 -0
- package/workflows/containers/child/revokeManifest.js.map +1 -0
- package/workflows/containers/child/rotationContext.js +64 -0
- package/workflows/containers/child/rotationContext.js.map +1 -0
- package/workflows/containers/child/rotationPrincipalPolicies.js +19 -0
- package/workflows/containers/child/rotationPrincipalPolicies.js.map +1 -0
- package/workflows/containers/child/rotationWraps.js +85 -0
- package/workflows/containers/child/rotationWraps.js.map +1 -0
- package/workflows/containers/child/share.d.ts +65 -0
- package/workflows/containers/child/share.js +265 -0
- package/workflows/containers/child/share.js.map +1 -0
- package/workflows/containers/child/shareAncestorRepair.js +95 -0
- package/workflows/containers/child/shareAncestorRepair.js.map +1 -0
- package/workflows/containers/child/shareMaterialization.d.ts +25 -0
- package/workflows/containers/child/shareMaterialization.js +164 -0
- package/workflows/containers/child/shareMaterialization.js.map +1 -0
- package/workflows/containers/child/sharePlanCore.d.ts +82 -0
- package/workflows/containers/child/sharePlanCore.js +191 -0
- package/workflows/containers/child/sharePlanCore.js.map +1 -0
- package/workflows/containers/child/sharePrincipalPolicy.d.ts +50 -0
- package/workflows/containers/child/sharePrincipalPolicy.js +194 -0
- package/workflows/containers/child/sharePrincipalPolicy.js.map +1 -0
- package/workflows/containers/index.d.ts +22 -0
- package/workflows/containers/index.js +27 -0
- package/workflows/containers/index.js.map +1 -0
- package/workflows/containers/mutationResponse.d.ts +13 -0
- package/workflows/containers/mutationResponse.js +29 -0
- package/workflows/containers/mutationResponse.js.map +1 -0
- package/workflows/containers/root/create.d.ts +16 -0
- package/workflows/containers/root/create.js +290 -0
- package/workflows/containers/root/create.js.map +1 -0
- package/workflows/containers/root/initialGroupPolicy.js +35 -0
- package/workflows/containers/root/initialGroupPolicy.js.map +1 -0
- package/workflows/containers/writeRefusal.d.ts +22 -0
- package/workflows/containers/writeRefusal.js +32 -0
- package/workflows/containers/writeRefusal.js.map +1 -0
- package/workflows/documents/attachmentPersistence.d.ts +58 -0
- package/workflows/documents/attachmentPersistence.js +31 -0
- package/workflows/documents/attachmentPersistence.js.map +1 -0
- package/workflows/documents/author.d.ts +15 -0
- package/workflows/documents/author.js +17 -0
- package/workflows/documents/author.js.map +1 -0
- package/workflows/documents/authorAccessFailure.js +14 -0
- package/workflows/documents/authorAccessFailure.js.map +1 -0
- package/workflows/documents/blobMutationLock.d.ts +8 -0
- package/workflows/documents/blobMutationLock.js +35 -0
- package/workflows/documents/blobMutationLock.js.map +1 -0
- package/workflows/documents/create.d.ts +69 -0
- package/workflows/documents/create.js +313 -0
- package/workflows/documents/create.js.map +1 -0
- package/workflows/documents/createAdoption.js +100 -0
- package/workflows/documents/createAdoption.js.map +1 -0
- package/workflows/documents/createProjectionFetch.d.ts +27 -0
- package/workflows/documents/createProjectionFetch.js +26 -0
- package/workflows/documents/createProjectionFetch.js.map +1 -0
- package/workflows/documents/documentCreationPersistence.js +16 -0
- package/workflows/documents/documentCreationPersistence.js.map +1 -0
- package/workflows/documents/documentMutationCommit.d.ts +32 -0
- package/workflows/documents/documentMutationCommit.js +296 -0
- package/workflows/documents/documentMutationCommit.js.map +1 -0
- package/workflows/documents/documentMutationPreparation.d.ts +31 -0
- package/workflows/documents/documentMutationPreparation.js +146 -0
- package/workflows/documents/documentMutationPreparation.js.map +1 -0
- package/workflows/documents/documentPersistGuards.js +15 -0
- package/workflows/documents/documentPersistGuards.js.map +1 -0
- package/workflows/documents/historyContent.d.ts +28 -0
- package/workflows/documents/historyContent.js +56 -0
- package/workflows/documents/historyContent.js.map +1 -0
- package/workflows/documents/index.d.ts +35 -0
- package/workflows/documents/index.js +31 -0
- package/workflows/documents/index.js.map +1 -0
- package/workflows/documents/initialSync.js +65 -0
- package/workflows/documents/initialSync.js.map +1 -0
- package/workflows/documents/linkSet.d.ts +18 -0
- package/workflows/documents/linkSet.js +288 -0
- package/workflows/documents/linkSet.js.map +1 -0
- package/workflows/documents/linkSetAuthority.js +61 -0
- package/workflows/documents/linkSetAuthority.js.map +1 -0
- package/workflows/documents/linkSetBlobRewraps.js +141 -0
- package/workflows/documents/linkSetBlobRewraps.js.map +1 -0
- package/workflows/documents/linkSetProjectionSeed.js +119 -0
- package/workflows/documents/linkSetProjectionSeed.js.map +1 -0
- package/workflows/documents/linkSetRemote.d.ts +20 -0
- package/workflows/documents/linkSetRemote.js +184 -0
- package/workflows/documents/linkSetRemote.js.map +1 -0
- package/workflows/documents/orphanBlobReclaims.d.ts +5 -0
- package/workflows/documents/orphanBlobReclaims.js +141 -0
- package/workflows/documents/orphanBlobReclaims.js.map +1 -0
- package/workflows/documents/pendingUpdatePersistence.d.ts +22 -0
- package/workflows/documents/pendingUpdatePersistence.js +22 -0
- package/workflows/documents/pendingUpdatePersistence.js.map +1 -0
- package/workflows/documents/persistedDocumentRemoval.d.ts +44 -0
- package/workflows/documents/persistedDocumentRemoval.js +70 -0
- package/workflows/documents/persistedDocumentRemoval.js.map +1 -0
- package/workflows/documents/persistence.d.ts +23 -0
- package/workflows/documents/persistence.js +54 -0
- package/workflows/documents/persistence.js.map +1 -0
- package/workflows/documents/projectionKeys.d.ts +14 -0
- package/workflows/documents/projectionKeys.js +22 -0
- package/workflows/documents/projectionKeys.js.map +1 -0
- package/workflows/documents/purge.d.ts +46 -0
- package/workflows/documents/purge.js +184 -0
- package/workflows/documents/purge.js.map +1 -0
- package/workflows/documents/readOnlyProjectionFailure.js +30 -0
- package/workflows/documents/readOnlyProjectionFailure.js.map +1 -0
- package/workflows/documents/readOnlySync.d.ts +71 -0
- package/workflows/documents/readOnlySync.js +269 -0
- package/workflows/documents/readOnlySync.js.map +1 -0
- package/workflows/documents/reportDocumentSyncQuarantine.js +19 -0
- package/workflows/documents/reportDocumentSyncQuarantine.js.map +1 -0
- package/workflows/documents/rotationBaseline.js +76 -0
- package/workflows/documents/rotationBaseline.js.map +1 -0
- package/workflows/documents/runtime.d.ts +38 -0
- package/workflows/documents/runtime.js +19 -0
- package/workflows/documents/runtime.js.map +1 -0
- package/workflows/documents/sync.d.ts +4 -0
- package/workflows/documents/sync.js +285 -0
- package/workflows/documents/sync.js.map +1 -0
- package/workflows/documents/syncAbandon.js +51 -0
- package/workflows/documents/syncAbandon.js.map +1 -0
- package/workflows/documents/syncAttemptPlanning.js +79 -0
- package/workflows/documents/syncAttemptPlanning.js.map +1 -0
- package/workflows/documents/syncAttemptState.d.ts +27 -0
- package/workflows/documents/syncAttemptState.js +2 -0
- package/workflows/documents/syncAttemptState.js.map +1 -0
- package/workflows/documents/syncAutomaticContainerRekeys.js +119 -0
- package/workflows/documents/syncAutomaticContainerRekeys.js.map +1 -0
- package/workflows/documents/syncContainerRekeyPreparation.js +227 -0
- package/workflows/documents/syncContainerRekeyPreparation.js.map +1 -0
- package/workflows/documents/syncContainerRekeyProjection.js +79 -0
- package/workflows/documents/syncContainerRekeyProjection.js.map +1 -0
- package/workflows/documents/syncContainerRekeys.js +72 -0
- package/workflows/documents/syncContainerRekeys.js.map +1 -0
- package/workflows/documents/syncContentKeys.d.ts +39 -0
- package/workflows/documents/syncContentKeys.js +259 -0
- package/workflows/documents/syncContentKeys.js.map +1 -0
- package/workflows/documents/syncFailureClassification.d.ts +74 -0
- package/workflows/documents/syncFailureClassification.js +120 -0
- package/workflows/documents/syncFailureClassification.js.map +1 -0
- package/workflows/documents/syncFailureClearance.d.ts +17 -0
- package/workflows/documents/syncFailureClearance.js +12 -0
- package/workflows/documents/syncFailureClearance.js.map +1 -0
- package/workflows/documents/syncFailures.js +252 -0
- package/workflows/documents/syncFailures.js.map +1 -0
- package/workflows/documents/syncLane.d.ts +19 -0
- package/workflows/documents/syncLane.js +93 -0
- package/workflows/documents/syncLane.js.map +1 -0
- package/workflows/documents/syncPlanIdentity.js +203 -0
- package/workflows/documents/syncPlanIdentity.js.map +1 -0
- package/workflows/documents/syncPlanMaterial.js +306 -0
- package/workflows/documents/syncPlanMaterial.js.map +1 -0
- package/workflows/documents/syncPlanProjection.js +24 -0
- package/workflows/documents/syncPlanProjection.js.map +1 -0
- package/workflows/documents/syncPlanRequestBounds.js +54 -0
- package/workflows/documents/syncPlanRequestBounds.js.map +1 -0
- package/workflows/documents/syncPolicyRepair.js +48 -0
- package/workflows/documents/syncPolicyRepair.js.map +1 -0
- package/workflows/documents/syncRecoveryRekey.d.ts +70 -0
- package/workflows/documents/syncRecoveryRekey.js +120 -0
- package/workflows/documents/syncRecoveryRekey.js.map +1 -0
- package/workflows/documents/syncRekeyCommit.js +18 -0
- package/workflows/documents/syncRekeyCommit.js.map +1 -0
- package/workflows/documents/syncRepairAbandon.js +27 -0
- package/workflows/documents/syncRepairAbandon.js.map +1 -0
- package/workflows/documents/syncRepairAccess.js +42 -0
- package/workflows/documents/syncRepairAccess.js.map +1 -0
- package/workflows/documents/syncResponseResult.js +134 -0
- package/workflows/documents/syncResponseResult.js.map +1 -0
- package/workflows/documents/syncSubmittedResult.js +119 -0
- package/workflows/documents/syncSubmittedResult.js.map +1 -0
- package/workflows/documents/syncTrace.d.ts +75 -0
- package/workflows/documents/syncTrace.js +148 -0
- package/workflows/documents/syncTrace.js.map +1 -0
- package/workflows/documents/writerKeys.d.ts +14 -0
- package/workflows/documents/writerKeys.js +55 -0
- package/workflows/documents/writerKeys.js.map +1 -0
- package/workflows/organizations/billing.d.ts +111 -0
- package/workflows/organizations/billing.js +92 -0
- package/workflows/organizations/billing.js.map +1 -0
- package/workflows/organizations/containerGrantRevocation.d.ts +31 -0
- package/workflows/organizations/containerGrantRevocation.js +37 -0
- package/workflows/organizations/containerGrantRevocation.js.map +1 -0
- package/workflows/organizations/createOrganization.d.ts +59 -0
- package/workflows/organizations/createOrganization.js +127 -0
- package/workflows/organizations/createOrganization.js.map +1 -0
- package/workflows/organizations/dataUsageReadModel.d.ts +19 -0
- package/workflows/organizations/dataUsageReadModel.js +64 -0
- package/workflows/organizations/dataUsageReadModel.js.map +1 -0
- package/workflows/organizations/deleteOrganizationGroup.d.ts +18 -0
- package/workflows/organizations/deleteOrganizationGroup.js +64 -0
- package/workflows/organizations/deleteOrganizationGroup.js.map +1 -0
- package/workflows/organizations/groupCreation.d.ts +20 -0
- package/workflows/organizations/groupCreation.js +59 -0
- package/workflows/organizations/groupCreation.js.map +1 -0
- package/workflows/organizations/groupMembershipName.d.ts +8 -0
- package/workflows/organizations/groupMembershipName.js +18 -0
- package/workflows/organizations/groupMembershipName.js.map +1 -0
- package/workflows/organizations/groupMetadataAccess.d.ts +33 -0
- package/workflows/organizations/groupMetadataAccess.js +114 -0
- package/workflows/organizations/groupMetadataAccess.js.map +1 -0
- package/workflows/organizations/groupMetadataBinding.js +19 -0
- package/workflows/organizations/groupMetadataBinding.js.map +1 -0
- package/workflows/organizations/groupMetadataContainerAuthority.js +86 -0
- package/workflows/organizations/groupMetadataContainerAuthority.js.map +1 -0
- package/workflows/organizations/groupMetadataErrors.js +40 -0
- package/workflows/organizations/groupMetadataErrors.js.map +1 -0
- package/workflows/organizations/groupMetadataRuntime.js +28 -0
- package/workflows/organizations/groupMetadataRuntime.js.map +1 -0
- package/workflows/organizations/groupMutationAuthorization.js +10 -0
- package/workflows/organizations/groupMutationAuthorization.js.map +1 -0
- package/workflows/organizations/groupNameUniqueness.js +151 -0
- package/workflows/organizations/groupNameUniqueness.js.map +1 -0
- package/workflows/organizations/groupPolicyMutationAcknowledgement.js +239 -0
- package/workflows/organizations/groupPolicyMutationAcknowledgement.js.map +1 -0
- package/workflows/organizations/groupPolicyMutationContext.d.ts +95 -0
- package/workflows/organizations/groupPolicyMutationContext.js +228 -0
- package/workflows/organizations/groupPolicyMutationContext.js.map +1 -0
- package/workflows/organizations/groupPolicyMutationHead.js +26 -0
- package/workflows/organizations/groupPolicyMutationHead.js.map +1 -0
- package/workflows/organizations/groupPolicyRequests.js +175 -0
- package/workflows/organizations/groupPolicyRequests.js.map +1 -0
- package/workflows/organizations/groupPolicyVerification.js +74 -0
- package/workflows/organizations/groupPolicyVerification.js.map +1 -0
- package/workflows/organizations/index.d.ts +15 -0
- package/workflows/organizations/index.js +16 -0
- package/workflows/organizations/index.js.map +1 -0
- package/workflows/organizations/listLocalOrganizations.d.ts +20 -0
- package/workflows/organizations/listLocalOrganizations.js +137 -0
- package/workflows/organizations/listLocalOrganizations.js.map +1 -0
- package/workflows/organizations/loadPolicyHistoryDetails.js +79 -0
- package/workflows/organizations/loadPolicyHistoryDetails.js.map +1 -0
- package/workflows/organizations/localReadModelDetails.d.ts +25 -0
- package/workflows/organizations/localReadModelDetails.js +182 -0
- package/workflows/organizations/localReadModelDetails.js.map +1 -0
- package/workflows/organizations/organizationGroupDirectory.js +147 -0
- package/workflows/organizations/organizationGroupDirectory.js.map +1 -0
- package/workflows/organizations/organizationGroupNamePolicies.js +34 -0
- package/workflows/organizations/organizationGroupNamePolicies.js.map +1 -0
- package/workflows/organizations/organizationGroupNames.js +53 -0
- package/workflows/organizations/organizationGroupNames.js.map +1 -0
- package/workflows/organizations/organizationPolicyHistoryDetails.js +88 -0
- package/workflows/organizations/organizationPolicyHistoryDetails.js.map +1 -0
- package/workflows/organizations/organizationPolicyHistoryVerification.js +80 -0
- package/workflows/organizations/organizationPolicyHistoryVerification.js.map +1 -0
- package/workflows/organizations/organizationPresentationAccessState.js +173 -0
- package/workflows/organizations/organizationPresentationAccessState.js.map +1 -0
- package/workflows/organizations/organizationPresentationFailures.js +7 -0
- package/workflows/organizations/organizationPresentationFailures.js.map +1 -0
- package/workflows/organizations/organizationProfile.d.ts +16 -0
- package/workflows/organizations/organizationProfile.js +36 -0
- package/workflows/organizations/organizationProfile.js.map +1 -0
- package/workflows/organizations/organizationProvisioningAttempt.d.ts +36 -0
- package/workflows/organizations/organizationProvisioningAttempt.js +205 -0
- package/workflows/organizations/organizationProvisioningAttempt.js.map +1 -0
- package/workflows/organizations/organizationReplacementVerification.js +26 -0
- package/workflows/organizations/organizationReplacementVerification.js.map +1 -0
- package/workflows/organizations/organizationUserImport.d.ts +8 -0
- package/workflows/organizations/organizationUserImport.js +10 -0
- package/workflows/organizations/organizationUserImport.js.map +1 -0
- package/workflows/organizations/policyHistoryAccessDenial.js +19 -0
- package/workflows/organizations/policyHistoryAccessDenial.js.map +1 -0
- package/workflows/organizations/policyHistoryCache.js +39 -0
- package/workflows/organizations/policyHistoryCache.js.map +1 -0
- package/workflows/organizations/policyHistoryReadModel.d.ts +9 -0
- package/workflows/organizations/policyHistoryReadModel.js +98 -0
- package/workflows/organizations/policyHistoryReadModel.js.map +1 -0
- package/workflows/organizations/policyHistoryTypes.d.ts +54 -0
- package/workflows/organizations/policyHistoryTypes.js +2 -0
- package/workflows/organizations/policyHistoryTypes.js.map +1 -0
- package/workflows/organizations/principalContainerRematerialization.js +279 -0
- package/workflows/organizations/principalContainerRematerialization.js.map +1 -0
- package/workflows/organizations/principalContainerRematerializationPlanning.js +71 -0
- package/workflows/organizations/principalContainerRematerializationPlanning.js.map +1 -0
- package/workflows/organizations/principalContainerRematerializationTargets.js +90 -0
- package/workflows/organizations/principalContainerRematerializationTargets.js.map +1 -0
- package/workflows/organizations/principalPolicy.d.ts +98 -0
- package/workflows/organizations/principalPolicy.js +256 -0
- package/workflows/organizations/principalPolicy.js.map +1 -0
- package/workflows/organizations/principalPolicyRecipients.js +43 -0
- package/workflows/organizations/principalPolicyRecipients.js.map +1 -0
- package/workflows/organizations/principalPolicyRequest.d.ts +67 -0
- package/workflows/organizations/principalPolicyRequest.js +176 -0
- package/workflows/organizations/principalPolicyRequest.js.map +1 -0
- package/workflows/organizations/readModel.d.ts +65 -0
- package/workflows/organizations/readModel.js +10 -0
- package/workflows/organizations/readModel.js.map +1 -0
- package/workflows/organizations/readModelProjection.d.ts +39 -0
- package/workflows/organizations/readModelProjection.js +255 -0
- package/workflows/organizations/readModelProjection.js.map +1 -0
- package/workflows/organizations/rosterProfileContainer.d.ts +23 -0
- package/workflows/organizations/rosterProfileContainer.js +41 -0
- package/workflows/organizations/rosterProfileContainer.js.map +1 -0
- package/workflows/organizations/trustedOrganizationUsers.js +16 -0
- package/workflows/organizations/trustedOrganizationUsers.js.map +1 -0
- package/workflows/principals/externalAdminPolicy.d.ts +29 -0
- package/workflows/principals/externalAdminPolicy.js +176 -0
- package/workflows/principals/externalAdminPolicy.js.map +1 -0
- package/workflows/principals/index.d.ts +4 -0
- package/workflows/principals/index.js +5 -0
- package/workflows/principals/index.js.map +1 -0
- package/workflows/principals/policyCache.d.ts +19 -0
- package/workflows/principals/policyCache.js +242 -0
- package/workflows/principals/policyCache.js.map +1 -0
- package/workflows/principals/policyRepairBudget.d.ts +7 -0
- package/workflows/principals/policyRepairBudget.js +17 -0
- package/workflows/principals/policyRepairBudget.js.map +1 -0
- package/workflows/principals/policyVerification.js +51 -0
- package/workflows/principals/policyVerification.js.map +1 -0
- package/workflows/principals/principalHistoryRecoveryPrefix.js +65 -0
- package/workflows/principals/principalHistoryRecoveryPrefix.js.map +1 -0
- package/workflows/principals/principalHistoryRecoveryReferences.js +60 -0
- package/workflows/principals/principalHistoryRecoveryReferences.js.map +1 -0
- package/workflows/principals/principalHistoryRecoveryStage.js +61 -0
- package/workflows/principals/principalHistoryRecoveryStage.js.map +1 -0
- package/workflows/principals/principalHistoryRecoveryTypes.d.ts +34 -0
- package/workflows/principals/principalHistoryRecoveryTypes.js +16 -0
- package/workflows/principals/principalHistoryRecoveryTypes.js.map +1 -0
- package/workflows/principals/principalHistoryRecoveryVerification.js +24 -0
- package/workflows/principals/principalHistoryRecoveryVerification.js.map +1 -0
- package/workflows/principals/principalPolicyCacheAdvance.js +39 -0
- package/workflows/principals/principalPolicyCacheAdvance.js.map +1 -0
- package/workflows/principals/principalPolicyCacheScope.js +34 -0
- package/workflows/principals/principalPolicyCacheScope.js.map +1 -0
- package/workflows/principals/principalPolicyCacheValidation.js +149 -0
- package/workflows/principals/principalPolicyCacheValidation.js.map +1 -0
- package/workflows/principals/principalPolicyOrganizationScope.js +67 -0
- package/workflows/principals/principalPolicyOrganizationScope.js.map +1 -0
- package/workflows/principals/principalRecoveryDirectory.d.ts +10 -0
- package/workflows/principals/principalRecoveryDirectory.js +107 -0
- package/workflows/principals/principalRecoveryDirectory.js.map +1 -0
- package/workflows/principals/principalRecoveryMemo.js +46 -0
- package/workflows/principals/principalRecoveryMemo.js.map +1 -0
- package/workflows/principals/principalRecoveryOutage.js +40 -0
- package/workflows/principals/principalRecoveryOutage.js.map +1 -0
- package/workflows/principals/principalRecoveryQueue.js +22 -0
- package/workflows/principals/principalRecoveryQueue.js.map +1 -0
- package/workflows/principals/recoverPrincipalPolicyHistory.d.ts +7 -0
- package/workflows/principals/recoverPrincipalPolicyHistory.js +245 -0
- package/workflows/principals/recoverPrincipalPolicyHistory.js.map +1 -0
- package/workflows/principals/recoverScopedPrincipalPolicyHistory.d.ts +13 -0
- package/workflows/principals/recoverScopedPrincipalPolicyHistory.js +150 -0
- package/workflows/principals/recoverScopedPrincipalPolicyHistory.js.map +1 -0
- package/workflows/principals/runtimePolicyRecovery.js +65 -0
- package/workflows/principals/runtimePolicyRecovery.js.map +1 -0
- package/workflows/principals/runtimePolicyWarmer.js +33 -0
- package/workflows/principals/runtimePolicyWarmer.js.map +1 -0
- package/workflows/registration/bootstrapRootContainer.d.ts +7 -0
- package/workflows/registration/bootstrapRootContainer.js +33 -0
- package/workflows/registration/bootstrapRootContainer.js.map +1 -0
- package/workflows/registration/index.d.ts +5 -0
- package/workflows/registration/index.js +6 -0
- package/workflows/registration/index.js.map +1 -0
- package/workflows/registration/organizationProvisioningArtifacts.d.ts +60 -0
- package/workflows/registration/organizationProvisioningArtifacts.js +2 -0
- package/workflows/registration/organizationProvisioningArtifacts.js.map +1 -0
- package/workflows/registration/organizationProvisioningPersistence.d.ts +18 -0
- package/workflows/registration/organizationProvisioningPersistence.js +164 -0
- package/workflows/registration/organizationProvisioningPersistence.js.map +1 -0
- package/workflows/registration/persistRegistrationBootstrap.d.ts +93 -0
- package/workflows/registration/persistRegistrationBootstrap.js +204 -0
- package/workflows/registration/persistRegistrationBootstrap.js.map +1 -0
- package/workflows/registration/profileBootstrapPersistence.js +47 -0
- package/workflows/registration/profileBootstrapPersistence.js.map +1 -0
- package/workflows/registration/provisionedProfileDocument.js +34 -0
- package/workflows/registration/provisionedProfileDocument.js.map +1 -0
- package/workflows/registration/provisioningAcknowledgement.js +85 -0
- package/workflows/registration/provisioningAcknowledgement.js.map +1 -0
- package/workflows/registration/provisioningBootstrapBuilders.d.ts +450 -0
- package/workflows/registration/provisioningBootstrapBuilders.js +275 -0
- package/workflows/registration/provisioningBootstrapBuilders.js.map +1 -0
- package/workflows/registration/registerIdentity.d.ts +83 -0
- package/workflows/registration/registerIdentity.js +272 -0
- package/workflows/registration/registerIdentity.js.map +1 -0
- package/workflows/registration/registrationBootstrapPendingUpdates.js +16 -0
- package/workflows/registration/registrationBootstrapPendingUpdates.js.map +1 -0
- package/workflows/registration/registrationPrincipalPolicyPersistence.d.ts +13 -0
- package/workflows/registration/registrationPrincipalPolicyPersistence.js +74 -0
- package/workflows/registration/registrationPrincipalPolicyPersistence.js.map +1 -0
- package/workflows/registration/rootMetadataBootstrap.d.ts +5 -0
- package/workflows/registration/rootMetadataBootstrap.js +13 -0
- package/workflows/registration/rootMetadataBootstrap.js.map +1 -0
- package/workflows/root/dataUsage.d.ts +11 -0
- package/workflows/root/dataUsage.js +8 -0
- package/workflows/root/dataUsage.js.map +1 -0
- package/workflows/root/identities.d.ts +38 -0
- package/workflows/root/identities.js +19 -0
- package/workflows/root/identities.js.map +1 -0
- package/workflows/root/index.d.ts +3 -0
- package/workflows/root/index.js +4 -0
- package/workflows/root/index.js.map +1 -0
- package/workflows/root/organizations.d.ts +19 -0
- package/workflows/root/organizations.js +11 -0
- package/workflows/root/organizations.js.map +1 -0
- package/workflows/runtimeInput.d.ts +61 -0
- package/workflows/runtimeInput.js +2 -0
- package/workflows/runtimeInput.js.map +1 -0
- package/workflows/sync/index.d.ts +4 -0
- package/workflows/sync/index.js +4 -0
- package/workflows/sync/index.js.map +1 -0
- package/workflows/sync/remoteReset.d.ts +16 -0
- package/workflows/sync/remoteReset.js +293 -0
- package/workflows/sync/remoteReset.js.map +1 -0
- package/workflows/sync/remoteResetAttachments.js +26 -0
- package/workflows/sync/remoteResetAttachments.js.map +1 -0
- package/workflows/sync/remoteResetBatches.js +13 -0
- package/workflows/sync/remoteResetBatches.js.map +1 -0
- package/workflows/sync/remoteResetCursorScope.js +44 -0
- package/workflows/sync/remoteResetCursorScope.js.map +1 -0
- package/workflows/sync/remoteResetPlans.d.ts +26 -0
- package/workflows/sync/remoteResetPlans.js +227 -0
- package/workflows/sync/remoteResetPlans.js.map +1 -0
- package/workflows/sync/remoteResetPrincipalScope.d.ts +22 -0
- package/workflows/sync/remoteResetPrincipalScope.js +98 -0
- package/workflows/sync/remoteResetPrincipalScope.js.map +1 -0
- package/workflows/sync/remoteResetScope.d.ts +33 -0
- package/workflows/sync/remoteResetScope.js +121 -0
- package/workflows/sync/remoteResetScope.js.map +1 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type ContainerAccessManifestState, type GroupMetadataKey } from "../../internal/crypto/index.js";
|
|
2
|
+
import type { ContainerWriterProjectionResponse } from "../../internal/validators/response/index.js";
|
|
3
|
+
import type { ProjectionUserKeyResolver, ReferencedPrincipalPolicyWarmer } from "../../data/keyingProjectionVerification.js";
|
|
4
|
+
import type { ExecSql } from "../../data/sqlite/sqlSchema.js";
|
|
5
|
+
import type { GroupPolicyNameReader } from "./principalPolicyRequest.js";
|
|
6
|
+
export interface GroupMetadataAccessInput {
|
|
7
|
+
readonly apiClient: {
|
|
8
|
+
evictContainerWriterProjection(containerId: string): void;
|
|
9
|
+
getContainerWriterProjection(containerId: string): Promise<ContainerWriterProjectionResponse | null>;
|
|
10
|
+
};
|
|
11
|
+
readonly verifyMetadataContainer: (state: ContainerAccessManifestState) => Promise<void>;
|
|
12
|
+
readonly execSql: ExecSql;
|
|
13
|
+
readonly organizationId: string;
|
|
14
|
+
readonly resolveProjectionUserKey: ProjectionUserKeyResolver;
|
|
15
|
+
readonly targetSecretKey: Uint8Array;
|
|
16
|
+
readonly stillCurrent?: (() => boolean) | undefined;
|
|
17
|
+
readonly warmReferencedPrincipalPolicies?: ReferencedPrincipalPolicyWarmer | undefined;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A group's signed name does not open under the metadata key it cites, or opens
|
|
21
|
+
* to an invalid name. Every reader holding that key gets the same result. The
|
|
22
|
+
* API checks the citation but can never check the ciphertext, so a dishonest
|
|
23
|
+
* admin can sign such a name; directory walks isolate the group instead of
|
|
24
|
+
* failing every name in the organization.
|
|
25
|
+
*/
|
|
26
|
+
export declare class GroupMetadataUnreadableError extends Error {
|
|
27
|
+
constructor(groupId: string, cause: unknown);
|
|
28
|
+
}
|
|
29
|
+
/** Uses the shared metadata container's authenticated keyring, including old epochs. */
|
|
30
|
+
export declare function createGroupMetadataAccess(input: GroupMetadataAccessInput): {
|
|
31
|
+
readName: GroupPolicyNameReader;
|
|
32
|
+
loadEncryptionKey(): Promise<GroupMetadataKey>;
|
|
33
|
+
};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { decryptGroupMetadata, readGroupMetadata, } from "../../internal/crypto/index.js";
|
|
2
|
+
import { deriveOrganizationMetadataContainerSystemSlot } from "../../internal/validators/containerSystemSlot.js";
|
|
3
|
+
import { getTargetContainerContext, readContainerState, } from "../../data/containers/shared/projection.js";
|
|
4
|
+
import { unwrapContainerKekPath } from "../../data/documents/shared/containerKekPath.js";
|
|
5
|
+
import { assertProjectionVerificationCurrent } from "../../data/keyingProjectionVerification/types.js";
|
|
6
|
+
import { loadContainers } from "../../data/persistence/containers/containerPersistence.js";
|
|
7
|
+
import { withMetadataRootReload } from "./groupMetadataErrors.js";
|
|
8
|
+
/**
|
|
9
|
+
* A group's signed name does not open under the metadata key it cites, or opens
|
|
10
|
+
* to an invalid name. Every reader holding that key gets the same result. The
|
|
11
|
+
* API checks the citation but can never check the ciphertext, so a dishonest
|
|
12
|
+
* admin can sign such a name; directory walks isolate the group instead of
|
|
13
|
+
* failing every name in the organization.
|
|
14
|
+
*/
|
|
15
|
+
export class GroupMetadataUnreadableError extends Error {
|
|
16
|
+
constructor(groupId, cause) {
|
|
17
|
+
super(`Group ${groupId} metadata cannot be decrypted`, { cause });
|
|
18
|
+
this.name = "GroupMetadataUnreadableError";
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function loadMetadataKeyring(input, containerId) {
|
|
22
|
+
return withMetadataRootReload(() => loadMetadataKeyringOnce(input, containerId), () => input.apiClient.evictContainerWriterProjection(containerId));
|
|
23
|
+
}
|
|
24
|
+
async function loadMetadataKeyringOnce(input, containerId) {
|
|
25
|
+
const projection = await input.apiClient.getContainerWriterProjection(containerId);
|
|
26
|
+
if (!projection)
|
|
27
|
+
return null;
|
|
28
|
+
if (projection.containerId !== containerId ||
|
|
29
|
+
projection.organizationId !== input.organizationId)
|
|
30
|
+
throw new Error("Group metadata container is unavailable");
|
|
31
|
+
const target = getTargetContainerContext(projection);
|
|
32
|
+
const state = readContainerState(target.manifest);
|
|
33
|
+
const slot = await deriveOrganizationMetadataContainerSystemSlot({
|
|
34
|
+
organizationId: input.organizationId,
|
|
35
|
+
});
|
|
36
|
+
if (state.organizationId !== input.organizationId ||
|
|
37
|
+
state.systemSlot !== slot ||
|
|
38
|
+
state.parentContainerId !== null)
|
|
39
|
+
throw new Error("Group metadata requires the signed organization metadata container");
|
|
40
|
+
await input.verifyMetadataContainer(state);
|
|
41
|
+
assertProjectionVerificationCurrent(input.stillCurrent);
|
|
42
|
+
const keys = await unwrapContainerKekPath({
|
|
43
|
+
...input,
|
|
44
|
+
projection,
|
|
45
|
+
secretKey: input.targetSecretKey,
|
|
46
|
+
});
|
|
47
|
+
assertProjectionVerificationCurrent(input.stillCurrent);
|
|
48
|
+
const keyMaterial = keys.get(target.kek.containerKeyEpochId);
|
|
49
|
+
if (!keyMaterial)
|
|
50
|
+
throw new Error("Group metadata container key is unavailable");
|
|
51
|
+
return {
|
|
52
|
+
current: {
|
|
53
|
+
organizationId: input.organizationId,
|
|
54
|
+
containerId,
|
|
55
|
+
containerKeyEpochId: target.kek.containerKeyEpochId,
|
|
56
|
+
keyMaterial,
|
|
57
|
+
},
|
|
58
|
+
keys,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/** Uses the shared metadata container's authenticated keyring, including old epochs. */
|
|
62
|
+
export function createGroupMetadataAccess(input) {
|
|
63
|
+
const loads = new Map();
|
|
64
|
+
function loaded(containerId) {
|
|
65
|
+
let pending = loads.get(containerId);
|
|
66
|
+
if (!pending) {
|
|
67
|
+
pending = loadMetadataKeyring(input, containerId);
|
|
68
|
+
loads.set(containerId, pending);
|
|
69
|
+
}
|
|
70
|
+
return pending;
|
|
71
|
+
}
|
|
72
|
+
const readName = async (bundle) => {
|
|
73
|
+
assertProjectionVerificationCurrent(input.stillCurrent);
|
|
74
|
+
const metadata = readGroupMetadata(bundle.currentPayload.ciphertext);
|
|
75
|
+
if ("role" in metadata)
|
|
76
|
+
return metadata.role === "admins" ? "Admins" : "Members";
|
|
77
|
+
if (metadata.organizationId !== input.organizationId ||
|
|
78
|
+
metadata.groupId !== bundle.currentState.principalId ||
|
|
79
|
+
bundle.currentState.principalType !== "group")
|
|
80
|
+
throw new Error("Group metadata scope does not match its signed group");
|
|
81
|
+
const keyring = await loaded(metadata.containerId);
|
|
82
|
+
const keyMaterial = keyring?.keys.get(metadata.containerKeyEpochId);
|
|
83
|
+
if (!keyMaterial)
|
|
84
|
+
throw new Error("Group metadata historical key is unavailable");
|
|
85
|
+
try {
|
|
86
|
+
return await decryptGroupMetadata({
|
|
87
|
+
key: { ...metadata, keyMaterial },
|
|
88
|
+
groupId: bundle.currentState.principalId,
|
|
89
|
+
payload: bundle.currentPayload.ciphertext,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
catch (cause) {
|
|
93
|
+
throw new GroupMetadataUnreadableError(bundle.currentState.principalId, cause);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
return {
|
|
97
|
+
readName,
|
|
98
|
+
async loadEncryptionKey() {
|
|
99
|
+
const slot = await deriveOrganizationMetadataContainerSystemSlot({
|
|
100
|
+
organizationId: input.organizationId,
|
|
101
|
+
});
|
|
102
|
+
const containers = await loadContainers(input.execSql);
|
|
103
|
+
const container = containers.find((row) => row.organizationId === input.organizationId &&
|
|
104
|
+
row.systemSlot === slot);
|
|
105
|
+
if (!container)
|
|
106
|
+
throw new Error("Organization metadata container has not been discovered");
|
|
107
|
+
const keyring = await loaded(container.id);
|
|
108
|
+
if (!keyring)
|
|
109
|
+
throw new Error("Group metadata container is unavailable");
|
|
110
|
+
return keyring.current;
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=groupMetadataAccess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupMetadataAccess.js","sourceRoot":"","sources":["groupMetadataAccess.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type ContainerAccessManifestState,\n decryptGroupMetadata,\n type GroupMetadataKey,\n readGroupMetadata,\n} from \"@tearleads/crypto\";\nimport { deriveOrganizationMetadataContainerSystemSlot } from \"@tearleads/validators/containerSystemSlot\";\nimport type { ContainerWriterProjectionResponse } from \"@tearleads/validators/response\";\nimport {\n getTargetContainerContext,\n readContainerState,\n} from \"../../data/containers/shared/projection\";\nimport { unwrapContainerKekPath } from \"../../data/documents/shared/containerKekPath\";\nimport type {\n ProjectionUserKeyResolver,\n ReferencedPrincipalPolicyWarmer,\n} from \"../../data/keyingProjectionVerification\";\nimport { assertProjectionVerificationCurrent } from \"../../data/keyingProjectionVerification/types\";\nimport { loadContainers } from \"../../data/persistence/containers/containerPersistence\";\nimport type { ExecSql } from \"../../data/sqlite/sqlSchema\";\nimport { withMetadataRootReload } from \"./groupMetadataErrors\";\nimport type { GroupPolicyNameReader } from \"./principalPolicyRequest\";\n\nexport interface GroupMetadataAccessInput {\n readonly apiClient: {\n evictContainerWriterProjection(containerId: string): void;\n getContainerWriterProjection(\n containerId: string,\n ): Promise<ContainerWriterProjectionResponse | null>;\n };\n readonly verifyMetadataContainer: (\n state: ContainerAccessManifestState,\n ) => Promise<void>;\n readonly execSql: ExecSql;\n readonly organizationId: string;\n readonly resolveProjectionUserKey: ProjectionUserKeyResolver;\n readonly targetSecretKey: Uint8Array;\n readonly stillCurrent?: (() => boolean) | undefined;\n readonly warmReferencedPrincipalPolicies?:\n | ReferencedPrincipalPolicyWarmer\n | undefined;\n}\n\n/**\n * A group's signed name does not open under the metadata key it cites, or opens\n * to an invalid name. Every reader holding that key gets the same result. The\n * API checks the citation but can never check the ciphertext, so a dishonest\n * admin can sign such a name; directory walks isolate the group instead of\n * failing every name in the organization.\n */\nexport class GroupMetadataUnreadableError extends Error {\n constructor(groupId: string, cause: unknown) {\n super(`Group ${groupId} metadata cannot be decrypted`, { cause });\n this.name = \"GroupMetadataUnreadableError\";\n }\n}\n\nfunction loadMetadataKeyring(\n input: GroupMetadataAccessInput,\n containerId: string,\n) {\n return withMetadataRootReload(\n () => loadMetadataKeyringOnce(input, containerId),\n () => input.apiClient.evictContainerWriterProjection(containerId),\n );\n}\n\nasync function loadMetadataKeyringOnce(\n input: GroupMetadataAccessInput,\n containerId: string,\n) {\n const projection =\n await input.apiClient.getContainerWriterProjection(containerId);\n if (!projection) return null;\n if (\n projection.containerId !== containerId ||\n projection.organizationId !== input.organizationId\n )\n throw new Error(\"Group metadata container is unavailable\");\n const target = getTargetContainerContext(projection);\n const state = readContainerState(target.manifest);\n const slot = await deriveOrganizationMetadataContainerSystemSlot({\n organizationId: input.organizationId,\n });\n if (\n state.organizationId !== input.organizationId ||\n state.systemSlot !== slot ||\n state.parentContainerId !== null\n )\n throw new Error(\n \"Group metadata requires the signed organization metadata container\",\n );\n await input.verifyMetadataContainer(state);\n assertProjectionVerificationCurrent(input.stillCurrent);\n const keys = await unwrapContainerKekPath({\n ...input,\n projection,\n secretKey: input.targetSecretKey,\n });\n assertProjectionVerificationCurrent(input.stillCurrent);\n const keyMaterial = keys.get(target.kek.containerKeyEpochId);\n if (!keyMaterial)\n throw new Error(\"Group metadata container key is unavailable\");\n return {\n current: {\n organizationId: input.organizationId,\n containerId,\n containerKeyEpochId: target.kek.containerKeyEpochId,\n keyMaterial,\n },\n keys,\n };\n}\n\n/** Uses the shared metadata container's authenticated keyring, including old epochs. */\nexport function createGroupMetadataAccess(input: GroupMetadataAccessInput) {\n const loads = new Map<\n string,\n Promise<{\n current: GroupMetadataKey;\n keys: ReadonlyMap<string, Uint8Array>;\n } | null>\n >();\n function loaded(containerId: string) {\n let pending = loads.get(containerId);\n if (!pending) {\n pending = loadMetadataKeyring(input, containerId);\n loads.set(containerId, pending);\n }\n return pending;\n }\n const readName: GroupPolicyNameReader = async (bundle) => {\n assertProjectionVerificationCurrent(input.stillCurrent);\n const metadata = readGroupMetadata(bundle.currentPayload.ciphertext);\n if (\"role\" in metadata)\n return metadata.role === \"admins\" ? \"Admins\" : \"Members\";\n if (\n metadata.organizationId !== input.organizationId ||\n metadata.groupId !== bundle.currentState.principalId ||\n bundle.currentState.principalType !== \"group\"\n )\n throw new Error(\"Group metadata scope does not match its signed group\");\n const keyring = await loaded(metadata.containerId);\n const keyMaterial = keyring?.keys.get(metadata.containerKeyEpochId);\n if (!keyMaterial)\n throw new Error(\"Group metadata historical key is unavailable\");\n try {\n return await decryptGroupMetadata({\n key: { ...metadata, keyMaterial },\n groupId: bundle.currentState.principalId,\n payload: bundle.currentPayload.ciphertext,\n });\n } catch (cause) {\n throw new GroupMetadataUnreadableError(\n bundle.currentState.principalId,\n cause,\n );\n }\n };\n return {\n readName,\n async loadEncryptionKey(): Promise<GroupMetadataKey> {\n const slot = await deriveOrganizationMetadataContainerSystemSlot({\n organizationId: input.organizationId,\n });\n const containers = await loadContainers(input.execSql);\n const container = containers.find(\n (row) =>\n row.organizationId === input.organizationId &&\n row.systemSlot === slot,\n );\n if (!container)\n throw new Error(\n \"Organization metadata container has not been discovered\",\n );\n const keyring = await loaded(container.id);\n if (!keyring) throw new Error(\"Group metadata container is unavailable\");\n return keyring.current;\n },\n };\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { readGroupMetadata } from "../../internal/crypto/index.js";
|
|
2
|
+
/** Built-in labels derive from the role assigned by the signed organization. */
|
|
3
|
+
export function assertGroupMetadataBinding(bundle, descriptor) {
|
|
4
|
+
const groupId = bundle.currentState.principalId;
|
|
5
|
+
const metadata = readGroupMetadata(bundle.currentPayload.ciphertext);
|
|
6
|
+
const expectedRole = groupId === descriptor.adminGroupId
|
|
7
|
+
? "admins"
|
|
8
|
+
: groupId === descriptor.memberGroupId
|
|
9
|
+
? "members"
|
|
10
|
+
: null;
|
|
11
|
+
if ("role" in metadata
|
|
12
|
+
? metadata.role !== expectedRole
|
|
13
|
+
: expectedRole !== null ||
|
|
14
|
+
metadata.organizationId !== descriptor.organizationId ||
|
|
15
|
+
metadata.groupId !== groupId) {
|
|
16
|
+
throw new Error("Group metadata does not match the signed organization directory");
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=groupMetadataBinding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupMetadataBinding.js","sourceRoot":"","sources":["groupMetadataBinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAItD,gFAAgF;AAChF,MAAM,UAAU,0BAA0B,CACxC,MAAqC,EACrC,UAA2C;IAE3C,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC;IAChD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACrE,MAAM,YAAY,GAChB,OAAO,KAAK,UAAU,CAAC,YAAY;QACjC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,aAAa;YACpC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC;IACb,IACE,MAAM,IAAI,QAAQ;QAChB,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;QAChC,CAAC,CAAC,YAAY,KAAK,IAAI;YACrB,QAAQ,CAAC,cAAc,KAAK,UAAU,CAAC,cAAc;YACrD,QAAQ,CAAC,OAAO,KAAK,OAAO,EAChC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { readGroupMetadata } from \"@tearleads/crypto\";\nimport type { PrincipalPolicyBundleResponse } from \"@tearleads/validators/response\";\nimport type { OrganizationAuthorityDescriptor } from \"../../data/principals/organizationAuthorityDescriptor\";\n\n/** Built-in labels derive from the role assigned by the signed organization. */\nexport function assertGroupMetadataBinding(\n bundle: PrincipalPolicyBundleResponse,\n descriptor: OrganizationAuthorityDescriptor,\n): void {\n const groupId = bundle.currentState.principalId;\n const metadata = readGroupMetadata(bundle.currentPayload.ciphertext);\n const expectedRole =\n groupId === descriptor.adminGroupId\n ? \"admins\"\n : groupId === descriptor.memberGroupId\n ? \"members\"\n : null;\n if (\n \"role\" in metadata\n ? metadata.role !== expectedRole\n : expectedRole !== null ||\n metadata.organizationId !== descriptor.organizationId ||\n metadata.groupId !== groupId\n ) {\n throw new Error(\n \"Group metadata does not match the signed organization directory\",\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { KeyingVerificationError, } from "../../internal/crypto/index.js";
|
|
2
|
+
import { assertProjectionVerificationCurrent } from "../../data/keyingProjectionVerification/types.js";
|
|
3
|
+
import { loadPrincipalPolicyBundle } from "../../data/persistence/principalPolicyPersistence.js";
|
|
4
|
+
import { previousStatesIncludeHead, principalHeadMatchesReference, requireOrganizationGroupHead, } from "../../data/principals/organizationAuthorityDescriptor.js";
|
|
5
|
+
import { principalPolicyReferenceFromBundle } from "../../data/principals/principalPolicyAdminSigners.js";
|
|
6
|
+
import { MetadataRootBehindDirectoryError } from "./groupMetadataErrors.js";
|
|
7
|
+
import { verifyDirectoryGroup } from "./groupNameUniqueness.js";
|
|
8
|
+
import { loadGroupNameDirectoryAuthority } from "./organizationGroupNamePolicies.js";
|
|
9
|
+
/** A public system slot alone cannot bind a self-authorized root to an organization. */
|
|
10
|
+
export function createGroupMetadataContainerVerifier(input) {
|
|
11
|
+
return async (state) => {
|
|
12
|
+
assertProjectionVerificationCurrent(input.stillCurrent);
|
|
13
|
+
const cached = await loadPrincipalPolicyBundle(input.execSql, "organization", input.organizationId);
|
|
14
|
+
let authority = await loadGroupNameDirectoryAuthority({
|
|
15
|
+
...input,
|
|
16
|
+
organizationPolicyReference: cached
|
|
17
|
+
? principalPolicyReferenceFromBundle(cached)
|
|
18
|
+
: null,
|
|
19
|
+
});
|
|
20
|
+
if (cached &&
|
|
21
|
+
authority &&
|
|
22
|
+
state.referencedPrincipalHeads.some((head) => !authority?.descriptor.groupHeads.some((known) => principalHeadMatchesReference(head, known)))) {
|
|
23
|
+
authority = await loadGroupNameDirectoryAuthority(input);
|
|
24
|
+
}
|
|
25
|
+
if (!authority)
|
|
26
|
+
throw new Error("Organization metadata authority is unavailable");
|
|
27
|
+
const memberHead = requireOrganizationGroupHead(authority.descriptor, authority.memberGroupId);
|
|
28
|
+
const members = await verifyDirectoryGroup({
|
|
29
|
+
...input,
|
|
30
|
+
descriptor: authority.descriptor,
|
|
31
|
+
externalAuthority: authority.externalAuthority,
|
|
32
|
+
}, memberHead);
|
|
33
|
+
assertMetadataRootBinding({
|
|
34
|
+
authority,
|
|
35
|
+
members,
|
|
36
|
+
organizationId: input.organizationId,
|
|
37
|
+
state,
|
|
38
|
+
});
|
|
39
|
+
assertProjectionVerificationCurrent(input.stillCurrent);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function assertMetadataRootBinding(input) {
|
|
43
|
+
const { authority, state } = input;
|
|
44
|
+
const expected = [
|
|
45
|
+
{
|
|
46
|
+
bundle: authority.adminBundle,
|
|
47
|
+
id: authority.adminGroupId,
|
|
48
|
+
level: "admin",
|
|
49
|
+
grants: authority.adminPolicy.grants,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
bundle: input.members.bundle,
|
|
53
|
+
id: authority.memberGroupId,
|
|
54
|
+
level: "read",
|
|
55
|
+
grants: input.members.policy.grants,
|
|
56
|
+
},
|
|
57
|
+
];
|
|
58
|
+
const cited = (groupId) => state.referencedPrincipalHeads.find((head) => head.principalType === "group" && head.principalId === groupId);
|
|
59
|
+
const unbound = new KeyingVerificationError("object_mismatch", "Organization metadata root is not bound to the reserved group grants");
|
|
60
|
+
if (state.organizationId !== input.organizationId ||
|
|
61
|
+
state.parentContainerId !== null ||
|
|
62
|
+
state.directGrants.length !== 2 ||
|
|
63
|
+
state.referencedPrincipalHeads.length !== 2 ||
|
|
64
|
+
expected.some((role) => !role.grants.some((grant) => grant.containerId === state.containerId &&
|
|
65
|
+
grant.accessLevel === role.level) ||
|
|
66
|
+
!state.directGrants.some((grant) => grant.subjectType === "group" &&
|
|
67
|
+
grant.subjectId === role.id &&
|
|
68
|
+
grant.accessLevel === role.level) ||
|
|
69
|
+
!cited(role.id)))
|
|
70
|
+
throw unbound;
|
|
71
|
+
const superseded = expected.flatMap((role) => {
|
|
72
|
+
const head = cited(role.id);
|
|
73
|
+
return head &&
|
|
74
|
+
!principalHeadMatchesReference(head, requireOrganizationGroupHead(authority.descriptor, role.id))
|
|
75
|
+
? [{ bundle: role.bundle, head }]
|
|
76
|
+
: [];
|
|
77
|
+
});
|
|
78
|
+
if (superseded.length === 0)
|
|
79
|
+
return;
|
|
80
|
+
// A root read before a reserved-group commit cites a verified predecessor
|
|
81
|
+
// of the directory's head; any other head is not an honest race.
|
|
82
|
+
if (superseded.every(({ bundle, head }) => previousStatesIncludeHead(bundle, head)))
|
|
83
|
+
throw new MetadataRootBehindDirectoryError();
|
|
84
|
+
throw unbound;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=groupMetadataContainerAuthority.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupMetadataContainerAuthority.js","sourceRoot":"","sources":["groupMetadataContainerAuthority.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type ContainerAccessManifestState,\n KeyingVerificationError,\n} from \"@tearleads/crypto\";\nimport { assertProjectionVerificationCurrent } from \"../../data/keyingProjectionVerification/types\";\nimport { loadPrincipalPolicyBundle } from \"../../data/persistence/principalPolicyPersistence\";\nimport {\n previousStatesIncludeHead,\n principalHeadMatchesReference,\n requireOrganizationGroupHead,\n} from \"../../data/principals/organizationAuthorityDescriptor\";\nimport { principalPolicyReferenceFromBundle } from \"../../data/principals/principalPolicyAdminSigners\";\nimport type { SecurityIncidentReporter } from \"../../data/securityIncidents\";\nimport { MetadataRootBehindDirectoryError } from \"./groupMetadataErrors\";\nimport { verifyDirectoryGroup } from \"./groupNameUniqueness\";\nimport { loadGroupNameDirectoryAuthority } from \"./organizationGroupNamePolicies\";\n\ntype Input = Omit<\n Parameters<typeof loadGroupNameDirectoryAuthority>[0],\n \"organizationPolicyReference\"\n> & { readonly reportSecurityIncident: SecurityIncidentReporter };\n\n/** A public system slot alone cannot bind a self-authorized root to an organization. */\nexport function createGroupMetadataContainerVerifier(input: Input) {\n return async (state: ContainerAccessManifestState): Promise<void> => {\n assertProjectionVerificationCurrent(input.stillCurrent);\n const cached = await loadPrincipalPolicyBundle(\n input.execSql,\n \"organization\",\n input.organizationId,\n );\n let authority = await loadGroupNameDirectoryAuthority({\n ...input,\n organizationPolicyReference: cached\n ? principalPolicyReferenceFromBundle(cached)\n : null,\n });\n if (\n cached &&\n authority &&\n state.referencedPrincipalHeads.some(\n (head) =>\n !authority?.descriptor.groupHeads.some((known) =>\n principalHeadMatchesReference(head, known),\n ),\n )\n ) {\n authority = await loadGroupNameDirectoryAuthority(input);\n }\n if (!authority)\n throw new Error(\"Organization metadata authority is unavailable\");\n const memberHead = requireOrganizationGroupHead(\n authority.descriptor,\n authority.memberGroupId,\n );\n const members = await verifyDirectoryGroup(\n {\n ...input,\n descriptor: authority.descriptor,\n externalAuthority: authority.externalAuthority,\n },\n memberHead,\n );\n assertMetadataRootBinding({\n authority,\n members,\n organizationId: input.organizationId,\n state,\n });\n assertProjectionVerificationCurrent(input.stillCurrent);\n };\n}\n\ntype DirectoryAuthority = NonNullable<\n Awaited<ReturnType<typeof loadGroupNameDirectoryAuthority>>\n>;\n\nfunction assertMetadataRootBinding(input: {\n readonly authority: DirectoryAuthority;\n readonly members: Awaited<ReturnType<typeof verifyDirectoryGroup>>;\n readonly organizationId: string;\n readonly state: ContainerAccessManifestState;\n}): void {\n const { authority, state } = input;\n const expected = [\n {\n bundle: authority.adminBundle,\n id: authority.adminGroupId,\n level: \"admin\",\n grants: authority.adminPolicy.grants,\n },\n {\n bundle: input.members.bundle,\n id: authority.memberGroupId,\n level: \"read\",\n grants: input.members.policy.grants,\n },\n ];\n const cited = (groupId: string) =>\n state.referencedPrincipalHeads.find(\n (head) => head.principalType === \"group\" && head.principalId === groupId,\n );\n const unbound = new KeyingVerificationError(\n \"object_mismatch\",\n \"Organization metadata root is not bound to the reserved group grants\",\n );\n if (\n state.organizationId !== input.organizationId ||\n state.parentContainerId !== null ||\n state.directGrants.length !== 2 ||\n state.referencedPrincipalHeads.length !== 2 ||\n expected.some(\n (role) =>\n !role.grants.some(\n (grant) =>\n grant.containerId === state.containerId &&\n grant.accessLevel === role.level,\n ) ||\n !state.directGrants.some(\n (grant) =>\n grant.subjectType === \"group\" &&\n grant.subjectId === role.id &&\n grant.accessLevel === role.level,\n ) ||\n !cited(role.id),\n )\n )\n throw unbound;\n const superseded = expected.flatMap((role) => {\n const head = cited(role.id);\n return head &&\n !principalHeadMatchesReference(\n head,\n requireOrganizationGroupHead(authority.descriptor, role.id),\n )\n ? [{ bundle: role.bundle, head }]\n : [];\n });\n if (superseded.length === 0) return;\n // A root read before a reserved-group commit cites a verified predecessor\n // of the directory's head; any other head is not an honest race.\n if (\n superseded.every(({ bundle, head }) =>\n previousStatesIncludeHead(bundle, head),\n )\n )\n throw new MetadataRootBehindDirectoryError();\n throw unbound;\n}\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { KeyingVerificationError } from "../../internal/crypto/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* The organization metadata root was read before a reserved-group commit that
|
|
4
|
+
* the signed directory already reflects: each head it cites that differs from
|
|
5
|
+
* the directory is a verified predecessor of the directory's head. That is an
|
|
6
|
+
* honest read race, so readers reload the root rather than report tampering
|
|
7
|
+
* (#2365 finding 22).
|
|
8
|
+
*/
|
|
9
|
+
export class MetadataRootBehindDirectoryError extends Error {
|
|
10
|
+
constructor() {
|
|
11
|
+
super("Organization metadata root cites a superseded reserved-group head");
|
|
12
|
+
this.name = "MetadataRootBehindDirectoryError";
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Runs `load`, then once more after `evictRoot` if the root it read was
|
|
17
|
+
* behind; `reread` tells `load` to skip any root it was handed. Honest servers
|
|
18
|
+
* re-cite the reserved groups in the commit that advances them, so a root
|
|
19
|
+
* still behind after a fresh read is an incident.
|
|
20
|
+
*/
|
|
21
|
+
export async function withMetadataRootReload(load, evictRoot) {
|
|
22
|
+
try {
|
|
23
|
+
return await load(false);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
if (!(error instanceof MetadataRootBehindDirectoryError))
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
evictRoot();
|
|
30
|
+
try {
|
|
31
|
+
return await load(true);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
if (error instanceof MetadataRootBehindDirectoryError) {
|
|
35
|
+
throw new KeyingVerificationError("object_mismatch", "Organization metadata root is still behind the signed directory after a reload");
|
|
36
|
+
}
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=groupMetadataErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupMetadataErrors.js","sourceRoot":"","sources":["groupMetadataErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,OAAO,gCAAiC,SAAQ,KAAK;IACzD;QACE,KAAK,CAAC,mEAAmE,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAA0C,EAC1C,SAAqB;IAErB,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,gCAAgC,CAAC;YAAE,MAAM,KAAK,CAAC;IACxE,CAAC;IACD,SAAS,EAAE,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,gCAAgC,EAAE,CAAC;YACtD,MAAM,IAAI,uBAAuB,CAC/B,iBAAiB,EACjB,gFAAgF,CACjF,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["import { KeyingVerificationError } from \"@tearleads/crypto\";\n\n/**\n * The organization metadata root was read before a reserved-group commit that\n * the signed directory already reflects: each head it cites that differs from\n * the directory is a verified predecessor of the directory's head. That is an\n * honest read race, so readers reload the root rather than report tampering\n * (#2365 finding 22).\n */\nexport class MetadataRootBehindDirectoryError extends Error {\n constructor() {\n super(\"Organization metadata root cites a superseded reserved-group head\");\n this.name = \"MetadataRootBehindDirectoryError\";\n }\n}\n\n/**\n * Runs `load`, then once more after `evictRoot` if the root it read was\n * behind; `reread` tells `load` to skip any root it was handed. Honest servers\n * re-cite the reserved groups in the commit that advances them, so a root\n * still behind after a fresh read is an incident.\n */\nexport async function withMetadataRootReload<Result>(\n load: (reread: boolean) => Promise<Result>,\n evictRoot: () => void,\n): Promise<Result> {\n try {\n return await load(false);\n } catch (error) {\n if (!(error instanceof MetadataRootBehindDirectoryError)) throw error;\n }\n evictRoot();\n try {\n return await load(true);\n } catch (error) {\n if (error instanceof MetadataRootBehindDirectoryError) {\n throw new KeyingVerificationError(\n \"object_mismatch\",\n \"Organization metadata root is still behind the signed directory after a reload\",\n );\n }\n throw error;\n }\n}\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createProjectionUserKeyResolver } from "../../data/keyingProjectionVerification/userKeyResolver.js";
|
|
2
|
+
import { createRuntimePrincipalPolicyWarmer } from "../principals/runtimePolicyWarmer.js";
|
|
3
|
+
import { createGroupMetadataAccess, } from "./groupMetadataAccess.js";
|
|
4
|
+
import { createGroupMetadataContainerVerifier } from "./groupMetadataContainerAuthority.js";
|
|
5
|
+
export function createRuntimeGroupMetadataAccess(runtime, organizationId, stillCurrent) {
|
|
6
|
+
const targetSecretKey = runtime.crypto.encapsulationKeyPair?.secretKey;
|
|
7
|
+
if (!targetSecretKey)
|
|
8
|
+
throw new Error("Group metadata identity is locked");
|
|
9
|
+
const warmer = createRuntimePrincipalPolicyWarmer(runtime);
|
|
10
|
+
return createGroupMetadataAccess({
|
|
11
|
+
verifyMetadataContainer: createGroupMetadataContainerVerifier({
|
|
12
|
+
apiClient: runtime.apiClient,
|
|
13
|
+
execSql: runtime.infra.execSql,
|
|
14
|
+
organizationId,
|
|
15
|
+
reportSecurityIncident: runtime.util.reportSecurityIncident,
|
|
16
|
+
resolveTrustedUserIdentity: runtime.resolveTrustedUserIdentity,
|
|
17
|
+
stillCurrent: stillCurrent ?? (() => true),
|
|
18
|
+
}),
|
|
19
|
+
apiClient: runtime.apiClient,
|
|
20
|
+
execSql: runtime.infra.execSql,
|
|
21
|
+
organizationId,
|
|
22
|
+
resolveProjectionUserKey: createProjectionUserKeyResolver(runtime),
|
|
23
|
+
targetSecretKey,
|
|
24
|
+
stillCurrent,
|
|
25
|
+
warmReferencedPrincipalPolicies: warmer,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=groupMetadataRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupMetadataRuntime.js","sourceRoot":"","sources":["groupMetadataRuntime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yDAAyD,CAAC;AAI1G,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EACL,yBAAyB,GAE1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oCAAoC,EAAE,MAAM,mCAAmC,CAAC;AAiBzF,MAAM,UAAU,gCAAgC,CAC9C,OAA6B,EAC7B,cAAsB,EACtB,YAA4B;IAE5B,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,SAAS,CAAC;IACvE,IAAI,CAAC,eAAe;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,kCAAkC,CAAC,OAAO,CAAC,CAAC;IAC3D,OAAO,yBAAyB,CAAC;QAC/B,uBAAuB,EAAE,oCAAoC,CAAC;YAC5D,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;YAC9B,cAAc;YACd,sBAAsB,EAAE,OAAO,CAAC,IAAI,CAAC,sBAAsB;YAC3D,0BAA0B,EAAE,OAAO,CAAC,0BAA0B;YAC9D,YAAY,EAAE,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAC3C,CAAC;QACF,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;QAC9B,cAAc;QACd,wBAAwB,EAAE,+BAA+B,CAAC,OAAO,CAAC;QAClE,eAAe;QACf,YAAY;QACZ,+BAA+B,EAAE,MAAM;KACxC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { EncapsulationKeyPair } from \"@tearleads/crypto\";\nimport { createProjectionUserKeyResolver } from \"../../data/keyingProjectionVerification/userKeyResolver\";\nimport type { SecurityIncidentReporter } from \"../../data/securityIncidents\";\nimport type { ExecSql } from \"../../data/sqlite/sqlSchema\";\nimport type { TrustedUserIdentityResolver } from \"../../data/trustedUserIdentity\";\nimport { createRuntimePrincipalPolicyWarmer } from \"../principals/runtimePolicyWarmer\";\nimport {\n createGroupMetadataAccess,\n type GroupMetadataAccessInput,\n} from \"./groupMetadataAccess\";\nimport { createGroupMetadataContainerVerifier } from \"./groupMetadataContainerAuthority\";\nimport type { PrincipalPolicyReadApi } from \"./groupPolicyMutationContext\";\n\ninterface GroupMetadataRuntime {\n readonly apiClient: GroupMetadataAccessInput[\"apiClient\"] &\n PrincipalPolicyReadApi;\n readonly crypto: {\n readonly encapsulationKeyPair: EncapsulationKeyPair | null;\n };\n readonly infra: { readonly execSql: ExecSql };\n readonly resolveTrustedUserIdentity: TrustedUserIdentityResolver;\n readonly util: {\n readonly log: (message: string) => void;\n readonly reportSecurityIncident: SecurityIncidentReporter;\n };\n}\n\nexport function createRuntimeGroupMetadataAccess(\n runtime: GroupMetadataRuntime,\n organizationId: string,\n stillCurrent?: () => boolean,\n) {\n const targetSecretKey = runtime.crypto.encapsulationKeyPair?.secretKey;\n if (!targetSecretKey) throw new Error(\"Group metadata identity is locked\");\n const warmer = createRuntimePrincipalPolicyWarmer(runtime);\n return createGroupMetadataAccess({\n verifyMetadataContainer: createGroupMetadataContainerVerifier({\n apiClient: runtime.apiClient,\n execSql: runtime.infra.execSql,\n organizationId,\n reportSecurityIncident: runtime.util.reportSecurityIncident,\n resolveTrustedUserIdentity: runtime.resolveTrustedUserIdentity,\n stillCurrent: stillCurrent ?? (() => true),\n }),\n apiClient: runtime.apiClient,\n execSql: runtime.infra.execSql,\n organizationId,\n resolveProjectionUserKey: createProjectionUserKeyResolver(runtime),\n targetSecretKey,\n stillCurrent,\n warmReferencedPrincipalPolicies: warmer,\n });\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function isDirectGroupAdmin(policy, userId) {
|
|
2
|
+
return policy.currentProjection.some((member) => member.userId === userId && member.role === "admin");
|
|
3
|
+
}
|
|
4
|
+
export function requireSignerCanManageGroup(policy, organizationAdminUserIds, signerUserId) {
|
|
5
|
+
if (!organizationAdminUserIds.includes(signerUserId) &&
|
|
6
|
+
!isDirectGroupAdmin(policy, signerUserId)) {
|
|
7
|
+
throw new Error("Group admin membership is required");
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=groupMutationAuthorization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupMutationAuthorization.js","sourceRoot":"","sources":["groupMutationAuthorization.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAChC,MAAqC,EACrC,MAAc;IAEd,OAAO,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAClC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAChE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,MAAqC,EACrC,wBAA2C,EAC3C,YAAoB;IAEpB,IACE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,YAAY,CAAC;QAChD,CAAC,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,EACzC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC","sourcesContent":["import type { PrincipalPolicyBundleResponse } from \"@tearleads/validators/response\";\n\nexport function isDirectGroupAdmin(\n policy: PrincipalPolicyBundleResponse,\n userId: string,\n): boolean {\n return policy.currentProjection.some(\n (member) => member.userId === userId && member.role === \"admin\",\n );\n}\n\nexport function requireSignerCanManageGroup(\n policy: PrincipalPolicyBundleResponse,\n organizationAdminUserIds: readonly string[],\n signerUserId: string,\n): void {\n if (\n !organizationAdminUserIds.includes(signerUserId) &&\n !isDirectGroupAdmin(policy, signerUserId)\n ) {\n throw new Error(\"Group admin membership is required\");\n }\n}\n"]}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { KeyingVerificationError, } from "../../internal/crypto/index.js";
|
|
2
|
+
import { throwKeyingVerificationErrorWithContext } from "../../data/keyingProjectionVerification/error.js";
|
|
3
|
+
import { loadPrincipalPolicyCheckpoint } from "../../data/persistence/keyingCheckpointPersistence.js";
|
|
4
|
+
import { loadPrincipalPolicyBundleForReference } from "../../data/persistence/principalPolicyReferencePersistence.js";
|
|
5
|
+
import { retainVerifiedPrincipalPolicyBundle } from "../../data/persistence/verifiedPrincipalPolicyRetentionPersistence.js";
|
|
6
|
+
import { principalHeadMatchesReference, } from "../../data/principals/organizationAuthorityDescriptor.js";
|
|
7
|
+
import { principalPolicyReferenceFromBundle, verifyPrincipalPolicyBundleWithExternalOrganizationAdmins, } from "../../data/principals/principalPolicyAdminSigners.js";
|
|
8
|
+
import { collectPrincipalPolicySignerPublicKeys } from "../principals/policyVerification.js";
|
|
9
|
+
import { GroupMetadataUnreadableError } from "./groupMetadataAccess.js";
|
|
10
|
+
import { assertGroupMetadataBinding } from "./groupMetadataBinding.js";
|
|
11
|
+
import { canonicalGroupNameKey, readGroupPolicyPayloadName, } from "./principalPolicyRequest.js";
|
|
12
|
+
/**
|
|
13
|
+
* Loads one directory group at its committed head: from the local retained
|
|
14
|
+
* bundles when they already hold that head, and from the API otherwise.
|
|
15
|
+
*/
|
|
16
|
+
async function loadDirectoryGroupBundle(input, head) {
|
|
17
|
+
const localCheckpoint = await loadPrincipalPolicyCheckpoint(input.execSql, "group", head.principalId);
|
|
18
|
+
const cached = await loadPrincipalPolicyBundleForReference(input.execSql, head, localCheckpoint);
|
|
19
|
+
const bundle = cached ??
|
|
20
|
+
(await input.apiClient.getCurrentPrincipalPolicy("group", head.principalId));
|
|
21
|
+
if (!bundle) {
|
|
22
|
+
throw new Error(`Organization directory group ${head.principalId} could not be loaded`);
|
|
23
|
+
}
|
|
24
|
+
if (!principalHeadMatchesReference(principalPolicyReferenceFromBundle(bundle), head)) {
|
|
25
|
+
// Head drift is reachable by a concurrent admin mutation, so it is a
|
|
26
|
+
// plain error to retry on, not an incident (as in the share path). The
|
|
27
|
+
// typed errors stay for signature and projection failures.
|
|
28
|
+
throw new Error("Organization directory group policy does not match the signed organization directory");
|
|
29
|
+
}
|
|
30
|
+
return { bundle, localCheckpoint };
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A bundle served from local retention was verified when it was retained, and
|
|
34
|
+
* is verified again here on purpose: the re-check costs local CPU only, and it
|
|
35
|
+
* keeps the name a group vouches for independent of what any earlier caller
|
|
36
|
+
* trusted at retention time.
|
|
37
|
+
*/
|
|
38
|
+
export async function verifyDirectoryGroup(input, head) {
|
|
39
|
+
const { bundle, localCheckpoint } = await loadDirectoryGroupBundle(input, head);
|
|
40
|
+
const signerPublicKeys = await collectPrincipalPolicySignerPublicKeys({
|
|
41
|
+
bundle,
|
|
42
|
+
resolveTrustedUserIdentity: input.resolveTrustedUserIdentity,
|
|
43
|
+
});
|
|
44
|
+
if ("error" in signerPublicKeys) {
|
|
45
|
+
throw new Error(`Organization directory group signer key could not be loaded (${signerPublicKeys.error})`);
|
|
46
|
+
}
|
|
47
|
+
const verified = await verifyPrincipalPolicyBundleWithExternalOrganizationAdmins({
|
|
48
|
+
bundle,
|
|
49
|
+
expectedReference: head,
|
|
50
|
+
loadExternalAuthority: async () => input.externalAuthority,
|
|
51
|
+
localCheckpoint,
|
|
52
|
+
signerPublicKeys: signerPublicKeys.signerPublicKeys,
|
|
53
|
+
});
|
|
54
|
+
if (!verified.ok) {
|
|
55
|
+
throwKeyingVerificationErrorWithContext(verified.error, "Organization directory group verification failed");
|
|
56
|
+
}
|
|
57
|
+
assertGroupMetadataBinding(bundle, input.descriptor);
|
|
58
|
+
const name = await readDirectoryGroupName(input, bundle);
|
|
59
|
+
return {
|
|
60
|
+
bundle,
|
|
61
|
+
name,
|
|
62
|
+
nameKey: name === null ? null : canonicalGroupNameKey(name),
|
|
63
|
+
policy: verified.value,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* A verified group whose name no member can open has no name to select by. The
|
|
68
|
+
* walk isolates it rather than failing every name in the organization, but it
|
|
69
|
+
* still records the incident: only a dishonest admin signs such a name.
|
|
70
|
+
*/
|
|
71
|
+
async function readDirectoryGroupName(input, bundle) {
|
|
72
|
+
try {
|
|
73
|
+
return await readGroupPolicyPayloadName(bundle, input.readEncryptedName);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
if (!(error instanceof GroupMetadataUnreadableError))
|
|
77
|
+
throw error;
|
|
78
|
+
await input.reportSecurityIncident(new KeyingVerificationError("invalid_shape", "Signed group name does not open under the cited metadata key"), {
|
|
79
|
+
evidenceHashes: { stateHash: bundle.currentState.stateHash },
|
|
80
|
+
objectId: bundle.currentState.principalId,
|
|
81
|
+
objectKind: "principal",
|
|
82
|
+
operation: "organization.groupName",
|
|
83
|
+
organizationId: input.organizationId,
|
|
84
|
+
});
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Signed group names are the only authenticated label a member can choose a
|
|
90
|
+
* group by, and the API does not make them unique within an organization. So
|
|
91
|
+
* uniqueness is enforced here, where a name enters: before an admin signs a
|
|
92
|
+
* new group, every group committed in the signed organization directory
|
|
93
|
+
* (the reserved Admins and Members groups included) is loaded, verified
|
|
94
|
+
* against its directory head, and its committed name compared by canonical
|
|
95
|
+
* key. A share then needs only the target's verified name. A compromised
|
|
96
|
+
* server cannot mint a signed group, so it cannot create the duplicate this
|
|
97
|
+
* check refuses.
|
|
98
|
+
*
|
|
99
|
+
* The walk is fail-closed: one group that cannot be loaded or verified blocks
|
|
100
|
+
* the creation, since an unverifiable group could carry any name. A verified
|
|
101
|
+
* group whose name does not decrypt is skipped: no member can open that name,
|
|
102
|
+
* so it cannot collide with one. It runs the
|
|
103
|
+
* loads in parallel and retains every verified bundle, so a later creation
|
|
104
|
+
* finds unchanged groups locally and fetches only those whose head moved.
|
|
105
|
+
*/
|
|
106
|
+
const DIRECTORY_WALK_CONCURRENCY = 4;
|
|
107
|
+
/** Runs `work` over `items` with at most `limit` in flight, keeping order. */
|
|
108
|
+
async function mapWithConcurrency(items, limit, work) {
|
|
109
|
+
const results = [];
|
|
110
|
+
let next = 0;
|
|
111
|
+
const worker = async () => {
|
|
112
|
+
for (;;) {
|
|
113
|
+
const index = next++;
|
|
114
|
+
const item = items[index];
|
|
115
|
+
if (index >= items.length || item === undefined)
|
|
116
|
+
return;
|
|
117
|
+
results[index] = await work(item);
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
await Promise.all(Array.from({ length: Math.min(limit, items.length) }, worker));
|
|
121
|
+
return results;
|
|
122
|
+
}
|
|
123
|
+
export async function assertGroupNameUniqueInDirectory(input) {
|
|
124
|
+
const nameKey = canonicalGroupNameKey(input.name);
|
|
125
|
+
// Each verified bundle is retained as soon as it verifies, so a failure
|
|
126
|
+
// later in the walk (or a taken name) still leaves the cache warm for the
|
|
127
|
+
// retry. Retention runs in a transaction on the shared connection, so the
|
|
128
|
+
// writes are chained one after another while the loads stay concurrent.
|
|
129
|
+
const retainedAt = new Date().toISOString();
|
|
130
|
+
let retention = Promise.resolve();
|
|
131
|
+
const verifyAndRetain = async (head) => {
|
|
132
|
+
const group = await verifyDirectoryGroup(input, head);
|
|
133
|
+
retention = retention.then(() => retainVerifiedPrincipalPolicyBundle({
|
|
134
|
+
bundle: group.bundle,
|
|
135
|
+
execSql: input.execSql,
|
|
136
|
+
organizationId: input.organizationId,
|
|
137
|
+
policy: group.policy,
|
|
138
|
+
updatedAt: retainedAt,
|
|
139
|
+
}));
|
|
140
|
+
await retention;
|
|
141
|
+
return group;
|
|
142
|
+
};
|
|
143
|
+
const groups = await mapWithConcurrency(input.descriptor.groupHeads, DIRECTORY_WALK_CONCURRENCY, verifyAndRetain);
|
|
144
|
+
// A taken name is user input to correct, not evidence of tampering, so this
|
|
145
|
+
// is a plain error: group creation runs under security-incident reporting,
|
|
146
|
+
// which records every KeyingVerificationError.
|
|
147
|
+
if (groups.some((group) => group.nameKey === nameKey)) {
|
|
148
|
+
throw new Error("Another signed group in this organization already carries this name");
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=groupNameUniqueness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupNameUniqueness.js","sourceRoot":"","sources":["groupNameUniqueness.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n KeyingVerificationError,\n type PrincipalPolicyExternalAuthority,\n type VerifiedPrincipalPolicy,\n} from \"@tearleads/crypto\";\nimport type { PrincipalPolicyBundleResponse } from \"@tearleads/validators/response\";\nimport { throwKeyingVerificationErrorWithContext } from \"../../data/keyingProjectionVerification/error\";\nimport { loadPrincipalPolicyCheckpoint } from \"../../data/persistence/keyingCheckpointPersistence\";\nimport { loadPrincipalPolicyBundleForReference } from \"../../data/persistence/principalPolicyReferencePersistence\";\nimport { retainVerifiedPrincipalPolicyBundle } from \"../../data/persistence/verifiedPrincipalPolicyRetentionPersistence\";\nimport {\n type OrganizationAuthorityDescriptor,\n principalHeadMatchesReference,\n} from \"../../data/principals/organizationAuthorityDescriptor\";\nimport {\n principalPolicyReferenceFromBundle,\n verifyPrincipalPolicyBundleWithExternalOrganizationAdmins,\n} from \"../../data/principals/principalPolicyAdminSigners\";\nimport type { SecurityIncidentReporter } from \"../../data/securityIncidents\";\nimport type { ExecSql } from \"../../data/sqlite/sqlSchema\";\nimport type { TrustedUserIdentityResolver } from \"../../data/trustedUserIdentity\";\nimport { collectPrincipalPolicySignerPublicKeys } from \"../principals/policyVerification\";\nimport { GroupMetadataUnreadableError } from \"./groupMetadataAccess\";\nimport { assertGroupMetadataBinding } from \"./groupMetadataBinding\";\nimport {\n canonicalGroupNameKey,\n type GroupPolicyNameReader,\n readGroupPolicyPayloadName,\n} from \"./principalPolicyRequest\";\n\nexport interface DirectoryGroupWalkInput {\n readonly readEncryptedName?: GroupPolicyNameReader | undefined;\n readonly apiClient: {\n getCurrentPrincipalPolicy: (\n principalType: \"group\" | \"organization\",\n principalId: string,\n ) => Promise<PrincipalPolicyBundleResponse | null>;\n };\n readonly descriptor: OrganizationAuthorityDescriptor;\n readonly execSql: ExecSql;\n readonly externalAuthority: PrincipalPolicyExternalAuthority;\n readonly organizationId: string;\n readonly reportSecurityIncident: SecurityIncidentReporter;\n readonly resolveTrustedUserIdentity: TrustedUserIdentityResolver;\n}\n\ntype DirectoryGroupHead = OrganizationAuthorityDescriptor[\"groupHeads\"][number];\n\ninterface VerifiedDirectoryGroup {\n readonly bundle: PrincipalPolicyBundleResponse;\n /** Null when the signed name does not decrypt for any member. */\n readonly name: string | null;\n readonly nameKey: string | null;\n readonly policy: VerifiedPrincipalPolicy;\n}\n\n/**\n * Loads one directory group at its committed head: from the local retained\n * bundles when they already hold that head, and from the API otherwise.\n */\nasync function loadDirectoryGroupBundle(\n input: DirectoryGroupWalkInput,\n head: DirectoryGroupHead,\n) {\n const localCheckpoint = await loadPrincipalPolicyCheckpoint(\n input.execSql,\n \"group\",\n head.principalId,\n );\n const cached = await loadPrincipalPolicyBundleForReference(\n input.execSql,\n head,\n localCheckpoint,\n );\n const bundle =\n cached ??\n (await input.apiClient.getCurrentPrincipalPolicy(\n \"group\",\n head.principalId,\n ));\n if (!bundle) {\n throw new Error(\n `Organization directory group ${head.principalId} could not be loaded`,\n );\n }\n if (\n !principalHeadMatchesReference(\n principalPolicyReferenceFromBundle(bundle),\n head,\n )\n ) {\n // Head drift is reachable by a concurrent admin mutation, so it is a\n // plain error to retry on, not an incident (as in the share path). The\n // typed errors stay for signature and projection failures.\n throw new Error(\n \"Organization directory group policy does not match the signed organization directory\",\n );\n }\n return { bundle, localCheckpoint };\n}\n\n/**\n * A bundle served from local retention was verified when it was retained, and\n * is verified again here on purpose: the re-check costs local CPU only, and it\n * keeps the name a group vouches for independent of what any earlier caller\n * trusted at retention time.\n */\nexport async function verifyDirectoryGroup(\n input: DirectoryGroupWalkInput,\n head: DirectoryGroupHead,\n): Promise<VerifiedDirectoryGroup> {\n const { bundle, localCheckpoint } = await loadDirectoryGroupBundle(\n input,\n head,\n );\n const signerPublicKeys = await collectPrincipalPolicySignerPublicKeys({\n bundle,\n resolveTrustedUserIdentity: input.resolveTrustedUserIdentity,\n });\n if (\"error\" in signerPublicKeys) {\n throw new Error(\n `Organization directory group signer key could not be loaded (${signerPublicKeys.error})`,\n );\n }\n const verified =\n await verifyPrincipalPolicyBundleWithExternalOrganizationAdmins({\n bundle,\n expectedReference: head,\n loadExternalAuthority: async () => input.externalAuthority,\n localCheckpoint,\n signerPublicKeys: signerPublicKeys.signerPublicKeys,\n });\n if (!verified.ok) {\n throwKeyingVerificationErrorWithContext(\n verified.error,\n \"Organization directory group verification failed\",\n );\n }\n assertGroupMetadataBinding(bundle, input.descriptor);\n const name = await readDirectoryGroupName(input, bundle);\n return {\n bundle,\n name,\n nameKey: name === null ? null : canonicalGroupNameKey(name),\n policy: verified.value,\n };\n}\n\n/**\n * A verified group whose name no member can open has no name to select by. The\n * walk isolates it rather than failing every name in the organization, but it\n * still records the incident: only a dishonest admin signs such a name.\n */\nasync function readDirectoryGroupName(\n input: DirectoryGroupWalkInput,\n bundle: PrincipalPolicyBundleResponse,\n): Promise<string | null> {\n try {\n return await readGroupPolicyPayloadName(bundle, input.readEncryptedName);\n } catch (error) {\n if (!(error instanceof GroupMetadataUnreadableError)) throw error;\n await input.reportSecurityIncident(\n new KeyingVerificationError(\n \"invalid_shape\",\n \"Signed group name does not open under the cited metadata key\",\n ),\n {\n evidenceHashes: { stateHash: bundle.currentState.stateHash },\n objectId: bundle.currentState.principalId,\n objectKind: \"principal\",\n operation: \"organization.groupName\",\n organizationId: input.organizationId,\n },\n );\n return null;\n }\n}\n\n/**\n * Signed group names are the only authenticated label a member can choose a\n * group by, and the API does not make them unique within an organization. So\n * uniqueness is enforced here, where a name enters: before an admin signs a\n * new group, every group committed in the signed organization directory\n * (the reserved Admins and Members groups included) is loaded, verified\n * against its directory head, and its committed name compared by canonical\n * key. A share then needs only the target's verified name. A compromised\n * server cannot mint a signed group, so it cannot create the duplicate this\n * check refuses.\n *\n * The walk is fail-closed: one group that cannot be loaded or verified blocks\n * the creation, since an unverifiable group could carry any name. A verified\n * group whose name does not decrypt is skipped: no member can open that name,\n * so it cannot collide with one. It runs the\n * loads in parallel and retains every verified bundle, so a later creation\n * finds unchanged groups locally and fetches only those whose head moved.\n */\nconst DIRECTORY_WALK_CONCURRENCY = 4;\n\n/** Runs `work` over `items` with at most `limit` in flight, keeping order. */\nasync function mapWithConcurrency<T, R>(\n items: ReadonlyArray<T>,\n limit: number,\n work: (item: T) => Promise<R>,\n): Promise<R[]> {\n const results: R[] = [];\n let next = 0;\n const worker = async () => {\n for (;;) {\n const index = next++;\n const item = items[index];\n if (index >= items.length || item === undefined) return;\n results[index] = await work(item);\n }\n };\n await Promise.all(\n Array.from({ length: Math.min(limit, items.length) }, worker),\n );\n return results;\n}\n\nexport async function assertGroupNameUniqueInDirectory(\n input: DirectoryGroupWalkInput & { readonly name: string },\n): Promise<void> {\n const nameKey = canonicalGroupNameKey(input.name);\n // Each verified bundle is retained as soon as it verifies, so a failure\n // later in the walk (or a taken name) still leaves the cache warm for the\n // retry. Retention runs in a transaction on the shared connection, so the\n // writes are chained one after another while the loads stay concurrent.\n const retainedAt = new Date().toISOString();\n let retention: Promise<void> = Promise.resolve();\n const verifyAndRetain = async (\n head: DirectoryGroupHead,\n ): Promise<VerifiedDirectoryGroup> => {\n const group = await verifyDirectoryGroup(input, head);\n retention = retention.then(() =>\n retainVerifiedPrincipalPolicyBundle({\n bundle: group.bundle,\n execSql: input.execSql,\n organizationId: input.organizationId,\n policy: group.policy,\n updatedAt: retainedAt,\n }),\n );\n await retention;\n return group;\n };\n const groups = await mapWithConcurrency(\n input.descriptor.groupHeads,\n DIRECTORY_WALK_CONCURRENCY,\n verifyAndRetain,\n );\n // A taken name is user input to correct, not evidence of tampering, so this\n // is a plain error: group creation runs under security-incident reporting,\n // which records every KeyingVerificationError.\n if (groups.some((group) => group.nameKey === nameKey)) {\n throw new Error(\n \"Another signed group in this organization already carries this name\",\n );\n }\n}\n"]}
|