@hexclave/js 1.0.2 → 1.0.5

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 (450) hide show
  1. package/dist/dev-tool/dev-tool-core.d.ts +1 -1
  2. package/dist/dev-tool/dev-tool-core.js +11 -11
  3. package/dist/dev-tool/dev-tool-core.js.map +1 -1
  4. package/dist/dev-tool/dev-tool-styles.d.ts +1 -1
  5. package/dist/dev-tool/dev-tool-styles.js +371 -371
  6. package/dist/dev-tool/dev-tool-styles.js.map +1 -1
  7. package/dist/dev-tool/dev-tool-trigger-position.js.map +1 -1
  8. package/dist/dev-tool/dev-tool-trigger-position.test.js.map +1 -1
  9. package/dist/dev-tool/index.d.ts +4 -4
  10. package/dist/dev-tool/index.js +4 -4
  11. package/dist/dev-tool/index.js.map +1 -1
  12. package/dist/esm/dev-tool/dev-tool-core.d.ts +1 -1
  13. package/dist/esm/dev-tool/dev-tool-core.js +10 -10
  14. package/dist/esm/dev-tool/dev-tool-core.js.map +1 -1
  15. package/dist/esm/dev-tool/dev-tool-styles.d.ts +1 -1
  16. package/dist/esm/dev-tool/dev-tool-styles.js +371 -371
  17. package/dist/esm/dev-tool/dev-tool-styles.js.map +1 -1
  18. package/dist/esm/dev-tool/dev-tool-trigger-position.js.map +1 -1
  19. package/dist/esm/dev-tool/dev-tool-trigger-position.test.js.map +1 -1
  20. package/dist/esm/dev-tool/index.d.ts +4 -4
  21. package/dist/esm/dev-tool/index.js +4 -4
  22. package/dist/esm/dev-tool/index.js.map +1 -1
  23. package/dist/esm/index.d.ts +1 -1
  24. package/dist/esm/index.js +1 -1
  25. package/dist/esm/integrations/convex/component/convex.config.js.map +1 -1
  26. package/dist/esm/integrations/convex.js +1 -1
  27. package/dist/esm/integrations/convex.js.map +1 -1
  28. package/dist/esm/lib/auth.js.map +1 -1
  29. package/dist/esm/lib/auth.test.js.map +1 -1
  30. package/dist/esm/lib/cookie.js.map +1 -1
  31. package/dist/esm/lib/env.js.map +1 -1
  32. package/dist/esm/lib/{stack-app → hexclave-app}/api-keys/index.d.ts +1 -1
  33. package/dist/esm/lib/hexclave-app/api-keys/index.d.ts.map +1 -0
  34. package/dist/esm/lib/{stack-app → hexclave-app}/api-keys/index.js +1 -1
  35. package/dist/esm/lib/hexclave-app/api-keys/index.js.map +1 -0
  36. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.d.ts +6 -6
  37. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -0
  38. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.js +7 -7
  39. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -0
  40. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.cross-domain.test.js +2 -2
  41. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -0
  42. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.d.ts +13 -13
  43. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -0
  44. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.js +23 -30
  45. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -0
  46. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.js +1 -1
  47. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -0
  48. package/dist/{lib/stack-app → esm/lib/hexclave-app}/apps/implementations/common.d.ts +3 -3
  49. package/dist/esm/lib/hexclave-app/apps/implementations/common.d.ts.map +1 -0
  50. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/common.js +6 -6
  51. package/dist/esm/lib/hexclave-app/apps/implementations/common.js.map +1 -0
  52. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.d.ts +1 -1
  53. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.d.ts.map +1 -0
  54. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.js +1 -1
  55. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -0
  56. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.js +1 -1
  57. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -0
  58. package/dist/esm/lib/hexclave-app/apps/implementations/index.d.ts +9 -0
  59. package/dist/esm/lib/hexclave-app/apps/implementations/index.d.ts.map +1 -0
  60. package/dist/esm/lib/hexclave-app/apps/implementations/index.js +27 -0
  61. package/dist/esm/lib/hexclave-app/apps/implementations/index.js.map +1 -0
  62. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.d.ts +1 -1
  63. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts.map +1 -0
  64. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.js +1 -1
  65. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -0
  66. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.d.ts +4 -4
  67. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.d.ts.map +1 -0
  68. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.js +5 -5
  69. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -0
  70. package/dist/{lib/stack-app → esm/lib/hexclave-app}/apps/implementations/session-refresh-subscription.d.ts +1 -1
  71. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.d.ts.map +1 -0
  72. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.js +1 -1
  73. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.js.map +1 -0
  74. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.js +1 -1
  75. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js.map +1 -0
  76. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.d.ts +1 -1
  77. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.d.ts.map +1 -0
  78. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.js +1 -1
  79. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -0
  80. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.js +1 -1
  81. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -0
  82. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.d.ts +1 -1
  83. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.d.ts.map +1 -0
  84. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.js +3 -3
  85. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -0
  86. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.d.ts +4 -4
  87. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.d.ts.map +1 -0
  88. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.js +3 -3
  89. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -0
  90. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.d.ts +1 -1
  91. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.d.ts.map +1 -0
  92. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.js +3 -3
  93. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.js.map +1 -0
  94. package/dist/esm/lib/{stack-app → hexclave-app}/common.d.ts +7 -7
  95. package/dist/esm/lib/hexclave-app/common.d.ts.map +1 -0
  96. package/dist/esm/lib/hexclave-app/common.js +7 -0
  97. package/dist/esm/lib/hexclave-app/common.js.map +1 -0
  98. package/dist/{lib/stack-app → esm/lib/hexclave-app}/connected-accounts/index.d.ts +1 -1
  99. package/dist/esm/lib/hexclave-app/connected-accounts/index.d.ts.map +1 -0
  100. package/dist/{lib/stack-app → esm/lib/hexclave-app}/contact-channels/index.d.ts +1 -1
  101. package/dist/esm/lib/hexclave-app/contact-channels/index.d.ts.map +1 -0
  102. package/dist/esm/lib/{stack-app → hexclave-app}/contact-channels/index.js +1 -1
  103. package/dist/esm/lib/hexclave-app/contact-channels/index.js.map +1 -0
  104. package/dist/esm/lib/{stack-app → hexclave-app}/customers/index.d.ts +1 -1
  105. package/dist/esm/lib/hexclave-app/customers/index.d.ts.map +1 -0
  106. package/dist/esm/lib/{stack-app → hexclave-app}/data-vault/index.d.ts +1 -1
  107. package/dist/esm/lib/hexclave-app/data-vault/index.d.ts.map +1 -0
  108. package/dist/esm/lib/{stack-app → hexclave-app}/email/index.d.ts +1 -1
  109. package/dist/esm/lib/hexclave-app/email/index.d.ts.map +1 -0
  110. package/dist/{lib/stack-app → esm/lib/hexclave-app}/email-templates/index.d.ts +1 -1
  111. package/dist/esm/lib/hexclave-app/email-templates/index.d.ts.map +1 -0
  112. package/dist/esm/lib/{stack-app → hexclave-app}/email-templates/index.js +1 -1
  113. package/dist/esm/lib/hexclave-app/email-templates/index.js.map +1 -0
  114. package/dist/esm/lib/{stack-app → hexclave-app}/index.d.ts +2 -2
  115. package/dist/esm/lib/{stack-app → hexclave-app}/index.js +2 -2
  116. package/dist/{lib/stack-app → esm/lib/hexclave-app}/internal-api-keys/index.d.ts +1 -1
  117. package/dist/esm/lib/hexclave-app/internal-api-keys/index.d.ts.map +1 -0
  118. package/dist/esm/lib/{stack-app → hexclave-app}/internal-api-keys/index.js +1 -1
  119. package/dist/esm/lib/hexclave-app/internal-api-keys/index.js.map +1 -0
  120. package/dist/{lib/stack-app → esm/lib/hexclave-app}/notification-categories/index.d.ts +1 -1
  121. package/dist/esm/lib/hexclave-app/notification-categories/index.d.ts.map +1 -0
  122. package/dist/esm/lib/{stack-app → hexclave-app}/permissions/index.d.ts +1 -1
  123. package/dist/esm/lib/hexclave-app/permissions/index.d.ts.map +1 -0
  124. package/dist/esm/lib/{stack-app → hexclave-app}/permissions/index.js +1 -1
  125. package/dist/esm/lib/hexclave-app/permissions/index.js.map +1 -0
  126. package/dist/esm/lib/{stack-app → hexclave-app}/project-configs/index.d.ts +1 -1
  127. package/dist/esm/lib/hexclave-app/project-configs/index.d.ts.map +1 -0
  128. package/dist/esm/lib/{stack-app → hexclave-app}/projects/index.d.ts +1 -1
  129. package/dist/esm/lib/hexclave-app/projects/index.d.ts.map +1 -0
  130. package/dist/esm/lib/{stack-app → hexclave-app}/projects/index.js +1 -1
  131. package/dist/esm/lib/hexclave-app/projects/index.js.map +1 -0
  132. package/dist/{lib/stack-app → esm/lib/hexclave-app}/session-replays/index.d.ts +1 -1
  133. package/dist/esm/lib/hexclave-app/session-replays/index.d.ts.map +1 -0
  134. package/dist/esm/lib/{stack-app → hexclave-app}/teams/index.d.ts +1 -1
  135. package/dist/esm/lib/hexclave-app/teams/index.d.ts.map +1 -0
  136. package/dist/esm/lib/{stack-app → hexclave-app}/teams/index.js +1 -1
  137. package/dist/esm/lib/hexclave-app/teams/index.js.map +1 -0
  138. package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.d.ts +1 -1
  139. package/dist/esm/lib/hexclave-app/url-targets.d.ts.map +1 -0
  140. package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.js +2 -2
  141. package/dist/esm/lib/hexclave-app/url-targets.js.map +1 -0
  142. package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.test.js +1 -1
  143. package/dist/esm/lib/hexclave-app/url-targets.test.js.map +1 -0
  144. package/dist/esm/lib/{stack-app → hexclave-app}/users/index.d.ts +1 -1
  145. package/dist/esm/lib/hexclave-app/users/index.d.ts.map +1 -0
  146. package/dist/esm/lib/{stack-app → hexclave-app}/users/index.js +1 -1
  147. package/dist/esm/lib/hexclave-app/users/index.js.map +1 -0
  148. package/dist/esm/utils/url.js.map +1 -1
  149. package/dist/index.d.ts +15 -15
  150. package/dist/index.js +3 -3
  151. package/dist/integrations/convex/component/convex.config.js.map +1 -1
  152. package/dist/integrations/convex.js +2 -2
  153. package/dist/integrations/convex.js.map +1 -1
  154. package/dist/lib/auth.js.map +1 -1
  155. package/dist/lib/auth.test.js.map +1 -1
  156. package/dist/lib/cookie.js.map +1 -1
  157. package/dist/lib/env.js.map +1 -1
  158. package/dist/lib/{stack-app → hexclave-app}/api-keys/index.d.ts +1 -1
  159. package/dist/{esm/lib/stack-app → lib/hexclave-app}/api-keys/index.d.ts.map +1 -1
  160. package/dist/lib/{stack-app → hexclave-app}/api-keys/index.js +1 -1
  161. package/dist/lib/hexclave-app/api-keys/index.js.map +1 -0
  162. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.d.ts +6 -6
  163. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -0
  164. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.js +5 -5
  165. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -0
  166. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.cross-domain.test.js +2 -2
  167. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -0
  168. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.d.ts +13 -13
  169. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -0
  170. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.js +22 -29
  171. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -0
  172. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.js +1 -1
  173. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -0
  174. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/common.d.ts +3 -3
  175. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/common.d.ts.map +1 -1
  176. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/common.js +5 -5
  177. package/dist/lib/hexclave-app/apps/implementations/common.js.map +1 -0
  178. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.d.ts +1 -1
  179. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/event-tracker.d.ts.map +1 -1
  180. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.js +1 -1
  181. package/dist/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -0
  182. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.js +1 -1
  183. package/dist/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -0
  184. package/dist/lib/hexclave-app/apps/implementations/index.d.ts +9 -0
  185. package/dist/lib/hexclave-app/apps/implementations/index.d.ts.map +1 -0
  186. package/dist/lib/hexclave-app/apps/implementations/index.js +31 -0
  187. package/dist/lib/hexclave-app/apps/implementations/index.js.map +1 -0
  188. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.d.ts +1 -1
  189. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/redirect-page-urls.d.ts.map +1 -1
  190. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.js +1 -1
  191. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -0
  192. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.d.ts +4 -4
  193. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/server-app-impl.d.ts.map +1 -1
  194. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.js +4 -4
  195. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -0
  196. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/session-refresh-subscription.d.ts +1 -1
  197. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/session-refresh-subscription.d.ts.map +1 -1
  198. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.js +1 -1
  199. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.js.map +1 -0
  200. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.js +1 -1
  201. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js.map +1 -0
  202. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.d.ts +1 -1
  203. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/session-replay.d.ts.map +1 -1
  204. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.js +1 -1
  205. package/dist/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -0
  206. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.js +1 -1
  207. package/dist/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -0
  208. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.d.ts +1 -1
  209. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/interfaces/admin-app.d.ts.map +1 -1
  210. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.js +2 -2
  211. package/dist/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -0
  212. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.d.ts +4 -4
  213. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/interfaces/client-app.d.ts.map +1 -1
  214. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.js +2 -2
  215. package/dist/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -0
  216. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.d.ts +1 -1
  217. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/interfaces/server-app.d.ts.map +1 -1
  218. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.js +2 -2
  219. package/dist/lib/hexclave-app/apps/interfaces/server-app.js.map +1 -0
  220. package/dist/lib/{stack-app → hexclave-app}/common.d.ts +7 -7
  221. package/dist/{esm/lib/stack-app → lib/hexclave-app}/common.d.ts.map +1 -1
  222. package/dist/lib/hexclave-app/common.js +9 -0
  223. package/dist/lib/hexclave-app/common.js.map +1 -0
  224. package/dist/{esm/lib/stack-app → lib/hexclave-app}/connected-accounts/index.d.ts +1 -1
  225. package/dist/{esm/lib/stack-app → lib/hexclave-app}/connected-accounts/index.d.ts.map +1 -1
  226. package/dist/{esm/lib/stack-app → lib/hexclave-app}/contact-channels/index.d.ts +1 -1
  227. package/dist/{esm/lib/stack-app → lib/hexclave-app}/contact-channels/index.d.ts.map +1 -1
  228. package/dist/lib/{stack-app → hexclave-app}/contact-channels/index.js +1 -1
  229. package/dist/lib/hexclave-app/contact-channels/index.js.map +1 -0
  230. package/dist/lib/{stack-app → hexclave-app}/customers/index.d.ts +1 -1
  231. package/dist/{esm/lib/stack-app → lib/hexclave-app}/customers/index.d.ts.map +1 -1
  232. package/dist/lib/{stack-app → hexclave-app}/data-vault/index.d.ts +1 -1
  233. package/dist/{esm/lib/stack-app → lib/hexclave-app}/data-vault/index.d.ts.map +1 -1
  234. package/dist/lib/{stack-app → hexclave-app}/email/index.d.ts +1 -1
  235. package/dist/{esm/lib/stack-app → lib/hexclave-app}/email/index.d.ts.map +1 -1
  236. package/dist/{esm/lib/stack-app → lib/hexclave-app}/email-templates/index.d.ts +1 -1
  237. package/dist/{esm/lib/stack-app → lib/hexclave-app}/email-templates/index.d.ts.map +1 -1
  238. package/dist/lib/{stack-app → hexclave-app}/email-templates/index.js +1 -1
  239. package/dist/lib/hexclave-app/email-templates/index.js.map +1 -0
  240. package/dist/lib/{stack-app → hexclave-app}/index.d.ts +2 -2
  241. package/dist/lib/{stack-app → hexclave-app}/index.js +2 -2
  242. package/dist/{esm/lib/stack-app → lib/hexclave-app}/internal-api-keys/index.d.ts +1 -1
  243. package/dist/{esm/lib/stack-app → lib/hexclave-app}/internal-api-keys/index.d.ts.map +1 -1
  244. package/dist/lib/{stack-app → hexclave-app}/internal-api-keys/index.js +1 -1
  245. package/dist/lib/hexclave-app/internal-api-keys/index.js.map +1 -0
  246. package/dist/{esm/lib/stack-app → lib/hexclave-app}/notification-categories/index.d.ts +1 -1
  247. package/dist/{esm/lib/stack-app → lib/hexclave-app}/notification-categories/index.d.ts.map +1 -1
  248. package/dist/lib/{stack-app → hexclave-app}/permissions/index.d.ts +1 -1
  249. package/dist/{esm/lib/stack-app → lib/hexclave-app}/permissions/index.d.ts.map +1 -1
  250. package/dist/lib/{stack-app → hexclave-app}/permissions/index.js +1 -1
  251. package/dist/lib/hexclave-app/permissions/index.js.map +1 -0
  252. package/dist/lib/{stack-app → hexclave-app}/project-configs/index.d.ts +1 -1
  253. package/dist/{esm/lib/stack-app → lib/hexclave-app}/project-configs/index.d.ts.map +1 -1
  254. package/dist/lib/{stack-app → hexclave-app}/projects/index.d.ts +1 -1
  255. package/dist/{esm/lib/stack-app → lib/hexclave-app}/projects/index.d.ts.map +1 -1
  256. package/dist/lib/{stack-app → hexclave-app}/projects/index.js +1 -1
  257. package/dist/lib/hexclave-app/projects/index.js.map +1 -0
  258. package/dist/{esm/lib/stack-app → lib/hexclave-app}/session-replays/index.d.ts +1 -1
  259. package/dist/{esm/lib/stack-app → lib/hexclave-app}/session-replays/index.d.ts.map +1 -1
  260. package/dist/lib/{stack-app → hexclave-app}/teams/index.d.ts +1 -1
  261. package/dist/{esm/lib/stack-app → lib/hexclave-app}/teams/index.d.ts.map +1 -1
  262. package/dist/lib/{stack-app → hexclave-app}/teams/index.js +1 -1
  263. package/dist/lib/hexclave-app/teams/index.js.map +1 -0
  264. package/dist/lib/{stack-app → hexclave-app}/url-targets.d.ts +1 -1
  265. package/dist/{esm/lib/stack-app → lib/hexclave-app}/url-targets.d.ts.map +1 -1
  266. package/dist/lib/{stack-app → hexclave-app}/url-targets.js +2 -2
  267. package/dist/lib/hexclave-app/url-targets.js.map +1 -0
  268. package/dist/lib/{stack-app → hexclave-app}/url-targets.test.js +1 -1
  269. package/dist/lib/hexclave-app/url-targets.test.js.map +1 -0
  270. package/dist/lib/{stack-app → hexclave-app}/users/index.d.ts +1 -1
  271. package/dist/{esm/lib/stack-app → lib/hexclave-app}/users/index.d.ts.map +1 -1
  272. package/dist/lib/{stack-app → hexclave-app}/users/index.js +1 -1
  273. package/dist/lib/hexclave-app/users/index.js.map +1 -0
  274. package/dist/utils/url.js.map +1 -1
  275. package/package.json +4 -3
  276. package/src/dev-tool/dev-tool-core.ts +2460 -0
  277. package/src/dev-tool/dev-tool-styles.ts +2758 -0
  278. package/src/dev-tool/dev-tool-trigger-position.test.ts +113 -0
  279. package/src/dev-tool/dev-tool-trigger-position.ts +109 -0
  280. package/src/dev-tool/index.ts +149 -0
  281. package/src/index.ts +12 -0
  282. package/src/integrations/convex/component/README.md +74 -0
  283. package/src/integrations/convex/component/convex.config.ts +9 -0
  284. package/src/integrations/convex.ts +28 -0
  285. package/src/lib/auth.test.ts +67 -0
  286. package/src/lib/auth.ts +175 -0
  287. package/src/lib/cookie.ts +327 -0
  288. package/src/lib/env.ts +93 -0
  289. package/src/lib/hexclave-app/api-keys/index.ts +73 -0
  290. package/src/lib/hexclave-app/apps/implementations/admin-app-impl.ts +1159 -0
  291. package/src/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.ts +141 -0
  292. package/src/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.ts +36 -0
  293. package/src/lib/hexclave-app/apps/implementations/client-app-impl.ts +3525 -0
  294. package/src/lib/hexclave-app/apps/implementations/common.ts +190 -0
  295. package/src/lib/hexclave-app/apps/implementations/event-tracker.test.ts +105 -0
  296. package/src/lib/hexclave-app/apps/implementations/event-tracker.ts +306 -0
  297. package/src/lib/hexclave-app/apps/implementations/index.ts +35 -0
  298. package/src/lib/hexclave-app/apps/implementations/redirect-page-urls.ts +342 -0
  299. package/src/lib/hexclave-app/apps/implementations/server-app-impl.ts +1322 -0
  300. package/src/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.ts +106 -0
  301. package/src/lib/hexclave-app/apps/implementations/session-refresh-subscription.ts +52 -0
  302. package/src/lib/hexclave-app/apps/implementations/session-replay.test.ts +33 -0
  303. package/src/lib/hexclave-app/apps/implementations/session-replay.ts +356 -0
  304. package/src/lib/hexclave-app/apps/index.ts +40 -0
  305. package/src/lib/hexclave-app/apps/interfaces/admin-app.ts +189 -0
  306. package/src/lib/hexclave-app/apps/interfaces/client-app.ts +172 -0
  307. package/src/lib/hexclave-app/apps/interfaces/server-app.ts +114 -0
  308. package/src/lib/hexclave-app/common.ts +209 -0
  309. package/src/lib/hexclave-app/connected-accounts/index.ts +47 -0
  310. package/src/lib/hexclave-app/contact-channels/index.ts +80 -0
  311. package/src/lib/hexclave-app/customers/index.ts +158 -0
  312. package/src/lib/hexclave-app/data-vault/index.ts +12 -0
  313. package/src/lib/hexclave-app/email/index.ts +280 -0
  314. package/src/lib/hexclave-app/email-templates/index.ts +24 -0
  315. package/src/lib/hexclave-app/index.ts +146 -0
  316. package/src/lib/hexclave-app/internal-api-keys/index.ts +55 -0
  317. package/src/lib/hexclave-app/notification-categories/index.ts +12 -0
  318. package/src/lib/hexclave-app/permissions/index.ts +75 -0
  319. package/src/lib/hexclave-app/project-configs/index.ts +103 -0
  320. package/src/lib/hexclave-app/projects/index.ts +234 -0
  321. package/src/lib/hexclave-app/session-replays/index.ts +72 -0
  322. package/src/lib/hexclave-app/teams/index.ts +203 -0
  323. package/src/lib/hexclave-app/url-targets.test.ts +253 -0
  324. package/src/lib/hexclave-app/url-targets.ts +395 -0
  325. package/src/lib/hexclave-app/users/index.ts +495 -0
  326. package/src/utils/url.ts +24 -0
  327. package/dist/esm/lib/stack-app/api-keys/index.js.map +0 -1
  328. package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.d.ts.map +0 -1
  329. package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.js.map +0 -1
  330. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.cross-domain.test.js.map +0 -1
  331. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.d.ts.map +0 -1
  332. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.js.map +0 -1
  333. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +0 -1
  334. package/dist/esm/lib/stack-app/apps/implementations/common.js.map +0 -1
  335. package/dist/esm/lib/stack-app/apps/implementations/event-tracker.js.map +0 -1
  336. package/dist/esm/lib/stack-app/apps/implementations/event-tracker.test.js.map +0 -1
  337. package/dist/esm/lib/stack-app/apps/implementations/index.d.ts +0 -9
  338. package/dist/esm/lib/stack-app/apps/implementations/index.d.ts.map +0 -1
  339. package/dist/esm/lib/stack-app/apps/implementations/index.js +0 -27
  340. package/dist/esm/lib/stack-app/apps/implementations/index.js.map +0 -1
  341. package/dist/esm/lib/stack-app/apps/implementations/redirect-page-urls.js.map +0 -1
  342. package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.js.map +0 -1
  343. package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.js.map +0 -1
  344. package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.test.js.map +0 -1
  345. package/dist/esm/lib/stack-app/apps/implementations/session-replay.js.map +0 -1
  346. package/dist/esm/lib/stack-app/apps/implementations/session-replay.test.js.map +0 -1
  347. package/dist/esm/lib/stack-app/apps/interfaces/admin-app.js.map +0 -1
  348. package/dist/esm/lib/stack-app/apps/interfaces/client-app.js.map +0 -1
  349. package/dist/esm/lib/stack-app/apps/interfaces/server-app.js.map +0 -1
  350. package/dist/esm/lib/stack-app/common.js +0 -7
  351. package/dist/esm/lib/stack-app/common.js.map +0 -1
  352. package/dist/esm/lib/stack-app/contact-channels/index.js.map +0 -1
  353. package/dist/esm/lib/stack-app/email-templates/index.js.map +0 -1
  354. package/dist/esm/lib/stack-app/internal-api-keys/index.js.map +0 -1
  355. package/dist/esm/lib/stack-app/permissions/index.js.map +0 -1
  356. package/dist/esm/lib/stack-app/projects/index.js.map +0 -1
  357. package/dist/esm/lib/stack-app/teams/index.js.map +0 -1
  358. package/dist/esm/lib/stack-app/url-targets.js.map +0 -1
  359. package/dist/esm/lib/stack-app/url-targets.test.js.map +0 -1
  360. package/dist/esm/lib/stack-app/users/index.js.map +0 -1
  361. package/dist/lib/stack-app/api-keys/index.d.ts.map +0 -1
  362. package/dist/lib/stack-app/api-keys/index.js.map +0 -1
  363. package/dist/lib/stack-app/apps/implementations/admin-app-impl.d.ts.map +0 -1
  364. package/dist/lib/stack-app/apps/implementations/admin-app-impl.js.map +0 -1
  365. package/dist/lib/stack-app/apps/implementations/client-app-impl.cross-domain.test.js.map +0 -1
  366. package/dist/lib/stack-app/apps/implementations/client-app-impl.d.ts.map +0 -1
  367. package/dist/lib/stack-app/apps/implementations/client-app-impl.js.map +0 -1
  368. package/dist/lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +0 -1
  369. package/dist/lib/stack-app/apps/implementations/common.d.ts.map +0 -1
  370. package/dist/lib/stack-app/apps/implementations/common.js.map +0 -1
  371. package/dist/lib/stack-app/apps/implementations/event-tracker.d.ts.map +0 -1
  372. package/dist/lib/stack-app/apps/implementations/event-tracker.js.map +0 -1
  373. package/dist/lib/stack-app/apps/implementations/event-tracker.test.js.map +0 -1
  374. package/dist/lib/stack-app/apps/implementations/index.d.ts +0 -9
  375. package/dist/lib/stack-app/apps/implementations/index.d.ts.map +0 -1
  376. package/dist/lib/stack-app/apps/implementations/index.js +0 -31
  377. package/dist/lib/stack-app/apps/implementations/index.js.map +0 -1
  378. package/dist/lib/stack-app/apps/implementations/redirect-page-urls.d.ts.map +0 -1
  379. package/dist/lib/stack-app/apps/implementations/redirect-page-urls.js.map +0 -1
  380. package/dist/lib/stack-app/apps/implementations/server-app-impl.d.ts.map +0 -1
  381. package/dist/lib/stack-app/apps/implementations/server-app-impl.js.map +0 -1
  382. package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.d.ts.map +0 -1
  383. package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.js.map +0 -1
  384. package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.test.js.map +0 -1
  385. package/dist/lib/stack-app/apps/implementations/session-replay.d.ts.map +0 -1
  386. package/dist/lib/stack-app/apps/implementations/session-replay.js.map +0 -1
  387. package/dist/lib/stack-app/apps/implementations/session-replay.test.js.map +0 -1
  388. package/dist/lib/stack-app/apps/interfaces/admin-app.d.ts.map +0 -1
  389. package/dist/lib/stack-app/apps/interfaces/admin-app.js.map +0 -1
  390. package/dist/lib/stack-app/apps/interfaces/client-app.d.ts.map +0 -1
  391. package/dist/lib/stack-app/apps/interfaces/client-app.js.map +0 -1
  392. package/dist/lib/stack-app/apps/interfaces/server-app.d.ts.map +0 -1
  393. package/dist/lib/stack-app/apps/interfaces/server-app.js.map +0 -1
  394. package/dist/lib/stack-app/common.d.ts.map +0 -1
  395. package/dist/lib/stack-app/common.js +0 -9
  396. package/dist/lib/stack-app/common.js.map +0 -1
  397. package/dist/lib/stack-app/connected-accounts/index.d.ts.map +0 -1
  398. package/dist/lib/stack-app/contact-channels/index.d.ts.map +0 -1
  399. package/dist/lib/stack-app/contact-channels/index.js.map +0 -1
  400. package/dist/lib/stack-app/customers/index.d.ts.map +0 -1
  401. package/dist/lib/stack-app/data-vault/index.d.ts.map +0 -1
  402. package/dist/lib/stack-app/email/index.d.ts.map +0 -1
  403. package/dist/lib/stack-app/email-templates/index.d.ts.map +0 -1
  404. package/dist/lib/stack-app/email-templates/index.js.map +0 -1
  405. package/dist/lib/stack-app/internal-api-keys/index.d.ts.map +0 -1
  406. package/dist/lib/stack-app/internal-api-keys/index.js.map +0 -1
  407. package/dist/lib/stack-app/notification-categories/index.d.ts.map +0 -1
  408. package/dist/lib/stack-app/permissions/index.d.ts.map +0 -1
  409. package/dist/lib/stack-app/permissions/index.js.map +0 -1
  410. package/dist/lib/stack-app/project-configs/index.d.ts.map +0 -1
  411. package/dist/lib/stack-app/projects/index.d.ts.map +0 -1
  412. package/dist/lib/stack-app/projects/index.js.map +0 -1
  413. package/dist/lib/stack-app/session-replays/index.d.ts.map +0 -1
  414. package/dist/lib/stack-app/teams/index.d.ts.map +0 -1
  415. package/dist/lib/stack-app/teams/index.js.map +0 -1
  416. package/dist/lib/stack-app/url-targets.d.ts.map +0 -1
  417. package/dist/lib/stack-app/url-targets.js.map +0 -1
  418. package/dist/lib/stack-app/url-targets.test.js.map +0 -1
  419. package/dist/lib/stack-app/users/index.d.ts.map +0 -1
  420. package/dist/lib/stack-app/users/index.js.map +0 -1
  421. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.cross-domain.test.d.ts +0 -0
  422. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.d.ts +0 -0
  423. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.d.ts +0 -0
  424. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.d.ts +0 -0
  425. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.d.ts +0 -0
  426. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/index.d.ts +0 -0
  427. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/index.js +0 -0
  428. /package/dist/esm/lib/{stack-app → hexclave-app}/connected-accounts/index.js +0 -0
  429. /package/dist/esm/lib/{stack-app → hexclave-app}/customers/index.js +0 -0
  430. /package/dist/esm/lib/{stack-app → hexclave-app}/data-vault/index.js +0 -0
  431. /package/dist/esm/lib/{stack-app → hexclave-app}/email/index.js +0 -0
  432. /package/dist/esm/lib/{stack-app → hexclave-app}/notification-categories/index.js +0 -0
  433. /package/dist/esm/lib/{stack-app → hexclave-app}/project-configs/index.js +0 -0
  434. /package/dist/esm/lib/{stack-app → hexclave-app}/session-replays/index.js +0 -0
  435. /package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.test.d.ts +0 -0
  436. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.cross-domain.test.d.ts +0 -0
  437. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.d.ts +0 -0
  438. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.d.ts +0 -0
  439. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.d.ts +0 -0
  440. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.d.ts +0 -0
  441. /package/dist/lib/{stack-app → hexclave-app}/apps/index.d.ts +0 -0
  442. /package/dist/lib/{stack-app → hexclave-app}/apps/index.js +0 -0
  443. /package/dist/lib/{stack-app → hexclave-app}/connected-accounts/index.js +0 -0
  444. /package/dist/lib/{stack-app → hexclave-app}/customers/index.js +0 -0
  445. /package/dist/lib/{stack-app → hexclave-app}/data-vault/index.js +0 -0
  446. /package/dist/lib/{stack-app → hexclave-app}/email/index.js +0 -0
  447. /package/dist/lib/{stack-app → hexclave-app}/notification-categories/index.js +0 -0
  448. /package/dist/lib/{stack-app → hexclave-app}/project-configs/index.js +0 -0
  449. /package/dist/lib/{stack-app → hexclave-app}/session-replays/index.js +0 -0
  450. /package/dist/lib/{stack-app → hexclave-app}/url-targets.test.d.ts +0 -0
