@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 +1 @@
1
- {"version":3,"file":"index.js","names":["envVars"],"sources":["../../src/pushed-config-error-overlay/index.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//===========================================\n\nimport { captureError } from \"@hexclave/shared/dist/utils/errors\";\nimport { runAsynchronously } from \"@hexclave/shared/dist/utils/promises\";\nimport { isLocalhost } from \"@hexclave/shared/dist/utils/urls\";\nimport { envVars } from \"../generated/env\";\nimport { getInPageUiBaseCSS } from \"../in-page-ui/base-styles\";\nimport { canMountIntoDom, getGlobalUiInstance, h, setGlobalUiInstance, setHtml } from \"../in-page-ui/dom\";\nimport type { StackClientApp } from \"../lib/hexclave-app\";\n\nconst GLOBAL_INSTANCE_KEY = \"__hexclave-pushed-config-error-overlay\";\nconst MINIMIZED_STORAGE_KEY = \"hexclave-pushed-config-error-minimized-key\";\nconst REFRESH_INTERVAL_MS = 5_000;\nconst HEXCLAVE_LOGO_SVG = '<svg width=\"16\" height=\"16\" viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linejoin=\"miter\"><path d=\"M 24 4 L 41.32 14 L 41.32 34 L 24 44 L 6.68 34 L 6.68 14 Z\"/><path d=\"M 11 16.87 L 14 15.13 L 14 32.87 L 11 31.13 Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M 11 16.87 L 14 15.13 L 14 32.87 L 11 31.13 Z\" fill=\"currentColor\" stroke=\"none\" transform=\"rotate(120 24 24)\"/><path d=\"M 11 16.87 L 14 15.13 L 14 32.87 L 11 31.13 Z\" fill=\"currentColor\" stroke=\"none\" transform=\"rotate(240 24 24)\"/></svg>';\nconst COPY_ICON_SVG = '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"/><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"/></svg>';\n\ntype ConfigIssue = {\n kind: \"error\" | \"warning\",\n messages: string[],\n};\n\nconst css = getInPageUiBaseCSS(\".hexclave-config-error-overlay\") + `\n .hexclave-config-error-overlay .hce-backdrop {\n position: fixed;\n inset: 0;\n z-index: 2147483647;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n background: rgba(0, 0, 0, 0.46);\n backdrop-filter: blur(6px);\n overflow: auto;\n }\n\n .hexclave-config-error-overlay .hce-card {\n --hce-status: var(--sdt-error);\n width: min(720px, calc(100vw - 32px));\n max-height: min(640px, calc(100dvh - 48px));\n border: 1px solid color-mix(in srgb, var(--hce-status) 35%, var(--sdt-border));\n border-radius: 18px;\n background: var(--sdt-overlay-bg);\n box-shadow: var(--sdt-shadow);\n backdrop-filter: blur(18px);\n display: flex;\n overflow: hidden;\n }\n\n .hexclave-config-error-overlay .hce-card-warning {\n --hce-status: var(--sdt-warning);\n }\n\n .hexclave-config-error-overlay .hce-card-inner {\n padding: 18px;\n width: 100%;\n overflow: auto;\n }\n\n .hexclave-config-error-overlay .hce-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 12px;\n margin-bottom: 12px;\n }\n\n .hexclave-config-error-overlay .hce-title-row {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n min-width: 0;\n }\n\n .hexclave-config-error-overlay .hce-logo {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 34px;\n height: 34px;\n border-radius: 10px;\n background: var(--hce-status);\n color: white;\n box-shadow: 0 10px 30px color-mix(in srgb, var(--hce-status) 32%, transparent);\n }\n\n .hexclave-config-error-overlay .hce-badge {\n display: inline-flex;\n flex-shrink: 0;\n padding: 2px 6px;\n border-radius: 999px;\n background: var(--hce-status);\n color: white;\n font-size: 10px;\n font-weight: 700;\n letter-spacing: 0.06em;\n text-transform: uppercase;\n }\n\n .hexclave-config-error-overlay .hce-title {\n color: var(--sdt-text);\n margin-top: 4px;\n font-size: 18px;\n font-weight: 700;\n line-height: 1.25;\n }\n\n .hexclave-config-error-overlay .hce-actions {\n display: flex;\n gap: 4px;\n }\n\n .hexclave-config-error-overlay .hce-icon-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: 1px solid var(--sdt-border);\n border-radius: 8px;\n background: var(--sdt-bg-elevated);\n color: var(--sdt-text-secondary);\n cursor: pointer;\n font: inherit;\n line-height: 1;\n vertical-align: top;\n }\n\n .hexclave-config-error-overlay .hce-icon-btn svg {\n display: block;\n flex-shrink: 0;\n }\n\n .hexclave-config-error-overlay .hce-text-btn {\n align-items: center;\n gap: 6px;\n min-height: 28px;\n padding: 0 10px;\n width: auto;\n font-size: 12px;\n line-height: 1;\n }\n\n .hexclave-config-error-overlay .hce-icon-btn:hover {\n background: var(--sdt-bg-hover);\n color: var(--sdt-text);\n }\n\n .hexclave-config-error-overlay .hce-body {\n color: var(--sdt-text-secondary);\n font-size: 14px;\n line-height: 1.5;\n }\n\n .hexclave-config-error-overlay .hce-message-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n margin-top: 14px;\n margin-bottom: 8px;\n }\n\n .hexclave-config-error-overlay .hce-message-label {\n color: var(--sdt-text);\n font-size: 12px;\n font-weight: 650;\n }\n\n .hexclave-config-error-overlay .hce-message {\n padding: 12px;\n max-height: min(260px, max(96px, 30dvh));\n overflow: auto;\n border: 1px solid var(--sdt-border-subtle);\n border-radius: 10px;\n background: var(--sdt-bg-subtle);\n color: var(--sdt-text);\n font-family: var(--sdt-font-mono);\n font-size: 12px;\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n }\n\n .hexclave-config-error-overlay .hce-footer {\n margin-top: 10px;\n color: var(--sdt-text-tertiary);\n font-size: 12px;\n }\n\n .hexclave-config-error-overlay .hce-pill {\n position: fixed;\n right: 18px;\n bottom: 18px;\n z-index: 2147483647;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px 8px 8px;\n --hce-status: var(--sdt-error);\n border: 1px solid color-mix(in srgb, var(--hce-status) 35%, var(--sdt-border));\n border-radius: 999px;\n background: var(--sdt-overlay-bg);\n box-shadow: var(--sdt-trigger-shadow);\n color: var(--sdt-text);\n cursor: pointer;\n font: inherit;\n backdrop-filter: blur(18px);\n }\n\n .hexclave-config-error-overlay .hce-pill-warning {\n --hce-status: var(--sdt-warning);\n }\n\n .hexclave-config-error-overlay .hce-pill-logo {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border-radius: 999px;\n background: var(--hce-status);\n color: white;\n }\n\n @media (max-height: 520px) {\n .hexclave-config-error-overlay .hce-backdrop {\n align-items: flex-start;\n padding: 12px;\n }\n\n .hexclave-config-error-overlay .hce-card {\n width: min(720px, calc(100vw - 24px));\n max-height: calc(100dvh - 24px);\n }\n\n .hexclave-config-error-overlay .hce-card-inner {\n padding: 12px;\n }\n\n .hexclave-config-error-overlay .hce-header {\n margin-bottom: 8px;\n }\n\n .hexclave-config-error-overlay .hce-title {\n font-size: 16px;\n }\n\n .hexclave-config-error-overlay .hce-body {\n font-size: 13px;\n }\n\n .hexclave-config-error-overlay .hce-message {\n max-height: max(80px, 24dvh);\n }\n }\n`;\n\nfunction storageGet(key: string): string | null {\n try {\n return localStorage.getItem(key);\n } catch {\n return null;\n }\n}\n\nfunction storageSet(key: string, value: string): void {\n try {\n localStorage.setItem(key, value);\n } catch {\n // Storage may be unavailable in private or embedded contexts.\n }\n}\n\nfunction storageRemove(key: string): void {\n try {\n localStorage.removeItem(key);\n } catch {\n // Storage may be unavailable in private or embedded contexts.\n }\n}\n\nfunction shouldMount(): boolean {\n if (!canMountIntoDom()) {\n return false;\n }\n\n const nodeEnv = envVars.NODE_ENV;\n if (nodeEnv !== undefined) {\n return nodeEnv === \"development\";\n }\n\n try {\n const url = new URL(window.location.href);\n if (url.protocol === \"file:\") {\n return true;\n }\n } catch {\n return false;\n }\n return isLocalhost(window.location.href);\n}\n\nasync function copyTextToClipboard(text: string): Promise<void> {\n const clipboard: unknown = Reflect.get(navigator, \"clipboard\");\n const writeText = clipboard != null && typeof clipboard === \"object\"\n ? Reflect.get(clipboard, \"writeText\")\n : null;\n if (typeof writeText === \"function\") {\n await writeText.call(clipboard, text);\n return;\n }\n\n const textarea = h(\"textarea\", {\n style: {\n position: \"fixed\",\n left: \"-9999px\",\n top: \"0\",\n opacity: \"0\",\n },\n readonly: \"true\",\n }) as HTMLTextAreaElement;\n textarea.value = text;\n document.body.appendChild(textarea);\n textarea.select();\n const copied = document.execCommand(\"copy\");\n textarea.remove();\n if (!copied) {\n throw new Error(\"Browser refused to copy the config error message.\");\n }\n}\n\nfunction buildConfigIssueAiPrompt(issue: ConfigIssue): string {\n const issueLabel = issue.kind === \"error\" ? \"error\" : \"warning\";\n return [\n `Help me fix this Hexclave config ${issueLabel}.`,\n \"\",\n \"Hexclave reminder:\",\n `This ${issueLabel} comes from a pushed Hexclave config file. The app may keep running with the synced Hexclave config, but I need to fix the config file mentioned in the message and save it again so Hexclave can sync the config successfully and clear the dialog. Use your web fetch tool to read https://skill.hexclave.com to learn more about Hexclave.`,\n \"\",\n issue.kind === \"error\" ? \"Error message:\" : \"Warning message:\",\n issue.messages.join(\"\\n\"),\n \"\",\n \"Please explain the likely cause, identify the config key or value I should change, and suggest the smallest safe fix.\",\n ].join(\"\\n\");\n}\n\nexport function mountPushedConfigErrorOverlay(app: StackClientApp<true>): () => void {\n if (!shouldMount()) {\n return () => {};\n }\n\n getGlobalUiInstance(GLOBAL_INSTANCE_KEY)?.cleanup();\n\n const root = h(\"div\", { className: \"hexclave-config-error-overlay\" });\n const style = h(\"style\", null, css);\n root.appendChild(style);\n document.body.appendChild(root);\n\n let disposed = false;\n let lastErrorKey: string | null = null;\n let lastConsoleErrorKey: string | null = null;\n let minimized = false;\n\n const render = (issue: ConfigIssue | null) => {\n root.replaceChildren(style);\n if (issue == null) {\n lastErrorKey = null;\n minimized = false;\n return;\n }\n\n const issueMessage = issue.messages.join(\"\\n\");\n const issueKey = `${app.projectId}:${issue.kind}:${issueMessage}`;\n const issueLabel = issue.kind === \"error\" ? \"error\" : \"warning\";\n const issueTitle = issue.kind === \"error\"\n ? \"Your Hexclave config has been saved, but contains errors\"\n : \"Your Hexclave config has been saved, but has warnings\";\n const bodyText = issue.kind === \"error\"\n ? \"Your app can keep running, but Hexclave is still using the last valid config until this is fixed.\"\n : \"Your app can keep running, but part of your Hexclave config may not behave the way you expect until this is fixed.\";\n const footerText = issue.kind === \"error\"\n ? \"Fix the config file mentioned above and save it again. This message will disappear after the config sync succeeds.\"\n : \"Fix the config file mentioned above and save it again. This warning will disappear after Hexclave syncs a config without warnings.\";\n if (issueKey !== lastConsoleErrorKey) {\n lastConsoleErrorKey = issueKey;\n const consoleMessage = `[Hexclave] Config ${issueLabel}: ${issueMessage}`;\n if (issue.kind === \"error\") {\n console.error(consoleMessage);\n } else {\n console.warn(consoleMessage);\n }\n }\n\n if (issueKey !== lastErrorKey) {\n lastErrorKey = issueKey;\n minimized = storageGet(MINIMIZED_STORAGE_KEY) === issueKey;\n }\n\n if (minimized) {\n const logoSpan = h(\"span\", { className: \"hce-pill-logo\" });\n setHtml(logoSpan, HEXCLAVE_LOGO_SVG);\n root.appendChild(h(\"button\", {\n className: issue.kind === \"error\" ? \"hce-pill\" : \"hce-pill hce-pill-warning\",\n type: \"button\",\n onClick: () => {\n minimized = false;\n storageRemove(MINIMIZED_STORAGE_KEY);\n render(issue);\n },\n },\n logoSpan,\n h(\"span\", null, issue.kind === \"error\" ? \"Config error\" : \"Config warning\")));\n return;\n }\n\n const logoSpan = h(\"span\", { className: \"hce-logo\" });\n setHtml(logoSpan, HEXCLAVE_LOGO_SVG);\n const copyButton = h(\"button\", {\n className: \"hce-icon-btn hce-text-btn\",\n type: \"button\",\n title: issue.kind === \"error\" ? \"Copy error message\" : \"Copy warning message\",\n \"aria-label\": issue.kind === \"error\" ? \"Copy config error message\" : \"Copy config warning message\",\n onClick: () => {\n runAsynchronously(async () => {\n await copyTextToClipboard(issueMessage);\n copyButton.textContent = \"Copied\";\n setTimeout(() => {\n setHtml(copyButton, `${COPY_ICON_SVG}Copy`);\n }, 1500);\n }, {\n noErrorLogging: true,\n onError: (copyError) => {\n captureError(\"pushed-config-error-overlay-copy\", copyError);\n copyButton.textContent = \"Copy failed\";\n setTimeout(() => {\n setHtml(copyButton, `${COPY_ICON_SVG}Copy`);\n }, 1500);\n },\n });\n },\n });\n setHtml(copyButton, `${COPY_ICON_SVG}Copy`);\n\n const aiPromptCopyButton = h(\"button\", {\n className: \"hce-icon-btn\",\n type: \"button\",\n title: \"Copy AI prompt\",\n \"aria-label\": issue.kind === \"error\" ? \"Copy AI prompt for config error\" : \"Copy AI prompt for config warning\",\n onClick: () => {\n runAsynchronously(async () => {\n await copyTextToClipboard(buildConfigIssueAiPrompt(issue));\n aiPromptCopyButton.textContent = \"✓\";\n setTimeout(() => {\n setHtml(aiPromptCopyButton, COPY_ICON_SVG);\n }, 1500);\n }, {\n noErrorLogging: true,\n onError: (copyError) => {\n captureError(\"pushed-config-error-overlay-copy-ai-prompt\", copyError);\n aiPromptCopyButton.textContent = \"!\";\n setTimeout(() => {\n setHtml(aiPromptCopyButton, COPY_ICON_SVG);\n }, 1500);\n },\n });\n },\n });\n setHtml(aiPromptCopyButton, COPY_ICON_SVG);\n\n root.appendChild(h(\"div\", { className: \"hce-backdrop\" },\n h(\"div\", { className: issue.kind === \"error\" ? \"hce-card\" : \"hce-card hce-card-warning\", role: \"alertdialog\", \"aria-modal\": \"true\", \"aria-label\": `Hexclave config ${issueLabel}` },\n h(\"div\", { className: \"hce-card-inner\" },\n h(\"div\", { className: \"hce-header\" },\n h(\"div\", { className: \"hce-title-row\" },\n logoSpan,\n h(\"div\", null,\n h(\"span\", { className: \"hce-badge\" }, `Config ${issueLabel}`),\n h(\"div\", { className: \"hce-title\" }, issueTitle),\n ),\n ),\n h(\"div\", { className: \"hce-actions\" },\n aiPromptCopyButton,\n h(\"button\", {\n className: \"hce-icon-btn\",\n type: \"button\",\n title: \"Minimize\",\n \"aria-label\": issue.kind === \"error\" ? \"Minimize config error\" : \"Minimize config warning\",\n onClick: () => {\n minimized = true;\n storageSet(MINIMIZED_STORAGE_KEY, issueKey);\n render(issue);\n },\n }, \"–\"),\n ),\n ),\n h(\"div\", { className: \"hce-body\" },\n bodyText,\n h(\"div\", { className: \"hce-message-header\" },\n h(\"div\", { className: \"hce-message-label\" }, issue.kind === \"error\" ? \"Error message\" : \"Warning message\"),\n copyButton,\n ),\n h(\"div\", { className: \"hce-message\" }, issueMessage),\n h(\"div\", { className: \"hce-footer\" }, footerText),\n ),\n ),\n )));\n };\n\n const refresh = () => {\n if (disposed || !canMountIntoDom()) {\n return;\n }\n runAsynchronously(async () => {\n const project = await app.getProject();\n if (disposed) {\n return;\n }\n render(project.pushedConfigError == null\n ? project.configWarnings.length === 0\n ? null\n : { kind: \"warning\", messages: project.configWarnings.map((warning) => warning.message) }\n : { kind: \"error\", messages: [project.pushedConfigError.message] });\n }, {\n noErrorLogging: true,\n onError: (error) => {\n captureError(\"pushed-config-error-overlay-refresh\", error);\n },\n });\n };\n\n // This is mounted from the base client-app constructor, which also runs\n // before subclass field initializers. Defer the first app call so overridden\n // methods like adminApp.getProject() can safely touch subclass caches.\n queueMicrotask(refresh);\n const interval = setInterval(refresh, REFRESH_INTERVAL_MS);\n\n const cleanup = () => {\n disposed = true;\n clearInterval(interval);\n root.remove();\n if (getGlobalUiInstance(GLOBAL_INSTANCE_KEY)?.cleanup === cleanup) {\n setGlobalUiInstance(GLOBAL_INSTANCE_KEY, null);\n }\n };\n setGlobalUiInstance(GLOBAL_INSTANCE_KEY, { cleanup });\n return cleanup;\n}\n\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["envVars"],"sources":["../../src/pushed-config-error-overlay/index.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//===========================================\n\nimport { captureError } from \"@hexclave/shared/dist/utils/errors\";\nimport { runAsynchronously } from \"@hexclave/shared/dist/utils/promises\";\nimport { isLocalhost } from \"@hexclave/shared/dist/utils/urls\";\nimport { envVars } from \"../generated/env\";\nimport { getInPageUiBaseCSS } from \"../in-page-ui/base-styles\";\nimport { canMountIntoDom, getGlobalUiInstance, h, setGlobalUiInstance, setHtml } from \"../in-page-ui/dom\";\nimport type { StackClientApp } from \"../lib/hexclave-app\";\n\nconst GLOBAL_INSTANCE_KEY = \"__hexclave-pushed-config-error-overlay\";\nconst MINIMIZED_STORAGE_KEY = \"hexclave-pushed-config-error-minimized-key\";\nconst REFRESH_INTERVAL_MS = 5_000;\nconst HEXCLAVE_LOGO_SVG = '<svg width=\"16\" height=\"16\" viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linejoin=\"miter\"><path d=\"M 24 4 L 41.32 14 L 41.32 34 L 24 44 L 6.68 34 L 6.68 14 Z\"/><path d=\"M 11 16.87 L 14 15.13 L 14 32.87 L 11 31.13 Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M 11 16.87 L 14 15.13 L 14 32.87 L 11 31.13 Z\" fill=\"currentColor\" stroke=\"none\" transform=\"rotate(120 24 24)\"/><path d=\"M 11 16.87 L 14 15.13 L 14 32.87 L 11 31.13 Z\" fill=\"currentColor\" stroke=\"none\" transform=\"rotate(240 24 24)\"/></svg>';\nconst COPY_ICON_SVG = '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"/><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"/></svg>';\n\ntype ConfigIssue = {\n kind: \"error\" | \"warning\",\n messages: string[],\n};\n\nconst css = getInPageUiBaseCSS(\".hexclave-config-error-overlay\") + `\n .hexclave-config-error-overlay .hce-backdrop {\n position: fixed;\n inset: 0;\n z-index: 2147483647;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n background: rgba(0, 0, 0, 0.46);\n backdrop-filter: blur(6px);\n overflow: auto;\n }\n\n .hexclave-config-error-overlay .hce-card {\n --hce-status: var(--sdt-error);\n width: min(720px, calc(100vw - 32px));\n max-height: min(640px, calc(100dvh - 48px));\n border: 1px solid color-mix(in srgb, var(--hce-status) 35%, var(--sdt-border));\n border-radius: 18px;\n background: var(--sdt-overlay-bg);\n box-shadow: var(--sdt-shadow);\n backdrop-filter: blur(18px);\n display: flex;\n overflow: hidden;\n }\n\n .hexclave-config-error-overlay .hce-card-warning {\n --hce-status: var(--sdt-warning);\n }\n\n .hexclave-config-error-overlay .hce-card-inner {\n padding: 18px;\n width: 100%;\n overflow: auto;\n }\n\n .hexclave-config-error-overlay .hce-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 12px;\n margin-bottom: 12px;\n }\n\n .hexclave-config-error-overlay .hce-title-row {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n min-width: 0;\n }\n\n .hexclave-config-error-overlay .hce-logo {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 34px;\n height: 34px;\n border-radius: 10px;\n background: var(--hce-status);\n color: white;\n box-shadow: 0 10px 30px color-mix(in srgb, var(--hce-status) 32%, transparent);\n }\n\n .hexclave-config-error-overlay .hce-badge {\n display: inline-flex;\n flex-shrink: 0;\n padding: 2px 6px;\n border-radius: 999px;\n background: var(--hce-status);\n color: white;\n font-size: 10px;\n font-weight: 700;\n letter-spacing: 0.06em;\n text-transform: uppercase;\n }\n\n .hexclave-config-error-overlay .hce-title {\n color: var(--sdt-text);\n margin-top: 4px;\n font-size: 18px;\n font-weight: 700;\n line-height: 1.25;\n }\n\n .hexclave-config-error-overlay .hce-actions {\n display: flex;\n gap: 4px;\n }\n\n .hexclave-config-error-overlay .hce-icon-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: 1px solid var(--sdt-border);\n border-radius: 8px;\n background: var(--sdt-bg-elevated);\n color: var(--sdt-text-secondary);\n cursor: pointer;\n font: inherit;\n line-height: 1;\n vertical-align: top;\n }\n\n .hexclave-config-error-overlay .hce-icon-btn svg {\n display: block;\n flex-shrink: 0;\n }\n\n .hexclave-config-error-overlay .hce-text-btn {\n align-items: center;\n gap: 6px;\n min-height: 28px;\n padding: 0 10px;\n width: auto;\n font-size: 12px;\n line-height: 1;\n }\n\n .hexclave-config-error-overlay .hce-icon-btn:hover {\n background: var(--sdt-bg-hover);\n color: var(--sdt-text);\n }\n\n .hexclave-config-error-overlay .hce-body {\n color: var(--sdt-text-secondary);\n font-size: 14px;\n line-height: 1.5;\n }\n\n .hexclave-config-error-overlay .hce-message-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n margin-top: 14px;\n margin-bottom: 8px;\n }\n\n .hexclave-config-error-overlay .hce-message-label {\n color: var(--sdt-text);\n font-size: 12px;\n font-weight: 650;\n }\n\n .hexclave-config-error-overlay .hce-message {\n padding: 12px;\n max-height: min(260px, max(96px, 30dvh));\n overflow: auto;\n border: 1px solid var(--sdt-border-subtle);\n border-radius: 10px;\n background: var(--sdt-bg-subtle);\n color: var(--sdt-text);\n font-family: var(--sdt-font-mono);\n font-size: 12px;\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n }\n\n .hexclave-config-error-overlay .hce-footer {\n margin-top: 10px;\n color: var(--sdt-text-tertiary);\n font-size: 12px;\n }\n\n .hexclave-config-error-overlay .hce-pill {\n position: fixed;\n right: 18px;\n bottom: 18px;\n z-index: 2147483647;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px 8px 8px;\n --hce-status: var(--sdt-error);\n border: 1px solid color-mix(in srgb, var(--hce-status) 35%, var(--sdt-border));\n border-radius: 999px;\n background: var(--sdt-overlay-bg);\n box-shadow: var(--sdt-trigger-shadow);\n color: var(--sdt-text);\n cursor: pointer;\n font: inherit;\n backdrop-filter: blur(18px);\n }\n\n .hexclave-config-error-overlay .hce-pill-warning {\n --hce-status: var(--sdt-warning);\n }\n\n .hexclave-config-error-overlay .hce-pill-logo {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border-radius: 999px;\n background: var(--hce-status);\n color: white;\n }\n\n @media (max-height: 520px) {\n .hexclave-config-error-overlay .hce-backdrop {\n align-items: flex-start;\n padding: 12px;\n }\n\n .hexclave-config-error-overlay .hce-card {\n width: min(720px, calc(100vw - 24px));\n max-height: calc(100dvh - 24px);\n }\n\n .hexclave-config-error-overlay .hce-card-inner {\n padding: 12px;\n }\n\n .hexclave-config-error-overlay .hce-header {\n margin-bottom: 8px;\n }\n\n .hexclave-config-error-overlay .hce-title {\n font-size: 16px;\n }\n\n .hexclave-config-error-overlay .hce-body {\n font-size: 13px;\n }\n\n .hexclave-config-error-overlay .hce-message {\n max-height: max(80px, 24dvh);\n }\n }\n`;\n\nfunction storageGet(key: string): string | null {\n try {\n return localStorage.getItem(key);\n } catch {\n return null;\n }\n}\n\nfunction storageSet(key: string, value: string): void {\n try {\n localStorage.setItem(key, value);\n } catch {\n // Storage may be unavailable in private or embedded contexts.\n }\n}\n\nfunction storageRemove(key: string): void {\n try {\n localStorage.removeItem(key);\n } catch {\n // Storage may be unavailable in private or embedded contexts.\n }\n}\n\nfunction shouldMount(): boolean {\n if (!canMountIntoDom()) {\n return false;\n }\n\n const nodeEnv = envVars.NODE_ENV;\n if (nodeEnv !== undefined) {\n return nodeEnv === \"development\";\n }\n\n try {\n const url = new URL(window.location.href);\n if (url.protocol === \"file:\") {\n return true;\n }\n } catch {\n return false;\n }\n return isLocalhost(window.location.href);\n}\n\nasync function copyTextToClipboard(text: string): Promise<void> {\n const clipboard: unknown = Reflect.get(navigator, \"clipboard\");\n const writeText = clipboard != null && typeof clipboard === \"object\"\n ? Reflect.get(clipboard, \"writeText\")\n : null;\n if (typeof writeText === \"function\") {\n await writeText.call(clipboard, text);\n return;\n }\n\n const textarea = h(\"textarea\", {\n style: {\n position: \"fixed\",\n left: \"-9999px\",\n top: \"0\",\n opacity: \"0\",\n },\n readonly: \"true\",\n }) as HTMLTextAreaElement;\n textarea.value = text;\n document.body.appendChild(textarea);\n textarea.select();\n const copied = document.execCommand(\"copy\");\n textarea.remove();\n if (!copied) {\n throw new Error(\"Browser refused to copy the config error message.\");\n }\n}\n\nfunction buildConfigIssueAiPrompt(issue: ConfigIssue): string {\n const issueLabel = issue.kind === \"error\" ? \"error\" : \"warning\";\n return [\n `Help me fix this Hexclave config ${issueLabel}.`,\n \"\",\n \"Hexclave reminder:\",\n `This ${issueLabel} comes from a pushed Hexclave config file. The app may keep running with the synced Hexclave config, but I need to fix the config file mentioned in the message and save it again so Hexclave can sync the config successfully and clear the dialog. Use your web fetch tool to read https://skill.hexclave.com to learn more about Hexclave.`,\n \"\",\n issue.kind === \"error\" ? \"Error message:\" : \"Warning message:\",\n issue.messages.join(\"\\n\"),\n \"\",\n \"Please explain the likely cause, identify the config key or value I should change, and suggest the smallest safe fix.\",\n ].join(\"\\n\");\n}\n\nexport function mountPushedConfigErrorOverlay(app: StackClientApp<true>): () => void {\n if (!shouldMount()) {\n return () => {};\n }\n\n getGlobalUiInstance(GLOBAL_INSTANCE_KEY)?.cleanup();\n\n const root = h(\"div\", { className: \"hexclave-config-error-overlay\" });\n const style = h(\"style\", null, css);\n root.appendChild(style);\n document.body.appendChild(root);\n\n let disposed = false;\n let lastErrorKey: string | null = null;\n let lastConsoleErrorKey: string | null = null;\n let minimized = false;\n\n const render = (issue: ConfigIssue | null) => {\n root.replaceChildren(style);\n if (issue == null) {\n lastErrorKey = null;\n minimized = false;\n return;\n }\n\n const issueMessage = issue.messages.join(\"\\n\");\n const issueKey = `${app.projectId}:${issue.kind}:${issueMessage}`;\n const issueLabel = issue.kind === \"error\" ? \"error\" : \"warning\";\n const issueTitle = issue.kind === \"error\"\n ? \"Your Hexclave config has been saved, but contains errors\"\n : \"Your Hexclave config has been saved, but has warnings\";\n const bodyText = issue.kind === \"error\"\n ? \"Your app can keep running, but Hexclave is still using the last valid config until this is fixed.\"\n : \"Your app can keep running, but part of your Hexclave config may not behave the way you expect until this is fixed.\";\n const footerText = issue.kind === \"error\"\n ? \"Fix the config file mentioned above and save it again. This message will disappear after the config sync succeeds.\"\n : \"Fix the config file mentioned above and save it again. This warning will disappear after Hexclave syncs a config without warnings.\";\n if (issueKey !== lastConsoleErrorKey) {\n lastConsoleErrorKey = issueKey;\n const consoleMessage = `[Hexclave] Config ${issueLabel}: ${issueMessage}`;\n if (issue.kind === \"error\") {\n console.error(consoleMessage);\n } else {\n console.warn(consoleMessage);\n }\n }\n\n if (issueKey !== lastErrorKey) {\n lastErrorKey = issueKey;\n minimized = storageGet(MINIMIZED_STORAGE_KEY) === issueKey;\n }\n\n if (minimized) {\n const logoSpan = h(\"span\", { className: \"hce-pill-logo\" });\n setHtml(logoSpan, HEXCLAVE_LOGO_SVG);\n root.appendChild(h(\"button\", {\n className: issue.kind === \"error\" ? \"hce-pill\" : \"hce-pill hce-pill-warning\",\n type: \"button\",\n onClick: () => {\n minimized = false;\n storageRemove(MINIMIZED_STORAGE_KEY);\n render(issue);\n },\n },\n logoSpan,\n h(\"span\", null, issue.kind === \"error\" ? \"Config error\" : \"Config warning\")));\n return;\n }\n\n const logoSpan = h(\"span\", { className: \"hce-logo\" });\n setHtml(logoSpan, HEXCLAVE_LOGO_SVG);\n const copyButton = h(\"button\", {\n className: \"hce-icon-btn hce-text-btn\",\n type: \"button\",\n title: issue.kind === \"error\" ? \"Copy error message\" : \"Copy warning message\",\n \"aria-label\": issue.kind === \"error\" ? \"Copy config error message\" : \"Copy config warning message\",\n onClick: () => {\n runAsynchronously(async () => {\n await copyTextToClipboard(issueMessage);\n copyButton.textContent = \"Copied\";\n setTimeout(() => {\n setHtml(copyButton, `${COPY_ICON_SVG}Copy`);\n }, 1500);\n }, {\n noErrorLogging: true,\n onError: (copyError) => {\n captureError(\"pushed-config-error-overlay-copy\", copyError);\n copyButton.textContent = \"Copy failed\";\n setTimeout(() => {\n setHtml(copyButton, `${COPY_ICON_SVG}Copy`);\n }, 1500);\n },\n });\n },\n });\n setHtml(copyButton, `${COPY_ICON_SVG}Copy`);\n\n const aiPromptCopyButton = h(\"button\", {\n className: \"hce-icon-btn\",\n type: \"button\",\n title: \"Copy AI prompt\",\n \"aria-label\": issue.kind === \"error\" ? \"Copy AI prompt for config error\" : \"Copy AI prompt for config warning\",\n onClick: () => {\n runAsynchronously(async () => {\n await copyTextToClipboard(buildConfigIssueAiPrompt(issue));\n aiPromptCopyButton.textContent = \"✓\";\n setTimeout(() => {\n setHtml(aiPromptCopyButton, COPY_ICON_SVG);\n }, 1500);\n }, {\n noErrorLogging: true,\n onError: (copyError) => {\n captureError(\"pushed-config-error-overlay-copy-ai-prompt\", copyError);\n aiPromptCopyButton.textContent = \"!\";\n setTimeout(() => {\n setHtml(aiPromptCopyButton, COPY_ICON_SVG);\n }, 1500);\n },\n });\n },\n });\n setHtml(aiPromptCopyButton, COPY_ICON_SVG);\n\n root.appendChild(h(\"div\", { className: \"hce-backdrop\" },\n h(\"div\", { className: issue.kind === \"error\" ? \"hce-card\" : \"hce-card hce-card-warning\", role: \"alertdialog\", \"aria-modal\": \"true\", \"aria-label\": `Hexclave config ${issueLabel}` },\n h(\"div\", { className: \"hce-card-inner\" },\n h(\"div\", { className: \"hce-header\" },\n h(\"div\", { className: \"hce-title-row\" },\n logoSpan,\n h(\"div\", null,\n h(\"span\", { className: \"hce-badge\" }, `Config ${issueLabel}`),\n h(\"div\", { className: \"hce-title\" }, issueTitle),\n ),\n ),\n h(\"div\", { className: \"hce-actions\" },\n aiPromptCopyButton,\n h(\"button\", {\n className: \"hce-icon-btn\",\n type: \"button\",\n title: \"Minimize\",\n \"aria-label\": issue.kind === \"error\" ? \"Minimize config error\" : \"Minimize config warning\",\n onClick: () => {\n minimized = true;\n storageSet(MINIMIZED_STORAGE_KEY, issueKey);\n render(issue);\n },\n }, \"–\"),\n ),\n ),\n h(\"div\", { className: \"hce-body\" },\n bodyText,\n h(\"div\", { className: \"hce-message-header\" },\n h(\"div\", { className: \"hce-message-label\" }, issue.kind === \"error\" ? \"Error message\" : \"Warning message\"),\n copyButton,\n ),\n h(\"div\", { className: \"hce-message\" }, issueMessage),\n h(\"div\", { className: \"hce-footer\" }, footerText),\n ),\n ),\n )));\n };\n\n const refresh = () => {\n if (disposed || !canMountIntoDom()) {\n return;\n }\n runAsynchronously(async () => {\n const project = await app.getProject();\n if (disposed) {\n return;\n }\n render(project.pushedConfigError == null\n ? project.configWarnings.length === 0\n ? null\n : { kind: \"warning\", messages: project.configWarnings.map((warning) => warning.message) }\n : { kind: \"error\", messages: [project.pushedConfigError.message] });\n }, {\n noErrorLogging: true,\n onError: (error) => {\n captureError(\"pushed-config-error-overlay-refresh\", error);\n },\n });\n };\n\n // This is mounted from the base client-app constructor, which also runs\n // before subclass field initializers. Defer the first app call so overridden\n // methods like adminApp.getProject() can safely touch subclass caches.\n queueMicrotask(refresh);\n const interval = setInterval(refresh, REFRESH_INTERVAL_MS);\n\n const cleanup = () => {\n disposed = true;\n clearInterval(interval);\n root.remove();\n if (getGlobalUiInstance(GLOBAL_INSTANCE_KEY)?.cleanup === cleanup) {\n setGlobalUiInstance(GLOBAL_INSTANCE_KEY, null);\n }\n };\n setGlobalUiInstance(GLOBAL_INSTANCE_KEY, { cleanup });\n return cleanup;\n}\n\n"],"mappings":";;;;;;;;AAaA,MAAM,sBAAsB;AAC5B,MAAM,wBAAwB;AAC9B,MAAM,sBAAsB;AAC5B,MAAM,oBAAoB;AAC1B,MAAM,gBAAgB;AAOtB,MAAM,OAAA,GAAA,6BAAA,mBAAA,CAAyB,gCAAgC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4OnE,SAAS,WAAW,KAA4B;CAC9C,IAAI;EACF,OAAO,aAAa,QAAQ,GAAG;CACjC,QAAQ;EACN,OAAO;CACT;AACF;AAEA,SAAS,WAAW,KAAa,OAAqB;CACpD,IAAI;EACF,aAAa,QAAQ,KAAK,KAAK;CACjC,QAAQ,CAER;AACF;AAEA,SAAS,cAAc,KAAmB;CACxC,IAAI;EACF,aAAa,WAAW,GAAG;CAC7B,QAAQ,CAER;AACF;AAEA,SAAS,cAAuB;CAC9B,IAAI,EAAA,GAAA,qBAAA,gBAAA,CAAiB,GACnB,OAAO;CAGT,MAAM,UAAUA,oBAAAA,QAAQ;CACxB,IAAI,YAAY,KAAA,GACd,OAAO,YAAY;CAGrB,IAAI;EAEF,IAAI,IADY,IAAI,OAAO,SAAS,IAC9B,CAAC,CAAC,aAAa,SACnB,OAAO;CAEX,QAAQ;EACN,OAAO;CACT;CACA,QAAA,GAAA,iCAAA,YAAA,CAAmB,OAAO,SAAS,IAAI;AACzC;AAEA,eAAe,oBAAoB,MAA6B;CAC9D,MAAM,YAAqB,QAAQ,IAAI,WAAW,WAAW;CAC7D,MAAM,YAAY,aAAa,QAAQ,OAAO,cAAc,WACxD,QAAQ,IAAI,WAAW,WAAW,IAClC;CACJ,IAAI,OAAO,cAAc,YAAY;EACnC,MAAM,UAAU,KAAK,WAAW,IAAI;EACpC;CACF;CAEA,MAAM,YAAA,GAAA,qBAAA,EAAA,CAAa,YAAY;EAC7B,OAAO;GACL,UAAU;GACV,MAAM;GACN,KAAK;GACL,SAAS;EACX;EACA,UAAU;CACZ,CAAC;CACD,SAAS,QAAQ;CACjB,SAAS,KAAK,YAAY,QAAQ;CAClC,SAAS,OAAO;CAChB,MAAM,SAAS,SAAS,YAAY,MAAM;CAC1C,SAAS,OAAO;CAChB,IAAI,CAAC,QACH,MAAM,IAAI,MAAM,mDAAmD;AAEvE;AAEA,SAAS,yBAAyB,OAA4B;CAC5D,MAAM,aAAa,MAAM,SAAS,UAAU,UAAU;CACtD,OAAO;EACL,oCAAoC,WAAW;EAC/C;EACA;EACA,QAAQ,WAAW;EACnB;EACA,MAAM,SAAS,UAAU,mBAAmB;EAC5C,MAAM,SAAS,KAAK,IAAI;EACxB;EACA;CACF,CAAC,CAAC,KAAK,IAAI;AACb;AAEA,SAAgB,8BAA8B,KAAuC;CACnF,IAAI,CAAC,YAAY,GACf,aAAa,CAAC;CAGhB,CAAA,GAAA,qBAAA,oBAAA,CAAoB,mBAAmB,CAAC,EAAE,QAAQ;CAElD,MAAM,QAAA,GAAA,qBAAA,EAAA,CAAS,OAAO,EAAE,WAAW,gCAAgC,CAAC;CACpE,MAAM,SAAA,GAAA,qBAAA,EAAA,CAAU,SAAS,MAAM,GAAG;CAClC,KAAK,YAAY,KAAK;CACtB,SAAS,KAAK,YAAY,IAAI;CAE9B,IAAI,WAAW;CACf,IAAI,eAA8B;CAClC,IAAI,sBAAqC;CACzC,IAAI,YAAY;CAEhB,MAAM,UAAU,UAA8B;EAC5C,KAAK,gBAAgB,KAAK;EAC1B,IAAI,SAAS,MAAM;GACjB,eAAe;GACf,YAAY;GACZ;EACF;EAEA,MAAM,eAAe,MAAM,SAAS,KAAK,IAAI;EAC7C,MAAM,WAAW,GAAG,IAAI,UAAU,GAAG,MAAM,KAAK,GAAG;EACnD,MAAM,aAAa,MAAM,SAAS,UAAU,UAAU;EACtD,MAAM,aAAa,MAAM,SAAS,UAC9B,6DACA;EACJ,MAAM,WAAW,MAAM,SAAS,UAC5B,sGACA;EACJ,MAAM,aAAa,MAAM,SAAS,UAC9B,uHACA;EACJ,IAAI,aAAa,qBAAqB;GACpC,sBAAsB;GACtB,MAAM,iBAAiB,qBAAqB,WAAW,IAAI;GAC3D,IAAI,MAAM,SAAS,SACjB,QAAQ,MAAM,cAAc;QAE5B,QAAQ,KAAK,cAAc;EAE/B;EAEA,IAAI,aAAa,cAAc;GAC7B,eAAe;GACf,YAAY,WAAW,qBAAqB,MAAM;EACpD;EAEA,IAAI,WAAW;GACb,MAAM,YAAA,GAAA,qBAAA,EAAA,CAAa,QAAQ,EAAE,WAAW,gBAAgB,CAAC;GACzD,CAAA,GAAA,qBAAA,QAAA,CAAQ,UAAU,iBAAiB;GACnC,KAAK,aAAA,GAAA,qBAAA,EAAA,CAAc,UAAU;IAC3B,WAAW,MAAM,SAAS,UAAU,aAAa;IACjD,MAAM;IACN,eAAe;KACb,YAAY;KACZ,cAAc,qBAAqB;KACnC,OAAO,KAAK;IACd;GACF,GACA,WAAA,GAAA,qBAAA,EAAA,CACE,QAAQ,MAAM,MAAM,SAAS,UAAU,iBAAiB,gBAAgB,CAAC,CAAC;GAC5E;EACF;EAEA,MAAM,YAAA,GAAA,qBAAA,EAAA,CAAa,QAAQ,EAAE,WAAW,WAAW,CAAC;EACpD,CAAA,GAAA,qBAAA,QAAA,CAAQ,UAAU,iBAAiB;EACnC,MAAM,cAAA,GAAA,qBAAA,EAAA,CAAe,UAAU;GAC7B,WAAW;GACX,MAAM;GACN,OAAO,MAAM,SAAS,UAAU,uBAAuB;GACvD,cAAc,MAAM,SAAS,UAAU,8BAA8B;GACrE,eAAe;IACb,CAAA,GAAA,qCAAA,kBAAA,CAAkB,YAAY;KAC5B,MAAM,oBAAoB,YAAY;KACtC,WAAW,cAAc;KACzB,iBAAiB;MACf,CAAA,GAAA,qBAAA,QAAA,CAAQ,YAAY,GAAG,cAAc,KAAK;KAC5C,GAAG,IAAI;IACT,GAAG;KACD,gBAAgB;KAChB,UAAU,cAAc;MACtB,CAAA,GAAA,mCAAA,aAAA,CAAa,oCAAoC,SAAS;MAC1D,WAAW,cAAc;MACzB,iBAAiB;OACf,CAAA,GAAA,qBAAA,QAAA,CAAQ,YAAY,GAAG,cAAc,KAAK;MAC5C,GAAG,IAAI;KACT;IACF,CAAC;GACH;EACF,CAAC;EACD,CAAA,GAAA,qBAAA,QAAA,CAAQ,YAAY,GAAG,cAAc,KAAK;EAE1C,MAAM,sBAAA,GAAA,qBAAA,EAAA,CAAuB,UAAU;GACrC,WAAW;GACX,MAAM;GACN,OAAO;GACP,cAAc,MAAM,SAAS,UAAU,oCAAoC;GAC3E,eAAe;IACb,CAAA,GAAA,qCAAA,kBAAA,CAAkB,YAAY;KAC5B,MAAM,oBAAoB,yBAAyB,KAAK,CAAC;KACzD,mBAAmB,cAAc;KACjC,iBAAiB;MACf,CAAA,GAAA,qBAAA,QAAA,CAAQ,oBAAoB,aAAa;KAC3C,GAAG,IAAI;IACT,GAAG;KACD,gBAAgB;KAChB,UAAU,cAAc;MACtB,CAAA,GAAA,mCAAA,aAAA,CAAa,8CAA8C,SAAS;MACpE,mBAAmB,cAAc;MACjC,iBAAiB;OACf,CAAA,GAAA,qBAAA,QAAA,CAAQ,oBAAoB,aAAa;MAC3C,GAAG,IAAI;KACT;IACF,CAAC;GACH;EACF,CAAC;EACD,CAAA,GAAA,qBAAA,QAAA,CAAQ,oBAAoB,aAAa;EAEzC,KAAK,aAAA,GAAA,qBAAA,EAAA,CAAc,OAAO,EAAE,WAAW,eAAe,IAAA,GAAA,qBAAA,EAAA,CAClD,OAAO;GAAE,WAAW,MAAM,SAAS,UAAU,aAAa;GAA6B,MAAM;GAAe,cAAc;GAAQ,cAAc,mBAAmB;EAAa,IAAA,GAAA,qBAAA,EAAA,CAChL,OAAO,EAAE,WAAW,iBAAiB,IAAA,GAAA,qBAAA,EAAA,CACnC,OAAO,EAAE,WAAW,aAAa,IAAA,GAAA,qBAAA,EAAA,CAC/B,OAAO,EAAE,WAAW,gBAAgB,GACpC,WAAA,GAAA,qBAAA,EAAA,CACE,OAAO,OAAA,GAAA,qBAAA,EAAA,CACL,QAAQ,EAAE,WAAW,YAAY,GAAG,UAAU,YAAY,IAAA,GAAA,qBAAA,EAAA,CAC1D,OAAO,EAAE,WAAW,YAAY,GAAG,UAAU,CACjD,CACF,IAAA,GAAA,qBAAA,EAAA,CACE,OAAO,EAAE,WAAW,cAAc,GAClC,qBAAA,GAAA,qBAAA,EAAA,CACE,UAAU;GACV,WAAW;GACX,MAAM;GACN,OAAO;GACP,cAAc,MAAM,SAAS,UAAU,0BAA0B;GACjE,eAAe;IACb,YAAY;IACZ,WAAW,uBAAuB,QAAQ;IAC1C,OAAO,KAAK;GACd;EACF,GAAG,GAAG,CACR,CACF,IAAA,GAAA,qBAAA,EAAA,CACE,OAAO,EAAE,WAAW,WAAW,GAC/B,WAAA,GAAA,qBAAA,EAAA,CACE,OAAO,EAAE,WAAW,qBAAqB,IAAA,GAAA,qBAAA,EAAA,CACvC,OAAO,EAAE,WAAW,oBAAoB,GAAG,MAAM,SAAS,UAAU,kBAAkB,iBAAiB,GACzG,UACF,IAAA,GAAA,qBAAA,EAAA,CACE,OAAO,EAAE,WAAW,cAAc,GAAG,YAAY,IAAA,GAAA,qBAAA,EAAA,CACjD,OAAO,EAAE,WAAW,aAAa,GAAG,UAAU,CAClD,CACF,CACF,CAAC,CAAC;CACJ;CAEA,MAAM,gBAAgB;EACpB,IAAI,YAAY,EAAA,GAAA,qBAAA,gBAAA,CAAiB,GAC/B;EAEF,CAAA,GAAA,qCAAA,kBAAA,CAAkB,YAAY;GAC5B,MAAM,UAAU,MAAM,IAAI,WAAW;GACrC,IAAI,UACF;GAEF,OAAO,QAAQ,qBAAqB,OAChC,QAAQ,eAAe,WAAW,IAChC,OACA;IAAE,MAAM;IAAW,UAAU,QAAQ,eAAe,KAAK,YAAY,QAAQ,OAAO;GAAE,IACxF;IAAE,MAAM;IAAS,UAAU,CAAC,QAAQ,kBAAkB,OAAO;GAAE,CAAC;EACtE,GAAG;GACD,gBAAgB;GAChB,UAAU,UAAU;IAClB,CAAA,GAAA,mCAAA,aAAA,CAAa,uCAAuC,KAAK;GAC3D;EACF,CAAC;CACH;CAKA,eAAe,OAAO;CACtB,MAAM,WAAW,YAAY,SAAS,mBAAmB;CAEzD,MAAM,gBAAgB;EACpB,WAAW;EACX,cAAc,QAAQ;EACtB,KAAK,OAAO;EACZ,KAAA,GAAA,qBAAA,oBAAA,CAAwB,mBAAmB,CAAC,EAAE,YAAY,SACxD,CAAA,GAAA,qBAAA,oBAAA,CAAoB,qBAAqB,IAAI;CAEjD;CACA,CAAA,GAAA,qBAAA,oBAAA,CAAoB,qBAAqB,EAAE,QAAQ,CAAC;CACpD,OAAO;AACT"}
@@ -1,9 +1,7 @@
1
- const require_chunk = require('../chunk-BE-pF4vm.js');
2
1
  let ___generated_env_js = require("../generated/env.js");
3
2
  let vitest = require("vitest");
4
3
  let ___lib_hexclave_app_index_js = require("../lib/hexclave-app/index.js");
5
4
  let __index_js = require("./index.js");
6
-
7
5
  //#region src/pushed-config-error-overlay/index.test.ts
8
6
  function createMockElement() {
9
7
  return {
@@ -62,6 +60,6 @@ function createMockElement() {
62
60
  }
63
61
  });
64
62
  });
