@seams/wallet-server 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1075) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +8 -0
  3. package/artifact-manifest.json +464 -0
  4. package/cloudflare-router-ab/build/deriver-a/index.js +2 -0
  5. package/cloudflare-router-ab/build/deriver-a/index_bg.wasm +0 -0
  6. package/cloudflare-router-ab/build/deriver-a/package.json +16 -0
  7. package/cloudflare-router-ab/build/deriver-a/worker/shim.mjs +4 -0
  8. package/cloudflare-router-ab/build/deriver-b/index.js +2 -0
  9. package/cloudflare-router-ab/build/deriver-b/index_bg.wasm +0 -0
  10. package/cloudflare-router-ab/build/deriver-b/package.json +16 -0
  11. package/cloudflare-router-ab/build/deriver-b/worker/shim.mjs +4 -0
  12. package/cloudflare-router-ab/build/local-tools/darwin-arm64/router_ab_local_init +0 -0
  13. package/cloudflare-router-ab/build/router/index.js +2 -0
  14. package/cloudflare-router-ab/build/router/index_bg.wasm +0 -0
  15. package/cloudflare-router-ab/build/router/package.json +16 -0
  16. package/cloudflare-router-ab/build/router/worker/shim.mjs +4 -0
  17. package/cloudflare-router-ab/build/signing-worker/index.js +2 -0
  18. package/cloudflare-router-ab/build/signing-worker/index_bg.wasm +0 -0
  19. package/cloudflare-router-ab/build/signing-worker/package.json +16 -0
  20. package/cloudflare-router-ab/build/signing-worker/worker/shim.mjs +4 -0
  21. package/cloudflare-router-ab/build/tenant-root-control-plane/index.js +2 -0
  22. package/cloudflare-router-ab/build/tenant-root-control-plane/index_bg.wasm +0 -0
  23. package/cloudflare-router-ab/build/tenant-root-control-plane/package.json +16 -0
  24. package/cloudflare-router-ab/build/tenant-root-control-plane/worker/shim.mjs +4 -0
  25. package/cloudflare-router-ab/env/tenant-root-control-plane.local.example +6 -0
  26. package/cloudflare-router-ab/migrations/deriver-a/0001_role_private_storage.sql +14 -0
  27. package/cloudflare-router-ab/migrations/deriver-a/0002_tenant_root_role_shares.sql +32 -0
  28. package/cloudflare-router-ab/migrations/deriver-a/0003_tenant_root_command_replays.sql +76 -0
  29. package/cloudflare-router-ab/migrations/deriver-a/0004_tenant_root_creation_admission.sql +7 -0
  30. package/cloudflare-router-ab/migrations/deriver-a/0005_tenant_root_refresh_state.sql +15 -0
  31. package/cloudflare-router-ab/migrations/deriver-a/0006_tenant_root_restore_import_keys.sql +119 -0
  32. package/cloudflare-router-ab/migrations/deriver-a/0007_tenant_root_restore_refresh_attempts.sql +103 -0
  33. package/cloudflare-router-ab/migrations/deriver-a/0008_tenant_root_restore_promotion.sql +40 -0
  34. package/cloudflare-router-ab/migrations/deriver-a/0009_tenant_root_restore_preactivation_cleanup.sql +8 -0
  35. package/cloudflare-router-ab/migrations/deriver-a/0010_tenant_root_recovery_attempts.sql +26 -0
  36. package/cloudflare-router-ab/migrations/deriver-a/0011_tenant_root_source_retirement.sql +100 -0
  37. package/cloudflare-router-ab/migrations/deriver-b/0001_role_private_storage.sql +14 -0
  38. package/cloudflare-router-ab/migrations/deriver-b/0002_tenant_root_role_shares.sql +32 -0
  39. package/cloudflare-router-ab/migrations/deriver-b/0003_tenant_root_command_replays.sql +76 -0
  40. package/cloudflare-router-ab/migrations/deriver-b/0004_tenant_root_creation_admission.sql +7 -0
  41. package/cloudflare-router-ab/migrations/deriver-b/0005_tenant_root_refresh_state.sql +15 -0
  42. package/cloudflare-router-ab/migrations/deriver-b/0006_tenant_root_restore_import_keys.sql +119 -0
  43. package/cloudflare-router-ab/migrations/deriver-b/0007_tenant_root_restore_refresh_attempts.sql +103 -0
  44. package/cloudflare-router-ab/migrations/deriver-b/0008_tenant_root_restore_promotion.sql +40 -0
  45. package/cloudflare-router-ab/migrations/deriver-b/0009_tenant_root_restore_preactivation_cleanup.sql +8 -0
  46. package/cloudflare-router-ab/migrations/deriver-b/0010_tenant_root_recovery_attempts.sql +26 -0
  47. package/cloudflare-router-ab/migrations/deriver-b/0011_tenant_root_source_retirement.sql +100 -0
  48. package/cloudflare-router-ab/migrations/signing-worker/0001_private_storage.sql +67 -0
  49. package/cloudflare-router-ab/migrations/signing-worker/0002_activation_revocation_fences.sql +3 -0
  50. package/cloudflare-router-ab/scripts/bootstrap-local-tenant-root.mjs +182 -0
  51. package/cloudflare-router-ab/scripts/initialize-local-wallet.mjs +17 -0
  52. package/cloudflare-router-ab/scripts/local-key-material.mjs +29 -0
  53. package/cloudflare-router-ab/scripts/prepare-local-runtime-config.mjs +1110 -0
  54. package/cloudflare-router-ab/scripts/start-local-role-workers.mjs +333 -0
  55. package/cloudflare-router-ab/scripts/start-local-wallet-system.mjs +427 -0
  56. package/cloudflare-router-ab/wrangler.deriver-a.toml +123 -0
  57. package/cloudflare-router-ab/wrangler.deriver-b.toml +123 -0
  58. package/cloudflare-router-ab/wrangler.router.toml +126 -0
  59. package/cloudflare-router-ab/wrangler.signing-worker.toml +86 -0
  60. package/cloudflare-router-ab/wrangler.tenant-root-control-plane.toml +56 -0
  61. package/dist/esm/authorization/capabilityPolicy.js +96 -0
  62. package/dist/esm/authorization/domain.js +434 -0
  63. package/dist/esm/authorization/factorEvidence.js +405 -0
  64. package/dist/esm/authorization/service.js +319 -0
  65. package/dist/esm/authorization/vaultProxyUse.js +295 -0
  66. package/dist/esm/cloud-host.js +126 -0
  67. package/dist/esm/core/AuthService.js +2 -0
  68. package/dist/esm/core/EmailOtpRecords.js +361 -0
  69. package/dist/esm/core/EmailOtpStores.js +1460 -0
  70. package/dist/esm/core/IdentityStore.js +617 -0
  71. package/dist/esm/core/NearPublicKeyStore.js +242 -0
  72. package/dist/esm/core/RegistrationCeremonyStore.js +2101 -0
  73. package/dist/esm/core/SessionService.js +255 -0
  74. package/dist/esm/core/ThresholdService/config.js +111 -0
  75. package/dist/esm/core/ThresholdService/ecdsaClientRootProof.js +27 -0
  76. package/dist/esm/core/ThresholdService/evmCryptoWasm.js +167 -0
  77. package/dist/esm/core/ThresholdService/index.js +4 -0
  78. package/dist/esm/core/ThresholdService/kv.js +368 -0
  79. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.js +360 -0
  80. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillLiveSession.js +282 -0
  81. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.js +272 -0
  82. package/dist/esm/core/ThresholdService/routerAb/internalServiceHttp.js +57 -0
  83. package/dist/esm/core/ThresholdService/routerAbEcdsaSigningWorkerWasm.js +115 -0
  84. package/dist/esm/core/ThresholdService/routerAbNormalSigningPolicy.js +31 -0
  85. package/dist/esm/core/ThresholdService/secureRandomId.js +9 -0
  86. package/dist/esm/core/ThresholdService/stores/CloudflareDurableObjectStore.js +603 -0
  87. package/dist/esm/core/ThresholdService/stores/EcdsaSigningStore.js +422 -0
  88. package/dist/esm/core/ThresholdService/stores/KeyStore.js +140 -0
  89. package/dist/esm/core/ThresholdService/stores/SessionStore.js +437 -0
  90. package/dist/esm/core/ThresholdService/stores/StoreConfig.js +13 -0
  91. package/dist/esm/core/ThresholdService/stores/WalletSessionStore.js +722 -0
  92. package/dist/esm/core/ThresholdService/validation.js +718 -0
  93. package/dist/esm/core/WalletAuthMethodStore.js +180 -0
  94. package/dist/esm/core/WalletStore.js +495 -0
  95. package/dist/esm/core/WebAuthnAuthenticatorStore.js +485 -0
  96. package/dist/esm/core/WebAuthnCredentialBindingStore.js +594 -0
  97. package/dist/esm/core/WebAuthnLoginChallengeStore.js +432 -0
  98. package/dist/esm/core/WebAuthnSyncChallengeStore.js +434 -0
  99. package/dist/esm/core/authService/AuthService.js +611 -0
  100. package/dist/esm/core/authService/bytes.js +22 -0
  101. package/dist/esm/core/authService/configValues.js +15 -0
  102. package/dist/esm/core/authService/emailOtpChallengeOperations.js +126 -0
  103. package/dist/esm/core/authService/emailOtpChallengeProof.js +214 -0
  104. package/dist/esm/core/authService/emailOtpChallengeVerification.js +335 -0
  105. package/dist/esm/core/authService/emailOtpChallenges.js +260 -0
  106. package/dist/esm/core/authService/emailOtpConfig.js +231 -0
  107. package/dist/esm/core/authService/emailOtpDelivery.js +169 -0
  108. package/dist/esm/core/authService/emailOtpEnrollment.js +141 -0
  109. package/dist/esm/core/authService/emailOtpGrant.js +74 -0
  110. package/dist/esm/core/authService/emailOtpRegistrationEnrollment.js +322 -0
  111. package/dist/esm/core/authService/emailOtpSeal.js +78 -0
  112. package/dist/esm/core/authService/emailOtpUnlock.js +264 -0
  113. package/dist/esm/core/authService/githubOAuth.js +140 -0
  114. package/dist/esm/core/authService/googleEmailOtpErrors.js +6 -0
  115. package/dist/esm/core/authService/googleEmailOtpOperations.js +141 -0
  116. package/dist/esm/core/authService/googleEmailOtpRegistration.js +674 -0
  117. package/dist/esm/core/authService/identity.js +57 -0
  118. package/dist/esm/core/authService/identityOperations.js +32 -0
  119. package/dist/esm/core/authService/nearAccountOperations.js +229 -0
  120. package/dist/esm/core/authService/nearPrivateKeySigning.js +110 -0
  121. package/dist/esm/core/authService/nearPublicKeyMetadata.js +127 -0
  122. package/dist/esm/core/authService/nearTransactions.js +139 -0
  123. package/dist/esm/core/authService/oidcVerification.js +262 -0
  124. package/dist/esm/core/authService/portableCrypto.js +19 -0
  125. package/dist/esm/core/authService/rateLimits.js +117 -0
  126. package/dist/esm/core/authService/record.js +8 -0
  127. package/dist/esm/core/authService/registrationThresholdHelpers.js +131 -0
  128. package/dist/esm/core/authService/runtime.js +45 -0
  129. package/dist/esm/core/authService/signerWasmUrls.js +20 -0
  130. package/dist/esm/core/authService/storeRegistry.js +113 -0
  131. package/dist/esm/core/authService/thresholdEcdsaKeyInventory.js +146 -0
  132. package/dist/esm/core/authService/thresholdRuntimePolicy.js +19 -0
  133. package/dist/esm/core/authService/thresholdStoreSummary.js +32 -0
  134. package/dist/esm/core/authService/walletRegistrationPlanning.js +49 -0
  135. package/dist/esm/core/authService/wasm.js +78 -0
  136. package/dist/esm/core/authService/webauthn.js +746 -0
  137. package/dist/esm/core/authService/webauthnAuthority.js +17 -0
  138. package/dist/esm/core/authService/webauthnOidcHelpers.js +91 -0
  139. package/dist/esm/core/authService/webauthnWalletBinding.js +157 -0
  140. package/dist/esm/core/config.js +110 -0
  141. package/dist/esm/core/d1IdentityStore.js +340 -0
  142. package/dist/esm/core/d1WalletAuthMethodStore.js +768 -0
  143. package/dist/esm/core/d1WalletStore.js +724 -0
  144. package/dist/esm/core/defaultConfigsServer.js +9 -0
  145. package/dist/esm/core/deviceLinking/index.js +5 -0
  146. package/dist/esm/core/deviceLinking/linkedDeviceEd25519ExportRoot.js +0 -0
  147. package/dist/esm/core/deviceLinking/linkedDeviceEmailOtpGrant.js +211 -0
  148. package/dist/esm/core/deviceLinking/linkedDeviceManagement.js +279 -0
  149. package/dist/esm/core/deviceLinking/linkedDeviceSession.js +1419 -0
  150. package/dist/esm/core/deviceLinking/requestProof.js +172 -0
  151. package/dist/esm/core/errors.js +54 -0
  152. package/dist/esm/core/hostedAccountIds.js +225 -0
  153. package/dist/esm/core/keyMaterialBrands.js +58 -0
  154. package/dist/esm/core/logger.js +39 -0
  155. package/dist/esm/core/nearKeys.js +20 -0
  156. package/dist/esm/core/nearRelayerAccountProvisioning.js +713 -0
  157. package/dist/esm/core/nearSignerWasmRuntime.js +87 -0
  158. package/dist/esm/core/registrationContracts.js +2 -0
  159. package/dist/esm/core/routerAbSigning/RouterAbEcdsaPresignRuntime.js +88 -0
  160. package/dist/esm/core/routerAbSigning/RouterAbNormalSigningRuntime.js +101 -0
  161. package/dist/esm/core/routerAbSigning/createCloudflareDurableObjectRouterAbSigningRuntimes.js +39 -0
  162. package/dist/esm/core/routerAbSigning/createRouterAbSigningRuntimes.js +91 -0
  163. package/dist/esm/core/rpcClients/near/NearClient.js +389 -0
  164. package/dist/esm/core/sessionValidation.js +0 -0
  165. package/dist/esm/core/signingLanes/LaneAggregateRevocationApplicationService.js +86 -0
  166. package/dist/esm/core/signingLanes/LaneEffectJournalStore.js +0 -0
  167. package/dist/esm/core/signingLanes/LaneEnrollmentActivation.js +324 -0
  168. package/dist/esm/core/signingLanes/LaneEnrollmentRevocation.js +173 -0
  169. package/dist/esm/core/signingLanes/LaneLifecycleApplicationService.js +200 -0
  170. package/dist/esm/core/signingLanes/LaneLifecycleStore.js +24 -0
  171. package/dist/esm/core/signingLanes/SigningLaneStore.js +0 -0
  172. package/dist/esm/core/signingLanes/WalletExecutionLaneProjection.js +296 -0
  173. package/dist/esm/core/signingLanes/WalletKeyStore.js +0 -0
  174. package/dist/esm/core/signingLanes/ecdsaServerRetirement.js +78 -0
  175. package/dist/esm/core/signingLanes/ed25519ServerRetirement.js +71 -0
  176. package/dist/esm/core/signingLanes/index.js +8 -0
  177. package/dist/esm/core/signingLanes/signingWorkerLaneMaterialIdentity.js +0 -0
  178. package/dist/esm/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.js +305 -0
  179. package/dist/esm/core/threeRouteRegistrationContracts.js +5 -0
  180. package/dist/esm/core/thresholdEcdsaChainTarget.js +49 -0
  181. package/dist/esm/core/types.js +8 -0
  182. package/dist/esm/core/utils.js +14 -0
  183. package/dist/esm/delegateAction/index.js +136 -0
  184. package/dist/esm/hosted-wallet-gateway-worker.js +18 -0
  185. package/dist/esm/hosted-wallet-gateway.js +701 -0
  186. package/dist/esm/index.js +53 -0
  187. package/dist/esm/local-hosted-wallet-gateway-worker.js +23 -0
  188. package/dist/esm/node_modules/@near-js/types/lib/esm/provider/response.js +17 -0
  189. package/dist/esm/router/auth/authRequestValidation.js +264 -0
  190. package/dist/esm/router/auth/commonRouterUtils.js +305 -0
  191. package/dist/esm/router/auth/routerApiCredentialAuth.js +91 -0
  192. package/dist/esm/router/auth/routerApiKeyAuth.js +63 -0
  193. package/dist/esm/router/auth/walletSessionFailure.js +49 -0
  194. package/dist/esm/router/auth/webAuthnCredentialCodecs.js +107 -0
  195. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthBoundary.js +84 -0
  196. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthConfig.js +321 -0
  197. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthService.js +1581 -0
  198. package/dist/esm/router/cloudflare/d1/authorization/d1AuthorizationStore.js +1820 -0
  199. package/dist/esm/router/cloudflare/d1/authorization/d1VaultProxyStore.js +122 -0
  200. package/dist/esm/router/cloudflare/d1/authorization/walletSessionAuthorityProjection.js +119 -0
  201. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.js +1831 -0
  202. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEd25519ExportRootStore.js +118 -0
  203. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.js +81 -0
  204. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.js +539 -0
  205. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceManagementService.js +92 -0
  206. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.js +560 -0
  207. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.js +136 -0
  208. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRouteService.js +95 -0
  209. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.js +91 -0
  210. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionService.js +15 -0
  211. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.js +732 -0
  212. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSourceContributionPreparationPlanner.js +195 -0
  213. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetAuthenticatorStore.js +100 -0
  214. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.js +867 -0
  215. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.js +169 -0
  216. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.js +255 -0
  217. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkSourceReader.js +128 -0
  218. package/dist/esm/router/cloudflare/d1/deviceLinking/index.js +15 -0
  219. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.js +311 -0
  220. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.js +21 -0
  221. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoWalletSigner.js +65 -0
  222. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.js +216 -0
  223. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.js +326 -0
  224. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.js +346 -0
  225. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.js +495 -0
  226. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpDeliveryRuntime.js +157 -0
  227. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.js +248 -0
  228. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.js +66 -0
  229. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.js +76 -0
  230. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.js +539 -0
  231. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.js +404 -0
  232. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.js +200 -0
  233. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.js +84 -0
  234. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.js +217 -0
  235. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.js +485 -0
  236. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.js +509 -0
  237. package/dist/esm/router/cloudflare/d1/identity/d1IdentityRecords.js +51 -0
  238. package/dist/esm/router/cloudflare/d1/identity/d1IdentityService.js +135 -0
  239. package/dist/esm/router/cloudflare/d1/near/d1NearPublicKeyStore.js +62 -0
  240. package/dist/esm/router/cloudflare/d1/oidc/d1OidcBoundary.js +272 -0
  241. package/dist/esm/router/cloudflare/d1/oidc/d1OidcVerificationService.js +132 -0
  242. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyEnvelopeStore.js +628 -0
  243. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.js +871 -0
  244. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.js +823 -0
  245. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpAttemptStore.js +38 -0
  246. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpRecords.js +304 -0
  247. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpService.js +793 -0
  248. package/dist/esm/router/cloudflare/d1/registration/d1EvmFamilyEcdsaRegistrationBranch.js +120 -0
  249. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.js +317 -0
  250. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.js +2084 -0
  251. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.js +309 -0
  252. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationIntentService.js +120 -0
  253. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.js +263 -0
  254. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationService.js +3887 -0
  255. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetup.js +182 -0
  256. package/dist/esm/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.js +399 -0
  257. package/dist/esm/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.js +486 -0
  258. package/dist/esm/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.js +146 -0
  259. package/dist/esm/router/cloudflare/d1/signingLanes/d1EcdsaLanePrivateBindingResolver.js +10 -0
  260. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneAggregateRevocationApplicationService.js +22 -0
  261. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.js +167 -0
  262. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEnrollmentGateway.js +38 -0
  263. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleApplicationService.js +20 -0
  264. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.js +1459 -0
  265. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLockStore.js +114 -0
  266. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneProtocolCommitter.js +16 -0
  267. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneRecords.js +170 -0
  268. package/dist/esm/router/cloudflare/d1/signingLanes/index.js +10 -0
  269. package/dist/esm/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.js +412 -0
  270. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerService.js +1396 -0
  271. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodBoundary.js +285 -0
  272. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodService.js +2018 -0
  273. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorityStore.js +792 -0
  274. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.js +635 -0
  275. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnRecords.js +538 -0
  276. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnStore.js +264 -0
  277. package/dist/esm/router/cloudflare/durableObjects/thresholdStore.js +514 -0
  278. package/dist/esm/router/cloudflare/durableObjects/versionedJsonRecordStore.js +192 -0
  279. package/dist/esm/router/cloudflare/runtime/cloudflare.types.js +0 -0
  280. package/dist/esm/router/cloudflare/runtime/cloudflareSignerWasm.js +8 -0
  281. package/dist/esm/router/cloudflare/runtime/createCloudflareRouter.js +19 -0
  282. package/dist/esm/router/cloudflare/runtime/createSelfHostedCloudflareSigningWorker.js +94 -0
  283. package/dist/esm/router/cloudflare/runtime/ed25519SessionAdapter.js +106 -0
  284. package/dist/esm/router/cloudflare/runtime/environment.js +25 -0
  285. package/dist/esm/router/cloudflare/runtime/routerAbPrewarm.js +34 -0
  286. package/dist/esm/router/cloudflare/runtime/routerAbServiceBindings.js +33 -0
  287. package/dist/esm/router/cloudflare/runtime/sessionAdapterRuntime.js +104 -0
  288. package/dist/esm/router/cloudflare/runtime/staticWalletConsoleBinding.js +168 -0
  289. package/dist/esm/router/cloudflare/runtime/tenantRootCreationGrant.js +147 -0
  290. package/dist/esm/router/cloudflare/runtime/walletConsoleOps.js +143 -0
  291. package/dist/esm/router/cloudflare/runtime/walletConsoleOpsClient.js +227 -0
  292. package/dist/esm/router/cloudflare/runtime/walletConsoleTenantRootLineage.js +30 -0
  293. package/dist/esm/router/cloudflare/runtime/walletControlOps.js +107 -0
  294. package/dist/esm/router/cloudflare/runtime/walletGateway.js +149 -0
  295. package/dist/esm/router/cloudflare/runtime/walletRuntimeOps.js +322 -0
  296. package/dist/esm/router/cloudflare/runtime/walletRuntimeOpsHandler.js +48 -0
  297. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.js +597 -0
  298. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.js +272 -0
  299. package/dist/esm/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.js +477 -0
  300. package/dist/esm/router/cloudflare/signingLanes/index.js +4 -0
  301. package/dist/esm/router/cloudflare/signingLanes/linkedDeviceEd25519CeremonyBinding.js +32 -0
  302. package/dist/esm/router/cloudflare-adaptor.js +45 -0
  303. package/dist/esm/router/cloudflare.js +42794 -0
  304. package/dist/esm/router/domains/ecdsa/routerAbEcdsaStrictRegistration.js +738 -0
  305. package/dist/esm/router/domains/ecdsa/thresholdEcdsaRequestValidation.js +134 -0
  306. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.js +368 -0
  307. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.js +624 -0
  308. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.js +143 -0
  309. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPersistence.js +270 -0
  310. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRunner.js +31 -0
  311. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.js +162 -0
  312. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.js +1366 -0
  313. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.js +465 -0
  314. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.js +1609 -0
  315. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.js +540 -0
  316. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.js +394 -0
  317. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.js +572 -0
  318. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.js +555 -0
  319. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.js +268 -0
  320. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.js +329 -0
  321. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.js +423 -0
  322. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.js +432 -0
  323. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationTwoPhaseRunner.js +58 -0
  324. package/dist/esm/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.js +0 -0
  325. package/dist/esm/router/domains/ed25519Yao/session/routerAbEd25519YaoWalletSession.js +0 -0
  326. package/dist/esm/router/domains/ed25519Yao/session/thresholdEd25519RequestValidation.js +275 -0
  327. package/dist/esm/router/domains/emailOtp/emailOtpExportPolicy.js +70 -0
  328. package/dist/esm/router/domains/emailOtp/emailOtpRequestValidation.js +34 -0
  329. package/dist/esm/router/domains/emailOtp/emailOtpRouteHandlers.js +218 -0
  330. package/dist/esm/router/domains/emailOtp/emailOtpSessionRouteHelpers.js +210 -0
  331. package/dist/esm/router/domains/passkeyCustody/envelopeRevocationAdmission.js +26 -0
  332. package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.js +107 -0
  333. package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrievalRoute.js +45 -0
  334. package/dist/esm/router/domains/passkeyCustody/registrationCustodyOutcome.js +47 -0
  335. package/dist/esm/router/domains/passkeyCustody/verifiedCustodyFactor.js +46 -0
  336. package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.js +32 -0
  337. package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationCommit.js +170 -0
  338. package/dist/esm/router/domains/passkeyCustody/walletRecoveryAttempt.js +64 -0
  339. package/dist/esm/router/domains/passkeyCustody/walletRecoveryFinalization.js +652 -0
  340. package/dist/esm/router/domains/passkeyCustody/walletRecoveryKeyManifest.js +396 -0
  341. package/dist/esm/router/domains/passkeyCustody/walletRecoveryRotation.js +87 -0
  342. package/dist/esm/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.js +89 -0
  343. package/dist/esm/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.js +106 -0
  344. package/dist/esm/router/domains/signingOperations/routerAbPrivateSigningWorker.js +2669 -0
  345. package/dist/esm/router/domains/signingOperations/walletExecutionAdmission.js +228 -0
  346. package/dist/esm/router/domains/syncAccount/syncAccountRequestValidation.js +78 -0
  347. package/dist/esm/router/domains/tenantRoot/tenantRootCustodyLineage.js +0 -0
  348. package/dist/esm/router/domains/tenantRoot/tenantRootEcdsaWalletSessionComposition.js +55 -0
  349. package/dist/esm/router/domains/tenantRoot/tenantRootEd25519WalletSessionComposition.js +56 -0
  350. package/dist/esm/router/domains/tenantRoot/tenantRootIdentityResolution.js +111 -0
  351. package/dist/esm/router/domains/walletRegistration/walletRegistrationInputs.js +0 -0
  352. package/dist/esm/router/domains/walletRegistration/walletRegistrationRoutes.js +2199 -0
  353. package/dist/esm/router/domains/walletRegistration/walletRegistrationSetupPayload.js +155 -0
  354. package/dist/esm/router/domains/walletUnlock/walletUnlockRequestedCapabilitiesValidation.js +84 -0
  355. package/dist/esm/router/domains/walletUnlock/walletUnlockRouteHandlers.js +1142 -0
  356. package/dist/esm/router/express-adaptor.js +84 -0
  357. package/dist/esm/router/express.js +26616 -0
  358. package/dist/esm/router/framework/apiCredentialPorts.js +11 -0
  359. package/dist/esm/router/framework/applyRouteMetering.js +26 -0
  360. package/dist/esm/router/framework/authServicePort.js +30 -0
  361. package/dist/esm/router/framework/enforceRoutePolicy.js +92 -0
  362. package/dist/esm/router/framework/http.js +87 -0
  363. package/dist/esm/router/framework/logger.js +7 -0
  364. package/dist/esm/router/framework/modules.js +34 -0
  365. package/dist/esm/router/framework/ror/index.js +5 -0
  366. package/dist/esm/router/framework/ror/normalize.js +57 -0
  367. package/dist/esm/router/framework/ror/options.js +33 -0
  368. package/dist/esm/router/framework/ror/provider.js +33 -0
  369. package/dist/esm/router/framework/ror/staticProvider.js +24 -0
  370. package/dist/esm/router/framework/routeAuthPolicy.js +16 -0
  371. package/dist/esm/router/framework/routeDefinitions.js +446 -0
  372. package/dist/esm/router/framework/routeExecutionContext.js +24 -0
  373. package/dist/esm/router/framework/routeExtensions.js +50 -0
  374. package/dist/esm/router/framework/routeMeteringPolicy.js +0 -0
  375. package/dist/esm/router/framework/routeRequestValidation.js +32 -0
  376. package/dist/esm/router/framework/routeResponses.js +33 -0
  377. package/dist/esm/router/framework/routerApi.js +42 -0
  378. package/dist/esm/router/framework/routerApiRouteSurface.js +54 -0
  379. package/dist/esm/router/framework/routerApiWebhooks.js +60 -0
  380. package/dist/esm/router/framework/runtimeSnapshotConsumer.js +145 -0
  381. package/dist/esm/router/framework/versionedJsonRecordStore.js +0 -0
  382. package/dist/esm/router/ror-adaptor.js +5 -0
  383. package/dist/esm/router/ror.js +178 -0
  384. package/dist/esm/router/transport/fetch/createFetchRouter.js +309 -0
  385. package/dist/esm/router/transport/fetch/fetchRouter.types.js +0 -0
  386. package/dist/esm/router/transport/fetch/routes/auth.js +219 -0
  387. package/dist/esm/router/transport/fetch/routes/deviceLinking.js +1196 -0
  388. package/dist/esm/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.js +264 -0
  389. package/dist/esm/router/transport/fetch/routes/deviceManagement.js +289 -0
  390. package/dist/esm/router/transport/fetch/routes/health.js +42 -0
  391. package/dist/esm/router/transport/fetch/routes/nearPublicKeys.js +39 -0
  392. package/dist/esm/router/transport/fetch/routes/normalSigningRouterProxy.js +118 -0
  393. package/dist/esm/router/transport/fetch/routes/passkeyCustody.js +1618 -0
  394. package/dist/esm/router/transport/fetch/routes/sessions.js +1033 -0
  395. package/dist/esm/router/transport/fetch/routes/syncAccount.js +187 -0
  396. package/dist/esm/router/transport/fetch/routes/syncAccountBootstrap.js +214 -0
  397. package/dist/esm/router/transport/fetch/routes/thresholdEcdsa.js +1729 -0
  398. package/dist/esm/router/transport/fetch/routes/thresholdEd25519.js +1321 -0
  399. package/dist/esm/router/transport/fetch/routes/walletExecutionLanePreflight.js +228 -0
  400. package/dist/esm/router/transport/fetch/routes/walletRegistration.js +73 -0
  401. package/dist/esm/router/transport/fetch/routes/webauthnAuthenticators.js +43 -0
  402. package/dist/esm/router/transport/fetch/routes/wellKnown.js +48 -0
  403. package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +224 -0
  404. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +134 -0
  405. package/dist/esm/shared-ts/src/authorization/index.js +6 -0
  406. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +58 -0
  407. package/dist/esm/shared-ts/src/authorization/walletAuthority.js +802 -0
  408. package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +18 -0
  409. package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +5 -0
  410. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +332 -0
  411. package/dist/esm/shared-ts/src/device-linking/contracts.js +8 -0
  412. package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +132 -0
  413. package/dist/esm/shared-ts/src/device-linking/digests.js +273 -0
  414. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +158 -0
  415. package/dist/esm/shared-ts/src/device-linking/index.js +9 -0
  416. package/dist/esm/shared-ts/src/device-linking/parsers.js +1412 -0
  417. package/dist/esm/shared-ts/src/device-linking/requestProof.js +114 -0
  418. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +563 -0
  419. package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +207 -0
  420. package/dist/esm/shared-ts/src/near/actions.js +75 -0
  421. package/dist/esm/shared-ts/src/passkey-custody/ceremonyCommitPayload.js +69 -0
  422. package/dist/esm/shared-ts/src/passkey-custody/credentialActivity.js +81 -0
  423. package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +272 -0
  424. package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +175 -0
  425. package/dist/esm/shared-ts/src/passkey-custody/index.js +5 -0
  426. package/dist/esm/shared-ts/src/passkey-custody/primitives.js +92 -0
  427. package/dist/esm/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.js +53 -0
  428. package/dist/esm/shared-ts/src/signing-lanes/execution.js +14 -0
  429. package/dist/esm/shared-ts/src/signing-lanes/index.js +11 -0
  430. package/dist/esm/shared-ts/src/signing-lanes/linkedEcdsaScope.js +1 -0
  431. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +91 -0
  432. package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +124 -0
  433. package/dist/esm/shared-ts/src/signing-lanes/participants.js +262 -0
  434. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +143 -0
  435. package/dist/esm/shared-ts/src/signing-lanes/rotation.js +8 -0
  436. package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +397 -0
  437. package/dist/esm/shared-ts/src/signing-lanes/rotationLifecycle.js +313 -0
  438. package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +1620 -0
  439. package/dist/esm/shared-ts/src/tenant-root/index.js +2 -0
  440. package/dist/esm/shared-ts/src/tenant-root/tenantRootIdentity.js +198 -0
  441. package/dist/esm/shared-ts/src/tenant-root/tenantRootOperationRecord.js +440 -0
  442. package/dist/esm/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js +85 -0
  443. package/dist/esm/shared-ts/src/threshold/participants.js +26 -0
  444. package/dist/esm/shared-ts/src/threshold/sessionPolicy.js +9 -0
  445. package/dist/esm/shared-ts/src/threshold/signingRootScope.js +40 -0
  446. package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +104 -0
  447. package/dist/esm/shared-ts/src/utils/addWalletAuthMethod.js +36 -0
  448. package/dist/esm/shared-ts/src/utils/base58.js +28 -0
  449. package/dist/esm/shared-ts/src/utils/base64.js +70 -0
  450. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +27 -0
  451. package/dist/esm/shared-ts/src/utils/digests.js +33 -0
  452. package/dist/esm/shared-ts/src/utils/domainIds.js +309 -0
  453. package/dist/esm/shared-ts/src/utils/ecdsaCapabilityActivation.js +34 -0
  454. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +46 -0
  455. package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +38 -0
  456. package/dist/esm/shared-ts/src/utils/emailOtpRecoveryKey.js +10 -0
  457. package/dist/esm/shared-ts/src/utils/encoders.js +2 -0
  458. package/dist/esm/shared-ts/src/utils/errors.js +88 -0
  459. package/dist/esm/shared-ts/src/utils/evmRpcResults.js +97 -0
  460. package/dist/esm/shared-ts/src/utils/jsonRpc.js +64 -0
  461. package/dist/esm/shared-ts/src/utils/keccak.js +150 -0
  462. package/dist/esm/shared-ts/src/utils/near.js +99 -0
  463. package/dist/esm/shared-ts/src/utils/nearRpcResults.js +205 -0
  464. package/dist/esm/shared-ts/src/utils/normalize.js +87 -0
  465. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +201 -0
  466. package/dist/esm/shared-ts/src/utils/registrationIntent.js +1268 -0
  467. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +1655 -0
  468. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +984 -0
  469. package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +118 -0
  470. package/dist/esm/shared-ts/src/utils/routerAbPublicKeyset.js +138 -0
  471. package/dist/esm/shared-ts/src/utils/routerAbTraceContext.js +36 -0
  472. package/dist/esm/shared-ts/src/utils/secureRandomId.js +35 -0
  473. package/dist/esm/shared-ts/src/utils/signingSessionSeal.js +118 -0
  474. package/dist/esm/shared-ts/src/utils/thresholdEcdsaKeyHandle.js +28 -0
  475. package/dist/esm/shared-ts/src/utils/validation.js +23 -0
  476. package/dist/esm/shared-ts/src/utils/walletAddSignerActivation.js +32 -0
  477. package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +207 -0
  478. package/dist/esm/shared-ts/src/utils/walletSessionFailure.js +15 -0
  479. package/dist/esm/shared-ts/src/utils/webauthnDeviceInfo.js +207 -0
  480. package/dist/esm/shared-ts/src/wallet-recovery/backupAcknowledgement.js +66 -0
  481. package/dist/esm/shared-ts/src/wallet-recovery/index.js +10 -0
  482. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeIssuance.js +1 -0
  483. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +34 -0
  484. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +80 -0
  485. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodes.js +4 -0
  486. package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +53 -0
  487. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +108 -0
  488. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +157 -0
  489. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +233 -0
  490. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryRotation.js +3 -0
  491. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryTarget.js +29 -0
  492. package/dist/esm/storage/d1Sql.js +85 -0
  493. package/dist/esm/storage/tenantRoute.js +89 -0
  494. package/dist/esm/tenant-root.js +5 -0
  495. package/dist/esm/threshold/session/signingSessionSeal/crypto/cipher.js +204 -0
  496. package/dist/esm/threshold/session/signingSessionSeal/crypto/shamir3PassWasm.js +87 -0
  497. package/dist/esm/threshold/session/signingSessionSeal/guards/backends.js +192 -0
  498. package/dist/esm/threshold/session/signingSessionSeal/guards/index.js +121 -0
  499. package/dist/esm/threshold/session/signingSessionSeal/idempotency.js +38 -0
  500. package/dist/esm/threshold/session/signingSessionSeal/idempotencyBackends.js +131 -0
  501. package/dist/esm/threshold/session/signingSessionSeal/idempotencyRecords.js +55 -0
  502. package/dist/esm/threshold/session/signingSessionSeal/index.js +13 -0
  503. package/dist/esm/threshold/session/signingSessionSeal/observability/audit.js +38 -0
  504. package/dist/esm/threshold/session/signingSessionSeal/options.js +54 -0
  505. package/dist/esm/threshold/session/signingSessionSeal/routesOptions.js +45 -0
  506. package/dist/esm/threshold/session/signingSessionSeal/service.js +316 -0
  507. package/dist/esm/threshold/session/signingSessionSeal/signingSessionSeal.types.js +0 -0
  508. package/dist/esm/threshold/session/signingSessionSeal/transport/express.js +151 -0
  509. package/dist/esm/threshold/session/signingSessionSeal/transport/fetch.js +106 -0
  510. package/dist/esm/threshold/session/signingSessionSeal/transport/shared.js +159 -0
  511. package/dist/esm/threshold/statusCodes.js +39 -0
  512. package/dist/esm/wasm/evm_crypto/pkg/evm_crypto.js +601 -0
  513. package/dist/esm/wasm/evm_crypto/pkg/evm_crypto_bg.wasm +0 -0
  514. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +1078 -0
  515. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  516. package/dist/esm/wasm/router_ab_ecdsa_signing_worker/pkg/router_ab_ecdsa_signing_worker.js +503 -0
  517. package/dist/esm/wasm/router_ab_ecdsa_signing_worker/pkg/router_ab_ecdsa_signing_worker_bg.wasm +0 -0
  518. package/dist/esm/wasm/shamir3pass_runtime/pkg/shamir3pass_runtime.js +393 -0
  519. package/dist/esm/wasm/shamir3pass_runtime/pkg/shamir3pass_runtime_bg.wasm +0 -0
  520. package/dist/esm/wasm/signer.js +2 -0
  521. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +147 -0
  522. package/dist/types/shared-ts/src/authorization/capabilityKinds.typecheck.d.ts +2 -0
  523. package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +44 -0
  524. package/dist/types/shared-ts/src/authorization/index.d.ts +7 -0
  525. package/dist/types/shared-ts/src/authorization/operationFingerprint.d.ts +39 -0
  526. package/dist/types/shared-ts/src/authorization/operationFingerprint.typecheck.d.ts +2 -0
  527. package/dist/types/shared-ts/src/authorization/walletAuthority.d.ts +168 -0
  528. package/dist/types/shared-ts/src/authorization/walletAuthority.typecheck.d.ts +2 -0
  529. package/dist/types/shared-ts/src/authorization/walletCustodyOperation.d.ts +10 -0
  530. package/dist/types/shared-ts/src/authorization/walletSessionIssuance.d.ts +28 -0
  531. package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +3 -0
  532. package/dist/types/shared-ts/src/device-linking/activeWalletSession.typecheck.d.ts +2 -0
  533. package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +71 -0
  534. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +843 -0
  535. package/dist/types/shared-ts/src/device-linking/contracts.typecheck.d.ts +2 -0
  536. package/dist/types/shared-ts/src/device-linking/delegatedActivationPlan.d.ts +37 -0
  537. package/dist/types/shared-ts/src/device-linking/digests.d.ts +23 -0
  538. package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +93 -0
  539. package/dist/types/shared-ts/src/device-linking/index.d.ts +11 -0
  540. package/dist/types/shared-ts/src/device-linking/parsers.d.ts +124 -0
  541. package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +26 -0
  542. package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +182 -0
  543. package/dist/types/shared-ts/src/device-linking/walletSessionCredentialDelivery.d.ts +84 -0
  544. package/dist/types/shared-ts/src/index.d.ts +10 -0
  545. package/dist/types/shared-ts/src/near/actions.d.ts +141 -0
  546. package/dist/types/shared-ts/src/near/delegate.d.ts +55 -0
  547. package/dist/types/shared-ts/src/near/index.d.ts +3 -0
  548. package/dist/types/shared-ts/src/passkey-custody/ceremonyCommitPayload.d.ts +211 -0
  549. package/dist/types/shared-ts/src/passkey-custody/credentialActivity.d.ts +49 -0
  550. package/dist/types/shared-ts/src/passkey-custody/credentialObservations.d.ts +74 -0
  551. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +191 -0
  552. package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +140 -0
  553. package/dist/types/shared-ts/src/passkey-custody/envelopeIndex.d.ts +29 -0
  554. package/dist/types/shared-ts/src/passkey-custody/index.d.ts +9 -0
  555. package/dist/types/shared-ts/src/passkey-custody/kekContext.d.ts +34 -0
  556. package/dist/types/shared-ts/src/passkey-custody/passkeyCustody.typecheck.d.ts +2 -0
  557. package/dist/types/shared-ts/src/passkey-custody/primitives.d.ts +34 -0
  558. package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +27 -0
  559. package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +91 -0
  560. package/dist/types/shared-ts/src/signing-lanes/execution.typecheck.d.ts +2 -0
  561. package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +18 -0
  562. package/dist/types/shared-ts/src/signing-lanes/index.d.ts +14 -0
  563. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.d.ts +62 -0
  564. package/dist/types/shared-ts/src/signing-lanes/linkedEcdsaScope.typecheck.d.ts +2 -0
  565. package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +30 -0
  566. package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.typecheck.d.ts +2 -0
  567. package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +48 -0
  568. package/dist/types/shared-ts/src/signing-lanes/participantDigest.typecheck.d.ts +2 -0
  569. package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +89 -0
  570. package/dist/types/shared-ts/src/signing-lanes/recordParsers.d.ts +128 -0
  571. package/dist/types/shared-ts/src/signing-lanes/records.d.ts +160 -0
  572. package/dist/types/shared-ts/src/signing-lanes/records.typecheck.d.ts +2 -0
  573. package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +894 -0
  574. package/dist/types/shared-ts/src/signing-lanes/rotation.typecheck.d.ts +2 -0
  575. package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +32 -0
  576. package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +99 -0
  577. package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +67 -0
  578. package/dist/types/shared-ts/src/signing-lanes/validation.d.ts +11 -0
  579. package/dist/types/shared-ts/src/tenant-root/index.d.ts +3 -0
  580. package/dist/types/shared-ts/src/tenant-root/tenantRootIdentity.d.ts +72 -0
  581. package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +192 -0
  582. package/dist/types/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.d.ts +77 -0
  583. package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +130 -0
  584. package/dist/types/shared-ts/src/threshold/index.d.ts +7 -0
  585. package/dist/types/shared-ts/src/threshold/participants.d.ts +38 -0
  586. package/dist/types/shared-ts/src/threshold/secp256k1.d.ts +39 -0
  587. package/dist/types/shared-ts/src/threshold/sessionPolicy.d.ts +5 -0
  588. package/dist/types/shared-ts/src/threshold/signingRootScope.d.ts +24 -0
  589. package/dist/types/shared-ts/src/utils/addAuthMethodRegistration.d.ts +63 -0
  590. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +295 -0
  591. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +11 -0
  592. package/dist/types/shared-ts/src/utils/authenticatorOptions.d.ts +25 -0
  593. package/dist/types/shared-ts/src/utils/base58.d.ts +17 -0
  594. package/dist/types/shared-ts/src/utils/base64.d.ts +53 -0
  595. package/dist/types/shared-ts/src/utils/bigint.d.ts +3 -0
  596. package/dist/types/shared-ts/src/utils/canonicalPrimitives.d.ts +12 -0
  597. package/dist/types/shared-ts/src/utils/digests.d.ts +6 -0
  598. package/dist/types/shared-ts/src/utils/domainIds.d.ts +140 -0
  599. package/dist/types/shared-ts/src/utils/domainIds.typecheck.d.ts +2 -0
  600. package/dist/types/shared-ts/src/utils/ecdsaCapabilityActivation.d.ts +29 -0
  601. package/dist/types/shared-ts/src/utils/ecdsaKeyFactsInventory.d.ts +24 -0
  602. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +30 -0
  603. package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +31 -0
  604. package/dist/types/shared-ts/src/utils/encoders.d.ts +3 -0
  605. package/dist/types/shared-ts/src/utils/errors.d.ts +44 -0
  606. package/dist/types/shared-ts/src/utils/evmRpcResults.d.ts +31 -0
  607. package/dist/types/shared-ts/src/utils/generated/routerAbEd25519YaoCore.d.ts +128 -0
  608. package/dist/types/shared-ts/src/utils/index.d.ts +34 -0
  609. package/dist/types/shared-ts/src/utils/jsonRpc.d.ts +30 -0
  610. package/dist/types/shared-ts/src/utils/keccak.d.ts +2 -0
  611. package/dist/types/shared-ts/src/utils/near.d.ts +81 -0
  612. package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +101 -0
  613. package/dist/types/shared-ts/src/utils/normalize.d.ts +57 -0
  614. package/dist/types/shared-ts/src/utils/paillier.d.ts +37 -0
  615. package/dist/types/shared-ts/src/utils/recoveryDomain.d.ts +12 -0
  616. package/dist/types/shared-ts/src/utils/registrationEstablishedSession.d.ts +85 -0
  617. package/dist/types/shared-ts/src/utils/registrationIntent.d.ts +621 -0
  618. package/dist/types/shared-ts/src/utils/registrationIntent.typecheck.d.ts +2 -0
  619. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +715 -0
  620. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.typecheck.d.ts +2 -0
  621. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivationRefresh.typecheck.d.ts +2 -0
  622. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +339 -0
  623. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.typecheck.d.ts +2 -0
  624. package/dist/types/shared-ts/src/utils/routerAbNormalSigningIdentity.d.ts +71 -0
  625. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +51 -0
  626. package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +16 -0
  627. package/dist/types/shared-ts/src/utils/secureRandomId.d.ts +6 -0
  628. package/dist/types/shared-ts/src/utils/signerDomain.d.ts +75 -0
  629. package/dist/types/shared-ts/src/utils/signerDomain.typecheck.d.ts +2 -0
  630. package/dist/types/shared-ts/src/utils/signerSlot.d.ts +11 -0
  631. package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +153 -0
  632. package/dist/types/shared-ts/src/utils/signingSessionSeal.typecheck.d.ts +2 -0
  633. package/dist/types/shared-ts/src/utils/theme.d.ts +2 -0
  634. package/dist/types/shared-ts/src/utils/thresholdEcdsaKeyHandle.d.ts +11 -0
  635. package/dist/types/shared-ts/src/utils/validation.d.ts +35 -0
  636. package/dist/types/shared-ts/src/utils/walletAddSignerActivation.d.ts +23 -0
  637. package/dist/types/shared-ts/src/utils/walletAuthAuthority.d.ts +150 -0
  638. package/dist/types/shared-ts/src/utils/walletAuthAuthority.typecheck.d.ts +2 -0
  639. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +106 -0
  640. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.typecheck.d.ts +2 -0
  641. package/dist/types/shared-ts/src/utils/walletSessionFailure.d.ts +13 -0
  642. package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +48 -0
  643. package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +56 -0
  644. package/dist/types/shared-ts/src/wallet-recovery/index.d.ts +10 -0
  645. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeAttempt.d.ts +59 -0
  646. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeIssuance.d.ts +37 -0
  647. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeLocator.d.ts +22 -0
  648. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +79 -0
  649. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodes.d.ts +11 -0
  650. package/dist/types/shared-ts/src/wallet-recovery/recoveryEnvelopes.d.ts +42 -0
  651. package/dist/types/shared-ts/src/wallet-recovery/recoveryKekContext.d.ts +37 -0
  652. package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +58 -0
  653. package/dist/types/shared-ts/src/wallet-recovery/walletRecovery.typecheck.d.ts +2 -0
  654. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.d.ts +110 -0
  655. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.d.ts +29 -0
  656. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.d.ts +115 -0
  657. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryRotation.d.ts +18 -0
  658. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryTarget.d.ts +12 -0
  659. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryTarget.typecheck.d.ts +2 -0
  660. package/dist/types/wallet-server/src/authorization/capabilityPolicy.d.ts +45 -0
  661. package/dist/types/wallet-server/src/authorization/capabilityPolicy.typecheck.d.ts +2 -0
  662. package/dist/types/wallet-server/src/authorization/domain.d.ts +454 -0
  663. package/dist/types/wallet-server/src/authorization/domain.typecheck.d.ts +2 -0
  664. package/dist/types/wallet-server/src/authorization/factorEvidence.d.ts +165 -0
  665. package/dist/types/wallet-server/src/authorization/factorEvidence.typecheck.d.ts +2 -0
  666. package/dist/types/wallet-server/src/authorization/service.d.ts +227 -0
  667. package/dist/types/wallet-server/src/authorization/vaultProxyUse.d.ts +75 -0
  668. package/dist/types/wallet-server/src/cloud-host.d.ts +94 -0
  669. package/dist/types/wallet-server/src/core/AuthService.d.ts +3 -0
  670. package/dist/types/wallet-server/src/core/EmailOtpRecords.d.ts +33 -0
  671. package/dist/types/wallet-server/src/core/EmailOtpStores.d.ts +336 -0
  672. package/dist/types/wallet-server/src/core/IdentityStore.d.ts +57 -0
  673. package/dist/types/wallet-server/src/core/NearPublicKeyStore.d.ts +58 -0
  674. package/dist/types/wallet-server/src/core/RegistrationCeremonyStore.d.ts +551 -0
  675. package/dist/types/wallet-server/src/core/SessionService.d.ts +70 -0
  676. package/dist/types/wallet-server/src/core/ThresholdService/config.d.ts +23 -0
  677. package/dist/types/wallet-server/src/core/ThresholdService/ecdsaClientRootProof.d.ts +12 -0
  678. package/dist/types/wallet-server/src/core/ThresholdService/evmCryptoWasm.d.ts +32 -0
  679. package/dist/types/wallet-server/src/core/ThresholdService/index.d.ts +4 -0
  680. package/dist/types/wallet-server/src/core/ThresholdService/kv.d.ts +52 -0
  681. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.d.ts +45 -0
  682. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillLiveSession.d.ts +93 -0
  683. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.d.ts +138 -0
  684. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/internalServiceHttp.d.ts +30 -0
  685. package/dist/types/wallet-server/src/core/ThresholdService/routerAbEcdsaSigningWorkerWasm.d.ts +17 -0
  686. package/dist/types/wallet-server/src/core/ThresholdService/routerAbNormalSigningPolicy.d.ts +21 -0
  687. package/dist/types/wallet-server/src/core/ThresholdService/secureRandomId.d.ts +2 -0
  688. package/dist/types/wallet-server/src/core/ThresholdService/stores/CloudflareDurableObjectStore.d.ts +128 -0
  689. package/dist/types/wallet-server/src/core/ThresholdService/stores/EcdsaSigningStore.d.ts +76 -0
  690. package/dist/types/wallet-server/src/core/ThresholdService/stores/KeyStore.d.ts +39 -0
  691. package/dist/types/wallet-server/src/core/ThresholdService/stores/SessionStore.d.ts +102 -0
  692. package/dist/types/wallet-server/src/core/ThresholdService/stores/StoreConfig.d.ts +3 -0
  693. package/dist/types/wallet-server/src/core/ThresholdService/stores/ThresholdStoreConfig.typecheck.d.ts +2 -0
  694. package/dist/types/wallet-server/src/core/ThresholdService/stores/WalletSessionStore.d.ts +98 -0
  695. package/dist/types/wallet-server/src/core/ThresholdService/thresholdEd25519AuthorityScope.typecheck.d.ts +2 -0
  696. package/dist/types/wallet-server/src/core/ThresholdService/validation.d.ts +193 -0
  697. package/dist/types/wallet-server/src/core/WalletAuthMethodStore.d.ts +12 -0
  698. package/dist/types/wallet-server/src/core/WalletStore.d.ts +143 -0
  699. package/dist/types/wallet-server/src/core/WalletStore.typecheck.d.ts +2 -0
  700. package/dist/types/wallet-server/src/core/WebAuthnAuthenticatorStore.d.ts +62 -0
  701. package/dist/types/wallet-server/src/core/WebAuthnCredentialBindingStore.d.ts +116 -0
  702. package/dist/types/wallet-server/src/core/WebAuthnCredentialBindingStore.typecheck.d.ts +13 -0
  703. package/dist/types/wallet-server/src/core/WebAuthnLoginChallengeStore.d.ts +50 -0
  704. package/dist/types/wallet-server/src/core/WebAuthnSyncChallengeStore.d.ts +50 -0
  705. package/dist/types/wallet-server/src/core/authService/AuthService.d.ts +493 -0
  706. package/dist/types/wallet-server/src/core/authService/bytes.d.ts +4 -0
  707. package/dist/types/wallet-server/src/core/authService/configValues.d.ts +7 -0
  708. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeOperations.d.ts +108 -0
  709. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeProof.d.ts +177 -0
  710. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeVerification.d.ts +46 -0
  711. package/dist/types/wallet-server/src/core/authService/emailOtpChallenges.d.ts +110 -0
  712. package/dist/types/wallet-server/src/core/authService/emailOtpConfig.d.ts +34 -0
  713. package/dist/types/wallet-server/src/core/authService/emailOtpDelivery.d.ts +65 -0
  714. package/dist/types/wallet-server/src/core/authService/emailOtpEnrollment.d.ts +79 -0
  715. package/dist/types/wallet-server/src/core/authService/emailOtpGrant.d.ts +42 -0
  716. package/dist/types/wallet-server/src/core/authService/emailOtpRegistrationEnrollment.d.ts +116 -0
  717. package/dist/types/wallet-server/src/core/authService/emailOtpSeal.d.ts +35 -0
  718. package/dist/types/wallet-server/src/core/authService/emailOtpUnlock.d.ts +70 -0
  719. package/dist/types/wallet-server/src/core/authService/githubOAuth.d.ts +35 -0
  720. package/dist/types/wallet-server/src/core/authService/googleEmailOtpErrors.d.ts +2 -0
  721. package/dist/types/wallet-server/src/core/authService/googleEmailOtpOperations.d.ts +126 -0
  722. package/dist/types/wallet-server/src/core/authService/googleEmailOtpRegistration.d.ts +172 -0
  723. package/dist/types/wallet-server/src/core/authService/identity.d.ts +25 -0
  724. package/dist/types/wallet-server/src/core/authService/identityOperations.d.ts +19 -0
  725. package/dist/types/wallet-server/src/core/authService/nearAccountOperations.d.ts +55 -0
  726. package/dist/types/wallet-server/src/core/authService/nearPrivateKeySigning.d.ts +16 -0
  727. package/dist/types/wallet-server/src/core/authService/nearPublicKeyMetadata.d.ts +43 -0
  728. package/dist/types/wallet-server/src/core/authService/nearTransactions.d.ts +49 -0
  729. package/dist/types/wallet-server/src/core/authService/oidcVerification.d.ts +65 -0
  730. package/dist/types/wallet-server/src/core/authService/portableCrypto.d.ts +3 -0
  731. package/dist/types/wallet-server/src/core/authService/rateLimits.d.ts +30 -0
  732. package/dist/types/wallet-server/src/core/authService/record.d.ts +2 -0
  733. package/dist/types/wallet-server/src/core/authService/registrationThresholdHelpers.d.ts +37 -0
  734. package/dist/types/wallet-server/src/core/authService/runtime.d.ts +20 -0
  735. package/dist/types/wallet-server/src/core/authService/signerWasmUrls.d.ts +3 -0
  736. package/dist/types/wallet-server/src/core/authService/storeRegistry.d.ts +58 -0
  737. package/dist/types/wallet-server/src/core/authService/thresholdEcdsaKeyInventory.d.ts +72 -0
  738. package/dist/types/wallet-server/src/core/authService/thresholdRuntimePolicy.d.ts +4 -0
  739. package/dist/types/wallet-server/src/core/authService/thresholdStoreSummary.d.ts +3 -0
  740. package/dist/types/wallet-server/src/core/authService/walletRegistrationPlanning.d.ts +19 -0
  741. package/dist/types/wallet-server/src/core/authService/wasm.d.ts +12 -0
  742. package/dist/types/wallet-server/src/core/authService/webauthn.d.ts +207 -0
  743. package/dist/types/wallet-server/src/core/authService/webauthnAuthority.d.ts +5 -0
  744. package/dist/types/wallet-server/src/core/authService/webauthnOidcHelpers.d.ts +52 -0
  745. package/dist/types/wallet-server/src/core/authService/webauthnWalletBinding.d.ts +48 -0
  746. package/dist/types/wallet-server/src/core/config.d.ts +13 -0
  747. package/dist/types/wallet-server/src/core/d1IdentityStore.d.ts +44 -0
  748. package/dist/types/wallet-server/src/core/d1WalletAuthMethodStore.d.ts +214 -0
  749. package/dist/types/wallet-server/src/core/d1WalletStore.d.ts +108 -0
  750. package/dist/types/wallet-server/src/core/defaultConfigsServer.d.ts +5 -0
  751. package/dist/types/wallet-server/src/core/deviceLinking/index.d.ts +5 -0
  752. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceEd25519ExportRoot.d.ts +36 -0
  753. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceEmailOtpGrant.d.ts +87 -0
  754. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceManagement.d.ts +137 -0
  755. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSession.d.ts +462 -0
  756. package/dist/types/wallet-server/src/core/deviceLinking/requestProof.d.ts +55 -0
  757. package/dist/types/wallet-server/src/core/errors.d.ts +10 -0
  758. package/dist/types/wallet-server/src/core/hostedAccountIds.d.ts +31 -0
  759. package/dist/types/wallet-server/src/core/keyMaterialBrands.d.ts +28 -0
  760. package/dist/types/wallet-server/src/core/keyMaterialBrands.typecheck.d.ts +2 -0
  761. package/dist/types/wallet-server/src/core/logger.d.ts +21 -0
  762. package/dist/types/wallet-server/src/core/nearKeys.d.ts +3 -0
  763. package/dist/types/wallet-server/src/core/nearRelayerAccountProvisioning.d.ts +78 -0
  764. package/dist/types/wallet-server/src/core/nearSignerWasmRuntime.d.ts +3 -0
  765. package/dist/types/wallet-server/src/core/registrationContracts.d.ts +747 -0
  766. package/dist/types/wallet-server/src/core/registrationRequests.typecheck.d.ts +2 -0
  767. package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbEcdsaPresignRuntime.d.ts +53 -0
  768. package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbNormalSigningRuntime.d.ts +71 -0
  769. package/dist/types/wallet-server/src/core/routerAbSigning/createCloudflareDurableObjectRouterAbSigningRuntimes.d.ts +28 -0
  770. package/dist/types/wallet-server/src/core/routerAbSigning/createRouterAbSigningRuntimes.d.ts +16 -0
  771. package/dist/types/wallet-server/src/core/rpcClients/near/NearClient.d.ts +134 -0
  772. package/dist/types/wallet-server/src/core/sessionValidation.d.ts +9 -0
  773. package/dist/types/wallet-server/src/core/signingLanes/LaneAggregateRevocationApplicationService.d.ts +35 -0
  774. package/dist/types/wallet-server/src/core/signingLanes/LaneEffectJournalStore.d.ts +63 -0
  775. package/dist/types/wallet-server/src/core/signingLanes/LaneEnrollmentActivation.d.ts +13 -0
  776. package/dist/types/wallet-server/src/core/signingLanes/LaneEnrollmentRevocation.d.ts +24 -0
  777. package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleApplicationService.d.ts +141 -0
  778. package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleStore.d.ts +229 -0
  779. package/dist/types/wallet-server/src/core/signingLanes/SigningLaneStore.d.ts +15 -0
  780. package/dist/types/wallet-server/src/core/signingLanes/WalletExecutionLaneProjection.d.ts +59 -0
  781. package/dist/types/wallet-server/src/core/signingLanes/WalletKeyStore.d.ts +13 -0
  782. package/dist/types/wallet-server/src/core/signingLanes/ecdsaServerRetirement.d.ts +58 -0
  783. package/dist/types/wallet-server/src/core/signingLanes/ed25519ServerRetirement.d.ts +30 -0
  784. package/dist/types/wallet-server/src/core/signingLanes/index.d.ts +11 -0
  785. package/dist/types/wallet-server/src/core/signingLanes/signingWorkerLaneMaterialIdentity.d.ts +21 -0
  786. package/dist/types/wallet-server/src/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.d.ts +155 -0
  787. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.d.ts +442 -0
  788. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.typecheck.d.ts +58 -0
  789. package/dist/types/wallet-server/src/core/thresholdEcdsaChainTarget.d.ts +15 -0
  790. package/dist/types/wallet-server/src/core/types.d.ts +757 -0
  791. package/dist/types/wallet-server/src/core/utils.d.ts +3 -0
  792. package/dist/types/wallet-server/src/delegateAction/index.d.ts +88 -0
  793. package/dist/types/wallet-server/src/hosted-wallet-gateway-worker.d.ts +10 -0
  794. package/dist/types/wallet-server/src/hosted-wallet-gateway.d.ts +126 -0
  795. package/dist/types/wallet-server/src/index.d.ts +34 -0
  796. package/dist/types/wallet-server/src/local-hosted-wallet-gateway-worker.d.ts +13 -0
  797. package/dist/types/wallet-server/src/router/auth/authRequestValidation.d.ts +97 -0
  798. package/dist/types/wallet-server/src/router/auth/commonRouterUtils.d.ts +142 -0
  799. package/dist/types/wallet-server/src/router/auth/routerApiCredentialAuth.d.ts +26 -0
  800. package/dist/types/wallet-server/src/router/auth/routerApiKeyAuth.d.ts +16 -0
  801. package/dist/types/wallet-server/src/router/auth/walletSessionFailure.d.ts +14 -0
  802. package/dist/types/wallet-server/src/router/auth/webAuthnCredentialCodecs.d.ts +20 -0
  803. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthBoundary.d.ts +28 -0
  804. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthConfig.d.ts +192 -0
  805. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthService.d.ts +13 -0
  806. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1AuthorizationStore.d.ts +174 -0
  807. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1VaultProxyStore.d.ts +13 -0
  808. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/walletSessionAuthorityProjection.d.ts +24 -0
  809. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.d.ts +241 -0
  810. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEd25519ExportRootStore.d.ts +23 -0
  811. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.d.ts +32 -0
  812. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.d.ts +118 -0
  813. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceManagementService.d.ts +22 -0
  814. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.d.ts +80 -0
  815. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.d.ts +29 -0
  816. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRouteService.d.ts +17 -0
  817. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.d.ts +37 -0
  818. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionService.d.ts +12 -0
  819. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.d.ts +149 -0
  820. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSourceContributionPreparationPlanner.d.ts +38 -0
  821. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetAuthenticatorStore.d.ts +19 -0
  822. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.d.ts +220 -0
  823. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.d.ts +88 -0
  824. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.d.ts +54 -0
  825. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkSourceReader.d.ts +23 -0
  826. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/index.d.ts +15 -0
  827. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.d.ts +33 -0
  828. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.d.ts +6 -0
  829. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoWalletSigner.d.ts +27 -0
  830. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.d.ts +80 -0
  831. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.d.ts +48 -0
  832. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.d.ts +64 -0
  833. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.d.ts +126 -0
  834. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpDeliveryRuntime.d.ts +22 -0
  835. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.d.ts +68 -0
  836. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.d.ts +15 -0
  837. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.d.ts +37 -0
  838. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.d.ts +186 -0
  839. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.d.ts +45 -0
  840. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.d.ts +124 -0
  841. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.d.ts +24 -0
  842. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.d.ts +51 -0
  843. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.d.ts +69 -0
  844. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.d.ts +57 -0
  845. package/dist/types/wallet-server/src/router/cloudflare/d1/identity/d1IdentityRecords.d.ts +38 -0
  846. package/dist/types/wallet-server/src/router/cloudflare/d1/identity/d1IdentityService.d.ts +31 -0
  847. package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1NearPublicKeyStore.d.ts +30 -0
  848. package/dist/types/wallet-server/src/router/cloudflare/d1/oidc/d1OidcBoundary.d.ts +60 -0
  849. package/dist/types/wallet-server/src/router/cloudflare/d1/oidc/d1OidcVerificationService.d.ts +39 -0
  850. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyEnvelopeStore.d.ts +335 -0
  851. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.d.ts +448 -0
  852. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.d.ts +256 -0
  853. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpAttemptStore.d.ts +32 -0
  854. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpRecords.d.ts +116 -0
  855. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpService.d.ts +180 -0
  856. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1EvmFamilyEcdsaRegistrationBranch.d.ts +24 -0
  857. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.d.ts +86 -0
  858. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.d.ts +121 -0
  859. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.d.ts +84 -0
  860. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationIntentService.d.ts +31 -0
  861. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.d.ts +49 -0
  862. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationService.d.ts +369 -0
  863. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetup.d.ts +106 -0
  864. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.d.ts +104 -0
  865. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.d.ts +70 -0
  866. package/dist/types/wallet-server/src/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.d.ts +26 -0
  867. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1EcdsaLanePrivateBindingResolver.d.ts +4 -0
  868. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneAggregateRevocationApplicationService.d.ts +4 -0
  869. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.d.ts +25 -0
  870. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEnrollmentGateway.d.ts +20 -0
  871. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLifecycleApplicationService.d.ts +13 -0
  872. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.d.ts +51 -0
  873. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLockStore.d.ts +28 -0
  874. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneProtocolCommitter.d.ts +5 -0
  875. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneRecords.d.ts +107 -0
  876. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/index.d.ts +10 -0
  877. package/dist/types/wallet-server/src/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.d.ts +118 -0
  878. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.d.ts +114 -0
  879. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.typecheck.d.ts +2 -0
  880. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodBoundary.d.ts +90 -0
  881. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodService.d.ts +359 -0
  882. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorityStore.d.ts +143 -0
  883. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.d.ts +42 -0
  884. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnRecords.d.ts +135 -0
  885. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnStore.d.ts +89 -0
  886. package/dist/types/wallet-server/src/router/cloudflare/durableObjects/thresholdStore.d.ts +19 -0
  887. package/dist/types/wallet-server/src/router/cloudflare/durableObjects/versionedJsonRecordStore.d.ts +32 -0
  888. package/dist/types/wallet-server/src/router/cloudflare/runtime/cloudflare.types.d.ts +30 -0
  889. package/dist/types/wallet-server/src/router/cloudflare/runtime/cloudflareSignerWasm.d.ts +2 -0
  890. package/dist/types/wallet-server/src/router/cloudflare/runtime/createCloudflareRouter.d.ts +5 -0
  891. package/dist/types/wallet-server/src/router/cloudflare/runtime/createSelfHostedCloudflareSigningWorker.d.ts +23 -0
  892. package/dist/types/wallet-server/src/router/cloudflare/runtime/ed25519SessionAdapter.d.ts +16 -0
  893. package/dist/types/wallet-server/src/router/cloudflare/runtime/environment.d.ts +5 -0
  894. package/dist/types/wallet-server/src/router/cloudflare/runtime/routerAbPrewarm.d.ts +9 -0
  895. package/dist/types/wallet-server/src/router/cloudflare/runtime/routerAbServiceBindings.d.ts +11 -0
  896. package/dist/types/wallet-server/src/router/cloudflare/runtime/sessionAdapterRuntime.d.ts +28 -0
  897. package/dist/types/wallet-server/src/router/cloudflare/runtime/staticWalletConsoleBinding.d.ts +27 -0
  898. package/dist/types/wallet-server/src/router/cloudflare/runtime/tenantRootCreationGrant.d.ts +24 -0
  899. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOps.d.ts +143 -0
  900. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOpsClient.d.ts +20 -0
  901. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleTenantRootLineage.d.ts +7 -0
  902. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletControlOps.d.ts +21 -0
  903. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletGateway.d.ts +30 -0
  904. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRuntimeOps.d.ts +64 -0
  905. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRuntimeOpsHandler.d.ts +3 -0
  906. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.d.ts +217 -0
  907. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.d.ts +73 -0
  908. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.d.ts +100 -0
  909. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/index.d.ts +4 -0
  910. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/linkedDeviceEd25519CeremonyBinding.d.ts +6 -0
  911. package/dist/types/wallet-server/src/router/cloudflare-adaptor.d.ts +75 -0
  912. package/dist/types/wallet-server/src/router/domains/ecdsa/routerAbEcdsaStrictRegistration.d.ts +199 -0
  913. package/dist/types/wallet-server/src/router/domains/ecdsa/thresholdEcdsaRequestValidation.d.ts +32 -0
  914. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.d.ts +172 -0
  915. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.typecheck.d.ts +2 -0
  916. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.d.ts +156 -0
  917. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.d.ts +59 -0
  918. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPersistence.d.ts +47 -0
  919. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRunner.d.ts +29 -0
  920. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.d.ts +20 -0
  921. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.d.ts +271 -0
  922. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.d.ts +12 -0
  923. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.d.ts +509 -0
  924. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryActivation.typecheck.d.ts +2 -0
  925. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.d.ts +14 -0
  926. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.d.ts +20 -0
  927. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.d.ts +56 -0
  928. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.d.ts +200 -0
  929. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.d.ts +70 -0
  930. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.d.ts +73 -0
  931. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.d.ts +9 -0
  932. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.d.ts +131 -0
  933. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.typecheck.d.ts +2 -0
  934. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationTwoPhaseRunner.d.ts +62 -0
  935. package/dist/types/wallet-server/src/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.d.ts +17 -0
  936. package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/routerAbEd25519YaoWalletSession.d.ts +178 -0
  937. package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/routerAbEd25519YaoWalletSession.typecheck.d.ts +2 -0
  938. package/dist/types/wallet-server/src/router/domains/ed25519Yao/session/thresholdEd25519RequestValidation.d.ts +19 -0
  939. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpExportPolicy.d.ts +32 -0
  940. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpRequestValidation.d.ts +13 -0
  941. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpRouteHandlers.d.ts +35 -0
  942. package/dist/types/wallet-server/src/router/domains/emailOtp/emailOtpSessionRouteHelpers.d.ts +134 -0
  943. package/dist/types/wallet-server/src/router/domains/passkeyCustody/envelopeRevocationAdmission.d.ts +31 -0
  944. package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.d.ts +85 -0
  945. package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrievalRoute.d.ts +42 -0
  946. package/dist/types/wallet-server/src/router/domains/passkeyCustody/registrationCustodyOutcome.d.ts +38 -0
  947. package/dist/types/wallet-server/src/router/domains/passkeyCustody/verifiedCustodyFactor.d.ts +35 -0
  948. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.d.ts +56 -0
  949. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationCommit.d.ts +65 -0
  950. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryAttempt.d.ts +59 -0
  951. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryFinalization.d.ts +81 -0
  952. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryKeyManifest.d.ts +184 -0
  953. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletRecoveryRotation.d.ts +31 -0
  954. package/dist/types/wallet-server/src/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.d.ts +32 -0
  955. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.d.ts +48 -0
  956. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbPrivateSigningWorker.d.ts +909 -0
  957. package/dist/types/wallet-server/src/router/domains/signingOperations/walletExecutionAdmission.d.ts +104 -0
  958. package/dist/types/wallet-server/src/router/domains/syncAccount/syncAccountRequestValidation.d.ts +30 -0
  959. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootCustodyLineage.d.ts +14 -0
  960. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootEcdsaWalletSessionComposition.d.ts +35 -0
  961. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootEd25519WalletSessionComposition.d.ts +35 -0
  962. package/dist/types/wallet-server/src/router/domains/tenantRoot/tenantRootIdentityResolution.d.ts +56 -0
  963. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationInputs.d.ts +78 -0
  964. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationRoutes.d.ts +91 -0
  965. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationSetupPayload.d.ts +105 -0
  966. package/dist/types/wallet-server/src/router/domains/walletUnlock/walletUnlockRequestedCapabilitiesValidation.d.ts +39 -0
  967. package/dist/types/wallet-server/src/router/domains/walletUnlock/walletUnlockRouteHandlers.d.ts +172 -0
  968. package/dist/types/wallet-server/src/router/express-adaptor.d.ts +22 -0
  969. package/dist/types/wallet-server/src/router/framework/apiCredentialPorts.d.ts +82 -0
  970. package/dist/types/wallet-server/src/router/framework/applyRouteMetering.d.ts +23 -0
  971. package/dist/types/wallet-server/src/router/framework/authServicePort.d.ts +1392 -0
  972. package/dist/types/wallet-server/src/router/framework/enforceRoutePolicy.d.ts +48 -0
  973. package/dist/types/wallet-server/src/router/framework/http.d.ts +12 -0
  974. package/dist/types/wallet-server/src/router/framework/logger.d.ts +5 -0
  975. package/dist/types/wallet-server/src/router/framework/modules.d.ts +17 -0
  976. package/dist/types/wallet-server/src/router/framework/ror/index.d.ts +7 -0
  977. package/dist/types/wallet-server/src/router/framework/ror/normalize.d.ts +14 -0
  978. package/dist/types/wallet-server/src/router/framework/ror/options.d.ts +9 -0
  979. package/dist/types/wallet-server/src/router/framework/ror/provider.d.ts +17 -0
  980. package/dist/types/wallet-server/src/router/framework/ror/staticProvider.d.ts +11 -0
  981. package/dist/types/wallet-server/src/router/framework/routeAuthPolicy.d.ts +34 -0
  982. package/dist/types/wallet-server/src/router/framework/routeDefinitions.d.ts +27 -0
  983. package/dist/types/wallet-server/src/router/framework/routeDefinitions.typecheck.d.ts +2 -0
  984. package/dist/types/wallet-server/src/router/framework/routeExecutionContext.d.ts +29 -0
  985. package/dist/types/wallet-server/src/router/framework/routeExtensions.d.ts +27 -0
  986. package/dist/types/wallet-server/src/router/framework/routeMeteringPolicy.d.ts +17 -0
  987. package/dist/types/wallet-server/src/router/framework/routeRequestValidation.d.ts +5 -0
  988. package/dist/types/wallet-server/src/router/framework/routeResponses.d.ts +17 -0
  989. package/dist/types/wallet-server/src/router/framework/routerApi.d.ts +221 -0
  990. package/dist/types/wallet-server/src/router/framework/routerApiRouteSurface.d.ts +14 -0
  991. package/dist/types/wallet-server/src/router/framework/routerApiWebhooks.d.ts +12 -0
  992. package/dist/types/wallet-server/src/router/framework/runtimeSnapshotConsumer.d.ts +28 -0
  993. package/dist/types/wallet-server/src/router/framework/versionedJsonRecordStore.d.ts +20 -0
  994. package/dist/types/wallet-server/src/router/ror-adaptor.d.ts +3 -0
  995. package/dist/types/wallet-server/src/router/transport/fetch/createFetchRouter.d.ts +8 -0
  996. package/dist/types/wallet-server/src/router/transport/fetch/fetchRouter.types.d.ts +23 -0
  997. package/dist/types/wallet-server/src/router/transport/fetch/routes/auth.d.ts +3 -0
  998. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinking.d.ts +202 -0
  999. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.d.ts +92 -0
  1000. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceManagement.d.ts +29 -0
  1001. package/dist/types/wallet-server/src/router/transport/fetch/routes/health.d.ts +4 -0
  1002. package/dist/types/wallet-server/src/router/transport/fetch/routes/nearPublicKeys.d.ts +3 -0
  1003. package/dist/types/wallet-server/src/router/transport/fetch/routes/normalSigningRouterProxy.d.ts +33 -0
  1004. package/dist/types/wallet-server/src/router/transport/fetch/routes/passkeyCustody.d.ts +66 -0
  1005. package/dist/types/wallet-server/src/router/transport/fetch/routes/sessions.d.ts +31 -0
  1006. package/dist/types/wallet-server/src/router/transport/fetch/routes/syncAccount.d.ts +3 -0
  1007. package/dist/types/wallet-server/src/router/transport/fetch/routes/syncAccountBootstrap.d.ts +128 -0
  1008. package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEcdsa.d.ts +87 -0
  1009. package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEd25519.d.ts +47 -0
  1010. package/dist/types/wallet-server/src/router/transport/fetch/routes/walletExecutionLanePreflight.d.ts +4 -0
  1011. package/dist/types/wallet-server/src/router/transport/fetch/routes/walletRegistration.d.ts +3 -0
  1012. package/dist/types/wallet-server/src/router/transport/fetch/routes/webauthnAuthenticators.d.ts +3 -0
  1013. package/dist/types/wallet-server/src/router/transport/fetch/routes/wellKnown.d.ts +3 -0
  1014. package/dist/types/wallet-server/src/storage/d1Sql.d.ts +14 -0
  1015. package/dist/types/wallet-server/src/storage/tenantRoute.d.ts +136 -0
  1016. package/dist/types/wallet-server/src/storage/tenantRoute.typecheck.d.ts +2 -0
  1017. package/dist/types/wallet-server/src/tenant-root.d.ts +5 -0
  1018. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/crypto/cipher.d.ts +45 -0
  1019. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/crypto/shamir3PassWasm.d.ts +16 -0
  1020. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/guards/backends.d.ts +23 -0
  1021. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/guards/index.d.ts +46 -0
  1022. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/idempotency.d.ts +3 -0
  1023. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/idempotencyBackends.d.ts +24 -0
  1024. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/idempotencyRecords.d.ts +22 -0
  1025. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/index.d.ts +23 -0
  1026. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/observability/audit.d.ts +9 -0
  1027. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/options.d.ts +9 -0
  1028. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/routesOptions.d.ts +20 -0
  1029. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/service.d.ts +3 -0
  1030. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/signingSessionSeal.typecheck.d.ts +2 -0
  1031. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/signingSessionSeal.types.d.ts +148 -0
  1032. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/transport/express.d.ts +12 -0
  1033. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/transport/fetch.d.ts +13 -0
  1034. package/dist/types/wallet-server/src/threshold/session/signingSessionSeal/transport/shared.d.ts +24 -0
  1035. package/dist/types/wallet-server/src/threshold/statusCodes.d.ts +10 -0
  1036. package/dist/types/wallet-server/src/wasm/signer.d.ts +8 -0
  1037. package/migrations/d1-signer/0001_signer_d1_initial.sql +2486 -0
  1038. package/migrations/d1-signer/0002_signer_post_103_canonical_upgrade.sql +1576 -0
  1039. package/migrations/d1-signer/0003_r107_wallet_authorization.sql +299 -0
  1040. package/migrations/d1-signer/0004_remove_legacy_email_recovery.sql +14 -0
  1041. package/migrations/d1-signer/0005_r103p8_linked_owner_auth_bindings.sql +92 -0
  1042. package/migrations/d1-signer/0006_r103p8_linked_device_custody_transfers.sql +77 -0
  1043. package/migrations/d1-signer/0007_r103p8_wallet_session_auth_method_provenance.sql +18 -0
  1044. package/migrations/d1-signer/0008_r103p8_linked_device_session_cas_guard.sql +35 -0
  1045. package/migrations/d1-signer/0009_linked_device_email_otp.sql +405 -0
  1046. package/migrations/d1-signer/0010_linked_device_session_target_factor.sql +78 -0
  1047. package/migrations/d1-signer/0011_linked_device_ed25519_export_root.sql +9 -0
  1048. package/migrations/d1-signer/0012_versioned_json_cas_guard.sql +3 -0
  1049. package/migrations/d1-signer/0013_linked_device_export_authorization.sql +133 -0
  1050. package/migrations/d1-signer/0014_wallet_recovery_code_locators.sql +19 -0
  1051. package/migrations/d1-signer/0015_r103e_authority_baseline.sql +259 -0
  1052. package/migrations/d1-signer/0016_r103e_wallet_session_authorizations_v2.sql +133 -0
  1053. package/migrations/d1-signer/0017_r103e_link_session_state.sql +83 -0
  1054. package/migrations/d1-signer/0018_r103e_linked_device_authority_installations.sql +34 -0
  1055. package/migrations/d1-signer/0019_r103e_email_otp_device_methods.sql +3 -0
  1056. package/migrations/d1-signer/0020_r103e_wallet_session_operation_credentials.sql +12 -0
  1057. package/migrations/d1-signer/0021_linked_device_source_contribution_transcripts.sql +64 -0
  1058. package/migrations/d1-signer/0022_r109c_multi_auth_email_cardinality.sql +118 -0
  1059. package/migrations/d1-signer/0023_r109d_first_email_linked_device.sql +111 -0
  1060. package/migrations/d1-signer/0024_r103f_v2_authorized_operation_claim.sql +99 -0
  1061. package/migrations/d1-signer/0025_r109d_email_enrollment_wallet_cardinality.sql +57 -0
  1062. package/migrations/d1-signer/0026_r115_wallet_recovery_authority_provenance.sql +253 -0
  1063. package/migrations/d1-signer/0027_r115_email_otp_recovery_bootstrap.sql +90 -0
  1064. package/migrations/d1-signer/0028_r103f_phase1_additive_schema_bridge.sql +1119 -0
  1065. package/migrations/d1-signer/0029_r103f_phase0_registration_replay_tokens.sql +135 -0
  1066. package/migrations/d1-signer/0030_r103f_wallet_session_client_capability.sql +17 -0
  1067. package/migrations/d1-signer/0031_r103f_delete_registration_replay_tokens.sql +4 -0
  1068. package/migrations/d1-signer/0032_r103f_exact_authorized_operation_enforcement.sql +149 -0
  1069. package/migrations/d1-signer/0033_r103f_linked_delivery_recipient.sql +6 -0
  1070. package/migrations/d1-signer/0034_r103f_exact_wallet_session_cutover.sql +743 -0
  1071. package/migrations/d1-signer/0035_r103f_linked_delivery_acknowledgement_cleanup_window.sql +413 -0
  1072. package/package.json +132 -0
  1073. package/scripts/d1-local-migrate-signer.mjs +148 -0
  1074. package/src/README.md +75 -0
  1075. package/wrangler.local-hosted-wallet-gateway.toml +37 -0
