@hexclave/shared 1.0.40 → 1.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1066) hide show
  1. package/dist/admin-interface-Y9EZqwD6.d.ts +379 -0
  2. package/dist/admin-interface-Y9EZqwD6.d.ts.map +1 -0
  3. package/dist/admin-metrics-bsOkw4YQ.d.ts +807 -0
  4. package/dist/admin-metrics-bsOkw4YQ.d.ts.map +1 -0
  5. package/dist/ai/image-limits.d.ts.map +1 -1
  6. package/dist/ai/image-limits.js +6 -7
  7. package/dist/ai/image-limits.js.map +1 -1
  8. package/dist/ai/llms/llms.d.ts.map +1 -1
  9. package/dist/ai/llms/llms.js +2 -4
  10. package/dist/ai/llms/llms.js.map +1 -1
  11. package/dist/ai/unified-prompts/reminders.js +3 -6
  12. package/dist/ai/unified-prompts/reminders.js.map +1 -1
  13. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -1
  14. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +3 -5
  15. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -1
  16. package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.js +3 -6
  17. package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.js.map +1 -1
  18. package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.js +3 -6
  19. package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.js.map +1 -1
  20. package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.js +3 -6
  21. package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.js.map +1 -1
  22. package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js +3 -6
  23. package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js.map +1 -1
  24. package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js +3 -6
  25. package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js.map +1 -1
  26. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts.map +1 -1
  27. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.js +5 -6
  28. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.js.map +1 -1
  29. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js +1 -2
  30. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js.map +1 -1
  31. package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js +3 -6
  32. package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js.map +1 -1
  33. package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js +3 -6
  34. package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js.map +1 -1
  35. package/dist/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -1
  36. package/dist/ai/unified-prompts/skill-site-prompt.js +2 -4
  37. package/dist/ai/unified-prompts/skill-site-prompt.js.map +1 -1
  38. package/dist/analytics-IjkAsefy.d.ts +14 -0
  39. package/dist/analytics-IjkAsefy.d.ts.map +1 -0
  40. package/dist/apps/apps-config.d.ts.map +1 -1
  41. package/dist/apps/apps-config.js +2 -3
  42. package/dist/apps/apps-config.js.map +1 -1
  43. package/dist/apps/apps-ui.d.ts +1 -2
  44. package/dist/apps/apps-ui.d.ts.map +1 -1
  45. package/dist/apps/apps-ui.js +4 -5
  46. package/dist/apps/apps-ui.js.map +1 -1
  47. package/dist/client-interface-iIw4nU5k.d.ts +447 -0
  48. package/dist/client-interface-iIw4nU5k.d.ts.map +1 -0
  49. package/dist/config/db-sync-mappings.js +2 -3
  50. package/dist/config/db-sync-mappings.js.map +1 -1
  51. package/dist/config/format.d.ts +2 -61
  52. package/dist/config/format.js +2 -192
  53. package/dist/config/format.js.map +1 -1
  54. package/dist/config/migrate-catalogs-to-product-lines.d.ts.map +1 -1
  55. package/dist/config/migrate-catalogs-to-product-lines.js +2 -196
  56. package/dist/config/migrate-catalogs-to-product-lines.js.map +1 -1
  57. package/dist/config/schema-fuzzer.test.js +18 -172
  58. package/dist/config/schema-fuzzer.test.js.map +1 -1
  59. package/dist/config/schema.d.ts +2 -2328
  60. package/dist/config/schema.js +6 -351
  61. package/dist/config/schema.js.map +1 -1
  62. package/dist/config-authoring.d.ts +1 -1
  63. package/dist/config-authoring.d.ts.map +1 -1
  64. package/dist/config-authoring.js +2 -3
  65. package/dist/config-authoring.js.map +1 -1
  66. package/dist/config-authoring.test.js +1 -3
  67. package/dist/config-authoring.test.js.map +1 -1
  68. package/dist/config-eval.d.ts.map +1 -1
  69. package/dist/config-eval.js +4 -46
  70. package/dist/config-eval.js.map +1 -1
  71. package/dist/config-rendering.d.ts.map +1 -1
  72. package/dist/config-rendering.js +2 -48
  73. package/dist/config-rendering.js.map +1 -1
  74. package/dist/connected-accounts-D5CKe50A.d.ts +67 -0
  75. package/dist/connected-accounts-D5CKe50A.d.ts.map +1 -0
  76. package/dist/contact-channels-DW8yQxlc.d.ts +180 -0
  77. package/dist/contact-channels-DW8yQxlc.d.ts.map +1 -0
  78. package/dist/country-codes-CRWDroBE.d.ts +11 -0
  79. package/dist/country-codes-CRWDroBE.d.ts.map +1 -0
  80. package/dist/crud-CqmEW9s6.d.ts +98 -0
  81. package/dist/crud-CqmEW9s6.d.ts.map +1 -0
  82. package/dist/crud.d.ts +2 -98
  83. package/dist/crud.js +3 -71
  84. package/dist/crud.js.map +1 -1
  85. package/dist/currency-constants-Cq_q8twn.d.ts +45 -0
  86. package/dist/currency-constants-Cq_q8twn.d.ts.map +1 -0
  87. package/dist/current-user-BBoN3hsn.d.ts +284 -0
  88. package/dist/current-user-BBoN3hsn.d.ts.map +1 -0
  89. package/dist/dates-B6ne9iOR.d.ts +23 -0
  90. package/dist/dates-B6ne9iOR.d.ts.map +1 -0
  91. package/dist/email-outbox-B1wmVPRG.d.ts +1464 -0
  92. package/dist/{interface/crud/email-outbox.d.ts.map → email-outbox-B1wmVPRG.d.ts.map} +1 -1
  93. package/dist/emails-Ba4yEaCS.d.ts +40 -0
  94. package/dist/emails-Ba4yEaCS.d.ts.map +1 -0
  95. package/dist/errors-Cl-RUyed.d.ts +238 -0
  96. package/dist/errors-Cl-RUyed.d.ts.map +1 -0
  97. package/dist/esm/ai/image-limits.d.ts.map +1 -1
  98. package/dist/esm/ai/image-limits.js +5 -5
  99. package/dist/esm/ai/image-limits.js.map +1 -1
  100. package/dist/esm/ai/llms/llms.d.ts +1 -1
  101. package/dist/esm/ai/llms/llms.d.ts.map +1 -1
  102. package/dist/esm/ai/llms/llms.js +1 -2
  103. package/dist/esm/ai/llms/llms.js.map +1 -1
  104. package/dist/esm/ai/unified-prompts/reminders.js +1 -2
  105. package/dist/esm/ai/unified-prompts/reminders.js.map +1 -1
  106. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -1
  107. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +26 -28
  108. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -1
  109. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.js +1 -2
  110. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.js.map +1 -1
  111. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.js +1 -2
  112. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.js.map +1 -1
  113. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.js +1 -2
  114. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.js.map +1 -1
  115. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js +1 -2
  116. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js.map +1 -1
  117. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js +1 -2
  118. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js.map +1 -1
  119. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts.map +1 -1
  120. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.js +2 -3
  121. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.js.map +1 -1
  122. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js +1 -1
  123. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js.map +1 -1
  124. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js +1 -2
  125. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js.map +1 -1
  126. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js +1 -2
  127. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js.map +1 -1
  128. package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -1
  129. package/dist/esm/ai/unified-prompts/skill-site-prompt.js +1 -2
  130. package/dist/esm/ai/unified-prompts/skill-site-prompt.js.map +1 -1
  131. package/dist/esm/apps/apps-config.d.ts.map +1 -1
  132. package/dist/esm/apps/apps-config.js +1 -1
  133. package/dist/esm/apps/apps-config.js.map +1 -1
  134. package/dist/esm/apps/apps-ui.d.ts +2 -3
  135. package/dist/esm/apps/apps-ui.d.ts.map +1 -1
  136. package/dist/esm/apps/apps-ui.js +2 -3
  137. package/dist/esm/apps/apps-ui.js.map +1 -1
  138. package/dist/esm/config/db-sync-mappings.js +1 -1
  139. package/dist/esm/config/db-sync-mappings.js.map +1 -1
  140. package/dist/esm/config/format.d.ts +1 -1
  141. package/dist/esm/config/format.d.ts.map +1 -1
  142. package/dist/esm/config/format.js +1 -190
  143. package/dist/esm/config/format.js.map +1 -1
  144. package/dist/esm/config/migrate-catalogs-to-product-lines.d.ts.map +1 -1
  145. package/dist/esm/config/migrate-catalogs-to-product-lines.js +1 -194
  146. package/dist/esm/config/migrate-catalogs-to-product-lines.js.map +1 -1
  147. package/dist/esm/config/schema-fuzzer.test.js +20 -173
  148. package/dist/esm/config/schema-fuzzer.test.js.map +1 -1
  149. package/dist/esm/config/schema.d.ts +81 -82
  150. package/dist/esm/config/schema.d.ts.map +1 -1
  151. package/dist/esm/config/schema.js +2 -347
  152. package/dist/esm/config/schema.js.map +1 -1
  153. package/dist/esm/config-authoring.d.ts +1 -1
  154. package/dist/esm/config-authoring.d.ts.map +1 -1
  155. package/dist/esm/config-authoring.js +1 -1
  156. package/dist/esm/config-authoring.js.map +1 -1
  157. package/dist/esm/config-authoring.test.js +2 -3
  158. package/dist/esm/config-authoring.test.js.map +1 -1
  159. package/dist/esm/config-eval.d.ts +1 -1
  160. package/dist/esm/config-eval.d.ts.map +1 -1
  161. package/dist/esm/config-eval.js +1 -43
  162. package/dist/esm/config-eval.js.map +1 -1
  163. package/dist/esm/config-rendering.d.ts.map +1 -1
  164. package/dist/esm/config-rendering.js +1 -46
  165. package/dist/esm/config-rendering.js.map +1 -1
  166. package/dist/esm/crud.d.ts +1 -1
  167. package/dist/esm/crud.d.ts.map +1 -1
  168. package/dist/esm/crud.js +2 -69
  169. package/dist/esm/crud.js.map +1 -1
  170. package/dist/esm/helpers/emails.js +1 -2
  171. package/dist/esm/helpers/emails.js.map +1 -1
  172. package/dist/esm/helpers/init-prompt.d.ts.map +1 -1
  173. package/dist/esm/helpers/init-prompt.js +1 -2
  174. package/dist/esm/helpers/init-prompt.js.map +1 -1
  175. package/dist/esm/helpers/password.d.ts +1 -1
  176. package/dist/esm/helpers/password.d.ts.map +1 -1
  177. package/dist/esm/helpers/password.js +1 -2
  178. package/dist/esm/helpers/password.js.map +1 -1
  179. package/dist/esm/helpers/production-mode.d.ts +1 -1
  180. package/dist/esm/helpers/production-mode.d.ts.map +1 -1
  181. package/dist/esm/helpers/production-mode.js +1 -2
  182. package/dist/esm/helpers/production-mode.js.map +1 -1
  183. package/dist/esm/helpers/support-sla.d.ts.map +1 -1
  184. package/dist/esm/helpers/support-sla.js +1 -1
  185. package/dist/esm/helpers/support-sla.js.map +1 -1
  186. package/dist/esm/helpers/support-sla.test.js +2 -3
  187. package/dist/esm/helpers/support-sla.test.js.map +1 -1
  188. package/dist/esm/helpers/vault/client-side.d.ts.map +1 -1
  189. package/dist/esm/helpers/vault/client-side.js +1 -20
  190. package/dist/esm/helpers/vault/client-side.js.map +1 -1
  191. package/dist/esm/helpers/vault/server-side.js +1 -2
  192. package/dist/esm/helpers/vault/server-side.js.map +1 -1
  193. package/dist/esm/hooks/use-async-callback.d.ts.map +1 -1
  194. package/dist/esm/hooks/use-async-callback.js +1 -2
  195. package/dist/esm/hooks/use-async-callback.js.map +1 -1
  196. package/dist/esm/hooks/use-async-external-store.d.ts +1 -1
  197. package/dist/esm/hooks/use-async-external-store.d.ts.map +1 -1
  198. package/dist/esm/hooks/use-async-external-store.js +1 -2
  199. package/dist/esm/hooks/use-async-external-store.js.map +1 -1
  200. package/dist/esm/hooks/use-hash.js +1 -2
  201. package/dist/esm/hooks/use-hash.js.map +1 -1
  202. package/dist/esm/hooks/use-hover.d.ts.map +1 -1
  203. package/dist/esm/hooks/use-hover.js +1 -2
  204. package/dist/esm/hooks/use-hover.js.map +1 -1
  205. package/dist/esm/hooks/use-strict-memo.d.ts.map +1 -1
  206. package/dist/esm/hooks/use-strict-memo.js +1 -70
  207. package/dist/esm/hooks/use-strict-memo.js.map +1 -1
  208. package/dist/esm/index.d.ts +4 -4
  209. package/dist/esm/index.js +1 -2
  210. package/dist/esm/interface/admin-interface.d.ts +19 -19
  211. package/dist/esm/interface/admin-interface.d.ts.map +1 -1
  212. package/dist/esm/interface/admin-interface.js +2 -3
  213. package/dist/esm/interface/admin-interface.js.map +1 -1
  214. package/dist/esm/interface/admin-metrics.d.ts +2 -2
  215. package/dist/esm/interface/admin-metrics.d.ts.map +1 -1
  216. package/dist/esm/interface/admin-metrics.js +1 -2
  217. package/dist/esm/interface/admin-metrics.js.map +1 -1
  218. package/dist/esm/interface/client-interface.d.ts +22 -22
  219. package/dist/esm/interface/client-interface.d.ts.map +1 -1
  220. package/dist/esm/interface/client-interface.js +32 -16
  221. package/dist/esm/interface/client-interface.js.map +1 -1
  222. package/dist/esm/interface/client-interface.test.js +84 -13
  223. package/dist/esm/interface/client-interface.test.js.map +1 -1
  224. package/dist/esm/interface/conversations.d.ts +11 -11
  225. package/dist/esm/interface/conversations.d.ts.map +1 -1
  226. package/dist/esm/interface/conversations.js +1 -2
  227. package/dist/esm/interface/conversations.js.map +1 -1
  228. package/dist/esm/interface/crud/analytics.d.ts.map +1 -1
  229. package/dist/esm/interface/crud/analytics.js +1 -1
  230. package/dist/esm/interface/crud/connected-accounts.d.ts +15 -17
  231. package/dist/esm/interface/crud/connected-accounts.d.ts.map +1 -1
  232. package/dist/esm/interface/crud/connected-accounts.js +1 -2
  233. package/dist/esm/interface/crud/connected-accounts.js.map +1 -1
  234. package/dist/esm/interface/crud/contact-channels.d.ts +24 -26
  235. package/dist/esm/interface/crud/contact-channels.d.ts.map +1 -1
  236. package/dist/esm/interface/crud/contact-channels.js +1 -2
  237. package/dist/esm/interface/crud/contact-channels.js.map +1 -1
  238. package/dist/esm/interface/crud/current-user.d.ts +11 -13
  239. package/dist/esm/interface/crud/current-user.d.ts.map +1 -1
  240. package/dist/esm/interface/crud/current-user.js +25 -29
  241. package/dist/esm/interface/crud/current-user.js.map +1 -1
  242. package/dist/esm/interface/crud/email-outbox.d.ts +10 -12
  243. package/dist/esm/interface/crud/email-outbox.d.ts.map +1 -1
  244. package/dist/esm/interface/crud/email-outbox.js +1 -2
  245. package/dist/esm/interface/crud/email-outbox.js.map +1 -1
  246. package/dist/esm/interface/crud/email-templates.d.ts +16 -18
  247. package/dist/esm/interface/crud/email-templates.d.ts.map +1 -1
  248. package/dist/esm/interface/crud/email-templates.js +1 -2
  249. package/dist/esm/interface/crud/email-templates.js.map +1 -1
  250. package/dist/esm/interface/crud/emails.d.ts +6 -8
  251. package/dist/esm/interface/crud/emails.d.ts.map +1 -1
  252. package/dist/esm/interface/crud/emails.js +1 -2
  253. package/dist/esm/interface/crud/emails.js.map +1 -1
  254. package/dist/esm/interface/crud/internal-api-keys.d.ts +16 -18
  255. package/dist/esm/interface/crud/internal-api-keys.d.ts.map +1 -1
  256. package/dist/esm/interface/crud/internal-api-keys.js +1 -2
  257. package/dist/esm/interface/crud/internal-api-keys.js.map +1 -1
  258. package/dist/esm/interface/crud/invoices.d.ts.map +1 -1
  259. package/dist/esm/interface/crud/invoices.js +1 -2
  260. package/dist/esm/interface/crud/invoices.js.map +1 -1
  261. package/dist/esm/interface/crud/items.d.ts +6 -8
  262. package/dist/esm/interface/crud/items.d.ts.map +1 -1
  263. package/dist/esm/interface/crud/items.js +12 -16
  264. package/dist/esm/interface/crud/items.js.map +1 -1
  265. package/dist/esm/interface/crud/notification-preferences.d.ts +6 -8
  266. package/dist/esm/interface/crud/notification-preferences.d.ts.map +1 -1
  267. package/dist/esm/interface/crud/notification-preferences.js +8 -12
  268. package/dist/esm/interface/crud/notification-preferences.js.map +1 -1
  269. package/dist/esm/interface/crud/oauth-providers.d.ts +24 -26
  270. package/dist/esm/interface/crud/oauth-providers.d.ts.map +1 -1
  271. package/dist/esm/interface/crud/oauth-providers.js +1 -2
  272. package/dist/esm/interface/crud/oauth-providers.js.map +1 -1
  273. package/dist/esm/interface/crud/products.d.ts +16 -17
  274. package/dist/esm/interface/crud/products.d.ts.map +1 -1
  275. package/dist/esm/interface/crud/products.js +3 -2
  276. package/dist/esm/interface/crud/products.js.map +1 -1
  277. package/dist/esm/interface/crud/project-api-keys.d.ts +3 -4
  278. package/dist/esm/interface/crud/project-api-keys.d.ts.map +1 -1
  279. package/dist/esm/interface/crud/project-api-keys.js +1 -2
  280. package/dist/esm/interface/crud/project-api-keys.js.map +1 -1
  281. package/dist/esm/interface/crud/project-permissions.d.ts +29 -31
  282. package/dist/esm/interface/crud/project-permissions.d.ts.map +1 -1
  283. package/dist/esm/interface/crud/project-permissions.js +1 -2
  284. package/dist/esm/interface/crud/project-permissions.js.map +1 -1
  285. package/dist/esm/interface/crud/projects.d.ts +28 -30
  286. package/dist/esm/interface/crud/projects.d.ts.map +1 -1
  287. package/dist/esm/interface/crud/projects.js +3 -2
  288. package/dist/esm/interface/crud/projects.js.map +1 -1
  289. package/dist/esm/interface/crud/session-replays.d.ts.map +1 -1
  290. package/dist/esm/interface/crud/session-replays.js +1 -1
  291. package/dist/esm/interface/crud/sessions.d.ts +15 -17
  292. package/dist/esm/interface/crud/sessions.d.ts.map +1 -1
  293. package/dist/esm/interface/crud/sessions.js +1 -2
  294. package/dist/esm/interface/crud/sessions.js.map +1 -1
  295. package/dist/esm/interface/crud/sign-up-rules.d.ts.map +1 -1
  296. package/dist/esm/interface/crud/sign-up-rules.js +1 -1
  297. package/dist/esm/interface/crud/svix-token.d.ts +8 -10
  298. package/dist/esm/interface/crud/svix-token.d.ts.map +1 -1
  299. package/dist/esm/interface/crud/svix-token.js +1 -2
  300. package/dist/esm/interface/crud/svix-token.js.map +1 -1
  301. package/dist/esm/interface/crud/team-invitation-details.d.ts +6 -8
  302. package/dist/esm/interface/crud/team-invitation-details.d.ts.map +1 -1
  303. package/dist/esm/interface/crud/team-invitation-details.js +1 -2
  304. package/dist/esm/interface/crud/team-invitation-details.js.map +1 -1
  305. package/dist/esm/interface/crud/team-invitation.d.ts +7 -9
  306. package/dist/esm/interface/crud/team-invitation.d.ts.map +1 -1
  307. package/dist/esm/interface/crud/team-invitation.js +1 -2
  308. package/dist/esm/interface/crud/team-invitation.js.map +1 -1
  309. package/dist/esm/interface/crud/team-member-profiles.d.ts +14 -16
  310. package/dist/esm/interface/crud/team-member-profiles.d.ts.map +1 -1
  311. package/dist/esm/interface/crud/team-member-profiles.js +1 -2
  312. package/dist/esm/interface/crud/team-member-profiles.js.map +1 -1
  313. package/dist/esm/interface/crud/team-memberships.d.ts +14 -16
  314. package/dist/esm/interface/crud/team-memberships.d.ts.map +1 -1
  315. package/dist/esm/interface/crud/team-memberships.js +1 -2
  316. package/dist/esm/interface/crud/team-memberships.js.map +1 -1
  317. package/dist/esm/interface/crud/team-permissions.d.ts +29 -31
  318. package/dist/esm/interface/crud/team-permissions.d.ts.map +1 -1
  319. package/dist/esm/interface/crud/team-permissions.js +1 -2
  320. package/dist/esm/interface/crud/team-permissions.js.map +1 -1
  321. package/dist/esm/interface/crud/teams.d.ts +36 -38
  322. package/dist/esm/interface/crud/teams.d.ts.map +1 -1
  323. package/dist/esm/interface/crud/teams.js +2 -4
  324. package/dist/esm/interface/crud/teams.js.map +1 -1
  325. package/dist/esm/interface/crud/transactions.d.ts +12 -14
  326. package/dist/esm/interface/crud/transactions.d.ts.map +1 -1
  327. package/dist/esm/interface/crud/transactions.js +7 -13
  328. package/dist/esm/interface/crud/transactions.js.map +1 -1
  329. package/dist/esm/interface/crud/users.d.ts +5 -6
  330. package/dist/esm/interface/crud/users.d.ts.map +1 -1
  331. package/dist/esm/interface/crud/users.js +9 -5
  332. package/dist/esm/interface/crud/users.js.map +1 -1
  333. package/dist/esm/interface/handler-urls.d.ts +1 -1
  334. package/dist/esm/interface/handler-urls.d.ts.map +1 -1
  335. package/dist/esm/interface/handler-urls.js +1 -2
  336. package/dist/esm/interface/page-component-versions.d.ts +1 -1
  337. package/dist/esm/interface/page-component-versions.d.ts.map +1 -1
  338. package/dist/esm/interface/page-component-versions.js +1 -2
  339. package/dist/esm/interface/page-component-versions.js.map +1 -1
  340. package/dist/esm/interface/plan-usage.d.ts +1 -1
  341. package/dist/esm/interface/plan-usage.d.ts.map +1 -1
  342. package/dist/esm/interface/plan-usage.js +1 -2
  343. package/dist/esm/interface/plan-usage.js.map +1 -1
  344. package/dist/esm/interface/server-interface.d.ts +19 -19
  345. package/dist/esm/interface/server-interface.d.ts.map +1 -1
  346. package/dist/esm/interface/server-interface.js +2 -3
  347. package/dist/esm/interface/server-interface.js.map +1 -1
  348. package/dist/esm/interface/webhooks.d.ts.map +1 -1
  349. package/dist/esm/interface/webhooks.js +1 -2
  350. package/dist/esm/interface/webhooks.js.map +1 -1
  351. package/dist/esm/known-errors.d.ts +2 -2
  352. package/dist/esm/known-errors.d.ts.map +1 -1
  353. package/dist/esm/known-errors.js +10 -21
  354. package/dist/esm/known-errors.js.map +1 -1
  355. package/dist/esm/payments/payment-methods.d.ts.map +1 -1
  356. package/dist/esm/payments/payment-methods.js +1 -1
  357. package/dist/esm/payments/payment-methods.js.map +1 -1
  358. package/dist/esm/payments/stripe-limits.d.ts.map +1 -1
  359. package/dist/esm/payments/stripe-limits.js +1 -1
  360. package/dist/esm/payments/stripe-limits.js.map +1 -1
  361. package/dist/esm/plans.d.ts.map +1 -1
  362. package/dist/esm/plans.js +1 -1
  363. package/dist/esm/plans.js.map +1 -1
  364. package/dist/esm/schema-fields.d.ts +3 -3
  365. package/dist/esm/schema-fields.d.ts.map +1 -1
  366. package/dist/esm/schema-fields.js +3 -64
  367. package/dist/esm/schema-fields.js.map +1 -1
  368. package/dist/esm/sessions.d.ts +1 -1
  369. package/dist/esm/sessions.d.ts.map +1 -1
  370. package/dist/esm/sessions.js +1 -2
  371. package/dist/esm/sessions.js.map +1 -1
  372. package/dist/esm/sessions.test.js +2 -3
  373. package/dist/esm/sessions.test.js.map +1 -1
  374. package/dist/esm/utils/analytics-clickmap-overlay.d.ts.map +1 -1
  375. package/dist/esm/utils/analytics-clickmap-overlay.js +1 -1
  376. package/dist/esm/utils/api-keys.d.ts.map +1 -1
  377. package/dist/esm/utils/api-keys.js +1 -2
  378. package/dist/esm/utils/api-keys.js.map +1 -1
  379. package/dist/esm/utils/arrays.d.ts.map +1 -1
  380. package/dist/esm/utils/arrays.js +1 -470
  381. package/dist/esm/utils/arrays.js.map +1 -1
  382. package/dist/esm/utils/auth-methods.d.ts.map +1 -1
  383. package/dist/esm/utils/auth-methods.js +1 -1
  384. package/dist/esm/utils/auth-methods.js.map +1 -1
  385. package/dist/esm/utils/base64.d.ts.map +1 -1
  386. package/dist/esm/utils/base64.js +1 -10
  387. package/dist/esm/utils/base64.js.map +1 -1
  388. package/dist/esm/utils/booleans.d.ts.map +1 -1
  389. package/dist/esm/utils/booleans.js +1 -25
  390. package/dist/esm/utils/booleans.js.map +1 -1
  391. package/dist/esm/utils/browser-compat.d.ts.map +1 -1
  392. package/dist/esm/utils/browser-compat.js +1 -1
  393. package/dist/esm/utils/browser-compat.js.map +1 -1
  394. package/dist/esm/utils/bytes.d.ts.map +1 -1
  395. package/dist/esm/utils/bytes.js +3 -198
  396. package/dist/esm/utils/bytes.js.map +1 -1
  397. package/dist/esm/utils/caches.d.ts +1 -1
  398. package/dist/esm/utils/caches.d.ts.map +1 -1
  399. package/dist/esm/utils/caches.js +1 -27
  400. package/dist/esm/utils/caches.js.map +1 -1
  401. package/dist/esm/utils/cel-fields.d.ts.map +1 -1
  402. package/dist/esm/utils/cel-fields.js +1 -2
  403. package/dist/esm/utils/cel-fields.js.map +1 -1
  404. package/dist/esm/utils/cloud-hosts.d.ts.map +1 -1
  405. package/dist/esm/utils/cloud-hosts.js +1 -27
  406. package/dist/esm/utils/cloud-hosts.js.map +1 -1
  407. package/dist/esm/utils/compile-time.d.ts.map +1 -1
  408. package/dist/esm/utils/compile-time.js +1 -1
  409. package/dist/esm/utils/compile-time.js.map +1 -1
  410. package/dist/esm/utils/country-codes.d.ts.map +1 -1
  411. package/dist/esm/utils/country-codes.js +1 -16
  412. package/dist/esm/utils/country-codes.js.map +1 -1
  413. package/dist/esm/utils/crypto.d.ts.map +1 -1
  414. package/dist/esm/utils/crypto.js +3 -113
  415. package/dist/esm/utils/crypto.js.map +1 -1
  416. package/dist/esm/utils/currencies.d.ts +1 -1
  417. package/dist/esm/utils/currencies.d.ts.map +1 -1
  418. package/dist/esm/utils/currencies.js +2 -37
  419. package/dist/esm/utils/currencies.js.map +1 -1
  420. package/dist/esm/utils/currency-constants.d.ts.map +1 -1
  421. package/dist/esm/utils/currency-constants.js +1 -1
  422. package/dist/esm/utils/currency-constants.js.map +1 -1
  423. package/dist/esm/utils/dates.d.ts.map +1 -1
  424. package/dist/esm/utils/dates.js +1 -44
  425. package/dist/esm/utils/dates.js.map +1 -1
  426. package/dist/esm/utils/dev-env-state-path.d.ts.map +1 -1
  427. package/dist/esm/utils/dev-env-state-path.js +1 -2
  428. package/dist/esm/utils/dev-env-state-path.js.map +1 -1
  429. package/dist/esm/utils/dev-tool.d.ts.map +1 -1
  430. package/dist/esm/utils/dev-tool.js +1 -1
  431. package/dist/esm/utils/dom.d.ts.map +1 -1
  432. package/dist/esm/utils/dom.js +1 -1
  433. package/dist/esm/utils/dom.js.map +1 -1
  434. package/dist/esm/utils/elements-chain.d.ts.map +1 -1
  435. package/dist/esm/utils/elements-chain.js +5 -50
  436. package/dist/esm/utils/elements-chain.js.map +1 -1
  437. package/dist/esm/utils/env.d.ts.map +1 -1
  438. package/dist/esm/utils/env.js +1 -2
  439. package/dist/esm/utils/env.js.map +1 -1
  440. package/dist/esm/utils/env.test.js +2 -3
  441. package/dist/esm/utils/env.test.js.map +1 -1
  442. package/dist/esm/utils/errors.d.ts +1 -1
  443. package/dist/esm/utils/errors.d.ts.map +1 -1
  444. package/dist/esm/utils/errors.js +1 -2
  445. package/dist/esm/utils/errors.js.map +1 -1
  446. package/dist/esm/utils/esbuild.d.ts +1 -1
  447. package/dist/esm/utils/esbuild.d.ts.map +1 -1
  448. package/dist/esm/utils/esbuild.js +2 -3
  449. package/dist/esm/utils/esbuild.js.map +1 -1
  450. package/dist/esm/utils/featurebase.d.ts.map +1 -1
  451. package/dist/esm/utils/featurebase.js +1 -2
  452. package/dist/esm/utils/featurebase.js.map +1 -1
  453. package/dist/esm/utils/fs.d.ts.map +1 -1
  454. package/dist/esm/utils/fs.js +1 -2
  455. package/dist/esm/utils/fs.js.map +1 -1
  456. package/dist/esm/utils/functions.d.ts.map +1 -1
  457. package/dist/esm/utils/functions.js +1 -24
  458. package/dist/esm/utils/functions.js.map +1 -1
  459. package/dist/esm/utils/geo.d.ts.map +1 -1
  460. package/dist/esm/utils/geo.js +1 -2
  461. package/dist/esm/utils/geo.js.map +1 -1
  462. package/dist/esm/utils/globals.d.ts.map +1 -1
  463. package/dist/esm/utils/globals.js +1 -1
  464. package/dist/esm/utils/globals.js.map +1 -1
  465. package/dist/esm/utils/hashes.d.ts.map +1 -1
  466. package/dist/esm/utils/hashes.js +1 -2
  467. package/dist/esm/utils/hashes.js.map +1 -1
  468. package/dist/esm/utils/html.d.ts.map +1 -1
  469. package/dist/esm/utils/html.js +1 -19
  470. package/dist/esm/utils/html.js.map +1 -1
  471. package/dist/esm/utils/http.d.ts.map +1 -1
  472. package/dist/esm/utils/http.js +1 -19
  473. package/dist/esm/utils/http.js.map +1 -1
  474. package/dist/esm/utils/ips.d.ts.map +1 -1
  475. package/dist/esm/utils/ips.js +1 -25
  476. package/dist/esm/utils/ips.js.map +1 -1
  477. package/dist/esm/utils/json.d.ts +1 -1
  478. package/dist/esm/utils/json.d.ts.map +1 -1
  479. package/dist/esm/utils/json.js +1 -155
  480. package/dist/esm/utils/json.js.map +1 -1
  481. package/dist/esm/utils/jsx-editable-transpiler.d.ts.map +1 -1
  482. package/dist/esm/utils/jsx-editable-transpiler.js +1 -2
  483. package/dist/esm/utils/jsx-editable-transpiler.js.map +1 -1
  484. package/dist/esm/utils/jsx-editable-transpiler.test.js +2 -3
  485. package/dist/esm/utils/jsx-editable-transpiler.test.js.map +1 -1
  486. package/dist/esm/utils/jwt.d.ts.map +1 -1
  487. package/dist/esm/utils/jwt.js +1 -2
  488. package/dist/esm/utils/jwt.js.map +1 -1
  489. package/dist/esm/utils/locks.d.ts.map +1 -1
  490. package/dist/esm/utils/locks.js +1 -2
  491. package/dist/esm/utils/locks.js.map +1 -1
  492. package/dist/esm/utils/maps.d.ts.map +1 -1
  493. package/dist/esm/utils/maps.js +1 -111
  494. package/dist/esm/utils/maps.js.map +1 -1
  495. package/dist/esm/utils/math.d.ts.map +1 -1
  496. package/dist/esm/utils/math.js +1 -11
  497. package/dist/esm/utils/math.js.map +1 -1
  498. package/dist/esm/utils/monkey-patch.d.ts.map +1 -1
  499. package/dist/esm/utils/monkey-patch.js +2 -3
  500. package/dist/esm/utils/monkey-patch.js.map +1 -1
  501. package/dist/esm/utils/node-http.js +1 -2
  502. package/dist/esm/utils/node-http.js.map +1 -1
  503. package/dist/esm/utils/numbers.d.ts.map +1 -1
  504. package/dist/esm/utils/numbers.js +1 -45
  505. package/dist/esm/utils/numbers.js.map +1 -1
  506. package/dist/esm/utils/oauth.d.ts.map +1 -1
  507. package/dist/esm/utils/oauth.js +1 -1
  508. package/dist/esm/utils/oauth.js.map +1 -1
  509. package/dist/esm/utils/objects.d.ts.map +1 -1
  510. package/dist/esm/utils/objects.js +1 -622
  511. package/dist/esm/utils/objects.js.map +1 -1
  512. package/dist/esm/utils/paginated-lists.d.ts.map +1 -1
  513. package/dist/esm/utils/paginated-lists.js +1 -2
  514. package/dist/esm/utils/paginated-lists.js.map +1 -1
  515. package/dist/esm/utils/paginated-lists.test.js +2 -3
  516. package/dist/esm/utils/paginated-lists.test.js.map +1 -1
  517. package/dist/esm/utils/passkey.d.ts +1 -1
  518. package/dist/esm/utils/passkey.js +1 -1
  519. package/dist/esm/utils/promises.d.ts +1 -1
  520. package/dist/esm/utils/promises.d.ts.map +1 -1
  521. package/dist/esm/utils/promises.js +2 -161
  522. package/dist/esm/utils/promises.js.map +1 -1
  523. package/dist/esm/utils/proxies.d.ts.map +1 -1
  524. package/dist/esm/utils/proxies.js +1 -37
  525. package/dist/esm/utils/proxies.js.map +1 -1
  526. package/dist/esm/utils/react.d.ts.map +1 -1
  527. package/dist/esm/utils/react.js +1 -41
  528. package/dist/esm/utils/react.js.map +1 -1
  529. package/dist/esm/utils/redirect-urls.d.ts.map +1 -1
  530. package/dist/esm/utils/redirect-urls.js +2 -92
  531. package/dist/esm/utils/redirect-urls.js.map +1 -1
  532. package/dist/esm/utils/regex.js +1 -1
  533. package/dist/esm/utils/regex.js.map +1 -1
  534. package/dist/esm/utils/results.d.ts.map +1 -1
  535. package/dist/esm/utils/results.js +1 -213
  536. package/dist/esm/utils/results.js.map +1 -1
  537. package/dist/esm/utils/sentry.js +1 -1
  538. package/dist/esm/utils/sentry.js.map +1 -1
  539. package/dist/esm/utils/stores.d.ts +3 -3
  540. package/dist/esm/utils/stores.d.ts.map +1 -1
  541. package/dist/esm/utils/stores.js +1 -2
  542. package/dist/esm/utils/stores.js.map +1 -1
  543. package/dist/esm/utils/strings.d.ts.map +1 -1
  544. package/dist/esm/utils/strings.js +1 -251
  545. package/dist/esm/utils/strings.js.map +1 -1
  546. package/dist/esm/utils/strings.nicify.test.js +2 -3
  547. package/dist/esm/utils/strings.nicify.test.js.map +1 -1
  548. package/dist/esm/utils/telemetry.d.ts.map +1 -1
  549. package/dist/esm/utils/telemetry.js +1 -2
  550. package/dist/esm/utils/telemetry.js.map +1 -1
  551. package/dist/esm/utils/turnstile-browser.d.ts +1 -1
  552. package/dist/esm/utils/turnstile-browser.d.ts.map +1 -1
  553. package/dist/esm/utils/turnstile-browser.js +1 -2
  554. package/dist/esm/utils/turnstile-browser.js.map +1 -1
  555. package/dist/esm/utils/turnstile-flow.d.ts +1 -1
  556. package/dist/esm/utils/turnstile-flow.d.ts.map +1 -1
  557. package/dist/esm/utils/turnstile-flow.js +1 -2
  558. package/dist/esm/utils/turnstile-flow.js.map +1 -1
  559. package/dist/esm/utils/turnstile-flow.test.js +2 -3
  560. package/dist/esm/utils/turnstile-flow.test.js.map +1 -1
  561. package/dist/esm/utils/turnstile.d.ts.map +1 -1
  562. package/dist/esm/utils/turnstile.js +1 -1
  563. package/dist/esm/utils/turnstile.js.map +1 -1
  564. package/dist/esm/utils/typed-arrays.js +1 -2
  565. package/dist/esm/utils/typed-arrays.js.map +1 -1
  566. package/dist/esm/utils/types.d.ts +1 -1
  567. package/dist/esm/utils/types.d.ts.map +1 -1
  568. package/dist/esm/utils/types.js +1 -1
  569. package/dist/esm/utils/types.js.map +1 -1
  570. package/dist/esm/utils/unicode.d.ts.map +1 -1
  571. package/dist/esm/utils/unicode.js +1 -13
  572. package/dist/esm/utils/unicode.js.map +1 -1
  573. package/dist/esm/utils/urls.d.ts.map +1 -1
  574. package/dist/esm/utils/urls.js +1 -151
  575. package/dist/esm/utils/urls.js.map +1 -1
  576. package/dist/esm/utils/uuids.d.ts.map +1 -1
  577. package/dist/esm/utils/uuids.js +2 -26
  578. package/dist/esm/utils/uuids.js.map +1 -1
  579. package/dist/format-4JG1MGv5.d.ts +61 -0
  580. package/dist/format-4JG1MGv5.d.ts.map +1 -0
  581. package/dist/handler-urls-BHt3v8Ai.d.ts +70 -0
  582. package/dist/handler-urls-BHt3v8Ai.d.ts.map +1 -0
  583. package/dist/helpers/emails.js +2 -4
  584. package/dist/helpers/emails.js.map +1 -1
  585. package/dist/helpers/init-prompt.d.ts.map +1 -1
  586. package/dist/helpers/init-prompt.js +2 -4
  587. package/dist/helpers/init-prompt.js.map +1 -1
  588. package/dist/helpers/password.d.ts +1 -1
  589. package/dist/helpers/password.d.ts.map +1 -1
  590. package/dist/helpers/password.js +2 -4
  591. package/dist/helpers/password.js.map +1 -1
  592. package/dist/helpers/production-mode.d.ts +1 -1
  593. package/dist/helpers/production-mode.d.ts.map +1 -1
  594. package/dist/helpers/production-mode.js +2 -4
  595. package/dist/helpers/production-mode.js.map +1 -1
  596. package/dist/helpers/support-sla.d.ts.map +1 -1
  597. package/dist/helpers/support-sla.js +2 -3
  598. package/dist/helpers/support-sla.js.map +1 -1
  599. package/dist/helpers/support-sla.test.js +1 -3
  600. package/dist/helpers/support-sla.test.js.map +1 -1
  601. package/dist/helpers/vault/client-side.d.ts.map +1 -1
  602. package/dist/helpers/vault/client-side.js +2 -22
  603. package/dist/helpers/vault/client-side.js.map +1 -1
  604. package/dist/helpers/vault/server-side.js +2 -4
  605. package/dist/helpers/vault/server-side.js.map +1 -1
  606. package/dist/hooks/use-async-callback.d.ts.map +1 -1
  607. package/dist/hooks/use-async-callback.js +4 -5
  608. package/dist/hooks/use-async-callback.js.map +1 -1
  609. package/dist/hooks/use-async-external-store.d.ts +1 -1
  610. package/dist/hooks/use-async-external-store.d.ts.map +1 -1
  611. package/dist/hooks/use-async-external-store.js +2 -4
  612. package/dist/hooks/use-async-external-store.js.map +1 -1
  613. package/dist/hooks/use-hash.js +2 -4
  614. package/dist/hooks/use-hash.js.map +1 -1
  615. package/dist/hooks/use-hover.d.ts.map +1 -1
  616. package/dist/hooks/use-hover.js +2 -4
  617. package/dist/hooks/use-hover.js.map +1 -1
  618. package/dist/hooks/use-strict-memo.d.ts.map +1 -1
  619. package/dist/hooks/use-strict-memo.js +2 -72
  620. package/dist/hooks/use-strict-memo.js.map +1 -1
  621. package/dist/index.d.ts +4 -4
  622. package/dist/index.js +27 -29
  623. package/dist/interface/admin-interface.d.ts +3 -379
  624. package/dist/interface/admin-interface.js +3 -5
  625. package/dist/interface/admin-interface.js.map +1 -1
  626. package/dist/interface/admin-metrics.d.ts +2 -807
  627. package/dist/interface/admin-metrics.js +2 -4
  628. package/dist/interface/admin-metrics.js.map +1 -1
  629. package/dist/interface/client-interface.d.ts +2 -447
  630. package/dist/interface/client-interface.js +33 -18
  631. package/dist/interface/client-interface.js.map +1 -1
  632. package/dist/interface/client-interface.test.js +83 -13
  633. package/dist/interface/client-interface.test.js.map +1 -1
  634. package/dist/interface/conversations.d.ts +11 -11
  635. package/dist/interface/conversations.d.ts.map +1 -1
  636. package/dist/interface/conversations.js +2 -4
  637. package/dist/interface/conversations.js.map +1 -1
  638. package/dist/interface/crud/analytics.d.ts +2 -14
  639. package/dist/interface/crud/connected-accounts.d.ts +2 -68
  640. package/dist/interface/crud/connected-accounts.js +2 -4
  641. package/dist/interface/crud/connected-accounts.js.map +1 -1
  642. package/dist/interface/crud/contact-channels.d.ts +2 -181
  643. package/dist/interface/crud/contact-channels.js +2 -4
  644. package/dist/interface/crud/contact-channels.js.map +1 -1
  645. package/dist/interface/crud/current-user.d.ts +2 -285
  646. package/dist/interface/crud/current-user.js +2 -4
  647. package/dist/interface/crud/current-user.js.map +1 -1
  648. package/dist/interface/crud/email-outbox.d.ts +2 -1465
  649. package/dist/interface/crud/email-outbox.js +4 -5
  650. package/dist/interface/crud/email-outbox.js.map +1 -1
  651. package/dist/interface/crud/email-templates.d.ts +15 -16
  652. package/dist/interface/crud/email-templates.d.ts.map +1 -1
  653. package/dist/interface/crud/email-templates.js +2 -4
  654. package/dist/interface/crud/email-templates.js.map +1 -1
  655. package/dist/interface/crud/emails.d.ts +2 -41
  656. package/dist/interface/crud/emails.js +4 -5
  657. package/dist/interface/crud/emails.js.map +1 -1
  658. package/dist/interface/crud/internal-api-keys.d.ts +2 -140
  659. package/dist/interface/crud/internal-api-keys.js +2 -4
  660. package/dist/interface/crud/internal-api-keys.js.map +1 -1
  661. package/dist/interface/crud/invoices.d.ts +2 -43
  662. package/dist/interface/crud/invoices.js +2 -4
  663. package/dist/interface/crud/invoices.js.map +1 -1
  664. package/dist/interface/crud/items.d.ts +2 -30
  665. package/dist/interface/crud/items.js +2 -4
  666. package/dist/interface/crud/items.js.map +1 -1
  667. package/dist/interface/crud/notification-preferences.d.ts +2 -38
  668. package/dist/interface/crud/notification-preferences.js +2 -4
  669. package/dist/interface/crud/notification-preferences.js.map +1 -1
  670. package/dist/interface/crud/oauth-providers.d.ts +2 -186
  671. package/dist/interface/crud/oauth-providers.js +2 -4
  672. package/dist/interface/crud/oauth-providers.js.map +1 -1
  673. package/dist/interface/crud/products.d.ts +2 -182
  674. package/dist/interface/crud/products.js +4 -4
  675. package/dist/interface/crud/products.js.map +1 -1
  676. package/dist/interface/crud/project-api-keys.d.ts +2 -203
  677. package/dist/interface/crud/project-api-keys.js +2 -4
  678. package/dist/interface/crud/project-api-keys.js.map +1 -1
  679. package/dist/interface/crud/project-permissions.d.ts +2 -161
  680. package/dist/interface/crud/project-permissions.js +4 -5
  681. package/dist/interface/crud/project-permissions.js.map +1 -1
  682. package/dist/interface/crud/projects.d.ts +2 -901
  683. package/dist/interface/crud/projects.js +6 -5
  684. package/dist/interface/crud/projects.js.map +1 -1
  685. package/dist/interface/crud/session-replays.d.ts +2 -83
  686. package/dist/interface/crud/sessions.d.ts +2 -150
  687. package/dist/interface/crud/sessions.js +2 -4
  688. package/dist/interface/crud/sessions.js.map +1 -1
  689. package/dist/interface/crud/sign-up-rules.d.ts.map +1 -1
  690. package/dist/interface/crud/svix-token.d.ts +2 -31
  691. package/dist/interface/crud/svix-token.js +2 -4
  692. package/dist/interface/crud/svix-token.js.map +1 -1
  693. package/dist/interface/crud/team-invitation-details.d.ts +5 -6
  694. package/dist/interface/crud/team-invitation-details.d.ts.map +1 -1
  695. package/dist/interface/crud/team-invitation-details.js +4 -5
  696. package/dist/interface/crud/team-invitation-details.js.map +1 -1
  697. package/dist/interface/crud/team-invitation.d.ts +2 -54
  698. package/dist/interface/crud/team-invitation.js +4 -5
  699. package/dist/interface/crud/team-invitation.js.map +1 -1
  700. package/dist/interface/crud/team-member-profiles.d.ts +2 -286
  701. package/dist/interface/crud/team-member-profiles.js +4 -5
  702. package/dist/interface/crud/team-member-profiles.js.map +1 -1
  703. package/dist/interface/crud/team-memberships.d.ts +2 -75
  704. package/dist/interface/crud/team-memberships.js +2 -4
  705. package/dist/interface/crud/team-memberships.js.map +1 -1
  706. package/dist/interface/crud/team-permissions.d.ts +2 -169
  707. package/dist/interface/crud/team-permissions.js +4 -5
  708. package/dist/interface/crud/team-permissions.js.map +1 -1
  709. package/dist/interface/crud/teams.d.ts +2 -299
  710. package/dist/interface/crud/teams.js +5 -7
  711. package/dist/interface/crud/teams.js.map +1 -1
  712. package/dist/interface/crud/transactions.d.ts +2 -183
  713. package/dist/interface/crud/transactions.js +2 -4
  714. package/dist/interface/crud/transactions.js.map +1 -1
  715. package/dist/interface/crud/users.d.ts +2 -653
  716. package/dist/interface/crud/users.js +12 -8
  717. package/dist/interface/crud/users.js.map +1 -1
  718. package/dist/interface/handler-urls.d.ts +2 -51
  719. package/dist/interface/handler-urls.js +12 -14
  720. package/dist/interface/page-component-versions.d.ts +2 -25
  721. package/dist/interface/page-component-versions.js +2 -4
  722. package/dist/interface/page-component-versions.js.map +1 -1
  723. package/dist/interface/plan-usage.d.ts +2 -57
  724. package/dist/interface/plan-usage.js +2 -4
  725. package/dist/interface/plan-usage.js.map +1 -1
  726. package/dist/interface/server-interface.d.ts +2 -257
  727. package/dist/interface/server-interface.js +3 -5
  728. package/dist/interface/server-interface.js.map +1 -1
  729. package/dist/interface/webhooks.d.ts +2 -326
  730. package/dist/interface/webhooks.js +2 -4
  731. package/dist/interface/webhooks.js.map +1 -1
  732. package/dist/internal-api-keys-D8IYDodH.d.ts +139 -0
  733. package/dist/internal-api-keys-D8IYDodH.d.ts.map +1 -0
  734. package/dist/invoices-CHo9YKbI.d.ts +43 -0
  735. package/dist/invoices-CHo9YKbI.d.ts.map +1 -0
  736. package/dist/items-DlLSlVUD.d.ts +29 -0
  737. package/dist/items-DlLSlVUD.d.ts.map +1 -0
  738. package/dist/json-a1QIXu5z.d.ts +15 -0
  739. package/dist/json-a1QIXu5z.d.ts.map +1 -0
  740. package/dist/known-errors-Bm4a61wL.d.ts +575 -0
  741. package/dist/known-errors-Bm4a61wL.d.ts.map +1 -0
  742. package/dist/known-errors.d.ts +2 -575
  743. package/dist/known-errors.js +11 -23
  744. package/dist/known-errors.js.map +1 -1
  745. package/dist/notification-preferences-Bmzr_EOY.d.ts +37 -0
  746. package/dist/notification-preferences-Bmzr_EOY.d.ts.map +1 -0
  747. package/dist/oauth-providers-BMkKSSlA.d.ts +185 -0
  748. package/dist/oauth-providers-BMkKSSlA.d.ts.map +1 -0
  749. package/dist/objects-DkCkeBWE.d.ts +59 -0
  750. package/dist/objects-DkCkeBWE.d.ts.map +1 -0
  751. package/dist/passkey-CKg87UH-.d.ts +2 -0
  752. package/dist/payments/payment-methods.d.ts.map +1 -1
  753. package/dist/payments/payment-methods.js +2 -3
  754. package/dist/payments/payment-methods.js.map +1 -1
  755. package/dist/payments/stripe-limits.d.ts.map +1 -1
  756. package/dist/payments/stripe-limits.js +2 -3
  757. package/dist/payments/stripe-limits.js.map +1 -1
  758. package/dist/plan-usage-DfDoj5K4.d.ts +57 -0
  759. package/dist/plan-usage-DfDoj5K4.d.ts.map +1 -0
  760. package/dist/plans.d.ts.map +1 -1
  761. package/dist/plans.js +2 -3
  762. package/dist/plans.js.map +1 -1
  763. package/dist/products-Bs74ld-v.d.ts +182 -0
  764. package/dist/products-Bs74ld-v.d.ts.map +1 -0
  765. package/dist/project-api-keys--7V5X_UW.d.ts +203 -0
  766. package/dist/project-api-keys--7V5X_UW.d.ts.map +1 -0
  767. package/dist/project-permissions-kdi675F-.d.ts +160 -0
  768. package/dist/project-permissions-kdi675F-.d.ts.map +1 -0
  769. package/dist/projects-CFTNXRfG.d.ts +900 -0
  770. package/dist/projects-CFTNXRfG.d.ts.map +1 -0
  771. package/dist/results-DP3BzoL6.d.ts +70 -0
  772. package/dist/results-DP3BzoL6.d.ts.map +1 -0
  773. package/dist/{chunk-BE-pF4vm.js → rolldown-runtime-D6vf50IK.js} +12 -18
  774. package/dist/schema-CJwkGkdf.d.ts +2328 -0
  775. package/dist/schema-CJwkGkdf.d.ts.map +1 -0
  776. package/dist/schema-fields-DqGQ4kF7.d.ts +517 -0
  777. package/dist/schema-fields-DqGQ4kF7.d.ts.map +1 -0
  778. package/dist/schema-fields.d.ts +3 -518
  779. package/dist/schema-fields.js +21 -82
  780. package/dist/schema-fields.js.map +1 -1
  781. package/dist/server-interface-CgpxsLT_.d.ts +257 -0
  782. package/dist/server-interface-CgpxsLT_.d.ts.map +1 -0
  783. package/dist/session-replays-CXqhDpZq.d.ts +83 -0
  784. package/dist/session-replays-CXqhDpZq.d.ts.map +1 -0
  785. package/dist/sessions-B7Ko2Ldr.d.ts +149 -0
  786. package/dist/sessions-B7Ko2Ldr.d.ts.map +1 -0
  787. package/dist/sessions-d8qtvBUB.d.ts +175 -0
  788. package/dist/sessions-d8qtvBUB.d.ts.map +1 -0
  789. package/dist/sessions.d.ts +2 -175
  790. package/dist/sessions.js +4 -5
  791. package/dist/sessions.js.map +1 -1
  792. package/dist/sessions.test.js +1 -3
  793. package/dist/sessions.test.js.map +1 -1
  794. package/dist/strings-DWgkUybS.d.ts +76 -0
  795. package/dist/strings-DWgkUybS.d.ts.map +1 -0
  796. package/dist/svix-token-BsMrLGvy.d.ts +30 -0
  797. package/dist/svix-token-BsMrLGvy.d.ts.map +1 -0
  798. package/dist/team-invitation-Cyqt9oWw.d.ts +53 -0
  799. package/dist/team-invitation-Cyqt9oWw.d.ts.map +1 -0
  800. package/dist/team-member-profiles-BoDEqx-0.d.ts +285 -0
  801. package/dist/team-member-profiles-BoDEqx-0.d.ts.map +1 -0
  802. package/dist/team-memberships-DZHk2A5b.d.ts +74 -0
  803. package/dist/team-memberships-DZHk2A5b.d.ts.map +1 -0
  804. package/dist/team-permissions-DqOpaOWh.d.ts +168 -0
  805. package/dist/team-permissions-DqOpaOWh.d.ts.map +1 -0
  806. package/dist/teams-CQMcBnjM.d.ts +298 -0
  807. package/dist/teams-CQMcBnjM.d.ts.map +1 -0
  808. package/dist/transactions-DhnbvGH5.d.ts +182 -0
  809. package/dist/transactions-DhnbvGH5.d.ts.map +1 -0
  810. package/dist/types-DfTcxNtM.d.ts +77 -0
  811. package/dist/types-DfTcxNtM.d.ts.map +1 -0
  812. package/dist/users-DHNRwoSz.d.ts +653 -0
  813. package/dist/users-DHNRwoSz.d.ts.map +1 -0
  814. package/dist/utils/analytics-clickmap-overlay.d.ts.map +1 -1
  815. package/dist/utils/analytics-clickmap-overlay.js +2 -3
  816. package/dist/utils/analytics-clickmap-overlay.js.map +1 -1
  817. package/dist/utils/api-keys.d.ts.map +1 -1
  818. package/dist/utils/api-keys.js +4 -5
  819. package/dist/utils/api-keys.js.map +1 -1
  820. package/dist/utils/arrays.d.ts.map +1 -1
  821. package/dist/utils/arrays.js +2 -472
  822. package/dist/utils/arrays.js.map +1 -1
  823. package/dist/utils/auth-methods.d.ts.map +1 -1
  824. package/dist/utils/auth-methods.js +2 -3
  825. package/dist/utils/auth-methods.js.map +1 -1
  826. package/dist/utils/base64.d.ts.map +1 -1
  827. package/dist/utils/base64.js +2 -12
  828. package/dist/utils/base64.js.map +1 -1
  829. package/dist/utils/booleans.d.ts.map +1 -1
  830. package/dist/utils/booleans.js +2 -27
  831. package/dist/utils/booleans.js.map +1 -1
  832. package/dist/utils/browser-compat.d.ts.map +1 -1
  833. package/dist/utils/browser-compat.js +2 -3
  834. package/dist/utils/browser-compat.js.map +1 -1
  835. package/dist/utils/bytes.d.ts.map +1 -1
  836. package/dist/utils/bytes.js +4 -200
  837. package/dist/utils/bytes.js.map +1 -1
  838. package/dist/utils/caches.d.ts.map +1 -1
  839. package/dist/utils/caches.js +2 -29
  840. package/dist/utils/caches.js.map +1 -1
  841. package/dist/utils/cel-fields.d.ts.map +1 -1
  842. package/dist/utils/cel-fields.js +2 -4
  843. package/dist/utils/cel-fields.js.map +1 -1
  844. package/dist/utils/cloud-hosts.d.ts.map +1 -1
  845. package/dist/utils/cloud-hosts.js +2 -29
  846. package/dist/utils/cloud-hosts.js.map +1 -1
  847. package/dist/utils/compile-time.d.ts.map +1 -1
  848. package/dist/utils/compile-time.js +2 -3
  849. package/dist/utils/compile-time.js.map +1 -1
  850. package/dist/utils/country-codes.d.ts +2 -11
  851. package/dist/utils/country-codes.js +2 -18
  852. package/dist/utils/country-codes.js.map +1 -1
  853. package/dist/utils/crypto.d.ts.map +1 -1
  854. package/dist/utils/crypto.js +4 -115
  855. package/dist/utils/crypto.js.map +1 -1
  856. package/dist/utils/currencies.d.ts +1 -1
  857. package/dist/utils/currencies.d.ts.map +1 -1
  858. package/dist/utils/currencies.js +3 -39
  859. package/dist/utils/currencies.js.map +1 -1
  860. package/dist/utils/currency-constants.d.ts +2 -45
  861. package/dist/utils/currency-constants.js +2 -3
  862. package/dist/utils/currency-constants.js.map +1 -1
  863. package/dist/utils/dates.d.ts +2 -23
  864. package/dist/utils/dates.js +2 -46
  865. package/dist/utils/dates.js.map +1 -1
  866. package/dist/utils/dev-env-state-path.d.ts.map +1 -1
  867. package/dist/utils/dev-env-state-path.js +2 -4
  868. package/dist/utils/dev-env-state-path.js.map +1 -1
  869. package/dist/utils/dev-tool.d.ts.map +1 -1
  870. package/dist/utils/dev-tool.js +2 -3
  871. package/dist/utils/dev-tool.js.map +1 -1
  872. package/dist/utils/dom.d.ts.map +1 -1
  873. package/dist/utils/dom.js +2 -3
  874. package/dist/utils/dom.js.map +1 -1
  875. package/dist/utils/elements-chain.d.ts.map +1 -1
  876. package/dist/utils/elements-chain.js +6 -52
  877. package/dist/utils/elements-chain.js.map +1 -1
  878. package/dist/utils/env.d.ts.map +1 -1
  879. package/dist/utils/env.js +2 -4
  880. package/dist/utils/env.js.map +1 -1
  881. package/dist/utils/env.test.js +1 -3
  882. package/dist/utils/env.test.js.map +1 -1
  883. package/dist/utils/errors.d.ts +2 -238
  884. package/dist/utils/errors.js +2 -4
  885. package/dist/utils/errors.js.map +1 -1
  886. package/dist/utils/esbuild.d.ts +1 -1
  887. package/dist/utils/esbuild.d.ts.map +1 -1
  888. package/dist/utils/esbuild.js +5 -6
  889. package/dist/utils/esbuild.js.map +1 -1
  890. package/dist/utils/featurebase.d.ts.map +1 -1
  891. package/dist/utils/featurebase.js +2 -4
  892. package/dist/utils/featurebase.js.map +1 -1
  893. package/dist/utils/fs.d.ts.map +1 -1
  894. package/dist/utils/fs.js +5 -6
  895. package/dist/utils/fs.js.map +1 -1
  896. package/dist/utils/functions.d.ts.map +1 -1
  897. package/dist/utils/functions.js +2 -26
  898. package/dist/utils/functions.js.map +1 -1
  899. package/dist/utils/geo.d.ts.map +1 -1
  900. package/dist/utils/geo.js +2 -4
  901. package/dist/utils/geo.js.map +1 -1
  902. package/dist/utils/globals.d.ts.map +1 -1
  903. package/dist/utils/globals.js +2 -3
  904. package/dist/utils/globals.js.map +1 -1
  905. package/dist/utils/hashes.d.ts.map +1 -1
  906. package/dist/utils/hashes.js +4 -5
  907. package/dist/utils/hashes.js.map +1 -1
  908. package/dist/utils/html.d.ts.map +1 -1
  909. package/dist/utils/html.js +2 -21
  910. package/dist/utils/html.js.map +1 -1
  911. package/dist/utils/http.d.ts.map +1 -1
  912. package/dist/utils/http.js +2 -21
  913. package/dist/utils/http.js.map +1 -1
  914. package/dist/utils/ips.d.ts.map +1 -1
  915. package/dist/utils/ips.js +4 -28
  916. package/dist/utils/ips.js.map +1 -1
  917. package/dist/utils/json.d.ts +2 -15
  918. package/dist/utils/json.js +2 -157
  919. package/dist/utils/json.js.map +1 -1
  920. package/dist/utils/jsx-editable-transpiler.d.ts.map +1 -1
  921. package/dist/utils/jsx-editable-transpiler.js +7 -8
  922. package/dist/utils/jsx-editable-transpiler.js.map +1 -1
  923. package/dist/utils/jsx-editable-transpiler.test.js +1 -3
  924. package/dist/utils/jsx-editable-transpiler.test.js.map +1 -1
  925. package/dist/utils/jwt.d.ts.map +1 -1
  926. package/dist/utils/jwt.js +6 -7
  927. package/dist/utils/jwt.js.map +1 -1
  928. package/dist/utils/locks.d.ts.map +1 -1
  929. package/dist/utils/locks.js +2 -4
  930. package/dist/utils/locks.js.map +1 -1
  931. package/dist/utils/maps.d.ts.map +1 -1
  932. package/dist/utils/maps.js +2 -113
  933. package/dist/utils/maps.js.map +1 -1
  934. package/dist/utils/math.d.ts.map +1 -1
  935. package/dist/utils/math.js +2 -13
  936. package/dist/utils/math.js.map +1 -1
  937. package/dist/utils/monkey-patch.d.ts.map +1 -1
  938. package/dist/utils/monkey-patch.js +3 -5
  939. package/dist/utils/monkey-patch.js.map +1 -1
  940. package/dist/utils/node-http.js +2 -4
  941. package/dist/utils/node-http.js.map +1 -1
  942. package/dist/utils/numbers.d.ts.map +1 -1
  943. package/dist/utils/numbers.js +2 -47
  944. package/dist/utils/numbers.js.map +1 -1
  945. package/dist/utils/oauth.d.ts.map +1 -1
  946. package/dist/utils/oauth.js +2 -3
  947. package/dist/utils/oauth.js.map +1 -1
  948. package/dist/utils/objects.d.ts +2 -59
  949. package/dist/utils/objects.js +2 -624
  950. package/dist/utils/objects.js.map +1 -1
  951. package/dist/utils/paginated-lists.d.ts.map +1 -1
  952. package/dist/utils/paginated-lists.js +2 -4
  953. package/dist/utils/paginated-lists.js.map +1 -1
  954. package/dist/utils/paginated-lists.test.js +1 -3
  955. package/dist/utils/paginated-lists.test.js.map +1 -1
  956. package/dist/utils/passkey.d.ts +2 -2
  957. package/dist/utils/promises.d.ts +1 -1
  958. package/dist/utils/promises.d.ts.map +1 -1
  959. package/dist/utils/promises.js +3 -163
  960. package/dist/utils/promises.js.map +1 -1
  961. package/dist/utils/proxies.d.ts.map +1 -1
  962. package/dist/utils/proxies.js +2 -39
  963. package/dist/utils/proxies.js.map +1 -1
  964. package/dist/utils/react.d.ts.map +1 -1
  965. package/dist/utils/react.js +4 -44
  966. package/dist/utils/react.js.map +1 -1
  967. package/dist/utils/redirect-urls.d.ts.map +1 -1
  968. package/dist/utils/redirect-urls.js +3 -94
  969. package/dist/utils/redirect-urls.js.map +1 -1
  970. package/dist/utils/regex.js +2 -3
  971. package/dist/utils/regex.js.map +1 -1
  972. package/dist/utils/results.d.ts +2 -70
  973. package/dist/utils/results.js +2 -215
  974. package/dist/utils/results.js.map +1 -1
  975. package/dist/utils/sentry.js +2 -3
  976. package/dist/utils/sentry.js.map +1 -1
  977. package/dist/utils/stores.d.ts +1 -1
  978. package/dist/utils/stores.d.ts.map +1 -1
  979. package/dist/utils/stores.js +2 -4
  980. package/dist/utils/stores.js.map +1 -1
  981. package/dist/utils/strings.d.ts +2 -76
  982. package/dist/utils/strings.js +2 -253
  983. package/dist/utils/strings.js.map +1 -1
  984. package/dist/utils/strings.nicify.test.js +1 -3
  985. package/dist/utils/strings.nicify.test.js.map +1 -1
  986. package/dist/utils/telemetry.d.ts.map +1 -1
  987. package/dist/utils/telemetry.js +2 -4
  988. package/dist/utils/telemetry.js.map +1 -1
  989. package/dist/utils/turnstile-browser.d.ts.map +1 -1
  990. package/dist/utils/turnstile-browser.js +2 -4
  991. package/dist/utils/turnstile-browser.js.map +1 -1
  992. package/dist/utils/turnstile-flow.d.ts.map +1 -1
  993. package/dist/utils/turnstile-flow.js +2 -4
  994. package/dist/utils/turnstile-flow.js.map +1 -1
  995. package/dist/utils/turnstile-flow.test.js +1 -3
  996. package/dist/utils/turnstile-flow.test.js.map +1 -1
  997. package/dist/utils/turnstile.d.ts.map +1 -1
  998. package/dist/utils/turnstile.js +2 -3
  999. package/dist/utils/turnstile.js.map +1 -1
  1000. package/dist/utils/typed-arrays.js +2 -4
  1001. package/dist/utils/typed-arrays.js.map +1 -1
  1002. package/dist/utils/types.d.ts +2 -77
  1003. package/dist/utils/types.js +2 -3
  1004. package/dist/utils/types.js.map +1 -1
  1005. package/dist/utils/unicode.d.ts.map +1 -1
  1006. package/dist/utils/unicode.js +2 -15
  1007. package/dist/utils/unicode.js.map +1 -1
  1008. package/dist/utils/urls.d.ts.map +1 -1
  1009. package/dist/utils/urls.js +2 -153
  1010. package/dist/utils/urls.js.map +1 -1
  1011. package/dist/utils/uuids.d.ts.map +1 -1
  1012. package/dist/utils/uuids.js +3 -28
  1013. package/dist/utils/uuids.js.map +1 -1
  1014. package/dist/webhooks-8Ts1Clcb.d.ts +326 -0
  1015. package/dist/webhooks-8Ts1Clcb.d.ts.map +1 -0
  1016. package/package.json +2 -8
  1017. package/src/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.ts +1 -0
  1018. package/src/interface/client-interface.test.ts +77 -12
  1019. package/src/interface/client-interface.ts +9 -9
  1020. package/dist/config/format.d.ts.map +0 -1
  1021. package/dist/config/schema.d.ts.map +0 -1
  1022. package/dist/crud.d.ts.map +0 -1
  1023. package/dist/interface/admin-interface.d.ts.map +0 -1
  1024. package/dist/interface/admin-metrics.d.ts.map +0 -1
  1025. package/dist/interface/client-interface.d.ts.map +0 -1
  1026. package/dist/interface/crud/analytics.d.ts.map +0 -1
  1027. package/dist/interface/crud/connected-accounts.d.ts.map +0 -1
  1028. package/dist/interface/crud/contact-channels.d.ts.map +0 -1
  1029. package/dist/interface/crud/current-user.d.ts.map +0 -1
  1030. package/dist/interface/crud/emails.d.ts.map +0 -1
  1031. package/dist/interface/crud/internal-api-keys.d.ts.map +0 -1
  1032. package/dist/interface/crud/invoices.d.ts.map +0 -1
  1033. package/dist/interface/crud/items.d.ts.map +0 -1
  1034. package/dist/interface/crud/notification-preferences.d.ts.map +0 -1
  1035. package/dist/interface/crud/oauth-providers.d.ts.map +0 -1
  1036. package/dist/interface/crud/products.d.ts.map +0 -1
  1037. package/dist/interface/crud/project-api-keys.d.ts.map +0 -1
  1038. package/dist/interface/crud/project-permissions.d.ts.map +0 -1
  1039. package/dist/interface/crud/projects.d.ts.map +0 -1
  1040. package/dist/interface/crud/session-replays.d.ts.map +0 -1
  1041. package/dist/interface/crud/sessions.d.ts.map +0 -1
  1042. package/dist/interface/crud/svix-token.d.ts.map +0 -1
  1043. package/dist/interface/crud/team-invitation.d.ts.map +0 -1
  1044. package/dist/interface/crud/team-member-profiles.d.ts.map +0 -1
  1045. package/dist/interface/crud/team-memberships.d.ts.map +0 -1
  1046. package/dist/interface/crud/team-permissions.d.ts.map +0 -1
  1047. package/dist/interface/crud/teams.d.ts.map +0 -1
  1048. package/dist/interface/crud/transactions.d.ts.map +0 -1
  1049. package/dist/interface/crud/users.d.ts.map +0 -1
  1050. package/dist/interface/handler-urls.d.ts.map +0 -1
  1051. package/dist/interface/page-component-versions.d.ts.map +0 -1
  1052. package/dist/interface/plan-usage.d.ts.map +0 -1
  1053. package/dist/interface/server-interface.d.ts.map +0 -1
  1054. package/dist/interface/webhooks.d.ts.map +0 -1
  1055. package/dist/known-errors.d.ts.map +0 -1
  1056. package/dist/schema-fields.d.ts.map +0 -1
  1057. package/dist/sessions.d.ts.map +0 -1
  1058. package/dist/utils/country-codes.d.ts.map +0 -1
  1059. package/dist/utils/currency-constants.d.ts.map +0 -1
  1060. package/dist/utils/dates.d.ts.map +0 -1
  1061. package/dist/utils/errors.d.ts.map +0 -1
  1062. package/dist/utils/json.d.ts.map +0 -1
  1063. package/dist/utils/objects.d.ts.map +0 -1
  1064. package/dist/utils/results.d.ts.map +0 -1
  1065. package/dist/utils/strings.d.ts.map +0 -1
  1066. package/dist/utils/types.d.ts.map +0 -1