65
-
66
63
  //#endregion
64
+
67
65
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","names":["StackClientApp","vi","envVars"],"sources":["../../src/pushed-config-error-overlay/index.test.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 { afterEach, describe, expect, it, vi } from \"vitest\";\nimport { envVars } from \"../generated/env\";\nimport { StackClientApp } from \"../lib/hexclave-app\";\nimport { mountPushedConfigErrorOverlay } from \".\";\n\nfunction createMockElement() {\n return {\n style: {},\n appendChild: () => {},\n addEventListener: () => {},\n setAttribute: () => {},\n replaceChildren: () => {},\n remove: () => {},\n };\n}\n\ndescribe(\"pushed config error overlay\", () => {\n afterEach(() => {\n vi.unstubAllEnvs();\n vi.unstubAllGlobals();\n });\n\n it(\"defers the first project refresh until after construction-time callers finish\", async () => {\n const app = new StackClientApp({\n baseUrl: \"http://localhost:12345\",\n projectId: \"00000000-0000-4000-8000-000000000000\",\n publishableClientKey: \"stack-pk-test\",\n tokenStore: \"memory\",\n redirectMethod: \"none\",\n devTool: false,\n });\n const getProject = vi.fn(async () => ({\n pushedConfigError: null,\n configWarnings: [],\n }));\n Reflect.set(app, \"getProject\", getProject);\n const appendChild = vi.fn();\n vi.stubEnv(\"NODE_ENV\", \"development\");\n expect(Reflect.get(envVars, \"NODE_ENV\")).toBe(\"development\");\n\n vi.stubGlobal(\"window\", {\n \"__hexclave-pushed-config-error-overlay\": null,\n location: {\n href: \"http://localhost:3000\",\n },\n });\n vi.stubGlobal(\"document\", {\n body: {\n appendChild,\n },\n createElement: () => createMockElement(),\n createTextNode: () => createMockElement(),\n });\n vi.stubGlobal(\"localStorage\", {\n getItem: () => null,\n setItem: () => {},\n removeItem: () => {},\n });\n\n const cleanup = mountPushedConfigErrorOverlay(app);\n try {\n expect(appendChild).toHaveBeenCalledOnce();\n expect(getProject).not.toHaveBeenCalled();\n\n await Promise.resolve();\n\n expect(getProject).toHaveBeenCalledOnce();\n } finally {\n cleanup();\n }\n });\n});\n"],"mappings":";;;;;;;AASA,SAAS,oBAAoB;AAC3B,QAAO;EACL,OAAO,EAAE;EACT,mBAAmB;EACnB,wBAAwB;EACxB,oBAAoB;EACpB,uBAAuB;EACvB,cAAc;EACf;;qBAGM,qCAAqC;AAC5C,6BAAgB;AACd,YAAG,eAAe;AAClB,YAAG,kBAAkB;GACrB;AAEF,gBAAG,iFAAiF,YAAY;EAC9F,MAAM,MAAM,IAAIA,4CAAe;GAC7B,SAAS;GACT,WAAW;GACX,sBAAsB;GACtB,YAAY;GACZ,gBAAgB;GAChB,SAAS;GACV,CAAC;EACF,MAAM,aAAaC,UAAG,GAAG,aAAa;GACpC,mBAAmB;GACnB,gBAAgB,EAAE;GACnB,EAAE;AACH,UAAQ,IAAI,KAAK,cAAc,WAAW;EAC1C,MAAM,cAAcA,UAAG,IAAI;AAC3B,YAAG,QAAQ,YAAY,cAAc;AACrC,qBAAO,QAAQ,IAAIC,6BAAS,WAAW,CAAC,CAAC,KAAK,cAAc;AAE5D,YAAG,WAAW,UAAU;GACtB,0CAA0C;GAC1C,UAAU,EACR,MAAM,yBACP;GACF,CAAC;AACF,YAAG,WAAW,YAAY;GACxB,MAAM,EACJ,aACD;GACD,qBAAqB,mBAAmB;GACxC,sBAAsB,mBAAmB;GAC1C,CAAC;AACF,YAAG,WAAW,gBAAgB;GAC5B,eAAe;GACf,eAAe;GACf,kBAAkB;GACnB,CAAC;EAEF,MAAM,wDAAwC,IAAI;AAClD,MAAI;AACF,sBAAO,YAAY,CAAC,sBAAsB;AAC1C,sBAAO,WAAW,CAAC,IAAI,kBAAkB;AAEzC,SAAM,QAAQ,SAAS;AAEvB,sBAAO,WAAW,CAAC,sBAAsB;YACjC;AACR,YAAS;;GAEX;EACF"}
1
+ {"version":3,"file":"index.test.js","names":["StackClientApp","vi","envVars"],"sources":["../../src/pushed-config-error-overlay/index.test.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 { afterEach, describe, expect, it, vi } from \"vitest\";\nimport { envVars } from \"../generated/env\";\nimport { StackClientApp } from \"../lib/hexclave-app\";\nimport { mountPushedConfigErrorOverlay } from \".\";\n\nfunction createMockElement() {\n return {\n style: {},\n appendChild: () => {},\n addEventListener: () => {},\n setAttribute: () => {},\n replaceChildren: () => {},\n remove: () => {},\n };\n}\n\ndescribe(\"pushed config error overlay\", () => {\n afterEach(() => {\n vi.unstubAllEnvs();\n vi.unstubAllGlobals();\n });\n\n it(\"defers the first project refresh until after construction-time callers finish\", async () => {\n const app = new StackClientApp({\n baseUrl: \"http://localhost:12345\",\n projectId: \"00000000-0000-4000-8000-000000000000\",\n publishableClientKey: \"stack-pk-test\",\n tokenStore: \"memory\",\n redirectMethod: \"none\",\n devTool: false,\n });\n const getProject = vi.fn(async () => ({\n pushedConfigError: null,\n configWarnings: [],\n }));\n Reflect.set(app, \"getProject\", getProject);\n const appendChild = vi.fn();\n vi.stubEnv(\"NODE_ENV\", \"development\");\n expect(Reflect.get(envVars, \"NODE_ENV\")).toBe(\"development\");\n\n vi.stubGlobal(\"window\", {\n \"__hexclave-pushed-config-error-overlay\": null,\n location: {\n href: \"http://localhost:3000\",\n },\n });\n vi.stubGlobal(\"document\", {\n body: {\n appendChild,\n },\n createElement: () => createMockElement(),\n createTextNode: () => createMockElement(),\n });\n vi.stubGlobal(\"localStorage\", {\n getItem: () => null,\n setItem: () => {},\n removeItem: () => {},\n });\n\n const cleanup = mountPushedConfigErrorOverlay(app);\n try {\n expect(appendChild).toHaveBeenCalledOnce();\n expect(getProject).not.toHaveBeenCalled();\n\n await Promise.resolve();\n\n expect(getProject).toHaveBeenCalledOnce();\n } finally {\n cleanup();\n }\n });\n});\n"],"mappings":";;;;;AASA,SAAS,oBAAoB;CAC3B,OAAO;EACL,OAAO,CAAC;EACR,mBAAmB,CAAC;EACpB,wBAAwB,CAAC;EACzB,oBAAoB,CAAC;EACrB,uBAAuB,CAAC;EACxB,cAAc,CAAC;CACjB;AACF;qBAES,qCAAqC;CAC5C,CAAA,GAAA,OAAA,UAAA,OAAgB;EACd,OAAA,GAAG,cAAc;EACjB,OAAA,GAAG,iBAAiB;CACtB,CAAC;CAED,CAAA,GAAA,OAAA,GAAA,CAAG,iFAAiF,YAAY;EAC9F,MAAM,MAAM,IAAIA,6BAAAA,eAAe;GAC7B,SAAS;GACT,WAAW;GACX,sBAAsB;GACtB,YAAY;GACZ,gBAAgB;GAChB,SAAS;EACX,CAAC;EACD,MAAM,aAAaC,OAAAA,GAAG,GAAG,aAAa;GACpC,mBAAmB;GACnB,gBAAgB,CAAC;EACnB,EAAE;EACF,QAAQ,IAAI,KAAK,cAAc,UAAU;EACzC,MAAM,cAAcA,OAAAA,GAAG,GAAG;EAC1B,OAAA,GAAG,QAAQ,YAAY,aAAa;EACpC,CAAA,GAAA,OAAA,OAAA,CAAO,QAAQ,IAAIC,oBAAAA,SAAS,UAAU,CAAC,CAAC,CAAC,KAAK,aAAa;EAE3D,OAAA,GAAG,WAAW,UAAU;GACtB,0CAA0C;GAC1C,UAAU,EACR,MAAM,wBACR;EACF,CAAC;EACD,OAAA,GAAG,WAAW,YAAY;GACxB,MAAM,EACJ,YACF;GACA,qBAAqB,kBAAkB;GACvC,sBAAsB,kBAAkB;EAC1C,CAAC;EACD,OAAA,GAAG,WAAW,gBAAgB;GAC5B,eAAe;GACf,eAAe,CAAC;GAChB,kBAAkB,CAAC;EACrB,CAAC;EAED,MAAM,WAAA,GAAA,WAAA,8BAAA,CAAwC,GAAG;EACjD,IAAI;GACF,CAAA,GAAA,OAAA,OAAA,CAAO,WAAW,CAAC,CAAC,qBAAqB;GACzC,CAAA,GAAA,OAAA,OAAA,CAAO,UAAU,CAAC,CAAC,IAAI,iBAAiB;GAExC,MAAM,QAAQ,QAAQ;GAEtB,CAAA,GAAA,OAAA,OAAA,CAAO,UAAU,CAAC,CAAC,qBAAqB;EAC1C,UAAU;GACR,QAAQ;EACV;CACF,CAAC;AACH,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { f as HandlerUrls } from "./common-BDyEKSM6.js";
2
+
3
+ //#region src/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts
4
+ declare const crossDomainAuthQueryParams: {
5
+ readonly marker: "hexclave_cross_domain_auth";
6
+ readonly state: "hexclave_cross_domain_state";
7
+ readonly codeChallenge: "hexclave_cross_domain_code_challenge";
8
+ readonly afterCallbackRedirectUrl: "hexclave_cross_domain_after_callback_redirect_url";
9
+ };
10
+ type CrossDomainHandoffParams = {
11
+ state: string;
12
+ codeChallenge: string;
13
+ };
14
+ declare function getCrossDomainHandoffParamsFromCurrentUrl(currentUrl: URL): CrossDomainHandoffParams | null;
15
+ type RedirectToHandlerPlan = {
16
+ type: "redirect";
17
+ url: string;
18
+ } | {
19
+ type: "cross-domain-authorize";
20
+ redirectUri: string;
21
+ state: string;
22
+ codeChallenge: string;
23
+ afterCallbackRedirectUrl: string;
24
+ };
25
+ declare function planRedirectToHandler(options: {
26
+ handlerName: keyof HandlerUrls;
27
+ rawHandlerUrl: string;
28
+ noRedirectBack: boolean;
29
+ currentUrl: URL | null;
30
+ localOAuthCallbackUrl: string;
31
+ getCrossDomainHandoffParams: (currentUrl: URL) => Promise<CrossDomainHandoffParams>;
32
+ }): Promise<RedirectToHandlerPlan>;
33
+ //#endregion
34
+ export { planRedirectToHandler as i, crossDomainAuthQueryParams as n, getCrossDomainHandoffParamsFromCurrentUrl as r, CrossDomainHandoffParams as t };
35
+ //# sourceMappingURL=redirect-page-urls-elbPx2J1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redirect-page-urls-elbPx2J1.d.ts","names":[],"sources":["../src/lib/hexclave-app/apps/implementations/redirect-page-urls.ts"],"mappings":";;;cAQa,0BAAA;EAAA;;;;;KAqBD,wBAAA;EACV,KAAA;EACA,aAAa;AAAA;AAAA,iBAGC,yCAAA,CAA0C,UAAA,EAAY,GAAA,GAAM,wBAAwB;AAAA,KAkI/F,qBAAA;EACC,IAAA;EAAkB,GAAA;AAAA;EAEpB,IAAA;EACA,WAAA;EACA,KAAA;EACA,aAAA;EACA,wBAAA;AAAA;AAAA,iBAsCkB,qBAAA,CAAsB,OAAA;EAC1C,WAAA,QAAmB,WAAA;EACnB,aAAA;EACA,cAAA;EACA,UAAA,EAAY,GAAA;EACZ,qBAAA;EACA,2BAAA,GAA8B,UAAA,EAAY,GAAA,KAAQ,OAAA,CAAQ,wBAAA;AAAA,IACxD,OAAA,CAAQ,qBAAA"}
@@ -6,16 +6,12 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
8
  var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
- key = keys[i];
12
- if (!__hasOwnProp.call(to, key) && key !== except) {
13
- __defProp(to, key, {
14
- get: ((k) => from[k]).bind(null, key),
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- }
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
19
15
  }
20
16
  return to;
21
17
  };
@@ -23,12 +19,10 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
23
19
  value: mod,
24
20
  enumerable: true
25
21
  }) : target, mod));