@@ -0,0 +1,280 @@
1
+
2
+ //===========================================
3
+ // THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template
4
+ //===========================================
5
+ import type { Json } from "@hexclave/shared/dist/utils/json";
6
+ import { XOR } from "@hexclave/shared/dist/utils/types";
7
+
8
+ export type AdminSentEmail = {
9
+ id: string,
10
+ to: string[],
11
+ subject: string,
12
+ recipient: string, // We'll derive this from to[0] for display
13
+ sentAt: Date, // We'll derive this from sent_at_millis for display
14
+ error?: unknown,
15
+ }
16
+
17
+ export type AdminEmailOutboxRecipient =
18
+ | { type: "user-primary-email", userId: string }
19
+ | { type: "user-custom-emails", userId: string, emails: string[] }
20
+ | { type: "custom-emails", emails: string[] };
21
+
22
+ export type AdminEmailOutboxStatus =
23
+ | "paused"
24
+ | "preparing"
25
+ | "rendering"
26
+ | "render-error"
27
+ | "scheduled"
28
+ | "queued"
29
+ | "sending"
30
+ | "server-error"
31
+ | "skipped"
32
+ | "bounced"
33
+ | "delivery-delayed"
34
+ | "sent"
35
+ | "opened"
36
+ | "clicked"
37
+ | "marked-as-spam";
38
+
39
+ export type AdminEmailOutboxSimpleStatus =
40
+ | "in-progress"
41
+ | "ok"
42
+ | "error";
43
+
44
+ export type AdminEmailOutboxCreatedWith = "draft" | "programmatic-call";
45
+
46
+ // Error entry from a failed send attempt
47
+ export type AdminSendAttemptError = {
48
+ attemptNumber: number,
49
+ timestamp: string,
50
+ externalMessage: string,
51
+ externalDetails: Record<string, unknown>,
52
+ internalMessage: string,
53
+ internalDetails: Record<string, unknown>,
54
+ };
55
+
56
+ // =============================== BASE TYPES ===============================
57
+
58
+ // Base fields present on all emails
59
+ type AdminEmailOutboxBase = {
60
+ id: string,
61
+ createdAt: Date,
62
+ updatedAt: Date,
63
+ tsxSource: string,
64
+ themeId: string | null,
65
+ to: AdminEmailOutboxRecipient,
66
+ scheduledAt: Date,
67
+ // Source tracking for grouping emails by template/draft
68
+ createdWith: AdminEmailOutboxCreatedWith,
69
+ emailDraftId: string | null,
70
+ emailProgrammaticCallTemplateId: string | null,
71
+ variables: Record<string, Json>,
72
+ isPaused: false,
73
+ hasRendered: false,
74
+ hasDelivered: false,
75
+ // Retry tracking fields
76
+ sendRetries: number,
77
+ nextSendRetryAt: Date | null,
78
+ sendAttemptErrors: AdminSendAttemptError[] | null,
79
+ };
80
+
81
+ // Fields available after rendering completes successfully
82
+ // Use Omit to properly override hasRendered from base
83
+ type AdminEmailOutboxRenderedFields = Omit<AdminEmailOutboxBase, "hasRendered"> & {
84
+ hasRendered: true,
85
+ startedRenderingAt: Date,
86
+ renderedAt: Date,
87
+ subject: string,
88
+ html: string | null,
89
+ text: string | null,
90
+ isTransactional: boolean,
91
+ isHighPriority: boolean,
92
+ notificationCategoryId: string | null,
93
+ };
94
+
95
+ // Fields available after sending starts
96
+ type AdminEmailOutboxStartedSendingFields = AdminEmailOutboxRenderedFields & {
97
+ startedSendingAt: Date,
98
+ };
99
+
100
+ // Fields available after delivery completes
101
+ // Use Omit to properly override hasDelivered from base (inherited through chain)
102
+ type AdminEmailOutboxFinishedDeliveringFields = Omit<AdminEmailOutboxStartedSendingFields, "hasDelivered"> & {
103
+ hasDelivered: true,
104
+ deliveredAt: Date,
105
+ };
106
+
107
+ // =============================== STATUS-SPECIFIC TYPES ===============================
108
+
109
+ // Use Omit to properly override isPaused from base
110
+ export type AdminEmailOutboxPaused = Omit<AdminEmailOutboxBase, "isPaused"> & {
111
+ status: "paused",
112
+ simpleStatus: "in-progress",
113
+ isPaused: true,
114
+ };
115
+
116
+ export type AdminEmailOutboxPreparing = AdminEmailOutboxBase & {
117
+ status: "preparing",
118
+ simpleStatus: "in-progress",
119
+ };
120
+
121
+ export type AdminEmailOutboxRendering = AdminEmailOutboxBase & {
122
+ status: "rendering",
123
+ simpleStatus: "in-progress",
124
+ startedRenderingAt: Date,
125
+ };
126
+
127
+ export type AdminEmailOutboxRenderError = AdminEmailOutboxBase & {
128
+ status: "render-error",
129
+ simpleStatus: "error",
130
+ startedRenderingAt: Date,
131
+ renderedAt: Date,
132
+ renderError: string,
133
+ };
134
+
135
+ export type AdminEmailOutboxScheduled = AdminEmailOutboxRenderedFields & {
136
+ status: "scheduled",
137
+ simpleStatus: "in-progress",
138
+ };
139
+
140
+ export type AdminEmailOutboxQueued = AdminEmailOutboxRenderedFields & {
141
+ status: "queued",
142
+ simpleStatus: "in-progress",
143
+ };
144
+
145
+ export type AdminEmailOutboxSending = AdminEmailOutboxStartedSendingFields & {
146
+ status: "sending",
147
+ simpleStatus: "in-progress",
148
+ };
149
+
150
+ export type AdminEmailOutboxServerError = AdminEmailOutboxStartedSendingFields & {
151
+ status: "server-error",
152
+ simpleStatus: "error",
153
+ errorAt: Date,
154
+ serverError: string,
155
+ };
156
+
157
+ // SKIPPED can happen at any time, so rendering/sending fields are optional
158
+ // Use Omit to properly override hasRendered from base (can be true or false when skipped)
159
+ export type AdminEmailOutboxSkipped = Omit<AdminEmailOutboxBase, "hasRendered"> & {
160
+ status: "skipped",
161
+ simpleStatus: "ok",
162
+ hasRendered: boolean,
163
+ skippedAt: Date,
164
+ skippedReason: string,
165
+ skippedDetails: Record<string, unknown>,
166
+ // Optional fields depending on when skipped
167
+ startedRenderingAt?: Date,
168
+ renderedAt?: Date,
169
+ subject?: string,
170
+ html?: string | null,
171
+ text?: string | null,
172
+ isTransactional?: boolean,
173
+ isHighPriority?: boolean,
174
+ notificationCategoryId?: string | null,
175
+ startedSendingAt?: Date,
176
+ };
177
+
178
+ export type AdminEmailOutboxBounced = AdminEmailOutboxStartedSendingFields & {
179
+ status: "bounced",
180
+ simpleStatus: "error",
181
+ bouncedAt: Date,
182
+ };
183
+
184
+ export type AdminEmailOutboxDeliveryDelayed = AdminEmailOutboxStartedSendingFields & {
185
+ status: "delivery-delayed",
186
+ simpleStatus: "ok",
187
+ deliveryDelayedAt: Date,
188
+ };
189
+
190
+ export type AdminEmailOutboxSent = AdminEmailOutboxFinishedDeliveringFields & {
191
+ status: "sent",
192
+ simpleStatus: "ok",
193
+ canHaveDeliveryInfo: boolean,
194
+ };
195
+
196
+ export type AdminEmailOutboxOpened = AdminEmailOutboxFinishedDeliveringFields & {
197
+ status: "opened",
198
+ simpleStatus: "ok",
199
+ openedAt: Date,
200
+ canHaveDeliveryInfo: true,
201
+ };
202
+
203
+ export type AdminEmailOutboxClicked = AdminEmailOutboxFinishedDeliveringFields & {
204
+ status: "clicked",
205
+ simpleStatus: "ok",
206
+ clickedAt: Date,
207
+ canHaveDeliveryInfo: true,
208
+ };
209
+
210
+ export type AdminEmailOutboxMarkedAsSpam = AdminEmailOutboxFinishedDeliveringFields & {
211
+ status: "marked-as-spam",
212
+ simpleStatus: "ok",
213
+ markedAsSpamAt: Date,
214
+ canHaveDeliveryInfo: true,
215
+ };
216
+
217
+ // =============================== DISCRIMINATED UNION ===============================
218
+
219
+ export type AdminEmailOutbox =
220
+ | AdminEmailOutboxPaused
221
+ | AdminEmailOutboxPreparing
222
+ | AdminEmailOutboxRendering
223
+ | AdminEmailOutboxRenderError
224
+ | AdminEmailOutboxScheduled
225
+ | AdminEmailOutboxQueued
226
+ | AdminEmailOutboxSending
227
+ | AdminEmailOutboxServerError
228
+ | AdminEmailOutboxSkipped
229
+ | AdminEmailOutboxBounced
230
+ | AdminEmailOutboxDeliveryDelayed
231
+ | AdminEmailOutboxSent
232
+ | AdminEmailOutboxOpened
233
+ | AdminEmailOutboxClicked
234
+ | AdminEmailOutboxMarkedAsSpam;
235
+
236
+ type SendEmailOptionsBase = {
237
+ themeId?: string | null | false,
238
+ subject?: string,
239
+ notificationCategoryName?: string,
240
+ scheduledAt?: Date,
241
+ variables?: Record<string, unknown>,
242
+ }
243
+
244
+
245
+ export type SendEmailOptions = SendEmailOptionsBase
246
+ & XOR<[
247
+ { userIds: string[] },
248
+ { allUsers: true }
249
+ ]>
250
+ & XOR<[
251
+ { html: string },
252
+ { templateId: string },
253
+ { draftId: string }
254
+ ]>
255
+
256
+ export type EmailDeliveryWindowStats = {
257
+ sent: number,
258
+ bounced: number,
259
+ marked_as_spam: number,
260
+ };
261
+
262
+ export type EmailDeliveryStats = {
263
+ hour: EmailDeliveryWindowStats,
264
+ day: EmailDeliveryWindowStats,
265
+ week: EmailDeliveryWindowStats,
266
+ month: EmailDeliveryWindowStats,
267
+ };
268
+
269
+ export type EmailDeliveryCapacity = {
270
+ rate_per_second: number,
271
+ boost_multiplier: number,
272
+ penalty_factor: number,
273
+ is_boost_active: boolean,
274
+ boost_expires_at: string | null,
275
+ };
276
+
277
+ export type EmailDeliveryInfo = {
278
+ stats: EmailDeliveryStats,
279
+ capacity: EmailDeliveryCapacity,
280
+ };
@@ -0,0 +1,24 @@
1
+
2
+ //===========================================
3
+ // THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template
4
+ //===========================================
5
+ import { EmailTemplateCrud, EmailTemplateType } from "@hexclave/shared/dist/interface/crud/email-templates";
6
+
7
+
8
+ export type AdminEmailTemplate = {
9
+ type: EmailTemplateType,
10
+ subject: string,
11
+ content: any,
12
+ isDefault: boolean,
13
+ }
14
+
15
+ export type AdminEmailTemplateUpdateOptions = {
16
+ subject?: string,
17
+ content?: any,
18
+ };
19
+ export function adminEmailTemplateUpdateOptionsToCrud(options: AdminEmailTemplateUpdateOptions): EmailTemplateCrud['Admin']['Update'] {
20
+ return {
21
+ subject: options.subject,
22
+ content: options.content,
23
+ };
24
+ }
@@ -0,0 +1,146 @@
1
+
2
+ //===========================================
3
+ // THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template
4
+ //===========================================
5
+ export {
6
+ HexclaveAdminApp,
7
+ HexclaveClientApp,
8
+ HexclaveServerApp,
9
+ } from "./apps";
10
+
11
+ // Legacy Stack* aliases — same runtime symbols, kept for backwards compatibility.
12
+ // Prefer the Hexclave* equivalents in new code.
13
+ // The @deprecated JSDoc lives on the original declarations in ./apps/interfaces/*.ts
14
+ // so it survives dts bundling (per-specifier JSDoc on re-exports does not).
15
+ export { StackAdminApp } from "./apps";
16
+ export { StackClientApp } from "./apps";
17
+ export { StackServerApp } from "./apps";
18
+
19
+ // HexclaveAdminApp / HexclaveClientApp / HexclaveServerApp are already exported above as values
20
+ // (which TypeScript treats as both value and type). Only the constructor / options / JSON
21
+ // helper types need separate type-only re-exports.
22
+ export type {
23
+ HexclaveAdminAppConstructor,
24
+ HexclaveAdminAppConstructorOptions,
25
+ HexclaveClientAppConstructor,
26
+ HexclaveClientAppConstructorOptions,
27
+ HexclaveClientAppJson,
28
+ HexclaveServerAppConstructor,
29
+ HexclaveServerAppConstructorOptions,
30
+ } from "./apps";
31
+
32
+ // Legacy Stack* type aliases — @deprecated tags live on the original declarations
33
+ // in ./apps/interfaces/*.ts (per-specifier JSDoc on re-exports doesn't survive dts bundling).
34
+ export type { StackAdminAppConstructor } from "./apps";
35
+ export type { StackAdminAppConstructorOptions } from "./apps";
36
+ export type { StackClientAppConstructor } from "./apps";
37
+ export type { StackClientAppConstructorOptions } from "./apps";
38
+ export type { StackClientAppJson } from "./apps";
39
+ export type { StackServerAppConstructor } from "./apps";
40
+ export type { StackServerAppConstructorOptions } from "./apps";
41
+
42
+ export type {
43
+ EmailOutboxListOptions,
44
+ EmailOutboxListResult,
45
+ EmailOutboxUpdateOptions
46
+ } from "./apps/interfaces/admin-app";
47
+
48
+ export type {
49
+ ProjectConfig
50
+ } from "./project-configs";
51
+
52
+ export type {
53
+ InternalApiKey,
54
+ InternalApiKeyBase,
55
+ InternalApiKeyBaseCrudRead,
56
+ InternalApiKeyCreateOptions,
57
+ InternalApiKeyFirstView
58
+ } from "./internal-api-keys";
59
+
60
+ export {
61
+ hexclaveAppInternalsSymbol,
62
+ } from "./common";
63
+ export {
64
+ getPagePrompt,
65
+ } from "./url-targets";
66
+ export type {
67
+ GetCurrentUserOptions,
68
+ /** @deprecated Use GetCurrentUserOptions instead */
69
+ GetCurrentUserOptions as GetUserOptions,
70
+ HandlerUrlOptions,
71
+ HandlerUrls, OAuthScopesOnSignIn, ResolvedHandlerUrls
72
+ } from "./common";
73
+
74
+ export type {
75
+ Connection,
76
+ OAuthConnection
77
+ } from "./connected-accounts";
78
+
79
+ export type {
80
+ ContactChannel,
81
+ ServerContactChannel
82
+ } from "./contact-channels";
83
+
84
+ export type {
85
+ AdminEmailOutbox,
86
+ AdminEmailOutboxRecipient,
87
+ AdminEmailOutboxSimpleStatus,
88
+ AdminEmailOutboxStatus,
89
+ AdminSendAttemptError,
90
+ AdminSentEmail
91
+ } from "./email";
92
+
93
+ export type {
94
+ AdminProjectPermission,
95
+ AdminProjectPermissionDefinition,
96
+ AdminProjectPermissionDefinitionCreateOptions,
97
+ AdminProjectPermissionDefinitionUpdateOptions, AdminTeamPermission,
98
+ AdminTeamPermissionDefinition,
99
+ AdminTeamPermissionDefinitionCreateOptions,
100
+ AdminTeamPermissionDefinitionUpdateOptions
101
+ } from "./permissions";
102
+
103
+ export type {
104
+ AdminDomainConfig,
105
+ AdminEmailConfig,
106
+ AdminOAuthProviderConfig,
107
+ AdminProjectConfig,
108
+ AdminProjectConfigUpdateOptions,
109
+ OAuthProviderConfig
110
+ } from "./project-configs";
111
+
112
+ export type {
113
+ AdminOwnedProject,
114
+ AdminProject,
115
+ AdminProjectCreateOptions,
116
+ AdminProjectUpdateOptions,
117
+ Project,
118
+ PushedConfigSource
119
+ } from "./projects";
120
+
121
+ export type {
122
+ EditableTeamMemberProfile, ReceivedTeamInvitation,
123
+ SentTeamInvitation, ServerListUsersOptions,
124
+ ServerTeam,
125
+ ServerTeamCreateOptions, ServerTeamMemberProfile,
126
+ ServerTeamUpdateOptions,
127
+ ServerTeamUser,
128
+ Team,
129
+ TeamCreateOptions,
130
+ TeamInvitation,
131
+ TeamMemberProfile,
132
+ TeamUpdateOptions,
133
+ TeamUser
134
+ } from "./teams";
135
+
136
+ export type {
137
+ Auth,
138
+ CurrentInternalServerUser,
139
+ CurrentInternalUser,
140
+ CurrentServerUser,
141
+ CurrentUser,
142
+ OAuthProvider,
143
+ ServerOAuthProvider,
144
+ ServerUser,
145
+ User
146
+ } from "./users";
@@ -0,0 +1,55 @@
1
+
2
+ //===========================================
3
+ // THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template
4
+ //===========================================
5
+
6
+ import { InternalApiKeyCreateCrudRequest } from "@hexclave/shared/dist/interface/admin-interface";
7
+ import { InternalApiKeysCrud } from "@hexclave/shared/dist/interface/crud/internal-api-keys";
8
+
9
+ export type InternalApiKeyBase = {
10
+ id: string,
11
+ description: string,
12
+ expiresAt: Date,
13
+ manuallyRevokedAt: Date | null,
14
+ createdAt: Date,
15
+ isValid(): boolean,
16
+ whyInvalid(): "expired" | "manually-revoked" | null,
17
+ revoke(): Promise<void>,
18
+ };
19
+
20
+ export type InternalApiKeyBaseCrudRead = Pick<InternalApiKeysCrud["Admin"]["Read"], "id" | "created_at_millis" | "description" | "expires_at_millis" | "manually_revoked_at_millis">;
21
+
22
+ export type InternalApiKeyFirstView = {
23
+ publishableClientKey?: string,
24
+ secretServerKey?: string,
25
+ superSecretAdminKey?: string,
26
+ } & InternalApiKeyBase;
27
+
28
+ export type InternalApiKey = {
29
+ publishableClientKey: null | {
30
+ lastFour: string,
31
+ },
32
+ secretServerKey: null | {
33
+ lastFour: string,
34
+ },
35
+ superSecretAdminKey: null | {
36
+ lastFour: string,
37
+ },
38
+ } & InternalApiKeyBase;
39
+
40
+ export type InternalApiKeyCreateOptions = {
41
+ description: string,
42
+ expiresAt: Date,
43
+ hasPublishableClientKey: boolean,
44
+ hasSecretServerKey: boolean,
45
+ hasSuperSecretAdminKey: boolean,
46
+ };
47
+ export function internalApiKeyCreateOptionsToCrud(options: InternalApiKeyCreateOptions): InternalApiKeyCreateCrudRequest {
48
+ return {
49
+ description: options.description,
50
+ expires_at_millis: options.expiresAt.getTime(),
51
+ has_publishable_client_key: options.hasPublishableClientKey,
52
+ has_secret_server_key: options.hasSecretServerKey,
53
+ has_super_secret_admin_key: options.hasSuperSecretAdminKey,
54
+ };
55
+ }
@@ -0,0 +1,12 @@
1
+
2
+ //===========================================
3
+ // THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template
4
+ //===========================================
5
+ export type NotificationCategory = {
6
+ id: string,
7
+ name: string,
8
+ enabled: boolean,
9
+ canDisable: boolean,
10
+
11
+ setEnabled(enabled: boolean): Promise<void>,
12
+ }
@@ -0,0 +1,75 @@
1
+
2
+ //===========================================
3
+ // THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template
4
+ //===========================================
5
+ import { ProjectPermissionDefinitionsCrud } from "@hexclave/shared/dist/interface/crud/project-permissions";
6
+ import { TeamPermissionDefinitionsCrud } from "@hexclave/shared/dist/interface/crud/team-permissions";
7
+
8
+
9
+ export type TeamPermission = {
10
+ id: string,
11
+ };
12
+
13
+ export type AdminTeamPermission = TeamPermission;
14
+
15
+ export type AdminTeamPermissionDefinition = {
16
+ id: string,
17
+ description?: string,
18
+ containedPermissionIds: string[],
19
+ isDefaultUserPermission?: boolean,
20
+ };
21
+
22
+ export type AdminTeamPermissionDefinitionCreateOptions = {
23
+ id: string,
24
+ description?: string,
25
+ containedPermissionIds: string[],
26
+ isDefaultUserPermission?: boolean,
27
+ };
28
+ export function adminTeamPermissionDefinitionCreateOptionsToCrud(options: AdminTeamPermissionDefinitionCreateOptions): TeamPermissionDefinitionsCrud["Admin"]["Create"] {
29
+ return {
30
+ id: options.id,
31
+ description: options.description,
32
+ contained_permission_ids: options.containedPermissionIds,
33
+ };
34
+ }
35
+
36
+ export type AdminTeamPermissionDefinitionUpdateOptions = Pick<Partial<AdminTeamPermissionDefinitionCreateOptions>, "description" | "containedPermissionIds">;
37
+ export function adminTeamPermissionDefinitionUpdateOptionsToCrud(options: AdminTeamPermissionDefinitionUpdateOptions): TeamPermissionDefinitionsCrud["Admin"]["Update"] {
38
+ return {
39
+ description: options.description,
40
+ contained_permission_ids: options.containedPermissionIds,
41
+ };
42
+ }
43
+
44
+ export type ProjectPermission = {
45
+ id: string,
46
+ };
47
+
48
+ export type AdminProjectPermission = ProjectPermission;
49
+
50
+ export type AdminProjectPermissionDefinition = {
51
+ id: string,
52
+ description?: string,
53
+ containedPermissionIds: string[],
54
+ };
55
+
56
+ export type AdminProjectPermissionDefinitionCreateOptions = {
57
+ id: string,
58
+ description?: string,
59
+ containedPermissionIds: string[],
60
+ };
61
+ export function adminProjectPermissionDefinitionCreateOptionsToCrud(options: AdminProjectPermissionDefinitionCreateOptions): ProjectPermissionDefinitionsCrud["Admin"]["Create"] {
62
+ return {
63
+ id: options.id,
64
+ description: options.description,
65
+ contained_permission_ids: options.containedPermissionIds,
66
+ };
67
+ }
68
+
69
+ export type AdminProjectPermissionDefinitionUpdateOptions = Pick<Partial<AdminProjectPermissionDefinitionCreateOptions>, "description" | "containedPermissionIds">;
70
+ export function adminProjectPermissionDefinitionUpdateOptionsToCrud(options: AdminProjectPermissionDefinitionUpdateOptions): ProjectPermissionDefinitionsCrud["Admin"]["Update"] {
71
+ return {
72
+ description: options.description,
73
+ contained_permission_ids: options.containedPermissionIds,
74
+ };
75
+ }
@@ -0,0 +1,103 @@
1
+
2
+ //===========================================
3
+ // THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template
4
+ //===========================================
5
+ import { AdminTeamPermission } from "../permissions";
6
+
7
+ export type ProjectConfig = {
8
+ readonly signUpEnabled: boolean,
9
+ readonly credentialEnabled: boolean,
10
+ readonly magicLinkEnabled: boolean,
11
+ readonly passkeyEnabled: boolean,
12
+ readonly clientTeamCreationEnabled: boolean,
13
+ readonly clientUserDeletionEnabled: boolean,
14
+ readonly oauthProviders: OAuthProviderConfig[],
15
+ readonly allowUserApiKeys: boolean,
16
+ readonly allowTeamApiKeys: boolean,
17
+ };
18
+
19
+ export type OAuthProviderConfig = {
20
+ readonly id: string,
21
+ };
22
+
23
+ /**
24
+ * @deprecated This type is deprecated. Use the new config override setup instead.
25
+ */
26
+ export type AdminProjectConfig = {
27
+ readonly signUpEnabled: boolean,
28
+ readonly credentialEnabled: boolean,
29
+ readonly magicLinkEnabled: boolean,
30
+ readonly passkeyEnabled: boolean,
31
+ readonly clientTeamCreationEnabled: boolean,
32
+ readonly clientUserDeletionEnabled: boolean,
33
+ readonly allowLocalhost: boolean,
34
+ readonly oauthProviders: AdminOAuthProviderConfig[],
35
+ readonly emailConfig?: AdminEmailConfig,
36
+ readonly emailTheme: string,
37
+ readonly domains: AdminDomainConfig[],
38
+ readonly createTeamOnSignUp: boolean,
39
+ readonly teamCreatorDefaultPermissions: AdminTeamPermission[],
40
+ readonly teamMemberDefaultPermissions: AdminTeamPermission[],
41
+ readonly userDefaultPermissions: AdminTeamPermission[],
42
+ readonly oauthAccountMergeStrategy: 'link_method' | 'raise_error' | 'allow_duplicates',
43
+ readonly allowUserApiKeys: boolean,
44
+ readonly allowTeamApiKeys: boolean,
45
+ };
46
+
47
+ export type AdminEmailConfig = (
48
+ {
49
+ type: "standard" | "resend",
50
+ senderName: string,
51
+ senderEmail: string,
52
+ host: string,
53
+ port: number,
54
+ username: string,
55
+ password: string,
56
+ }
57
+ | {
58
+ type: "shared",
59
+ }
60
+ );
61
+
62
+ export type AdminDomainConfig = {
63
+ domain: string,
64
+ handlerPath: string,
65
+ };
66
+
67
+ export type AdminOAuthProviderConfig = {
68
+ id: string,
69
+ } & (
70
+ | { type: 'shared' }
71
+ | {
72
+ type: 'standard',
73
+ clientId: string,
74
+ clientSecret: string,
75
+ facebookConfigId?: string,
76
+ microsoftTenantId?: string,
77
+ appleBundleIds?: string[],
78
+ }
79
+ ) & OAuthProviderConfig;
80
+
81
+ export type AdminProjectConfigUpdateOptions = {
82
+ domains?: {
83
+ domain: string,
84
+ handlerPath: string,
85
+ }[],
86
+ oauthProviders?: AdminOAuthProviderConfig[],
87
+ signUpEnabled?: boolean,
88
+ credentialEnabled?: boolean,
89
+ magicLinkEnabled?: boolean,
90
+ passkeyEnabled?: boolean,
91
+ clientTeamCreationEnabled?: boolean,
92
+ clientUserDeletionEnabled?: boolean,
93
+ allowLocalhost?: boolean,
94
+ createTeamOnSignUp?: boolean,
95
+ emailConfig?: AdminEmailConfig,
96
+ emailTheme?: string,
97
+ teamCreatorDefaultPermissions?: { id: string }[],
98
+ teamMemberDefaultPermissions?: { id: string }[],
99
+ userDefaultPermissions?: { id: string }[],
100
+ oauthAccountMergeStrategy?: 'link_method' | 'raise_error' | 'allow_duplicates',
101
+ allowUserApiKeys?: boolean,
102
+ allowTeamApiKeys?: boolean,
103
+ };