@seams/wallet 0.9.3 → 0.10.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 (323) hide show
  1. package/README.md +3 -3
  2. package/THIRD_PARTY_NOTICES.md +33 -1
  3. package/dist/.build-inputs.sha256 +1 -1
  4. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +1 -1
  5. package/dist/esm/react/components/VoiceAssistantCard.css +313 -0
  6. package/dist/esm/react/components/VoiceAssistantCard.js +150 -0
  7. package/dist/esm/react/index.js +3 -1
  8. package/dist/esm/react/styles/styles.css +314 -0
  9. package/dist/esm/react/styles.css +1 -0
  10. package/dist/esm/sdk/{ConfirmationDrawer-DY0_yeUV.js → ConfirmationDrawer-Frj3uEee.js} +1 -1
  11. package/dist/{public/sdk/NonceCoordinator-CFFq8-Q9.js → esm/sdk/NonceCoordinator-S5ZbrkDp.js} +1 -1
  12. package/dist/{public/sdk/accountLifecycle-CAMVowDl.js → esm/sdk/accountLifecycle-HEUmDLus.js} +1 -1
  13. package/dist/esm/sdk/activeWalletSession-WdZkhtBB.js +1 -0
  14. package/dist/esm/sdk/{adapters-DdDOQzl4.js → adapters-DYPu0nK9.js} +2 -2
  15. package/dist/esm/sdk/{canonicalPrimitives-CKPGgpxg.js → canonicalPrimitives-Dsbsxgxc.js} +1 -1
  16. package/dist/esm/sdk/{capabilityKinds-CKQ4Uqnv.js → capabilityKinds-N8xo_IEh.js} +1 -1
  17. package/dist/esm/sdk/{chains-CiYQT1K4.js → chains-C_X_fNuS.js} +1 -1
  18. package/dist/esm/sdk/challengeDelivery-5lIu9spR.js +1 -0
  19. package/dist/{public/sdk/clientSessionPersistenceState-CImFWDj6.js → esm/sdk/clientSessionPersistenceState-DRdve9rC.js} +1 -1
  20. package/dist/esm/sdk/{commitQueue-iBNUt9Bz.js → commitQueue-qjvY_zWn.js} +1 -1
  21. package/dist/esm/sdk/{configHelpers-D8Ivi6p8.js → configHelpers-B-hs0mTO.js} +1 -1
  22. package/dist/esm/sdk/digestEncoding-CkUc5vtR.js +1 -0
  23. package/dist/esm/sdk/{display-ClqZq-Xt.js → display-DjoWrSgE.js} +1 -1
  24. package/dist/esm/sdk/domainIds-BzkGsRqO.js +1 -0
  25. package/dist/{public/sdk/ecdsaCapabilityManifest-BlzJAQF8.js → esm/sdk/ecdsaCapabilityManifest-ChszYCC0.js} +1 -1
  26. package/dist/esm/sdk/{ecdsaChainTarget-C8ZtMZ8l.js → ecdsaChainTarget-DJBXHzbH.js} +1 -1
  27. package/dist/{public/sdk/ecdsaDerivationClientWasm-CVeNEou2.js → esm/sdk/ecdsaDerivationClientWasm-CpH-b3jx.js} +1 -1
  28. package/dist/{public/sdk/ecdsaDerivationExport-BZFHSMCv.js → esm/sdk/ecdsaDerivationExport-C1cE5m0t.js} +1 -1
  29. package/dist/esm/sdk/{ecdsaWalletRecords-D4WeYc7H.js → ecdsaWalletRecords-Di_NUxD_.js} +1 -1
  30. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-p0C1CQva.js +1 -0
  31. package/dist/esm/sdk/{enrichDisplayModelWithAbi-69bNckvi.js → enrichDisplayModelWithAbi-DZIhvE-x.js} +1 -1
  32. package/dist/esm/sdk/{evmCryptoWasm-BXsIyRon.js → evmCryptoWasm-DeobzyP-.js} +1 -1
  33. package/dist/{public/sdk/export-viewer-host-CsFeiIhd.js → esm/sdk/export-viewer-host-DUMwD6zP.js} +1 -1
  34. package/dist/{public/sdk/exportKeypairOperation-DGQIYML3.js → esm/sdk/exportKeypairOperation-DYCzCbqL.js} +1 -1
  35. package/dist/esm/sdk/{helpers-Ddy72ULN.js → helpers-BnkILY2_.js} +1 -1
  36. package/dist/esm/sdk/host-CCwkhJHK.js +1 -0
  37. package/dist/esm/sdk/{intentDigest-CE-tLw87.js → intentDigest-DJBrMyLJ.js} +1 -1
  38. package/dist/esm/sdk/{lanes-DnBwWv4l.js → lanes-Ck81oEGv.js} +1 -1
  39. package/dist/esm/sdk/{localOnly-ClCo6602.js → localOnly-KvZeKkH5.js} +1 -1
  40. package/dist/{public/sdk/messages-vxz27Way.js → esm/sdk/messages-DgJlG9NU.js} +1 -1
  41. package/dist/esm/sdk/{mountExportPrivateKeySurface-CBZ0wRYj.js → mountExportPrivateKeySurface-B4gH1Sel.js} +1 -1
  42. package/dist/{public/sdk/mountRecoveryCodeBackupSurface-B1qhFF6G.js → esm/sdk/mountRecoveryCodeBackupSurface-BA2ttbTM.js} +1 -1
  43. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DMGPKrn8.js +1 -0
  44. package/dist/esm/sdk/{nearEd25519YaoSigningPreparation-B0d1AG3u.js → nearEd25519YaoSigningPreparation-Eiq_ikXk.js} +1 -1
  45. package/dist/esm/sdk/{nonceLaneKeys-Fkvk2UPy.js → nonceLaneKeys-Do5Vs-De.js} +1 -1
  46. package/dist/esm/sdk/{normalization-DCvuCvh0.js → normalization-DJPmcXTg.js} +1 -1
  47. package/dist/esm/sdk/{operationFingerprint-CTR9G1NT.js → operationFingerprint-CUrnoh-M.js} +1 -1
  48. package/dist/esm/sdk/passkey-custody-Cd_yyoRa.js +1 -0
  49. package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-yJN8VAHn.js → pendingWalletRecoveryCodeBackup-BkIrbd6Q.js} +1 -1
  50. package/dist/esm/sdk/presignaturePool-CLHu7HaU.js +1 -0
  51. package/dist/esm/sdk/{prfCache-BMpqZZ-v.js → prfCache-DCkuB8Lu.js} +1 -1
  52. package/dist/esm/sdk/primitives-CqrjmIAH.js +1 -0
  53. package/dist/{public/sdk/recovery-entrypoint-Bl5GgbW9.js → esm/sdk/recovery-entrypoint-DoXswV9I.js} +1 -1
  54. package/dist/esm/sdk/{registration-C4sALQZO.js → registration-BFHEYmgh.js} +1 -1
  55. package/dist/esm/sdk/registration-Cx_f58rb.js +1 -0
  56. package/dist/esm/sdk/{registrationAccounts-D4RVetMz.js → registrationAccounts-DP-32yCK.js} +1 -1
  57. package/dist/esm/sdk/{registrationAuthMethodInput-6ccY2Vuh.js → registrationAuthMethodInput-BBCeWDmw.js} +1 -1
  58. package/dist/esm/sdk/{registrationIds-CdPqm-Ya.js → registrationIds-ByuReLUc.js} +1 -1
  59. package/dist/esm/sdk/registrationIntent-BHU5k2Q-.js +1 -0
  60. package/dist/esm/sdk/{registrationSignerPlan-B9GCvpTV.js → registrationSignerPlan-dY9Rp0m_.js} +1 -1
  61. package/dist/esm/sdk/{requireStepUpAuth-DCVqmeee.js → requireStepUpAuth-C67sluoC.js} +1 -1
  62. package/dist/esm/sdk/routerAbNormalSigning-DVKFBYgV.js +1 -0
  63. package/dist/esm/sdk/{runtime-auth-DiEJDFkJ.js → runtime-auth-Cjvf3UFB.js} +1 -1
  64. package/dist/{public/sdk/runtime-device-link-5u31t1H0.js → esm/sdk/runtime-device-link-BCKuKNp1.js} +1 -1
  65. package/dist/esm/sdk/{runtime-ecdsa-tempo-C3CRzwph.js → runtime-ecdsa-tempo-Bpmv6fe0.js} +1 -1
  66. package/dist/esm/sdk/{runtime-email-otp-DHlirACG.js → runtime-email-otp-Bp16EG2j.js} +1 -1
  67. package/dist/esm/sdk/{runtime-export-CFy4-Ebn.js → runtime-export-fONYqIZg.js} +1 -1
  68. package/dist/{public/sdk/runtime-near-BxYOozPP.js → esm/sdk/runtime-near-s4rtAbA2.js} +1 -1
  69. package/dist/esm/sdk/runtime-preferences-1v5EHalc.js +1 -0
  70. package/dist/esm/sdk/{runtime-recovery-codes-BZMiAR_5.js → runtime-recovery-codes-Dn-NccpU.js} +1 -1
  71. package/dist/esm/sdk/runtime-recovery-mppuqUaS.js +1 -0
  72. package/dist/esm/sdk/{sdkSentEvents-D3q1h-Uo.js → sdkSentEvents-DiQ3YVlj.js} +1 -1
  73. package/dist/esm/sdk/{secp256k1-DSLttQND.js → secp256k1-C-AETUpI.js} +1 -1
  74. package/dist/esm/sdk/{secureRandomId-BIekT8bE.js → secureRandomId-LwBFx84B.js} +1 -1
  75. package/dist/esm/sdk/{sessionPolicy-J-RrlPZQ.js → sessionPolicy-CBTZQe1n.js} +1 -1
  76. package/dist/esm/sdk/shared-Big0VQEK.js +6 -0
  77. package/dist/{public/sdk/signEvmFamily-KUNWKVeh.js → esm/sdk/signEvmFamily-DjD3tn8e.js} +1 -1
  78. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-Dc57bJ3V.js → signEvmFamilyWithUiConfirmForTempo-CwRFbaLM.js} +1 -1
  79. package/dist/esm/sdk/{signEvmWithUiConfirm-CqxL7UbT.js → signEvmWithUiConfirm-BHG0dwVG.js} +1 -1
  80. package/dist/esm/sdk/signNear-D0tlQXb9.js +1 -0
  81. package/dist/esm/sdk/{signatureUses-CjJ233KX.js → signatureUses-8c8Ku_Fw.js} +1 -1
  82. package/dist/esm/sdk/{signerDomain-vQmlnsbF.js → signerDomain-DqLCvI-D.js} +1 -1
  83. package/dist/esm/sdk/{signingFlow-vrXxrhlG.js → signingFlow-Mym5j6aw.js} +1 -1
  84. package/dist/esm/sdk/signingQueue-2pr7lAUS.js +1 -0
  85. package/dist/esm/sdk/thresholdEcdsa-D-QMyevW.js +1 -0
  86. package/dist/esm/sdk/{trace-BvbCxdXF.js → trace-QLsbYdld.js} +1 -1
  87. package/dist/esm/sdk/{transaction-activity-D40ih2j-.js → transaction-activity-Cb2JyYKv.js} +1 -1
  88. package/dist/{public/sdk/transactionReviewAdmission-C-a3ctCJ.js → esm/sdk/transactionReviewAdmission-CIvR4W5_.js} +1 -1
  89. package/dist/{public/sdk/transactionState-DVinJk4K.js → esm/sdk/transactionState-CGULLokO.js} +1 -1
  90. package/dist/esm/sdk/{types-D3GM-uHR.js → types-WGrFMQSw.js} +1 -1
  91. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  92. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  93. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  94. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  95. package/dist/esm/sdk/wallet-recovery-D7ywcIHw.js +1 -0
  96. package/dist/{public/sdk/walletAuthMethodRecord-CXedSgpV.js → esm/sdk/walletAuthMethodRecord-CnBw27ED.js} +1 -1
  97. package/dist/esm/sdk/walletAuthority-BWvfaKIX.js +1 -0
  98. package/dist/esm/sdk/walletCustodyEcdsaContinuity-B8aO2NFb.js +1 -0
  99. package/dist/esm/sdk/{walletOwnershipGeneration-DoXVMDWe.js → walletOwnershipGeneration-CAycHv-H.js} +1 -1
  100. package/dist/esm/sdk/walletRecoveryCommit-C3EgMjo-.js +1 -0
  101. package/dist/esm/sdk/walletRecoveryRotate-D_1a8Agl.js +1 -0
  102. package/dist/esm/sdk/walletRegistrationSetupPrewarm-B9kpnrbK.js +1 -0
  103. package/dist/esm/sdk/walletSessionAuthorizationStatus-BLyzJbU8.js +1 -0
  104. package/dist/esm/sdk/{walletSessionAuthorizationStore-gEYPmu-G.js → walletSessionAuthorizationStore-BiKGIBWQ.js} +1 -1
  105. package/dist/esm/sdk/warmSessionHydration-B7-kCnJh.js +1 -0
  106. package/dist/esm/sdk/{webauthnP256-BEz4DEAs.js → webauthnP256-DZCusNY9.js} +1 -1
  107. package/dist/{public/sdk/webauthnPromptCoordinator-BEudHQBr.js → esm/sdk/webauthnPromptCoordinator-CS4Xc_jZ.js} +1 -1
  108. package/dist/public/headers.manifest.json +1 -1
  109. package/dist/public/sdk/{ConfirmationDrawer-DY0_yeUV.js → ConfirmationDrawer-Frj3uEee.js} +1 -1
  110. package/dist/{esm/sdk/NonceCoordinator-CFFq8-Q9.js → public/sdk/NonceCoordinator-S5ZbrkDp.js} +1 -1
  111. package/dist/{esm/sdk/accountLifecycle-CAMVowDl.js → public/sdk/accountLifecycle-HEUmDLus.js} +1 -1
  112. package/dist/public/sdk/activeWalletSession-WdZkhtBB.js +1 -0
  113. package/dist/public/sdk/{adapters-DdDOQzl4.js → adapters-DYPu0nK9.js} +2 -2
  114. package/dist/public/sdk/{canonicalPrimitives-CKPGgpxg.js → canonicalPrimitives-Dsbsxgxc.js} +1 -1
  115. package/dist/public/sdk/{capabilityKinds-CKQ4Uqnv.js → capabilityKinds-N8xo_IEh.js} +1 -1
  116. package/dist/public/sdk/{chains-CiYQT1K4.js → chains-C_X_fNuS.js} +1 -1
  117. package/dist/public/sdk/challengeDelivery-5lIu9spR.js +1 -0
  118. package/dist/{esm/sdk/clientSessionPersistenceState-CImFWDj6.js → public/sdk/clientSessionPersistenceState-DRdve9rC.js} +1 -1
  119. package/dist/public/sdk/{commitQueue-iBNUt9Bz.js → commitQueue-qjvY_zWn.js} +1 -1
  120. package/dist/public/sdk/{configHelpers-D8Ivi6p8.js → configHelpers-B-hs0mTO.js} +1 -1
  121. package/dist/public/sdk/digestEncoding-CkUc5vtR.js +1 -0
  122. package/dist/public/sdk/{display-ClqZq-Xt.js → display-DjoWrSgE.js} +1 -1
  123. package/dist/public/sdk/domainIds-BzkGsRqO.js +1 -0
  124. package/dist/{esm/sdk/ecdsaCapabilityManifest-BlzJAQF8.js → public/sdk/ecdsaCapabilityManifest-ChszYCC0.js} +1 -1
  125. package/dist/public/sdk/{ecdsaChainTarget-C8ZtMZ8l.js → ecdsaChainTarget-DJBXHzbH.js} +1 -1
  126. package/dist/{esm/sdk/ecdsaDerivationClientWasm-CVeNEou2.js → public/sdk/ecdsaDerivationClientWasm-CpH-b3jx.js} +1 -1
  127. package/dist/{esm/sdk/ecdsaDerivationExport-BZFHSMCv.js → public/sdk/ecdsaDerivationExport-C1cE5m0t.js} +1 -1
  128. package/dist/public/sdk/{ecdsaWalletRecords-D4WeYc7H.js → ecdsaWalletRecords-Di_NUxD_.js} +1 -1
  129. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-p0C1CQva.js +1 -0
  130. package/dist/public/sdk/{enrichDisplayModelWithAbi-69bNckvi.js → enrichDisplayModelWithAbi-DZIhvE-x.js} +1 -1
  131. package/dist/public/sdk/{evmCryptoWasm-BXsIyRon.js → evmCryptoWasm-DeobzyP-.js} +1 -1
  132. package/dist/{esm/sdk/export-viewer-host-CsFeiIhd.js → public/sdk/export-viewer-host-DUMwD6zP.js} +1 -1
  133. package/dist/{esm/sdk/exportKeypairOperation-DGQIYML3.js → public/sdk/exportKeypairOperation-DYCzCbqL.js} +1 -1
  134. package/dist/public/sdk/{helpers-Ddy72ULN.js → helpers-BnkILY2_.js} +1 -1
  135. package/dist/public/sdk/host-CCwkhJHK.js +1 -0
  136. package/dist/public/sdk/{intentDigest-CE-tLw87.js → intentDigest-DJBrMyLJ.js} +1 -1
  137. package/dist/public/sdk/{lanes-DnBwWv4l.js → lanes-Ck81oEGv.js} +1 -1
  138. package/dist/public/sdk/{localOnly-ClCo6602.js → localOnly-KvZeKkH5.js} +1 -1
  139. package/dist/{esm/sdk/messages-vxz27Way.js → public/sdk/messages-DgJlG9NU.js} +1 -1
  140. package/dist/public/sdk/{mountExportPrivateKeySurface-CBZ0wRYj.js → mountExportPrivateKeySurface-B4gH1Sel.js} +1 -1
  141. package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-B1qhFF6G.js → public/sdk/mountRecoveryCodeBackupSurface-BA2ttbTM.js} +1 -1
  142. package/dist/public/sdk/nearEd25519YaoMaterialActivation-DMGPKrn8.js +1 -0
  143. package/dist/public/sdk/{nearEd25519YaoSigningPreparation-B0d1AG3u.js → nearEd25519YaoSigningPreparation-Eiq_ikXk.js} +1 -1
  144. package/dist/public/sdk/{nonceLaneKeys-Fkvk2UPy.js → nonceLaneKeys-Do5Vs-De.js} +1 -1
  145. package/dist/public/sdk/{normalization-DCvuCvh0.js → normalization-DJPmcXTg.js} +1 -1
  146. package/dist/public/sdk/{operationFingerprint-CTR9G1NT.js → operationFingerprint-CUrnoh-M.js} +1 -1
  147. package/dist/public/sdk/passkey-custody-Cd_yyoRa.js +1 -0
  148. package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-yJN8VAHn.js → pendingWalletRecoveryCodeBackup-BkIrbd6Q.js} +1 -1
  149. package/dist/public/sdk/presignaturePool-CLHu7HaU.js +1 -0
  150. package/dist/public/sdk/{prfCache-BMpqZZ-v.js → prfCache-DCkuB8Lu.js} +1 -1
  151. package/dist/public/sdk/primitives-CqrjmIAH.js +1 -0
  152. package/dist/{esm/sdk/recovery-entrypoint-Bl5GgbW9.js → public/sdk/recovery-entrypoint-DoXswV9I.js} +1 -1
  153. package/dist/public/sdk/{registration-C4sALQZO.js → registration-BFHEYmgh.js} +1 -1
  154. package/dist/public/sdk/registration-Cx_f58rb.js +1 -0
  155. package/dist/public/sdk/{registrationAccounts-D4RVetMz.js → registrationAccounts-DP-32yCK.js} +1 -1
  156. package/dist/public/sdk/{registrationAuthMethodInput-6ccY2Vuh.js → registrationAuthMethodInput-BBCeWDmw.js} +1 -1
  157. package/dist/public/sdk/{registrationIds-CdPqm-Ya.js → registrationIds-ByuReLUc.js} +1 -1
  158. package/dist/public/sdk/registrationIntent-BHU5k2Q-.js +1 -0
  159. package/dist/public/sdk/{registrationSignerPlan-B9GCvpTV.js → registrationSignerPlan-dY9Rp0m_.js} +1 -1
  160. package/dist/public/sdk/{requireStepUpAuth-DCVqmeee.js → requireStepUpAuth-C67sluoC.js} +1 -1
  161. package/dist/public/sdk/routerAbNormalSigning-DVKFBYgV.js +1 -0
  162. package/dist/public/sdk/{runtime-auth-DiEJDFkJ.js → runtime-auth-Cjvf3UFB.js} +1 -1
  163. package/dist/{esm/sdk/runtime-device-link-5u31t1H0.js → public/sdk/runtime-device-link-BCKuKNp1.js} +1 -1
  164. package/dist/public/sdk/{runtime-ecdsa-tempo-C3CRzwph.js → runtime-ecdsa-tempo-Bpmv6fe0.js} +1 -1
  165. package/dist/public/sdk/{runtime-email-otp-DHlirACG.js → runtime-email-otp-Bp16EG2j.js} +1 -1
  166. package/dist/public/sdk/{runtime-export-CFy4-Ebn.js → runtime-export-fONYqIZg.js} +1 -1
  167. package/dist/{esm/sdk/runtime-near-BxYOozPP.js → public/sdk/runtime-near-s4rtAbA2.js} +1 -1
  168. package/dist/public/sdk/runtime-preferences-1v5EHalc.js +1 -0
  169. package/dist/public/sdk/{runtime-recovery-codes-BZMiAR_5.js → runtime-recovery-codes-Dn-NccpU.js} +1 -1
  170. package/dist/public/sdk/runtime-recovery-mppuqUaS.js +1 -0
  171. package/dist/public/sdk/{sdkSentEvents-D3q1h-Uo.js → sdkSentEvents-DiQ3YVlj.js} +1 -1
  172. package/dist/public/sdk/{secp256k1-DSLttQND.js → secp256k1-C-AETUpI.js} +1 -1
  173. package/dist/public/sdk/{secureRandomId-BIekT8bE.js → secureRandomId-LwBFx84B.js} +1 -1
  174. package/dist/public/sdk/{sessionPolicy-J-RrlPZQ.js → sessionPolicy-CBTZQe1n.js} +1 -1
  175. package/dist/public/sdk/shared-Big0VQEK.js +6 -0
  176. package/dist/{esm/sdk/signEvmFamily-KUNWKVeh.js → public/sdk/signEvmFamily-DjD3tn8e.js} +1 -1
  177. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-Dc57bJ3V.js → signEvmFamilyWithUiConfirmForTempo-CwRFbaLM.js} +1 -1
  178. package/dist/public/sdk/{signEvmWithUiConfirm-CqxL7UbT.js → signEvmWithUiConfirm-BHG0dwVG.js} +1 -1
  179. package/dist/public/sdk/signNear-D0tlQXb9.js +1 -0
  180. package/dist/public/sdk/{signatureUses-CjJ233KX.js → signatureUses-8c8Ku_Fw.js} +1 -1
  181. package/dist/public/sdk/{signerDomain-vQmlnsbF.js → signerDomain-DqLCvI-D.js} +1 -1
  182. package/dist/public/sdk/{signingFlow-vrXxrhlG.js → signingFlow-Mym5j6aw.js} +1 -1
  183. package/dist/public/sdk/signingQueue-2pr7lAUS.js +1 -0
  184. package/dist/public/sdk/thresholdEcdsa-D-QMyevW.js +1 -0
  185. package/dist/public/sdk/{trace-BvbCxdXF.js → trace-QLsbYdld.js} +1 -1
  186. package/dist/public/sdk/{transaction-activity-D40ih2j-.js → transaction-activity-Cb2JyYKv.js} +1 -1
  187. package/dist/{esm/sdk/transactionReviewAdmission-C-a3ctCJ.js → public/sdk/transactionReviewAdmission-CIvR4W5_.js} +1 -1
  188. package/dist/{esm/sdk/transactionState-DVinJk4K.js → public/sdk/transactionState-CGULLokO.js} +1 -1
  189. package/dist/public/sdk/{types-D3GM-uHR.js → types-WGrFMQSw.js} +1 -1
  190. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  191. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  192. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  193. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  194. package/dist/public/sdk/wallet-recovery-D7ywcIHw.js +1 -0
  195. package/dist/{esm/sdk/walletAuthMethodRecord-CXedSgpV.js → public/sdk/walletAuthMethodRecord-CnBw27ED.js} +1 -1
  196. package/dist/public/sdk/walletAuthority-BWvfaKIX.js +1 -0
  197. package/dist/public/sdk/walletCustodyEcdsaContinuity-B8aO2NFb.js +1 -0
  198. package/dist/public/sdk/{walletOwnershipGeneration-DoXVMDWe.js → walletOwnershipGeneration-CAycHv-H.js} +1 -1
  199. package/dist/public/sdk/walletRecoveryCommit-C3EgMjo-.js +1 -0
  200. package/dist/public/sdk/walletRecoveryRotate-D_1a8Agl.js +1 -0
  201. package/dist/public/sdk/walletRegistrationSetupPrewarm-B9kpnrbK.js +1 -0
  202. package/dist/public/sdk/walletSessionAuthorizationStatus-BLyzJbU8.js +1 -0
  203. package/dist/public/sdk/{walletSessionAuthorizationStore-gEYPmu-G.js → walletSessionAuthorizationStore-BiKGIBWQ.js} +1 -1
  204. package/dist/public/sdk/warmSessionHydration-B7-kCnJh.js +1 -0
  205. package/dist/public/sdk/{webauthnP256-BEz4DEAs.js → webauthnP256-DZCusNY9.js} +1 -1
  206. package/dist/{esm/sdk/webauthnPromptCoordinator-BEudHQBr.js → public/sdk/webauthnPromptCoordinator-CS4Xc_jZ.js} +1 -1
  207. package/dist/public/wallet-assets.manifest.json +264 -240
  208. package/dist/public/wallet-service/index.html +4 -4
  209. package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +1 -1
  210. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +2 -16
  211. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +24 -15
  212. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +44 -6
  213. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistrationSetupPrewarm.d.ts +4 -0
  214. package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyDriver.d.ts +14 -0
  215. package/dist/types/wallet/src/core/signingEngine/walletCustody/registrationCeremony.d.ts +27 -5
  216. package/dist/types/wallet/src/react/components/VoiceAssistantCard.d.ts +38 -0
  217. package/dist/types/wallet/src/react/components/VoiceAssistantCard.typecheck.d.ts +2 -0
  218. package/dist/types/wallet/src/react/index.d.ts +5 -1
  219. package/package.json +3 -2
  220. package/dist/esm/sdk/activeWalletSession-DiZcKjB_.js +0 -1
  221. package/dist/esm/sdk/challengeDelivery-DxXAkOfS.js +0 -1
  222. package/dist/esm/sdk/digestEncoding-Dzc1rzWV.js +0 -1
  223. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-B8HzTh4T.js +0 -1
  224. package/dist/esm/sdk/host-CWE1mHHY.js +0 -1
  225. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-fWQI3rYj.js +0 -1
  226. package/dist/esm/sdk/normalize-kUDm5zfS.js +0 -1
  227. package/dist/esm/sdk/passkey-custody-BQj44jEM.js +0 -1
  228. package/dist/esm/sdk/presignaturePool-DwlTReFO.js +0 -1
  229. package/dist/esm/sdk/primitives-CAcl7ON7.js +0 -1
  230. package/dist/esm/sdk/registration-CEqVAgNJ.js +0 -1
  231. package/dist/esm/sdk/registrationIntent-DOkZcKSP.js +0 -1
  232. package/dist/esm/sdk/routerAbNormalSigning-BG75eyI2.js +0 -1
  233. package/dist/esm/sdk/runtime-preferences-C1Exkn4E.js +0 -1
  234. package/dist/esm/sdk/runtime-recovery-DSbvI1DT.js +0 -1
  235. package/dist/esm/sdk/shared-6SvVPZD0.js +0 -6
  236. package/dist/esm/sdk/signNear-C6ljzB87.js +0 -1
  237. package/dist/esm/sdk/signingQueue-BrGJXBqe.js +0 -1
  238. package/dist/esm/sdk/thresholdEcdsa-CO7xo1So.js +0 -1
  239. package/dist/esm/sdk/wallet-recovery-C1kesLCF.js +0 -1
  240. package/dist/esm/sdk/walletAuthority-B5hXHWpK.js +0 -1
  241. package/dist/esm/sdk/walletCustodyEcdsaContinuity-abNZ_dvX.js +0 -1
  242. package/dist/esm/sdk/walletRecoveryCommit-Cc9AqHr0.js +0 -1
  243. package/dist/esm/sdk/walletRecoveryRotate-DWTAFYiv.js +0 -1
  244. package/dist/esm/sdk/walletSessionAuthorizationStatus-o1VgsLhA.js +0 -1
  245. package/dist/esm/sdk/warmSessionHydration-DgjuUacN.js +0 -1
  246. package/dist/public/sdk/activeWalletSession-DiZcKjB_.js +0 -1
  247. package/dist/public/sdk/challengeDelivery-DxXAkOfS.js +0 -1
  248. package/dist/public/sdk/digestEncoding-Dzc1rzWV.js +0 -1
  249. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-B8HzTh4T.js +0 -1
  250. package/dist/public/sdk/host-CWE1mHHY.js +0 -1
  251. package/dist/public/sdk/nearEd25519YaoMaterialActivation-fWQI3rYj.js +0 -1
  252. package/dist/public/sdk/normalize-kUDm5zfS.js +0 -1
  253. package/dist/public/sdk/passkey-custody-BQj44jEM.js +0 -1
  254. package/dist/public/sdk/presignaturePool-DwlTReFO.js +0 -1
  255. package/dist/public/sdk/primitives-CAcl7ON7.js +0 -1
  256. package/dist/public/sdk/registration-CEqVAgNJ.js +0 -1
  257. package/dist/public/sdk/registrationIntent-DOkZcKSP.js +0 -1
  258. package/dist/public/sdk/routerAbNormalSigning-BG75eyI2.js +0 -1
  259. package/dist/public/sdk/runtime-preferences-C1Exkn4E.js +0 -1
  260. package/dist/public/sdk/runtime-recovery-DSbvI1DT.js +0 -1
  261. package/dist/public/sdk/shared-6SvVPZD0.js +0 -6
  262. package/dist/public/sdk/signNear-C6ljzB87.js +0 -1
  263. package/dist/public/sdk/signingQueue-BrGJXBqe.js +0 -1
  264. package/dist/public/sdk/thresholdEcdsa-CO7xo1So.js +0 -1
  265. package/dist/public/sdk/wallet-recovery-C1kesLCF.js +0 -1
  266. package/dist/public/sdk/walletAuthority-B5hXHWpK.js +0 -1
  267. package/dist/public/sdk/walletCustodyEcdsaContinuity-abNZ_dvX.js +0 -1
  268. package/dist/public/sdk/walletRecoveryCommit-Cc9AqHr0.js +0 -1
  269. package/dist/public/sdk/walletRecoveryRotate-DWTAFYiv.js +0 -1
  270. package/dist/public/sdk/walletSessionAuthorizationStatus-o1VgsLhA.js +0 -1
  271. package/dist/public/sdk/warmSessionHydration-DgjuUacN.js +0 -1
  272. /package/dist/esm/sdk/{appearance-ZGVLwA4N.js → appearance-DITtYj-z.js} +0 -0
  273. /package/dist/esm/sdk/{authenticatorOptions-DMLnDWT2.js → authenticatorOptions-C9aCKgeF.js} +0 -0
  274. /package/dist/esm/sdk/{authorizationAdmission-Ckx6q6tp.js → authorizationAdmission-CGinGhXH.js} +0 -0
  275. /package/dist/esm/sdk/{base64-CsEj-_bC.js → base64-DW79QA0h.js} +0 -0
  276. /package/dist/esm/sdk/{browser-D4wUl_77.js → browser-DkCRXFkk.js} +0 -0
  277. /package/dist/esm/sdk/{bytes-BBYkulRB.js → bytes-DZRW2UDg.js} +0 -0
  278. /package/dist/esm/sdk/{canonicalSignerErrorCode-DEHsPxNm.js → canonicalSignerErrorCode-Cz48v4oy.js} +0 -0
  279. /package/dist/esm/sdk/{configBuilder-ZiZwFKt4.js → configBuilder-BMawmNpz.js} +0 -0
  280. /package/dist/esm/sdk/{errors-BZO3LF6G.js → errors-DIWY1KR9.js} +0 -0
  281. /package/dist/esm/sdk/{events-DsQJQ0Cl.js → events-1dzC4Ocx.js} +0 -0
  282. /package/dist/esm/sdk/{executeWorkerOperation-BInr8RYN.js → executeWorkerOperation-DKCRRq5E.js} +0 -0
  283. /package/dist/esm/sdk/{jsonRpc-DrCYQIM9.js → jsonRpc-YKL5n8VL.js} +0 -0
  284. /package/dist/esm/sdk/{jsxRuntime.module-BcZNe_OA.js → jsxRuntime.module-C8JOKu_4.js} +0 -0
  285. /package/dist/esm/sdk/{keccak-B02Fekdh.js → keccak-BArcwgbj.js} +0 -0
  286. /package/dist/esm/sdk/{normalization-CpLZcL2f.js → normalization-CeZT7ob0.js} +0 -0
  287. /package/dist/esm/sdk/{presignatures-DB2IPD-A.js → presignatures-DZm0d6Wy.js} +0 -0
  288. /package/dist/esm/sdk/{profileAccountProjection-DmmfMood.js → profileAccountProjection-B3LXAUmo.js} +0 -0
  289. /package/dist/esm/sdk/{promptText-D2f5Rg0h.js → promptText-B8RprJhO.js} +0 -0
  290. /package/dist/esm/sdk/{signerSlot-Dto7dObP.js → signerSlot-B4Eq8Oe2.js} +0 -0
  291. /package/dist/esm/sdk/{signingSessionSeal-CDLUmAFY.js → signingSessionSeal-DX41aXUL.js} +0 -0
  292. /package/dist/esm/sdk/{surface-measurement-reporter-IlPOI3QK.js → surface-measurement-reporter-DvVHPu_O.js} +0 -0
  293. /package/dist/esm/sdk/{theme-_AUTWLS_.js → theme-BKaFqCAj.js} +0 -0
  294. /package/dist/esm/sdk/{types-BNUuaUtl.js → types-DhtByIcQ.js} +0 -0
  295. /package/dist/esm/sdk/{walletIframeIdentity-DJ0KOBHg.js → walletIframeIdentity-Cz82I_Uh.js} +0 -0
  296. /package/dist/esm/sdk/{walletSessionAuthorizationProjection-DWBksIJR.js → walletSessionAuthorizationProjection-DuU6w0FP.js} +0 -0
  297. /package/dist/esm/sdk/{walletSessionFailure-Bu4VPKTz.js → walletSessionFailure-YuhraC3P.js} +0 -0
  298. /package/dist/public/sdk/{appearance-ZGVLwA4N.js → appearance-DITtYj-z.js} +0 -0
  299. /package/dist/public/sdk/{authenticatorOptions-DMLnDWT2.js → authenticatorOptions-C9aCKgeF.js} +0 -0
  300. /package/dist/public/sdk/{authorizationAdmission-Ckx6q6tp.js → authorizationAdmission-CGinGhXH.js} +0 -0
  301. /package/dist/public/sdk/{base64-CsEj-_bC.js → base64-DW79QA0h.js} +0 -0
  302. /package/dist/public/sdk/{browser-D4wUl_77.js → browser-DkCRXFkk.js} +0 -0
  303. /package/dist/public/sdk/{bytes-BBYkulRB.js → bytes-DZRW2UDg.js} +0 -0
  304. /package/dist/public/sdk/{canonicalSignerErrorCode-DEHsPxNm.js → canonicalSignerErrorCode-Cz48v4oy.js} +0 -0
  305. /package/dist/public/sdk/{configBuilder-ZiZwFKt4.js → configBuilder-BMawmNpz.js} +0 -0
  306. /package/dist/public/sdk/{errors-BZO3LF6G.js → errors-DIWY1KR9.js} +0 -0
  307. /package/dist/public/sdk/{events-DsQJQ0Cl.js → events-1dzC4Ocx.js} +0 -0
  308. /package/dist/public/sdk/{executeWorkerOperation-BInr8RYN.js → executeWorkerOperation-DKCRRq5E.js} +0 -0
  309. /package/dist/public/sdk/{jsonRpc-DrCYQIM9.js → jsonRpc-YKL5n8VL.js} +0 -0
  310. /package/dist/public/sdk/{jsxRuntime.module-BcZNe_OA.js → jsxRuntime.module-C8JOKu_4.js} +0 -0
  311. /package/dist/public/sdk/{keccak-B02Fekdh.js → keccak-BArcwgbj.js} +0 -0
  312. /package/dist/public/sdk/{normalization-CpLZcL2f.js → normalization-CeZT7ob0.js} +0 -0
  313. /package/dist/public/sdk/{presignatures-DB2IPD-A.js → presignatures-DZm0d6Wy.js} +0 -0
  314. /package/dist/public/sdk/{profileAccountProjection-DmmfMood.js → profileAccountProjection-B3LXAUmo.js} +0 -0
  315. /package/dist/public/sdk/{promptText-D2f5Rg0h.js → promptText-B8RprJhO.js} +0 -0
  316. /package/dist/public/sdk/{signerSlot-Dto7dObP.js → signerSlot-B4Eq8Oe2.js} +0 -0
  317. /package/dist/public/sdk/{signingSessionSeal-CDLUmAFY.js → signingSessionSeal-DX41aXUL.js} +0 -0
  318. /package/dist/public/sdk/{surface-measurement-reporter-IlPOI3QK.js → surface-measurement-reporter-DvVHPu_O.js} +0 -0
  319. /package/dist/public/sdk/{theme-_AUTWLS_.js → theme-BKaFqCAj.js} +0 -0
  320. /package/dist/public/sdk/{types-BNUuaUtl.js → types-DhtByIcQ.js} +0 -0
  321. /package/dist/public/sdk/{walletIframeIdentity-DJ0KOBHg.js → walletIframeIdentity-Cz82I_Uh.js} +0 -0
  322. /package/dist/public/sdk/{walletSessionAuthorizationProjection-DWBksIJR.js → walletSessionAuthorizationProjection-DuU6w0FP.js} +0 -0
  323. /package/dist/public/sdk/{walletSessionFailure-Bu4VPKTz.js → walletSessionFailure-YuhraC3P.js} +0 -0