26
-
27
22
  //#endregion
28
-
29
- Object.defineProperty(exports, '__toESM', {
30
- enumerable: true,
31
- get: function () {
32
- return __toESM;
33
- }
34
- });
23
+ Object.defineProperty(exports, "__toESM", {
24
+ enumerable: true,
25
+ get: function() {
26
+ return __toESM;
27
+ }
28
+ });
@@ -0,0 +1,122 @@
1
+ import { Result } from "@hexclave/shared/dist/utils/results";
2
+
3
+ //#region src/lib/hexclave-app/apps/implementations/session-replay.d.ts
4
+ type AnalyticsReplayOptions = {
5
+ /**
6
+ * Whether session replays are enabled.
7
+ *
8
+ * @default true
9
+ */
10
+ enabled?: boolean;
11
+ /**
12
+ * Whether to mask the content of all `<input>` elements.
13
+ *
14
+ * @default true
15
+ */
16
+ maskAllInputs?: boolean;
17
+ /**
18
+ * A CSS class name or RegExp. Elements with a matching class will be blocked
19
+ * (replaced with a placeholder in the recording).
20
+ *
21
+ * @default undefined
22
+ */
23
+ blockClass?: string | RegExp;
24
+ /**
25
+ * A CSS selector string. Elements matching this selector will be blocked
26
+ * (replaced with a placeholder in the recording).
27
+ *
28
+ * @default undefined
29
+ */
30
+ blockSelector?: string;
31
+ };
32
+ type AnalyticsOptions = {
33
+ /**
34
+ * Whether SDK-managed analytics capture is enabled.
35
+ *
36
+ * @default true
37
+ */
38
+ enabled?: boolean;
39
+ /**
40
+ * Options for session replay recording. Replays are enabled by default;
41
+ * set `enabled: false` to opt out.
42
+ */
43
+ replays?: AnalyticsReplayOptions;
44
+ };
45
+ declare function getSessionReplayOptions(analyticsOptions: AnalyticsOptions | undefined): AnalyticsReplayOptions;
46
+ /**
47
+ * Converts AnalyticsOptions to a JSON-safe representation.
48
+ * RegExp blockClass values are serialized as `{ __regexp, __flags }` objects.
49
+ * The return type is AnalyticsOptions to keep StackClientAppJson simple;
50
+ * the actual runtime value is JSON-safe.
51
+ */
52
+ declare function analyticsOptionsToJson(options: AnalyticsOptions | undefined): AnalyticsOptions | undefined;
53
+ /**
54
+ * Reconstructs AnalyticsOptions from a JSON-deserialized value.
55
+ * Converts `{ __regexp, __flags }` objects back to RegExp instances.
56
+ */
57
+ declare function analyticsOptionsFromJson(json: AnalyticsOptions | undefined): AnalyticsOptions | undefined;
58
+ type StoredSession = {
59
+ session_id: string;
60
+ created_at_ms: number;
61
+ last_activity_ms: number;
62
+ };
63
+ declare function safeParseStoredSession(raw: string | null): StoredSession | null;
64
+ declare function makeStorageKey(projectId: string): string;
65
+ declare function makeLegacyStorageKey(projectId: string): string;
66
+ declare function generateUuid(): `${string}-${string}-${string}-${string}-${string}`;
67
+ declare function getOrRotateSession(options: {
68
+ key: string;
69
+ legacyKey?: string;
70
+ nowMs: number;
71
+ }): StoredSession;
72
+ type SessionRecorderDeps = {
73
+ projectId: string;
74
+ sendBatch: (body: string, options: {
75
+ keepalive: boolean;
76
+ }) => Promise<Result<Response, Error>>;
77
+ };
78
+ declare function isAnalyticsNotEnabledError(error: unknown): boolean;
79
+ /**
80
+ * Whether the error looks like a network failure caused by an ad blocker or
81
+ * similar extension blocking analytics requests. These are expected in
82
+ * production and should be silently ignored rather than logged as warnings.
83
+ */
84
+ declare function isAdBlockerNetworkError(error: unknown): boolean;
85
+ declare class SessionRecorder {
86
+ private _started;
87
+ private _cancelled;
88
+ private _disabled;
89
+ private _stopRecording;
90
+ private _detachListeners;
91
+ private _flushTimer;
92
+ private _events;
93
+ private _eventSizes;
94
+ private _approxBytes;
95
+ private _lastPersistActivity;
96
+ private _recording;
97
+ private _rrwebModule;
98
+ private _lastBrowserSessionId;
99
+ private _takingSnapshot;
100
+ private _flushInProgress;
101
+ private readonly _sessionReplaySegmentId;
102
+ private readonly _storageKey;
103
+ private readonly _legacyStorageKey;
104
+ private readonly _deps;
105
+ private readonly _replayOptions;
106
+ constructor(deps: SessionRecorderDeps, replayOptions: AnalyticsReplayOptions);
107
+ /**
108
+ * Starts recording. Idempotent — calling multiple times is safe.
109
+ */
110
+ start(): void;
111
+ stop(): void;
112
+ clearBuffer(): void;
113
+ private _persistActivity;
114
+ private _flush;
115
+ private _disable;
116
+ private _startRecording;
117
+ private _stopCurrentRecording;
118
+ private _tick;
119
+ }
120
+ //#endregion
121
+ export { StoredSession as a, generateUuid as c, isAdBlockerNetworkError as d, isAnalyticsNotEnabledError as f, safeParseStoredSession as h, SessionRecorderDeps as i, getOrRotateSession as l, makeStorageKey as m, AnalyticsReplayOptions as n, analyticsOptionsFromJson as o, makeLegacyStorageKey as p, SessionRecorder as r, analyticsOptionsToJson as s, AnalyticsOptions as t, getSessionReplayOptions as u };
122
+ //# sourceMappingURL=session-replay-8_3WCrsZ.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-replay-8_3WCrsZ.d.ts","names":[],"sources":["../src/lib/hexclave-app/apps/implementations/session-replay.ts"],"mappings":";;;KAUY,sBAAA;;AAAZ;;;;EAME,OAAA;EAMA;;;;;EAAA,aAAA;EAiBU;;;;;;EAVV,UAAA,YAAsB,MAAM;EAqBI;AAAA;AAGlC;;;;EAjBE,aAAA;AAAA;AAAA,KAGU,gBAAA;EAcmG;AAAA;AAa/G;;;EArBE,OAAA;EAqB8C;;;;EAhB9C,OAAA,GAAU,sBAAsB;AAAA;AAAA,iBAGlB,uBAAA,CAAwB,gBAAA,EAAkB,gBAAA,eAA+B,sBAAsB;;;;;;;iBAa/F,sBAAA,CAAuB,OAAA,EAAS,gBAAA,eAA+B,gBAAgB;AA4D/F;;;;AAAA,iBA1CgB,wBAAA,CAAyB,IAAA,EAAM,gBAAA,eAA+B,gBAAgB;AAAA,KA0ClF,aAAA;EACV,UAAA;EACA,aAAA;EACA,gBAAA;AAAA;AAAA,iBAGc,sBAAA,CAAuB,GAAA,kBAAqB,aAAa;AAAA,iBAczD,cAAA,CAAe,SAAiB;AAAA,iBAKhC,oBAAA,CAAqB,SAAiB;AAAA,iBAItC,YAAA;AAAA,iBAIA,kBAAA,CAAmB,OAAA;EAAW,GAAA;EAAa,SAAA;EAAoB,KAAA;AAAA,IAAkB,aAAa;AAAA,KAiBlG,mBAAA;EACV,SAAA;EACA,SAAA,GAAY,IAAA,UAAc,OAAA;IAAW,SAAA;EAAA,MAAyB,OAAA,CAAQ,MAAA,CAAO,QAAA,EAAU,KAAA;AAAA;AAAA,iBAGzE,0BAAA,CAA2B,KAAc;;;AA1B7B;AAI5B;;iBA+BgB,uBAAA,CAAwB,KAAc;AAAA,cAUzC,eAAA;EAAA,QACH,QAAA;EAAA,QACA,UAAA;EAAA,QACA,SAAA;EAAA,QACA,cAAA;EAAA,QACA,gBAAA;EAAA,QACA,WAAA;EAAA,QACA,OAAA;EAAA,QACA,WAAA;EAAA,QACA,YAAA;EAAA,QACA,oBAAA;EAAA,QACA,UAAA;EAAA,QACA,YAAA;EAAA,QACA,qBAAA;EAAA,QACA,eAAA;EAAA,QACA,gBAAA;EAAA,iBACS,uBAAA;EAAA,iBACA,WAAA;EAAA,iBAEA,iBAAA;EAAA,iBACA,KAAA;EAAA,iBACA,cAAA;cAEL,IAAA,EAAM,mBAAA,EAAqB,aAAA,EAAe,sBAAsB;EA7Cd;;;EAwD9D,KAAA;EAYA,IAAA;EAWA,WAAA;EAAA,QAMQ,gBAAA;EAAA,QASM,MAAA;EAAA,QA+GN,QAAA;EAAA,QAUM,eAAA;EAAA,QAgEN,qBAAA;EAAA,QAeA,KAAA;AAAA"}
@@ -1909,4 +1909,4 @@ interface StorageReader {
1909
1909
  }
