@hexclave/js 1.0.41 → 1.0.43

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 (401) hide show
  1. package/dist/admin-app-impl-6qQFRdrQ.d.ts +1095 -0
  2. package/dist/admin-app-impl-6qQFRdrQ.d.ts.map +1 -0
  3. package/dist/clickmap/clickmap-core.d.ts +1 -2
  4. package/dist/clickmap/clickmap-core.d.ts.map +1 -1
  5. package/dist/clickmap/clickmap-core.js +2 -4
  6. package/dist/clickmap/clickmap-core.js.map +1 -1
  7. package/dist/clickmap/clickmap-styles.js +3 -6
  8. package/dist/clickmap/clickmap-styles.js.map +1 -1
  9. package/dist/clickmap/index.d.ts +1 -2
  10. package/dist/clickmap/index.d.ts.map +1 -1
  11. package/dist/clickmap/index.js +2 -4
  12. package/dist/clickmap/index.js.map +1 -1
  13. package/dist/client-app-D8-Lm4RT.d.ts +1235 -0
  14. package/dist/client-app-D8-Lm4RT.d.ts.map +1 -0
  15. package/dist/common-BDyEKSM6.d.ts +174 -0
  16. package/dist/common-BDyEKSM6.d.ts.map +1 -0
  17. package/dist/common-CRu2FsO9.d.ts +65 -0
  18. package/dist/common-CRu2FsO9.d.ts.map +1 -0
  19. package/dist/config.js +17 -19
  20. package/dist/cookie-DTOQvCYn.d.ts +42 -0
  21. package/dist/cookie-DTOQvCYn.d.ts.map +1 -0
  22. package/dist/dev-tool/dev-tool-core.d.ts +1 -2
  23. package/dist/dev-tool/dev-tool-core.d.ts.map +1 -1
  24. package/dist/dev-tool/dev-tool-core.js +2 -4
  25. package/dist/dev-tool/dev-tool-core.js.map +1 -1
  26. package/dist/dev-tool/dev-tool-styles.js +3 -6
  27. package/dist/dev-tool/dev-tool-styles.js.map +1 -1
  28. package/dist/dev-tool/dev-tool-trigger-position.d.ts.map +1 -1
  29. package/dist/dev-tool/dev-tool-trigger-position.js +6 -7
  30. package/dist/dev-tool/dev-tool-trigger-position.js.map +1 -1
  31. package/dist/dev-tool/dev-tool-trigger-position.test.js +1 -3
  32. package/dist/dev-tool/dev-tool-trigger-position.test.js.map +1 -1
  33. package/dist/dev-tool/index.d.ts +1 -2
  34. package/dist/dev-tool/index.d.ts.map +1 -1
  35. package/dist/dev-tool/index.js +2 -4
  36. package/dist/dev-tool/index.js.map +1 -1
  37. package/dist/esm/clickmap/clickmap-core.d.ts +1 -1
  38. package/dist/esm/clickmap/clickmap-core.d.ts.map +1 -1
  39. package/dist/esm/clickmap/clickmap-core.js +1 -2
  40. package/dist/esm/clickmap/clickmap-core.js.map +1 -1
  41. package/dist/esm/clickmap/clickmap-styles.js +1 -2
  42. package/dist/esm/clickmap/clickmap-styles.js.map +1 -1
  43. package/dist/esm/clickmap/index.d.ts +1 -1
  44. package/dist/esm/clickmap/index.d.ts.map +1 -1
  45. package/dist/esm/clickmap/index.js +1 -2
  46. package/dist/esm/clickmap/index.js.map +1 -1
  47. package/dist/esm/config.js +1 -2
  48. package/dist/esm/dev-tool/dev-tool-core.d.ts +1 -1
  49. package/dist/esm/dev-tool/dev-tool-core.d.ts.map +1 -1
  50. package/dist/esm/dev-tool/dev-tool-core.js +1 -2
  51. package/dist/esm/dev-tool/dev-tool-core.js.map +1 -1
  52. package/dist/esm/dev-tool/dev-tool-styles.js +1 -2
  53. package/dist/esm/dev-tool/dev-tool-styles.js.map +1 -1
  54. package/dist/esm/dev-tool/dev-tool-trigger-position.d.ts.map +1 -1
  55. package/dist/esm/dev-tool/dev-tool-trigger-position.js +5 -5
  56. package/dist/esm/dev-tool/dev-tool-trigger-position.js.map +1 -1
  57. package/dist/esm/dev-tool/dev-tool-trigger-position.test.js +2 -3
  58. package/dist/esm/dev-tool/dev-tool-trigger-position.test.js.map +1 -1
  59. package/dist/esm/dev-tool/index.d.ts +1 -1
  60. package/dist/esm/dev-tool/index.d.ts.map +1 -1
  61. package/dist/esm/dev-tool/index.js +1 -2
  62. package/dist/esm/dev-tool/index.js.map +1 -1
  63. package/dist/esm/generated/env.js +1 -1
  64. package/dist/esm/generated/env.js.map +1 -1
  65. package/dist/esm/global.d.ts.map +1 -1
  66. package/dist/esm/in-page-ui/base-styles.d.ts.map +1 -1
  67. package/dist/esm/in-page-ui/base-styles.js +1 -1
  68. package/dist/esm/in-page-ui/base-styles.js.map +1 -1
  69. package/dist/esm/in-page-ui/dom.d.ts.map +1 -1
  70. package/dist/esm/in-page-ui/dom.js +1 -1
  71. package/dist/esm/in-page-ui/dom.js.map +1 -1
  72. package/dist/esm/index.d.ts +2 -2
  73. package/dist/esm/index.js +2 -4
  74. package/dist/esm/integrations/convex/component/convex.config.d.ts +1 -3
  75. package/dist/esm/integrations/convex/component/convex.config.d.ts.map +1 -1
  76. package/dist/esm/integrations/convex/component/convex.config.js +1 -2
  77. package/dist/esm/integrations/convex/component/convex.config.js.map +1 -1
  78. package/dist/esm/integrations/convex.js +1 -2
  79. package/dist/esm/integrations/convex.js.map +1 -1
  80. package/dist/esm/lib/auth.js +1 -2
  81. package/dist/esm/lib/auth.js.map +1 -1
  82. package/dist/esm/lib/auth.test.js +2 -3
  83. package/dist/esm/lib/auth.test.js.map +1 -1
  84. package/dist/esm/lib/cookie.d.ts.map +1 -1
  85. package/dist/esm/lib/cookie.js +4 -22
  86. package/dist/esm/lib/cookie.js.map +1 -1
  87. package/dist/esm/lib/hexclave-app/api-keys/index.d.ts.map +1 -1
  88. package/dist/esm/lib/hexclave-app/api-keys/index.js +1 -2
  89. package/dist/esm/lib/hexclave-app/api-keys/index.js.map +1 -1
  90. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts +34 -42
  91. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -1
  92. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js +1 -2
  93. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -1
  94. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js +2 -3
  95. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -1
  96. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts +26 -28
  97. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -1
  98. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js +1 -2
  99. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
  100. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js +2 -3
  101. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -1
  102. package/dist/esm/lib/hexclave-app/apps/implementations/common.d.ts +1 -1
  103. package/dist/esm/lib/hexclave-app/apps/implementations/common.d.ts.map +1 -1
  104. package/dist/esm/lib/hexclave-app/apps/implementations/common.js +7 -8
  105. package/dist/esm/lib/hexclave-app/apps/implementations/common.js.map +1 -1
  106. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.d.ts.map +1 -1
  107. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.js +1 -2
  108. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -1
  109. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.test.js +2 -3
  110. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -1
  111. package/dist/esm/lib/hexclave-app/apps/implementations/index.d.ts +3 -3
  112. package/dist/esm/lib/hexclave-app/apps/implementations/index.d.ts.map +1 -1
  113. package/dist/esm/lib/hexclave-app/apps/implementations/index.js +1 -2
  114. package/dist/esm/lib/hexclave-app/apps/implementations/index.js.map +1 -1
  115. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts +1 -1
  116. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts.map +1 -1
  117. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.js +1 -2
  118. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -1
  119. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.d.ts +13 -13
  120. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.d.ts.map +1 -1
  121. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.js +1 -2
  122. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -1
  123. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.d.ts.map +1 -1
  124. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.js +1 -1
  125. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.js.map +1 -1
  126. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js +2 -3
  127. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js.map +1 -1
  128. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.d.ts.map +1 -1
  129. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.js +13 -7
  130. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -1
  131. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.test.js +134 -3
  132. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -1
  133. package/dist/esm/lib/hexclave-app/apps/index.d.ts +3 -3
  134. package/dist/esm/lib/hexclave-app/apps/index.js +1 -2
  135. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.d.ts +8 -8
  136. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.d.ts.map +1 -1
  137. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.js +1 -2
  138. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -1
  139. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.d.ts +6 -6
  140. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.d.ts.map +1 -1
  141. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.js +1 -2
  142. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -1
  143. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.d.ts +7 -7
  144. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.d.ts.map +1 -1
  145. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.js +1 -2
  146. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.js.map +1 -1
  147. package/dist/esm/lib/hexclave-app/common.d.ts.map +1 -1
  148. package/dist/esm/lib/hexclave-app/common.js +1 -1
  149. package/dist/esm/lib/hexclave-app/common.js.map +1 -1
  150. package/dist/esm/lib/hexclave-app/connected-accounts/index.d.ts.map +1 -1
  151. package/dist/esm/lib/hexclave-app/connected-accounts/index.js +1 -1
  152. package/dist/esm/lib/hexclave-app/contact-channels/index.d.ts.map +1 -1
  153. package/dist/esm/lib/hexclave-app/contact-channels/index.js +1 -1
  154. package/dist/esm/lib/hexclave-app/contact-channels/index.js.map +1 -1
  155. package/dist/esm/lib/hexclave-app/customers/index.d.ts +1 -1
  156. package/dist/esm/lib/hexclave-app/customers/index.d.ts.map +1 -1
  157. package/dist/esm/lib/hexclave-app/customers/index.js +1 -1
  158. package/dist/esm/lib/hexclave-app/data-vault/index.d.ts +1 -1
  159. package/dist/esm/lib/hexclave-app/data-vault/index.d.ts.map +1 -1
  160. package/dist/esm/lib/hexclave-app/data-vault/index.js +1 -1
  161. package/dist/esm/lib/hexclave-app/email/index.d.ts.map +1 -1
  162. package/dist/esm/lib/hexclave-app/email/index.js +1 -1
  163. package/dist/esm/lib/hexclave-app/email-templates/index.d.ts.map +1 -1
  164. package/dist/esm/lib/hexclave-app/email-templates/index.js +1 -1
  165. package/dist/esm/lib/hexclave-app/email-templates/index.js.map +1 -1
  166. package/dist/esm/lib/hexclave-app/index.d.ts +14 -14
  167. package/dist/esm/lib/hexclave-app/index.js +1 -2
  168. package/dist/esm/lib/hexclave-app/internal-api-keys/index.d.ts.map +1 -1
  169. package/dist/esm/lib/hexclave-app/internal-api-keys/index.js +1 -1
  170. package/dist/esm/lib/hexclave-app/internal-api-keys/index.js.map +1 -1
  171. package/dist/esm/lib/hexclave-app/notification-categories/index.d.ts.map +1 -1
  172. package/dist/esm/lib/hexclave-app/notification-categories/index.js +1 -1
  173. package/dist/esm/lib/hexclave-app/permissions/index.d.ts.map +1 -1
  174. package/dist/esm/lib/hexclave-app/permissions/index.js +1 -1
  175. package/dist/esm/lib/hexclave-app/permissions/index.js.map +1 -1
  176. package/dist/esm/lib/hexclave-app/plan-usage/index.d.ts.map +1 -1
  177. package/dist/esm/lib/hexclave-app/plan-usage/index.js +1 -1
  178. package/dist/esm/lib/hexclave-app/project-configs/index.d.ts +1 -1
  179. package/dist/esm/lib/hexclave-app/project-configs/index.d.ts.map +1 -1
  180. package/dist/esm/lib/hexclave-app/project-configs/index.js +1 -1
  181. package/dist/esm/lib/hexclave-app/projects/index.d.ts +2 -2
  182. package/dist/esm/lib/hexclave-app/projects/index.d.ts.map +1 -1
  183. package/dist/esm/lib/hexclave-app/projects/index.js +5 -1
  184. package/dist/esm/lib/hexclave-app/projects/index.js.map +1 -1
  185. package/dist/esm/lib/hexclave-app/session-replays/index.d.ts.map +1 -1
  186. package/dist/esm/lib/hexclave-app/session-replays/index.js +1 -1
  187. package/dist/esm/lib/hexclave-app/teams/index.d.ts +4 -4
  188. package/dist/esm/lib/hexclave-app/teams/index.d.ts.map +1 -1
  189. package/dist/esm/lib/hexclave-app/teams/index.js +1 -1
  190. package/dist/esm/lib/hexclave-app/teams/index.js.map +1 -1
  191. package/dist/esm/lib/hexclave-app/url-targets.d.ts +1 -1
  192. package/dist/esm/lib/hexclave-app/url-targets.d.ts.map +1 -1
  193. package/dist/esm/lib/hexclave-app/url-targets.js +2 -3
  194. package/dist/esm/lib/hexclave-app/url-targets.js.map +1 -1
  195. package/dist/esm/lib/hexclave-app/url-targets.test.js +2 -3
  196. package/dist/esm/lib/hexclave-app/url-targets.test.js.map +1 -1
  197. package/dist/esm/lib/hexclave-app/users/index.d.ts +10 -10
  198. package/dist/esm/lib/hexclave-app/users/index.d.ts.map +1 -1
  199. package/dist/esm/lib/hexclave-app/users/index.js +1 -2
  200. package/dist/esm/lib/hexclave-app/users/index.js.map +1 -1
  201. package/dist/esm/pushed-config-error-overlay/index.d.ts +1 -1
  202. package/dist/esm/pushed-config-error-overlay/index.d.ts.map +1 -1
  203. package/dist/esm/pushed-config-error-overlay/index.js +1 -2
  204. package/dist/esm/pushed-config-error-overlay/index.js.map +1 -1
  205. package/dist/esm/pushed-config-error-overlay/index.test.js +2 -3
  206. package/dist/esm/pushed-config-error-overlay/index.test.js.map +1 -1
  207. package/dist/esm/utils/url.d.ts.map +1 -1
  208. package/dist/esm/utils/url.js +1 -2
  209. package/dist/esm/utils/url.js.map +1 -1
  210. package/dist/generated/env.js +2 -3
  211. package/dist/generated/env.js.map +1 -1
  212. package/dist/global.d.ts.map +1 -1
  213. package/dist/in-page-ui/base-styles.d.ts.map +1 -1
  214. package/dist/in-page-ui/base-styles.js +2 -3
  215. package/dist/in-page-ui/base-styles.js.map +1 -1
  216. package/dist/in-page-ui/dom.d.ts.map +1 -1
  217. package/dist/in-page-ui/dom.js +2 -3
  218. package/dist/in-page-ui/dom.js.map +1 -1
  219. package/dist/index-BKZ67WMa.d.ts +1 -0
  220. package/dist/index-BVVgDSdq.d.ts +1 -0
  221. package/dist/index-Bo5DpPFH.d.ts +17 -0
  222. package/dist/index-Bo5DpPFH.d.ts.map +1 -0
  223. package/dist/index-CBDR4cNg.d.ts +206 -0
  224. package/dist/index-CBDR4cNg.d.ts.map +1 -0
  225. package/dist/index-ClBTM-St.d.ts +40 -0
  226. package/dist/index-ClBTM-St.d.ts.map +1 -0
  227. package/dist/index-D7Vdg30O.d.ts +27 -0
  228. package/dist/index-D7Vdg30O.d.ts.map +1 -0
  229. package/dist/index-DLPccxVU.d.ts +14 -0
  230. package/dist/index-DLPccxVU.d.ts.map +1 -0
  231. package/dist/index-DN04TjLM.d.ts +43 -0
  232. package/dist/index-DN04TjLM.d.ts.map +1 -0
  233. package/dist/index-DSzMf-rS.d.ts +43 -0
  234. package/dist/index-DSzMf-rS.d.ts.map +1 -0
  235. package/dist/index-Dq4xsW7_.d.ts +106 -0
  236. package/dist/index-Dq4xsW7_.d.ts.map +1 -0
  237. package/dist/index-O3hJsHSl.d.ts +11 -0
  238. package/dist/index-O3hJsHSl.d.ts.map +1 -0
  239. package/dist/index-TUtJOdMm.d.ts +42 -0
  240. package/dist/index-TUtJOdMm.d.ts.map +1 -0
  241. package/dist/index-ZiEXZJBF.d.ts +129 -0
  242. package/dist/index-ZiEXZJBF.d.ts.map +1 -0
  243. package/dist/index-fOYcs4NH.d.ts +53 -0
  244. package/dist/{lib/hexclave-app/api-keys/index.d.ts.map → index-fOYcs4NH.d.ts.map} +1 -1
  245. package/dist/index-hYjsGKNc.d.ts +66 -0
  246. package/dist/index-hYjsGKNc.d.ts.map +1 -0
  247. package/dist/index.d.ts +11 -16
  248. package/dist/index.js +23 -23
  249. package/dist/integrations/convex/component/convex.config.d.ts +1 -1
  250. package/dist/integrations/convex/component/convex.config.d.ts.map +1 -1
  251. package/dist/integrations/convex/component/convex.config.js +2 -5
  252. package/dist/integrations/convex/component/convex.config.js.map +1 -1
  253. package/dist/integrations/convex.js +2 -4
  254. package/dist/integrations/convex.js.map +1 -1
  255. package/dist/lib/auth.js +2 -4
  256. package/dist/lib/auth.js.map +1 -1
  257. package/dist/lib/auth.test.js +1 -3
  258. package/dist/lib/auth.test.js.map +1 -1
  259. package/dist/lib/cookie.d.ts +2 -42
  260. package/dist/lib/cookie.js +7 -25
  261. package/dist/lib/cookie.js.map +1 -1
  262. package/dist/lib/hexclave-app/api-keys/index.d.ts +2 -53
  263. package/dist/lib/hexclave-app/api-keys/index.js +2 -4
  264. package/dist/lib/hexclave-app/api-keys/index.js.map +1 -1
  265. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts +2 -376
  266. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js +2 -4
  267. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -1
  268. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js +1 -3
  269. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -1
  270. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts +2 -554
  271. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js +4 -5
  272. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
  273. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js +1 -3
  274. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -1
  275. package/dist/lib/hexclave-app/apps/implementations/common.d.ts +2 -65
  276. package/dist/lib/hexclave-app/apps/implementations/common.js +7 -9
  277. package/dist/lib/hexclave-app/apps/implementations/common.js.map +1 -1
  278. package/dist/lib/hexclave-app/apps/implementations/event-tracker.d.ts.map +1 -1
  279. package/dist/lib/hexclave-app/apps/implementations/event-tracker.js +2 -4
  280. package/dist/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -1
  281. package/dist/lib/hexclave-app/apps/implementations/event-tracker.test.js +1 -3
  282. package/dist/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -1
  283. package/dist/lib/hexclave-app/apps/implementations/index.d.ts +1 -3
  284. package/dist/lib/hexclave-app/apps/implementations/index.d.ts.map +1 -1
  285. package/dist/lib/hexclave-app/apps/implementations/index.js +2 -4
  286. package/dist/lib/hexclave-app/apps/implementations/index.js.map +1 -1
  287. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts +2 -35
  288. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.js +2 -4
  289. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -1
  290. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.d.ts +2 -217
  291. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.js +2 -4
  292. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -1
  293. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.d.ts.map +1 -1
  294. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.js +2 -3
  295. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.js.map +1 -1
  296. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js +1 -3
  297. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js.map +1 -1
  298. package/dist/lib/hexclave-app/apps/implementations/session-replay.d.ts +2 -122
  299. package/dist/lib/hexclave-app/apps/implementations/session-replay.js +14 -9
  300. package/dist/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -1
  301. package/dist/lib/hexclave-app/apps/implementations/session-replay.test.js +135 -3
  302. package/dist/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -1
  303. package/dist/lib/hexclave-app/apps/index.d.ts +1 -3
  304. package/dist/lib/hexclave-app/apps/index.js +32 -34
  305. package/dist/lib/hexclave-app/apps/interfaces/admin-app.d.ts +3 -255
  306. package/dist/lib/hexclave-app/apps/interfaces/admin-app.js +3 -6
  307. package/dist/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -1
  308. package/dist/lib/hexclave-app/apps/interfaces/client-app.d.ts +2 -219
  309. package/dist/lib/hexclave-app/apps/interfaces/client-app.js +3 -6
  310. package/dist/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -1
  311. package/dist/lib/hexclave-app/apps/interfaces/server-app.d.ts +2 -133
  312. package/dist/lib/hexclave-app/apps/interfaces/server-app.js +3 -6
  313. package/dist/lib/hexclave-app/apps/interfaces/server-app.js.map +1 -1
  314. package/dist/lib/hexclave-app/common.d.ts +2 -174
  315. package/dist/lib/hexclave-app/common.js +2 -3
  316. package/dist/lib/hexclave-app/common.js.map +1 -1
  317. package/dist/lib/hexclave-app/connected-accounts/index.d.ts +2 -40
  318. package/dist/lib/hexclave-app/contact-channels/index.d.ts +2 -43
  319. package/dist/lib/hexclave-app/contact-channels/index.js +2 -3
  320. package/dist/lib/hexclave-app/contact-channels/index.js.map +1 -1
  321. package/dist/lib/hexclave-app/customers/index.d.ts +2 -129
  322. package/dist/lib/hexclave-app/data-vault/index.d.ts +2 -14
  323. package/dist/lib/hexclave-app/email/index.d.ts +2 -206
  324. package/dist/lib/hexclave-app/email-templates/index.d.ts +2 -17
  325. package/dist/lib/hexclave-app/email-templates/index.js +2 -3
  326. package/dist/lib/hexclave-app/email-templates/index.js.map +1 -1
  327. package/dist/lib/hexclave-app/index.d.ts +10 -15
  328. package/dist/lib/hexclave-app/index.js +49 -51
  329. package/dist/lib/hexclave-app/internal-api-keys/index.d.ts +2 -42
  330. package/dist/lib/hexclave-app/internal-api-keys/index.js +2 -3
  331. package/dist/lib/hexclave-app/internal-api-keys/index.js.map +1 -1
  332. package/dist/lib/hexclave-app/notification-categories/index.d.ts +2 -11
  333. package/dist/lib/hexclave-app/permissions/index.d.ts +2 -43
  334. package/dist/lib/hexclave-app/permissions/index.js +2 -3
  335. package/dist/lib/hexclave-app/permissions/index.js.map +1 -1
  336. package/dist/lib/hexclave-app/plan-usage/index.d.ts +2 -27
  337. package/dist/lib/hexclave-app/project-configs/index.d.ts +2 -106
  338. package/dist/lib/hexclave-app/projects/index.d.ts +2 -152
  339. package/dist/lib/hexclave-app/projects/index.js +6 -3
  340. package/dist/lib/hexclave-app/projects/index.js.map +1 -1
  341. package/dist/lib/hexclave-app/session-replays/index.d.ts +2 -66
  342. package/dist/lib/hexclave-app/teams/index.d.ts +2 -164
  343. package/dist/lib/hexclave-app/teams/index.js +2 -3
  344. package/dist/lib/hexclave-app/teams/index.js.map +1 -1
  345. package/dist/lib/hexclave-app/url-targets.d.ts +2 -39
  346. package/dist/lib/hexclave-app/url-targets.js +3 -5
  347. package/dist/lib/hexclave-app/url-targets.js.map +1 -1
  348. package/dist/lib/hexclave-app/url-targets.test.js +1 -3
  349. package/dist/lib/hexclave-app/url-targets.test.js.map +1 -1
  350. package/dist/lib/hexclave-app/users/index.d.ts +2 -357
  351. package/dist/lib/hexclave-app/users/index.js +2 -4
  352. package/dist/lib/hexclave-app/users/index.js.map +1 -1
  353. package/dist/pushed-config-error-overlay/index.d.ts +1 -2
  354. package/dist/pushed-config-error-overlay/index.d.ts.map +1 -1
  355. package/dist/pushed-config-error-overlay/index.js +2 -4
  356. package/dist/pushed-config-error-overlay/index.js.map +1 -1
  357. package/dist/pushed-config-error-overlay/index.test.js +1 -3
  358. package/dist/pushed-config-error-overlay/index.test.js.map +1 -1
  359. package/dist/redirect-page-urls-elbPx2J1.d.ts +35 -0
  360. package/dist/redirect-page-urls-elbPx2J1.d.ts.map +1 -0
  361. package/dist/{chunk-BE-pF4vm.js → rolldown-runtime-D6vf50IK.js} +12 -18
  362. package/dist/session-replay-8_3WCrsZ.d.ts +122 -0
  363. package/dist/session-replay-8_3WCrsZ.d.ts.map +1 -0
  364. package/dist/{storage-CKsyME2q.d.ts → storage-CA867GtX.d.ts} +1 -1
  365. package/dist/storage-CA867GtX.d.ts.map +1 -0
  366. package/dist/url-targets-BJgkwPGW.d.ts +39 -0
  367. package/dist/url-targets-BJgkwPGW.d.ts.map +1 -0
  368. package/dist/utils/url.d.ts.map +1 -1
  369. package/dist/utils/url.js +2 -4
  370. package/dist/utils/url.js.map +1 -1
  371. package/package.json +4 -4
  372. package/src/lib/hexclave-app/apps/implementations/session-replay.test.ts +160 -1
  373. package/src/lib/hexclave-app/apps/implementations/session-replay.ts +38 -12
  374. package/dist/lib/cookie.d.ts.map +0 -1
  375. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +0 -1
  376. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +0 -1
  377. package/dist/lib/hexclave-app/apps/implementations/common.d.ts.map +0 -1
  378. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts.map +0 -1
  379. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.d.ts.map +0 -1
  380. package/dist/lib/hexclave-app/apps/implementations/session-replay.d.ts.map +0 -1
  381. package/dist/lib/hexclave-app/apps/interfaces/admin-app.d.ts.map +0 -1
  382. package/dist/lib/hexclave-app/apps/interfaces/client-app.d.ts.map +0 -1
  383. package/dist/lib/hexclave-app/apps/interfaces/server-app.d.ts.map +0 -1
  384. package/dist/lib/hexclave-app/common.d.ts.map +0 -1
  385. package/dist/lib/hexclave-app/connected-accounts/index.d.ts.map +0 -1
  386. package/dist/lib/hexclave-app/contact-channels/index.d.ts.map +0 -1
  387. package/dist/lib/hexclave-app/customers/index.d.ts.map +0 -1
  388. package/dist/lib/hexclave-app/data-vault/index.d.ts.map +0 -1
  389. package/dist/lib/hexclave-app/email/index.d.ts.map +0 -1
  390. package/dist/lib/hexclave-app/email-templates/index.d.ts.map +0 -1
  391. package/dist/lib/hexclave-app/internal-api-keys/index.d.ts.map +0 -1
  392. package/dist/lib/hexclave-app/notification-categories/index.d.ts.map +0 -1
  393. package/dist/lib/hexclave-app/permissions/index.d.ts.map +0 -1
  394. package/dist/lib/hexclave-app/plan-usage/index.d.ts.map +0 -1
  395. package/dist/lib/hexclave-app/project-configs/index.d.ts.map +0 -1
  396. package/dist/lib/hexclave-app/projects/index.d.ts.map +0 -1
  397. package/dist/lib/hexclave-app/session-replays/index.d.ts.map +0 -1
  398. package/dist/lib/hexclave-app/teams/index.d.ts.map +0 -1
  399. package/dist/lib/hexclave-app/url-targets.d.ts.map +0 -1
  400. package/dist/lib/hexclave-app/users/index.d.ts.map +0 -1
  401. package/dist/storage-CKsyME2q.d.ts.map +0 -1
