@stackframe/stack-shared 2.8.7 → 2.8.10

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 (476) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/config/format.d.cts +39 -0
  3. package/dist/config/format.d.ts +14 -13
  4. package/dist/config/format.js +147 -206
  5. package/dist/config/format.js.map +1 -0
  6. package/dist/config/schema.d.cts +724 -0
  7. package/dist/config/schema.d.ts +51 -48
  8. package/dist/config/schema.js +230 -172
  9. package/dist/config/schema.js.map +1 -0
  10. package/dist/crud.d.cts +102 -0
  11. package/dist/crud.d.ts +15 -13
  12. package/dist/crud.js +83 -128
  13. package/dist/crud.js.map +1 -0
  14. package/dist/esm/config/format.js +135 -0
  15. package/dist/esm/config/format.js.map +1 -0
  16. package/dist/esm/config/schema.js +199 -0
  17. package/dist/esm/config/schema.js.map +1 -0
  18. package/dist/esm/crud.js +60 -0
  19. package/dist/esm/crud.js.map +1 -0
  20. package/dist/esm/global.d.js +1 -0
  21. package/dist/esm/global.d.js.map +1 -0
  22. package/dist/esm/helpers/password.js +17 -0
  23. package/dist/esm/helpers/password.js.map +1 -0
  24. package/dist/esm/helpers/production-mode.js +50 -0
  25. package/dist/esm/helpers/production-mode.js.map +1 -0
  26. package/dist/esm/hooks/use-async-callback.js +38 -0
  27. package/dist/esm/hooks/use-async-callback.js.map +1 -0
  28. package/dist/esm/hooks/use-async-external-store.js +23 -0
  29. package/dist/esm/hooks/use-async-external-store.js.map +1 -0
  30. package/dist/esm/hooks/use-hash.js +17 -0
  31. package/dist/esm/hooks/use-hash.js.map +1 -0
  32. package/dist/esm/hooks/use-strict-memo.js +61 -0
  33. package/dist/esm/hooks/use-strict-memo.js.map +1 -0
  34. package/dist/esm/index.js +22 -0
  35. package/dist/esm/index.js.map +1 -0
  36. package/dist/esm/interface/adminInterface.js +244 -0
  37. package/dist/esm/interface/adminInterface.js.map +1 -0
  38. package/dist/esm/interface/clientInterface.js +2041 -0
  39. package/dist/esm/interface/clientInterface.js.map +1 -0
  40. package/dist/esm/interface/crud/contact-channels.js +77 -0
  41. package/dist/esm/interface/crud/contact-channels.js.map +1 -0
  42. package/dist/esm/interface/crud/current-user.js +65 -0
  43. package/dist/esm/interface/crud/current-user.js.map +1 -0
  44. package/dist/esm/interface/crud/email-templates.js +52 -0
  45. package/dist/esm/interface/crud/email-templates.js.map +1 -0
  46. package/dist/esm/interface/crud/emails.js +20 -0
  47. package/dist/esm/interface/crud/emails.js.map +1 -0
  48. package/dist/esm/interface/crud/internal-api-keys.js +69 -0
  49. package/dist/esm/interface/crud/internal-api-keys.js.map +1 -0
  50. package/dist/esm/interface/crud/oauth.js +24 -0
  51. package/dist/esm/interface/crud/oauth.js.map +1 -0
  52. package/dist/esm/interface/crud/project-api-keys.js +93 -0
  53. package/dist/esm/interface/crud/project-api-keys.js.map +1 -0
  54. package/dist/esm/interface/crud/project-permissions.js +113 -0
  55. package/dist/esm/interface/crud/project-permissions.js.map +1 -0
  56. package/dist/esm/interface/crud/projects.js +188 -0
  57. package/dist/esm/interface/crud/projects.js.map +1 -0
  58. package/dist/esm/interface/crud/sessions.js +62 -0
  59. package/dist/esm/interface/crud/sessions.js.map +1 -0
  60. package/dist/esm/interface/crud/svix-token.js +22 -0
  61. package/dist/esm/interface/crud/svix-token.js.map +1 -0
  62. package/dist/esm/interface/crud/team-invitation-details.js +23 -0
  63. package/dist/esm/interface/crud/team-invitation-details.js.map +1 -0
  64. package/dist/esm/interface/crud/team-invitation.js +36 -0
  65. package/dist/esm/interface/crud/team-invitation.js.map +1 -0
  66. package/dist/esm/interface/crud/team-member-profiles.js +62 -0
  67. package/dist/esm/interface/crud/team-member-profiles.js.map +1 -0
  68. package/dist/esm/interface/crud/team-memberships.js +60 -0
  69. package/dist/esm/interface/crud/team-memberships.js.map +1 -0
  70. package/dist/esm/interface/crud/team-permissions.js +114 -0
  71. package/dist/esm/interface/crud/team-permissions.js.map +1 -0
  72. package/dist/esm/interface/crud/teams.js +143 -0
  73. package/dist/esm/interface/crud/teams.js.map +1 -0
  74. package/dist/esm/interface/crud/users.js +139 -0
  75. package/dist/esm/interface/crud/users.js.map +1 -0
  76. package/dist/esm/interface/serverInterface.js +485 -0
  77. package/dist/esm/interface/serverInterface.js.map +1 -0
  78. package/dist/esm/interface/webhooks.js +21 -0
  79. package/dist/esm/interface/webhooks.js.map +1 -0
  80. package/dist/esm/known-errors.js +1223 -0
  81. package/dist/esm/known-errors.js.map +1 -0
  82. package/dist/esm/schema-fields.js +484 -0
  83. package/dist/esm/schema-fields.js.map +1 -0
  84. package/dist/esm/sessions.js +168 -0
  85. package/dist/esm/sessions.js.map +1 -0
  86. package/dist/esm/utils/api-keys.js +79 -0
  87. package/dist/esm/utils/api-keys.js.map +1 -0
  88. package/dist/esm/utils/arrays.js +78 -0
  89. package/dist/esm/utils/arrays.js.map +1 -0
  90. package/dist/esm/utils/base64.js +18 -0
  91. package/dist/esm/utils/base64.js.map +1 -0
  92. package/dist/esm/utils/booleans.js +12 -0
  93. package/dist/esm/utils/booleans.js.map +1 -0
  94. package/dist/esm/utils/browser-compat.js +21 -0
  95. package/dist/esm/utils/browser-compat.js.map +1 -0
  96. package/dist/esm/utils/bytes.js +160 -0
  97. package/dist/esm/utils/bytes.js.map +1 -0
  98. package/dist/esm/utils/caches.js +167 -0
  99. package/dist/esm/utils/caches.js.map +1 -0
  100. package/dist/esm/utils/compile-time.js +11 -0
  101. package/dist/esm/utils/compile-time.js.map +1 -0
  102. package/dist/esm/utils/crypto.js +25 -0
  103. package/dist/esm/utils/crypto.js.map +1 -0
  104. package/dist/esm/utils/dates.js +64 -0
  105. package/dist/esm/utils/dates.js.map +1 -0
  106. package/dist/esm/utils/dom.js +11 -0
  107. package/dist/esm/utils/dom.js.map +1 -0
  108. package/dist/esm/utils/env.js +58 -0
  109. package/dist/esm/utils/env.js.map +1 -0
  110. package/dist/esm/utils/errors.js +174 -0
  111. package/dist/esm/utils/errors.js.map +1 -0
  112. package/dist/esm/utils/fs.js +37 -0
  113. package/dist/esm/utils/fs.js.map +1 -0
  114. package/dist/esm/utils/functions.js +12 -0
  115. package/dist/esm/utils/functions.js.map +1 -0
  116. package/dist/esm/utils/geo.js +15 -0
  117. package/dist/esm/utils/geo.js.map +1 -0
  118. package/dist/esm/utils/globals.js +18 -0
  119. package/dist/esm/utils/globals.js.map +1 -0
  120. package/dist/esm/utils/hashes.js +55 -0
  121. package/dist/esm/utils/hashes.js.map +1 -0
  122. package/dist/esm/utils/html.js +13 -0
  123. package/dist/esm/utils/html.js.map +1 -0
  124. package/dist/esm/utils/http.js +60 -0
  125. package/dist/esm/utils/http.js.map +1 -0
  126. package/dist/esm/utils/ips.js +15 -0
  127. package/dist/esm/utils/ips.js.map +1 -0
  128. package/dist/esm/utils/json.js +31 -0
  129. package/dist/esm/utils/json.js.map +1 -0
  130. package/dist/esm/utils/jwt.js +87 -0
  131. package/dist/esm/utils/jwt.js.map +1 -0
  132. package/dist/esm/utils/locks.js +57 -0
  133. package/dist/esm/utils/locks.js.map +1 -0
  134. package/dist/esm/utils/maps.js +181 -0
  135. package/dist/esm/utils/maps.js.map +1 -0
  136. package/dist/esm/utils/math.js +8 -0
  137. package/dist/esm/utils/math.js.map +1 -0
  138. package/dist/esm/utils/node-http.js +42 -0
  139. package/dist/esm/utils/node-http.js.map +1 -0
  140. package/dist/esm/utils/numbers.js +32 -0
  141. package/dist/esm/utils/numbers.js.map +1 -0
  142. package/dist/esm/utils/oauth.js +10 -0
  143. package/dist/esm/utils/oauth.js.map +1 -0
  144. package/dist/esm/utils/objects.js +153 -0
  145. package/dist/esm/utils/objects.js.map +1 -0
  146. package/dist/esm/utils/passkey.js +1 -0
  147. package/dist/esm/utils/passkey.js.map +1 -0
  148. package/dist/esm/utils/promises.js +233 -0
  149. package/dist/esm/utils/promises.js.map +1 -0
  150. package/dist/esm/utils/proxies.js +128 -0
  151. package/dist/esm/utils/proxies.js.map +1 -0
  152. package/dist/esm/utils/react.js +78 -0
  153. package/dist/esm/utils/react.js.map +1 -0
  154. package/dist/esm/utils/results.js +141 -0
  155. package/dist/esm/utils/results.js.map +1 -0
  156. package/dist/esm/utils/sentry.js +20 -0
  157. package/dist/esm/utils/sentry.js.map +1 -0
  158. package/dist/esm/utils/stores.js +195 -0
  159. package/dist/esm/utils/stores.js.map +1 -0
  160. package/dist/esm/utils/strings.js +294 -0
  161. package/dist/esm/utils/strings.js.map +1 -0
  162. package/dist/esm/utils/strings.nicify.test.js +222 -0
  163. package/dist/esm/utils/strings.nicify.test.js.map +1 -0
  164. package/dist/esm/utils/types.js +1 -0
  165. package/dist/esm/utils/types.js.map +1 -0
  166. package/dist/esm/utils/unicode.js +11 -0
  167. package/dist/esm/utils/unicode.js.map +1 -0
  168. package/dist/esm/utils/urls.js +53 -0
  169. package/dist/esm/utils/urls.js.map +1 -0
  170. package/dist/esm/utils/uuids.js +16 -0
  171. package/dist/esm/utils/uuids.js.map +1 -0
  172. package/dist/global.d.d.cts +1 -0
  173. package/dist/global.d.d.ts +1 -0
  174. package/dist/global.d.js +2 -0
  175. package/dist/global.d.js.map +1 -0
  176. package/dist/helpers/password.d.cts +11 -0
  177. package/dist/helpers/password.d.ts +11 -2
  178. package/dist/helpers/password.js +41 -11
  179. package/dist/helpers/password.js.map +1 -0
  180. package/dist/helpers/production-mode.d.cts +12 -0
  181. package/dist/helpers/production-mode.d.ts +9 -3
  182. package/dist/helpers/production-mode.js +72 -45
  183. package/dist/helpers/production-mode.js.map +1 -0
  184. package/dist/hooks/use-async-callback.d.cts +6 -0
  185. package/dist/hooks/use-async-callback.d.ts +6 -3
  186. package/dist/hooks/use-async-callback.js +72 -30
  187. package/dist/hooks/use-async-callback.js.map +1 -0
  188. package/dist/hooks/use-async-external-store.d.cts +7 -0
  189. package/dist/hooks/use-async-external-store.d.ts +5 -2
  190. package/dist/hooks/use-async-external-store.js +47 -19
  191. package/dist/hooks/use-async-external-store.js.map +1 -0
  192. package/dist/hooks/use-hash.d.cts +3 -0
  193. package/dist/hooks/use-hash.d.ts +3 -1
  194. package/dist/hooks/use-hash.js +41 -8
  195. package/dist/hooks/use-hash.js.map +1 -0
  196. package/dist/hooks/use-strict-memo.d.cts +8 -0
  197. package/dist/hooks/use-strict-memo.d.ts +3 -1
  198. package/dist/hooks/use-strict-memo.js +78 -131
  199. package/dist/hooks/use-strict-memo.js.map +1 -0
  200. package/dist/index.d.cts +30 -0
  201. package/dist/index.d.ts +30 -4
  202. package/dist/index.js +42 -4
  203. package/dist/index.js.map +1 -0
  204. package/dist/interface/adminInterface.d.cts +94 -0
  205. package/dist/interface/adminInterface.d.ts +38 -15
  206. package/dist/interface/adminInterface.js +269 -174
  207. package/dist/interface/adminInterface.js.map +1 -0
  208. package/dist/interface/clientInterface.d.cts +260 -0
  209. package/dist/interface/clientInterface.d.ts +25 -18
  210. package/dist/interface/clientInterface.js +2054 -995
  211. package/dist/interface/clientInterface.js.map +1 -0
  212. package/dist/interface/crud/contact-channels.d.cts +180 -0
  213. package/dist/interface/crud/contact-channels.d.ts +30 -25
  214. package/dist/interface/crud/contact-channels.js +101 -59
  215. package/dist/interface/crud/contact-channels.js.map +1 -0
  216. package/dist/interface/crud/current-user.d.cts +205 -0
  217. package/dist/interface/crud/current-user.d.ts +17 -12
  218. package/dist/interface/crud/current-user.js +86 -56
  219. package/dist/interface/crud/current-user.js.map +1 -0
  220. package/dist/interface/crud/email-templates.d.cts +84 -0
  221. package/dist/interface/crud/email-templates.d.ts +24 -19
  222. package/dist/interface/crud/email-templates.js +77 -37
  223. package/dist/interface/crud/email-templates.js.map +1 -0
  224. package/dist/interface/crud/emails.d.cts +69 -0
  225. package/dist/interface/crud/emails.d.ts +12 -7
  226. package/dist/interface/crud/emails.js +54 -12
  227. package/dist/interface/crud/emails.js.map +1 -0
  228. package/dist/interface/crud/internal-api-keys.d.cts +139 -0
  229. package/dist/interface/crud/internal-api-keys.d.ts +22 -17
  230. package/dist/interface/crud/internal-api-keys.js +92 -54
  231. package/dist/interface/crud/internal-api-keys.js.map +1 -0
  232. package/dist/interface/crud/oauth.d.cts +34 -0
  233. package/dist/interface/crud/oauth.d.ts +16 -11
  234. package/dist/interface/crud/oauth.js +48 -14
  235. package/dist/interface/crud/oauth.js.map +1 -0
  236. package/dist/interface/crud/project-api-keys.d.cts +196 -0
  237. package/dist/interface/crud/project-api-keys.d.ts +18 -10
  238. package/dist/interface/crud/project-api-keys.js +121 -74
  239. package/dist/interface/crud/project-api-keys.js.map +1 -0
  240. package/dist/interface/crud/project-permissions.d.cts +160 -0
  241. package/dist/interface/crud/project-permissions.d.ts +38 -33
  242. package/dist/interface/crud/project-permissions.js +148 -90
  243. package/dist/interface/crud/project-permissions.js.map +1 -0
  244. package/dist/interface/crud/projects.d.cts +640 -0
  245. package/dist/interface/crud/projects.d.ts +36 -31
  246. package/dist/interface/crud/projects.js +218 -156
  247. package/dist/interface/crud/projects.js.map +1 -0
  248. package/dist/interface/crud/sessions.d.cts +149 -0
  249. package/dist/interface/crud/sessions.d.ts +21 -16
  250. package/dist/interface/crud/sessions.js +86 -50
  251. package/dist/interface/crud/sessions.js.map +1 -0
  252. package/dist/interface/crud/svix-token.d.cts +26 -0
  253. package/dist/interface/crud/svix-token.d.ts +14 -9
  254. package/dist/interface/crud/svix-token.js +46 -12
  255. package/dist/interface/crud/svix-token.js.map +1 -0
  256. package/dist/interface/crud/team-invitation-details.d.cts +30 -0
  257. package/dist/interface/crud/team-invitation-details.d.ts +12 -7
  258. package/dist/interface/crud/team-invitation-details.js +57 -15
  259. package/dist/interface/crud/team-invitation-details.js.map +1 -0
  260. package/dist/interface/crud/team-invitation.d.cts +49 -0
  261. package/dist/interface/crud/team-invitation.d.ts +13 -8
  262. package/dist/interface/crud/team-invitation.js +69 -27
  263. package/dist/interface/crud/team-invitation.js.map +1 -0
  264. package/dist/interface/crud/team-member-profiles.d.cts +229 -0
  265. package/dist/interface/crud/team-member-profiles.d.ts +20 -15
  266. package/dist/interface/crud/team-member-profiles.js +95 -49
  267. package/dist/interface/crud/team-member-profiles.js.map +1 -0
  268. package/dist/interface/crud/team-memberships.d.cts +74 -0
  269. package/dist/interface/crud/team-memberships.d.ts +22 -17
  270. package/dist/interface/crud/team-memberships.js +85 -45
  271. package/dist/interface/crud/team-memberships.js.map +1 -0
  272. package/dist/interface/crud/team-permissions.d.cts +168 -0
  273. package/dist/interface/crud/team-permissions.d.ts +38 -33
  274. package/dist/interface/crud/team-permissions.js +149 -91
  275. package/dist/interface/crud/team-permissions.js.map +1 -0
  276. package/dist/interface/crud/teams.d.cts +298 -0
  277. package/dist/interface/crud/teams.d.ts +45 -40
  278. package/dist/interface/crud/teams.js +177 -119
  279. package/dist/interface/crud/teams.js.map +1 -0
  280. package/dist/interface/crud/users.d.cts +469 -0
  281. package/dist/interface/crud/users.d.ts +31 -26
  282. package/dist/interface/crud/users.js +172 -118
  283. package/dist/interface/crud/users.js.map +1 -0
  284. package/dist/interface/serverInterface.d.cts +128 -0
  285. package/dist/interface/serverInterface.d.ts +29 -17
  286. package/dist/interface/serverInterface.js +506 -339
  287. package/dist/interface/serverInterface.js.map +1 -0
  288. package/dist/interface/webhooks.d.cts +292 -0
  289. package/dist/interface/webhooks.d.ts +6 -3
  290. package/dist/interface/webhooks.js +45 -15
  291. package/dist/interface/webhooks.js.map +1 -0
  292. package/dist/known-errors.d.cts +444 -0
  293. package/dist/known-errors.d.ts +12 -9
  294. package/dist/known-errors.js +1088 -561
  295. package/dist/known-errors.js.map +1 -0
  296. package/dist/schema-fields.d.cts +163 -0
  297. package/dist/schema-fields.d.ts +116 -114
  298. package/dist/schema-fields.js +593 -427
  299. package/dist/schema-fields.js.map +1 -0
  300. package/dist/sessions.d.cts +109 -0
  301. package/dist/sessions.d.ts +6 -3
  302. package/dist/sessions.js +201 -172
  303. package/dist/sessions.js.map +1 -0
  304. package/dist/utils/api-keys.d.cts +24 -0
  305. package/dist/utils/api-keys.d.ts +5 -4
  306. package/dist/utils/api-keys.js +106 -66
  307. package/dist/utils/api-keys.js.map +1 -0
  308. package/dist/utils/arrays.d.cts +18 -0
  309. package/dist/utils/arrays.d.ts +15 -13
  310. package/dist/utils/arrays.js +101 -168
  311. package/dist/utils/arrays.js.map +1 -0
  312. package/dist/utils/base64.d.cts +4 -0
  313. package/dist/utils/base64.d.ts +4 -2
  314. package/dist/utils/base64.js +41 -20
  315. package/dist/utils/base64.js.map +1 -0
  316. package/dist/utils/booleans.d.cts +6 -0
  317. package/dist/utils/booleans.d.ts +6 -4
  318. package/dist/utils/booleans.js +35 -27
  319. package/dist/utils/booleans.js.map +1 -0
  320. package/dist/utils/browser-compat.d.cts +8 -0
  321. package/dist/utils/browser-compat.d.ts +3 -1
  322. package/dist/utils/browser-compat.js +45 -16
  323. package/dist/utils/browser-compat.js.map +1 -0
  324. package/dist/utils/bytes.d.cts +15 -0
  325. package/dist/utils/bytes.d.ts +15 -13
  326. package/dist/utils/bytes.js +182 -270
  327. package/dist/utils/bytes.js.map +1 -0
  328. package/dist/utils/caches.d.cts +98 -0
  329. package/dist/utils/caches.d.ts +17 -14
  330. package/dist/utils/caches.js +188 -193
  331. package/dist/utils/caches.js.map +1 -0
  332. package/dist/utils/compile-time.d.cts +8 -0
  333. package/dist/utils/compile-time.d.ts +3 -1
  334. package/dist/utils/compile-time.js +35 -10
  335. package/dist/utils/compile-time.js.map +1 -0
  336. package/dist/utils/crypto.d.cts +8 -0
  337. package/dist/utils/crypto.d.ts +4 -2
  338. package/dist/utils/crypto.js +49 -21
  339. package/dist/utils/crypto.js.map +1 -0
  340. package/dist/utils/dates.d.cts +15 -0
  341. package/dist/utils/dates.d.ts +6 -4
  342. package/dist/utils/dates.js +83 -105
  343. package/dist/utils/dates.js.map +1 -0
  344. package/dist/utils/dom.d.cts +3 -0
  345. package/dist/utils/dom.d.ts +3 -1
  346. package/dist/utils/dom.js +35 -7
  347. package/dist/utils/dom.js.map +1 -0
  348. package/dist/utils/env.d.cts +9 -0
  349. package/dist/utils/env.d.ts +6 -4
  350. package/dist/utils/env.js +70 -43
  351. package/dist/utils/env.js.map +1 -0
  352. package/dist/utils/errors.d.cts +223 -0
  353. package/dist/utils/errors.d.ts +14 -11
  354. package/dist/utils/errors.js +148 -126
  355. package/dist/utils/errors.js.map +1 -0
  356. package/dist/utils/fs.d.cts +7 -0
  357. package/dist/utils/fs.d.ts +5 -3
  358. package/dist/utils/fs.js +70 -27
  359. package/dist/utils/fs.js.map +1 -0
  360. package/dist/utils/functions.d.cts +4 -0
  361. package/dist/utils/functions.d.ts +4 -2
  362. package/dist/utils/functions.js +35 -18
  363. package/dist/utils/functions.js.map +1 -0
  364. package/dist/utils/geo.d.cts +22 -0
  365. package/dist/utils/geo.d.ts +6 -3
  366. package/dist/utils/geo.js +39 -9
  367. package/dist/utils/geo.js.map +1 -0
  368. package/dist/utils/globals.d.cts +5 -0
  369. package/dist/utils/globals.d.ts +4 -2
  370. package/dist/utils/globals.js +41 -14
  371. package/dist/utils/globals.js.map +1 -0
  372. package/dist/utils/hashes.d.cts +7 -0
  373. package/dist/utils/hashes.d.ts +7 -5
  374. package/dist/utils/hashes.js +87 -41
  375. package/dist/utils/hashes.js.map +1 -0
  376. package/dist/utils/html.d.cts +4 -0
  377. package/dist/utils/html.d.ts +4 -2
  378. package/dist/utils/html.js +36 -37
  379. package/dist/utils/html.js.map +1 -0
  380. package/dist/utils/http.d.cts +43 -0
  381. package/dist/utils/http.d.ts +6 -4
  382. package/dist/utils/http.js +83 -83
  383. package/dist/utils/http.js.map +1 -0
  384. package/dist/utils/ips.d.cts +6 -0
  385. package/dist/utils/ips.d.ts +6 -4
  386. package/dist/utils/ips.js +48 -35
  387. package/dist/utils/ips.js.map +1 -0
  388. package/dist/utils/json.d.cts +13 -0
  389. package/dist/utils/json.d.ts +9 -6
  390. package/dist/utils/json.js +54 -157
  391. package/dist/utils/json.js.map +1 -0
  392. package/dist/utils/jwt.d.cts +44 -0
  393. package/dist/utils/jwt.d.ts +14 -11
  394. package/dist/utils/jwt.js +119 -84
  395. package/dist/utils/jwt.js.map +1 -0
  396. package/dist/utils/locks.d.cts +15 -0
  397. package/dist/utils/locks.d.ts +3 -2
  398. package/dist/utils/locks.js +76 -56
  399. package/dist/utils/locks.js.map +1 -0
  400. package/dist/utils/maps.d.cts +59 -0
  401. package/dist/utils/maps.d.ts +6 -4
  402. package/dist/utils/maps.js +207 -343
  403. package/dist/utils/maps.js.map +1 -0
  404. package/dist/utils/math.d.cts +6 -0
  405. package/dist/utils/math.d.ts +3 -1
  406. package/dist/utils/math.js +31 -16
  407. package/dist/utils/math.js.map +1 -0
  408. package/dist/utils/node-http.d.cts +15 -0
  409. package/dist/utils/node-http.d.ts +5 -5
  410. package/dist/utils/node-http.js +65 -36
  411. package/dist/utils/node-http.js.map +1 -0
  412. package/dist/utils/numbers.d.cts +5 -0
  413. package/dist/utils/numbers.d.ts +5 -3
  414. package/dist/utils/numbers.js +53 -66
  415. package/dist/utils/numbers.js.map +1 -0
  416. package/dist/utils/oauth.d.cts +8 -0
  417. package/dist/utils/oauth.d.ts +8 -6
  418. package/dist/utils/oauth.js +37 -4
  419. package/dist/utils/oauth.js.map +1 -0
  420. package/dist/utils/objects.d.cts +65 -0
  421. package/dist/utils/objects.d.ts +31 -30
  422. package/dist/utils/objects.js +196 -374
  423. package/dist/utils/objects.js.map +1 -0
  424. package/dist/utils/passkey.d.cts +1 -0
  425. package/dist/utils/passkey.d.ts +1 -1
  426. package/dist/utils/passkey.js +19 -1
  427. package/dist/utils/passkey.js.map +1 -0
  428. package/dist/utils/promises.d.cts +74 -0
  429. package/dist/utils/promises.d.ts +20 -18
  430. package/dist/utils/promises.js +252 -393
  431. package/dist/utils/promises.js.map +1 -0
  432. package/dist/utils/proxies.d.cts +4 -0
  433. package/dist/utils/proxies.d.ts +4 -2
  434. package/dist/utils/proxies.js +150 -161
  435. package/dist/utils/proxies.js.map +1 -0
  436. package/dist/utils/react.d.cts +25 -0
  437. package/dist/utils/react.d.ts +9 -6
  438. package/dist/utils/react.js +88 -134
  439. package/dist/utils/react.js.map +1 -0
  440. package/dist/utils/results.d.cts +78 -0
  441. package/dist/utils/results.d.ts +10 -9
  442. package/dist/utils/results.js +143 -324
  443. package/dist/utils/results.js.map +1 -0
  444. package/dist/utils/sentry.d.cts +5 -0
  445. package/dist/utils/sentry.d.ts +5 -2
  446. package/dist/utils/sentry.js +44 -14
  447. package/dist/utils/sentry.js.map +1 -0
  448. package/dist/utils/stores.d.cts +102 -0
  449. package/dist/utils/stores.d.ts +12 -9
  450. package/dist/utils/stores.js +219 -189
  451. package/dist/utils/stores.js.map +1 -0
  452. package/dist/utils/strings.d.cts +72 -0
  453. package/dist/utils/strings.d.ts +22 -20
  454. package/dist/utils/strings.js +299 -580
  455. package/dist/utils/strings.js.map +1 -0
  456. package/dist/utils/strings.nicify.test.d.cts +2 -0
  457. package/dist/utils/strings.nicify.test.d.ts +2 -1
  458. package/dist/utils/strings.nicify.test.js +168 -158
  459. package/dist/utils/strings.nicify.test.js.map +1 -0
  460. package/dist/utils/types.d.cts +23 -0
  461. package/dist/utils/types.d.ts +8 -6
  462. package/dist/utils/types.js +19 -1
  463. package/dist/utils/types.js.map +1 -0
  464. package/dist/utils/unicode.d.cts +3 -0
  465. package/dist/utils/unicode.d.ts +3 -1
  466. package/dist/utils/unicode.js +34 -21
  467. package/dist/utils/unicode.js.map +1 -0
  468. package/dist/utils/urls.d.cts +20 -0
  469. package/dist/utils/urls.d.ts +10 -8
  470. package/dist/utils/urls.js +76 -165
  471. package/dist/utils/urls.js.map +1 -0
  472. package/dist/utils/uuids.d.cts +4 -0
  473. package/dist/utils/uuids.d.ts +4 -2
  474. package/dist/utils/uuids.js +39 -35
  475. package/dist/utils/uuids.js.map +1 -0
  476. package/package.json +5 -5
