@hexclave/next 1.0.40 → 1.0.42

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 (1114) hide show
  1. package/dist/account-settings-cTsj8rpJ.d.ts +56 -0
  2. package/dist/account-settings-cTsj8rpJ.d.ts.map +1 -0
  3. package/dist/admin-app-impl-B4i11dbJ.d.ts +1282 -0
  4. package/dist/admin-app-impl-B4i11dbJ.d.ts.map +1 -0
  5. package/dist/auth-page-YnM_LtbN.d.ts +24 -0
  6. package/dist/auth-page-YnM_LtbN.d.ts.map +1 -0
  7. package/dist/cli-auth-confirm-BW3PYpKb.d.ts +19 -0
  8. package/dist/cli-auth-confirm-BW3PYpKb.d.ts.map +1 -0
  9. package/dist/clickmap/clickmap-core.d.ts +1 -2
  10. package/dist/clickmap/clickmap-core.d.ts.map +1 -1
  11. package/dist/clickmap/clickmap-core.js +2 -4
  12. package/dist/clickmap/clickmap-core.js.map +1 -1
  13. package/dist/clickmap/clickmap-styles.js +3 -6
  14. package/dist/clickmap/clickmap-styles.js.map +1 -1
  15. package/dist/clickmap/index.d.ts +1 -2
  16. package/dist/clickmap/index.d.ts.map +1 -1
  17. package/dist/clickmap/index.js +2 -4
  18. package/dist/clickmap/index.js.map +1 -1
  19. package/dist/client-app-Bi8p4lxS.d.ts +1359 -0
  20. package/dist/client-app-Bi8p4lxS.d.ts.map +1 -0
  21. package/dist/common-B2gkWlXX.d.ts +183 -0
  22. package/dist/common-B2gkWlXX.d.ts.map +1 -0
  23. package/dist/common-BK_sydxF.d.ts +66 -0
  24. package/dist/common-BK_sydxF.d.ts.map +1 -0
  25. package/dist/components/api-key-dialogs.d.ts +3 -4
  26. package/dist/components/api-key-dialogs.d.ts.map +1 -1
  27. package/dist/components/api-key-dialogs.js +3 -6
  28. package/dist/components/api-key-dialogs.js.map +1 -1
  29. package/dist/components/api-key-table.d.ts +2 -3
  30. package/dist/components/api-key-table.d.ts.map +1 -1
  31. package/dist/components/api-key-table.js +3 -6
  32. package/dist/components/api-key-table.js.map +1 -1
  33. package/dist/components/credential-sign-in.d.ts +2 -7
  34. package/dist/components/credential-sign-in.js +3 -6
  35. package/dist/components/credential-sign-in.js.map +1 -1
  36. package/dist/components/credential-sign-up.d.ts +2 -9
  37. package/dist/components/credential-sign-up.js +6 -8
  38. package/dist/components/credential-sign-up.js.map +1 -1
  39. package/dist/components/elements/form-warning.d.ts +1 -3
  40. package/dist/components/elements/form-warning.d.ts.map +1 -1
  41. package/dist/components/elements/form-warning.js +3 -6
  42. package/dist/components/elements/form-warning.js.map +1 -1
  43. package/dist/components/elements/maybe-full-page.d.ts +1 -2
  44. package/dist/components/elements/maybe-full-page.d.ts.map +1 -1
  45. package/dist/components/elements/maybe-full-page.js +4 -6
  46. package/dist/components/elements/maybe-full-page.js.map +1 -1
  47. package/dist/components/elements/separator-with-text.d.ts +1 -3
  48. package/dist/components/elements/separator-with-text.d.ts.map +1 -1
  49. package/dist/components/elements/separator-with-text.js +3 -6
  50. package/dist/components/elements/separator-with-text.js.map +1 -1
  51. package/dist/components/elements/sidebar-layout.d.ts +1 -2
  52. package/dist/components/elements/sidebar-layout.d.ts.map +1 -1
  53. package/dist/components/elements/sidebar-layout.js +5 -7
  54. package/dist/components/elements/sidebar-layout.js.map +1 -1
  55. package/dist/components/elements/ssr-layout-effect.d.ts +1 -3
  56. package/dist/components/elements/ssr-layout-effect.d.ts.map +1 -1
  57. package/dist/components/elements/ssr-layout-effect.js +2 -5
  58. package/dist/components/elements/ssr-layout-effect.js.map +1 -1
  59. package/dist/components/elements/user-avatar.d.ts +2 -15
  60. package/dist/components/elements/user-avatar.js +2 -4
  61. package/dist/components/elements/user-avatar.js.map +1 -1
  62. package/dist/components/link.d.ts +2 -4
  63. package/dist/components/link.d.ts.map +1 -1
  64. package/dist/components/link.js +5 -7
  65. package/dist/components/link.js.map +1 -1
  66. package/dist/components/magic-link-sign-in.d.ts +2 -7
  67. package/dist/components/magic-link-sign-in.js +3 -6
  68. package/dist/components/magic-link-sign-in.js.map +1 -1
  69. package/dist/components/message-cards/known-error-message-card.d.ts +1 -2
  70. package/dist/components/message-cards/known-error-message-card.d.ts.map +1 -1
  71. package/dist/components/message-cards/known-error-message-card.js +2 -5
  72. package/dist/components/message-cards/known-error-message-card.js.map +1 -1
  73. package/dist/components/message-cards/message-card.d.ts +2 -19
  74. package/dist/components/message-cards/message-card.js +5 -7
  75. package/dist/components/message-cards/message-card.js.map +1 -1
  76. package/dist/components/message-cards/predefined-message-card.d.ts +1 -3
  77. package/dist/components/message-cards/predefined-message-card.d.ts.map +1 -1
  78. package/dist/components/message-cards/predefined-message-card.js +2 -5
  79. package/dist/components/message-cards/predefined-message-card.js.map +1 -1
  80. package/dist/components/oauth-button-group.d.ts +2 -19
  81. package/dist/components/oauth-button-group.js +3 -6
  82. package/dist/components/oauth-button-group.js.map +1 -1
  83. package/dist/components/oauth-button.d.ts +2 -17
  84. package/dist/components/oauth-button.js +5 -7
  85. package/dist/components/oauth-button.js.map +1 -1
  86. package/dist/components/passkey-button.d.ts +1 -3
  87. package/dist/components/passkey-button.d.ts.map +1 -1
  88. package/dist/components/passkey-button.js +3 -6
  89. package/dist/components/passkey-button.js.map +1 -1
  90. package/dist/components/profile-image-editor.d.ts +2 -3
  91. package/dist/components/profile-image-editor.d.ts.map +1 -1
  92. package/dist/components/profile-image-editor.js +5 -6
  93. package/dist/components/profile-image-editor.js.map +1 -1
  94. package/dist/components/selected-team-switcher.d.ts +2 -31
  95. package/dist/components/selected-team-switcher.js +3 -6
  96. package/dist/components/selected-team-switcher.js.map +1 -1
  97. package/dist/components/team-icon.d.ts +2 -4
  98. package/dist/components/team-icon.d.ts.map +1 -1
  99. package/dist/components/team-icon.js +2 -4
  100. package/dist/components/team-icon.js.map +1 -1
  101. package/dist/components/team-switcher.d.ts +2 -31
  102. package/dist/components/team-switcher.js +3 -6
  103. package/dist/components/team-switcher.js.map +1 -1
  104. package/dist/components/use-in-iframe.d.ts.map +1 -1
  105. package/dist/components/use-in-iframe.js +3 -6
  106. package/dist/components/use-in-iframe.js.map +1 -1
  107. package/dist/components/user-button.d.ts +2 -22
  108. package/dist/components/user-button.js +5 -7
  109. package/dist/components/user-button.js.map +1 -1
  110. package/dist/components-page/account-settings/active-sessions/active-sessions-page.d.ts +1 -3
  111. package/dist/components-page/account-settings/active-sessions/active-sessions-page.d.ts.map +1 -1
  112. package/dist/components-page/account-settings/active-sessions/active-sessions-page.js +2 -4
  113. package/dist/components-page/account-settings/active-sessions/active-sessions-page.js.map +1 -1
  114. package/dist/components-page/account-settings/api-keys/api-keys-page.d.ts +1 -3
  115. package/dist/components-page/account-settings/api-keys/api-keys-page.d.ts.map +1 -1
  116. package/dist/components-page/account-settings/api-keys/api-keys-page.js +2 -4
  117. package/dist/components-page/account-settings/api-keys/api-keys-page.js.map +1 -1
  118. package/dist/components-page/account-settings/editable-text.d.ts +1 -3
  119. package/dist/components-page/account-settings/editable-text.d.ts.map +1 -1
  120. package/dist/components-page/account-settings/editable-text.js +2 -4
  121. package/dist/components-page/account-settings/editable-text.js.map +1 -1
  122. package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.d.ts +1 -3
  123. package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.d.ts.map +1 -1
  124. package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.js +2 -4
  125. package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.js.map +1 -1
  126. package/dist/components-page/account-settings/email-and-auth/emails-section.d.ts +1 -3
  127. package/dist/components-page/account-settings/email-and-auth/emails-section.d.ts.map +1 -1
  128. package/dist/components-page/account-settings/email-and-auth/emails-section.js +2 -4
  129. package/dist/components-page/account-settings/email-and-auth/emails-section.js.map +1 -1
  130. package/dist/components-page/account-settings/email-and-auth/mfa-section.d.ts +1 -3
  131. package/dist/components-page/account-settings/email-and-auth/mfa-section.d.ts.map +1 -1
  132. package/dist/components-page/account-settings/email-and-auth/mfa-section.js +5 -6
  133. package/dist/components-page/account-settings/email-and-auth/mfa-section.js.map +1 -1
  134. package/dist/components-page/account-settings/email-and-auth/otp-section.d.ts +1 -3
  135. package/dist/components-page/account-settings/email-and-auth/otp-section.d.ts.map +1 -1
  136. package/dist/components-page/account-settings/email-and-auth/otp-section.js +2 -4
  137. package/dist/components-page/account-settings/email-and-auth/otp-section.js.map +1 -1
  138. package/dist/components-page/account-settings/email-and-auth/passkey-section.d.ts +1 -3
  139. package/dist/components-page/account-settings/email-and-auth/passkey-section.d.ts.map +1 -1
  140. package/dist/components-page/account-settings/email-and-auth/passkey-section.js +2 -4
  141. package/dist/components-page/account-settings/email-and-auth/passkey-section.js.map +1 -1
  142. package/dist/components-page/account-settings/email-and-auth/password-section.d.ts +1 -3
  143. package/dist/components-page/account-settings/email-and-auth/password-section.d.ts.map +1 -1
  144. package/dist/components-page/account-settings/email-and-auth/password-section.js +4 -5
  145. package/dist/components-page/account-settings/email-and-auth/password-section.js.map +1 -1
  146. package/dist/components-page/account-settings/notifications/notifications-page.d.ts +1 -3
  147. package/dist/components-page/account-settings/notifications/notifications-page.d.ts.map +1 -1
  148. package/dist/components-page/account-settings/notifications/notifications-page.js +2 -4
  149. package/dist/components-page/account-settings/notifications/notifications-page.js.map +1 -1
  150. package/dist/components-page/account-settings/page-layout.d.ts +1 -3
  151. package/dist/components-page/account-settings/page-layout.d.ts.map +1 -1
  152. package/dist/components-page/account-settings/page-layout.js +2 -4
  153. package/dist/components-page/account-settings/page-layout.js.map +1 -1
  154. package/dist/components-page/account-settings/payments/payments-page.d.ts +2 -4
  155. package/dist/components-page/account-settings/payments/payments-page.d.ts.map +1 -1
  156. package/dist/components-page/account-settings/payments/payments-page.js +3 -6
  157. package/dist/components-page/account-settings/payments/payments-page.js.map +1 -1
  158. package/dist/components-page/account-settings/payments/payments-panel.d.ts +2 -3
  159. package/dist/components-page/account-settings/payments/payments-panel.d.ts.map +1 -1
  160. package/dist/components-page/account-settings/payments/payments-panel.js +3 -6
  161. package/dist/components-page/account-settings/payments/payments-panel.js.map +1 -1
  162. package/dist/components-page/account-settings/profile-page/profile-page.d.ts +1 -3
  163. package/dist/components-page/account-settings/profile-page/profile-page.d.ts.map +1 -1
  164. package/dist/components-page/account-settings/profile-page/profile-page.js +2 -4
  165. package/dist/components-page/account-settings/profile-page/profile-page.js.map +1 -1
  166. package/dist/components-page/account-settings/section.d.ts +1 -3
  167. package/dist/components-page/account-settings/section.d.ts.map +1 -1
  168. package/dist/components-page/account-settings/section.js +2 -4
  169. package/dist/components-page/account-settings/section.js.map +1 -1
  170. package/dist/components-page/account-settings/settings/delete-account-section.d.ts +1 -3
  171. package/dist/components-page/account-settings/settings/delete-account-section.d.ts.map +1 -1
  172. package/dist/components-page/account-settings/settings/delete-account-section.js +2 -4
  173. package/dist/components-page/account-settings/settings/delete-account-section.js.map +1 -1
  174. package/dist/components-page/account-settings/settings/settings-page.d.ts +1 -3
  175. package/dist/components-page/account-settings/settings/settings-page.d.ts.map +1 -1
  176. package/dist/components-page/account-settings/settings/settings-page.js +2 -4
  177. package/dist/components-page/account-settings/settings/settings-page.js.map +1 -1
  178. package/dist/components-page/account-settings/settings/sign-out-section.d.ts +1 -3
  179. package/dist/components-page/account-settings/settings/sign-out-section.d.ts.map +1 -1
  180. package/dist/components-page/account-settings/settings/sign-out-section.js +2 -4
  181. package/dist/components-page/account-settings/settings/sign-out-section.js.map +1 -1
  182. package/dist/components-page/account-settings/teams/leave-team-section.d.ts +2 -4
  183. package/dist/components-page/account-settings/teams/leave-team-section.d.ts.map +1 -1
  184. package/dist/components-page/account-settings/teams/leave-team-section.js +2 -4
  185. package/dist/components-page/account-settings/teams/leave-team-section.js.map +1 -1
  186. package/dist/components-page/account-settings/teams/team-api-keys-section.d.ts +2 -3
  187. package/dist/components-page/account-settings/teams/team-api-keys-section.d.ts.map +1 -1
  188. package/dist/components-page/account-settings/teams/team-api-keys-section.js +2 -4
  189. package/dist/components-page/account-settings/teams/team-api-keys-section.js.map +1 -1
  190. package/dist/components-page/account-settings/teams/team-creation-page.d.ts +1 -3
  191. package/dist/components-page/account-settings/teams/team-creation-page.d.ts.map +1 -1
  192. package/dist/components-page/account-settings/teams/team-creation-page.js +2 -4
  193. package/dist/components-page/account-settings/teams/team-creation-page.js.map +1 -1
  194. package/dist/components-page/account-settings/teams/team-display-name-section.d.ts +2 -4
  195. package/dist/components-page/account-settings/teams/team-display-name-section.d.ts.map +1 -1
  196. package/dist/components-page/account-settings/teams/team-display-name-section.js +2 -4
  197. package/dist/components-page/account-settings/teams/team-display-name-section.js.map +1 -1
  198. package/dist/components-page/account-settings/teams/team-member-invitation-section.d.ts +2 -4
  199. package/dist/components-page/account-settings/teams/team-member-invitation-section.d.ts.map +1 -1
  200. package/dist/components-page/account-settings/teams/team-member-invitation-section.js +2 -4
  201. package/dist/components-page/account-settings/teams/team-member-invitation-section.js.map +1 -1
  202. package/dist/components-page/account-settings/teams/team-member-list-section.d.ts +2 -4
  203. package/dist/components-page/account-settings/teams/team-member-list-section.d.ts.map +1 -1
  204. package/dist/components-page/account-settings/teams/team-member-list-section.js +2 -4
  205. package/dist/components-page/account-settings/teams/team-member-list-section.js.map +1 -1
  206. package/dist/components-page/account-settings/teams/team-page.d.ts +2 -4
  207. package/dist/components-page/account-settings/teams/team-page.d.ts.map +1 -1
  208. package/dist/components-page/account-settings/teams/team-page.js +2 -4
  209. package/dist/components-page/account-settings/teams/team-page.js.map +1 -1
  210. package/dist/components-page/account-settings/teams/team-profile-image-section.d.ts +2 -4
  211. package/dist/components-page/account-settings/teams/team-profile-image-section.d.ts.map +1 -1
  212. package/dist/components-page/account-settings/teams/team-profile-image-section.js +2 -4
  213. package/dist/components-page/account-settings/teams/team-profile-image-section.js.map +1 -1
  214. package/dist/components-page/account-settings/teams/team-profile-user-section.d.ts +2 -4
  215. package/dist/components-page/account-settings/teams/team-profile-user-section.d.ts.map +1 -1
  216. package/dist/components-page/account-settings/teams/team-profile-user-section.js +2 -4
  217. package/dist/components-page/account-settings/teams/team-profile-user-section.js.map +1 -1
  218. package/dist/components-page/account-settings.d.ts +2 -58
  219. package/dist/components-page/account-settings.js +5 -7
  220. package/dist/components-page/account-settings.js.map +1 -1
  221. package/dist/components-page/auth-page.d.ts +2 -26
  222. package/dist/components-page/auth-page.js +3 -6
  223. package/dist/components-page/auth-page.js.map +1 -1
  224. package/dist/components-page/cli-auth-confirm.d.ts +2 -21
  225. package/dist/components-page/cli-auth-confirm.js +3 -6
  226. package/dist/components-page/cli-auth-confirm.js.map +1 -1
  227. package/dist/components-page/cli-auth-confirm.test.js +3 -4
  228. package/dist/components-page/cli-auth-confirm.test.js.map +1 -1
  229. package/dist/components-page/email-verification.d.ts +2 -10
  230. package/dist/components-page/email-verification.js +5 -7
  231. package/dist/components-page/email-verification.js.map +1 -1
  232. package/dist/components-page/error-page.d.ts +2 -10
  233. package/dist/components-page/error-page.js +3 -6
  234. package/dist/components-page/error-page.js.map +1 -1
  235. package/dist/components-page/forgot-password.d.ts +2 -14
  236. package/dist/components-page/forgot-password.js +3 -6
  237. package/dist/components-page/forgot-password.js.map +1 -1
  238. package/dist/components-page/hexclave-handler-client.d.ts +2 -62
  239. package/dist/components-page/hexclave-handler-client.js +2 -5
  240. package/dist/components-page/hexclave-handler-client.js.map +1 -1
  241. package/dist/components-page/hexclave-handler-client.test.js +1 -3
  242. package/dist/components-page/hexclave-handler-client.test.js.map +1 -1
  243. package/dist/components-page/hexclave-handler.d.ts +2 -37
  244. package/dist/components-page/hexclave-handler.js +5 -4
  245. package/dist/components-page/hexclave-handler.js.map +1 -1
  246. package/dist/components-page/magic-link-callback.d.ts +2 -10
  247. package/dist/components-page/magic-link-callback.js +6 -9
  248. package/dist/components-page/magic-link-callback.js.map +1 -1
  249. package/dist/components-page/mfa.d.ts +2 -11
  250. package/dist/components-page/mfa.js +2 -5
  251. package/dist/components-page/mfa.js.map +1 -1
  252. package/dist/components-page/oauth-callback.d.ts +2 -11
  253. package/dist/components-page/oauth-callback.js +3 -6
  254. package/dist/components-page/oauth-callback.js.map +1 -1
  255. package/dist/components-page/oauth-callback.test.js +3 -4
  256. package/dist/components-page/oauth-callback.test.js.map +1 -1
  257. package/dist/components-page/onboarding.d.ts +2 -9
  258. package/dist/components-page/onboarding.js +3 -6
  259. package/dist/components-page/onboarding.js.map +1 -1
  260. package/dist/components-page/password-reset.d.ts +2 -17
  261. package/dist/components-page/password-reset.js +8 -7
  262. package/dist/components-page/password-reset.js.map +1 -1
  263. package/dist/components-page/section.js +2 -2
  264. package/dist/components-page/sign-in.d.ts +2 -23
  265. package/dist/components-page/sign-in.js +2 -4
  266. package/dist/components-page/sign-in.js.map +1 -1
  267. package/dist/components-page/sign-out.d.ts +2 -10
  268. package/dist/components-page/sign-out.js +3 -6
  269. package/dist/components-page/sign-out.js.map +1 -1
  270. package/dist/components-page/sign-up.d.ts +2 -13
  271. package/dist/components-page/sign-up.js +3 -6
  272. package/dist/components-page/sign-up.js.map +1 -1
  273. package/dist/components-page/team-creation.d.ts +1 -3
  274. package/dist/components-page/team-creation.d.ts.map +1 -1
  275. package/dist/components-page/team-creation.js +3 -6
  276. package/dist/components-page/team-creation.js.map +1 -1
  277. package/dist/components-page/team-invitation.d.ts +2 -13
  278. package/dist/components-page/team-invitation.js +5 -7
  279. package/dist/components-page/team-invitation.js.map +1 -1
  280. package/dist/config.js +17 -19
  281. package/dist/convex-D2mFhYyd.d.ts +13 -0
  282. package/dist/convex-D2mFhYyd.d.ts.map +1 -0
  283. package/dist/cookie-DTOQvCYn.d.ts +42 -0
  284. package/dist/cookie-DTOQvCYn.d.ts.map +1 -0
  285. package/dist/credential-sign-in-BxCi9NEV.d.ts +5 -0
  286. package/dist/credential-sign-in-BxCi9NEV.d.ts.map +1 -0
  287. package/dist/credential-sign-up-tYm5rV86.d.ts +7 -0
  288. package/dist/credential-sign-up-tYm5rV86.d.ts.map +1 -0
  289. package/dist/dev-tool/dev-tool-core.d.ts +1 -2
  290. package/dist/dev-tool/dev-tool-core.d.ts.map +1 -1
  291. package/dist/dev-tool/dev-tool-core.js +3 -5
  292. package/dist/dev-tool/dev-tool-core.js.map +1 -1
  293. package/dist/dev-tool/dev-tool-styles.js +3 -6
  294. package/dist/dev-tool/dev-tool-styles.js.map +1 -1
  295. package/dist/dev-tool/dev-tool-trigger-position.d.ts.map +1 -1
  296. package/dist/dev-tool/dev-tool-trigger-position.js +6 -7
  297. package/dist/dev-tool/dev-tool-trigger-position.js.map +1 -1
  298. package/dist/dev-tool/dev-tool-trigger-position.test.js +1 -3
  299. package/dist/dev-tool/dev-tool-trigger-position.test.js.map +1 -1
  300. package/dist/dev-tool/index.d.ts +1 -2
  301. package/dist/dev-tool/index.d.ts.map +1 -1
  302. package/dist/dev-tool/index.js +2 -4
  303. package/dist/dev-tool/index.js.map +1 -1
  304. package/dist/email-verification-Cr_KKvtQ.d.ts +8 -0
  305. package/dist/email-verification-Cr_KKvtQ.d.ts.map +1 -0
  306. package/dist/error-page-D0KwN73t.d.ts +8 -0
  307. package/dist/error-page-D0KwN73t.d.ts.map +1 -0
  308. package/dist/esm/clickmap/clickmap-core.d.ts +1 -1
  309. package/dist/esm/clickmap/clickmap-core.d.ts.map +1 -1
  310. package/dist/esm/clickmap/clickmap-core.js +1 -2
  311. package/dist/esm/clickmap/clickmap-core.js.map +1 -1
  312. package/dist/esm/clickmap/clickmap-styles.js +1 -2
  313. package/dist/esm/clickmap/clickmap-styles.js.map +1 -1
  314. package/dist/esm/clickmap/index.d.ts +1 -1
  315. package/dist/esm/clickmap/index.d.ts.map +1 -1
  316. package/dist/esm/clickmap/index.js +1 -2
  317. package/dist/esm/clickmap/index.js.map +1 -1
  318. package/dist/esm/components/api-key-dialogs.d.ts +3 -4
  319. package/dist/esm/components/api-key-dialogs.d.ts.map +1 -1
  320. package/dist/esm/components/api-key-dialogs.js +2 -4
  321. package/dist/esm/components/api-key-dialogs.js.map +1 -1
  322. package/dist/esm/components/api-key-table.d.ts +2 -3
  323. package/dist/esm/components/api-key-table.d.ts.map +1 -1
  324. package/dist/esm/components/api-key-table.js +2 -4
  325. package/dist/esm/components/api-key-table.js.map +1 -1
  326. package/dist/esm/components/credential-sign-in.d.ts +1 -3
  327. package/dist/esm/components/credential-sign-in.d.ts.map +1 -1
  328. package/dist/esm/components/credential-sign-in.js +2 -4
  329. package/dist/esm/components/credential-sign-in.js.map +1 -1
  330. package/dist/esm/components/credential-sign-up.d.ts +1 -3
  331. package/dist/esm/components/credential-sign-up.d.ts.map +1 -1
  332. package/dist/esm/components/credential-sign-up.js +3 -5
  333. package/dist/esm/components/credential-sign-up.js.map +1 -1
  334. package/dist/esm/components/elements/form-warning.d.ts +1 -3
  335. package/dist/esm/components/elements/form-warning.d.ts.map +1 -1
  336. package/dist/esm/components/elements/form-warning.js +2 -4
  337. package/dist/esm/components/elements/form-warning.js.map +1 -1
  338. package/dist/esm/components/elements/maybe-full-page.d.ts +1 -2
  339. package/dist/esm/components/elements/maybe-full-page.d.ts.map +1 -1
  340. package/dist/esm/components/elements/maybe-full-page.js +2 -4
  341. package/dist/esm/components/elements/maybe-full-page.js.map +1 -1
  342. package/dist/esm/components/elements/separator-with-text.d.ts +1 -3
  343. package/dist/esm/components/elements/separator-with-text.d.ts.map +1 -1
  344. package/dist/esm/components/elements/separator-with-text.js +2 -4
  345. package/dist/esm/components/elements/separator-with-text.js.map +1 -1
  346. package/dist/esm/components/elements/sidebar-layout.d.ts +1 -2
  347. package/dist/esm/components/elements/sidebar-layout.d.ts.map +1 -1
  348. package/dist/esm/components/elements/sidebar-layout.js +3 -5
  349. package/dist/esm/components/elements/sidebar-layout.js.map +1 -1
  350. package/dist/esm/components/elements/ssr-layout-effect.d.ts +1 -3
  351. package/dist/esm/components/elements/ssr-layout-effect.d.ts.map +1 -1
  352. package/dist/esm/components/elements/ssr-layout-effect.js +1 -3
  353. package/dist/esm/components/elements/ssr-layout-effect.js.map +1 -1
  354. package/dist/esm/components/elements/user-avatar.d.ts +1 -3
  355. package/dist/esm/components/elements/user-avatar.d.ts.map +1 -1
  356. package/dist/esm/components/elements/user-avatar.js +1 -2
  357. package/dist/esm/components/elements/user-avatar.js.map +1 -1
  358. package/dist/esm/components/link.d.ts +2 -4
  359. package/dist/esm/components/link.d.ts.map +1 -1
  360. package/dist/esm/components/link.js +2 -4
  361. package/dist/esm/components/link.js.map +1 -1
  362. package/dist/esm/components/magic-link-sign-in.d.ts +1 -3
  363. package/dist/esm/components/magic-link-sign-in.d.ts.map +1 -1
  364. package/dist/esm/components/magic-link-sign-in.js +2 -4
  365. package/dist/esm/components/magic-link-sign-in.js.map +1 -1
  366. package/dist/esm/components/message-cards/known-error-message-card.d.ts +1 -2
  367. package/dist/esm/components/message-cards/known-error-message-card.d.ts.map +1 -1
  368. package/dist/esm/components/message-cards/known-error-message-card.js +1 -3
  369. package/dist/esm/components/message-cards/known-error-message-card.js.map +1 -1
  370. package/dist/esm/components/message-cards/message-card.d.ts +1 -2
  371. package/dist/esm/components/message-cards/message-card.d.ts.map +1 -1
  372. package/dist/esm/components/message-cards/message-card.js +3 -5
  373. package/dist/esm/components/message-cards/message-card.js.map +1 -1
  374. package/dist/esm/components/message-cards/predefined-message-card.d.ts +1 -3
  375. package/dist/esm/components/message-cards/predefined-message-card.d.ts.map +1 -1
  376. package/dist/esm/components/message-cards/predefined-message-card.js +1 -3
  377. package/dist/esm/components/message-cards/predefined-message-card.js.map +1 -1
  378. package/dist/esm/components/oauth-button-group.d.ts +1 -3
  379. package/dist/esm/components/oauth-button-group.d.ts.map +1 -1
  380. package/dist/esm/components/oauth-button-group.js +2 -4
  381. package/dist/esm/components/oauth-button-group.js.map +1 -1
  382. package/dist/esm/components/oauth-button.d.ts +1 -3
  383. package/dist/esm/components/oauth-button.d.ts.map +1 -1
  384. package/dist/esm/components/oauth-button.js +2 -4
  385. package/dist/esm/components/oauth-button.js.map +1 -1
  386. package/dist/esm/components/passkey-button.d.ts +1 -3
  387. package/dist/esm/components/passkey-button.d.ts.map +1 -1
  388. package/dist/esm/components/passkey-button.js +2 -4
  389. package/dist/esm/components/passkey-button.js.map +1 -1
  390. package/dist/esm/components/profile-image-editor.d.ts +2 -3
  391. package/dist/esm/components/profile-image-editor.d.ts.map +1 -1
  392. package/dist/esm/components/profile-image-editor.js +1 -2
  393. package/dist/esm/components/profile-image-editor.js.map +1 -1
  394. package/dist/esm/components/selected-team-switcher.d.ts +2 -3
  395. package/dist/esm/components/selected-team-switcher.d.ts.map +1 -1
  396. package/dist/esm/components/selected-team-switcher.js +2 -4
  397. package/dist/esm/components/selected-team-switcher.js.map +1 -1
  398. package/dist/esm/components/team-icon.d.ts +2 -3
  399. package/dist/esm/components/team-icon.d.ts.map +1 -1
  400. package/dist/esm/components/team-icon.js +1 -2
  401. package/dist/esm/components/team-icon.js.map +1 -1
  402. package/dist/esm/components/team-switcher.d.ts +2 -3
  403. package/dist/esm/components/team-switcher.d.ts.map +1 -1
  404. package/dist/esm/components/team-switcher.js +2 -4
  405. package/dist/esm/components/team-switcher.js.map +1 -1
  406. package/dist/esm/components/use-in-iframe.d.ts.map +1 -1
  407. package/dist/esm/components/use-in-iframe.js +2 -4
  408. package/dist/esm/components/use-in-iframe.js.map +1 -1
  409. package/dist/esm/components/user-button.d.ts +1 -2
  410. package/dist/esm/components/user-button.d.ts.map +1 -1
  411. package/dist/esm/components/user-button.js +3 -5
  412. package/dist/esm/components/user-button.js.map +1 -1
  413. package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.d.ts +1 -3
  414. package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.d.ts.map +1 -1
  415. package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.js +1 -2
  416. package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.js.map +1 -1
  417. package/dist/esm/components-page/account-settings/api-keys/api-keys-page.d.ts +1 -3
  418. package/dist/esm/components-page/account-settings/api-keys/api-keys-page.d.ts.map +1 -1
  419. package/dist/esm/components-page/account-settings/api-keys/api-keys-page.js +1 -2
  420. package/dist/esm/components-page/account-settings/api-keys/api-keys-page.js.map +1 -1
  421. package/dist/esm/components-page/account-settings/editable-text.d.ts +1 -3
  422. package/dist/esm/components-page/account-settings/editable-text.d.ts.map +1 -1
  423. package/dist/esm/components-page/account-settings/editable-text.js +1 -2
  424. package/dist/esm/components-page/account-settings/editable-text.js.map +1 -1
  425. package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.d.ts +1 -3
  426. package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.d.ts.map +1 -1
  427. package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.js +1 -2
  428. package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.js.map +1 -1
  429. package/dist/esm/components-page/account-settings/email-and-auth/emails-section.d.ts +1 -3
  430. package/dist/esm/components-page/account-settings/email-and-auth/emails-section.d.ts.map +1 -1
  431. package/dist/esm/components-page/account-settings/email-and-auth/emails-section.js +1 -2
  432. package/dist/esm/components-page/account-settings/email-and-auth/emails-section.js.map +1 -1
  433. package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.d.ts +1 -3
  434. package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.d.ts.map +1 -1
  435. package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.js +2 -3
  436. package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.js.map +1 -1
  437. package/dist/esm/components-page/account-settings/email-and-auth/otp-section.d.ts +1 -3
  438. package/dist/esm/components-page/account-settings/email-and-auth/otp-section.d.ts.map +1 -1
  439. package/dist/esm/components-page/account-settings/email-and-auth/otp-section.js +1 -2
  440. package/dist/esm/components-page/account-settings/email-and-auth/otp-section.js.map +1 -1
  441. package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.d.ts +1 -3
  442. package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.d.ts.map +1 -1
  443. package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.js +1 -2
  444. package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.js.map +1 -1
  445. package/dist/esm/components-page/account-settings/email-and-auth/password-section.d.ts +1 -3
  446. package/dist/esm/components-page/account-settings/email-and-auth/password-section.d.ts.map +1 -1
  447. package/dist/esm/components-page/account-settings/email-and-auth/password-section.js +1 -2
  448. package/dist/esm/components-page/account-settings/email-and-auth/password-section.js.map +1 -1
  449. package/dist/esm/components-page/account-settings/notifications/notifications-page.d.ts +1 -3
  450. package/dist/esm/components-page/account-settings/notifications/notifications-page.d.ts.map +1 -1
  451. package/dist/esm/components-page/account-settings/notifications/notifications-page.js +1 -2
  452. package/dist/esm/components-page/account-settings/notifications/notifications-page.js.map +1 -1
  453. package/dist/esm/components-page/account-settings/page-layout.d.ts +1 -3
  454. package/dist/esm/components-page/account-settings/page-layout.d.ts.map +1 -1
  455. package/dist/esm/components-page/account-settings/page-layout.js +1 -2
  456. package/dist/esm/components-page/account-settings/page-layout.js.map +1 -1
  457. package/dist/esm/components-page/account-settings/payments/payments-page.d.ts +2 -3
  458. package/dist/esm/components-page/account-settings/payments/payments-page.d.ts.map +1 -1
  459. package/dist/esm/components-page/account-settings/payments/payments-page.js +2 -4
  460. package/dist/esm/components-page/account-settings/payments/payments-page.js.map +1 -1
  461. package/dist/esm/components-page/account-settings/payments/payments-panel.d.ts +2 -3
  462. package/dist/esm/components-page/account-settings/payments/payments-panel.d.ts.map +1 -1
  463. package/dist/esm/components-page/account-settings/payments/payments-panel.js +2 -4
  464. package/dist/esm/components-page/account-settings/payments/payments-panel.js.map +1 -1
  465. package/dist/esm/components-page/account-settings/profile-page/profile-page.d.ts +1 -3
  466. package/dist/esm/components-page/account-settings/profile-page/profile-page.d.ts.map +1 -1
  467. package/dist/esm/components-page/account-settings/profile-page/profile-page.js +1 -2
  468. package/dist/esm/components-page/account-settings/profile-page/profile-page.js.map +1 -1
  469. package/dist/esm/components-page/account-settings/section.d.ts +1 -3
  470. package/dist/esm/components-page/account-settings/section.d.ts.map +1 -1
  471. package/dist/esm/components-page/account-settings/section.js +1 -2
  472. package/dist/esm/components-page/account-settings/section.js.map +1 -1
  473. package/dist/esm/components-page/account-settings/settings/delete-account-section.d.ts +1 -3
  474. package/dist/esm/components-page/account-settings/settings/delete-account-section.d.ts.map +1 -1
  475. package/dist/esm/components-page/account-settings/settings/delete-account-section.js +1 -2
  476. package/dist/esm/components-page/account-settings/settings/delete-account-section.js.map +1 -1
  477. package/dist/esm/components-page/account-settings/settings/settings-page.d.ts +1 -3
  478. package/dist/esm/components-page/account-settings/settings/settings-page.d.ts.map +1 -1
  479. package/dist/esm/components-page/account-settings/settings/settings-page.js +1 -2
  480. package/dist/esm/components-page/account-settings/settings/settings-page.js.map +1 -1
  481. package/dist/esm/components-page/account-settings/settings/sign-out-section.d.ts +1 -3
  482. package/dist/esm/components-page/account-settings/settings/sign-out-section.d.ts.map +1 -1
  483. package/dist/esm/components-page/account-settings/settings/sign-out-section.js +1 -2
  484. package/dist/esm/components-page/account-settings/settings/sign-out-section.js.map +1 -1
  485. package/dist/esm/components-page/account-settings/teams/leave-team-section.d.ts +2 -3
  486. package/dist/esm/components-page/account-settings/teams/leave-team-section.d.ts.map +1 -1
  487. package/dist/esm/components-page/account-settings/teams/leave-team-section.js +1 -2
  488. package/dist/esm/components-page/account-settings/teams/leave-team-section.js.map +1 -1
  489. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.d.ts +2 -3
  490. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.d.ts.map +1 -1
  491. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.js +1 -2
  492. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.js.map +1 -1
  493. package/dist/esm/components-page/account-settings/teams/team-creation-page.d.ts +1 -3
  494. package/dist/esm/components-page/account-settings/teams/team-creation-page.d.ts.map +1 -1
  495. package/dist/esm/components-page/account-settings/teams/team-creation-page.js +1 -2
  496. package/dist/esm/components-page/account-settings/teams/team-creation-page.js.map +1 -1
  497. package/dist/esm/components-page/account-settings/teams/team-display-name-section.d.ts +2 -3
  498. package/dist/esm/components-page/account-settings/teams/team-display-name-section.d.ts.map +1 -1
  499. package/dist/esm/components-page/account-settings/teams/team-display-name-section.js +1 -2
  500. package/dist/esm/components-page/account-settings/teams/team-display-name-section.js.map +1 -1
  501. package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.d.ts +2 -3
  502. package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.d.ts.map +1 -1
  503. package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.js +1 -2
  504. package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.js.map +1 -1
  505. package/dist/esm/components-page/account-settings/teams/team-member-list-section.d.ts +2 -3
  506. package/dist/esm/components-page/account-settings/teams/team-member-list-section.d.ts.map +1 -1
  507. package/dist/esm/components-page/account-settings/teams/team-member-list-section.js +1 -2
  508. package/dist/esm/components-page/account-settings/teams/team-member-list-section.js.map +1 -1
  509. package/dist/esm/components-page/account-settings/teams/team-page.d.ts +2 -3
  510. package/dist/esm/components-page/account-settings/teams/team-page.d.ts.map +1 -1
  511. package/dist/esm/components-page/account-settings/teams/team-page.js +1 -2
  512. package/dist/esm/components-page/account-settings/teams/team-page.js.map +1 -1
  513. package/dist/esm/components-page/account-settings/teams/team-profile-image-section.d.ts +2 -3
  514. package/dist/esm/components-page/account-settings/teams/team-profile-image-section.d.ts.map +1 -1
  515. package/dist/esm/components-page/account-settings/teams/team-profile-image-section.js +1 -2
  516. package/dist/esm/components-page/account-settings/teams/team-profile-image-section.js.map +1 -1
  517. package/dist/esm/components-page/account-settings/teams/team-profile-user-section.d.ts +2 -3
  518. package/dist/esm/components-page/account-settings/teams/team-profile-user-section.d.ts.map +1 -1
  519. package/dist/esm/components-page/account-settings/teams/team-profile-user-section.js +1 -2
  520. package/dist/esm/components-page/account-settings/teams/team-profile-user-section.js.map +1 -1
  521. package/dist/esm/components-page/account-settings.d.ts +9 -11
  522. package/dist/esm/components-page/account-settings.d.ts.map +1 -1
  523. package/dist/esm/components-page/account-settings.js +3 -5
  524. package/dist/esm/components-page/account-settings.js.map +1 -1
  525. package/dist/esm/components-page/auth-page.d.ts +1 -3
  526. package/dist/esm/components-page/auth-page.d.ts.map +1 -1
  527. package/dist/esm/components-page/auth-page.js +2 -4
  528. package/dist/esm/components-page/auth-page.js.map +1 -1
  529. package/dist/esm/components-page/cli-auth-confirm.d.ts +1 -3
  530. package/dist/esm/components-page/cli-auth-confirm.d.ts.map +1 -1
  531. package/dist/esm/components-page/cli-auth-confirm.js +2 -4
  532. package/dist/esm/components-page/cli-auth-confirm.js.map +1 -1
  533. package/dist/esm/components-page/cli-auth-confirm.test.js +3 -4
  534. package/dist/esm/components-page/cli-auth-confirm.test.js.map +1 -1
  535. package/dist/esm/components-page/email-verification.d.ts +1 -3
  536. package/dist/esm/components-page/email-verification.d.ts.map +1 -1
  537. package/dist/esm/components-page/email-verification.js +2 -4
  538. package/dist/esm/components-page/email-verification.js.map +1 -1
  539. package/dist/esm/components-page/error-page.d.ts +1 -3
  540. package/dist/esm/components-page/error-page.d.ts.map +1 -1
  541. package/dist/esm/components-page/error-page.js +2 -4
  542. package/dist/esm/components-page/error-page.js.map +1 -1
  543. package/dist/esm/components-page/forgot-password.d.ts +2 -4
  544. package/dist/esm/components-page/forgot-password.d.ts.map +1 -1
  545. package/dist/esm/components-page/forgot-password.js +2 -4
  546. package/dist/esm/components-page/forgot-password.js.map +1 -1
  547. package/dist/esm/components-page/hexclave-handler-client.d.ts +14 -14
  548. package/dist/esm/components-page/hexclave-handler-client.d.ts.map +1 -1
  549. package/dist/esm/components-page/hexclave-handler-client.js +1 -3
  550. package/dist/esm/components-page/hexclave-handler-client.js.map +1 -1
  551. package/dist/esm/components-page/hexclave-handler-client.test.js +2 -3
  552. package/dist/esm/components-page/hexclave-handler-client.test.js.map +1 -1
  553. package/dist/esm/components-page/hexclave-handler.d.ts +2 -3
  554. package/dist/esm/components-page/hexclave-handler.d.ts.map +1 -1
  555. package/dist/esm/components-page/hexclave-handler.js +1 -2
  556. package/dist/esm/components-page/hexclave-handler.js.map +1 -1
  557. package/dist/esm/components-page/magic-link-callback.d.ts +1 -3
  558. package/dist/esm/components-page/magic-link-callback.d.ts.map +1 -1
  559. package/dist/esm/components-page/magic-link-callback.js +2 -4
  560. package/dist/esm/components-page/magic-link-callback.js.map +1 -1
  561. package/dist/esm/components-page/mfa.d.ts +1 -3
  562. package/dist/esm/components-page/mfa.d.ts.map +1 -1
  563. package/dist/esm/components-page/mfa.js +1 -3
  564. package/dist/esm/components-page/mfa.js.map +1 -1
  565. package/dist/esm/components-page/oauth-callback.d.ts +1 -3
  566. package/dist/esm/components-page/oauth-callback.d.ts.map +1 -1
  567. package/dist/esm/components-page/oauth-callback.js +2 -4
  568. package/dist/esm/components-page/oauth-callback.js.map +1 -1
  569. package/dist/esm/components-page/oauth-callback.test.js +3 -4
  570. package/dist/esm/components-page/oauth-callback.test.js.map +1 -1
  571. package/dist/esm/components-page/onboarding.d.ts +1 -3
  572. package/dist/esm/components-page/onboarding.d.ts.map +1 -1
  573. package/dist/esm/components-page/onboarding.js +2 -4
  574. package/dist/esm/components-page/onboarding.js.map +1 -1
  575. package/dist/esm/components-page/password-reset.d.ts +2 -4
  576. package/dist/esm/components-page/password-reset.d.ts.map +1 -1
  577. package/dist/esm/components-page/password-reset.js +2 -4
  578. package/dist/esm/components-page/password-reset.js.map +1 -1
  579. package/dist/esm/components-page/section.js +3 -4
  580. package/dist/esm/components-page/sign-in.d.ts +1 -3
  581. package/dist/esm/components-page/sign-in.d.ts.map +1 -1
  582. package/dist/esm/components-page/sign-in.js +1 -2
  583. package/dist/esm/components-page/sign-in.js.map +1 -1
  584. package/dist/esm/components-page/sign-out.d.ts +1 -3
  585. package/dist/esm/components-page/sign-out.d.ts.map +1 -1
  586. package/dist/esm/components-page/sign-out.js +2 -4
  587. package/dist/esm/components-page/sign-out.js.map +1 -1
  588. package/dist/esm/components-page/sign-up.d.ts +1 -3
  589. package/dist/esm/components-page/sign-up.d.ts.map +1 -1
  590. package/dist/esm/components-page/sign-up.js +2 -4
  591. package/dist/esm/components-page/sign-up.js.map +1 -1
  592. package/dist/esm/components-page/team-creation.d.ts +1 -3
  593. package/dist/esm/components-page/team-creation.d.ts.map +1 -1
  594. package/dist/esm/components-page/team-creation.js +2 -4
  595. package/dist/esm/components-page/team-creation.js.map +1 -1
  596. package/dist/esm/components-page/team-invitation.d.ts +1 -3
  597. package/dist/esm/components-page/team-invitation.d.ts.map +1 -1
  598. package/dist/esm/components-page/team-invitation.js +2 -4
  599. package/dist/esm/components-page/team-invitation.js.map +1 -1
  600. package/dist/esm/config.js +1 -2
  601. package/dist/esm/dev-tool/dev-tool-core.d.ts +1 -1
  602. package/dist/esm/dev-tool/dev-tool-core.d.ts.map +1 -1
  603. package/dist/esm/dev-tool/dev-tool-core.js +2 -3
  604. package/dist/esm/dev-tool/dev-tool-core.js.map +1 -1
  605. package/dist/esm/dev-tool/dev-tool-styles.js +1 -2
  606. package/dist/esm/dev-tool/dev-tool-styles.js.map +1 -1
  607. package/dist/esm/dev-tool/dev-tool-trigger-position.d.ts.map +1 -1
  608. package/dist/esm/dev-tool/dev-tool-trigger-position.js +5 -5
  609. package/dist/esm/dev-tool/dev-tool-trigger-position.js.map +1 -1
  610. package/dist/esm/dev-tool/dev-tool-trigger-position.test.js +2 -3
  611. package/dist/esm/dev-tool/dev-tool-trigger-position.test.js.map +1 -1
  612. package/dist/esm/dev-tool/index.d.ts +1 -1
  613. package/dist/esm/dev-tool/index.d.ts.map +1 -1
  614. package/dist/esm/dev-tool/index.js +1 -2
  615. package/dist/esm/dev-tool/index.js.map +1 -1
  616. package/dist/esm/generated/env.js +1 -1
  617. package/dist/esm/generated/env.js.map +1 -1
  618. package/dist/esm/generated/global-css.js +1 -1
  619. package/dist/esm/generated/quetzal-translations.d.ts +2 -2
  620. package/dist/esm/generated/quetzal-translations.js +1 -2
  621. package/dist/esm/generated/quetzal-translations.js.map +1 -1
  622. package/dist/esm/global.d.ts.map +1 -1
  623. package/dist/esm/in-page-ui/base-styles.d.ts.map +1 -1
  624. package/dist/esm/in-page-ui/base-styles.js +1 -1
  625. package/dist/esm/in-page-ui/base-styles.js.map +1 -1
  626. package/dist/esm/in-page-ui/dom.d.ts.map +1 -1
  627. package/dist/esm/in-page-ui/dom.js +1 -1
  628. package/dist/esm/in-page-ui/dom.js.map +1 -1
  629. package/dist/esm/index.d.ts +25 -25
  630. package/dist/esm/index.js +2 -4
  631. package/dist/esm/integrations/convex/component/convex.config.d.ts +1 -3
  632. package/dist/esm/integrations/convex/component/convex.config.d.ts.map +1 -1
  633. package/dist/esm/integrations/convex/component/convex.config.js +1 -2
  634. package/dist/esm/integrations/convex/component/convex.config.js.map +1 -1
  635. package/dist/esm/integrations/convex.js +1 -2
  636. package/dist/esm/integrations/convex.js.map +1 -1
  637. package/dist/esm/lib/auth.js +1 -2
  638. package/dist/esm/lib/auth.js.map +1 -1
  639. package/dist/esm/lib/auth.test.js +2 -3
  640. package/dist/esm/lib/auth.test.js.map +1 -1
  641. package/dist/esm/lib/cookie.d.ts.map +1 -1
  642. package/dist/esm/lib/cookie.js +4 -22
  643. package/dist/esm/lib/cookie.js.map +1 -1
  644. package/dist/esm/lib/hexclave-app/api-keys/index.d.ts.map +1 -1
  645. package/dist/esm/lib/hexclave-app/api-keys/index.js +1 -2
  646. package/dist/esm/lib/hexclave-app/api-keys/index.js.map +1 -1
  647. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts +34 -42
  648. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -1
  649. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js +1 -2
  650. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -1
  651. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js +2 -3
  652. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -1
  653. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts +26 -28
  654. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -1
  655. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js +1 -2
  656. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
  657. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js +2 -3
  658. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -1
  659. package/dist/esm/lib/hexclave-app/apps/implementations/common.d.ts +1 -1
  660. package/dist/esm/lib/hexclave-app/apps/implementations/common.d.ts.map +1 -1
  661. package/dist/esm/lib/hexclave-app/apps/implementations/common.js +7 -8
  662. package/dist/esm/lib/hexclave-app/apps/implementations/common.js.map +1 -1
  663. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.d.ts.map +1 -1
  664. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.js +1 -2
  665. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -1
  666. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.test.js +2 -3
  667. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -1
  668. package/dist/esm/lib/hexclave-app/apps/implementations/index.d.ts +3 -3
  669. package/dist/esm/lib/hexclave-app/apps/implementations/index.d.ts.map +1 -1
  670. package/dist/esm/lib/hexclave-app/apps/implementations/index.js +1 -2
  671. package/dist/esm/lib/hexclave-app/apps/implementations/index.js.map +1 -1
  672. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts +1 -1
  673. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts.map +1 -1
  674. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.js +1 -2
  675. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -1
  676. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.d.ts +13 -13
  677. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.d.ts.map +1 -1
  678. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.js +1 -2
  679. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -1
  680. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.d.ts.map +1 -1
  681. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.js +1 -1
  682. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.js.map +1 -1
  683. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js +2 -3
  684. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js.map +1 -1
  685. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.d.ts.map +1 -1
  686. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.js +13 -7
  687. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -1
  688. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.test.js +134 -3
  689. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -1
  690. package/dist/esm/lib/hexclave-app/apps/index.d.ts +3 -3
  691. package/dist/esm/lib/hexclave-app/apps/index.js +1 -2
  692. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.d.ts +8 -8
  693. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.d.ts.map +1 -1
  694. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.js +1 -2
  695. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -1
  696. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.d.ts +6 -6
  697. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.d.ts.map +1 -1
  698. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.js +1 -2
  699. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -1
  700. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.d.ts +7 -7
  701. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.d.ts.map +1 -1
  702. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.js +1 -2
  703. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.js.map +1 -1
  704. package/dist/esm/lib/hexclave-app/common.d.ts.map +1 -1
  705. package/dist/esm/lib/hexclave-app/common.js +1 -1
  706. package/dist/esm/lib/hexclave-app/common.js.map +1 -1
  707. package/dist/esm/lib/hexclave-app/connected-accounts/index.d.ts.map +1 -1
  708. package/dist/esm/lib/hexclave-app/connected-accounts/index.js +1 -1
  709. package/dist/esm/lib/hexclave-app/contact-channels/index.d.ts.map +1 -1
  710. package/dist/esm/lib/hexclave-app/contact-channels/index.js +1 -1
  711. package/dist/esm/lib/hexclave-app/contact-channels/index.js.map +1 -1
  712. package/dist/esm/lib/hexclave-app/customers/index.d.ts +1 -1
  713. package/dist/esm/lib/hexclave-app/customers/index.d.ts.map +1 -1
  714. package/dist/esm/lib/hexclave-app/customers/index.js +1 -1
  715. package/dist/esm/lib/hexclave-app/data-vault/index.d.ts +1 -1
  716. package/dist/esm/lib/hexclave-app/data-vault/index.d.ts.map +1 -1
  717. package/dist/esm/lib/hexclave-app/data-vault/index.js +1 -1
  718. package/dist/esm/lib/hexclave-app/email/index.d.ts.map +1 -1
  719. package/dist/esm/lib/hexclave-app/email/index.js +1 -1
  720. package/dist/esm/lib/hexclave-app/email-templates/index.d.ts.map +1 -1
  721. package/dist/esm/lib/hexclave-app/email-templates/index.js +1 -1
  722. package/dist/esm/lib/hexclave-app/email-templates/index.js.map +1 -1
  723. package/dist/esm/lib/hexclave-app/index.d.ts +14 -14
  724. package/dist/esm/lib/hexclave-app/index.js +1 -2
  725. package/dist/esm/lib/hexclave-app/internal-api-keys/index.d.ts.map +1 -1
  726. package/dist/esm/lib/hexclave-app/internal-api-keys/index.js +1 -1
  727. package/dist/esm/lib/hexclave-app/internal-api-keys/index.js.map +1 -1
  728. package/dist/esm/lib/hexclave-app/notification-categories/index.d.ts.map +1 -1
  729. package/dist/esm/lib/hexclave-app/notification-categories/index.js +1 -1
  730. package/dist/esm/lib/hexclave-app/permissions/index.d.ts.map +1 -1
  731. package/dist/esm/lib/hexclave-app/permissions/index.js +1 -1
  732. package/dist/esm/lib/hexclave-app/permissions/index.js.map +1 -1
  733. package/dist/esm/lib/hexclave-app/plan-usage/index.d.ts.map +1 -1
  734. package/dist/esm/lib/hexclave-app/plan-usage/index.js +1 -1
  735. package/dist/esm/lib/hexclave-app/project-configs/index.d.ts +1 -1
  736. package/dist/esm/lib/hexclave-app/project-configs/index.d.ts.map +1 -1
  737. package/dist/esm/lib/hexclave-app/project-configs/index.js +1 -1
  738. package/dist/esm/lib/hexclave-app/projects/index.d.ts +2 -2
  739. package/dist/esm/lib/hexclave-app/projects/index.d.ts.map +1 -1
  740. package/dist/esm/lib/hexclave-app/projects/index.js +5 -1
  741. package/dist/esm/lib/hexclave-app/projects/index.js.map +1 -1
  742. package/dist/esm/lib/hexclave-app/session-replays/index.d.ts.map +1 -1
  743. package/dist/esm/lib/hexclave-app/session-replays/index.js +1 -1
  744. package/dist/esm/lib/hexclave-app/teams/index.d.ts +4 -4
  745. package/dist/esm/lib/hexclave-app/teams/index.d.ts.map +1 -1
  746. package/dist/esm/lib/hexclave-app/teams/index.js +1 -1
  747. package/dist/esm/lib/hexclave-app/teams/index.js.map +1 -1
  748. package/dist/esm/lib/hexclave-app/url-targets.d.ts +1 -1
  749. package/dist/esm/lib/hexclave-app/url-targets.d.ts.map +1 -1
  750. package/dist/esm/lib/hexclave-app/url-targets.js +2 -3
  751. package/dist/esm/lib/hexclave-app/url-targets.js.map +1 -1
  752. package/dist/esm/lib/hexclave-app/url-targets.test.js +2 -3
  753. package/dist/esm/lib/hexclave-app/url-targets.test.js.map +1 -1
  754. package/dist/esm/lib/hexclave-app/users/index.d.ts +9 -9
  755. package/dist/esm/lib/hexclave-app/users/index.d.ts.map +1 -1
  756. package/dist/esm/lib/hexclave-app/users/index.js +1 -2
  757. package/dist/esm/lib/hexclave-app/users/index.js.map +1 -1
  758. package/dist/esm/lib/hooks.d.ts +1 -1
  759. package/dist/esm/lib/hooks.d.ts.map +1 -1
  760. package/dist/esm/lib/hooks.js +1 -2
  761. package/dist/esm/lib/hooks.js.map +1 -1
  762. package/dist/esm/lib/translations.d.ts.map +1 -1
  763. package/dist/esm/lib/translations.js +1 -2
  764. package/dist/esm/lib/translations.js.map +1 -1
  765. package/dist/esm/providers/hexclave-context.d.ts +1 -1
  766. package/dist/esm/providers/hexclave-context.d.ts.map +1 -1
  767. package/dist/esm/providers/hexclave-context.js +1 -3
  768. package/dist/esm/providers/hexclave-context.js.map +1 -1
  769. package/dist/esm/providers/hexclave-provider-client.d.ts +2 -3
  770. package/dist/esm/providers/hexclave-provider-client.d.ts.map +1 -1
  771. package/dist/esm/providers/hexclave-provider-client.js +2 -4
  772. package/dist/esm/providers/hexclave-provider-client.js.map +1 -1
  773. package/dist/esm/providers/hexclave-provider.d.ts +3 -4
  774. package/dist/esm/providers/hexclave-provider.d.ts.map +1 -1
  775. package/dist/esm/providers/hexclave-provider.js +2 -3
  776. package/dist/esm/providers/hexclave-provider.js.map +1 -1
  777. package/dist/esm/providers/theme-provider.d.ts +1 -2
  778. package/dist/esm/providers/theme-provider.d.ts.map +1 -1
  779. package/dist/esm/providers/theme-provider.js +3 -5
  780. package/dist/esm/providers/theme-provider.js.map +1 -1
  781. package/dist/esm/providers/translation-provider-client.d.ts +1 -2
  782. package/dist/esm/providers/translation-provider-client.d.ts.map +1 -1
  783. package/dist/esm/providers/translation-provider-client.js +1 -3
  784. package/dist/esm/providers/translation-provider-client.js.map +1 -1
  785. package/dist/esm/providers/translation-provider.d.ts +2 -3
  786. package/dist/esm/providers/translation-provider.d.ts.map +1 -1
  787. package/dist/esm/providers/translation-provider.js +1 -2
  788. package/dist/esm/providers/translation-provider.js.map +1 -1
  789. package/dist/esm/pushed-config-error-overlay/index.d.ts +1 -1
  790. package/dist/esm/pushed-config-error-overlay/index.d.ts.map +1 -1
  791. package/dist/esm/pushed-config-error-overlay/index.js +1 -2
  792. package/dist/esm/pushed-config-error-overlay/index.js.map +1 -1
  793. package/dist/esm/pushed-config-error-overlay/index.test.js +2 -3
  794. package/dist/esm/pushed-config-error-overlay/index.test.js.map +1 -1
  795. package/dist/esm/tanstack-start-server-context.d.ts +1 -3
  796. package/dist/esm/tanstack-start-server-context.d.ts.map +1 -1
  797. package/dist/esm/utils/browser-script.d.ts +1 -3
  798. package/dist/esm/utils/browser-script.d.ts.map +1 -1
  799. package/dist/esm/utils/browser-script.js +1 -2
  800. package/dist/esm/utils/browser-script.js.map +1 -1
  801. package/dist/esm/utils/constants.js +1 -1
  802. package/dist/esm/utils/constants.js.map +1 -1
  803. package/dist/esm/utils/url.d.ts.map +1 -1
  804. package/dist/esm/utils/url.js +1 -2
  805. package/dist/esm/utils/url.js.map +1 -1
  806. package/dist/forgot-password-B7RLLsC2.d.ts +12 -0
  807. package/dist/forgot-password-B7RLLsC2.d.ts.map +1 -0
  808. package/dist/generated/env.js +2 -3
  809. package/dist/generated/env.js.map +1 -1
  810. package/dist/generated/global-css.js +2 -3
  811. package/dist/generated/global-css.js.map +1 -1
  812. package/dist/generated/quetzal-translations.d.ts +2 -6
  813. package/dist/generated/quetzal-translations.js +2 -4
  814. package/dist/generated/quetzal-translations.js.map +1 -1
  815. package/dist/global.d.ts.map +1 -1
  816. package/dist/hexclave-provider-BdiqjaCz.d.ts +29 -0
  817. package/dist/hexclave-provider-BdiqjaCz.d.ts.map +1 -0
  818. package/dist/hooks-psPwqxZ4.d.ts +43 -0
  819. package/dist/hooks-psPwqxZ4.d.ts.map +1 -0
  820. package/dist/in-page-ui/base-styles.d.ts.map +1 -1
  821. package/dist/in-page-ui/base-styles.js +2 -3
  822. package/dist/in-page-ui/base-styles.js.map +1 -1
  823. package/dist/in-page-ui/dom.d.ts.map +1 -1
  824. package/dist/in-page-ui/dom.js +2 -3
  825. package/dist/in-page-ui/dom.js.map +1 -1
  826. package/dist/index-BKZ67WMa.d.ts +1 -0
  827. package/dist/index-BSr2pd22.d.ts +14 -0
  828. package/dist/index-BSr2pd22.d.ts.map +1 -0
  829. package/dist/index-BVVgDSdq.d.ts +1 -0
  830. package/dist/index-Bo5DpPFH.d.ts +17 -0
  831. package/dist/index-Bo5DpPFH.d.ts.map +1 -0
  832. package/dist/index-CBDR4cNg.d.ts +206 -0
  833. package/dist/index-CBDR4cNg.d.ts.map +1 -0
  834. package/dist/index-C_kxyHao.d.ts +57 -0
  835. package/dist/{lib/hexclave-app/connected-accounts/index.d.ts.map → index-C_kxyHao.d.ts.map} +1 -1
  836. package/dist/index-D7Vdg30O.d.ts +27 -0
  837. package/dist/index-D7Vdg30O.d.ts.map +1 -0
  838. package/dist/index-DN04TjLM.d.ts +43 -0
  839. package/dist/index-DN04TjLM.d.ts.map +1 -0
  840. package/dist/index-DSzMf-rS.d.ts +43 -0
  841. package/dist/index-DSzMf-rS.d.ts.map +1 -0
  842. package/dist/index-DbiyXho6.d.ts +129 -0
  843. package/dist/index-DbiyXho6.d.ts.map +1 -0
  844. package/dist/index-Dq4xsW7_.d.ts +106 -0
  845. package/dist/index-Dq4xsW7_.d.ts.map +1 -0
  846. package/dist/index-O3hJsHSl.d.ts +11 -0
  847. package/dist/index-O3hJsHSl.d.ts.map +1 -0
  848. package/dist/index-TUtJOdMm.d.ts +42 -0
  849. package/dist/index-TUtJOdMm.d.ts.map +1 -0
  850. package/dist/index-fOYcs4NH.d.ts +53 -0
  851. package/dist/{lib/hexclave-app/api-keys/index.d.ts.map → index-fOYcs4NH.d.ts.map} +1 -1
  852. package/dist/index-hYjsGKNc.d.ts +66 -0
  853. package/dist/index-hYjsGKNc.d.ts.map +1 -0
  854. package/dist/index-p0N9MbE5.d.ts +147 -0
  855. package/dist/index-p0N9MbE5.d.ts.map +1 -0
  856. package/dist/index.d.ts +33 -41
  857. package/dist/index.js +193 -193
  858. package/dist/integrations/convex/component/convex.config.d.ts +1 -1
  859. package/dist/integrations/convex/component/convex.config.d.ts.map +1 -1
  860. package/dist/integrations/convex/component/convex.config.js +2 -5
  861. package/dist/integrations/convex/component/convex.config.js.map +1 -1
  862. package/dist/integrations/convex.d.ts +2 -13
  863. package/dist/integrations/convex.js +2 -4
  864. package/dist/integrations/convex.js.map +1 -1
  865. package/dist/lib/auth.js +2 -4
  866. package/dist/lib/auth.js.map +1 -1
  867. package/dist/lib/auth.test.js +1 -3
  868. package/dist/lib/auth.test.js.map +1 -1
  869. package/dist/lib/cookie.d.ts +2 -42
  870. package/dist/lib/cookie.js +7 -25
  871. package/dist/lib/cookie.js.map +1 -1
  872. package/dist/lib/hexclave-app/api-keys/index.d.ts +2 -53
  873. package/dist/lib/hexclave-app/api-keys/index.js +2 -4
  874. package/dist/lib/hexclave-app/api-keys/index.js.map +1 -1
  875. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts +2 -449
  876. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js +2 -4
  877. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -1
  878. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js +1 -3
  879. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -1
  880. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts +2 -611
  881. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js +7 -8
  882. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
  883. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js +1 -3
  884. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -1
  885. package/dist/lib/hexclave-app/apps/implementations/common.d.ts +2 -66
  886. package/dist/lib/hexclave-app/apps/implementations/common.js +9 -10
  887. package/dist/lib/hexclave-app/apps/implementations/common.js.map +1 -1
  888. package/dist/lib/hexclave-app/apps/implementations/event-tracker.d.ts.map +1 -1
  889. package/dist/lib/hexclave-app/apps/implementations/event-tracker.js +2 -4
  890. package/dist/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -1
  891. package/dist/lib/hexclave-app/apps/implementations/event-tracker.test.js +1 -3
  892. package/dist/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -1
  893. package/dist/lib/hexclave-app/apps/implementations/index.d.ts +1 -3
  894. package/dist/lib/hexclave-app/apps/implementations/index.d.ts.map +1 -1
  895. package/dist/lib/hexclave-app/apps/implementations/index.js +2 -4
  896. package/dist/lib/hexclave-app/apps/implementations/index.js.map +1 -1
  897. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts +2 -35
  898. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.js +2 -4
  899. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -1
  900. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.d.ts +2 -274
  901. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.js +2 -4
  902. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -1
  903. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.d.ts.map +1 -1
  904. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.js +2 -3
  905. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.js.map +1 -1
  906. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js +1 -3
  907. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js.map +1 -1
  908. package/dist/lib/hexclave-app/apps/implementations/session-replay.d.ts +2 -122
  909. package/dist/lib/hexclave-app/apps/implementations/session-replay.js +14 -9
  910. package/dist/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -1
  911. package/dist/lib/hexclave-app/apps/implementations/session-replay.test.js +135 -3
  912. package/dist/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -1
  913. package/dist/lib/hexclave-app/apps/index.d.ts +1 -3
  914. package/dist/lib/hexclave-app/apps/index.js +32 -34
  915. package/dist/lib/hexclave-app/apps/interfaces/admin-app.d.ts +3 -272
  916. package/dist/lib/hexclave-app/apps/interfaces/admin-app.js +3 -6
  917. package/dist/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -1
  918. package/dist/lib/hexclave-app/apps/interfaces/client-app.d.ts +2 -237
  919. package/dist/lib/hexclave-app/apps/interfaces/client-app.js +3 -6
  920. package/dist/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -1
  921. package/dist/lib/hexclave-app/apps/interfaces/server-app.d.ts +2 -174
  922. package/dist/lib/hexclave-app/apps/interfaces/server-app.js +3 -6
  923. package/dist/lib/hexclave-app/apps/interfaces/server-app.js.map +1 -1
  924. package/dist/lib/hexclave-app/common.d.ts +2 -183
  925. package/dist/lib/hexclave-app/common.js +2 -3
  926. package/dist/lib/hexclave-app/common.js.map +1 -1
  927. package/dist/lib/hexclave-app/connected-accounts/index.d.ts +2 -57
  928. package/dist/lib/hexclave-app/contact-channels/index.d.ts +2 -43
  929. package/dist/lib/hexclave-app/contact-channels/index.js +2 -3
  930. package/dist/lib/hexclave-app/contact-channels/index.js.map +1 -1
  931. package/dist/lib/hexclave-app/customers/index.d.ts +2 -129
  932. package/dist/lib/hexclave-app/data-vault/index.d.ts +2 -14
  933. package/dist/lib/hexclave-app/email/index.d.ts +2 -206
  934. package/dist/lib/hexclave-app/email-templates/index.d.ts +2 -17
  935. package/dist/lib/hexclave-app/email-templates/index.js +2 -3
  936. package/dist/lib/hexclave-app/email-templates/index.js.map +1 -1
  937. package/dist/lib/hexclave-app/index.d.ts +10 -15
  938. package/dist/lib/hexclave-app/index.js +49 -51
  939. package/dist/lib/hexclave-app/internal-api-keys/index.d.ts +2 -42
  940. package/dist/lib/hexclave-app/internal-api-keys/index.js +2 -3
  941. package/dist/lib/hexclave-app/internal-api-keys/index.js.map +1 -1
  942. package/dist/lib/hexclave-app/notification-categories/index.d.ts +2 -11
  943. package/dist/lib/hexclave-app/permissions/index.d.ts +2 -43
  944. package/dist/lib/hexclave-app/permissions/index.js +2 -3
  945. package/dist/lib/hexclave-app/permissions/index.js.map +1 -1
  946. package/dist/lib/hexclave-app/plan-usage/index.d.ts +2 -27
  947. package/dist/lib/hexclave-app/project-configs/index.d.ts +2 -106
  948. package/dist/lib/hexclave-app/projects/index.d.ts +2 -154
  949. package/dist/lib/hexclave-app/projects/index.js +6 -3
  950. package/dist/lib/hexclave-app/projects/index.js.map +1 -1
  951. package/dist/lib/hexclave-app/session-replays/index.d.ts +2 -66
  952. package/dist/lib/hexclave-app/teams/index.d.ts +2 -167
  953. package/dist/lib/hexclave-app/teams/index.js +2 -3
  954. package/dist/lib/hexclave-app/teams/index.js.map +1 -1
  955. package/dist/lib/hexclave-app/url-targets.d.ts +2 -39
  956. package/dist/lib/hexclave-app/url-targets.js +3 -5
  957. package/dist/lib/hexclave-app/url-targets.js.map +1 -1
  958. package/dist/lib/hexclave-app/url-targets.test.js +1 -3
  959. package/dist/lib/hexclave-app/url-targets.test.js.map +1 -1
  960. package/dist/lib/hexclave-app/users/index.d.ts +2 -400
  961. package/dist/lib/hexclave-app/users/index.js +2 -4
  962. package/dist/lib/hexclave-app/users/index.js.map +1 -1
  963. package/dist/lib/hooks.d.ts +2 -45
  964. package/dist/lib/hooks.js +2 -4
  965. package/dist/lib/hooks.js.map +1 -1
  966. package/dist/lib/translations.d.ts.map +1 -1
  967. package/dist/lib/translations.js +4 -5
  968. package/dist/lib/translations.js.map +1 -1
  969. package/dist/magic-link-callback-DOfNLydt.d.ts +8 -0
  970. package/dist/magic-link-callback-DOfNLydt.d.ts.map +1 -0
  971. package/dist/magic-link-sign-in-D5MFDeWQ.d.ts +5 -0
  972. package/dist/magic-link-sign-in-D5MFDeWQ.d.ts.map +1 -0
  973. package/dist/message-card-C0AQX5-y.d.ts +18 -0
  974. package/dist/message-card-C0AQX5-y.d.ts.map +1 -0
  975. package/dist/mfa-CwYuxAd-.d.ts +9 -0
  976. package/dist/mfa-CwYuxAd-.d.ts.map +1 -0
  977. package/dist/oauth-button-PE3z60ay.d.ts +15 -0
  978. package/dist/oauth-button-PE3z60ay.d.ts.map +1 -0
  979. package/dist/oauth-button-group-slCOrSxK.d.ts +17 -0
  980. package/dist/oauth-button-group-slCOrSxK.d.ts.map +1 -0
  981. package/dist/oauth-callback-tCVTRbF2.d.ts +9 -0
  982. package/dist/oauth-callback-tCVTRbF2.d.ts.map +1 -0
  983. package/dist/onboarding-CdpQNCZF.d.ts +7 -0
  984. package/dist/onboarding-CdpQNCZF.d.ts.map +1 -0
  985. package/dist/password-reset-CxIuXeIx.d.ts +15 -0
  986. package/dist/password-reset-CxIuXeIx.d.ts.map +1 -0
  987. package/dist/providers/hexclave-context.d.ts +1 -1
  988. package/dist/providers/hexclave-context.d.ts.map +1 -1
  989. package/dist/providers/hexclave-context.js +5 -8
  990. package/dist/providers/hexclave-context.js.map +1 -1
  991. package/dist/providers/hexclave-provider-client.d.ts +2 -3
  992. package/dist/providers/hexclave-provider-client.d.ts.map +1 -1
  993. package/dist/providers/hexclave-provider-client.js +4 -6
  994. package/dist/providers/hexclave-provider-client.js.map +1 -1
  995. package/dist/providers/hexclave-provider.d.ts +2 -32
  996. package/dist/providers/hexclave-provider.js +7 -5
  997. package/dist/providers/hexclave-provider.js.map +1 -1
  998. package/dist/providers/theme-provider.d.ts +2 -50
  999. package/dist/providers/theme-provider.js +6 -8
  1000. package/dist/providers/theme-provider.js.map +1 -1
  1001. package/dist/providers/translation-provider-client.d.ts +1 -2
  1002. package/dist/providers/translation-provider-client.d.ts.map +1 -1
  1003. package/dist/providers/translation-provider-client.js +5 -8
  1004. package/dist/providers/translation-provider-client.js.map +1 -1
  1005. package/dist/providers/translation-provider.d.ts +2 -16
  1006. package/dist/providers/translation-provider.js +2 -4
  1007. package/dist/providers/translation-provider.js.map +1 -1
  1008. package/dist/pushed-config-error-overlay/index.d.ts +1 -2
  1009. package/dist/pushed-config-error-overlay/index.d.ts.map +1 -1
  1010. package/dist/pushed-config-error-overlay/index.js +2 -4
  1011. package/dist/pushed-config-error-overlay/index.js.map +1 -1
  1012. package/dist/pushed-config-error-overlay/index.test.js +1 -3
  1013. package/dist/pushed-config-error-overlay/index.test.js.map +1 -1
  1014. package/dist/quetzal-translations-XeH3zQ9l.d.ts +6 -0
  1015. package/dist/quetzal-translations-XeH3zQ9l.d.ts.map +1 -0
  1016. package/dist/redirect-page-urls-NUHUchgR.d.ts +35 -0
  1017. package/dist/redirect-page-urls-NUHUchgR.d.ts.map +1 -0
  1018. package/dist/{chunk-BE-pF4vm.js → rolldown-runtime-D6vf50IK.js} +12 -18
  1019. package/dist/session-replay-CQ849yH1.d.ts +122 -0
  1020. package/dist/session-replay-CQ849yH1.d.ts.map +1 -0
  1021. package/dist/sign-in-BT45jb_W.d.ts +21 -0
  1022. package/dist/sign-in-BT45jb_W.d.ts.map +1 -0
  1023. package/dist/sign-out-DBnSkfDz.d.ts +8 -0
  1024. package/dist/sign-out-DBnSkfDz.d.ts.map +1 -0
  1025. package/dist/sign-up-BjE_0DB4.d.ts +11 -0
  1026. package/dist/sign-up-BjE_0DB4.d.ts.map +1 -0
  1027. package/dist/{storage-ksajV_p6.d.ts → storage-kputlpQY.d.ts} +1 -1
  1028. package/dist/storage-kputlpQY.d.ts.map +1 -0
  1029. package/dist/tanstack-start-server-context.d.ts +2635 -2
  1030. package/dist/tanstack-start-server-context.d.ts.map +1 -1
  1031. package/dist/team-invitation-B5Ol7vdd.d.ts +11 -0
  1032. package/dist/team-invitation-B5Ol7vdd.d.ts.map +1 -0
  1033. package/dist/theme-provider-D9_ngSbi.d.ts +49 -0
  1034. package/dist/theme-provider-D9_ngSbi.d.ts.map +1 -0
  1035. package/dist/translation-provider-WOaZXqAz.d.ts +15 -0
  1036. package/dist/translation-provider-WOaZXqAz.d.ts.map +1 -0
  1037. package/dist/url-targets-CWO0mjTr.d.ts +39 -0
  1038. package/dist/url-targets-CWO0mjTr.d.ts.map +1 -0
  1039. package/dist/user-avatar-CTyDsibI.d.ts +13 -0
  1040. package/dist/user-avatar-CTyDsibI.d.ts.map +1 -0
  1041. package/dist/user-button-CykqVKoH.d.ts +21 -0
  1042. package/dist/user-button-CykqVKoH.d.ts.map +1 -0
  1043. package/dist/utils/browser-script.d.ts +1 -3
  1044. package/dist/utils/browser-script.d.ts.map +1 -1
  1045. package/dist/utils/browser-script.js +2 -4
  1046. package/dist/utils/browser-script.js.map +1 -1
  1047. package/dist/utils/constants.js +2 -3
  1048. package/dist/utils/constants.js.map +1 -1
  1049. package/dist/utils/url.d.ts.map +1 -1
  1050. package/dist/utils/url.js +2 -4
  1051. package/dist/utils/url.js.map +1 -1
  1052. package/package.json +6 -6
  1053. package/src/lib/hexclave-app/apps/implementations/session-replay.test.ts +160 -1
  1054. package/src/lib/hexclave-app/apps/implementations/session-replay.ts +38 -12
  1055. package/dist/components/credential-sign-in.d.ts.map +0 -1
  1056. package/dist/components/credential-sign-up.d.ts.map +0 -1
  1057. package/dist/components/elements/user-avatar.d.ts.map +0 -1
  1058. package/dist/components/magic-link-sign-in.d.ts.map +0 -1
  1059. package/dist/components/message-cards/message-card.d.ts.map +0 -1
  1060. package/dist/components/oauth-button-group.d.ts.map +0 -1
  1061. package/dist/components/oauth-button.d.ts.map +0 -1
  1062. package/dist/components/selected-team-switcher.d.ts.map +0 -1
  1063. package/dist/components/team-switcher.d.ts.map +0 -1
  1064. package/dist/components/user-button.d.ts.map +0 -1
  1065. package/dist/components-page/account-settings.d.ts.map +0 -1
  1066. package/dist/components-page/auth-page.d.ts.map +0 -1
  1067. package/dist/components-page/cli-auth-confirm.d.ts.map +0 -1
  1068. package/dist/components-page/email-verification.d.ts.map +0 -1
  1069. package/dist/components-page/error-page.d.ts.map +0 -1
  1070. package/dist/components-page/forgot-password.d.ts.map +0 -1
  1071. package/dist/components-page/hexclave-handler-client.d.ts.map +0 -1
  1072. package/dist/components-page/hexclave-handler.d.ts.map +0 -1
  1073. package/dist/components-page/magic-link-callback.d.ts.map +0 -1
  1074. package/dist/components-page/mfa.d.ts.map +0 -1
  1075. package/dist/components-page/oauth-callback.d.ts.map +0 -1
  1076. package/dist/components-page/onboarding.d.ts.map +0 -1
  1077. package/dist/components-page/password-reset.d.ts.map +0 -1
  1078. package/dist/components-page/sign-in.d.ts.map +0 -1
  1079. package/dist/components-page/sign-out.d.ts.map +0 -1
  1080. package/dist/components-page/sign-up.d.ts.map +0 -1
  1081. package/dist/components-page/team-invitation.d.ts.map +0 -1
  1082. package/dist/generated/quetzal-translations.d.ts.map +0 -1
  1083. package/dist/integrations/convex.d.ts.map +0 -1
  1084. package/dist/lib/cookie.d.ts.map +0 -1
  1085. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +0 -1
  1086. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +0 -1
  1087. package/dist/lib/hexclave-app/apps/implementations/common.d.ts.map +0 -1
  1088. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts.map +0 -1
  1089. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.d.ts.map +0 -1
  1090. package/dist/lib/hexclave-app/apps/implementations/session-replay.d.ts.map +0 -1
  1091. package/dist/lib/hexclave-app/apps/interfaces/admin-app.d.ts.map +0 -1
  1092. package/dist/lib/hexclave-app/apps/interfaces/client-app.d.ts.map +0 -1
  1093. package/dist/lib/hexclave-app/apps/interfaces/server-app.d.ts.map +0 -1
  1094. package/dist/lib/hexclave-app/common.d.ts.map +0 -1
  1095. package/dist/lib/hexclave-app/contact-channels/index.d.ts.map +0 -1
  1096. package/dist/lib/hexclave-app/customers/index.d.ts.map +0 -1
  1097. package/dist/lib/hexclave-app/data-vault/index.d.ts.map +0 -1
  1098. package/dist/lib/hexclave-app/email/index.d.ts.map +0 -1
  1099. package/dist/lib/hexclave-app/email-templates/index.d.ts.map +0 -1
  1100. package/dist/lib/hexclave-app/internal-api-keys/index.d.ts.map +0 -1
  1101. package/dist/lib/hexclave-app/notification-categories/index.d.ts.map +0 -1
  1102. package/dist/lib/hexclave-app/permissions/index.d.ts.map +0 -1
  1103. package/dist/lib/hexclave-app/plan-usage/index.d.ts.map +0 -1
  1104. package/dist/lib/hexclave-app/project-configs/index.d.ts.map +0 -1
  1105. package/dist/lib/hexclave-app/projects/index.d.ts.map +0 -1
  1106. package/dist/lib/hexclave-app/session-replays/index.d.ts.map +0 -1
  1107. package/dist/lib/hexclave-app/teams/index.d.ts.map +0 -1
  1108. package/dist/lib/hexclave-app/url-targets.d.ts.map +0 -1
  1109. package/dist/lib/hexclave-app/users/index.d.ts.map +0 -1
  1110. package/dist/lib/hooks.d.ts.map +0 -1
  1111. package/dist/providers/hexclave-provider.d.ts.map +0 -1
  1112. package/dist/providers/theme-provider.d.ts.map +0 -1
  1113. package/dist/providers/translation-provider.d.ts.map +0 -1
  1114. package/dist/storage-ksajV_p6.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"admin-app-impl.js","names":["_HexclaveServerAppImplIncomplete","HexclaveAdminInterface","HexclaveAssertionError","Result","hexclaveAppInternalsSymbol","KnownErrors"],"sources":["../../../../../src/lib/hexclave-app/apps/implementations/admin-app-impl.ts"],"sourcesContent":["\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\nimport { KnownErrors, HexclaveAdminInterface } from \"@hexclave/shared\";\nimport { getProductionModeErrors } from \"@hexclave/shared/dist/helpers/production-mode\";\nimport { InternalApiKeyCreateCrudResponse } from \"@hexclave/shared/dist/interface/admin-interface\";\nimport type { AnalyticsClickmapOptions, AnalyticsClickmapResponse, AnalyticsClickmapTokenResponse, MetricsResponse, MetricsUserCounts, UserActivityResponse } from \"@hexclave/shared/dist/interface/admin-metrics\";\nimport { AnalyticsQueryOptions, AnalyticsQueryResponse } from \"@hexclave/shared/dist/interface/crud/analytics\";\nimport { EmailTemplateCrud } from \"@hexclave/shared/dist/interface/crud/email-templates\";\nimport { InternalApiKeysCrud } from \"@hexclave/shared/dist/interface/crud/internal-api-keys\";\nimport { ProjectsCrud } from \"@hexclave/shared/dist/interface/crud/projects\";\nimport type { AdminGetSessionReplayChunkEventsResponse } from \"@hexclave/shared/dist/interface/crud/session-replays\";\nimport type { Transaction, TransactionType } from \"@hexclave/shared/dist/interface/crud/transactions\";\nimport type { RestrictedReason } from \"@hexclave/shared/dist/schema-fields\";\nimport type { MoneyAmount } from \"@hexclave/shared/dist/utils/currency-constants\";\nimport { HexclaveAssertionError, throwErr } from \"@hexclave/shared/dist/utils/errors\";\nimport type { Json } from \"@hexclave/shared/dist/utils/json\";\nimport { pick, typedEntries, typedValues } from \"@hexclave/shared/dist/utils/objects\";\nimport { Result } from \"@hexclave/shared/dist/utils/results\";\nimport { useMemo } from \"react\"; // THIS_LINE_PLATFORM react-like\nimport { AdminEmailOutbox, AdminSentEmail } from \"../..\";\nimport { EmailConfig, hexclaveAppInternalsSymbol } from \"../../common\";\nimport { AdminEmailTemplate } from \"../../email-templates\";\nimport { InternalApiKey, InternalApiKeyBase, InternalApiKeyBaseCrudRead, InternalApiKeyCreateOptions, InternalApiKeyFirstView, internalApiKeyCreateOptionsToCrud } from \"../../internal-api-keys\";\nimport { AdminProjectPermission, AdminProjectPermissionDefinition, AdminProjectPermissionDefinitionCreateOptions, AdminProjectPermissionDefinitionUpdateOptions, AdminTeamPermission, AdminTeamPermissionDefinition, AdminTeamPermissionDefinitionCreateOptions, AdminTeamPermissionDefinitionUpdateOptions, adminProjectPermissionDefinitionCreateOptionsToCrud, adminProjectPermissionDefinitionUpdateOptionsToCrud, adminTeamPermissionDefinitionCreateOptionsToCrud, adminTeamPermissionDefinitionUpdateOptionsToCrud } from \"../../permissions\";\nimport type { PlanUsage } from \"../../plan-usage\";\nimport { AdminOwnedProject, AdminProject, AdminProjectUpdateOptions, PushConfigOptions, adminProjectUpdateOptionsToCrud } from \"../../projects\";\nimport type { AdminSessionReplay, AdminSessionReplayChunk, ListSessionReplayChunksOptions, ListSessionReplayChunksResult, ListSessionReplaysOptions, ListSessionReplaysResult, SessionReplayAllEventsResult } from \"../../session-replays\";\nimport { ManagedEmailProviderListItem, ManagedEmailProviderSetupResult, ManagedEmailProviderStatus, EmailOutboxUpdateOptions, StackAdminApp, StackAdminAppConstructorOptions } from \"../interfaces/admin-app\";\nimport { clientVersion, createCache, getDefaultExtraRequestHeaders, getDefaultProjectId, getDefaultPublishableClientKey, getDefaultSecretServerKey, getDefaultSuperSecretAdminKey, resolveApiUrls, resolveConstructorOptions } from \"./common\";\nimport { _HexclaveServerAppImplIncomplete } from \"./server-app-impl\";\n\nimport { CompleteConfig, EnvironmentConfigOverrideOverride } from \"@hexclave/shared/dist/config/schema\";\nimport { branchConfigSourceSchema } from \"@hexclave/shared/dist/schema-fields\";\nimport * as yup from \"yup\";\nimport { PushedConfigSource } from \"../../projects\";\nimport { useAsyncCache } from \"./common\"; // THIS_LINE_PLATFORM react-like\n\ntype BranchConfigSourceApi = yup.InferType<typeof branchConfigSourceSchema>;\ntype PlanUsageResponse = Awaited<ReturnType<HexclaveAdminInterface[\"getPlanUsage\"]>>;\n/**\n * Converts a PushedConfigSource (SDK camelCase) to BranchConfigSourceApi (API snake_case).\n */\nfunction pushedConfigSourceToApi(source: PushedConfigSource): BranchConfigSourceApi {\n if (source.type === \"pushed-from-github\") {\n return {\n type: \"pushed-from-github\",\n owner: source.owner,\n repo: source.repo,\n branch: source.branch,\n commit_hash: source.commitHash,\n config_file_path: source.configFilePath,\n workflow_path: source.workflowPath,\n };\n }\n return source;\n}\n\n/**\n * Converts a BranchConfigSourceApi (API snake_case) to PushedConfigSource (SDK camelCase).\n */\nfunction apiToPushedConfigSource(source: BranchConfigSourceApi): PushedConfigSource {\n if (source.type === \"pushed-from-github\") {\n return {\n type: \"pushed-from-github\",\n owner: source.owner,\n repo: source.repo,\n branch: source.branch,\n commitHash: source.commit_hash,\n configFilePath: source.config_file_path,\n workflowPath: source.workflow_path,\n };\n }\n return source;\n}\n\nexport class _HexclaveAdminAppImplIncomplete<HasTokenStore extends boolean, ProjectId extends string> extends _HexclaveServerAppImplIncomplete<HasTokenStore, ProjectId> implements StackAdminApp<HasTokenStore, ProjectId> {\n declare protected _interface: HexclaveAdminInterface;\n\n private readonly _adminProjectCache = createCache(async () => {\n return await this._interface.getProject();\n });\n private readonly _planUsageCache = createCache(async () => {\n return await this._interface.getPlanUsage();\n });\n private readonly _internalApiKeysCache = createCache(async () => {\n const res = await this._interface.listInternalApiKeys();\n return res;\n });\n private readonly _adminEmailThemeCache = createCache(async ([id]: [string]) => {\n return await this._interface.getEmailTheme(id);\n });\n private readonly _adminEmailThemesCache = createCache(async () => {\n return await this._interface.listEmailThemes();\n });\n private readonly _adminEmailTemplatesCache = createCache(async () => {\n return await this._interface.listInternalEmailTemplates();\n });\n private readonly _adminEmailDraftsCache = createCache(async () => {\n return await this._interface.listInternalEmailDrafts();\n });\n private readonly _adminTeamPermissionDefinitionsCache = createCache(async () => {\n return await this._interface.listTeamPermissionDefinitions();\n });\n private readonly _adminProjectPermissionDefinitionsCache = createCache(async () => {\n return await this._interface.listProjectPermissionDefinitions();\n });\n private readonly _svixTokenCache = createCache(async () => {\n return await this._interface.getSvixToken();\n });\n // Cache key serializes filters via URLSearchParams (sorted keys) so\n // DependenciesMap (identity-keyed per array slot) treats two equal\n // filter objects as the same deterministic string entry.\n private readonly _metricsCache = createCache(async ([includeAnonymous, filtersKey]: [boolean, string]) => {\n const filters = filtersKey ? Object.fromEntries(new URLSearchParams(filtersKey)) : undefined;\n return await this._interface.getMetrics(includeAnonymous, filters);\n });\n private readonly _userActivityCache = createCache(async ([userId]: [string]) => {\n return await this._interface.getUserActivity(userId);\n });\n private readonly _metricsUserCountsCache = createCache(async () => {\n return await this._interface.getMetricsUserCounts();\n });\n private readonly _emailPreviewCache = createCache(async ([themeId, themeTsxSource, templateId, templateTsxSource]: [string | null | false | undefined, string | undefined, string | undefined, string | undefined]) => {\n return await this._interface.renderEmailPreview({ themeId, themeTsxSource, templateId, templateTsxSource });\n });\n private readonly _emailPreviewWithEditableMarkersCache = createCache(async ([themeId, themeTsxSource, templateId, templateTsxSource, editableSource]: [string | null | false | undefined, string | undefined, string | undefined, string | undefined, 'template' | 'theme' | 'both' | undefined]) => {\n return await this._interface.renderEmailPreview({ themeId, themeTsxSource, templateId, templateTsxSource, editableMarkers: true, editableSource });\n });\n private readonly _configOverridesCache = createCache(async () => {\n return await this._interface.getConfig();\n });\n private readonly _stripeAccountInfoCache = createCache(async () => {\n try {\n return await this._interface.getStripeAccountInfo();\n } catch (error: any) {\n if (error?.status === 404) {\n return null;\n }\n throw error;\n }\n });\n private readonly _transactionsCache = createCache(async ([cursor, limit, type, customerType, customerId]: [string | undefined, number | undefined, TransactionType | undefined, 'user' | 'team' | 'custom' | undefined, string | undefined]) => {\n return await this._interface.listTransactions({ cursor, limit, type, customerType, customerId });\n });\n\n constructor(options: StackAdminAppConstructorOptions<HasTokenStore, ProjectId>, extraOptions?: { uniqueIdentifier?: string, checkString?: string, interface?: HexclaveAdminInterface }) {\n const resolvedOptions = resolveConstructorOptions(options);\n\n const publishableClientKey = resolvedOptions.publishableClientKey ?? getDefaultPublishableClientKey();\n\n super(resolvedOptions, {\n ...extraOptions,\n interface: extraOptions?.interface ?? (() => {\n const apiUrls = resolveApiUrls(resolvedOptions.baseUrl);\n return new HexclaveAdminInterface({\n getBaseUrl: () => apiUrls()[0],\n getApiUrls: apiUrls,\n projectId: resolvedOptions.projectId ?? getDefaultProjectId(),\n extraRequestHeaders: resolvedOptions.extraRequestHeaders ?? getDefaultExtraRequestHeaders(),\n clientVersion,\n ...resolvedOptions.projectOwnerSession ? {\n projectOwnerSession: resolvedOptions.projectOwnerSession,\n } : {\n ...(publishableClientKey ? { publishableClientKey } : {}),\n secretServerKey: resolvedOptions.secretServerKey ?? getDefaultSecretServerKey(),\n superSecretAdminKey: resolvedOptions.superSecretAdminKey ?? getDefaultSuperSecretAdminKey(),\n },\n });\n })(),\n });\n }\n\n _adminConfigFromCrud(data: { config_string: string }): CompleteConfig {\n return JSON.parse(data.config_string);\n }\n\n _adminOwnedProjectFromCrud(data: ProjectsCrud['Admin']['Read'], onRefresh: () => Promise<void>): AdminOwnedProject {\n if (this._tokenStoreInit !== null) {\n throw new HexclaveAssertionError(\"Owned apps must always have tokenStore === null — did you not create this project with app._createOwnedApp()?\");\n }\n return {\n ...this._adminProjectFromCrud(data, onRefresh),\n app: this as StackAdminApp<false>,\n };\n }\n\n _adminProjectFromCrud(data: ProjectsCrud['Admin']['Read'], onRefresh: () => Promise<void>): AdminProject {\n if (data.id !== this.projectId) {\n throw new HexclaveAssertionError(`The project ID of the provided project JSON (${data.id}) does not match the project ID of the app (${this.projectId})!`);\n }\n\n const app = this;\n return {\n id: data.id,\n displayName: data.display_name,\n description: data.description,\n createdAt: new Date(data.created_at_millis),\n isProductionMode: data.is_production_mode,\n isDevelopmentEnvironment: data.is_development_environment,\n ownerTeamId: data.owner_team_id,\n onboardingStatus: data.onboarding_status,\n onboardingState: data.onboarding_state ?? null,\n logoUrl: data.logo_url,\n logoFullUrl: data.logo_full_url,\n logoDarkModeUrl: data.logo_dark_mode_url,\n logoFullDarkModeUrl: data.logo_full_dark_mode_url,\n pushedConfigError: data.pushed_config_error == null ? null : {\n message: data.pushed_config_error.message,\n },\n configWarnings: data.config_warnings.map((warning) => ({\n message: warning.message,\n })),\n config: {\n signUpEnabled: data.config.sign_up_enabled,\n credentialEnabled: data.config.credential_enabled,\n magicLinkEnabled: data.config.magic_link_enabled,\n passkeyEnabled: data.config.passkey_enabled,\n clientTeamCreationEnabled: data.config.client_team_creation_enabled,\n clientUserDeletionEnabled: data.config.client_user_deletion_enabled,\n allowLocalhost: data.config.allow_localhost,\n oauthAccountMergeStrategy: data.config.oauth_account_merge_strategy,\n allowUserApiKeys: data.config.allow_user_api_keys,\n allowTeamApiKeys: data.config.allow_team_api_keys,\n oauthProviders: data.config.oauth_providers.map((p) => ((p.type === 'shared' ? {\n id: p.id,\n type: 'shared',\n } as const : {\n id: p.id,\n type: 'standard',\n clientId: p.client_id ?? throwErr(\"Client ID is missing\"),\n clientSecret: p.client_secret ?? throwErr(\"Client secret is missing\"),\n facebookConfigId: p.facebook_config_id,\n microsoftTenantId: p.microsoft_tenant_id,\n appleBundleIds: p.apple_bundle_ids,\n } as const))),\n emailConfig: data.config.email_config.type === 'shared' ? {\n type: 'shared'\n } : {\n type: 'standard',\n host: data.config.email_config.host ?? throwErr(\"Email host is missing\"),\n port: data.config.email_config.port ?? throwErr(\"Email port is missing\"),\n username: data.config.email_config.username ?? throwErr(\"Email username is missing\"),\n password: data.config.email_config.password ?? throwErr(\"Email password is missing\"),\n senderName: data.config.email_config.sender_name ?? throwErr(\"Email sender name is missing\"),\n senderEmail: data.config.email_config.sender_email ?? throwErr(\"Email sender email is missing\"),\n },\n emailTheme: data.config.email_theme,\n domains: data.config.domains.map((d) => ({\n domain: d.domain,\n handlerPath: d.handler_path,\n })),\n createTeamOnSignUp: data.config.create_team_on_sign_up,\n teamCreatorDefaultPermissions: data.config.team_creator_default_permissions,\n teamMemberDefaultPermissions: data.config.team_member_default_permissions,\n userDefaultPermissions: data.config.user_default_permissions,\n },\n async getConfig() {\n return app._adminConfigFromCrud(await app._interface.getConfig());\n },\n useConfig() {\n const config = useAsyncCache(app._configOverridesCache, [], \"project.useConfig()\");\n return useMemo(() => app._adminConfigFromCrud(config), [config]);\n },\n async updateConfig(configOverride: EnvironmentConfigOverrideOverride) {\n await app._interface.updateConfigOverride(\"environment\", configOverride);\n await app._refreshProjectConfig();\n },\n async pushConfig(config: EnvironmentConfigOverrideOverride, options: PushConfigOptions) {\n await app._interface.setConfigOverride(\"branch\", config, pushedConfigSourceToApi(options.source));\n await app._refreshProjectConfig();\n },\n async updatePushedConfig(config: EnvironmentConfigOverrideOverride) {\n await app._interface.updateConfigOverride(\"branch\", config);\n await app._refreshProjectConfig();\n },\n async getPushedConfigSource(): Promise<PushedConfigSource> {\n const apiSource = await app._interface.getPushedConfigSource();\n return apiToPushedConfigSource(apiSource);\n },\n async unlinkPushedConfigSource(): Promise<void> {\n await app._interface.unlinkPushedConfigSource();\n await app._refreshProjectConfig();\n },\n async resetConfigOverrideKeys(level: \"branch\" | \"environment\", keys: string[]): Promise<void> {\n await app._interface.resetConfigOverrideKeys(level, keys);\n await app._refreshProjectConfig();\n },\n async getConfigOverride(level: \"branch\" | \"environment\"): Promise<Record<string, unknown>> {\n const result = await app._interface.getConfigOverride(level);\n return JSON.parse(result.config_string);\n },\n async replaceConfigOverride(level: \"branch\" | \"environment\", config: Record<string, unknown>): Promise<void> {\n if (level === \"branch\") {\n const source = await app._interface.getPushedConfigSource();\n await app._interface.setConfigOverride(level, config, source);\n } else {\n await app._interface.setConfigOverride(level, config);\n }\n await app._refreshProjectConfig();\n },\n async update(update: AdminProjectUpdateOptions) {\n const { requirePublishableClientKey, ...projectUpdate } = update;\n const updateOptions = adminProjectUpdateOptionsToCrud(projectUpdate);\n const hasConfigUpdate = !!updateOptions.config\n && typedValues(updateOptions.config).some((value) => value !== undefined);\n const hasProjectUpdate = typedEntries(updateOptions).some(([key, value]) => {\n if (key === \"config\") return hasConfigUpdate;\n return value !== undefined;\n });\n\n if (hasProjectUpdate) {\n await app._interface.updateProject(updateOptions);\n await onRefresh();\n }\n\n if (requirePublishableClientKey !== undefined) {\n await app._interface.updateConfigOverride(\"project\", {\n \"project.requirePublishableClientKey\": requirePublishableClientKey,\n });\n await app._refreshProjectConfig();\n }\n },\n async delete() {\n await app._interface.deleteProject();\n },\n async getProductionModeErrors() {\n return getProductionModeErrors(data);\n },\n useProductionModeErrors() {\n return getProductionModeErrors(data);\n },\n };\n }\n\n _adminEmailTemplateFromCrud(data: EmailTemplateCrud['Admin']['Read']): AdminEmailTemplate {\n return {\n type: data.type,\n subject: data.subject,\n content: data.content,\n isDefault: data.is_default,\n };\n }\n\n _planUsageFromCrud(data: PlanUsageResponse): PlanUsage {\n return {\n ownerTeamId: data.owner_team_id,\n ownerTeamDisplayName: data.owner_team_display_name,\n planId: data.plan_id,\n planDisplayName: data.plan_display_name,\n periodStart: new Date(data.period_start_millis),\n periodEnd: new Date(data.period_end_millis),\n nextPlanId: data.next_plan_id,\n rows: data.rows.map((row) => ({\n itemId: row.item_id,\n displayName: row.display_name,\n kind: row.kind,\n used: row.used,\n limit: row.limit,\n remaining: row.remaining,\n overage: row.overage,\n isUnlimited: row.is_unlimited,\n })),\n };\n }\n\n override async getProject(): Promise<AdminProject> {\n return this._adminProjectFromCrud(\n Result.orThrow(await this._adminProjectCache.getOrWait([], \"write-only\")),\n () => this._refreshProject()\n );\n }\n\n override useProject(): AdminProject {\n const crud = useAsyncCache(this._adminProjectCache, [], \"adminApp.useProject()\");\n return useMemo(() => this._adminProjectFromCrud(\n crud,\n () => this._refreshProject()\n ), [crud]);\n }\n\n async getPlanUsage(): Promise<PlanUsage> {\n return this._planUsageFromCrud(Result.orThrow(await this._planUsageCache.getOrWait([], \"write-only\")));\n }\n\n usePlanUsage(): PlanUsage {\n const crud = useAsyncCache(this._planUsageCache, [], \"adminApp.usePlanUsage()\");\n return useMemo(() => this._planUsageFromCrud(crud), [crud]);\n }\n\n protected _createInternalApiKeyBaseFromCrud(data: InternalApiKeyBaseCrudRead): InternalApiKeyBase {\n const app = this;\n return {\n id: data.id,\n description: data.description,\n expiresAt: new Date(data.expires_at_millis),\n manuallyRevokedAt: data.manually_revoked_at_millis ? new Date(data.manually_revoked_at_millis) : null,\n createdAt: new Date(data.created_at_millis),\n isValid() {\n return this.whyInvalid() === null;\n },\n whyInvalid() {\n if (this.expiresAt.getTime() < Date.now()) return \"expired\";\n if (this.manuallyRevokedAt) return \"manually-revoked\";\n return null;\n },\n async revoke() {\n const res = await app._interface.revokeInternalApiKeyById(data.id);\n await app._refreshInternalApiKeys();\n return res;\n }\n };\n }\n\n protected _createInternalApiKeyFromCrud(data: InternalApiKeysCrud[\"Admin\"][\"Read\"]): InternalApiKey {\n return {\n ...this._createInternalApiKeyBaseFromCrud(data),\n publishableClientKey: data.publishable_client_key ? { lastFour: data.publishable_client_key.last_four } : null,\n secretServerKey: data.secret_server_key ? { lastFour: data.secret_server_key.last_four } : null,\n superSecretAdminKey: data.super_secret_admin_key ? { lastFour: data.super_secret_admin_key.last_four } : null,\n };\n }\n\n protected _createInternalApiKeyFirstViewFromCrud(data: InternalApiKeyCreateCrudResponse): InternalApiKeyFirstView {\n return {\n ...this._createInternalApiKeyBaseFromCrud(data),\n publishableClientKey: data.publishable_client_key,\n secretServerKey: data.secret_server_key,\n superSecretAdminKey: data.super_secret_admin_key,\n };\n }\n\n async listInternalApiKeys(): Promise<InternalApiKey[]> {\n const crud = Result.orThrow(await this._internalApiKeysCache.getOrWait([], \"write-only\"));\n return crud.map((j) => this._createInternalApiKeyFromCrud(j));\n }\n\n useInternalApiKeys(): InternalApiKey[] {\n const crud = useAsyncCache(this._internalApiKeysCache, [], \"adminApp.useInternalApiKeys()\");\n return useMemo(() => {\n return crud.map((j) => this._createInternalApiKeyFromCrud(j));\n }, [crud]);\n }\n\n async createInternalApiKey(options: InternalApiKeyCreateOptions): Promise<InternalApiKeyFirstView> {\n const crud = await this._interface.createInternalApiKey(internalApiKeyCreateOptionsToCrud(options));\n await this._refreshInternalApiKeys();\n return this._createInternalApiKeyFirstViewFromCrud(crud);\n }\n\n\n useEmailThemes(): { id: string, displayName: string }[] {\n const crud = useAsyncCache(this._adminEmailThemesCache, [], \"adminApp.useEmailThemes()\");\n return useMemo(() => {\n return crud.map((theme) => ({\n id: theme.id,\n displayName: theme.display_name,\n }));\n }, [crud]);\n }\n useEmailTemplates(): { id: string, displayName: string, themeId?: string, tsxSource: string }[] {\n const crud = useAsyncCache(this._adminEmailTemplatesCache, [], \"adminApp.useEmailTemplates()\");\n return useMemo(() => {\n return crud.map((template) => ({\n id: template.id,\n displayName: template.display_name,\n themeId: template.theme_id,\n tsxSource: template.tsx_source,\n }));\n }, [crud]);\n }\n useEmailDrafts(): { id: string, displayName: string, themeId: string | undefined | false, tsxSource: string, sentAt: Date | null }[] {\n const crud = useAsyncCache(this._adminEmailDraftsCache, [], \"adminApp.useEmailDrafts()\");\n return useMemo(() => {\n return crud.map((draft) => ({\n id: draft.id,\n displayName: draft.display_name,\n themeId: draft.theme_id,\n tsxSource: draft.tsx_source,\n sentAt: draft.sent_at_millis ? new Date(draft.sent_at_millis) : null,\n }));\n }, [crud]);\n }\n async listEmailThemes(): Promise<{ id: string, displayName: string }[]> {\n const crud = Result.orThrow(await this._adminEmailThemesCache.getOrWait([], \"write-only\"));\n return crud.map((theme) => ({\n id: theme.id,\n displayName: theme.display_name,\n }));\n }\n\n async listEmailTemplates(): Promise<{ id: string, displayName: string, themeId?: string, tsxSource: string }[]> {\n const crud = Result.orThrow(await this._adminEmailTemplatesCache.getOrWait([], \"write-only\"));\n return crud.map((template) => ({\n id: template.id,\n displayName: template.display_name,\n themeId: template.theme_id,\n tsxSource: template.tsx_source,\n }));\n }\n\n async listEmailDrafts(): Promise<{ id: string, displayName: string, themeId: string | undefined | false, tsxSource: string, sentAt: Date | null }[]> {\n const crud = Result.orThrow(await this._adminEmailDraftsCache.getOrWait([], \"write-only\"));\n return crud.map((draft) => ({\n id: draft.id,\n displayName: draft.display_name,\n themeId: draft.theme_id,\n tsxSource: draft.tsx_source,\n sentAt: draft.sent_at_millis ? new Date(draft.sent_at_millis) : null,\n }));\n }\n\n\n async createTeamPermissionDefinition(data: AdminTeamPermissionDefinitionCreateOptions): Promise<AdminTeamPermission> {\n const crud = await this._interface.createTeamPermissionDefinition(adminTeamPermissionDefinitionCreateOptionsToCrud(data));\n await this._adminTeamPermissionDefinitionsCache.refresh([]);\n return this._serverTeamPermissionDefinitionFromCrud(crud);\n }\n\n async updateTeamPermissionDefinition(permissionId: string, data: AdminTeamPermissionDefinitionUpdateOptions) {\n await this._interface.updateTeamPermissionDefinition(permissionId, adminTeamPermissionDefinitionUpdateOptionsToCrud(data));\n await this._adminTeamPermissionDefinitionsCache.refresh([]);\n }\n\n async deleteTeamPermissionDefinition(permissionId: string): Promise<void> {\n await this._interface.deleteTeamPermissionDefinition(permissionId);\n await this._adminTeamPermissionDefinitionsCache.refresh([]);\n }\n\n async listTeamPermissionDefinitions(): Promise<AdminTeamPermissionDefinition[]> {\n const crud = Result.orThrow(await this._adminTeamPermissionDefinitionsCache.getOrWait([], \"write-only\"));\n return crud.map((p) => this._serverTeamPermissionDefinitionFromCrud(p));\n }\n\n async listTeamPermissionDefinitionsPaginated(\n options: { limit: number, cursor?: string, query?: string },\n ): Promise<{ items: AdminTeamPermissionDefinition[], nextCursor: string | null }> {\n const result = await this._interface.listTeamPermissionDefinitionsPaginated(options);\n return {\n items: result.items.map((p) => this._serverTeamPermissionDefinitionFromCrud(p)),\n nextCursor: result.nextCursor,\n };\n }\n\n useTeamPermissionDefinitions(): AdminTeamPermissionDefinition[] {\n const crud = useAsyncCache(this._adminTeamPermissionDefinitionsCache, [], \"adminApp.useTeamPermissionDefinitions()\");\n return useMemo(() => {\n return crud.map((p) => this._serverTeamPermissionDefinitionFromCrud(p));\n }, [crud]);\n }\n\n async createProjectPermissionDefinition(data: AdminProjectPermissionDefinitionCreateOptions): Promise<AdminProjectPermission> {\n const crud = await this._interface.createProjectPermissionDefinition(adminProjectPermissionDefinitionCreateOptionsToCrud(data));\n await this._adminProjectPermissionDefinitionsCache.refresh([]);\n return this._serverProjectPermissionDefinitionFromCrud(crud);\n }\n\n async updateProjectPermissionDefinition(permissionId: string, data: AdminProjectPermissionDefinitionUpdateOptions) {\n await this._interface.updateProjectPermissionDefinition(permissionId, adminProjectPermissionDefinitionUpdateOptionsToCrud(data));\n await this._adminProjectPermissionDefinitionsCache.refresh([]);\n }\n\n async deleteProjectPermissionDefinition(permissionId: string): Promise<void> {\n await this._interface.deleteProjectPermissionDefinition(permissionId);\n await this._adminProjectPermissionDefinitionsCache.refresh([]);\n }\n\n async listProjectPermissionDefinitions(): Promise<AdminProjectPermissionDefinition[]> {\n const crud = Result.orThrow(await this._adminProjectPermissionDefinitionsCache.getOrWait([], \"write-only\"));\n return crud.map((p) => this._serverProjectPermissionDefinitionFromCrud(p));\n }\n\n useProjectPermissionDefinitions(): AdminProjectPermissionDefinition[] {\n const crud = useAsyncCache(this._adminProjectPermissionDefinitionsCache, [], \"adminApp.useProjectPermissionDefinitions()\");\n return useMemo(() => {\n return crud.map((p) => this._serverProjectPermissionDefinitionFromCrud(p));\n }, [crud]);\n }\n useSvixToken(): { token: string, url: string | undefined } {\n const crud = useAsyncCache(this._svixTokenCache, [], \"adminApp.useSvixToken()\");\n return { token: crud.token, url: crud.url };\n }\n\n protected override async _refreshProject() {\n await Promise.all([\n super._refreshProject(),\n this._adminProjectCache.refresh([]),\n ]);\n }\n\n protected async _refreshProjectConfig() {\n await Promise.all([\n this._configOverridesCache.refresh([]),\n this._adminProjectCache.refresh([]),\n ]);\n }\n\n protected async _refreshInternalApiKeys() {\n await this._internalApiKeysCache.refresh([]);\n }\n\n protected override async _refreshUsers() {\n await Promise.all([\n super._refreshUsers(),\n this._metricsCache.refreshWhere(() => true),\n this._metricsUserCountsCache.refresh([]),\n ]);\n }\n\n get [hexclaveAppInternalsSymbol]() {\n return {\n ...super[hexclaveAppInternalsSymbol],\n useMetrics: (\n includeAnonymous: boolean = false,\n filters?: { country_code?: string, referrer?: string, browser?: string, os?: string, device?: string, since?: string, until?: string },\n ): MetricsResponse => {\n const filtersKey = (() => {\n if (filters == null) return \"\";\n const params = new URLSearchParams();\n for (const key of [\"browser\", \"country_code\", \"device\", \"os\", \"referrer\", \"since\", \"until\"] as const) {\n const v = filters[key];\n if (v != null) params.set(key, v);\n }\n return params.toString();\n })();\n return useAsyncCache(this._metricsCache, [includeAnonymous, filtersKey] as const, \"adminApp.useMetrics()\") as MetricsResponse;\n },\n useUserActivity: (userId: string): UserActivityResponse => {\n return useAsyncCache(this._userActivityCache, [userId] as const, \"adminApp.useUserActivity()\") as UserActivityResponse;\n },\n useMetricsUserCounts: (): MetricsUserCounts => {\n return useAsyncCache(this._metricsUserCountsCache, [] as const, \"adminApp.useMetricsUserCounts()\") as MetricsUserCounts;\n },\n };\n }\n\n async sendTestEmail(options: {\n recipientEmail: string,\n emailConfig: EmailConfig,\n }): Promise<Result<undefined, { errorMessage: string }>> {\n let response: { success: boolean, error_message?: string };\n try {\n response = await this._interface.sendTestEmail({\n recipient_email: options.recipientEmail,\n email_config: {\n ...(pick(options.emailConfig, ['host', 'port', 'username', 'password'])),\n sender_email: options.emailConfig.senderEmail,\n sender_name: options.emailConfig.senderName,\n },\n });\n } catch (error) {\n // Translate the quota-exhaustion KnownError into the existing\n // Result.error shape so SDK/dashboard callers don't need to branch on\n // exceptions. The backend throws `ItemQuantityInsufficientAmount`\n // (consistent with every other limit-rejection endpoint), but this\n // method's historical contract has always been a `Result`.\n if (error instanceof KnownErrors.ItemQuantityInsufficientAmount) {\n return Result.error({\n errorMessage: \"Monthly email sending limit exceeded for your plan. Please upgrade your plan or wait until next month before sending more test emails.\",\n });\n }\n throw error;\n }\n\n if (response.success) {\n return Result.ok(undefined);\n } else {\n return Result.error({ errorMessage: response.error_message ?? throwErr(\"Email test error not specified\") });\n }\n }\n\n async sendTestWebhook(options: { endpointId: string }): Promise<Result<undefined, { errorMessage: string }>> {\n const response = await this._interface.sendTestWebhook({\n endpoint_id: options.endpointId,\n });\n\n if (response.success) {\n return Result.ok(undefined);\n } else {\n return Result.error({ errorMessage: response.error_message ?? throwErr(\"Webhook test error not specified\") });\n }\n }\n\n async listSentEmails(): Promise<AdminSentEmail[]> {\n const response = await this._interface.listSentEmails();\n return response.items.map((email) => ({\n id: email.id,\n to: email.to ?? [],\n subject: email.subject,\n recipient: email.to?.[0] ?? \"\",\n sentAt: new Date(email.sent_at_millis),\n error: email.error,\n }));\n }\n\n async setupManagedEmailProvider(options: { subdomain: string, senderLocalPart: string }): Promise<ManagedEmailProviderSetupResult> {\n const response = await this._interface.setupManagedEmailProvider({\n subdomain: options.subdomain,\n sender_local_part: options.senderLocalPart,\n });\n return {\n domainId: response.domain_id,\n subdomain: response.subdomain,\n senderLocalPart: response.sender_local_part,\n nameServerRecords: response.name_server_records,\n status: response.status,\n };\n }\n\n async checkManagedEmailStatus(options: { domainId: string, subdomain: string, senderLocalPart: string }): Promise<ManagedEmailProviderStatus> {\n const response = await this._interface.checkManagedEmailStatus({\n domain_id: options.domainId,\n subdomain: options.subdomain,\n sender_local_part: options.senderLocalPart,\n });\n return {\n status: response.status,\n };\n }\n\n async listManagedEmailDomains(): Promise<ManagedEmailProviderListItem[]> {\n const response = await this._interface.listManagedEmailDomains();\n return response.items.map((item) => ({\n domainId: item.domain_id,\n subdomain: item.subdomain,\n senderLocalPart: item.sender_local_part,\n status: item.status,\n nameServerRecords: item.name_server_records,\n }));\n }\n\n async applyManagedEmailProvider(options: { domainId: string }): Promise<{ status: \"applied\" }> {\n const result = await this._interface.applyManagedEmailProvider({\n domain_id: options.domainId,\n });\n await this._refreshProjectConfig();\n return result;\n }\n\n async deleteManagedEmailDomain(options: { resendDomainId: string }): Promise<{ status: \"deleted\" }> {\n return await this._interface.deleteManagedEmailDomain({\n resend_domain_id: options.resendDomainId,\n });\n }\n\n async sendSignInInvitationEmail(email: string, callbackUrl: string): Promise<void> {\n await this._interface.sendSignInInvitationEmail(email, callbackUrl);\n }\n\n async createEmailTemplate(displayName: string): Promise<{ id: string }> {\n const result = await this._interface.createEmailTemplate(displayName);\n await this._adminEmailTemplatesCache.refresh([]);\n\n return result;\n }\n\n async deleteEmailTemplate(id: string): Promise<void> {\n await this._interface.deleteEmailTemplate(id);\n await this._adminEmailTemplatesCache.refresh([]);\n }\n\n async createEmailDraft(options: { displayName: string, themeId?: string | false, tsxSource?: string }): Promise<{ id: string }> {\n const result = await this._interface.createEmailDraft({\n display_name: options.displayName,\n theme_id: options.themeId,\n tsx_source: options.tsxSource,\n });\n await this._adminEmailDraftsCache.refresh([]);\n return result;\n }\n\n async updateEmailDraft(id: string, data: { displayName?: string, themeId?: string | undefined | false, tsxSource?: string }): Promise<void> {\n await this._interface.updateEmailDraft(id, {\n display_name: data.displayName,\n theme_id: data.themeId,\n tsx_source: data.tsxSource,\n });\n await this._adminEmailDraftsCache.refresh([]);\n }\n\n async deleteEmailDraft(id: string): Promise<void> {\n await this._interface.deleteEmailDraft(id);\n const current = this._adminEmailDraftsCache.getIfCached([]);\n if (current.status === \"ok\" && current.data.status === \"ok\") {\n this._adminEmailDraftsCache.forceSetCachedValue([], Result.ok(current.data.data.filter((d) => d.id !== id)));\n }\n await this._adminEmailDraftsCache.refresh([]);\n }\n\n async refreshEmailDrafts(): Promise<void> {\n await this._adminEmailDraftsCache.refresh([]);\n }\n\n async saveChatMessage(threadId: string, message: any): Promise<void> {\n await this._interface.saveChatMessage(threadId, message);\n }\n\n async listChatMessages(threadId: string): Promise<{ messages: Array<any> }> {\n return await this._interface.listChatMessages(threadId);\n }\n\n async rewriteTemplateSourceWithAI(templateTsxSource: string): Promise<{ tsxSource: string }> {\n const result = await this._interface.rewriteTemplateSourceWithAI(templateTsxSource);\n return { tsxSource: result.tsx_source };\n }\n\n async createEmailTheme(displayName: string): Promise<{ id: string }> {\n const result = await this._interface.createEmailTheme(displayName);\n await this._adminEmailThemesCache.refresh([]);\n return result;\n }\n\n async getEmailPreview(options: { themeId?: string | null | false, themeTsxSource?: string, templateId?: string, templateTsxSource?: string }): Promise<string> {\n const result = Result.orThrow(await this._emailPreviewCache.getOrWait([options.themeId, options.themeTsxSource, options.templateId, options.templateTsxSource], \"write-only\"));\n return result.html;\n }\n useEmailPreview(options: { themeId?: string | null | false, themeTsxSource?: string, templateId?: string, templateTsxSource?: string }): string {\n const crud = useAsyncCache(this._emailPreviewCache, [options.themeId, options.themeTsxSource, options.templateId, options.templateTsxSource] as const, \"adminApp.useEmailPreview()\");\n return crud.html;\n }\n async getEmailPreviewWithEditableMarkers(options: { themeId?: string | null | false, themeTsxSource?: string, templateId?: string, templateTsxSource?: string, editableSource?: 'template' | 'theme' | 'both' }): Promise<{ html: string, editableRegions?: Record<string, unknown> }> {\n const result = await this._interface.renderEmailPreview({ ...options, editableMarkers: true, editableSource: options.editableSource });\n return { html: result.html, editableRegions: result.editable_regions };\n }\n useEmailPreviewWithEditableMarkers(options: { themeId?: string | null | false, themeTsxSource?: string, templateId?: string, templateTsxSource?: string, editableSource?: 'template' | 'theme' | 'both' }): { html: string, editableRegions?: Record<string, unknown> } {\n const crud = useAsyncCache(this._emailPreviewWithEditableMarkersCache, [options.themeId, options.themeTsxSource, options.templateId, options.templateTsxSource, options.editableSource] as const, \"adminApp.useEmailPreviewWithEditableMarkers()\");\n return { html: crud.html, editableRegions: crud.editable_regions };\n }\n useEmailTheme(id: string): { displayName: string, tsxSource: string } {\n const crud = useAsyncCache(this._adminEmailThemeCache, [id] as const, \"adminApp.useEmailTheme()\");\n return {\n displayName: crud.display_name,\n tsxSource: crud.tsx_source,\n };\n }\n async updateEmailTheme(id: string, tsxSource: string): Promise<void> {\n await this._interface.updateEmailTheme(id, tsxSource);\n await this._adminEmailThemesCache.refresh([]);\n await this._adminEmailThemeCache.invalidate([id]);\n }\n\n async deleteEmailTheme(id: string): Promise<void> {\n await this._interface.deleteEmailTheme(id);\n await this._adminEmailThemesCache.refresh([]);\n await this._adminEmailThemeCache.invalidate([id]);\n }\n\n async updateEmailTemplate(id: string, tsxSource: string, themeId: string | null | false): Promise<{ renderedHtml: string }> {\n const result = await this._interface.updateEmailTemplate(id, tsxSource, themeId);\n await this._adminEmailTemplatesCache.refresh([]);\n return { renderedHtml: result.rendered_html };\n }\n\n async setupPayments(): Promise<{ url: string }> {\n const result = await this._interface.setupPayments();\n await this._stripeAccountInfoCache.refresh([]);\n return result;\n }\n\n async createStripeWidgetAccountSession(): Promise<{ client_secret: string }> {\n return await this._interface.createStripeWidgetAccountSession();\n }\n\n async getPaymentMethodConfigs(): Promise<{ configId: string, methods: Array<{ id: string, name: string, enabled: boolean, available: boolean, overridable: boolean }> } | null> {\n return await this._interface.getPaymentMethodConfigs();\n }\n\n async updatePaymentMethodConfigs(configId: string, updates: Record<string, 'on' | 'off'>): Promise<void> {\n await this._interface.updatePaymentMethodConfigs(configId, updates);\n }\n\n async createItemQuantityChange(options: (\n { userId: string, itemId: string, quantity: number, expiresAt?: string, description?: string } |\n { teamId: string, itemId: string, quantity: number, expiresAt?: string, description?: string } |\n { customCustomerId: string, itemId: string, quantity: number, expiresAt?: string, description?: string }\n )): Promise<void> {\n await this._interface.updateItemQuantity(\n { itemId: options.itemId, ...(\"userId\" in options ? { userId: options.userId } : (\"teamId\" in options ? { teamId: options.teamId } : { customCustomerId: options.customCustomerId })) },\n {\n delta: options.quantity,\n expires_at: options.expiresAt,\n description: options.description,\n allow_negative: true,\n }\n );\n }\n\n async refundTransaction(options: {\n type: \"subscription\" | \"one-time-purchase\",\n id: string,\n invoiceId?: string,\n amountUsd: MoneyAmount,\n endAction?: \"now\" | \"at-period-end\",\n }): Promise<{ refundTransactionId: string }> {\n const result = await this._interface.refundTransaction({\n type: options.type,\n id: options.id,\n invoiceId: options.invoiceId,\n amountUsd: options.amountUsd,\n endAction: options.endAction,\n });\n await this._transactionsCache.invalidateWhere(() => true);\n return { refundTransactionId: result.refundTransactionId };\n }\n\n async listTransactions(params: { cursor?: string, limit?: number, type?: TransactionType, customerType?: 'user' | 'team' | 'custom', customerId?: string }): Promise<{ transactions: Transaction[], nextCursor: string | null }> {\n const crud = Result.orThrow(await this._transactionsCache.getOrWait([params.cursor, params.limit, params.type, params.customerType, params.customerId] as const, \"write-only\"));\n return crud;\n }\n\n // Email Outbox methods\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Complex discriminated union conversion from API response\n private _emailOutboxCrudToAdmin(crud: any): AdminEmailOutbox {\n const recipient = crud.to;\n let to: AdminEmailOutbox[\"to\"];\n if (recipient.type === \"user-primary-email\") {\n to = { type: \"user-primary-email\", userId: recipient.user_id };\n } else if (recipient.type === \"user-custom-emails\") {\n to = { type: \"user-custom-emails\", userId: recipient.user_id, emails: recipient.emails };\n } else {\n to = { type: \"custom-emails\", emails: recipient.emails };\n }\n\n // Base fields present on all emails\n const base = {\n id: crud.id as string,\n createdAt: new Date(crud.created_at_millis),\n updatedAt: new Date(crud.updated_at_millis),\n tsxSource: crud.tsx_source as string,\n themeId: (crud.theme_id as string | null) ?? null,\n to,\n scheduledAt: new Date(crud.scheduled_at_millis),\n // Source tracking for grouping emails by template/draft\n createdWith: crud.created_with as \"draft\" | \"programmatic-call\",\n emailDraftId: crud.email_draft_id as string | null,\n emailProgrammaticCallTemplateId: crud.email_programmatic_call_template_id as string | null,\n variables: (crud.variables ?? {}) as Record<string, Json>,\n isPaused: false as const,\n hasRendered: false as const,\n hasDelivered: false as const,\n // Retry tracking fields\n sendRetries: crud.send_retries as number,\n nextSendRetryAt: crud.next_send_retry_at_millis ? new Date(crud.next_send_retry_at_millis) : null,\n sendAttemptErrors: crud.send_attempt_errors ? (crud.send_attempt_errors as Array<{\n attempt_number: number,\n timestamp: string,\n external_message: string,\n external_details: Record<string, unknown>,\n internal_message: string,\n internal_details: Record<string, unknown>,\n }>).map((e) => ({\n attemptNumber: e.attempt_number,\n timestamp: e.timestamp,\n externalMessage: e.external_message,\n externalDetails: e.external_details,\n internalMessage: e.internal_message,\n internalDetails: e.internal_details,\n })) : null,\n };\n\n // Rendered fields (available after rendering completes successfully)\n const rendered = crud.has_rendered ? {\n ...base,\n startedRenderingAt: new Date(crud.started_rendering_at_millis),\n renderedAt: new Date(crud.rendered_at_millis),\n subject: crud.subject as string,\n html: crud.html as string | null,\n text: crud.text as string | null,\n isTransactional: crud.is_transactional as boolean,\n isHighPriority: crud.is_high_priority as boolean,\n notificationCategoryId: crud.notification_category_id as string | null,\n hasRendered: true as const,\n } : null;\n\n // Started sending fields\n const startedSending = rendered && crud.started_sending_at_millis ? {\n ...rendered,\n startedSendingAt: new Date(crud.started_sending_at_millis),\n } : null;\n\n // Finished delivering fields\n const finishedDelivering = startedSending && crud.has_delivered ? {\n ...startedSending,\n deliveredAt: new Date(crud.delivered_at_millis),\n hasDelivered: true as const,\n } : null;\n\n // Use type assertion at the end because TypeScript has trouble with\n // spread + override patterns on discriminated unions with const literal types\n const result = (() => {\n switch (crud.status) {\n case \"paused\": {\n return {\n ...base,\n status: \"paused\" as const,\n simpleStatus: \"in-progress\" as const,\n isPaused: true as const,\n };\n }\n case \"preparing\": {\n return {\n ...base,\n status: \"preparing\" as const,\n simpleStatus: \"in-progress\" as const,\n };\n }\n case \"rendering\": {\n return {\n ...base,\n status: \"rendering\" as const,\n simpleStatus: \"in-progress\" as const,\n startedRenderingAt: new Date(crud.started_rendering_at_millis),\n };\n }\n case \"render-error\": {\n return {\n ...base,\n status: \"render-error\" as const,\n simpleStatus: \"error\" as const,\n startedRenderingAt: new Date(crud.started_rendering_at_millis),\n renderedAt: new Date(crud.rendered_at_millis),\n renderError: crud.render_error,\n };\n }\n case \"scheduled\": {\n return {\n ...rendered!,\n status: \"scheduled\" as const,\n simpleStatus: \"in-progress\" as const,\n };\n }\n case \"queued\": {\n return {\n ...rendered!,\n status: \"queued\" as const,\n simpleStatus: \"in-progress\" as const,\n };\n }\n case \"sending\": {\n return {\n ...startedSending!,\n status: \"sending\" as const,\n simpleStatus: \"in-progress\" as const,\n };\n }\n case \"server-error\": {\n return {\n ...startedSending!,\n status: \"server-error\" as const,\n simpleStatus: \"error\" as const,\n errorAt: new Date(crud.error_at_millis),\n serverError: crud.server_error,\n };\n }\n case \"skipped\": {\n return {\n ...base,\n status: \"skipped\" as const,\n simpleStatus: \"ok\" as const,\n skippedAt: new Date(crud.skipped_at_millis),\n skippedReason: crud.skipped_reason,\n skippedDetails: crud.skipped_details ?? {},\n hasRendered: crud.has_rendered as boolean,\n // Optional fields\n startedRenderingAt: crud.started_rendering_at_millis ? new Date(crud.started_rendering_at_millis) : undefined,\n renderedAt: crud.rendered_at_millis ? new Date(crud.rendered_at_millis) : undefined,\n subject: crud.subject,\n html: crud.html,\n text: crud.text,\n isTransactional: crud.is_transactional,\n isHighPriority: crud.is_high_priority,\n notificationCategoryId: crud.notification_category_id,\n startedSendingAt: crud.started_sending_at_millis ? new Date(crud.started_sending_at_millis) : undefined,\n };\n }\n case \"bounced\": {\n return {\n ...startedSending!,\n status: \"bounced\" as const,\n simpleStatus: \"error\" as const,\n bouncedAt: new Date(crud.bounced_at_millis),\n };\n }\n case \"delivery-delayed\": {\n return {\n ...startedSending!,\n status: \"delivery-delayed\" as const,\n simpleStatus: \"ok\" as const,\n deliveryDelayedAt: new Date(crud.delivery_delayed_at_millis),\n };\n }\n case \"sent\": {\n return {\n ...finishedDelivering!,\n status: \"sent\" as const,\n simpleStatus: \"ok\" as const,\n canHaveDeliveryInfo: crud.can_have_delivery_info,\n };\n }\n case \"opened\": {\n return {\n ...finishedDelivering!,\n status: \"opened\" as const,\n simpleStatus: \"ok\" as const,\n openedAt: new Date(crud.opened_at_millis),\n canHaveDeliveryInfo: true as const,\n };\n }\n case \"clicked\": {\n return {\n ...finishedDelivering!,\n status: \"clicked\" as const,\n simpleStatus: \"ok\" as const,\n clickedAt: new Date(crud.clicked_at_millis),\n canHaveDeliveryInfo: true as const,\n };\n }\n case \"marked-as-spam\": {\n return {\n ...finishedDelivering!,\n status: \"marked-as-spam\" as const,\n simpleStatus: \"ok\" as const,\n markedAsSpamAt: new Date(crud.marked_as_spam_at_millis),\n canHaveDeliveryInfo: true as const,\n };\n }\n default: {\n throw new HexclaveAssertionError(`Unknown email outbox status: ${crud.status}`, { status: crud.status });\n }\n }\n })();\n // The type system has difficulty with spread + override patterns on discriminated unions,\n // so we use a type assertion here. The switch statement above ensures we return the correct shape.\n return result as AdminEmailOutbox;\n }\n\n async listOutboxEmails(options?: { status?: string, simpleStatus?: string, userId?: string, limit?: number, cursor?: string }): Promise<{ items: AdminEmailOutbox[], nextCursor: string | null }> {\n const response = await this._interface.listOutboxEmails({\n status: options?.status,\n simple_status: options?.simpleStatus,\n user_id: options?.userId,\n limit: options?.limit,\n cursor: options?.cursor,\n });\n return {\n items: response.items.map((item) => this._emailOutboxCrudToAdmin(item)),\n nextCursor: response.pagination?.next_cursor ?? null,\n };\n }\n\n async getOutboxEmail(id: string): Promise<AdminEmailOutbox> {\n const response = await this._interface.getOutboxEmail(id);\n return this._emailOutboxCrudToAdmin(response);\n }\n\n async updateOutboxEmail(id: string, options: EmailOutboxUpdateOptions): Promise<AdminEmailOutbox> {\n const response = await this._interface.updateOutboxEmail(id, {\n is_paused: options.isPaused,\n scheduled_at_millis: options.scheduledAtMillis,\n cancel: options.cancel,\n tsx_source: options.tsxSource,\n theme_id: options.themeId,\n });\n return this._emailOutboxCrudToAdmin(response);\n }\n\n async pauseOutboxEmail(id: string): Promise<AdminEmailOutbox> {\n return await this.updateOutboxEmail(id, { isPaused: true });\n }\n\n async unpauseOutboxEmail(id: string): Promise<AdminEmailOutbox> {\n return await this.updateOutboxEmail(id, { isPaused: false });\n }\n\n async cancelOutboxEmail(id: string): Promise<AdminEmailOutbox> {\n return await this.updateOutboxEmail(id, { cancel: true });\n }\n\n useTransactions(params: { cursor?: string, limit?: number, type?: TransactionType, customerType?: 'user' | 'team' | 'custom', customerId?: string }): { transactions: Transaction[], nextCursor: string | null } {\n const data = useAsyncCache(this._transactionsCache, [params.cursor, params.limit, params.type, params.customerType, params.customerId] as const, \"adminApp.useTransactions()\");\n return data;\n }\n\n async getStripeAccountInfo(): Promise<null | { account_id: string, charges_enabled: boolean, details_submitted: boolean, payouts_enabled: boolean }> {\n return Result.orThrow(await this._stripeAccountInfoCache.getOrWait([], \"write-only\"));\n }\n\n useStripeAccountInfo(): { account_id: string, charges_enabled: boolean, details_submitted: boolean, payouts_enabled: boolean } | null {\n const data = useAsyncCache(this._stripeAccountInfoCache, [], \"adminApp.useStripeAccountInfo()\");\n return data;\n }\n\n async queryAnalytics(options: AnalyticsQueryOptions): Promise<AnalyticsQueryResponse> {\n return await this._interface.queryAnalytics(options);\n }\n\n async getAnalyticsClickmap(options: AnalyticsClickmapOptions): Promise<AnalyticsClickmapResponse> {\n return await this._interface.getAnalyticsClickmap({\n kind: options.kind,\n member_user_ids: options.memberUserIds,\n route_path: options.routePath,\n route_regex: options.routeRegex,\n url_pattern: options.urlPattern,\n user_id: options.userId,\n replay_id: options.replayId,\n device: options.device,\n viewport_width_min: options.viewportWidthMin,\n viewport_width_max: options.viewportWidthMax,\n sampling: options.sampling,\n since: options.since,\n until: options.until,\n });\n }\n\n async createAnalyticsClickmapToken(options: { origin: string }): Promise<AnalyticsClickmapTokenResponse> {\n return await this._interface.createAnalyticsClickmapToken(options);\n }\n\n async listSessionReplays(options?: ListSessionReplaysOptions): Promise<ListSessionReplaysResult> {\n const response = await this._interface.listSessionReplays({\n cursor: options?.cursor,\n limit: options?.limit,\n user_ids: options?.userIds,\n team_ids: options?.teamIds,\n duration_ms_min: options?.durationMsMin,\n duration_ms_max: options?.durationMsMax,\n last_event_at_from_millis: options?.lastEventAtFromMillis,\n last_event_at_to_millis: options?.lastEventAtToMillis,\n click_count_min: options?.clickCountMin,\n });\n\n const items: AdminSessionReplay[] = response.items.map((r) => ({\n id: r.id,\n projectUser: {\n id: r.project_user.id,\n displayName: r.project_user.display_name,\n primaryEmail: r.project_user.primary_email,\n },\n startedAt: new Date(r.started_at_millis),\n lastEventAt: new Date(r.last_event_at_millis),\n chunkCount: r.chunk_count,\n eventCount: r.event_count,\n }));\n\n return {\n items,\n nextCursor: response.pagination.next_cursor,\n };\n }\n\n async getSessionReplay(sessionReplayId: string): Promise<AdminSessionReplay> {\n const response = await this._interface.getSessionReplay(sessionReplayId);\n return {\n id: response.id,\n projectUser: {\n id: response.project_user.id,\n displayName: response.project_user.display_name,\n primaryEmail: response.project_user.primary_email,\n },\n startedAt: new Date(response.started_at_millis),\n lastEventAt: new Date(response.last_event_at_millis),\n chunkCount: response.chunk_count,\n eventCount: response.event_count,\n };\n }\n\n async listSessionReplayChunks(sessionReplayId: string, options?: ListSessionReplayChunksOptions): Promise<ListSessionReplayChunksResult> {\n const response = await this._interface.listSessionReplayChunks(sessionReplayId, {\n cursor: options?.cursor,\n limit: options?.limit,\n });\n\n const items: AdminSessionReplayChunk[] = response.items.map((c) => ({\n id: c.id,\n batchId: c.batch_id,\n sessionReplaySegmentId: c.session_replay_segment_id,\n browserSessionId: c.browser_session_id,\n eventCount: c.event_count,\n byteLength: c.byte_length,\n firstEventAt: new Date(c.first_event_at_millis),\n lastEventAt: new Date(c.last_event_at_millis),\n createdAt: new Date(c.created_at_millis),\n }));\n\n return {\n items,\n nextCursor: response.pagination.next_cursor,\n };\n }\n\n async getSessionReplayChunkEvents(sessionReplayId: string, chunkId: string): Promise<AdminGetSessionReplayChunkEventsResponse> {\n return await this._interface.getSessionReplayChunkEvents(sessionReplayId, chunkId);\n }\n\n async getSessionReplayEvents(sessionReplayId: string, options?: { offset?: number, limit?: number }): Promise<SessionReplayAllEventsResult> {\n const response = await this._interface.getSessionReplayEvents(sessionReplayId, options);\n return {\n chunks: response.chunks.map((c) => ({\n id: c.id,\n batchId: c.batch_id,\n sessionReplaySegmentId: c.session_replay_segment_id,\n eventCount: c.event_count,\n byteLength: c.byte_length,\n firstEventAt: new Date(c.first_event_at_millis),\n lastEventAt: new Date(c.last_event_at_millis),\n createdAt: new Date(c.created_at_millis),\n })),\n chunkEvents: response.chunk_events.map((ce) => ({\n chunkId: ce.chunk_id,\n events: ce.events,\n })),\n };\n }\n\n async previewAffectedUsersByOnboardingChange(\n onboarding: { requireEmailVerification?: boolean },\n limit?: number,\n ): Promise<{\n affectedUsers: Array<{\n id: string,\n displayName: string | null,\n primaryEmail: string | null,\n restrictedReason: RestrictedReason,\n }>,\n totalAffectedCount: number,\n }> {\n const result = await this._interface.previewAffectedUsersByOnboardingChange(\n { require_email_verification: onboarding.requireEmailVerification },\n limit,\n );\n return {\n affectedUsers: result.affected_users.map(u => ({\n id: u.id,\n displayName: u.display_name,\n primaryEmail: u.primary_email,\n restrictedReason: u.restricted_reason as RestrictedReason,\n })),\n totalAffectedCount: result.total_affected_count,\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"admin-app-impl.js","names":["_HexclaveServerAppImplIncomplete","HexclaveAdminInterface","HexclaveAssertionError","Result","hexclaveAppInternalsSymbol","KnownErrors"],"sources":["../../../../../src/lib/hexclave-app/apps/implementations/admin-app-impl.ts"],"sourcesContent":["\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\nimport { KnownErrors, HexclaveAdminInterface } from \"@hexclave/shared\";\nimport { getProductionModeErrors } from \"@hexclave/shared/dist/helpers/production-mode\";\nimport { InternalApiKeyCreateCrudResponse } from \"@hexclave/shared/dist/interface/admin-interface\";\nimport type { AnalyticsClickmapOptions, AnalyticsClickmapResponse, AnalyticsClickmapTokenResponse, MetricsResponse, MetricsUserCounts, UserActivityResponse } from \"@hexclave/shared/dist/interface/admin-metrics\";\nimport { AnalyticsQueryOptions, AnalyticsQueryResponse } from \"@hexclave/shared/dist/interface/crud/analytics\";\nimport { EmailTemplateCrud } from \"@hexclave/shared/dist/interface/crud/email-templates\";\nimport { InternalApiKeysCrud } from \"@hexclave/shared/dist/interface/crud/internal-api-keys\";\nimport { ProjectsCrud } from \"@hexclave/shared/dist/interface/crud/projects\";\nimport type { AdminGetSessionReplayChunkEventsResponse } from \"@hexclave/shared/dist/interface/crud/session-replays\";\nimport type { Transaction, TransactionType } from \"@hexclave/shared/dist/interface/crud/transactions\";\nimport type { RestrictedReason } from \"@hexclave/shared/dist/schema-fields\";\nimport type { MoneyAmount } from \"@hexclave/shared/dist/utils/currency-constants\";\nimport { HexclaveAssertionError, throwErr } from \"@hexclave/shared/dist/utils/errors\";\nimport type { Json } from \"@hexclave/shared/dist/utils/json\";\nimport { pick, typedEntries, typedValues } from \"@hexclave/shared/dist/utils/objects\";\nimport { Result } from \"@hexclave/shared/dist/utils/results\";\nimport { useMemo } from \"react\"; // THIS_LINE_PLATFORM react-like\nimport { AdminEmailOutbox, AdminSentEmail } from \"../..\";\nimport { EmailConfig, hexclaveAppInternalsSymbol } from \"../../common\";\nimport { AdminEmailTemplate } from \"../../email-templates\";\nimport { InternalApiKey, InternalApiKeyBase, InternalApiKeyBaseCrudRead, InternalApiKeyCreateOptions, InternalApiKeyFirstView, internalApiKeyCreateOptionsToCrud } from \"../../internal-api-keys\";\nimport { AdminProjectPermission, AdminProjectPermissionDefinition, AdminProjectPermissionDefinitionCreateOptions, AdminProjectPermissionDefinitionUpdateOptions, AdminTeamPermission, AdminTeamPermissionDefinition, AdminTeamPermissionDefinitionCreateOptions, AdminTeamPermissionDefinitionUpdateOptions, adminProjectPermissionDefinitionCreateOptionsToCrud, adminProjectPermissionDefinitionUpdateOptionsToCrud, adminTeamPermissionDefinitionCreateOptionsToCrud, adminTeamPermissionDefinitionUpdateOptionsToCrud } from \"../../permissions\";\nimport type { PlanUsage } from \"../../plan-usage\";\nimport { AdminOwnedProject, AdminProject, AdminProjectUpdateOptions, PushConfigOptions, adminProjectUpdateOptionsToCrud } from \"../../projects\";\nimport type { AdminSessionReplay, AdminSessionReplayChunk, ListSessionReplayChunksOptions, ListSessionReplayChunksResult, ListSessionReplaysOptions, ListSessionReplaysResult, SessionReplayAllEventsResult } from \"../../session-replays\";\nimport { ManagedEmailProviderListItem, ManagedEmailProviderSetupResult, ManagedEmailProviderStatus, EmailOutboxUpdateOptions, StackAdminApp, StackAdminAppConstructorOptions } from \"../interfaces/admin-app\";\nimport { clientVersion, createCache, getDefaultExtraRequestHeaders, getDefaultProjectId, getDefaultPublishableClientKey, getDefaultSecretServerKey, getDefaultSuperSecretAdminKey, resolveApiUrls, resolveConstructorOptions } from \"./common\";\nimport { _HexclaveServerAppImplIncomplete } from \"./server-app-impl\";\n\nimport { CompleteConfig, EnvironmentConfigOverrideOverride } from \"@hexclave/shared/dist/config/schema\";\nimport { branchConfigSourceSchema } from \"@hexclave/shared/dist/schema-fields\";\nimport * as yup from \"yup\";\nimport { PushedConfigSource } from \"../../projects\";\nimport { useAsyncCache } from \"./common\"; // THIS_LINE_PLATFORM react-like\n\ntype BranchConfigSourceApi = yup.InferType<typeof branchConfigSourceSchema>;\ntype PlanUsageResponse = Awaited<ReturnType<HexclaveAdminInterface[\"getPlanUsage\"]>>;\n/**\n * Converts a PushedConfigSource (SDK camelCase) to BranchConfigSourceApi (API snake_case).\n */\nfunction pushedConfigSourceToApi(source: PushedConfigSource): BranchConfigSourceApi {\n if (source.type === \"pushed-from-github\") {\n return {\n type: \"pushed-from-github\",\n owner: source.owner,\n repo: source.repo,\n branch: source.branch,\n commit_hash: source.commitHash,\n config_file_path: source.configFilePath,\n workflow_path: source.workflowPath,\n };\n }\n return source;\n}\n\n/**\n * Converts a BranchConfigSourceApi (API snake_case) to PushedConfigSource (SDK camelCase).\n */\nfunction apiToPushedConfigSource(source: BranchConfigSourceApi): PushedConfigSource {\n if (source.type === \"pushed-from-github\") {\n return {\n type: \"pushed-from-github\",\n owner: source.owner,\n repo: source.repo,\n branch: source.branch,\n commitHash: source.commit_hash,\n configFilePath: source.config_file_path,\n workflowPath: source.workflow_path,\n };\n }\n return source;\n}\n\nexport class _HexclaveAdminAppImplIncomplete<HasTokenStore extends boolean, ProjectId extends string> extends _HexclaveServerAppImplIncomplete<HasTokenStore, ProjectId> implements StackAdminApp<HasTokenStore, ProjectId> {\n declare protected _interface: HexclaveAdminInterface;\n\n private readonly _adminProjectCache = createCache(async () => {\n return await this._interface.getProject();\n });\n private readonly _planUsageCache = createCache(async () => {\n return await this._interface.getPlanUsage();\n });\n private readonly _internalApiKeysCache = createCache(async () => {\n const res = await this._interface.listInternalApiKeys();\n return res;\n });\n private readonly _adminEmailThemeCache = createCache(async ([id]: [string]) => {\n return await this._interface.getEmailTheme(id);\n });\n private readonly _adminEmailThemesCache = createCache(async () => {\n return await this._interface.listEmailThemes();\n });\n private readonly _adminEmailTemplatesCache = createCache(async () => {\n return await this._interface.listInternalEmailTemplates();\n });\n private readonly _adminEmailDraftsCache = createCache(async () => {\n return await this._interface.listInternalEmailDrafts();\n });\n private readonly _adminTeamPermissionDefinitionsCache = createCache(async () => {\n return await this._interface.listTeamPermissionDefinitions();\n });\n private readonly _adminProjectPermissionDefinitionsCache = createCache(async () => {\n return await this._interface.listProjectPermissionDefinitions();\n });\n private readonly _svixTokenCache = createCache(async () => {\n return await this._interface.getSvixToken();\n });\n // Cache key serializes filters via URLSearchParams (sorted keys) so\n // DependenciesMap (identity-keyed per array slot) treats two equal\n // filter objects as the same deterministic string entry.\n private readonly _metricsCache = createCache(async ([includeAnonymous, filtersKey]: [boolean, string]) => {\n const filters = filtersKey ? Object.fromEntries(new URLSearchParams(filtersKey)) : undefined;\n return await this._interface.getMetrics(includeAnonymous, filters);\n });\n private readonly _userActivityCache = createCache(async ([userId]: [string]) => {\n return await this._interface.getUserActivity(userId);\n });\n private readonly _metricsUserCountsCache = createCache(async () => {\n return await this._interface.getMetricsUserCounts();\n });\n private readonly _emailPreviewCache = createCache(async ([themeId, themeTsxSource, templateId, templateTsxSource]: [string | null | false | undefined, string | undefined, string | undefined, string | undefined]) => {\n return await this._interface.renderEmailPreview({ themeId, themeTsxSource, templateId, templateTsxSource });\n });\n private readonly _emailPreviewWithEditableMarkersCache = createCache(async ([themeId, themeTsxSource, templateId, templateTsxSource, editableSource]: [string | null | false | undefined, string | undefined, string | undefined, string | undefined, 'template' | 'theme' | 'both' | undefined]) => {\n return await this._interface.renderEmailPreview({ themeId, themeTsxSource, templateId, templateTsxSource, editableMarkers: true, editableSource });\n });\n private readonly _configOverridesCache = createCache(async () => {\n return await this._interface.getConfig();\n });\n private readonly _stripeAccountInfoCache = createCache(async () => {\n try {\n return await this._interface.getStripeAccountInfo();\n } catch (error: any) {\n if (error?.status === 404) {\n return null;\n }\n throw error;\n }\n });\n private readonly _transactionsCache = createCache(async ([cursor, limit, type, customerType, customerId]: [string | undefined, number | undefined, TransactionType | undefined, 'user' | 'team' | 'custom' | undefined, string | undefined]) => {\n return await this._interface.listTransactions({ cursor, limit, type, customerType, customerId });\n });\n\n constructor(options: StackAdminAppConstructorOptions<HasTokenStore, ProjectId>, extraOptions?: { uniqueIdentifier?: string, checkString?: string, interface?: HexclaveAdminInterface }) {\n const resolvedOptions = resolveConstructorOptions(options);\n\n const publishableClientKey = resolvedOptions.publishableClientKey ?? getDefaultPublishableClientKey();\n\n super(resolvedOptions, {\n ...extraOptions,\n interface: extraOptions?.interface ?? (() => {\n const apiUrls = resolveApiUrls(resolvedOptions.baseUrl);\n return new HexclaveAdminInterface({\n getBaseUrl: () => apiUrls()[0],\n getApiUrls: apiUrls,\n projectId: resolvedOptions.projectId ?? getDefaultProjectId(),\n extraRequestHeaders: resolvedOptions.extraRequestHeaders ?? getDefaultExtraRequestHeaders(),\n clientVersion,\n ...resolvedOptions.projectOwnerSession ? {\n projectOwnerSession: resolvedOptions.projectOwnerSession,\n } : {\n ...(publishableClientKey ? { publishableClientKey } : {}),\n secretServerKey: resolvedOptions.secretServerKey ?? getDefaultSecretServerKey(),\n superSecretAdminKey: resolvedOptions.superSecretAdminKey ?? getDefaultSuperSecretAdminKey(),\n },\n });\n })(),\n });\n }\n\n _adminConfigFromCrud(data: { config_string: string }): CompleteConfig {\n return JSON.parse(data.config_string);\n }\n\n _adminOwnedProjectFromCrud(data: ProjectsCrud['Admin']['Read'], onRefresh: () => Promise<void>): AdminOwnedProject {\n if (this._tokenStoreInit !== null) {\n throw new HexclaveAssertionError(\"Owned apps must always have tokenStore === null — did you not create this project with app._createOwnedApp()?\");\n }\n return {\n ...this._adminProjectFromCrud(data, onRefresh),\n app: this as StackAdminApp<false>,\n };\n }\n\n _adminProjectFromCrud(data: ProjectsCrud['Admin']['Read'], onRefresh: () => Promise<void>): AdminProject {\n if (data.id !== this.projectId) {\n throw new HexclaveAssertionError(`The project ID of the provided project JSON (${data.id}) does not match the project ID of the app (${this.projectId})!`);\n }\n\n const app = this;\n return {\n id: data.id,\n displayName: data.display_name,\n description: data.description,\n createdAt: new Date(data.created_at_millis),\n isProductionMode: data.is_production_mode,\n isDevelopmentEnvironment: data.is_development_environment,\n ownerTeamId: data.owner_team_id,\n onboardingStatus: data.onboarding_status,\n onboardingState: data.onboarding_state ?? null,\n logoUrl: data.logo_url,\n logoFullUrl: data.logo_full_url,\n logoDarkModeUrl: data.logo_dark_mode_url,\n logoFullDarkModeUrl: data.logo_full_dark_mode_url,\n pushedConfigError: data.pushed_config_error == null ? null : {\n message: data.pushed_config_error.message,\n },\n configWarnings: data.config_warnings.map((warning) => ({\n message: warning.message,\n })),\n config: {\n signUpEnabled: data.config.sign_up_enabled,\n credentialEnabled: data.config.credential_enabled,\n magicLinkEnabled: data.config.magic_link_enabled,\n passkeyEnabled: data.config.passkey_enabled,\n clientTeamCreationEnabled: data.config.client_team_creation_enabled,\n clientUserDeletionEnabled: data.config.client_user_deletion_enabled,\n allowLocalhost: data.config.allow_localhost,\n oauthAccountMergeStrategy: data.config.oauth_account_merge_strategy,\n allowUserApiKeys: data.config.allow_user_api_keys,\n allowTeamApiKeys: data.config.allow_team_api_keys,\n oauthProviders: data.config.oauth_providers.map((p) => ((p.type === 'shared' ? {\n id: p.id,\n type: 'shared',\n } as const : {\n id: p.id,\n type: 'standard',\n clientId: p.client_id ?? throwErr(\"Client ID is missing\"),\n clientSecret: p.client_secret ?? throwErr(\"Client secret is missing\"),\n facebookConfigId: p.facebook_config_id,\n microsoftTenantId: p.microsoft_tenant_id,\n appleBundleIds: p.apple_bundle_ids,\n } as const))),\n emailConfig: data.config.email_config.type === 'shared' ? {\n type: 'shared'\n } : {\n type: 'standard',\n host: data.config.email_config.host ?? throwErr(\"Email host is missing\"),\n port: data.config.email_config.port ?? throwErr(\"Email port is missing\"),\n username: data.config.email_config.username ?? throwErr(\"Email username is missing\"),\n password: data.config.email_config.password ?? throwErr(\"Email password is missing\"),\n senderName: data.config.email_config.sender_name ?? throwErr(\"Email sender name is missing\"),\n senderEmail: data.config.email_config.sender_email ?? throwErr(\"Email sender email is missing\"),\n },\n emailTheme: data.config.email_theme,\n domains: data.config.domains.map((d) => ({\n domain: d.domain,\n handlerPath: d.handler_path,\n })),\n createTeamOnSignUp: data.config.create_team_on_sign_up,\n teamCreatorDefaultPermissions: data.config.team_creator_default_permissions,\n teamMemberDefaultPermissions: data.config.team_member_default_permissions,\n userDefaultPermissions: data.config.user_default_permissions,\n },\n async getConfig() {\n return app._adminConfigFromCrud(await app._interface.getConfig());\n },\n useConfig() {\n const config = useAsyncCache(app._configOverridesCache, [], \"project.useConfig()\");\n return useMemo(() => app._adminConfigFromCrud(config), [config]);\n },\n async updateConfig(configOverride: EnvironmentConfigOverrideOverride) {\n await app._interface.updateConfigOverride(\"environment\", configOverride);\n await app._refreshProjectConfig();\n },\n async pushConfig(config: EnvironmentConfigOverrideOverride, options: PushConfigOptions) {\n await app._interface.setConfigOverride(\"branch\", config, pushedConfigSourceToApi(options.source));\n await app._refreshProjectConfig();\n },\n async updatePushedConfig(config: EnvironmentConfigOverrideOverride) {\n await app._interface.updateConfigOverride(\"branch\", config);\n await app._refreshProjectConfig();\n },\n async getPushedConfigSource(): Promise<PushedConfigSource> {\n const apiSource = await app._interface.getPushedConfigSource();\n return apiToPushedConfigSource(apiSource);\n },\n async unlinkPushedConfigSource(): Promise<void> {\n await app._interface.unlinkPushedConfigSource();\n await app._refreshProjectConfig();\n },\n async resetConfigOverrideKeys(level: \"branch\" | \"environment\", keys: string[]): Promise<void> {\n await app._interface.resetConfigOverrideKeys(level, keys);\n await app._refreshProjectConfig();\n },\n async getConfigOverride(level: \"branch\" | \"environment\"): Promise<Record<string, unknown>> {\n const result = await app._interface.getConfigOverride(level);\n return JSON.parse(result.config_string);\n },\n async replaceConfigOverride(level: \"branch\" | \"environment\", config: Record<string, unknown>): Promise<void> {\n if (level === \"branch\") {\n const source = await app._interface.getPushedConfigSource();\n await app._interface.setConfigOverride(level, config, source);\n } else {\n await app._interface.setConfigOverride(level, config);\n }\n await app._refreshProjectConfig();\n },\n async update(update: AdminProjectUpdateOptions) {\n const { requirePublishableClientKey, ...projectUpdate } = update;\n const updateOptions = adminProjectUpdateOptionsToCrud(projectUpdate);\n const hasConfigUpdate = !!updateOptions.config\n && typedValues(updateOptions.config).some((value) => value !== undefined);\n const hasProjectUpdate = typedEntries(updateOptions).some(([key, value]) => {\n if (key === \"config\") return hasConfigUpdate;\n return value !== undefined;\n });\n\n if (hasProjectUpdate) {\n await app._interface.updateProject(updateOptions);\n await onRefresh();\n }\n\n if (requirePublishableClientKey !== undefined) {\n await app._interface.updateConfigOverride(\"project\", {\n \"project.requirePublishableClientKey\": requirePublishableClientKey,\n });\n await app._refreshProjectConfig();\n }\n },\n async delete() {\n await app._interface.deleteProject();\n },\n async getProductionModeErrors() {\n return getProductionModeErrors(data);\n },\n useProductionModeErrors() {\n return getProductionModeErrors(data);\n },\n };\n }\n\n _adminEmailTemplateFromCrud(data: EmailTemplateCrud['Admin']['Read']): AdminEmailTemplate {\n return {\n type: data.type,\n subject: data.subject,\n content: data.content,\n isDefault: data.is_default,\n };\n }\n\n _planUsageFromCrud(data: PlanUsageResponse): PlanUsage {\n return {\n ownerTeamId: data.owner_team_id,\n ownerTeamDisplayName: data.owner_team_display_name,\n planId: data.plan_id,\n planDisplayName: data.plan_display_name,\n periodStart: new Date(data.period_start_millis),\n periodEnd: new Date(data.period_end_millis),\n nextPlanId: data.next_plan_id,\n rows: data.rows.map((row) => ({\n itemId: row.item_id,\n displayName: row.display_name,\n kind: row.kind,\n used: row.used,\n limit: row.limit,\n remaining: row.remaining,\n overage: row.overage,\n isUnlimited: row.is_unlimited,\n })),\n };\n }\n\n override async getProject(): Promise<AdminProject> {\n return this._adminProjectFromCrud(\n Result.orThrow(await this._adminProjectCache.getOrWait([], \"write-only\")),\n () => this._refreshProject()\n );\n }\n\n override useProject(): AdminProject {\n const crud = useAsyncCache(this._adminProjectCache, [], \"adminApp.useProject()\");\n return useMemo(() => this._adminProjectFromCrud(\n crud,\n () => this._refreshProject()\n ), [crud]);\n }\n\n async getPlanUsage(): Promise<PlanUsage> {\n return this._planUsageFromCrud(Result.orThrow(await this._planUsageCache.getOrWait([], \"write-only\")));\n }\n\n usePlanUsage(): PlanUsage {\n const crud = useAsyncCache(this._planUsageCache, [], \"adminApp.usePlanUsage()\");\n return useMemo(() => this._planUsageFromCrud(crud), [crud]);\n }\n\n protected _createInternalApiKeyBaseFromCrud(data: InternalApiKeyBaseCrudRead): InternalApiKeyBase {\n const app = this;\n return {\n id: data.id,\n description: data.description,\n expiresAt: new Date(data.expires_at_millis),\n manuallyRevokedAt: data.manually_revoked_at_millis ? new Date(data.manually_revoked_at_millis) : null,\n createdAt: new Date(data.created_at_millis),\n isValid() {\n return this.whyInvalid() === null;\n },\n whyInvalid() {\n if (this.expiresAt.getTime() < Date.now()) return \"expired\";\n if (this.manuallyRevokedAt) return \"manually-revoked\";\n return null;\n },\n async revoke() {\n const res = await app._interface.revokeInternalApiKeyById(data.id);\n await app._refreshInternalApiKeys();\n return res;\n }\n };\n }\n\n protected _createInternalApiKeyFromCrud(data: InternalApiKeysCrud[\"Admin\"][\"Read\"]): InternalApiKey {\n return {\n ...this._createInternalApiKeyBaseFromCrud(data),\n publishableClientKey: data.publishable_client_key ? { lastFour: data.publishable_client_key.last_four } : null,\n secretServerKey: data.secret_server_key ? { lastFour: data.secret_server_key.last_four } : null,\n superSecretAdminKey: data.super_secret_admin_key ? { lastFour: data.super_secret_admin_key.last_four } : null,\n };\n }\n\n protected _createInternalApiKeyFirstViewFromCrud(data: InternalApiKeyCreateCrudResponse): InternalApiKeyFirstView {\n return {\n ...this._createInternalApiKeyBaseFromCrud(data),\n publishableClientKey: data.publishable_client_key,\n secretServerKey: data.secret_server_key,\n superSecretAdminKey: data.super_secret_admin_key,\n };\n }\n\n async listInternalApiKeys(): Promise<InternalApiKey[]> {\n const crud = Result.orThrow(await this._internalApiKeysCache.getOrWait([], \"write-only\"));\n return crud.map((j) => this._createInternalApiKeyFromCrud(j));\n }\n\n useInternalApiKeys(): InternalApiKey[] {\n const crud = useAsyncCache(this._internalApiKeysCache, [], \"adminApp.useInternalApiKeys()\");\n return useMemo(() => {\n return crud.map((j) => this._createInternalApiKeyFromCrud(j));\n }, [crud]);\n }\n\n async createInternalApiKey(options: InternalApiKeyCreateOptions): Promise<InternalApiKeyFirstView> {\n const crud = await this._interface.createInternalApiKey(internalApiKeyCreateOptionsToCrud(options));\n await this._refreshInternalApiKeys();\n return this._createInternalApiKeyFirstViewFromCrud(crud);\n }\n\n\n useEmailThemes(): { id: string, displayName: string }[] {\n const crud = useAsyncCache(this._adminEmailThemesCache, [], \"adminApp.useEmailThemes()\");\n return useMemo(() => {\n return crud.map((theme) => ({\n id: theme.id,\n displayName: theme.display_name,\n }));\n }, [crud]);\n }\n useEmailTemplates(): { id: string, displayName: string, themeId?: string, tsxSource: string }[] {\n const crud = useAsyncCache(this._adminEmailTemplatesCache, [], \"adminApp.useEmailTemplates()\");\n return useMemo(() => {\n return crud.map((template) => ({\n id: template.id,\n displayName: template.display_name,\n themeId: template.theme_id,\n tsxSource: template.tsx_source,\n }));\n }, [crud]);\n }\n useEmailDrafts(): { id: string, displayName: string, themeId: string | undefined | false, tsxSource: string, sentAt: Date | null }[] {\n const crud = useAsyncCache(this._adminEmailDraftsCache, [], \"adminApp.useEmailDrafts()\");\n return useMemo(() => {\n return crud.map((draft) => ({\n id: draft.id,\n displayName: draft.display_name,\n themeId: draft.theme_id,\n tsxSource: draft.tsx_source,\n sentAt: draft.sent_at_millis ? new Date(draft.sent_at_millis) : null,\n }));\n }, [crud]);\n }\n async listEmailThemes(): Promise<{ id: string, displayName: string }[]> {\n const crud = Result.orThrow(await this._adminEmailThemesCache.getOrWait([], \"write-only\"));\n return crud.map((theme) => ({\n id: theme.id,\n displayName: theme.display_name,\n }));\n }\n\n async listEmailTemplates(): Promise<{ id: string, displayName: string, themeId?: string, tsxSource: string }[]> {\n const crud = Result.orThrow(await this._adminEmailTemplatesCache.getOrWait([], \"write-only\"));\n return crud.map((template) => ({\n id: template.id,\n displayName: template.display_name,\n themeId: template.theme_id,\n tsxSource: template.tsx_source,\n }));\n }\n\n async listEmailDrafts(): Promise<{ id: string, displayName: string, themeId: string | undefined | false, tsxSource: string, sentAt: Date | null }[]> {\n const crud = Result.orThrow(await this._adminEmailDraftsCache.getOrWait([], \"write-only\"));\n return crud.map((draft) => ({\n id: draft.id,\n displayName: draft.display_name,\n themeId: draft.theme_id,\n tsxSource: draft.tsx_source,\n sentAt: draft.sent_at_millis ? new Date(draft.sent_at_millis) : null,\n }));\n }\n\n\n async createTeamPermissionDefinition(data: AdminTeamPermissionDefinitionCreateOptions): Promise<AdminTeamPermission> {\n const crud = await this._interface.createTeamPermissionDefinition(adminTeamPermissionDefinitionCreateOptionsToCrud(data));\n await this._adminTeamPermissionDefinitionsCache.refresh([]);\n return this._serverTeamPermissionDefinitionFromCrud(crud);\n }\n\n async updateTeamPermissionDefinition(permissionId: string, data: AdminTeamPermissionDefinitionUpdateOptions) {\n await this._interface.updateTeamPermissionDefinition(permissionId, adminTeamPermissionDefinitionUpdateOptionsToCrud(data));\n await this._adminTeamPermissionDefinitionsCache.refresh([]);\n }\n\n async deleteTeamPermissionDefinition(permissionId: string): Promise<void> {\n await this._interface.deleteTeamPermissionDefinition(permissionId);\n await this._adminTeamPermissionDefinitionsCache.refresh([]);\n }\n\n async listTeamPermissionDefinitions(): Promise<AdminTeamPermissionDefinition[]> {\n const crud = Result.orThrow(await this._adminTeamPermissionDefinitionsCache.getOrWait([], \"write-only\"));\n return crud.map((p) => this._serverTeamPermissionDefinitionFromCrud(p));\n }\n\n async listTeamPermissionDefinitionsPaginated(\n options: { limit: number, cursor?: string, query?: string },\n ): Promise<{ items: AdminTeamPermissionDefinition[], nextCursor: string | null }> {\n const result = await this._interface.listTeamPermissionDefinitionsPaginated(options);\n return {\n items: result.items.map((p) => this._serverTeamPermissionDefinitionFromCrud(p)),\n nextCursor: result.nextCursor,\n };\n }\n\n useTeamPermissionDefinitions(): AdminTeamPermissionDefinition[] {\n const crud = useAsyncCache(this._adminTeamPermissionDefinitionsCache, [], \"adminApp.useTeamPermissionDefinitions()\");\n return useMemo(() => {\n return crud.map((p) => this._serverTeamPermissionDefinitionFromCrud(p));\n }, [crud]);\n }\n\n async createProjectPermissionDefinition(data: AdminProjectPermissionDefinitionCreateOptions): Promise<AdminProjectPermission> {\n const crud = await this._interface.createProjectPermissionDefinition(adminProjectPermissionDefinitionCreateOptionsToCrud(data));\n await this._adminProjectPermissionDefinitionsCache.refresh([]);\n return this._serverProjectPermissionDefinitionFromCrud(crud);\n }\n\n async updateProjectPermissionDefinition(permissionId: string, data: AdminProjectPermissionDefinitionUpdateOptions) {\n await this._interface.updateProjectPermissionDefinition(permissionId, adminProjectPermissionDefinitionUpdateOptionsToCrud(data));\n await this._adminProjectPermissionDefinitionsCache.refresh([]);\n }\n\n async deleteProjectPermissionDefinition(permissionId: string): Promise<void> {\n await this._interface.deleteProjectPermissionDefinition(permissionId);\n await this._adminProjectPermissionDefinitionsCache.refresh([]);\n }\n\n async listProjectPermissionDefinitions(): Promise<AdminProjectPermissionDefinition[]> {\n const crud = Result.orThrow(await this._adminProjectPermissionDefinitionsCache.getOrWait([], \"write-only\"));\n return crud.map((p) => this._serverProjectPermissionDefinitionFromCrud(p));\n }\n\n useProjectPermissionDefinitions(): AdminProjectPermissionDefinition[] {\n const crud = useAsyncCache(this._adminProjectPermissionDefinitionsCache, [], \"adminApp.useProjectPermissionDefinitions()\");\n return useMemo(() => {\n return crud.map((p) => this._serverProjectPermissionDefinitionFromCrud(p));\n }, [crud]);\n }\n useSvixToken(): { token: string, url: string | undefined } {\n const crud = useAsyncCache(this._svixTokenCache, [], \"adminApp.useSvixToken()\");\n return { token: crud.token, url: crud.url };\n }\n\n protected override async _refreshProject() {\n await Promise.all([\n super._refreshProject(),\n this._adminProjectCache.refresh([]),\n ]);\n }\n\n protected async _refreshProjectConfig() {\n await Promise.all([\n this._configOverridesCache.refresh([]),\n this._adminProjectCache.refresh([]),\n ]);\n }\n\n protected async _refreshInternalApiKeys() {\n await this._internalApiKeysCache.refresh([]);\n }\n\n protected override async _refreshUsers() {\n await Promise.all([\n super._refreshUsers(),\n this._metricsCache.refreshWhere(() => true),\n this._metricsUserCountsCache.refresh([]),\n ]);\n }\n\n get [hexclaveAppInternalsSymbol]() {\n return {\n ...super[hexclaveAppInternalsSymbol],\n useMetrics: (\n includeAnonymous: boolean = false,\n filters?: { country_code?: string, referrer?: string, browser?: string, os?: string, device?: string, since?: string, until?: string },\n ): MetricsResponse => {\n const filtersKey = (() => {\n if (filters == null) return \"\";\n const params = new URLSearchParams();\n for (const key of [\"browser\", \"country_code\", \"device\", \"os\", \"referrer\", \"since\", \"until\"] as const) {\n const v = filters[key];\n if (v != null) params.set(key, v);\n }\n return params.toString();\n })();\n return useAsyncCache(this._metricsCache, [includeAnonymous, filtersKey] as const, \"adminApp.useMetrics()\") as MetricsResponse;\n },\n useUserActivity: (userId: string): UserActivityResponse => {\n return useAsyncCache(this._userActivityCache, [userId] as const, \"adminApp.useUserActivity()\") as UserActivityResponse;\n },\n useMetricsUserCounts: (): MetricsUserCounts => {\n return useAsyncCache(this._metricsUserCountsCache, [] as const, \"adminApp.useMetricsUserCounts()\") as MetricsUserCounts;\n },\n };\n }\n\n async sendTestEmail(options: {\n recipientEmail: string,\n emailConfig: EmailConfig,\n }): Promise<Result<undefined, { errorMessage: string }>> {\n let response: { success: boolean, error_message?: string };\n try {\n response = await this._interface.sendTestEmail({\n recipient_email: options.recipientEmail,\n email_config: {\n ...(pick(options.emailConfig, ['host', 'port', 'username', 'password'])),\n sender_email: options.emailConfig.senderEmail,\n sender_name: options.emailConfig.senderName,\n },\n });\n } catch (error) {\n // Translate the quota-exhaustion KnownError into the existing\n // Result.error shape so SDK/dashboard callers don't need to branch on\n // exceptions. The backend throws `ItemQuantityInsufficientAmount`\n // (consistent with every other limit-rejection endpoint), but this\n // method's historical contract has always been a `Result`.\n if (error instanceof KnownErrors.ItemQuantityInsufficientAmount) {\n return Result.error({\n errorMessage: \"Monthly email sending limit exceeded for your plan. Please upgrade your plan or wait until next month before sending more test emails.\",\n });\n }\n throw error;\n }\n\n if (response.success) {\n return Result.ok(undefined);\n } else {\n return Result.error({ errorMessage: response.error_message ?? throwErr(\"Email test error not specified\") });\n }\n }\n\n async sendTestWebhook(options: { endpointId: string }): Promise<Result<undefined, { errorMessage: string }>> {\n const response = await this._interface.sendTestWebhook({\n endpoint_id: options.endpointId,\n });\n\n if (response.success) {\n return Result.ok(undefined);\n } else {\n return Result.error({ errorMessage: response.error_message ?? throwErr(\"Webhook test error not specified\") });\n }\n }\n\n async listSentEmails(): Promise<AdminSentEmail[]> {\n const response = await this._interface.listSentEmails();\n return response.items.map((email) => ({\n id: email.id,\n to: email.to ?? [],\n subject: email.subject,\n recipient: email.to?.[0] ?? \"\",\n sentAt: new Date(email.sent_at_millis),\n error: email.error,\n }));\n }\n\n async setupManagedEmailProvider(options: { subdomain: string, senderLocalPart: string }): Promise<ManagedEmailProviderSetupResult> {\n const response = await this._interface.setupManagedEmailProvider({\n subdomain: options.subdomain,\n sender_local_part: options.senderLocalPart,\n });\n return {\n domainId: response.domain_id,\n subdomain: response.subdomain,\n senderLocalPart: response.sender_local_part,\n nameServerRecords: response.name_server_records,\n status: response.status,\n };\n }\n\n async checkManagedEmailStatus(options: { domainId: string, subdomain: string, senderLocalPart: string }): Promise<ManagedEmailProviderStatus> {\n const response = await this._interface.checkManagedEmailStatus({\n domain_id: options.domainId,\n subdomain: options.subdomain,\n sender_local_part: options.senderLocalPart,\n });\n return {\n status: response.status,\n };\n }\n\n async listManagedEmailDomains(): Promise<ManagedEmailProviderListItem[]> {\n const response = await this._interface.listManagedEmailDomains();\n return response.items.map((item) => ({\n domainId: item.domain_id,\n subdomain: item.subdomain,\n senderLocalPart: item.sender_local_part,\n status: item.status,\n nameServerRecords: item.name_server_records,\n }));\n }\n\n async applyManagedEmailProvider(options: { domainId: string }): Promise<{ status: \"applied\" }> {\n const result = await this._interface.applyManagedEmailProvider({\n domain_id: options.domainId,\n });\n await this._refreshProjectConfig();\n return result;\n }\n\n async deleteManagedEmailDomain(options: { resendDomainId: string }): Promise<{ status: \"deleted\" }> {\n return await this._interface.deleteManagedEmailDomain({\n resend_domain_id: options.resendDomainId,\n });\n }\n\n async sendSignInInvitationEmail(email: string, callbackUrl: string): Promise<void> {\n await this._interface.sendSignInInvitationEmail(email, callbackUrl);\n }\n\n async createEmailTemplate(displayName: string): Promise<{ id: string }> {\n const result = await this._interface.createEmailTemplate(displayName);\n await this._adminEmailTemplatesCache.refresh([]);\n\n return result;\n }\n\n async deleteEmailTemplate(id: string): Promise<void> {\n await this._interface.deleteEmailTemplate(id);\n await this._adminEmailTemplatesCache.refresh([]);\n }\n\n async createEmailDraft(options: { displayName: string, themeId?: string | false, tsxSource?: string }): Promise<{ id: string }> {\n const result = await this._interface.createEmailDraft({\n display_name: options.displayName,\n theme_id: options.themeId,\n tsx_source: options.tsxSource,\n });\n await this._adminEmailDraftsCache.refresh([]);\n return result;\n }\n\n async updateEmailDraft(id: string, data: { displayName?: string, themeId?: string | undefined | false, tsxSource?: string }): Promise<void> {\n await this._interface.updateEmailDraft(id, {\n display_name: data.displayName,\n theme_id: data.themeId,\n tsx_source: data.tsxSource,\n });\n await this._adminEmailDraftsCache.refresh([]);\n }\n\n async deleteEmailDraft(id: string): Promise<void> {\n await this._interface.deleteEmailDraft(id);\n const current = this._adminEmailDraftsCache.getIfCached([]);\n if (current.status === \"ok\" && current.data.status === \"ok\") {\n this._adminEmailDraftsCache.forceSetCachedValue([], Result.ok(current.data.data.filter((d) => d.id !== id)));\n }\n await this._adminEmailDraftsCache.refresh([]);\n }\n\n async refreshEmailDrafts(): Promise<void> {\n await this._adminEmailDraftsCache.refresh([]);\n }\n\n async saveChatMessage(threadId: string, message: any): Promise<void> {\n await this._interface.saveChatMessage(threadId, message);\n }\n\n async listChatMessages(threadId: string): Promise<{ messages: Array<any> }> {\n return await this._interface.listChatMessages(threadId);\n }\n\n async rewriteTemplateSourceWithAI(templateTsxSource: string): Promise<{ tsxSource: string }> {\n const result = await this._interface.rewriteTemplateSourceWithAI(templateTsxSource);\n return { tsxSource: result.tsx_source };\n }\n\n async createEmailTheme(displayName: string): Promise<{ id: string }> {\n const result = await this._interface.createEmailTheme(displayName);\n await this._adminEmailThemesCache.refresh([]);\n return result;\n }\n\n async getEmailPreview(options: { themeId?: string | null | false, themeTsxSource?: string, templateId?: string, templateTsxSource?: string }): Promise<string> {\n const result = Result.orThrow(await this._emailPreviewCache.getOrWait([options.themeId, options.themeTsxSource, options.templateId, options.templateTsxSource], \"write-only\"));\n return result.html;\n }\n useEmailPreview(options: { themeId?: string | null | false, themeTsxSource?: string, templateId?: string, templateTsxSource?: string }): string {\n const crud = useAsyncCache(this._emailPreviewCache, [options.themeId, options.themeTsxSource, options.templateId, options.templateTsxSource] as const, \"adminApp.useEmailPreview()\");\n return crud.html;\n }\n async getEmailPreviewWithEditableMarkers(options: { themeId?: string | null | false, themeTsxSource?: string, templateId?: string, templateTsxSource?: string, editableSource?: 'template' | 'theme' | 'both' }): Promise<{ html: string, editableRegions?: Record<string, unknown> }> {\n const result = await this._interface.renderEmailPreview({ ...options, editableMarkers: true, editableSource: options.editableSource });\n return { html: result.html, editableRegions: result.editable_regions };\n }\n useEmailPreviewWithEditableMarkers(options: { themeId?: string | null | false, themeTsxSource?: string, templateId?: string, templateTsxSource?: string, editableSource?: 'template' | 'theme' | 'both' }): { html: string, editableRegions?: Record<string, unknown> } {\n const crud = useAsyncCache(this._emailPreviewWithEditableMarkersCache, [options.themeId, options.themeTsxSource, options.templateId, options.templateTsxSource, options.editableSource] as const, \"adminApp.useEmailPreviewWithEditableMarkers()\");\n return { html: crud.html, editableRegions: crud.editable_regions };\n }\n useEmailTheme(id: string): { displayName: string, tsxSource: string } {\n const crud = useAsyncCache(this._adminEmailThemeCache, [id] as const, \"adminApp.useEmailTheme()\");\n return {\n displayName: crud.display_name,\n tsxSource: crud.tsx_source,\n };\n }\n async updateEmailTheme(id: string, tsxSource: string): Promise<void> {\n await this._interface.updateEmailTheme(id, tsxSource);\n await this._adminEmailThemesCache.refresh([]);\n await this._adminEmailThemeCache.invalidate([id]);\n }\n\n async deleteEmailTheme(id: string): Promise<void> {\n await this._interface.deleteEmailTheme(id);\n await this._adminEmailThemesCache.refresh([]);\n await this._adminEmailThemeCache.invalidate([id]);\n }\n\n async updateEmailTemplate(id: string, tsxSource: string, themeId: string | null | false): Promise<{ renderedHtml: string }> {\n const result = await this._interface.updateEmailTemplate(id, tsxSource, themeId);\n await this._adminEmailTemplatesCache.refresh([]);\n return { renderedHtml: result.rendered_html };\n }\n\n async setupPayments(): Promise<{ url: string }> {\n const result = await this._interface.setupPayments();\n await this._stripeAccountInfoCache.refresh([]);\n return result;\n }\n\n async createStripeWidgetAccountSession(): Promise<{ client_secret: string }> {\n return await this._interface.createStripeWidgetAccountSession();\n }\n\n async getPaymentMethodConfigs(): Promise<{ configId: string, methods: Array<{ id: string, name: string, enabled: boolean, available: boolean, overridable: boolean }> } | null> {\n return await this._interface.getPaymentMethodConfigs();\n }\n\n async updatePaymentMethodConfigs(configId: string, updates: Record<string, 'on' | 'off'>): Promise<void> {\n await this._interface.updatePaymentMethodConfigs(configId, updates);\n }\n\n async createItemQuantityChange(options: (\n { userId: string, itemId: string, quantity: number, expiresAt?: string, description?: string } |\n { teamId: string, itemId: string, quantity: number, expiresAt?: string, description?: string } |\n { customCustomerId: string, itemId: string, quantity: number, expiresAt?: string, description?: string }\n )): Promise<void> {\n await this._interface.updateItemQuantity(\n { itemId: options.itemId, ...(\"userId\" in options ? { userId: options.userId } : (\"teamId\" in options ? { teamId: options.teamId } : { customCustomerId: options.customCustomerId })) },\n {\n delta: options.quantity,\n expires_at: options.expiresAt,\n description: options.description,\n allow_negative: true,\n }\n );\n }\n\n async refundTransaction(options: {\n type: \"subscription\" | \"one-time-purchase\",\n id: string,\n invoiceId?: string,\n amountUsd: MoneyAmount,\n endAction?: \"now\" | \"at-period-end\",\n }): Promise<{ refundTransactionId: string }> {\n const result = await this._interface.refundTransaction({\n type: options.type,\n id: options.id,\n invoiceId: options.invoiceId,\n amountUsd: options.amountUsd,\n endAction: options.endAction,\n });\n await this._transactionsCache.invalidateWhere(() => true);\n return { refundTransactionId: result.refundTransactionId };\n }\n\n async listTransactions(params: { cursor?: string, limit?: number, type?: TransactionType, customerType?: 'user' | 'team' | 'custom', customerId?: string }): Promise<{ transactions: Transaction[], nextCursor: string | null }> {\n const crud = Result.orThrow(await this._transactionsCache.getOrWait([params.cursor, params.limit, params.type, params.customerType, params.customerId] as const, \"write-only\"));\n return crud;\n }\n\n // Email Outbox methods\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Complex discriminated union conversion from API response\n private _emailOutboxCrudToAdmin(crud: any): AdminEmailOutbox {\n const recipient = crud.to;\n let to: AdminEmailOutbox[\"to\"];\n if (recipient.type === \"user-primary-email\") {\n to = { type: \"user-primary-email\", userId: recipient.user_id };\n } else if (recipient.type === \"user-custom-emails\") {\n to = { type: \"user-custom-emails\", userId: recipient.user_id, emails: recipient.emails };\n } else {\n to = { type: \"custom-emails\", emails: recipient.emails };\n }\n\n // Base fields present on all emails\n const base = {\n id: crud.id as string,\n createdAt: new Date(crud.created_at_millis),\n updatedAt: new Date(crud.updated_at_millis),\n tsxSource: crud.tsx_source as string,\n themeId: (crud.theme_id as string | null) ?? null,\n to,\n scheduledAt: new Date(crud.scheduled_at_millis),\n // Source tracking for grouping emails by template/draft\n createdWith: crud.created_with as \"draft\" | \"programmatic-call\",\n emailDraftId: crud.email_draft_id as string | null,\n emailProgrammaticCallTemplateId: crud.email_programmatic_call_template_id as string | null,\n variables: (crud.variables ?? {}) as Record<string, Json>,\n isPaused: false as const,\n hasRendered: false as const,\n hasDelivered: false as const,\n // Retry tracking fields\n sendRetries: crud.send_retries as number,\n nextSendRetryAt: crud.next_send_retry_at_millis ? new Date(crud.next_send_retry_at_millis) : null,\n sendAttemptErrors: crud.send_attempt_errors ? (crud.send_attempt_errors as Array<{\n attempt_number: number,\n timestamp: string,\n external_message: string,\n external_details: Record<string, unknown>,\n internal_message: string,\n internal_details: Record<string, unknown>,\n }>).map((e) => ({\n attemptNumber: e.attempt_number,\n timestamp: e.timestamp,\n externalMessage: e.external_message,\n externalDetails: e.external_details,\n internalMessage: e.internal_message,\n internalDetails: e.internal_details,\n })) : null,\n };\n\n // Rendered fields (available after rendering completes successfully)\n const rendered = crud.has_rendered ? {\n ...base,\n startedRenderingAt: new Date(crud.started_rendering_at_millis),\n renderedAt: new Date(crud.rendered_at_millis),\n subject: crud.subject as string,\n html: crud.html as string | null,\n text: crud.text as string | null,\n isTransactional: crud.is_transactional as boolean,\n isHighPriority: crud.is_high_priority as boolean,\n notificationCategoryId: crud.notification_category_id as string | null,\n hasRendered: true as const,\n } : null;\n\n // Started sending fields\n const startedSending = rendered && crud.started_sending_at_millis ? {\n ...rendered,\n startedSendingAt: new Date(crud.started_sending_at_millis),\n } : null;\n\n // Finished delivering fields\n const finishedDelivering = startedSending && crud.has_delivered ? {\n ...startedSending,\n deliveredAt: new Date(crud.delivered_at_millis),\n hasDelivered: true as const,\n } : null;\n\n // Use type assertion at the end because TypeScript has trouble with\n // spread + override patterns on discriminated unions with const literal types\n const result = (() => {\n switch (crud.status) {\n case \"paused\": {\n return {\n ...base,\n status: \"paused\" as const,\n simpleStatus: \"in-progress\" as const,\n isPaused: true as const,\n };\n }\n case \"preparing\": {\n return {\n ...base,\n status: \"preparing\" as const,\n simpleStatus: \"in-progress\" as const,\n };\n }\n case \"rendering\": {\n return {\n ...base,\n status: \"rendering\" as const,\n simpleStatus: \"in-progress\" as const,\n startedRenderingAt: new Date(crud.started_rendering_at_millis),\n };\n }\n case \"render-error\": {\n return {\n ...base,\n status: \"render-error\" as const,\n simpleStatus: \"error\" as const,\n startedRenderingAt: new Date(crud.started_rendering_at_millis),\n renderedAt: new Date(crud.rendered_at_millis),\n renderError: crud.render_error,\n };\n }\n case \"scheduled\": {\n return {\n ...rendered!,\n status: \"scheduled\" as const,\n simpleStatus: \"in-progress\" as const,\n };\n }\n case \"queued\": {\n return {\n ...rendered!,\n status: \"queued\" as const,\n simpleStatus: \"in-progress\" as const,\n };\n }\n case \"sending\": {\n return {\n ...startedSending!,\n status: \"sending\" as const,\n simpleStatus: \"in-progress\" as const,\n };\n }\n case \"server-error\": {\n return {\n ...startedSending!,\n status: \"server-error\" as const,\n simpleStatus: \"error\" as const,\n errorAt: new Date(crud.error_at_millis),\n serverError: crud.server_error,\n };\n }\n case \"skipped\": {\n return {\n ...base,\n status: \"skipped\" as const,\n simpleStatus: \"ok\" as const,\n skippedAt: new Date(crud.skipped_at_millis),\n skippedReason: crud.skipped_reason,\n skippedDetails: crud.skipped_details ?? {},\n hasRendered: crud.has_rendered as boolean,\n // Optional fields\n startedRenderingAt: crud.started_rendering_at_millis ? new Date(crud.started_rendering_at_millis) : undefined,\n renderedAt: crud.rendered_at_millis ? new Date(crud.rendered_at_millis) : undefined,\n subject: crud.subject,\n html: crud.html,\n text: crud.text,\n isTransactional: crud.is_transactional,\n isHighPriority: crud.is_high_priority,\n notificationCategoryId: crud.notification_category_id,\n startedSendingAt: crud.started_sending_at_millis ? new Date(crud.started_sending_at_millis) : undefined,\n };\n }\n case \"bounced\": {\n return {\n ...startedSending!,\n status: \"bounced\" as const,\n simpleStatus: \"error\" as const,\n bouncedAt: new Date(crud.bounced_at_millis),\n };\n }\n case \"delivery-delayed\": {\n return {\n ...startedSending!,\n status: \"delivery-delayed\" as const,\n simpleStatus: \"ok\" as const,\n deliveryDelayedAt: new Date(crud.delivery_delayed_at_millis),\n };\n }\n case \"sent\": {\n return {\n ...finishedDelivering!,\n status: \"sent\" as const,\n simpleStatus: \"ok\" as const,\n canHaveDeliveryInfo: crud.can_have_delivery_info,\n };\n }\n case \"opened\": {\n return {\n ...finishedDelivering!,\n status: \"opened\" as const,\n simpleStatus: \"ok\" as const,\n openedAt: new Date(crud.opened_at_millis),\n canHaveDeliveryInfo: true as const,\n };\n }\n case \"clicked\": {\n return {\n ...finishedDelivering!,\n status: \"clicked\" as const,\n simpleStatus: \"ok\" as const,\n clickedAt: new Date(crud.clicked_at_millis),\n canHaveDeliveryInfo: true as const,\n };\n }\n case \"marked-as-spam\": {\n return {\n ...finishedDelivering!,\n status: \"marked-as-spam\" as const,\n simpleStatus: \"ok\" as const,\n markedAsSpamAt: new Date(crud.marked_as_spam_at_millis),\n canHaveDeliveryInfo: true as const,\n };\n }\n default: {\n throw new HexclaveAssertionError(`Unknown email outbox status: ${crud.status}`, { status: crud.status });\n }\n }\n })();\n // The type system has difficulty with spread + override patterns on discriminated unions,\n // so we use a type assertion here. The switch statement above ensures we return the correct shape.\n return result as AdminEmailOutbox;\n }\n\n async listOutboxEmails(options?: { status?: string, simpleStatus?: string, userId?: string, limit?: number, cursor?: string }): Promise<{ items: AdminEmailOutbox[], nextCursor: string | null }> {\n const response = await this._interface.listOutboxEmails({\n status: options?.status,\n simple_status: options?.simpleStatus,\n user_id: options?.userId,\n limit: options?.limit,\n cursor: options?.cursor,\n });\n return {\n items: response.items.map((item) => this._emailOutboxCrudToAdmin(item)),\n nextCursor: response.pagination?.next_cursor ?? null,\n };\n }\n\n async getOutboxEmail(id: string): Promise<AdminEmailOutbox> {\n const response = await this._interface.getOutboxEmail(id);\n return this._emailOutboxCrudToAdmin(response);\n }\n\n async updateOutboxEmail(id: string, options: EmailOutboxUpdateOptions): Promise<AdminEmailOutbox> {\n const response = await this._interface.updateOutboxEmail(id, {\n is_paused: options.isPaused,\n scheduled_at_millis: options.scheduledAtMillis,\n cancel: options.cancel,\n tsx_source: options.tsxSource,\n theme_id: options.themeId,\n });\n return this._emailOutboxCrudToAdmin(response);\n }\n\n async pauseOutboxEmail(id: string): Promise<AdminEmailOutbox> {\n return await this.updateOutboxEmail(id, { isPaused: true });\n }\n\n async unpauseOutboxEmail(id: string): Promise<AdminEmailOutbox> {\n return await this.updateOutboxEmail(id, { isPaused: false });\n }\n\n async cancelOutboxEmail(id: string): Promise<AdminEmailOutbox> {\n return await this.updateOutboxEmail(id, { cancel: true });\n }\n\n useTransactions(params: { cursor?: string, limit?: number, type?: TransactionType, customerType?: 'user' | 'team' | 'custom', customerId?: string }): { transactions: Transaction[], nextCursor: string | null } {\n const data = useAsyncCache(this._transactionsCache, [params.cursor, params.limit, params.type, params.customerType, params.customerId] as const, \"adminApp.useTransactions()\");\n return data;\n }\n\n async getStripeAccountInfo(): Promise<null | { account_id: string, charges_enabled: boolean, details_submitted: boolean, payouts_enabled: boolean }> {\n return Result.orThrow(await this._stripeAccountInfoCache.getOrWait([], \"write-only\"));\n }\n\n useStripeAccountInfo(): { account_id: string, charges_enabled: boolean, details_submitted: boolean, payouts_enabled: boolean } | null {\n const data = useAsyncCache(this._stripeAccountInfoCache, [], \"adminApp.useStripeAccountInfo()\");\n return data;\n }\n\n async queryAnalytics(options: AnalyticsQueryOptions): Promise<AnalyticsQueryResponse> {\n return await this._interface.queryAnalytics(options);\n }\n\n async getAnalyticsClickmap(options: AnalyticsClickmapOptions): Promise<AnalyticsClickmapResponse> {\n return await this._interface.getAnalyticsClickmap({\n kind: options.kind,\n member_user_ids: options.memberUserIds,\n route_path: options.routePath,\n route_regex: options.routeRegex,\n url_pattern: options.urlPattern,\n user_id: options.userId,\n replay_id: options.replayId,\n device: options.device,\n viewport_width_min: options.viewportWidthMin,\n viewport_width_max: options.viewportWidthMax,\n sampling: options.sampling,\n since: options.since,\n until: options.until,\n });\n }\n\n async createAnalyticsClickmapToken(options: { origin: string }): Promise<AnalyticsClickmapTokenResponse> {\n return await this._interface.createAnalyticsClickmapToken(options);\n }\n\n async listSessionReplays(options?: ListSessionReplaysOptions): Promise<ListSessionReplaysResult> {\n const response = await this._interface.listSessionReplays({\n cursor: options?.cursor,\n limit: options?.limit,\n user_ids: options?.userIds,\n team_ids: options?.teamIds,\n duration_ms_min: options?.durationMsMin,\n duration_ms_max: options?.durationMsMax,\n last_event_at_from_millis: options?.lastEventAtFromMillis,\n last_event_at_to_millis: options?.lastEventAtToMillis,\n click_count_min: options?.clickCountMin,\n });\n\n const items: AdminSessionReplay[] = response.items.map((r) => ({\n id: r.id,\n projectUser: {\n id: r.project_user.id,\n displayName: r.project_user.display_name,\n primaryEmail: r.project_user.primary_email,\n },\n startedAt: new Date(r.started_at_millis),\n lastEventAt: new Date(r.last_event_at_millis),\n chunkCount: r.chunk_count,\n eventCount: r.event_count,\n }));\n\n return {\n items,\n nextCursor: response.pagination.next_cursor,\n };\n }\n\n async getSessionReplay(sessionReplayId: string): Promise<AdminSessionReplay> {\n const response = await this._interface.getSessionReplay(sessionReplayId);\n return {\n id: response.id,\n projectUser: {\n id: response.project_user.id,\n displayName: response.project_user.display_name,\n primaryEmail: response.project_user.primary_email,\n },\n startedAt: new Date(response.started_at_millis),\n lastEventAt: new Date(response.last_event_at_millis),\n chunkCount: response.chunk_count,\n eventCount: response.event_count,\n };\n }\n\n async listSessionReplayChunks(sessionReplayId: string, options?: ListSessionReplayChunksOptions): Promise<ListSessionReplayChunksResult> {\n const response = await this._interface.listSessionReplayChunks(sessionReplayId, {\n cursor: options?.cursor,\n limit: options?.limit,\n });\n\n const items: AdminSessionReplayChunk[] = response.items.map((c) => ({\n id: c.id,\n batchId: c.batch_id,\n sessionReplaySegmentId: c.session_replay_segment_id,\n browserSessionId: c.browser_session_id,\n eventCount: c.event_count,\n byteLength: c.byte_length,\n firstEventAt: new Date(c.first_event_at_millis),\n lastEventAt: new Date(c.last_event_at_millis),\n createdAt: new Date(c.created_at_millis),\n }));\n\n return {\n items,\n nextCursor: response.pagination.next_cursor,\n };\n }\n\n async getSessionReplayChunkEvents(sessionReplayId: string, chunkId: string): Promise<AdminGetSessionReplayChunkEventsResponse> {\n return await this._interface.getSessionReplayChunkEvents(sessionReplayId, chunkId);\n }\n\n async getSessionReplayEvents(sessionReplayId: string, options?: { offset?: number, limit?: number }): Promise<SessionReplayAllEventsResult> {\n const response = await this._interface.getSessionReplayEvents(sessionReplayId, options);\n return {\n chunks: response.chunks.map((c) => ({\n id: c.id,\n batchId: c.batch_id,\n sessionReplaySegmentId: c.session_replay_segment_id,\n eventCount: c.event_count,\n byteLength: c.byte_length,\n firstEventAt: new Date(c.first_event_at_millis),\n lastEventAt: new Date(c.last_event_at_millis),\n createdAt: new Date(c.created_at_millis),\n })),\n chunkEvents: response.chunk_events.map((ce) => ({\n chunkId: ce.chunk_id,\n events: ce.events,\n })),\n };\n }\n\n async previewAffectedUsersByOnboardingChange(\n onboarding: { requireEmailVerification?: boolean },\n limit?: number,\n ): Promise<{\n affectedUsers: Array<{\n id: string,\n displayName: string | null,\n primaryEmail: string | null,\n restrictedReason: RestrictedReason,\n }>,\n totalAffectedCount: number,\n }> {\n const result = await this._interface.previewAffectedUsersByOnboardingChange(\n { require_email_verification: onboarding.requireEmailVerification },\n limit,\n );\n return {\n affectedUsers: result.affected_users.map(u => ({\n id: u.id,\n displayName: u.display_name,\n primaryEmail: u.primary_email,\n restrictedReason: u.restricted_reason as RestrictedReason,\n })),\n totalAffectedCount: result.total_affected_count,\n };\n }\n}\n"],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- const require_chunk = require('../../../../chunk-BE-pF4vm.js');
2
1
  let vitest = require("vitest");
3
2
  let ______common_js = require("../../common.js");
4
3
  let _hexclave_shared_dist_sessions = require("@hexclave/shared/dist/sessions");
5
4
  let _hexclave_shared_dist_utils_stores = require("@hexclave/shared/dist/utils/stores");
6
5
  let ___interfaces_client_app_js = require("../interfaces/client-app.js");
7
-
8
6
  //#region src/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.ts
9
7
  function createAccessTokenString(refreshTokenId) {
10
8
  const encode = (value) => Buffer.from(JSON.stringify(value)).toString("base64url");
@@ -560,6 +558,6 @@ function createMockDocument() {
560
558
  }
561
559
  });
562
560
  });
563
-
564
561
  //#endregion
562
+
565
563
  //# sourceMappingURL=client-app-impl.cross-domain.test.js.map