package/README.md CHANGED
@@ -1,18 +1,18 @@
1
1
  # Seams Wallet SDK
2
2
 
3
- `@seams/wallet` **0.9.3** provides browser wallet lifecycle, NEAR and EVM-family
3
+ `@seams/wallet` **0.10.0** provides browser wallet lifecycle, NEAR and EVM-family
4
4
  threshold signing, React components, and hosted wallet runtime assets.
5
5
 
6
6
  ## Install
7
7
 
8
8
  ```sh
9
- pnpm add @seams/wallet@0.9.3
9
+ pnpm add @seams/wallet@0.10.0
10
10
  ```
11
11
 
12
12
  React integrations support React 18 and 19. Import the provider and UI from
13
13
  `@seams/wallet/react` and its stylesheet from `@seams/wallet/react/styles`.
14
14
  Keep the application package, wallet-origin assets, and
15
- `@seams/wallet-server@0.9.3` on the matching release.
15
+ `@seams/wallet-server@0.10.0` on the matching release.
16
16
 
17
17
  ## Next release migration (unreleased)
18
18
 
@@ -5,7 +5,7 @@ distributed Seams Wallet SDK, server runtime, Wasm, strict Workers, and CLI.
5
5
  Dependency license expressions come from their package metadata. Packaged
6
6
  license and notice wording is reproduced below with normalized whitespace.
