@robelest/convex-auth 0.0.4-preview.2 → 0.0.4-preview.21

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 (798) hide show
  1. package/README.md +67 -26
  2. package/dist/authorization/index.d.ts +63 -0
  3. package/dist/authorization/index.d.ts.map +1 -0
  4. package/dist/authorization/index.js +63 -0
  5. package/dist/authorization/index.js.map +1 -0
  6. package/dist/bin.js +6185 -0
  7. package/dist/client/core/types.d.ts +20 -0
  8. package/dist/client/core/types.d.ts.map +1 -0
  9. package/dist/client/index.d.ts +2 -299
  10. package/dist/client/index.d.ts.map +1 -1
  11. package/dist/client/index.js +407 -534
  12. package/dist/client/index.js.map +1 -1
  13. package/dist/component/_generated/api.d.ts +42 -0
  14. package/dist/component/_generated/api.d.ts.map +1 -1
  15. package/dist/component/_generated/api.js.map +1 -1
  16. package/dist/component/_generated/component.d.ts +2546 -90
  17. package/dist/component/_generated/component.d.ts.map +1 -1
  18. package/dist/component/client/core/types.d.ts +2 -0
  19. package/dist/component/client/index.d.ts +2 -0
  20. package/dist/component/convex.config.d.ts +2 -2
  21. package/dist/component/functions.d.ts +11 -9
  22. package/dist/component/functions.d.ts.map +1 -1
  23. package/dist/component/functions.js.map +1 -1
  24. package/dist/component/index.d.ts +7 -11
  25. package/dist/component/index.js +2 -3
  26. package/dist/component/model.d.ts +153 -0
  27. package/dist/component/model.d.ts.map +1 -0
  28. package/dist/component/model.js +349 -0
  29. package/dist/component/model.js.map +1 -0
  30. package/dist/component/providers/anonymous.d.ts +54 -0
  31. package/dist/component/providers/anonymous.d.ts.map +1 -0
  32. package/dist/component/providers/credentials.d.ts +5 -5
  33. package/dist/component/providers/credentials.d.ts.map +1 -1
  34. package/dist/component/providers/device.d.ts +67 -0
  35. package/dist/component/providers/device.d.ts.map +1 -0
  36. package/dist/component/providers/email.d.ts +62 -0
  37. package/dist/component/providers/email.d.ts.map +1 -0
  38. package/dist/component/providers/oauth.d.ts.map +1 -1
  39. package/dist/component/providers/oauth.js.map +1 -1
  40. package/dist/component/providers/passkey.d.ts +57 -0
  41. package/dist/component/providers/passkey.d.ts.map +1 -0
  42. package/dist/component/providers/password.d.ts +88 -0
  43. package/dist/component/providers/password.d.ts.map +1 -0
  44. package/dist/component/providers/phone.d.ts +48 -0
  45. package/dist/component/providers/phone.d.ts.map +1 -0
  46. package/dist/component/providers/sso.d.ts +50 -0
  47. package/dist/component/providers/sso.d.ts.map +1 -0
  48. package/dist/component/providers/totp.d.ts +45 -0
  49. package/dist/component/providers/totp.d.ts.map +1 -0
  50. package/dist/component/public/enterprise/audit.d.ts +73 -0
  51. package/dist/component/public/enterprise/audit.d.ts.map +1 -0
  52. package/dist/component/public/enterprise/audit.js +108 -0
  53. package/dist/component/public/enterprise/audit.js.map +1 -0
  54. package/dist/component/public/enterprise/core.d.ts +176 -0
  55. package/dist/component/public/enterprise/core.d.ts.map +1 -0
  56. package/dist/component/public/enterprise/core.js +292 -0
  57. package/dist/component/public/enterprise/core.js.map +1 -0
  58. package/dist/component/public/enterprise/domains.d.ts +174 -0
  59. package/dist/component/public/enterprise/domains.d.ts.map +1 -0
  60. package/dist/component/public/enterprise/domains.js +271 -0
  61. package/dist/component/public/enterprise/domains.js.map +1 -0
  62. package/dist/component/public/enterprise/scim.d.ts +245 -0
  63. package/dist/component/public/enterprise/scim.d.ts.map +1 -0
  64. package/dist/component/public/enterprise/scim.js +344 -0
  65. package/dist/component/public/enterprise/scim.js.map +1 -0
  66. package/dist/component/public/enterprise/secrets.d.ts +78 -0
  67. package/dist/component/public/enterprise/secrets.d.ts.map +1 -0
  68. package/dist/component/public/enterprise/secrets.js +118 -0
  69. package/dist/component/public/enterprise/secrets.js.map +1 -0
  70. package/dist/component/public/enterprise/webhooks.d.ts +211 -0
  71. package/dist/component/public/enterprise/webhooks.d.ts.map +1 -0
  72. package/dist/component/public/enterprise/webhooks.js +300 -0
  73. package/dist/component/public/enterprise/webhooks.js.map +1 -0
  74. package/dist/component/public/factors/devices.d.ts +157 -0
  75. package/dist/component/public/factors/devices.d.ts.map +1 -0
  76. package/dist/component/public/factors/devices.js +216 -0
  77. package/dist/component/public/factors/devices.js.map +1 -0
  78. package/dist/component/public/factors/passkeys.d.ts +175 -0
  79. package/dist/component/public/factors/passkeys.d.ts.map +1 -0
  80. package/dist/component/public/factors/passkeys.js +238 -0
  81. package/dist/component/public/factors/passkeys.js.map +1 -0
  82. package/dist/component/public/factors/totp.d.ts +189 -0
  83. package/dist/component/public/factors/totp.d.ts.map +1 -0
  84. package/dist/component/public/factors/totp.js +254 -0
  85. package/dist/component/public/factors/totp.js.map +1 -0
  86. package/dist/component/public/groups/core.d.ts +137 -0
  87. package/dist/component/public/groups/core.d.ts.map +1 -0
  88. package/dist/component/public/groups/core.js +321 -0
  89. package/dist/component/public/groups/core.js.map +1 -0
  90. package/dist/component/public/groups/invites.d.ts +217 -0
  91. package/dist/component/public/groups/invites.d.ts.map +1 -0
  92. package/dist/component/public/groups/invites.js +457 -0
  93. package/dist/component/public/groups/invites.js.map +1 -0
  94. package/dist/component/public/groups/members.d.ts +204 -0
  95. package/dist/component/public/groups/members.d.ts.map +1 -0
  96. package/dist/component/public/groups/members.js +355 -0
  97. package/dist/component/public/groups/members.js.map +1 -0
  98. package/dist/component/public/identity/accounts.d.ts +147 -0
  99. package/dist/component/public/identity/accounts.d.ts.map +1 -0
  100. package/dist/component/public/identity/accounts.js +200 -0
  101. package/dist/component/public/identity/accounts.js.map +1 -0
  102. package/dist/component/public/identity/codes.d.ts +104 -0
  103. package/dist/component/public/identity/codes.d.ts.map +1 -0
  104. package/dist/component/public/identity/codes.js +140 -0
  105. package/dist/component/public/identity/codes.js.map +1 -0
  106. package/dist/component/public/identity/sessions.d.ts +128 -0
  107. package/dist/component/public/identity/sessions.d.ts.map +1 -0
  108. package/dist/component/public/identity/sessions.js +192 -0
  109. package/dist/component/public/identity/sessions.js.map +1 -0
  110. package/dist/component/public/identity/tokens.d.ts +169 -0
  111. package/dist/component/public/identity/tokens.d.ts.map +1 -0
  112. package/dist/component/public/identity/tokens.js +227 -0
  113. package/dist/component/public/identity/tokens.js.map +1 -0
  114. package/dist/component/public/identity/users.d.ts +212 -0
  115. package/dist/component/public/identity/users.d.ts.map +1 -0
  116. package/dist/component/public/identity/users.js +311 -0
  117. package/dist/component/public/identity/users.js.map +1 -0
  118. package/dist/component/public/identity/verifiers.d.ts +116 -0
  119. package/dist/component/public/identity/verifiers.d.ts.map +1 -0
  120. package/dist/component/public/identity/verifiers.js +154 -0
  121. package/dist/component/public/identity/verifiers.js.map +1 -0
  122. package/dist/component/public/security/keys.d.ts +209 -0
  123. package/dist/component/public/security/keys.d.ts.map +1 -0
  124. package/dist/component/public/security/keys.js +319 -0
  125. package/dist/component/public/security/keys.js.map +1 -0
  126. package/dist/component/public/security/limits.d.ts +114 -0
  127. package/dist/component/public/security/limits.d.ts.map +1 -0
  128. package/dist/component/public/security/limits.js +169 -0
  129. package/dist/component/public/security/limits.js.map +1 -0
  130. package/dist/component/public.d.ts +24 -271
  131. package/dist/component/public.d.ts.map +1 -1
  132. package/dist/component/public.js +21 -1229
  133. package/dist/component/schema.d.ts +473 -110
  134. package/dist/component/schema.js +162 -73
  135. package/dist/component/schema.js.map +1 -1
  136. package/dist/component/server/auth.d.ts +318 -373
  137. package/dist/component/server/auth.d.ts.map +1 -1
  138. package/dist/component/server/auth.js +204 -123
  139. package/dist/component/server/auth.js.map +1 -1
  140. package/dist/component/server/authError.js +34 -0
  141. package/dist/component/server/authError.js.map +1 -0
  142. package/dist/component/server/{providers.js → config.js} +43 -12
  143. package/dist/component/server/config.js.map +1 -0
  144. package/dist/component/server/cookies.js +3 -0
  145. package/dist/component/server/cookies.js.map +1 -1
  146. package/dist/component/server/core.js +713 -0
  147. package/dist/component/server/core.js.map +1 -0
  148. package/dist/component/server/crypto.js +38 -0
  149. package/dist/component/server/crypto.js.map +1 -0
  150. package/dist/component/server/{implementation/db.js → db.js} +2 -1
  151. package/dist/component/server/db.js.map +1 -0
  152. package/dist/component/server/device.js +109 -0
  153. package/dist/component/server/device.js.map +1 -0
  154. package/dist/component/server/enterprise/config.js +46 -0
  155. package/dist/component/server/enterprise/config.js.map +1 -0
  156. package/dist/component/server/enterprise/domain.js +885 -0
  157. package/dist/component/server/enterprise/domain.js.map +1 -0
  158. package/dist/component/server/enterprise/http.js +766 -0
  159. package/dist/component/server/enterprise/http.js.map +1 -0
  160. package/dist/component/server/enterprise/oidc.js +248 -0
  161. package/dist/component/server/enterprise/oidc.js.map +1 -0
  162. package/dist/component/server/enterprise/policy.js +85 -0
  163. package/dist/component/server/enterprise/policy.js.map +1 -0
  164. package/dist/component/server/enterprise/saml.js +338 -0
  165. package/dist/component/server/enterprise/saml.js.map +1 -0
  166. package/dist/component/server/enterprise/scim.js +97 -0
  167. package/dist/component/server/enterprise/scim.js.map +1 -0
  168. package/dist/component/server/enterprise/shared.js +51 -0
  169. package/dist/component/server/enterprise/shared.js.map +1 -0
  170. package/dist/component/server/errors.d.ts +1 -0
  171. package/dist/component/server/errors.js +24 -16
  172. package/dist/component/server/errors.js.map +1 -1
  173. package/dist/component/server/http.js +288 -0
  174. package/dist/component/server/http.js.map +1 -0
  175. package/dist/component/server/identity.js +13 -0
  176. package/dist/component/server/identity.js.map +1 -0
  177. package/dist/{server/implementation → component/server}/keys.js +9 -31
  178. package/dist/component/server/keys.js.map +1 -0
  179. package/dist/component/server/limits.js +61 -0
  180. package/dist/component/server/limits.js.map +1 -0
  181. package/dist/component/server/mutations/account.js +44 -0
  182. package/dist/component/server/mutations/account.js.map +1 -0
  183. package/dist/component/server/{implementation/mutations → mutations}/code.js +7 -4
  184. package/dist/component/server/mutations/code.js.map +1 -0
  185. package/dist/component/server/mutations/invalidate.js +32 -0
  186. package/dist/component/server/mutations/invalidate.js.map +1 -0
  187. package/dist/component/server/mutations/oauth.js +110 -0
  188. package/dist/component/server/mutations/oauth.js.map +1 -0
  189. package/dist/component/server/mutations/refresh.js +119 -0
  190. package/dist/component/server/mutations/refresh.js.map +1 -0
  191. package/dist/component/server/mutations/register.js +83 -0
  192. package/dist/component/server/mutations/register.js.map +1 -0
  193. package/dist/component/server/mutations/retrieve.js +65 -0
  194. package/dist/component/server/mutations/retrieve.js.map +1 -0
  195. package/dist/component/server/mutations/signature.js +32 -0
  196. package/dist/component/server/mutations/signature.js.map +1 -0
  197. package/dist/component/server/{implementation/mutations → mutations}/signin.js +2 -2
  198. package/dist/component/server/mutations/signin.js.map +1 -0
  199. package/dist/component/server/mutations/signout.js +27 -0
  200. package/dist/component/server/mutations/signout.js.map +1 -0
  201. package/dist/component/server/mutations/store/refs.js +15 -0
  202. package/dist/component/server/mutations/store/refs.js.map +1 -0
  203. package/dist/component/server/mutations/store.js +85 -0
  204. package/dist/component/server/mutations/store.js.map +1 -0
  205. package/dist/component/server/mutations/verifier.js +18 -0
  206. package/dist/component/server/mutations/verifier.js.map +1 -0
  207. package/dist/component/server/mutations/verify.js +98 -0
  208. package/dist/component/server/mutations/verify.js.map +1 -0
  209. package/dist/component/server/oauth.js +106 -60
  210. package/dist/component/server/oauth.js.map +1 -1
  211. package/dist/component/server/passkey.js +328 -0
  212. package/dist/component/server/passkey.js.map +1 -0
  213. package/dist/{server/implementation → component/server}/redirects.js +13 -11
  214. package/dist/component/server/redirects.js.map +1 -0
  215. package/dist/component/server/refresh.js +96 -0
  216. package/dist/component/server/refresh.js.map +1 -0
  217. package/dist/component/server/runtime.d.ts +136 -0
  218. package/dist/component/server/runtime.d.ts.map +1 -0
  219. package/dist/component/server/runtime.js +413 -0
  220. package/dist/component/server/runtime.js.map +1 -0
  221. package/dist/{server/implementation → component/server}/sessions.js +14 -8
  222. package/dist/component/server/sessions.js.map +1 -0
  223. package/dist/component/server/signin.js +201 -0
  224. package/dist/component/server/signin.js.map +1 -0
  225. package/dist/component/server/tokens.js +17 -0
  226. package/dist/component/server/tokens.js.map +1 -0
  227. package/dist/component/server/totp.js +148 -0
  228. package/dist/component/server/totp.js.map +1 -0
  229. package/dist/component/server/types.d.ts +387 -298
  230. package/dist/component/server/types.d.ts.map +1 -1
  231. package/dist/component/server/{implementation/types.js → types.js} +1 -1
  232. package/dist/component/server/types.js.map +1 -0
  233. package/dist/component/server/{implementation/users.js → users.js} +54 -35
  234. package/dist/component/server/users.js.map +1 -0
  235. package/dist/component/server/utils.js +110 -4
  236. package/dist/component/server/utils.js.map +1 -1
  237. package/dist/core/types.d.ts +369 -0
  238. package/dist/core/types.d.ts.map +1 -0
  239. package/dist/factors/device.js +105 -0
  240. package/dist/factors/device.js.map +1 -0
  241. package/dist/factors/passkey.js +181 -0
  242. package/dist/factors/passkey.js.map +1 -0
  243. package/dist/factors/totp.js +122 -0
  244. package/dist/factors/totp.js.map +1 -0
  245. package/dist/providers/anonymous.d.ts +3 -9
  246. package/dist/providers/anonymous.d.ts.map +1 -1
  247. package/dist/providers/anonymous.js +1 -18
  248. package/dist/providers/anonymous.js.map +1 -1
  249. package/dist/providers/credentials.d.ts +8 -10
  250. package/dist/providers/credentials.d.ts.map +1 -1
  251. package/dist/providers/credentials.js +3 -5
  252. package/dist/providers/credentials.js.map +1 -1
  253. package/dist/providers/device.d.ts +18 -10
  254. package/dist/providers/device.d.ts.map +1 -1
  255. package/dist/providers/device.js +4 -8
  256. package/dist/providers/device.js.map +1 -1
  257. package/dist/providers/email.d.ts +50 -23
  258. package/dist/providers/email.d.ts.map +1 -1
  259. package/dist/providers/email.js +58 -34
  260. package/dist/providers/email.js.map +1 -1
  261. package/dist/providers/index.d.ts +7 -3
  262. package/dist/providers/index.js +4 -1
  263. package/dist/providers/oauth.d.ts.map +1 -1
  264. package/dist/providers/oauth.js.map +1 -1
  265. package/dist/providers/passkey.d.ts +12 -9
  266. package/dist/providers/passkey.d.ts.map +1 -1
  267. package/dist/providers/passkey.js +1 -7
  268. package/dist/providers/passkey.js.map +1 -1
  269. package/dist/providers/password.d.ts +6 -12
  270. package/dist/providers/password.d.ts.map +1 -1
  271. package/dist/providers/password.js +189 -89
  272. package/dist/providers/password.js.map +1 -1
  273. package/dist/providers/phone.d.ts +40 -11
  274. package/dist/providers/phone.d.ts.map +1 -1
  275. package/dist/providers/phone.js +52 -21
  276. package/dist/providers/phone.js.map +1 -1
  277. package/dist/providers/sso.d.ts +50 -0
  278. package/dist/providers/sso.d.ts.map +1 -0
  279. package/dist/providers/sso.js +34 -0
  280. package/dist/providers/sso.js.map +1 -0
  281. package/dist/providers/totp.d.ts +12 -9
  282. package/dist/providers/totp.d.ts.map +1 -1
  283. package/dist/providers/totp.js +1 -7
  284. package/dist/providers/totp.js.map +1 -1
  285. package/dist/runtime/browser.js +68 -0
  286. package/dist/runtime/browser.js.map +1 -0
  287. package/dist/runtime/invite.js +51 -0
  288. package/dist/runtime/invite.js.map +1 -0
  289. package/dist/runtime/proxy.js +70 -0
  290. package/dist/runtime/proxy.js.map +1 -0
  291. package/dist/runtime/storage.js +37 -0
  292. package/dist/runtime/storage.js.map +1 -0
  293. package/dist/server/auth.d.ts +335 -370
  294. package/dist/server/auth.d.ts.map +1 -1
  295. package/dist/server/auth.js +204 -123
  296. package/dist/server/auth.js.map +1 -1
  297. package/dist/server/authError.d.ts +46 -0
  298. package/dist/server/authError.d.ts.map +1 -0
  299. package/dist/server/authError.js +34 -0
  300. package/dist/server/authError.js.map +1 -0
  301. package/dist/server/config.d.ts +1 -0
  302. package/dist/server/{providers.js → config.js} +43 -12
  303. package/dist/server/config.js.map +1 -0
  304. package/dist/server/cookies.d.ts +1 -38
  305. package/dist/server/cookies.js +3 -0
  306. package/dist/server/cookies.js.map +1 -1
  307. package/dist/server/core.d.ts +1436 -0
  308. package/dist/server/core.d.ts.map +1 -0
  309. package/dist/server/core.js +713 -0
  310. package/dist/server/core.js.map +1 -0
  311. package/dist/server/crypto.d.ts +8 -0
  312. package/dist/server/crypto.d.ts.map +1 -0
  313. package/dist/server/crypto.js +38 -0
  314. package/dist/server/crypto.js.map +1 -0
  315. package/dist/server/db.d.ts +1 -0
  316. package/dist/server/{implementation/db.js → db.js} +2 -1
  317. package/dist/server/db.js.map +1 -0
  318. package/dist/server/device.d.ts +1 -0
  319. package/dist/server/device.js +109 -0
  320. package/dist/server/device.js.map +1 -0
  321. package/dist/server/enterprise/config.d.ts +1 -0
  322. package/dist/server/enterprise/config.js +46 -0
  323. package/dist/server/enterprise/config.js.map +1 -0
  324. package/dist/server/enterprise/domain.d.ts +409 -0
  325. package/dist/server/enterprise/domain.d.ts.map +1 -0
  326. package/dist/server/enterprise/domain.js +885 -0
  327. package/dist/server/enterprise/domain.js.map +1 -0
  328. package/dist/server/enterprise/http.d.ts +26 -0
  329. package/dist/server/enterprise/http.d.ts.map +1 -0
  330. package/dist/server/enterprise/http.js +766 -0
  331. package/dist/server/enterprise/http.js.map +1 -0
  332. package/dist/server/enterprise/oidc.d.ts +1 -0
  333. package/dist/server/enterprise/oidc.js +248 -0
  334. package/dist/server/enterprise/oidc.js.map +1 -0
  335. package/dist/server/enterprise/policy.d.ts +1 -0
  336. package/dist/server/enterprise/policy.js +85 -0
  337. package/dist/server/enterprise/policy.js.map +1 -0
  338. package/dist/server/enterprise/saml.d.ts +1 -0
  339. package/dist/server/enterprise/saml.js +338 -0
  340. package/dist/server/enterprise/saml.js.map +1 -0
  341. package/dist/server/enterprise/scim.d.ts +1 -0
  342. package/dist/server/enterprise/scim.js +97 -0
  343. package/dist/server/enterprise/scim.js.map +1 -0
  344. package/dist/server/enterprise/shared.d.ts +5 -0
  345. package/dist/server/enterprise/shared.d.ts.map +1 -0
  346. package/dist/server/enterprise/shared.js +51 -0
  347. package/dist/server/enterprise/shared.js.map +1 -0
  348. package/dist/server/enterprise/validators.d.ts +1 -0
  349. package/dist/server/enterprise/validators.js +60 -0
  350. package/dist/server/enterprise/validators.js.map +1 -0
  351. package/dist/server/errors.d.ts +33 -1
  352. package/dist/server/errors.d.ts.map +1 -1
  353. package/dist/server/errors.js +44 -1
  354. package/dist/server/errors.js.map +1 -1
  355. package/dist/server/http.d.ts +59 -0
  356. package/dist/server/http.d.ts.map +1 -0
  357. package/dist/server/http.js +288 -0
  358. package/dist/server/http.js.map +1 -0
  359. package/dist/server/identity.d.ts +1 -0
  360. package/dist/server/identity.js +13 -0
  361. package/dist/server/identity.js.map +1 -0
  362. package/dist/server/index.d.ts +4 -182
  363. package/dist/server/index.js +4 -376
  364. package/dist/server/keys.d.ts +1 -0
  365. package/dist/{component/server/implementation → server}/keys.js +9 -31
  366. package/dist/server/keys.js.map +1 -0
  367. package/dist/server/limits.d.ts +1 -0
  368. package/dist/server/limits.js +61 -0
  369. package/dist/server/limits.js.map +1 -0
  370. package/dist/server/mounts.d.ts +647 -0
  371. package/dist/server/mounts.d.ts.map +1 -0
  372. package/dist/server/mounts.js +643 -0
  373. package/dist/server/mounts.js.map +1 -0
  374. package/dist/server/mutations/account.d.ts +30 -0
  375. package/dist/server/mutations/account.d.ts.map +1 -0
  376. package/dist/server/mutations/account.js +44 -0
  377. package/dist/server/mutations/account.js.map +1 -0
  378. package/dist/server/mutations/code.d.ts +30 -0
  379. package/dist/server/mutations/code.d.ts.map +1 -0
  380. package/dist/server/{implementation/mutations → mutations}/code.js +7 -4
  381. package/dist/server/mutations/code.js.map +1 -0
  382. package/dist/server/mutations/index.d.ts +14 -0
  383. package/dist/server/mutations/index.js +15 -0
  384. package/dist/server/mutations/invalidate.d.ts +20 -0
  385. package/dist/server/mutations/invalidate.d.ts.map +1 -0
  386. package/dist/server/mutations/invalidate.js +32 -0
  387. package/dist/server/mutations/invalidate.js.map +1 -0
  388. package/dist/server/mutations/oauth.d.ts +28 -0
  389. package/dist/server/mutations/oauth.d.ts.map +1 -0
  390. package/dist/server/mutations/oauth.js +110 -0
  391. package/dist/server/mutations/oauth.js.map +1 -0
  392. package/dist/server/mutations/refresh.d.ts +21 -0
  393. package/dist/server/mutations/refresh.d.ts.map +1 -0
  394. package/dist/server/mutations/refresh.js +119 -0
  395. package/dist/server/mutations/refresh.js.map +1 -0
  396. package/dist/server/mutations/register.d.ts +38 -0
  397. package/dist/server/mutations/register.d.ts.map +1 -0
  398. package/dist/server/mutations/register.js +83 -0
  399. package/dist/server/mutations/register.js.map +1 -0
  400. package/dist/server/mutations/retrieve.d.ts +33 -0
  401. package/dist/server/mutations/retrieve.d.ts.map +1 -0
  402. package/dist/server/mutations/retrieve.js +65 -0
  403. package/dist/server/mutations/retrieve.js.map +1 -0
  404. package/dist/server/mutations/signature.d.ts +22 -0
  405. package/dist/server/mutations/signature.d.ts.map +1 -0
  406. package/dist/server/mutations/signature.js +32 -0
  407. package/dist/server/mutations/signature.js.map +1 -0
  408. package/dist/server/mutations/signin.d.ts +22 -0
  409. package/dist/server/mutations/signin.d.ts.map +1 -0
  410. package/dist/server/{implementation/mutations → mutations}/signin.js +2 -2
  411. package/dist/server/mutations/signin.js.map +1 -0
  412. package/dist/server/mutations/signout.d.ts +16 -0
  413. package/dist/server/mutations/signout.d.ts.map +1 -0
  414. package/dist/server/mutations/signout.js +27 -0
  415. package/dist/server/mutations/signout.js.map +1 -0
  416. package/dist/server/mutations/store/refs.d.ts +12 -0
  417. package/dist/server/mutations/store/refs.d.ts.map +1 -0
  418. package/dist/server/mutations/store/refs.js +15 -0
  419. package/dist/server/mutations/store/refs.js.map +1 -0
  420. package/dist/server/mutations/store.d.ts +306 -0
  421. package/dist/server/mutations/store.d.ts.map +1 -0
  422. package/dist/server/mutations/store.js +85 -0
  423. package/dist/server/mutations/store.js.map +1 -0
  424. package/dist/server/mutations/verifier.d.ts +13 -0
  425. package/dist/server/mutations/verifier.d.ts.map +1 -0
  426. package/dist/server/mutations/verifier.js +18 -0
  427. package/dist/server/mutations/verifier.js.map +1 -0
  428. package/dist/server/mutations/verify.d.ts +26 -0
  429. package/dist/server/mutations/verify.d.ts.map +1 -0
  430. package/dist/server/mutations/verify.js +98 -0
  431. package/dist/server/mutations/verify.js.map +1 -0
  432. package/dist/server/oauth.d.ts +1 -48
  433. package/dist/server/oauth.js +107 -64
  434. package/dist/server/oauth.js.map +1 -1
  435. package/dist/server/passkey.d.ts +27 -0
  436. package/dist/server/passkey.d.ts.map +1 -0
  437. package/dist/server/passkey.js +328 -0
  438. package/dist/server/passkey.js.map +1 -0
  439. package/dist/server/redirects.d.ts +1 -0
  440. package/dist/{component/server/implementation → server}/redirects.js +13 -11
  441. package/dist/server/redirects.js.map +1 -0
  442. package/dist/server/refresh.d.ts +1 -0
  443. package/dist/server/refresh.js +96 -0
  444. package/dist/server/refresh.js.map +1 -0
  445. package/dist/server/runtime.d.ts +136 -0
  446. package/dist/server/runtime.d.ts.map +1 -0
  447. package/dist/server/runtime.js +413 -0
  448. package/dist/server/runtime.js.map +1 -0
  449. package/dist/server/sessions.d.ts +1 -0
  450. package/dist/{component/server/implementation → server}/sessions.js +14 -8
  451. package/dist/server/sessions.js.map +1 -0
  452. package/dist/server/signin.d.ts +1 -0
  453. package/dist/server/signin.js +201 -0
  454. package/dist/server/signin.js.map +1 -0
  455. package/dist/server/ssr.d.ts +226 -0
  456. package/dist/server/ssr.d.ts.map +1 -0
  457. package/dist/server/ssr.js +786 -0
  458. package/dist/server/ssr.js.map +1 -0
  459. package/dist/server/templates.d.ts +1 -21
  460. package/dist/server/templates.js +2 -1
  461. package/dist/server/templates.js.map +1 -1
  462. package/dist/server/tokens.d.ts +1 -0
  463. package/dist/server/tokens.js +17 -0
  464. package/dist/server/tokens.js.map +1 -0
  465. package/dist/server/totp.d.ts +1 -0
  466. package/dist/server/totp.js +148 -0
  467. package/dist/server/totp.js.map +1 -0
  468. package/dist/server/types.d.ts +498 -306
  469. package/dist/server/types.d.ts.map +1 -1
  470. package/dist/server/types.js +108 -1
  471. package/dist/server/types.js.map +1 -0
  472. package/dist/server/users.d.ts +1 -0
  473. package/dist/server/{implementation/users.js → users.js} +54 -35
  474. package/dist/server/users.js.map +1 -0
  475. package/dist/server/utils.d.ts +1 -6
  476. package/dist/server/utils.js +110 -4
  477. package/dist/server/utils.js.map +1 -1
  478. package/package.json +49 -46
  479. package/src/authorization/index.ts +83 -0
  480. package/src/cli/bin.ts +5 -0
  481. package/src/cli/command.ts +6 -5
  482. package/src/cli/index.ts +456 -248
  483. package/src/cli/keys.ts +3 -0
  484. package/src/client/core/types.ts +437 -0
  485. package/src/client/factors/device.ts +160 -0
  486. package/src/client/factors/passkey.ts +282 -0
  487. package/src/client/factors/totp.ts +150 -0
  488. package/src/client/index.ts +745 -989
  489. package/src/client/runtime/browser.ts +112 -0
  490. package/src/client/runtime/invite.ts +65 -0
  491. package/src/client/runtime/proxy.ts +111 -0
  492. package/src/client/runtime/storage.ts +79 -0
  493. package/src/component/_generated/api.ts +42 -0
  494. package/src/component/_generated/component.ts +3123 -102
  495. package/src/component/functions.ts +38 -22
  496. package/src/component/index.ts +10 -20
  497. package/src/component/model.ts +449 -0
  498. package/src/component/public/enterprise/audit.ts +120 -0
  499. package/src/component/public/enterprise/core.ts +354 -0
  500. package/src/component/public/enterprise/domains.ts +323 -0
  501. package/src/component/public/enterprise/scim.ts +396 -0
  502. package/src/component/public/enterprise/secrets.ts +132 -0
  503. package/src/component/public/enterprise/webhooks.ts +306 -0
  504. package/src/component/public/factors/devices.ts +223 -0
  505. package/src/component/public/factors/passkeys.ts +242 -0
  506. package/src/component/public/factors/totp.ts +258 -0
  507. package/src/component/public/groups/core.ts +481 -0
  508. package/src/component/public/groups/invites.ts +602 -0
  509. package/src/component/public/groups/members.ts +409 -0
  510. package/src/component/public/identity/accounts.ts +206 -0
  511. package/src/component/public/identity/codes.ts +148 -0
  512. package/src/component/public/identity/sessions.ts +209 -0
  513. package/src/component/public/identity/tokens.ts +250 -0
  514. package/src/component/public/identity/users.ts +354 -0
  515. package/src/component/public/identity/verifiers.ts +157 -0
  516. package/src/component/public/security/keys.ts +365 -0
  517. package/src/component/public/security/limits.ts +173 -0
  518. package/src/component/public.ts +26 -1766
  519. package/src/component/schema.ts +273 -100
  520. package/src/providers/anonymous.ts +10 -20
  521. package/src/providers/credentials.ts +14 -22
  522. package/src/providers/device.ts +3 -14
  523. package/src/providers/email.ts +83 -47
  524. package/src/providers/index.ts +7 -0
  525. package/src/providers/oauth.ts +5 -3
  526. package/src/providers/passkey.ts +0 -13
  527. package/src/providers/password.ts +307 -130
  528. package/src/providers/phone.ts +81 -37
  529. package/src/providers/sso.ts +54 -0
  530. package/src/providers/totp.ts +0 -13
  531. package/src/samlify.d.ts +53 -0
  532. package/src/server/auth.ts +701 -247
  533. package/src/server/authError.ts +44 -0
  534. package/src/server/{providers.ts → config.ts} +84 -15
  535. package/src/server/cookies.ts +8 -1
  536. package/src/server/core.ts +2095 -0
  537. package/src/server/crypto.ts +88 -0
  538. package/src/server/{implementation/db.ts → db.ts} +90 -15
  539. package/src/server/device.ts +221 -0
  540. package/src/server/enterprise/config.ts +51 -0
  541. package/src/server/enterprise/domain.ts +1751 -0
  542. package/src/server/enterprise/http.ts +1324 -0
  543. package/src/server/enterprise/oidc.ts +500 -0
  544. package/src/server/enterprise/policy.ts +128 -0
  545. package/src/server/enterprise/saml.ts +578 -0
  546. package/src/server/enterprise/scim.ts +135 -0
  547. package/src/server/enterprise/shared.ts +134 -0
  548. package/src/server/enterprise/validators.ts +93 -0
  549. package/src/server/errors.ts +130 -119
  550. package/src/server/http.ts +531 -0
  551. package/src/server/identity.ts +18 -0
  552. package/src/server/index.ts +32 -650
  553. package/src/server/{implementation/keys.ts → keys.ts} +16 -44
  554. package/src/server/limits.ts +134 -0
  555. package/src/server/mounts.ts +948 -0
  556. package/src/server/mutations/account.ts +76 -0
  557. package/src/server/{implementation/mutations → mutations}/code.ts +22 -11
  558. package/src/server/mutations/index.ts +13 -0
  559. package/src/server/mutations/invalidate.ts +50 -0
  560. package/src/server/mutations/oauth.ts +237 -0
  561. package/src/server/mutations/refresh.ts +298 -0
  562. package/src/server/mutations/register.ts +200 -0
  563. package/src/server/mutations/retrieve.ts +109 -0
  564. package/src/server/mutations/signature.ts +50 -0
  565. package/src/server/{implementation/mutations → mutations}/signin.ts +9 -7
  566. package/src/server/mutations/signout.ts +43 -0
  567. package/src/server/mutations/store/refs.ts +10 -0
  568. package/src/server/mutations/store.ts +138 -0
  569. package/src/server/mutations/verifier.ts +34 -0
  570. package/src/server/mutations/verify.ts +202 -0
  571. package/src/server/oauth.ts +243 -131
  572. package/src/server/passkey.ts +784 -0
  573. package/src/server/{implementation/redirects.ts → redirects.ts} +21 -16
  574. package/src/server/refresh.ts +222 -0
  575. package/src/server/runtime.ts +880 -0
  576. package/src/server/{implementation/sessions.ts → sessions.ts} +33 -25
  577. package/src/server/signin.ts +438 -0
  578. package/src/server/ssr.ts +1764 -0
  579. package/src/server/templates.ts +8 -3
  580. package/src/server/{implementation/tokens.ts → tokens.ts} +11 -5
  581. package/src/server/totp.ts +349 -0
  582. package/src/server/types.ts +972 -207
  583. package/src/server/{implementation/users.ts → users.ts} +129 -75
  584. package/src/server/utils.ts +192 -5
  585. package/src/test.ts +28 -4
  586. package/dist/bin.cjs +0 -27757
  587. package/dist/component/providers/email.js +0 -47
  588. package/dist/component/providers/email.js.map +0 -1
  589. package/dist/component/public.js.map +0 -1
  590. package/dist/component/server/implementation/db.js.map +0 -1
  591. package/dist/component/server/implementation/device.js +0 -135
  592. package/dist/component/server/implementation/device.js.map +0 -1
  593. package/dist/component/server/implementation/index.d.ts +0 -870
  594. package/dist/component/server/implementation/index.d.ts.map +0 -1
  595. package/dist/component/server/implementation/index.js +0 -610
  596. package/dist/component/server/implementation/index.js.map +0 -1
  597. package/dist/component/server/implementation/keys.js.map +0 -1
  598. package/dist/component/server/implementation/mutations/account.js +0 -39
  599. package/dist/component/server/implementation/mutations/account.js.map +0 -1
  600. package/dist/component/server/implementation/mutations/code.js.map +0 -1
  601. package/dist/component/server/implementation/mutations/index.js +0 -70
  602. package/dist/component/server/implementation/mutations/index.js.map +0 -1
  603. package/dist/component/server/implementation/mutations/invalidate.js +0 -29
  604. package/dist/component/server/implementation/mutations/invalidate.js.map +0 -1
  605. package/dist/component/server/implementation/mutations/oauth.js +0 -51
  606. package/dist/component/server/implementation/mutations/oauth.js.map +0 -1
  607. package/dist/component/server/implementation/mutations/refresh.js +0 -85
  608. package/dist/component/server/implementation/mutations/refresh.js.map +0 -1
  609. package/dist/component/server/implementation/mutations/register.js +0 -65
  610. package/dist/component/server/implementation/mutations/register.js.map +0 -1
  611. package/dist/component/server/implementation/mutations/retrieve.js +0 -50
  612. package/dist/component/server/implementation/mutations/retrieve.js.map +0 -1
  613. package/dist/component/server/implementation/mutations/signature.js +0 -27
  614. package/dist/component/server/implementation/mutations/signature.js.map +0 -1
  615. package/dist/component/server/implementation/mutations/signin.js.map +0 -1
  616. package/dist/component/server/implementation/mutations/signout.js +0 -27
  617. package/dist/component/server/implementation/mutations/signout.js.map +0 -1
  618. package/dist/component/server/implementation/mutations/store.js +0 -12
  619. package/dist/component/server/implementation/mutations/store.js.map +0 -1
  620. package/dist/component/server/implementation/mutations/verifier.js +0 -16
  621. package/dist/component/server/implementation/mutations/verifier.js.map +0 -1
  622. package/dist/component/server/implementation/mutations/verify.js +0 -105
  623. package/dist/component/server/implementation/mutations/verify.js.map +0 -1
  624. package/dist/component/server/implementation/passkey.js +0 -307
  625. package/dist/component/server/implementation/passkey.js.map +0 -1
  626. package/dist/component/server/implementation/provider.js +0 -19
  627. package/dist/component/server/implementation/provider.js.map +0 -1
  628. package/dist/component/server/implementation/ratelimit.js +0 -48
  629. package/dist/component/server/implementation/ratelimit.js.map +0 -1
  630. package/dist/component/server/implementation/redirects.js.map +0 -1
  631. package/dist/component/server/implementation/refresh.js +0 -109
  632. package/dist/component/server/implementation/refresh.js.map +0 -1
  633. package/dist/component/server/implementation/sessions.js.map +0 -1
  634. package/dist/component/server/implementation/signin.js +0 -148
  635. package/dist/component/server/implementation/signin.js.map +0 -1
  636. package/dist/component/server/implementation/tokens.js +0 -15
  637. package/dist/component/server/implementation/tokens.js.map +0 -1
  638. package/dist/component/server/implementation/totp.js +0 -142
  639. package/dist/component/server/implementation/totp.js.map +0 -1
  640. package/dist/component/server/implementation/types.d.ts +0 -42
  641. package/dist/component/server/implementation/types.d.ts.map +0 -1
  642. package/dist/component/server/implementation/types.js.map +0 -1
  643. package/dist/component/server/implementation/users.js.map +0 -1
  644. package/dist/component/server/implementation/utils.js +0 -56
  645. package/dist/component/server/implementation/utils.js.map +0 -1
  646. package/dist/component/server/providers.js.map +0 -1
  647. package/dist/component/server/templates.js +0 -84
  648. package/dist/component/server/templates.js.map +0 -1
  649. package/dist/server/cookies.d.ts.map +0 -1
  650. package/dist/server/implementation/db.d.ts +0 -86
  651. package/dist/server/implementation/db.d.ts.map +0 -1
  652. package/dist/server/implementation/db.js.map +0 -1
  653. package/dist/server/implementation/device.d.ts +0 -30
  654. package/dist/server/implementation/device.d.ts.map +0 -1
  655. package/dist/server/implementation/device.js +0 -135
  656. package/dist/server/implementation/device.js.map +0 -1
  657. package/dist/server/implementation/index.d.ts +0 -870
  658. package/dist/server/implementation/index.d.ts.map +0 -1
  659. package/dist/server/implementation/index.js +0 -610
  660. package/dist/server/implementation/index.js.map +0 -1
  661. package/dist/server/implementation/keys.d.ts +0 -66
  662. package/dist/server/implementation/keys.d.ts.map +0 -1
  663. package/dist/server/implementation/keys.js.map +0 -1
  664. package/dist/server/implementation/mutations/account.d.ts +0 -27
  665. package/dist/server/implementation/mutations/account.d.ts.map +0 -1
  666. package/dist/server/implementation/mutations/account.js +0 -39
  667. package/dist/server/implementation/mutations/account.js.map +0 -1
  668. package/dist/server/implementation/mutations/code.d.ts +0 -29
  669. package/dist/server/implementation/mutations/code.d.ts.map +0 -1
  670. package/dist/server/implementation/mutations/code.js.map +0 -1
  671. package/dist/server/implementation/mutations/index.d.ts +0 -310
  672. package/dist/server/implementation/mutations/index.d.ts.map +0 -1
  673. package/dist/server/implementation/mutations/index.js +0 -70
  674. package/dist/server/implementation/mutations/index.js.map +0 -1
  675. package/dist/server/implementation/mutations/invalidate.d.ts +0 -18
  676. package/dist/server/implementation/mutations/invalidate.d.ts.map +0 -1
  677. package/dist/server/implementation/mutations/invalidate.js +0 -29
  678. package/dist/server/implementation/mutations/invalidate.js.map +0 -1
  679. package/dist/server/implementation/mutations/oauth.d.ts +0 -23
  680. package/dist/server/implementation/mutations/oauth.d.ts.map +0 -1
  681. package/dist/server/implementation/mutations/oauth.js +0 -51
  682. package/dist/server/implementation/mutations/oauth.js.map +0 -1
  683. package/dist/server/implementation/mutations/refresh.d.ts +0 -20
  684. package/dist/server/implementation/mutations/refresh.d.ts.map +0 -1
  685. package/dist/server/implementation/mutations/refresh.js +0 -85
  686. package/dist/server/implementation/mutations/refresh.js.map +0 -1
  687. package/dist/server/implementation/mutations/register.d.ts +0 -37
  688. package/dist/server/implementation/mutations/register.d.ts.map +0 -1
  689. package/dist/server/implementation/mutations/register.js +0 -65
  690. package/dist/server/implementation/mutations/register.js.map +0 -1
  691. package/dist/server/implementation/mutations/retrieve.d.ts +0 -31
  692. package/dist/server/implementation/mutations/retrieve.d.ts.map +0 -1
  693. package/dist/server/implementation/mutations/retrieve.js +0 -50
  694. package/dist/server/implementation/mutations/retrieve.js.map +0 -1
  695. package/dist/server/implementation/mutations/signature.d.ts +0 -19
  696. package/dist/server/implementation/mutations/signature.d.ts.map +0 -1
  697. package/dist/server/implementation/mutations/signature.js +0 -27
  698. package/dist/server/implementation/mutations/signature.js.map +0 -1
  699. package/dist/server/implementation/mutations/signin.d.ts +0 -21
  700. package/dist/server/implementation/mutations/signin.d.ts.map +0 -1
  701. package/dist/server/implementation/mutations/signin.js.map +0 -1
  702. package/dist/server/implementation/mutations/signout.d.ts +0 -14
  703. package/dist/server/implementation/mutations/signout.d.ts.map +0 -1
  704. package/dist/server/implementation/mutations/signout.js +0 -27
  705. package/dist/server/implementation/mutations/signout.js.map +0 -1
  706. package/dist/server/implementation/mutations/store.d.ts +0 -11
  707. package/dist/server/implementation/mutations/store.d.ts.map +0 -1
  708. package/dist/server/implementation/mutations/store.js +0 -12
  709. package/dist/server/implementation/mutations/store.js.map +0 -1
  710. package/dist/server/implementation/mutations/verifier.d.ts +0 -11
  711. package/dist/server/implementation/mutations/verifier.d.ts.map +0 -1
  712. package/dist/server/implementation/mutations/verifier.js +0 -16
  713. package/dist/server/implementation/mutations/verifier.js.map +0 -1
  714. package/dist/server/implementation/mutations/verify.d.ts +0 -25
  715. package/dist/server/implementation/mutations/verify.d.ts.map +0 -1
  716. package/dist/server/implementation/mutations/verify.js +0 -105
  717. package/dist/server/implementation/mutations/verify.js.map +0 -1
  718. package/dist/server/implementation/passkey.d.ts +0 -24
  719. package/dist/server/implementation/passkey.d.ts.map +0 -1
  720. package/dist/server/implementation/passkey.js +0 -307
  721. package/dist/server/implementation/passkey.js.map +0 -1
  722. package/dist/server/implementation/provider.d.ts +0 -10
  723. package/dist/server/implementation/provider.d.ts.map +0 -1
  724. package/dist/server/implementation/provider.js +0 -19
  725. package/dist/server/implementation/provider.js.map +0 -1
  726. package/dist/server/implementation/ratelimit.d.ts +0 -10
  727. package/dist/server/implementation/ratelimit.d.ts.map +0 -1
  728. package/dist/server/implementation/ratelimit.js +0 -48
  729. package/dist/server/implementation/ratelimit.js.map +0 -1
  730. package/dist/server/implementation/redirects.d.ts +0 -10
  731. package/dist/server/implementation/redirects.d.ts.map +0 -1
  732. package/dist/server/implementation/redirects.js.map +0 -1
  733. package/dist/server/implementation/refresh.d.ts +0 -37
  734. package/dist/server/implementation/refresh.d.ts.map +0 -1
  735. package/dist/server/implementation/refresh.js +0 -109
  736. package/dist/server/implementation/refresh.js.map +0 -1
  737. package/dist/server/implementation/sessions.d.ts +0 -29
  738. package/dist/server/implementation/sessions.d.ts.map +0 -1
  739. package/dist/server/implementation/sessions.js.map +0 -1
  740. package/dist/server/implementation/signin.d.ts +0 -55
  741. package/dist/server/implementation/signin.d.ts.map +0 -1
  742. package/dist/server/implementation/signin.js +0 -148
  743. package/dist/server/implementation/signin.js.map +0 -1
  744. package/dist/server/implementation/tokens.d.ts +0 -11
  745. package/dist/server/implementation/tokens.d.ts.map +0 -1
  746. package/dist/server/implementation/tokens.js +0 -15
  747. package/dist/server/implementation/tokens.js.map +0 -1
  748. package/dist/server/implementation/totp.d.ts +0 -31
  749. package/dist/server/implementation/totp.d.ts.map +0 -1
  750. package/dist/server/implementation/totp.js +0 -142
  751. package/dist/server/implementation/totp.js.map +0 -1
  752. package/dist/server/implementation/types.d.ts +0 -189
  753. package/dist/server/implementation/types.d.ts.map +0 -1
  754. package/dist/server/implementation/types.js +0 -97
  755. package/dist/server/implementation/types.js.map +0 -1
  756. package/dist/server/implementation/users.d.ts +0 -30
  757. package/dist/server/implementation/users.d.ts.map +0 -1
  758. package/dist/server/implementation/users.js.map +0 -1
  759. package/dist/server/implementation/utils.d.ts +0 -19
  760. package/dist/server/implementation/utils.d.ts.map +0 -1
  761. package/dist/server/implementation/utils.js +0 -56
  762. package/dist/server/implementation/utils.js.map +0 -1
  763. package/dist/server/index.d.ts.map +0 -1
  764. package/dist/server/index.js.map +0 -1
  765. package/dist/server/oauth.d.ts.map +0 -1
  766. package/dist/server/providers.d.ts +0 -72
  767. package/dist/server/providers.d.ts.map +0 -1
  768. package/dist/server/providers.js.map +0 -1
  769. package/dist/server/templates.d.ts.map +0 -1
  770. package/dist/server/utils.d.ts.map +0 -1
  771. package/dist/server/version.d.ts +0 -5
  772. package/dist/server/version.d.ts.map +0 -1
  773. package/dist/server/version.js +0 -6
  774. package/dist/server/version.js.map +0 -1
  775. package/src/cli/utils.ts +0 -248
  776. package/src/server/implementation/device.ts +0 -307
  777. package/src/server/implementation/index.ts +0 -1583
  778. package/src/server/implementation/mutations/account.ts +0 -50
  779. package/src/server/implementation/mutations/index.ts +0 -157
  780. package/src/server/implementation/mutations/invalidate.ts +0 -42
  781. package/src/server/implementation/mutations/oauth.ts +0 -73
  782. package/src/server/implementation/mutations/refresh.ts +0 -175
  783. package/src/server/implementation/mutations/register.ts +0 -100
  784. package/src/server/implementation/mutations/retrieve.ts +0 -79
  785. package/src/server/implementation/mutations/signature.ts +0 -39
  786. package/src/server/implementation/mutations/signout.ts +0 -35
  787. package/src/server/implementation/mutations/store.ts +0 -7
  788. package/src/server/implementation/mutations/verifier.ts +0 -24
  789. package/src/server/implementation/mutations/verify.ts +0 -194
  790. package/src/server/implementation/passkey.ts +0 -620
  791. package/src/server/implementation/provider.ts +0 -36
  792. package/src/server/implementation/ratelimit.ts +0 -79
  793. package/src/server/implementation/refresh.ts +0 -172
  794. package/src/server/implementation/signin.ts +0 -296
  795. package/src/server/implementation/totp.ts +0 -342
  796. package/src/server/implementation/types.ts +0 -444
  797. package/src/server/implementation/utils.ts +0 -91
  798. package/src/server/version.ts +0 -2
