@stackframe/stack-shared 2.8.8 → 2.8.11

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 +14 -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 +729 -0
  7. package/dist/config/schema.d.ts +59 -51
  8. package/dist/config/schema.js +232 -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 +201 -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 +180 -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 +1238 -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 +177 -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 +295 -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 +20 -12
  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 +627 -0
  245. package/dist/interface/crud/projects.d.ts +43 -51
  246. package/dist/interface/crud/projects.js +210 -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 +447 -0
  293. package/dist/known-errors.d.ts +15 -9
  294. package/dist/known-errors.js +1104 -562
  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 +69 -0
  421. package/dist/utils/objects.d.ts +37 -32
  422. package/dist/utils/objects.js +224 -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 +300 -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
@@ -0,0 +1,52 @@
1
+ // src/interface/crud/email-templates.ts
2
+ import { createCrud } from "../../crud";
3
+ import { jsonSchema, yupBoolean, yupMixed, yupObject, yupString } from "../../schema-fields";
4
+ var emailTemplateTypes = ["email_verification", "password_reset", "magic_link", "team_invitation"];
5
+ var emailTemplateAdminReadSchema = yupObject({
6
+ type: yupString().oneOf(emailTemplateTypes).defined(),
7
+ subject: yupString().defined(),
8
+ content: jsonSchema.defined(),
9
+ is_default: yupBoolean().defined()
10
+ }).defined();
11
+ var emailTemplateCrudAdminUpdateSchema = yupObject({
12
+ content: jsonSchema.nonNullable().optional(),
13
+ subject: yupString().optional()
14
+ }).defined();
15
+ var emailTemplateCrudAdminDeleteSchema = yupMixed();
16
+ var emailTemplateCrudAdminCreateSchema = yupObject({
17
+ type: yupString().oneOf(emailTemplateTypes).defined(),
18
+ content: jsonSchema.defined(),
19
+ subject: yupString().defined()
20
+ }).defined();
21
+ var emailTemplateCrud = createCrud({
22
+ adminReadSchema: emailTemplateAdminReadSchema,
23
+ adminUpdateSchema: emailTemplateCrudAdminUpdateSchema,
24
+ adminCreateSchema: emailTemplateCrudAdminCreateSchema,
25
+ adminDeleteSchema: emailTemplateCrudAdminDeleteSchema,
26
+ docs: {
27
+ adminRead: {
28
+ hidden: true
29
+ },
30
+ adminCreate: {
31
+ hidden: true
32
+ },
33
+ adminUpdate: {
34
+ hidden: true
35
+ },
36
+ adminDelete: {
37
+ hidden: true
38
+ },
39
+ adminList: {
40
+ hidden: true
41
+ }
42
+ }
43
+ });
44
+ export {
45
+ emailTemplateAdminReadSchema,
46
+ emailTemplateCrud,
47
+ emailTemplateCrudAdminCreateSchema,
48
+ emailTemplateCrudAdminDeleteSchema,
49
+ emailTemplateCrudAdminUpdateSchema,
50
+ emailTemplateTypes
51
+ };
52
+ //# sourceMappingURL=email-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/interface/crud/email-templates.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport { jsonSchema, yupBoolean, yupMixed, yupObject, yupString } from \"../../schema-fields\";\n\nexport type EmailTemplateType = typeof emailTemplateTypes[number];\nexport const emailTemplateTypes = ['email_verification', 'password_reset', 'magic_link', 'team_invitation'] as const;\n\nexport const emailTemplateAdminReadSchema = yupObject({\n type: yupString().oneOf(emailTemplateTypes).defined(),\n subject: yupString().defined(),\n content: jsonSchema.defined(),\n is_default: yupBoolean().defined(),\n}).defined();\n\nexport const emailTemplateCrudAdminUpdateSchema = yupObject({\n content: jsonSchema.nonNullable().optional(),\n subject: yupString().optional(),\n}).defined();\n\nexport const emailTemplateCrudAdminDeleteSchema = yupMixed();\n\nexport const emailTemplateCrudAdminCreateSchema = yupObject({\n type: yupString().oneOf(emailTemplateTypes).defined(),\n content: jsonSchema.defined(),\n subject: yupString().defined(),\n}).defined();\n\nexport const emailTemplateCrud = createCrud({\n adminReadSchema: emailTemplateAdminReadSchema,\n adminUpdateSchema: emailTemplateCrudAdminUpdateSchema,\n adminCreateSchema: emailTemplateCrudAdminCreateSchema,\n adminDeleteSchema: emailTemplateCrudAdminDeleteSchema,\n docs: {\n adminRead: {\n hidden: true,\n },\n adminCreate: {\n hidden: true,\n },\n adminUpdate: {\n hidden: true,\n },\n adminDelete: {\n hidden: true,\n },\n adminList: {\n hidden: true,\n }\n }\n});\nexport type EmailTemplateCrud = CrudTypeOf<typeof emailTemplateCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,SAAS,YAAY,YAAY,UAAU,WAAW,iBAAiB;AAGhE,IAAM,qBAAqB,CAAC,sBAAsB,kBAAkB,cAAc,iBAAiB;AAEnG,IAAM,+BAA+B,UAAU;AAAA,EACpD,MAAM,UAAU,EAAE,MAAM,kBAAkB,EAAE,QAAQ;AAAA,EACpD,SAAS,UAAU,EAAE,QAAQ;AAAA,EAC7B,SAAS,WAAW,QAAQ;AAAA,EAC5B,YAAY,WAAW,EAAE,QAAQ;AACnC,CAAC,EAAE,QAAQ;AAEJ,IAAM,qCAAqC,UAAU;AAAA,EAC1D,SAAS,WAAW,YAAY,EAAE,SAAS;AAAA,EAC3C,SAAS,UAAU,EAAE,SAAS;AAChC,CAAC,EAAE,QAAQ;AAEJ,IAAM,qCAAqC,SAAS;AAEpD,IAAM,qCAAqC,UAAU;AAAA,EAC1D,MAAM,UAAU,EAAE,MAAM,kBAAkB,EAAE,QAAQ;AAAA,EACpD,SAAS,WAAW,QAAQ;AAAA,EAC5B,SAAS,UAAU,EAAE,QAAQ;AAC/B,CAAC,EAAE,QAAQ;AAEJ,IAAM,oBAAoB,WAAW;AAAA,EAC1C,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,MAAM;AAAA,IACJ,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,20 @@
1
+ // src/interface/crud/emails.ts
2
+ import { createCrud } from "../../crud";
3
+ import * as fieldSchema from "../../schema-fields";
4
+ import { emailConfigWithoutPasswordSchema } from "./projects";
5
+ var sentEmailReadSchema = fieldSchema.yupObject({
6
+ id: fieldSchema.yupString().defined(),
7
+ subject: fieldSchema.yupString().defined(),
8
+ sent_at_millis: fieldSchema.yupNumber().defined(),
9
+ to: fieldSchema.yupArray(fieldSchema.yupString().defined()),
10
+ sender_config: emailConfigWithoutPasswordSchema.defined(),
11
+ error: fieldSchema.yupMixed().nullable().optional()
12
+ }).defined();
13
+ var internalEmailsCrud = createCrud({
14
+ adminReadSchema: sentEmailReadSchema
15
+ });
16
+ export {
17
+ internalEmailsCrud,
18
+ sentEmailReadSchema
19
+ };
20
+ //# sourceMappingURL=emails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/interface/crud/emails.ts"],"sourcesContent":["import { createCrud, CrudTypeOf } from \"../../crud\";\nimport * as fieldSchema from \"../../schema-fields\";\nimport { emailConfigWithoutPasswordSchema } from \"./projects\";\n\n\nexport const sentEmailReadSchema = fieldSchema.yupObject({\n id: fieldSchema.yupString().defined(),\n subject: fieldSchema.yupString().defined(),\n sent_at_millis: fieldSchema.yupNumber().defined(),\n to: fieldSchema.yupArray(fieldSchema.yupString().defined()),\n sender_config: emailConfigWithoutPasswordSchema.defined(),\n error: fieldSchema.yupMixed().nullable().optional(),\n}).defined();\n\nexport const internalEmailsCrud = createCrud({\n adminReadSchema: sentEmailReadSchema,\n});\n\nexport type InternalEmailsCrud = CrudTypeOf<typeof internalEmailsCrud>;\n"],"mappings":";AAAA,SAAS,kBAA8B;AACvC,YAAY,iBAAiB;AAC7B,SAAS,wCAAwC;AAG1C,IAAM,sBAAkC,sBAAU;AAAA,EACvD,IAAgB,sBAAU,EAAE,QAAQ;AAAA,EACpC,SAAqB,sBAAU,EAAE,QAAQ;AAAA,EACzC,gBAA4B,sBAAU,EAAE,QAAQ;AAAA,EAChD,IAAgB,qBAAqB,sBAAU,EAAE,QAAQ,CAAC;AAAA,EAC1D,eAAe,iCAAiC,QAAQ;AAAA,EACxD,OAAmB,qBAAS,EAAE,SAAS,EAAE,SAAS;AACpD,CAAC,EAAE,QAAQ;AAEJ,IAAM,qBAAqB,WAAW;AAAA,EAC3C,iBAAiB;AACnB,CAAC;","names":[]}
@@ -0,0 +1,69 @@
1
+ // src/interface/crud/internal-api-keys.ts
2
+ import { createCrud } from "../../crud";
3
+ import { yupBoolean, yupMixed, yupNumber, yupObject, yupString } from "../../schema-fields";
4
+ var baseInternalApiKeysReadSchema = yupObject({
5
+ id: yupString().defined(),
6
+ description: yupString().defined(),
7
+ expires_at_millis: yupNumber().defined(),
8
+ manually_revoked_at_millis: yupNumber().optional(),
9
+ created_at_millis: yupNumber().defined()
10
+ });
11
+ var internalApiKeysCreateInputSchema = yupObject({
12
+ description: yupString().defined(),
13
+ expires_at_millis: yupNumber().defined(),
14
+ has_publishable_client_key: yupBoolean().defined(),
15
+ has_secret_server_key: yupBoolean().defined(),
16
+ has_super_secret_admin_key: yupBoolean().defined()
17
+ });
18
+ var internalApiKeysCreateOutputSchema = baseInternalApiKeysReadSchema.concat(yupObject({
19
+ publishable_client_key: yupString().optional(),
20
+ secret_server_key: yupString().optional(),
21
+ super_secret_admin_key: yupString().optional()
22
+ }).defined());
23
+ var internalApiKeysCrudAdminObfuscatedReadSchema = baseInternalApiKeysReadSchema.concat(yupObject({
24
+ publishable_client_key: yupObject({
25
+ last_four: yupString().defined()
26
+ }).optional(),
27
+ secret_server_key: yupObject({
28
+ last_four: yupString().defined()
29
+ }).optional(),
30
+ super_secret_admin_key: yupObject({
31
+ last_four: yupString().defined()
32
+ }).optional()
33
+ }));
34
+ var internalApiKeysCrudAdminUpdateSchema = yupObject({
35
+ description: yupString().optional(),
36
+ revoked: yupBoolean().oneOf([true]).optional()
37
+ }).defined();
38
+ var internalApiKeysCrudAdminDeleteSchema = yupMixed();
39
+ var internalApiKeysCrud = createCrud({
40
+ adminReadSchema: internalApiKeysCrudAdminObfuscatedReadSchema,
41
+ adminUpdateSchema: internalApiKeysCrudAdminUpdateSchema,
42
+ adminDeleteSchema: internalApiKeysCrudAdminDeleteSchema,
43
+ docs: {
44
+ adminList: {
45
+ hidden: true
46
+ },
47
+ adminRead: {
48
+ hidden: true
49
+ },
50
+ adminCreate: {
51
+ hidden: true
52
+ },
53
+ adminUpdate: {
54
+ hidden: true
55
+ },
56
+ adminDelete: {
57
+ hidden: true
58
+ }
59
+ }
60
+ });
61
+ export {
62
+ internalApiKeysCreateInputSchema,
63
+ internalApiKeysCreateOutputSchema,
64
+ internalApiKeysCrud,
65
+ internalApiKeysCrudAdminDeleteSchema,
66
+ internalApiKeysCrudAdminObfuscatedReadSchema,
67
+ internalApiKeysCrudAdminUpdateSchema
68
+ };
69
+ //# sourceMappingURL=internal-api-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/interface/crud/internal-api-keys.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport { yupBoolean, yupMixed, yupNumber, yupObject, yupString } from \"../../schema-fields\";\n\nconst baseInternalApiKeysReadSchema = yupObject({\n id: yupString().defined(),\n description: yupString().defined(),\n expires_at_millis: yupNumber().defined(),\n manually_revoked_at_millis: yupNumber().optional(),\n created_at_millis: yupNumber().defined(),\n});\n\n// Used for the result of the create endpoint\nexport const internalApiKeysCreateInputSchema = yupObject({\n description: yupString().defined(),\n expires_at_millis: yupNumber().defined(),\n has_publishable_client_key: yupBoolean().defined(),\n has_secret_server_key: yupBoolean().defined(),\n has_super_secret_admin_key: yupBoolean().defined(),\n});\n\nexport const internalApiKeysCreateOutputSchema = baseInternalApiKeysReadSchema.concat(yupObject({\n publishable_client_key: yupString().optional(),\n secret_server_key: yupString().optional(),\n super_secret_admin_key: yupString().optional(),\n}).defined());\n\n// Used for list, read and update endpoints after the initial creation\nexport const internalApiKeysCrudAdminObfuscatedReadSchema = baseInternalApiKeysReadSchema.concat(yupObject({\n publishable_client_key: yupObject({\n last_four: yupString().defined(),\n }).optional(),\n secret_server_key: yupObject({\n last_four: yupString().defined(),\n }).optional(),\n super_secret_admin_key: yupObject({\n last_four: yupString().defined(),\n }).optional(),\n}));\n\nexport const internalApiKeysCrudAdminUpdateSchema = yupObject({\n description: yupString().optional(),\n revoked: yupBoolean().oneOf([true]).optional(),\n}).defined();\n\nexport const internalApiKeysCrudAdminDeleteSchema = yupMixed();\n\nexport const internalApiKeysCrud = createCrud({\n adminReadSchema: internalApiKeysCrudAdminObfuscatedReadSchema,\n adminUpdateSchema: internalApiKeysCrudAdminUpdateSchema,\n adminDeleteSchema: internalApiKeysCrudAdminDeleteSchema,\n docs: {\n adminList: {\n hidden: true,\n },\n adminRead: {\n hidden: true,\n },\n adminCreate: {\n hidden: true,\n },\n adminUpdate: {\n hidden: true,\n },\n adminDelete: {\n hidden: true,\n },\n },\n});\nexport type InternalApiKeysCrud = CrudTypeOf<typeof internalApiKeysCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,SAAS,YAAY,UAAU,WAAW,WAAW,iBAAiB;AAEtE,IAAM,gCAAgC,UAAU;AAAA,EAC9C,IAAI,UAAU,EAAE,QAAQ;AAAA,EACxB,aAAa,UAAU,EAAE,QAAQ;AAAA,EACjC,mBAAmB,UAAU,EAAE,QAAQ;AAAA,EACvC,4BAA4B,UAAU,EAAE,SAAS;AAAA,EACjD,mBAAmB,UAAU,EAAE,QAAQ;AACzC,CAAC;AAGM,IAAM,mCAAmC,UAAU;AAAA,EACxD,aAAa,UAAU,EAAE,QAAQ;AAAA,EACjC,mBAAmB,UAAU,EAAE,QAAQ;AAAA,EACvC,4BAA4B,WAAW,EAAE,QAAQ;AAAA,EACjD,uBAAuB,WAAW,EAAE,QAAQ;AAAA,EAC5C,4BAA4B,WAAW,EAAE,QAAQ;AACnD,CAAC;AAEM,IAAM,oCAAoC,8BAA8B,OAAO,UAAU;AAAA,EAC9F,wBAAwB,UAAU,EAAE,SAAS;AAAA,EAC7C,mBAAmB,UAAU,EAAE,SAAS;AAAA,EACxC,wBAAwB,UAAU,EAAE,SAAS;AAC/C,CAAC,EAAE,QAAQ,CAAC;AAGL,IAAM,+CAA+C,8BAA8B,OAAO,UAAU;AAAA,EACzG,wBAAwB,UAAU;AAAA,IAChC,WAAW,UAAU,EAAE,QAAQ;AAAA,EACjC,CAAC,EAAE,SAAS;AAAA,EACZ,mBAAmB,UAAU;AAAA,IAC3B,WAAW,UAAU,EAAE,QAAQ;AAAA,EACjC,CAAC,EAAE,SAAS;AAAA,EACZ,wBAAwB,UAAU;AAAA,IAChC,WAAW,UAAU,EAAE,QAAQ;AAAA,EACjC,CAAC,EAAE,SAAS;AACd,CAAC,CAAC;AAEK,IAAM,uCAAuC,UAAU;AAAA,EAC5D,aAAa,UAAU,EAAE,SAAS;AAAA,EAClC,SAAS,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS;AAC/C,CAAC,EAAE,QAAQ;AAEJ,IAAM,uCAAuC,SAAS;AAEtD,IAAM,sBAAsB,WAAW;AAAA,EAC5C,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,MAAM;AAAA,IACJ,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,24 @@
1
+ // src/interface/crud/oauth.ts
2
+ import { createCrud } from "../../crud";
3
+ import { yupObject, yupString } from "../../schema-fields";
4
+ var connectedAccountAccessTokenReadSchema = yupObject({
5
+ access_token: yupString().defined()
6
+ }).defined();
7
+ var connectedAccountAccessTokenCreateSchema = yupObject({
8
+ scope: yupString().optional()
9
+ }).defined();
10
+ var connectedAccountAccessTokenCrud = createCrud({
11
+ clientReadSchema: connectedAccountAccessTokenReadSchema,
12
+ clientCreateSchema: connectedAccountAccessTokenCreateSchema,
13
+ docs: {
14
+ clientCreate: {
15
+ hidden: true
16
+ }
17
+ }
18
+ });
19
+ export {
20
+ connectedAccountAccessTokenCreateSchema,
21
+ connectedAccountAccessTokenCrud,
22
+ connectedAccountAccessTokenReadSchema
23
+ };
24
+ //# sourceMappingURL=oauth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/interface/crud/oauth.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport { yupObject, yupString } from \"../../schema-fields\";\n\nexport const connectedAccountAccessTokenReadSchema = yupObject({\n access_token: yupString().defined(),\n}).defined();\n\nexport const connectedAccountAccessTokenCreateSchema = yupObject({\n scope: yupString().optional(),\n}).defined();\n\nexport const connectedAccountAccessTokenCrud = createCrud({\n clientReadSchema: connectedAccountAccessTokenReadSchema,\n clientCreateSchema: connectedAccountAccessTokenCreateSchema,\n docs: {\n clientCreate: {\n hidden: true,\n }\n },\n});\nexport type ConnectedAccountAccessTokenCrud = CrudTypeOf<typeof connectedAccountAccessTokenCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,SAAS,WAAW,iBAAiB;AAE9B,IAAM,wCAAwC,UAAU;AAAA,EAC7D,cAAc,UAAU,EAAE,QAAQ;AACpC,CAAC,EAAE,QAAQ;AAEJ,IAAM,0CAA0C,UAAU;AAAA,EAC/D,OAAO,UAAU,EAAE,SAAS;AAC9B,CAAC,EAAE,QAAQ;AAEJ,IAAM,kCAAkC,WAAW;AAAA,EACxD,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,MAAM;AAAA,IACJ,cAAc;AAAA,MACZ,QAAQ;AAAA,IACV;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,93 @@
1
+ // src/interface/crud/project-api-keys.ts
2
+ import { createCrud } from "../../crud";
3
+ import { userIdOrMeSchema, yupBoolean, yupNumber, yupObject, yupString } from "../../schema-fields";
4
+ import { typedFromEntries } from "../../utils/objects";
5
+ function createApiKeyCrud(type, idFieldName, idSchema) {
6
+ const projectApiKeysReadSchema = yupObject({
7
+ id: yupString().defined(),
8
+ description: yupString().defined(),
9
+ expires_at_millis: yupNumber().optional(),
10
+ manually_revoked_at_millis: yupNumber().optional(),
11
+ created_at_millis: yupNumber().defined(),
12
+ is_public: yupBoolean().defined(),
13
+ value: yupObject({
14
+ last_four: yupString().defined()
15
+ }).defined(),
16
+ type: yupString().oneOf([type]).defined(),
17
+ ...typedFromEntries([[idFieldName, idSchema]])
18
+ });
19
+ const projectApiKeysUpdateSchema = yupObject({
20
+ description: yupString().optional(),
21
+ revoked: yupBoolean().oneOf([true]).optional()
22
+ }).defined();
23
+ const projectApiKeysCrud = createCrud({
24
+ clientReadSchema: projectApiKeysReadSchema,
25
+ clientUpdateSchema: projectApiKeysUpdateSchema,
26
+ docs: {
27
+ clientCreate: {
28
+ description: "Create a new API key",
29
+ displayName: "Create API Key",
30
+ summary: "Create API key"
31
+ },
32
+ clientList: {
33
+ description: "List all API keys for the project",
34
+ displayName: "List API Keys",
35
+ summary: "List API keys"
36
+ },
37
+ clientRead: {
38
+ description: "Get details of a specific API key",
39
+ displayName: "Get API Key",
40
+ summary: "Get API key details"
41
+ },
42
+ clientUpdate: {
43
+ description: "Update an API key",
44
+ displayName: "Update API Key",
45
+ summary: "Update API key"
46
+ },
47
+ serverDelete: {
48
+ description: "Delete an API key",
49
+ displayName: "Delete API Key",
50
+ summary: "Delete API key"
51
+ }
52
+ }
53
+ });
54
+ const projectApiKeysCreateInputSchema = yupObject({
55
+ description: yupString().defined(),
56
+ expires_at_millis: yupNumber().nullable().defined(),
57
+ is_public: yupBoolean().optional(),
58
+ /*
59
+ prefix: yupString().optional().nonEmpty().test("prefix", "Prefix must contain only alphanumeric characters and underscores", (value) => {
60
+ if (!value) return true;
61
+ return /^[a-zA-Z0-9_]+$/.test(value);
62
+ }),
63
+ */
64
+ ...typedFromEntries([[idFieldName, idSchema]])
65
+ });
66
+ const projectApiKeysCreateOutputSchema = projectApiKeysReadSchema.omit(["value"]).concat(yupObject({
67
+ value: yupString().defined()
68
+ }));
69
+ return {
70
+ crud: projectApiKeysCrud,
71
+ createInputSchema: projectApiKeysCreateInputSchema,
72
+ createOutputSchema: projectApiKeysCreateOutputSchema
73
+ };
74
+ }
75
+ var {
76
+ crud: userApiKeysCrud,
77
+ createInputSchema: userApiKeysCreateInputSchema,
78
+ createOutputSchema: userApiKeysCreateOutputSchema
79
+ } = createApiKeyCrud("user", "user_id", userIdOrMeSchema.defined());
80
+ var {
81
+ crud: teamApiKeysCrud,
82
+ createInputSchema: teamApiKeysCreateInputSchema,
83
+ createOutputSchema: teamApiKeysCreateOutputSchema
84
+ } = createApiKeyCrud("team", "team_id", yupString().defined());
85
+ export {
86
+ teamApiKeysCreateInputSchema,
87
+ teamApiKeysCreateOutputSchema,
88
+ teamApiKeysCrud,
89
+ userApiKeysCreateInputSchema,
90
+ userApiKeysCreateOutputSchema,
91
+ userApiKeysCrud
92
+ };
93
+ //# sourceMappingURL=project-api-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/interface/crud/project-api-keys.ts"],"sourcesContent":["import * as yup from \"yup\";\nimport { CrudTypeOf, createCrud } from \"../../crud\";\nimport { userIdOrMeSchema, yupBoolean, yupNumber, yupObject, yupString } from \"../../schema-fields\";\nimport { typedFromEntries } from \"../../utils/objects\";\n\nfunction createApiKeyCrud<T extends string, IdFieldName extends string, IdSchema extends yup.Schema<any>>(type: T, idFieldName: IdFieldName, idSchema: IdSchema) {\n const projectApiKeysReadSchema = yupObject({\n id: yupString().defined(),\n description: yupString().defined(),\n expires_at_millis: yupNumber().optional(),\n manually_revoked_at_millis: yupNumber().optional(),\n created_at_millis: yupNumber().defined(),\n is_public: yupBoolean().defined(),\n value: yupObject({\n last_four: yupString().defined(),\n }).defined(),\n type: yupString().oneOf([type]).defined(),\n ...typedFromEntries([[idFieldName, idSchema]]),\n });\n\n const projectApiKeysUpdateSchema = yupObject({\n description: yupString().optional(),\n revoked: yupBoolean().oneOf([true]).optional(),\n }).defined();\n\n const projectApiKeysCrud = createCrud({\n clientReadSchema: projectApiKeysReadSchema,\n clientUpdateSchema: projectApiKeysUpdateSchema,\n docs: {\n clientCreate: {\n description: \"Create a new API key\",\n displayName: \"Create API Key\",\n summary: \"Create API key\",\n },\n clientList: {\n description: \"List all API keys for the project\",\n displayName: \"List API Keys\",\n summary: \"List API keys\",\n },\n clientRead: {\n description: \"Get details of a specific API key\",\n displayName: \"Get API Key\",\n summary: \"Get API key details\",\n },\n clientUpdate: {\n description: \"Update an API key\",\n displayName: \"Update API Key\",\n summary: \"Update API key\",\n },\n serverDelete: {\n description: \"Delete an API key\",\n displayName: \"Delete API Key\",\n summary: \"Delete API key\",\n },\n },\n });\n\n // Used for the result of the create endpoint\n const projectApiKeysCreateInputSchema = yupObject({\n description: yupString().defined(),\n expires_at_millis: yupNumber().nullable().defined(),\n is_public: yupBoolean().optional(),\n /*\n prefix: yupString().optional().nonEmpty().test(\"prefix\", \"Prefix must contain only alphanumeric characters and underscores\", (value) => {\n if (!value) return true;\n return /^[a-zA-Z0-9_]+$/.test(value);\n }),\n */\n ...typedFromEntries([[idFieldName, idSchema]]),\n });\n const projectApiKeysCreateOutputSchema = projectApiKeysReadSchema.omit([\"value\"]).concat(yupObject({\n value: yupString().defined(),\n }));\n\n return {\n crud: projectApiKeysCrud,\n createInputSchema: projectApiKeysCreateInputSchema,\n createOutputSchema: projectApiKeysCreateOutputSchema,\n };\n}\n\n\nexport const {\n crud: userApiKeysCrud,\n createInputSchema: userApiKeysCreateInputSchema,\n createOutputSchema: userApiKeysCreateOutputSchema,\n} = createApiKeyCrud(\"user\", \"user_id\", userIdOrMeSchema.defined());\nexport type UserApiKeysCrud = CrudTypeOf<typeof userApiKeysCrud>;\n\nexport const {\n crud: teamApiKeysCrud,\n createInputSchema: teamApiKeysCreateInputSchema,\n createOutputSchema: teamApiKeysCreateOutputSchema,\n} = createApiKeyCrud(\"team\", \"team_id\", yupString().defined());\nexport type TeamApiKeysCrud = CrudTypeOf<typeof teamApiKeysCrud>;\n"],"mappings":";AACA,SAAqB,kBAAkB;AACvC,SAAS,kBAAkB,YAAY,WAAW,WAAW,iBAAiB;AAC9E,SAAS,wBAAwB;AAEjC,SAAS,iBAAiG,MAAS,aAA0B,UAAoB;AAC/J,QAAM,2BAA2B,UAAU;AAAA,IACzC,IAAI,UAAU,EAAE,QAAQ;AAAA,IACxB,aAAa,UAAU,EAAE,QAAQ;AAAA,IACjC,mBAAmB,UAAU,EAAE,SAAS;AAAA,IACxC,4BAA4B,UAAU,EAAE,SAAS;AAAA,IACjD,mBAAmB,UAAU,EAAE,QAAQ;AAAA,IACvC,WAAW,WAAW,EAAE,QAAQ;AAAA,IAChC,OAAO,UAAU;AAAA,MACf,WAAW,UAAU,EAAE,QAAQ;AAAA,IACjC,CAAC,EAAE,QAAQ;AAAA,IACX,MAAM,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ;AAAA,IACxC,GAAG,iBAAiB,CAAC,CAAC,aAAa,QAAQ,CAAC,CAAC;AAAA,EAC/C,CAAC;AAED,QAAM,6BAA6B,UAAU;AAAA,IAC3C,aAAa,UAAU,EAAE,SAAS;AAAA,IAClC,SAAS,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS;AAAA,EAC/C,CAAC,EAAE,QAAQ;AAEX,QAAM,qBAAqB,WAAW;AAAA,IACpC,kBAAkB;AAAA,IAClB,oBAAoB;AAAA,IACpB,MAAM;AAAA,MACJ,cAAc;AAAA,QACZ,aAAa;AAAA,QACb,aAAa;AAAA,QACb,SAAS;AAAA,MACX;AAAA,MACA,YAAY;AAAA,QACV,aAAa;AAAA,QACb,aAAa;AAAA,QACb,SAAS;AAAA,MACX;AAAA,MACA,YAAY;AAAA,QACV,aAAa;AAAA,QACb,aAAa;AAAA,QACb,SAAS;AAAA,MACX;AAAA,MACA,cAAc;AAAA,QACZ,aAAa;AAAA,QACb,aAAa;AAAA,QACb,SAAS;AAAA,MACX;AAAA,MACA,cAAc;AAAA,QACZ,aAAa;AAAA,QACb,aAAa;AAAA,QACb,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF,CAAC;AAGD,QAAM,kCAAkC,UAAU;AAAA,IAChD,aAAa,UAAU,EAAE,QAAQ;AAAA,IACjC,mBAAmB,UAAU,EAAE,SAAS,EAAE,QAAQ;AAAA,IAClD,WAAW,WAAW,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOjC,GAAG,iBAAiB,CAAC,CAAC,aAAa,QAAQ,CAAC,CAAC;AAAA,EAC/C,CAAC;AACD,QAAM,mCAAmC,yBAAyB,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,UAAU;AAAA,IACjG,OAAO,UAAU,EAAE,QAAQ;AAAA,EAC7B,CAAC,CAAC;AAEF,SAAO;AAAA,IACL,MAAM;AAAA,IACN,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,EACtB;AACF;AAGO,IAAM;AAAA,EACX,MAAM;AAAA,EACN,mBAAmB;AAAA,EACnB,oBAAoB;AACtB,IAAI,iBAAiB,QAAQ,WAAW,iBAAiB,QAAQ,CAAC;AAG3D,IAAM;AAAA,EACX,MAAM;AAAA,EACN,mBAAmB;AAAA,EACnB,oBAAoB;AACtB,IAAI,iBAAiB,QAAQ,WAAW,UAAU,EAAE,QAAQ,CAAC;","names":[]}
@@ -0,0 +1,113 @@
1
+ // src/interface/crud/project-permissions.ts
2
+ import { createCrud } from "../../crud";
3
+ import * as schemaFields from "../../schema-fields";
4
+ import { yupMixed, yupObject } from "../../schema-fields";
5
+ var projectPermissionsCrudClientReadSchema = yupObject({
6
+ id: schemaFields.permissionDefinitionIdSchema.defined(),
7
+ user_id: schemaFields.userIdSchema.defined()
8
+ }).defined();
9
+ var projectPermissionsCrudServerCreateSchema = yupObject({}).defined();
10
+ var projectPermissionsCrudServerDeleteSchema = yupMixed();
11
+ var projectPermissionsCrud = createCrud({
12
+ clientReadSchema: projectPermissionsCrudClientReadSchema,
13
+ serverCreateSchema: projectPermissionsCrudServerCreateSchema,
14
+ serverDeleteSchema: projectPermissionsCrudServerDeleteSchema,
15
+ docs: {
16
+ clientList: {
17
+ summary: "List project permissions",
18
+ description: "List global permissions of the current user. `user_id=me` must be set for client requests. `(user_id, permission_id)` together uniquely identify a permission.",
19
+ tags: ["Permissions"]
20
+ },
21
+ serverList: {
22
+ summary: "List project permissions",
23
+ description: "Query and filter the permission with `user_id` and `permission_id`. `(user_id, permission_id)` together uniquely identify a permission.",
24
+ tags: ["Permissions"]
25
+ },
26
+ serverCreate: {
27
+ summary: "Grant a global permission to a user",
28
+ description: "Grant a global permission to a user (the permission must be created first on the Stack dashboard)",
29
+ tags: ["Permissions"]
30
+ },
31
+ serverDelete: {
32
+ summary: "Revoke a global permission from a user",
33
+ description: "Revoke a global permission from a user",
34
+ tags: ["Permissions"]
35
+ }
36
+ }
37
+ });
38
+ var projectPermissionCreatedWebhookEvent = {
39
+ type: "project_permission.created",
40
+ schema: projectPermissionsCrud.server.readSchema,
41
+ metadata: {
42
+ summary: "Project Permission Created",
43
+ description: "This event is triggered when a project permission is created.",
44
+ tags: ["Users"]
45
+ }
46
+ };
47
+ var projectPermissionDeletedWebhookEvent = {
48
+ type: "project_permission.deleted",
49
+ schema: projectPermissionsCrud.server.readSchema,
50
+ metadata: {
51
+ summary: "Project Permission Deleted",
52
+ description: "This event is triggered when a project permission is deleted.",
53
+ tags: ["Users"]
54
+ }
55
+ };
56
+ var projectPermissionDefinitionsCrudAdminReadSchema = yupObject({
57
+ id: schemaFields.permissionDefinitionIdSchema.defined(),
58
+ description: schemaFields.teamPermissionDescriptionSchema.optional(),
59
+ contained_permission_ids: schemaFields.containedPermissionIdsSchema.defined()
60
+ }).defined();
61
+ var projectPermissionDefinitionsCrudAdminCreateSchema = yupObject({
62
+ id: schemaFields.customPermissionDefinitionIdSchema.defined(),
63
+ description: schemaFields.teamPermissionDescriptionSchema.optional(),
64
+ contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional()
65
+ }).defined();
66
+ var projectPermissionDefinitionsCrudAdminUpdateSchema = yupObject({
67
+ id: schemaFields.customPermissionDefinitionIdSchema.optional(),
68
+ description: schemaFields.teamPermissionDescriptionSchema.optional(),
69
+ contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional()
70
+ }).defined();
71
+ var projectPermissionDefinitionsCrudAdminDeleteSchema = yupMixed();
72
+ var projectPermissionDefinitionsCrud = createCrud({
73
+ adminReadSchema: projectPermissionDefinitionsCrudAdminReadSchema,
74
+ adminCreateSchema: projectPermissionDefinitionsCrudAdminCreateSchema,
75
+ adminUpdateSchema: projectPermissionDefinitionsCrudAdminUpdateSchema,
76
+ adminDeleteSchema: projectPermissionDefinitionsCrudAdminDeleteSchema,
77
+ docs: {
78
+ adminList: {
79
+ summary: "List project permission definitions",
80
+ description: "Query and filter project permission definitions (the equivalent of listing permissions on the Stack dashboard)",
81
+ tags: ["Permissions"]
82
+ },
83
+ adminCreate: {
84
+ summary: "Create a new project permission definition",
85
+ description: "Create a new project permission definition (the equivalent of creating a new permission on the Stack dashboard)",
86
+ tags: ["Permissions"]
87
+ },
88
+ adminUpdate: {
89
+ summary: "Update a project permission definition",
90
+ description: "Update a project permission definition (the equivalent of updating a permission on the Stack dashboard)",
91
+ tags: ["Permissions"]
92
+ },
93
+ adminDelete: {
94
+ summary: "Delete a project permission definition",
95
+ description: "Delete a project permission definition (the equivalent of deleting a permission on the Stack dashboard)",
96
+ tags: ["Permissions"]
97
+ }
98
+ }
99
+ });
100
+ export {
101
+ projectPermissionCreatedWebhookEvent,
102
+ projectPermissionDefinitionsCrud,
103
+ projectPermissionDefinitionsCrudAdminCreateSchema,
104
+ projectPermissionDefinitionsCrudAdminDeleteSchema,
105
+ projectPermissionDefinitionsCrudAdminReadSchema,
106
+ projectPermissionDefinitionsCrudAdminUpdateSchema,
107
+ projectPermissionDeletedWebhookEvent,
108
+ projectPermissionsCrud,
109
+ projectPermissionsCrudClientReadSchema,
110
+ projectPermissionsCrudServerCreateSchema,
111
+ projectPermissionsCrudServerDeleteSchema
112
+ };
113
+ //# sourceMappingURL=project-permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/interface/crud/project-permissions.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport * as schemaFields from \"../../schema-fields\";\nimport { yupMixed, yupObject } from \"../../schema-fields\";\nimport { WebhookEvent } from \"../webhooks\";\n\n// =============== Project permissions =================\n\nexport const projectPermissionsCrudClientReadSchema = yupObject({\n id: schemaFields.permissionDefinitionIdSchema.defined(),\n user_id: schemaFields.userIdSchema.defined(),\n}).defined();\n\nexport const projectPermissionsCrudServerCreateSchema = yupObject({\n}).defined();\n\nexport const projectPermissionsCrudServerDeleteSchema = yupMixed();\n\nexport const projectPermissionsCrud = createCrud({\n clientReadSchema: projectPermissionsCrudClientReadSchema,\n serverCreateSchema: projectPermissionsCrudServerCreateSchema,\n serverDeleteSchema: projectPermissionsCrudServerDeleteSchema,\n docs: {\n clientList: {\n summary: \"List project permissions\",\n description: \"List global permissions of the current user. `user_id=me` must be set for client requests. `(user_id, permission_id)` together uniquely identify a permission.\",\n tags: [\"Permissions\"],\n },\n serverList: {\n summary: \"List project permissions\",\n description: \"Query and filter the permission with `user_id` and `permission_id`. `(user_id, permission_id)` together uniquely identify a permission.\",\n tags: [\"Permissions\"],\n },\n serverCreate: {\n summary: \"Grant a global permission to a user\",\n description: \"Grant a global permission to a user (the permission must be created first on the Stack dashboard)\",\n tags: [\"Permissions\"],\n },\n serverDelete: {\n summary: \"Revoke a global permission from a user\",\n description: \"Revoke a global permission from a user\",\n tags: [\"Permissions\"],\n },\n },\n});\nexport type ProjectPermissionsCrud = CrudTypeOf<typeof projectPermissionsCrud>;\n\nexport const projectPermissionCreatedWebhookEvent = {\n type: \"project_permission.created\",\n schema: projectPermissionsCrud.server.readSchema,\n metadata: {\n summary: \"Project Permission Created\",\n description: \"This event is triggered when a project permission is created.\",\n tags: [\"Users\"],\n },\n} satisfies WebhookEvent<typeof projectPermissionsCrud.server.readSchema>;\n\nexport const projectPermissionDeletedWebhookEvent = {\n type: \"project_permission.deleted\",\n schema: projectPermissionsCrud.server.readSchema,\n metadata: {\n summary: \"Project Permission Deleted\",\n description: \"This event is triggered when a project permission is deleted.\",\n tags: [\"Users\"],\n },\n} satisfies WebhookEvent<typeof projectPermissionsCrud.server.readSchema>;\n\n// =============== Project permission definitions =================\n\nexport const projectPermissionDefinitionsCrudAdminReadSchema = yupObject({\n id: schemaFields.permissionDefinitionIdSchema.defined(),\n description: schemaFields.teamPermissionDescriptionSchema.optional(),\n contained_permission_ids: schemaFields.containedPermissionIdsSchema.defined(),\n}).defined();\n\nexport const projectPermissionDefinitionsCrudAdminCreateSchema = yupObject({\n id: schemaFields.customPermissionDefinitionIdSchema.defined(),\n description: schemaFields.teamPermissionDescriptionSchema.optional(),\n contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional(),\n}).defined();\n\nexport const projectPermissionDefinitionsCrudAdminUpdateSchema = yupObject({\n id: schemaFields.customPermissionDefinitionIdSchema.optional(),\n description: schemaFields.teamPermissionDescriptionSchema.optional(),\n contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional(),\n}).defined();\n\nexport const projectPermissionDefinitionsCrudAdminDeleteSchema = yupMixed();\n\nexport const projectPermissionDefinitionsCrud = createCrud({\n adminReadSchema: projectPermissionDefinitionsCrudAdminReadSchema,\n adminCreateSchema: projectPermissionDefinitionsCrudAdminCreateSchema,\n adminUpdateSchema: projectPermissionDefinitionsCrudAdminUpdateSchema,\n adminDeleteSchema: projectPermissionDefinitionsCrudAdminDeleteSchema,\n docs: {\n adminList: {\n summary: \"List project permission definitions\",\n description: \"Query and filter project permission definitions (the equivalent of listing permissions on the Stack dashboard)\",\n tags: [\"Permissions\"],\n },\n adminCreate: {\n summary: \"Create a new project permission definition\",\n description: \"Create a new project permission definition (the equivalent of creating a new permission on the Stack dashboard)\",\n tags: [\"Permissions\"],\n },\n adminUpdate: {\n summary: \"Update a project permission definition\",\n description: \"Update a project permission definition (the equivalent of updating a permission on the Stack dashboard)\",\n tags: [\"Permissions\"],\n },\n adminDelete: {\n summary: \"Delete a project permission definition\",\n description: \"Delete a project permission definition (the equivalent of deleting a permission on the Stack dashboard)\",\n tags: [\"Permissions\"],\n },\n },\n});\n\nexport type ProjectPermissionDefinitionsCrud = CrudTypeOf<typeof projectPermissionDefinitionsCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,YAAY,kBAAkB;AAC9B,SAAS,UAAU,iBAAiB;AAK7B,IAAM,yCAAyC,UAAU;AAAA,EAC9D,IAAiB,0CAA6B,QAAQ;AAAA,EACtD,SAAsB,0BAAa,QAAQ;AAC7C,CAAC,EAAE,QAAQ;AAEJ,IAAM,2CAA2C,UAAU,CAClE,CAAC,EAAE,QAAQ;AAEJ,IAAM,2CAA2C,SAAS;AAE1D,IAAM,yBAAyB,WAAW;AAAA,EAC/C,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,MAAM;AAAA,IACJ,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,EACF;AACF,CAAC;AAGM,IAAM,uCAAuC;AAAA,EAClD,MAAM;AAAA,EACN,QAAQ,uBAAuB,OAAO;AAAA,EACtC,UAAU;AAAA,IACR,SAAS;AAAA,IACT,aAAa;AAAA,IACb,MAAM,CAAC,OAAO;AAAA,EAChB;AACF;AAEO,IAAM,uCAAuC;AAAA,EAClD,MAAM;AAAA,EACN,QAAQ,uBAAuB,OAAO;AAAA,EACtC,UAAU;AAAA,IACR,SAAS;AAAA,IACT,aAAa;AAAA,IACb,MAAM,CAAC,OAAO;AAAA,EAChB;AACF;AAIO,IAAM,kDAAkD,UAAU;AAAA,EACvE,IAAiB,0CAA6B,QAAQ;AAAA,EACtD,aAA0B,6CAAgC,SAAS;AAAA,EACnE,0BAAuC,0CAA6B,QAAQ;AAC9E,CAAC,EAAE,QAAQ;AAEJ,IAAM,oDAAoD,UAAU;AAAA,EACzE,IAAiB,gDAAmC,QAAQ;AAAA,EAC5D,aAA0B,6CAAgC,SAAS;AAAA,EACnE,0BAAuC,0CAA6B,SAAS;AAC/E,CAAC,EAAE,QAAQ;AAEJ,IAAM,oDAAoD,UAAU;AAAA,EACzE,IAAiB,gDAAmC,SAAS;AAAA,EAC7D,aAA0B,6CAAgC,SAAS;AAAA,EACnE,0BAAuC,0CAA6B,SAAS;AAC/E,CAAC,EAAE,QAAQ;AAEJ,IAAM,oDAAoD,SAAS;AAEnE,IAAM,mCAAmC,WAAW;AAAA,EACzD,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,MAAM;AAAA,IACJ,WAAW;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,IACA,aAAa;AAAA,MACX,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,IACA,aAAa;AAAA,MACX,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,IACA,aAAa;AAAA,MACX,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,180 @@
1
+ // src/interface/crud/projects.ts
2
+ import { createCrud } from "../../crud";
3
+ import * as schemaFields from "../../schema-fields";
4
+ import { yupArray, yupObject, yupString } from "../../schema-fields";
5
+ var teamPermissionSchema = yupObject({
6
+ id: yupString().defined()
7
+ }).defined();
8
+ var oauthProviderSchema = yupObject({
9
+ id: schemaFields.oauthIdSchema.defined(),
10
+ type: schemaFields.oauthTypeSchema.defined(),
11
+ client_id: schemaFields.yupDefinedAndNonEmptyWhen(
12
+ schemaFields.oauthClientIdSchema,
13
+ { type: "standard" }
14
+ ),
15
+ client_secret: schemaFields.yupDefinedAndNonEmptyWhen(
16
+ schemaFields.oauthClientSecretSchema,
17
+ { type: "standard" }
18
+ ),
19
+ // extra params
20
+ facebook_config_id: schemaFields.oauthFacebookConfigIdSchema.optional(),
21
+ microsoft_tenant_id: schemaFields.oauthMicrosoftTenantIdSchema.optional()
22
+ });
23
+ var enabledOAuthProviderSchema = yupObject({
24
+ id: schemaFields.oauthIdSchema.defined()
25
+ });
26
+ var emailConfigSchema = yupObject({
27
+ type: schemaFields.emailTypeSchema.defined(),
28
+ host: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailHostSchema, {
29
+ type: "standard"
30
+ }),
31
+ port: schemaFields.yupDefinedWhen(schemaFields.emailPortSchema, {
32
+ type: "standard"
33
+ }),
34
+ username: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailUsernameSchema, {
35
+ type: "standard"
36
+ }),
37
+ password: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailPasswordSchema, {
38
+ type: "standard"
39
+ }),
40
+ sender_name: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderNameSchema, {
41
+ type: "standard"
42
+ }),
43
+ sender_email: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderEmailSchema, {
44
+ type: "standard"
45
+ })
46
+ });
47
+ var emailConfigWithoutPasswordSchema = emailConfigSchema.pick(["type", "host", "port", "username", "sender_name", "sender_email"]);
48
+ var domainSchema = yupObject({
49
+ domain: schemaFields.urlSchema.defined().matches(/^https?:\/\//, "URL must start with http:// or https://").meta({ openapiField: { description: "URL. Must start with http:// or https://", exampleValue: "https://example.com" } }),
50
+ handler_path: schemaFields.handlerPathSchema.defined()
51
+ });
52
+ var projectsCrudAdminReadSchema = yupObject({
53
+ id: schemaFields.projectIdSchema.defined(),
54
+ display_name: schemaFields.projectDisplayNameSchema.defined(),
55
+ description: schemaFields.projectDescriptionSchema.nonNullable().defined(),
56
+ created_at_millis: schemaFields.projectCreatedAtMillisSchema.defined(),
57
+ user_count: schemaFields.projectUserCountSchema.defined(),
58
+ is_production_mode: schemaFields.projectIsProductionModeSchema.defined(),
59
+ config: yupObject({
60
+ allow_localhost: schemaFields.projectAllowLocalhostSchema.defined(),
61
+ sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),
62
+ credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),
63
+ magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),
64
+ passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),
65
+ // TODO: remove this
66
+ client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),
67
+ client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),
68
+ allow_user_api_keys: schemaFields.yupBoolean().defined(),
69
+ allow_team_api_keys: schemaFields.yupBoolean().defined(),
70
+ oauth_providers: yupArray(oauthProviderSchema.defined()).defined(),
71
+ enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),
72
+ domains: yupArray(domainSchema.defined()).defined(),
73
+ email_config: emailConfigSchema.defined(),
74
+ create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.defined(),
75
+ team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),
76
+ team_member_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),
77
+ user_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),
78
+ oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.defined()
79
+ }).defined()
80
+ }).defined();
81
+ var projectsCrudClientReadSchema = yupObject({
82
+ id: schemaFields.projectIdSchema.defined(),
83
+ display_name: schemaFields.projectDisplayNameSchema.defined(),
84
+ config: yupObject({
85
+ sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),
86
+ credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),
87
+ magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),
88
+ passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),
89
+ client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),
90
+ client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),
91
+ allow_user_api_keys: schemaFields.yupBoolean().defined(),
92
+ allow_team_api_keys: schemaFields.yupBoolean().defined(),
93
+ enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } })
94
+ }).defined()
95
+ }).defined();
96
+ var projectsCrudAdminUpdateSchema = yupObject({
97
+ display_name: schemaFields.projectDisplayNameSchema.optional(),
98
+ description: schemaFields.projectDescriptionSchema.optional(),
99
+ is_production_mode: schemaFields.projectIsProductionModeSchema.optional(),
100
+ config: yupObject({
101
+ sign_up_enabled: schemaFields.projectSignUpEnabledSchema.optional(),
102
+ credential_enabled: schemaFields.projectCredentialEnabledSchema.optional(),
103
+ magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.optional(),
104
+ passkey_enabled: schemaFields.projectPasskeyEnabledSchema.optional(),
105
+ client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.optional(),
106
+ client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.optional(),
107
+ allow_localhost: schemaFields.projectAllowLocalhostSchema.optional(),
108
+ allow_user_api_keys: schemaFields.yupBoolean().optional(),
109
+ allow_team_api_keys: schemaFields.yupBoolean().optional(),
110
+ email_config: emailConfigSchema.optional().default(void 0),
111
+ domains: yupArray(domainSchema.defined()).optional().default(void 0),
112
+ oauth_providers: yupArray(oauthProviderSchema.defined()).optional().default(void 0),
113
+ create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.optional(),
114
+ team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),
115
+ team_member_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),
116
+ user_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),
117
+ oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.optional()
118
+ }).optional().default(void 0)
119
+ }).defined();
120
+ var projectsCrudAdminCreateSchema = projectsCrudAdminUpdateSchema.concat(yupObject({
121
+ display_name: schemaFields.projectDisplayNameSchema.defined()
122
+ }).defined());
123
+ var projectsCrudAdminDeleteSchema = schemaFields.yupMixed();
124
+ var clientProjectsCrud = createCrud({
125
+ clientReadSchema: projectsCrudClientReadSchema,
126
+ docs: {
127
+ clientRead: {
128
+ summary: "Get the current project",
129
+ description: "Get the current project information including display name, OAuth providers and authentication methods. Useful for display the available login options to the user.",
130
+ tags: ["Projects"]
131
+ }
132
+ }
133
+ });
134
+ var projectsCrud = createCrud({
135
+ adminReadSchema: projectsCrudAdminReadSchema,
136
+ adminUpdateSchema: projectsCrudAdminUpdateSchema,
137
+ adminDeleteSchema: projectsCrudAdminDeleteSchema,
138
+ docs: {
139
+ adminRead: {
140
+ summary: "Get the current project",
141
+ description: "Get the current project information and configuration including display name, OAuth providers, email configuration, etc.",
142
+ tags: ["Projects"]
143
+ },
144
+ adminUpdate: {
145
+ summary: "Update the current project",
146
+ description: "Update the current project information and configuration including display name, OAuth providers, email configuration, etc.",
147
+ tags: ["Projects"]
148
+ },
149
+ adminDelete: {
150
+ summary: "Delete the current project",
151
+ description: "Delete the current project and all associated data (including users, teams, API keys, project configs, etc.). Be careful, this action is irreversible.",
152
+ tags: ["Projects"]
153
+ }
154
+ }
155
+ });
156
+ var adminUserProjectsCrud = createCrud({
157
+ clientReadSchema: projectsCrudAdminReadSchema,
158
+ clientCreateSchema: projectsCrudAdminCreateSchema,
159
+ docs: {
160
+ clientList: {
161
+ hidden: true
162
+ },
163
+ clientCreate: {
164
+ hidden: true
165
+ }
166
+ }
167
+ });
168
+ export {
169
+ adminUserProjectsCrud,
170
+ clientProjectsCrud,
171
+ emailConfigSchema,
172
+ emailConfigWithoutPasswordSchema,
173
+ projectsCrud,
174
+ projectsCrudAdminCreateSchema,
175
+ projectsCrudAdminDeleteSchema,
176
+ projectsCrudAdminReadSchema,
177
+ projectsCrudAdminUpdateSchema,
178
+ projectsCrudClientReadSchema
179
+ };
180
+ //# sourceMappingURL=projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/interface/crud/projects.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport * as schemaFields from \"../../schema-fields\";\nimport { yupArray, yupObject, yupString } from \"../../schema-fields\";\n\nconst teamPermissionSchema = yupObject({\n id: yupString().defined(),\n}).defined();\n\nconst oauthProviderSchema = yupObject({\n id: schemaFields.oauthIdSchema.defined(),\n type: schemaFields.oauthTypeSchema.defined(),\n client_id: schemaFields.yupDefinedAndNonEmptyWhen(\n schemaFields.oauthClientIdSchema,\n { type: 'standard' },\n ),\n client_secret: schemaFields.yupDefinedAndNonEmptyWhen(\n schemaFields.oauthClientSecretSchema,\n { type: 'standard' },\n ),\n\n // extra params\n facebook_config_id: schemaFields.oauthFacebookConfigIdSchema.optional(),\n microsoft_tenant_id: schemaFields.oauthMicrosoftTenantIdSchema.optional(),\n});\n\nconst enabledOAuthProviderSchema = yupObject({\n id: schemaFields.oauthIdSchema.defined(),\n});\n\nexport const emailConfigSchema = yupObject({\n type: schemaFields.emailTypeSchema.defined(),\n host: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailHostSchema, {\n type: 'standard',\n }),\n port: schemaFields.yupDefinedWhen(schemaFields.emailPortSchema, {\n type: 'standard',\n }),\n username: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailUsernameSchema, {\n type: 'standard',\n }),\n password: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailPasswordSchema, {\n type: 'standard',\n }),\n sender_name: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderNameSchema, {\n type: 'standard',\n }),\n sender_email: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderEmailSchema, {\n type: 'standard',\n }),\n});\n\nexport const emailConfigWithoutPasswordSchema = emailConfigSchema.pick(['type', 'host', 'port', 'username', 'sender_name', 'sender_email']);\n\nconst domainSchema = yupObject({\n domain: schemaFields.urlSchema.defined()\n .matches(/^https?:\\/\\//, 'URL must start with http:// or https://')\n .meta({ openapiField: { description: 'URL. Must start with http:// or https://', exampleValue: 'https://example.com' } }),\n handler_path: schemaFields.handlerPathSchema.defined(),\n});\n\nexport const projectsCrudAdminReadSchema = yupObject({\n id: schemaFields.projectIdSchema.defined(),\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n description: schemaFields.projectDescriptionSchema.nonNullable().defined(),\n created_at_millis: schemaFields.projectCreatedAtMillisSchema.defined(),\n user_count: schemaFields.projectUserCountSchema.defined(),\n is_production_mode: schemaFields.projectIsProductionModeSchema.defined(),\n config: yupObject({\n allow_localhost: schemaFields.projectAllowLocalhostSchema.defined(),\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),\n // TODO: remove this\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),\n allow_user_api_keys: schemaFields.yupBoolean().defined(),\n allow_team_api_keys: schemaFields.yupBoolean().defined(),\n oauth_providers: yupArray(oauthProviderSchema.defined()).defined(),\n enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),\n domains: yupArray(domainSchema.defined()).defined(),\n email_config: emailConfigSchema.defined(),\n create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.defined(),\n team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n team_member_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n user_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.defined(),\n }).defined(),\n}).defined();\n\nexport const projectsCrudClientReadSchema = yupObject({\n id: schemaFields.projectIdSchema.defined(),\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n config: yupObject({\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),\n allow_user_api_keys: schemaFields.yupBoolean().defined(),\n allow_team_api_keys: schemaFields.yupBoolean().defined(),\n enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),\n }).defined(),\n}).defined();\n\n\nexport const projectsCrudAdminUpdateSchema = yupObject({\n display_name: schemaFields.projectDisplayNameSchema.optional(),\n description: schemaFields.projectDescriptionSchema.optional(),\n is_production_mode: schemaFields.projectIsProductionModeSchema.optional(),\n config: yupObject({\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.optional(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.optional(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.optional(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.optional(),\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.optional(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.optional(),\n allow_localhost: schemaFields.projectAllowLocalhostSchema.optional(),\n allow_user_api_keys: schemaFields.yupBoolean().optional(),\n allow_team_api_keys: schemaFields.yupBoolean().optional(),\n email_config: emailConfigSchema.optional().default(undefined),\n domains: yupArray(domainSchema.defined()).optional().default(undefined),\n oauth_providers: yupArray(oauthProviderSchema.defined()).optional().default(undefined),\n create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.optional(),\n team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n team_member_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n user_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.optional(),\n }).optional().default(undefined),\n}).defined();\n\nexport const projectsCrudAdminCreateSchema = projectsCrudAdminUpdateSchema.concat(yupObject({\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n}).defined());\n\nexport const projectsCrudAdminDeleteSchema = schemaFields.yupMixed();\n\nexport const clientProjectsCrud = createCrud({\n clientReadSchema: projectsCrudClientReadSchema,\n docs: {\n clientRead: {\n summary: 'Get the current project',\n description: 'Get the current project information including display name, OAuth providers and authentication methods. Useful for display the available login options to the user.',\n tags: ['Projects'],\n },\n },\n});\nexport type ClientProjectsCrud = CrudTypeOf<typeof clientProjectsCrud>;\n\nexport const projectsCrud = createCrud({\n adminReadSchema: projectsCrudAdminReadSchema,\n adminUpdateSchema: projectsCrudAdminUpdateSchema,\n adminDeleteSchema: projectsCrudAdminDeleteSchema,\n docs: {\n adminRead: {\n summary: 'Get the current project',\n description: 'Get the current project information and configuration including display name, OAuth providers, email configuration, etc.',\n tags: ['Projects'],\n },\n adminUpdate: {\n summary: 'Update the current project',\n description: 'Update the current project information and configuration including display name, OAuth providers, email configuration, etc.',\n tags: ['Projects'],\n },\n adminDelete: {\n summary: 'Delete the current project',\n description: 'Delete the current project and all associated data (including users, teams, API keys, project configs, etc.). Be careful, this action is irreversible.',\n tags: ['Projects'],\n },\n },\n});\nexport type ProjectsCrud = CrudTypeOf<typeof projectsCrud>;\n\nexport const adminUserProjectsCrud = createCrud({\n clientReadSchema: projectsCrudAdminReadSchema,\n clientCreateSchema: projectsCrudAdminCreateSchema,\n docs: {\n clientList: {\n hidden: true,\n },\n clientCreate: {\n hidden: true,\n },\n },\n});\nexport type AdminUserProjectsCrud = CrudTypeOf<typeof adminUserProjectsCrud>;\n"],"mappings":"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","names":[]}