1910
1910
  //#endregion
1911
1911
  export { FunctionReference as n, UserIdentity as r, GenericQueryCtx as t };
1912
- //# sourceMappingURL=storage-CKsyME2q.d.ts.map
1912
+ //# sourceMappingURL=storage-CA867GtX.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-CA867GtX.d.ts","names":["JSONValue","key","TableName","__tableName","ArrayBuffer","Value","value","encoded","modernBigIntToBase64","modernBase64ToBigInt","ObjectType","Record","Key","T","K","Property","UnionType","k","I","T","GenericId","TableName","Type","IsOptional","OptionalProperty","FieldPaths","type","fieldPaths","isOptional","isConvexValidator","constructor","optional","BaseValidator","tableName","TableNameFromType","kind","ArrayBuffer","Fields","Record","GenericValidator","Property","JoinFieldPaths","fields","value","Element","Validator","element","Key","Value","key","members","VId","VString","VFloat64","VInt64","VBoolean","VNull","VAny","VLiteral","VBytes","VObject","VArray","VRecord","VUnion","Members","Start","End","fieldType","ValidatorJSON","JSONValue","keys","RecordKeyValidatorJSON","values","RecordValueValidatorJSON","ObjectFieldType","Validator","v","GenericValidator","V","PropertyValidators","obj","ObjectType","id","TableName","tableName","VId","GenericId","null","VNull","number","VFloat64","float64","bigint","VInt64","int64","boolean","VBoolean","string","VString","bytes","VBytes","ArrayBuffer","literal","T","VLiteral","array","T_1","element","VArray","object","T_2","fields","VObject","Expand","Property","OptionalKeys","Exclude","Infer","Property_1","Property_2","record","Key","Value","keys","values","VRecord","Record","union","T_3","members","VUnion","any","VAny","optional","T_4","value","VOptional","OptionalProperty","Fields","RequiredKeys","tokenIdentifier","subject","issuer","name","givenName","familyName","nickname","preferredUsername","profileUrl","pictureUrl","email","emailVerified","gender","birthday","timezone","language","phoneNumber","phoneNumberVerified","address","updatedAt","key","JSONValue","Omit","UserIdentity","getUserIdentity","Promise","Record","Value","GenericIndexFields","searchField","filterFields","GenericSearchIndexConfig","vectorField","dimensions","GenericVectorIndexConfig","T","Key","Default","Document","GenericDocument","FieldPath","FieldTypeFromFieldPathInner","First","Second","ValueFromUnion","FieldValue","FieldTypeFromFieldPath","document","fieldPaths","GenericFieldPaths","indexes","GenericTableIndexes","searchIndexes","GenericTableSearchIndexes","vectorIndexes","GenericTableVectorIndexes","TableInfo","GenericTableInfo","Indexes","IndexName","IndexNames","SearchIndexes","SearchIndexNames","VectorIndexes","VectorIndexNames","tableName","DataModel","GenericDataModel","TableName","TableNamesInDataModel","T","Value","_isExpression","_value","Expression","TableInfo","GenericTableInfo","eq","ExpressionOrValue","l","r","neq","lt","lte","gt","gte","add","NumericValue","sub","mul","div","mod","neg","x","and","exprs","Array","or","not","field","FieldPath","FieldPaths","fieldPath","FieldTypeFromFieldPath","DocumentByInfo","N","Document","GenericDocument","IndexFields","GenericIndexFields","FieldNum","LowerBoundIndexRangeBuilder","eq","fieldName","FieldTypeFromFieldPath","value","NextIndexRangeBuilder","PlusOne","IndexRange","IndexRangeBuilder","IndexFieldName","UpperBoundIndexRangeBuilder","gt","gte","lt","lte","_isIndexRange","T","page","isDone","continueCursor","Cursor","splitCursor","pageStatus","numItems","cursor","id","endCursor","maximumRowsRead","maximumBytesRead","Document","GenericDocument","SearchIndexConfig","GenericSearchIndexConfig","search","fieldName","query","SearchFilterFinalizer","SearchFilter","eq","FieldName","FieldTypeFromFieldPath","value","_isSearchFilter","TableInfo","GenericTableInfo","Query","fullTableScan","withIndex","IndexName","IndexNames","indexName","IndexRangeBuilder","DocumentByInfo","NamedIndex","q","IndexRange","indexRange","withSearchIndex","SearchIndexNames","SearchFilterBuilder","NamedSearchIndex","SearchFilter","searchFilter","OrderedQuery","order","AsyncIterable","filter","FilterBuilder","ExpressionOrValue","predicate","paginate","PaginationOptions","paginationOpts","Promise","PaginationResult","collect","Array","take","n","first","unique","_creationTime","TableName","_id","GenericId","Document","GenericDocument","Expand","BetterOmit","SystemFields","WithoutSystemFields","Partial","Pick","by_id","by_creation_time","T","Validator","SystemFields","Expand","FirstFieldPath","RestFieldPaths","fields","SearchField","FilterFields","searchField","filterFields","VectorField","vectorField","dimensions","staged","DocumentType","Indexes","GenericTableIndexes","SearchIndexes","GenericTableSearchIndexes","VectorIndexes","GenericTableVectorIndexes","indexes","stagedDbIndexes","searchIndexes","stagedSearchIndexes","vectorIndexes","stagedVectorIndexes","validator","indexDescriptor","index","IndexName","ExtractFieldPaths","name","DbIndexConfig","IndexOptions","indexConfig","TableDefinition","Record","IndexTiebreakerField","searchIndex","SearchIndexConfig","vectorIndex","VectorIndexConfig","self","DocumentSchema","documentSchema","GenericValidator","VObject","ObjectType","Schema","GenericSchema","StrictTableTypes","tables","strictTableNameTypes","schemaValidation","StrictTableNameTypes","schema","DefineSchemaOptions","options","SchemaDefinition","SchemaDef","MaybeMakeLooseDataModel","TableName","document","IdField","ExtractDocument","fieldPaths","SystemIndexes","DataModel","GenericDataModel","AnyDataModel","_scheduled_functions","completedTime","args","scheduledTime","state","kind","error","_storage","contentType","sha256","size","DataModelFromSchemaDefinition","_systemSchema","TableNamesInDataModel","SystemDataModel","DataModel","GenericDataModel","get","TableName","TableNamesInDataModel","GenericId","id","Promise","DocumentByName","query","tableName","QueryInitializer","NamedTableInfo","normalizeId","table","BaseTableReader","BaseDatabaseReader","system","SystemDataModel","BaseDatabaseReaderWithTable","GenericDatabaseReader","insert","WithoutSystemFields","value","patch","PatchValue","replace","WithOptionalSystemFields","delete","GenericDatabaseReaderWithTable","BaseTableWriter","T","P","Type","FunctionType","Visibility","FunctionVisibility","Args","DefaultFunctionArgs","ReturnType","ComponentPath","_type","_visibility","_args","_returnType","_componentPath","AnyFunctionReference","functionReference","type","args","ret","name","FunctionReference","Export","RegisteredQuery","ReturnValue","ConvertReturnType","RegisteredMutation","RegisteredAction","Module","Record","ExportName","FunctionReferenceFromExport","ModulePath","First","Second","_","ApiForModule","FunctionReferencesInModule","AllModules","FilterApi","ApiFromModulesAllowEmptyNodes","ExpandModulesAndDirs","UnionToIntersection","API","Predicate","Expand","mod","api","paginationOpts","PaginationOptions","PaginationResult","ObjectType","Key","key","AnyModuleDirOrFunc","PartialApi","AnyApi","FuncRef","EmptyObject","Options","options","T","UndefinedToNull","Awaited","Promise","NullToUndefinedOrNull","DataModel","GenericDataModel","db","GenericDatabaseWriter","auth","Auth","storage","StorageWriter","scheduler","Scheduler","runQuery","Query","FunctionReference","query","args","OptionalRestArgs","Promise","FunctionReturnType","runMutation","Mutation","mutation","Omit","GenericMutationCtx","GenericDatabaseWriterWithTable","GenericDatabaseReader","StorageReader","GenericQueryCtx","GenericDatabaseReaderWithTable","runAction","Action","action","StorageActionWriter","vectorSearch","TableName","TableNamesInDataModel","IndexName","VectorIndexNames","NamedTableInfo","tableName","indexName","Expand","VectorSearchQuery","Array","_id","Id","_score","Record","ArgsObject","DefaultFunctionArgs","OneArgArray","NoArgsArray","Args","ArgsArray","EmptyObject","Visiblity","FunctionVisibility","isPublic","isInternal","Visibility","Returns","isConvexFunction","isMutation","VisibilityProperties","isQuery","isAction","isHttp","Ctx","ctx","handler","ArgsValidator","PropertyValidators","ObjectType","ReturnsValidator","Validator","ValidatorTypeToReturnType","Infer","GenericValidator","ReturnValue","ReturnValueForOptionalValidator","OneOrZeroArgs","ArgsArrayForOptionalValidator","DefaultArgsForOptionalValidator","returns","RegisteredMutation","ArgsArrayToObject","GenericMutationCtxWithTable","RegisteredQuery","GenericQueryCtxWithTable","GenericActionCtx","func","RegisteredAction","Request","request","Response","PublicHttpAction","GenericId","StorageId","storageId","sha256","size","contentType","getUrl","Promise","T","__tableName","getMetadata","FileMetadata","StorageReader","generateUploadUrl","delete","StorageWriter","get","Blob","store","blob","options"],"sources":["../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/values/value.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/type_utils.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/values/validators.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/values/validator.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/server/authentication.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/server/data_model.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/server/filter_builder.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/server/index_range_builder.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/server/pagination.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/server/search_filter_builder.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/server/query.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/server/system_fields.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/server/schema.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/server/database.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/server/api.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/server/registration.d.ts","../../../node_modules/.pnpm/convex@1.27.0_react@19.2.1/node_modules/convex/dist/cjs-types/server/storage.d.ts"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { _ as ResolvedHandlerUrls, i as DefaultHandlerUrlTarget, u as HandlerUrlOptions } from "./common-BDyEKSM6.js";
2
+
3
+ //#region src/lib/hexclave-app/url-targets.d.ts
4
+ declare const getHostedHandlerUrl: (options: {
5
+ projectId: string;
6
+ pagePath: string;
7
+ }) => string;
8
+ declare const isLocalHandlerUrlTarget: (options: {
9
+ targetUrl: string;
10
+ handlerPath: string;
11
+ currentOrigin?: string;
12
+ }) => boolean;
13
+ declare const resolveHandlerUrls: (options: {
14
+ urls: HandlerUrlOptions | undefined;
15
+ projectId: string;
16
+ }) => ResolvedHandlerUrls;
17
+ declare const buildCliAuthConfirmUrl: (options: {
18
+ cliAuthConfirmUrl: string; /** Used as the base URL only when cliAuthConfirmUrl is relative. */
19
+ appUrl: string;
20
+ loginCode: string;
21
+ }) => string;
22
+ declare const resolveUnknownHandlerPathFallbackUrl: (options: {
23
+ defaultTarget: DefaultHandlerUrlTarget | undefined;
24
+ projectId: string;
25
+ unknownPath: string;
26
+ }) => string | null;
27
+ declare function getPagePrompt(pageName: string, currentVersion?: number): {
28
+ title: string;
29
+ fullPrompt: string;
30
+ upgradePrompt: string | null;
31
+ latestVersion: number;
32
+ } | null;
33
+ declare const isHostedHandlerUrlForProject: (options: {
34
+ url: string;
35
+ projectId: string;
36
+ }) => boolean;
37
+ //#endregion
38
+ export { isLocalHandlerUrlTarget as a, isHostedHandlerUrlForProject as i, getHostedHandlerUrl as n, resolveHandlerUrls as o, getPagePrompt as r, resolveUnknownHandlerPathFallbackUrl as s, buildCliAuthConfirmUrl as t };
39
+ //# sourceMappingURL=url-targets-BJgkwPGW.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-targets-BJgkwPGW.d.ts","names":[],"sources":["../src/lib/hexclave-app/url-targets.ts"],"mappings":";;;cA2Ga,mBAAA,GAAuB,OAAA;EAAW,SAAA;EAAmB,QAAA;AAAA;AAAA,cA0BrD,uBAAA,GAA2B,OAAA;EACtC,SAAA;EACA,WAAA;EACA,aAAA;AAAA;AAAA,cA+DW,kBAAA,GAAsB,OAAA;EAAW,IAAA,EAAM,iBAAA;EAA+B,SAAA;AAAA,MAAsB,mBAmJxG;AAAA,cAEY,sBAAA,GAA0B,OAAA;EACrC,iBAAA,UAvNA;EAyNA,MAAA;EACA,SAAA;AAAA;AAAA,cAOW,oCAAA,GAAwC,OAAA;EACnD,aAAA,EAAe,uBAAuB;EACtC,SAAA;EACA,WAAA;AAAA;AAAA,iBAiBc,aAAA,CAAc,QAAA,UAAkB,cAAA;EAA4B,KAAA;EAAe,UAAA;EAAoB,aAAA;EAA8B,aAAA;AAAA;AAAA,cAuBhI,4BAAA,GAAgC,OAAA;EAAW,GAAA;EAAa,SAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"url.d.ts","names":[],"sources":["../../src/utils/url.ts"],"mappings":";iBAOgB,oBAAA,CAAqB,WAAA,EAAa,GAAA,uBAA0B,eAAA"}
1
+ {"version":3,"file":"url.d.ts","names":[],"sources":["../../src/utils/url.ts"],"mappings":";iBAOgB,oBAAA,CAAqB,WAAA,EAAa,GAAG,uBAAuB,eAAA"}
package/dist/utils/url.js CHANGED
@@ -1,7 +1,5 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_chunk = require('../chunk-BE-pF4vm.js');
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
2
  let _hexclave_shared_dist_utils_errors = require("@hexclave/shared/dist/utils/errors");
