@hexclave/js 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 (401) hide show
  1. package/dist/admin-app-impl-Bth-U45X.d.ts +1095 -0
  2. package/dist/admin-app-impl-Bth-U45X.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
@@ -1,13 +1,10 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_chunk = require('../../../../chunk-BE-pF4vm.js');
3
- let ___implementations_index_js = require("../implementations/index.js");
4
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
5
2
  //#region src/lib/hexclave-app/apps/interfaces/client-app.ts
6
- const HexclaveClientApp = ___implementations_index_js._HexclaveClientAppImpl;
3
+ const HexclaveClientApp = require("../implementations/index.js")._HexclaveClientAppImpl;
7
4
  /** @deprecated Use `HexclaveClientApp` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */
8
5
  const StackClientApp = HexclaveClientApp;
9
-
10
6
  //#endregion
11
7
  exports.HexclaveClientApp = HexclaveClientApp;
12
8
  exports.StackClientApp = StackClientApp;
9
+
13
10
  //# sourceMappingURL=client-app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-app.js","names":["_HexclaveClientAppImpl"],"sources":["../../../../../src/lib/hexclave-app/apps/interfaces/client-app.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 } from \"@hexclave/shared\";\nimport { CurrentUserCrud } from \"@hexclave/shared/dist/interface/crud/current-user\";\nimport { Result } from \"@hexclave/shared/dist/utils/results\";\nimport { AsyncStoreProperty, AuthLike, GetCurrentPartialUserOptions, GetCurrentUserOptions, HandlerUrlOptions, HandlerUrls, OAuthScopesOnSignIn, RedirectMethod, RedirectToOptions, ResolvedHandlerUrls, hexclaveAppInternalsSymbol, TokenStoreInit } from \"../../common\";\nimport type { RequestListener } from \"@hexclave/shared/dist/interface/client-interface\";\nimport { CustomerInvoicesList, CustomerInvoicesRequestOptions, CustomerProductsList, CustomerProductsRequestOptions, Item } from \"../../customers\";\nimport { Project } from \"../../projects\";\nimport { ProjectCurrentUser, SyncedPartialUser, TokenPartialUser } from \"../../users\";\nimport { _HexclaveClientAppImpl } from \"../implementations\";\nimport { AnalyticsOptions } from \"../implementations/session-replay\";\n\n/** @deprecated Use `HexclaveClientAppConstructorOptions` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport type StackClientAppConstructorOptions<HasTokenStore extends boolean, ProjectId extends string> = {\n baseUrl?: string | { browser: string, server: string },\n extraRequestHeaders?: Record<string, string>,\n projectId?: ProjectId,\n publishableClientKey?: string,\n urls?: HandlerUrlOptions,\n oauthScopesOnSignIn?: Partial<OAuthScopesOnSignIn>,\n tokenStore?: TokenStoreInit<HasTokenStore>,\n redirectMethod?: RedirectMethod,\n inheritsFrom?: StackClientApp<any, any>,\n\n /**\n * Whether to show the Hexclave dev tool indicator in browser-like environments.\n *\n * - `true`: always show\n * - `false`: never show\n * - `\"auto\"` (default): show based on NODE_ENV or origin heuristics\n */\n devTool?: boolean | \"auto\",\n\n /**\n * By default, the Stack app will automatically prefetch some data from Stack's server when this app is first\n * constructed. This improves the performance of your app, but will create network requests that are unnecessary if\n * the app is never used or disposed of immediately. To disable this behavior, set this option to true.\n */\n noAutomaticPrefetch?: boolean,\n\n /**\n * Options for analytics and session recording. Replays are enabled by default;\n * set `{ replays: { enabled: false } }` to opt out.\n */\n analytics?: AnalyticsOptions,\n} & (\n { tokenStore: TokenStoreInit<HasTokenStore> } | { tokenStore?: undefined, inheritsFrom: StackClientApp<HasTokenStore, any> }\n) & (\n string extends ProjectId ? unknown : ({ projectId: ProjectId } | { inheritsFrom: StackClientApp<any, ProjectId> })\n);\n\n\n/** @deprecated Use `HexclaveClientAppJson` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport type StackClientAppJson<HasTokenStore extends boolean, ProjectId extends string> = StackClientAppConstructorOptions<HasTokenStore, ProjectId> & { inheritsFrom?: undefined } & {\n uniqueIdentifier: string,\n // note: if you add more fields here, make sure to ensure the checkString in the constructor has/doesn't have them\n};\n\n/** @deprecated Use `HexclaveClientApp` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport type StackClientApp<HasTokenStore extends boolean = boolean, ProjectId extends string = string> = (\n & {\n readonly projectId: ProjectId,\n\n /**\n * The version of the Hexclave SDK.\n */\n readonly version: string,\n\n /**\n * @deprecated Do not use `app.urls` for navigation. It is static and does not include runtime redirect-back,\n * cross-domain auth, or sign-out state. Use the matching `redirectToXyz()` method instead, for example\n * `redirectToSignIn()`, `redirectToSignUp()`, `redirectToSignOut()`, or `redirectToAccountSettings()`.\n */\n readonly urls: Readonly<ResolvedHandlerUrls>,\n\n signInWithOAuth(provider: string, options?: { returnTo?: string }): Promise<void>,\n signInWithCredential(options: { email: string, password: string, noRedirect?: boolean }): Promise<Result<undefined, KnownErrors[\"EmailPasswordMismatch\"] | KnownErrors[\"InvalidTotpCode\"]>>,\n signUpWithCredential(options: {\n email: string,\n password: string,\n noRedirect?: boolean,\n } & ({ noVerificationCallback: true } | { noVerificationCallback?: false, verificationCallbackUrl?: string })): Promise<Result<undefined, KnownErrors[\"UserWithEmailAlreadyExists\"] | KnownErrors[\"PasswordRequirementsNotMet\"] | KnownErrors[\"BotChallengeFailed\"]>>,\n signInWithPasskey(): Promise<Result<undefined, KnownErrors[\"PasskeyAuthenticationFailed\"] | KnownErrors[\"InvalidTotpCode\"] | KnownErrors[\"PasskeyWebAuthnError\"]>>,\n callOAuthCallback(): Promise<boolean>,\n promptCliLogin(options: { appUrl: string, expiresInMillis?: number, anonRefreshToken?: string, promptLink?: (url: string, loginCode: string) => void }): Promise<Result<string, KnownErrors[\"CliAuthError\"] | KnownErrors[\"CliAuthExpiredError\"] | KnownErrors[\"CliAuthUsedError\"]>>,\n sendForgotPasswordEmail(email: string, options?: { callbackUrl?: string }): Promise<Result<undefined, KnownErrors[\"UserNotFound\"]>>,\n sendMagicLinkEmail(email: string, options?: { callbackUrl?: string }): Promise<Result<{ nonce: string }, KnownErrors[\"RedirectUrlNotWhitelisted\"] | KnownErrors[\"BotChallengeFailed\"]>>,\n resetPassword(options: { code: string, password: string }): Promise<Result<undefined, KnownErrors[\"VerificationCodeError\"]>>,\n verifyPasswordResetCode(code: string): Promise<Result<undefined, KnownErrors[\"VerificationCodeError\"]>>,\n verifyTeamInvitationCode(code: string): Promise<Result<undefined, KnownErrors[\"VerificationCodeError\"] | KnownErrors[\"TeamInvitationEmailMismatch\"]>>,\n acceptTeamInvitation(code: string): Promise<Result<undefined, KnownErrors[\"VerificationCodeError\"] | KnownErrors[\"TeamInvitationEmailMismatch\"]>>,\n getTeamInvitationDetails(code: string): Promise<Result<{ teamDisplayName: string }, KnownErrors[\"VerificationCodeError\"] | KnownErrors[\"TeamInvitationEmailMismatch\"]>>,\n verifyEmail(code: string): Promise<Result<undefined, KnownErrors[\"VerificationCodeError\"]>>,\n signInWithMagicLink(code: string, options?: { noRedirect?: boolean }): Promise<Result<undefined, KnownErrors[\"VerificationCodeError\"] | KnownErrors[\"InvalidTotpCode\"]>>,\n signInWithMfa(otp: string, code: string, options?: { noRedirect?: boolean }): Promise<Result<undefined, KnownErrors[\"VerificationCodeError\"] | KnownErrors[\"InvalidTotpCode\"]>>,\n\n redirectToOAuthCallback(): Promise<void>,\n\n getConvexClientAuth(options: HasTokenStore extends false ? { tokenStore: TokenStoreInit } : { tokenStore?: TokenStoreInit }): (args: { forceRefreshToken: boolean }) => Promise<string | null>,\n getConvexHttpClientAuth(options: { tokenStore: TokenStoreInit }): Promise<string>,\n\n\n getUser(options: GetCurrentUserOptions<HasTokenStore> & { or: 'redirect' }): Promise<ProjectCurrentUser<ProjectId>>,\n getUser(options: GetCurrentUserOptions<HasTokenStore> & { or: 'throw' }): Promise<ProjectCurrentUser<ProjectId>>,\n getUser(options: GetCurrentUserOptions<HasTokenStore> & { or: 'anonymous' }): Promise<ProjectCurrentUser<ProjectId>>,\n getUser(options?: GetCurrentUserOptions<HasTokenStore>): Promise<ProjectCurrentUser<ProjectId> | null>,\n\n cancelSubscription(options: { productId: string, subscriptionId?: string } | { productId: string, subscriptionId?: string, teamId: string }): Promise<void>,\n\n // note: we don't special-case 'anonymous' here to return non-null, see GetPartialUserOptions for more details\n getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore> & { from: 'token' }): Promise<TokenPartialUser | null>,\n getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore> & { from: 'convex' }): Promise<TokenPartialUser | null>,\n getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore>): Promise<SyncedPartialUser | TokenPartialUser | null>,\n\n [hexclaveAppInternalsSymbol]: {\n toClientJson(): StackClientAppJson<HasTokenStore, ProjectId>,\n setCurrentUser(userJsonPromise: Promise<CurrentUserCrud['Client']['Read'] | null>): void,\n getConstructorOptions(): StackClientAppConstructorOptions<HasTokenStore, ProjectId> & { inheritsFrom?: undefined },\n sendSessionReplayBatch(body: string, options: { keepalive: boolean }): Promise<Result<Response, Error>>,\n sendAnalyticsEventBatch(body: string, options: { keepalive: boolean }): Promise<Result<Response, Error>>,\n addRequestListener(listener: RequestListener): () => void,\n sendRequest(path: string, requestOptions: RequestInit, requestType?: \"client\" | \"server\" | \"admin\"): Promise<Response>,\n getUrls(): Readonly<ResolvedHandlerUrls>,\n getRedirectMethod(): RedirectMethod,\n redirectToUrl(url: string | URL, options?: { replace?: boolean }): Promise<void>,\n getRedirectToHandlerUrl(handlerName: keyof HandlerUrls, options?: RedirectToOptions): Promise<string>,\n redirectToHandler(handlerName: keyof HandlerUrls, options?: RedirectToOptions): Promise<void>,\n signInWithTokens(tokens: { accessToken: string, refreshToken: string }): Promise<void>,\n awaitPendingAuthResolutions(): Promise<void>,\n },\n }\n & AsyncStoreProperty<\"project\", [], Project, false>\n & AsyncStoreProperty<\n \"item\",\n [{ itemId: string, userId: string } | { itemId: string, teamId: string } | { itemId: string, customCustomerId: string }],\n Item,\n false\n >\n & AsyncStoreProperty<\n \"products\",\n [options: CustomerProductsRequestOptions],\n CustomerProductsList,\n true\n >\n & AsyncStoreProperty<\n \"invoices\",\n [options: CustomerInvoicesRequestOptions],\n CustomerInvoicesList,\n true\n >\n & { [K in `redirectTo${Capitalize<keyof Omit<HandlerUrls, 'handler' | 'oauthCallback'>>}`]: (options?: RedirectToOptions) => Promise<void> }\n & AuthLike<HasTokenStore extends false ? { tokenStore: TokenStoreInit } : { tokenStore?: TokenStoreInit }>\n);\n/** @deprecated Use `HexclaveClientAppConstructor` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport type StackClientAppConstructor = {\n new <\n TokenStoreType extends string,\n HasTokenStore extends (TokenStoreType extends {} ? true : boolean),\n ProjectId extends string\n >(options: StackClientAppConstructorOptions<HasTokenStore, ProjectId>): StackClientApp<HasTokenStore, ProjectId>,\n new(options: StackClientAppConstructorOptions<boolean, string>): StackClientApp<boolean, string>,\n\n [hexclaveAppInternalsSymbol]: {\n fromClientJson<HasTokenStore extends boolean, ProjectId extends string>(\n json: StackClientAppJson<HasTokenStore, ProjectId>\n ): StackClientApp<HasTokenStore, ProjectId>,\n },\n};\nexport type HexclaveClientAppConstructorOptions<HasTokenStore extends boolean, ProjectId extends string> = StackClientAppConstructorOptions<HasTokenStore, ProjectId>;\nexport type HexclaveClientAppJson<HasTokenStore extends boolean, ProjectId extends string> = StackClientAppJson<HasTokenStore, ProjectId>;\nexport type HexclaveClientApp<HasTokenStore extends boolean = boolean, ProjectId extends string = string> = StackClientApp<HasTokenStore, ProjectId>;\nexport type HexclaveClientAppConstructor = StackClientAppConstructor;\nexport const HexclaveClientApp: HexclaveClientAppConstructor = _HexclaveClientAppImpl;\n/** @deprecated Use `HexclaveClientApp` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport const StackClientApp: StackClientAppConstructor = HexclaveClientApp;\n"],"mappings":";;;;;AA+KA,MAAa,oBAAkDA;;AAE/D,MAAa,iBAA4C"}