@@ -0,0 +1,1095 @@
1
+ import { _ as ResolvedHandlerUrls, a as EmailConfig, f as HandlerUrls, g as RequestLike, h as RedirectToOptions, m as RedirectMethod, o as GetCurrentPartialUserOptions, p as OAuthScopesOnSignIn, r as ConvexCtx, s as GetCurrentUserOptions, u as HandlerUrlOptions, v as TokenStoreInit, y as hexclaveAppInternalsSymbol } from "./common-BDyEKSM6.js";
2
+ import { c as CustomerInvoicesRequestOptions, d as CustomerProductsList, g as ServerItem, h as Item, m as InlineProduct, n as CustomerBilling, o as CustomerInvoicesList, p as CustomerProductsRequestOptions, t as Customer } from "./index-ZiEXZJBF.js";
3
+ import { D as SendEmailOptions, S as AdminSentEmail, t as AdminEmailOutbox, w as EmailDeliveryInfo } from "./index-CBDR4cNg.js";
4
+ import { a as InternalApiKeyFirstView, i as InternalApiKeyCreateOptions, n as InternalApiKeyBase, r as InternalApiKeyBaseCrudRead, t as InternalApiKey } from "./index-TUtJOdMm.js";
5
+ import { a as AdminTeamPermission, c as AdminTeamPermissionDefinitionUpdateOptions, i as AdminProjectPermissionDefinitionUpdateOptions, n as AdminProjectPermissionDefinition, o as AdminTeamPermissionDefinition, r as AdminProjectPermissionDefinitionCreateOptions, s as AdminTeamPermissionDefinitionCreateOptions, t as AdminProjectPermission, u as TeamPermission } from "./index-DSzMf-rS.js";
6
+ import { t as PlanUsage } from "./index-D7Vdg30O.js";
7
+ import { t as DataVaultStore } from "./index-DLPccxVU.js";
8
+ import { t as ApiKey } from "./index-fOYcs4NH.js";
9
+ import { n as DeprecatedOAuthConnection, r as OAuthConnection } from "./index-ClBTM-St.js";
10
+ import { i as ServerContactChannel, t as ContactChannel } from "./index-DN04TjLM.js";
11
+ import { t as NotificationCategory } from "./index-O3hJsHSl.js";
12
+ import { B as ServerListUsersOptions, Ct as UserExtra, D as StackAdminApp, E as ManagedEmailProviderStatus, F as StackServerAppConstructorOptions, G as ServerTeamUser, H as ServerTeamCreateOptions, I as EditableTeamMemberProfile, K as Team, L as ReceivedTeamInvitation, Q as TeamUser, R as SentTeamInvitation, T as ManagedEmailProviderSetupResult, V as ServerTeam, _t as ServerUserCreateOptions, a as StackClientApp, at as BaseUser, b as EmailOutboxUpdateOptions, c as StackClientAppJson, dt as OAuthProvider, f as AdminProjectUpdateOptions, ft as ProjectCurrentServerUser, gt as ServerUser, ht as ServerOAuthProvider, it as Auth, k as StackAdminAppConstructorOptions, l as AdminOwnedProject, p as Project, pt as ProjectCurrentUser, rt as ActiveSession, s as StackClientAppConstructorOptions, u as AdminProject, ut as InternalUserExtra, w as ManagedEmailProviderListItem, wt as UserUpdateOptions, xt as TokenPartialUser, z as ServerListTeamsOptions } from "./client-app-D8-Lm4RT.js";
13
+ import { a as ListSessionReplaysOptions, i as ListSessionReplayChunksResult, o as ListSessionReplaysResult, r as ListSessionReplayChunksOptions, s as SessionReplayAllEventsResult, t as AdminSessionReplay } from "./index-hYjsGKNc.js";
14
+ import { t as AnalyticsOptions } from "./session-replay-8_3WCrsZ.js";
15
+ import { t as CookieHelper } from "./cookie-DTOQvCYn.js";
16
+ import { t as AdminEmailTemplate } from "./index-Bo5DpPFH.js";
17
+ import { t as TokenObject } from "./common-CRu2FsO9.js";
18
+ import { t as CrossDomainHandoffParams } from "./redirect-page-urls-elbPx2J1.js";
19
+ import { HexclaveAdminInterface, HexclaveClientInterface, HexclaveServerInterface, KnownError, KnownErrors } from "@hexclave/shared";
20
+ import { CurrentUserCrud } from "@hexclave/shared/dist/interface/crud/current-user";
21
+ import { Result } from "@hexclave/shared/dist/utils/results";
22
+ import { ProviderType } from "@hexclave/shared/dist/utils/oauth";
23
+ import { RequestListener } from "@hexclave/shared/dist/interface/client-interface";
24
+ import { RestrictedReason } from "@hexclave/shared/dist/schema-fields";
25
+ import * as yup from "yup";
26
+ import { ClientProjectsCrud, ProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
27
+ import { CompleteConfig } from "@hexclave/shared/dist/config/schema";
28
+ import { AnalyticsClickmapOptions, AnalyticsClickmapResponse, AnalyticsClickmapTokenResponse } from "@hexclave/shared/dist/interface/admin-metrics";
29
+ import { AnalyticsQueryOptions, AnalyticsQueryResponse } from "@hexclave/shared/dist/interface/crud/analytics";
30
+ import { AdminGetSessionReplayChunkEventsResponse } from "@hexclave/shared/dist/interface/crud/session-replays";
31
+ import { Transaction, TransactionType } from "@hexclave/shared/dist/interface/crud/transactions";
32
+ import { InternalSession } from "@hexclave/shared/dist/sessions";
33
+ import { MoneyAmount } from "@hexclave/shared/dist/utils/currency-constants";
34
+ import { InternalApiKeyCreateCrudResponse } from "@hexclave/shared/dist/interface/admin-interface";
35
+ import { InternalApiKeysCrud } from "@hexclave/shared/dist/interface/crud/internal-api-keys";
36
+ import { ProjectPermissionDefinitionsCrud, ProjectPermissionsCrud } from "@hexclave/shared/dist/interface/crud/project-permissions";
37
+ import { TeamPermissionDefinitionsCrud, TeamPermissionsCrud } from "@hexclave/shared/dist/interface/crud/team-permissions";
38
+ import { TeamsCrud } from "@hexclave/shared/dist/interface/crud/teams";
39
+ import { TeamApiKeysCrud, UserApiKeysCrud, teamApiKeysCreateOutputSchema, userApiKeysCreateOutputSchema } from "@hexclave/shared/dist/interface/crud/project-api-keys";
40
+ import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
41
+ import { ContactChannelsCrud } from "@hexclave/shared/dist/interface/crud/contact-channels";
42
+ import { EmailTemplateCrud } from "@hexclave/shared/dist/interface/crud/email-templates";
43
+ import { ItemCrud } from "@hexclave/shared/dist/interface/crud/items";
44
+ import { NotificationPreferenceCrud } from "@hexclave/shared/dist/interface/crud/notification-preferences";
45
+ import { OAuthProviderCrud } from "@hexclave/shared/dist/interface/crud/oauth-providers";
46
+ import { TeamInvitationCrud } from "@hexclave/shared/dist/interface/crud/team-invitation";
47
+ import { TeamMemberProfilesCrud } from "@hexclave/shared/dist/interface/crud/team-member-profiles";
48
+ import { CustomerInvoicesListResponse } from "@hexclave/shared/dist/interface/crud/invoices";
49
+ import { CustomerProductsListResponse } from "@hexclave/shared/dist/interface/crud/products";
50
+ import { SessionsCrud } from "@hexclave/shared/dist/interface/crud/sessions";
51
+ import { Store } from "@hexclave/shared/dist/utils/stores";
52
+ import * as cookie from "cookie";
53
+
54
+ //#region src/lib/hexclave-app/apps/implementations/client-app-impl.d.ts
55
+ type HexclaveClientAppImplConstructorOptionsResolved<HasTokenStore extends boolean, ProjectId extends string> = StackClientAppConstructorOptions<HasTokenStore, ProjectId> & {
56
+ inheritsFrom?: undefined;
57
+ };
58
+ declare class _HexclaveClientAppImplIncomplete<HasTokenStore extends boolean, ProjectId extends string = string> implements StackClientApp<HasTokenStore, ProjectId> {
59
+ /**
60
+ * There is a circular dependency between the admin app and the client app, as the former inherits from the latter and
61
+ * the latter needs to use the former when creating a new instance of an internal project.
62
+ *
63
+ * To break it, we set the admin app here lazily instead of importing it directly. This variable is set by ./index.ts,
64
+ * which imports both this file and ./admin-app-impl.ts.
65
+ */
66
+ static readonly LazyStackAdminAppImpl: {
67
+ value: typeof _HexclaveAdminAppImplIncomplete | undefined;
68
+ };
69
+ protected readonly _options: HexclaveClientAppImplConstructorOptionsResolved<HasTokenStore, ProjectId>;
70
+ protected readonly _extraOptions: {
71
+ uniqueIdentifier?: string;
72
+ checkString?: string;
73
+ interface?: HexclaveClientInterface;
74
+ } | undefined;
75
+ protected _uniqueIdentifier: string | undefined;
76
+ protected _interface: HexclaveClientInterface;
77
+ protected readonly _tokenStoreInit: TokenStoreInit<HasTokenStore>;
78
+ protected readonly _redirectMethod: RedirectMethod | undefined;
79
+ protected readonly _urlOptions: HandlerUrlOptions;
80
+ protected readonly _oauthScopesOnSignIn: Partial<OAuthScopesOnSignIn>;
81
+ private readonly _analyticsOptions;
82
+ private _sessionRecorder;
83
+ private _eventTracker;
84
+ private __DEMO_ENABLE_SLIGHT_FETCH_DELAY;
85
+ private readonly _ownedAdminApps;
86
+ private readonly _currentUserCache;
87
+ private readonly _currentProjectCache;
88
+ private readonly _ownedProjectsCache;
89
+ private readonly _currentUserPermissionsCache;
90
+ private readonly _currentUserProjectPermissionsCache;
91
+ private readonly _currentUserTeamsCache;
92
+ /** @deprecated Used by legacy getConnectedAccount(providerId) — uses old per-provider access token endpoint */
93
+ private readonly _currentUserOAuthConnectionAccessTokensCache;
94
+ /** @deprecated Used by legacy getConnectedAccount(providerId) — combines token check + redirect */
95
+ private readonly _currentUserOAuthConnectionCache;
96
+ private readonly _currentUserConnectedAccountsCache;
97
+ private readonly _currentUserOAuthConnectionAccessTokensByAccountCache;
98
+ private readonly _currentUserValidConnectedAccountForProviderCache;
99
+ private readonly _teamMemberProfilesCache;
100
+ private readonly _teamInvitationsCache;
101
+ private readonly _currentUserTeamProfileCache;
102
+ private readonly _currentUserTeamInvitationsCache;
103
+ private readonly _clientContactChannelsCache;
104
+ private readonly _userApiKeysCache;
105
+ private readonly _teamApiKeysCache;
106
+ private readonly _notificationCategoriesCache;
107
+ private readonly _currentUserOAuthProvidersCache;
108
+ private readonly _userItemCache;
109
+ private readonly _teamItemCache;
110
+ private readonly _customItemCache;
111
+ private readonly _userProductsCache;
112
+ private readonly _teamProductsCache;
113
+ private readonly _customProductsCache;
114
+ private readonly _userInvoicesCache;
115
+ private readonly _teamInvoicesCache;
116
+ private readonly _customerBillingCache;
117
+ private readonly _convexPartialUserCache;
118
+ private readonly _trustedParentDomainCache;
119
+ private _anonymousSignUpInProgress;
120
+ private _prefetchedCrossDomainHandoffParams;
121
+ private _prefetchedCrossDomainHandoffParamsFetchedAt;
122
+ private _isPrefetchingCrossDomainHandoffParams;
123
+ private _pendingAuthResolutionPromises;
124
+ protected _createCookieHelper(overrideTokenStoreInit?: TokenStoreInit): Promise<CookieHelper>;
125
+ /** @deprecated Used by legacy getConnectedAccount(providerId) — combines user check + token check + redirect into one cache */
126
+ protected _getUserOAuthConnectionCacheFn(options: {
127
+ getUser: () => Promise<CurrentUserCrud['Client']['Read'] | null>;
128
+ getOrWaitOAuthToken: () => Promise<{
129
+ accessToken: string;
130
+ } | null>;
131
+ providerId: ProviderType;
132
+ scope: string | null;
133
+ } & ({
134
+ redirect: true;
135
+ session: InternalSession | null;
136
+ } | {
137
+ redirect: false;
138
+ })): Promise<DeprecatedOAuthConnection | null>;
139
+ protected _createOAuthConnectionFromCrudItem(item: {
140
+ provider: string;
141
+ provider_account_id: string;
142
+ }, session: InternalSession): OAuthConnection;
143
+ constructor(options: StackClientAppConstructorOptions<HasTokenStore, ProjectId>, extraOptions?: {
144
+ uniqueIdentifier?: string;
145
+ checkString?: string;
146
+ interface?: HexclaveClientInterface;
147
+ });
148
+ protected _initUniqueIdentifier(): void;
149
+ protected _trackPendingAuthResolution(callback: () => Promise<unknown>): void;
150
+ protected _awaitPendingAuthResolutions(overrideTokenStoreInit?: TokenStoreInit, options?: {
151
+ awaitPendingAuthResolutions?: boolean;
152
+ }): Promise<void>;
153
+ protected _isOAuthCallbackUrlHosted(): boolean;
154
+ protected _currentUrlLooksLikeOAuthCallback(): boolean;
155
+ protected _currentUrlLooksLikeOAuthCallbackError(): boolean;
156
+ protected _currentUrlLooksLikeHexclaveOAuthCallback(): boolean;
157
+ protected _currentUrlLooksLikeNestedCrossDomainOAuthCallback(): boolean;
158
+ protected _getOAuthCallbackRedirectUri(): string;
159
+ protected _redirectToOAuthCallbackError(error: KnownError): Promise<void>;
160
+ protected _handleHostedOAuthCallbackDuringStartup(): Promise<void>;
161
+ protected _fetchCurrentRefreshTokenIdIfSignedIn(options?: {
162
+ awaitPendingAuthResolutions?: boolean;
163
+ overrideTokenStoreInit?: TokenStoreInit;
164
+ }): Promise<string | null>;
165
+ protected _addNestedCrossDomainAuthParamsToRedirectUrl(options: {
166
+ url: string;
167
+ currentUrl: URL;
168
+ awaitPendingAuthResolutions?: boolean;
169
+ overrideTokenStoreInit?: TokenStoreInit;
170
+ }): Promise<string>;
171
+ protected _maybeHandleNestedCrossDomainAuth(urlAtConstructionTime?: URL): Promise<boolean>;
172
+ /**
173
+ * Cloudflare workers does not allow use of randomness on the global scope (on which the Stack app is probably
174
+ * initialized). For that reason, we generate the unique identifier lazily when it is first needed instead of in the
175
+ * constructor.
176
+ */
177
+ protected _getUniqueIdentifier(): string;
178
+ protected _checkFeatureSupport(name: string, options: any): Promise<never>;
179
+ protected _useCheckFeatureSupport(name: string, options: any): never;
180
+ protected _memoryTokenStore: Store<TokenObject>;
181
+ protected _nextServerCookiesTokenStores: WeakMap<object, Store<TokenObject>>;
182
+ protected _requestTokenStores: WeakMap<RequestLike, Store<TokenObject>>;
183
+ protected _storedBrowserCookieTokenStore: Store<TokenObject> | null;
184
+ private _mostRecentQueuedCookieRefreshIndex;
185
+ protected get _legacyRefreshTokenCookieName(): string;
186
+ protected get _refreshTokenCookieName(): string;
187
+ private _getRefreshTokenDefaultCookieNameForSecure;
188
+ private _getCustomRefreshCookieName;
189
+ private _getDomainFromCustomRefreshCookieName;
190
+ private _formatRefreshCookieValue;
191
+ private _formatAccessCookieValue;
192
+ private _parseStructuredRefreshCookie;
193
+ private _extractRefreshTokenFromCookieMap;
194
+ protected _getTokensFromCookies(cookies: cookie.Cookies): TokenObject;
195
+ private _getCurrentBrowserCookieTokenStoreValue;
196
+ protected get _accessTokenCookieName(): string;
197
+ protected get _legacyAccessTokenCookieName(): string;
198
+ private _getAllBrowserCookies;
199
+ private _getRefreshTokenCookieNamePatterns;
200
+ private _collectRefreshTokenCookieNames;
201
+ private _prepareRefreshCookieUpdate;
202
+ private _ensureCrossSubdomainCookieExists;
203
+ private _queueCustomRefreshCookieUpdate;
204
+ private _getTrustedRedirectConfig;
205
+ private _getTrustedParentDomain;
206
+ protected _getBrowserCookieTokenStore(): Store<TokenObject>;
207
+ protected _getOrCreateTokenStore(cookieHelper: CookieHelper, overrideTokenStoreInit?: TokenStoreInit): Store<TokenObject>;
208
+ /**
209
+ * A map from token stores and session keys to sessions.
210
+ *
211
+ * This isn't just a map from session keys to sessions for two reasons:
212
+ *
213
+ * - So we can garbage-collect Session objects when the token store is garbage-collected
214
+ * - So different token stores are separated and don't leak information between each other, eg. if the same user sends two requests to the same server they should get a different session object
215
+ */
216
+ private _sessionsByTokenStoreAndSessionKey;
217
+ protected _getSessionFromTokenStore(tokenStore: Store<TokenObject>): InternalSession;
218
+ protected _getSession(overrideTokenStoreInit?: TokenStoreInit, options?: {
219
+ awaitPendingAuthResolutions?: boolean;
220
+ }): Promise<InternalSession>;
221
+ protected _signInToAccountWithTokens(tokens: {
222
+ accessToken: string | null;
223
+ refreshToken: string;
224
+ }): Promise<void>;
225
+ protected _getTokenStoreInitForFreshTokens(tokens: {
226
+ accessToken: string | null;
227
+ refreshToken: string;
228
+ }): TokenStoreInit | undefined;
229
+ protected _hasPersistentTokenStore(overrideTokenStoreInit?: TokenStoreInit): this is StackClientApp<true, ProjectId>;
230
+ protected _ensurePersistentTokenStore(overrideTokenStoreInit?: TokenStoreInit): asserts this is StackClientApp<true, ProjectId>;
231
+ protected _isInternalProject(): this is {
232
+ projectId: "internal";
233
+ };
234
+ protected _ensureInternalProject(): asserts this is {
235
+ projectId: "internal";
236
+ };
237
+ protected _clientProjectFromCrud(crud: ClientProjectsCrud['Client']['Read']): Project;
238
+ protected _clientPermissionFromCrud(crud: TeamPermissionsCrud['Client']['Read'] | ProjectPermissionsCrud['Client']['Read']): TeamPermission;
239
+ protected _clientTeamUserFromCrud(crud: TeamMemberProfilesCrud['Client']['Read']): TeamUser;
240
+ protected _clientSentTeamInvitationFromCrud(session: InternalSession, crud: TeamInvitationCrud['Client']['Read']): SentTeamInvitation;
241
+ protected _clientReceivedTeamInvitationFromCrud(session: InternalSession, crud: TeamInvitationCrud['Client']['Read']): ReceivedTeamInvitation;
242
+ protected _baseApiKeyFromCrud(crud: TeamApiKeysCrud['Client']['Read'] | UserApiKeysCrud['Client']['Read'] | yup.InferType<typeof teamApiKeysCreateOutputSchema> | yup.InferType<typeof userApiKeysCreateOutputSchema>): Omit<ApiKey<"user", boolean>, "revoke" | "update"> | Omit<ApiKey<"team", boolean>, "revoke" | "update">;
243
+ protected _clientApiKeyFromCrud(session: InternalSession, crud: TeamApiKeysCrud['Client']['Read']): ApiKey<"team">;
244
+ protected _clientApiKeyFromCrud(session: InternalSession, crud: UserApiKeysCrud['Client']['Read']): ApiKey<"user">;
245
+ protected _clientApiKeyFromCrud(session: InternalSession, crud: yup.InferType<typeof teamApiKeysCreateOutputSchema>): ApiKey<"team", true>;
246
+ protected _clientApiKeyFromCrud(session: InternalSession, crud: yup.InferType<typeof userApiKeysCreateOutputSchema>): ApiKey<"user", true>;
247
+ protected _clientTeamFromCrud(crud: TeamsCrud['Client']['Read'], session: InternalSession): Team;
248
+ protected _clientContactChannelFromCrud(crud: ContactChannelsCrud['Client']['Read'], session: InternalSession): ContactChannel;
249
+ protected _clientNotificationCategoryFromCrud(crud: NotificationPreferenceCrud['Client']['Read'], session: InternalSession): NotificationCategory;
250
+ protected _clientOAuthProviderFromCrud(crud: OAuthProviderCrud['Client']['Read'], session: InternalSession): OAuthProvider;
251
+ protected _clientItemFromCrud(crud: ItemCrud['Client']['Read']): Item;
252
+ protected _customerProductsFromResponse(response: CustomerProductsListResponse): CustomerProductsList;
253
+ protected _customerInvoicesFromResponse(response: CustomerInvoicesListResponse): CustomerInvoicesList;
254
+ protected _customerBillingFromResponse(response: {
255
+ has_customer: boolean;
256
+ default_payment_method: {
257
+ id: string;
258
+ brand: string | null;
259
+ last4: string | null;
260
+ exp_month: number | null;
261
+ exp_year: number | null;
262
+ } | null;
263
+ }): CustomerBilling;
264
+ protected _createAuth(session: InternalSession): Auth;
265
+ protected _editableTeamProfileFromCrud(crud: TeamMemberProfilesCrud['Client']['Read'], session: InternalSession): EditableTeamMemberProfile;
266
+ protected _createBaseUser(crud: NonNullable<CurrentUserCrud['Client']['Read']> | UsersCrud['Server']['Read']): BaseUser;
267
+ protected _createUserExtraFromCurrent(crud: NonNullable<CurrentUserCrud['Client']['Read']>, session: InternalSession): UserExtra;
268
+ protected _createInternalUserExtra(session: InternalSession): InternalUserExtra;
269
+ protected _createCustomer(userIdOrTeamId: string, type: "user" | "team", session: InternalSession | null): Omit<Customer, "id">;
270
+ getItem(options: {
271
+ itemId: string;
272
+ userId: string;
273
+ } | {
274
+ itemId: string;
275
+ teamId: string;
276
+ } | {
277
+ itemId: string;
278
+ customCustomerId: string;
279
+ }): Promise<Item>;
280
+ listProducts(options: CustomerProductsRequestOptions): Promise<CustomerProductsList>;
281
+ listInvoices(options: CustomerInvoicesRequestOptions): Promise<CustomerInvoicesList>;
282
+ cancelSubscription(options: {
283
+ productId: string;
284
+ subscriptionId?: string;
285
+ } | {
286
+ productId: string;
287
+ subscriptionId?: string;
288
+ teamId: string;
289
+ }): Promise<void>;
290
+ protected _currentUserFromCrud(crud: NonNullable<CurrentUserCrud['Client']['Read']>, session: InternalSession): ProjectCurrentUser<ProjectId>;
291
+ protected _clientSessionFromCrud(crud: SessionsCrud['Client']['Read']): ActiveSession;
292
+ protected _getOwnedAdminApp(forProjectId: string, session: InternalSession): _HexclaveAdminAppImplIncomplete<false, string>;
293
+ get projectId(): ProjectId;
294
+ get version(): string;
295
+ private _getBotChallengeSiteKeys;
296
+ private _getBotChallengeFlowFailure;
297
+ private _normalizeBotChallengeResult;
298
+ private _toInterfaceBotChallengeInput;
299
+ private _executeResultWithBotChallengeFlow;
300
+ protected _isTrusted(url: string): Promise<boolean>;
301
+ get urls(): Readonly<ResolvedHandlerUrls>;
302
+ protected _getUrls(): Readonly<ResolvedHandlerUrls>;
303
+ protected _prefetchCrossDomainHandoffParamsIfNeeded(): void;
304
+ protected _getCrossDomainHandoffParamsForUrlsGetter(currentUrl: URL): CrossDomainHandoffParams | null;
305
+ protected _getCrossDomainHandoffParamsForRedirect(currentUrl: URL): Promise<CrossDomainHandoffParams>;
306
+ protected _getLocalOAuthCallbackHandlerUrl(): string;
307
+ protected _createCrossDomainAuthRedirectUrl(options: {
308
+ redirectUri: string;
309
+ state: string;
310
+ codeChallenge: string;
311
+ afterCallbackRedirectUrl: string;
312
+ awaitPendingAuthResolutions?: boolean;
313
+ overrideTokenStoreInit?: TokenStoreInit;
314
+ }): Promise<string>;
315
+ protected _getFreshPrefetchedCrossDomainHandoffParams(): CrossDomainHandoffParams | null;
316
+ protected _getCurrentUrl(): Promise<URL | null>;
317
+ protected _redirectTo(options: {
318
+ url: URL | string;
319
+ replace?: boolean;
320
+ }): Promise<void>;
321
+ protected _redirectIfTrusted(url: string, options?: RedirectToOptions): Promise<void>;
322
+ protected _redirectToHandler(handlerName: keyof HandlerUrls, options?: RedirectToOptions, internalOptions?: {
323
+ awaitPendingAuthResolutions?: boolean;
324
+ overrideTokenStoreInit?: TokenStoreInit;
325
+ }): Promise<void>;
326
+ protected _getRedirectToHandlerUrl(handlerName: keyof HandlerUrls, options?: RedirectToOptions, internalOptions?: {
327
+ awaitPendingAuthResolutions?: boolean;
328
+ overrideTokenStoreInit?: TokenStoreInit;
329
+ }): Promise<string>;
330
+ protected _redirectToHandlerDuringRender(handlerName: keyof HandlerUrls, options?: RedirectToOptions): boolean;
331
+ redirectToSignIn(options?: RedirectToOptions): Promise<void>;
332
+ redirectToSignUp(options?: RedirectToOptions): Promise<void>;
333
+ redirectToSignOut(options?: RedirectToOptions): Promise<void>;
334
+ redirectToEmailVerification(options?: RedirectToOptions): Promise<void>;
335
+ redirectToPasswordReset(options?: RedirectToOptions): Promise<void>;
336
+ redirectToForgotPassword(options?: RedirectToOptions): Promise<void>;
337
+ redirectToHome(options?: RedirectToOptions): Promise<void>;
338
+ redirectToOAuthCallback(options?: RedirectToOptions): Promise<void>;
339
+ redirectToMagicLinkCallback(options?: RedirectToOptions): Promise<void>;
340
+ redirectToAfterSignIn(options?: RedirectToOptions): Promise<void>;
341
+ redirectToAfterSignUp(options?: RedirectToOptions): Promise<void>;
342
+ redirectToOnboarding(options?: RedirectToOptions): Promise<void>;
343
+ redirectToAfterSignOut(options?: RedirectToOptions): Promise<void>;
344
+ redirectToAccountSettings(options?: RedirectToOptions): Promise<void>;
345
+ redirectToError(options?: RedirectToOptions): Promise<void>;
346
+ redirectToTeamInvitation(options?: RedirectToOptions): Promise<void>;
347
+ redirectToCliAuthConfirm(options?: RedirectToOptions): Promise<void>;
348
+ redirectToMfa(options?: RedirectToOptions): Promise<void>;
349
+ sendForgotPasswordEmail(email: string, options?: {
350
+ callbackUrl?: string;
351
+ }): Promise<Result<undefined, KnownErrors["UserNotFound"]>>;
352
+ sendMagicLinkEmail(email: string, options?: {
353
+ callbackUrl?: string;
354
+ }): Promise<Result<{
355
+ nonce: string;
356
+ }, KnownErrors["RedirectUrlNotWhitelisted"] | KnownErrors["BotChallengeFailed"]>>;
357
+ resetPassword(options: {
358
+ password: string;
359
+ code: string;
360
+ }): Promise<Result<undefined, KnownErrors["VerificationCodeError"]>>;
361
+ verifyPasswordResetCode(code: string): Promise<Result<undefined, KnownErrors["VerificationCodeError"]>>;
362
+ verifyTeamInvitationCode(code: string): Promise<Result<undefined, KnownErrors["VerificationCodeError"] | KnownErrors["TeamInvitationEmailMismatch"]>>;
363
+ acceptTeamInvitation(code: string): Promise<Result<undefined, KnownErrors["VerificationCodeError"] | KnownErrors["TeamInvitationEmailMismatch"]>>;
364
+ getTeamInvitationDetails(code: string): Promise<Result<{
365
+ teamDisplayName: string;
366
+ }, KnownErrors["VerificationCodeError"] | KnownErrors["TeamInvitationEmailMismatch"]>>;
367
+ verifyEmail(code: string): Promise<Result<undefined, KnownErrors["VerificationCodeError"]>>;
368
+ getUser(options: GetCurrentUserOptions<HasTokenStore> & {
369
+ or: 'redirect';
370
+ }): Promise<ProjectCurrentUser<ProjectId>>;
371
+ getUser(options: GetCurrentUserOptions<HasTokenStore> & {
372
+ or: 'throw';
373
+ }): Promise<ProjectCurrentUser<ProjectId>>;
374
+ getUser(options: GetCurrentUserOptions<HasTokenStore> & {
375
+ or: 'anonymous';
376
+ }): Promise<ProjectCurrentUser<ProjectId>>;
377
+ getUser(options?: GetCurrentUserOptions<HasTokenStore>): Promise<ProjectCurrentUser<ProjectId> | null>;
378
+ _getTokenPartialUserFromSession(session: InternalSession, options: GetCurrentPartialUserOptions<HasTokenStore>): TokenPartialUser | null;
379
+ _getPartialUserFromConvex(ctx: ConvexCtx): Promise<TokenPartialUser | null>;
380
+ getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore> & {
381
+ from: 'token';
382
+ }): Promise<TokenPartialUser | null>;
383
+ getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore> & {
384
+ from: 'convex';
385
+ }): Promise<TokenPartialUser | null>;
386
+ getConvexClientAuth(options: {
387
+ tokenStore: TokenStoreInit;
388
+ }): (args: {
389
+ forceRefreshToken: boolean;
390
+ }) => Promise<string | null>;
391
+ getConvexHttpClientAuth(options: {
392
+ tokenStore: TokenStoreInit;
393
+ }): Promise<string>;
394
+ protected _updateClientUser(update: UserUpdateOptions, session: InternalSession): Promise<void>;
395
+ signInWithOAuth(provider: ProviderType, options?: {
396
+ returnTo?: string;
397
+ }): Promise<void>;
398
+ /**
399
+ * Handles MFA verification by redirecting to the OTP page
400
+ */
401
+ protected _experimentalMfa(error: KnownErrors['MultiFactorAuthenticationRequired'], session: InternalSession): Promise<never>;
402
+ /**
403
+ * @deprecated
404
+ * TODO remove
405
+ */
406
+ protected _catchMfaRequiredError<T, E>(callback: () => Promise<Result<T, E>>): Promise<Result<T | {
407
+ accessToken: string;
408
+ refreshToken: string;
409
+ newUser: boolean;
410
+ }, E>>;
411
+ signInWithCredential(options: {
412
+ email: string;
413
+ password: string;
414
+ noRedirect?: boolean;
415
+ }): Promise<Result<undefined, KnownErrors["EmailPasswordMismatch"] | KnownErrors["InvalidTotpCode"]>>;
416
+ signUpWithCredential(options: {
417
+ email: string;
418
+ password: string;
419
+ noRedirect?: boolean;
420
+ noVerificationCallback?: boolean;
421
+ verificationCallbackUrl?: string;
422
+ }): Promise<Result<undefined, KnownErrors["UserWithEmailAlreadyExists"] | KnownErrors['PasswordRequirementsNotMet'] | KnownErrors["BotChallengeFailed"]>>;
423
+ _signUpAnonymously(): Promise<{
424
+ accessToken: string;
425
+ refreshToken: string;
426
+ }>;
427
+ signInWithMagicLink(code: string, options?: {
428
+ noRedirect?: boolean;
429
+ }): Promise<Result<undefined, KnownErrors["VerificationCodeError"] | KnownErrors["InvalidTotpCode"]>>;
430
+ /**
431
+ * Initiates a CLI authentication process that allows a command line application
432
+ * to get a refresh token for a user's account.
433
+ *
434
+ * This process works as follows:
435
+ * 1. The CLI app calls this method, which initiates the auth process with the server
436
+ * 2. The server returns a polling code and a login code
437
+ * 3. The CLI app opens a browser window to the appUrl with the login code as a parameter
438
+ * 4. The user logs in through the browser and confirms the authorization
439
+ * 5. The CLI app polls for the refresh token using the polling code
440
+ *
441
+ * @param options Options for the CLI login
442
+ * @param options.appUrl The URL of the app that will handle the CLI auth confirmation
443
+ * @param options.expiresInMillis Optional duration in milliseconds before the auth attempt expires (default: 2 hours)
444
+ * @param options.maxAttempts Optional maximum number of polling attempts (default: Infinity)
445
+ * @param options.waitTimeMillis Optional time to wait between polling attempts (default: 2 seconds)
446
+ * @param options.promptLink Optional function to call with the login URL and code to prompt the user to open the browser
447
+ * @param options.anonRefreshToken Optional anonymous refresh token from the CLI's token store to associate with this login attempt
448
+ * @returns Result containing either the refresh token or an error
449
+ */
450
+ promptCliLogin(options: {
451
+ appUrl: string;
452
+ expiresInMillis?: number;
453
+ maxAttempts?: number;
454
+ waitTimeMillis?: number;
455
+ promptLink?: (url: string, loginCode: string) => void;
456
+ anonRefreshToken?: string;
457
+ }): Promise<Result<string, KnownErrors["CliAuthError"] | KnownErrors["CliAuthExpiredError"] | KnownErrors["CliAuthUsedError"]>>;
458
+ signInWithMfa(totp: string, code: string, options?: {
459
+ noRedirect?: boolean;
460
+ }): Promise<Result<undefined, KnownErrors["VerificationCodeError"] | KnownErrors["InvalidTotpCode"]>>;
461
+ signInWithPasskey(): Promise<Result<undefined, KnownErrors["PasskeyAuthenticationFailed"] | KnownErrors["InvalidTotpCode"] | KnownErrors["PasskeyWebAuthnError"]>>;
462
+ callOAuthCallback(options?: {
463
+ dontWarnAboutMissingQueryParams?: boolean;
464
+ }): Promise<boolean>;
465
+ protected _signOut(session: InternalSession, options?: {
466
+ redirectUrl?: URL | string;
467
+ }): Promise<void>;
468
+ protected _redirectToDefaultAfterSignOut(): Promise<void>;
469
+ signOut(options?: {
470
+ redirectUrl?: URL | string;
471
+ tokenStore?: TokenStoreInit;
472
+ }): Promise<void>;
473
+ getAccessToken(options?: {
474
+ tokenStore?: TokenStoreInit;
475
+ }): Promise<string | null>;
476
+ getRefreshToken(options?: {
477
+ tokenStore?: TokenStoreInit;
478
+ }): Promise<string | null>;
479
+ getAuthorizationHeader(options?: {
480
+ tokenStore?: TokenStoreInit;
481
+ }): Promise<string | null>;
482
+ getAuthHeaders(options?: {
483
+ tokenStore?: TokenStoreInit;
484
+ }): Promise<{
485
+ "x-stack-auth": string;
486
+ }>;
487
+ getAuthJson(options?: {
488
+ tokenStore?: TokenStoreInit;
489
+ }): Promise<{
490
+ accessToken: string | null;
491
+ refreshToken: string | null;
492
+ }>;
493
+ getProject(): Promise<Project>;
494
+ protected _listOwnedProjects(session: InternalSession): Promise<AdminOwnedProject[]>;
495
+ protected _createProject(session: InternalSession, newProject: AdminProjectUpdateOptions & {
496
+ displayName: string;
497
+ teamId: string;
498
+ }): Promise<AdminOwnedProject>;
499
+ protected _refreshUser(session: InternalSession): Promise<void>;
500
+ protected _refreshSession(session: InternalSession): Promise<void>;
501
+ protected _refreshUsers(): Promise<void>;
502
+ protected _refreshProject(): Promise<void>;
503
+ protected _refreshOwnedProjects(session: InternalSession): Promise<void>;
504
+ static get [hexclaveAppInternalsSymbol](): {
505
+ fromClientJson: <HasTokenStore extends boolean, ProjectId extends string>(json: StackClientAppJson<HasTokenStore, ProjectId>) => StackClientApp<HasTokenStore, ProjectId>;
506
+ };
507
+ get [hexclaveAppInternalsSymbol](): {
508
+ toClientJson: () => StackClientAppJson<HasTokenStore, ProjectId>;
509
+ setCurrentUser: (userJsonPromise: Promise<CurrentUserCrud["Client"]["Read"] | null>) => void;
510
+ getConstructorOptions: () => {
511
+ baseUrl?: string | {
512
+ browser: string;
513
+ server: string;
514
+ };
515
+ extraRequestHeaders?: Record<string, string>;
516
+ projectId?: ProjectId | undefined;
517
+ publishableClientKey?: string;
518
+ urls?: HandlerUrlOptions;
519
+ oauthScopesOnSignIn?: Partial<OAuthScopesOnSignIn>;
520
+ tokenStore?: TokenStoreInit<HasTokenStore> | undefined;
521
+ redirectMethod?: RedirectMethod;
522
+ inheritsFrom?: StackClientApp<any, any>;
523
+ devTool?: boolean | "auto";
524
+ noAutomaticPrefetch?: boolean;
525
+ analytics?: AnalyticsOptions;
526
+ } & {
527
+ tokenStore: TokenStoreInit<HasTokenStore>;
528
+ } & (string extends ProjectId ? unknown : {
529
+ projectId: ProjectId;
530
+ } | {
531
+ inheritsFrom: StackClientApp<any, ProjectId>;
532
+ }) & {
533
+ inheritsFrom?: undefined;
534
+ };
535
+ sendSessionReplayBatch: (body: string, options: {
536
+ keepalive: boolean;
537
+ }) => Promise<Result<Response, Error>>;
538
+ sendAnalyticsEventBatch: (body: string, options: {
539
+ keepalive: boolean;
540
+ }) => Promise<Result<Response, Error>>;
541
+ addRequestListener: (listener: RequestListener) => () => void;
542
+ sendRequest: (path: string, requestOptions: RequestInit, requestType?: "client" | "server" | "admin") => Promise<Response & {
543
+ usedTokens: {
544
+ accessToken: import("@hexclave/shared/dist/sessions-d8qtvBUB").t;
545
+ refreshToken: import("@hexclave/shared/dist/sessions-d8qtvBUB").i | null;
546
+ } | null;
547
+ }>;
548
+ getUrls: () => Readonly<ResolvedHandlerUrls>;
549
+ getRedirectMethod: () => RedirectMethod;
550
+ redirectToUrl: (url: string | URL, options?: {
551
+ replace?: boolean;
552
+ }) => Promise<void>;
553
+ getRedirectToHandlerUrl: (handlerName: keyof HandlerUrls, options?: RedirectToOptions) => Promise<string>;
554
+ redirectToHandler: (handlerName: keyof HandlerUrls, options?: RedirectToOptions) => Promise<void>;
555
+ refreshOwnedProjects: () => Promise<void>;
556
+ signInWithTokens: (tokens: {
557
+ accessToken: string;
558
+ refreshToken: string;
559
+ }) => Promise<void>;
560
+ awaitPendingAuthResolutions: () => Promise<void>;
561
+ };
562
+ }
563
+ //#endregion
564
+ //#region src/lib/hexclave-app/apps/implementations/server-app-impl.d.ts
565
+ declare class _HexclaveServerAppImplIncomplete<HasTokenStore extends boolean, ProjectId extends string> extends _HexclaveClientAppImplIncomplete<HasTokenStore, ProjectId> {
566
+ protected _interface: HexclaveServerInterface;
567
+ private readonly _currentServerUserCache;
568
+ private readonly _serverUsersCache;
569
+ private readonly _serverUserCache;
570
+ private readonly _serverTeamsCache;
571
+ protected _refreshTeamMembership(teamId: string, userId: string): Promise<void>;
572
+ private readonly _serverUserTeamInvitationsCache;
573
+ private readonly _serverTeamUserPermissionsCache;
574
+ private readonly _serverAllTeamMemberPermissionsCache;
575
+ private readonly _serverUserProjectPermissionsCache;
576
+ /** @deprecated Used by legacy getConnectedAccount(providerId) — uses old per-provider access token endpoint */
577
+ private readonly _serverUserOAuthConnectionAccessTokensCache;
578
+ /** @deprecated Used by legacy getConnectedAccount(providerId) — combines token check + redirect */
579
+ private readonly _serverUserOAuthConnectionCache;
580
+ private readonly _serverUserConnectedAccountsCache;
581
+ private readonly _serverUserOAuthConnectionAccessTokensByAccountCache;
582
+ private readonly _serverTeamMemberProfilesCache;
583
+ private readonly _serverTeamInvitationsCache;
584
+ private readonly _serverUserTeamProfileCache;
585
+ private readonly _serverContactChannelsCache;
586
+ private readonly _serverNotificationCategoriesCache;
587
+ private readonly _serverDataVaultStoreValueCache;
588
+ private readonly _emailDeliveryInfoCache;
589
+ private readonly _serverUserApiKeysCache;
590
+ private readonly _serverTeamApiKeysCache;
591
+ private readonly _convexIdentitySubjectCache;
592
+ private readonly _serverCheckApiKeyCache;
593
+ private readonly _serverOAuthProvidersCache;
594
+ private readonly _serverTeamItemsCache;
595
+ private readonly _serverUserItemsCache;
596
+ private readonly _serverCustomItemsCache;
597
+ private readonly _serverUserProductsCache;
598
+ private readonly _serverTeamProductsCache;
599
+ private readonly _serverCustomProductsCache;
600
+ protected _createServerCustomer(userIdOrTeamId: string, type: "user" | "team"): Omit<Customer<true>, "id">;
601
+ private _updateServerUser;
602
+ protected _serverEditableTeamProfileFromCrud(crud: TeamMemberProfilesCrud['Client']['Read']): EditableTeamMemberProfile;
603
+ protected _serverContactChannelFromCrud(userId: string, crud: ContactChannelsCrud['Server']['Read']): ServerContactChannel;
604
+ protected _serverNotificationCategoryFromCrud(userId: string, crud: NotificationPreferenceCrud['Server']['Read']): NotificationCategory;
605
+ protected _serverOAuthProviderFromCrud(crud: OAuthProviderCrud['Server']['Read']): {
606
+ id: string;
607
+ type: "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | "twitch";
608
+ userId: string;
609
+ accountId: string;
610
+ email: string | undefined;
611
+ allowSignIn: boolean;
612
+ allowConnectedAccounts: boolean;
613
+ update(data: {
614
+ accountId?: string;
615
+ email?: string;
616
+ allowSignIn?: boolean;
617
+ allowConnectedAccounts?: boolean;
618
+ }): Promise<Result<void, InstanceType<typeof KnownErrors.OAuthProviderAccountIdAlreadyUsedForSignIn>>>;
619
+ delete(): Promise<void>;
620
+ };
621
+ constructor(options: StackServerAppConstructorOptions<HasTokenStore, ProjectId>, extraOptions?: {
622
+ uniqueIdentifier?: string;
623
+ checkString?: string;
624
+ interface?: HexclaveServerInterface;
625
+ });
626
+ protected _serverApiKeyFromCrud(crud: TeamApiKeysCrud['Client']['Read']): ApiKey<"team">;
627
+ protected _serverApiKeyFromCrud(crud: UserApiKeysCrud['Client']['Read']): ApiKey<"user">;
628
+ protected _serverApiKeyFromCrud(crud: yup.InferType<typeof teamApiKeysCreateOutputSchema>): ApiKey<"team", true>;
629
+ protected _serverApiKeyFromCrud(crud: yup.InferType<typeof userApiKeysCreateOutputSchema>): ApiKey<"user", true>;
630
+ protected _createServerOAuthConnectionFromCrudItem(userId: string, item: {
631
+ provider: string;
632
+ provider_account_id: string;
633
+ }): OAuthConnection;
634
+ protected _serverUserFromCrud(crud: UsersCrud['Server']['Read']): ServerUser;
635
+ protected _serverTeamUserFromCrud(crud: TeamMemberProfilesCrud["Server"]["Read"]): ServerTeamUser;
636
+ protected _serverSentTeamInvitationFromCrud(crud: TeamInvitationCrud['Server']['Read']): SentTeamInvitation;
637
+ protected _serverReceivedTeamInvitationFromCrud(userId: string, crud: TeamInvitationCrud['Client']['Read']): ReceivedTeamInvitation;
638
+ protected _currentUserFromCrud(crud: UsersCrud['Server']['Read'], session: InternalSession): ProjectCurrentServerUser<ProjectId>;
639
+ protected _serverTeamFromCrud(crud: TeamsCrud['Server']['Read']): ServerTeam;
640
+ protected _serverItemFromCrud(customer: {
641
+ type: "user" | "team" | "custom";
642
+ id: string;
643
+ }, crud: ItemCrud['Client']['Read']): ServerItem;
644
+ protected _getUserApiKey(options: {
645
+ apiKey: string;
646
+ }): Promise<ApiKey<"user"> | null>;
647
+ protected _getTeamApiKey(options: {
648
+ apiKey: string;
649
+ }): Promise<ApiKey<"team"> | null>;
650
+ protected _getUserByApiKey(apiKey: string): Promise<ServerUser | null>;
651
+ protected _getUserByConvex(ctx: ConvexCtx, includeAnonymous: boolean): Promise<ServerUser | null>;
652
+ protected _getTeamByApiKey(apiKey: string): Promise<ServerTeam | null>;
653
+ createUser(options: ServerUserCreateOptions): Promise<ServerUser>;
654
+ getUser(options: GetCurrentUserOptions<HasTokenStore> & {
655
+ or: 'redirect';
656
+ }): Promise<ProjectCurrentServerUser<ProjectId>>;
657
+ getUser(options: GetCurrentUserOptions<HasTokenStore> & {
658
+ or: 'throw';
659
+ }): Promise<ProjectCurrentServerUser<ProjectId>>;
660
+ getUser(options: GetCurrentUserOptions<HasTokenStore> & {
661
+ or: 'anonymous';
662
+ }): Promise<ProjectCurrentServerUser<ProjectId>>;
663
+ getUser(options?: GetCurrentUserOptions<HasTokenStore>): Promise<ProjectCurrentServerUser<ProjectId> | null>;
664
+ getUser(id: string): Promise<ServerUser | null>;
665
+ getUser(options: {
666
+ apiKey: string;
667
+ }): Promise<ServerUser | null>;
668
+ getUser(options: {
669
+ from: "convex";
670
+ ctx: ConvexCtx;
671
+ or?: "return-null" | "anonymous";
672
+ }): Promise<ServerUser | null>;
673
+ getServerUser(): Promise<ProjectCurrentServerUser<ProjectId> | null>;
674
+ getServerUserById(userId: string): Promise<ServerUser | null>;
675
+ listUsers(options?: ServerListUsersOptions): Promise<ServerUser[] & {
676
+ nextCursor: string | null;
677
+ }>;
678
+ _serverPermissionFromCrud(crud: TeamPermissionsCrud['Server']['Read'] | ProjectPermissionsCrud['Server']['Read']): AdminTeamPermission;
679
+ _serverTeamPermissionDefinitionFromCrud(crud: TeamPermissionDefinitionsCrud['Admin']['Read']): AdminTeamPermissionDefinition;
680
+ _serverProjectPermissionDefinitionFromCrud(crud: ProjectPermissionDefinitionsCrud['Admin']['Read']): AdminProjectPermissionDefinition;
681
+ getItem(options: {
682
+ itemId: string;
683
+ userId: string;
684
+ } | {
685
+ itemId: string;
686
+ teamId: string;
687
+ } | {
688
+ itemId: string;
689
+ customCustomerId: string;
690
+ }): Promise<ServerItem>;
691
+ listProducts(options: CustomerProductsRequestOptions): Promise<CustomerProductsList>;
692
+ private _resolveCustomer;
693
+ grantProduct(options: (({
694
+ userId: string;
695
+ } | {
696
+ teamId: string;
697
+ } | {
698
+ customCustomerId: string;
699
+ }) & ({
700
+ productId: string;
701
+ } | {
702
+ product: InlineProduct;
703
+ }) & {
704
+ quantity?: number;
705
+ })): Promise<void>;
706
+ createCheckoutUrl(options: (({
707
+ userId: string;
708
+ } | {
709
+ teamId: string;
710
+ } | {
711
+ customCustomerId: string;
712
+ }) & ({
713
+ productId: string;
714
+ } | {
715
+ product: InlineProduct;
716
+ }) & {
717
+ returnUrl?: string;
718
+ })): Promise<string>;
719
+ createTeam(data: ServerTeamCreateOptions): Promise<ServerTeam>;
720
+ listTeams(options?: ServerListTeamsOptions): Promise<ServerTeam[] & {
721
+ nextCursor: string | null;
722
+ }>;
723
+ listTeamMemberPermissions(teamId: string, options?: {
724
+ recursive?: boolean;
725
+ }): Promise<{
726
+ userId: string;
727
+ permissionId: string;
728
+ }[]>;
729
+ getTeam(options: {
730
+ apiKey: string;
731
+ }): Promise<ServerTeam | null>;
732
+ getTeam(teamId: string): Promise<ServerTeam | null>;
733
+ protected _createServerDataVaultStore(id: string): DataVaultStore;
734
+ getDataVaultStore(id: string): Promise<DataVaultStore>;
735
+ sendEmail(options: SendEmailOptions): Promise<void>;
736
+ getEmailDeliveryStats(): Promise<EmailDeliveryInfo>;
737
+ activateEmailCapacityBoost(): Promise<void>;
738
+ protected _refreshSession(session: InternalSession): Promise<void>;
739
+ protected _refreshUsers(): Promise<void>;
740
+ createOAuthProvider(options: {
741
+ userId: string;
742
+ providerConfigId: string;
743
+ accountId: string;
744
+ email: string;
745
+ allowSignIn: boolean;
746
+ allowConnectedAccounts: boolean;
747
+ }): Promise<Result<ServerOAuthProvider, InstanceType<typeof KnownErrors.OAuthProviderAccountIdAlreadyUsedForSignIn>>>;
748
+ }
749
+ //#endregion
750
+ //#region src/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts
751
+ type PlanUsageResponse = Awaited<ReturnType<HexclaveAdminInterface["getPlanUsage"]>>;
752
+ declare class _HexclaveAdminAppImplIncomplete<HasTokenStore extends boolean, ProjectId extends string> extends _HexclaveServerAppImplIncomplete<HasTokenStore, ProjectId> implements StackAdminApp<HasTokenStore, ProjectId> {
753
+ protected _interface: HexclaveAdminInterface;
754
+ private readonly _adminProjectCache;
755
+ private readonly _planUsageCache;
756
+ private readonly _internalApiKeysCache;
757
+ private readonly _adminEmailThemeCache;
758
+ private readonly _adminEmailThemesCache;
759
+ private readonly _adminEmailTemplatesCache;
760
+ private readonly _adminEmailDraftsCache;
761
+ private readonly _adminTeamPermissionDefinitionsCache;
762
+ private readonly _adminProjectPermissionDefinitionsCache;
763
+ private readonly _svixTokenCache;
764
+ private readonly _metricsCache;
765
+ private readonly _userActivityCache;
766
+ private readonly _metricsUserCountsCache;
767
+ private readonly _emailPreviewCache;
768
+ private readonly _emailPreviewWithEditableMarkersCache;
769
+ private readonly _configOverridesCache;
770
+ private readonly _stripeAccountInfoCache;
771
+ private readonly _transactionsCache;
772
+ constructor(options: StackAdminAppConstructorOptions<HasTokenStore, ProjectId>, extraOptions?: {
773
+ uniqueIdentifier?: string;
774
+ checkString?: string;
775
+ interface?: HexclaveAdminInterface;
776
+ });
777
+ _adminConfigFromCrud(data: {
778
+ config_string: string;
779
+ }): CompleteConfig;
780
+ _adminOwnedProjectFromCrud(data: ProjectsCrud['Admin']['Read'], onRefresh: () => Promise<void>): AdminOwnedProject;
781
+ _adminProjectFromCrud(data: ProjectsCrud['Admin']['Read'], onRefresh: () => Promise<void>): AdminProject;
782
+ _adminEmailTemplateFromCrud(data: EmailTemplateCrud['Admin']['Read']): AdminEmailTemplate;
783
+ _planUsageFromCrud(data: PlanUsageResponse): PlanUsage;
784
+ getProject(): Promise<AdminProject>;
785
+ getPlanUsage(): Promise<PlanUsage>;
786
+ protected _createInternalApiKeyBaseFromCrud(data: InternalApiKeyBaseCrudRead): InternalApiKeyBase;
787
+ protected _createInternalApiKeyFromCrud(data: InternalApiKeysCrud["Admin"]["Read"]): InternalApiKey;
788
+ protected _createInternalApiKeyFirstViewFromCrud(data: InternalApiKeyCreateCrudResponse): InternalApiKeyFirstView;
789
+ listInternalApiKeys(): Promise<InternalApiKey[]>;
790
+ createInternalApiKey(options: InternalApiKeyCreateOptions): Promise<InternalApiKeyFirstView>;
791
+ listEmailThemes(): Promise<{
792
+ id: string;
793
+ displayName: string;
794
+ }[]>;
795
+ listEmailTemplates(): Promise<{
796
+ id: string;
797
+ displayName: string;
798
+ themeId?: string;
799
+ tsxSource: string;
800
+ }[]>;
801
+ listEmailDrafts(): Promise<{
802
+ id: string;
803
+ displayName: string;
804
+ themeId: string | undefined | false;
805
+ tsxSource: string;
806
+ sentAt: Date | null;
807
+ }[]>;
808
+ createTeamPermissionDefinition(data: AdminTeamPermissionDefinitionCreateOptions): Promise<AdminTeamPermission>;
809
+ updateTeamPermissionDefinition(permissionId: string, data: AdminTeamPermissionDefinitionUpdateOptions): Promise<void>;
810
+ deleteTeamPermissionDefinition(permissionId: string): Promise<void>;
811
+ listTeamPermissionDefinitions(): Promise<AdminTeamPermissionDefinition[]>;
812
+ listTeamPermissionDefinitionsPaginated(options: {
813
+ limit: number;
814
+ cursor?: string;
815
+ query?: string;
816
+ }): Promise<{
817
+ items: AdminTeamPermissionDefinition[];
818
+ nextCursor: string | null;
819
+ }>;
820
+ createProjectPermissionDefinition(data: AdminProjectPermissionDefinitionCreateOptions): Promise<AdminProjectPermission>;
821
+ updateProjectPermissionDefinition(permissionId: string, data: AdminProjectPermissionDefinitionUpdateOptions): Promise<void>;
822
+ deleteProjectPermissionDefinition(permissionId: string): Promise<void>;
823
+ listProjectPermissionDefinitions(): Promise<AdminProjectPermissionDefinition[]>;
824
+ protected _refreshProject(): Promise<void>;
825
+ protected _refreshProjectConfig(): Promise<void>;
826
+ protected _refreshInternalApiKeys(): Promise<void>;
827
+ protected _refreshUsers(): Promise<void>;
828
+ get [hexclaveAppInternalsSymbol](): {
829
+ toClientJson: () => {
830
+ baseUrl?: string | {
831
+ browser: string;
832
+ server: string;
833
+ };
834
+ extraRequestHeaders?: Record<string, string>;
835
+ projectId?: ProjectId | undefined;
836
+ publishableClientKey?: string;
837
+ urls?: import("@hexclave/shared/dist/handler-urls-BHt3v8Ai").i;
838
+ oauthScopesOnSignIn?: Partial<OAuthScopesOnSignIn>;
839
+ tokenStore?: TokenStoreInit<HasTokenStore> | undefined;
840
+ redirectMethod?: RedirectMethod;
841
+ inheritsFrom?: StackClientApp<any, any>;
842
+ devTool?: boolean | "auto";
843
+ noAutomaticPrefetch?: boolean;
844
+ analytics?: AnalyticsOptions;
845
+ } & {
846
+ tokenStore: TokenStoreInit<HasTokenStore>;
847
+ } & (string extends ProjectId ? unknown : {
848
+ projectId: ProjectId;
849
+ } | {
850
+ inheritsFrom: StackClientApp<any, ProjectId>;
851
+ }) & {
852
+ inheritsFrom?: undefined;
853
+ } & {
854
+ uniqueIdentifier: string;
855
+ };
856
+ setCurrentUser: (userJsonPromise: Promise<import("@hexclave/shared/dist/current-user-Dvf8Ttjo").t["Client"]["Read"] | null>) => void;
857
+ getConstructorOptions: () => {
858
+ baseUrl?: string | {
859
+ browser: string;
860
+ server: string;
861
+ };
862
+ extraRequestHeaders?: Record<string, string>;
863
+ projectId?: ProjectId | undefined;
864
+ publishableClientKey?: string;
865
+ urls?: import("@hexclave/shared/dist/handler-urls-BHt3v8Ai").i;
866
+ oauthScopesOnSignIn?: Partial<OAuthScopesOnSignIn>;
867
+ tokenStore?: TokenStoreInit<HasTokenStore> | undefined;
868
+ redirectMethod?: RedirectMethod;
869
+ inheritsFrom?: StackClientApp<any, any>;
870
+ devTool?: boolean | "auto";
871
+ noAutomaticPrefetch?: boolean;
872
+ analytics?: AnalyticsOptions;
873
+ } & {
874
+ tokenStore: TokenStoreInit<HasTokenStore>;
875
+ } & (string extends ProjectId ? unknown : {
876
+ projectId: ProjectId;
877
+ } | {
878
+ inheritsFrom: StackClientApp<any, ProjectId>;
879
+ }) & {
880
+ inheritsFrom?: undefined;
881
+ };
882
+ sendSessionReplayBatch: (body: string, options: {
883
+ keepalive: boolean;
884
+ }) => Promise<Result<Response, Error>>;
885
+ sendAnalyticsEventBatch: (body: string, options: {
886
+ keepalive: boolean;
887
+ }) => Promise<Result<Response, Error>>;
888
+ addRequestListener: (listener: import("@hexclave/shared/dist/client-interface-CGrvUtX0").r) => () => void;
889
+ sendRequest: (path: string, requestOptions: RequestInit, requestType?: "client" | "server" | "admin") => Promise<Response & {
890
+ usedTokens: {
891
+ accessToken: import("@hexclave/shared/dist/sessions-d8qtvBUB").t;
892
+ refreshToken: import("@hexclave/shared/dist/sessions-d8qtvBUB").i | null;
893
+ } | null;
894
+ }>;
895
+ getUrls: () => Readonly<import("@hexclave/shared/dist/handler-urls-BHt3v8Ai").s>;
896
+ getRedirectMethod: () => RedirectMethod;
897
+ redirectToUrl: (url: string | URL, options?: {
898
+ replace?: boolean;
899
+ } | undefined) => Promise<void>;
900
+ getRedirectToHandlerUrl: (handlerName: keyof import("@hexclave/shared/dist/handler-urls-BHt3v8Ai").o, options?: RedirectToOptions) => Promise<string>;
901
+ redirectToHandler: (handlerName: keyof import("@hexclave/shared/dist/handler-urls-BHt3v8Ai").o, options?: RedirectToOptions) => Promise<void>;
902
+ refreshOwnedProjects: () => Promise<void>;
903
+ signInWithTokens: (tokens: {
904
+ accessToken: string;
905
+ refreshToken: string;
906
+ }) => Promise<void>;
907
+ awaitPendingAuthResolutions: () => Promise<void>;
908
+ };
909
+ sendTestEmail(options: {
910
+ recipientEmail: string;
911
+ emailConfig: EmailConfig;
912
+ }): Promise<Result<undefined, {
913
+ errorMessage: string;
914
+ }>>;
915
+ sendTestWebhook(options: {
916
+ endpointId: string;
917
+ }): Promise<Result<undefined, {
918
+ errorMessage: string;
919
+ }>>;
920
+ listSentEmails(): Promise<AdminSentEmail[]>;
921
+ setupManagedEmailProvider(options: {
922
+ subdomain: string;
923
+ senderLocalPart: string;
924
+ }): Promise<ManagedEmailProviderSetupResult>;
925
+ checkManagedEmailStatus(options: {
926
+ domainId: string;
927
+ subdomain: string;
928
+ senderLocalPart: string;
929
+ }): Promise<ManagedEmailProviderStatus>;
930
+ listManagedEmailDomains(): Promise<ManagedEmailProviderListItem[]>;
931
+ applyManagedEmailProvider(options: {
932
+ domainId: string;
933
+ }): Promise<{
934
+ status: "applied";
935
+ }>;
936
+ deleteManagedEmailDomain(options: {
937
+ resendDomainId: string;
938
+ }): Promise<{
939
+ status: "deleted";
940
+ }>;
941
+ sendSignInInvitationEmail(email: string, callbackUrl: string): Promise<void>;
942
+ createEmailTemplate(displayName: string): Promise<{
943
+ id: string;
944
+ }>;
945
+ deleteEmailTemplate(id: string): Promise<void>;
946
+ createEmailDraft(options: {
947
+ displayName: string;
948
+ themeId?: string | false;
949
+ tsxSource?: string;
950
+ }): Promise<{
951
+ id: string;
952
+ }>;
953
+ updateEmailDraft(id: string, data: {
954
+ displayName?: string;
955
+ themeId?: string | undefined | false;
956
+ tsxSource?: string;
957
+ }): Promise<void>;
958
+ deleteEmailDraft(id: string): Promise<void>;
959
+ refreshEmailDrafts(): Promise<void>;
960
+ saveChatMessage(threadId: string, message: any): Promise<void>;
961
+ listChatMessages(threadId: string): Promise<{
962
+ messages: Array<any>;
963
+ }>;
964
+ rewriteTemplateSourceWithAI(templateTsxSource: string): Promise<{
965
+ tsxSource: string;
966
+ }>;
967
+ createEmailTheme(displayName: string): Promise<{
968
+ id: string;
969
+ }>;
970
+ getEmailPreview(options: {
971
+ themeId?: string | null | false;
972
+ themeTsxSource?: string;
973
+ templateId?: string;
974
+ templateTsxSource?: string;
975
+ }): Promise<string>;
976
+ getEmailPreviewWithEditableMarkers(options: {
977
+ themeId?: string | null | false;
978
+ themeTsxSource?: string;
979
+ templateId?: string;
980
+ templateTsxSource?: string;
981
+ editableSource?: 'template' | 'theme' | 'both';
982
+ }): Promise<{
983
+ html: string;
984
+ editableRegions?: Record<string, unknown>;
985
+ }>;
986
+ updateEmailTheme(id: string, tsxSource: string): Promise<void>;
987
+ deleteEmailTheme(id: string): Promise<void>;
988
+ updateEmailTemplate(id: string, tsxSource: string, themeId: string | null | false): Promise<{
989
+ renderedHtml: string;
990
+ }>;
991
+ setupPayments(): Promise<{
992
+ url: string;
993
+ }>;
994
+ createStripeWidgetAccountSession(): Promise<{
995
+ client_secret: string;
996
+ }>;
997
+ getPaymentMethodConfigs(): Promise<{
998
+ configId: string;
999
+ methods: Array<{
1000
+ id: string;
1001
+ name: string;
1002
+ enabled: boolean;
1003
+ available: boolean;
1004
+ overridable: boolean;
1005
+ }>;
1006
+ } | null>;
1007
+ updatePaymentMethodConfigs(configId: string, updates: Record<string, 'on' | 'off'>): Promise<void>;
1008
+ createItemQuantityChange(options: ({
1009
+ userId: string;
1010
+ itemId: string;
1011
+ quantity: number;
1012
+ expiresAt?: string;
1013
+ description?: string;
1014
+ } | {
1015
+ teamId: string;
1016
+ itemId: string;
1017
+ quantity: number;
1018
+ expiresAt?: string;
1019
+ description?: string;
1020
+ } | {
1021
+ customCustomerId: string;
1022
+ itemId: string;
1023
+ quantity: number;
1024
+ expiresAt?: string;
1025
+ description?: string;
1026
+ })): Promise<void>;
1027
+ refundTransaction(options: {
1028
+ type: "subscription" | "one-time-purchase";
1029
+ id: string;
1030
+ invoiceId?: string;
1031
+ amountUsd: MoneyAmount;
1032
+ endAction?: "now" | "at-period-end";
1033
+ }): Promise<{
1034
+ refundTransactionId: string;
1035
+ }>;
1036
+ listTransactions(params: {
1037
+ cursor?: string;
1038
+ limit?: number;
1039
+ type?: TransactionType;
1040
+ customerType?: 'user' | 'team' | 'custom';
1041
+ customerId?: string;
1042
+ }): Promise<{
1043
+ transactions: Transaction[];
1044
+ nextCursor: string | null;
1045
+ }>;
1046
+ private _emailOutboxCrudToAdmin;
1047
+ listOutboxEmails(options?: {
1048
+ status?: string;
1049
+ simpleStatus?: string;
1050
+ userId?: string;
1051
+ limit?: number;
1052
+ cursor?: string;
1053
+ }): Promise<{
1054
+ items: AdminEmailOutbox[];
1055
+ nextCursor: string | null;
1056
+ }>;
1057
+ getOutboxEmail(id: string): Promise<AdminEmailOutbox>;
1058
+ updateOutboxEmail(id: string, options: EmailOutboxUpdateOptions): Promise<AdminEmailOutbox>;
1059
+ pauseOutboxEmail(id: string): Promise<AdminEmailOutbox>;
1060
+ unpauseOutboxEmail(id: string): Promise<AdminEmailOutbox>;
1061
+ cancelOutboxEmail(id: string): Promise<AdminEmailOutbox>;
1062
+ getStripeAccountInfo(): Promise<null | {
1063
+ account_id: string;
1064
+ charges_enabled: boolean;
1065
+ details_submitted: boolean;
1066
+ payouts_enabled: boolean;
1067
+ }>;
1068
+ queryAnalytics(options: AnalyticsQueryOptions): Promise<AnalyticsQueryResponse>;
1069
+ getAnalyticsClickmap(options: AnalyticsClickmapOptions): Promise<AnalyticsClickmapResponse>;
1070
+ createAnalyticsClickmapToken(options: {
1071
+ origin: string;
1072
+ }): Promise<AnalyticsClickmapTokenResponse>;
1073
+ listSessionReplays(options?: ListSessionReplaysOptions): Promise<ListSessionReplaysResult>;
1074
+ getSessionReplay(sessionReplayId: string): Promise<AdminSessionReplay>;
1075
+ listSessionReplayChunks(sessionReplayId: string, options?: ListSessionReplayChunksOptions): Promise<ListSessionReplayChunksResult>;
1076
+ getSessionReplayChunkEvents(sessionReplayId: string, chunkId: string): Promise<AdminGetSessionReplayChunkEventsResponse>;
1077
+ getSessionReplayEvents(sessionReplayId: string, options?: {
1078
+ offset?: number;
1079
+ limit?: number;
1080
+ }): Promise<SessionReplayAllEventsResult>;
1081
+ previewAffectedUsersByOnboardingChange(onboarding: {
1082
+ requireEmailVerification?: boolean;
1083
+ }, limit?: number): Promise<{
1084
+ affectedUsers: Array<{
1085
+ id: string;
1086
+ displayName: string | null;
1087
+ primaryEmail: string | null;
1088
+ restrictedReason: RestrictedReason;
1089
+ }>;
1090
+ totalAffectedCount: number;
1091
+ }>;
1092
+ }
1093
+ //#endregion
1094
+ export { _HexclaveServerAppImplIncomplete as n, _HexclaveClientAppImplIncomplete as r, _HexclaveAdminAppImplIncomplete as t };
1095
+ //# sourceMappingURL=admin-app-impl-6qQFRdrQ.d.ts.map