@@ -1,14 +1,15 @@
1
- import * as yup from "yup";
2
- import { DeepMerge } from "../utils/objects";
3
- import { PrettifyType } from "../utils/types";
4
- import { NormalizesTo } from "./format";
5
- export declare const configLevels: readonly ["project", "branch", "environment", "organization"];
6
- export type ConfigLevel = typeof configLevels[number];
1
+ import * as yup from 'yup';
2
+ import { DeepMerge } from '../utils/objects.js';
3
+ import { PrettifyType } from '../utils/types.js';
4
+ import { NormalizesTo } from './format.js';
5
+
6
+ declare const configLevels: readonly ["project", "branch", "environment", "organization"];
7
+ type ConfigLevel = typeof configLevels[number];
7
8
  /**
8
9
  * All fields that can be overridden at this level.
9
10
  */
10
- export declare const projectConfigSchema: yup.ObjectSchema<{}, yup.AnyObject, {}, "">;
11
- export declare const branchConfigSchema: yup.ObjectSchema<{} & {
11
+ declare const projectConfigSchema: yup.ObjectSchema<{}, yup.AnyObject, {}, "">;
12
+ declare const branchConfigSchema: yup.ObjectSchema<{} & {
12
13
  rbac: {
13
14
  permissions?: Record<string, {
14
15
  description?: string | undefined;
@@ -51,7 +52,7 @@ export declare const branchConfigSchema: yup.ObjectSchema<{} & {
51
52
  oauth?: {
52
53
  accountMergeStrategy?: "link_method" | "raise_error" | "allow_duplicates" | undefined;
53
54
  providers?: Record<string, {
54
- type?: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined;
55
+ type?: "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined;
55
56
  allowSignIn?: boolean | undefined;
56
57
  allowConnectedAccounts?: boolean | undefined;
57
58
  }> | undefined;
@@ -101,7 +102,7 @@ export declare const branchConfigSchema: yup.ObjectSchema<{} & {
101
102
  };
102
103
  emails: {};
103
104
  }, "">;
104
- export declare const environmentConfigSchema: yup.ObjectSchema<{
105
+ declare const environmentConfigSchema: yup.ObjectSchema<{
105
106
  rbac: {
106
107
  permissions?: Record<string, {
107
108
  description?: string | undefined;
@@ -149,7 +150,7 @@ export declare const environmentConfigSchema: yup.ObjectSchema<{
149
150
  oauth?: {
150
151
  accountMergeStrategy?: "link_method" | "raise_error" | "allow_duplicates" | undefined;
151
152
  providers?: Record<string, {
152
- type?: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined;
153
+ type?: "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined;
153
154
  allowSignIn?: boolean | undefined;
154
155
  allowConnectedAccounts?: boolean | undefined;
155
156
  }> | undefined;
@@ -158,13 +159,13 @@ export declare const environmentConfigSchema: yup.ObjectSchema<{
158
159
  oauth?: (Omit<{
159
160
  accountMergeStrategy?: "link_method" | "raise_error" | "allow_duplicates" | undefined;
160
161
  providers?: Record<string, {
161
- type?: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined;
162
+ type?: "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined;
162
163
  allowSignIn?: boolean | undefined;
163
164
  allowConnectedAccounts?: boolean | undefined;
164
165
  }> | undefined;
165
166
  }, never> & {
166
167
  providers?: Record<string, {
167
- type?: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined;
168
+ type?: "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined;
168
169
  clientId?: string | undefined;
169
170
  clientSecret?: string | undefined;
170
171
  allowSignIn?: boolean | undefined;
@@ -201,7 +202,7 @@ export declare const environmentConfigSchema: yup.ObjectSchema<{
201
202
  oauth?: {
202
203
  accountMergeStrategy?: "link_method" | "raise_error" | "allow_duplicates" | undefined;
203
204
  providers?: Record<string, {
204
- type?: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined;
205
+ type?: "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined;
205
206
  allowSignIn?: boolean | undefined;
206
207
  allowConnectedAccounts?: boolean | undefined;
207
208
  }> | undefined;
@@ -210,13 +211,13 @@ export declare const environmentConfigSchema: yup.ObjectSchema<{
210
211
  oauth?: (Omit<{
211
212
  accountMergeStrategy?: "link_method" | "raise_error" | "allow_duplicates" | undefined;
212
213
  providers?: Record<string, {
213
- type?: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined;
214
+ type?: "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined;
214
215
  allowSignIn?: boolean | undefined;
215
216
  allowConnectedAccounts?: boolean | undefined;
216
217
  }> | undefined;
217
218
  }, never> & {
218
219
  providers?: Record<string, {
219
- type?: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined;
220
+ type?: "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined;
220
221
  clientId?: string | undefined;
221
222
  clientSecret?: string | undefined;
222
223
  allowSignIn?: boolean | undefined;
@@ -398,7 +399,7 @@ export declare const environmentConfigSchema: yup.ObjectSchema<{
398
399
  emails: {};
399
400
  };
400
401
  }, "">;
401
- export declare const organizationConfigSchema: yup.ObjectSchema<{
402
+ declare const organizationConfigSchema: yup.ObjectSchema<{
402
403
  rbac: {
403
404
  permissions?: Record<string, {
404
405
  description?: string | undefined;
@@ -446,7 +447,7 @@ export declare const organizationConfigSchema: yup.ObjectSchema<{
446
447
  oauth?: {
447
448
  accountMergeStrategy?: "link_method" | "raise_error" | "allow_duplicates" | undefined;
448
449
  providers?: Record<string, {
449
- type?: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined;
450
+ type?: "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined;
450
451
  allowSignIn?: boolean | undefined;
451
452
  allowConnectedAccounts?: boolean | undefined;
452
453
  }> | undefined;
@@ -455,13 +456,13 @@ export declare const organizationConfigSchema: yup.ObjectSchema<{
455
456
  oauth?: (Omit<{
456
457
  accountMergeStrategy?: "link_method" | "raise_error" | "allow_duplicates" | undefined;
457
458
  providers?: Record<string, {
458
- type?: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined;
459
+ type?: "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined;
459
460
  allowSignIn?: boolean | undefined;
460
461
  allowConnectedAccounts?: boolean | undefined;
461
462
  }> | undefined;
462
463
  }, never> & {
463
464
  providers?: Record<string, {
464
- type?: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined;
465
+ type?: "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined;
465
466
  clientId?: string | undefined;
466
467
  clientSecret?: string | undefined;
467
468
  allowSignIn?: boolean | undefined;
@@ -635,10 +636,10 @@ export declare const organizationConfigSchema: yup.ObjectSchema<{
635
636
  emails: {};
636
637
  };
637
638
  }, "">;
638
- export declare const projectConfigDefaults: {};
639
- export declare const branchConfigDefaults: {};
640
- export declare const environmentConfigDefaults: {};
641
- export declare const organizationConfigDefaults: {
639
+ declare const projectConfigDefaults: {};
640
+ declare const branchConfigDefaults: {};
641
+ declare const environmentConfigDefaults: {};
642
+ declare const organizationConfigDefaults: {
642
643
  rbac: {
643
644
  permissions: (key: string) => {};
644
645
  defaultPermissions: {
@@ -691,31 +692,33 @@ export declare const organizationConfigDefaults: {
691
692
  };
692
693
  };
693
694
  };
694
- export type DeepReplaceAllowFunctionsForObjects<T> = T extends object ? {
695
+ type DeepReplaceAllowFunctionsForObjects<T> = T extends object ? {
695
696
  [K in keyof T]: DeepReplaceAllowFunctionsForObjects<T[K]>;
696
697
  } | ((arg: keyof T) => DeepReplaceAllowFunctionsForObjects<T[keyof T]>) : T;
697
- export type DeepReplaceFunctionsWithObjects<T> = T extends (arg: infer K extends string) => infer R ? DeepReplaceFunctionsWithObjects<Record<K, R>> : (T extends object ? {
698
+ type DeepReplaceFunctionsWithObjects<T> = T extends (arg: infer K extends string) => infer R ? DeepReplaceFunctionsWithObjects<Record<K, R>> : (T extends object ? {
698
699
  [K in keyof T]: DeepReplaceFunctionsWithObjects<T[K]>;
699
700
  } : T);
700
- export type ApplyDefaults<D extends object | ((key: string) => unknown), C extends object> = DeepMerge<DeepReplaceFunctionsWithObjects<D>, C>;
701
- export declare function applyDefaults<D extends object | ((key: string) => unknown), C extends object>(defaults: D, config: C): ApplyDefaults<D, C>;
702
- export type ProjectConfigNormalizedOverride = yup.InferType<typeof projectConfigSchema>;
703
- export type BranchConfigNormalizedOverride = yup.InferType<typeof branchConfigSchema>;
704
- export type EnvironmentConfigNormalizedOverride = yup.InferType<typeof environmentConfigSchema>;
705
- export type OrganizationConfigNormalizedOverride = yup.InferType<typeof organizationConfigSchema>;
706
- export type ProjectConfigStrippedNormalizedOverride = Omit<ProjectConfigNormalizedOverride, keyof BranchConfigNormalizedOverride | keyof EnvironmentConfigNormalizedOverride | keyof OrganizationConfigNormalizedOverride>;
707
- export type BranchConfigStrippedNormalizedOverride = Omit<BranchConfigNormalizedOverride, keyof EnvironmentConfigNormalizedOverride | keyof OrganizationConfigNormalizedOverride>;
708
- export type EnvironmentConfigStrippedNormalizedOverride = Omit<EnvironmentConfigNormalizedOverride, keyof OrganizationConfigNormalizedOverride>;
709
- export type OrganizationConfigStrippedNormalizedOverride = OrganizationConfigNormalizedOverride;
710
- export type ProjectConfigOverride = NormalizesTo<ProjectConfigNormalizedOverride>;
711
- export type BranchConfigOverride = NormalizesTo<BranchConfigNormalizedOverride>;
712
- export type EnvironmentConfigOverride = NormalizesTo<EnvironmentConfigNormalizedOverride>;
713
- export type OrganizationConfigOverride = NormalizesTo<OrganizationConfigNormalizedOverride>;
714
- export type ProjectIncompleteConfig = ProjectConfigNormalizedOverride;
715
- export type BranchIncompleteConfig = ProjectIncompleteConfig & BranchConfigNormalizedOverride;
716
- export type EnvironmentIncompleteConfig = BranchIncompleteConfig & EnvironmentConfigNormalizedOverride;
717
- export type OrganizationIncompleteConfig = EnvironmentIncompleteConfig & OrganizationConfigNormalizedOverride;
718
- export type ProjectRenderedConfig = PrettifyType<ApplyDefaults<typeof projectConfigDefaults, ProjectConfigStrippedNormalizedOverride>>;
719
- export type BranchRenderedConfig = PrettifyType<ProjectRenderedConfig & ApplyDefaults<typeof branchConfigDefaults, BranchConfigStrippedNormalizedOverride>>;
720
- export type EnvironmentRenderedConfig = PrettifyType<BranchRenderedConfig & ApplyDefaults<typeof environmentConfigDefaults, EnvironmentConfigStrippedNormalizedOverride>>;
721
- export type OrganizationRenderedConfig = PrettifyType<EnvironmentRenderedConfig & ApplyDefaults<typeof organizationConfigDefaults, OrganizationConfigStrippedNormalizedOverride>>;
701
+ type ApplyDefaults<D extends object | ((key: string) => unknown), C extends object> = DeepMerge<DeepReplaceFunctionsWithObjects<D>, C>;
702
+ declare function applyDefaults<D extends object | ((key: string) => unknown), C extends object>(defaults: D, config: C): ApplyDefaults<D, C>;
703
+ type ProjectConfigNormalizedOverride = yup.InferType<typeof projectConfigSchema>;
704
+ type BranchConfigNormalizedOverride = yup.InferType<typeof branchConfigSchema>;
705
+ type EnvironmentConfigNormalizedOverride = yup.InferType<typeof environmentConfigSchema>;
706
+ type OrganizationConfigNormalizedOverride = yup.InferType<typeof organizationConfigSchema>;
707
+ type ProjectConfigStrippedNormalizedOverride = Omit<ProjectConfigNormalizedOverride, keyof BranchConfigNormalizedOverride | keyof EnvironmentConfigNormalizedOverride | keyof OrganizationConfigNormalizedOverride>;
708
+ type BranchConfigStrippedNormalizedOverride = Omit<BranchConfigNormalizedOverride, keyof EnvironmentConfigNormalizedOverride | keyof OrganizationConfigNormalizedOverride>;
709
+ type EnvironmentConfigStrippedNormalizedOverride = Omit<EnvironmentConfigNormalizedOverride, keyof OrganizationConfigNormalizedOverride>;
710
+ type OrganizationConfigStrippedNormalizedOverride = OrganizationConfigNormalizedOverride;
711
+ type ProjectConfigOverride = NormalizesTo<ProjectConfigNormalizedOverride>;
712
+ type BranchConfigOverride = NormalizesTo<BranchConfigNormalizedOverride>;
713
+ type EnvironmentConfigOverride = NormalizesTo<EnvironmentConfigNormalizedOverride>;
714
+ type OrganizationConfigOverride = NormalizesTo<OrganizationConfigNormalizedOverride>;
715
+ type ProjectIncompleteConfig = ProjectConfigNormalizedOverride;
716
+ type BranchIncompleteConfig = ProjectIncompleteConfig & BranchConfigNormalizedOverride;
717
+ type EnvironmentIncompleteConfig = BranchIncompleteConfig & EnvironmentConfigNormalizedOverride;
718
+ type OrganizationIncompleteConfig = EnvironmentIncompleteConfig & OrganizationConfigNormalizedOverride;
719
+ type ProjectRenderedConfig = PrettifyType<ApplyDefaults<typeof projectConfigDefaults, ProjectConfigStrippedNormalizedOverride>>;
720
+ type BranchRenderedConfig = PrettifyType<ProjectRenderedConfig & ApplyDefaults<typeof branchConfigDefaults, BranchConfigStrippedNormalizedOverride>>;
721
+ type EnvironmentRenderedConfig = PrettifyType<BranchRenderedConfig & ApplyDefaults<typeof environmentConfigDefaults, EnvironmentConfigStrippedNormalizedOverride>>;
722
+ type OrganizationRenderedConfig = PrettifyType<EnvironmentRenderedConfig & ApplyDefaults<typeof organizationConfigDefaults, OrganizationConfigStrippedNormalizedOverride>>;
723
+
724
+ export { type ApplyDefaults, type BranchConfigNormalizedOverride, type BranchConfigOverride, type BranchConfigStrippedNormalizedOverride, type BranchIncompleteConfig, type BranchRenderedConfig, type ConfigLevel, type DeepReplaceAllowFunctionsForObjects, type DeepReplaceFunctionsWithObjects, type EnvironmentConfigNormalizedOverride, type EnvironmentConfigOverride, type EnvironmentConfigStrippedNormalizedOverride, type EnvironmentIncompleteConfig, type EnvironmentRenderedConfig, type OrganizationConfigNormalizedOverride, type OrganizationConfigOverride, type OrganizationConfigStrippedNormalizedOverride, type OrganizationIncompleteConfig, type OrganizationRenderedConfig, type ProjectConfigNormalizedOverride, type ProjectConfigOverride, type ProjectConfigStrippedNormalizedOverride, type ProjectIncompleteConfig, type ProjectRenderedConfig, applyDefaults, branchConfigDefaults, branchConfigSchema, configLevels, environmentConfigDefaults, environmentConfigSchema, organizationConfigDefaults, organizationConfigSchema, projectConfigDefaults, projectConfigSchema };
@@ -1,185 +1,243 @@
1
- import * as schemaFields from "../schema-fields";
2
- import { yupBoolean, yupObject, yupRecord, yupString } from "../schema-fields";
3
- import { allProviders } from "../utils/oauth";
4
- import { get, has, isObjectLike, set } from "../utils/objects";
5
- // NOTE: The validation schemas in here are all schematic validators, not sanity-check validators.
6
- // For more info, see ./README.md
7
- export const configLevels = ['project', 'branch', 'environment', 'organization'];
8
- const permissionRegex = /^\$?[a-z0-9_:]+$/;
9
- /**
10
- * All fields that can be overridden at this level.
11
- */
12
- export const projectConfigSchema = yupObject({});
13
- // --- NEW RBAC Schema ---
14
- const branchRbacDefaultPermissions = yupRecord(yupString().optional().matches(permissionRegex), yupBoolean().isTrue().optional()).optional();
15
- const branchRbacSchema = yupObject({
16
- permissions: yupRecord(yupString().optional().matches(permissionRegex), yupObject({
17
- description: yupString().optional(),
18
- scope: yupString().oneOf(['team', 'project']).optional(),
19
- containedPermissionIds: yupRecord(yupString().optional().matches(permissionRegex), yupBoolean().isTrue().optional()).optional(),
20
- }).optional()).optional(),
21
- defaultPermissions: yupObject({
22
- teamCreator: branchRbacDefaultPermissions,
23
- teamMember: branchRbacDefaultPermissions,
24
- signUp: branchRbacDefaultPermissions,
25
- }).optional(),
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/config/schema.ts
31
+ var schema_exports = {};
32
+ __export(schema_exports, {
33
+ applyDefaults: () => applyDefaults,
34
+ branchConfigDefaults: () => branchConfigDefaults,
35
+ branchConfigSchema: () => branchConfigSchema,
36
+ configLevels: () => configLevels,
37
+ environmentConfigDefaults: () => environmentConfigDefaults,
38
+ environmentConfigSchema: () => environmentConfigSchema,
39
+ organizationConfigDefaults: () => organizationConfigDefaults,
40
+ organizationConfigSchema: () => organizationConfigSchema,
41
+ projectConfigDefaults: () => projectConfigDefaults,
42
+ projectConfigSchema: () => projectConfigSchema
43
+ });
44
+ module.exports = __toCommonJS(schema_exports);
45
+ var schemaFields = __toESM(require("../schema-fields"), 1);
46
+ var import_schema_fields = require("../schema-fields");
47
+ var import_oauth = require("../utils/oauth");
48
+ var import_objects = require("../utils/objects");
49
+ var configLevels = ["project", "branch", "environment", "organization"];
50
+ var permissionRegex = /^\$?[a-z0-9_:]+$/;
51
+ var projectConfigSchema = (0, import_schema_fields.yupObject)({});
52
+ var branchRbacDefaultPermissions = (0, import_schema_fields.yupRecord)(
53
+ (0, import_schema_fields.yupString)().optional().matches(permissionRegex),
54
+ (0, import_schema_fields.yupBoolean)().isTrue().optional()
55
+ ).optional();
56
+ var branchRbacSchema = (0, import_schema_fields.yupObject)({
57
+ permissions: (0, import_schema_fields.yupRecord)(
58
+ (0, import_schema_fields.yupString)().optional().matches(permissionRegex),
59
+ (0, import_schema_fields.yupObject)({
60
+ description: (0, import_schema_fields.yupString)().optional(),
61
+ scope: (0, import_schema_fields.yupString)().oneOf(["team", "project"]).optional(),
62
+ containedPermissionIds: (0, import_schema_fields.yupRecord)(
63
+ (0, import_schema_fields.yupString)().optional().matches(permissionRegex),
64
+ (0, import_schema_fields.yupBoolean)().isTrue().optional()
65
+ ).optional()
66
+ }).optional()
67
+ ).optional(),
68
+ defaultPermissions: (0, import_schema_fields.yupObject)({
69
+ teamCreator: branchRbacDefaultPermissions,
70
+ teamMember: branchRbacDefaultPermissions,
71
+ signUp: branchRbacDefaultPermissions
72
+ }).optional()
26
73
  }).optional();
27
- // --- END NEW RBAC Schema ---
28
- // --- NEW API Keys Schema ---
29
- const branchApiKeysSchema = yupObject({
30
- enabled: yupObject({
31
- team: yupBoolean().optional(),
32
- user: yupBoolean().optional(),
33
- }).optional(),
74
+ var branchApiKeysSchema = (0, import_schema_fields.yupObject)({
75
+ enabled: (0, import_schema_fields.yupObject)({
76
+ team: (0, import_schema_fields.yupBoolean)().optional(),
77
+ user: (0, import_schema_fields.yupBoolean)().optional()
78
+ }).optional()
34
79
  }).optional();
35
- // --- END NEW API Keys Schema ---
36
- const branchAuthSchema = yupObject({
37
- allowSignUp: yupBoolean().optional(),
38
- password: yupObject({
39
- allowSignIn: yupBoolean().optional(),
40
- }).optional(),
41
- otp: yupObject({
42
- allowSignIn: yupBoolean().optional(),
43
- }).optional(),
44
- passkey: yupObject({
45
- allowSignIn: yupBoolean().optional(),
46
- }).optional(),
47
- oauth: yupObject({
48
- accountMergeStrategy: yupString().oneOf(['link_method', 'raise_error', 'allow_duplicates']).optional(),
49
- providers: yupRecord(yupString().optional().matches(permissionRegex), yupObject({
50
- type: yupString().oneOf(allProviders).optional(),
51
- allowSignIn: yupBoolean().optional(),
52
- allowConnectedAccounts: yupBoolean().optional(),
53
- }).defined()).optional(),
54
- }).optional(),
80
+ var branchAuthSchema = (0, import_schema_fields.yupObject)({
81
+ allowSignUp: (0, import_schema_fields.yupBoolean)().optional(),
82
+ password: (0, import_schema_fields.yupObject)({
83
+ allowSignIn: (0, import_schema_fields.yupBoolean)().optional()
84
+ }).optional(),
85
+ otp: (0, import_schema_fields.yupObject)({
86
+ allowSignIn: (0, import_schema_fields.yupBoolean)().optional()
87
+ }).optional(),
88
+ passkey: (0, import_schema_fields.yupObject)({
89
+ allowSignIn: (0, import_schema_fields.yupBoolean)().optional()
90
+ }).optional(),
91
+ oauth: (0, import_schema_fields.yupObject)({
92
+ accountMergeStrategy: (0, import_schema_fields.yupString)().oneOf(["link_method", "raise_error", "allow_duplicates"]).optional(),
93
+ providers: (0, import_schema_fields.yupRecord)(
94
+ (0, import_schema_fields.yupString)().optional().matches(permissionRegex),
95
+ (0, import_schema_fields.yupObject)({
96
+ type: (0, import_schema_fields.yupString)().oneOf(import_oauth.allProviders).optional(),
97
+ allowSignIn: (0, import_schema_fields.yupBoolean)().optional(),
98
+ allowConnectedAccounts: (0, import_schema_fields.yupBoolean)().optional()
99
+ }).defined()
100
+ ).optional()
101
+ }).optional()
55
102
  }).optional();
56
- const branchDomain = yupObject({
57
- allowLocalhost: yupBoolean().optional(),
103
+ var branchDomain = (0, import_schema_fields.yupObject)({
104
+ allowLocalhost: (0, import_schema_fields.yupBoolean)().optional()
58
105
  }).optional();
59
- export const branchConfigSchema = projectConfigSchema.concat(yupObject({
60
- rbac: branchRbacSchema,
61
- teams: yupObject({
62
- createPersonalTeamOnSignUp: yupBoolean().optional(),
63
- allowClientTeamCreation: yupBoolean().optional(),
64
- }).optional(),
65
- users: yupObject({
66
- allowClientUserDeletion: yupBoolean().optional(),
67
- }).optional(),
68
- apiKeys: branchApiKeysSchema,
69
- domains: branchDomain,
70
- auth: branchAuthSchema,
71
- emails: yupObject({}),
106
+ var branchConfigSchema = projectConfigSchema.concat((0, import_schema_fields.yupObject)({
107
+ rbac: branchRbacSchema,
108
+ teams: (0, import_schema_fields.yupObject)({
109
+ createPersonalTeamOnSignUp: (0, import_schema_fields.yupBoolean)().optional(),
110
+ allowClientTeamCreation: (0, import_schema_fields.yupBoolean)().optional()
111
+ }).optional(),
112
+ users: (0, import_schema_fields.yupObject)({
113
+ allowClientUserDeletion: (0, import_schema_fields.yupBoolean)().optional()
114
+ }).optional(),
115
+ apiKeys: branchApiKeysSchema,
116
+ domains: branchDomain,
117
+ auth: branchAuthSchema,
118
+ emails: (0, import_schema_fields.yupObject)({})
72
119
  }));
73
- export const environmentConfigSchema = branchConfigSchema.concat(yupObject({
74
- auth: branchConfigSchema.getNested("auth").concat(yupObject({
75
- oauth: branchConfigSchema.getNested("auth").getNested("oauth").concat(yupObject({
76
- providers: yupRecord(yupString().optional().matches(permissionRegex), yupObject({
77
- type: yupString().oneOf(allProviders).optional(),
78
- isShared: yupBoolean().optional(),
79
- clientId: schemaFields.oauthClientIdSchema.optional(),
80
- clientSecret: schemaFields.oauthClientSecretSchema.optional(),
81
- facebookConfigId: schemaFields.oauthFacebookConfigIdSchema.optional(),
82
- microsoftTenantId: schemaFields.oauthMicrosoftTenantIdSchema.optional(),
83
- allowSignIn: yupBoolean().optional(),
84
- allowConnectedAccounts: yupBoolean().optional(),
85
- })).optional(),
86
- }).optional()),
87
- })),
88
- emails: branchConfigSchema.getNested("emails").concat(yupObject({
89
- server: yupObject({
90
- isShared: yupBoolean().optional(),
91
- host: schemaFields.emailHostSchema.optional().nonEmpty(),
92
- port: schemaFields.emailPortSchema.optional(),
93
- username: schemaFields.emailUsernameSchema.optional().nonEmpty(),
94
- password: schemaFields.emailPasswordSchema.optional().nonEmpty(),
95
- senderName: schemaFields.emailSenderNameSchema.optional().nonEmpty(),
96
- senderEmail: schemaFields.emailSenderEmailSchema.optional().nonEmpty(),
97
- }),
98
- }).optional()),
99
- domains: branchConfigSchema.getNested("domains").concat(yupObject({
100
- trustedDomains: yupRecord(yupString().uuid().optional(), yupObject({
101
- baseUrl: schemaFields.urlSchema.optional(),
102
- handlerPath: schemaFields.handlerPathSchema.optional(),
103
- })).optional(),
104
- })),
120
+ var environmentConfigSchema = branchConfigSchema.concat((0, import_schema_fields.yupObject)({
121
+ auth: branchConfigSchema.getNested("auth").concat((0, import_schema_fields.yupObject)({
122
+ oauth: branchConfigSchema.getNested("auth").getNested("oauth").concat((0, import_schema_fields.yupObject)({
123
+ providers: (0, import_schema_fields.yupRecord)(
124
+ (0, import_schema_fields.yupString)().optional().matches(permissionRegex),
125
+ (0, import_schema_fields.yupObject)({
126
+ type: (0, import_schema_fields.yupString)().oneOf(import_oauth.allProviders).optional(),
127
+ isShared: (0, import_schema_fields.yupBoolean)().optional(),
128
+ clientId: schemaFields.oauthClientIdSchema.optional(),
129
+ clientSecret: schemaFields.oauthClientSecretSchema.optional(),
130
+ facebookConfigId: schemaFields.oauthFacebookConfigIdSchema.optional(),
131
+ microsoftTenantId: schemaFields.oauthMicrosoftTenantIdSchema.optional(),
132
+ allowSignIn: (0, import_schema_fields.yupBoolean)().optional(),
133
+ allowConnectedAccounts: (0, import_schema_fields.yupBoolean)().optional()
134
+ })
135
+ ).optional()
136
+ }).optional())
137
+ })),
138
+ emails: branchConfigSchema.getNested("emails").concat((0, import_schema_fields.yupObject)({
139
+ server: (0, import_schema_fields.yupObject)({
140
+ isShared: (0, import_schema_fields.yupBoolean)().optional(),
141
+ host: schemaFields.emailHostSchema.optional().nonEmpty(),
142
+ port: schemaFields.emailPortSchema.optional(),
143
+ username: schemaFields.emailUsernameSchema.optional().nonEmpty(),
144
+ password: schemaFields.emailPasswordSchema.optional().nonEmpty(),
145
+ senderName: schemaFields.emailSenderNameSchema.optional().nonEmpty(),
146
+ senderEmail: schemaFields.emailSenderEmailSchema.optional().nonEmpty()
147
+ })
148
+ }).optional()),
149
+ domains: branchConfigSchema.getNested("domains").concat((0, import_schema_fields.yupObject)({
150
+ trustedDomains: (0, import_schema_fields.yupRecord)(
151
+ (0, import_schema_fields.yupString)().uuid().optional(),
152
+ (0, import_schema_fields.yupObject)({
153
+ baseUrl: schemaFields.urlSchema.optional(),
154
+ handlerPath: schemaFields.handlerPathSchema.optional()
155
+ })
156
+ ).optional()
157
+ }))
105
158
  }));
106
- export const organizationConfigSchema = environmentConfigSchema.concat(yupObject({}));
107
- // Defaults
108
- // these are objects that are merged together to form the rendered config (see ./README.md)
109
- // Wherever an object could be used as a value, a function can instead be used to generate the default values on a per-key basis
110
- export const projectConfigDefaults = {};
111
- export const branchConfigDefaults = {};
112
- export const environmentConfigDefaults = {};
113
- export const organizationConfigDefaults = {
114
- rbac: {
115
- permissions: (key) => ({}),
116
- defaultPermissions: {
117
- teamCreator: {},
118
- teamMember: {},
119
- signUp: {},
120
- },
121
- },
122
- apiKeys: {
123
- enabled: {
124
- team: false,
125
- user: false,
126
- },
127
- },
128
- teams: {
129
- createPersonalTeamOnSignUp: false,
130
- allowClientTeamCreation: false,
131
- },
132
- users: {
133
- allowClientUserDeletion: false,
134
- },
135
- domains: {
136
- allowLocalhost: false,
137
- trustedDomains: (key) => ({
138
- handlerPath: '/handler',
139
- }),
159
+ var organizationConfigSchema = environmentConfigSchema.concat((0, import_schema_fields.yupObject)({}));
160
+ var projectConfigDefaults = {};
161
+ var branchConfigDefaults = {};
162
+ var environmentConfigDefaults = {};
163
+ var organizationConfigDefaults = {
164
+ rbac: {
165
+ permissions: (key) => ({}),
166
+ defaultPermissions: {
167
+ teamCreator: {},
168
+ teamMember: {},
169
+ signUp: {}
170
+ }
171
+ },
172
+ apiKeys: {
173
+ enabled: {
174
+ team: false,
175
+ user: false
176
+ }
177
+ },
178
+ teams: {
179
+ createPersonalTeamOnSignUp: false,
180
+ allowClientTeamCreation: false
181
+ },
182
+ users: {
183
+ allowClientUserDeletion: false
184
+ },
185
+ domains: {
186
+ allowLocalhost: false,
187
+ trustedDomains: (key) => ({
188
+ handlerPath: "/handler"
189
+ })
190
+ },
191
+ auth: {
192
+ allowSignUp: true,
193
+ password: {
194
+ allowSignIn: false
140
195
  },
141
- auth: {
142
- allowSignUp: true,
143
- password: {
144
- allowSignIn: false,
145
- },
146
- otp: {
147
- allowSignIn: false,
148
- },
149
- passkey: {
150
- allowSignIn: false,
151
- },
152
- oauth: {
153
- accountMergeStrategy: 'link_method',
154
- providers: (key) => ({
155
- allowSignIn: false,
156
- allowConnectedAccounts: false,
157
- }),
158
- },
196
+ otp: {
197
+ allowSignIn: false
159
198
  },
160
- emails: {
161
- server: {
162
- isShared: true,
163
- },
199
+ passkey: {
200
+ allowSignIn: false
164
201
  },
202
+ oauth: {
203
+ accountMergeStrategy: "link_method",
204
+ providers: (key) => ({
205
+ allowSignIn: false,
206
+ allowConnectedAccounts: false
207
+ })
208
+ }
209
+ },
210
+ emails: {
211
+ server: {
212
+ isShared: true
213
+ }
214
+ }
165
215
  };
166
- export function applyDefaults(defaults, config) {
167
- const res = { ...typeof defaults === 'function' ? {} : defaults };
168
- for (const [key, mergeValue] of Object.entries(config)) {
169
- const baseValue = typeof defaults === 'function' ? defaults(key) : (has(defaults, key) ? get(defaults, key) : undefined);
170
- if (baseValue !== undefined) {
171
- if (isObjectLike(baseValue) && isObjectLike(mergeValue)) {
172
- set(res, key, applyDefaults(baseValue, mergeValue));
173
- continue;
174
- }
175
- }
176
- set(res, key, mergeValue);
216
+ function applyDefaults(defaults, config) {
217
+ const res = { ...typeof defaults === "function" ? {} : defaults };
218
+ for (const [key, mergeValue] of Object.entries(config)) {
219
+ const baseValue = typeof defaults === "function" ? defaults(key) : (0, import_objects.has)(defaults, key) ? (0, import_objects.get)(defaults, key) : void 0;
220
+ if (baseValue !== void 0) {
221
+ if ((0, import_objects.isObjectLike)(baseValue) && (0, import_objects.isObjectLike)(mergeValue)) {
222
+ (0, import_objects.set)(res, key, applyDefaults(baseValue, mergeValue));
223
+ continue;
224
+ }
177
225
  }
178
- return res;
226
+ (0, import_objects.set)(res, key, mergeValue);
227
+ }
228
+ return res;
179
229
  }
180
- import.meta.vitest?.test("applyDefaults", ({ expect }) => {
181
- expect(applyDefaults({ a: 1 }, { a: 2 })).toEqual({ a: 2 });
182
- expect(applyDefaults({ a: { b: 1 } }, { a: { c: 2 } })).toEqual({ a: { b: 1, c: 2 } });
183
- expect(applyDefaults((key) => ({ b: key }), { a: {} })).toEqual({ a: { b: "a" } });
184
- expect(applyDefaults({ a: (key) => ({ b: key }) }, { a: { c: { d: 1 } } })).toEqual({ a: { c: { b: "c", d: 1 } } });
230
+ // Annotate the CommonJS export names for ESM import in node:
231
+ 0 && (module.exports = {
232
+ applyDefaults,
233
+ branchConfigDefaults,
234
+ branchConfigSchema,
235
+ configLevels,
236
+ environmentConfigDefaults,
237
+ environmentConfigSchema,
238
+ organizationConfigDefaults,
239
+ organizationConfigSchema,
240
+ projectConfigDefaults,
241
+ projectConfigSchema
185
242
  });
243
+ //# sourceMappingURL=schema.js.map