1
+ {"version":3,"file":"client-app.js","names":["_HexclaveClientAppImpl"],"sources":["../../../../../src/lib/hexclave-app/apps/interfaces/client-app.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 } from \"@hexclave/shared\";\nimport { CurrentUserCrud } from \"@hexclave/shared/dist/interface/crud/current-user\";\nimport { Result } from \"@hexclave/shared/dist/utils/results\";\nimport { AsyncStoreProperty, AuthLike, GetCurrentPartialUserOptions, GetCurrentUserOptions, HandlerUrlOptions, HandlerUrls, OAuthScopesOnSignIn, RedirectMethod, RedirectToOptions, ResolvedHandlerUrls, hexclaveAppInternalsSymbol, TokenStoreInit } from \"../../common\";\nimport type { RequestListener } from \"@hexclave/shared/dist/interface/client-interface\";\nimport { CustomerInvoicesList, CustomerInvoicesRequestOptions, CustomerProductsList, CustomerProductsRequestOptions, Item } from \"../../customers\";\nimport { Project } from \"../../projects\";\nimport { ProjectCurrentUser, SyncedPartialUser, TokenPartialUser } from \"../../users\";\nimport { _HexclaveClientAppImpl } from \"../implementations\";\nimport { AnalyticsOptions } from \"../implementations/session-replay\";\n\n/** @deprecated Use `HexclaveClientAppConstructorOptions` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport type StackClientAppConstructorOptions<HasTokenStore extends boolean, ProjectId extends string> = {\n baseUrl?: string | { browser: string, server: string },\n extraRequestHeaders?: Record<string, string>,\n projectId?: ProjectId,\n publishableClientKey?: string,\n urls?: HandlerUrlOptions,\n oauthScopesOnSignIn?: Partial<OAuthScopesOnSignIn>,\n tokenStore?: TokenStoreInit<HasTokenStore>,\n redirectMethod?: RedirectMethod,\n inheritsFrom?: StackClientApp<any, any>,\n\n /**\n * Whether to show the Hexclave dev tool indicator in browser-like environments.\n *\n * - `true`: always show\n * - `false`: never show\n * - `\"auto\"` (default): show based on NODE_ENV or origin heuristics\n */\n devTool?: boolean | \"auto\",\n\n /**\n * By default, the Stack app will automatically prefetch some data from Stack's server when this app is first\n * constructed. This improves the performance of your app, but will create network requests that are unnecessary if\n * the app is never used or disposed of immediately. To disable this behavior, set this option to true.\n */\n noAutomaticPrefetch?: boolean,\n\n /**\n * Options for analytics and session recording. Replays are enabled by default;\n * set `{ replays: { enabled: false } }` to opt out.\n */\n analytics?: AnalyticsOptions,\n} & (\n { tokenStore: TokenStoreInit<HasTokenStore> } | { tokenStore?: undefined, inheritsFrom: StackClientApp<HasTokenStore, any> }\n) & (\n string extends ProjectId ? unknown : ({ projectId: ProjectId } | { inheritsFrom: StackClientApp<any, ProjectId> })\n);\n\n\n/** @deprecated Use `HexclaveClientAppJson` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport type StackClientAppJson<HasTokenStore extends boolean, ProjectId extends string> = StackClientAppConstructorOptions<HasTokenStore, ProjectId> & { inheritsFrom?: undefined } & {\n uniqueIdentifier: string,\n // note: if you add more fields here, make sure to ensure the checkString in the constructor has/doesn't have them\n};\n\n/** @deprecated Use `HexclaveClientApp` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport type StackClientApp<HasTokenStore extends boolean = boolean, ProjectId extends string = string> = (\n & {\n readonly projectId: ProjectId,\n\n /**\n * The version of the Hexclave SDK.\n */\n readonly version: string,\n\n /**\n * @deprecated Do not use `app.urls` for navigation. It is static and does not include runtime redirect-back,\n * cross-domain auth, or sign-out state. Use the matching `redirectToXyz()` method instead, for example\n * `redirectToSignIn()`, `redirectToSignUp()`, `redirectToSignOut()`, or `redirectToAccountSettings()`.\n */\n readonly urls: Readonly<ResolvedHandlerUrls>,\n\n signInWithOAuth(provider: string, options?: { returnTo?: string }): Promise<void>,\n signInWithCredential(options: { email: string, password: string, noRedirect?: boolean }): Promise<Result<undefined, KnownErrors[\"EmailPasswordMismatch\"] | KnownErrors[\"InvalidTotpCode\"]>>,\n signUpWithCredential(options: {\n email: string,\n password: string,\n noRedirect?: boolean,\n } & ({ noVerificationCallback: true } | { noVerificationCallback?: false, verificationCallbackUrl?: string })): Promise<Result<undefined, KnownErrors[\"UserWithEmailAlreadyExists\"] | KnownErrors[\"PasswordRequirementsNotMet\"] | KnownErrors[\"BotChallengeFailed\"]>>,\n signInWithPasskey(): Promise<Result<undefined, KnownErrors[\"PasskeyAuthenticationFailed\"] | KnownErrors[\"InvalidTotpCode\"] | KnownErrors[\"PasskeyWebAuthnError\"]>>,\n callOAuthCallback(): Promise<boolean>,\n promptCliLogin(options: { appUrl: string, expiresInMillis?: number, anonRefreshToken?: string, promptLink?: (url: string, loginCode: string) => void }): Promise<Result<string, KnownErrors[\"CliAuthError\"] | KnownErrors[\"CliAuthExpiredError\"] | KnownErrors[\"CliAuthUsedError\"]>>,\n sendForgotPasswordEmail(email: string, options?: { callbackUrl?: string }): Promise<Result<undefined, KnownErrors[\"UserNotFound\"]>>,\n sendMagicLinkEmail(email: string, options?: { callbackUrl?: string }): Promise<Result<{ nonce: string }, KnownErrors[\"RedirectUrlNotWhitelisted\"] | KnownErrors[\"BotChallengeFailed\"]>>,\n resetPassword(options: { code: string, password: string }): Promise<Result<undefined, KnownErrors[\"VerificationCodeError\"]>>,\n verifyPasswordResetCode(code: string): Promise<Result<undefined, KnownErrors[\"VerificationCodeError\"]>>,\n verifyTeamInvitationCode(code: string): Promise<Result<undefined, KnownErrors[\"VerificationCodeError\"] | KnownErrors[\"TeamInvitationEmailMismatch\"]>>,\n acceptTeamInvitation(code: string): Promise<Result<undefined, KnownErrors[\"VerificationCodeError\"] | KnownErrors[\"TeamInvitationEmailMismatch\"]>>,\n getTeamInvitationDetails(code: string): Promise<Result<{ teamDisplayName: string }, KnownErrors[\"VerificationCodeError\"] | KnownErrors[\"TeamInvitationEmailMismatch\"]>>,\n verifyEmail(code: string): Promise<Result<undefined, KnownErrors[\"VerificationCodeError\"]>>,\n signInWithMagicLink(code: string, options?: { noRedirect?: boolean }): Promise<Result<undefined, KnownErrors[\"VerificationCodeError\"] | KnownErrors[\"InvalidTotpCode\"]>>,\n signInWithMfa(otp: string, code: string, options?: { noRedirect?: boolean }): Promise<Result<undefined, KnownErrors[\"VerificationCodeError\"] | KnownErrors[\"InvalidTotpCode\"]>>,\n\n redirectToOAuthCallback(): Promise<void>,\n\n getConvexClientAuth(options: HasTokenStore extends false ? { tokenStore: TokenStoreInit } : { tokenStore?: TokenStoreInit }): (args: { forceRefreshToken: boolean }) => Promise<string | null>,\n getConvexHttpClientAuth(options: { tokenStore: TokenStoreInit }): Promise<string>,\n\n\n getUser(options: GetCurrentUserOptions<HasTokenStore> & { or: 'redirect' }): Promise<ProjectCurrentUser<ProjectId>>,\n getUser(options: GetCurrentUserOptions<HasTokenStore> & { or: 'throw' }): Promise<ProjectCurrentUser<ProjectId>>,\n getUser(options: GetCurrentUserOptions<HasTokenStore> & { or: 'anonymous' }): Promise<ProjectCurrentUser<ProjectId>>,\n getUser(options?: GetCurrentUserOptions<HasTokenStore>): Promise<ProjectCurrentUser<ProjectId> | null>,\n\n cancelSubscription(options: { productId: string, subscriptionId?: string } | { productId: string, subscriptionId?: string, teamId: string }): Promise<void>,\n\n // note: we don't special-case 'anonymous' here to return non-null, see GetPartialUserOptions for more details\n getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore> & { from: 'token' }): Promise<TokenPartialUser | null>,\n getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore> & { from: 'convex' }): Promise<TokenPartialUser | null>,\n getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore>): Promise<SyncedPartialUser | TokenPartialUser | null>,\n\n [hexclaveAppInternalsSymbol]: {\n toClientJson(): StackClientAppJson<HasTokenStore, ProjectId>,\n setCurrentUser(userJsonPromise: Promise<CurrentUserCrud['Client']['Read'] | null>): void,\n getConstructorOptions(): StackClientAppConstructorOptions<HasTokenStore, ProjectId> & { inheritsFrom?: undefined },\n sendSessionReplayBatch(body: string, options: { keepalive: boolean }): Promise<Result<Response, Error>>,\n sendAnalyticsEventBatch(body: string, options: { keepalive: boolean }): Promise<Result<Response, Error>>,\n addRequestListener(listener: RequestListener): () => void,\n sendRequest(path: string, requestOptions: RequestInit, requestType?: \"client\" | \"server\" | \"admin\"): Promise<Response>,\n getUrls(): Readonly<ResolvedHandlerUrls>,\n getRedirectMethod(): RedirectMethod,\n redirectToUrl(url: string | URL, options?: { replace?: boolean }): Promise<void>,\n getRedirectToHandlerUrl(handlerName: keyof HandlerUrls, options?: RedirectToOptions): Promise<string>,\n redirectToHandler(handlerName: keyof HandlerUrls, options?: RedirectToOptions): Promise<void>,\n signInWithTokens(tokens: { accessToken: string, refreshToken: string }): Promise<void>,\n awaitPendingAuthResolutions(): Promise<void>,\n },\n }\n & AsyncStoreProperty<\"project\", [], Project, false>\n & AsyncStoreProperty<\n \"item\",\n [{ itemId: string, userId: string } | { itemId: string, teamId: string } | { itemId: string, customCustomerId: string }],\n Item,\n false\n >\n & AsyncStoreProperty<\n \"products\",\n [options: CustomerProductsRequestOptions],\n CustomerProductsList,\n true\n >\n & AsyncStoreProperty<\n \"invoices\",\n [options: CustomerInvoicesRequestOptions],\n CustomerInvoicesList,\n true\n >\n & { [K in `redirectTo${Capitalize<keyof Omit<HandlerUrls, 'handler' | 'oauthCallback'>>}`]: (options?: RedirectToOptions) => Promise<void> }\n & AuthLike<HasTokenStore extends false ? { tokenStore: TokenStoreInit } : { tokenStore?: TokenStoreInit }>\n);\n/** @deprecated Use `HexclaveClientAppConstructor` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport type StackClientAppConstructor = {\n new <\n TokenStoreType extends string,\n HasTokenStore extends (TokenStoreType extends {} ? true : boolean),\n ProjectId extends string\n >(options: StackClientAppConstructorOptions<HasTokenStore, ProjectId>): StackClientApp<HasTokenStore, ProjectId>,\n new(options: StackClientAppConstructorOptions<boolean, string>): StackClientApp<boolean, string>,\n\n [hexclaveAppInternalsSymbol]: {\n fromClientJson<HasTokenStore extends boolean, ProjectId extends string>(\n json: StackClientAppJson<HasTokenStore, ProjectId>\n ): StackClientApp<HasTokenStore, ProjectId>,\n },\n};\nexport type HexclaveClientAppConstructorOptions<HasTokenStore extends boolean, ProjectId extends string> = StackClientAppConstructorOptions<HasTokenStore, ProjectId>;\nexport type HexclaveClientAppJson<HasTokenStore extends boolean, ProjectId extends string> = StackClientAppJson<HasTokenStore, ProjectId>;\nexport type HexclaveClientApp<HasTokenStore extends boolean = boolean, ProjectId extends string = string> = StackClientApp<HasTokenStore, ProjectId>;\nexport type HexclaveClientAppConstructor = StackClientAppConstructor;\nexport const HexclaveClientApp: HexclaveClientAppConstructor = _HexclaveClientAppImpl;\n/** @deprecated Use `HexclaveClientApp` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport const StackClientApp: StackClientAppConstructor = HexclaveClientApp;\n"],"mappings":";;AA+KA,MAAa,yDAAkDA,CAAAA,CAAAA;;AAE/D,MAAa,iBAA4C"}
@@ -1,133 +1,2 @@
1
- import { t as GenericQueryCtx } from "../../../../storage-CKsyME2q.js";
2
- import { AsyncStoreProperty, GetCurrentPartialUserOptions, GetCurrentUserOptions } from "../../common.js";
3
- import { CustomerProductsList, CustomerProductsRequestOptions, InlineProduct, ServerItem } from "../../customers/index.js";
4
- import { EmailDeliveryInfo, SendEmailOptions } from "../../email/index.js";
5
- import { DataVaultStore } from "../../data-vault/index.js";
6
- import { ProjectCurrentServerUser, ServerOAuthProvider, ServerUser, ServerUserCreateOptions, SyncedPartialServerUser, TokenPartialUser } from "../../users/index.js";
7
- import { ServerListTeamsOptions, ServerListUsersOptions, ServerTeam, ServerTeamCreateOptions } from "../../teams/index.js";
8
- import { StackClientApp, StackClientAppConstructorOptions } from "./client-app.js";
9
- import { KnownErrors } from "@hexclave/shared";
10
- import { Result } from "@hexclave/shared/dist/utils/results";
11
-
12
- //#region src/lib/hexclave-app/apps/interfaces/server-app.d.ts
13
- /** @deprecated Use `HexclaveServerAppConstructorOptions` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */
14
- type StackServerAppConstructorOptions<HasTokenStore extends boolean, ProjectId extends string> = StackClientAppConstructorOptions<HasTokenStore, ProjectId> & {
15
- secretServerKey?: string;
16
- };
17
- /** @deprecated Use `HexclaveServerApp` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */
18
- type StackServerApp<HasTokenStore extends boolean = boolean, ProjectId extends string = string> = ({
19
- createTeam(data: ServerTeamCreateOptions): Promise<ServerTeam>;
20
- /**
21
- * @deprecated use `getUser()` instead
22
- */
23
- getServerUser(): Promise<ProjectCurrentServerUser<ProjectId> | null>;
24
- createUser(options: ServerUserCreateOptions): Promise<ServerUser>;
25
- grantProduct(options: (({
26
- userId: string;
27
- } | {
28
- teamId: string;
29
- } | {
30
- customCustomerId: string;
31
- }) & ({
32
- productId: string;
33
- } | {
34
- product: InlineProduct;
35
- }) & {
36
- quantity?: number;
37
- })): Promise<void>;
38
- createCheckoutUrl(options: (({
39
- userId: string;
40
- } | {
41
- teamId: string;
42
- } | {
43
- customCustomerId: string;
44
- }) & ({
45
- productId: string;
46
- } | {
47
- product: InlineProduct;
48
- }) & {
49
- returnUrl?: string;
50
- })): Promise<string>;
51
- getUser(options: GetCurrentUserOptions<HasTokenStore> & {
52
- or: 'redirect';
53
- }): Promise<ProjectCurrentServerUser<ProjectId>>;
54
- getUser(options: GetCurrentUserOptions<HasTokenStore> & {
55
- or: 'throw';
56
- }): Promise<ProjectCurrentServerUser<ProjectId>>;
57
- getUser(options: GetCurrentUserOptions<HasTokenStore> & {
58
- or: 'anonymous';
59
- }): Promise<ProjectCurrentServerUser<ProjectId>>;
60
- getUser(options?: GetCurrentUserOptions<HasTokenStore>): Promise<ProjectCurrentServerUser<ProjectId> | null>;
61
- getUser(id: string): Promise<ServerUser | null>;
62
- getUser(options: {
63
- apiKey: string;
64
- or?: "return-null" | "anonymous";
65
- }): Promise<ServerUser | null>;
66
- getUser(options: {
67
- from: "convex";
68
- ctx: GenericQueryCtx<any>;
69
- or?: "return-null" | "anonymous";
70
- }): Promise<ServerUser | null>;
71
- getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore> & {
72
- from: 'token';
73
- }): Promise<TokenPartialUser | null>;
74
- getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore> & {
75
- from: 'convex';
76
- }): Promise<TokenPartialUser | null>;
77
- getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore>): Promise<SyncedPartialServerUser | TokenPartialUser | null>;
78
- getTeam(id: string): Promise<ServerTeam | null>;
79
- getTeam(options: {
80
- apiKey: string;
81
- }): Promise<ServerTeam | null>;
82
- listUsers(options?: ServerListUsersOptions): Promise<ServerUser[] & {
83
- nextCursor: string | null;
84
- }>;
85
- /**
86
- * Returns every direct (or recursive) team permission grant for every
87
- * member of the given team in one request. Use this instead of calling
88
- * `user.listPermissions(team)` per row when rendering a roster — that
89
- * pattern produces an N+1 over the team-member endpoint.
90
- */
91
- listTeamMemberPermissions(teamId: string, options?: {
92
- recursive?: boolean;
93
- }): Promise<{
94
- userId: string;
95
- permissionId: string;
96
- }[]>;
97
- createOAuthProvider(options: {
98
- userId: string;
99
- accountId: string;
100
- providerConfigId: string;
101
- email: string;
102
- allowSignIn: boolean;
103
- allowConnectedAccounts: boolean;
104
- }): Promise<Result<ServerOAuthProvider, InstanceType<typeof KnownErrors.OAuthProviderAccountIdAlreadyUsedForSignIn>>>;
105
- sendEmail(options: SendEmailOptions): Promise<void>;
106
- getEmailDeliveryStats(): Promise<EmailDeliveryInfo>;
107
- activateEmailCapacityBoost(): Promise<void>;
108
- } & AsyncStoreProperty<"user", [id: string], ServerUser | null, false> & Omit<AsyncStoreProperty<"users", [], ServerUser[], true>, "listUsers" | "useUsers"> & AsyncStoreProperty<"teams", [options?: ServerListTeamsOptions], ServerTeam[] & {
109
- nextCursor: string | null;
110
- }, true> & AsyncStoreProperty<"dataVaultStore", [id: string], DataVaultStore, false> & AsyncStoreProperty<"item", [{
111
- itemId: string;
112
- userId: string;
113
- } | {
114
- itemId: string;
115
- teamId: string;
116
- } | {
117
- itemId: string;
118
- customCustomerId: string;
119
- }], ServerItem, false> & AsyncStoreProperty<"products", [options: CustomerProductsRequestOptions], CustomerProductsList, true> & StackClientApp<HasTokenStore, ProjectId>);
120
- /** @deprecated Use `HexclaveServerAppConstructor` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */
121
- type StackServerAppConstructor = {
122
- new <TokenStoreType extends string, HasTokenStore extends (TokenStoreType extends {} ? true : boolean), ProjectId extends string>(options: StackServerAppConstructorOptions<HasTokenStore, ProjectId>): StackServerApp<HasTokenStore, ProjectId>;
123
- new (options: StackServerAppConstructorOptions<boolean, string>): StackServerApp<boolean, string>;
124
- };
125
- type HexclaveServerAppConstructorOptions<HasTokenStore extends boolean, ProjectId extends string> = StackServerAppConstructorOptions<HasTokenStore, ProjectId>;
126
- type HexclaveServerApp<HasTokenStore extends boolean = boolean, ProjectId extends string = string> = StackServerApp<HasTokenStore, ProjectId>;
127
- type HexclaveServerAppConstructor = StackServerAppConstructor;
128
- declare const HexclaveServerApp: HexclaveServerAppConstructor;
129
- /** @deprecated Use `HexclaveServerApp` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */
130
- declare const StackServerApp: StackServerAppConstructor;
131
- //#endregion
132
- export { HexclaveServerApp, HexclaveServerAppConstructor, HexclaveServerAppConstructorOptions, StackServerApp, StackServerAppConstructor, StackServerAppConstructorOptions };
133
- //# sourceMappingURL=server-app.d.ts.map
1
+ import { A as HexclaveServerApp, F as StackServerAppConstructorOptions, M as HexclaveServerAppConstructorOptions, N as StackServerApp, P as StackServerAppConstructor, j as HexclaveServerAppConstructor } from "../../../../client-app-D8-Lm4RT.js";
2
+ export { HexclaveServerApp, HexclaveServerAppConstructor, HexclaveServerAppConstructorOptions, StackServerApp, StackServerAppConstructor, StackServerAppConstructorOptions };
@@ -1,13 +1,10 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_chunk = require('../../../../chunk-BE-pF4vm.js');
3
- let ___implementations_index_js = require("../implementations/index.js");
4
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
5
2
  //#region src/lib/hexclave-app/apps/interfaces/server-app.ts