@@ -1,6 +1,5 @@
1
1
  import { describe, expect, it } from "vitest";
2
2
  import { InternalSession } from "./sessions.js";
3
-
4
3
  //#region src/sessions.test.ts
5
4
  /**
6
5
  * Builds a decodable (unsigned) access-token JWT with a valid payload. `refreshTokenId` controls the
@@ -172,7 +171,7 @@ describe("InternalSession#updateAccessToken", () => {
172
171
  expect(currentToken(session)).toBe(initial);
173
172
  });
174
173
  });
175
-
176
174
  //#endregion
177
- export { };
175
+ export {};
176
+
178
177
  //# sourceMappingURL=sessions.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.test.js","names":[],"sources":["../../src/sessions.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { InternalSession } from \"./sessions\";\n\n/**\n * Builds a decodable (unsigned) access-token JWT with a valid payload. `refreshTokenId` controls the\n * `refresh_token_id` claim (the session identifier); `iatOffsetSeconds` lets two tokens for the same session\n * differ as strings while sharing a `refresh_token_id`.\n */\nfunction createAccessTokenString(refreshTokenId: string, options?: { iatOffsetSeconds?: number, sub?: string }): string {\n const encode = (value: unknown) => Buffer.from(JSON.stringify(value)).toString(\"base64url\");\n const nowSeconds = Math.floor(Date.now() / 1000) + (options?.iatOffsetSeconds ?? 0);\n return [\n encode({ alg: \"none\", typ: \"JWT\" }),\n encode({\n sub: options?.sub ?? \"user-id\",\n exp: nowSeconds + 60,\n iat: nowSeconds,\n iss: \"https://api.example.test\",\n aud: \"project-id\",\n project_id: \"project-id\",\n branch_id: \"main\",\n refresh_token_id: refreshTokenId,\n role: \"authenticated\",\n name: null,\n email: null,\n email_verified: false,\n selected_team_id: null,\n signed_up_at: nowSeconds,\n is_anonymous: false,\n is_restricted: false,\n restricted_reason: null,\n requires_totp_mfa: false,\n }),\n \"\",\n ].join(\".\");\n}\n\nfunction createAccessOnlySession(accessToken: string): InternalSession {\n return new InternalSession({\n refreshAccessTokenCallback: async () => null,\n refreshToken: null,\n accessToken,\n });\n}\n\nconst currentToken = (session: InternalSession) => session.getAccessTokenIfNotExpiredYet(20_000, null)?.token;\n\ndescribe(\"InternalSession.calculateSessionKey\", () => {\n it(\"keys by the refresh token when one is present (ignoring any access token)\", () => {\n expect(InternalSession.calculateSessionKey({ refreshToken: \"rt-abc\" })).toBe(\"refresh-rt-abc\");\n expect(InternalSession.calculateSessionKey({ refreshToken: \"rt-abc\", accessToken: createAccessTokenString(\"rtid-1\") }))\n .toBe(\"refresh-rt-abc\");\n });\n\n it(\"returns not-logged-in when neither token is present\", () => {\n expect(InternalSession.calculateSessionKey({ refreshToken: null })).toBe(\"not-logged-in\");\n expect(InternalSession.calculateSessionKey({ refreshToken: null, accessToken: null })).toBe(\"not-logged-in\");\n });\n\n it(\"keys an access-only session by its refresh_token_id\", () => {\n expect(InternalSession.calculateSessionKey({ refreshToken: null, accessToken: createAccessTokenString(\"rtid-1\") }))\n .toBe(\"access-session-rtid-1\");\n });\n\n it(\"is stable across re-minted access tokens for the same session (the regression this fixes)\", () => {\n const first = createAccessTokenString(\"rtid-1\", { iatOffsetSeconds: 0 });\n const second = createAccessTokenString(\"rtid-1\", { iatOffsetSeconds: 1 });\n expect(second).not.toBe(first);\n expect(InternalSession.calculateSessionKey({ refreshToken: null, accessToken: second }))\n .toBe(InternalSession.calculateSessionKey({ refreshToken: null, accessToken: first }));\n });\n\n it(\"distinguishes access-only sessions with different refresh_token_ids\", () => {\n expect(InternalSession.calculateSessionKey({ refreshToken: null, accessToken: createAccessTokenString(\"rtid-1\") }))\n .not.toBe(InternalSession.calculateSessionKey({ refreshToken: null, accessToken: createAccessTokenString(\"rtid-2\") }));\n });\n\n it(\"falls back to the raw token when the access token can't be decoded\", () => {\n expect(InternalSession.calculateSessionKey({ refreshToken: null, accessToken: \"not-a-jwt\" })).toBe(\"access-not-a-jwt\");\n });\n});\n\ndescribe(\"InternalSession#updateAccessToken\", () => {\n it(\"installs a fresh token for the same access-only session in place\", () => {\n const initial = createAccessTokenString(\"rtid-1\", { iatOffsetSeconds: 0 });\n const refreshed = createAccessTokenString(\"rtid-1\", { iatOffsetSeconds: 1 });\n const session = createAccessOnlySession(initial);\n\n session.updateAccessToken({ accessToken: refreshed, refreshToken: null });\n expect(currentToken(session)).toBe(refreshed);\n // identity is unchanged — same session key, same object\n expect(session.sessionKey).toBe(\"access-session-rtid-1\");\n });\n\n it(\"rejects a token pair belonging to a different access-only session\", () => {\n const initial = createAccessTokenString(\"rtid-1\");\n const foreign = createAccessTokenString(\"rtid-2\", { sub: \"other-user\" });\n const session = createAccessOnlySession(initial);\n\n session.updateAccessToken({ accessToken: foreign, refreshToken: null });\n expect(currentToken(session)).toBe(initial);\n });\n\n it(\"is a no-op for an unchanged, null, or undecodable token\", () => {\n const initial = createAccessTokenString(\"rtid-1\");\n const session = createAccessOnlySession(initial);\n\n session.updateAccessToken({ accessToken: initial, refreshToken: null });\n session.updateAccessToken({ accessToken: null, refreshToken: null });\n session.updateAccessToken({ accessToken: \"not-a-jwt\", refreshToken: null });\n expect(currentToken(session)).toBe(initial);\n });\n\n it(\"never revives an invalidated session\", () => {\n const session = createAccessOnlySession(createAccessTokenString(\"rtid-1\"));\n session.markInvalid();\n\n session.updateAccessToken({ accessToken: createAccessTokenString(\"rtid-1\", { iatOffsetSeconds: 1 }), refreshToken: null });\n expect(session.isKnownToBeInvalid()).toBe(true);\n expect(currentToken(session)).toBeUndefined();\n });\n\n it(\"updates a refresh-token-backed session's access token in place when the refresh token matches\", () => {\n const session = new InternalSession({\n refreshAccessTokenCallback: async () => null,\n refreshToken: \"rt-abc\",\n accessToken: createAccessTokenString(\"rtid-1\"),\n });\n const refreshed = createAccessTokenString(\"rtid-2\", { iatOffsetSeconds: 1 });\n\n session.updateAccessToken({ accessToken: refreshed, refreshToken: \"rt-abc\" });\n expect(currentToken(session)).toBe(refreshed);\n expect(session.sessionKey).toBe(\"refresh-rt-abc\");\n });\n\n it(\"rejects a token pair carrying a different refresh token for a refresh-backed session\", () => {\n const initial = createAccessTokenString(\"rtid-1\");\n const session = new InternalSession({\n refreshAccessTokenCallback: async () => null,\n refreshToken: \"rt-abc\",\n accessToken: initial,\n });\n\n session.updateAccessToken({ accessToken: createAccessTokenString(\"rtid-2\"), refreshToken: \"rt-other\" });\n expect(currentToken(session)).toBe(initial);\n });\n});\n"],"mappings":";;;;;;;;;AAQA,SAAS,wBAAwB,gBAAwB,SAA+D;CACtH,MAAM,UAAU,UAAmB,OAAO,KAAK,KAAK,UAAU,MAAM,CAAC,CAAC,SAAS,YAAY;CAC3F,MAAM,aAAa,KAAK,MAAM,KAAK,KAAK,GAAG,IAAK,IAAI,SAAS,oBAAoB;AACjF,QAAO;EACL,OAAO;GAAE,KAAK;GAAQ,KAAK;GAAO,CAAC;EACnC,OAAO;GACL,KAAK,SAAS,OAAO;GACrB,KAAK,aAAa;GAClB,KAAK;GACL,KAAK;GACL,KAAK;GACL,YAAY;GACZ,WAAW;GACX,kBAAkB;GAClB,MAAM;GACN,MAAM;GACN,OAAO;GACP,gBAAgB;GAChB,kBAAkB;GAClB,cAAc;GACd,cAAc;GACd,eAAe;GACf,mBAAmB;GACnB,mBAAmB;GACpB,CAAC;EACF;EACD,CAAC,KAAK,IAAI;;AAGb,SAAS,wBAAwB,aAAsC;AACrE,QAAO,IAAI,gBAAgB;EACzB,4BAA4B,YAAY;EACxC,cAAc;EACd;EACD,CAAC;;AAGJ,MAAM,gBAAgB,YAA6B,QAAQ,8BAA8B,KAAQ,KAAK,EAAE;AAExG,SAAS,6CAA6C;AACpD,IAAG,mFAAmF;AACpF,SAAO,gBAAgB,oBAAoB,EAAE,cAAc,UAAU,CAAC,CAAC,CAAC,KAAK,iBAAiB;AAC9F,SAAO,gBAAgB,oBAAoB;GAAE,cAAc;GAAU,aAAa,wBAAwB,SAAS;GAAE,CAAC,CAAC,CACpH,KAAK,iBAAiB;GACzB;AAEF,IAAG,6DAA6D;AAC9D,SAAO,gBAAgB,oBAAoB,EAAE,cAAc,MAAM,CAAC,CAAC,CAAC,KAAK,gBAAgB;AACzF,SAAO,gBAAgB,oBAAoB;GAAE,cAAc;GAAM,aAAa;GAAM,CAAC,CAAC,CAAC,KAAK,gBAAgB;GAC5G;AAEF,IAAG,6DAA6D;AAC9D,SAAO,gBAAgB,oBAAoB;GAAE,cAAc;GAAM,aAAa,wBAAwB,SAAS;GAAE,CAAC,CAAC,CAChH,KAAK,wBAAwB;GAChC;AAEF,IAAG,mGAAmG;EACpG,MAAM,QAAQ,wBAAwB,UAAU,EAAE,kBAAkB,GAAG,CAAC;EACxE,MAAM,SAAS,wBAAwB,UAAU,EAAE,kBAAkB,GAAG,CAAC;AACzE,SAAO,OAAO,CAAC,IAAI,KAAK,MAAM;AAC9B,SAAO,gBAAgB,oBAAoB;GAAE,cAAc;GAAM,aAAa;GAAQ,CAAC,CAAC,CACrF,KAAK,gBAAgB,oBAAoB;GAAE,cAAc;GAAM,aAAa;GAAO,CAAC,CAAC;GACxF;AAEF,IAAG,6EAA6E;AAC9E,SAAO,gBAAgB,oBAAoB;GAAE,cAAc;GAAM,aAAa,wBAAwB,SAAS;GAAE,CAAC,CAAC,CAChH,IAAI,KAAK,gBAAgB,oBAAoB;GAAE,cAAc;GAAM,aAAa,wBAAwB,SAAS;GAAE,CAAC,CAAC;GACxH;AAEF,IAAG,4EAA4E;AAC7E,SAAO,gBAAgB,oBAAoB;GAAE,cAAc;GAAM,aAAa;GAAa,CAAC,CAAC,CAAC,KAAK,mBAAmB;GACtH;EACF;AAEF,SAAS,2CAA2C;AAClD,IAAG,0EAA0E;EAC3E,MAAM,UAAU,wBAAwB,UAAU,EAAE,kBAAkB,GAAG,CAAC;EAC1E,MAAM,YAAY,wBAAwB,UAAU,EAAE,kBAAkB,GAAG,CAAC;EAC5E,MAAM,UAAU,wBAAwB,QAAQ;AAEhD,UAAQ,kBAAkB;GAAE,aAAa;GAAW,cAAc;GAAM,CAAC;AACzE,SAAO,aAAa,QAAQ,CAAC,CAAC,KAAK,UAAU;AAE7C,SAAO,QAAQ,WAAW,CAAC,KAAK,wBAAwB;GACxD;AAEF,IAAG,2EAA2E;EAC5E,MAAM,UAAU,wBAAwB,SAAS;EACjD,MAAM,UAAU,wBAAwB,UAAU,EAAE,KAAK,cAAc,CAAC;EACxE,MAAM,UAAU,wBAAwB,QAAQ;AAEhD,UAAQ,kBAAkB;GAAE,aAAa;GAAS,cAAc;GAAM,CAAC;AACvE,SAAO,aAAa,QAAQ,CAAC,CAAC,KAAK,QAAQ;GAC3C;AAEF,IAAG,iEAAiE;EAClE,MAAM,UAAU,wBAAwB,SAAS;EACjD,MAAM,UAAU,wBAAwB,QAAQ;AAEhD,UAAQ,kBAAkB;GAAE,aAAa;GAAS,cAAc;GAAM,CAAC;AACvE,UAAQ,kBAAkB;GAAE,aAAa;GAAM,cAAc;GAAM,CAAC;AACpE,UAAQ,kBAAkB;GAAE,aAAa;GAAa,cAAc;GAAM,CAAC;AAC3E,SAAO,aAAa,QAAQ,CAAC,CAAC,KAAK,QAAQ;GAC3C;AAEF,IAAG,8CAA8C;EAC/C,MAAM,UAAU,wBAAwB,wBAAwB,SAAS,CAAC;AAC1E,UAAQ,aAAa;AAErB,UAAQ,kBAAkB;GAAE,aAAa,wBAAwB,UAAU,EAAE,kBAAkB,GAAG,CAAC;GAAE,cAAc;GAAM,CAAC;AAC1H,SAAO,QAAQ,oBAAoB,CAAC,CAAC,KAAK,KAAK;AAC/C,SAAO,aAAa,QAAQ,CAAC,CAAC,eAAe;GAC7C;AAEF,IAAG,uGAAuG;EACxG,MAAM,UAAU,IAAI,gBAAgB;GAClC,4BAA4B,YAAY;GACxC,cAAc;GACd,aAAa,wBAAwB,SAAS;GAC/C,CAAC;EACF,MAAM,YAAY,wBAAwB,UAAU,EAAE,kBAAkB,GAAG,CAAC;AAE5E,UAAQ,kBAAkB;GAAE,aAAa;GAAW,cAAc;GAAU,CAAC;AAC7E,SAAO,aAAa,QAAQ,CAAC,CAAC,KAAK,UAAU;AAC7C,SAAO,QAAQ,WAAW,CAAC,KAAK,iBAAiB;GACjD;AAEF,IAAG,8FAA8F;EAC/F,MAAM,UAAU,wBAAwB,SAAS;EACjD,MAAM,UAAU,IAAI,gBAAgB;GAClC,4BAA4B,YAAY;GACxC,cAAc;GACd,aAAa;GACd,CAAC;AAEF,UAAQ,kBAAkB;GAAE,aAAa,wBAAwB,SAAS;GAAE,cAAc;GAAY,CAAC;AACvG,SAAO,aAAa,QAAQ,CAAC,CAAC,KAAK,QAAQ;GAC3C;EACF"}