4
-
5
3
  //#region src/utils/url.ts
6
4
  function constructRedirectUrl(redirectUrl, callbackUrlName) {
7
5
  if (typeof window === "undefined" || !window.location) throw new _hexclave_shared_dist_utils_errors.HexclaveAssertionError(`${callbackUrlName} option is required in a non-browser environment.`, { redirectUrl });
@@ -12,7 +10,7 @@ function constructRedirectUrl(redirectUrl, callbackUrlName) {
12
10
  url.hash = "";
13
11
  return url.toString();
14
12
  }
15
-
16
13
  //#endregion
17
14
  exports.constructRedirectUrl = constructRedirectUrl;
15
+
18
16
  //# sourceMappingURL=url.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","names":["HexclaveAssertionError"],"sources":["../../src/utils/url.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 { HexclaveAssertionError } from \"@hexclave/shared/dist/utils/errors\";\n\n\nexport function constructRedirectUrl(redirectUrl: URL | string | undefined, callbackUrlName: string) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (typeof window === 'undefined' || !window.location) {\n throw new HexclaveAssertionError(`${callbackUrlName} option is required in a non-browser environment.`, { redirectUrl });\n }\n\n const retainedQueryParams = [\"after_auth_return_to\"];\n const currentUrl = new URL(window.location.href);\n const url = redirectUrl ? new URL(redirectUrl, window.location.href) : new URL(window.location.href);\n for (const param of retainedQueryParams) {\n if (currentUrl.searchParams.has(param)) {\n url.searchParams.set(param, currentUrl.searchParams.get(param)!);\n }\n }\n url.hash = \"\";\n return url.toString();\n}\n"],"mappings":";;;;;AAOA,SAAgB,qBAAqB,aAAuC,iBAAyB;AAEnG,KAAI,OAAO,WAAW,eAAe,CAAC,OAAO,SAC3C,OAAM,IAAIA,0DAAuB,GAAG,gBAAgB,oDAAoD,EAAE,aAAa,CAAC;CAG1H,MAAM,sBAAsB,CAAC,uBAAuB;CACpD,MAAM,aAAa,IAAI,IAAI,OAAO,SAAS,KAAK;CAChD,MAAM,MAAM,cAAc,IAAI,IAAI,aAAa,OAAO,SAAS,KAAK,GAAG,IAAI,IAAI,OAAO,SAAS,KAAK;AACpG,MAAK,MAAM,SAAS,oBAClB,KAAI,WAAW,aAAa,IAAI,MAAM,CACpC,KAAI,aAAa,IAAI,OAAO,WAAW,aAAa,IAAI,MAAM,CAAE;AAGpE,KAAI,OAAO;AACX,QAAO,IAAI,UAAU"}
1
+ {"version":3,"file":"url.js","names":["HexclaveAssertionError"],"sources":["../../src/utils/url.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 { HexclaveAssertionError } from \"@hexclave/shared/dist/utils/errors\";\n\n\nexport function constructRedirectUrl(redirectUrl: URL | string | undefined, callbackUrlName: string) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (typeof window === 'undefined' || !window.location) {\n throw new HexclaveAssertionError(`${callbackUrlName} option is required in a non-browser environment.`, { redirectUrl });\n }\n\n const retainedQueryParams = [\"after_auth_return_to\"];\n const currentUrl = new URL(window.location.href);\n const url = redirectUrl ? new URL(redirectUrl, window.location.href) : new URL(window.location.href);\n for (const param of retainedQueryParams) {\n if (currentUrl.searchParams.has(param)) {\n url.searchParams.set(param, currentUrl.searchParams.get(param)!);\n }\n }\n url.hash = \"\";\n return url.toString();\n}\n"],"mappings":";;;AAOA,SAAgB,qBAAqB,aAAuC,iBAAyB;CAEnG,IAAI,OAAO,WAAW,eAAe,CAAC,OAAO,UAC3C,MAAM,IAAIA,mCAAAA,uBAAuB,GAAG,gBAAgB,oDAAoD,EAAE,YAAY,CAAC;CAGzH,MAAM,sBAAsB,CAAC,sBAAsB;CACnD,MAAM,aAAa,IAAI,IAAI,OAAO,SAAS,IAAI;CAC/C,MAAM,MAAM,cAAc,IAAI,IAAI,aAAa,OAAO,SAAS,IAAI,IAAI,IAAI,IAAI,OAAO,SAAS,IAAI;CACnG,KAAK,MAAM,SAAS,qBAClB,IAAI,WAAW,aAAa,IAAI,KAAK,GACnC,IAAI,aAAa,IAAI,OAAO,WAAW,aAAa,IAAI,KAAK,CAAE;CAGnE,IAAI,OAAO;CACX,OAAO,IAAI,SAAS;AACtB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "//": "THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template (FOR package.json FILES, PLEASE EDIT package-template.json)",
3
3
  "name": "@hexclave/js",
4
- "version": "1.0.40",
4
+ "version": "1.0.42",
5
5
  "repository": "https://github.com/hexclave/hexclave",
6
6
  "sideEffects": false,
7
7
  "main": "./dist/index.js",
@@ -65,7 +65,7 @@
65
65
  "qrcode": "^1.5.4",
66
66
  "rrweb": "^1.1.3",
67
67
  "yup": "^1.7.1",
68
- "@hexclave/shared": "1.0.40"
68
+ "@hexclave/shared": "1.0.42"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@quetzallabs/i18n": "^0.1.19",
@@ -84,7 +84,7 @@
84
84
  "react": "^19.0.0",
85
85
  "rimraf": "^6.1.2",
86
86
  "tailwindcss": "^3.4.4",
87
- "tsdown": "^0.20.3",
87
+ "tsdown": "^0.22.3",
88
88
  "tsx": "^4.21.0",
89
89
  "convex": "^1.27.0"
90
90
  },
@@ -95,7 +95,7 @@
95
95
  "codegen": "pnpm run env",
96
96
  "codegen:watch": "concurrently -n \"env\" -k \"pnpm run env:watch\"",
97
97
  "build": "rimraf dist && pnpm run codegen && tsdown",
98
- "dev": "concurrently -n \"build,codegen\" -k \"tsdown --watch\" \"pnpm run codegen:watch\"",
98
+ "dev": "pnpm run codegen:watch",
99
99
  "env": "tsx ./scripts/generate-env.ts",
100
100
  "env:watch": "chokidar --silent './scripts/generate-env.ts' -c 'pnpm run env' --throttle 2000"
101
101
  }