7
7
 
8
- Inventory: 517 dependency records (109 npm, 408 Cargo).
8
+ Inventory: 518 dependency records (110 npm, 408 Cargo).
9
9
 
10
10
  ## Dependency inventory
11
11
 
@@ -527,6 +527,7 @@ Inventory: 517 dependency records (109 npm, 408 Cargo).
527
527
  | npm | utils-merge | 1.0.1 | MIT | Jared Hanson jaredhanson@gmail.com |
528
528
  | npm | vary | 1.1.2 | MIT | Douglas Christopher Wilson <doug@somethingdoug.com> |
529
529
  | npm | viem | 2.46.0 | MIT | |
530
+ | npm | voice-glow | 0.2.1 | MIT | Jakub Antalik |
530
531
  | npm | ws | 8.18.3 | MIT | Einar Otto Stangvik <einaros@gmail.com> (http://2x.io) |
531
532
 
532
533
  ## Dependencies without a packaged license file
@@ -9803,6 +9804,37 @@ Applies to:
9803
9804
  DEALINGS IN THE SOFTWARE.
9804
9805
 
9805
9806
 
9807
+ ### 915a283980628a0c
9808
+
9809
+ Packaged as: LICENSE
9810
+
9811
+ Applies to:
9812
+
9813
+ - npm:voice-glow@0.2.1
9814
+
9815
+ MIT License
9816
+
9817
+ Copyright (c) 2026 Jakub Antalik
9818
+
9819
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9820
+ of this software and associated documentation files (the "Software"), to deal
9821
+ in the Software without restriction, including without limitation the rights
9822
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9823
+ copies of the Software, and to permit persons to whom the Software is
9824
+ furnished to do so, subject to the following conditions:
9825
+
9826
+ The above copyright notice and this permission notice shall be included in all
9827
+ copies or substantial portions of the Software.
9828
+
9829
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
9830
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
9831
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
9832
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
9833
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
9834
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
9835
+ SOFTWARE.
9836
+
9837
+
9806
9838
  ### 916586c760c1cb10
9807
9839
 
9808
9840
  Packaged as: LICENSE
@@ -1 +1 @@
1
- baaacacbc40c756149e9350116e31155bb6db1caa8e113422fb146f612c325b8
1
+ bdf639af9af02bf0080636e026f92aca83df78cce37ae6e36b238f9351f2d769
@@ -80,7 +80,7 @@ async function postJson(args) {
80
80
  const response = await fetch(`${normalizeRelayerBaseUrl(args.relayerUrl, { trim: false })}${args.path}`, buildRelayerJsonPostRequestInit({
81
81
  headers: {
82
82
  ...args.headers,
83
- [WALLET_MANAGEMENT_PROTOCOL_HEADER]: "3"
83
+ [WALLET_MANAGEMENT_PROTOCOL_HEADER]: "4"
84
84
  },
85
85
  body: args.body,
86
86
  bodyJson: requestBody
@@ -0,0 +1,313 @@
1
+ .voice-assistant-card {
2
+ --voice-surface: #1d1d1d;
3
+ --voice-foreground: #f2f2f2;
4
+ --voice-muted: rgb(202 202 202 / 70%);
5
+ --voice-bubble: #303030;
6
+ --voice-divider: rgb(255 255 255 / 4%);
7
+ --voice-button: rgb(255 255 255 / 10%);
8
+ --voice-button-shadow:
9
+ 0 1px 1px rgb(0 0 0 / 24%), inset 0 0 0 1px rgb(255 255 255 / 4%),
10
+ inset 0 1px 0 rgb(255 255 255 / 6%);
11
+ display: grid;
12
+ inline-size: 360px;
13
+ max-inline-size: 100%;
14
+ min-inline-size: 0;
15
+ border-radius: 24px;
16
+ background: var(--voice-surface);
17
+ color: var(--voice-foreground);
18
+ font: 400 14px / 20px var(--seams-fonts-sans, Inter, system-ui, sans-serif);
19
+ -webkit-font-smoothing: antialiased;
20
+ color-scheme: dark;
21
+ }
22
+
23
+ .voice-assistant-card[data-theme='light'] {
24
+ --voice-surface: #fff;
25
+ --voice-foreground: #0d0d0d;
26
+ --voice-muted: #6c6c6c;
27
+ --voice-bubble: #f0f0f0;
28
+ --voice-divider: rgb(0 0 0 / 4%);
29
+ --voice-button: rgb(255 255 255 / 40%);
30
+ --voice-button-shadow:
31
+ 0 1px 3px rgb(0 0 0 / 4%), inset 0 0 0 1px rgb(0 0 0 / 8%), inset 0 -1px 0 rgb(0 0 0 / 8%);
32
+ box-shadow:
33
+ 0 0 0 1px rgb(0 0 0 / 4%),
34
+ 0 8px 32px -4px rgb(0 0 0 / 6%),
35
+ 0 1px 3px rgb(0 0 0 / 4%);
36
+ color-scheme: light;
37
+ }
38
+
39
+ .voice-assistant-card,
40
+ .voice-assistant-card * {
41
+ box-sizing: border-box;
42
+ }
43
+
44
+ .voice-assistant-beam {
45
+ margin: -1px;
46
+ border-radius: 25px;
47
+ min-inline-size: 0;
48
+ }
49
+
50
+ .voice-assistant-content {
51
+ position: relative;
52
+ z-index: 5;
53
+ display: flex;
54
+ flex-direction: column;
55
+ min-block-size: 342px;
56
+ border-radius: 25px;
57
+ }
58
+
59
+ .voice-assistant-header {
60
+ display: flex;
61
+ align-items: center;
62
+ gap: 12px;
63
+ padding: 16px;
64
+ }
65
+
66
+ .voice-assistant-avatar {
67
+ display: grid;
68
+ flex: none;
69
+ place-items: center;
70
+ inline-size: 32px;
71
+ block-size: 32px;
72
+ border-radius: 50%;
73
+ background: #27272e;
74
+ color: #e6dfec;
75
+ box-shadow: inset 0 0 0 1px rgb(255 255 255 / 4%);
76
+ font-size: 13px;
77
+ font-weight: 500;
78
+ line-height: 1;
79
+ }
80
+
81
+ .voice-assistant-card[data-theme='light'] .voice-assistant-avatar {
82
+ background: #eee9f2;
83
+ color: #37364f;
84
+ box-shadow: inset 0 0 0 1px rgb(0 0 0 / 2%);
85
+ }
86
+
87
+ .voice-assistant-identity {
88
+ min-inline-size: 0;
89
+ }
90
+
91
+ .voice-assistant-identity h2,
92
+ .voice-assistant-identity p {
93
+ margin: 0;
94
+ overflow-wrap: anywhere;
95
+ }
96
+
97
+ .voice-assistant-identity h2 {
98
+ font-size: 16px;
99
+ font-weight: 500;
100
+ line-height: 22px;
101
+ }
102
+
103
+ .voice-assistant-identity p {
104
+ color: var(--voice-muted);
105
+ font-size: 12px;
106
+ line-height: 16px;
107
+ }
108
+
109
+ .voice-assistant-divider {
110
+ flex: none;
111
+ block-size: 1px;
112
+ background: linear-gradient(90deg, transparent, var(--voice-divider) 20% 80%, transparent);
113
+ }
114
+
115
+ .voice-assistant-body {
116
+ display: flex;
117
+ flex-direction: column;
118
+ gap: 16px;
119
+ padding: 24px 24px 0;
120
+ overflow-wrap: anywhere;
121
+ }
122
+
123
+ .voice-assistant-bubble-row {
124
+ padding-inline-start: 8px;
125
+ animation: voice-assistant-float 4s ease-in-out infinite;
126
+ }
127
+
128
+ .voice-assistant-bubble {
129
+ position: relative;
130
+ display: inline-block;
131
+ max-inline-size: 240px;
132
+ margin: 0;
133
+ padding: 8px 12px;
134
+ border-radius: 18px;
135
+ background: var(--voice-bubble);
136
+ font-size: 14px;
137
+ line-height: 20px;
138
+ }
139
+
140
+ .voice-assistant-bubble span {
141
+ position: relative;
142
+ z-index: 1;
143
+ }
144
+
145
+ .voice-assistant-bubble::before {
146
+ content: '';
147
+ position: absolute;
148
+ inset-block-end: 0;
149
+ inset-inline-start: -7px;
150
+ inline-size: 20px;
151
+ block-size: 20px;
152
+ border-end-end-radius: 16px 14px;
153
+ background: var(--voice-bubble);
154
+ }
155
+
156
+ .voice-assistant-bubble::after {
157
+ content: '';
158
+ position: absolute;
159
+ inset-block-end: 0;
160
+ inset-inline-start: -26px;
161
+ inline-size: 26px;
162
+ block-size: 20px;
163
+ border-end-end-radius: 10px;
164
+ background: var(--voice-surface);
165
+ }
166
+
167
+ .voice-assistant-transcript {
168
+ padding-inline-start: 32px;
169
+ text-align: end;
170
+ text-wrap: pretty;
171
+ }
172
+
173
+ .voice-assistant-footer {
174
+ display: flex;
175
+ flex-direction: column;
176
+ align-items: center;
177
+ gap: 12px;
178
+ margin-block-start: auto;
179
+ padding: 24px;
180
+ }
181
+
182
+ .voice-assistant-caption {
183
+ display: grid;
184
+ color: var(--voice-muted);
185
+ font-size: 12px;
186
+ line-height: 16px;
187
+ }
188
+
189
+ .voice-assistant-caption > span {
190
+ grid-area: 1 / 1;
191
+ text-align: center;
192
+ opacity: 0;
193
+ transform: translateY(4px);
194
+ transition:
195
+ opacity var(--seams-voice-transition, 150ms ease-out),
196
+ transform var(--seams-voice-transition, 150ms ease-out);
197
+ }
198
+
199
+ .voice-assistant-caption > span[data-visible='true'] {
200
+ opacity: 1;
201
+ transform: translateY(0);
202
+ }
203
+
204
+ .voice-assistant-status {
205
+ position: absolute;
206
+ inline-size: 1px;
207
+ block-size: 1px;
208
+ overflow: hidden;
209
+ clip-path: inset(50%);
210
+ white-space: nowrap;
211
+ }
212
+
213
+ .voice-assistant-mic {
214
+ display: grid;
215
+ place-items: center;
216
+ inline-size: 48px;
217
+ block-size: 48px;
218
+ padding: 0;
219
+ border: 0;
220
+ border-radius: 50%;
221
+ background: var(--voice-button);
222
+ box-shadow: var(--voice-button-shadow);
223
+ color: inherit;
224
+ font: inherit;
225
+ cursor: pointer;
226
+ touch-action: manipulation;
227
+ -webkit-tap-highlight-color: transparent;
228
+ user-select: none;
229
+ transition: transform var(--seams-voice-transition, 150ms ease-out);
230
+ }
231
+
232
+ .voice-assistant-mic:active {
233
+ transform: scale(0.95);
234
+ }
235
+
236
+ .voice-assistant-mic:focus-visible {
237
+ outline: 2px solid var(--voice-foreground);
238
+ outline-offset: 3px;
239
+ }
240
+
241
+ @media (hover: hover) and (pointer: fine) {
242
+ .voice-assistant-mic:hover {
243
+ background-image: linear-gradient(rgb(128 128 128 / 4%) 0 100%);
244
+ }
245
+ }
246
+
247
+ .voice-assistant-wave {
248
+ display: flex;
249
+ align-items: center;
250
+ gap: 2px;
251
+ block-size: 20px;
252
+ }
253
+
254
+ .voice-assistant-wave i {
255
+ inline-size: 2px;
256
+ block-size: 6px;
257
+ border-radius: 1px;
258
+ background: currentColor;
259
+ }
260
+
261
+ .voice-assistant-wave i:nth-child(2),
262
+ .voice-assistant-wave i:nth-child(4) {
263
+ block-size: 12px;
264
+ }
265
+
266
+ .voice-assistant-wave i:nth-child(3) {
267
+ block-size: 18px;
268
+ }
269
+
270
+ .voice-assistant-card[data-state='listening'] .voice-assistant-wave i {
271
+ animation: voice-assistant-wave 900ms ease-in-out infinite;
272
+ }
273
+
274
+ .voice-assistant-wave i:nth-child(2) {
275
+ animation-delay: -270ms;
276
+ }
277
+
278
+ .voice-assistant-wave i:nth-child(3) {
279
+ animation-delay: -540ms;
280
+ }
281
+
282
+ .voice-assistant-wave i:nth-child(4) {
283
+ animation-delay: -135ms;
284
+ }
285
+
286
+ .voice-assistant-wave i:nth-child(5) {
287
+ animation-delay: -405ms;
288
+ }
289
+
290
+ @keyframes voice-assistant-wave {
291
+ 50% {
292
+ transform: scaleY(0.35);
293
+ }
294
+ }
295
+
296
+ @keyframes voice-assistant-float {
297
+ 50% {
298
+ transform: translateY(-3px);
299
+ }
300
+ }
301
+
302
+ @media (prefers-reduced-motion: reduce) {
303
+ .voice-assistant-bubble-row,
304
+ .voice-assistant-card[data-state='listening'] .voice-assistant-wave i {
305
+ animation: none;
306
+ }
307
+
308
+ .voice-assistant-caption > span,
309
+ .voice-assistant-mic {
310
+ transition: none;
311
+ transform: none;
312
+ }
313
+ }
@@ -0,0 +1,150 @@
1
+ import React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { VoiceBeam } from "voice-glow";
4
+ import "./VoiceAssistantCard.css";
5
+ //#region src/react/components/VoiceAssistantCard.tsx
6
+ /** Controlled presentation. The caller owns audio, transcripts, and work. */
7
+ function VoiceAssistantCard(props) {
8
+ const titleId = React.useId();
9
+ const drive = beamDrive(props.state);
10
+ const listening = props.state.kind === "listening";
11
+ return /* @__PURE__ */ jsx("section", {
12
+ className: `voice-assistant-card ${props.className ?? ""}`,
13
+ style: props.style,
14
+ "data-theme": props.theme,
15
+ "data-state": props.state.kind,
16
+ "aria-labelledby": titleId,
17
+ children: /* @__PURE__ */ jsx(VoiceBeam, {
18
+ className: "voice-assistant-beam",
19
+ theme: props.theme,
20
+ level: drive.level,
21
+ stream: drive.stream,
22
+ processing: drive.processing,
23
+ children: /* @__PURE__ */ jsxs("div", {
24
+ className: "voice-assistant-content",
25
+ children: [
26
+ /* @__PURE__ */ jsxs("header", {
27
+ className: "voice-assistant-header",
28
+ children: [/* @__PURE__ */ jsx("span", {
29
+ className: "voice-assistant-avatar",
30
+ "aria-hidden": "true",
31
+ children: props.initials
32
+ }), /* @__PURE__ */ jsxs("div", {
33
+ className: "voice-assistant-identity",
34
+ children: [/* @__PURE__ */ jsx("h2", {
35
+ id: titleId,
36
+ children: props.name
37
+ }), /* @__PURE__ */ jsx("p", { children: props.description })]
38
+ })]
39
+ }),
40
+ /* @__PURE__ */ jsx("div", {
41
+ className: "voice-assistant-divider",
42
+ "aria-hidden": "true"
43
+ }),
44
+ /* @__PURE__ */ jsxs("div", {
45
+ className: "voice-assistant-body",
46
+ children: [/* @__PURE__ */ jsx("div", {
47
+ className: "voice-assistant-bubble-row",
48
+ children: /* @__PURE__ */ jsx("p", {
49
+ className: "voice-assistant-bubble",
50
+ children: /* @__PURE__ */ jsx("span", { children: props.message })
51
+ })
52
+ }), /* @__PURE__ */ jsx("div", {
53
+ className: "voice-assistant-transcript",
54
+ children: props.transcript
55
+ })]
56
+ }),
57
+ /* @__PURE__ */ jsxs("footer", {
58
+ className: "voice-assistant-footer",
59
+ children: [
60
+ /* @__PURE__ */ jsxs("div", {
61
+ className: "voice-assistant-caption",
62
+ "aria-hidden": "true",
63
+ children: [
64
+ /* @__PURE__ */ jsx("span", {
65
+ "data-visible": props.state.kind === "idle",
66
+ children: "Tap to speak"
67
+ }),
68
+ /* @__PURE__ */ jsx("span", {
69
+ "data-visible": listening,
70
+ children: "Listening…"
71
+ }),
72
+ /* @__PURE__ */ jsx("span", {
73
+ "data-visible": props.state.kind === "processing",
74
+ children: "One moment"
75
+ })
76
+ ]
77
+ }),
78
+ /* @__PURE__ */ jsx("span", {
79
+ className: "voice-assistant-status",
80
+ role: "status",
81
+ children: stateCaption(props.state)
82
+ }),
83
+ /* @__PURE__ */ jsx("button", {
84
+ type: "button",
85
+ className: "voice-assistant-mic",
86
+ "aria-label": listening ? "Stop speaking" : "Start speaking",
87
+ "aria-pressed": listening,
88
+ onClick: props.onToggle,
89
+ children: /* @__PURE__ */ jsxs("span", {
90
+ className: "voice-assistant-wave",
91
+ "aria-hidden": "true",
92
+ children: [
93
+ /* @__PURE__ */ jsx("i", {}),
94
+ /* @__PURE__ */ jsx("i", {}),
95
+ /* @__PURE__ */ jsx("i", {}),
96
+ /* @__PURE__ */ jsx("i", {}),
97
+ /* @__PURE__ */ jsx("i", {})
98
+ ]
99
+ })
100
+ })
101
+ ]
102
+ })
103
+ ]
104
+ })
105
+ })
106
+ });
107
+ }
108
+ function stateCaption(state) {
109
+ switch (state.kind) {
110
+ case "idle": return "Tap to speak";
111
+ case "listening": return "Listening…";
112
+ case "processing": return "One moment";
113
+ default: return assertNeverVoiceAssistantVariant(state);
114
+ }
115
+ }
116
+ function beamDrive(state) {
117
+ switch (state.kind) {
118
+ case "idle": return {
119
+ level: .06,
120
+ stream: null,
121
+ processing: false
122
+ };
123
+ case "processing": return {
124
+ level: .06,
125
+ stream: null,
126
+ processing: true
127
+ };
128
+ case "listening": switch (state.input.kind) {
129
+ case "level": return {
130
+ level: state.input.level,
131
+ stream: null,
132
+ processing: false
133
+ };
134
+ case "microphone": return {
135
+ level: 0,
136
+ stream: state.input.stream,
137
+ processing: false
138
+ };
139
+ default: return assertNeverVoiceAssistantVariant(state.input);
140
+ }
141
+ default: return assertNeverVoiceAssistantVariant(state);
142
+ }
143
+ }
144
+ function assertNeverVoiceAssistantVariant(value) {
145
+ throw new Error(`Unexpected voice assistant variant: ${String(value)}`);
146
+ }
147
+ //#endregion
148
+ export { VoiceAssistantCard };
149
+
150
+ //# sourceMappingURL=VoiceAssistantCard.js.map
@@ -30,5 +30,7 @@ import { SeamsAuthMenuMock } from "./components/HostedSeamsAuthMenu/SeamsAuthMen
30
30
  import HostedSeamsAuthMenu from "./components/HostedSeamsAuthMenu/shell.js";
31
31
  import { AccountMenuButton, ProfileSettingsButton, WalletSettingsPage } from "./components/AccountMenuButton/index.js";
32
32
  import { ShowQRCode } from "./components/ShowQRCode.js";
33
+ import { VoiceAssistantCard } from "./components/VoiceAssistantCard.js";
33
34
  import QRCodeIcon from "./components/QRCodeIcon.js";
34
- export { AccountMenuButton, AccountSyncEventPhase, ActionType, DARK_TOKENS, ExternalEvmController, ExternalEvmWalletPicker, HostedSeamsAuthMenu, KeyExportEventPhase, LIGHT_TOKENS, LinkDeviceEventPhase, MoonIcon, PASSKEY_MANAGER_DEFAULT_CONFIGS, PROFILE_MENU_ITEM_IDS, ProfileSettingsButton, QRCodeIcon, QRCodeScanner, QRScanMode, RegistrationEventPhase, SHAPE_PRESETS, SHAPE_ROUNDED, SHAPE_SQUARE, SeamsAuthMenuMock, SeamsContextProvider, SeamsWeb, SeamsWebProvider, ShowQRCode, SigningEventPhase, SunIcon, Theme, TouchIcon, TransactionReviewError, TransactionReviewHost, TxExecutionStatus, UnlockEventPhase, WALLET_FLOW_EVENT_MESSAGES, WALLET_FLOW_EVENT_STEPS, WALLET_FLOW_EVENT_VERSION, WalletSettingsPage, addKey, configuredThresholdEcdsaChainTargets, createAccount, createAccountSyncFlowEvent, createKeyExportFlowEvent, createLinkDeviceFlowEvent, createRegistrationFlowEvent, createSigningFlowEvent, createUnlockFlowEvent, createWalletFlowEvent, defineSeamsConfig, deleteAccount, deleteKey, deployContract, functionCall, isWalletFlowEvent, logWalletEvents, nearAccountRefFromAccountId, seamsTestnetConfig, stake, thresholdEcdsaChainTargetFromChainFamily, thresholdEcdsaChainTargetFromConfig, thresholdEcdsaChainTargetFromConfiguredRequest, thresholdEcdsaChainTargetFromRequest, thresholdEcdsaChainTargetKey, thresholdEcdsaChainTargetsEqual, toWalletId, transfer, useAccountInput, useDeviceLinking, useExternalEvm, useNearClient, useQRCamera, useSeams, useTheme, useWallet, useWalletAuth, useWalletDevices, walletIdFromWalletProfile, walletSessionRefFromSession };
35
+ import { VoiceBeam } from "voice-glow";
36
+ export { AccountMenuButton, AccountSyncEventPhase, ActionType, DARK_TOKENS, ExternalEvmController, ExternalEvmWalletPicker, HostedSeamsAuthMenu, KeyExportEventPhase, LIGHT_TOKENS, LinkDeviceEventPhase, MoonIcon, PASSKEY_MANAGER_DEFAULT_CONFIGS, PROFILE_MENU_ITEM_IDS, ProfileSettingsButton, QRCodeIcon, QRCodeScanner, QRScanMode, RegistrationEventPhase, SHAPE_PRESETS, SHAPE_ROUNDED, SHAPE_SQUARE, SeamsAuthMenuMock, SeamsContextProvider, SeamsWeb, SeamsWebProvider, ShowQRCode, SigningEventPhase, SunIcon, Theme, TouchIcon, TransactionReviewError, TransactionReviewHost, TxExecutionStatus, UnlockEventPhase, VoiceAssistantCard, VoiceBeam, WALLET_FLOW_EVENT_MESSAGES, WALLET_FLOW_EVENT_STEPS, WALLET_FLOW_EVENT_VERSION, WalletSettingsPage, addKey, configuredThresholdEcdsaChainTargets, createAccount, createAccountSyncFlowEvent, createKeyExportFlowEvent, createLinkDeviceFlowEvent, createRegistrationFlowEvent, createSigningFlowEvent, createUnlockFlowEvent, createWalletFlowEvent, defineSeamsConfig, deleteAccount, deleteKey, deployContract, functionCall, isWalletFlowEvent, logWalletEvents, nearAccountRefFromAccountId, seamsTestnetConfig, stake, thresholdEcdsaChainTargetFromChainFamily, thresholdEcdsaChainTargetFromConfig, thresholdEcdsaChainTargetFromConfiguredRequest, thresholdEcdsaChainTargetFromRequest, thresholdEcdsaChainTargetKey, thresholdEcdsaChainTargetsEqual, toWalletId, transfer, useAccountInput, useDeviceLinking, useExternalEvm, useNearClient, useQRCamera, useSeams, useTheme, useWallet, useWalletAuth, useWalletDevices, walletIdFromWalletProfile, walletSessionRefFromSession };