6
- const HexclaveServerApp = ___implementations_index_js._HexclaveServerAppImpl;
3
+ const HexclaveServerApp = require("../implementations/index.js")._HexclaveServerAppImpl;
7
4
  /** @deprecated Use `HexclaveServerApp` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */
8
5
  const StackServerApp = HexclaveServerApp;
9
-
10
6
  //#endregion
11
7
  exports.HexclaveServerApp = HexclaveServerApp;
12
8
  exports.StackServerApp = StackServerApp;
9
+
13
10
  //# sourceMappingURL=server-app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-app.js","names":["_HexclaveServerAppImpl"],"sources":["../../../../../src/lib/hexclave-app/apps/interfaces/server-app.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 } from \"@hexclave/shared\";\nimport { Result } from \"@hexclave/shared/dist/utils/results\";\nimport type { GenericQueryCtx } from \"convex/server\";\nimport { AsyncStoreProperty, GetCurrentPartialUserOptions, GetCurrentUserOptions } from \"../../common\";\nimport { CustomerProductsList, CustomerProductsRequestOptions, InlineProduct, ServerItem } from \"../../customers\";\nimport { DataVaultStore } from \"../../data-vault\";\nimport { EmailDeliveryInfo, SendEmailOptions } from \"../../email\";\nimport { ServerListTeamsOptions, ServerListUsersOptions, ServerTeam, ServerTeamCreateOptions } from \"../../teams\";\nimport { ProjectCurrentServerUser, ServerOAuthProvider, ServerUser, ServerUserCreateOptions, SyncedPartialServerUser, TokenPartialUser } from \"../../users\";\nimport { _HexclaveServerAppImpl } from \"../implementations\";\nimport { StackClientApp, StackClientAppConstructorOptions } from \"./client-app\";\n\n\n/** @deprecated Use `HexclaveServerAppConstructorOptions` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport type StackServerAppConstructorOptions<HasTokenStore extends boolean, ProjectId extends string> = StackClientAppConstructorOptions<HasTokenStore, ProjectId> & {\n secretServerKey?: string,\n};\n\n/** @deprecated Use `HexclaveServerApp` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport type StackServerApp<HasTokenStore extends boolean = boolean, ProjectId extends string = string> = (\n & {\n createTeam(data: ServerTeamCreateOptions): Promise<ServerTeam>,\n /**\n * @deprecated use `getUser()` instead\n */\n getServerUser(): Promise<ProjectCurrentServerUser<ProjectId> | null>,\n\n createUser(options: ServerUserCreateOptions): Promise<ServerUser>,\n grantProduct(options: (\n ({ userId: string } | { teamId: string } | { customCustomerId: string }) &\n ({ productId: string } | { product: InlineProduct }) &\n { quantity?: number }\n )): Promise<void>,\n createCheckoutUrl(options: (\n ({ userId: string } | { teamId: string } | { customCustomerId: string }) &\n ({ productId: string } | { product: InlineProduct }) &\n { returnUrl?: string }\n )): Promise<string>,\n\n\n getUser(options: GetCurrentUserOptions<HasTokenStore> & { or: 'redirect' }): Promise<ProjectCurrentServerUser<ProjectId>>,\n getUser(options: GetCurrentUserOptions<HasTokenStore> & { or: 'throw' }): Promise<ProjectCurrentServerUser<ProjectId>>,\n getUser(options: GetCurrentUserOptions<HasTokenStore> & { or: 'anonymous' }): Promise<ProjectCurrentServerUser<ProjectId>>,\n getUser(options?: GetCurrentUserOptions<HasTokenStore>): Promise<ProjectCurrentServerUser<ProjectId> | null>,\n getUser(id: string): Promise<ServerUser | null>,\n getUser(options: { apiKey: string, or?: \"return-null\" | \"anonymous\" }): Promise<ServerUser | null>,\n getUser(options: { from: \"convex\", ctx: GenericQueryCtx<any>, or?: \"return-null\" | \"anonymous\" }): Promise<ServerUser | null>,\n\n // note: we don't special-case 'anonymous' here to return non-null, see GetPartialUserOptions for more details\n getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore> & { from: 'token' }): Promise<TokenPartialUser | null>,\n getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore> & { from: 'convex' }): Promise<TokenPartialUser | null>,\n getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore>): Promise<SyncedPartialServerUser | TokenPartialUser | null>,\n getTeam(id: string): Promise<ServerTeam | null>,\n getTeam(options: { apiKey: string }): Promise<ServerTeam | null>,\n\n\n listUsers(options?: ServerListUsersOptions): Promise<ServerUser[] & { nextCursor: string | null }>,\n\n /**\n * Returns every direct (or recursive) team permission grant for every\n * member of the given team in one request. Use this instead of calling\n * `user.listPermissions(team)` per row when rendering a roster — that\n * pattern produces an N+1 over the team-member endpoint.\n */\n listTeamMemberPermissions(teamId: string, options?: { recursive?: boolean }): Promise<{ userId: string, permissionId: string }[]>,\n\n // TODO this should actually be on ServerUser\n createOAuthProvider(options: {\n userId: string,\n accountId: string,\n providerConfigId: string,\n email: string,\n allowSignIn: boolean,\n allowConnectedAccounts: boolean,\n }): Promise<Result<ServerOAuthProvider, InstanceType<typeof KnownErrors.OAuthProviderAccountIdAlreadyUsedForSignIn>>>,\n\n sendEmail(options: SendEmailOptions): Promise<void>,\n\n getEmailDeliveryStats(): Promise<EmailDeliveryInfo>,\n\n activateEmailCapacityBoost(): Promise<void>,\n }\n & AsyncStoreProperty<\"user\", [id: string], ServerUser | null, false>\n & Omit<AsyncStoreProperty<\"users\", [], ServerUser[], true>, \"listUsers\" | \"useUsers\">\n & AsyncStoreProperty<\"teams\", [options?: ServerListTeamsOptions], ServerTeam[] & { nextCursor: string | null }, true>\n & AsyncStoreProperty<\"dataVaultStore\", [id: string], DataVaultStore, false>\n & AsyncStoreProperty<\n \"item\",\n [{ itemId: string, userId: string } | { itemId: string, teamId: string } | { itemId: string, customCustomerId: string }],\n ServerItem,\n false\n >\n & AsyncStoreProperty<\n \"products\",\n [options: CustomerProductsRequestOptions],\n CustomerProductsList,\n true\n >\n & StackClientApp<HasTokenStore, ProjectId>\n);\n/** @deprecated Use `HexclaveServerAppConstructor` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport type StackServerAppConstructor = {\n new <\n TokenStoreType extends string,\n HasTokenStore extends (TokenStoreType extends {} ? true : boolean),\n ProjectId extends string\n >(options: StackServerAppConstructorOptions<HasTokenStore, ProjectId>): StackServerApp<HasTokenStore, ProjectId>,\n new (options: StackServerAppConstructorOptions<boolean, string>): StackServerApp<boolean, string>,\n};\nexport type HexclaveServerAppConstructorOptions<HasTokenStore extends boolean, ProjectId extends string> = StackServerAppConstructorOptions<HasTokenStore, ProjectId>;\nexport type HexclaveServerApp<HasTokenStore extends boolean = boolean, ProjectId extends string = string> = StackServerApp<HasTokenStore, ProjectId>;\nexport type HexclaveServerAppConstructor = StackServerAppConstructor;\nexport const HexclaveServerApp: HexclaveServerAppConstructor = _HexclaveServerAppImpl;\n/** @deprecated Use `HexclaveServerApp` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport const StackServerApp: StackServerAppConstructor = HexclaveServerApp;\n"],"mappings":";;;;;AAoHA,MAAa,oBAAkDA;;AAE/D,MAAa,iBAA4C"}