@@ -0,0 +1,713 @@
1
+ import { TOKEN_SUB_CLAIM_DIVIDER, generateRandomString, sha256 } from "./utils.js";
2
+ import { buildScopeChecker, checkKeyRateLimit, generateApiKey, hashApiKey } from "./keys.js";
3
+ import { materializeProvider } from "./config.js";
4
+ import { signInImpl } from "./signin.js";
5
+
6
+ //#region src/server/core.ts
7
+ /**
8
+ * Build the core auth domains that back the canonical app API surface.
9
+ *
10
+ * Creates the grouped `user`, `session`, `account`, `provider`, `group`,
11
+ * `member`, `invite`, and `key` APIs used by the higher-level auth
12
+ * factory. Each namespace wraps the underlying Convex component functions with
13
+ * application-friendly helpers, result shaping, and documentation-friendly
14
+ * method names.
15
+ *
16
+ * @param deps - Internal component wiring, provider config, and helper
17
+ * functions needed to construct the domain API surface.
18
+ * @returns The core domain namespaces consumed by the auth factory.
19
+ */
20
+ function createCoreDomains(deps) {
21
+ const { config, getAuth, callInvalidateSessions, callCreateAccountFromCredentials, callRetrieveAccountWithCredentials, callModifyAccount, getEnrichCtx, inviteTokenAlphabet, inviteTokenLength } = deps;
22
+ const roleDefinitions = config.authorization.roles;
23
+ const getRoleDefinition = (roleId) => {
24
+ return roleDefinitions[roleId] ?? null;
25
+ };
26
+ const normalizeRoleIds = (roleIds) => {
27
+ const normalized = Array.from(new Set(roleIds ?? []));
28
+ const invalid = normalized.filter((id) => getRoleDefinition(id) === null);
29
+ if (invalid.length > 0) return {
30
+ ok: false,
31
+ invalidRoleIds: invalid
32
+ };
33
+ return {
34
+ ok: true,
35
+ roleIds: normalized
36
+ };
37
+ };
38
+ const listAllKeysByUser = async (ctx, userId) => {
39
+ const items = [];
40
+ let cursor = null;
41
+ do {
42
+ const page = await ctx.runQuery(config.component.public.keyList, {
43
+ where: { userId },
44
+ limit: 100,
45
+ cursor
46
+ });
47
+ items.push(...page.items);
48
+ cursor = page.nextCursor;
49
+ } while (cursor !== null);
50
+ return items;
51
+ };
52
+ const listAllMembersByUser = async (ctx, userId) => {
53
+ const items = [];
54
+ let cursor = null;
55
+ do {
56
+ const page = await ctx.runQuery(config.component.public.memberList, {
57
+ where: { userId },
58
+ limit: 100,
59
+ cursor
60
+ });
61
+ items.push(...page.items);
62
+ cursor = page.nextCursor;
63
+ } while (cursor !== null);
64
+ return items;
65
+ };
66
+ const resolveGrantedPermissions = (roleIds) => {
67
+ const grants = /* @__PURE__ */ new Set();
68
+ for (const roleId of roleIds ?? []) {
69
+ const role = getRoleDefinition(roleId);
70
+ if (role === null) continue;
71
+ for (const grant of role.grants) grants.add(grant);
72
+ }
73
+ return Array.from(grants).sort();
74
+ };
75
+ const AUTH_CACHE = Symbol("__convexAuthCache");
76
+ function cache(ctx) {
77
+ if (!ctx[AUTH_CACHE]) ctx[AUTH_CACHE] = {
78
+ users: /* @__PURE__ */ new Map(),
79
+ groups: /* @__PURE__ */ new Map()
80
+ };
81
+ return ctx[AUTH_CACHE];
82
+ }
83
+ const user = {
84
+ id: async (ctx, request) => {
85
+ const identity = await ctx.auth.getUserIdentity();
86
+ if (identity !== null) {
87
+ const [userId] = identity.subject.split(TOKEN_SUB_CLAIM_DIVIDER);
88
+ return userId;
89
+ }
90
+ if (request !== void 0 && "runMutation" in ctx && ctx.runMutation) {
91
+ const authHeader = request.headers.get("Authorization");
92
+ if (authHeader?.startsWith("Bearer sk_")) {
93
+ const rawKey = authHeader.slice(7);
94
+ const result = await getAuth().key.verify(ctx, rawKey);
95
+ if (result.ok) return result.userId;
96
+ return null;
97
+ }
98
+ }
99
+ return null;
100
+ },
101
+ get: async (ctx, userId) => {
102
+ const c = cache(ctx);
103
+ if (c.users.has(userId)) return c.users.get(userId);
104
+ const result = await ctx.runQuery(config.component.public.userGetById, { userId });
105
+ c.users.set(userId, result);
106
+ return result;
107
+ },
108
+ list: async (ctx, opts = {}) => {
109
+ return await ctx.runQuery(config.component.public.userList, opts);
110
+ },
111
+ viewer: async (ctx) => {
112
+ const userId = await user.id(ctx);
113
+ if (userId === null) return null;
114
+ return await user.get(ctx, userId);
115
+ },
116
+ update: async (ctx, userId, data) => {
117
+ await ctx.runMutation(config.component.public.userPatch, {
118
+ userId,
119
+ data
120
+ });
121
+ return {
122
+ ok: true,
123
+ userId
124
+ };
125
+ },
126
+ setActiveGroup: async (ctx, opts) => {
127
+ const doc = await user.get(ctx, opts.userId);
128
+ const existingExtend = doc !== null && doc.extend !== null && typeof doc.extend === "object" && !Array.isArray(doc.extend) ? { ...doc.extend } : {};
129
+ if (opts.groupId === null) {
130
+ const { lastActiveGroup: _omit, ...rest } = existingExtend;
131
+ await user.update(ctx, opts.userId, { extend: rest });
132
+ return {
133
+ ok: true,
134
+ userId: opts.userId,
135
+ groupId: null
136
+ };
137
+ }
138
+ await user.update(ctx, opts.userId, { extend: {
139
+ ...existingExtend,
140
+ lastActiveGroup: opts.groupId
141
+ } });
142
+ return {
143
+ ok: true,
144
+ userId: opts.userId,
145
+ groupId: opts.groupId
146
+ };
147
+ },
148
+ getActiveGroup: async (ctx, opts) => {
149
+ const doc = await user.get(ctx, opts.userId);
150
+ if (doc !== null && doc.extend !== null && typeof doc.extend === "object" && !Array.isArray(doc.extend)) {
151
+ const val = doc.extend.lastActiveGroup;
152
+ if (typeof val === "string") return val;
153
+ }
154
+ return null;
155
+ },
156
+ delete: async (ctx, userId, opts) => {
157
+ const cascade = opts?.cascade !== false;
158
+ const [sessions, accounts, keys, members, passkeys, totps] = await Promise.all([
159
+ ctx.runQuery(config.component.public.sessionListByUser, { userId }),
160
+ ctx.runQuery(config.component.public.accountListByUser, { userId }),
161
+ listAllKeysByUser(ctx, userId),
162
+ listAllMembersByUser(ctx, userId),
163
+ ctx.runQuery(config.component.public.passkeyListByUserId, { userId }),
164
+ ctx.runQuery(config.component.public.totpListByUserId, { userId })
165
+ ]);
166
+ const totalLinked = sessions.length + accounts.length + keys.length + members.length + passkeys.length + totps.length;
167
+ if (!cascade && totalLinked > 0) return {
168
+ ok: false,
169
+ code: "INVALID_PARAMETERS"
170
+ };
171
+ const deletions = [];
172
+ for (const s of sessions) deletions.push(ctx.runMutation(config.component.public.sessionDelete, { sessionId: s._id }));
173
+ for (const a of accounts) deletions.push(ctx.runMutation(config.component.public.accountDelete, { accountId: a._id }));
174
+ for (const k of keys) deletions.push(ctx.runMutation(config.component.public.keyDelete, { keyId: k._id }));
175
+ for (const m of members) deletions.push(ctx.runMutation(config.component.public.memberRemove, { memberId: m._id }));
176
+ for (const p of passkeys) deletions.push(ctx.runMutation(config.component.public.passkeyDelete, { passkeyId: p._id }));
177
+ for (const t of totps) deletions.push(ctx.runMutation(config.component.public.totpDelete, { totpId: t._id }));
178
+ await Promise.all(deletions);
179
+ await ctx.runMutation(config.component.public.userDelete, { userId });
180
+ return {
181
+ ok: true,
182
+ userId
183
+ };
184
+ }
185
+ };
186
+ const session = {
187
+ current: async (ctx) => {
188
+ const identity = await ctx.auth.getUserIdentity();
189
+ if (identity === null) return null;
190
+ const [, sessionId] = identity.subject.split(TOKEN_SUB_CLAIM_DIVIDER);
191
+ return sessionId;
192
+ },
193
+ invalidate: async (ctx, args) => {
194
+ await callInvalidateSessions(ctx, args);
195
+ return {
196
+ ok: true,
197
+ userId: args.userId,
198
+ except: args.except ?? []
199
+ };
200
+ },
201
+ get: async (ctx, sessionId) => {
202
+ return await ctx.runQuery(config.component.public.sessionGetById, { sessionId });
203
+ },
204
+ list: async (ctx, opts) => {
205
+ return await ctx.runQuery(config.component.public.sessionListByUser, { userId: opts.userId });
206
+ }
207
+ };
208
+ const account = {
209
+ create: async (ctx, args) => {
210
+ return {
211
+ ok: true,
212
+ ...await callCreateAccountFromCredentials(ctx, args)
213
+ };
214
+ },
215
+ get: async (ctx, args) => {
216
+ const result = await callRetrieveAccountWithCredentials(ctx, args);
217
+ if (typeof result === "string") return null;
218
+ return result;
219
+ },
220
+ update: async (ctx, args) => {
221
+ await callModifyAccount(ctx, args);
222
+ return {
223
+ ok: true,
224
+ accountId: args.account.id
225
+ };
226
+ },
227
+ delete: async (ctx, accountId) => {
228
+ const doc = await ctx.runQuery(config.component.public.accountGetById, { accountId });
229
+ if (doc === null) return {
230
+ ok: false,
231
+ code: "ACCOUNT_NOT_FOUND"
232
+ };
233
+ if ((await ctx.runQuery(config.component.public.accountListByUser, { userId: doc.userId })).length <= 1) return {
234
+ ok: false,
235
+ code: "INVALID_PARAMETERS"
236
+ };
237
+ await ctx.runMutation(config.component.public.accountDelete, { accountId });
238
+ return {
239
+ ok: true,
240
+ accountId
241
+ };
242
+ },
243
+ listPasskeys: async (ctx, opts) => {
244
+ return await ctx.runQuery(config.component.public.passkeyListByUserId, opts);
245
+ },
246
+ renamePasskey: async (ctx, passkeyId, name) => {
247
+ await ctx.runMutation(config.component.public.passkeyUpdateMeta, {
248
+ passkeyId,
249
+ data: { name }
250
+ });
251
+ return {
252
+ ok: true,
253
+ passkeyId
254
+ };
255
+ },
256
+ deletePasskey: async (ctx, passkeyId) => {
257
+ await ctx.runMutation(config.component.public.passkeyDelete, { passkeyId });
258
+ return {
259
+ ok: true,
260
+ passkeyId
261
+ };
262
+ },
263
+ listTotps: async (ctx, opts) => {
264
+ return await ctx.runQuery(config.component.public.totpListByUserId, opts);
265
+ },
266
+ deleteTotp: async (ctx, totpId) => {
267
+ await ctx.runMutation(config.component.public.totpDelete, { totpId });
268
+ return {
269
+ ok: true,
270
+ totpId
271
+ };
272
+ }
273
+ };
274
+ const provider = { signIn: async (ctx, providerConfig, args) => {
275
+ const result = await signInImpl(getEnrichCtx()(ctx), materializeProvider(providerConfig), args, {
276
+ generateTokens: false,
277
+ allowExtraProviders: true
278
+ });
279
+ return result.kind === "signedIn" ? result.signedIn !== null ? {
280
+ userId: result.signedIn.userId,
281
+ sessionId: result.signedIn.sessionId
282
+ } : null : null;
283
+ } };
284
+ const group = {
285
+ create: async (ctx, data) => {
286
+ return {
287
+ ok: true,
288
+ groupId: await ctx.runMutation(config.component.public.groupCreate, data)
289
+ };
290
+ },
291
+ get: async (ctx, groupId) => {
292
+ const c = cache(ctx);
293
+ if (c.groups.has(groupId)) return c.groups.get(groupId);
294
+ const result = await ctx.runQuery(config.component.public.groupGet, { groupId });
295
+ c.groups.set(groupId, result);
296
+ return result;
297
+ },
298
+ list: async (ctx, opts) => {
299
+ return await ctx.runQuery(config.component.public.groupList, {
300
+ where: opts?.where,
301
+ limit: opts?.limit,
302
+ cursor: opts?.cursor,
303
+ orderBy: opts?.orderBy,
304
+ order: opts?.order
305
+ });
306
+ },
307
+ update: async (ctx, groupId, data) => {
308
+ await ctx.runMutation(config.component.public.groupUpdate, {
309
+ groupId,
310
+ data
311
+ });
312
+ return {
313
+ ok: true,
314
+ groupId
315
+ };
316
+ },
317
+ delete: async (ctx, groupId) => {
318
+ await ctx.runMutation(config.component.public.groupDelete, { groupId });
319
+ return {
320
+ ok: true,
321
+ groupId
322
+ };
323
+ },
324
+ ancestors: async (ctx, opts) => {
325
+ const maxDepth = Math.max(0, Math.floor(opts.maxDepth ?? 32));
326
+ const visited = /* @__PURE__ */ new Set();
327
+ const ancestors = [];
328
+ let cycleDetected = false;
329
+ let maxDepthReached = false;
330
+ let currentGroupId = opts.groupId;
331
+ let depth = 0;
332
+ let isFirst = true;
333
+ while (currentGroupId !== void 0) {
334
+ if (depth > maxDepth) {
335
+ maxDepthReached = true;
336
+ break;
337
+ }
338
+ if (visited.has(currentGroupId)) {
339
+ cycleDetected = true;
340
+ break;
341
+ }
342
+ visited.add(currentGroupId);
343
+ const doc = await group.get(ctx, currentGroupId);
344
+ if (doc === null) break;
345
+ if (isFirst) {
346
+ isFirst = false;
347
+ if (opts.includeSelf) ancestors.push(doc);
348
+ currentGroupId = doc.parentGroupId;
349
+ depth += 1;
350
+ continue;
351
+ }
352
+ ancestors.push(doc);
353
+ currentGroupId = doc.parentGroupId;
354
+ depth += 1;
355
+ }
356
+ return {
357
+ ancestors,
358
+ cycleDetected,
359
+ maxDepthReached
360
+ };
361
+ }
362
+ };
363
+ const member = {
364
+ create: async (ctx, data) => {
365
+ const normalized = normalizeRoleIds(data.roleIds);
366
+ if (!normalized.ok) return {
367
+ ok: false,
368
+ code: "INVALID_ROLE_IDS",
369
+ invalidRoleIds: normalized.invalidRoleIds
370
+ };
371
+ return {
372
+ ok: true,
373
+ memberId: await ctx.runMutation(config.component.public.memberAdd, {
374
+ ...data,
375
+ roleIds: normalized.roleIds
376
+ })
377
+ };
378
+ },
379
+ get: async (ctx, memberId) => {
380
+ return await ctx.runQuery(config.component.public.memberGet, { memberId });
381
+ },
382
+ list: async (ctx, opts) => {
383
+ return await ctx.runQuery(config.component.public.memberList, {
384
+ where: opts?.where,
385
+ limit: opts?.limit,
386
+ cursor: opts?.cursor,
387
+ orderBy: opts?.orderBy,
388
+ order: opts?.order
389
+ });
390
+ },
391
+ delete: async (ctx, memberId) => {
392
+ await ctx.runMutation(config.component.public.memberRemove, { memberId });
393
+ return {
394
+ ok: true,
395
+ memberId
396
+ };
397
+ },
398
+ update: async (ctx, memberId, data) => {
399
+ const nextData = { ...data };
400
+ if ("roleIds" in nextData) {
401
+ const normalized = normalizeRoleIds(Array.isArray(nextData.roleIds) ? nextData.roleIds : void 0);
402
+ if (!normalized.ok) return {
403
+ ok: false,
404
+ code: "INVALID_ROLE_IDS",
405
+ invalidRoleIds: normalized.invalidRoleIds
406
+ };
407
+ nextData.roleIds = normalized.roleIds;
408
+ }
409
+ await ctx.runMutation(config.component.public.memberUpdate, {
410
+ memberId,
411
+ data: nextData
412
+ });
413
+ return {
414
+ ok: true,
415
+ memberId
416
+ };
417
+ },
418
+ resolve: async (ctx, opts) => {
419
+ const normalized = normalizeRoleIds(opts.roleIds);
420
+ if (!normalized.ok) return {
421
+ ok: false,
422
+ membership: null,
423
+ matchedGroupId: null,
424
+ roleIds: [],
425
+ grants: [],
426
+ missingGrants: Array.from(new Set(opts.grants ?? [])),
427
+ depth: null,
428
+ isDirect: false,
429
+ isInherited: false,
430
+ traversedGroupIds: [],
431
+ code: "INVALID_ROLE_IDS",
432
+ invalidRoleIds: normalized.invalidRoleIds
433
+ };
434
+ const requestedRoleIds = normalized.roleIds;
435
+ const roleFilter = requestedRoleIds.length > 0 ? new Set(requestedRoleIds) : null;
436
+ const requiredGrants = Array.from(new Set(opts.grants ?? []));
437
+ const useAncestry = opts.ancestry === true;
438
+ let membership = null;
439
+ let matchedGroupId = null;
440
+ let depth = null;
441
+ let isDirect = false;
442
+ let isInherited = false;
443
+ let traversedGroupIds = [];
444
+ if (useAncestry) {
445
+ const maxDepth = Math.max(0, Math.floor(opts.maxDepth ?? 32));
446
+ const result = await ctx.runQuery(config.component.public.memberResolve, {
447
+ userId: opts.userId,
448
+ groupId: opts.groupId,
449
+ maxDepth,
450
+ ancestry: true
451
+ });
452
+ membership = result.membership;
453
+ matchedGroupId = result.matchedGroupId;
454
+ depth = result.depth;
455
+ isDirect = result.isDirect;
456
+ isInherited = result.isInherited;
457
+ traversedGroupIds = result.traversedGroupIds ?? [];
458
+ } else {
459
+ const doc = await ctx.runQuery(config.component.public.memberGetByGroupAndUser, {
460
+ userId: opts.userId,
461
+ groupId: opts.groupId
462
+ });
463
+ membership = doc;
464
+ matchedGroupId = doc ? opts.groupId : null;
465
+ depth = doc ? 0 : null;
466
+ isDirect = doc !== null;
467
+ }
468
+ if (membership === null) return {
469
+ ok: false,
470
+ membership: null,
471
+ matchedGroupId: null,
472
+ roleIds: [],
473
+ grants: [],
474
+ missingGrants: requiredGrants,
475
+ depth: null,
476
+ isDirect: false,
477
+ isInherited: false,
478
+ traversedGroupIds
479
+ };
480
+ const membershipRoleIds = membership.roleIds ?? [];
481
+ const membershipGrants = resolveGrantedPermissions(membershipRoleIds);
482
+ if (roleFilter !== null && !membershipRoleIds.some((roleId) => roleFilter.has(roleId))) return {
483
+ ok: false,
484
+ membership: null,
485
+ matchedGroupId: null,
486
+ roleIds: [],
487
+ grants: [],
488
+ missingGrants: requiredGrants,
489
+ depth: null,
490
+ isDirect: false,
491
+ isInherited: false,
492
+ traversedGroupIds
493
+ };
494
+ const missingGrants = requiredGrants.filter((grant) => !membershipGrants.includes(grant));
495
+ return {
496
+ ok: missingGrants.length === 0,
497
+ membership,
498
+ matchedGroupId,
499
+ roleIds: membershipRoleIds,
500
+ grants: membershipGrants,
501
+ missingGrants,
502
+ depth,
503
+ isDirect,
504
+ isInherited,
505
+ traversedGroupIds
506
+ };
507
+ }
508
+ };
509
+ const invite = {
510
+ create: async (ctx, data) => {
511
+ const normalized = normalizeRoleIds(data.roleIds);
512
+ if (!normalized.ok) return {
513
+ ok: false,
514
+ code: "INVALID_ROLE_IDS",
515
+ invalidRoleIds: normalized.invalidRoleIds
516
+ };
517
+ const token = generateRandomString(inviteTokenLength, inviteTokenAlphabet);
518
+ const tokenHash = await sha256(token);
519
+ return {
520
+ ok: true,
521
+ inviteId: await ctx.runMutation(config.component.public.inviteCreate, {
522
+ ...data,
523
+ roleIds: normalized.roleIds,
524
+ tokenHash,
525
+ status: "pending"
526
+ }),
527
+ token
528
+ };
529
+ },
530
+ get: async (ctx, inviteId) => {
531
+ return await ctx.runQuery(config.component.public.inviteGet, { inviteId });
532
+ },
533
+ token: {
534
+ get: async (ctx, token) => {
535
+ const tokenHash = await sha256(token);
536
+ return await ctx.runQuery(config.component.public.inviteGetByTokenHash, { tokenHash });
537
+ },
538
+ accept: async (ctx, args) => {
539
+ const tokenHash = await sha256(args.token);
540
+ return {
541
+ ok: true,
542
+ ...await ctx.runMutation(config.component.public.inviteAcceptByToken, {
543
+ tokenHash,
544
+ acceptedByUserId: args.acceptedByUserId
545
+ })
546
+ };
547
+ }
548
+ },
549
+ list: async (ctx, opts) => {
550
+ return await ctx.runQuery(config.component.public.inviteList, {
551
+ where: opts?.where,
552
+ limit: opts?.limit,
553
+ cursor: opts?.cursor,
554
+ orderBy: opts?.orderBy,
555
+ order: opts?.order
556
+ });
557
+ },
558
+ accept: async (ctx, inviteId, acceptedByUserId) => {
559
+ await ctx.runMutation(config.component.public.inviteAccept, {
560
+ inviteId,
561
+ ...acceptedByUserId ? { acceptedByUserId } : {}
562
+ });
563
+ return {
564
+ ok: true,
565
+ inviteId,
566
+ acceptedByUserId: acceptedByUserId ?? null
567
+ };
568
+ },
569
+ revoke: async (ctx, inviteId) => {
570
+ await ctx.runMutation(config.component.public.inviteRevoke, { inviteId });
571
+ return {
572
+ ok: true,
573
+ inviteId
574
+ };
575
+ }
576
+ };
577
+ const key = {
578
+ create: async (ctx, opts) => {
579
+ const { raw, hashedKey, displayPrefix } = await generateApiKey("sk_");
580
+ return {
581
+ ok: true,
582
+ keyId: await ctx.runMutation(config.component.public.keyInsert, {
583
+ userId: opts.userId,
584
+ prefix: displayPrefix,
585
+ hashedKey,
586
+ name: opts.name,
587
+ scopes: opts.scopes,
588
+ rateLimit: opts.rateLimit,
589
+ expiresAt: opts.expiresAt,
590
+ metadata: opts.metadata
591
+ }),
592
+ secret: raw
593
+ };
594
+ },
595
+ verify: async (ctx, rawKey) => {
596
+ const hashedKey = await hashApiKey(rawKey);
597
+ const doc = await ctx.runQuery(config.component.public.keyGetByHashedKey, { hashedKey });
598
+ if (!doc) return {
599
+ ok: false,
600
+ code: "INVALID_API_KEY"
601
+ };
602
+ const k = doc;
603
+ if (k.revoked) return {
604
+ ok: false,
605
+ code: "API_KEY_REVOKED"
606
+ };
607
+ if (k.expiresAt && k.expiresAt < Date.now()) return {
608
+ ok: false,
609
+ code: "API_KEY_EXPIRED"
610
+ };
611
+ const patchData = { lastUsedAt: Date.now() };
612
+ if (k.rateLimit) {
613
+ const { limited, newState } = checkKeyRateLimit(k.rateLimit, k.rateLimitState ?? void 0);
614
+ if (limited) return {
615
+ ok: false,
616
+ code: "API_KEY_RATE_LIMITED"
617
+ };
618
+ patchData.rateLimitState = newState;
619
+ }
620
+ await ctx.runMutation(config.component.public.keyPatch, {
621
+ keyId: k._id,
622
+ data: patchData
623
+ });
624
+ return {
625
+ ok: true,
626
+ userId: k.userId,
627
+ keyId: k._id,
628
+ scopes: buildScopeChecker(k.scopes)
629
+ };
630
+ },
631
+ list: async (ctx, opts) => {
632
+ return await ctx.runQuery(config.component.public.keyList, {
633
+ where: opts?.where,
634
+ limit: opts?.limit,
635
+ cursor: opts?.cursor,
636
+ orderBy: opts?.orderBy,
637
+ order: opts?.order
638
+ });
639
+ },
640
+ get: async (ctx, keyId) => {
641
+ const doc = await ctx.runQuery(config.component.public.keyGetById, { keyId });
642
+ if (!doc) return { ok: false };
643
+ return {
644
+ ok: true,
645
+ key: doc
646
+ };
647
+ },
648
+ update: async (ctx, keyId, data) => {
649
+ await ctx.runMutation(config.component.public.keyPatch, {
650
+ keyId,
651
+ data
652
+ });
653
+ return {
654
+ ok: true,
655
+ keyId
656
+ };
657
+ },
658
+ revoke: async (ctx, keyId) => {
659
+ await ctx.runMutation(config.component.public.keyPatch, {
660
+ keyId,
661
+ data: { revoked: true }
662
+ });
663
+ return {
664
+ ok: true,
665
+ keyId
666
+ };
667
+ },
668
+ delete: async (ctx, keyId) => {
669
+ await ctx.runMutation(config.component.public.keyDelete, { keyId });
670
+ return {
671
+ ok: true,
672
+ keyId
673
+ };
674
+ },
675
+ rotate: async (ctx, keyId, opts) => {
676
+ const existing = await ctx.runQuery(config.component.public.keyGetById, { keyId });
677
+ if (!existing) return {
678
+ ok: false,
679
+ code: "INVALID_PARAMETERS"
680
+ };
681
+ if (existing.revoked === true) return {
682
+ ok: false,
683
+ code: "API_KEY_REVOKED"
684
+ };
685
+ await ctx.runMutation(config.component.public.keyPatch, {
686
+ keyId,
687
+ data: { revoked: true }
688
+ });
689
+ return await key.create(ctx, {
690
+ userId: existing.userId,
691
+ name: opts?.name ?? existing.name,
692
+ scopes: existing.scopes ?? [],
693
+ rateLimit: existing.rateLimit,
694
+ expiresAt: opts?.expiresAt,
695
+ metadata: existing.metadata
696
+ });
697
+ }
698
+ };
699
+ return {
700
+ user,
701
+ session,
702
+ account,
703
+ provider,
704
+ group,
705
+ member,
706
+ invite,
707
+ key
708
+ };
709
+ }
710
+
711
+ //#endregion
712
+ export { createCoreDomains };
713
+ //# sourceMappingURL=core.js.map