@@ -0,0 +1,1460 @@
1
+ import { normalizeOptionalTrimmedString } from "../shared-ts/src/utils/normalize.js";
2
+ import { isPlainObject } from "../shared-ts/src/utils/validation.js";
3
+ import { d1ChangedRows, formatD1ExecStatement, resolveD1DatabaseFromConfig } from "../storage/d1Sql.js";
4
+ import "./defaultConfigsServer.js";
5
+ import { parseCurrentEmailOtpAuthStateRecord, parseCurrentEmailOtpAuthStateRow, parseCurrentEmailOtpChallengeRecord, parseCurrentEmailOtpChallengeRow, parseCurrentEmailOtpGrantRecord, parseCurrentEmailOtpGrantRow, parseCurrentEmailOtpUnlockChallengeRecord, parseCurrentEmailOtpUnlockChallengeRow, parseCurrentEmailOtpWalletEnrollmentRecord, parseCurrentEmailOtpWalletEnrollmentRow, parseCurrentGoogleEmailOtpRegistrationAttemptRecord, parseCurrentGoogleEmailOtpRegistrationAttemptRow } from "./EmailOtpRecords.js";
6
+ //#region src/core/EmailOtpStores.ts
7
+ function runtimePolicyScopeKey(scope) {
8
+ if (!scope) return "";
9
+ return `${scope.orgId}\n${scope.projectId}\n${scope.envId}\n${scope.signingRootVersion}`;
10
+ }
11
+ function registrationAttemptMatchesStartedScope(record, input) {
12
+ return record.providerSubject === input.providerSubject && record.email === input.email && record.ownerProofBindingDigest === input.ownerProofBindingDigest && record.runtimePolicyScope?.orgId === input.orgId && runtimePolicyScopeKey(record.runtimePolicyScope) === runtimePolicyScopeKey(input.runtimePolicyScope) && (record.state === "started" || record.state === "key_finalized") && record.expiresAtMs > input.nowMs;
13
+ }
14
+ function registrationAttemptMatchesReplacementScope(record, input) {
15
+ return record.providerSubject === input.providerSubject && record.email === input.email && record.ownerProofBindingDigest !== input.ownerProofBindingDigest && record.runtimePolicyScope?.orgId === input.orgId && runtimePolicyScopeKey(record.runtimePolicyScope) === runtimePolicyScopeKey(input.runtimePolicyScope) && (record.state === "started" || record.state === "key_finalized") && record.expiresAtMs > input.nowMs;
16
+ }
17
+ const EMAIL_OTP_STORE_D1_SCHEMA_SQL = Object.freeze([
18
+ `
19
+ CREATE TABLE IF NOT EXISTS email_otp_challenges (
20
+ namespace TEXT NOT NULL,
21
+ org_id TEXT NOT NULL,
22
+ project_id TEXT NOT NULL,
23
+ env_id TEXT NOT NULL,
24
+ challenge_id TEXT NOT NULL,
25
+ challenge_subject_id TEXT NOT NULL,
26
+ wallet_id TEXT NOT NULL,
27
+ record_org_id TEXT NOT NULL,
28
+ otp_channel TEXT NOT NULL,
29
+ owner_proof_binding_digest TEXT NOT NULL,
30
+ action TEXT NOT NULL,
31
+ operation TEXT NOT NULL,
32
+ otp_code TEXT NOT NULL,
33
+ record_json TEXT NOT NULL,
34
+ created_at_ms INTEGER NOT NULL,
35
+ expires_at_ms INTEGER NOT NULL,
36
+ PRIMARY KEY (namespace, org_id, project_id, env_id, challenge_id),
37
+ CHECK (length(challenge_id) > 0),
38
+ CHECK (length(challenge_subject_id) > 0),
39
+ CHECK (length(wallet_id) > 0),
40
+ CHECK (otp_channel = 'email_otp'),
41
+ CHECK (length(owner_proof_binding_digest) > 0),
42
+ CHECK (length(action) > 0),
43
+ CHECK (length(operation) > 0),
44
+ CHECK (length(otp_code) > 0),
45
+ CHECK (json_valid(record_json)),
46
+ CHECK (created_at_ms > 0),
47
+ CHECK (expires_at_ms > created_at_ms)
48
+ )
49
+ `,
50
+ `
51
+ CREATE INDEX IF NOT EXISTS email_otp_challenges_context_idx
52
+ ON email_otp_challenges (
53
+ namespace,
54
+ org_id,
55
+ project_id,
56
+ env_id,
57
+ challenge_subject_id,
58
+ wallet_id,
59
+ record_org_id,
60
+ otp_channel,
61
+ owner_proof_binding_digest,
62
+ action,
63
+ operation,
64
+ expires_at_ms
65
+ )
66
+ `,
67
+ `
68
+ CREATE INDEX IF NOT EXISTS email_otp_challenges_expires_idx
69
+ ON email_otp_challenges (
70
+ namespace,
71
+ org_id,
72
+ project_id,
73
+ env_id,
74
+ expires_at_ms
75
+ )
76
+ `,
77
+ `
78
+ CREATE TABLE IF NOT EXISTS email_otp_grants (
79
+ namespace TEXT NOT NULL,
80
+ org_id TEXT NOT NULL,
81
+ project_id TEXT NOT NULL,
82
+ env_id TEXT NOT NULL,
83
+ grant_token TEXT NOT NULL,
84
+ user_id TEXT NOT NULL,
85
+ wallet_id TEXT NOT NULL,
86
+ record_org_id TEXT NOT NULL,
87
+ challenge_id TEXT NOT NULL,
88
+ action TEXT NOT NULL,
89
+ record_json TEXT NOT NULL,
90
+ issued_at_ms INTEGER NOT NULL,
91
+ expires_at_ms INTEGER NOT NULL,
92
+ PRIMARY KEY (namespace, org_id, project_id, env_id, grant_token),
93
+ CHECK (length(grant_token) > 0),
94
+ CHECK (length(user_id) > 0),
95
+ CHECK (length(wallet_id) > 0),
96
+ CHECK (length(challenge_id) > 0),
97
+ CHECK (length(action) > 0),
98
+ CHECK (json_valid(record_json)),
99
+ CHECK (issued_at_ms > 0),
100
+ CHECK (expires_at_ms > issued_at_ms)
101
+ )
102
+ `,
103
+ `
104
+ CREATE INDEX IF NOT EXISTS email_otp_grants_expires_idx
105
+ ON email_otp_grants (
106
+ namespace,
107
+ org_id,
108
+ project_id,
109
+ env_id,
110
+ expires_at_ms
111
+ )
112
+ `,
113
+ `
114
+ CREATE TABLE IF NOT EXISTS email_otp_wallet_enrollments (
115
+ namespace TEXT NOT NULL,
116
+ org_id TEXT NOT NULL,
117
+ project_id TEXT NOT NULL,
118
+ env_id TEXT NOT NULL,
119
+ wallet_id TEXT NOT NULL,
120
+ provider_user_id TEXT NOT NULL,
121
+ record_org_id TEXT NOT NULL,
122
+ verified_email TEXT NOT NULL,
123
+ record_json TEXT NOT NULL,
124
+ created_at_ms INTEGER NOT NULL,
125
+ updated_at_ms INTEGER NOT NULL,
126
+ PRIMARY KEY (namespace, org_id, project_id, env_id, wallet_id),
127
+ CHECK (length(wallet_id) > 0),
128
+ CHECK (length(provider_user_id) > 0),
129
+ CHECK (length(record_org_id) > 0),
130
+ CHECK (length(verified_email) > 0),
131
+ CHECK (json_valid(record_json)),
132
+ CHECK (created_at_ms > 0),
133
+ CHECK (updated_at_ms > 0)
134
+ )
135
+ `,
136
+ `
137
+ CREATE INDEX IF NOT EXISTS email_otp_wallet_enrollments_provider_idx
138
+ ON email_otp_wallet_enrollments (
139
+ namespace,
140
+ org_id,
141
+ project_id,
142
+ env_id,
143
+ record_org_id,
144
+ provider_user_id,
145
+ updated_at_ms
146
+ )
147
+ `,
148
+ `
149
+ CREATE TABLE IF NOT EXISTS email_otp_auth_states (
150
+ namespace TEXT NOT NULL,
151
+ org_id TEXT NOT NULL,
152
+ project_id TEXT NOT NULL,
153
+ env_id TEXT NOT NULL,
154
+ wallet_id TEXT NOT NULL,
155
+ provider_user_id TEXT NOT NULL,
156
+ record_org_id TEXT NOT NULL,
157
+ record_json TEXT NOT NULL,
158
+ created_at_ms INTEGER NOT NULL,
159
+ updated_at_ms INTEGER NOT NULL,
160
+ PRIMARY KEY (namespace, org_id, project_id, env_id, wallet_id),
161
+ CHECK (length(wallet_id) > 0),
162
+ CHECK (length(provider_user_id) > 0),
163
+ CHECK (length(record_org_id) > 0),
164
+ CHECK (json_valid(record_json)),
165
+ CHECK (created_at_ms > 0),
166
+ CHECK (updated_at_ms > 0)
167
+ )
168
+ `,
169
+ `
170
+ CREATE TABLE IF NOT EXISTS email_otp_unlock_challenges (
171
+ namespace TEXT NOT NULL,
172
+ org_id TEXT NOT NULL,
173
+ project_id TEXT NOT NULL,
174
+ env_id TEXT NOT NULL,
175
+ challenge_id TEXT NOT NULL,
176
+ wallet_id TEXT NOT NULL,
177
+ user_id TEXT NOT NULL,
178
+ record_org_id TEXT NOT NULL,
179
+ record_json TEXT NOT NULL,
180
+ created_at_ms INTEGER NOT NULL,
181
+ expires_at_ms INTEGER NOT NULL,
182
+ PRIMARY KEY (namespace, org_id, project_id, env_id, challenge_id),
183
+ CHECK (length(challenge_id) > 0),
184
+ CHECK (length(wallet_id) > 0),
185
+ CHECK (length(user_id) > 0),
186
+ CHECK (json_valid(record_json)),
187
+ CHECK (created_at_ms > 0),
188
+ CHECK (expires_at_ms > created_at_ms)
189
+ )
190
+ `,
191
+ `
192
+ CREATE INDEX IF NOT EXISTS email_otp_unlock_challenges_expires_idx
193
+ ON email_otp_unlock_challenges (
194
+ namespace,
195
+ org_id,
196
+ project_id,
197
+ env_id,
198
+ expires_at_ms
199
+ )
200
+ `,
201
+ `
202
+ CREATE TABLE IF NOT EXISTS email_otp_registration_attempts (
203
+ namespace TEXT NOT NULL,
204
+ org_id TEXT NOT NULL,
205
+ project_id TEXT NOT NULL,
206
+ env_id TEXT NOT NULL,
207
+ attempt_id TEXT NOT NULL,
208
+ provider_subject TEXT NOT NULL,
209
+ email TEXT NOT NULL,
210
+ wallet_id TEXT NOT NULL,
211
+ state TEXT NOT NULL,
212
+ owner_proof_binding_digest TEXT NOT NULL,
213
+ runtime_org_id TEXT NOT NULL,
214
+ runtime_policy_key TEXT NOT NULL,
215
+ offer_wallet_ids_json TEXT NOT NULL,
216
+ record_json TEXT NOT NULL,
217
+ created_at_ms INTEGER NOT NULL,
218
+ updated_at_ms INTEGER NOT NULL,
219
+ expires_at_ms INTEGER NOT NULL,
220
+ PRIMARY KEY (namespace, org_id, project_id, env_id, attempt_id),
221
+ CHECK (length(attempt_id) > 0),
222
+ CHECK (length(provider_subject) > 0),
223
+ CHECK (length(email) > 0),
224
+ CHECK (length(wallet_id) > 0),
225
+ CHECK (state IN ('started', 'key_finalized', 'active', 'abandoned', 'failed', 'expired')),
226
+ CHECK (length(owner_proof_binding_digest) > 0),
227
+ CHECK (json_valid(offer_wallet_ids_json)),
228
+ CHECK (json_valid(record_json)),
229
+ CHECK (created_at_ms > 0),
230
+ CHECK (updated_at_ms > 0),
231
+ CHECK (expires_at_ms > 0)
232
+ )
233
+ `,
234
+ `
235
+ CREATE INDEX IF NOT EXISTS email_otp_registration_attempts_subject_idx
236
+ ON email_otp_registration_attempts (
237
+ namespace,
238
+ org_id,
239
+ project_id,
240
+ env_id,
241
+ provider_subject,
242
+ email,
243
+ state,
244
+ expires_at_ms,
245
+ owner_proof_binding_digest,
246
+ runtime_org_id,
247
+ runtime_policy_key,
248
+ updated_at_ms
249
+ )
250
+ `,
251
+ `
252
+ CREATE INDEX IF NOT EXISTS email_otp_registration_attempts_wallet_idx
253
+ ON email_otp_registration_attempts (
254
+ namespace,
255
+ org_id,
256
+ project_id,
257
+ env_id,
258
+ wallet_id,
259
+ state,
260
+ expires_at_ms
261
+ )
262
+ `
263
+ ]);
264
+ async function ensureEmailOtpStoreD1Schema(options) {
265
+ for (const statement of EMAIL_OTP_STORE_D1_SCHEMA_SQL) await options.database.exec(formatD1ExecStatement(statement));
266
+ }
267
+ function toPrefixWithColon(prefix, defaultPrefix) {
268
+ const p = normalizeOptionalTrimmedString(prefix);
269
+ if (!p) return defaultPrefix;
270
+ return p.endsWith(":") ? p : `${p}:`;
271
+ }
272
+ function resolveEmailOtpStoreNamespace(config) {
273
+ const explicit = normalizeOptionalTrimmedString(config.EMAIL_OTP_PREFIX) || normalizeOptionalTrimmedString(config.EMAIL_OTP_STORE_PREFIX);
274
+ if (explicit) return toPrefixWithColon(explicit, "");
275
+ return `${toPrefixWithColon(normalizeOptionalTrimmedString(config.THRESHOLD_PREFIX) || "w3a", `w3a:`)}email-otp:`;
276
+ }
277
+ function getStoreConfig(input) {
278
+ return isPlainObject(input?.config) ? input.config : {};
279
+ }
280
+ function requireD1ScopeString(input, field) {
281
+ const normalized = normalizeOptionalTrimmedString(input);
282
+ if (!normalized) throw new Error(`${field} is required for D1 Email OTP store`);
283
+ return normalized;
284
+ }
285
+ function normalizeD1EmailOtpStoreOptions(input) {
286
+ return {
287
+ database: input.database,
288
+ namespace: requireD1ScopeString(input.namespace, "namespace"),
289
+ orgId: requireD1ScopeString(input.orgId, "orgId"),
290
+ projectId: requireD1ScopeString(input.projectId, "projectId"),
291
+ envId: requireD1ScopeString(input.envId, "envId"),
292
+ ensureSchema: input.ensureSchema !== false
293
+ };
294
+ }
295
+ function d1ScopeFromConfig(input) {
296
+ return {
297
+ namespace: requireD1ScopeString(input.namespace, "namespace"),
298
+ orgId: requireD1ScopeString(input.config.orgId || input.config.ORG_ID, "orgId"),
299
+ projectId: requireD1ScopeString(input.config.projectId || input.config.PROJECT_ID, "projectId"),
300
+ envId: requireD1ScopeString(input.config.envId || input.config.ENV_ID, "envId")
301
+ };
302
+ }
303
+ function bindD1EmailOtpScope(database, scope, statement, values = []) {
304
+ return database.prepare(statement).bind(scope.namespace, scope.orgId, scope.projectId, scope.envId, ...values);
305
+ }
306
+ function assertD1EmailOtpOrgScope(input) {
307
+ if (!input.recordOrgId) return;
308
+ if (input.recordOrgId !== input.scope.orgId) throw new Error(`${input.label} orgId must match D1 Email OTP store orgId`);
309
+ }
310
+ function resolveD1EmailOtpStoreOptions(input, storeLabel) {
311
+ const config = getStoreConfig(input);
312
+ if (normalizeOptionalTrimmedString(config.kind) !== "d1") return null;
313
+ const database = resolveD1DatabaseFromConfig(config);
314
+ if (!database) throw new Error(`[email-otp] D1 ${storeLabel} store selected but no D1 database was provided`);
315
+ return {
316
+ database,
317
+ ...d1ScopeFromConfig({
318
+ config,
319
+ namespace: resolveEmailOtpStoreNamespace(config)
320
+ })
321
+ };
322
+ }
323
+ function assertEmailOtpStoreKindKnown(input, storeLabel) {
324
+ const kind = normalizeOptionalTrimmedString(getStoreConfig(input).kind);
325
+ if (!kind || kind === "in-memory") return;
326
+ throw new Error(`[email-otp] Unknown ${storeLabel} store kind: ${kind}`);
327
+ }
328
+ function cloneRecord(value) {
329
+ return JSON.parse(JSON.stringify(value));
330
+ }
331
+ function parseJsonRecord(raw) {
332
+ if (typeof raw !== "string") return raw;
333
+ try {
334
+ return JSON.parse(raw);
335
+ } catch {
336
+ return raw;
337
+ }
338
+ }
339
+ function challengeContextMatches(record, input) {
340
+ return record.expiresAtMs > input.nowMs && record.challengeSubjectId === input.challengeSubjectId && record.walletId === input.walletId && String(record.orgId || "") === String(input.orgId || "") && record.otpChannel === input.otpChannel && record.ownerProofBindingDigest === input.ownerProofBindingDigest && record.action === input.action && record.operation === input.operation;
341
+ }
342
+ var InMemoryEmailOtpChallengeStore = class {
343
+ constructor() {
344
+ this.map = /* @__PURE__ */ new Map();
345
+ }
346
+ async put(record) {
347
+ const parsed = parseCurrentEmailOtpChallengeRecord(record);
348
+ if (!parsed) throw new Error("Invalid Email OTP challenge record");
349
+ this.map.set(parsed.challengeId, cloneRecord(parsed));
350
+ }
351
+ async get(challengeId) {
352
+ const id = normalizeOptionalTrimmedString(challengeId);
353
+ if (!id) return null;
354
+ const record = this.map.get(id);
355
+ return record ? cloneRecord(record) : null;
356
+ }
357
+ async deleteExpired(nowMs) {
358
+ const deleted = [];
359
+ for (const [challengeId, record] of this.map.entries()) {
360
+ if (record.expiresAtMs > nowMs) continue;
361
+ this.map.delete(challengeId);
362
+ deleted.push(cloneRecord(record));
363
+ }
364
+ return deleted;
365
+ }
366
+ async countActiveByContext(input) {
367
+ let count = 0;
368
+ for (const record of this.map.values()) {
369
+ if (!challengeContextMatches(record, input)) continue;
370
+ count += 1;
371
+ }
372
+ return count;
373
+ }
374
+ async findLatestActiveByContext(input) {
375
+ let latest = null;
376
+ for (const record of this.map.values()) {
377
+ if (!challengeContextMatches(record, input)) continue;
378
+ if (!latest || record.expiresAtMs > latest.expiresAtMs) latest = record;
379
+ }
380
+ return latest ? cloneRecord(latest) : null;
381
+ }
382
+ async deleteOldestActiveByContext(input) {
383
+ let oldest = null;
384
+ for (const record of this.map.values()) {
385
+ if (!challengeContextMatches(record, input)) continue;
386
+ if (!oldest || record.createdAtMs < oldest.createdAtMs) oldest = record;
387
+ }
388
+ if (!oldest) return null;
389
+ this.map.delete(oldest.challengeId);
390
+ return cloneRecord(oldest);
391
+ }
392
+ async findActiveByContext(input) {
393
+ for (const record of this.map.values()) {
394
+ if (!challengeContextMatches(record, input)) continue;
395
+ if (record.otpCode !== input.otpCode) continue;
396
+ return cloneRecord(record);
397
+ }
398
+ return null;
399
+ }
400
+ async del(challengeId) {
401
+ const id = normalizeOptionalTrimmedString(challengeId);
402
+ if (!id) return;
403
+ this.map.delete(id);
404
+ }
405
+ };
406
+ var InMemoryEmailOtpGrantStore = class {
407
+ constructor() {
408
+ this.map = /* @__PURE__ */ new Map();
409
+ }
410
+ async put(record) {
411
+ const parsed = parseCurrentEmailOtpGrantRecord(record);
412
+ if (!parsed) throw new Error("Invalid Email OTP grant record");
413
+ this.map.set(parsed.grantToken, cloneRecord(parsed));
414
+ }
415
+ async get(grantToken) {
416
+ const token = normalizeOptionalTrimmedString(grantToken);
417
+ if (!token) return null;
418
+ const record = this.map.get(token);
419
+ return record ? cloneRecord(record) : null;
420
+ }
421
+ async consume(grantToken) {
422
+ const token = normalizeOptionalTrimmedString(grantToken);
423
+ if (!token) return null;
424
+ const record = this.map.get(token);
425
+ this.map.delete(token);
426
+ return record ? cloneRecord(record) : null;
427
+ }
428
+ async del(grantToken) {
429
+ const token = normalizeOptionalTrimmedString(grantToken);
430
+ if (!token) return;
431
+ this.map.delete(token);
432
+ }
433
+ };
434
+ var InMemoryEmailOtpWalletEnrollmentStore = class {
435
+ constructor() {
436
+ this.map = /* @__PURE__ */ new Map();
437
+ }
438
+ async get(walletId) {
439
+ const key = normalizeOptionalTrimmedString(walletId);
440
+ if (!key) return null;
441
+ const record = this.map.get(key);
442
+ return record ? cloneRecord(record) : null;
443
+ }
444
+ async getByProviderUserId(input) {
445
+ const providerUserId = normalizeOptionalTrimmedString(input.providerUserId);
446
+ const orgId = normalizeOptionalTrimmedString(input.orgId);
447
+ if (!providerUserId || !orgId) return null;
448
+ const record = Array.from(this.map.values()).find((candidate) => candidate.providerUserId === providerUserId && candidate.orgId === orgId) || null;
449
+ return record ? cloneRecord(record) : null;
450
+ }
451
+ async put(record) {
452
+ const parsed = parseCurrentEmailOtpWalletEnrollmentRecord(record);
453
+ if (!parsed) throw new Error("Invalid Email OTP wallet enrollment record");
454
+ if (Array.from(this.map.values()).find((existing) => existing.walletId !== parsed.walletId && existing.orgId === parsed.orgId && existing.providerUserId === parsed.providerUserId)) throw new Error("Email OTP wallet enrollment already exists for this provider user in org");
455
+ this.map.set(parsed.walletId, cloneRecord(parsed));
456
+ }
457
+ async del(walletId) {
458
+ const key = normalizeOptionalTrimmedString(walletId);
459
+ if (!key) return;
460
+ this.map.delete(key);
461
+ }
462
+ };
463
+ var InMemoryEmailOtpAuthStateStore = class {
464
+ constructor() {
465
+ this.map = /* @__PURE__ */ new Map();
466
+ }
467
+ async get(walletId) {
468
+ const key = normalizeOptionalTrimmedString(walletId);
469
+ if (!key) return null;
470
+ const record = this.map.get(key);
471
+ return record ? cloneRecord(record) : null;
472
+ }
473
+ async put(record) {
474
+ const parsed = parseCurrentEmailOtpAuthStateRecord(record);
475
+ if (!parsed) throw new Error("Invalid Email OTP auth state record");
476
+ this.map.set(parsed.walletId, cloneRecord(parsed));
477
+ }
478
+ async del(walletId) {
479
+ const key = normalizeOptionalTrimmedString(walletId);
480
+ if (!key) return;
481
+ this.map.delete(key);
482
+ }
483
+ };
484
+ var InMemoryEmailOtpUnlockChallengeStore = class {
485
+ constructor() {
486
+ this.map = /* @__PURE__ */ new Map();
487
+ }
488
+ async put(record) {
489
+ const parsed = parseCurrentEmailOtpUnlockChallengeRecord(record);
490
+ if (!parsed) throw new Error("Invalid Email OTP unlock challenge record");
491
+ this.map.set(parsed.challengeId, cloneRecord(parsed));
492
+ }
493
+ async consume(challengeId) {
494
+ const id = normalizeOptionalTrimmedString(challengeId);
495
+ if (!id) return null;
496
+ const record = this.map.get(id);
497
+ this.map.delete(id);
498
+ return record ? cloneRecord(record) : null;
499
+ }
500
+ async del(challengeId) {
501
+ const id = normalizeOptionalTrimmedString(challengeId);
502
+ if (!id) return;
503
+ this.map.delete(id);
504
+ }
505
+ };
506
+ var InMemoryEmailOtpRegistrationAttemptStore = class {
507
+ constructor() {
508
+ this.map = /* @__PURE__ */ new Map();
509
+ }
510
+ async put(record) {
511
+ const parsed = parseCurrentGoogleEmailOtpRegistrationAttemptRecord(record);
512
+ if (!parsed) throw new Error("Invalid Google Email OTP registration attempt record");
513
+ this.map.set(parsed.attemptId, cloneRecord(parsed));
514
+ }
515
+ async get(attemptId) {
516
+ const id = normalizeOptionalTrimmedString(attemptId);
517
+ if (!id) return null;
518
+ const record = this.map.get(id);
519
+ return record ? cloneRecord(record) : null;
520
+ }
521
+ async findStartedBySubjectEmail(input) {
522
+ for (const record of this.map.values()) if (registrationAttemptMatchesStartedScope(record, input)) return cloneRecord(record);
523
+ return null;
524
+ }
525
+ async abandonStartedBySubjectEmailExceptBinding(input) {
526
+ let abandoned = 0;
527
+ for (const record of this.map.values()) {
528
+ if (!registrationAttemptMatchesReplacementScope(record, input)) continue;
529
+ this.map.set(record.attemptId, {
530
+ ...cloneRecord(record),
531
+ state: "abandoned",
532
+ failureCode: input.failureCode,
533
+ updatedAtMs: input.nowMs
534
+ });
535
+ abandoned += 1;
536
+ }
537
+ return abandoned;
538
+ }
539
+ async hasLiveStartedWalletAttempt(input) {
540
+ for (const record of this.map.values()) if ((record.state === "started" || record.state === "key_finalized") && record.expiresAtMs > input.nowMs && (record.walletId === input.walletId || record.offerCandidates.some((candidate) => candidate.walletId === input.walletId))) return true;
541
+ return false;
542
+ }
543
+ async deleteExpired(nowMs) {
544
+ let deleted = 0;
545
+ for (const [attemptId, record] of this.map.entries()) if (record.expiresAtMs <= nowMs || record.state === "expired") {
546
+ this.map.delete(attemptId);
547
+ deleted += 1;
548
+ }
549
+ return deleted;
550
+ }
551
+ };
552
+ var D1EmailOtpStoreBase = class {
553
+ constructor(input) {
554
+ this.schemaReady = false;
555
+ const normalized = normalizeD1EmailOtpStoreOptions(input);
556
+ this.database = normalized.database;
557
+ this.scope = {
558
+ namespace: normalized.namespace,
559
+ orgId: normalized.orgId,
560
+ projectId: normalized.projectId,
561
+ envId: normalized.envId
562
+ };
563
+ this.ensureSchemaOnUse = normalized.ensureSchema;
564
+ }
565
+ async ensureSchema() {
566
+ if (!this.ensureSchemaOnUse || this.schemaReady) return;
567
+ await ensureEmailOtpStoreD1Schema({ database: this.database });
568
+ this.schemaReady = true;
569
+ }
570
+ bindScope(statement, values = []) {
571
+ return bindD1EmailOtpScope(this.database, this.scope, statement, values);
572
+ }
573
+ };
574
+ var D1EmailOtpChallengeStore = class extends D1EmailOtpStoreBase {
575
+ constructor(..._args) {
576
+ super(..._args);
577
+ this.adapterKind = "d1";
578
+ }
579
+ async put(record) {
580
+ await this.ensureSchema();
581
+ const parsed = parseCurrentEmailOtpChallengeRecord(record);
582
+ if (!parsed) throw new Error("Invalid Email OTP challenge record");
583
+ assertD1EmailOtpOrgScope({
584
+ recordOrgId: parsed.orgId,
585
+ scope: this.scope,
586
+ label: "Email OTP challenge"
587
+ });
588
+ await this.bindScope(`INSERT INTO email_otp_challenges (
589
+ namespace,
590
+ org_id,
591
+ project_id,
592
+ env_id,
593
+ challenge_id,
594
+ challenge_subject_id,
595
+ wallet_id,
596
+ record_org_id,
597
+ otp_channel,
598
+ owner_proof_binding_digest,
599
+ action,
600
+ operation,
601
+ otp_code,
602
+ record_json,
603
+ created_at_ms,
604
+ expires_at_ms
605
+ )
606
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
607
+ ON CONFLICT (namespace, org_id, project_id, env_id, challenge_id)
608
+ DO UPDATE SET
609
+ challenge_subject_id = EXCLUDED.challenge_subject_id,
610
+ wallet_id = EXCLUDED.wallet_id,
611
+ record_org_id = EXCLUDED.record_org_id,
612
+ otp_channel = EXCLUDED.otp_channel,
613
+ owner_proof_binding_digest = EXCLUDED.owner_proof_binding_digest,
614
+ action = EXCLUDED.action,
615
+ operation = EXCLUDED.operation,
616
+ otp_code = EXCLUDED.otp_code,
617
+ record_json = EXCLUDED.record_json,
618
+ created_at_ms = EXCLUDED.created_at_ms,
619
+ expires_at_ms = EXCLUDED.expires_at_ms`, [
620
+ parsed.challengeId,
621
+ parsed.challengeSubjectId,
622
+ parsed.walletId,
623
+ parsed.orgId || "",
624
+ parsed.otpChannel,
625
+ parsed.ownerProofBindingDigest,
626
+ parsed.action,
627
+ parsed.operation,
628
+ parsed.otpCode,
629
+ JSON.stringify(parsed),
630
+ parsed.createdAtMs,
631
+ parsed.expiresAtMs
632
+ ]).run();
633
+ }
634
+ async get(challengeId) {
635
+ await this.ensureSchema();
636
+ const id = normalizeOptionalTrimmedString(challengeId);
637
+ if (!id) return null;
638
+ const row = await this.bindScope(`SELECT record_json, expires_at_ms, challenge_id
639
+ FROM email_otp_challenges
640
+ WHERE namespace = ?
641
+ AND org_id = ?
642
+ AND project_id = ?
643
+ AND env_id = ?
644
+ AND challenge_id = ?
645
+ LIMIT 1`, [id]).first();
646
+ const parsed = parseCurrentEmailOtpChallengeRow({
647
+ recordJson: parseJsonRecord(row?.record_json),
648
+ expiresAtMs: row?.expires_at_ms
649
+ });
650
+ if (!row) return null;
651
+ if (!parsed) {
652
+ await this.del(id);
653
+ return null;
654
+ }
655
+ return cloneRecord(parsed);
656
+ }
657
+ async deleteExpired(nowMs) {
658
+ await this.ensureSchema();
659
+ return ((await this.bindScope(`DELETE FROM email_otp_challenges
660
+ WHERE namespace = ?
661
+ AND org_id = ?
662
+ AND project_id = ?
663
+ AND env_id = ?
664
+ AND expires_at_ms <= ?
665
+ RETURNING record_json, expires_at_ms`, [nowMs]).all()).results || []).map((row) => parseCurrentEmailOtpChallengeRow({
666
+ recordJson: parseJsonRecord(row.record_json),
667
+ expiresAtMs: row.expires_at_ms
668
+ })).filter((record) => Boolean(record)).map((record) => cloneRecord(record));
669
+ }
670
+ async countActiveByContext(input) {
671
+ await this.ensureSchema();
672
+ const row = await this.bindScope(`SELECT COUNT(*) AS count
673
+ FROM email_otp_challenges
674
+ WHERE namespace = ?
675
+ AND org_id = ?
676
+ AND project_id = ?
677
+ AND env_id = ?
678
+ AND expires_at_ms > ?
679
+ AND challenge_subject_id = ?
680
+ AND wallet_id = ?
681
+ AND record_org_id = ?
682
+ AND otp_channel = ?
683
+ AND owner_proof_binding_digest = ?
684
+ AND action = ?
685
+ AND operation = ?`, [
686
+ input.nowMs,
687
+ input.challengeSubjectId,
688
+ input.walletId,
689
+ String(input.orgId || ""),
690
+ input.otpChannel,
691
+ input.ownerProofBindingDigest,
692
+ input.action,
693
+ input.operation
694
+ ]).first();
695
+ return Number(row?.count || 0);
696
+ }
697
+ async findLatestActiveByContext(input) {
698
+ await this.ensureSchema();
699
+ const row = await this.bindScope(`SELECT record_json, expires_at_ms, challenge_id
700
+ FROM email_otp_challenges
701
+ WHERE namespace = ?
702
+ AND org_id = ?
703
+ AND project_id = ?
704
+ AND env_id = ?
705
+ AND expires_at_ms > ?
706
+ AND challenge_subject_id = ?
707
+ AND wallet_id = ?
708
+ AND record_org_id = ?
709
+ AND otp_channel = ?
710
+ AND owner_proof_binding_digest = ?
711
+ AND action = ?
712
+ AND operation = ?
713
+ ORDER BY expires_at_ms DESC, created_at_ms DESC
714
+ LIMIT 1`, [
715
+ input.nowMs,
716
+ input.challengeSubjectId,
717
+ input.walletId,
718
+ String(input.orgId || ""),
719
+ input.otpChannel,
720
+ input.ownerProofBindingDigest,
721
+ input.action,
722
+ input.operation
723
+ ]).first();
724
+ const parsed = parseCurrentEmailOtpChallengeRow({
725
+ recordJson: parseJsonRecord(row?.record_json),
726
+ expiresAtMs: row?.expires_at_ms
727
+ });
728
+ if (parsed) return cloneRecord(parsed);
729
+ const malformedId = normalizeOptionalTrimmedString(row?.challenge_id);
730
+ if (malformedId) await this.del(malformedId);
731
+ return null;
732
+ }
733
+ async deleteOldestActiveByContext(input) {
734
+ await this.ensureSchema();
735
+ const row = await this.bindScope(`WITH oldest AS (
736
+ SELECT challenge_id
737
+ FROM email_otp_challenges
738
+ WHERE namespace = ?
739
+ AND org_id = ?
740
+ AND project_id = ?
741
+ AND env_id = ?
742
+ AND expires_at_ms > ?
743
+ AND challenge_subject_id = ?
744
+ AND wallet_id = ?
745
+ AND record_org_id = ?
746
+ AND otp_channel = ?
747
+ AND owner_proof_binding_digest = ?
748
+ AND action = ?
749
+ AND operation = ?
750
+ ORDER BY created_at_ms ASC, expires_at_ms ASC
751
+ LIMIT 1
752
+ )
753
+ DELETE FROM email_otp_challenges
754
+ WHERE namespace = ?
755
+ AND org_id = ?
756
+ AND project_id = ?
757
+ AND env_id = ?
758
+ AND challenge_id IN (SELECT challenge_id FROM oldest)
759
+ RETURNING record_json, expires_at_ms, challenge_id`, [
760
+ input.nowMs,
761
+ input.challengeSubjectId,
762
+ input.walletId,
763
+ String(input.orgId || ""),
764
+ input.otpChannel,
765
+ input.ownerProofBindingDigest,
766
+ input.action,
767
+ input.operation,
768
+ this.scope.namespace,
769
+ this.scope.orgId,
770
+ this.scope.projectId,
771
+ this.scope.envId
772
+ ]).first();
773
+ const parsed = parseCurrentEmailOtpChallengeRow({
774
+ recordJson: parseJsonRecord(row?.record_json),
775
+ expiresAtMs: row?.expires_at_ms
776
+ });
777
+ if (parsed) return cloneRecord(parsed);
778
+ const malformedId = normalizeOptionalTrimmedString(row?.challenge_id);
779
+ if (malformedId) await this.del(malformedId);
780
+ return null;
781
+ }
782
+ async findActiveByContext(input) {
783
+ await this.ensureSchema();
784
+ const row = await this.bindScope(`SELECT record_json, expires_at_ms, challenge_id
785
+ FROM email_otp_challenges
786
+ WHERE namespace = ?
787
+ AND org_id = ?
788
+ AND project_id = ?
789
+ AND env_id = ?
790
+ AND expires_at_ms > ?
791
+ AND challenge_subject_id = ?
792
+ AND wallet_id = ?
793
+ AND record_org_id = ?
794
+ AND otp_channel = ?
795
+ AND owner_proof_binding_digest = ?
796
+ AND action = ?
797
+ AND operation = ?
798
+ AND otp_code = ?
799
+ ORDER BY expires_at_ms DESC
800
+ LIMIT 1`, [
801
+ input.nowMs,
802
+ input.challengeSubjectId,
803
+ input.walletId,
804
+ String(input.orgId || ""),
805
+ input.otpChannel,
806
+ input.ownerProofBindingDigest,
807
+ input.action,
808
+ input.operation,
809
+ input.otpCode
810
+ ]).first();
811
+ const parsed = parseCurrentEmailOtpChallengeRow({
812
+ recordJson: parseJsonRecord(row?.record_json),
813
+ expiresAtMs: row?.expires_at_ms
814
+ });
815
+ if (parsed) return cloneRecord(parsed);
816
+ const malformedId = normalizeOptionalTrimmedString(row?.challenge_id);
817
+ if (malformedId) await this.del(malformedId);
818
+ return null;
819
+ }
820
+ async del(challengeId) {
821
+ await this.ensureSchema();
822
+ const id = normalizeOptionalTrimmedString(challengeId);
823
+ if (!id) return;
824
+ await this.bindScope(`DELETE FROM email_otp_challenges
825
+ WHERE namespace = ?
826
+ AND org_id = ?
827
+ AND project_id = ?
828
+ AND env_id = ?
829
+ AND challenge_id = ?`, [id]).run();
830
+ }
831
+ };
832
+ var D1EmailOtpGrantStore = class extends D1EmailOtpStoreBase {
833
+ constructor(..._args2) {
834
+ super(..._args2);
835
+ this.adapterKind = "d1";
836
+ }
837
+ async put(record) {
838
+ await this.ensureSchema();
839
+ const parsed = parseCurrentEmailOtpGrantRecord(record);
840
+ if (!parsed) throw new Error("Invalid Email OTP grant record");
841
+ assertD1EmailOtpOrgScope({
842
+ recordOrgId: parsed.orgId,
843
+ scope: this.scope,
844
+ label: "Email OTP grant"
845
+ });
846
+ await this.bindScope(`INSERT INTO email_otp_grants (
847
+ namespace,
848
+ org_id,
849
+ project_id,
850
+ env_id,
851
+ grant_token,
852
+ user_id,
853
+ wallet_id,
854
+ record_org_id,
855
+ challenge_id,
856
+ action,
857
+ record_json,
858
+ issued_at_ms,
859
+ expires_at_ms
860
+ )
861
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
862
+ ON CONFLICT (namespace, org_id, project_id, env_id, grant_token)
863
+ DO UPDATE SET
864
+ user_id = EXCLUDED.user_id,
865
+ wallet_id = EXCLUDED.wallet_id,
866
+ record_org_id = EXCLUDED.record_org_id,
867
+ challenge_id = EXCLUDED.challenge_id,
868
+ action = EXCLUDED.action,
869
+ record_json = EXCLUDED.record_json,
870
+ issued_at_ms = EXCLUDED.issued_at_ms,
871
+ expires_at_ms = EXCLUDED.expires_at_ms`, [
872
+ parsed.grantToken,
873
+ parsed.userId,
874
+ parsed.walletId,
875
+ parsed.orgId || "",
876
+ parsed.challengeId,
877
+ parsed.action,
878
+ JSON.stringify(parsed),
879
+ parsed.issuedAtMs,
880
+ parsed.expiresAtMs
881
+ ]).run();
882
+ }
883
+ async get(grantToken) {
884
+ await this.ensureSchema();
885
+ const token = normalizeOptionalTrimmedString(grantToken);
886
+ if (!token) return null;
887
+ const row = await this.bindScope(`SELECT record_json, expires_at_ms
888
+ FROM email_otp_grants
889
+ WHERE namespace = ?
890
+ AND org_id = ?
891
+ AND project_id = ?
892
+ AND env_id = ?
893
+ AND grant_token = ?
894
+ LIMIT 1`, [token]).first();
895
+ const parsed = parseCurrentEmailOtpGrantRow({
896
+ recordJson: parseJsonRecord(row?.record_json),
897
+ expiresAtMs: row?.expires_at_ms
898
+ });
899
+ if (!row) return null;
900
+ if (!parsed) {
901
+ await this.del(token);
902
+ return null;
903
+ }
904
+ return cloneRecord(parsed);
905
+ }
906
+ async consume(grantToken) {
907
+ await this.ensureSchema();
908
+ const token = normalizeOptionalTrimmedString(grantToken);
909
+ if (!token) return null;
910
+ const row = await this.bindScope(`DELETE FROM email_otp_grants
911
+ WHERE namespace = ?
912
+ AND org_id = ?
913
+ AND project_id = ?
914
+ AND env_id = ?
915
+ AND grant_token = ?
916
+ RETURNING record_json, expires_at_ms`, [token]).first();
917
+ const parsed = parseCurrentEmailOtpGrantRow({
918
+ recordJson: parseJsonRecord(row?.record_json),
919
+ expiresAtMs: row?.expires_at_ms
920
+ });
921
+ return parsed ? cloneRecord(parsed) : null;
922
+ }
923
+ async del(grantToken) {
924
+ await this.ensureSchema();
925
+ const token = normalizeOptionalTrimmedString(grantToken);
926
+ if (!token) return;
927
+ await this.bindScope(`DELETE FROM email_otp_grants
928
+ WHERE namespace = ?
929
+ AND org_id = ?
930
+ AND project_id = ?
931
+ AND env_id = ?
932
+ AND grant_token = ?`, [token]).run();
933
+ }
934
+ };
935
+ var D1EmailOtpWalletEnrollmentStore = class extends D1EmailOtpStoreBase {
936
+ constructor(..._args3) {
937
+ super(..._args3);
938
+ this.adapterKind = "d1";
939
+ }
940
+ async get(walletId) {
941
+ await this.ensureSchema();
942
+ const key = normalizeOptionalTrimmedString(walletId);
943
+ if (!key) return null;
944
+ const row = await this.bindScope(`SELECT record_json, updated_at_ms, wallet_id
945
+ FROM email_otp_wallet_enrollments
946
+ WHERE namespace = ?
947
+ AND org_id = ?
948
+ AND project_id = ?
949
+ AND env_id = ?
950
+ AND wallet_id = ?
951
+ LIMIT 1`, [key]).first();
952
+ const parsed = parseCurrentEmailOtpWalletEnrollmentRow({
953
+ recordJson: parseJsonRecord(row?.record_json),
954
+ updatedAtMs: row?.updated_at_ms
955
+ });
956
+ if (!row) return null;
957
+ if (!parsed) {
958
+ await this.del(key);
959
+ return null;
960
+ }
961
+ return cloneRecord(parsed);
962
+ }
963
+ async getByProviderUserId(input) {
964
+ await this.ensureSchema();
965
+ const providerUserId = normalizeOptionalTrimmedString(input.providerUserId);
966
+ const orgId = normalizeOptionalTrimmedString(input.orgId);
967
+ if (!providerUserId || !orgId) return null;
968
+ const row = await this.bindScope(`SELECT record_json, updated_at_ms, wallet_id
969
+ FROM email_otp_wallet_enrollments
970
+ WHERE namespace = ?
971
+ AND org_id = ?
972
+ AND project_id = ?
973
+ AND env_id = ?
974
+ AND record_org_id = ?
975
+ AND provider_user_id = ?
976
+ ORDER BY updated_at_ms DESC
977
+ LIMIT 1`, [orgId, providerUserId]).first();
978
+ const parsed = parseCurrentEmailOtpWalletEnrollmentRow({
979
+ recordJson: parseJsonRecord(row?.record_json),
980
+ updatedAtMs: row?.updated_at_ms
981
+ });
982
+ if (parsed) return cloneRecord(parsed);
983
+ const malformedWalletId = normalizeOptionalTrimmedString(row?.wallet_id);
984
+ if (malformedWalletId) await this.del(malformedWalletId);
985
+ return null;
986
+ }
987
+ async put(record) {
988
+ await this.ensureSchema();
989
+ const parsed = parseCurrentEmailOtpWalletEnrollmentRecord(record);
990
+ if (!parsed) throw new Error("Invalid Email OTP wallet enrollment record");
991
+ assertD1EmailOtpOrgScope({
992
+ recordOrgId: parsed.orgId,
993
+ scope: this.scope,
994
+ label: "Email OTP wallet enrollment"
995
+ });
996
+ await this.bindScope(`INSERT INTO email_otp_wallet_enrollments (
997
+ namespace,
998
+ org_id,
999
+ project_id,
1000
+ env_id,
1001
+ wallet_id,
1002
+ provider_user_id,
1003
+ record_org_id,
1004
+ verified_email,
1005
+ record_json,
1006
+ created_at_ms,
1007
+ updated_at_ms
1008
+ )
1009
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
1010
+ ON CONFLICT (namespace, org_id, project_id, env_id, wallet_id)
1011
+ DO UPDATE SET
1012
+ provider_user_id = EXCLUDED.provider_user_id,
1013
+ record_org_id = EXCLUDED.record_org_id,
1014
+ verified_email = EXCLUDED.verified_email,
1015
+ record_json = EXCLUDED.record_json,
1016
+ created_at_ms = EXCLUDED.created_at_ms,
1017
+ updated_at_ms = EXCLUDED.updated_at_ms`, [
1018
+ parsed.walletId,
1019
+ parsed.providerUserId,
1020
+ parsed.orgId,
1021
+ parsed.verifiedEmail,
1022
+ JSON.stringify(parsed),
1023
+ parsed.createdAtMs,
1024
+ parsed.updatedAtMs
1025
+ ]).run();
1026
+ }
1027
+ async del(walletId) {
1028
+ await this.ensureSchema();
1029
+ const key = normalizeOptionalTrimmedString(walletId);
1030
+ if (!key) return;
1031
+ await this.bindScope(`DELETE FROM email_otp_wallet_enrollments
1032
+ WHERE namespace = ?
1033
+ AND org_id = ?
1034
+ AND project_id = ?
1035
+ AND env_id = ?
1036
+ AND wallet_id = ?`, [key]).run();
1037
+ }
1038
+ };
1039
+ var D1EmailOtpAuthStateStore = class extends D1EmailOtpStoreBase {
1040
+ constructor(..._args4) {
1041
+ super(..._args4);
1042
+ this.adapterKind = "d1";
1043
+ }
1044
+ async get(walletId) {
1045
+ await this.ensureSchema();
1046
+ const key = normalizeOptionalTrimmedString(walletId);
1047
+ if (!key) return null;
1048
+ const row = await this.bindScope(`SELECT record_json, updated_at_ms
1049
+ FROM email_otp_auth_states
1050
+ WHERE namespace = ?
1051
+ AND org_id = ?
1052
+ AND project_id = ?
1053
+ AND env_id = ?
1054
+ AND wallet_id = ?
1055
+ LIMIT 1`, [key]).first();
1056
+ const parsed = parseCurrentEmailOtpAuthStateRow({
1057
+ recordJson: parseJsonRecord(row?.record_json),
1058
+ updatedAtMs: row?.updated_at_ms
1059
+ });
1060
+ if (!row) return null;
1061
+ if (!parsed) {
1062
+ await this.del(key);
1063
+ return null;
1064
+ }
1065
+ return cloneRecord(parsed);
1066
+ }
1067
+ async put(record) {
1068
+ await this.ensureSchema();
1069
+ const parsed = parseCurrentEmailOtpAuthStateRecord(record);
1070
+ if (!parsed) throw new Error("Invalid Email OTP auth state record");
1071
+ assertD1EmailOtpOrgScope({
1072
+ recordOrgId: parsed.orgId,
1073
+ scope: this.scope,
1074
+ label: "Email OTP auth state"
1075
+ });
1076
+ await this.bindScope(`INSERT INTO email_otp_auth_states (
1077
+ namespace,
1078
+ org_id,
1079
+ project_id,
1080
+ env_id,
1081
+ wallet_id,
1082
+ provider_user_id,
1083
+ record_org_id,
1084
+ record_json,
1085
+ created_at_ms,
1086
+ updated_at_ms
1087
+ )
1088
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
1089
+ ON CONFLICT (namespace, org_id, project_id, env_id, wallet_id)
1090
+ DO UPDATE SET
1091
+ provider_user_id = EXCLUDED.provider_user_id,
1092
+ record_org_id = EXCLUDED.record_org_id,
1093
+ record_json = EXCLUDED.record_json,
1094
+ created_at_ms = EXCLUDED.created_at_ms,
1095
+ updated_at_ms = EXCLUDED.updated_at_ms`, [
1096
+ parsed.walletId,
1097
+ parsed.providerUserId,
1098
+ parsed.orgId,
1099
+ JSON.stringify(parsed),
1100
+ parsed.createdAtMs,
1101
+ parsed.updatedAtMs
1102
+ ]).run();
1103
+ }
1104
+ async del(walletId) {
1105
+ await this.ensureSchema();
1106
+ const key = normalizeOptionalTrimmedString(walletId);
1107
+ if (!key) return;
1108
+ await this.bindScope(`DELETE FROM email_otp_auth_states
1109
+ WHERE namespace = ?
1110
+ AND org_id = ?
1111
+ AND project_id = ?
1112
+ AND env_id = ?
1113
+ AND wallet_id = ?`, [key]).run();
1114
+ }
1115
+ };
1116
+ var D1EmailOtpUnlockChallengeStore = class extends D1EmailOtpStoreBase {
1117
+ constructor(..._args5) {
1118
+ super(..._args5);
1119
+ this.adapterKind = "d1";
1120
+ }
1121
+ async put(record) {
1122
+ await this.ensureSchema();
1123
+ const parsed = parseCurrentEmailOtpUnlockChallengeRecord(record);
1124
+ if (!parsed) throw new Error("Invalid Email OTP unlock challenge record");
1125
+ assertD1EmailOtpOrgScope({
1126
+ recordOrgId: parsed.orgId,
1127
+ scope: this.scope,
1128
+ label: "Email OTP unlock challenge"
1129
+ });
1130
+ await this.bindScope(`INSERT INTO email_otp_unlock_challenges (
1131
+ namespace,
1132
+ org_id,
1133
+ project_id,
1134
+ env_id,
1135
+ challenge_id,
1136
+ wallet_id,
1137
+ user_id,
1138
+ record_org_id,
1139
+ record_json,
1140
+ created_at_ms,
1141
+ expires_at_ms
1142
+ )
1143
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
1144
+ ON CONFLICT (namespace, org_id, project_id, env_id, challenge_id)
1145
+ DO UPDATE SET
1146
+ wallet_id = EXCLUDED.wallet_id,
1147
+ user_id = EXCLUDED.user_id,
1148
+ record_org_id = EXCLUDED.record_org_id,
1149
+ record_json = EXCLUDED.record_json,
1150
+ created_at_ms = EXCLUDED.created_at_ms,
1151
+ expires_at_ms = EXCLUDED.expires_at_ms`, [
1152
+ parsed.challengeId,
1153
+ parsed.walletId,
1154
+ parsed.userId,
1155
+ parsed.orgId || "",
1156
+ JSON.stringify(parsed),
1157
+ parsed.createdAtMs,
1158
+ parsed.expiresAtMs
1159
+ ]).run();
1160
+ }
1161
+ async consume(challengeId) {
1162
+ await this.ensureSchema();
1163
+ const id = normalizeOptionalTrimmedString(challengeId);
1164
+ if (!id) return null;
1165
+ const row = await this.bindScope(`DELETE FROM email_otp_unlock_challenges
1166
+ WHERE namespace = ?
1167
+ AND org_id = ?
1168
+ AND project_id = ?
1169
+ AND env_id = ?
1170
+ AND challenge_id = ?
1171
+ RETURNING record_json, expires_at_ms`, [id]).first();
1172
+ const parsed = parseCurrentEmailOtpUnlockChallengeRow({
1173
+ recordJson: parseJsonRecord(row?.record_json),
1174
+ expiresAtMs: row?.expires_at_ms
1175
+ });
1176
+ return parsed ? cloneRecord(parsed) : null;
1177
+ }
1178
+ async del(challengeId) {
1179
+ await this.ensureSchema();
1180
+ const id = normalizeOptionalTrimmedString(challengeId);
1181
+ if (!id) return;
1182
+ await this.bindScope(`DELETE FROM email_otp_unlock_challenges
1183
+ WHERE namespace = ?
1184
+ AND org_id = ?
1185
+ AND project_id = ?
1186
+ AND env_id = ?
1187
+ AND challenge_id = ?`, [id]).run();
1188
+ }
1189
+ };
1190
+ var D1EmailOtpRegistrationAttemptStore = class extends D1EmailOtpStoreBase {
1191
+ constructor(..._args6) {
1192
+ super(..._args6);
1193
+ this.adapterKind = "d1";
1194
+ }
1195
+ async put(record) {
1196
+ await this.ensureSchema();
1197
+ const parsed = parseCurrentGoogleEmailOtpRegistrationAttemptRecord(record);
1198
+ if (!parsed) throw new Error("Invalid Google Email OTP registration attempt record");
1199
+ assertD1EmailOtpOrgScope({
1200
+ recordOrgId: parsed.runtimePolicyScope?.orgId,
1201
+ scope: this.scope,
1202
+ label: "Google Email OTP registration attempt"
1203
+ });
1204
+ await this.bindScope(`INSERT INTO email_otp_registration_attempts (
1205
+ namespace,
1206
+ org_id,
1207
+ project_id,
1208
+ env_id,
1209
+ attempt_id,
1210
+ provider_subject,
1211
+ email,
1212
+ wallet_id,
1213
+ state,
1214
+ owner_proof_binding_digest,
1215
+ runtime_org_id,
1216
+ runtime_policy_key,
1217
+ offer_wallet_ids_json,
1218
+ record_json,
1219
+ created_at_ms,
1220
+ updated_at_ms,
1221
+ expires_at_ms
1222
+ )
1223
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
1224
+ ON CONFLICT (namespace, org_id, project_id, env_id, attempt_id)
1225
+ DO UPDATE SET
1226
+ provider_subject = EXCLUDED.provider_subject,
1227
+ email = EXCLUDED.email,
1228
+ wallet_id = EXCLUDED.wallet_id,
1229
+ state = EXCLUDED.state,
1230
+ owner_proof_binding_digest = EXCLUDED.owner_proof_binding_digest,
1231
+ runtime_org_id = EXCLUDED.runtime_org_id,
1232
+ runtime_policy_key = EXCLUDED.runtime_policy_key,
1233
+ offer_wallet_ids_json = EXCLUDED.offer_wallet_ids_json,
1234
+ record_json = EXCLUDED.record_json,
1235
+ created_at_ms = EXCLUDED.created_at_ms,
1236
+ updated_at_ms = EXCLUDED.updated_at_ms,
1237
+ expires_at_ms = EXCLUDED.expires_at_ms`, [
1238
+ parsed.attemptId,
1239
+ parsed.providerSubject,
1240
+ parsed.email,
1241
+ parsed.walletId,
1242
+ parsed.state,
1243
+ parsed.ownerProofBindingDigest,
1244
+ parsed.runtimePolicyScope?.orgId || "",
1245
+ runtimePolicyScopeKey(parsed.runtimePolicyScope),
1246
+ JSON.stringify(parsed.offerCandidates.map((candidate) => candidate.walletId)),
1247
+ JSON.stringify(parsed),
1248
+ parsed.createdAtMs,
1249
+ parsed.updatedAtMs,
1250
+ parsed.expiresAtMs
1251
+ ]).run();
1252
+ }
1253
+ async get(attemptId) {
1254
+ await this.ensureSchema();
1255
+ const id = normalizeOptionalTrimmedString(attemptId);
1256
+ if (!id) return null;
1257
+ const row = await this.bindScope(`SELECT record_json, expires_at_ms, updated_at_ms, attempt_id
1258
+ FROM email_otp_registration_attempts
1259
+ WHERE namespace = ?
1260
+ AND org_id = ?
1261
+ AND project_id = ?
1262
+ AND env_id = ?
1263
+ AND attempt_id = ?
1264
+ LIMIT 1`, [id]).first();
1265
+ const parsed = parseCurrentGoogleEmailOtpRegistrationAttemptRow({
1266
+ recordJson: parseJsonRecord(row?.record_json),
1267
+ expiresAtMs: row?.expires_at_ms,
1268
+ updatedAtMs: row?.updated_at_ms
1269
+ });
1270
+ if (!row) return null;
1271
+ if (!parsed) {
1272
+ await this.deleteAttempt(id);
1273
+ return null;
1274
+ }
1275
+ return cloneRecord(parsed);
1276
+ }
1277
+ async findStartedBySubjectEmail(input) {
1278
+ await this.ensureSchema();
1279
+ const row = await this.bindScope(`SELECT record_json, expires_at_ms, updated_at_ms, attempt_id
1280
+ FROM email_otp_registration_attempts
1281
+ WHERE namespace = ?
1282
+ AND org_id = ?
1283
+ AND project_id = ?
1284
+ AND env_id = ?
1285
+ AND provider_subject = ?
1286
+ AND email = ?
1287
+ AND state IN ('started', 'key_finalized')
1288
+ AND expires_at_ms > ?
1289
+ AND owner_proof_binding_digest = ?
1290
+ AND runtime_org_id = ?
1291
+ AND runtime_policy_key = ?
1292
+ ORDER BY updated_at_ms DESC
1293
+ LIMIT 1`, [
1294
+ input.providerSubject,
1295
+ input.email,
1296
+ input.nowMs,
1297
+ input.ownerProofBindingDigest,
1298
+ input.orgId,
1299
+ runtimePolicyScopeKey(input.runtimePolicyScope)
1300
+ ]).first();
1301
+ const parsed = parseCurrentGoogleEmailOtpRegistrationAttemptRow({
1302
+ recordJson: parseJsonRecord(row?.record_json),
1303
+ expiresAtMs: row?.expires_at_ms,
1304
+ updatedAtMs: row?.updated_at_ms
1305
+ });
1306
+ if (parsed && registrationAttemptMatchesStartedScope(parsed, input)) return cloneRecord(parsed);
1307
+ const malformedAttemptId = normalizeOptionalTrimmedString(row?.attempt_id);
1308
+ if (row && !parsed && malformedAttemptId) await this.deleteAttempt(malformedAttemptId);
1309
+ return null;
1310
+ }
1311
+ async abandonStartedBySubjectEmailExceptBinding(input) {
1312
+ await this.ensureSchema();
1313
+ const result = await this.bindScope(`SELECT record_json, expires_at_ms, updated_at_ms, attempt_id
1314
+ FROM email_otp_registration_attempts
1315
+ WHERE namespace = ?
1316
+ AND org_id = ?
1317
+ AND project_id = ?
1318
+ AND env_id = ?
1319
+ AND provider_subject = ?
1320
+ AND email = ?
1321
+ AND state IN ('started', 'key_finalized')
1322
+ AND expires_at_ms > ?`, [
1323
+ input.providerSubject,
1324
+ input.email,
1325
+ input.nowMs
1326
+ ]).all();
1327
+ let abandoned = 0;
1328
+ for (const row of result.results || []) {
1329
+ const parsed = parseCurrentGoogleEmailOtpRegistrationAttemptRow({
1330
+ recordJson: parseJsonRecord(row.record_json),
1331
+ expiresAtMs: row.expires_at_ms,
1332
+ updatedAtMs: row.updated_at_ms
1333
+ });
1334
+ if (!parsed) {
1335
+ const attemptId = normalizeOptionalTrimmedString(row.attempt_id);
1336
+ if (attemptId) await this.deleteAttempt(attemptId);
1337
+ continue;
1338
+ }
1339
+ if (!registrationAttemptMatchesReplacementScope(parsed, input)) continue;
1340
+ await this.put({
1341
+ ...parsed,
1342
+ state: "abandoned",
1343
+ failureCode: input.failureCode,
1344
+ updatedAtMs: input.nowMs
1345
+ });
1346
+ abandoned += 1;
1347
+ }
1348
+ return abandoned;
1349
+ }
1350
+ async hasLiveStartedWalletAttempt(input) {
1351
+ await this.ensureSchema();
1352
+ const walletId = normalizeOptionalTrimmedString(input.walletId);
1353
+ if (!walletId) return false;
1354
+ const row = await this.bindScope(`SELECT 1 AS found
1355
+ FROM email_otp_registration_attempts
1356
+ WHERE namespace = ?
1357
+ AND org_id = ?
1358
+ AND project_id = ?
1359
+ AND env_id = ?
1360
+ AND state IN ('started', 'key_finalized')
1361
+ AND expires_at_ms > ?
1362
+ AND (
1363
+ wallet_id = ?
1364
+ OR EXISTS (
1365
+ SELECT 1
1366
+ FROM json_each(offer_wallet_ids_json)
1367
+ WHERE value = ?
1368
+ )
1369
+ )
1370
+ LIMIT 1`, [
1371
+ input.nowMs,
1372
+ walletId,
1373
+ walletId
1374
+ ]).first();
1375
+ return Boolean(row);
1376
+ }
1377
+ async deleteExpired(nowMs) {
1378
+ await this.ensureSchema();
1379
+ return d1ChangedRows(await this.bindScope(`DELETE FROM email_otp_registration_attempts
1380
+ WHERE namespace = ?
1381
+ AND org_id = ?
1382
+ AND project_id = ?
1383
+ AND env_id = ?
1384
+ AND (expires_at_ms <= ? OR state = 'expired')`, [nowMs]).run());
1385
+ }
1386
+ async deleteAttempt(attemptId) {
1387
+ const id = normalizeOptionalTrimmedString(attemptId);
1388
+ if (!id) return;
1389
+ await this.bindScope(`DELETE FROM email_otp_registration_attempts
1390
+ WHERE namespace = ?
1391
+ AND org_id = ?
1392
+ AND project_id = ?
1393
+ AND env_id = ?
1394
+ AND attempt_id = ?`, [id]).run();
1395
+ }
1396
+ };
1397
+ function createEmailOtpChallengeStore(input) {
1398
+ const d1 = resolveD1EmailOtpStoreOptions(input, "challenge");
1399
+ if (d1) {
1400
+ input?.logger?.info("[email-otp] Using D1 challenge store");
1401
+ return new D1EmailOtpChallengeStore(d1);
1402
+ }
1403
+ assertEmailOtpStoreKindKnown(input, "challenge");
1404
+ input?.logger?.info("[email-otp] Using in-memory challenge store (non-persistent)");
1405
+ return new InMemoryEmailOtpChallengeStore();
1406
+ }
1407
+ function createEmailOtpGrantStore(input) {
1408
+ const d1 = resolveD1EmailOtpStoreOptions(input, "grant");
1409
+ if (d1) {
1410
+ input?.logger?.info("[email-otp] Using D1 grant store");
1411
+ return new D1EmailOtpGrantStore(d1);
1412
+ }
1413
+ assertEmailOtpStoreKindKnown(input, "grant");
1414
+ input?.logger?.info("[email-otp] Using in-memory grant store (non-persistent)");
1415
+ return new InMemoryEmailOtpGrantStore();
1416
+ }
1417
+ function createEmailOtpWalletEnrollmentStore(input) {
1418
+ const d1 = resolveD1EmailOtpStoreOptions(input, "wallet enrollment");
1419
+ if (d1) {
1420
+ input?.logger?.info("[email-otp] Using D1 wallet enrollment store");
1421
+ return new D1EmailOtpWalletEnrollmentStore(d1);
1422
+ }
1423
+ assertEmailOtpStoreKindKnown(input, "enrollment");
1424
+ input?.logger?.info("[email-otp] Using in-memory wallet enrollment store (non-persistent)");
1425
+ return new InMemoryEmailOtpWalletEnrollmentStore();
1426
+ }
1427
+ function createEmailOtpAuthStateStore(input) {
1428
+ const d1 = resolveD1EmailOtpStoreOptions(input, "auth state");
1429
+ if (d1) {
1430
+ input?.logger?.info("[email-otp] Using D1 auth state store");
1431
+ return new D1EmailOtpAuthStateStore(d1);
1432
+ }
1433
+ assertEmailOtpStoreKindKnown(input, "auth state");
1434
+ input?.logger?.info("[email-otp] Using in-memory auth state store (non-persistent)");
1435
+ return new InMemoryEmailOtpAuthStateStore();
1436
+ }
1437
+ function createEmailOtpUnlockChallengeStore(input) {
1438
+ const d1 = resolveD1EmailOtpStoreOptions(input, "unlock challenge");
1439
+ if (d1) {
1440
+ input?.logger?.info("[email-otp] Using D1 unlock challenge store");
1441
+ return new D1EmailOtpUnlockChallengeStore(d1);
1442
+ }
1443
+ assertEmailOtpStoreKindKnown(input, "unlock challenge");
1444
+ input?.logger?.info("[email-otp] Using in-memory unlock challenge store (non-persistent)");
1445
+ return new InMemoryEmailOtpUnlockChallengeStore();
1446
+ }
1447
+ function createEmailOtpRegistrationAttemptStore(input) {
1448
+ const d1 = resolveD1EmailOtpStoreOptions(input, "registration attempt");
1449
+ if (d1) {
1450
+ input?.logger?.info("[email-otp] Using D1 registration attempt store");
1451
+ return new D1EmailOtpRegistrationAttemptStore(d1);
1452
+ }
1453
+ assertEmailOtpStoreKindKnown(input, "registration attempt");
1454
+ input?.logger?.info("[email-otp] Using in-memory registration attempt store (non-persistent)");
1455
+ return new InMemoryEmailOtpRegistrationAttemptStore();
1456
+ }
1457
+ //#endregion
1458
+ export { D1EmailOtpAuthStateStore, D1EmailOtpChallengeStore, D1EmailOtpGrantStore, D1EmailOtpRegistrationAttemptStore, D1EmailOtpUnlockChallengeStore, D1EmailOtpWalletEnrollmentStore, EMAIL_OTP_STORE_D1_SCHEMA_SQL, createEmailOtpAuthStateStore, createEmailOtpChallengeStore, createEmailOtpGrantStore, createEmailOtpRegistrationAttemptStore, createEmailOtpUnlockChallengeStore, createEmailOtpWalletEnrollmentStore, ensureEmailOtpStoreD1Schema, resolveEmailOtpStoreNamespace };
1459
+
1460
+ //# sourceMappingURL=EmailOtpStores.js.map