@hexclave/shared 1.0.0

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 (1144) hide show
  1. package/LICENSE +7 -0
  2. package/dist/ai/image-limits.d.ts +24 -0
  3. package/dist/ai/image-limits.d.ts.map +1 -0
  4. package/dist/ai/image-limits.js +61 -0
  5. package/dist/ai/image-limits.js.map +1 -0
  6. package/dist/ai/unified-prompts/reminders.d.ts +5 -0
  7. package/dist/ai/unified-prompts/reminders.d.ts.map +1 -0
  8. package/dist/ai/unified-prompts/reminders.js +33 -0
  9. package/dist/ai/unified-prompts/reminders.js.map +1 -0
  10. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts +11 -0
  11. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -0
  12. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +851 -0
  13. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -0
  14. package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.d.ts +5 -0
  15. package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.d.ts.map +1 -0
  16. package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.js +12 -0
  17. package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.js.map +1 -0
  18. package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.d.ts +5 -0
  19. package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.d.ts.map +1 -0
  20. package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.js +12 -0
  21. package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.js.map +1 -0
  22. package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.d.ts +5 -0
  23. package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.d.ts.map +1 -0
  24. package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.js +12 -0
  25. package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.js.map +1 -0
  26. package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.d.ts +5 -0
  27. package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.d.ts.map +1 -0
  28. package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js +12 -0
  29. package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js.map +1 -0
  30. package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.d.ts +5 -0
  31. package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.d.ts.map +1 -0
  32. package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js +12 -0
  33. package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js.map +1 -0
  34. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts +5 -0
  35. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts.map +1 -0
  36. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.js +64 -0
  37. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.js.map +1 -0
  38. package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.d.ts +5 -0
  39. package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.d.ts.map +1 -0
  40. package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js +12 -0
  41. package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js.map +1 -0
  42. package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.d.ts +5 -0
  43. package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.d.ts.map +1 -0
  44. package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js +12 -0
  45. package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js.map +1 -0
  46. package/dist/ai/unified-prompts/skill-site-prompt.d.ts +5 -0
  47. package/dist/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -0
  48. package/dist/ai/unified-prompts/skill-site-prompt.js +75 -0
  49. package/dist/ai/unified-prompts/skill-site-prompt.js.map +1 -0
  50. package/dist/apps/apps-config.d.ts +168 -0
  51. package/dist/apps/apps-config.d.ts.map +1 -0
  52. package/dist/apps/apps-config.js +157 -0
  53. package/dist/apps/apps-config.js.map +1 -0
  54. package/dist/apps/apps-ui.d.ts +45 -0
  55. package/dist/apps/apps-ui.d.ts.map +1 -0
  56. package/dist/apps/apps-ui.js +109 -0
  57. package/dist/apps/apps-ui.js.map +1 -0
  58. package/dist/chunk-BE-pF4vm.js +34 -0
  59. package/dist/config/db-sync-mappings.d.ts +193 -0
  60. package/dist/config/db-sync-mappings.d.ts.map +1 -0
  61. package/dist/config/db-sync-mappings.js +2255 -0
  62. package/dist/config/db-sync-mappings.js.map +1 -0
  63. package/dist/config/format.d.ts +61 -0
  64. package/dist/config/format.d.ts.map +1 -0
  65. package/dist/config/format.js +337 -0
  66. package/dist/config/format.js.map +1 -0
  67. package/dist/config/migrate-catalogs-to-product-lines.d.ts +14 -0
  68. package/dist/config/migrate-catalogs-to-product-lines.d.ts.map +1 -0
  69. package/dist/config/migrate-catalogs-to-product-lines.js +379 -0
  70. package/dist/config/migrate-catalogs-to-product-lines.js.map +1 -0
  71. package/dist/config/schema-fuzzer.test.d.ts +1 -0
  72. package/dist/config/schema-fuzzer.test.js +401 -0
  73. package/dist/config/schema-fuzzer.test.js.map +1 -0
  74. package/dist/config/schema.d.ts +2315 -0
  75. package/dist/config/schema.d.ts.map +1 -0
  76. package/dist/config/schema.js +1085 -0
  77. package/dist/config/schema.js.map +1 -0
  78. package/dist/config-authoring.d.ts +12 -0
  79. package/dist/config-authoring.d.ts.map +1 -0
  80. package/dist/config-authoring.js +12 -0
  81. package/dist/config-authoring.js.map +1 -0
  82. package/dist/config-authoring.test.d.ts +1 -0
  83. package/dist/config-authoring.test.js +29 -0
  84. package/dist/config-authoring.test.js.map +1 -0
  85. package/dist/config-rendering.d.ts +17 -0
  86. package/dist/config-rendering.d.ts.map +1 -0
  87. package/dist/config-rendering.js +114 -0
  88. package/dist/config-rendering.js.map +1 -0
  89. package/dist/crud.d.ts +98 -0
  90. package/dist/crud.d.ts.map +1 -0
  91. package/dist/crud.js +129 -0
  92. package/dist/crud.js.map +1 -0
  93. package/dist/esm/ai/image-limits.d.ts +24 -0
  94. package/dist/esm/ai/image-limits.d.ts.map +1 -0
  95. package/dist/esm/ai/image-limits.js +53 -0
  96. package/dist/esm/ai/image-limits.js.map +1 -0
  97. package/dist/esm/ai/unified-prompts/reminders.d.ts +5 -0
  98. package/dist/esm/ai/unified-prompts/reminders.d.ts.map +1 -0
  99. package/dist/esm/ai/unified-prompts/reminders.js +31 -0
  100. package/dist/esm/ai/unified-prompts/reminders.js.map +1 -0
  101. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts +11 -0
  102. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -0
  103. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +843 -0
  104. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -0
  105. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.d.ts +5 -0
  106. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.d.ts.map +1 -0
  107. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.js +10 -0
  108. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.js.map +1 -0
  109. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.d.ts +5 -0
  110. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.d.ts.map +1 -0
  111. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.js +10 -0
  112. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.js.map +1 -0
  113. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.d.ts +5 -0
  114. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.d.ts.map +1 -0
  115. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.js +10 -0
  116. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.js.map +1 -0
  117. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.d.ts +5 -0
  118. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.d.ts.map +1 -0
  119. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js +10 -0
  120. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js.map +1 -0
  121. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.d.ts +5 -0
  122. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.d.ts.map +1 -0
  123. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js +10 -0
  124. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js.map +1 -0
  125. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts +5 -0
  126. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts.map +1 -0
  127. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.js +61 -0
  128. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.js.map +1 -0
  129. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.d.ts +5 -0
  130. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.d.ts.map +1 -0
  131. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js +10 -0
  132. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js.map +1 -0
  133. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.d.ts +5 -0
  134. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.d.ts.map +1 -0
  135. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js +10 -0
  136. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js.map +1 -0
  137. package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts +5 -0
  138. package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -0
  139. package/dist/esm/ai/unified-prompts/skill-site-prompt.js +73 -0
  140. package/dist/esm/ai/unified-prompts/skill-site-prompt.js.map +1 -0
  141. package/dist/esm/apps/apps-config.d.ts +168 -0
  142. package/dist/esm/apps/apps-config.d.ts.map +1 -0
  143. package/dist/esm/apps/apps-config.js +154 -0
  144. package/dist/esm/apps/apps-config.js.map +1 -0
  145. package/dist/esm/apps/apps-ui.d.ts +45 -0
  146. package/dist/esm/apps/apps-ui.d.ts.map +1 -0
  147. package/dist/esm/apps/apps-ui.js +104 -0
  148. package/dist/esm/apps/apps-ui.js.map +1 -0
  149. package/dist/esm/config/db-sync-mappings.d.ts +193 -0
  150. package/dist/esm/config/db-sync-mappings.d.ts.map +1 -0
  151. package/dist/esm/config/db-sync-mappings.js +2253 -0
  152. package/dist/esm/config/db-sync-mappings.js.map +1 -0
  153. package/dist/esm/config/format.d.ts +61 -0
  154. package/dist/esm/config/format.d.ts.map +1 -0
  155. package/dist/esm/config/format.js +327 -0
  156. package/dist/esm/config/format.js.map +1 -0
  157. package/dist/esm/config/migrate-catalogs-to-product-lines.d.ts +14 -0
  158. package/dist/esm/config/migrate-catalogs-to-product-lines.d.ts.map +1 -0
  159. package/dist/esm/config/migrate-catalogs-to-product-lines.js +377 -0
  160. package/dist/esm/config/migrate-catalogs-to-product-lines.js.map +1 -0
  161. package/dist/esm/config/schema-fuzzer.test.d.ts +1 -0
  162. package/dist/esm/config/schema-fuzzer.test.js +401 -0
  163. package/dist/esm/config/schema-fuzzer.test.js.map +1 -0
  164. package/dist/esm/config/schema.d.ts +2315 -0
  165. package/dist/esm/config/schema.d.ts.map +1 -0
  166. package/dist/esm/config/schema.js +1065 -0
  167. package/dist/esm/config/schema.js.map +1 -0
  168. package/dist/esm/config-authoring.d.ts +12 -0
  169. package/dist/esm/config-authoring.d.ts.map +1 -0
  170. package/dist/esm/config-authoring.js +9 -0
  171. package/dist/esm/config-authoring.js.map +1 -0
  172. package/dist/esm/config-authoring.test.d.ts +1 -0
  173. package/dist/esm/config-authoring.test.js +29 -0
  174. package/dist/esm/config-authoring.test.js.map +1 -0
  175. package/dist/esm/config-rendering.d.ts +17 -0
  176. package/dist/esm/config-rendering.d.ts.map +1 -0
  177. package/dist/esm/config-rendering.js +108 -0
  178. package/dist/esm/config-rendering.js.map +1 -0
  179. package/dist/esm/crud.d.ts +98 -0
  180. package/dist/esm/crud.d.ts.map +1 -0
  181. package/dist/esm/crud.js +127 -0
  182. package/dist/esm/crud.js.map +1 -0
  183. package/dist/esm/global.d.ts +1 -0
  184. package/dist/esm/helpers/emails.d.ts +69 -0
  185. package/dist/esm/helpers/emails.d.ts.map +1 -0
  186. package/dist/esm/helpers/emails.js +243 -0
  187. package/dist/esm/helpers/emails.js.map +1 -0
  188. package/dist/esm/helpers/init-prompt.d.ts +5 -0
  189. package/dist/esm/helpers/init-prompt.d.ts.map +1 -0
  190. package/dist/esm/helpers/init-prompt.js +40 -0
  191. package/dist/esm/helpers/init-prompt.js.map +1 -0
  192. package/dist/esm/helpers/password.d.ts +7 -0
  193. package/dist/esm/helpers/password.d.ts.map +1 -0
  194. package/dist/esm/helpers/password.js +13 -0
  195. package/dist/esm/helpers/password.js.map +1 -0
  196. package/dist/esm/helpers/production-mode.d.ts +11 -0
  197. package/dist/esm/helpers/production-mode.d.ts.map +1 -0
  198. package/dist/esm/helpers/production-mode.js +46 -0
  199. package/dist/esm/helpers/production-mode.js.map +1 -0
  200. package/dist/esm/helpers/support-sla.d.ts +48 -0
  201. package/dist/esm/helpers/support-sla.d.ts.map +1 -0
  202. package/dist/esm/helpers/support-sla.js +65 -0
  203. package/dist/esm/helpers/support-sla.js.map +1 -0
  204. package/dist/esm/helpers/support-sla.test.d.ts +1 -0
  205. package/dist/esm/helpers/support-sla.test.js +102 -0
  206. package/dist/esm/helpers/support-sla.test.js.map +1 -0
  207. package/dist/esm/helpers/vault/client-side.d.ts +16 -0
  208. package/dist/esm/helpers/vault/client-side.d.ts.map +1 -0
  209. package/dist/esm/helpers/vault/client-side.js +69 -0
  210. package/dist/esm/helpers/vault/client-side.js.map +1 -0
  211. package/dist/esm/helpers/vault/server-side.d.ts +9 -0
  212. package/dist/esm/helpers/vault/server-side.d.ts.map +1 -0
  213. package/dist/esm/helpers/vault/server-side.js +123 -0
  214. package/dist/esm/helpers/vault/server-side.js.map +1 -0
  215. package/dist/esm/hooks/use-async-callback.d.ts +8 -0
  216. package/dist/esm/hooks/use-async-callback.d.ts.map +1 -0
  217. package/dist/esm/hooks/use-async-callback.js +38 -0
  218. package/dist/esm/hooks/use-async-callback.js.map +1 -0
  219. package/dist/esm/hooks/use-async-external-store.d.ts +9 -0
  220. package/dist/esm/hooks/use-async-external-store.d.ts.map +1 -0
  221. package/dist/esm/hooks/use-async-external-store.js +20 -0
  222. package/dist/esm/hooks/use-async-external-store.js.map +1 -0
  223. package/dist/esm/hooks/use-hash.d.ts +5 -0
  224. package/dist/esm/hooks/use-hash.d.ts.map +1 -0
  225. package/dist/esm/hooks/use-hash.js +15 -0
  226. package/dist/esm/hooks/use-hash.js.map +1 -0
  227. package/dist/esm/hooks/use-hover.d.ts +8 -0
  228. package/dist/esm/hooks/use-hover.d.ts.map +1 -0
  229. package/dist/esm/hooks/use-hover.js +59 -0
  230. package/dist/esm/hooks/use-hover.js.map +1 -0
  231. package/dist/esm/hooks/use-strict-memo.d.ts +10 -0
  232. package/dist/esm/hooks/use-strict-memo.d.ts.map +1 -0
  233. package/dist/esm/hooks/use-strict-memo.js +119 -0
  234. package/dist/esm/hooks/use-strict-memo.js.map +1 -0
  235. package/dist/esm/index.d.ts +5 -0
  236. package/dist/esm/index.js +6 -0
  237. package/dist/esm/interface/admin-interface.d.ts +308 -0
  238. package/dist/esm/interface/admin-interface.d.ts.map +1 -0
  239. package/dist/esm/interface/admin-interface.js +463 -0
  240. package/dist/esm/interface/admin-interface.js.map +1 -0
  241. package/dist/esm/interface/admin-metrics.d.ts +597 -0
  242. package/dist/esm/interface/admin-metrics.d.ts.map +1 -0
  243. package/dist/esm/interface/admin-metrics.js +134 -0
  244. package/dist/esm/interface/admin-metrics.js.map +1 -0
  245. package/dist/esm/interface/client-interface.d.ts +447 -0
  246. package/dist/esm/interface/client-interface.d.ts.map +1 -0
  247. package/dist/esm/interface/client-interface.js +1946 -0
  248. package/dist/esm/interface/client-interface.js.map +1 -0
  249. package/dist/esm/interface/client-interface.test.d.ts +1 -0
  250. package/dist/esm/interface/client-interface.test.js +559 -0
  251. package/dist/esm/interface/client-interface.test.js.map +1 -0
  252. package/dist/esm/interface/conversations.d.ts +314 -0
  253. package/dist/esm/interface/conversations.d.ts.map +1 -0
  254. package/dist/esm/interface/conversations.js +108 -0
  255. package/dist/esm/interface/conversations.js.map +1 -0
  256. package/dist/esm/interface/crud/analytics.d.ts +14 -0
  257. package/dist/esm/interface/crud/analytics.d.ts.map +1 -0
  258. package/dist/esm/interface/crud/analytics.js +1 -0
  259. package/dist/esm/interface/crud/connected-accounts.d.ts +69 -0
  260. package/dist/esm/interface/crud/connected-accounts.d.ts.map +1 -0
  261. package/dist/esm/interface/crud/connected-accounts.js +35 -0
  262. package/dist/esm/interface/crud/connected-accounts.js.map +1 -0
  263. package/dist/esm/interface/crud/contact-channels.d.ts +182 -0
  264. package/dist/esm/interface/crud/contact-channels.d.ts.map +1 -0
  265. package/dist/esm/interface/crud/contact-channels.js +68 -0
  266. package/dist/esm/interface/crud/contact-channels.js.map +1 -0
  267. package/dist/esm/interface/crud/current-user.d.ts +286 -0
  268. package/dist/esm/interface/crud/current-user.d.ts.map +1 -0
  269. package/dist/esm/interface/crud/current-user.js +69 -0
  270. package/dist/esm/interface/crud/current-user.js.map +1 -0
  271. package/dist/esm/interface/crud/email-outbox.d.ts +1466 -0
  272. package/dist/esm/interface/crud/email-outbox.d.ts.map +1 -0
  273. package/dist/esm/interface/crud/email-outbox.js +190 -0
  274. package/dist/esm/interface/crud/email-outbox.js.map +1 -0
  275. package/dist/esm/interface/crud/email-templates.d.ts +86 -0
  276. package/dist/esm/interface/crud/email-templates.d.ts.map +1 -0
  277. package/dist/esm/interface/crud/email-templates.js +46 -0
  278. package/dist/esm/interface/crud/email-templates.js.map +1 -0
  279. package/dist/esm/interface/crud/emails.d.ts +42 -0
  280. package/dist/esm/interface/crud/emails.d.ts.map +1 -0
  281. package/dist/esm/interface/crud/emails.js +19 -0
  282. package/dist/esm/interface/crud/emails.js.map +1 -0
  283. package/dist/esm/interface/crud/internal-api-keys.d.ts +141 -0
  284. package/dist/esm/interface/crud/internal-api-keys.d.ts.map +1 -0
  285. package/dist/esm/interface/crud/internal-api-keys.js +49 -0
  286. package/dist/esm/interface/crud/internal-api-keys.js.map +1 -0
  287. package/dist/esm/interface/crud/invoices.d.ts +43 -0
  288. package/dist/esm/interface/crud/invoices.d.ts.map +1 -0
  289. package/dist/esm/interface/crud/invoices.js +25 -0
  290. package/dist/esm/interface/crud/invoices.js.map +1 -0
  291. package/dist/esm/interface/crud/items.d.ts +31 -0
  292. package/dist/esm/interface/crud/items.d.ts.map +1 -0
  293. package/dist/esm/interface/crud/items.js +23 -0
  294. package/dist/esm/interface/crud/items.js.map +1 -0
  295. package/dist/esm/interface/crud/notification-preferences.d.ts +39 -0
  296. package/dist/esm/interface/crud/notification-preferences.d.ts.map +1 -0
  297. package/dist/esm/interface/crud/notification-preferences.js +31 -0
  298. package/dist/esm/interface/crud/notification-preferences.js.map +1 -0
  299. package/dist/esm/interface/crud/oauth-providers.d.ts +187 -0
  300. package/dist/esm/interface/crud/oauth-providers.d.ts.map +1 -0
  301. package/dist/esm/interface/crud/oauth-providers.js +75 -0
  302. package/dist/esm/interface/crud/oauth-providers.js.map +1 -0
  303. package/dist/esm/interface/crud/products.d.ts +182 -0
  304. package/dist/esm/interface/crud/products.d.ts.map +1 -0
  305. package/dist/esm/interface/crud/products.js +29 -0
  306. package/dist/esm/interface/crud/products.js.map +1 -0
  307. package/dist/esm/interface/crud/project-api-keys.d.ts +204 -0
  308. package/dist/esm/interface/crud/project-api-keys.d.ts.map +1 -0
  309. package/dist/esm/interface/crud/project-api-keys.js +72 -0
  310. package/dist/esm/interface/crud/project-api-keys.js.map +1 -0
  311. package/dist/esm/interface/crud/project-permissions.d.ts +162 -0
  312. package/dist/esm/interface/crud/project-permissions.d.ts.map +1 -0
  313. package/dist/esm/interface/crud/project-permissions.js +104 -0
  314. package/dist/esm/interface/crud/project-permissions.js.map +1 -0
  315. package/dist/esm/interface/crud/projects.d.ts +852 -0
  316. package/dist/esm/interface/crud/projects.d.ts.map +1 -0
  317. package/dist/esm/interface/crud/projects.js +193 -0
  318. package/dist/esm/interface/crud/projects.js.map +1 -0
  319. package/dist/esm/interface/crud/session-replays.d.ts +83 -0
  320. package/dist/esm/interface/crud/session-replays.d.ts.map +1 -0
  321. package/dist/esm/interface/crud/session-replays.js +1 -0
  322. package/dist/esm/interface/crud/sessions.d.ts +151 -0
  323. package/dist/esm/interface/crud/sessions.d.ts.map +1 -0
  324. package/dist/esm/interface/crud/sessions.js +56 -0
  325. package/dist/esm/interface/crud/sessions.js.map +1 -0
  326. package/dist/esm/interface/crud/sign-up-rules.d.ts +15 -0
  327. package/dist/esm/interface/crud/sign-up-rules.d.ts.map +1 -0
  328. package/dist/esm/interface/crud/sign-up-rules.js +1 -0
  329. package/dist/esm/interface/crud/svix-token.d.ts +32 -0
  330. package/dist/esm/interface/crud/svix-token.d.ts.map +1 -0
  331. package/dist/esm/interface/crud/svix-token.js +18 -0
  332. package/dist/esm/interface/crud/svix-token.js.map +1 -0
  333. package/dist/esm/interface/crud/team-invitation-details.d.ts +32 -0
  334. package/dist/esm/interface/crud/team-invitation-details.d.ts.map +1 -0
  335. package/dist/esm/interface/crud/team-invitation-details.js +21 -0
  336. package/dist/esm/interface/crud/team-invitation-details.js.map +1 -0
  337. package/dist/esm/interface/crud/team-invitation.d.ts +55 -0
  338. package/dist/esm/interface/crud/team-invitation.d.ts.map +1 -0
  339. package/dist/esm/interface/crud/team-invitation.js +37 -0
  340. package/dist/esm/interface/crud/team-invitation.js.map +1 -0
  341. package/dist/esm/interface/crud/team-member-profiles.d.ts +287 -0
  342. package/dist/esm/interface/crud/team-member-profiles.d.ts.map +1 -0
  343. package/dist/esm/interface/crud/team-member-profiles.js +58 -0
  344. package/dist/esm/interface/crud/team-member-profiles.js.map +1 -0
  345. package/dist/esm/interface/crud/team-memberships.d.ts +76 -0
  346. package/dist/esm/interface/crud/team-memberships.d.ts.map +1 -0
  347. package/dist/esm/interface/crud/team-memberships.js +54 -0
  348. package/dist/esm/interface/crud/team-memberships.js.map +1 -0
  349. package/dist/esm/interface/crud/team-permissions.d.ts +170 -0
  350. package/dist/esm/interface/crud/team-permissions.d.ts.map +1 -0
  351. package/dist/esm/interface/crud/team-permissions.js +105 -0
  352. package/dist/esm/interface/crud/team-permissions.js.map +1 -0
  353. package/dist/esm/interface/crud/teams.d.ts +300 -0
  354. package/dist/esm/interface/crud/teams.d.ts.map +1 -0
  355. package/dist/esm/interface/crud/teams.js +129 -0
  356. package/dist/esm/interface/crud/teams.js.map +1 -0
  357. package/dist/esm/interface/crud/transactions.d.ts +183 -0
  358. package/dist/esm/interface/crud/transactions.d.ts.map +1 -0
  359. package/dist/esm/interface/crud/transactions.js +85 -0
  360. package/dist/esm/interface/crud/transactions.js.map +1 -0
  361. package/dist/esm/interface/crud/users.d.ts +654 -0
  362. package/dist/esm/interface/crud/users.d.ts.map +1 -0
  363. package/dist/esm/interface/crud/users.js +181 -0
  364. package/dist/esm/interface/crud/users.js.map +1 -0
  365. package/dist/esm/interface/handler-urls.d.ts +51 -0
  366. package/dist/esm/interface/handler-urls.d.ts.map +1 -0
  367. package/dist/esm/interface/handler-urls.js +3 -0
  368. package/dist/esm/interface/page-component-versions.d.ts +25 -0
  369. package/dist/esm/interface/page-component-versions.d.ts.map +1 -0
  370. package/dist/esm/interface/page-component-versions.js +1661 -0
  371. package/dist/esm/interface/page-component-versions.js.map +1 -0
  372. package/dist/esm/interface/server-interface.d.ts +255 -0
  373. package/dist/esm/interface/server-interface.d.ts.map +1 -0
  374. package/dist/esm/interface/server-interface.js +459 -0
  375. package/dist/esm/interface/server-interface.js.map +1 -0
  376. package/dist/esm/interface/webhooks.d.ts +326 -0
  377. package/dist/esm/interface/webhooks.d.ts.map +1 -0
  378. package/dist/esm/interface/webhooks.js +22 -0
  379. package/dist/esm/interface/webhooks.js.map +1 -0
  380. package/dist/esm/known-errors.d.ts +575 -0
  381. package/dist/esm/known-errors.d.ts.map +1 -0
  382. package/dist/esm/known-errors.js +791 -0
  383. package/dist/esm/known-errors.js.map +1 -0
  384. package/dist/esm/local-emulator.d.ts +6 -0
  385. package/dist/esm/local-emulator.d.ts.map +1 -0
  386. package/dist/esm/local-emulator.js +7 -0
  387. package/dist/esm/local-emulator.js.map +1 -0
  388. package/dist/esm/payments/payment-methods.d.ts +64 -0
  389. package/dist/esm/payments/payment-methods.d.ts.map +1 -0
  390. package/dist/esm/payments/payment-methods.js +205 -0
  391. package/dist/esm/payments/payment-methods.js.map +1 -0
  392. package/dist/esm/payments/stripe-limits.d.ts +17 -0
  393. package/dist/esm/payments/stripe-limits.d.ts.map +1 -0
  394. package/dist/esm/payments/stripe-limits.js +17 -0
  395. package/dist/esm/payments/stripe-limits.js.map +1 -0
  396. package/dist/esm/plans.d.ts +72 -0
  397. package/dist/esm/plans.d.ts.map +1 -0
  398. package/dist/esm/plans.js +81 -0
  399. package/dist/esm/plans.js.map +1 -0
  400. package/dist/esm/schema-fields.d.ts +472 -0
  401. package/dist/esm/schema-fields.d.ts.map +1 -0
  402. package/dist/esm/schema-fields.js +1009 -0
  403. package/dist/esm/schema-fields.js.map +1 -0
  404. package/dist/esm/sessions.d.ts +165 -0
  405. package/dist/esm/sessions.d.ts.map +1 -0
  406. package/dist/esm/sessions.js +226 -0
  407. package/dist/esm/sessions.js.map +1 -0
  408. package/dist/esm/stack-config-file.d.ts +15 -0
  409. package/dist/esm/stack-config-file.d.ts.map +1 -0
  410. package/dist/esm/stack-config-file.js +76 -0
  411. package/dist/esm/stack-config-file.js.map +1 -0
  412. package/dist/esm/utils/api-keys.d.ts +26 -0
  413. package/dist/esm/utils/api-keys.d.ts.map +1 -0
  414. package/dist/esm/utils/api-keys.js +77 -0
  415. package/dist/esm/utils/api-keys.js.map +1 -0
  416. package/dist/esm/utils/arrays.d.ts +25 -0
  417. package/dist/esm/utils/arrays.d.ts.map +1 -0
  418. package/dist/esm/utils/arrays.js +552 -0
  419. package/dist/esm/utils/arrays.js.map +1 -0
  420. package/dist/esm/utils/auth-methods.d.ts +6 -0
  421. package/dist/esm/utils/auth-methods.d.ts.map +1 -0
  422. package/dist/esm/utils/auth-methods.js +11 -0
  423. package/dist/esm/utils/auth-methods.js.map +1 -0
  424. package/dist/esm/utils/base64.d.ts +6 -0
  425. package/dist/esm/utils/base64.d.ts.map +1 -0
  426. package/dist/esm/utils/base64.js +25 -0
  427. package/dist/esm/utils/base64.js.map +1 -0
  428. package/dist/esm/utils/booleans.d.ts +8 -0
  429. package/dist/esm/utils/booleans.d.ts.map +1 -0
  430. package/dist/esm/utils/booleans.js +35 -0
  431. package/dist/esm/utils/booleans.js.map +1 -0
  432. package/dist/esm/utils/browser-compat.d.ts +10 -0
  433. package/dist/esm/utils/browser-compat.d.ts.map +1 -0
  434. package/dist/esm/utils/browser-compat.js +21 -0
  435. package/dist/esm/utils/browser-compat.js.map +1 -0
  436. package/dist/esm/utils/bytes.d.ts +17 -0
  437. package/dist/esm/utils/bytes.d.ts.map +1 -0
  438. package/dist/esm/utils/bytes.js +290 -0
  439. package/dist/esm/utils/bytes.js.map +1 -0
  440. package/dist/esm/utils/caches.d.ts +102 -0
  441. package/dist/esm/utils/caches.d.ts.map +1 -0
  442. package/dist/esm/utils/caches.js +185 -0
  443. package/dist/esm/utils/caches.js.map +1 -0
  444. package/dist/esm/utils/cel-fields.d.ts +23 -0
  445. package/dist/esm/utils/cel-fields.d.ts.map +1 -0
  446. package/dist/esm/utils/cel-fields.js +99 -0
  447. package/dist/esm/utils/cel-fields.js.map +1 -0
  448. package/dist/esm/utils/compile-time.d.ts +10 -0
  449. package/dist/esm/utils/compile-time.d.ts.map +1 -0
  450. package/dist/esm/utils/compile-time.js +14 -0
  451. package/dist/esm/utils/compile-time.js.map +1 -0
  452. package/dist/esm/utils/country-codes.d.ts +11 -0
  453. package/dist/esm/utils/country-codes.d.ts.map +1 -0
  454. package/dist/esm/utils/country-codes.js +36 -0
  455. package/dist/esm/utils/country-codes.js.map +1 -0
  456. package/dist/esm/utils/crypto.d.ts +48 -0
  457. package/dist/esm/utils/crypto.d.ts.map +1 -0
  458. package/dist/esm/utils/crypto.js +208 -0
  459. package/dist/esm/utils/crypto.js.map +1 -0
  460. package/dist/esm/utils/currencies.d.ts +8 -0
  461. package/dist/esm/utils/currencies.d.ts.map +1 -0
  462. package/dist/esm/utils/currencies.js +50 -0
  463. package/dist/esm/utils/currencies.js.map +1 -0
  464. package/dist/esm/utils/currency-constants.d.ts +39 -0
  465. package/dist/esm/utils/currency-constants.d.ts.map +1 -0
  466. package/dist/esm/utils/currency-constants.js +42 -0
  467. package/dist/esm/utils/currency-constants.js.map +1 -0
  468. package/dist/esm/utils/dates.d.ts +23 -0
  469. package/dist/esm/utils/dates.d.ts.map +1 -0
  470. package/dist/esm/utils/dates.js +167 -0
  471. package/dist/esm/utils/dates.js.map +1 -0
  472. package/dist/esm/utils/dev-env-state-path.d.ts +6 -0
  473. package/dist/esm/utils/dev-env-state-path.d.ts.map +1 -0
  474. package/dist/esm/utils/dev-env-state-path.js +15 -0
  475. package/dist/esm/utils/dev-env-state-path.js.map +1 -0
  476. package/dist/esm/utils/dom.d.ts +5 -0
  477. package/dist/esm/utils/dom.d.ts.map +1 -0
  478. package/dist/esm/utils/dom.js +11 -0
  479. package/dist/esm/utils/dom.js.map +1 -0
  480. package/dist/esm/utils/env.d.ts +25 -0
  481. package/dist/esm/utils/env.d.ts.map +1 -0
  482. package/dist/esm/utils/env.js +78 -0
  483. package/dist/esm/utils/env.js.map +1 -0
  484. package/dist/esm/utils/errors.d.ts +231 -0
  485. package/dist/esm/utils/errors.d.ts.map +1 -0
  486. package/dist/esm/utils/errors.js +385 -0
  487. package/dist/esm/utils/errors.js.map +1 -0
  488. package/dist/esm/utils/esbuild.d.ts +16 -0
  489. package/dist/esm/utils/esbuild.d.ts.map +1 -0
  490. package/dist/esm/utils/esbuild.js +182 -0
  491. package/dist/esm/utils/esbuild.js.map +1 -0
  492. package/dist/esm/utils/featurebase.d.ts +30 -0
  493. package/dist/esm/utils/featurebase.d.ts.map +1 -0
  494. package/dist/esm/utils/featurebase.js +166 -0
  495. package/dist/esm/utils/featurebase.js.map +1 -0
  496. package/dist/esm/utils/fs.d.ts +9 -0
  497. package/dist/esm/utils/fs.d.ts.map +1 -0
  498. package/dist/esm/utils/fs.js +25 -0
  499. package/dist/esm/utils/fs.js.map +1 -0
  500. package/dist/esm/utils/functions.d.ts +6 -0
  501. package/dist/esm/utils/functions.d.ts.map +1 -0
  502. package/dist/esm/utils/functions.js +34 -0
  503. package/dist/esm/utils/functions.js.map +1 -0
  504. package/dist/esm/utils/geo.d.ts +24 -0
  505. package/dist/esm/utils/geo.d.ts.map +1 -0
  506. package/dist/esm/utils/geo.js +16 -0
  507. package/dist/esm/utils/geo.js.map +1 -0
  508. package/dist/esm/utils/globals.d.ts +13 -0
  509. package/dist/esm/utils/globals.d.ts.map +1 -0
  510. package/dist/esm/utils/globals.js +34 -0
  511. package/dist/esm/utils/globals.js.map +1 -0
  512. package/dist/esm/utils/hashes.d.ts +9 -0
  513. package/dist/esm/utils/hashes.d.ts.map +1 -0
  514. package/dist/esm/utils/hashes.js +40 -0
  515. package/dist/esm/utils/hashes.js.map +1 -0
  516. package/dist/esm/utils/html.d.ts +7 -0
  517. package/dist/esm/utils/html.d.ts.map +1 -0
  518. package/dist/esm/utils/html.js +33 -0
  519. package/dist/esm/utils/html.js.map +1 -0
  520. package/dist/esm/utils/http.d.ts +45 -0
  521. package/dist/esm/utils/http.d.ts.map +1 -0
  522. package/dist/esm/utils/http.js +75 -0
  523. package/dist/esm/utils/http.js.map +1 -0
  524. package/dist/esm/utils/ips.d.ts +8 -0
  525. package/dist/esm/utils/ips.d.ts.map +1 -0
  526. package/dist/esm/utils/ips.js +36 -0
  527. package/dist/esm/utils/ips.js.map +1 -0
  528. package/dist/esm/utils/json.d.ts +15 -0
  529. package/dist/esm/utils/json.d.ts.map +1 -0
  530. package/dist/esm/utils/json.js +178 -0
  531. package/dist/esm/utils/json.js.map +1 -0
  532. package/dist/esm/utils/jsx-editable-transpiler.d.ts +68 -0
  533. package/dist/esm/utils/jsx-editable-transpiler.d.ts.map +1 -0
  534. package/dist/esm/utils/jsx-editable-transpiler.js +216 -0
  535. package/dist/esm/utils/jsx-editable-transpiler.js.map +1 -0
  536. package/dist/esm/utils/jsx-editable-transpiler.test.d.ts +1 -0
  537. package/dist/esm/utils/jsx-editable-transpiler.test.js +122 -0
  538. package/dist/esm/utils/jsx-editable-transpiler.test.js.map +1 -0
  539. package/dist/esm/utils/jwt.d.ts +79 -0
  540. package/dist/esm/utils/jwt.d.ts.map +1 -0
  541. package/dist/esm/utils/jwt.js +102 -0
  542. package/dist/esm/utils/jwt.js.map +1 -0
  543. package/dist/esm/utils/locks.d.ts +17 -0
  544. package/dist/esm/utils/locks.d.ts.map +1 -0
  545. package/dist/esm/utils/locks.js +54 -0
  546. package/dist/esm/utils/locks.js.map +1 -0
  547. package/dist/esm/utils/maps.d.ts +61 -0
  548. package/dist/esm/utils/maps.d.ts.map +1 -0
  549. package/dist/esm/utils/maps.js +297 -0
  550. package/dist/esm/utils/maps.js.map +1 -0
  551. package/dist/esm/utils/math.d.ts +8 -0
  552. package/dist/esm/utils/math.d.ts.map +1 -0
  553. package/dist/esm/utils/math.js +21 -0
  554. package/dist/esm/utils/math.js.map +1 -0
  555. package/dist/esm/utils/monkey-patch.d.ts +7 -0
  556. package/dist/esm/utils/monkey-patch.d.ts.map +1 -0
  557. package/dist/esm/utils/monkey-patch.js +21 -0
  558. package/dist/esm/utils/monkey-patch.js.map +1 -0
  559. package/dist/esm/utils/node-http.d.ts +17 -0
  560. package/dist/esm/utils/node-http.d.ts.map +1 -0
  561. package/dist/esm/utils/node-http.js +38 -0
  562. package/dist/esm/utils/node-http.js.map +1 -0
  563. package/dist/esm/utils/numbers.d.ts +7 -0
  564. package/dist/esm/utils/numbers.d.ts.map +1 -0
  565. package/dist/esm/utils/numbers.js +75 -0
  566. package/dist/esm/utils/numbers.js.map +1 -0
  567. package/dist/esm/utils/oauth.d.ts +11 -0
  568. package/dist/esm/utils/oauth.d.ts.map +1 -0
  569. package/dist/esm/utils/oauth.js +27 -0
  570. package/dist/esm/utils/oauth.js.map +1 -0
  571. package/dist/esm/utils/objects.d.ts +59 -0
  572. package/dist/esm/utils/objects.d.ts.map +1 -0
  573. package/dist/esm/utils/objects.js +818 -0
  574. package/dist/esm/utils/objects.js.map +1 -0
  575. package/dist/esm/utils/paginated-lists.d.ts +442 -0
  576. package/dist/esm/utils/paginated-lists.d.ts.map +1 -0
  577. package/dist/esm/utils/paginated-lists.js +411 -0
  578. package/dist/esm/utils/paginated-lists.js.map +1 -0
  579. package/dist/esm/utils/paginated-lists.test.d.ts +1 -0
  580. package/dist/esm/utils/paginated-lists.test.js +1304 -0
  581. package/dist/esm/utils/paginated-lists.test.js.map +1 -0
  582. package/dist/esm/utils/passkey.d.ts +2 -0
  583. package/dist/esm/utils/passkey.js +1 -0
  584. package/dist/esm/utils/promises.d.ts +80 -0
  585. package/dist/esm/utils/promises.d.ts.map +1 -0
  586. package/dist/esm/utils/promises.js +333 -0
  587. package/dist/esm/utils/promises.js.map +1 -0
  588. package/dist/esm/utils/proxies.d.ts +13 -0
  589. package/dist/esm/utils/proxies.d.ts.map +1 -0
  590. package/dist/esm/utils/proxies.js +197 -0
  591. package/dist/esm/utils/proxies.js.map +1 -0
  592. package/dist/esm/utils/react.d.ts +61 -0
  593. package/dist/esm/utils/react.d.ts.map +1 -0
  594. package/dist/esm/utils/react.js +229 -0
  595. package/dist/esm/utils/react.js.map +1 -0
  596. package/dist/esm/utils/redirect-urls.d.ts +30 -0
  597. package/dist/esm/utils/redirect-urls.d.ts.map +1 -0
  598. package/dist/esm/utils/redirect-urls.js +215 -0
  599. package/dist/esm/utils/redirect-urls.js.map +1 -0
  600. package/dist/esm/utils/regex.d.ts +5 -0
  601. package/dist/esm/utils/regex.d.ts.map +1 -0
  602. package/dist/esm/utils/regex.js +13 -0
  603. package/dist/esm/utils/regex.js.map +1 -0
  604. package/dist/esm/utils/results.d.ts +70 -0
  605. package/dist/esm/utils/results.d.ts.map +1 -0
  606. package/dist/esm/utils/results.js +339 -0
  607. package/dist/esm/utils/results.js.map +1 -0
  608. package/dist/esm/utils/sentry.d.ts +13 -0
  609. package/dist/esm/utils/sentry.d.ts.map +1 -0
  610. package/dist/esm/utils/sentry.js +14 -0
  611. package/dist/esm/utils/sentry.js.map +1 -0
  612. package/dist/esm/utils/stores.d.ts +104 -0
  613. package/dist/esm/utils/stores.d.ts.map +1 -0
  614. package/dist/esm/utils/stores.js +175 -0
  615. package/dist/esm/utils/stores.js.map +1 -0
  616. package/dist/esm/utils/strings.d.ts +76 -0
  617. package/dist/esm/utils/strings.d.ts.map +1 -0
  618. package/dist/esm/utils/strings.js +530 -0
  619. package/dist/esm/utils/strings.js.map +1 -0
  620. package/dist/esm/utils/strings.nicify.test.d.ts +1 -0
  621. package/dist/esm/utils/strings.nicify.test.js +243 -0
  622. package/dist/esm/utils/strings.nicify.test.js.map +1 -0
  623. package/dist/esm/utils/telemetry.d.ts +15 -0
  624. package/dist/esm/utils/telemetry.d.ts.map +1 -0
  625. package/dist/esm/utils/telemetry.js +31 -0
  626. package/dist/esm/utils/telemetry.js.map +1 -0
  627. package/dist/esm/utils/turnstile-browser.d.ts +32 -0
  628. package/dist/esm/utils/turnstile-browser.d.ts.map +1 -0
  629. package/dist/esm/utils/turnstile-browser.js +61 -0
  630. package/dist/esm/utils/turnstile-browser.js.map +1 -0
  631. package/dist/esm/utils/turnstile-flow.d.ts +29 -0
  632. package/dist/esm/utils/turnstile-flow.d.ts.map +1 -0
  633. package/dist/esm/utils/turnstile-flow.js +219 -0
  634. package/dist/esm/utils/turnstile-flow.js.map +1 -0
  635. package/dist/esm/utils/turnstile-flow.test.d.ts +1 -0
  636. package/dist/esm/utils/turnstile-flow.test.js +75 -0
  637. package/dist/esm/utils/turnstile-flow.test.js.map +1 -0
  638. package/dist/esm/utils/turnstile.d.ts +17 -0
  639. package/dist/esm/utils/turnstile.d.ts.map +1 -0
  640. package/dist/esm/utils/turnstile.js +25 -0
  641. package/dist/esm/utils/turnstile.js.map +1 -0
  642. package/dist/esm/utils/typed-arrays.d.ts +14 -0
  643. package/dist/esm/utils/typed-arrays.d.ts.map +1 -0
  644. package/dist/esm/utils/typed-arrays.js +20 -0
  645. package/dist/esm/utils/typed-arrays.js.map +1 -0
  646. package/dist/esm/utils/types.d.ts +77 -0
  647. package/dist/esm/utils/types.d.ts.map +1 -0
  648. package/dist/esm/utils/types.js +55 -0
  649. package/dist/esm/utils/types.js.map +1 -0
  650. package/dist/esm/utils/unicode.d.ts +5 -0
  651. package/dist/esm/utils/unicode.d.ts.map +1 -0
  652. package/dist/esm/utils/unicode.js +24 -0
  653. package/dist/esm/utils/unicode.js.map +1 -0
  654. package/dist/esm/utils/urls.d.ts +28 -0
  655. package/dist/esm/utils/urls.d.ts.map +1 -0
  656. package/dist/esm/utils/urls.js +259 -0
  657. package/dist/esm/utils/urls.js.map +1 -0
  658. package/dist/esm/utils/uuids.d.ts +6 -0
  659. package/dist/esm/utils/uuids.d.ts.map +1 -0
  660. package/dist/esm/utils/uuids.js +36 -0
  661. package/dist/esm/utils/uuids.js.map +1 -0
  662. package/dist/global.d.d.ts +0 -0
  663. package/dist/global.d.ts +1 -0
  664. package/dist/helpers/emails.d.ts +69 -0
  665. package/dist/helpers/emails.d.ts.map +1 -0
  666. package/dist/helpers/emails.js +252 -0
  667. package/dist/helpers/emails.js.map +1 -0
  668. package/dist/helpers/init-prompt.d.ts +5 -0
  669. package/dist/helpers/init-prompt.d.ts.map +1 -0
  670. package/dist/helpers/init-prompt.js +42 -0
  671. package/dist/helpers/init-prompt.js.map +1 -0
  672. package/dist/helpers/password.d.ts +6 -0
  673. package/dist/helpers/password.d.ts.map +1 -0
  674. package/dist/helpers/password.js +15 -0
  675. package/dist/helpers/password.js.map +1 -0
  676. package/dist/helpers/production-mode.d.ts +11 -0
  677. package/dist/helpers/production-mode.d.ts.map +1 -0
  678. package/dist/helpers/production-mode.js +48 -0
  679. package/dist/helpers/production-mode.js.map +1 -0
  680. package/dist/helpers/support-sla.d.ts +48 -0
  681. package/dist/helpers/support-sla.d.ts.map +1 -0
  682. package/dist/helpers/support-sla.js +72 -0
  683. package/dist/helpers/support-sla.js.map +1 -0
  684. package/dist/helpers/support-sla.test.d.ts +1 -0
  685. package/dist/helpers/support-sla.test.js +102 -0
  686. package/dist/helpers/support-sla.test.js.map +1 -0
  687. package/dist/helpers/vault/client-side.d.ts +16 -0
  688. package/dist/helpers/vault/client-side.d.ts.map +1 -0
  689. package/dist/helpers/vault/client-side.js +73 -0
  690. package/dist/helpers/vault/client-side.js.map +1 -0
  691. package/dist/helpers/vault/server-side.d.ts +9 -0
  692. package/dist/helpers/vault/server-side.d.ts.map +1 -0
  693. package/dist/helpers/vault/server-side.js +126 -0
  694. package/dist/helpers/vault/server-side.js.map +1 -0
  695. package/dist/hooks/use-async-callback.d.ts +8 -0
  696. package/dist/hooks/use-async-callback.d.ts.map +1 -0
  697. package/dist/hooks/use-async-callback.js +42 -0
  698. package/dist/hooks/use-async-callback.js.map +1 -0
  699. package/dist/hooks/use-async-external-store.d.ts +9 -0
  700. package/dist/hooks/use-async-external-store.d.ts.map +1 -0
  701. package/dist/hooks/use-async-external-store.js +22 -0
  702. package/dist/hooks/use-async-external-store.js.map +1 -0
  703. package/dist/hooks/use-hash.d.ts +5 -0
  704. package/dist/hooks/use-hash.d.ts.map +1 -0
  705. package/dist/hooks/use-hash.js +17 -0
  706. package/dist/hooks/use-hash.js.map +1 -0
  707. package/dist/hooks/use-hover.d.ts +8 -0
  708. package/dist/hooks/use-hover.d.ts.map +1 -0
  709. package/dist/hooks/use-hover.js +61 -0
  710. package/dist/hooks/use-hover.js.map +1 -0
  711. package/dist/hooks/use-strict-memo.d.ts +10 -0
  712. package/dist/hooks/use-strict-memo.d.ts.map +1 -0
  713. package/dist/hooks/use-strict-memo.js +121 -0
  714. package/dist/hooks/use-strict-memo.js.map +1 -0
  715. package/dist/index-D9ysacya.d.ts +153 -0
  716. package/dist/index-D9ysacya.d.ts.map +1 -0
  717. package/dist/index.d.ts +5 -0
  718. package/dist/index.js +37 -0
  719. package/dist/interface/admin-interface.d.ts +308 -0
  720. package/dist/interface/admin-interface.d.ts.map +1 -0
  721. package/dist/interface/admin-interface.js +465 -0
  722. package/dist/interface/admin-interface.js.map +1 -0
  723. package/dist/interface/admin-metrics.d.ts +597 -0
  724. package/dist/interface/admin-metrics.d.ts.map +1 -0
  725. package/dist/interface/admin-metrics.js +153 -0
  726. package/dist/interface/admin-metrics.js.map +1 -0
  727. package/dist/interface/client-interface.d.ts +447 -0
  728. package/dist/interface/client-interface.d.ts.map +1 -0
  729. package/dist/interface/client-interface.js +1948 -0
  730. package/dist/interface/client-interface.js.map +1 -0
  731. package/dist/interface/client-interface.test.d.ts +1 -0
  732. package/dist/interface/client-interface.test.js +559 -0
  733. package/dist/interface/client-interface.test.js.map +1 -0
  734. package/dist/interface/conversations.d.ts +314 -0
  735. package/dist/interface/conversations.d.ts.map +1 -0
  736. package/dist/interface/conversations.js +121 -0
  737. package/dist/interface/conversations.js.map +1 -0
  738. package/dist/interface/crud/analytics.d.ts +14 -0
  739. package/dist/interface/crud/analytics.d.ts.map +1 -0
  740. package/dist/interface/crud/analytics.js +0 -0
  741. package/dist/interface/crud/connected-accounts.d.ts +68 -0
  742. package/dist/interface/crud/connected-accounts.d.ts.map +1 -0
  743. package/dist/interface/crud/connected-accounts.js +41 -0
  744. package/dist/interface/crud/connected-accounts.js.map +1 -0
  745. package/dist/interface/crud/contact-channels.d.ts +181 -0
  746. package/dist/interface/crud/contact-channels.d.ts.map +1 -0
  747. package/dist/interface/crud/contact-channels.js +76 -0
  748. package/dist/interface/crud/contact-channels.js.map +1 -0
  749. package/dist/interface/crud/current-user.d.ts +285 -0
  750. package/dist/interface/crud/current-user.d.ts.map +1 -0
  751. package/dist/interface/crud/current-user.js +71 -0
  752. package/dist/interface/crud/current-user.js.map +1 -0
  753. package/dist/interface/crud/email-outbox.d.ts +1465 -0
  754. package/dist/interface/crud/email-outbox.d.ts.map +1 -0
  755. package/dist/interface/crud/email-outbox.js +195 -0
  756. package/dist/interface/crud/email-outbox.js.map +1 -0
  757. package/dist/interface/crud/email-templates.d.ts +85 -0
  758. package/dist/interface/crud/email-templates.d.ts.map +1 -0
  759. package/dist/interface/crud/email-templates.js +53 -0
  760. package/dist/interface/crud/email-templates.js.map +1 -0
  761. package/dist/interface/crud/emails.d.ts +41 -0
  762. package/dist/interface/crud/emails.d.ts.map +1 -0
  763. package/dist/interface/crud/emails.js +23 -0
  764. package/dist/interface/crud/emails.js.map +1 -0
  765. package/dist/interface/crud/internal-api-keys.d.ts +140 -0
  766. package/dist/interface/crud/internal-api-keys.d.ts.map +1 -0
  767. package/dist/interface/crud/internal-api-keys.js +56 -0
  768. package/dist/interface/crud/internal-api-keys.js.map +1 -0
  769. package/dist/interface/crud/invoices.d.ts +43 -0
  770. package/dist/interface/crud/invoices.d.ts.map +1 -0
  771. package/dist/interface/crud/invoices.js +28 -0
  772. package/dist/interface/crud/invoices.js.map +1 -0
  773. package/dist/interface/crud/items.d.ts +30 -0
  774. package/dist/interface/crud/items.d.ts.map +1 -0
  775. package/dist/interface/crud/items.js +25 -0
  776. package/dist/interface/crud/items.js.map +1 -0
  777. package/dist/interface/crud/notification-preferences.d.ts +38 -0
  778. package/dist/interface/crud/notification-preferences.d.ts.map +1 -0
  779. package/dist/interface/crud/notification-preferences.js +33 -0
  780. package/dist/interface/crud/notification-preferences.js.map +1 -0
  781. package/dist/interface/crud/oauth-providers.d.ts +186 -0
  782. package/dist/interface/crud/oauth-providers.d.ts.map +1 -0
  783. package/dist/interface/crud/oauth-providers.js +83 -0
  784. package/dist/interface/crud/oauth-providers.js.map +1 -0
  785. package/dist/interface/crud/products.d.ts +182 -0
  786. package/dist/interface/crud/products.d.ts.map +1 -0
  787. package/dist/interface/crud/products.js +32 -0
  788. package/dist/interface/crud/products.js.map +1 -0
  789. package/dist/interface/crud/project-api-keys.d.ts +203 -0
  790. package/dist/interface/crud/project-api-keys.d.ts.map +1 -0
  791. package/dist/interface/crud/project-api-keys.js +79 -0
  792. package/dist/interface/crud/project-api-keys.js.map +1 -0
  793. package/dist/interface/crud/project-permissions.d.ts +161 -0
  794. package/dist/interface/crud/project-permissions.d.ts.map +1 -0
  795. package/dist/interface/crud/project-permissions.js +116 -0
  796. package/dist/interface/crud/project-permissions.js.map +1 -0
  797. package/dist/interface/crud/projects.d.ts +851 -0
  798. package/dist/interface/crud/projects.d.ts.map +1 -0
  799. package/dist/interface/crud/projects.js +204 -0
  800. package/dist/interface/crud/projects.js.map +1 -0
  801. package/dist/interface/crud/session-replays.d.ts +83 -0
  802. package/dist/interface/crud/session-replays.d.ts.map +1 -0
  803. package/dist/interface/crud/session-replays.js +0 -0
  804. package/dist/interface/crud/sessions.d.ts +150 -0
  805. package/dist/interface/crud/sessions.d.ts.map +1 -0
  806. package/dist/interface/crud/sessions.js +62 -0
  807. package/dist/interface/crud/sessions.js.map +1 -0
  808. package/dist/interface/crud/sign-up-rules.d.ts +15 -0
  809. package/dist/interface/crud/sign-up-rules.d.ts.map +1 -0
  810. package/dist/interface/crud/sign-up-rules.js +0 -0
  811. package/dist/interface/crud/svix-token.d.ts +31 -0
  812. package/dist/interface/crud/svix-token.d.ts.map +1 -0
  813. package/dist/interface/crud/svix-token.js +22 -0
  814. package/dist/interface/crud/svix-token.js.map +1 -0
  815. package/dist/interface/crud/team-invitation-details.d.ts +31 -0
  816. package/dist/interface/crud/team-invitation-details.d.ts.map +1 -0
  817. package/dist/interface/crud/team-invitation-details.js +24 -0
  818. package/dist/interface/crud/team-invitation-details.js.map +1 -0
  819. package/dist/interface/crud/team-invitation.d.ts +54 -0
  820. package/dist/interface/crud/team-invitation.d.ts.map +1 -0
  821. package/dist/interface/crud/team-invitation.js +40 -0
  822. package/dist/interface/crud/team-invitation.js.map +1 -0
  823. package/dist/interface/crud/team-member-profiles.d.ts +286 -0
  824. package/dist/interface/crud/team-member-profiles.d.ts.map +1 -0
  825. package/dist/interface/crud/team-member-profiles.js +63 -0
  826. package/dist/interface/crud/team-member-profiles.js.map +1 -0
  827. package/dist/interface/crud/team-memberships.d.ts +75 -0
  828. package/dist/interface/crud/team-memberships.d.ts.map +1 -0
  829. package/dist/interface/crud/team-memberships.js +61 -0
  830. package/dist/interface/crud/team-memberships.js.map +1 -0
  831. package/dist/interface/crud/team-permissions.d.ts +169 -0
  832. package/dist/interface/crud/team-permissions.d.ts.map +1 -0
  833. package/dist/interface/crud/team-permissions.js +117 -0
  834. package/dist/interface/crud/team-permissions.js.map +1 -0
  835. package/dist/interface/crud/teams.d.ts +299 -0
  836. package/dist/interface/crud/teams.d.ts.map +1 -0
  837. package/dist/interface/crud/teams.js +142 -0
  838. package/dist/interface/crud/teams.js.map +1 -0
  839. package/dist/interface/crud/transactions.d.ts +183 -0
  840. package/dist/interface/crud/transactions.d.ts.map +1 -0
  841. package/dist/interface/crud/transactions.js +89 -0
  842. package/dist/interface/crud/transactions.js.map +1 -0
  843. package/dist/interface/crud/users.d.ts +653 -0
  844. package/dist/interface/crud/users.d.ts.map +1 -0
  845. package/dist/interface/crud/users.js +193 -0
  846. package/dist/interface/crud/users.js.map +1 -0
  847. package/dist/interface/handler-urls.d.ts +51 -0
  848. package/dist/interface/handler-urls.d.ts.map +1 -0
  849. package/dist/interface/handler-urls.js +16 -0
  850. package/dist/interface/page-component-versions.d.ts +25 -0
  851. package/dist/interface/page-component-versions.d.ts.map +1 -0
  852. package/dist/interface/page-component-versions.js +1664 -0
  853. package/dist/interface/page-component-versions.js.map +1 -0
  854. package/dist/interface/server-interface.d.ts +255 -0
  855. package/dist/interface/server-interface.d.ts.map +1 -0
  856. package/dist/interface/server-interface.js +461 -0
  857. package/dist/interface/server-interface.js.map +1 -0
  858. package/dist/interface/webhooks.d.ts +326 -0
  859. package/dist/interface/webhooks.d.ts.map +1 -0
  860. package/dist/interface/webhooks.js +24 -0
  861. package/dist/interface/webhooks.js.map +1 -0
  862. package/dist/known-errors.d.ts +575 -0
  863. package/dist/known-errors.d.ts.map +1 -0
  864. package/dist/known-errors.js +794 -0
  865. package/dist/known-errors.js.map +1 -0
  866. package/dist/local-emulator.d.ts +6 -0
  867. package/dist/local-emulator.d.ts.map +1 -0
  868. package/dist/local-emulator.js +10 -0
  869. package/dist/local-emulator.js.map +1 -0
  870. package/dist/payments/payment-methods.d.ts +64 -0
  871. package/dist/payments/payment-methods.d.ts.map +1 -0
  872. package/dist/payments/payment-methods.js +216 -0
  873. package/dist/payments/payment-methods.js.map +1 -0
  874. package/dist/payments/stripe-limits.d.ts +17 -0
  875. package/dist/payments/stripe-limits.d.ts.map +1 -0
  876. package/dist/payments/stripe-limits.js +20 -0
  877. package/dist/payments/stripe-limits.js.map +1 -0
  878. package/dist/plans.d.ts +72 -0
  879. package/dist/plans.d.ts.map +1 -0
  880. package/dist/plans.js +88 -0
  881. package/dist/plans.js.map +1 -0
  882. package/dist/schema-fields.d.ts +472 -0
  883. package/dist/schema-fields.d.ts.map +1 -0
  884. package/dist/schema-fields.js +1188 -0
  885. package/dist/schema-fields.js.map +1 -0
  886. package/dist/sessions.d.ts +165 -0
  887. package/dist/sessions.d.ts.map +1 -0
  888. package/dist/sessions.js +231 -0
  889. package/dist/sessions.js.map +1 -0
  890. package/dist/stack-config-file.d.ts +15 -0
  891. package/dist/stack-config-file.d.ts.map +1 -0
  892. package/dist/stack-config-file.js +82 -0
  893. package/dist/stack-config-file.js.map +1 -0
  894. package/dist/utils/api-keys.d.ts +26 -0
  895. package/dist/utils/api-keys.d.ts.map +1 -0
  896. package/dist/utils/api-keys.js +82 -0
  897. package/dist/utils/api-keys.js.map +1 -0
  898. package/dist/utils/arrays.d.ts +25 -0
  899. package/dist/utils/arrays.d.ts.map +1 -0
  900. package/dist/utils/arrays.js +569 -0
  901. package/dist/utils/arrays.js.map +1 -0
  902. package/dist/utils/auth-methods.d.ts +6 -0
  903. package/dist/utils/auth-methods.d.ts.map +1 -0
  904. package/dist/utils/auth-methods.js +13 -0
  905. package/dist/utils/auth-methods.js.map +1 -0
  906. package/dist/utils/base64.d.ts +6 -0
  907. package/dist/utils/base64.d.ts.map +1 -0
  908. package/dist/utils/base64.js +28 -0
  909. package/dist/utils/base64.js.map +1 -0
  910. package/dist/utils/booleans.d.ts +8 -0
  911. package/dist/utils/booleans.d.ts.map +1 -0
  912. package/dist/utils/booleans.js +38 -0
  913. package/dist/utils/booleans.js.map +1 -0
  914. package/dist/utils/browser-compat.d.ts +10 -0
  915. package/dist/utils/browser-compat.d.ts.map +1 -0
  916. package/dist/utils/browser-compat.js +23 -0
  917. package/dist/utils/browser-compat.js.map +1 -0
  918. package/dist/utils/bytes.d.ts +17 -0
  919. package/dist/utils/bytes.d.ts.map +1 -0
  920. package/dist/utils/bytes.js +304 -0
  921. package/dist/utils/bytes.js.map +1 -0
  922. package/dist/utils/caches.d.ts +102 -0
  923. package/dist/utils/caches.d.ts.map +1 -0
  924. package/dist/utils/caches.js +188 -0
  925. package/dist/utils/caches.js.map +1 -0
  926. package/dist/utils/cel-fields.d.ts +23 -0
  927. package/dist/utils/cel-fields.d.ts.map +1 -0
  928. package/dist/utils/cel-fields.js +108 -0
  929. package/dist/utils/cel-fields.js.map +1 -0
  930. package/dist/utils/compile-time.d.ts +10 -0
  931. package/dist/utils/compile-time.d.ts.map +1 -0
  932. package/dist/utils/compile-time.js +16 -0
  933. package/dist/utils/compile-time.js.map +1 -0
  934. package/dist/utils/country-codes.d.ts +11 -0
  935. package/dist/utils/country-codes.d.ts.map +1 -0
  936. package/dist/utils/country-codes.js +40 -0
  937. package/dist/utils/country-codes.js.map +1 -0
  938. package/dist/utils/crypto.d.ts +48 -0
  939. package/dist/utils/crypto.d.ts.map +1 -0
  940. package/dist/utils/crypto.js +215 -0
  941. package/dist/utils/crypto.js.map +1 -0
  942. package/dist/utils/currencies.d.ts +8 -0
  943. package/dist/utils/currencies.d.ts.map +1 -0
  944. package/dist/utils/currencies.js +52 -0
  945. package/dist/utils/currencies.js.map +1 -0
  946. package/dist/utils/currency-constants.d.ts +39 -0
  947. package/dist/utils/currency-constants.d.ts.map +1 -0
  948. package/dist/utils/currency-constants.js +44 -0
  949. package/dist/utils/currency-constants.js.map +1 -0
  950. package/dist/utils/dates.d.ts +23 -0
  951. package/dist/utils/dates.d.ts.map +1 -0
  952. package/dist/utils/dates.js +176 -0
  953. package/dist/utils/dates.js.map +1 -0
  954. package/dist/utils/dev-env-state-path.d.ts +6 -0
  955. package/dist/utils/dev-env-state-path.d.ts.map +1 -0
  956. package/dist/utils/dev-env-state-path.js +18 -0
  957. package/dist/utils/dev-env-state-path.js.map +1 -0
  958. package/dist/utils/dom.d.ts +5 -0
  959. package/dist/utils/dom.d.ts.map +1 -0
  960. package/dist/utils/dom.js +13 -0
  961. package/dist/utils/dom.js.map +1 -0
  962. package/dist/utils/env.d.ts +25 -0
  963. package/dist/utils/env.d.ts.map +1 -0
  964. package/dist/utils/env.js +85 -0
  965. package/dist/utils/env.js.map +1 -0
  966. package/dist/utils/errors.d.ts +231 -0
  967. package/dist/utils/errors.d.ts.map +1 -0
  968. package/dist/utils/errors.js +393 -0
  969. package/dist/utils/errors.js.map +1 -0
  970. package/dist/utils/esbuild.d.ts +16 -0
  971. package/dist/utils/esbuild.d.ts.map +1 -0
  972. package/dist/utils/esbuild.js +186 -0
  973. package/dist/utils/esbuild.js.map +1 -0
  974. package/dist/utils/featurebase.d.ts +30 -0
  975. package/dist/utils/featurebase.d.ts.map +1 -0
  976. package/dist/utils/featurebase.js +168 -0
  977. package/dist/utils/featurebase.js.map +1 -0
  978. package/dist/utils/fs.d.ts +9 -0
  979. package/dist/utils/fs.d.ts.map +1 -0
  980. package/dist/utils/fs.js +31 -0
  981. package/dist/utils/fs.js.map +1 -0
  982. package/dist/utils/functions.d.ts +6 -0
  983. package/dist/utils/functions.d.ts.map +1 -0
  984. package/dist/utils/functions.js +37 -0
  985. package/dist/utils/functions.js.map +1 -0
  986. package/dist/utils/geo.d.ts +24 -0
  987. package/dist/utils/geo.d.ts.map +1 -0
  988. package/dist/utils/geo.js +18 -0
  989. package/dist/utils/geo.js.map +1 -0
  990. package/dist/utils/globals.d.ts +13 -0
  991. package/dist/utils/globals.d.ts.map +1 -0
  992. package/dist/utils/globals.js +40 -0
  993. package/dist/utils/globals.js.map +1 -0
  994. package/dist/utils/hashes.d.ts +9 -0
  995. package/dist/utils/hashes.d.ts.map +1 -0
  996. package/dist/utils/hashes.js +47 -0
  997. package/dist/utils/hashes.js.map +1 -0
  998. package/dist/utils/html.d.ts +7 -0
  999. package/dist/utils/html.d.ts.map +1 -0
  1000. package/dist/utils/html.js +37 -0
  1001. package/dist/utils/html.js.map +1 -0
  1002. package/dist/utils/http.d.ts +45 -0
  1003. package/dist/utils/http.d.ts.map +1 -0
  1004. package/dist/utils/http.js +79 -0
  1005. package/dist/utils/http.js.map +1 -0
  1006. package/dist/utils/ips.d.ts +8 -0
  1007. package/dist/utils/ips.d.ts.map +1 -0
  1008. package/dist/utils/ips.js +40 -0
  1009. package/dist/utils/ips.js.map +1 -0
  1010. package/dist/utils/json.d.ts +15 -0
  1011. package/dist/utils/json.d.ts.map +1 -0
  1012. package/dist/utils/json.js +182 -0
  1013. package/dist/utils/json.js.map +1 -0
  1014. package/dist/utils/jsx-editable-transpiler.d.ts +68 -0
  1015. package/dist/utils/jsx-editable-transpiler.d.ts.map +1 -0
  1016. package/dist/utils/jsx-editable-transpiler.js +223 -0
  1017. package/dist/utils/jsx-editable-transpiler.js.map +1 -0
  1018. package/dist/utils/jsx-editable-transpiler.test.d.ts +1 -0
  1019. package/dist/utils/jsx-editable-transpiler.test.js +122 -0
  1020. package/dist/utils/jsx-editable-transpiler.test.js.map +1 -0
  1021. package/dist/utils/jwt.d.ts +79 -0
  1022. package/dist/utils/jwt.d.ts.map +1 -0
  1023. package/dist/utils/jwt.js +112 -0
  1024. package/dist/utils/jwt.js.map +1 -0
  1025. package/dist/utils/locks.d.ts +17 -0
  1026. package/dist/utils/locks.d.ts.map +1 -0
  1027. package/dist/utils/locks.js +56 -0
  1028. package/dist/utils/locks.js.map +1 -0
  1029. package/dist/utils/maps.d.ts +61 -0
  1030. package/dist/utils/maps.d.ts.map +1 -0
  1031. package/dist/utils/maps.js +302 -0
  1032. package/dist/utils/maps.js.map +1 -0
  1033. package/dist/utils/math.d.ts +8 -0
  1034. package/dist/utils/math.d.ts.map +1 -0
  1035. package/dist/utils/math.js +23 -0
  1036. package/dist/utils/math.js.map +1 -0
  1037. package/dist/utils/monkey-patch.d.ts +7 -0
  1038. package/dist/utils/monkey-patch.d.ts.map +1 -0
  1039. package/dist/utils/monkey-patch.js +25 -0
  1040. package/dist/utils/monkey-patch.js.map +1 -0
  1041. package/dist/utils/node-http.d.ts +17 -0
  1042. package/dist/utils/node-http.d.ts.map +1 -0
  1043. package/dist/utils/node-http.js +40 -0
  1044. package/dist/utils/node-http.js.map +1 -0
  1045. package/dist/utils/numbers.d.ts +7 -0
  1046. package/dist/utils/numbers.d.ts.map +1 -0
  1047. package/dist/utils/numbers.js +79 -0
  1048. package/dist/utils/numbers.js.map +1 -0
  1049. package/dist/utils/oauth.d.ts +11 -0
  1050. package/dist/utils/oauth.d.ts.map +1 -0
  1051. package/dist/utils/oauth.js +32 -0
  1052. package/dist/utils/oauth.js.map +1 -0
  1053. package/dist/utils/objects.d.ts +59 -0
  1054. package/dist/utils/objects.d.ts.map +1 -0
  1055. package/dist/utils/objects.js +846 -0
  1056. package/dist/utils/objects.js.map +1 -0
  1057. package/dist/utils/paginated-lists.d.ts +442 -0
  1058. package/dist/utils/paginated-lists.d.ts.map +1 -0
  1059. package/dist/utils/paginated-lists.js +414 -0
  1060. package/dist/utils/paginated-lists.js.map +1 -0
  1061. package/dist/utils/paginated-lists.test.d.ts +1 -0
  1062. package/dist/utils/paginated-lists.test.js +1304 -0
  1063. package/dist/utils/paginated-lists.test.js.map +1 -0
  1064. package/dist/utils/passkey.d.ts +2 -0
  1065. package/dist/utils/passkey.js +0 -0
  1066. package/dist/utils/promises.d.ts +80 -0
  1067. package/dist/utils/promises.d.ts.map +1 -0
  1068. package/dist/utils/promises.js +349 -0
  1069. package/dist/utils/promises.js.map +1 -0
  1070. package/dist/utils/proxies.d.ts +13 -0
  1071. package/dist/utils/proxies.d.ts.map +1 -0
  1072. package/dist/utils/proxies.js +201 -0
  1073. package/dist/utils/proxies.js.map +1 -0
  1074. package/dist/utils/react.d.ts +61 -0
  1075. package/dist/utils/react.d.ts.map +1 -0
  1076. package/dist/utils/react.js +243 -0
  1077. package/dist/utils/react.js.map +1 -0
  1078. package/dist/utils/redirect-urls.d.ts +30 -0
  1079. package/dist/utils/redirect-urls.d.ts.map +1 -0
  1080. package/dist/utils/redirect-urls.js +222 -0
  1081. package/dist/utils/redirect-urls.js.map +1 -0
  1082. package/dist/utils/regex.d.ts +5 -0
  1083. package/dist/utils/regex.d.ts.map +1 -0
  1084. package/dist/utils/regex.js +15 -0
  1085. package/dist/utils/regex.js.map +1 -0
  1086. package/dist/utils/results.d.ts +70 -0
  1087. package/dist/utils/results.d.ts.map +1 -0
  1088. package/dist/utils/results.js +342 -0
  1089. package/dist/utils/results.js.map +1 -0
  1090. package/dist/utils/sentry.d.ts +13 -0
  1091. package/dist/utils/sentry.d.ts.map +1 -0
  1092. package/dist/utils/sentry.js +16 -0
  1093. package/dist/utils/sentry.js.map +1 -0
  1094. package/dist/utils/stores.d.ts +104 -0
  1095. package/dist/utils/stores.d.ts.map +1 -0
  1096. package/dist/utils/stores.js +179 -0
  1097. package/dist/utils/stores.js.map +1 -0
  1098. package/dist/utils/strings.d.ts +76 -0
  1099. package/dist/utils/strings.d.ts.map +1 -0
  1100. package/dist/utils/strings.js +549 -0
  1101. package/dist/utils/strings.js.map +1 -0
  1102. package/dist/utils/strings.nicify.test.d.ts +1 -0
  1103. package/dist/utils/strings.nicify.test.js +243 -0
  1104. package/dist/utils/strings.nicify.test.js.map +1 -0
  1105. package/dist/utils/telemetry.d.ts +15 -0
  1106. package/dist/utils/telemetry.d.ts.map +1 -0
  1107. package/dist/utils/telemetry.js +35 -0
  1108. package/dist/utils/telemetry.js.map +1 -0
  1109. package/dist/utils/turnstile-browser.d.ts +32 -0
  1110. package/dist/utils/turnstile-browser.d.ts.map +1 -0
  1111. package/dist/utils/turnstile-browser.js +65 -0
  1112. package/dist/utils/turnstile-browser.js.map +1 -0
  1113. package/dist/utils/turnstile-flow.d.ts +29 -0
  1114. package/dist/utils/turnstile-flow.d.ts.map +1 -0
  1115. package/dist/utils/turnstile-flow.js +225 -0
  1116. package/dist/utils/turnstile-flow.js.map +1 -0
  1117. package/dist/utils/turnstile-flow.test.d.ts +1 -0
  1118. package/dist/utils/turnstile-flow.test.js +75 -0
  1119. package/dist/utils/turnstile-flow.test.js.map +1 -0
  1120. package/dist/utils/turnstile.d.ts +17 -0
  1121. package/dist/utils/turnstile.d.ts.map +1 -0
  1122. package/dist/utils/turnstile.js +31 -0
  1123. package/dist/utils/turnstile.js.map +1 -0
  1124. package/dist/utils/typed-arrays.d.ts +14 -0
  1125. package/dist/utils/typed-arrays.d.ts.map +1 -0
  1126. package/dist/utils/typed-arrays.js +22 -0
  1127. package/dist/utils/typed-arrays.js.map +1 -0
  1128. package/dist/utils/types.d.ts +77 -0
  1129. package/dist/utils/types.d.ts.map +1 -0
  1130. package/dist/utils/types.js +59 -0
  1131. package/dist/utils/types.js.map +1 -0
  1132. package/dist/utils/unicode.d.ts +5 -0
  1133. package/dist/utils/unicode.d.ts.map +1 -0
  1134. package/dist/utils/unicode.js +26 -0
  1135. package/dist/utils/unicode.js.map +1 -0
  1136. package/dist/utils/urls.d.ts +28 -0
  1137. package/dist/utils/urls.d.ts.map +1 -0
  1138. package/dist/utils/urls.js +274 -0
  1139. package/dist/utils/urls.js.map +1 -0
  1140. package/dist/utils/uuids.d.ts +6 -0
  1141. package/dist/utils/uuids.d.ts.map +1 -0
  1142. package/dist/utils/uuids.js +39 -0
  1143. package/dist/utils/uuids.js.map +1 -0
  1144. package/package.json +99 -0