1
+ {"version":3,"file":"sessions.test.js","names":[],"sources":["../../src/sessions.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { InternalSession } from \"./sessions\";\n\n/**\n * Builds a decodable (unsigned) access-token JWT with a valid payload. `refreshTokenId` controls the\n * `refresh_token_id` claim (the session identifier); `iatOffsetSeconds` lets two tokens for the same session\n * differ as strings while sharing a `refresh_token_id`.\n */\nfunction createAccessTokenString(refreshTokenId: string, options?: { iatOffsetSeconds?: number, sub?: string }): string {\n const encode = (value: unknown) => Buffer.from(JSON.stringify(value)).toString(\"base64url\");\n const nowSeconds = Math.floor(Date.now() / 1000) + (options?.iatOffsetSeconds ?? 0);\n return [\n encode({ alg: \"none\", typ: \"JWT\" }),\n encode({\n sub: options?.sub ?? \"user-id\",\n exp: nowSeconds + 60,\n iat: nowSeconds,\n iss: \"https://api.example.test\",\n aud: \"project-id\",\n project_id: \"project-id\",\n branch_id: \"main\",\n refresh_token_id: refreshTokenId,\n role: \"authenticated\",\n name: null,\n email: null,\n email_verified: false,\n selected_team_id: null,\n signed_up_at: nowSeconds,\n is_anonymous: false,\n is_restricted: false,\n restricted_reason: null,\n requires_totp_mfa: false,\n }),\n \"\",\n ].join(\".\");\n}\n\nfunction createAccessOnlySession(accessToken: string): InternalSession {\n return new InternalSession({\n refreshAccessTokenCallback: async () => null,\n refreshToken: null,\n accessToken,\n });\n}\n\nconst currentToken = (session: InternalSession) => session.getAccessTokenIfNotExpiredYet(20_000, null)?.token;\n\ndescribe(\"InternalSession.calculateSessionKey\", () => {\n it(\"keys by the refresh token when one is present (ignoring any access token)\", () => {\n expect(InternalSession.calculateSessionKey({ refreshToken: \"rt-abc\" })).toBe(\"refresh-rt-abc\");\n expect(InternalSession.calculateSessionKey({ refreshToken: \"rt-abc\", accessToken: createAccessTokenString(\"rtid-1\") }))\n .toBe(\"refresh-rt-abc\");\n });\n\n it(\"returns not-logged-in when neither token is present\", () => {\n expect(InternalSession.calculateSessionKey({ refreshToken: null })).toBe(\"not-logged-in\");\n expect(InternalSession.calculateSessionKey({ refreshToken: null, accessToken: null })).toBe(\"not-logged-in\");\n });\n\n it(\"keys an access-only session by its refresh_token_id\", () => {\n expect(InternalSession.calculateSessionKey({ refreshToken: null, accessToken: createAccessTokenString(\"rtid-1\") }))\n .toBe(\"access-session-rtid-1\");\n });\n\n it(\"is stable across re-minted access tokens for the same session (the regression this fixes)\", () => {\n const first = createAccessTokenString(\"rtid-1\", { iatOffsetSeconds: 0 });\n const second = createAccessTokenString(\"rtid-1\", { iatOffsetSeconds: 1 });\n expect(second).not.toBe(first);\n expect(InternalSession.calculateSessionKey({ refreshToken: null, accessToken: second }))\n .toBe(InternalSession.calculateSessionKey({ refreshToken: null, accessToken: first }));\n });\n\n it(\"distinguishes access-only sessions with different refresh_token_ids\", () => {\n expect(InternalSession.calculateSessionKey({ refreshToken: null, accessToken: createAccessTokenString(\"rtid-1\") }))\n .not.toBe(InternalSession.calculateSessionKey({ refreshToken: null, accessToken: createAccessTokenString(\"rtid-2\") }));\n });\n\n it(\"falls back to the raw token when the access token can't be decoded\", () => {\n expect(InternalSession.calculateSessionKey({ refreshToken: null, accessToken: \"not-a-jwt\" })).toBe(\"access-not-a-jwt\");\n });\n});\n\ndescribe(\"InternalSession#updateAccessToken\", () => {\n it(\"installs a fresh token for the same access-only session in place\", () => {\n const initial = createAccessTokenString(\"rtid-1\", { iatOffsetSeconds: 0 });\n const refreshed = createAccessTokenString(\"rtid-1\", { iatOffsetSeconds: 1 });\n const session = createAccessOnlySession(initial);\n\n session.updateAccessToken({ accessToken: refreshed, refreshToken: null });\n expect(currentToken(session)).toBe(refreshed);\n // identity is unchanged — same session key, same object\n expect(session.sessionKey).toBe(\"access-session-rtid-1\");\n });\n\n it(\"rejects a token pair belonging to a different access-only session\", () => {\n const initial = createAccessTokenString(\"rtid-1\");\n const foreign = createAccessTokenString(\"rtid-2\", { sub: \"other-user\" });\n const session = createAccessOnlySession(initial);\n\n session.updateAccessToken({ accessToken: foreign, refreshToken: null });\n expect(currentToken(session)).toBe(initial);\n });\n\n it(\"is a no-op for an unchanged, null, or undecodable token\", () => {\n const initial = createAccessTokenString(\"rtid-1\");\n const session = createAccessOnlySession(initial);\n\n session.updateAccessToken({ accessToken: initial, refreshToken: null });\n session.updateAccessToken({ accessToken: null, refreshToken: null });\n session.updateAccessToken({ accessToken: \"not-a-jwt\", refreshToken: null });\n expect(currentToken(session)).toBe(initial);\n });\n\n it(\"never revives an invalidated session\", () => {\n const session = createAccessOnlySession(createAccessTokenString(\"rtid-1\"));\n session.markInvalid();\n\n session.updateAccessToken({ accessToken: createAccessTokenString(\"rtid-1\", { iatOffsetSeconds: 1 }), refreshToken: null });\n expect(session.isKnownToBeInvalid()).toBe(true);\n expect(currentToken(session)).toBeUndefined();\n });\n\n it(\"updates a refresh-token-backed session's access token in place when the refresh token matches\", () => {\n const session = new InternalSession({\n refreshAccessTokenCallback: async () => null,\n refreshToken: \"rt-abc\",\n accessToken: createAccessTokenString(\"rtid-1\"),\n });\n const refreshed = createAccessTokenString(\"rtid-2\", { iatOffsetSeconds: 1 });\n\n session.updateAccessToken({ accessToken: refreshed, refreshToken: \"rt-abc\" });\n expect(currentToken(session)).toBe(refreshed);\n expect(session.sessionKey).toBe(\"refresh-rt-abc\");\n });\n\n it(\"rejects a token pair carrying a different refresh token for a refresh-backed session\", () => {\n const initial = createAccessTokenString(\"rtid-1\");\n const session = new InternalSession({\n refreshAccessTokenCallback: async () => null,\n refreshToken: \"rt-abc\",\n accessToken: initial,\n });\n\n session.updateAccessToken({ accessToken: createAccessTokenString(\"rtid-2\"), refreshToken: \"rt-other\" });\n expect(currentToken(session)).toBe(initial);\n });\n});\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-clickmap-overlay.d.ts","names":[],"sources":["../../../src/utils/analytics-clickmap-overlay.tsx"],"mappings":";;AAYA;;;;;AACA;;;;;cADa,kCAAA;AAAA,cACA,mCAAA;AAAA,cACA,oCAAA"}
1
+ {"version":3,"file":"analytics-clickmap-overlay.d.ts","names":[],"sources":["../../../src/utils/analytics-clickmap-overlay.tsx"],"mappings":";;AAYA;;;;AAA+C;AAC/C;;;;AAAgD;cADnC,kCAAA;AAAA,cACA,mCAAA;AAAA,cACA,oCAAA"}
@@ -13,7 +13,7 @@
13
13
  const CLICKMAP_OVERLAY_TOKEN_STORAGE_KEY = "hexclave-clickmap-token";
14
14
  const CLICKMAP_OVERLAY_RESUME_STORAGE_KEY = "hexclave-clickmap-resume";
15
15
  const CLICKMAP_OVERLAY_TOKEN_UPDATED_EVENT = "hexclave:clickmap-token-updated";
16
-
17
16
  //#endregion
18
17
  export { CLICKMAP_OVERLAY_RESUME_STORAGE_KEY, CLICKMAP_OVERLAY_TOKEN_STORAGE_KEY, CLICKMAP_OVERLAY_TOKEN_UPDATED_EVENT };
18
+
19
19
  //# sourceMappingURL=analytics-clickmap-overlay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-keys.d.ts","names":[],"sources":["../../../src/utils/api-keys.tsx"],"mappings":";;;;;;;;;;;KA6BK,aAAA;EACH,EAAA;EACA,MAAA;EACA,QAAA;EACA,cAAA;EACA,MAAA;EACA,QAAA;EACA,IAAA;AAAA;AAAA,iBAwDc,QAAA,CAAS,MAAA;AAAA,iBAIT,mBAAA,CAAoB,OAAA,EAAS,IAAA,CAAK,aAAA;AAAA,iBAOlC,kBAAA,CAAmB,MAAA,WAAiB,aAAA"}
1
+ {"version":3,"file":"api-keys.d.ts","names":[],"sources":["../../../src/utils/api-keys.tsx"],"mappings":";;;;;;;;;;;KA6BK,aAAA;EACH,EAAA;EACA,MAAA;EACA,QAAA;EACA,cAAA;EACA,MAAA;EACA,QAAA;EACA,IAAA;AAAA;AAAA,iBAwDc,QAAA,CAAS,MAAc;AAAA,iBAIvB,mBAAA,CAAoB,OAAA,EAAS,IAAI,CAAC,aAAA;AAAA,iBAOlC,kBAAA,CAAmB,MAAA,WAAiB,aAAa"}
@@ -2,7 +2,6 @@ import crc32 from "crc/crc32";
2
2
  import { getBase32CharacterFromIndex } from "./bytes.js";
3
3
  import { generateSecureRandomString } from "./crypto.js";
4
4
  import { HexclaveAssertionError } from "./errors.js";
5
-
6
5
  //#region src/utils/api-keys.tsx
7
6
  const STACK_AUTH_MARKER = "574ck4u7h";
8
7
  const API_KEY_LENGTHS = {
@@ -71,7 +70,7 @@ function parseProjectApiKey(secret) {
71
70
  type
72
71
  };
73
72
  }
74
-
75
73
  //#endregion
76
74
  export { createProjectApiKey, isApiKey, parseProjectApiKey };
75
+
77
76
  //# sourceMappingURL=api-keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-keys.js","names":[],"sources":["../../../src/utils/api-keys.tsx"],"sourcesContent":["import crc32 from 'crc/crc32';\nimport { getBase32CharacterFromIndex } from \"./bytes\";\nimport { generateSecureRandomString } from \"./crypto\";\nimport { HexclaveAssertionError } from \"./errors\";\n\n\nconst STACK_AUTH_MARKER = \"574ck4u7h\";\n\n// API key part lengths\nconst API_KEY_LENGTHS = {\n SECRET_PART: 45,\n ID_PART: 32,\n TYPE_PART: 4,\n SCANNER: 1,\n MARKER: 9,\n CHECKSUM: 8,\n} as const;\n\n/**\n * An api key has the following format:\n * <prefix_without_underscores>_<secret_part_45_chars><id_part_32_chars><type_user_or_team_4_chars><scanner_and_marker_10_chars><checksum_8_chars>\n *\n * The scanner and marker is a base32 character that is used to determine if the api key is a public or private key\n * and if it is a cloud or self-hosted key.\n *\n * The checksum is a crc32 checksum of the api key encoded in hex.\n *\n */\n\ntype ProjectApiKey = {\n id: string,\n prefix: string,\n isPublic: boolean,\n isCloudVersion: boolean,\n secret: string,\n checksum: string,\n type: \"user\" | \"team\",\n}\n\n\nfunction createChecksumSync(checksummablePart: string): string {\n const data = new TextEncoder().encode(checksummablePart);\n const calculated_checksum = crc32(data.buffer);\n return calculated_checksum.toString(16).padStart(8, \"0\");\n}\n\nfunction createApiKeyParts(options: Pick<ProjectApiKey, \"id\" | \"isPublic\" | \"isCloudVersion\" | \"type\">) {\n const { id, isPublic, isCloudVersion, type } = options;\n const prefix = isPublic ? \"pk\" : \"sk\";\n const scannerFlag = (isCloudVersion ? 0 : 1) + (isPublic ? 2 : 0) + (/* version */ 0);\n\n const secretPart = generateSecureRandomString();\n const idPart = id.replace(/-/g, \"\");\n const scannerAndMarker = getBase32CharacterFromIndex(scannerFlag).toLowerCase() + STACK_AUTH_MARKER;\n const checksummablePart = `${prefix}_${secretPart}${idPart}${type}${scannerAndMarker}`;\n\n return { checksummablePart, idPart, prefix, scannerAndMarker, type };\n}\n\n\nfunction parseApiKeyParts(secret: string) {\n const regex = new RegExp(\n `^([a-zA-Z0-9_]+)_` + // prefix\n `([a-zA-Z0-9_]{${API_KEY_LENGTHS.SECRET_PART}})` + // secretPart\n `([a-zA-Z0-9_]{${API_KEY_LENGTHS.ID_PART}})` + // idPart\n `([a-zA-Z0-9_]{${API_KEY_LENGTHS.TYPE_PART}})` + // type\n `([a-zA-Z0-9_]{${API_KEY_LENGTHS.SCANNER}})` + // scanner\n `(${STACK_AUTH_MARKER})` + // marker\n `([a-zA-Z0-9_]{${API_KEY_LENGTHS.CHECKSUM}})$` // checksum\n );\n\n const match = secret.match(regex);\n if (!match) {\n throw new HexclaveAssertionError(\"Invalid API key format\");\n }\n\n const [, prefix, secretPart, idPart, type, scannerFlag, marker, checksum] = match;\n\n const isCloudVersion = parseInt(scannerFlag, 32) % 2 === 0;\n const isPublic = (parseInt(scannerFlag, 32) & 2) !== 0;\n\n const checksummablePart = `${prefix}_${secretPart}${idPart}${type}${scannerFlag}${marker}`;\n const restored_id = idPart.replace(/(.{8})(.{4})(.{4})(.{4})(.{12})/, \"$1-$2-$3-$4-$5\");\n\n if (![\"user\", \"team\"].includes(type)) {\n throw new HexclaveAssertionError(\"Invalid type\");\n }\n\n return { checksummablePart, checksum, id: restored_id, isCloudVersion, isPublic, prefix, type: type as \"user\" | \"team\" };\n}\n\n\nexport function isApiKey(secret: string): boolean {\n return secret.includes(\"_\") && secret.includes(STACK_AUTH_MARKER);\n}\n\nexport function createProjectApiKey(options: Pick<ProjectApiKey, \"id\" | \"isPublic\" | \"isCloudVersion\" | \"type\">): string {\n const { checksummablePart } = createApiKeyParts(options);\n const checksum = createChecksumSync(checksummablePart);\n return `${checksummablePart}${checksum}`;\n}\n\n\nexport function parseProjectApiKey(secret: string): ProjectApiKey {\n const { checksummablePart, checksum, id, isCloudVersion, isPublic, prefix, type } = parseApiKeyParts(secret);\n const calculated_checksum = createChecksumSync(checksummablePart);\n\n if (calculated_checksum !== checksum) {\n throw new HexclaveAssertionError(\"Checksum mismatch\");\n }\n\n return {\n id,\n prefix,\n isPublic,\n isCloudVersion,\n secret,\n checksum,\n type,\n };\n}\n\n"],"mappings":";;;;;;AAMA,MAAM,oBAAoB;AAG1B,MAAM,kBAAkB;CACtB,aAAa;CACb,SAAS;CACT,WAAW;CACX,SAAS;CACT,QAAQ;CACR,UAAU;CACX;AAwBD,SAAS,mBAAmB,mBAAmC;AAG7D,QAD4B,MADf,IAAI,aAAa,CAAC,OAAO,kBAAkB,CACjB,OAAO,CACnB,SAAS,GAAG,CAAC,SAAS,GAAG,IAAI;;AAG1D,SAAS,kBAAkB,SAA6E;CACtG,MAAM,EAAE,IAAI,UAAU,gBAAgB,SAAS;CAC/C,MAAM,SAAS,WAAW,OAAO;CACjC,MAAM,eAAe,iBAAiB,IAAI,MAAM,WAAW,IAAI,KAAoB;CAEnF,MAAM,aAAa,4BAA4B;CAC/C,MAAM,SAAS,GAAG,QAAQ,MAAM,GAAG;CACnC,MAAM,mBAAmB,4BAA4B,YAAY,CAAC,aAAa,GAAG;AAGlF,QAAO;EAAE,mBAFiB,GAAG,OAAO,GAAG,aAAa,SAAS,OAAO;EAExC;EAAQ;EAAQ;EAAkB;EAAM;;AAItE,SAAS,iBAAiB,QAAgB;CACxC,MAAM,QAAQ,IAAI,OAChB,kCACiB,gBAAgB,YAAY,kBAC5B,gBAAgB,QAAQ,kBACxB,gBAAgB,UAAU,kBAC1B,gBAAgB,QAAQ,KACrC,kBAAkB,iBACL,gBAAgB,SAAS,KAC3C;CAED,MAAM,QAAQ,OAAO,MAAM,MAAM;AACjC,KAAI,CAAC,MACH,OAAM,IAAI,uBAAuB,yBAAyB;CAG5D,MAAM,GAAG,QAAQ,YAAY,QAAQ,MAAM,aAAa,QAAQ,YAAY;CAE5E,MAAM,iBAAiB,SAAS,aAAa,GAAG,GAAG,MAAM;CACzD,MAAM,YAAY,SAAS,aAAa,GAAG,GAAG,OAAO;CAErD,MAAM,oBAAoB,GAAG,OAAO,GAAG,aAAa,SAAS,OAAO,cAAc;CAClF,MAAM,cAAc,OAAO,QAAQ,mCAAmC,iBAAiB;AAEvF,KAAI,CAAC,CAAC,QAAQ,OAAO,CAAC,SAAS,KAAK,CAClC,OAAM,IAAI,uBAAuB,eAAe;AAGlD,QAAO;EAAE;EAAmB;EAAU,IAAI;EAAa;EAAgB;EAAU;EAAc;EAAyB;;AAI1H,SAAgB,SAAS,QAAyB;AAChD,QAAO,OAAO,SAAS,IAAI,IAAI,OAAO,SAAS,kBAAkB;;AAGnE,SAAgB,oBAAoB,SAAqF;CACvH,MAAM,EAAE,sBAAsB,kBAAkB,QAAQ;AAExD,QAAO,GAAG,oBADO,mBAAmB,kBAAkB;;AAKxD,SAAgB,mBAAmB,QAA+B;CAChE,MAAM,EAAE,mBAAmB,UAAU,IAAI,gBAAgB,UAAU,QAAQ,SAAS,iBAAiB,OAAO;AAG5G,KAF4B,mBAAmB,kBAAkB,KAErC,SAC1B,OAAM,IAAI,uBAAuB,oBAAoB;AAGvD,QAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACD"}
1
+ {"version":3,"file":"api-keys.js","names":[],"sources":["../../../src/utils/api-keys.tsx"],"sourcesContent":["import crc32 from 'crc/crc32';\nimport { getBase32CharacterFromIndex } from \"./bytes\";\nimport { generateSecureRandomString } from \"./crypto\";\nimport { HexclaveAssertionError } from \"./errors\";\n\n\nconst STACK_AUTH_MARKER = \"574ck4u7h\";\n\n// API key part lengths\nconst API_KEY_LENGTHS = {\n SECRET_PART: 45,\n ID_PART: 32,\n TYPE_PART: 4,\n SCANNER: 1,\n MARKER: 9,\n CHECKSUM: 8,\n} as const;\n\n/**\n * An api key has the following format:\n * <prefix_without_underscores>_<secret_part_45_chars><id_part_32_chars><type_user_or_team_4_chars><scanner_and_marker_10_chars><checksum_8_chars>\n *\n * The scanner and marker is a base32 character that is used to determine if the api key is a public or private key\n * and if it is a cloud or self-hosted key.\n *\n * The checksum is a crc32 checksum of the api key encoded in hex.\n *\n */\n\ntype ProjectApiKey = {\n id: string,\n prefix: string,\n isPublic: boolean,\n isCloudVersion: boolean,\n secret: string,\n checksum: string,\n type: \"user\" | \"team\",\n}\n\n\nfunction createChecksumSync(checksummablePart: string): string {\n const data = new TextEncoder().encode(checksummablePart);\n const calculated_checksum = crc32(data.buffer);\n return calculated_checksum.toString(16).padStart(8, \"0\");\n}\n\nfunction createApiKeyParts(options: Pick<ProjectApiKey, \"id\" | \"isPublic\" | \"isCloudVersion\" | \"type\">) {\n const { id, isPublic, isCloudVersion, type } = options;\n const prefix = isPublic ? \"pk\" : \"sk\";\n const scannerFlag = (isCloudVersion ? 0 : 1) + (isPublic ? 2 : 0) + (/* version */ 0);\n\n const secretPart = generateSecureRandomString();\n const idPart = id.replace(/-/g, \"\");\n const scannerAndMarker = getBase32CharacterFromIndex(scannerFlag).toLowerCase() + STACK_AUTH_MARKER;\n const checksummablePart = `${prefix}_${secretPart}${idPart}${type}${scannerAndMarker}`;\n\n return { checksummablePart, idPart, prefix, scannerAndMarker, type };\n}\n\n\nfunction parseApiKeyParts(secret: string) {\n const regex = new RegExp(\n `^([a-zA-Z0-9_]+)_` + // prefix\n `([a-zA-Z0-9_]{${API_KEY_LENGTHS.SECRET_PART}})` + // secretPart\n `([a-zA-Z0-9_]{${API_KEY_LENGTHS.ID_PART}})` + // idPart\n `([a-zA-Z0-9_]{${API_KEY_LENGTHS.TYPE_PART}})` + // type\n `([a-zA-Z0-9_]{${API_KEY_LENGTHS.SCANNER}})` + // scanner\n `(${STACK_AUTH_MARKER})` + // marker\n `([a-zA-Z0-9_]{${API_KEY_LENGTHS.CHECKSUM}})$` // checksum\n );\n\n const match = secret.match(regex);\n if (!match) {\n throw new HexclaveAssertionError(\"Invalid API key format\");\n }\n\n const [, prefix, secretPart, idPart, type, scannerFlag, marker, checksum] = match;\n\n const isCloudVersion = parseInt(scannerFlag, 32) % 2 === 0;\n const isPublic = (parseInt(scannerFlag, 32) & 2) !== 0;\n\n const checksummablePart = `${prefix}_${secretPart}${idPart}${type}${scannerFlag}${marker}`;\n const restored_id = idPart.replace(/(.{8})(.{4})(.{4})(.{4})(.{12})/, \"$1-$2-$3-$4-$5\");\n\n if (![\"user\", \"team\"].includes(type)) {\n throw new HexclaveAssertionError(\"Invalid type\");\n }\n\n return { checksummablePart, checksum, id: restored_id, isCloudVersion, isPublic, prefix, type: type as \"user\" | \"team\" };\n}\n\n\nexport function isApiKey(secret: string): boolean {\n return secret.includes(\"_\") && secret.includes(STACK_AUTH_MARKER);\n}\n\nexport function createProjectApiKey(options: Pick<ProjectApiKey, \"id\" | \"isPublic\" | \"isCloudVersion\" | \"type\">): string {\n const { checksummablePart } = createApiKeyParts(options);\n const checksum = createChecksumSync(checksummablePart);\n return `${checksummablePart}${checksum}`;\n}\n\n\nexport function parseProjectApiKey(secret: string): ProjectApiKey {\n const { checksummablePart, checksum, id, isCloudVersion, isPublic, prefix, type } = parseApiKeyParts(secret);\n const calculated_checksum = createChecksumSync(checksummablePart);\n\n if (calculated_checksum !== checksum) {\n throw new HexclaveAssertionError(\"Checksum mismatch\");\n }\n\n return {\n id,\n prefix,\n isPublic,\n isCloudVersion,\n secret,\n checksum,\n type,\n };\n}\n\n"],"mappings":";;;;;AAMA,MAAM,oBAAoB;AAG1B,MAAM,kBAAkB;CACtB,aAAa;CACb,SAAS;CACT,WAAW;CACX,SAAS;CACT,QAAQ;CACR,UAAU;AACZ;AAwBA,SAAS,mBAAmB,mBAAmC;CAG7D,OAD4B,MADf,IAAI,YAAY,CAAC,CAAC,OAAO,iBACD,CAAC,CAAC,MACd,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,GAAG,GAAG;AACzD;AAEA,SAAS,kBAAkB,SAA6E;CACtG,MAAM,EAAE,IAAI,UAAU,gBAAgB,SAAS;CAC/C,MAAM,SAAS,WAAW,OAAO;CACjC,MAAM,eAAe,iBAAiB,IAAI,MAAM,WAAW,IAAI,KAAoB;CAEnF,MAAM,aAAa,2BAA2B;CAC9C,MAAM,SAAS,GAAG,QAAQ,MAAM,EAAE;CAClC,MAAM,mBAAmB,4BAA4B,WAAW,CAAC,CAAC,YAAY,IAAI;CAGlF,OAAO;EAAE,mBAAA,GAFoB,OAAO,GAAG,aAAa,SAAS,OAAO;EAExC;EAAQ;EAAQ;EAAkB;CAAK;AACrE;AAGA,SAAS,iBAAiB,QAAgB;CACxC,MAAM,QAAQ,IAAI,OAChB,kCACiB,gBAAgB,YAAY,kBAC5B,gBAAgB,QAAQ,kBACxB,gBAAgB,UAAU,kBAC1B,gBAAgB,QAAQ,KACrC,kBAAkB,iBACL,gBAAgB,SAAS,IAC5C;CAEA,MAAM,QAAQ,OAAO,MAAM,KAAK;CAChC,IAAI,CAAC,OACH,MAAM,IAAI,uBAAuB,wBAAwB;CAG3D,MAAM,GAAG,QAAQ,YAAY,QAAQ,MAAM,aAAa,QAAQ,YAAY;CAE5E,MAAM,iBAAiB,SAAS,aAAa,EAAE,IAAI,MAAM;CACzD,MAAM,YAAY,SAAS,aAAa,EAAE,IAAI,OAAO;CAErD,MAAM,oBAAoB,GAAG,OAAO,GAAG,aAAa,SAAS,OAAO,cAAc;CAClF,MAAM,cAAc,OAAO,QAAQ,mCAAmC,gBAAgB;CAEtF,IAAI,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,SAAS,IAAI,GACjC,MAAM,IAAI,uBAAuB,cAAc;CAGjD,OAAO;EAAE;EAAmB;EAAU,IAAI;EAAa;EAAgB;EAAU;EAAc;CAAwB;AACzH;AAGA,SAAgB,SAAS,QAAyB;CAChD,OAAO,OAAO,SAAS,GAAG,KAAK,OAAO,SAAS,iBAAiB;AAClE;AAEA,SAAgB,oBAAoB,SAAqF;CACvH,MAAM,EAAE,sBAAsB,kBAAkB,OAAO;CAEvD,OAAO,GAAG,oBADO,mBAAmB,iBACC;AACvC;AAGA,SAAgB,mBAAmB,QAA+B;CAChE,MAAM,EAAE,mBAAmB,UAAU,IAAI,gBAAgB,UAAU,QAAQ,SAAS,iBAAiB,MAAM;CAG3G,IAF4B,mBAAmB,iBAEzB,MAAM,UAC1B,MAAM,IAAI,uBAAuB,mBAAmB;CAGtD,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"arrays.d.ts","names":[],"sources":["../../../src/utils/arrays.tsx"],"mappings":";iBAEgB,aAAA,0BAAA,CAAwC,GAAA,EAAK,CAAA,EAAG,IAAA,YAAgB,IAAA,IAAQ,CAAA;AAAA,iBAcxE,SAAA,0BAAA,CAAoC,GAAA,EAAK,CAAA,YAAa,CAAA;AAAA,iBAStD,cAAA,CAAe,CAAA,kBAAmB,CAAA;;;;iBAuBlC,aAAA,GAAA,CAAiB,GAAA,WAAc,CAAA,IAAK,SAAA,GAAY,IAAA,EAAM,CAAA;AAAA,iBActD,OAAA,kBAAA,CACd,GAAA,EAAK,QAAA,CAAS,CAAA,GACd,GAAA,GAAM,IAAA,EAAM,CAAA,KAAM,CAAA,GACjB,GAAA,CAAI,CAAA,EAAG,CAAA;AAAA,iBA4BM,KAAA,CAAM,YAAA;AAAA,iBACN,KAAA,CAAM,cAAA,UAAwB,YAAA;AAAA,iBAC9B,KAAA,CAAM,cAAA,UAAwB,YAAA,UAAsB,IAAA;AAAA,iBAwBpD,UAAA,CAAW,GAAA,kBAAqB,CAAA;AAAA,iBAchC,WAAA,CAAY,GAAA,kBAAqB,CAAA;AAAA,iBAajC,OAAA,GAAA,CAAW,GAAA,WAAc,CAAA,KAAM,CAAA;AAAA,iBAgC/B,YAAA,MAAA,CAAmB,IAAA,WAAe,CAAA,IAAK,IAAA,WAAe,CAAA,MAAO,CAAA,EAAG,CAAA;AAAA,iBAYhE,MAAA,GAAA,CAAU,GAAA,WAAc,CAAA,KAAM,CAAA;AAAA,iBAe9B,SAAA,GAAA,CAAa,GAAA,WAAc,CAAA,IAAK,IAAA,WAAe,CAAA;AAAA,iBAmB/C,aAAA,CAAc,GAAA,YAAe,GAAA;AAAA,iBAG7B,aAAA,CAAc,GAAA,YAAe,GAAA;AAAA,iBAG7B,cAAA,CAAe,GAAA,YAAe,GAAA;AAAA,iBAG9B,aAAA,CAAc,GAAA,YAAe,GAAA"}
1
+ {"version":3,"file":"arrays.d.ts","names":[],"sources":["../../../src/utils/arrays.tsx"],"mappings":";iBAEgB,aAAA,2BAAwC,GAAA,EAAK,CAAA,EAAG,IAAA,YAAgB,IAAA,IAAQ,CAAC;AAAA,iBAczE,SAAA,2BAAoC,GAAA,EAAK,CAAA,YAAa,CAAC;AAAA,iBASvD,cAAA,CAAe,CAAA,kBAAmB,CAAiB;;;;iBAuBnD,aAAA,IAAiB,GAAA,WAAc,CAAA,IAAK,SAAA,GAAY,IAAA,EAAM,CAAC;AAAA,iBAcvD,OAAA,mBACd,GAAA,EAAK,QAAA,CAAS,CAAA,GACd,GAAA,GAAM,IAAA,EAAM,CAAA,KAAM,CAAA,GACjB,GAAA,CAAI,CAAA,EAAG,CAAA;AAAA,iBA4BM,KAAA,CAAM,YAAoB;AAAA,iBAC1B,KAAA,CAAM,cAAA,UAAwB,YAAoB;AAAA,iBAClD,KAAA,CAAM,cAAA,UAAwB,YAAA,UAAsB,IAAA;AAAA,iBAwBpD,UAAA,CAAW,GAAA,kBAAqB,CAAS;AAAA,iBAczC,WAAA,CAAY,GAAA,kBAAqB,CAAS;AAAA,iBAa1C,OAAA,IAAW,GAAA,WAAc,CAAA,KAAM,CAAC;AAAA,iBAgChC,YAAA,OAAmB,IAAA,WAAe,CAAA,IAAK,IAAA,WAAe,CAAA,MAAO,CAAA,EAAG,CAAA;AAAA,iBAYhE,MAAA,IAAU,GAAA,WAAc,CAAA,KAAM,CAAC;AAAA,iBAe/B,SAAA,IAAa,GAAA,WAAc,CAAA,IAAK,IAAA,WAAe,CAAC;AAAA,iBAmBhD,aAAA,CAAc,GAAA,YAAe,GAAG;AAAA,iBAGhC,aAAA,CAAc,GAAA,YAAe,GAAG;AAAA,iBAGhC,cAAA,CAAe,GAAA,YAAe,GAAG;AAAA,iBAGjC,aAAA,CAAc,GAAA,YAAe,GAAG"}
@@ -1,90 +1,16 @@
1
1
  import { remainder } from "./math.js";
2
-
3
2
  //#region src/utils/arrays.tsx
4
3
  function typedIncludes(arr, item) {
5
4
  return arr.includes(item);
6
5
  }
7
- (void 0)?.test("typedIncludes", ({ expect }) => {
8
- const arr = [
9
- 1,
10
- 2,
11
- 3
12
- ];
13
- expect(typedIncludes(arr, 1)).toBe(true);
14
- expect(typedIncludes(arr, 4)).toBe(false);
15
- expect(typedIncludes(arr, "1")).toBe(false);
16
- const strArr = [
17
- "a",
18
- "b",
19
- "c"
20
- ];
21
- expect(typedIncludes(strArr, "a")).toBe(true);
22
- expect(typedIncludes(strArr, "d")).toBe(false);
23
- });
24
6
  function enumerate(arr) {
25
7
  return arr.map((item, index) => [index, item]);
26
8
  }
27
- (void 0)?.test("enumerate", ({ expect }) => {
28
- expect(enumerate([])).toEqual([]);
29
- expect(enumerate([
30
- 1,
31
- 2,
32
- 3
33
- ])).toEqual([
34
- [0, 1],
35
- [1, 2],
36
- [2, 3]
37
- ]);
38
- expect(enumerate([
39
- "a",
40
- "b",
41
- "c"
42
- ])).toEqual([
43
- [0, "a"],
44
- [1, "b"],
45
- [2, "c"]
46
- ]);
47
- });
48
9
  function isShallowEqual(a, b) {
49
10
  if (a.length !== b.length) return false;
50
11
  for (let i = 0; i < a.length; i++) if (a[i] !== b[i]) return false;
51
12
  return true;
52
13
  }
53
- (void 0)?.test("isShallowEqual", ({ expect }) => {
54
- expect(isShallowEqual([], [])).toBe(true);
55
- expect(isShallowEqual([
56
- 1,
57
- 2,
58
- 3
59
- ], [
60
- 1,
61
- 2,
62
- 3
63
- ])).toBe(true);
64
- expect(isShallowEqual([
65
- 1,
66
- 2,
67
- 3
68
- ], [
69
- 1,
70
- 2,
71
- 4
72
- ])).toBe(false);
73
- expect(isShallowEqual([
74
- 1,
75
- 2,
76
- 3
77
- ], [1, 2])).toBe(false);
78
- expect(isShallowEqual([1, 2], [
79
- 1,
80
- 2,
81
- 3
82
- ])).toBe(false);
83
- const obj1 = { a: 1 };
84
- const obj2 = { a: 1 };
85
- expect(isShallowEqual([obj1], [obj1])).toBe(true);
86
- expect(isShallowEqual([obj1], [obj2])).toBe(false);
87
- });
88
14
  /**
89
15
  * Ponyfill for ES2023's findLastIndex.
90
16
  */
@@ -92,35 +18,6 @@ function findLastIndex(arr, predicate) {
92
18
  for (let i = arr.length - 1; i >= 0; i--) if (predicate(arr[i])) return i;
93
19
  return -1;
94
20
  }
95
- (void 0)?.test("findLastIndex", ({ expect }) => {
96
- expect(findLastIndex([], () => true)).toBe(-1);
97
- expect(findLastIndex([
98
- 1,
99
- 2,
100
- 3,
101
- 4,
102
- 5
103
- ], (x) => x % 2 === 0)).toBe(3);
104
- expect(findLastIndex([
105
- 1,
106
- 2,
107
- 3,
108
- 4,
109
- 5
110
- ], (x) => x > 10)).toBe(-1);
111
- expect(findLastIndex([
112
- 1,
113
- 2,
114
- 3,
115
- 2,
116
- 1
117
- ], (x) => x === 2)).toBe(3);
118
- expect(findLastIndex([
119
- 1,
120
- 2,
121
- 3
122
- ], (x) => x === 1)).toBe(0);
123
- });
124
21
  function groupBy(arr, key) {
125
22
  const result = /* @__PURE__ */ new Map();
126
23
  for (const item of arr) {
@@ -130,38 +27,6 @@ function groupBy(arr, key) {
130
27
  }
131
28
  return result;
132
29
  }
133
- (void 0)?.test("groupBy", ({ expect }) => {
134
- expect(groupBy([], (x) => x)).toEqual(/* @__PURE__ */ new Map());
135
- const grouped = groupBy([
136
- 1,
137
- 2,
138
- 3,
139
- 4,
140
- 5,
141
- 6
142
- ], (n) => n % 2 === 0 ? "even" : "odd");
143
- expect(grouped.get("even")).toEqual([
144
- 2,
145
- 4,
146
- 6
147
- ]);
148
- expect(grouped.get("odd")).toEqual([
149
- 1,
150
- 3,
151
- 5
152
- ]);
153
- const byLength = groupBy([
154
- "apple",
155
- "banana",
156
- "cherry",
157
- "date",
158
- "elderberry"
159
- ], (w) => w.length);
160
- expect(byLength.get(5)).toEqual(["apple"]);
161
- expect(byLength.get(6)).toEqual(["banana", "cherry"]);
162
- expect(byLength.get(4)).toEqual(["date"]);
163
- expect(byLength.get(10)).toEqual(["elderberry"]);
164
- });
165
30
  function range(startInclusive, endExclusive, step) {
166
31
  if (endExclusive === void 0) {
167
32
  endExclusive = startInclusive;
@@ -172,185 +37,14 @@ function range(startInclusive, endExclusive, step) {
172
37
  for (let i = startInclusive; step > 0 ? i < endExclusive : i > endExclusive; i += step) result.push(i);
173
38
  return result;
174
39
  }
175
- (void 0)?.test("range", ({ expect }) => {
176
- expect(range(5)).toEqual([
177
- 0,
178
- 1,
179
- 2,
180
- 3,
181
- 4
182
- ]);
183
- expect(range(2, 5)).toEqual([
184
- 2,
185
- 3,
186
- 4
187
- ]);
188
- expect(range(1, 10, 2)).toEqual([
189
- 1,
190
- 3,
191
- 5,
192
- 7,
193
- 9
194
- ]);
195
- expect(range(5, 0, -1)).toEqual([
196
- 5,
197
- 4,
198
- 3,
199
- 2,
200
- 1
201
- ]);
202
- expect(range(0, 0)).toEqual([]);
203
- expect(range(0, 10, 3)).toEqual([
204
- 0,
205
- 3,
206
- 6,
207
- 9
208
- ]);
209
- });
210
40
  function rotateLeft(arr, n) {
211
41
  if (arr.length === 0) return [];
212
42
  const index = remainder(n, arr.length);
213
43
  return [...arr.slice(index), ...arr.slice(0, index)];
214
44
  }
215
- (void 0)?.test("rotateLeft", ({ expect }) => {
216
- expect(rotateLeft([], 1)).toEqual([]);
217
- expect(rotateLeft([
218
- 1,
219
- 2,
220
- 3,
221
- 4,
222
- 5
223
- ], 0)).toEqual([
224
- 1,
225
- 2,
226
- 3,
227
- 4,
228
- 5
229
- ]);
230
- expect(rotateLeft([
231
- 1,
232
- 2,
233
- 3,
234
- 4,
235
- 5
236
- ], 1)).toEqual([
237
- 2,
238
- 3,
239
- 4,
240
- 5,
241
- 1
242
- ]);
243
- expect(rotateLeft([
244
- 1,
245
- 2,
246
- 3,
247
- 4,
248
- 5
249
- ], 3)).toEqual([
250
- 4,
251
- 5,
252
- 1,
253
- 2,
254
- 3
255
- ]);
256
- expect(rotateLeft([
257
- 1,
258
- 2,
259
- 3,
260
- 4,
261
- 5
262
- ], 5)).toEqual([
263
- 1,
264
- 2,
265
- 3,
266
- 4,
267
- 5
268
- ]);
269
- expect(rotateLeft([
270
- 1,
271
- 2,
272
- 3,
273
- 4,
274
- 5
275
- ], 6)).toEqual([
276
- 2,
277
- 3,
278
- 4,
279
- 5,
280
- 1
281
- ]);
282
- });
283
45
  function rotateRight(arr, n) {
284
46
  return rotateLeft(arr, -n);
285
47
  }
286
- (void 0)?.test("rotateRight", ({ expect }) => {
287
- expect(rotateRight([], 1)).toEqual([]);
288
- expect(rotateRight([
289
- 1,
290
- 2,
291
- 3,
292
- 4,
293
- 5
294
- ], 0)).toEqual([
295
- 1,
296
- 2,
297
- 3,
298
- 4,
299
- 5
300
- ]);
301
- expect(rotateRight([
302
- 1,
303
- 2,
304
- 3,
305
- 4,
306
- 5
307
- ], 1)).toEqual([
308
- 5,
309
- 1,
310
- 2,
311
- 3,
312
- 4
313
- ]);
314
- expect(rotateRight([
315
- 1,
316
- 2,
317
- 3,
318
- 4,
319
- 5
320
- ], 3)).toEqual([
321
- 3,
322
- 4,
323
- 5,
324
- 1,
325
- 2
326
- ]);
327
- expect(rotateRight([
328
- 1,
329
- 2,
330
- 3,
331
- 4,
332
- 5
333
- ], 5)).toEqual([
334
- 1,
335
- 2,
336
- 3,
337
- 4,
338
- 5
339
- ]);
340
- expect(rotateRight([
341
- 1,
342
- 2,
343
- 3,
344
- 4,
345
- 5
346
- ], 6)).toEqual([
347
- 5,
348
- 1,
349
- 2,
350
- 3,
351
- 4
352
- ]);
353
- });
354
48
  function shuffle(arr) {
355
49
  const result = [...arr];
356
50
  for (let i = result.length - 1; i > 0; i--) {
@@ -359,133 +53,18 @@ function shuffle(arr) {
359
53
  }
360
54
  return result;
361
55
  }
362
- (void 0)?.test("shuffle", ({ expect }) => {
363
- expect(shuffle([])).toEqual([]);
364
- expect(shuffle([1])).toEqual([1]);
365
- const original = [
366
- 1,
367
- 2,
368
- 3,
369
- 4,
370
- 5
371
- ];
372
- const shuffled = shuffle(original);
373
- expect(shuffled).not.toBe(original);
374
- expect(shuffled.sort((a, b) => a - b)).toEqual(original);
375
- const large = Array.from({ length: 100 }, (_, i) => i);
376
- const shuffledLarge = shuffle(large);
377
- expect(shuffledLarge).not.toEqual(large);
378
- expect(shuffledLarge.sort((a, b) => a - b)).toEqual(large);
379
- });
380
56
  function outerProduct(arr1, arr2) {
381
57
  return arr1.flatMap((item1) => arr2.map((item2) => [item1, item2]));
382
58
  }
383
- (void 0)?.test("outerProduct", ({ expect }) => {
384
- expect(outerProduct([], [])).toEqual([]);
385
- expect(outerProduct([1], [])).toEqual([]);
386
- expect(outerProduct([], [1])).toEqual([]);
387
- expect(outerProduct([1], [2])).toEqual([[1, 2]]);
388
- expect(outerProduct([1, 2], [3, 4])).toEqual([
389
- [1, 3],
390
- [1, 4],
391
- [2, 3],
392
- [2, 4]
393
- ]);
394
- expect(outerProduct(["a", "b"], [1, 2])).toEqual([
395
- ["a", 1],
396
- ["a", 2],
397
- ["b", 1],
398
- ["b", 2]
399
- ]);
400
- });
401
59
  function unique(arr) {
402
60
  return [...new Set(arr)];
403
61
  }
404
- (void 0)?.test("unique", ({ expect }) => {
405
- expect(unique([])).toEqual([]);
406
- expect(unique([
407
- 1,
408
- 2,
409
- 3
410
- ])).toEqual([
411
- 1,
412
- 2,
413
- 3
414
- ]);
415
- expect(unique([
416
- 1,
417
- 2,
418
- 2,
419
- 3,
420
- 1,
421
- 3
422
- ])).toEqual([
423
- 1,
424
- 2,
425
- 3
426
- ]);
427
- const obj = { a: 1 };
428
- expect(unique([obj, obj])).toEqual([obj]);
429
- expect(unique([
430
- 1,
431
- "1",
432
- true,
433
- 1,
434
- "1",
435
- true
436
- ])).toEqual([
437
- 1,
438
- "1",
439
- true
440
- ]);
441
- });
442
62
  function getChunks(arr, size) {
443
63
  const result = [];
444
64
  if (size <= 0) return result;
445
65
  for (let i = 0; i < arr.length; i += size) result.push(arr.slice(i, i + size));
446
66
  return result;
447
67
  }
448
- (void 0)?.test("getChunks", ({ expect }) => {
449
- expect(getChunks([], 2)).toEqual([]);
450
- expect(getChunks([1], 2)).toEqual([[1]]);
451
- expect(getChunks([1, 2], 2)).toEqual([[1, 2]]);
452
- expect(getChunks([
453
- 1,
454
- 2,
455
- 3
456
- ], 2)).toEqual([[1, 2], [3]]);
457
- expect(getChunks([
458
- 1,
459
- 2,
460
- 3,
461
- 4,
462
- 5
463
- ], 2)).toEqual([
464
- [1, 2],
465
- [3, 4],
466
- [5]
467
- ]);
468
- expect(getChunks([
469
- 1,
470
- 2,
471
- 3,
472
- 4
473
- ], 3)).toEqual([[
474
- 1,
475
- 2,
476
- 3
477
- ], [4]]);
478
- expect(getChunks([
479
- 1,
480
- 2,
481
- 3
482
- ], 0)).toEqual([]);
483
- expect(getChunks([
484
- 1,
485
- 2,
486
- 3
487
- ], -1)).toEqual([]);
488
- });
489
68
  function isStringArray(arr) {
490
69
  return Array.isArray(arr) && arr.every((item) => typeof item === "string");
491
70
  }
@@ -498,55 +77,7 @@ function isBooleanArray(arr) {
498
77
  function isObjectArray(arr) {
499
78
  return Array.isArray(arr) && arr.every((item) => typeof item === "object" && item !== null);
500
79
  }
501
- (void 0)?.test("is<Type>Array", ({ expect }) => {
502
- expect(isStringArray([])).toBe(true);
503
- expect(isNumberArray([
504
- 1,
505
- 2,
506
- 3
507
- ])).toBe(true);
508
- expect(isBooleanArray([
509
- true,
510
- false,
511
- true
512
- ])).toBe(true);
513
- expect(isObjectArray([
514
- { a: 1 },
515
- { b: 2 },
516
- { c: 3 }
517
- ])).toBe(true);
518
- expect(isStringArray([
519
- 1,
520
- 2,
521
- 3
522
- ])).toBe(false);
523
- expect(isNumberArray([
524
- "a",
525
- "b",
526
- "c"
527
- ])).toBe(false);
528
- expect(isBooleanArray([
529
- 1,
530
- 2,
531
- 3
532
- ])).toBe(false);
533
- expect(isObjectArray([
534
- 1,
535
- 2,
536
- 3
537
- ])).toBe(false);
538
- expect(isObjectArray([
539
- { a: 1 },
540
- null,
541
- { b: 2 }
542
- ])).toBe(false);
543
- expect(isObjectArray([
544
- { a: 1 },
545
- void 0,
546
- { b: 2 }
547
- ])).toBe(false);
548
- });
549
-
550
80
  //#endregion
551
81
  export { enumerate, findLastIndex, getChunks, groupBy, isBooleanArray, isNumberArray, isObjectArray, isShallowEqual, isStringArray, outerProduct, range, rotateLeft, rotateRight, shuffle, typedIncludes, unique };
82
+
552
83
  //# sourceMappingURL=arrays.js.map