1
+ {"version":3,"file":"server-app.js","names":["_HexclaveServerAppImpl"],"sources":["../../../../../src/lib/hexclave-app/apps/interfaces/server-app.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 } from \"@hexclave/shared\";\nimport { Result } from \"@hexclave/shared/dist/utils/results\";\nimport type { GenericQueryCtx } from \"convex/server\";\nimport { AsyncStoreProperty, GetCurrentPartialUserOptions, GetCurrentUserOptions } from \"../../common\";\nimport { CustomerProductsList, CustomerProductsRequestOptions, InlineProduct, ServerItem } from \"../../customers\";\nimport { DataVaultStore } from \"../../data-vault\";\nimport { EmailDeliveryInfo, SendEmailOptions } from \"../../email\";\nimport { ServerListTeamsOptions, ServerListUsersOptions, ServerTeam, ServerTeamCreateOptions } from \"../../teams\";\nimport { ProjectCurrentServerUser, ServerOAuthProvider, ServerUser, ServerUserCreateOptions, SyncedPartialServerUser, TokenPartialUser } from \"../../users\";\nimport { _HexclaveServerAppImpl } from \"../implementations\";\nimport { StackClientApp, StackClientAppConstructorOptions } from \"./client-app\";\n\n\n/** @deprecated Use `HexclaveServerAppConstructorOptions` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport type StackServerAppConstructorOptions<HasTokenStore extends boolean, ProjectId extends string> = StackClientAppConstructorOptions<HasTokenStore, ProjectId> & {\n secretServerKey?: string,\n};\n\n/** @deprecated Use `HexclaveServerApp` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport type StackServerApp<HasTokenStore extends boolean = boolean, ProjectId extends string = string> = (\n & {\n createTeam(data: ServerTeamCreateOptions): Promise<ServerTeam>,\n /**\n * @deprecated use `getUser()` instead\n */\n getServerUser(): Promise<ProjectCurrentServerUser<ProjectId> | null>,\n\n createUser(options: ServerUserCreateOptions): Promise<ServerUser>,\n grantProduct(options: (\n ({ userId: string } | { teamId: string } | { customCustomerId: string }) &\n ({ productId: string } | { product: InlineProduct }) &\n { quantity?: number }\n )): Promise<void>,\n createCheckoutUrl(options: (\n ({ userId: string } | { teamId: string } | { customCustomerId: string }) &\n ({ productId: string } | { product: InlineProduct }) &\n { returnUrl?: string }\n )): Promise<string>,\n\n\n getUser(options: GetCurrentUserOptions<HasTokenStore> & { or: 'redirect' }): Promise<ProjectCurrentServerUser<ProjectId>>,\n getUser(options: GetCurrentUserOptions<HasTokenStore> & { or: 'throw' }): Promise<ProjectCurrentServerUser<ProjectId>>,\n getUser(options: GetCurrentUserOptions<HasTokenStore> & { or: 'anonymous' }): Promise<ProjectCurrentServerUser<ProjectId>>,\n getUser(options?: GetCurrentUserOptions<HasTokenStore>): Promise<ProjectCurrentServerUser<ProjectId> | null>,\n getUser(id: string): Promise<ServerUser | null>,\n getUser(options: { apiKey: string, or?: \"return-null\" | \"anonymous\" }): Promise<ServerUser | null>,\n getUser(options: { from: \"convex\", ctx: GenericQueryCtx<any>, or?: \"return-null\" | \"anonymous\" }): Promise<ServerUser | null>,\n\n // note: we don't special-case 'anonymous' here to return non-null, see GetPartialUserOptions for more details\n getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore> & { from: 'token' }): Promise<TokenPartialUser | null>,\n getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore> & { from: 'convex' }): Promise<TokenPartialUser | null>,\n getPartialUser(options: GetCurrentPartialUserOptions<HasTokenStore>): Promise<SyncedPartialServerUser | TokenPartialUser | null>,\n getTeam(id: string): Promise<ServerTeam | null>,\n getTeam(options: { apiKey: string }): Promise<ServerTeam | null>,\n\n\n listUsers(options?: ServerListUsersOptions): Promise<ServerUser[] & { nextCursor: string | null }>,\n\n /**\n * Returns every direct (or recursive) team permission grant for every\n * member of the given team in one request. Use this instead of calling\n * `user.listPermissions(team)` per row when rendering a roster — that\n * pattern produces an N+1 over the team-member endpoint.\n */\n listTeamMemberPermissions(teamId: string, options?: { recursive?: boolean }): Promise<{ userId: string, permissionId: string }[]>,\n\n // TODO this should actually be on ServerUser\n createOAuthProvider(options: {\n userId: string,\n accountId: string,\n providerConfigId: string,\n email: string,\n allowSignIn: boolean,\n allowConnectedAccounts: boolean,\n }): Promise<Result<ServerOAuthProvider, InstanceType<typeof KnownErrors.OAuthProviderAccountIdAlreadyUsedForSignIn>>>,\n\n sendEmail(options: SendEmailOptions): Promise<void>,\n\n getEmailDeliveryStats(): Promise<EmailDeliveryInfo>,\n\n activateEmailCapacityBoost(): Promise<void>,\n }\n & AsyncStoreProperty<\"user\", [id: string], ServerUser | null, false>\n & Omit<AsyncStoreProperty<\"users\", [], ServerUser[], true>, \"listUsers\" | \"useUsers\">\n & AsyncStoreProperty<\"teams\", [options?: ServerListTeamsOptions], ServerTeam[] & { nextCursor: string | null }, true>\n & AsyncStoreProperty<\"dataVaultStore\", [id: string], DataVaultStore, false>\n & AsyncStoreProperty<\n \"item\",\n [{ itemId: string, userId: string } | { itemId: string, teamId: string } | { itemId: string, customCustomerId: string }],\n ServerItem,\n false\n >\n & AsyncStoreProperty<\n \"products\",\n [options: CustomerProductsRequestOptions],\n CustomerProductsList,\n true\n >\n & StackClientApp<HasTokenStore, ProjectId>\n);\n/** @deprecated Use `HexclaveServerAppConstructor` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport type StackServerAppConstructor = {\n new <\n TokenStoreType extends string,\n HasTokenStore extends (TokenStoreType extends {} ? true : boolean),\n ProjectId extends string\n >(options: StackServerAppConstructorOptions<HasTokenStore, ProjectId>): StackServerApp<HasTokenStore, ProjectId>,\n new (options: StackServerAppConstructorOptions<boolean, string>): StackServerApp<boolean, string>,\n};\nexport type HexclaveServerAppConstructorOptions<HasTokenStore extends boolean, ProjectId extends string> = StackServerAppConstructorOptions<HasTokenStore, ProjectId>;\nexport type HexclaveServerApp<HasTokenStore extends boolean = boolean, ProjectId extends string = string> = StackServerApp<HasTokenStore, ProjectId>;\nexport type HexclaveServerAppConstructor = StackServerAppConstructor;\nexport const HexclaveServerApp: HexclaveServerAppConstructor = _HexclaveServerAppImpl;\n/** @deprecated Use `HexclaveServerApp` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport const StackServerApp: StackServerAppConstructor = HexclaveServerApp;\n"],"mappings":";;AAoHA,MAAa,yDAAkDA,CAAAA,CAAAA;;AAE/D,MAAa,iBAA4C"}
@@ -1,174 +1,2 @@
1
- import { r as UserIdentity, t as GenericQueryCtx } from "../../storage-CKsyME2q.js";
2
- import { ProviderType } from "@hexclave/shared/dist/utils/oauth";
3
- import { DefaultHandlerUrlTarget, HandlerPageUrls, HandlerRedirectUrls, HandlerUrlOptions, HandlerUrlTarget, HandlerUrls, ResolvedHandlerUrls } from "@hexclave/shared/dist/interface/handler-urls";
4
-
5
- //#region src/lib/hexclave-app/common.d.ts
6
- type RedirectToOptions = {
7
- replace?: boolean;
8
- noRedirectBack?: boolean;
9
- };
10
- type AsyncStoreProperty<Name extends string, Args extends any[], Value, IsMultiple extends boolean> = { [key in `${IsMultiple extends true ? "list" : "get"}${Capitalize<Name>}`]: (...args: Args) => Promise<Value> };
11
- type EmailConfig = {
12
- host: string;
13
- port: number;
14
- username: string;
15
- password: string;
16
- senderEmail: string;
17
- senderName: string;
18
- };
19
- type RedirectMethod = "window" | "none" | {
20
- useNavigate: () => (to: string) => void;
21
- navigate?: (to: string) => void;
22
- };
23
- type GetCurrentUserOptions<HasTokenStore> = {
24
- or?: 'redirect' | 'throw' | 'return-null' | 'anonymous' | /** @deprecated */'anonymous-if-exists[deprecated]';
25
- /**
26
- * Whether to include restricted users (users who haven't completed onboarding requirements like email verification).
27
- * By default, restricted users are filtered out (treated similar to anonymous users).
28
- *
29
- * Note: This option cannot be set to false when `or: 'anonymous'` is used, as all anonymous users are also restricted.
30
- *
31
- * @default false
32
- */
33
- includeRestricted?: boolean;
34
- tokenStore?: TokenStoreInit;
35
- } & (HasTokenStore extends false ? {
36
- tokenStore: TokenStoreInit;
37
- } : {});
38
- type ConvexCtx = GenericQueryCtx<any> | {
39
- auth: {
40
- getUserIdentity: () => Promise<UserIdentity | null>;
41
- };
42
- };
43
- type GetCurrentPartialUserOptions<HasTokenStore> = {
44
- or?: 'return-null' | 'anonymous-if-exists';
45
- tokenStore?: TokenStoreInit;
46
- } & ({
47
- from: 'token';
48
- } | {
49
- from: 'convex';
50
- ctx: ConvexCtx;
51
- }) & (HasTokenStore extends false ? {
52
- tokenStore: TokenStoreInit;
53
- } : {});
54
- type RequestLike = {
55
- headers: {
56
- get: (name: string) => string | null;
57
- } | Record<string, string | null>;
58
- };
59
- type TokenStoreInit<HasTokenStore extends boolean = boolean> = HasTokenStore extends true ? ("cookie" | "nextjs-cookie" | "memory" | RequestLike | {
60
- accessToken: string;
61
- refreshToken: string;
62
- }) : HasTokenStore extends false ? null : TokenStoreInit<true> | TokenStoreInit<false>;
63
- type OAuthScopesOnSignIn = { [key in ProviderType]: string[] };
64
- /**
65
- * Contains the authentication methods without session-related fields.
66
- * Used for apps that have token storage capabilities.
67
- */
68
- type AuthLike<ExtraOptions = {}> = {
69
- signOut(options?: {
70
- redirectUrl?: URL | string;
71
- } & ExtraOptions): Promise<void>;
72
- signOut(options?: {
73
- redirectUrl?: URL | string;
74
- }): Promise<void>;
75
- /**
76
- * Returns the current access token, or null if the user is not signed in.
77
- *
78
- * The access token is a short-lived JWT that can be used to authenticate requests to external servers.
79
- * It will be automatically refreshed when it expires.
80
- */
81
- getAccessToken(options?: {} & ExtraOptions): Promise<string | null>;
82
- /**
83
- * Returns the current refresh token, or null if the user is not signed in.
84
- *
85
- * The refresh token is a long-lived token that can be used to obtain new access tokens.
86
- * It should be kept secret and never exposed to the client.
87
- */
88
- getRefreshToken(options?: {} & ExtraOptions): Promise<string | null>;
89
- /**
90
- * Returns the value for the HTTP `Authorization` header for authenticated requests to external servers.
91
- * Most commonly used in cross-origin requests. Similar to `getAuthJson`, but specifically for HTTP requests.
92
- *
93
- * If you are using `tokenStore: "cookie"`, you don't need this for same-origin requests. However, most
94
- * browsers now disable third-party cookies by default, so we must pass authentication tokens by header instead
95
- * if the client and server are on different origins.
96
- *
97
- * This function returns the header value in this format:
98
- * `Bearer stackauth_<base64(getAuthJson())>`, or `null` if the user is not signed in.
99
- * You can use this with `fetch` or other HTTP request libraries to send authenticated requests.
100
- *
101
- * On the server, you can then pass in the `Request` object to the `tokenStore` option
102
- * of your Stack app. Please note that CORS does not allow most headers by default, so you
103
- * must include `authorization` in the [`Access-Control-Allow-Headers` header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers)
104
- * of the CORS preflight response.
105
- *
106
- * If you are not using HTTP (and hence cannot set headers), use `getAuthJson()` instead.
107
- *
108
- * Example:
109
- *
110
- * ```ts
111
- * // client
112
- * const authorizationHeader = await hexclaveApp.getAuthorizationHeader();
113
- * const res = await fetch("https://api.example.com", {
114
- * headers: {
115
- * ...(authorizationHeader ? { Authorization: authorizationHeader } : {})
116
- * // you can also add your own headers here
117
- * },
118
- * });
119
- *
120
- * // server
121
- * function handleRequest(req: Request) {
122
- * const user = await hexclaveServerApp.getUser({ tokenStore: req });
123
- * return new Response("Welcome, " + user.displayName);
124
- * }
125
- * ```
126
- */
127
- getAuthorizationHeader(options?: {} & ExtraOptions): Promise<string | null>;
128
- /**
129
- * @deprecated Use `getAuthorizationHeader()` instead.
130
- *
131
- * Returns the legacy `x-stack-auth` headers for authenticated HTTP requests. This remains for backwards
132
- * compatibility with existing integrations.
133
- */
134
- getAuthHeaders(options?: {} & ExtraOptions): Promise<{
135
- "x-stack-auth": string;
136
- }>;
137
- /** @deprecated Use `useAuthorizationHeader()` instead. */
138
- /**
139
- * Creates a JSON-serializable object containing the information to authenticate a user on an external server.
140
- * Similar to `getAuthorizationHeader`, but returns an object that can be sent over any protocol instead of just
141
- * HTTP headers.
142
- *
143
- * While `getAuthorizationHeader` is the recommended way to send authentication tokens over HTTP, your app may use
144
- * a different protocol, for example WebSockets or gRPC. This function returns a token object that can be JSON-serialized and sent to the server in any way you like.
145
- *
146
- * On the server, you can pass in this token object into the `tokenStore` option to fetch user details.
147
- *
148
- * Example:
149
- *
150
- * ```ts
151
- * // client
152
- * const res = await rpcCall(rpcEndpoint, {
153
- * data: {
154
- * auth: await hexclaveApp.getAuthJson(),
155
- * },
156
- * });
157
- *
158
- * // server
159
- * function handleRequest(data) {
160
- * const user = await hexclaveServerApp.getUser({ tokenStore: data.auth });
161
- * return new Response("Welcome, " + user.displayName);
162
- * }
163
- * ```
164
- */
165
- getAuthJson(options?: {} & ExtraOptions): Promise<{
166
- accessToken: string | null;
167
- refreshToken: string | null;
168
- }>;
169
- };
170
- /** @internal */
171
- declare const hexclaveAppInternalsSymbol: unique symbol;
172
- //#endregion
173
- export { AsyncStoreProperty, AuthLike, ConvexCtx, type DefaultHandlerUrlTarget, EmailConfig, GetCurrentPartialUserOptions, GetCurrentUserOptions, type HandlerPageUrls, type HandlerRedirectUrls, type HandlerUrlOptions, type HandlerUrlTarget, type HandlerUrls, OAuthScopesOnSignIn, RedirectMethod, RedirectToOptions, RequestLike, type ResolvedHandlerUrls, TokenStoreInit, hexclaveAppInternalsSymbol };
174
- //# sourceMappingURL=common.d.ts.map
1
+ import { _ as ResolvedHandlerUrls, a as EmailConfig, c as HandlerPageUrls, d as HandlerUrlTarget, f as HandlerUrls, g as RequestLike, h as RedirectToOptions, i as DefaultHandlerUrlTarget, l as HandlerRedirectUrls, m as RedirectMethod, n as AuthLike, o as GetCurrentPartialUserOptions, p as OAuthScopesOnSignIn, r as ConvexCtx, s as GetCurrentUserOptions, t as AsyncStoreProperty, u as HandlerUrlOptions, v as TokenStoreInit, y as hexclaveAppInternalsSymbol } from "../../common-BDyEKSM6.js";
2
+ export { AsyncStoreProperty, AuthLike, ConvexCtx, type DefaultHandlerUrlTarget, EmailConfig, GetCurrentPartialUserOptions, GetCurrentUserOptions, type HandlerPageUrls, type HandlerRedirectUrls, type HandlerUrlOptions, type HandlerUrlTarget, type HandlerUrls, OAuthScopesOnSignIn, RedirectMethod, RedirectToOptions, RequestLike, type ResolvedHandlerUrls, TokenStoreInit, hexclaveAppInternalsSymbol };
@@ -1,9 +1,8 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
2
  //#region src/lib/hexclave-app/common.ts