@@ -0,0 +1,549 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_chunk = require('../chunk-BE-pF4vm.js');
3
+ let __errors_js = require("./errors.js");
4
+ let __objects_js = require("./objects.js");
5
+ let __arrays_js = require("./arrays.js");
6
+
7
+ //#region src/utils/strings.tsx
8
+ function typedJoin(strings, separator) {
9
+ return strings.join(separator);
10
+ }
11
+ function typedToLowercase(s) {
12
+ if (typeof s !== "string") throw new __errors_js.HexclaveAssertionError("Expected a string for typedToLowercase", { s });
13
+ return s.toLowerCase();
14
+ }
15
+ (void 0)?.test("typedToLowercase", ({ expect }) => {
16
+ expect(typedToLowercase("")).toBe("");
17
+ expect(typedToLowercase("HELLO")).toBe("hello");
18
+ expect(typedToLowercase("Hello World")).toBe("hello world");
19
+ expect(typedToLowercase("hello")).toBe("hello");
20
+ expect(typedToLowercase("123")).toBe("123");
21
+ expect(typedToLowercase("MIXED123case")).toBe("mixed123case");
22
+ expect(typedToLowercase("Special@Chars!")).toBe("special@chars!");
23
+ expect(() => typedToLowercase(123)).toThrow("Expected a string for typedToLowercase");
24
+ });
25
+ function typedToUppercase(s) {
26
+ if (typeof s !== "string") throw new __errors_js.HexclaveAssertionError("Expected a string for typedToUppercase", { s });
27
+ return s.toUpperCase();
28
+ }
29
+ (void 0)?.test("typedToUppercase", ({ expect }) => {
30
+ expect(typedToUppercase("")).toBe("");
31
+ expect(typedToUppercase("hello")).toBe("HELLO");
32
+ expect(typedToUppercase("Hello World")).toBe("HELLO WORLD");
33
+ expect(typedToUppercase("HELLO")).toBe("HELLO");
34
+ expect(typedToUppercase("123")).toBe("123");
35
+ expect(typedToUppercase("mixed123Case")).toBe("MIXED123CASE");
36
+ expect(typedToUppercase("special@chars!")).toBe("SPECIAL@CHARS!");
37
+ expect(() => typedToUppercase(123)).toThrow("Expected a string for typedToUppercase");
38
+ });
39
+ function typedCapitalize(s) {
40
+ return s.charAt(0).toUpperCase() + s.slice(1);
41
+ }
42
+ (void 0)?.test("typedCapitalize", ({ expect }) => {
43
+ expect(typedCapitalize("")).toBe("");
44
+ expect(typedCapitalize("hello")).toBe("Hello");
45
+ expect(typedCapitalize("hello world")).toBe("Hello world");
46
+ expect(typedCapitalize("HELLO")).toBe("HELLO");
47
+ expect(typedCapitalize("123test")).toBe("123test");
48
+ expect(typedCapitalize("already Capitalized")).toBe("Already Capitalized");
49
+ expect(typedCapitalize("h")).toBe("H");
50
+ });
51
+ /**
52
+ * Compares two strings in a way that is not dependent on the current locale.
53
+ */
54
+ function stringCompare(a, b) {
55
+ if (typeof a !== "string" || typeof b !== "string") throw new __errors_js.HexclaveAssertionError(`Expected two strings for stringCompare, found ${typeof a} and ${typeof b}`, {
56
+ a,
57
+ b
58
+ });
59
+ const cmp = (a, b) => a < b ? -1 : a > b ? 1 : 0;
60
+ return cmp(a.toUpperCase(), b.toUpperCase()) || cmp(b, a);
61
+ }
62
+ (void 0)?.test("stringCompare", ({ expect }) => {
63
+ expect(stringCompare("a", "a")).toBe(0);
64
+ expect(stringCompare("", "")).toBe(0);
65
+ expect(stringCompare("a", "A")).toBe(-1);
66
+ expect(stringCompare("A", "a")).toBe(1);
67
+ expect(stringCompare("abc", "ABC")).toBe(-1);
68
+ expect(stringCompare("ABC", "abc")).toBe(1);
69
+ expect(stringCompare("a", "b")).toBe(-1);
70
+ expect(stringCompare("b", "a")).toBe(1);
71
+ expect(stringCompare("abc", "abcd")).toBe(-1);
72
+ expect(stringCompare("abcd", "abc")).toBe(1);
73
+ expect(stringCompare("a1", "a2")).toBe(-1);
74
+ expect(stringCompare("a10", "a2")).toBe(-1);
75
+ expect(stringCompare("a", "a!")).toBe(-1);
76
+ expect(stringCompare("a!", "a")).toBe(1);
77
+ });
78
+ /**
79
+ * Returns all whitespace character at the start of the string.
80
+ *
81
+ * Uses the same definition for whitespace as `String.prototype.trim()`.
82
+ */
83
+ function getWhitespacePrefix(s) {
84
+ return s.substring(0, s.length - s.trimStart().length);
85
+ }
86
+ (void 0)?.test("getWhitespacePrefix", ({ expect }) => {
87
+ expect(getWhitespacePrefix("")).toBe("");
88
+ expect(getWhitespacePrefix("hello")).toBe("");
89
+ expect(getWhitespacePrefix(" hello")).toBe(" ");
90
+ expect(getWhitespacePrefix(" hello")).toBe(" ");
91
+ expect(getWhitespacePrefix(" hello")).toBe(" ");
92
+ expect(getWhitespacePrefix("\n hello")).toBe("\n ");
93
+ expect(getWhitespacePrefix(" ")).toBe(" ");
94
+ expect(getWhitespacePrefix(" \n\r")).toBe(" \n\r");
95
+ });
96
+ /**
97
+ * Returns all whitespace character at the end of the string.
98
+ *
99
+ * Uses the same definition for whitespace as `String.prototype.trim()`.
100
+ */
101
+ function getWhitespaceSuffix(s) {
102
+ return s.substring(s.trimEnd().length);
103
+ }
104
+ (void 0)?.test("getWhitespaceSuffix", ({ expect }) => {
105
+ expect(getWhitespaceSuffix("")).toBe("");
106
+ expect(getWhitespaceSuffix("hello")).toBe("");
107
+ expect(getWhitespaceSuffix("hello ")).toBe(" ");
108
+ expect(getWhitespaceSuffix("hello ")).toBe(" ");
109
+ expect(getWhitespaceSuffix("hello ")).toBe(" ");
110
+ expect(getWhitespaceSuffix("hello \n")).toBe(" \n");
111
+ expect(getWhitespaceSuffix(" ")).toBe(" ");
112
+ expect(getWhitespaceSuffix(" \n\r")).toBe(" \n\r");
113
+ });
114
+ /**
115
+ * Returns a string with all empty or whitespace-only lines at the start removed.
116
+ *
117
+ * Uses the same definition for whitespace as `String.prototype.trim()`.
118
+ */
119
+ function trimEmptyLinesStart(s) {
120
+ const lines = s.split("\n");
121
+ const firstNonEmptyLineIndex = lines.findIndex((line) => line.trim() !== "");
122
+ if (firstNonEmptyLineIndex === -1) return "";
123
+ return lines.slice(firstNonEmptyLineIndex).join("\n");
124
+ }
125
+ (void 0)?.test("trimEmptyLinesStart", ({ expect }) => {
126
+ expect(trimEmptyLinesStart("")).toBe("");
127
+ expect(trimEmptyLinesStart("hello")).toBe("hello");
128
+ expect(trimEmptyLinesStart("\nhello")).toBe("hello");
129
+ expect(trimEmptyLinesStart("\n\nhello")).toBe("hello");
130
+ expect(trimEmptyLinesStart(" \n \nhello")).toBe("hello");
131
+ expect(trimEmptyLinesStart("\n\nhello\nworld")).toBe("hello\nworld");
132
+ expect(trimEmptyLinesStart("hello\n\nworld")).toBe("hello\n\nworld");
133
+ expect(trimEmptyLinesStart("hello\nworld\n")).toBe("hello\nworld\n");
134
+ expect(trimEmptyLinesStart("\n \n\nhello\n \nworld")).toBe("hello\n \nworld");
135
+ expect(trimEmptyLinesStart("\n\n \n ")).toBe("");
136
+ });
137
+ /**
138
+ * Returns a string with all empty or whitespace-only lines at the end removed.
139
+ *
140
+ * Uses the same definition for whitespace as `String.prototype.trim()`.
141
+ */
142
+ function trimEmptyLinesEnd(s) {
143
+ const lines = s.split("\n");
144
+ const lastNonEmptyLineIndex = (0, __arrays_js.findLastIndex)(lines, (line) => line.trim() !== "");
145
+ return lines.slice(0, lastNonEmptyLineIndex + 1).join("\n");
146
+ }
147
+ (void 0)?.test("trimEmptyLinesEnd", ({ expect }) => {
148
+ expect(trimEmptyLinesEnd("")).toBe("");
149
+ expect(trimEmptyLinesEnd("hello")).toBe("hello");
150
+ expect(trimEmptyLinesEnd("hello\n")).toBe("hello");
151
+ expect(trimEmptyLinesEnd("hello\n\n")).toBe("hello");
152
+ expect(trimEmptyLinesEnd("hello\n \n ")).toBe("hello");
153
+ expect(trimEmptyLinesEnd("hello\nworld\n\n")).toBe("hello\nworld");
154
+ expect(trimEmptyLinesEnd("hello\n\nworld")).toBe("hello\n\nworld");
155
+ expect(trimEmptyLinesEnd("\nhello\nworld")).toBe("\nhello\nworld");
156
+ expect(trimEmptyLinesEnd("hello\n \nworld\n\n ")).toBe("hello\n \nworld");
157
+ expect(trimEmptyLinesEnd("\n\n \n ")).toBe("");
158
+ });
159
+ /**
160
+ * Returns a string with all empty or whitespace-only lines trimmed at the start and end.
161
+ *
162
+ * Uses the same definition for whitespace as `String.prototype.trim()`.
163
+ */
164
+ function trimLines(s) {
165
+ return trimEmptyLinesEnd(trimEmptyLinesStart(s));
166
+ }
167
+ (void 0)?.test("trimLines", ({ expect }) => {
168
+ expect(trimLines("")).toBe("");
169
+ expect(trimLines(" ")).toBe("");
170
+ expect(trimLines(" \n ")).toBe("");
171
+ expect(trimLines(" abc ")).toBe(" abc ");
172
+ expect(trimLines("\n \nLine1\nLine2\n \n")).toBe("Line1\nLine2");
173
+ expect(trimLines("Line1\n \nLine2")).toBe("Line1\n \nLine2");
174
+ expect(trimLines(" \n \n ")).toBe("");
175
+ expect(trimLines(" Hello World")).toBe(" Hello World");
176
+ expect(trimLines("\n")).toBe("");
177
+ expect(trimLines(" \n Line1 \n \nLine2 \n ")).toBe(" Line1 \n \nLine2 ");
178
+ });
179
+ /**
180
+ * A template literal tag that returns the same string as the template literal without a tag.
181
+ *
182
+ * Useful for implementing your own template literal tags.
183
+ */
184
+ function templateIdentity(strings, ...values) {
185
+ if (values.length !== strings.length - 1) throw new __errors_js.HexclaveAssertionError("Invalid number of values; must be one less than strings", {
186
+ strings,
187
+ values
188
+ });
189
+ return strings.reduce((result, str, i) => result + str + (values[i] ?? ""), "");
190
+ }
191
+ (void 0)?.test("templateIdentity", ({ expect }) => {
192
+ expect(templateIdentity`Hello World`).toBe("Hello World");
193
+ expect(templateIdentity`${"Hello"}`).toBe("Hello");
194
+ expect(templateIdentity`${"Hello"}, ${"World"}!`).toBe("Hello, World!");
195
+ expect(templateIdentity`${"A"}${"B"}${"C"}`).toBe("ABC");
196
+ expect(templateIdentity`Start${""}Middle${""}End`).toBe("StartMiddleEnd");
197
+ expect(templateIdentity``).toBe("");
198
+ expect(templateIdentity`Line1
199
+ Line2`).toBe("Line1\nLine2");
200
+ expect(templateIdentity([
201
+ "a ",
202
+ " scientific ",
203
+ "gun"
204
+ ], "certain", "rail")).toBe("a certain scientific railgun");
205
+ expect(templateIdentity(["only one part"])).toBe("only one part");
206
+ expect(() => templateIdentity([
207
+ "a ",
208
+ "b",
209
+ "c"
210
+ ], "only one")).toThrow("Invalid number of values");
211
+ expect(() => templateIdentity(["a", "b"], "x", "y")).toThrow("Invalid number of values");
212
+ });
213
+ function deindent(strings, ...values) {
214
+ if (typeof strings === "string") return deindent([strings]);
215
+ return templateIdentity(...deindentTemplate(strings, ...values));
216
+ }
217
+ function deindentTemplate(strings, ...values) {
218
+ if (values.length !== strings.length - 1) throw new __errors_js.HexclaveAssertionError("Invalid number of values; must be one less than strings", {
219
+ strings,
220
+ values
221
+ });
222
+ const trimmedStrings = [...strings];
223
+ trimmedStrings[0] = trimEmptyLinesStart(trimmedStrings[0] + "+").slice(0, -1);
224
+ trimmedStrings[trimmedStrings.length - 1] = trimEmptyLinesEnd("+" + trimmedStrings[trimmedStrings.length - 1]).slice(1);
225
+ const indentation = trimmedStrings.join("${SOME_VALUE}").split("\n").filter((line) => line.trim() !== "").map((line) => getWhitespacePrefix(line).length).reduce((min, current) => Math.min(min, current), Infinity);
226
+ const deindentedStrings = trimmedStrings.map((string, stringIndex) => {
227
+ return string.split("\n").map((line, lineIndex) => stringIndex !== 0 && lineIndex === 0 ? line : line.substring(indentation)).join("\n");
228
+ });
229
+ return [deindentedStrings, ...values.map((value, i) => {
230
+ const firstLineIndentation = getWhitespacePrefix(deindentedStrings[i].split("\n").at(-1));
231
+ return `${value}`.replaceAll("\n", `\n${firstLineIndentation}`);
232
+ })];
233
+ }
234
+ (void 0)?.test("deindent", ({ expect }) => {
235
+ expect(deindent(" hello")).toBe("hello");
236
+ expect(deindent(" hello\n world")).toBe("hello\nworld");
237
+ expect(deindent(" hello\n world")).toBe("hello\n world");
238
+ expect(deindent("\n hello\n world\n")).toBe("hello\nworld");
239
+ expect(deindent("")).toBe("");
240
+ expect(deindent`
241
+ hello
242
+ world
243
+ `).toBe("hello\nworld");
244
+ expect(deindent`
245
+ hello
246
+ world
247
+ `).toBe("hello\n world");
248
+ const value = "test";
249
+ expect(deindent`
250
+ hello ${value}
251
+ world
252
+ `).toBe(`hello ${value}\nworld`);
253
+ expect(deindent`
254
+ hello
255
+ to ${"line1\n line2"}
256
+ world
257
+ `).toBe(`hello\n to line1\n line2\nworld`);
258
+ expect(deindent`
259
+ ${" "}A
260
+ ${" "}B
261
+ ${" "}C
262
+ `).toBe(` A\n B\n C`);
263
+ expect(deindent`
264
+ A
265
+ B ${" "}
266
+ C
267
+ `).toBe(`A \nB \nC `);
268
+ expect(deindent`
269
+ hello
270
+ world
271
+ !
272
+ `).toBe("hello\n world\n !");
273
+ expect(() => deindent([
274
+ "a",
275
+ "b",
276
+ "c"
277
+ ], "too", "many", "values")).toThrow("Invalid number of values");
278
+ });
279
+ function extractScopes(scope, removeDuplicates = true) {
280
+ const filtered = scope.trim().split(/\s+/).filter((scope) => scope.length > 0);
281
+ return removeDuplicates ? [...new Set(filtered)] : filtered;
282
+ }
283
+ (void 0)?.test("extractScopes", ({ expect }) => {
284
+ expect(extractScopes("")).toEqual([]);
285
+ expect(extractScopes("read")).toEqual(["read"]);
286
+ expect(extractScopes("read write")).toEqual(["read", "write"]);
287
+ expect(extractScopes(" read write ")).toEqual(["read", "write"]);
288
+ expect(extractScopes("read\nwrite delete")).toEqual([
289
+ "read",
290
+ "write",
291
+ "delete"
292
+ ]);
293
+ expect(extractScopes("read write read")).toEqual(["read", "write"]);
294
+ expect(extractScopes("read write read", true)).toEqual(["read", "write"]);
295
+ expect(extractScopes("read write read", false)).toEqual([
296
+ "read",
297
+ "write",
298
+ "read"
299
+ ]);
300
+ });
301
+ function mergeScopeStrings(...scopes) {
302
+ return extractScopes(scopes.map((s) => extractScopes(s)).flat().join(" ")).join(" ");
303
+ }
304
+ (void 0)?.test("mergeScopeStrings", ({ expect }) => {
305
+ expect(mergeScopeStrings()).toBe("");
306
+ expect(mergeScopeStrings("read write")).toBe("read write");
307
+ expect(mergeScopeStrings("read", "write")).toBe("read write");
308
+ expect(mergeScopeStrings("read write", "write delete")).toBe("read write delete");
309
+ expect(mergeScopeStrings(" read write ", " delete ")).toBe("read write delete");
310
+ expect(mergeScopeStrings("read write", "write delete", "read")).toBe("read write delete");
311
+ expect(mergeScopeStrings("read write", "", "delete")).toBe("read write delete");
312
+ });
313
+ function escapeTemplateLiteral(s) {
314
+ return s.replaceAll("\\", "\\\\").replaceAll("`", "\\`").replaceAll("${", "\\${");
315
+ }
316
+ (void 0)?.test("escapeTemplateLiteral", ({ expect }) => {
317
+ expect(escapeTemplateLiteral("")).toBe("");
318
+ expect(escapeTemplateLiteral("hello world")).toBe("hello world");
319
+ expect(escapeTemplateLiteral("hello `world`")).toBe("hello \\`world\\`");
320
+ expect(escapeTemplateLiteral("hello \\world")).toBe("hello \\\\world");
321
+ expect(escapeTemplateLiteral("hello $world")).toBe("hello $world");
322
+ expect(escapeTemplateLiteral("hello ${$world")).toBe("hello \\${$world");
323
+ expect(escapeTemplateLiteral("`hello` ${world\\")).toBe("\\`hello\\` \\${world\\\\");
324
+ expect(escapeTemplateLiteral("\\`hello\\`")).toBe("\\\\\\`hello\\\\\\`");
325
+ });
326
+ /**
327
+ * Some classes have different constructor names in different environments (eg. `Headers` is sometimes called `_Headers`,
328
+ * so we create an object of overrides to handle these cases.
329
+ */
330
+ const nicifiableClassNameOverrides = new Map(Object.entries({ Headers }).map(([k, v]) => [v, k]));
331
+ function nicify(value, options = {}) {
332
+ const fullOptions = {
333
+ maxDepth: 5,
334
+ currentIndent: "",
335
+ lineIndent: " ",
336
+ multiline: true,
337
+ refs: /* @__PURE__ */ new Map(),
338
+ path: "value",
339
+ parent: null,
340
+ overrides: () => null,
341
+ keyInParent: null,
342
+ hideFields: [],
343
+ ...(0, __objects_js.filterUndefined)(options)
344
+ };
345
+ const { maxDepth, currentIndent, lineIndent, multiline, refs, path, overrides, hideFields } = fullOptions;
346
+ const nl = `\n${currentIndent}`;
347
+ const overrideResult = overrides(value, options);
348
+ if (overrideResult !== null) return overrideResult;
349
+ if ([
350
+ "function",
351
+ "object",
352
+ "symbol"
353
+ ].includes(typeof value) && value !== null) {
354
+ if (refs.has(value)) return `Ref<${refs.get(value)}>`;
355
+ refs.set(value, path);
356
+ }
357
+ const newOptions = {
358
+ maxDepth: maxDepth - 1,
359
+ currentIndent,
360
+ lineIndent,
361
+ multiline,
362
+ refs,
363
+ path: path + "->[unknown property]",
364
+ overrides,
365
+ parent: {
366
+ value,
367
+ options: fullOptions
368
+ },
369
+ keyInParent: null,
370
+ hideFields: []
371
+ };
372
+ const nestedNicify = (newValue, newPath, keyInParent, options = {}) => {
373
+ return nicify(newValue, {
374
+ ...newOptions,
375
+ path: newPath,
376
+ currentIndent: currentIndent + lineIndent,
377
+ keyInParent,
378
+ ...options
379
+ });
380
+ };
381
+ switch (typeof value) {
382
+ case "boolean":
383
+ case "number": return JSON.stringify(value);
384
+ case "string": {
385
+ const isDeindentable = (v) => deindent(v) === v && v.includes("\n");
386
+ const wrapInDeindent = (v) => deindent`
387
+ deindent\`
388
+ ${currentIndent + lineIndent}${escapeTemplateLiteral(v).replaceAll("\n", nl + lineIndent)}
389
+ ${currentIndent}\`
390
+ `;
391
+ if (isDeindentable(value)) return wrapInDeindent(value);
392
+ else if (value.endsWith("\n") && isDeindentable(value.slice(0, -1))) return wrapInDeindent(value.slice(0, -1)) + " + \"\\n\"";
393
+ else return JSON.stringify(value);
394
+ }
395
+ case "undefined": return "undefined";
396
+ case "symbol": return value.toString();
397
+ case "bigint": return `${value}n`;
398
+ case "function":
399
+ if (value.name) return `function ${value.name}(...) { ... }`;
400
+ return `(...) => { ... }`;
401
+ case "object": {
402
+ if (value === null) return "null";
403
+ if (Array.isArray(value)) {
404
+ const extraLines = getNicifiedObjectExtraLines(value);
405
+ const resValueLength = value.length + extraLines.length;
406
+ if (resValueLength === 0) return "[]";
407
+ if (maxDepth <= 0) return `[...]`;
408
+ const resValues = value.map((v, i) => nestedNicify(v, `${path}[${i}]`, i));
409
+ resValues.push(...extraLines);
410
+ if (resValues.length !== resValueLength) throw new __errors_js.HexclaveAssertionError("nicify of object: resValues.length !== resValueLength", {
411
+ value,
412
+ resValues,
413
+ resValueLength
414
+ });
415
+ if (resValues.length > 4 || resValues.some((x) => resValues.length > 1 && x.length > 4 || x.includes("\n"))) return `[${nl}${resValues.map((x) => `${lineIndent}${x},${nl}`).join("")}]`;
416
+ else return `[${resValues.join(", ")}]`;
417
+ }
418
+ if (value instanceof Date) return `Date(${nestedNicify(value.toISOString(), `${path}.toISOString()`, null)})`;
419
+ if (value instanceof URL) return `URL(${nestedNicify(value.toString(), `${path}.toString()`, null)})`;
420
+ if (ArrayBuffer.isView(value)) return `${value.constructor.name}([${value.toString()}])`;
421
+ if (value instanceof ArrayBuffer) return `ArrayBuffer [${new Uint8Array(value).toString()}]`;
422
+ if (value instanceof Error) {
423
+ let stack = value.stack ?? "";
424
+ const toString = value.toString();
425
+ if (!stack.startsWith(toString)) stack = `${toString}\n${stack}`;
426
+ stack = stack.trimEnd();
427
+ stack = stack.replace(/\n\s+/g, `\n${lineIndent}${lineIndent}`);
428
+ stack = stack.replace("\n", `\n${lineIndent}Stack:\n`);
429
+ if (Object.keys(value).length > 0) stack += `\n${lineIndent}Extra properties: ${nestedNicify(Object.fromEntries(Object.entries(value)), path, null)}`;
430
+ if (value.cause) stack += `\n${lineIndent}Cause:\n${lineIndent}${lineIndent}${nestedNicify(value.cause, path, null, { currentIndent: currentIndent + lineIndent + lineIndent })}`;
431
+ stack = stack.replaceAll("\n", `\n${currentIndent}`);
432
+ return stack;
433
+ }
434
+ const constructorName = [null, Object.prototype].includes(Object.getPrototypeOf(value)) ? null : nicifiableClassNameOverrides.get(value.constructor) ?? value.constructor.name;
435
+ const constructorString = constructorName ? `${constructorName} ` : "";
436
+ const entries = getNicifiableEntries(value).filter(([k]) => !hideFields.includes(k));
437
+ const extraLines = [...getNicifiedObjectExtraLines(value), ...hideFields.length > 0 ? [`<some fields may have been hidden>`] : []];
438
+ const resValueLength = entries.length + extraLines.length;
439
+ if (resValueLength === 0) return `${constructorString}{}`;
440
+ if (maxDepth <= 0) return `${constructorString}{ ... }`;
441
+ const resValues = entries.map(([k, v], keyIndex) => {
442
+ const keyNicified = nestedNicify(k, `Object.keys(${path})[${keyIndex}]`, null);
443
+ const keyInObjectLiteral = typeof k === "string" ? nicifyPropertyString(k) : `[${keyNicified}]`;
444
+ if (typeof v === "function" && v.name === k) return `${keyInObjectLiteral}(...): { ... }`;
445
+ else return `${keyInObjectLiteral}: ${nestedNicify(v, `${path}[${keyNicified}]`, k)}`;
446
+ });
447
+ resValues.push(...extraLines);
448
+ if (resValues.length !== resValueLength) throw new __errors_js.HexclaveAssertionError("nicify of object: resValues.length !== resValueLength", {
449
+ value,
450
+ resValues,
451
+ resValueLength
452
+ });
453
+ const shouldIndent = resValues.length > 1 || resValues.some((x) => x.includes("\n"));
454
+ if (resValues.length === 0) return `${constructorString}{}`;
455
+ if (shouldIndent) return `${constructorString}{${nl}${resValues.map((x) => `${lineIndent}${x},${nl}`).join("")}}`;
456
+ else return `${constructorString}{ ${resValues.join(", ")} }`;
457
+ }
458
+ default: return `${typeof value}<${value}>`;
459
+ }
460
+ }
461
+ function replaceAll(input, searchValue, replaceValue) {
462
+ if (searchValue === "") throw new __errors_js.HexclaveAssertionError("replaceAll: searchValue is empty");
463
+ return input.split(searchValue).join(replaceValue);
464
+ }
465
+ (void 0)?.test("replaceAll", ({ expect }) => {
466
+ expect(replaceAll("hello world", "o", "x")).toBe("hellx wxrld");
467
+ expect(replaceAll("aaa", "a", "b")).toBe("bbb");
468
+ expect(replaceAll("", "a", "b")).toBe("");
469
+ expect(replaceAll("abc", "b", "")).toBe("ac");
470
+ expect(replaceAll("test.test.test", ".", "_")).toBe("test_test_test");
471
+ expect(replaceAll("a.b*c", ".", "x")).toBe("axb*c");
472
+ expect(replaceAll("a*b*c", "*", "x")).toBe("axbxc");
473
+ expect(replaceAll("hello hello", "hello", "hi")).toBe("hi hi");
474
+ });
475
+ function nicifyPropertyString(str) {
476
+ return JSON.stringify(str);
477
+ }
478
+ (void 0)?.test("nicifyPropertyString", ({ expect }) => {
479
+ expect(nicifyPropertyString("validName")).toBe("\"validName\"");
480
+ expect(nicifyPropertyString("_validName")).toBe("\"_validName\"");
481
+ expect(nicifyPropertyString("valid123Name")).toBe("\"valid123Name\"");
482
+ expect(nicifyPropertyString("123invalid")).toBe("\"123invalid\"");
483
+ expect(nicifyPropertyString("invalid-name")).toBe("\"invalid-name\"");
484
+ expect(nicifyPropertyString("invalid space")).toBe("\"invalid space\"");
485
+ expect(nicifyPropertyString("$invalid")).toBe("\"$invalid\"");
486
+ expect(nicifyPropertyString("")).toBe("\"\"");
487
+ expect(nicifyPropertyString("property!")).toBe("\"property!\"");
488
+ expect(nicifyPropertyString("property.name")).toBe("\"property.name\"");
489
+ expect(nicifyPropertyString("\\")).toBe("\"\\\\\"");
490
+ expect(nicifyPropertyString("\"")).toBe("\"\\\"\"");
491
+ });
492
+ function getNicifiableKeys(value) {
493
+ const overridden = ("getNicifiableKeys" in value ? value.getNicifiableKeys?.bind(value) : null)?.();
494
+ if (overridden != null) return overridden;
495
+ if (value instanceof Response) return ["status", "headers"];
496
+ return (0, __arrays_js.unique)(Object.keys(value).sort());
497
+ }
498
+ (void 0)?.test("getNicifiableKeys", ({ expect }) => {
499
+ expect(getNicifiableKeys({
500
+ b: 1,
501
+ a: 2,
502
+ c: 3
503
+ })).toEqual([
504
+ "a",
505
+ "b",
506
+ "c"
507
+ ]);
508
+ expect(getNicifiableKeys({})).toEqual([]);
509
+ expect(getNicifiableKeys(new Response())).toEqual(["status", "headers"]);
510
+ expect(getNicifiableKeys({
511
+ a: 1,
512
+ b: 2,
513
+ getNicifiableKeys() {
514
+ return ["customKey1", "customKey2"];
515
+ }
516
+ })).toEqual(["customKey1", "customKey2"]);
517
+ });
518
+ function getNicifiableEntries(value) {
519
+ const recordLikes = [Headers];
520
+ function isRecordLike(value) {
521
+ return recordLikes.some((x) => value instanceof x);
522
+ }
523
+ if (isRecordLike(value)) return [...value.entries()].sort(([a], [b]) => stringCompare(`${a}`, `${b}`));
524
+ return getNicifiableKeys(value).map((k) => [k, value[k]]);
525
+ }
526
+ function getNicifiedObjectExtraLines(value) {
527
+ return ("getNicifiedObjectExtraLines" in value ? value.getNicifiedObjectExtraLines : null)?.() ?? [];
528
+ }
529
+
530
+ //#endregion
531
+ exports.deindent = deindent;
532
+ exports.deindentTemplate = deindentTemplate;
533
+ exports.escapeTemplateLiteral = escapeTemplateLiteral;
534
+ exports.extractScopes = extractScopes;
535
+ exports.getWhitespacePrefix = getWhitespacePrefix;
536
+ exports.getWhitespaceSuffix = getWhitespaceSuffix;
537
+ exports.mergeScopeStrings = mergeScopeStrings;
538
+ exports.nicify = nicify;
539
+ exports.replaceAll = replaceAll;
540
+ exports.stringCompare = stringCompare;
541
+ exports.templateIdentity = templateIdentity;
542
+ exports.trimEmptyLinesEnd = trimEmptyLinesEnd;
543
+ exports.trimEmptyLinesStart = trimEmptyLinesStart;
544
+ exports.trimLines = trimLines;
545
+ exports.typedCapitalize = typedCapitalize;
546
+ exports.typedJoin = typedJoin;
547
+ exports.typedToLowercase = typedToLowercase;
548
+ exports.typedToUppercase = typedToUppercase;
549
+ //# sourceMappingURL=strings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.js","names":[],"sources":["../../src/utils/strings.tsx"],"sourcesContent":["import { findLastIndex, unique } from \"./arrays\";\nimport { HexclaveAssertionError } from \"./errors\";\nimport { filterUndefined } from \"./objects\";\n\nexport type Join<T extends string[], Separator extends string> =\n T extends [] ? \"\"\n : T extends [infer U extends string, ...infer Rest extends string[]]\n ? `${U}${Rest extends [any, ...any[]] ? `${Separator}${Join<Rest, Separator>}` : \"\"}`\n : \"<error-joining-strings>\";\n\nexport function typedJoin<T extends string[], Separator extends string>(strings: T, separator: Separator): Join<T, Separator> {\n return strings.join(separator) as Join<T, Separator>;\n}\n\nexport function typedToLowercase<S extends string>(s: S): Lowercase<S> {\n if (typeof s !== \"string\") throw new HexclaveAssertionError(\"Expected a string for typedToLowercase\", { s });\n return s.toLowerCase() as Lowercase<S>;\n}\nimport.meta.vitest?.test(\"typedToLowercase\", ({ expect }) => {\n expect(typedToLowercase(\"\")).toBe(\"\");\n expect(typedToLowercase(\"HELLO\")).toBe(\"hello\");\n expect(typedToLowercase(\"Hello World\")).toBe(\"hello world\");\n expect(typedToLowercase(\"hello\")).toBe(\"hello\");\n expect(typedToLowercase(\"123\")).toBe(\"123\");\n expect(typedToLowercase(\"MIXED123case\")).toBe(\"mixed123case\");\n expect(typedToLowercase(\"Special@Chars!\")).toBe(\"special@chars!\");\n expect(() => typedToLowercase(123 as any)).toThrow(\"Expected a string for typedToLowercase\");\n});\n\nexport function typedToUppercase<S extends string>(s: S): Uppercase<S> {\n if (typeof s !== \"string\") throw new HexclaveAssertionError(\"Expected a string for typedToUppercase\", { s });\n return s.toUpperCase() as Uppercase<S>;\n}\nimport.meta.vitest?.test(\"typedToUppercase\", ({ expect }) => {\n expect(typedToUppercase(\"\")).toBe(\"\");\n expect(typedToUppercase(\"hello\")).toBe(\"HELLO\");\n expect(typedToUppercase(\"Hello World\")).toBe(\"HELLO WORLD\");\n expect(typedToUppercase(\"HELLO\")).toBe(\"HELLO\");\n expect(typedToUppercase(\"123\")).toBe(\"123\");\n expect(typedToUppercase(\"mixed123Case\")).toBe(\"MIXED123CASE\");\n expect(typedToUppercase(\"special@chars!\")).toBe(\"SPECIAL@CHARS!\");\n expect(() => typedToUppercase(123 as any)).toThrow(\"Expected a string for typedToUppercase\");\n});\n\nexport function typedCapitalize<S extends string>(s: S): Capitalize<S> {\n return s.charAt(0).toUpperCase() + s.slice(1) as Capitalize<S>;\n}\nimport.meta.vitest?.test(\"typedCapitalize\", ({ expect }) => {\n expect(typedCapitalize(\"\")).toBe(\"\");\n expect(typedCapitalize(\"hello\")).toBe(\"Hello\");\n expect(typedCapitalize(\"hello world\")).toBe(\"Hello world\");\n expect(typedCapitalize(\"HELLO\")).toBe(\"HELLO\");\n expect(typedCapitalize(\"123test\")).toBe(\"123test\");\n expect(typedCapitalize(\"already Capitalized\")).toBe(\"Already Capitalized\");\n expect(typedCapitalize(\"h\")).toBe(\"H\");\n});\n\n/**\n * Compares two strings in a way that is not dependent on the current locale.\n */\nexport function stringCompare(a: string, b: string): number {\n if (typeof a !== \"string\" || typeof b !== \"string\") throw new HexclaveAssertionError(`Expected two strings for stringCompare, found ${typeof a} and ${typeof b}`, { a, b });\n const cmp = (a: string, b: string) => a < b ? -1 : a > b ? 1 : 0;\n return cmp(a.toUpperCase(), b.toUpperCase()) || cmp(b, a);\n}\nimport.meta.vitest?.test(\"stringCompare\", ({ expect }) => {\n // Equal strings\n expect(stringCompare(\"a\", \"a\")).toBe(0);\n expect(stringCompare(\"\", \"\")).toBe(0);\n\n // Case comparison - note that this function is NOT case-insensitive\n // It compares uppercase versions first, then original strings\n expect(stringCompare(\"a\", \"A\")).toBe(-1); // lowercase comes after uppercase\n expect(stringCompare(\"A\", \"a\")).toBe(1); // uppercase comes before lowercase\n expect(stringCompare(\"abc\", \"ABC\")).toBe(-1);\n expect(stringCompare(\"ABC\", \"abc\")).toBe(1);\n\n // Different strings\n expect(stringCompare(\"a\", \"b\")).toBe(-1);\n expect(stringCompare(\"b\", \"a\")).toBe(1);\n\n // Strings with different lengths\n expect(stringCompare(\"abc\", \"abcd\")).toBe(-1);\n expect(stringCompare(\"abcd\", \"abc\")).toBe(1);\n\n // Strings with numbers\n expect(stringCompare(\"a1\", \"a2\")).toBe(-1);\n expect(stringCompare(\"a10\", \"a2\")).toBe(-1);\n\n // Strings with special characters\n expect(stringCompare(\"a\", \"a!\")).toBe(-1);\n expect(stringCompare(\"a!\", \"a\")).toBe(1);\n});\n\n/**\n * Returns all whitespace character at the start of the string.\n *\n * Uses the same definition for whitespace as `String.prototype.trim()`.\n */\nexport function getWhitespacePrefix(s: string): string {\n return s.substring(0, s.length - s.trimStart().length);\n}\nimport.meta.vitest?.test(\"getWhitespacePrefix\", ({ expect }) => {\n expect(getWhitespacePrefix(\"\")).toBe(\"\");\n expect(getWhitespacePrefix(\"hello\")).toBe(\"\");\n expect(getWhitespacePrefix(\" hello\")).toBe(\" \");\n expect(getWhitespacePrefix(\" hello\")).toBe(\" \");\n expect(getWhitespacePrefix(\"\\thello\")).toBe(\"\\t\");\n expect(getWhitespacePrefix(\"\\n hello\")).toBe(\"\\n \");\n expect(getWhitespacePrefix(\" \")).toBe(\" \");\n expect(getWhitespacePrefix(\" \\t\\n\\r\")).toBe(\" \\t\\n\\r\");\n});\n\n/**\n * Returns all whitespace character at the end of the string.\n *\n * Uses the same definition for whitespace as `String.prototype.trim()`.\n */\nexport function getWhitespaceSuffix(s: string): string {\n return s.substring(s.trimEnd().length);\n}\nimport.meta.vitest?.test(\"getWhitespaceSuffix\", ({ expect }) => {\n expect(getWhitespaceSuffix(\"\")).toBe(\"\");\n expect(getWhitespaceSuffix(\"hello\")).toBe(\"\");\n expect(getWhitespaceSuffix(\"hello \")).toBe(\" \");\n expect(getWhitespaceSuffix(\"hello \")).toBe(\" \");\n expect(getWhitespaceSuffix(\"hello\\t\")).toBe(\"\\t\");\n expect(getWhitespaceSuffix(\"hello \\n\")).toBe(\" \\n\");\n expect(getWhitespaceSuffix(\" \")).toBe(\" \");\n expect(getWhitespaceSuffix(\" \\t\\n\\r\")).toBe(\" \\t\\n\\r\");\n});\n\n/**\n * Returns a string with all empty or whitespace-only lines at the start removed.\n *\n * Uses the same definition for whitespace as `String.prototype.trim()`.\n */\nexport function trimEmptyLinesStart(s: string): string {\n const lines = s.split(\"\\n\");\n const firstNonEmptyLineIndex = lines.findIndex((line) => line.trim() !== \"\");\n // If all lines are empty or whitespace-only, return an empty string\n if (firstNonEmptyLineIndex === -1) return \"\";\n return lines.slice(firstNonEmptyLineIndex).join(\"\\n\");\n}\nimport.meta.vitest?.test(\"trimEmptyLinesStart\", ({ expect }) => {\n expect(trimEmptyLinesStart(\"\")).toBe(\"\");\n expect(trimEmptyLinesStart(\"hello\")).toBe(\"hello\");\n expect(trimEmptyLinesStart(\"\\nhello\")).toBe(\"hello\");\n expect(trimEmptyLinesStart(\"\\n\\nhello\")).toBe(\"hello\");\n expect(trimEmptyLinesStart(\" \\n\\t\\nhello\")).toBe(\"hello\");\n expect(trimEmptyLinesStart(\"\\n\\nhello\\nworld\")).toBe(\"hello\\nworld\");\n expect(trimEmptyLinesStart(\"hello\\n\\nworld\")).toBe(\"hello\\n\\nworld\");\n expect(trimEmptyLinesStart(\"hello\\nworld\\n\")).toBe(\"hello\\nworld\\n\");\n expect(trimEmptyLinesStart(\"\\n \\n\\nhello\\n \\nworld\")).toBe(\"hello\\n \\nworld\");\n // Edge case: all lines are empty\n expect(trimEmptyLinesStart(\"\\n\\n \\n\\t\")).toBe(\"\");\n});\n\n/**\n * Returns a string with all empty or whitespace-only lines at the end removed.\n *\n * Uses the same definition for whitespace as `String.prototype.trim()`.\n */\nexport function trimEmptyLinesEnd(s: string): string {\n const lines = s.split(\"\\n\");\n const lastNonEmptyLineIndex = findLastIndex(lines, (line) => line.trim() !== \"\");\n return lines.slice(0, lastNonEmptyLineIndex + 1).join(\"\\n\");\n}\nimport.meta.vitest?.test(\"trimEmptyLinesEnd\", ({ expect }) => {\n expect(trimEmptyLinesEnd(\"\")).toBe(\"\");\n expect(trimEmptyLinesEnd(\"hello\")).toBe(\"hello\");\n expect(trimEmptyLinesEnd(\"hello\\n\")).toBe(\"hello\");\n expect(trimEmptyLinesEnd(\"hello\\n\\n\")).toBe(\"hello\");\n expect(trimEmptyLinesEnd(\"hello\\n \\n\\t\")).toBe(\"hello\");\n expect(trimEmptyLinesEnd(\"hello\\nworld\\n\\n\")).toBe(\"hello\\nworld\");\n expect(trimEmptyLinesEnd(\"hello\\n\\nworld\")).toBe(\"hello\\n\\nworld\");\n expect(trimEmptyLinesEnd(\"\\nhello\\nworld\")).toBe(\"\\nhello\\nworld\");\n expect(trimEmptyLinesEnd(\"hello\\n \\nworld\\n\\n \")).toBe(\"hello\\n \\nworld\");\n // Edge case: all lines are empty\n expect(trimEmptyLinesEnd(\"\\n\\n \\n\\t\")).toBe(\"\");\n});\n\n/**\n * Returns a string with all empty or whitespace-only lines trimmed at the start and end.\n *\n * Uses the same definition for whitespace as `String.prototype.trim()`.\n */\nexport function trimLines(s: string): string {\n return trimEmptyLinesEnd(trimEmptyLinesStart(s));\n}\nimport.meta.vitest?.test(\"trimLines\", ({ expect }) => {\n expect(trimLines(\"\")).toBe(\"\");\n expect(trimLines(\" \")).toBe(\"\");\n expect(trimLines(\" \\n \")).toBe(\"\");\n expect(trimLines(\" abc \")).toBe(\" abc \");\n expect(trimLines(\"\\n \\nLine1\\nLine2\\n \\n\")).toBe(\"Line1\\nLine2\");\n expect(trimLines(\"Line1\\n \\nLine2\")).toBe(\"Line1\\n \\nLine2\");\n expect(trimLines(\" \\n \\n\\t\")).toBe(\"\");\n expect(trimLines(\" Hello World\")).toBe(\" Hello World\");\n expect(trimLines(\"\\n\")).toBe(\"\");\n expect(trimLines(\"\\t \\n\\t\\tLine1 \\n \\nLine2\\t\\t\\n\\t \")).toBe(\"\\t\\tLine1 \\n \\nLine2\\t\\t\");\n});\n\n\n/**\n * A template literal tag that returns the same string as the template literal without a tag.\n *\n * Useful for implementing your own template literal tags.\n */\nexport function templateIdentity(strings: TemplateStringsArray | readonly string[], ...values: string[]): string {\n if (values.length !== strings.length - 1) throw new HexclaveAssertionError(\"Invalid number of values; must be one less than strings\", { strings, values });\n\n return strings.reduce((result, str, i) => result + str + (values[i] ?? ''), '');\n}\nimport.meta.vitest?.test(\"templateIdentity\", ({ expect }) => {\n expect(templateIdentity`Hello World`).toBe(\"Hello World\");\n expect(templateIdentity`${\"Hello\"}`).toBe(\"Hello\");\n const greeting = \"Hello\";\n const subject = \"World\";\n expect(templateIdentity`${greeting}, ${subject}!`).toBe(\"Hello, World!\");\n expect(templateIdentity`${\"A\"}${\"B\"}${\"C\"}`).toBe(\"ABC\");\n expect(templateIdentity`Start${\"\"}Middle${\"\"}End`).toBe(\"StartMiddleEnd\");\n expect(templateIdentity``).toBe(\"\");\n expect(templateIdentity`Line1\nLine2`).toBe(\"Line1\\nLine2\");\n expect(templateIdentity([\"a \", \" scientific \", \"gun\"], \"certain\", \"rail\")).toBe(\"a certain scientific railgun\");\n expect(templateIdentity([\"only one part\"])).toBe(\"only one part\");\n expect(() => templateIdentity([\"a \", \"b\", \"c\"], \"only one\")).toThrow(\"Invalid number of values\");\n expect(() => templateIdentity([\"a\", \"b\"], \"x\", \"y\")).toThrow(\"Invalid number of values\");\n});\n\n\nexport function deindent(code: string): string;\nexport function deindent(strings: TemplateStringsArray | readonly string[], ...values: any[]): string;\nexport function deindent(strings: string | readonly string[], ...values: any[]): string {\n if (typeof strings === \"string\") return deindent([strings]);\n return templateIdentity(...deindentTemplate(strings, ...values));\n}\n\nexport function deindentTemplate(strings: TemplateStringsArray | readonly string[], ...values: any[]): [string[], ...string[]] {\n if (values.length !== strings.length - 1) throw new HexclaveAssertionError(\"Invalid number of values; must be one less than strings\", { strings, values });\n\n const trimmedStrings = [...strings];\n trimmedStrings[0] = trimEmptyLinesStart(trimmedStrings[0] + \"+\").slice(0, -1);\n trimmedStrings[trimmedStrings.length - 1] = trimEmptyLinesEnd(\"+\" + trimmedStrings[trimmedStrings.length - 1]).slice(1);\n\n const indentation = trimmedStrings\n .join(\"${SOME_VALUE}\")\n .split(\"\\n\")\n .filter((line) => line.trim() !== \"\")\n .map((line) => getWhitespacePrefix(line).length)\n .reduce((min, current) => Math.min(min, current), Infinity);\n\n const deindentedStrings = trimmedStrings\n .map((string, stringIndex) => {\n return string\n .split(\"\\n\")\n .map((line, lineIndex) => stringIndex !== 0 && lineIndex === 0 ? line : line.substring(indentation))\n .join(\"\\n\");\n });\n\n const indentedValues = values.map((value, i) => {\n const firstLineIndentation = getWhitespacePrefix(deindentedStrings[i].split(\"\\n\").at(-1)!);\n return `${value}`.replaceAll(\"\\n\", `\\n${firstLineIndentation}`);\n });\n\n return [deindentedStrings, ...indentedValues];\n}\nimport.meta.vitest?.test(\"deindent\", ({ expect }) => {\n // Test with string input\n expect(deindent(\" hello\")).toBe(\"hello\");\n expect(deindent(\" hello\\n world\")).toBe(\"hello\\nworld\");\n expect(deindent(\" hello\\n world\")).toBe(\"hello\\n world\");\n expect(deindent(\"\\n hello\\n world\\n\")).toBe(\"hello\\nworld\");\n\n // Test with empty input\n expect(deindent(\"\")).toBe(\"\");\n\n // Test with template literal\n expect(deindent`\n hello\n world\n `).toBe(\"hello\\nworld\");\n\n expect(deindent`\n hello\n world\n `).toBe(\"hello\\n world\");\n\n // Test with values\n const value = \"test\";\n expect(deindent`\n hello ${value}\n world\n `).toBe(`hello ${value}\\nworld`);\n\n // Test with multiline values\n expect(deindent`\n hello\n to ${\"line1\\n line2\"}\n world\n `).toBe(`hello\\n to line1\\n line2\\nworld`);\n\n // Leading whitespace values\n expect(deindent`\n ${\" \"}A\n ${\" \"}B\n ${\" \"}C\n `).toBe(` A\\n B\\n C`);\n\n // Trailing whitespaces (note: there are two whitespaces each after A and after C)\n expect(deindent`\n A \n B ${\" \"}\n C \n `).toBe(`A \\nB \\nC `);\n\n // Test with mixed indentation\n expect(deindent`\n hello\n world\n !\n `).toBe(\"hello\\n world\\n !\");\n\n // Test error cases\n expect(() => deindent([\"a\", \"b\", \"c\"], \"too\", \"many\", \"values\")).toThrow(\"Invalid number of values\");\n});\n\nexport function extractScopes(scope: string, removeDuplicates=true): string[] {\n // TODO what is this for? can we move this into the OAuth code in the backend?\n const trimmedString = scope.trim();\n const scopesArray = trimmedString.split(/\\s+/);\n const filtered = scopesArray.filter(scope => scope.length > 0);\n return removeDuplicates ? [...new Set(filtered)] : filtered;\n}\nimport.meta.vitest?.test(\"extractScopes\", ({ expect }) => {\n // Test with empty string\n expect(extractScopes(\"\")).toEqual([]);\n\n // Test with single scope\n expect(extractScopes(\"read\")).toEqual([\"read\"]);\n\n // Test with multiple scopes\n expect(extractScopes(\"read write\")).toEqual([\"read\", \"write\"]);\n\n // Test with extra whitespace\n expect(extractScopes(\" read write \")).toEqual([\"read\", \"write\"]);\n\n // Test with newlines and tabs\n expect(extractScopes(\"read\\nwrite\\tdelete\")).toEqual([\"read\", \"write\", \"delete\"]);\n\n // Test with duplicates (default behavior)\n expect(extractScopes(\"read write read\")).toEqual([\"read\", \"write\"]);\n\n // Test with duplicates (explicitly set to remove)\n expect(extractScopes(\"read write read\", true)).toEqual([\"read\", \"write\"]);\n\n // Test with duplicates (explicitly set to keep)\n expect(extractScopes(\"read write read\", false)).toEqual([\"read\", \"write\", \"read\"]);\n});\n\nexport function mergeScopeStrings(...scopes: string[]): string {\n // TODO what is this for? can we move this into the OAuth code in the backend?\n const allScope = scopes.map((s) => extractScopes(s)).flat().join(\" \");\n return extractScopes(allScope).join(\" \");\n}\nimport.meta.vitest?.test(\"mergeScopeStrings\", ({ expect }) => {\n // Test with empty input\n expect(mergeScopeStrings()).toBe(\"\");\n\n // Test with single scope string\n expect(mergeScopeStrings(\"read write\")).toBe(\"read write\");\n\n // Test with multiple scope strings\n expect(mergeScopeStrings(\"read\", \"write\")).toBe(\"read write\");\n\n // Test with overlapping scopes\n expect(mergeScopeStrings(\"read write\", \"write delete\")).toBe(\"read write delete\");\n\n // Test with extra whitespace\n expect(mergeScopeStrings(\" read write \", \" delete \")).toBe(\"read write delete\");\n\n // Test with duplicates across strings\n expect(mergeScopeStrings(\"read write\", \"write delete\", \"read\")).toBe(\"read write delete\");\n\n // Test with empty strings\n expect(mergeScopeStrings(\"read write\", \"\", \"delete\")).toBe(\"read write delete\");\n});\n\nexport function escapeTemplateLiteral(s: string): string {\n return s.replaceAll(\"\\\\\", \"\\\\\\\\\").replaceAll(\"`\", \"\\\\`\").replaceAll(\"${\", \"\\\\${\");\n}\nimport.meta.vitest?.test(\"escapeTemplateLiteral\", ({ expect }) => {\n // Test with empty string\n expect(escapeTemplateLiteral(\"\")).toBe(\"\");\n\n // Test with normal string (no special characters)\n expect(escapeTemplateLiteral(\"hello world\")).toBe(\"hello world\");\n\n // Test with backtick\n const input1 = \"hello `world`\";\n const output1 = escapeTemplateLiteral(input1);\n // Verify backticks are escaped\n expect(output1).toBe(\"hello \\\\`world\\\\`\");\n\n // Test with backslash\n const input2 = \"hello \\\\world\";\n const output2 = escapeTemplateLiteral(input2);\n // Verify backslashes are escaped\n expect(output2).toBe(\"hello \\\\\\\\world\");\n\n // Test with dollar sign\n const input3 = \"hello $world\";\n const output3 = escapeTemplateLiteral(input3);\n // Verify dollar signs are escaped\n expect(output3).toBe(\"hello $world\");\n\n // Test with dollar sign in interpolation\n const input4 = \"hello ${$world\";\n const output4 = escapeTemplateLiteral(input4);\n // Verify dollar signs are escaped\n expect(output4).toBe(\"hello \\\\${$world\");\n\n // Test with multiple special characters\n const input5 = \"`hello` ${world\\\\\";\n const output5 = escapeTemplateLiteral(input5);\n // Verify all special characters are escaped\n expect(output5).toBe(\"\\\\`hello\\\\` \\\\${world\\\\\\\\\");\n\n // Test with already escaped characters\n const input6 = \"\\\\`hello\\\\`\";\n const output6 = escapeTemplateLiteral(input6);\n expect(output6).toBe(\"\\\\\\\\\\\\`hello\\\\\\\\\\\\`\");\n});\n\n/**\n * Some classes have different constructor names in different environments (eg. `Headers` is sometimes called `_Headers`,\n * so we create an object of overrides to handle these cases.\n */\nconst nicifiableClassNameOverrides = new Map(Object.entries({\n Headers,\n} as Record<string, unknown>).map(([k, v]) => [v, k]));\nexport type Nicifiable = {\n getNicifiableKeys?(): PropertyKey[],\n getNicifiedObjectExtraLines?(): string[],\n};\nexport type NicifyOptions = {\n maxDepth: number,\n currentIndent: string,\n lineIndent: string,\n multiline: boolean,\n refs: Map<unknown, string>,\n path: string,\n parent: null | {\n options: NicifyOptions,\n value: unknown,\n },\n keyInParent: PropertyKey | null,\n hideFields: PropertyKey[],\n overrides: (...args: Parameters<typeof nicify>) => string | null,\n};\nexport function nicify(\n value: unknown,\n options: Partial<NicifyOptions> = {},\n): string {\n const fullOptions: NicifyOptions = {\n maxDepth: 5,\n currentIndent: \"\",\n lineIndent: \" \",\n multiline: true,\n refs: new Map(),\n path: \"value\",\n parent: null,\n overrides: () => null,\n keyInParent: null,\n hideFields: [],\n ...filterUndefined(options),\n };\n const {\n maxDepth,\n currentIndent,\n lineIndent,\n multiline,\n refs,\n path,\n overrides,\n hideFields,\n } = fullOptions;\n const nl = `\\n${currentIndent}`;\n\n const overrideResult = overrides(value, options);\n if (overrideResult !== null) return overrideResult;\n\n if ([\"function\", \"object\", \"symbol\"].includes(typeof value) && value !== null) {\n if (refs.has(value)) {\n return `Ref<${refs.get(value)}>`;\n }\n refs.set(value, path);\n }\n\n const newOptions: NicifyOptions = {\n maxDepth: maxDepth - 1,\n currentIndent,\n lineIndent,\n multiline,\n refs,\n path: path + \"->[unknown property]\",\n overrides,\n parent: { value, options: fullOptions },\n keyInParent: null,\n hideFields: [],\n };\n const nestedNicify = (newValue: unknown, newPath: string, keyInParent: PropertyKey | null, options: Partial<NicifyOptions> = {}) => {\n return nicify(newValue, {\n ...newOptions,\n path: newPath,\n currentIndent: currentIndent + lineIndent,\n keyInParent,\n ...options,\n });\n };\n\n switch (typeof value) {\n case \"boolean\": case \"number\": {\n return JSON.stringify(value);\n }\n case \"string\": {\n const isDeindentable = (v: string) => deindent(v) === v && v.includes(\"\\n\");\n const wrapInDeindent = (v: string) => deindent`\n deindent\\`\n ${currentIndent + lineIndent}${escapeTemplateLiteral(v).replaceAll(\"\\n\", nl + lineIndent)}\n ${currentIndent}\\`\n `;\n if (isDeindentable(value)) {\n return wrapInDeindent(value);\n } else if (value.endsWith(\"\\n\") && isDeindentable(value.slice(0, -1))) {\n return wrapInDeindent(value.slice(0, -1)) + ' + \"\\\\n\"';\n } else {\n return JSON.stringify(value);\n }\n }\n case \"undefined\": {\n return \"undefined\";\n }\n case \"symbol\": {\n return value.toString();\n }\n case \"bigint\": {\n return `${value}n`;\n }\n case \"function\": {\n if (value.name) return `function ${value.name}(...) { ... }`;\n return `(...) => { ... }`;\n }\n case \"object\": {\n if (value === null) return \"null\";\n if (Array.isArray(value)) {\n const extraLines = getNicifiedObjectExtraLines(value);\n const resValueLength = value.length + extraLines.length;\n if (resValueLength === 0) return \"[]\"; // early return in case maxDepth <= 0\n if (maxDepth <= 0) return `[...]`;\n const resValues = value.map((v, i) => nestedNicify(v, `${path}[${i}]`, i));\n resValues.push(...extraLines);\n if (resValues.length !== resValueLength) throw new HexclaveAssertionError(\"nicify of object: resValues.length !== resValueLength\", { value, resValues, resValueLength });\n const shouldIndent = resValues.length > 4 || resValues.some(x => (resValues.length > 1 && x.length > 4) || x.includes(\"\\n\"));\n if (shouldIndent) {\n return `[${nl}${resValues.map(x => `${lineIndent}${x},${nl}`).join(\"\")}]`;\n } else {\n return `[${resValues.join(\", \")}]`;\n }\n }\n if (value instanceof Date) {\n return `Date(${nestedNicify(value.toISOString(), `${path}.toISOString()`, null)})`;\n }\n if (value instanceof URL) {\n return `URL(${nestedNicify(value.toString(), `${path}.toString()`, null)})`;\n }\n if (ArrayBuffer.isView(value)) {\n return `${value.constructor.name}([${value.toString()}])`;\n }\n if (value instanceof ArrayBuffer) {\n return `ArrayBuffer [${new Uint8Array(value).toString()}]`;\n }\n if (value instanceof Error) {\n let stack = value.stack ?? \"\";\n const toString = value.toString();\n if (!stack.startsWith(toString)) stack = `${toString}\\n${stack}`; // some browsers don't include the error message in the stack, some do\n stack = stack.trimEnd();\n stack = stack.replace(/\\n\\s+/g, `\\n${lineIndent}${lineIndent}`);\n stack = stack.replace(\"\\n\", `\\n${lineIndent}Stack:\\n`);\n if (Object.keys(value).length > 0) {\n stack += `\\n${lineIndent}Extra properties: ${nestedNicify(Object.fromEntries(Object.entries(value)), path, null)}`;\n }\n if (value.cause) {\n stack += `\\n${lineIndent}Cause:\\n${lineIndent}${lineIndent}${nestedNicify(value.cause, path, null, { currentIndent: currentIndent + lineIndent + lineIndent })}`;\n }\n stack = stack.replaceAll(\"\\n\", `\\n${currentIndent}`);\n return stack;\n }\n\n const constructorName = [null, Object.prototype].includes(Object.getPrototypeOf(value)) ? null : (nicifiableClassNameOverrides.get(value.constructor) ?? value.constructor.name);\n const constructorString = constructorName ? `${constructorName} ` : \"\";\n\n const entries = getNicifiableEntries(value).filter(([k]) => !hideFields.includes(k));\n const extraLines = [\n ...getNicifiedObjectExtraLines(value),\n ...hideFields.length > 0 ? [`<some fields may have been hidden>`] : [],\n ];\n const resValueLength = entries.length + extraLines.length;\n if (resValueLength === 0) return `${constructorString}{}`;\n if (maxDepth <= 0) return `${constructorString}{ ... }`;\n const resValues = entries.map(([k, v], keyIndex) => {\n const keyNicified = nestedNicify(k, `Object.keys(${path})[${keyIndex}]`, null);\n const keyInObjectLiteral = typeof k === \"string\" ? nicifyPropertyString(k) : `[${keyNicified}]`;\n if (typeof v === \"function\" && v.name === k) {\n return `${keyInObjectLiteral}(...): { ... }`;\n } else {\n return `${keyInObjectLiteral}: ${nestedNicify(v, `${path}[${keyNicified}]`, k)}`;\n }\n });\n resValues.push(...extraLines);\n if (resValues.length !== resValueLength) throw new HexclaveAssertionError(\"nicify of object: resValues.length !== resValueLength\", { value, resValues, resValueLength });\n const shouldIndent = resValues.length > 1 || resValues.some(x => x.includes(\"\\n\"));\n\n if (resValues.length === 0) return `${constructorString}{}`;\n if (shouldIndent) {\n return `${constructorString}{${nl}${resValues.map(x => `${lineIndent}${x},${nl}`).join(\"\")}}`;\n } else {\n return `${constructorString}{ ${resValues.join(\", \")} }`;\n }\n }\n default: {\n return `${typeof value}<${value}>`;\n }\n }\n}\n\nexport function replaceAll(input: string, searchValue: string, replaceValue: string): string {\n if (searchValue === \"\") throw new HexclaveAssertionError(\"replaceAll: searchValue is empty\");\n return input.split(searchValue).join(replaceValue);\n}\nimport.meta.vitest?.test(\"replaceAll\", ({ expect }) => {\n expect(replaceAll(\"hello world\", \"o\", \"x\")).toBe(\"hellx wxrld\");\n expect(replaceAll(\"aaa\", \"a\", \"b\")).toBe(\"bbb\");\n expect(replaceAll(\"\", \"a\", \"b\")).toBe(\"\");\n expect(replaceAll(\"abc\", \"b\", \"\")).toBe(\"ac\");\n expect(replaceAll(\"test.test.test\", \".\", \"_\")).toBe(\"test_test_test\");\n expect(replaceAll(\"a.b*c\", \".\", \"x\")).toBe(\"axb*c\");\n expect(replaceAll(\"a*b*c\", \"*\", \"x\")).toBe(\"axbxc\");\n expect(replaceAll(\"hello hello\", \"hello\", \"hi\")).toBe(\"hi hi\");\n});\n\nfunction nicifyPropertyString(str: string) {\n return JSON.stringify(str);\n}\nimport.meta.vitest?.test(\"nicifyPropertyString\", ({ expect }) => {\n // Test valid identifiers\n expect(nicifyPropertyString(\"validName\")).toBe('\"validName\"');\n expect(nicifyPropertyString(\"_validName\")).toBe('\"_validName\"');\n expect(nicifyPropertyString(\"valid123Name\")).toBe('\"valid123Name\"');\n\n // Test invalid identifiers\n expect(nicifyPropertyString(\"123invalid\")).toBe('\"123invalid\"');\n expect(nicifyPropertyString(\"invalid-name\")).toBe('\"invalid-name\"');\n expect(nicifyPropertyString(\"invalid space\")).toBe('\"invalid space\"');\n expect(nicifyPropertyString(\"$invalid\")).toBe('\"$invalid\"');\n expect(nicifyPropertyString(\"\")).toBe('\"\"');\n\n // Test with special characters\n expect(nicifyPropertyString(\"property!\")).toBe('\"property!\"');\n expect(nicifyPropertyString(\"property.name\")).toBe('\"property.name\"');\n\n // Test with escaped characters\n expect(nicifyPropertyString(\"\\\\\")).toBe('\"\\\\\\\\\"');\n expect(nicifyPropertyString('\"')).toBe('\"\\\\\"\"');\n});\n\nfunction getNicifiableKeys(value: Nicifiable | object) {\n const overridden = (\"getNicifiableKeys\" in value ? value.getNicifiableKeys?.bind(value) : null)?.();\n if (overridden != null) return overridden;\n if (value instanceof Response) {\n return ['status', 'headers'];\n }\n const keys = Object.keys(value).sort();\n return unique(keys);\n}\nimport.meta.vitest?.test(\"getNicifiableKeys\", ({ expect }) => {\n // Test regular object\n expect(getNicifiableKeys({ b: 1, a: 2, c: 3 })).toEqual([\"a\", \"b\", \"c\"]);\n\n // Test empty object\n expect(getNicifiableKeys({})).toEqual([]);\n\n\n expect(getNicifiableKeys(new Response())).toEqual([\"status\", \"headers\"]);\n\n // Test object with custom getNicifiableKeys\n const customObject = {\n a: 1,\n b: 2,\n getNicifiableKeys() {\n return [\"customKey1\", \"customKey2\"];\n }\n };\n expect(getNicifiableKeys(customObject)).toEqual([\"customKey1\", \"customKey2\"]);\n});\n\nfunction getNicifiableEntries(value: Nicifiable | object): [PropertyKey, unknown][] {\n const recordLikes = [Headers];\n function isRecordLike(value: unknown): value is InstanceType<typeof recordLikes[number]> {\n return recordLikes.some(x => value instanceof x);\n }\n\n if (isRecordLike(value)) {\n return [...value.entries()].sort(([a], [b]) => stringCompare(`${a}`, `${b}`));\n }\n const keys = getNicifiableKeys(value);\n return keys.map((k) => [k, value[k as never]] as [PropertyKey, unknown]);\n}\n\nfunction getNicifiedObjectExtraLines(value: Nicifiable | object) {\n return (\"getNicifiedObjectExtraLines\" in value ? value.getNicifiedObjectExtraLines : null)?.() ?? [];\n}\n"],"mappings":"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"}