@seams/wallet-server 0.7.3 → 0.9.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 (743) hide show
  1. package/THIRD_PARTY_NOTICES.md +7 -9
  2. package/artifact-manifest.json +241 -41
  3. package/cloudflare-router-ab/build/deriver-a/build-stamp.json +1 -1
  4. package/cloudflare-router-ab/build/deriver-a/index.js +2 -2
  5. package/cloudflare-router-ab/build/deriver-a/index_bg.wasm +0 -0
  6. package/cloudflare-router-ab/build/deriver-b/build-stamp.json +1 -1
  7. package/cloudflare-router-ab/build/deriver-b/index.js +2 -2
  8. package/cloudflare-router-ab/build/deriver-b/index_bg.wasm +0 -0
  9. package/cloudflare-router-ab/build/local-tools/darwin-arm64/router_ab_local_init +0 -0
  10. package/cloudflare-router-ab/build/local-tools/darwin-x64/router_ab_local_init +0 -0
  11. package/cloudflare-router-ab/build/local-tools/linux-x64/router_ab_local_init +0 -0
  12. package/cloudflare-router-ab/build/router/build-stamp.json +1 -1
  13. package/cloudflare-router-ab/build/router/index.js +2 -2
  14. package/cloudflare-router-ab/build/router/index_bg.wasm +0 -0
  15. package/cloudflare-router-ab/build/signing-worker/build-stamp.json +1 -1
  16. package/cloudflare-router-ab/build/signing-worker/index.js +2 -2
  17. package/cloudflare-router-ab/build/signing-worker/index_bg.wasm +0 -0
  18. package/cloudflare-router-ab/build/tenant-root-control-plane/build-stamp.json +1 -1
  19. package/cloudflare-router-ab/build/tenant-root-control-plane/index.js +2 -2
  20. package/cloudflare-router-ab/build/tenant-root-control-plane/index_bg.wasm +0 -0
  21. package/cloudflare-router-ab/migrations/deriver-a/0019_wallet_object_addresses.sql +10 -0
  22. package/cloudflare-router-ab/migrations/deriver-b/0019_wallet_object_addresses.sql +10 -0
  23. package/cloudflare-router-ab/scripts/prepare-local-runtime-config.mjs +3 -119
  24. package/cloudflare-router-ab/scripts/start-local-role-workers.mjs +77 -20
  25. package/cloudflare-router-ab/wrangler.deriver-a.toml +0 -8
  26. package/cloudflare-router-ab/wrangler.deriver-b.toml +24 -8
  27. package/cloudflare-router-ab/wrangler.router.toml +0 -2
  28. package/cloudflare-router-ab/wrangler.signing-worker.toml +29 -0
  29. package/dist/esm/authorization/domain.js +3 -2
  30. package/dist/esm/authorization/lifecycleRouting.js +62 -0
  31. package/dist/esm/authorization/service.js +86 -35
  32. package/dist/esm/cloud-host.js +42 -39
  33. package/dist/esm/core/EmailOtpRecords.js +29 -222
  34. package/dist/esm/core/EmailOtpStores.js +0 -859
  35. package/dist/esm/core/IdentityStore.js +2 -339
  36. package/dist/esm/core/ThresholdService/config.js +1 -9
  37. package/dist/esm/core/ThresholdService/index.js +0 -4
  38. package/dist/esm/core/ThresholdService/kv.js +1 -66
  39. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.js +3 -13
  40. package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.js +10 -0
  41. package/dist/esm/core/ThresholdService/routerAb/internalServiceHttp.js +1 -0
  42. package/dist/esm/core/ThresholdService/routerAbNormalSigningPolicy.js +1 -11
  43. package/dist/esm/core/ThresholdService/stores/WalletSessionStore.js +0 -541
  44. package/dist/esm/core/ThresholdService/validation.js +3 -347
  45. package/dist/esm/core/WalletAuthMethodStore.js +2 -123
  46. package/dist/esm/core/WalletStore.js +3 -209
  47. package/dist/esm/core/WebAuthnAuthenticatorStore.js +0 -202
  48. package/dist/esm/core/WebAuthnCredentialBindingStore.js +2 -182
  49. package/dist/esm/core/WebAuthnLoginChallengeStore.js +0 -52
  50. package/dist/esm/core/WebAuthnSyncChallengeStore.js +0 -54
  51. package/dist/esm/core/authService/emailOtpConfig.js +1 -195
  52. package/dist/esm/core/authService/emailOtpEnrollment.js +0 -110
  53. package/dist/esm/core/authService/emailOtpSeal.js +0 -63
  54. package/dist/esm/core/authService/nearPrivateKeySigning.js +1 -1
  55. package/dist/esm/core/authService/nearTransactions.js +3 -98
  56. package/dist/esm/core/authService/rateLimits.js +0 -84
  57. package/dist/esm/core/authService/webauthn.js +3 -299
  58. package/dist/esm/core/authService/webauthnOidcHelpers.js +1 -24
  59. package/dist/esm/core/authService/webauthnWalletBinding.js +0 -37
  60. package/dist/esm/core/config.js +1 -95
  61. package/dist/esm/core/d1EcdsaSignerRead.js +1 -1
  62. package/dist/esm/core/d1Ed25519SignerRead.js +55 -0
  63. package/dist/esm/core/d1IdentityStore.js +1 -2
  64. package/dist/esm/core/d1TenantStore.js +1 -24
  65. package/dist/esm/core/d1WalletAuthMethodStore.js +2 -5
  66. package/dist/esm/core/d1WalletStore.js +16 -13
  67. package/dist/esm/core/deviceLinking/linkedDeviceBootstrap.js +13 -0
  68. package/dist/esm/core/deviceLinking/linkedDeviceEmailOtpGrant.js +2 -2
  69. package/dist/esm/core/deviceLinking/linkedDeviceManagement.js +1 -1
  70. package/dist/esm/core/deviceLinking/linkedDeviceSession.js +20 -14
  71. package/dist/esm/core/deviceLinking/linkedDeviceSessionRecord.js +2 -2
  72. package/dist/esm/core/deviceLinking/requestProof.js +9 -6
  73. package/dist/esm/core/emailOtpD1Statements.js +108 -94
  74. package/dist/esm/core/keyMaterialBrands.js +2 -12
  75. package/dist/esm/core/nearKeys.js +0 -1
  76. package/dist/esm/core/nearRelayerAccountProvisioning.js +7 -10
  77. package/dist/esm/core/passkeyCredentialClaims.js +8 -0
  78. package/dist/esm/core/routerAbSigning/RouterAbEcdsaPresignRuntime.js +6 -6
  79. package/dist/esm/core/routerAbSigning/RouterAbNormalSigningRuntime.js +2 -30
  80. package/dist/esm/core/signingLanes/WalletExecutionLaneProjection.js +1 -1
  81. package/dist/esm/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.js +1 -0
  82. package/dist/esm/core/thresholdEcdsaChainTarget.js +1 -4
  83. package/dist/esm/hosted-wallet-gateway.js +158 -52
  84. package/dist/esm/index.js +6 -19
  85. package/dist/esm/localHostedWalletGatewayHandler.js +18 -3
  86. package/dist/esm/localIntendedYaoSigningFault.js +2 -30
  87. package/dist/esm/localRegistrationSetupAuthority.js +96 -0
  88. package/dist/esm/router/auth/authRequestValidation.js +8 -16
  89. package/dist/esm/router/auth/commonRouterUtils.js +17 -10
  90. package/dist/esm/router/auth/routerApiCredentialAuth.js +26 -7
  91. package/dist/esm/router/auth/walletRegistrationContext.js +49 -0
  92. package/dist/esm/router/auth/webAuthnCredentialCodecs.js +1 -2
  93. package/dist/esm/router/cloudflare/d1/auth/d1AuthorizationAssembly.js +88 -0
  94. package/dist/esm/router/cloudflare/d1/auth/d1AuthorizedOperationRouteService.js +2 -0
  95. package/dist/esm/router/cloudflare/d1/auth/d1EmailOtpRouteService.js +25 -0
  96. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthConfig.js +24 -6
  97. package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthService.js +75 -320
  98. package/dist/esm/router/cloudflare/d1/auth/walletSessionCredentialReaders.js +17 -1
  99. package/dist/esm/router/cloudflare/d1/authorization/authorizedOperationStatements.js +57 -25
  100. package/dist/esm/router/cloudflare/d1/authorization/d1AuthorizationStore.js +265 -104
  101. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.js +43 -17
  102. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEd25519ExportRootStore.js +6 -1
  103. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.js +12 -2
  104. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.js +4 -4
  105. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.js +2 -2
  106. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.js +3 -9
  107. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRouteService.js +2 -1
  108. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionRecords.js +1 -1
  109. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.js +89 -7
  110. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.js +24 -15
  111. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.js +1 -1
  112. package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceVerifiedLinkBuilder.js +1 -1
  113. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.js +9 -6
  114. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoLifecycleDecisionStore.js +11 -2
  115. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.js +100 -10
  116. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoStateWriteFence.js +92 -0
  117. package/dist/esm/router/cloudflare/d1/ed25519Yao/d1WalletCeremonyActivity.js +77 -0
  118. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.js +14 -9
  119. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.js +0 -1
  120. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.js +15 -9
  121. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.js +3 -2
  122. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.js +1 -1
  123. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.js +1 -7
  124. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.js +62 -36
  125. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.js +27 -21
  126. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.js +1 -1
  127. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.js +2 -2
  128. package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.js +0 -1
  129. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.js +44 -12
  130. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.js +1 -49
  131. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.js +20 -31
  132. package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleRegistrationCompletion.js +85 -0
  133. package/dist/esm/router/cloudflare/d1/identity/d1IdentityRecords.js +0 -1
  134. package/dist/esm/router/cloudflare/d1/identity/d1IdentityService.js +0 -48
  135. package/dist/esm/router/cloudflare/d1/near/d1SponsoredNearAccount.js +242 -0
  136. package/dist/esm/router/cloudflare/d1/oidc/d1OidcBoundary.js +1 -2
  137. package/dist/esm/router/cloudflare/d1/oidc/d1OidcVerificationService.js +2 -29
  138. package/dist/esm/router/cloudflare/d1/oidc/googleOidcToken.js +41 -0
  139. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.js +5 -0
  140. package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.js +52 -7
  141. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.js +83 -16
  142. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.js +8 -14
  143. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.js +60 -28
  144. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationIntentService.js +0 -1
  145. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationSessionTransaction.js +28 -0
  146. package/dist/esm/router/cloudflare/d1/registration/d1RegistrationSetupSupport.js +84 -0
  147. package/dist/esm/router/cloudflare/d1/registration/d1WalletExecutionAuthority.js +168 -0
  148. package/dist/esm/router/cloudflare/d1/registration/d1WalletOperationStore.js +53 -0
  149. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.js +85 -38
  150. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationInitialSession.js +33 -0
  151. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationPreparation.js +16 -0
  152. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationRead.js +58 -0
  153. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationService.js +478 -708
  154. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetup.js +13 -57
  155. package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationSetupExecution.js +169 -0
  156. package/dist/esm/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.js +79 -47
  157. package/dist/esm/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.js +11 -35
  158. package/dist/esm/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.js +110 -45
  159. package/dist/esm/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.js +12 -9
  160. package/dist/esm/router/cloudflare/d1/wallet/authorizationSnapshotLayout.js +168 -0
  161. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerFinalizeRecord.js +68 -0
  162. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerService.js +22 -60
  163. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodService.js +12 -48
  164. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorityStore.js +56 -143
  165. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationCleanup.js +157 -0
  166. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationFreeze.js +56 -0
  167. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationHistory.js +238 -0
  168. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationIntake.js +287 -0
  169. package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorizationSnapshot.js +295 -0
  170. package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationApprovals.js +140 -0
  171. package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationChallenges.js +170 -0
  172. package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationEmailOtp.js +60 -0
  173. package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationOwner.js +33 -0
  174. package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationOwnerRequest.js +74 -0
  175. package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationPasskey.js +77 -0
  176. package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationReadAccess.js +37 -0
  177. package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationSessions.js +97 -0
  178. package/dist/esm/router/cloudflare/d1/wallet/d1WalletRelocationWriteBlock.js +133 -0
  179. package/dist/esm/router/cloudflare/d1/walletObjectAddresses.js +47 -0
  180. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.js +26 -5
  181. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnRecords.js +4 -70
  182. package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnStore.js +23 -7
  183. package/dist/esm/router/cloudflare/runtime/routerAbServiceBindings.js +32 -1
  184. package/dist/esm/router/cloudflare/runtime/staticWalletConsoleBinding.js +20 -7
  185. package/dist/esm/router/cloudflare/runtime/walletAuthorizationRelocationRoutes.js +488 -0
  186. package/dist/esm/router/cloudflare/runtime/walletConsoleOps.js +1 -0
  187. package/dist/esm/router/cloudflare/runtime/walletConsoleOpsClient.js +26 -1
  188. package/dist/esm/router/cloudflare/runtime/walletControlOps.js +3 -0
  189. package/dist/esm/router/cloudflare/runtime/walletGateway.js +1 -1
  190. package/dist/esm/router/cloudflare/runtime/walletObjectAddresses.js +105 -0
  191. package/dist/esm/router/cloudflare/runtime/walletPlacementRoutes.js +339 -0
  192. package/dist/esm/router/cloudflare/runtime/walletRelocationDeriver.js +244 -0
  193. package/dist/esm/router/cloudflare/runtime/walletRelocationEcdsa.js +212 -0
  194. package/dist/esm/router/cloudflare/runtime/walletRelocationEd25519.js +172 -0
  195. package/dist/esm/router/cloudflare/runtime/walletRelocationOps.js +183 -0
  196. package/dist/esm/router/cloudflare/runtime/walletRelocationPresign.js +185 -0
  197. package/dist/esm/router/cloudflare/runtime/walletRelocationSource.js +221 -0
  198. package/dist/esm/router/cloudflare/runtime/walletRuntimeOps.js +16 -4
  199. package/dist/esm/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.js +30 -8
  200. package/dist/esm/router/cloudflare-adaptor.js +8 -9
  201. package/dist/esm/router/cloudflare.js +33043 -31559
  202. package/dist/esm/router/domains/ecdsa/routerAbEcdsaStrictRegistration.js +35 -9
  203. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoCapabilityCommit.js +42 -0
  204. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.js +42 -13
  205. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.js +64 -3
  206. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.js +6 -6
  207. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPersistence.js +70 -3
  208. package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.js +59 -87
  209. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.js +58 -28
  210. package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.js +13 -7
  211. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.js +108 -78
  212. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.js +27 -5
  213. package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.js +71 -22
  214. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.js +37 -25
  215. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.js +3 -3
  216. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.js +2 -1
  217. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.js +24 -3
  218. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationRequestScopedCloudflare.js +4 -3
  219. package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.js +20 -7
  220. package/dist/esm/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.js +7 -1
  221. package/dist/esm/router/domains/emailOtp/emailOtpRequestValidation.js +0 -1
  222. package/dist/esm/router/domains/emailOtp/emailOtpRouteHandlers.js +2 -2
  223. package/dist/esm/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.js +3 -9
  224. package/dist/esm/router/domains/passkeyCustody/registrationCustodyOutcome.js +34 -18
  225. package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.js +2 -2
  226. package/dist/esm/router/domains/passkeyCustody/walletCustodyRegistrationCommit.js +18 -14
  227. package/dist/esm/router/domains/signingOperations/authorizedOperationWire.js +73 -0
  228. package/dist/esm/router/domains/signingOperations/ecdsaSigningResponse.js +31 -0
  229. package/dist/esm/router/domains/signingOperations/ed25519AuthorizedOperationReceipt.js +1 -1
  230. package/dist/esm/router/domains/signingOperations/routerAbEcdsaDerivationNormalSigningRoute.js +2 -1
  231. package/dist/esm/router/domains/signingOperations/routerAbEd25519NormalSigningRoute.js +31 -121
  232. package/dist/esm/router/domains/signingOperations/routerAbNormalSigningAdmission.js +2 -93
  233. package/dist/esm/router/domains/signingOperations/routerAbPrivateSigningWorker.js +6 -20
  234. package/dist/esm/router/domains/signingOperations/signingPrepareSession.js +33 -0
  235. package/dist/esm/router/domains/signingOperations/walletExecutionAdmission.js +2 -3
  236. package/dist/esm/router/domains/walletRegistration/registrationSessionSeal.js +121 -0
  237. package/dist/esm/router/domains/walletRegistration/walletRegistrationReservation.js +70 -0
  238. package/dist/esm/router/domains/walletRegistration/walletRegistrationRoutes.js +56 -168
  239. package/dist/esm/router/domains/walletRegistration/walletRegistrationSetupPayload.js +3 -4
  240. package/dist/esm/router/domains/walletUnlock/walletUnlockRouteHandlers.js +14 -0
  241. package/dist/esm/router/express.js +1453 -1488
  242. package/dist/esm/router/framework/http.js +4 -1
  243. package/dist/esm/router/framework/registrationSetupDispatch.js +14 -0
  244. package/dist/esm/router/framework/ror/normalize.js +0 -1
  245. package/dist/esm/router/framework/ror/options.js +0 -1
  246. package/dist/esm/router/framework/ror/provider.js +0 -1
  247. package/dist/esm/router/framework/ror/staticProvider.js +0 -1
  248. package/dist/esm/router/framework/routeDefinitions.js +1 -2
  249. package/dist/esm/router/framework/routerApiWebhooks.js +0 -1
  250. package/dist/esm/router/ror.js +0 -1
  251. package/dist/esm/router/transport/fetch/createFetchRouter.js +2 -4
  252. package/dist/esm/router/transport/fetch/routes/auth.js +3 -1
  253. package/dist/esm/router/transport/fetch/routes/deviceLinking.js +38 -149
  254. package/dist/esm/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.js +5 -4
  255. package/dist/esm/router/transport/fetch/routes/deviceLinkingResponses.js +130 -0
  256. package/dist/esm/router/transport/fetch/routes/ecdsaOperationStepUpFactor.js +171 -0
  257. package/dist/esm/router/transport/fetch/routes/ed25519AuthorizedOperationRevalidation.js +65 -0
  258. package/dist/esm/router/transport/fetch/routes/normalSigningRouterProxy.js +13 -3
  259. package/dist/esm/router/transport/fetch/routes/passkeyCustody.js +4 -3
  260. package/dist/esm/router/transport/fetch/routes/sessions.js +3 -2
  261. package/dist/esm/router/transport/fetch/routes/syncAccount.js +7 -2
  262. package/dist/esm/router/transport/fetch/routes/thresholdEcdsa.js +86 -245
  263. package/dist/esm/router/transport/fetch/routes/thresholdEd25519.js +76 -212
  264. package/dist/esm/router/transport/fetch/routes/walletExecutionLanePreflight.js +18 -41
  265. package/dist/esm/router/transport/fetch/routes/walletRegistration.js +6 -3
  266. package/dist/esm/router/transport/fetch/routes/webauthnAuthenticators.js +1 -1
  267. package/dist/esm/shared-ts/src/authorization/index.js +1 -1
  268. package/dist/esm/shared-ts/src/authorization/walletAuthority.js +2 -2
  269. package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +0 -1
  270. package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +12 -2
  271. package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +0 -2
  272. package/dist/esm/shared-ts/src/device-linking/contracts.js +16 -1
  273. package/dist/esm/shared-ts/src/device-linking/digests.js +2 -9
  274. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +1 -1
  275. package/dist/esm/shared-ts/src/device-linking/index.js +1 -1
  276. package/dist/esm/shared-ts/src/device-linking/parsers.js +1 -1
  277. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +1 -1
  278. package/dist/esm/shared-ts/src/device-linking/wireFields.js +1 -1
  279. package/dist/esm/shared-ts/src/near/actions.js +0 -1
  280. package/dist/esm/shared-ts/src/near/nearClient.js +1 -3
  281. package/dist/esm/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.js +1 -1
  282. package/dist/esm/shared-ts/src/signing-lanes/index.js +1 -6
  283. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +3 -3
  284. package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +2 -81
  285. package/dist/esm/shared-ts/src/signing-lanes/participants.js +1 -219
  286. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +0 -3
  287. package/dist/esm/shared-ts/src/tenant-root/tenantRootOperationRecord.js +1 -2
  288. package/dist/esm/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js +0 -1
  289. package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +1 -22
  290. package/dist/esm/shared-ts/src/threshold/participants.js +0 -1
  291. package/dist/esm/shared-ts/src/threshold/signingRootScope.js +0 -1
  292. package/dist/esm/shared-ts/src/utils/addWalletAuthMethod.js +4 -13
  293. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +1 -7
  294. package/dist/esm/shared-ts/src/utils/domainIds.js +1 -16
  295. package/dist/esm/shared-ts/src/utils/ecdsaCapabilityActivation.js +1 -11
  296. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +0 -1
  297. package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +6 -1
  298. package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +4 -2
  299. package/dist/esm/shared-ts/src/utils/errors.js +1 -19
  300. package/dist/esm/shared-ts/src/utils/near.js +1 -1
  301. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +1 -1
  302. package/dist/esm/shared-ts/src/utils/registrationIds.js +1 -5
  303. package/dist/esm/shared-ts/src/utils/registrationIntent.js +0 -1
  304. package/dist/esm/shared-ts/src/utils/registrationSetupOperation.js +8 -0
  305. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +1 -1
  306. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +1 -2
  307. package/dist/esm/shared-ts/src/utils/routerAbPublicKeyset.js +0 -27
  308. package/dist/esm/shared-ts/src/utils/validation.js +1 -5
  309. package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +0 -1
  310. package/dist/esm/shared-ts/src/utils/walletManagementProtocol.js +6 -0
  311. package/dist/esm/shared-ts/src/utils/wireSchema.js +2 -13
  312. package/dist/esm/shared-ts/src/wallet-recovery/backupAcknowledgement.js +6 -24
  313. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +0 -1
  314. package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +5 -6
  315. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +1 -1
  316. package/dist/esm/storage/d1Sql.js +1 -7
  317. package/dist/esm/threshold/session/signingSessionSeal/crypto/cipher.js +0 -1
  318. package/dist/esm/threshold/session/signingSessionSeal/guards/backends.js +1 -2
  319. package/dist/esm/threshold/session/signingSessionSeal/idempotencyBackends.js +0 -1
  320. package/dist/esm/threshold/session/signingSessionSeal/idempotencyRecords.js +0 -1
  321. package/dist/esm/threshold/session/signingSessionSeal/options.js +1 -2
  322. package/dist/esm/wasm/evm_crypto/pkg/evm_crypto_bg.wasm +0 -0
  323. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +0 -611
  324. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  325. package/dist/esm/wasm/shamir3pass_runtime/pkg/shamir3pass_runtime_bg.wasm +0 -0
  326. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +0 -4
  327. package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +2 -1
  328. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +11 -0
  329. package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +0 -2
  330. package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +0 -11
  331. package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +2 -7
  332. package/dist/types/shared-ts/src/signing-lanes/index.d.ts +0 -4
  333. package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +0 -1
  334. package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +0 -18
  335. package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +6 -35
  336. package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +6 -843
  337. package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +2 -1
  338. package/dist/types/shared-ts/src/threshold/keyMaterialBrands.d.ts +0 -10
  339. package/dist/types/shared-ts/src/threshold/participants.d.ts +1 -1
  340. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +1 -133
  341. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +4 -18
  342. package/dist/types/shared-ts/src/utils/domainIds.d.ts +0 -12
  343. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +3 -1
  344. package/dist/types/shared-ts/src/utils/errors.d.ts +0 -4
  345. package/dist/types/shared-ts/src/utils/near.d.ts +0 -20
  346. package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -2
  347. package/dist/types/shared-ts/src/utils/registrationSetupOperation.d.ts +3 -0
  348. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +0 -9
  349. package/dist/types/shared-ts/src/utils/validation.d.ts +1 -3
  350. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +0 -1
  351. package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +3 -0
  352. package/dist/types/shared-ts/src/utils/wireSchema.d.ts +0 -2
  353. package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +0 -1
  354. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +1 -10
  355. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodes.d.ts +1 -3
  356. package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +5 -21
  357. package/dist/types/wallet-server/src/authorization/domain.d.ts +17 -1
  358. package/dist/types/wallet-server/src/authorization/ecdsaWalletSessionAdmission.d.ts +1 -0
  359. package/dist/types/wallet-server/src/authorization/ed25519WalletSessionAdmission.d.ts +35 -0
  360. package/dist/types/wallet-server/src/authorization/ed25519WalletSessionAdmission.typecheck.d.ts +2 -0
  361. package/dist/types/wallet-server/src/authorization/lifecycleRouting.d.ts +32 -0
  362. package/dist/types/wallet-server/src/authorization/lifecycleRouting.typecheck.d.ts +2 -0
  363. package/dist/types/wallet-server/src/authorization/recoveryRouting.d.ts +22 -0
  364. package/dist/types/wallet-server/src/authorization/recoveryRouting.typecheck.d.ts +2 -0
  365. package/dist/types/wallet-server/src/authorization/service.d.ts +50 -5
  366. package/dist/types/wallet-server/src/authorization/sessionRouting.d.ts +22 -0
  367. package/dist/types/wallet-server/src/authorization/sessionRouting.typecheck.d.ts +2 -0
  368. package/dist/types/wallet-server/src/cloud-host.d.ts +36 -10
  369. package/dist/types/wallet-server/src/core/EmailOtpRecords.d.ts +2 -22
  370. package/dist/types/wallet-server/src/core/EmailOtpStores.d.ts +20 -84
  371. package/dist/types/wallet-server/src/core/IdentityStore.d.ts +0 -10
  372. package/dist/types/wallet-server/src/core/RegistrationCeremonyStore.d.ts +0 -1
  373. package/dist/types/wallet-server/src/core/ThresholdService/config.d.ts +0 -2
  374. package/dist/types/wallet-server/src/core/ThresholdService/index.d.ts +1 -3
  375. package/dist/types/wallet-server/src/core/ThresholdService/kv.d.ts +0 -7
  376. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.d.ts +1 -3
  377. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/ecdsaDerivationPresignBridge.d.ts +6 -0
  378. package/dist/types/wallet-server/src/core/ThresholdService/routerAb/internalServiceHttp.d.ts +1 -0
  379. package/dist/types/wallet-server/src/core/ThresholdService/routerAbNormalSigningPolicy.d.ts +0 -1
  380. package/dist/types/wallet-server/src/core/ThresholdService/stores/WalletSessionStore.d.ts +7 -19
  381. package/dist/types/wallet-server/src/core/ThresholdService/validation.d.ts +0 -34
  382. package/dist/types/wallet-server/src/core/WalletAuthMethodStore.d.ts +1 -5
  383. package/dist/types/wallet-server/src/core/WalletStore.d.ts +0 -3
  384. package/dist/types/wallet-server/src/core/WebAuthnAuthenticatorStore.d.ts +0 -20
  385. package/dist/types/wallet-server/src/core/WebAuthnCredentialBindingStore.d.ts +1 -27
  386. package/dist/types/wallet-server/src/core/WebAuthnLoginChallengeStore.d.ts +2 -16
  387. package/dist/types/wallet-server/src/core/WebAuthnSyncChallengeStore.d.ts +22 -14
  388. package/dist/types/wallet-server/src/core/authService/emailOtpConfig.d.ts +0 -24
  389. package/dist/types/wallet-server/src/core/authService/emailOtpEnrollment.d.ts +1 -70
  390. package/dist/types/wallet-server/src/core/authService/emailOtpSeal.d.ts +0 -13
  391. package/dist/types/wallet-server/src/core/authService/githubOAuth.d.ts +2 -1
  392. package/dist/types/wallet-server/src/core/authService/nearTransactions.d.ts +1 -39
  393. package/dist/types/wallet-server/src/core/authService/rateLimits.d.ts +0 -17
  394. package/dist/types/wallet-server/src/core/authService/webauthn.d.ts +0 -125
  395. package/dist/types/wallet-server/src/core/authService/webauthnOidcHelpers.d.ts +0 -3
  396. package/dist/types/wallet-server/src/core/authService/webauthnVerificationOutcomes.d.ts +1 -1
  397. package/dist/types/wallet-server/src/core/authService/webauthnWalletBinding.d.ts +0 -12
  398. package/dist/types/wallet-server/src/core/config.d.ts +0 -10
  399. package/dist/types/wallet-server/src/core/d1Ed25519SignerRead.d.ts +17 -0
  400. package/dist/types/wallet-server/src/core/d1IdentityStore.d.ts +0 -2
  401. package/dist/types/wallet-server/src/core/d1TenantStore.d.ts +0 -7
  402. package/dist/types/wallet-server/src/core/d1WalletAuthMethodStore.d.ts +0 -1
  403. package/dist/types/wallet-server/src/core/d1WalletStore.d.ts +6 -0
  404. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceBootstrap.d.ts +19 -0
  405. package/dist/types/wallet-server/src/core/deviceLinking/linkedDeviceSession.d.ts +8 -6
  406. package/dist/types/wallet-server/src/core/deviceLinking/requestProof.d.ts +2 -5
  407. package/dist/types/wallet-server/src/core/emailOtpD1Statements.d.ts +11 -7
  408. package/dist/types/wallet-server/src/core/keyMaterialBrands.d.ts +1 -5
  409. package/dist/types/wallet-server/src/core/nearRelayerAccountProvisioning.d.ts +0 -1
  410. package/dist/types/wallet-server/src/core/passkeyCredentialClaims.d.ts +9 -0
  411. package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbEcdsaPresignRuntime.d.ts +5 -3
  412. package/dist/types/wallet-server/src/core/routerAbSigning/RouterAbNormalSigningRuntime.d.ts +0 -2
  413. package/dist/types/wallet-server/src/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.d.ts +1 -0
  414. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.d.ts +15 -140
  415. package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.typecheck.d.ts +4 -52
  416. package/dist/types/wallet-server/src/core/thresholdEcdsaChainTarget.d.ts +0 -1
  417. package/dist/types/wallet-server/src/core/types.d.ts +0 -299
  418. package/dist/types/wallet-server/src/hosted-wallet-gateway.d.ts +18 -5
  419. package/dist/types/wallet-server/src/index.d.ts +8 -13
  420. package/dist/types/wallet-server/src/localIntendedYaoSigningFault.d.ts +1 -16
  421. package/dist/types/wallet-server/src/localRegistrationSetupAuthority.d.ts +13 -0
  422. package/dist/types/wallet-server/src/router/auth/commonRouterUtils.d.ts +7 -1
  423. package/dist/types/wallet-server/src/router/auth/routerApiCredentialAuth.d.ts +11 -3
  424. package/dist/types/wallet-server/src/router/auth/walletRegistrationContext.d.ts +8 -0
  425. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1AuthorizationAssembly.d.ts +23 -0
  426. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1EmailOtpRouteService.d.ts +16 -0
  427. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthConfig.d.ts +28 -3
  428. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/d1RouterApiAuthService.d.ts +4 -1
  429. package/dist/types/wallet-server/src/router/cloudflare/d1/auth/walletSessionCredentialReaders.d.ts +7 -1
  430. package/dist/types/wallet-server/src/router/cloudflare/d1/authorization/d1AuthorizationStore.d.ts +33 -2
  431. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.d.ts +5 -1
  432. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.d.ts +7 -1
  433. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.d.ts +1 -10
  434. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRouteService.d.ts +4 -0
  435. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.d.ts +6 -0
  436. package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.d.ts +1 -13
  437. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoLifecycleDecisionStore.d.ts +3 -1
  438. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.d.ts +1 -0
  439. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoStateWriteFence.d.ts +8 -0
  440. package/dist/types/wallet-server/src/router/cloudflare/d1/ed25519Yao/d1WalletCeremonyActivity.d.ts +15 -0
  441. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.d.ts +6 -1
  442. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.d.ts +2 -2
  443. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.d.ts +2 -1
  444. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.d.ts +4 -1
  445. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpCounters.typecheck.d.ts +2 -0
  446. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.d.ts +0 -2
  447. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRateLimitStore.d.ts +6 -13
  448. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1EmailOtpRecords.d.ts +21 -7
  449. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.d.ts +29 -1
  450. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationRecords.d.ts +3 -16
  451. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.d.ts +7 -2
  452. package/dist/types/wallet-server/src/router/cloudflare/d1/emailOtp/d1GoogleRegistrationCompletion.d.ts +23 -0
  453. package/dist/types/wallet-server/src/router/cloudflare/d1/identity/d1IdentityService.d.ts +0 -12
  454. package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1SponsoredNearAccount.d.ts +24 -0
  455. package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1SponsoredNearAccount.typecheck.d.ts +2 -0
  456. package/dist/types/wallet-server/src/router/cloudflare/d1/oidc/d1OidcVerificationService.d.ts +0 -1
  457. package/dist/types/wallet-server/src/router/cloudflare/d1/oidc/googleOidcToken.d.ts +4 -0
  458. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyRouteService.d.ts +5 -0
  459. package/dist/types/wallet-server/src/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.d.ts +26 -1
  460. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.d.ts +33 -8
  461. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyRecords.d.ts +10 -11
  462. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.d.ts +17 -7
  463. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationSessionTransaction.d.ts +13 -0
  464. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1RegistrationSetupSupport.d.ts +58 -0
  465. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletExecutionAuthority.d.ts +41 -0
  466. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletOperationStore.d.ts +28 -0
  467. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.d.ts +9 -9
  468. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationInitialSession.d.ts +17 -0
  469. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationPreparation.d.ts +12 -0
  470. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationRead.d.ts +43 -0
  471. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationService.d.ts +52 -90
  472. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetup.d.ts +3 -30
  473. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationSetupExecution.d.ts +16 -0
  474. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.d.ts +42 -14
  475. package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationSessionCommitReceipt.d.ts +5 -4
  476. package/dist/types/wallet-server/src/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.d.ts +24 -1
  477. package/dist/types/wallet-server/src/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.d.ts +10 -4
  478. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/authorizationSnapshotLayout.d.ts +21 -0
  479. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerFinalizeRecord.d.ts +27 -0
  480. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAddSignerService.d.ts +4 -10
  481. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthMethodService.d.ts +5 -9
  482. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorityStore.d.ts +8 -4
  483. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationCleanup.d.ts +20 -0
  484. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationFreeze.d.ts +12 -0
  485. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationHistory.d.ts +20 -0
  486. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationIntake.d.ts +29 -0
  487. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletAuthorizationSnapshot.d.ts +31 -0
  488. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationApprovals.d.ts +49 -0
  489. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationChallenges.d.ts +47 -0
  490. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationEmailOtp.d.ts +25 -0
  491. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationOwner.d.ts +88 -0
  492. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationOwnerRequest.d.ts +37 -0
  493. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationPasskey.d.ts +12 -0
  494. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationReadAccess.d.ts +18 -0
  495. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationSessions.d.ts +23 -0
  496. package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationWriteBlock.d.ts +16 -0
  497. package/dist/types/wallet-server/src/router/cloudflare/d1/walletObjectAddresses.d.ts +14 -0
  498. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.d.ts +3 -0
  499. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnRecords.d.ts +0 -13
  500. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnStore.d.ts +23 -10
  501. package/dist/types/wallet-server/src/router/cloudflare/d1/webauthn/d1WebAuthnStore.typecheck.d.ts +2 -0
  502. package/dist/types/wallet-server/src/router/cloudflare/runtime/cloudflare.types.d.ts +0 -2
  503. package/dist/types/wallet-server/src/router/cloudflare/runtime/routerAbServiceBindings.d.ts +13 -0
  504. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletAuthorizationRelocationRoutes.d.ts +21 -0
  505. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOps.d.ts +1 -0
  506. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletConsoleOpsClient.d.ts +3 -1
  507. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletControlOps.d.ts +2 -1
  508. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletGateway.d.ts +3 -1
  509. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletObjectAddresses.d.ts +45 -0
  510. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletPlacementRoutes.d.ts +30 -0
  511. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationDeriver.d.ts +11 -0
  512. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationEcdsa.d.ts +7 -0
  513. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationEd25519.d.ts +7 -0
  514. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationOps.d.ts +11 -0
  515. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationPresign.d.ts +7 -0
  516. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRelocationSource.d.ts +26 -0
  517. package/dist/types/wallet-server/src/router/cloudflare/runtime/walletRuntimeOps.d.ts +3 -0
  518. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.d.ts +5 -0
  519. package/dist/types/wallet-server/src/router/cloudflare-adaptor.d.ts +0 -1
  520. package/dist/types/wallet-server/src/router/domains/ecdsa/routerAbEcdsaStrictRegistration.d.ts +3 -0
  521. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoCapabilityCommit.d.ts +7 -0
  522. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.d.ts +42 -8
  523. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitionedStateStore.d.ts +33 -2
  524. package/dist/types/wallet-server/src/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationPartitioning.d.ts +2 -2
  525. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.d.ts +14 -8
  526. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.typecheck.d.ts +2 -0
  527. package/dist/types/wallet-server/src/router/domains/ed25519Yao/export/routerAbEd25519YaoExportRequestScopedCloudflare.d.ts +2 -0
  528. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.d.ts +17 -9
  529. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryRequestScopedCloudflare.d.ts +2 -0
  530. package/dist/types/wallet-server/src/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecoveryWalletSessionAuthorization.d.ts +2 -0
  531. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.d.ts +13 -14
  532. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.d.ts +7 -3
  533. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationExecutionRecord.d.ts +1 -0
  534. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.d.ts +6 -1
  535. package/dist/types/wallet-server/src/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationSideEffectBoundary.d.ts +11 -0
  536. package/dist/types/wallet-server/src/router/domains/ed25519Yao/routerAbEd25519YaoGatewayEnvelope.d.ts +12 -3
  537. package/dist/types/wallet-server/src/router/domains/passkeyCustody/passkeyCustodyEnvelopeRetrieval.d.ts +0 -2
  538. package/dist/types/wallet-server/src/router/domains/passkeyCustody/registrationCustodyOutcome.d.ts +10 -6
  539. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationAdmission.d.ts +10 -3
  540. package/dist/types/wallet-server/src/router/domains/passkeyCustody/walletCustodyRegistrationCommit.d.ts +12 -8
  541. package/dist/types/wallet-server/src/router/domains/signingOperations/authorizedOperationWire.d.ts +97 -0
  542. package/dist/types/wallet-server/src/router/domains/signingOperations/ecdsaSigningResponse.d.ts +13 -0
  543. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbNormalSigningAdmission.d.ts +9 -206
  544. package/dist/types/wallet-server/src/router/domains/signingOperations/routerAbPrivateSigningWorker.d.ts +0 -17
  545. package/dist/types/wallet-server/src/router/domains/signingOperations/signingPrepareSession.d.ts +23 -0
  546. package/dist/types/wallet-server/src/router/domains/signingOperations/walletExecutionAdmission.d.ts +1 -2
  547. package/dist/types/wallet-server/src/router/domains/walletRegistration/registrationSessionSeal.d.ts +36 -0
  548. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationInputs.d.ts +8 -7
  549. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationReservation.d.ts +125 -0
  550. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationRoutes.d.ts +17 -15
  551. package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationSetupPayload.d.ts +2 -2
  552. package/dist/types/wallet-server/src/router/framework/apiCredentialPorts.d.ts +24 -0
  553. package/dist/types/wallet-server/src/router/framework/authServicePort.d.ts +35 -41
  554. package/dist/types/wallet-server/src/router/framework/googleLoginResolution.typecheck.d.ts +2 -0
  555. package/dist/types/wallet-server/src/router/framework/registrationSetupDispatch.d.ts +13 -0
  556. package/dist/types/wallet-server/src/router/framework/routerApi.d.ts +3 -12
  557. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinking.d.ts +1 -1
  558. package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinkingResponses.d.ts +17 -0
  559. package/dist/types/wallet-server/src/router/transport/fetch/routes/ecdsaOperationStepUpFactor.d.ts +37 -0
  560. package/dist/types/wallet-server/src/router/transport/fetch/routes/ed25519AuthorizedOperationRevalidation.d.ts +37 -0
  561. package/dist/types/wallet-server/src/router/transport/fetch/routes/thresholdEcdsa.d.ts +1 -17
  562. package/dist/types/wallet-server/src/storage/d1Sql.d.ts +0 -1
  563. package/dist/types/wallet-server/src/storage/tenantRoute.d.ts +1 -1
  564. package/migrations/d1-signer/0040_namespace_home_challenges.sql +16 -0
  565. package/migrations/d1-signer/0041_step_up_admission_expiry.sql +28 -0
  566. package/migrations/d1-signer/0042_deployment_resource_challenges.sql +4 -0
  567. package/migrations/d1-signer/0043_google_registration_candidate_claim.sql +2 -0
  568. package/migrations/d1-signer/0044_linked_device_bootstrap_imports.sql +6 -0
  569. package/migrations/d1-signer/0045_wallet_owned_capability_receipts.sql +29 -0
  570. package/migrations/d1-signer/0046_wallet_owned_signing_abuse.sql +41 -0
  571. package/migrations/d1-signer/0047_remove_unused_near_public_keys.sql +2 -0
  572. package/migrations/d1-signer/0048_operation_owner_scope.sql +45 -0
  573. package/migrations/d1-signer/0049_wallet_relocation_challenges.sql +16 -0
  574. package/migrations/d1-signer/0050_wallet_relocation_approvals.sql +14 -0
  575. package/migrations/d1-signer/0051_wallet_relocation_email_otp.sql +92 -0
  576. package/migrations/d1-signer/0052_wallet_relocation_session_fences.sql +91 -0
  577. package/migrations/d1-signer/0053_wallet_hosted_history_import.sql +164 -0
  578. package/migrations/d1-signer/0054_wallet_authorization_freeze.sql +318 -0
  579. package/migrations/d1-signer/0055_wallet_authorization_snapshot.sql +120 -0
  580. package/migrations/d1-signer/0056_wallet_authorization_history_import.sql +424 -0
  581. package/migrations/d1-signer/0057_wallet_authorization_intake.sql +44 -0
  582. package/migrations/d1-signer/0058_wallet_ceremony_activity.sql +59 -0
  583. package/migrations/d1-signer/0059_wallet_authorization_activation.sql +45 -0
  584. package/migrations/d1-signer/0060_wallet_authorization_cleanup.sql +153 -0
  585. package/migrations/d1-signer/0061_wallet_session_operation_settlement.sql +28 -0
  586. package/migrations/d1-signer/0062_wallet_step_up_operation_settlement.sql +204 -0
  587. package/migrations/d1-signer/0063_wallet_operation_history_transfer.sql +466 -0
  588. package/migrations/d1-signer/0064_wallet_execution_generations.sql +93 -0
  589. package/migrations/d1-signer/0065_wallet_operation_execution_generation.sql +37 -0
  590. package/migrations/d1-signer/0066_regional_deployment_admission.sql +59 -0
  591. package/migrations/d1-signer/0067_registration_completion_decision.sql +12 -0
  592. package/migrations/d1-signer/0068_registration_cancellation_write_fence.sql +24 -0
  593. package/migrations/d1-signer/0069_cancelled_registration_session_fence.sql +11 -0
  594. package/migrations/d1-signer/0070_wallet_passkey_relocation.sql +369 -0
  595. package/migrations/d1-signer/0071_regional_wallet_otp_counters.sql +98 -0
  596. package/migrations/d1-signer/0072_linked_device_relocation_history.sql +899 -0
  597. package/migrations/d1-signer/0073_wallet_recovery_relocation.sql +86 -0
  598. package/migrations/d1-signer/0074_email_otp_relocation.sql +158 -0
  599. package/migrations/d1-signer/0075_wallet_authorization_return.sql +107 -0
  600. package/migrations/d1-signer/0076_wallet_relocation_write_block.sql +406 -0
  601. package/migrations/d1-signer/0077_wallet_object_addresses.sql +24 -0
  602. package/package.json +2 -3
  603. package/src/README.md +33 -3
  604. package/cloudflare-router-ab/scripts/local-key-material.mjs +0 -29
  605. package/dist/esm/core/AuthService.js +0 -2
  606. package/dist/esm/core/NearPublicKeyStore.js +0 -200
  607. package/dist/esm/core/ThresholdService/stores/CloudflareDurableObjectStore.js +0 -397
  608. package/dist/esm/core/ThresholdService/stores/KeyStore.js +0 -140
  609. package/dist/esm/core/ThresholdService/stores/SessionStore.js +0 -361
  610. package/dist/esm/core/ThresholdService/stores/StoreConfig.js +0 -13
  611. package/dist/esm/core/ThresholdService/stores/exportReplayGuard.js +0 -7
  612. package/dist/esm/core/authService/AuthService.js +0 -594
  613. package/dist/esm/core/authService/bytes.js +0 -19
  614. package/dist/esm/core/authService/configValues.js +0 -15
  615. package/dist/esm/core/authService/emailOtpChallengeOperations.js +0 -123
  616. package/dist/esm/core/authService/emailOtpChallengeProof.js +0 -183
  617. package/dist/esm/core/authService/emailOtpChallengeVerification.js +0 -264
  618. package/dist/esm/core/authService/emailOtpChallenges.js +0 -225
  619. package/dist/esm/core/authService/emailOtpDelivery.js +0 -134
  620. package/dist/esm/core/authService/emailOtpGrant.js +0 -43
  621. package/dist/esm/core/authService/emailOtpRegistrationEnrollment.js +0 -144
  622. package/dist/esm/core/authService/emailOtpUnlock.js +0 -174
  623. package/dist/esm/core/authService/googleEmailOtpOperations.js +0 -141
  624. package/dist/esm/core/authService/googleEmailOtpRegistration.js +0 -587
  625. package/dist/esm/core/authService/identity.js +0 -42
  626. package/dist/esm/core/authService/identityOperations.js +0 -32
  627. package/dist/esm/core/authService/nearAccountOperations.js +0 -229
  628. package/dist/esm/core/authService/nearPublicKeyMetadata.js +0 -108
  629. package/dist/esm/core/authService/oidcVerification.js +0 -249
  630. package/dist/esm/core/authService/registrationThresholdHelpers.js +0 -30
  631. package/dist/esm/core/authService/runtime.js +0 -45
  632. package/dist/esm/core/authService/storeRegistry.js +0 -102
  633. package/dist/esm/core/authService/thresholdStoreSummary.js +0 -32
  634. package/dist/esm/core/authService/webauthnAuthority.js +0 -17
  635. package/dist/esm/core/defaultConfigsServer.js +0 -9
  636. package/dist/esm/core/hostedAccountIds.js +0 -225
  637. package/dist/esm/core/routerAbSigning/createRouterAbSigningRuntimes.js +0 -84
  638. package/dist/esm/core/signingLanes/LaneAggregateRevocationApplicationService.js +0 -86
  639. package/dist/esm/core/signingLanes/LaneEnrollmentActivation.js +0 -324
  640. package/dist/esm/core/signingLanes/LaneEnrollmentRevocation.js +0 -173
  641. package/dist/esm/core/signingLanes/LaneLifecycleApplicationService.js +0 -198
  642. package/dist/esm/core/signingLanes/ecdsaServerRetirement.js +0 -73
  643. package/dist/esm/core/signingLanes/ed25519ServerRetirement.js +0 -68
  644. package/dist/esm/core/storeBackends.js +0 -208
  645. package/dist/esm/core/utils.js +0 -14
  646. package/dist/esm/core/webAuthnStoreBackends.js +0 -198
  647. package/dist/esm/router/cloudflare/d1/near/d1NearPublicKeyStore.js +0 -49
  648. package/dist/esm/router/cloudflare/d1/signingLanes/d1EcdsaLanePrivateBindingResolver.js +0 -10
  649. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneAggregateRevocationApplicationService.js +0 -22
  650. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.js +0 -166
  651. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneEnrollmentGateway.js +0 -38
  652. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleApplicationService.js +0 -20
  653. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.js +0 -1459
  654. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneLockStore.js +0 -114
  655. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneProtocolCommitter.js +0 -16
  656. package/dist/esm/router/cloudflare/d1/signingLanes/d1LaneRecords.js +0 -171
  657. package/dist/esm/router/cloudflare/d1/signingLanes/index.js +0 -10
  658. package/dist/esm/router/cloudflare/durableObjects/thresholdStore.js +0 -397
  659. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.js +0 -597
  660. package/dist/esm/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.js +0 -273
  661. package/dist/esm/router/cloudflare/signingLanes/index.js +0 -4
  662. package/dist/esm/router/cloudflare/signingLanes/linkedDeviceEd25519CeremonyBinding.js +0 -32
  663. package/dist/esm/router/transport/fetch/routes/nearPublicKeys.js +0 -27
  664. package/dist/esm/shared-ts/src/signing-lanes/rotation.js +0 -8
  665. package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +0 -358
  666. package/dist/esm/shared-ts/src/signing-lanes/rotationLifecycle.js +0 -313
  667. package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +0 -532
  668. package/dist/esm/shared-ts/src/signing-lanes/rotationProtocolParsers.js +0 -323
  669. package/dist/esm/shared-ts/src/signing-lanes/rotationWireFields.js +0 -59
  670. package/dist/types/shared-ts/src/signing-lanes/participantDigest.typecheck.d.ts +0 -2
  671. package/dist/types/shared-ts/src/signing-lanes/rotation.typecheck.d.ts +0 -2
  672. package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +0 -13
  673. package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +0 -78
  674. package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +0 -27
  675. package/dist/types/shared-ts/src/signing-lanes/rotationProtocolParsers.d.ts +0 -6
  676. package/dist/types/shared-ts/src/signing-lanes/rotationWireFields.d.ts +0 -20
  677. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeAttempt.d.ts +0 -59
  678. package/dist/types/wallet-server/src/core/AuthService.d.ts +0 -3
  679. package/dist/types/wallet-server/src/core/NearPublicKeyStore.d.ts +0 -48
  680. package/dist/types/wallet-server/src/core/ThresholdService/stores/CloudflareDurableObjectStore.d.ts +0 -21
  681. package/dist/types/wallet-server/src/core/ThresholdService/stores/KeyStore.d.ts +0 -40
  682. package/dist/types/wallet-server/src/core/ThresholdService/stores/SessionStore.d.ts +0 -98
  683. package/dist/types/wallet-server/src/core/ThresholdService/stores/StoreConfig.d.ts +0 -4
  684. package/dist/types/wallet-server/src/core/ThresholdService/stores/ThresholdStoreConfig.typecheck.d.ts +0 -2
  685. package/dist/types/wallet-server/src/core/ThresholdService/stores/exportReplayGuard.d.ts +0 -3
  686. package/dist/types/wallet-server/src/core/authService/AuthService.d.ts +0 -490
  687. package/dist/types/wallet-server/src/core/authService/bytes.d.ts +0 -3
  688. package/dist/types/wallet-server/src/core/authService/configValues.d.ts +0 -7
  689. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeOperations.d.ts +0 -109
  690. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeProof.d.ts +0 -169
  691. package/dist/types/wallet-server/src/core/authService/emailOtpChallengeVerification.d.ts +0 -47
  692. package/dist/types/wallet-server/src/core/authService/emailOtpChallenges.d.ts +0 -86
  693. package/dist/types/wallet-server/src/core/authService/emailOtpDelivery.d.ts +0 -66
  694. package/dist/types/wallet-server/src/core/authService/emailOtpGrant.d.ts +0 -43
  695. package/dist/types/wallet-server/src/core/authService/emailOtpRegistrationEnrollment.d.ts +0 -49
  696. package/dist/types/wallet-server/src/core/authService/emailOtpUnlock.d.ts +0 -64
  697. package/dist/types/wallet-server/src/core/authService/googleEmailOtpOperations.d.ts +0 -126
  698. package/dist/types/wallet-server/src/core/authService/googleEmailOtpRegistration.d.ts +0 -169
  699. package/dist/types/wallet-server/src/core/authService/identity.d.ts +0 -25
  700. package/dist/types/wallet-server/src/core/authService/identityOperations.d.ts +0 -19
  701. package/dist/types/wallet-server/src/core/authService/nearAccountOperations.d.ts +0 -55
  702. package/dist/types/wallet-server/src/core/authService/nearPublicKeyMetadata.d.ts +0 -44
  703. package/dist/types/wallet-server/src/core/authService/oidcVerification.d.ts +0 -66
  704. package/dist/types/wallet-server/src/core/authService/registrationThresholdHelpers.d.ts +0 -11
  705. package/dist/types/wallet-server/src/core/authService/runtime.d.ts +0 -20
  706. package/dist/types/wallet-server/src/core/authService/storeRegistry.d.ts +0 -53
  707. package/dist/types/wallet-server/src/core/authService/thresholdStoreSummary.d.ts +0 -3
  708. package/dist/types/wallet-server/src/core/authService/webauthnAuthority.d.ts +0 -5
  709. package/dist/types/wallet-server/src/core/defaultConfigsServer.d.ts +0 -5
  710. package/dist/types/wallet-server/src/core/hostedAccountIds.d.ts +0 -16
  711. package/dist/types/wallet-server/src/core/routerAbSigning/createRouterAbSigningRuntimes.d.ts +0 -16
  712. package/dist/types/wallet-server/src/core/signingLanes/LaneAggregateRevocationApplicationService.d.ts +0 -36
  713. package/dist/types/wallet-server/src/core/signingLanes/LaneEffectJournalStore.d.ts +0 -62
  714. package/dist/types/wallet-server/src/core/signingLanes/LaneEnrollmentActivation.d.ts +0 -13
  715. package/dist/types/wallet-server/src/core/signingLanes/LaneEnrollmentRevocation.d.ts +0 -24
  716. package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleApplicationService.d.ts +0 -141
  717. package/dist/types/wallet-server/src/core/signingLanes/LaneLifecycleStore.d.ts +0 -228
  718. package/dist/types/wallet-server/src/core/signingLanes/ecdsaServerRetirement.d.ts +0 -58
  719. package/dist/types/wallet-server/src/core/signingLanes/ed25519ServerRetirement.d.ts +0 -30
  720. package/dist/types/wallet-server/src/core/signingLanes/signingWorkerLaneMaterialIdentity.d.ts +0 -4
  721. package/dist/types/wallet-server/src/core/storeBackends.d.ts +0 -83
  722. package/dist/types/wallet-server/src/core/utils.d.ts +0 -3
  723. package/dist/types/wallet-server/src/core/webAuthnStoreBackends.d.ts +0 -96
  724. package/dist/types/wallet-server/src/router/cloudflare/d1/near/d1NearPublicKeyStore.d.ts +0 -29
  725. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1EcdsaLanePrivateBindingResolver.d.ts +0 -4
  726. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneAggregateRevocationApplicationService.d.ts +0 -4
  727. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEffectJournalStore.d.ts +0 -24
  728. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneEnrollmentGateway.d.ts +0 -20
  729. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLifecycleApplicationService.d.ts +0 -13
  730. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLifecycleStore.d.ts +0 -51
  731. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneLockStore.d.ts +0 -28
  732. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneProtocolCommitter.d.ts +0 -5
  733. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/d1LaneRecords.d.ts +0 -107
  734. package/dist/types/wallet-server/src/router/cloudflare/d1/signingLanes/index.d.ts +0 -10
  735. package/dist/types/wallet-server/src/router/cloudflare/durableObjects/thresholdStore.d.ts +0 -18
  736. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareLaneCurveExecution.d.ts +0 -217
  737. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareLaneProtocolCommitter.d.ts +0 -73
  738. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/index.d.ts +0 -4
  739. package/dist/types/wallet-server/src/router/cloudflare/signingLanes/linkedDeviceEd25519CeremonyBinding.d.ts +0 -6
  740. package/dist/types/wallet-server/src/router/transport/fetch/routes/nearPublicKeys.d.ts +0 -3
  741. /package/dist/esm/{core/signingLanes/LaneEffectJournalStore.js → authorization/ed25519WalletSessionAdmission.js} +0 -0
  742. /package/dist/esm/{core/signingLanes/LaneLifecycleStore.js → authorization/recoveryRouting.js} +0 -0
  743. /package/dist/esm/{core/signingLanes/signingWorkerLaneMaterialIdentity.js → authorization/sessionRouting.js} +0 -0