4
3
  /** @internal */
5
4
  const hexclaveAppInternalsSymbol = Symbol.for("StackAuth--DO-NOT-USE-OR-YOU-WILL-BE-FIRED--StackAppInternals");
6
-
7
5
  //#endregion
8
6
  exports.hexclaveAppInternalsSymbol = hexclaveAppInternalsSymbol;
7
+
9
8
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","names":[],"sources":["../../../src/lib/hexclave-app/common.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 { ProviderType } from \"@hexclave/shared/dist/utils/oauth\";\nimport type { GenericQueryCtx, UserIdentity } from \"convex/server\";\nexport type {\n DefaultHandlerUrlTarget,\n HandlerPageUrls,\n HandlerRedirectUrls,\n HandlerUrlOptions,\n HandlerUrlTarget,\n HandlerUrls,\n ResolvedHandlerUrls,\n} from \"@hexclave/shared/dist/interface/handler-urls\";\n\nexport type RedirectToOptions = {\n replace?: boolean,\n noRedirectBack?: boolean,\n};\n\nexport type AsyncStoreProperty<Name extends string, Args extends any[], Value, IsMultiple extends boolean> =\n & { [key in `${IsMultiple extends true ? \"list\" : \"get\"}${Capitalize<Name>}`]: (...args: Args) => Promise<Value> }\n\nexport type EmailConfig = {\n host: string,\n port: number,\n username: string,\n password: string,\n senderEmail: string,\n senderName: string,\n}\n\nexport type RedirectMethod = \"window\"\n | \"none\"\n | {\n useNavigate: () => (to: string) => void,\n navigate?: (to: string) => void,\n }\n\n\nexport type GetCurrentUserOptions<HasTokenStore> =\n & {\n or?: 'redirect' | 'throw' | 'return-null' | 'anonymous' | /** @deprecated */ 'anonymous-if-exists[deprecated]',\n /**\n * Whether to include restricted users (users who haven't completed onboarding requirements like email verification).\n * By default, restricted users are filtered out (treated similar to anonymous users).\n *\n * Note: This option cannot be set to false when `or: 'anonymous'` is used, as all anonymous users are also restricted.\n *\n * @default false\n */\n includeRestricted?: boolean,\n tokenStore?: TokenStoreInit,\n }\n & (HasTokenStore extends false ? {\n tokenStore: TokenStoreInit,\n } : {});\n\nexport type ConvexCtx =\n| GenericQueryCtx<any>\n| { auth: { getUserIdentity: () => Promise<UserIdentity | null> } };\n\nexport type GetCurrentPartialUserOptions<HasTokenStore> =\n & {\n or?: 'return-null' | 'anonymous-if-exists', // note: unlike normal getUser, 'anonymous' still returns null sometimes (eg. if no token is present)\n tokenStore?: TokenStoreInit,\n }\n & (\n | {\n from: 'token',\n }\n | {\n from: 'convex',\n ctx: ConvexCtx,\n }\n )\n & (HasTokenStore extends false ? {\n tokenStore: TokenStoreInit,\n } : {});\n\nexport type RequestLike = {\n headers:\n | {\n get: (name: string) => string | null,\n }\n | Record<string, string | null>,\n};\n\nexport type TokenStoreInit<HasTokenStore extends boolean = boolean> =\n HasTokenStore extends true ? (\n | \"cookie\"\n | \"nextjs-cookie\"\n | \"memory\"\n | RequestLike\n | { accessToken: string, refreshToken: string }\n )\n : HasTokenStore extends false ? null\n : TokenStoreInit<true> | TokenStoreInit<false>;\n\nexport type OAuthScopesOnSignIn = {\n [key in ProviderType]: string[];\n};\n\n/**\n * Contains the authentication methods without session-related fields.\n * Used for apps that have token storage capabilities.\n */\nexport type AuthLike<ExtraOptions = {}> = {\n signOut(options?: { redirectUrl?: URL | string } & ExtraOptions): Promise<void>,\n signOut(options?: { redirectUrl?: URL | string }): Promise<void>,\n\n /**\n * Returns the current access token, or null if the user is not signed in.\n *\n * The access token is a short-lived JWT that can be used to authenticate requests to external servers.\n * It will be automatically refreshed when it expires.\n */\n getAccessToken(options?: {} & ExtraOptions): Promise<string | null>,\n\n /**\n * Returns the current refresh token, or null if the user is not signed in.\n *\n * The refresh token is a long-lived token that can be used to obtain new access tokens.\n * It should be kept secret and never exposed to the client.\n */\n getRefreshToken(options?: {} & ExtraOptions): Promise<string | null>,\n\n /**\n * Returns the value for the HTTP `Authorization` header for authenticated requests to external servers.\n * Most commonly used in cross-origin requests. Similar to `getAuthJson`, but specifically for HTTP requests.\n *\n * If you are using `tokenStore: \"cookie\"`, you don't need this for same-origin requests. However, most\n * browsers now disable third-party cookies by default, so we must pass authentication tokens by header instead\n * if the client and server are on different origins.\n *\n * This function returns the header value in this format:\n * `Bearer stackauth_<base64(getAuthJson())>`, or `null` if the user is not signed in.\n * You can use this with `fetch` or other HTTP request libraries to send authenticated requests.\n *\n * On the server, you can then pass in the `Request` object to the `tokenStore` option\n * of your Stack app. Please note that CORS does not allow most headers by default, so you\n * must include `authorization` in the [`Access-Control-Allow-Headers` header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers)\n * of the CORS preflight response.\n *\n * If you are not using HTTP (and hence cannot set headers), use `getAuthJson()` instead.\n *\n * Example:\n *\n * ```ts\n * // client\n * const authorizationHeader = await hexclaveApp.getAuthorizationHeader();\n * const res = await fetch(\"https://api.example.com\", {\n * headers: {\n * ...(authorizationHeader ? { Authorization: authorizationHeader } : {})\n * // you can also add your own headers here\n * },\n * });\n *\n * // server\n * function handleRequest(req: Request) {\n * const user = await hexclaveServerApp.getUser({ tokenStore: req });\n * return new Response(\"Welcome, \" + user.displayName);\n * }\n * ```\n */\n getAuthorizationHeader(options?: {} & ExtraOptions): Promise<string | null>,\n\n /**\n * @deprecated Use `getAuthorizationHeader()` instead.\n *\n * Returns the legacy `x-stack-auth` headers for authenticated HTTP requests. This remains for backwards\n * compatibility with existing integrations.\n */\n getAuthHeaders(options?: {} & ExtraOptions): Promise<{ \"x-stack-auth\": string }>,\n /** @deprecated Use `useAuthorizationHeader()` instead. */\n\n /**\n * Creates a JSON-serializable object containing the information to authenticate a user on an external server.\n * Similar to `getAuthorizationHeader`, but returns an object that can be sent over any protocol instead of just\n * HTTP headers.\n *\n * While `getAuthorizationHeader` is the recommended way to send authentication tokens over HTTP, your app may use\n * a different protocol, for example WebSockets or gRPC. This function returns a token object that can be JSON-serialized and sent to the server in any way you like.\n *\n * On the server, you can pass in this token object into the `tokenStore` option to fetch user details.\n *\n * Example:\n *\n * ```ts\n * // client\n * const res = await rpcCall(rpcEndpoint, {\n * data: {\n * auth: await hexclaveApp.getAuthJson(),\n * },\n * });\n *\n * // server\n * function handleRequest(data) {\n * const user = await hexclaveServerApp.getUser({ tokenStore: data.auth });\n * return new Response(\"Welcome, \" + user.displayName);\n * }\n * ```\n */\n getAuthJson(options?: {} & ExtraOptions): Promise<{ accessToken: string | null, refreshToken: string | null }>,\n};\n\n/** @internal */\nexport const hexclaveAppInternalsSymbol = Symbol.for(\"StackAuth--DO-NOT-USE-OR-YOU-WILL-BE-FIRED--StackAppInternals\");\n"],"mappings":";;;;AAgNA,MAAa,6BAA6B,OAAO,IAAI,gEAAgE"}
1
+ {"version":3,"file":"common.js","names":[],"sources":["../../../src/lib/hexclave-app/common.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 { ProviderType } from \"@hexclave/shared/dist/utils/oauth\";\nimport type { GenericQueryCtx, UserIdentity } from \"convex/server\";\nexport type {\n DefaultHandlerUrlTarget,\n HandlerPageUrls,\n HandlerRedirectUrls,\n HandlerUrlOptions,\n HandlerUrlTarget,\n HandlerUrls,\n ResolvedHandlerUrls,\n} from \"@hexclave/shared/dist/interface/handler-urls\";\n\nexport type RedirectToOptions = {\n replace?: boolean,\n noRedirectBack?: boolean,\n};\n\nexport type AsyncStoreProperty<Name extends string, Args extends any[], Value, IsMultiple extends boolean> =\n & { [key in `${IsMultiple extends true ? \"list\" : \"get\"}${Capitalize<Name>}`]: (...args: Args) => Promise<Value> }\n\nexport type EmailConfig = {\n host: string,\n port: number,\n username: string,\n password: string,\n senderEmail: string,\n senderName: string,\n}\n\nexport type RedirectMethod = \"window\"\n | \"none\"\n | {\n useNavigate: () => (to: string) => void,\n navigate?: (to: string) => void,\n }\n\n\nexport type GetCurrentUserOptions<HasTokenStore> =\n & {\n or?: 'redirect' | 'throw' | 'return-null' | 'anonymous' | /** @deprecated */ 'anonymous-if-exists[deprecated]',\n /**\n * Whether to include restricted users (users who haven't completed onboarding requirements like email verification).\n * By default, restricted users are filtered out (treated similar to anonymous users).\n *\n * Note: This option cannot be set to false when `or: 'anonymous'` is used, as all anonymous users are also restricted.\n *\n * @default false\n */\n includeRestricted?: boolean,\n tokenStore?: TokenStoreInit,\n }\n & (HasTokenStore extends false ? {\n tokenStore: TokenStoreInit,\n } : {});\n\nexport type ConvexCtx =\n| GenericQueryCtx<any>\n| { auth: { getUserIdentity: () => Promise<UserIdentity | null> } };\n\nexport type GetCurrentPartialUserOptions<HasTokenStore> =\n & {\n or?: 'return-null' | 'anonymous-if-exists', // note: unlike normal getUser, 'anonymous' still returns null sometimes (eg. if no token is present)\n tokenStore?: TokenStoreInit,\n }\n & (\n | {\n from: 'token',\n }\n | {\n from: 'convex',\n ctx: ConvexCtx,\n }\n )\n & (HasTokenStore extends false ? {\n tokenStore: TokenStoreInit,\n } : {});\n\nexport type RequestLike = {\n headers:\n | {\n get: (name: string) => string | null,\n }\n | Record<string, string | null>,\n};\n\nexport type TokenStoreInit<HasTokenStore extends boolean = boolean> =\n HasTokenStore extends true ? (\n | \"cookie\"\n | \"nextjs-cookie\"\n | \"memory\"\n | RequestLike\n | { accessToken: string, refreshToken: string }\n )\n : HasTokenStore extends false ? null\n : TokenStoreInit<true> | TokenStoreInit<false>;\n\nexport type OAuthScopesOnSignIn = {\n [key in ProviderType]: string[];\n};\n\n/**\n * Contains the authentication methods without session-related fields.\n * Used for apps that have token storage capabilities.\n */\nexport type AuthLike<ExtraOptions = {}> = {\n signOut(options?: { redirectUrl?: URL | string } & ExtraOptions): Promise<void>,\n signOut(options?: { redirectUrl?: URL | string }): Promise<void>,\n\n /**\n * Returns the current access token, or null if the user is not signed in.\n *\n * The access token is a short-lived JWT that can be used to authenticate requests to external servers.\n * It will be automatically refreshed when it expires.\n */\n getAccessToken(options?: {} & ExtraOptions): Promise<string | null>,\n\n /**\n * Returns the current refresh token, or null if the user is not signed in.\n *\n * The refresh token is a long-lived token that can be used to obtain new access tokens.\n * It should be kept secret and never exposed to the client.\n */\n getRefreshToken(options?: {} & ExtraOptions): Promise<string | null>,\n\n /**\n * Returns the value for the HTTP `Authorization` header for authenticated requests to external servers.\n * Most commonly used in cross-origin requests. Similar to `getAuthJson`, but specifically for HTTP requests.\n *\n * If you are using `tokenStore: \"cookie\"`, you don't need this for same-origin requests. However, most\n * browsers now disable third-party cookies by default, so we must pass authentication tokens by header instead\n * if the client and server are on different origins.\n *\n * This function returns the header value in this format:\n * `Bearer stackauth_<base64(getAuthJson())>`, or `null` if the user is not signed in.\n * You can use this with `fetch` or other HTTP request libraries to send authenticated requests.\n *\n * On the server, you can then pass in the `Request` object to the `tokenStore` option\n * of your Stack app. Please note that CORS does not allow most headers by default, so you\n * must include `authorization` in the [`Access-Control-Allow-Headers` header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers)\n * of the CORS preflight response.\n *\n * If you are not using HTTP (and hence cannot set headers), use `getAuthJson()` instead.\n *\n * Example:\n *\n * ```ts\n * // client\n * const authorizationHeader = await hexclaveApp.getAuthorizationHeader();\n * const res = await fetch(\"https://api.example.com\", {\n * headers: {\n * ...(authorizationHeader ? { Authorization: authorizationHeader } : {})\n * // you can also add your own headers here\n * },\n * });\n *\n * // server\n * function handleRequest(req: Request) {\n * const user = await hexclaveServerApp.getUser({ tokenStore: req });\n * return new Response(\"Welcome, \" + user.displayName);\n * }\n * ```\n */\n getAuthorizationHeader(options?: {} & ExtraOptions): Promise<string | null>,\n\n /**\n * @deprecated Use `getAuthorizationHeader()` instead.\n *\n * Returns the legacy `x-stack-auth` headers for authenticated HTTP requests. This remains for backwards\n * compatibility with existing integrations.\n */\n getAuthHeaders(options?: {} & ExtraOptions): Promise<{ \"x-stack-auth\": string }>,\n /** @deprecated Use `useAuthorizationHeader()` instead. */\n\n /**\n * Creates a JSON-serializable object containing the information to authenticate a user on an external server.\n * Similar to `getAuthorizationHeader`, but returns an object that can be sent over any protocol instead of just\n * HTTP headers.\n *\n * While `getAuthorizationHeader` is the recommended way to send authentication tokens over HTTP, your app may use\n * a different protocol, for example WebSockets or gRPC. This function returns a token object that can be JSON-serialized and sent to the server in any way you like.\n *\n * On the server, you can pass in this token object into the `tokenStore` option to fetch user details.\n *\n * Example:\n *\n * ```ts\n * // client\n * const res = await rpcCall(rpcEndpoint, {\n * data: {\n * auth: await hexclaveApp.getAuthJson(),\n * },\n * });\n *\n * // server\n * function handleRequest(data) {\n * const user = await hexclaveServerApp.getUser({ tokenStore: data.auth });\n * return new Response(\"Welcome, \" + user.displayName);\n * }\n * ```\n */\n getAuthJson(options?: {} & ExtraOptions): Promise<{ accessToken: string | null, refreshToken: string | null }>,\n};\n\n/** @internal */\nexport const hexclaveAppInternalsSymbol = Symbol.for(\"StackAuth--DO-NOT-USE-OR-YOU-WILL-BE-FIRED--StackAppInternals\");\n"],"mappings":";;;AAgNA,MAAa,6BAA6B,OAAO,IAAI,+DAA+D"}
@@ -1,40 +1,2 @@
1
- import { KnownErrors } from "@hexclave/shared";
2
- import { Result } from "@hexclave/shared/dist/utils/results";
3
-
4
- //#region src/lib/hexclave-app/connected-accounts/index.d.ts
5
- type Connection = {
6
- /**
7
- * @deprecated Use `provider` instead. This field returns the provider for backward compatibility.
8
- */
9
- id: string; /** Provider config ID (e.g., "google", "github") */
10
- provider: string; /** Account ID from the OAuth provider (e.g., Google user ID) */
11
- providerAccountId: string;
12
- };
13
- type OAuthConnection = {
14
- /**
15
- * Get an OAuth access token for this connected account.
16
- *
17
- * Returns `{ status: "ok", data: { accessToken } }` on success, or
18
- * `{ status: "error", error: KnownErrors["OAuthAccessTokenNotAvailable"] }` if the
19
- * refresh token has been revoked/expired or the requested scopes are not available.
20
- *
21
- * @param options.scopes - If provided, only returns a token that has all of these scopes.
22
- */
23
- getAccessToken(options?: {
24
- scopes?: string[];
25
- }): Promise<Result<{
26
- accessToken: string;
27
- }, KnownErrors["OAuthAccessTokenNotAvailable"]>>;
28
- } & Connection;
29
- /**
30
- * @deprecated Used by legacy `getConnectedAccount(providerId)`. Use `OAuthConnection` instead,
31
- * which returns a `Result` from `getAccessToken`/`useAccessToken` instead of throwing.
32
- */
33
- type DeprecatedOAuthConnection = {
34
- getAccessToken(): Promise<{
35
- accessToken: string;
36
- }>;
37
- } & Connection;
38
- //#endregion
39
- export { Connection, DeprecatedOAuthConnection, OAuthConnection };
40
- //# sourceMappingURL=index.d.ts.map
1
+ import { n as DeprecatedOAuthConnection, r as OAuthConnection, t as Connection } from "../../../index-ClBTM-St.js";
2
+ export { Connection, DeprecatedOAuthConnection, OAuthConnection };
@@ -1,43 +1,2 @@
1
- import { ContactChannelsCrud } from "@hexclave/shared/dist/interface/crud/contact-channels";
2
-
3
- //#region src/lib/hexclave-app/contact-channels/index.d.ts
4
- type ContactChannel = {
5
- id: string;
6
- value: string;
7
- type: 'email';
8
- isPrimary: boolean;
9
- isVerified: boolean;
10
- usedForAuth: boolean;
11
- sendVerificationEmail(options?: {
12
- callbackUrl?: string;
13
- }): Promise<void>;
14
- update(data: ContactChannelUpdateOptions): Promise<void>;
15
- delete(): Promise<void>;
16
- };
17
- type ContactChannelCreateOptions = {
18
- value: string;
19
- type: 'email';
20
- usedForAuth: boolean;
21
- isPrimary?: boolean;
22
- };
23
- declare function contactChannelCreateOptionsToCrud(userId: string, options: ContactChannelCreateOptions): ContactChannelsCrud["Client"]["Create"];
24
- type ContactChannelUpdateOptions = {
25
- usedForAuth?: boolean;
26
- value?: string;
27
- isPrimary?: boolean;
28
- };
29
- declare function contactChannelUpdateOptionsToCrud(options: ContactChannelUpdateOptions): ContactChannelsCrud["Client"]["Update"];
30
- type ServerContactChannel = ContactChannel & {
31
- update(data: ServerContactChannelUpdateOptions): Promise<void>;
32
- };
33
- type ServerContactChannelUpdateOptions = ContactChannelUpdateOptions & {
34
- isVerified?: boolean;
35
- };
36
- declare function serverContactChannelUpdateOptionsToCrud(options: ServerContactChannelUpdateOptions): ContactChannelsCrud["Server"]["Update"];
37
- type ServerContactChannelCreateOptions = ContactChannelCreateOptions & {
38
- isVerified?: boolean;
39
- };
40
- declare function serverContactChannelCreateOptionsToCrud(userId: string, options: ServerContactChannelCreateOptions): ContactChannelsCrud["Server"]["Create"];
41
- //#endregion
42
- export { ContactChannel, ContactChannelCreateOptions, ContactChannelUpdateOptions, ServerContactChannel, ServerContactChannelCreateOptions, ServerContactChannelUpdateOptions, contactChannelCreateOptionsToCrud, contactChannelUpdateOptionsToCrud, serverContactChannelCreateOptionsToCrud, serverContactChannelUpdateOptionsToCrud };
43
- //# sourceMappingURL=index.d.ts.map
1
+ import { a as ServerContactChannelCreateOptions, c as contactChannelUpdateOptionsToCrud, i as ServerContactChannel, l as serverContactChannelCreateOptionsToCrud, n as ContactChannelCreateOptions, o as ServerContactChannelUpdateOptions, r as ContactChannelUpdateOptions, s as contactChannelCreateOptionsToCrud, t as ContactChannel, u as serverContactChannelUpdateOptionsToCrud } from "../../../index-DN04TjLM.js";
2
+ export { ContactChannel, ContactChannelCreateOptions, ContactChannelUpdateOptions, ServerContactChannel, ServerContactChannelCreateOptions, ServerContactChannelUpdateOptions, contactChannelCreateOptionsToCrud, contactChannelUpdateOptionsToCrud, serverContactChannelCreateOptionsToCrud, serverContactChannelUpdateOptionsToCrud };
@@ -1,5 +1,4 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
2
  //#region src/lib/hexclave-app/contact-channels/index.ts
4
3
  function contactChannelCreateOptionsToCrud(userId, options) {
5
4
  return {
@@ -35,10 +34,10 @@ function serverContactChannelCreateOptionsToCrud(userId, options) {
35
34
  is_primary: options.isPrimary
36
35
  };
37
36
  }
38
-
39
37
  //#endregion
40
38
  exports.contactChannelCreateOptionsToCrud = contactChannelCreateOptionsToCrud;
41
39
  exports.contactChannelUpdateOptionsToCrud = contactChannelUpdateOptionsToCrud;
42
40
  exports.serverContactChannelCreateOptionsToCrud = serverContactChannelCreateOptionsToCrud;
43
41
  exports.serverContactChannelUpdateOptionsToCrud = serverContactChannelUpdateOptionsToCrud;
42
+
44
43
  //# sourceMappingURL=index.js.map