@@ -1,859 +0,0 @@
1
- import { normalizeOptionalTrimmedString } from "../shared-ts/src/utils/normalize.js";
2
- import { isPlainObject } from "../shared-ts/src/utils/validation.js";
3
- import { d1ChangedRows, resolveD1DatabaseFromConfig } from "../storage/d1Sql.js";
4
- import { D1TenantTable, d1TenantScopeFromConfig, resolveStorePrefix } from "./d1TenantStore.js";
5
- import { parseCurrentEmailOtpAuthStateRecord, parseCurrentEmailOtpAuthStateRow, parseCurrentEmailOtpChallengeRecord, parseCurrentEmailOtpChallengeRow, parseCurrentEmailOtpGrantRecord, parseCurrentEmailOtpGrantRow, parseCurrentEmailOtpUnlockChallengeRecord, parseCurrentEmailOtpUnlockChallengeRow, parseCurrentEmailOtpWalletEnrollmentRecord, parseCurrentEmailOtpWalletEnrollmentRow, parseCurrentGoogleEmailOtpRegistrationAttemptRecord, parseCurrentGoogleEmailOtpRegistrationAttemptRow, parseJsonRecord, registrationAttemptMatchesReplacementScope, registrationAttemptMatchesStartedScope } from "./EmailOtpRecords.js";
6
- import { emailOtpAuthStateRows, emailOtpChallengeRows, emailOtpGrantRows, emailOtpRegistrationAttemptRows, emailOtpUnlockChallengeRows, emailOtpWalletEnrollmentRows } from "./emailOtpD1Statements.js";
7
- //#region src/core/EmailOtpStores.ts
8
- /** Names the Email OTP stores in D1 scope errors. */
9
- const EMAIL_OTP_D1_STORE = "Email OTP store";
10
- const EMAIL_OTP_STORE_D1_SCHEMA_SQL = Object.freeze([
11
- `
12
- CREATE TABLE IF NOT EXISTS email_otp_challenges (
13
- namespace TEXT NOT NULL,
14
- org_id TEXT NOT NULL,
15
- project_id TEXT NOT NULL,
16
- env_id TEXT NOT NULL,
17
- challenge_id TEXT NOT NULL,
18
- challenge_subject_id TEXT NOT NULL,
19
- wallet_id TEXT NOT NULL,
20
- record_org_id TEXT NOT NULL,
21
- otp_channel TEXT NOT NULL,
22
- owner_proof_binding_digest TEXT NOT NULL,
23
- action TEXT NOT NULL,
24
- operation TEXT NOT NULL,
25
- otp_code TEXT NOT NULL,
26
- record_json TEXT NOT NULL,
27
- created_at_ms INTEGER NOT NULL,
28
- expires_at_ms INTEGER NOT NULL,
29
- PRIMARY KEY (namespace, org_id, project_id, env_id, challenge_id),
30
- CHECK (length(challenge_id) > 0),
31
- CHECK (length(challenge_subject_id) > 0),
32
- CHECK (length(wallet_id) > 0),
33
- CHECK (otp_channel = 'email_otp'),
34
- CHECK (length(owner_proof_binding_digest) > 0),
35
- CHECK (length(action) > 0),
36
- CHECK (length(operation) > 0),
37
- CHECK (length(otp_code) > 0),
38
- CHECK (json_valid(record_json)),
39
- CHECK (created_at_ms > 0),
40
- CHECK (expires_at_ms > created_at_ms)
41
- )
42
- `,
43
- `
44
- CREATE INDEX IF NOT EXISTS email_otp_challenges_context_idx
45
- ON email_otp_challenges (
46
- namespace,
47
- org_id,
48
- project_id,
49
- env_id,
50
- challenge_subject_id,
51
- wallet_id,
52
- record_org_id,
53
- otp_channel,
54
- owner_proof_binding_digest,
55
- action,
56
- operation,
57
- expires_at_ms
58
- )
59
- `,
60
- `
61
- CREATE INDEX IF NOT EXISTS email_otp_challenges_expires_idx
62
- ON email_otp_challenges (
63
- namespace,
64
- org_id,
65
- project_id,
66
- env_id,
67
- expires_at_ms
68
- )
69
- `,
70
- `
71
- CREATE TABLE IF NOT EXISTS email_otp_grants (
72
- namespace TEXT NOT NULL,
73
- org_id TEXT NOT NULL,
74
- project_id TEXT NOT NULL,
75
- env_id TEXT NOT NULL,
76
- grant_token TEXT NOT NULL,
77
- user_id TEXT NOT NULL,
78
- wallet_id TEXT NOT NULL,
79
- record_org_id TEXT NOT NULL,
80
- challenge_id TEXT NOT NULL,
81
- action TEXT NOT NULL,
82
- record_json TEXT NOT NULL,
83
- issued_at_ms INTEGER NOT NULL,
84
- expires_at_ms INTEGER NOT NULL,
85
- PRIMARY KEY (namespace, org_id, project_id, env_id, grant_token),
86
- CHECK (length(grant_token) > 0),
87
- CHECK (length(user_id) > 0),
88
- CHECK (length(wallet_id) > 0),
89
- CHECK (length(challenge_id) > 0),
90
- CHECK (length(action) > 0),
91
- CHECK (json_valid(record_json)),
92
- CHECK (issued_at_ms > 0),
93
- CHECK (expires_at_ms > issued_at_ms)
94
- )
95
- `,
96
- `
97
- CREATE INDEX IF NOT EXISTS email_otp_grants_expires_idx
98
- ON email_otp_grants (
99
- namespace,
100
- org_id,
101
- project_id,
102
- env_id,
103
- expires_at_ms
104
- )
105
- `,
106
- `
107
- CREATE TABLE IF NOT EXISTS email_otp_wallet_enrollments (
108
- namespace TEXT NOT NULL,
109
- org_id TEXT NOT NULL,
110
- project_id TEXT NOT NULL,
111
- env_id TEXT NOT NULL,
112
- wallet_id TEXT NOT NULL,
113
- provider_user_id TEXT NOT NULL,
114
- record_org_id TEXT NOT NULL,
115
- verified_email TEXT NOT NULL,
116
- record_json TEXT NOT NULL,
117
- created_at_ms INTEGER NOT NULL,
118
- updated_at_ms INTEGER NOT NULL,
119
- PRIMARY KEY (namespace, org_id, project_id, env_id, wallet_id),
120
- CHECK (length(wallet_id) > 0),
121
- CHECK (length(provider_user_id) > 0),
122
- CHECK (length(record_org_id) > 0),
123
- CHECK (length(verified_email) > 0),
124
- CHECK (json_valid(record_json)),
125
- CHECK (created_at_ms > 0),
126
- CHECK (updated_at_ms > 0)
127
- )
128
- `,
129
- `
130
- CREATE INDEX IF NOT EXISTS email_otp_wallet_enrollments_provider_idx
131
- ON email_otp_wallet_enrollments (
132
- namespace,
133
- org_id,
134
- project_id,
135
- env_id,
136
- record_org_id,
137
- provider_user_id,
138
- updated_at_ms
139
- )
140
- `,
141
- `
142
- CREATE TABLE IF NOT EXISTS email_otp_auth_states (
143
- namespace TEXT NOT NULL,
144
- org_id TEXT NOT NULL,
145
- project_id TEXT NOT NULL,
146
- env_id TEXT NOT NULL,
147
- wallet_id TEXT NOT NULL,
148
- provider_user_id TEXT NOT NULL,
149
- record_org_id TEXT NOT NULL,
150
- record_json TEXT NOT NULL,
151
- created_at_ms INTEGER NOT NULL,
152
- updated_at_ms INTEGER NOT NULL,
153
- PRIMARY KEY (namespace, org_id, project_id, env_id, wallet_id),
154
- CHECK (length(wallet_id) > 0),
155
- CHECK (length(provider_user_id) > 0),
156
- CHECK (length(record_org_id) > 0),
157
- CHECK (json_valid(record_json)),
158
- CHECK (created_at_ms > 0),
159
- CHECK (updated_at_ms > 0)
160
- )
161
- `,
162
- `
163
- CREATE TABLE IF NOT EXISTS email_otp_unlock_challenges (
164
- namespace TEXT NOT NULL,
165
- org_id TEXT NOT NULL,
166
- project_id TEXT NOT NULL,
167
- env_id TEXT NOT NULL,
168
- challenge_id TEXT NOT NULL,
169
- wallet_id TEXT NOT NULL,
170
- user_id TEXT NOT NULL,
171
- record_org_id TEXT NOT NULL,
172
- record_json TEXT NOT NULL,
173
- created_at_ms INTEGER NOT NULL,
174
- expires_at_ms INTEGER NOT NULL,
175
- PRIMARY KEY (namespace, org_id, project_id, env_id, challenge_id),
176
- CHECK (length(challenge_id) > 0),
177
- CHECK (length(wallet_id) > 0),
178
- CHECK (length(user_id) > 0),
179
- CHECK (json_valid(record_json)),
180
- CHECK (created_at_ms > 0),
181
- CHECK (expires_at_ms > created_at_ms)
182
- )
183
- `,
184
- `
185
- CREATE INDEX IF NOT EXISTS email_otp_unlock_challenges_expires_idx
186
- ON email_otp_unlock_challenges (
187
- namespace,
188
- org_id,
189
- project_id,
190
- env_id,
191
- expires_at_ms
192
- )
193
- `,
194
- `
195
- CREATE TABLE IF NOT EXISTS email_otp_registration_attempts (
196
- namespace TEXT NOT NULL,
197
- org_id TEXT NOT NULL,
198
- project_id TEXT NOT NULL,
199
- env_id TEXT NOT NULL,
200
- attempt_id TEXT NOT NULL,
201
- provider_subject TEXT NOT NULL,
202
- email TEXT NOT NULL,
203
- wallet_id TEXT NOT NULL,
204
- state TEXT NOT NULL,
205
- owner_proof_binding_digest TEXT NOT NULL,
206
- runtime_org_id TEXT NOT NULL,
207
- runtime_policy_key TEXT NOT NULL,
208
- offer_wallet_ids_json TEXT NOT NULL,
209
- record_json TEXT NOT NULL,
210
- created_at_ms INTEGER NOT NULL,
211
- updated_at_ms INTEGER NOT NULL,
212
- expires_at_ms INTEGER NOT NULL,
213
- PRIMARY KEY (namespace, org_id, project_id, env_id, attempt_id),
214
- CHECK (length(attempt_id) > 0),
215
- CHECK (length(provider_subject) > 0),
216
- CHECK (length(email) > 0),
217
- CHECK (length(wallet_id) > 0),
218
- CHECK (state IN ('started', 'key_finalized', 'active', 'abandoned', 'failed', 'expired')),
219
- CHECK (length(owner_proof_binding_digest) > 0),
220
- CHECK (json_valid(offer_wallet_ids_json)),
221
- CHECK (json_valid(record_json)),
222
- CHECK (created_at_ms > 0),
223
- CHECK (updated_at_ms > 0),
224
- CHECK (expires_at_ms > 0)
225
- )
226
- `,
227
- `
228
- CREATE INDEX IF NOT EXISTS email_otp_registration_attempts_subject_idx
229
- ON email_otp_registration_attempts (
230
- namespace,
231
- org_id,
232
- project_id,
233
- env_id,
234
- provider_subject,
235
- email,
236
- state,
237
- expires_at_ms,
238
- owner_proof_binding_digest,
239
- runtime_org_id,
240
- runtime_policy_key,
241
- updated_at_ms
242
- )
243
- `,
244
- `
245
- CREATE INDEX IF NOT EXISTS email_otp_registration_attempts_wallet_idx
246
- ON email_otp_registration_attempts (
247
- namespace,
248
- org_id,
249
- project_id,
250
- env_id,
251
- wallet_id,
252
- state,
253
- expires_at_ms
254
- )
255
- `
256
- ]);
257
- /**
258
- * Selects a store's backend: D1 when the config's `kind` is `d1`, else in memory; any other
259
- * `kind` is an error. `label` names the store in log lines and errors; the unknown-kind error
260
- * uses `kindLabel`, which the wallet enrollment store shortens to `enrollment`. The store type
261
- * `S` comes from the caller's return type.
262
- */
263
- function createEmailOtpStore(input, label, build, kindLabel = label) {
264
- const config = isPlainObject(input?.config) ? input.config : {};
265
- const kind = normalizeOptionalTrimmedString(config.kind);
266
- if (kind === "d1") {
267
- const database = resolveD1DatabaseFromConfig(config);
268
- if (!database) throw new Error(`[email-otp] D1 ${label} store selected but no D1 database was provided`);
269
- const scope = d1TenantScopeFromConfig(config, resolveStorePrefix(config, ["EMAIL_OTP_PREFIX", "EMAIL_OTP_STORE_PREFIX"], "email-otp:"), EMAIL_OTP_D1_STORE);
270
- input?.logger?.info(`[email-otp] Using D1 ${label} store`);
271
- return build.d1(database, scope);
272
- }
273
- if (kind && kind !== "in-memory") throw new Error(`[email-otp] Unknown ${kindLabel} store kind: ${kind}`);
274
- input?.logger?.info(`[email-otp] Using in-memory ${label} store (non-persistent)`);
275
- return build.inMemory();
276
- }
277
- const CHALLENGE_RECORD = {
278
- label: "Email OTP challenge",
279
- parse: parseCurrentEmailOtpChallengeRecord,
280
- id: (record) => record.challengeId,
281
- orgId: (record) => record.orgId
282
- };
283
- const GRANT_RECORD = {
284
- label: "Email OTP grant",
285
- parse: parseCurrentEmailOtpGrantRecord,
286
- id: (record) => record.grantToken,
287
- orgId: (record) => record.orgId
288
- };
289
- const WALLET_ENROLLMENT_RECORD = {
290
- label: "Email OTP wallet enrollment",
291
- parse: parseCurrentEmailOtpWalletEnrollmentRecord,
292
- id: (record) => record.walletId,
293
- orgId: (record) => record.orgId
294
- };
295
- const AUTH_STATE_RECORD = {
296
- label: "Email OTP auth state",
297
- parse: parseCurrentEmailOtpAuthStateRecord,
298
- id: (record) => record.walletId,
299
- orgId: (record) => record.orgId
300
- };
301
- const UNLOCK_CHALLENGE_RECORD = {
302
- label: "Email OTP unlock challenge",
303
- parse: parseCurrentEmailOtpUnlockChallengeRecord,
304
- id: (record) => record.challengeId,
305
- orgId: (record) => record.orgId
306
- };
307
- const REGISTRATION_ATTEMPT_RECORD = {
308
- label: "Google Email OTP registration attempt",
309
- parse: parseCurrentGoogleEmailOtpRegistrationAttemptRecord,
310
- id: (record) => record.attemptId,
311
- orgId: (record) => record.runtimePolicyScope?.orgId
312
- };
313
- function parseEmailOtpRecord(spec, record) {
314
- const parsed = spec.parse(record);
315
- if (!parsed) throw new Error(`Invalid ${spec.label} record`);
316
- return parsed;
317
- }
318
- function cloneRecord(value) {
319
- return JSON.parse(JSON.stringify(value));
320
- }
321
- function challengeContextMatches(record, input) {
322
- 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;
323
- }
324
- /** Keeps copies of parsed records by id, so no caller shares a stored object. */
325
- var InMemoryEmailOtpStore = class {
326
- constructor(spec) {
327
- this.spec = spec;
328
- this.map = /* @__PURE__ */ new Map();
329
- }
330
- async put(record) {
331
- this.set(parseEmailOtpRecord(this.spec, record));
332
- }
333
- set(record) {
334
- this.map.set(this.spec.id(record), cloneRecord(record));
335
- }
336
- async get(id) {
337
- const key = normalizeOptionalTrimmedString(id);
338
- if (!key) return null;
339
- const record = this.map.get(key);
340
- return record ? cloneRecord(record) : null;
341
- }
342
- /** Reads and deletes, so a one-time record is used at most once. */
343
- async consume(id) {
344
- const key = normalizeOptionalTrimmedString(id);
345
- if (!key) return null;
346
- const record = this.map.get(key);
347
- this.map.delete(key);
348
- return record ? cloneRecord(record) : null;
349
- }
350
- async del(id) {
351
- const key = normalizeOptionalTrimmedString(id);
352
- if (!key) return;
353
- this.map.delete(key);
354
- }
355
- };
356
- var InMemoryEmailOtpChallengeStore = class extends InMemoryEmailOtpStore {
357
- constructor() {
358
- super(CHALLENGE_RECORD);
359
- }
360
- async deleteExpired(nowMs) {
361
- const deleted = [];
362
- for (const [challengeId, record] of this.map.entries()) {
363
- if (record.expiresAtMs > nowMs) continue;
364
- this.map.delete(challengeId);
365
- deleted.push(cloneRecord(record));
366
- }
367
- return deleted;
368
- }
369
- async countActiveByContext(input) {
370
- let count = 0;
371
- for (const record of this.map.values()) {
372
- if (!challengeContextMatches(record, input)) continue;
373
- count += 1;
374
- }
375
- return count;
376
- }
377
- async findLatestActiveByContext(input) {
378
- let latest = null;
379
- for (const record of this.map.values()) {
380
- if (!challengeContextMatches(record, input)) continue;
381
- if (!latest || record.expiresAtMs > latest.expiresAtMs) latest = record;
382
- }
383
- return latest ? cloneRecord(latest) : null;
384
- }
385
- async deleteOldestActiveByContext(input) {
386
- let oldest = null;
387
- for (const record of this.map.values()) {
388
- if (!challengeContextMatches(record, input)) continue;
389
- if (!oldest || record.createdAtMs < oldest.createdAtMs) oldest = record;
390
- }
391
- if (!oldest) return null;
392
- this.map.delete(oldest.challengeId);
393
- return cloneRecord(oldest);
394
- }
395
- async findActiveByContext(input) {
396
- for (const record of this.map.values()) {
397
- if (!challengeContextMatches(record, input)) continue;
398
- if (record.otpCode !== input.otpCode) continue;
399
- return cloneRecord(record);
400
- }
401
- return null;
402
- }
403
- };
404
- var InMemoryEmailOtpWalletEnrollmentStore = class extends InMemoryEmailOtpStore {
405
- constructor() {
406
- super(WALLET_ENROLLMENT_RECORD);
407
- }
408
- async getByProviderUserId(input) {
409
- const providerUserId = normalizeOptionalTrimmedString(input.providerUserId);
410
- const orgId = normalizeOptionalTrimmedString(input.orgId);
411
- if (!providerUserId || !orgId) return null;
412
- const record = Array.from(this.map.values()).find((candidate) => candidate.providerUserId === providerUserId && candidate.orgId === orgId) || null;
413
- return record ? cloneRecord(record) : null;
414
- }
415
- async put(record) {
416
- const parsed = parseEmailOtpRecord(this.spec, record);
417
- 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");
418
- this.set(parsed);
419
- }
420
- };
421
- var InMemoryEmailOtpRegistrationAttemptStore = class extends InMemoryEmailOtpStore {
422
- constructor() {
423
- super(REGISTRATION_ATTEMPT_RECORD);
424
- }
425
- async findStartedBySubjectEmail(input) {
426
- for (const record of this.map.values()) if (registrationAttemptMatchesStartedScope(record, input)) return cloneRecord(record);
427
- return null;
428
- }
429
- async abandonStartedBySubjectEmailExceptBinding(input) {
430
- let abandoned = 0;
431
- for (const record of this.map.values()) {
432
- if (!registrationAttemptMatchesReplacementScope(record, input)) continue;
433
- this.map.set(record.attemptId, {
434
- ...cloneRecord(record),
435
- state: "abandoned",
436
- failureCode: input.failureCode,
437
- updatedAtMs: input.nowMs
438
- });
439
- abandoned += 1;
440
- }
441
- return abandoned;
442
- }
443
- async hasLiveStartedWalletAttempt(input) {
444
- 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;
445
- return false;
446
- }
447
- async deleteExpired(nowMs) {
448
- let deleted = 0;
449
- for (const [attemptId, record] of this.map.entries()) if (record.expiresAtMs <= nowMs || record.state === "expired") {
450
- this.map.delete(attemptId);
451
- deleted += 1;
452
- }
453
- return deleted;
454
- }
455
- };
456
- function challengeFromRow(row) {
457
- return parseCurrentEmailOtpChallengeRow({
458
- recordJson: parseJsonRecord(row?.record_json),
459
- expiresAtMs: row?.expires_at_ms
460
- });
461
- }
462
- function grantFromRow(row) {
463
- return parseCurrentEmailOtpGrantRow({
464
- recordJson: parseJsonRecord(row?.record_json),
465
- expiresAtMs: row?.expires_at_ms
466
- });
467
- }
468
- function walletEnrollmentFromRow(row) {
469
- return parseCurrentEmailOtpWalletEnrollmentRow({
470
- recordJson: parseJsonRecord(row?.record_json),
471
- updatedAtMs: row?.updated_at_ms
472
- });
473
- }
474
- function authStateFromRow(row) {
475
- return parseCurrentEmailOtpAuthStateRow({
476
- recordJson: parseJsonRecord(row?.record_json),
477
- updatedAtMs: row?.updated_at_ms
478
- });
479
- }
480
- function unlockChallengeFromRow(row) {
481
- return parseCurrentEmailOtpUnlockChallengeRow({
482
- recordJson: parseJsonRecord(row?.record_json),
483
- expiresAtMs: row?.expires_at_ms
484
- });
485
- }
486
- function registrationAttemptFromRow(row) {
487
- return parseCurrentGoogleEmailOtpRegistrationAttemptRow({
488
- recordJson: parseJsonRecord(row?.record_json),
489
- expiresAtMs: row?.expires_at_ms,
490
- updatedAtMs: row?.updated_at_ms
491
- });
492
- }
493
- /**
494
- * A record's store in one D1 tenant scope. The core schema is created on first use, and a row
495
- * that no longer parses is deleted when it is read.
496
- */
497
- var D1EmailOtpStore = class {
498
- constructor(database, scope, spec, rows) {
499
- this.spec = spec;
500
- this.rows = rows;
501
- this.adapterKind = "d1";
502
- this.prepare = (sql, values) => this.table.prepare(sql, values);
503
- this.table = new D1TenantTable({
504
- database,
505
- ...scope
506
- }, EMAIL_OTP_D1_STORE, EMAIL_OTP_STORE_D1_SCHEMA_SQL);
507
- }
508
- ensureSchema() {
509
- return this.table.ensureSchema();
510
- }
511
- async put(record) {
512
- await this.ensureSchema();
513
- const parsed = parseEmailOtpRecord(this.spec, record);
514
- const recordOrgId = this.spec.orgId(parsed);
515
- if (recordOrgId && recordOrgId !== this.table.scope.orgId) throw new Error(`${this.spec.label} orgId must match D1 Email OTP store orgId`);
516
- await this.rows.upsert(this.prepare, parsed).run();
517
- }
518
- async getById(id, select) {
519
- await this.ensureSchema();
520
- const key = normalizeOptionalTrimmedString(id);
521
- if (!key) return null;
522
- const row = await select(this.prepare, key).first();
523
- return row ? this.recordOrDiscard(row, key) : null;
524
- }
525
- /** Reads and deletes, so a one-time record is used at most once. */
526
- async consumeById(id, consume) {
527
- await this.ensureSchema();
528
- const key = normalizeOptionalTrimmedString(id);
529
- if (!key) return null;
530
- const row = await consume(this.prepare, key).first();
531
- const parsed = this.rows.fromRow(row);
532
- return parsed ? cloneRecord(parsed) : null;
533
- }
534
- async deleteById(id, remove) {
535
- await this.ensureSchema();
536
- const key = normalizeOptionalTrimmedString(id);
537
- if (!key) return;
538
- await remove(this.prepare, key).run();
539
- }
540
- /** The row's record; a row that does not parse is deleted by `malformedId` and reads as null. */
541
- async recordOrDiscard(row, malformedId) {
542
- const parsed = this.rows.fromRow(row);
543
- if (parsed) return cloneRecord(parsed);
544
- const id = normalizeOptionalTrimmedString(malformedId);
545
- if (id) await this.del(id);
546
- return null;
547
- }
548
- };
549
- const ACTIVE_CHALLENGE_CONTEXT_SQL = `WHERE namespace = ?
550
- AND org_id = ?
551
- AND project_id = ?
552
- AND env_id = ?
553
- AND expires_at_ms > ?
554
- AND challenge_subject_id = ?
555
- AND wallet_id = ?
556
- AND record_org_id = ?
557
- AND otp_channel = ?
558
- AND owner_proof_binding_digest = ?
559
- AND action = ?
560
- AND operation = ?`;
561
- function challengeContextValues(input) {
562
- return [
563
- input.nowMs,
564
- input.challengeSubjectId,
565
- input.walletId,
566
- String(input.orgId || ""),
567
- input.otpChannel,
568
- input.ownerProofBindingDigest,
569
- input.action,
570
- input.operation
571
- ];
572
- }
573
- var D1EmailOtpChallengeStore = class extends D1EmailOtpStore {
574
- constructor(database, scope) {
575
- super(database, scope, CHALLENGE_RECORD, {
576
- fromRow: challengeFromRow,
577
- upsert: emailOtpChallengeRows.upsert
578
- });
579
- }
580
- async get(challengeId) {
581
- await this.ensureSchema();
582
- const id = normalizeOptionalTrimmedString(challengeId);
583
- if (!id) return null;
584
- const row = await this.prepare(`SELECT record_json, expires_at_ms, challenge_id
585
- FROM email_otp_challenges
586
- WHERE namespace = ?
587
- AND org_id = ?
588
- AND project_id = ?
589
- AND env_id = ?
590
- AND challenge_id = ?
591
- LIMIT 1`, [id]).first();
592
- return row ? this.recordOrDiscard(row, id) : null;
593
- }
594
- async deleteExpired(nowMs) {
595
- await this.ensureSchema();
596
- return ((await this.prepare(`DELETE FROM email_otp_challenges
597
- WHERE namespace = ?
598
- AND org_id = ?
599
- AND project_id = ?
600
- AND env_id = ?
601
- AND expires_at_ms <= ?
602
- RETURNING record_json, expires_at_ms`, [nowMs]).all()).results || []).map((row) => challengeFromRow(row)).filter((record) => Boolean(record)).map((record) => cloneRecord(record));
603
- }
604
- async countActiveByContext(input) {
605
- await this.ensureSchema();
606
- const row = await this.prepare(`SELECT COUNT(*) AS count
607
- FROM email_otp_challenges
608
- ${ACTIVE_CHALLENGE_CONTEXT_SQL}`, challengeContextValues(input)).first();
609
- return Number(row?.count || 0);
610
- }
611
- async findLatestActiveByContext(input) {
612
- await this.ensureSchema();
613
- const row = await this.prepare(`SELECT record_json, expires_at_ms, challenge_id
614
- FROM email_otp_challenges
615
- ${ACTIVE_CHALLENGE_CONTEXT_SQL}
616
- ORDER BY expires_at_ms DESC, created_at_ms DESC
617
- LIMIT 1`, challengeContextValues(input)).first();
618
- return this.recordOrDiscard(row, row?.challenge_id);
619
- }
620
- async deleteOldestActiveByContext(input) {
621
- await this.ensureSchema();
622
- const row = await this.prepare(`WITH oldest AS (
623
- SELECT challenge_id
624
- FROM email_otp_challenges
625
- WHERE namespace = ?
626
- AND org_id = ?
627
- AND project_id = ?
628
- AND env_id = ?
629
- AND expires_at_ms > ?
630
- AND challenge_subject_id = ?
631
- AND wallet_id = ?
632
- AND record_org_id = ?
633
- AND otp_channel = ?
634
- AND owner_proof_binding_digest = ?
635
- AND action = ?
636
- AND operation = ?
637
- ORDER BY created_at_ms ASC, expires_at_ms ASC
638
- LIMIT 1
639
- )
640
- DELETE FROM email_otp_challenges
641
- WHERE namespace = ?
642
- AND org_id = ?
643
- AND project_id = ?
644
- AND env_id = ?
645
- AND challenge_id IN (SELECT challenge_id FROM oldest)
646
- RETURNING record_json, expires_at_ms, challenge_id`, [
647
- ...challengeContextValues(input),
648
- this.table.scope.namespace,
649
- this.table.scope.orgId,
650
- this.table.scope.projectId,
651
- this.table.scope.envId
652
- ]).first();
653
- return this.recordOrDiscard(row, row?.challenge_id);
654
- }
655
- async findActiveByContext(input) {
656
- await this.ensureSchema();
657
- const row = await this.prepare(`SELECT record_json, expires_at_ms, challenge_id
658
- FROM email_otp_challenges
659
- ${ACTIVE_CHALLENGE_CONTEXT_SQL}
660
- AND otp_code = ?
661
- ORDER BY expires_at_ms DESC
662
- LIMIT 1`, [...challengeContextValues(input), input.otpCode]).first();
663
- return this.recordOrDiscard(row, row?.challenge_id);
664
- }
665
- del(challengeId) {
666
- return this.deleteById(challengeId, emailOtpChallengeRows.delete);
667
- }
668
- };
669
- var D1EmailOtpGrantStore = class extends D1EmailOtpStore {
670
- constructor(database, scope) {
671
- super(database, scope, GRANT_RECORD, {
672
- fromRow: grantFromRow,
673
- upsert: emailOtpGrantRows.upsert
674
- });
675
- }
676
- get(grantToken) {
677
- return this.getById(grantToken, emailOtpGrantRows.select);
678
- }
679
- consume(grantToken) {
680
- return this.consumeById(grantToken, emailOtpGrantRows.consume);
681
- }
682
- del(grantToken) {
683
- return this.deleteById(grantToken, emailOtpGrantRows.delete);
684
- }
685
- };
686
- var D1EmailOtpWalletEnrollmentStore = class extends D1EmailOtpStore {
687
- constructor(database, scope) {
688
- super(database, scope, WALLET_ENROLLMENT_RECORD, {
689
- fromRow: walletEnrollmentFromRow,
690
- upsert: emailOtpWalletEnrollmentRows.upsert
691
- });
692
- }
693
- async get(walletId) {
694
- await this.ensureSchema();
695
- const key = normalizeOptionalTrimmedString(walletId);
696
- if (!key) return null;
697
- const row = await this.prepare(`SELECT record_json, updated_at_ms, wallet_id
698
- FROM email_otp_wallet_enrollments
699
- WHERE namespace = ?
700
- AND org_id = ?
701
- AND project_id = ?
702
- AND env_id = ?
703
- AND wallet_id = ?
704
- LIMIT 1`, [key]).first();
705
- return row ? this.recordOrDiscard(row, key) : null;
706
- }
707
- async getByProviderUserId(input) {
708
- await this.ensureSchema();
709
- const providerUserId = normalizeOptionalTrimmedString(input.providerUserId);
710
- const orgId = normalizeOptionalTrimmedString(input.orgId);
711
- if (!providerUserId || !orgId) return null;
712
- const row = await this.prepare(`SELECT record_json, updated_at_ms, wallet_id
713
- FROM email_otp_wallet_enrollments
714
- WHERE namespace = ?
715
- AND org_id = ?
716
- AND project_id = ?
717
- AND env_id = ?
718
- AND record_org_id = ?
719
- AND provider_user_id = ?
720
- ORDER BY updated_at_ms DESC
721
- LIMIT 1`, [orgId, providerUserId]).first();
722
- return this.recordOrDiscard(row, row?.wallet_id);
723
- }
724
- del(walletId) {
725
- return this.deleteById(walletId, emailOtpWalletEnrollmentRows.delete);
726
- }
727
- };
728
- var D1EmailOtpAuthStateStore = class extends D1EmailOtpStore {
729
- constructor(database, scope) {
730
- super(database, scope, AUTH_STATE_RECORD, {
731
- fromRow: authStateFromRow,
732
- upsert: emailOtpAuthStateRows.upsert
733
- });
734
- }
735
- get(walletId) {
736
- return this.getById(walletId, emailOtpAuthStateRows.select);
737
- }
738
- async del(walletId) {
739
- await this.ensureSchema();
740
- const key = normalizeOptionalTrimmedString(walletId);
741
- if (!key) return;
742
- await this.prepare(`DELETE FROM email_otp_auth_states
743
- WHERE namespace = ?
744
- AND org_id = ?
745
- AND project_id = ?
746
- AND env_id = ?
747
- AND wallet_id = ?`, [key]).run();
748
- }
749
- };
750
- var D1EmailOtpUnlockChallengeStore = class extends D1EmailOtpStore {
751
- constructor(database, scope) {
752
- super(database, scope, UNLOCK_CHALLENGE_RECORD, {
753
- fromRow: unlockChallengeFromRow,
754
- upsert: emailOtpUnlockChallengeRows.upsert
755
- });
756
- }
757
- consume(challengeId) {
758
- return this.consumeById(challengeId, emailOtpUnlockChallengeRows.consume);
759
- }
760
- async del(challengeId) {
761
- await this.ensureSchema();
762
- const id = normalizeOptionalTrimmedString(challengeId);
763
- if (!id) return;
764
- await this.prepare(`DELETE FROM email_otp_unlock_challenges
765
- WHERE namespace = ?
766
- AND org_id = ?
767
- AND project_id = ?
768
- AND env_id = ?
769
- AND challenge_id = ?`, [id]).run();
770
- }
771
- };
772
- var D1EmailOtpRegistrationAttemptStore = class extends D1EmailOtpStore {
773
- constructor(database, scope) {
774
- super(database, scope, REGISTRATION_ATTEMPT_RECORD, {
775
- fromRow: registrationAttemptFromRow,
776
- upsert: emailOtpRegistrationAttemptRows.upsert
777
- });
778
- }
779
- get(attemptId) {
780
- return this.getById(attemptId, emailOtpRegistrationAttemptRows.select);
781
- }
782
- async findStartedBySubjectEmail(input) {
783
- await this.ensureSchema();
784
- const row = await emailOtpRegistrationAttemptRows.selectStarted(this.prepare, input).first();
785
- const record = await this.recordOrDiscard(row, row?.attempt_id);
786
- return record && registrationAttemptMatchesStartedScope(record, input) ? record : null;
787
- }
788
- async abandonStartedBySubjectEmailExceptBinding(input) {
789
- await this.ensureSchema();
790
- const result = await emailOtpRegistrationAttemptRows.selectPending(this.prepare, input).all();
791
- let abandoned = 0;
792
- for (const row of result.results || []) {
793
- const record = await this.recordOrDiscard(row, row.attempt_id);
794
- if (!record || !registrationAttemptMatchesReplacementScope(record, input)) continue;
795
- await this.put({
796
- ...record,
797
- state: "abandoned",
798
- failureCode: input.failureCode,
799
- updatedAtMs: input.nowMs
800
- });
801
- abandoned += 1;
802
- }
803
- return abandoned;
804
- }
805
- async hasLiveStartedWalletAttempt(input) {
806
- await this.ensureSchema();
807
- const walletId = normalizeOptionalTrimmedString(input.walletId);
808
- if (!walletId) return false;
809
- const row = await emailOtpRegistrationAttemptRows.selectLiveForWallet(this.prepare, walletId, input.nowMs).first();
810
- return Boolean(row);
811
- }
812
- async deleteExpired(nowMs) {
813
- await this.ensureSchema();
814
- return d1ChangedRows(await emailOtpRegistrationAttemptRows.deleteExpired(this.prepare, nowMs).run());
815
- }
816
- del(attemptId) {
817
- return this.deleteById(attemptId, emailOtpRegistrationAttemptRows.delete);
818
- }
819
- };
820
- function createEmailOtpChallengeStore(input) {
821
- return createEmailOtpStore(input, "challenge", {
822
- d1: (database, scope) => new D1EmailOtpChallengeStore(database, scope),
823
- inMemory: () => new InMemoryEmailOtpChallengeStore()
824
- });
825
- }
826
- function createEmailOtpGrantStore(input) {
827
- return createEmailOtpStore(input, "grant", {
828
- d1: (database, scope) => new D1EmailOtpGrantStore(database, scope),
829
- inMemory: () => new InMemoryEmailOtpStore(GRANT_RECORD)
830
- });
831
- }
832
- function createEmailOtpWalletEnrollmentStore(input) {
833
- return createEmailOtpStore(input, "wallet enrollment", {
834
- d1: (database, scope) => new D1EmailOtpWalletEnrollmentStore(database, scope),
835
- inMemory: () => new InMemoryEmailOtpWalletEnrollmentStore()
836
- }, "enrollment");
837
- }
838
- function createEmailOtpAuthStateStore(input) {
839
- return createEmailOtpStore(input, "auth state", {
840
- d1: (database, scope) => new D1EmailOtpAuthStateStore(database, scope),
841
- inMemory: () => new InMemoryEmailOtpStore(AUTH_STATE_RECORD)
842
- });
843
- }
844
- function createEmailOtpUnlockChallengeStore(input) {
845
- return createEmailOtpStore(input, "unlock challenge", {
846
- d1: (database, scope) => new D1EmailOtpUnlockChallengeStore(database, scope),
847
- inMemory: () => new InMemoryEmailOtpStore(UNLOCK_CHALLENGE_RECORD)
848
- });
849
- }
850
- function createEmailOtpRegistrationAttemptStore(input) {
851
- return createEmailOtpStore(input, "registration attempt", {
852
- d1: (database, scope) => new D1EmailOtpRegistrationAttemptStore(database, scope),
853
- inMemory: () => new InMemoryEmailOtpRegistrationAttemptStore()
854
- });
855
- }
856
- //#endregion
857
- export { createEmailOtpAuthStateStore, createEmailOtpChallengeStore, createEmailOtpGrantStore, createEmailOtpRegistrationAttemptStore, createEmailOtpUnlockChallengeStore, createEmailOtpWalletEnrollmentStore };
858
-
859
- //# sourceMappingURL=EmailOtpStores.js.map