@robelest/convex-auth 0.0.4-preview.18 → 0.0.4-preview.19

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 (541) hide show
  1. package/README.md +6 -3
  2. package/dist/authorization/index.d.ts +46 -0
  3. package/dist/authorization/index.d.ts.map +1 -1
  4. package/dist/authorization/index.js +46 -0
  5. package/dist/authorization/index.js.map +1 -1
  6. package/dist/bin.cjs +21 -13
  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 -16
  10. package/dist/client/index.d.ts.map +1 -1
  11. package/dist/client/index.js +67 -565
  12. package/dist/client/index.js.map +1 -1
  13. package/dist/component/_generated/api.d.ts +40 -12
  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 +1306 -1344
  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 -2
  20. package/dist/component/model.d.ts +80 -80
  21. package/dist/component/model.d.ts.map +1 -1
  22. package/dist/component/model.js +5 -1
  23. package/dist/component/model.js.map +1 -1
  24. package/dist/component/providers/credentials.d.ts +3 -2
  25. package/dist/component/providers/credentials.d.ts.map +1 -1
  26. package/dist/component/providers/email.d.ts +30 -0
  27. package/dist/component/providers/email.d.ts.map +1 -1
  28. package/dist/component/providers/phone.d.ts +28 -0
  29. package/dist/component/providers/phone.d.ts.map +1 -1
  30. package/dist/component/public/enterprise/audit.d.ts +73 -0
  31. package/dist/component/public/enterprise/audit.d.ts.map +1 -0
  32. package/dist/component/public/enterprise/audit.js +108 -0
  33. package/dist/component/public/enterprise/audit.js.map +1 -0
  34. package/dist/component/public/enterprise/core.d.ts +176 -0
  35. package/dist/component/public/enterprise/core.d.ts.map +1 -0
  36. package/dist/component/public/enterprise/core.js +292 -0
  37. package/dist/component/public/enterprise/core.js.map +1 -0
  38. package/dist/component/public/enterprise/domains.d.ts +174 -0
  39. package/dist/component/public/enterprise/domains.d.ts.map +1 -0
  40. package/dist/component/public/enterprise/domains.js +271 -0
  41. package/dist/component/public/enterprise/domains.js.map +1 -0
  42. package/dist/component/public/enterprise/scim.d.ts +245 -0
  43. package/dist/component/public/enterprise/scim.d.ts.map +1 -0
  44. package/dist/component/public/enterprise/scim.js +344 -0
  45. package/dist/component/public/enterprise/scim.js.map +1 -0
  46. package/dist/component/public/enterprise/secrets.d.ts +78 -0
  47. package/dist/component/public/enterprise/secrets.d.ts.map +1 -0
  48. package/dist/component/public/enterprise/secrets.js +118 -0
  49. package/dist/component/public/enterprise/secrets.js.map +1 -0
  50. package/dist/component/public/enterprise/webhooks.d.ts +211 -0
  51. package/dist/component/public/enterprise/webhooks.d.ts.map +1 -0
  52. package/dist/component/public/enterprise/webhooks.js +300 -0
  53. package/dist/component/public/enterprise/webhooks.js.map +1 -0
  54. package/dist/component/public/factors/devices.d.ts +157 -0
  55. package/dist/component/public/factors/devices.d.ts.map +1 -0
  56. package/dist/component/public/factors/devices.js +216 -0
  57. package/dist/component/public/factors/devices.js.map +1 -0
  58. package/dist/component/public/factors/passkeys.d.ts +175 -0
  59. package/dist/component/public/factors/passkeys.d.ts.map +1 -0
  60. package/dist/component/public/factors/passkeys.js +238 -0
  61. package/dist/component/public/factors/passkeys.js.map +1 -0
  62. package/dist/component/public/factors/totp.d.ts +189 -0
  63. package/dist/component/public/factors/totp.d.ts.map +1 -0
  64. package/dist/component/public/factors/totp.js +254 -0
  65. package/dist/component/public/factors/totp.js.map +1 -0
  66. package/dist/component/public/groups/core.d.ts +137 -0
  67. package/dist/component/public/groups/core.d.ts.map +1 -0
  68. package/dist/component/public/groups/core.js +321 -0
  69. package/dist/component/public/groups/core.js.map +1 -0
  70. package/dist/component/public/groups/invites.d.ts +217 -0
  71. package/dist/component/public/groups/invites.d.ts.map +1 -0
  72. package/dist/component/public/groups/invites.js +457 -0
  73. package/dist/component/public/groups/invites.js.map +1 -0
  74. package/dist/component/public/groups/members.d.ts +204 -0
  75. package/dist/component/public/groups/members.d.ts.map +1 -0
  76. package/dist/component/public/groups/members.js +355 -0
  77. package/dist/component/public/groups/members.js.map +1 -0
  78. package/dist/component/public/identity/accounts.d.ts +147 -0
  79. package/dist/component/public/identity/accounts.d.ts.map +1 -0
  80. package/dist/component/public/identity/accounts.js +200 -0
  81. package/dist/component/public/identity/accounts.js.map +1 -0
  82. package/dist/component/public/identity/codes.d.ts +104 -0
  83. package/dist/component/public/identity/codes.d.ts.map +1 -0
  84. package/dist/component/public/identity/codes.js +140 -0
  85. package/dist/component/public/identity/codes.js.map +1 -0
  86. package/dist/component/public/identity/sessions.d.ts +128 -0
  87. package/dist/component/public/identity/sessions.d.ts.map +1 -0
  88. package/dist/component/public/identity/sessions.js +192 -0
  89. package/dist/component/public/identity/sessions.js.map +1 -0
  90. package/dist/component/public/identity/tokens.d.ts +169 -0
  91. package/dist/component/public/identity/tokens.d.ts.map +1 -0
  92. package/dist/component/public/identity/tokens.js +227 -0
  93. package/dist/component/public/identity/tokens.js.map +1 -0
  94. package/dist/component/public/identity/users.d.ts +212 -0
  95. package/dist/component/public/identity/users.d.ts.map +1 -0
  96. package/dist/component/public/identity/users.js +311 -0
  97. package/dist/component/public/identity/users.js.map +1 -0
  98. package/dist/component/public/identity/verifiers.d.ts +116 -0
  99. package/dist/component/public/identity/verifiers.d.ts.map +1 -0
  100. package/dist/component/public/identity/verifiers.js +154 -0
  101. package/dist/component/public/identity/verifiers.js.map +1 -0
  102. package/dist/component/public/security/keys.d.ts +209 -0
  103. package/dist/component/public/security/keys.d.ts.map +1 -0
  104. package/dist/component/public/security/keys.js +319 -0
  105. package/dist/component/public/security/keys.js.map +1 -0
  106. package/dist/component/public/security/limits.d.ts +114 -0
  107. package/dist/component/public/security/limits.d.ts.map +1 -0
  108. package/dist/component/public/security/limits.js +169 -0
  109. package/dist/component/public/security/limits.js.map +1 -0
  110. package/dist/component/public.d.ts +22 -7
  111. package/dist/component/public.js +21 -6
  112. package/dist/component/schema.d.ts +288 -288
  113. package/dist/component/server/auth.d.ts +212 -25
  114. package/dist/component/server/auth.d.ts.map +1 -1
  115. package/dist/component/server/auth.js +68 -4
  116. package/dist/component/server/auth.js.map +1 -1
  117. package/dist/component/server/authError.js +34 -0
  118. package/dist/component/server/authError.js.map +1 -0
  119. package/dist/component/server/{providers.js → config.js} +2 -2
  120. package/dist/component/server/config.js.map +1 -0
  121. package/dist/component/server/{domains/core.js → core.js} +107 -88
  122. package/dist/component/server/core.js.map +1 -0
  123. package/dist/component/server/{provider.js → crypto.js} +3 -3
  124. package/dist/component/server/crypto.js.map +1 -0
  125. package/dist/component/server/device.js +1 -1
  126. package/dist/component/server/device.js.map +1 -1
  127. package/dist/component/server/enterprise/config.js +46 -0
  128. package/dist/component/server/enterprise/config.js.map +1 -0
  129. package/dist/component/server/{domains/sso.js → enterprise/domain.js} +6 -5
  130. package/dist/component/server/enterprise/domain.js.map +1 -0
  131. package/dist/component/server/enterprise/http.js +766 -0
  132. package/dist/component/server/enterprise/http.js.map +1 -0
  133. package/dist/component/server/enterprise/oidc.js +248 -0
  134. package/dist/component/server/enterprise/oidc.js.map +1 -0
  135. package/dist/component/server/enterprise/policy.js +85 -0
  136. package/dist/component/server/enterprise/policy.js.map +1 -0
  137. package/dist/component/server/enterprise/saml.js +338 -0
  138. package/dist/component/server/enterprise/saml.js.map +1 -0
  139. package/dist/component/server/enterprise/scim.js +97 -0
  140. package/dist/component/server/enterprise/scim.js.map +1 -0
  141. package/dist/component/server/enterprise/shared.js +51 -0
  142. package/dist/component/server/enterprise/shared.js.map +1 -0
  143. package/dist/component/server/errors.js.map +1 -1
  144. package/dist/component/server/http.js +2 -1
  145. package/dist/component/server/http.js.map +1 -1
  146. package/dist/component/server/identity.js +1 -1
  147. package/dist/component/server/identity.js.map +1 -1
  148. package/dist/component/server/{ratelimit.js → limits.js} +3 -3
  149. package/dist/component/server/limits.js.map +1 -0
  150. package/dist/component/server/mutations/account.js +3 -3
  151. package/dist/component/server/mutations/account.js.map +1 -1
  152. package/dist/component/server/mutations/code.js +2 -2
  153. package/dist/component/server/mutations/code.js.map +1 -1
  154. package/dist/component/server/mutations/invalidate.js +1 -1
  155. package/dist/component/server/mutations/invalidate.js.map +1 -1
  156. package/dist/component/server/mutations/oauth.js +5 -3
  157. package/dist/component/server/mutations/oauth.js.map +1 -1
  158. package/dist/component/server/mutations/refresh.js +1 -1
  159. package/dist/component/server/mutations/refresh.js.map +1 -1
  160. package/dist/component/server/mutations/register.js +3 -3
  161. package/dist/component/server/mutations/register.js.map +1 -1
  162. package/dist/component/server/mutations/retrieve.js +4 -4
  163. package/dist/component/server/mutations/retrieve.js.map +1 -1
  164. package/dist/component/server/mutations/signature.js +2 -2
  165. package/dist/component/server/mutations/signature.js.map +1 -1
  166. package/dist/component/server/mutations/signin.js +1 -1
  167. package/dist/component/server/mutations/signin.js.map +1 -1
  168. package/dist/component/server/mutations/signout.js +1 -1
  169. package/dist/component/server/mutations/signout.js.map +1 -1
  170. package/dist/component/server/mutations/store/refs.js +15 -0
  171. package/dist/component/server/mutations/store/refs.js.map +1 -0
  172. package/dist/component/server/mutations/store.js +80 -10
  173. package/dist/component/server/mutations/store.js.map +1 -1
  174. package/dist/component/server/mutations/verifier.js +1 -1
  175. package/dist/component/server/mutations/verifier.js.map +1 -1
  176. package/dist/component/server/mutations/verify.js +4 -3
  177. package/dist/component/server/mutations/verify.js.map +1 -1
  178. package/dist/component/server/oauth.js +1 -1
  179. package/dist/component/server/oauth.js.map +1 -1
  180. package/dist/component/server/passkey.js +2 -1
  181. package/dist/component/server/passkey.js.map +1 -1
  182. package/dist/component/server/redirects.js +1 -1
  183. package/dist/component/server/redirects.js.map +1 -1
  184. package/dist/component/server/refresh.js +1 -1
  185. package/dist/component/server/refresh.js.map +1 -1
  186. package/dist/component/server/{factory.d.ts → runtime.d.ts} +2 -2
  187. package/dist/component/server/runtime.d.ts.map +1 -0
  188. package/dist/component/server/runtime.js +413 -0
  189. package/dist/component/server/runtime.js.map +1 -0
  190. package/dist/component/server/signin.js +2 -1
  191. package/dist/component/server/signin.js.map +1 -1
  192. package/dist/component/server/totp.js +2 -1
  193. package/dist/component/server/totp.js.map +1 -1
  194. package/dist/component/server/types.d.ts +225 -41
  195. package/dist/component/server/types.d.ts.map +1 -1
  196. package/dist/component/server/types.js.map +1 -1
  197. package/dist/component/server/users.js +1 -1
  198. package/dist/component/server/users.js.map +1 -1
  199. package/dist/component/server/utils.js +1 -1
  200. package/dist/component/server/utils.js.map +1 -1
  201. package/dist/core/types.d.ts +369 -0
  202. package/dist/core/types.d.ts.map +1 -0
  203. package/dist/factors/device.js +105 -0
  204. package/dist/factors/device.js.map +1 -0
  205. package/dist/factors/passkey.js +181 -0
  206. package/dist/factors/passkey.js.map +1 -0
  207. package/dist/factors/totp.js +122 -0
  208. package/dist/factors/totp.js.map +1 -0
  209. package/dist/providers/credentials.d.ts +5 -2
  210. package/dist/providers/credentials.d.ts.map +1 -1
  211. package/dist/providers/credentials.js +2 -0
  212. package/dist/providers/credentials.js.map +1 -1
  213. package/dist/providers/email.d.ts +30 -0
  214. package/dist/providers/email.d.ts.map +1 -1
  215. package/dist/providers/email.js +24 -0
  216. package/dist/providers/email.js.map +1 -1
  217. package/dist/providers/phone.d.ts +28 -0
  218. package/dist/providers/phone.d.ts.map +1 -1
  219. package/dist/providers/phone.js +22 -0
  220. package/dist/providers/phone.js.map +1 -1
  221. package/dist/runtime/browser.js +68 -0
  222. package/dist/runtime/browser.js.map +1 -0
  223. package/dist/runtime/invite.js +51 -0
  224. package/dist/runtime/invite.js.map +1 -0
  225. package/dist/runtime/proxy.js +70 -0
  226. package/dist/runtime/proxy.js.map +1 -0
  227. package/dist/runtime/storage.js +37 -0
  228. package/dist/runtime/storage.js.map +1 -0
  229. package/dist/server/auth.d.ts +218 -28
  230. package/dist/server/auth.d.ts.map +1 -1
  231. package/dist/server/auth.js +68 -4
  232. package/dist/server/auth.js.map +1 -1
  233. package/dist/server/{fx.d.ts → authError.d.ts} +25 -15
  234. package/dist/server/authError.d.ts.map +1 -0
  235. package/dist/server/authError.js +34 -0
  236. package/dist/server/authError.js.map +1 -0
  237. package/dist/server/{providers.js → config.js} +2 -2
  238. package/dist/server/config.js.map +1 -0
  239. package/dist/server/core.d.ts +1436 -0
  240. package/dist/server/core.d.ts.map +1 -0
  241. package/dist/server/{domains/core.js → core.js} +107 -88
  242. package/dist/server/core.js.map +1 -0
  243. package/dist/server/{provider.d.ts → crypto.d.ts} +2 -2
  244. package/dist/server/crypto.d.ts.map +1 -0
  245. package/dist/server/{provider.js → crypto.js} +3 -3
  246. package/dist/{component/server/provider.js.map → server/crypto.js.map} +1 -1
  247. package/dist/server/device.js +1 -1
  248. package/dist/server/device.js.map +1 -1
  249. package/dist/server/enterprise/config.js +46 -0
  250. package/dist/server/enterprise/config.js.map +1 -0
  251. package/dist/server/{domains/sso.d.ts → enterprise/domain.d.ts} +4 -4
  252. package/dist/server/enterprise/domain.d.ts.map +1 -0
  253. package/dist/server/{domains/sso.js → enterprise/domain.js} +6 -5
  254. package/dist/server/enterprise/domain.js.map +1 -0
  255. package/dist/server/enterprise/http.d.ts +26 -0
  256. package/dist/server/enterprise/http.d.ts.map +1 -0
  257. package/dist/server/enterprise/http.js +766 -0
  258. package/dist/server/enterprise/http.js.map +1 -0
  259. package/dist/server/enterprise/oidc.js +248 -0
  260. package/dist/server/enterprise/oidc.js.map +1 -0
  261. package/dist/server/enterprise/policy.js +85 -0
  262. package/dist/server/enterprise/policy.js.map +1 -0
  263. package/dist/server/enterprise/saml.d.ts +1 -0
  264. package/dist/server/enterprise/saml.js +338 -0
  265. package/dist/server/enterprise/saml.js.map +1 -0
  266. package/dist/server/enterprise/scim.d.ts +1 -0
  267. package/dist/server/enterprise/scim.js +97 -0
  268. package/dist/server/enterprise/scim.js.map +1 -0
  269. package/dist/server/enterprise/shared.d.ts +5 -0
  270. package/dist/server/enterprise/shared.d.ts.map +1 -0
  271. package/dist/server/enterprise/shared.js +51 -0
  272. package/dist/server/enterprise/shared.js.map +1 -0
  273. package/dist/server/enterprise/validators.d.ts +1 -0
  274. package/dist/server/{enterpriseValidators.js → enterprise/validators.js} +2 -2
  275. package/dist/server/enterprise/validators.js.map +1 -0
  276. package/dist/server/errors.d.ts +2 -0
  277. package/dist/server/errors.d.ts.map +1 -1
  278. package/dist/server/errors.js +2 -0
  279. package/dist/server/errors.js.map +1 -1
  280. package/dist/server/http.d.ts +2 -2
  281. package/dist/server/http.d.ts.map +1 -1
  282. package/dist/server/http.js +2 -1
  283. package/dist/server/http.js.map +1 -1
  284. package/dist/server/identity.js +1 -1
  285. package/dist/server/identity.js.map +1 -1
  286. package/dist/server/index.d.ts +4 -705
  287. package/dist/server/index.js +4 -1367
  288. package/dist/server/limits.d.ts +1 -0
  289. package/dist/server/{ratelimit.js → limits.js} +3 -3
  290. package/dist/server/limits.js.map +1 -0
  291. package/dist/server/mounts.d.ts +647 -0
  292. package/dist/server/mounts.d.ts.map +1 -0
  293. package/dist/server/mounts.js +643 -0
  294. package/dist/server/mounts.js.map +1 -0
  295. package/dist/server/mutations/account.d.ts +8 -8
  296. package/dist/server/mutations/account.js +3 -3
  297. package/dist/server/mutations/account.js.map +1 -1
  298. package/dist/server/mutations/code.d.ts +13 -13
  299. package/dist/server/mutations/code.js +2 -2
  300. package/dist/server/mutations/code.js.map +1 -1
  301. package/dist/server/mutations/index.d.ts +8 -312
  302. package/dist/server/mutations/index.js +14 -84
  303. package/dist/server/mutations/invalidate.d.ts +5 -5
  304. package/dist/server/mutations/invalidate.d.ts.map +1 -1
  305. package/dist/server/mutations/invalidate.js +1 -1
  306. package/dist/server/mutations/invalidate.js.map +1 -1
  307. package/dist/server/mutations/oauth.d.ts +9 -9
  308. package/dist/server/mutations/oauth.d.ts.map +1 -1
  309. package/dist/server/mutations/oauth.js +5 -3
  310. package/dist/server/mutations/oauth.js.map +1 -1
  311. package/dist/server/mutations/refresh.d.ts +4 -4
  312. package/dist/server/mutations/refresh.js +1 -1
  313. package/dist/server/mutations/refresh.js.map +1 -1
  314. package/dist/server/mutations/register.d.ts +10 -10
  315. package/dist/server/mutations/register.d.ts.map +1 -1
  316. package/dist/server/mutations/register.js +3 -3
  317. package/dist/server/mutations/register.js.map +1 -1
  318. package/dist/server/mutations/retrieve.d.ts +8 -10
  319. package/dist/server/mutations/retrieve.d.ts.map +1 -1
  320. package/dist/server/mutations/retrieve.js +5 -7
  321. package/dist/server/mutations/retrieve.js.map +1 -1
  322. package/dist/server/mutations/signature.d.ts +6 -6
  323. package/dist/server/mutations/signature.d.ts.map +1 -1
  324. package/dist/server/mutations/signature.js +2 -2
  325. package/dist/server/mutations/signature.js.map +1 -1
  326. package/dist/server/mutations/signin.d.ts +1 -1
  327. package/dist/server/mutations/signin.js +1 -1
  328. package/dist/server/mutations/signin.js.map +1 -1
  329. package/dist/server/mutations/signout.d.ts +1 -1
  330. package/dist/server/mutations/signout.js +1 -1
  331. package/dist/server/mutations/signout.js.map +1 -1
  332. package/dist/server/mutations/store/refs.d.ts +12 -0
  333. package/dist/server/mutations/store/refs.d.ts.map +1 -0
  334. package/dist/server/mutations/store/refs.js +15 -0
  335. package/dist/server/mutations/store/refs.js.map +1 -0
  336. package/dist/server/mutations/store.d.ts +303 -9
  337. package/dist/server/mutations/store.d.ts.map +1 -1
  338. package/dist/server/mutations/store.js +80 -10
  339. package/dist/server/mutations/store.js.map +1 -1
  340. package/dist/server/mutations/verifier.d.ts +1 -1
  341. package/dist/server/mutations/verifier.js +1 -1
  342. package/dist/server/mutations/verifier.js.map +1 -1
  343. package/dist/server/mutations/verify.d.ts +8 -8
  344. package/dist/server/mutations/verify.d.ts.map +1 -1
  345. package/dist/server/mutations/verify.js +4 -3
  346. package/dist/server/mutations/verify.js.map +1 -1
  347. package/dist/server/oauth.js +1 -1
  348. package/dist/server/oauth.js.map +1 -1
  349. package/dist/server/passkey.d.ts +2 -2
  350. package/dist/server/passkey.d.ts.map +1 -1
  351. package/dist/server/passkey.js +3 -2
  352. package/dist/server/passkey.js.map +1 -1
  353. package/dist/server/redirects.js +1 -1
  354. package/dist/server/redirects.js.map +1 -1
  355. package/dist/server/refresh.js +1 -1
  356. package/dist/server/refresh.js.map +1 -1
  357. package/dist/server/{factory.d.ts → runtime.d.ts} +16 -16
  358. package/dist/server/runtime.d.ts.map +1 -0
  359. package/dist/server/runtime.js +413 -0
  360. package/dist/server/runtime.js.map +1 -0
  361. package/dist/server/signin.js +3 -2
  362. package/dist/server/signin.js.map +1 -1
  363. package/dist/server/ssr.d.ts +226 -0
  364. package/dist/server/ssr.d.ts.map +1 -0
  365. package/dist/server/ssr.js +786 -0
  366. package/dist/server/ssr.js.map +1 -0
  367. package/dist/server/totp.js +2 -1
  368. package/dist/server/totp.js.map +1 -1
  369. package/dist/server/types.d.ts +242 -42
  370. package/dist/server/types.d.ts.map +1 -1
  371. package/dist/server/types.js +12 -1
  372. package/dist/server/types.js.map +1 -1
  373. package/dist/server/users.js +1 -1
  374. package/dist/server/users.js.map +1 -1
  375. package/dist/server/utils.js +1 -1
  376. package/dist/server/utils.js.map +1 -1
  377. package/package.json +3 -4
  378. package/src/authorization/index.ts +46 -0
  379. package/src/cli/index.ts +38 -20
  380. package/src/client/core/types.ts +437 -0
  381. package/src/client/factors/device.ts +160 -0
  382. package/src/client/factors/passkey.ts +282 -0
  383. package/src/client/factors/totp.ts +150 -0
  384. package/src/client/index.ts +133 -1267
  385. package/src/client/runtime/browser.ts +112 -0
  386. package/src/client/runtime/invite.ts +65 -0
  387. package/src/client/runtime/proxy.ts +111 -0
  388. package/src/client/runtime/storage.ts +79 -0
  389. package/src/component/_generated/api.ts +40 -12
  390. package/src/component/_generated/component.ts +1772 -1798
  391. package/src/component/model.ts +6 -0
  392. package/src/component/public/enterprise/audit.ts +120 -0
  393. package/src/component/public/enterprise/core.ts +354 -0
  394. package/src/component/public/enterprise/domains.ts +323 -0
  395. package/src/component/public/enterprise/scim.ts +396 -0
  396. package/src/component/public/enterprise/secrets.ts +132 -0
  397. package/src/component/public/enterprise/webhooks.ts +306 -0
  398. package/src/component/public/factors/devices.ts +223 -0
  399. package/src/component/public/factors/passkeys.ts +242 -0
  400. package/src/component/public/factors/totp.ts +258 -0
  401. package/src/component/public/groups/core.ts +481 -0
  402. package/src/component/public/groups/invites.ts +602 -0
  403. package/src/component/public/groups/members.ts +409 -0
  404. package/src/component/public/identity/accounts.ts +206 -0
  405. package/src/component/public/identity/codes.ts +148 -0
  406. package/src/component/public/identity/sessions.ts +209 -0
  407. package/src/component/public/identity/tokens.ts +250 -0
  408. package/src/component/public/identity/users.ts +354 -0
  409. package/src/component/public/identity/verifiers.ts +157 -0
  410. package/src/component/public/security/keys.ts +365 -0
  411. package/src/component/public/security/limits.ts +173 -0
  412. package/src/component/public.ts +27 -5
  413. package/src/providers/credentials.ts +4 -5
  414. package/src/providers/email.ts +30 -0
  415. package/src/providers/phone.ts +28 -0
  416. package/src/server/auth.ts +282 -28
  417. package/src/server/authError.ts +44 -0
  418. package/src/server/core.ts +2095 -0
  419. package/src/server/{provider.ts → crypto.ts} +1 -1
  420. package/src/server/device.ts +1 -1
  421. package/src/server/enterprise/config.ts +51 -0
  422. package/src/server/{domains/sso.ts → enterprise/domain.ts} +4 -2
  423. package/src/server/enterprise/http.ts +1324 -0
  424. package/src/server/enterprise/oidc.ts +500 -0
  425. package/src/server/enterprise/policy.ts +128 -0
  426. package/src/server/enterprise/saml.ts +578 -0
  427. package/src/server/enterprise/scim.ts +135 -0
  428. package/src/server/enterprise/shared.ts +134 -0
  429. package/src/server/errors.ts +2 -0
  430. package/src/server/http.ts +3 -1
  431. package/src/server/identity.ts +1 -1
  432. package/src/server/index.ts +32 -2605
  433. package/src/server/{ratelimit.ts → limits.ts} +1 -1
  434. package/src/server/mounts.ts +948 -0
  435. package/src/server/mutations/account.ts +4 -4
  436. package/src/server/mutations/code.ts +3 -3
  437. package/src/server/mutations/index.ts +8 -148
  438. package/src/server/mutations/invalidate.ts +2 -2
  439. package/src/server/mutations/oauth.ts +8 -6
  440. package/src/server/mutations/refresh.ts +3 -3
  441. package/src/server/mutations/register.ts +3 -3
  442. package/src/server/mutations/retrieve.ts +4 -8
  443. package/src/server/mutations/signature.ts +3 -3
  444. package/src/server/mutations/signin.ts +2 -2
  445. package/src/server/mutations/signout.ts +2 -2
  446. package/src/server/mutations/store/refs.ts +10 -0
  447. package/src/server/mutations/store.ts +137 -9
  448. package/src/server/mutations/verifier.ts +2 -2
  449. package/src/server/mutations/verify.ts +5 -5
  450. package/src/server/oauth.ts +1 -1
  451. package/src/server/passkey.ts +3 -4
  452. package/src/server/redirects.ts +1 -1
  453. package/src/server/refresh.ts +1 -1
  454. package/src/server/runtime.ts +880 -0
  455. package/src/server/signin.ts +3 -1
  456. package/src/server/ssr.ts +1764 -0
  457. package/src/server/totp.ts +3 -1
  458. package/src/server/types.ts +254 -43
  459. package/src/server/users.ts +1 -1
  460. package/src/server/utils.ts +1 -1
  461. package/src/test.ts +25 -0
  462. package/dist/component/public/enterprise.d.ts +0 -54
  463. package/dist/component/public/enterprise.d.ts.map +0 -1
  464. package/dist/component/public/enterprise.js +0 -515
  465. package/dist/component/public/enterprise.js.map +0 -1
  466. package/dist/component/public/factors.d.ts +0 -52
  467. package/dist/component/public/factors.d.ts.map +0 -1
  468. package/dist/component/public/factors.js +0 -285
  469. package/dist/component/public/factors.js.map +0 -1
  470. package/dist/component/public/groups.d.ts +0 -124
  471. package/dist/component/public/groups.d.ts.map +0 -1
  472. package/dist/component/public/groups.js +0 -680
  473. package/dist/component/public/groups.js.map +0 -1
  474. package/dist/component/public/identity.d.ts +0 -93
  475. package/dist/component/public/identity.d.ts.map +0 -1
  476. package/dist/component/public/identity.js +0 -426
  477. package/dist/component/public/identity.js.map +0 -1
  478. package/dist/component/public/keys.d.ts +0 -41
  479. package/dist/component/public/keys.d.ts.map +0 -1
  480. package/dist/component/public/keys.js +0 -157
  481. package/dist/component/public/keys.js.map +0 -1
  482. package/dist/component/public/shared.d.ts +0 -26
  483. package/dist/component/public/shared.d.ts.map +0 -1
  484. package/dist/component/public/shared.js +0 -32
  485. package/dist/component/public/shared.js.map +0 -1
  486. package/dist/component/server/domains/core.js.map +0 -1
  487. package/dist/component/server/domains/sso.js.map +0 -1
  488. package/dist/component/server/factory.d.ts.map +0 -1
  489. package/dist/component/server/factory.js +0 -1134
  490. package/dist/component/server/factory.js.map +0 -1
  491. package/dist/component/server/fx.js +0 -66
  492. package/dist/component/server/fx.js.map +0 -1
  493. package/dist/component/server/mutations/index.js +0 -85
  494. package/dist/component/server/mutations/index.js.map +0 -1
  495. package/dist/component/server/providers.js.map +0 -1
  496. package/dist/component/server/ratelimit.js.map +0 -1
  497. package/dist/component/server/sso.js +0 -830
  498. package/dist/component/server/sso.js.map +0 -1
  499. package/dist/server/domains/core.d.ts +0 -449
  500. package/dist/server/domains/core.d.ts.map +0 -1
  501. package/dist/server/domains/core.js.map +0 -1
  502. package/dist/server/domains/sso.d.ts.map +0 -1
  503. package/dist/server/domains/sso.js.map +0 -1
  504. package/dist/server/enterpriseValidators.js.map +0 -1
  505. package/dist/server/factory.d.ts.map +0 -1
  506. package/dist/server/factory.js +0 -1134
  507. package/dist/server/factory.js.map +0 -1
  508. package/dist/server/fx.d.ts.map +0 -1
  509. package/dist/server/fx.js +0 -66
  510. package/dist/server/fx.js.map +0 -1
  511. package/dist/server/index.d.ts.map +0 -1
  512. package/dist/server/index.js.map +0 -1
  513. package/dist/server/mutations/index.d.ts.map +0 -1
  514. package/dist/server/mutations/index.js.map +0 -1
  515. package/dist/server/provider.d.ts.map +0 -1
  516. package/dist/server/provider.js.map +0 -1
  517. package/dist/server/providers.js.map +0 -1
  518. package/dist/server/ratelimit.js.map +0 -1
  519. package/dist/server/sso.js +0 -830
  520. package/dist/server/sso.js.map +0 -1
  521. package/dist/server/version.d.ts +0 -5
  522. package/dist/server/version.d.ts.map +0 -1
  523. package/dist/server/version.js +0 -6
  524. package/dist/server/version.js.map +0 -1
  525. package/src/component/public/enterprise.ts +0 -753
  526. package/src/component/public/factors.ts +0 -333
  527. package/src/component/public/groups.ts +0 -1066
  528. package/src/component/public/identity.ts +0 -569
  529. package/src/component/public/keys.ts +0 -209
  530. package/src/component/public/shared.ts +0 -119
  531. package/src/server/domains/core.ts +0 -1096
  532. package/src/server/factory.ts +0 -2181
  533. package/src/server/fx.ts +0 -152
  534. package/src/server/sso.ts +0 -1516
  535. package/src/server/version.ts +0 -2
  536. /package/dist/server/{enterpriseValidators.d.ts → config.d.ts} +0 -0
  537. /package/dist/server/{providers.d.ts → enterprise/config.d.ts} +0 -0
  538. /package/dist/server/{ratelimit.d.ts → enterprise/oidc.d.ts} +0 -0
  539. /package/dist/server/{sso.d.ts → enterprise/policy.d.ts} +0 -0
  540. /package/src/server/{providers.ts → config.ts} +0 -0
  541. /package/src/server/{enterpriseValidators.ts → enterprise/validators.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","names":[],"sources":["../../../src/providers/email.ts"],"mappings":";;AASA;;;;UAAiB,mBAAA;EAIf;EAFA,IAAA;EAIU;EAFV,IAAA,GACE,GAAA,OACA,IAAA;IAAQ,IAAA;IAAc,EAAA;IAAY,OAAA;IAAiB,IAAA;EAAA,MAChD,OAAA;EAE6B;EAAlC,yBAAA,SAAkC,OAAA;EAIlC;EAFA,EAAA;EAEM;EAAN,MAAA;AAAA;AAAA,cAGW,KAAA;EAAA,SAIiB,MAAA,EAAQ,mBAAA;EAAA,SAH3B,EAAA;EAAA,SACA,IAAA;cAEmB,MAAA,EAAQ,mBAAA;AAAA"}
1
+ {"version":3,"file":"email.d.ts","names":[],"sources":["../../../src/providers/email.ts"],"mappings":";;AAeA;;;;;;;;;;UAAiB,mBAAA;EAMb;EAJF,IAAA;EAOA;EALA,IAAA,GACE,GAAA,OACA,IAAA;IAAQ,IAAA;IAAc,EAAA;IAAY,OAAA;IAAiB,IAAA;EAAA,MAChD,OAAA;EA2BW;EAzBhB,yBAAA,SAAkC,OAAA;EAmCqB;EAjCvD,EAAA;EAiCoC;EA/BpC,MAAA;AAAA;;;;;;;;;;;;;;;;;;;cAqBW,KAAA;EAAA,SAUiB,MAAA,EAAQ,mBAAA;EAAA,SAT3B,EAAA;EAAA,SACA,IAAA;;;;;;;cAQmB,MAAA,EAAQ,mBAAA;AAAA"}
@@ -1,6 +1,12 @@
1
1
  import { PhoneConfig } from "../server/types.js";
2
2
 
3
3
  //#region src/providers/phone.d.ts
4
+ /**
5
+ * User-facing configuration for the {@link Phone} provider.
6
+ *
7
+ * Use this to send SMS or other phone-based verification messages during
8
+ * sign-in.
9
+ */
4
10
  interface PhoneProviderConfig {
5
11
  /** Send the verification code to the user's phone. */
6
12
  send: PhoneConfig["sendVerificationRequest"];
@@ -9,10 +15,32 @@ interface PhoneProviderConfig {
9
15
  /** Token expiration in seconds. Defaults to 1200 (20 minutes). */
10
16
  maxAge?: number;
11
17
  }
18
+ /**
19
+ * Phone provider for SMS or phone-number verification flows.
20
+ *
21
+ * Wraps your `send()` implementation and materializes the runtime behavior
22
+ * Convex Auth needs for short-code or magic-link-style phone verification.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * import { Phone } from "@robelest/convex-auth/providers";
27
+ *
28
+ * const phone = new Phone({
29
+ * send: async ({ identifier, token }) => {
30
+ * await sms.send({ to: identifier, body: `Your sign-in code is ${token}` });
31
+ * },
32
+ * });
33
+ * ```
34
+ */
12
35
  declare class Phone {
13
36
  readonly config: PhoneProviderConfig;
14
37
  readonly id: string;
15
38
  readonly type: "phone";
39
+ /**
40
+ * Create a phone provider instance.
41
+ *
42
+ * @param config - Phone delivery and provider settings.
43
+ */
16
44
  constructor(config: PhoneProviderConfig);
17
45
  }
18
46
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"phone.d.ts","names":[],"sources":["../../../src/providers/phone.ts"],"mappings":";;;UAUiB,mBAAA;EAEf;EAAA,IAAA,EAAM,WAAA;EAEN;EAAA,EAAA;EAEM;EAAN,MAAA;AAAA;AAAA,cAGW,KAAA;EAAA,SAIiB,MAAA,EAAQ,mBAAA;EAAA,SAH3B,EAAA;EAAA,SACA,IAAA;cAEmB,MAAA,EAAQ,mBAAA;AAAA"}
1
+ {"version":3,"file":"phone.d.ts","names":[],"sources":["../../../src/providers/phone.ts"],"mappings":";;;;;;;;;UAgBiB,mBAAA;EA0BJ;EAxBX,IAAA,EAAM,WAAA;;EAEN,EAAA;EA+B4B;EA7B5B,MAAA;AAAA;;;;;;;;;;;;;;;;;;cAoBW,KAAA;EAAA,SASiB,MAAA,EAAQ,mBAAA;EAAA,SAR3B,EAAA;EAAA,SACA,IAAA;;;;;;cAOmB,MAAA,EAAQ,mBAAA;AAAA"}
@@ -0,0 +1,73 @@
1
+ declare namespace audit_d_exports {
2
+ export { enterpriseAuditEventCreate, enterpriseAuditEventList };
3
+ }
4
+ /**
5
+ * Record a new audit event for an enterprise.
6
+ *
7
+ * Inserts an immutable audit log entry capturing who performed what action,
8
+ * on which subject, and whether it succeeded or failed. Use this to maintain
9
+ * a tamper-evident trail of security-relevant events.
10
+ *
11
+ * @param args.enterpriseId - The ID of the enterprise this event belongs to.
12
+ * @param args.groupId - The ID of the root group that owns the enterprise.
13
+ * @param args.eventType - A string identifying the type of event (e.g. `"user.login"`, `"scim.provision"`).
14
+ * @param args.actorType - The kind of actor: `"user"`, `"system"`, `"scim"`, `"api_key"`, or `"webhook"`.
15
+ * @param args.actorId - An optional identifier for the actor (e.g. a user ID or API key ID).
16
+ * @param args.subjectType - The type of the resource being acted upon (e.g. `"user"`, `"group"`).
17
+ * @param args.subjectId - An optional identifier for the subject resource.
18
+ * @param args.status - Whether the event represents a `"success"` or `"failure"`.
19
+ * @param args.occurredAt - Epoch timestamp (ms) when the event occurred.
20
+ * @param args.requestId - An optional correlation ID tying this event to a specific request.
21
+ * @param args.ip - An optional IP address of the actor.
22
+ * @param args.metadata - An optional arbitrary object with additional event details.
23
+ * @returns The ID of the newly created `EnterpriseAuditEvent` document.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const eventId = await ctx.runMutation(
28
+ * components.auth.enterprise.enterpriseAuditEventCreate,
29
+ * {
30
+ * enterpriseId,
31
+ * groupId: orgGroupId,
32
+ * eventType: "user.login",
33
+ * actorType: "user",
34
+ * actorId: userId,
35
+ * subjectType: "session",
36
+ * subjectId: sessionId,
37
+ * status: "success",
38
+ * occurredAt: Date.now(),
39
+ * ip: "203.0.113.42",
40
+ * },
41
+ * );
42
+ * ```
43
+ */
44
+ declare const enterpriseAuditEventCreate: any;
45
+ /**
46
+ * List audit events, optionally filtered by enterprise or group.
47
+ *
48
+ * Returns audit events in reverse chronological order. When `enterpriseId` is
49
+ * provided, events are filtered using the `enterprise_id_occurred_at` index.
50
+ * When only `groupId` is provided, the `group_id_occurred_at` index is used.
51
+ * If neither filter is given, the most recent events across all enterprises
52
+ * are returned.
53
+ *
54
+ * @param args.enterpriseId - An optional enterprise ID to scope events to a single enterprise.
55
+ * @param args.groupId - An optional group ID to scope events to a single group.
56
+ * @param args.limit - Maximum number of events to return (clamped between 1 and 100, defaults to 50).
57
+ * @returns An array of audit event documents, most recent first.
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * const events = await ctx.runQuery(
62
+ * components.auth.enterprise.enterpriseAuditEventList,
63
+ * { enterpriseId, limit: 20 },
64
+ * );
65
+ * for (const event of events) {
66
+ * console.log(event.eventType, event.actorType, event.status);
67
+ * }
68
+ * ```
69
+ */
70
+ declare const enterpriseAuditEventList: any;
71
+ //#endregion
72
+ export { audit_d_exports, enterpriseAuditEventCreate, enterpriseAuditEventList };
73
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","names":[],"sources":["../../../../src/component/public/enterprise/audit.ts"],"mappings":";;;;;;;;;;AA4CA;;;;;AA8CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA9Ca,0BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;cA8CA,wBAAA"}
@@ -0,0 +1,108 @@
1
+ import { mutation, query } from "../../functions.js";
2
+ import { vAuditActorType, vAuditStatus, vEnterpriseAuditEventDoc } from "../../model.js";
3
+ import { v } from "convex/values";
4
+
5
+ //#region src/component/public/enterprise/audit.ts
6
+ /**
7
+ * Record a new audit event for an enterprise.
8
+ *
9
+ * Inserts an immutable audit log entry capturing who performed what action,
10
+ * on which subject, and whether it succeeded or failed. Use this to maintain
11
+ * a tamper-evident trail of security-relevant events.
12
+ *
13
+ * @param args.enterpriseId - The ID of the enterprise this event belongs to.
14
+ * @param args.groupId - The ID of the root group that owns the enterprise.
15
+ * @param args.eventType - A string identifying the type of event (e.g. `"user.login"`, `"scim.provision"`).
16
+ * @param args.actorType - The kind of actor: `"user"`, `"system"`, `"scim"`, `"api_key"`, or `"webhook"`.
17
+ * @param args.actorId - An optional identifier for the actor (e.g. a user ID or API key ID).
18
+ * @param args.subjectType - The type of the resource being acted upon (e.g. `"user"`, `"group"`).
19
+ * @param args.subjectId - An optional identifier for the subject resource.
20
+ * @param args.status - Whether the event represents a `"success"` or `"failure"`.
21
+ * @param args.occurredAt - Epoch timestamp (ms) when the event occurred.
22
+ * @param args.requestId - An optional correlation ID tying this event to a specific request.
23
+ * @param args.ip - An optional IP address of the actor.
24
+ * @param args.metadata - An optional arbitrary object with additional event details.
25
+ * @returns The ID of the newly created `EnterpriseAuditEvent` document.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const eventId = await ctx.runMutation(
30
+ * components.auth.enterprise.enterpriseAuditEventCreate,
31
+ * {
32
+ * enterpriseId,
33
+ * groupId: orgGroupId,
34
+ * eventType: "user.login",
35
+ * actorType: "user",
36
+ * actorId: userId,
37
+ * subjectType: "session",
38
+ * subjectId: sessionId,
39
+ * status: "success",
40
+ * occurredAt: Date.now(),
41
+ * ip: "203.0.113.42",
42
+ * },
43
+ * );
44
+ * ```
45
+ */
46
+ const enterpriseAuditEventCreate = mutation({
47
+ args: {
48
+ enterpriseId: v.id("Enterprise"),
49
+ groupId: v.id("Group"),
50
+ eventType: v.string(),
51
+ actorType: vAuditActorType,
52
+ actorId: v.optional(v.string()),
53
+ subjectType: v.string(),
54
+ subjectId: v.optional(v.string()),
55
+ status: vAuditStatus,
56
+ occurredAt: v.number(),
57
+ requestId: v.optional(v.string()),
58
+ ip: v.optional(v.string()),
59
+ metadata: v.optional(v.any())
60
+ },
61
+ returns: v.id("EnterpriseAuditEvent"),
62
+ handler: async (ctx, args) => {
63
+ return await ctx.db.insert("EnterpriseAuditEvent", args);
64
+ }
65
+ });
66
+ /**
67
+ * List audit events, optionally filtered by enterprise or group.
68
+ *
69
+ * Returns audit events in reverse chronological order. When `enterpriseId` is
70
+ * provided, events are filtered using the `enterprise_id_occurred_at` index.
71
+ * When only `groupId` is provided, the `group_id_occurred_at` index is used.
72
+ * If neither filter is given, the most recent events across all enterprises
73
+ * are returned.
74
+ *
75
+ * @param args.enterpriseId - An optional enterprise ID to scope events to a single enterprise.
76
+ * @param args.groupId - An optional group ID to scope events to a single group.
77
+ * @param args.limit - Maximum number of events to return (clamped between 1 and 100, defaults to 50).
78
+ * @returns An array of audit event documents, most recent first.
79
+ *
80
+ * @example
81
+ * ```ts
82
+ * const events = await ctx.runQuery(
83
+ * components.auth.enterprise.enterpriseAuditEventList,
84
+ * { enterpriseId, limit: 20 },
85
+ * );
86
+ * for (const event of events) {
87
+ * console.log(event.eventType, event.actorType, event.status);
88
+ * }
89
+ * ```
90
+ */
91
+ const enterpriseAuditEventList = query({
92
+ args: {
93
+ enterpriseId: v.optional(v.id("Enterprise")),
94
+ groupId: v.optional(v.id("Group")),
95
+ limit: v.optional(v.number())
96
+ },
97
+ returns: v.array(vEnterpriseAuditEventDoc),
98
+ handler: async (ctx, args) => {
99
+ const limit = Math.min(Math.max(args.limit ?? 50, 1), 100);
100
+ if (args.enterpriseId !== void 0) return await ctx.db.query("EnterpriseAuditEvent").withIndex("enterprise_id_occurred_at", (idx) => idx.eq("enterpriseId", args.enterpriseId)).order("desc").take(limit);
101
+ if (args.groupId !== void 0) return await ctx.db.query("EnterpriseAuditEvent").withIndex("group_id_occurred_at", (idx) => idx.eq("groupId", args.groupId)).order("desc").take(limit);
102
+ return await ctx.db.query("EnterpriseAuditEvent").order("desc").take(limit);
103
+ }
104
+ });
105
+
106
+ //#endregion
107
+ export { enterpriseAuditEventCreate, enterpriseAuditEventList };
108
+ //# sourceMappingURL=audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.js","names":[],"sources":["../../../../src/component/public/enterprise/audit.ts"],"sourcesContent":["import { v } from \"convex/values\";\nimport { mutation, query } from \"../../functions\";\nimport { vAuditActorType, vAuditStatus, vEnterpriseAuditEventDoc } from \"../../model\";\n\n/**\n * Record a new audit event for an enterprise.\n *\n * Inserts an immutable audit log entry capturing who performed what action,\n * on which subject, and whether it succeeded or failed. Use this to maintain\n * a tamper-evident trail of security-relevant events.\n *\n * @param args.enterpriseId - The ID of the enterprise this event belongs to.\n * @param args.groupId - The ID of the root group that owns the enterprise.\n * @param args.eventType - A string identifying the type of event (e.g. `\"user.login\"`, `\"scim.provision\"`).\n * @param args.actorType - The kind of actor: `\"user\"`, `\"system\"`, `\"scim\"`, `\"api_key\"`, or `\"webhook\"`.\n * @param args.actorId - An optional identifier for the actor (e.g. a user ID or API key ID).\n * @param args.subjectType - The type of the resource being acted upon (e.g. `\"user\"`, `\"group\"`).\n * @param args.subjectId - An optional identifier for the subject resource.\n * @param args.status - Whether the event represents a `\"success\"` or `\"failure\"`.\n * @param args.occurredAt - Epoch timestamp (ms) when the event occurred.\n * @param args.requestId - An optional correlation ID tying this event to a specific request.\n * @param args.ip - An optional IP address of the actor.\n * @param args.metadata - An optional arbitrary object with additional event details.\n * @returns The ID of the newly created `EnterpriseAuditEvent` document.\n *\n * @example\n * ```ts\n * const eventId = await ctx.runMutation(\n * components.auth.enterprise.enterpriseAuditEventCreate,\n * {\n * enterpriseId,\n * groupId: orgGroupId,\n * eventType: \"user.login\",\n * actorType: \"user\",\n * actorId: userId,\n * subjectType: \"session\",\n * subjectId: sessionId,\n * status: \"success\",\n * occurredAt: Date.now(),\n * ip: \"203.0.113.42\",\n * },\n * );\n * ```\n */\nexport const enterpriseAuditEventCreate = mutation({\n args: {\n enterpriseId: v.id(\"Enterprise\"),\n groupId: v.id(\"Group\"),\n eventType: v.string(),\n actorType: vAuditActorType,\n actorId: v.optional(v.string()),\n subjectType: v.string(),\n subjectId: v.optional(v.string()),\n status: vAuditStatus,\n occurredAt: v.number(),\n requestId: v.optional(v.string()),\n ip: v.optional(v.string()),\n metadata: v.optional(v.any()),\n },\n returns: v.id(\"EnterpriseAuditEvent\"),\n handler: async (ctx, args) => {\n return await ctx.db.insert(\"EnterpriseAuditEvent\", args);\n },\n});\n\n/**\n * List audit events, optionally filtered by enterprise or group.\n *\n * Returns audit events in reverse chronological order. When `enterpriseId` is\n * provided, events are filtered using the `enterprise_id_occurred_at` index.\n * When only `groupId` is provided, the `group_id_occurred_at` index is used.\n * If neither filter is given, the most recent events across all enterprises\n * are returned.\n *\n * @param args.enterpriseId - An optional enterprise ID to scope events to a single enterprise.\n * @param args.groupId - An optional group ID to scope events to a single group.\n * @param args.limit - Maximum number of events to return (clamped between 1 and 100, defaults to 50).\n * @returns An array of audit event documents, most recent first.\n *\n * @example\n * ```ts\n * const events = await ctx.runQuery(\n * components.auth.enterprise.enterpriseAuditEventList,\n * { enterpriseId, limit: 20 },\n * );\n * for (const event of events) {\n * console.log(event.eventType, event.actorType, event.status);\n * }\n * ```\n */\nexport const enterpriseAuditEventList = query({\n args: {\n enterpriseId: v.optional(v.id(\"Enterprise\")),\n groupId: v.optional(v.id(\"Group\")),\n limit: v.optional(v.number()),\n },\n returns: v.array(vEnterpriseAuditEventDoc),\n handler: async (ctx, args) => {\n const limit = Math.min(Math.max(args.limit ?? 50, 1), 100);\n if (args.enterpriseId !== undefined) {\n return await ctx.db\n .query(\"EnterpriseAuditEvent\")\n .withIndex(\"enterprise_id_occurred_at\", (idx) =>\n idx.eq(\"enterpriseId\", args.enterpriseId!),\n )\n .order(\"desc\")\n .take(limit);\n }\n if (args.groupId !== undefined) {\n return await ctx.db\n .query(\"EnterpriseAuditEvent\")\n .withIndex(\"group_id_occurred_at\", (idx) =>\n idx.eq(\"groupId\", args.groupId!),\n )\n .order(\"desc\")\n .take(limit);\n }\n return await ctx.db.query(\"EnterpriseAuditEvent\").order(\"desc\").take(limit);\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,MAAa,6BAA6B,SAAS;CACjD,MAAM;EACJ,cAAc,EAAE,GAAG,aAAa;EAChC,SAAS,EAAE,GAAG,QAAQ;EACtB,WAAW,EAAE,QAAQ;EACrB,WAAW;EACX,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;EAC/B,aAAa,EAAE,QAAQ;EACvB,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC;EACjC,QAAQ;EACR,YAAY,EAAE,QAAQ;EACtB,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC;EACjC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;EAC1B,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC;EAC9B;CACD,SAAS,EAAE,GAAG,uBAAuB;CACrC,SAAS,OAAO,KAAK,SAAS;AAC5B,SAAO,MAAM,IAAI,GAAG,OAAO,wBAAwB,KAAK;;CAE3D,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BF,MAAa,2BAA2B,MAAM;CAC5C,MAAM;EACJ,cAAc,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;EAC5C,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;EAClC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;EAC9B;CACD,SAAS,EAAE,MAAM,yBAAyB;CAC1C,SAAS,OAAO,KAAK,SAAS;EAC5B,MAAM,QAAQ,KAAK,IAAI,KAAK,IAAI,KAAK,SAAS,IAAI,EAAE,EAAE,IAAI;AAC1D,MAAI,KAAK,iBAAiB,OACxB,QAAO,MAAM,IAAI,GACd,MAAM,uBAAuB,CAC7B,UAAU,8BAA8B,QACvC,IAAI,GAAG,gBAAgB,KAAK,aAAc,CAC3C,CACA,MAAM,OAAO,CACb,KAAK,MAAM;AAEhB,MAAI,KAAK,YAAY,OACnB,QAAO,MAAM,IAAI,GACd,MAAM,uBAAuB,CAC7B,UAAU,yBAAyB,QAClC,IAAI,GAAG,WAAW,KAAK,QAAS,CACjC,CACA,MAAM,OAAO,CACb,KAAK,MAAM;AAEhB,SAAO,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,MAAM,OAAO,CAAC,KAAK,MAAM;;CAE9E,CAAC"}
@@ -0,0 +1,176 @@
1
+ declare namespace core_d_exports {
2
+ export { enterpriseCreate, enterpriseDelete, enterpriseGet, enterpriseGetByDomain, enterpriseGetByGroup, enterpriseList, enterpriseUpdate };
3
+ }
4
+ /**
5
+ * Create a new enterprise record attached to a root group.
6
+ *
7
+ * Each group may only have one enterprise record. If an enterprise already
8
+ * exists for the given group, a `ENTERPRISE_ALREADY_EXISTS` error is thrown.
9
+ * The enterprise status defaults to `"draft"` when not explicitly provided.
10
+ *
11
+ * @param args.groupId - The ID of the root group that owns this enterprise.
12
+ * @param args.slug - An optional URL-friendly identifier for the enterprise.
13
+ * @param args.name - An optional human-readable display name for the enterprise.
14
+ * @param args.status - The lifecycle status (`"draft"`, `"active"`, or `"disabled"`). Defaults to `"draft"`.
15
+ * @param args.policy - An optional enterprise policy object controlling identity linking, provisioning, and deprovisioning behavior.
16
+ * @param args.config - An optional arbitrary configuration blob for enterprise-specific settings.
17
+ * @param args.extend - An optional arbitrary extension object for custom fields.
18
+ * @returns The ID of the newly created `Enterprise` document.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const enterpriseId = await ctx.runMutation(
23
+ * components.auth.enterprise.enterpriseCreate,
24
+ * {
25
+ * groupId: orgGroupId,
26
+ * slug: "acme-corp",
27
+ * name: "Acme Corporation",
28
+ * status: "active",
29
+ * },
30
+ * );
31
+ * ```
32
+ */
33
+ declare const enterpriseCreate: any;
34
+ /**
35
+ * Retrieve a single enterprise record by its document ID.
36
+ *
37
+ * Returns the full enterprise document if it exists, or `null` if no
38
+ * enterprise is found with the given ID.
39
+ *
40
+ * @param args.enterpriseId - The document ID of the enterprise to retrieve.
41
+ * @returns The enterprise document, or `null` if not found.
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * const enterprise = await ctx.runQuery(
46
+ * components.auth.enterprise.enterpriseGet,
47
+ * { enterpriseId },
48
+ * );
49
+ * if (enterprise) {
50
+ * console.log(enterprise.name, enterprise.status);
51
+ * }
52
+ * ```
53
+ */
54
+ declare const enterpriseGet: any;
55
+ /**
56
+ * Retrieve an enterprise record by the ID of its owning group.
57
+ *
58
+ * Looks up the enterprise that is linked to the specified group using the
59
+ * `group_id` index. Returns `null` if no enterprise is associated with the group.
60
+ *
61
+ * @param args.groupId - The ID of the root group whose enterprise record to look up.
62
+ * @returns The enterprise document, or `null` if the group has no enterprise.
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * const enterprise = await ctx.runQuery(
67
+ * components.auth.enterprise.enterpriseGetByGroup,
68
+ * { groupId: orgGroupId },
69
+ * );
70
+ * ```
71
+ */
72
+ declare const enterpriseGetByGroup: any;
73
+ /**
74
+ * Retrieve an enterprise record by one of its linked domain names.
75
+ *
76
+ * Looks up an `EnterpriseDomain` row matching the given domain string, then
77
+ * resolves the parent enterprise. Returns both the enterprise and the matched
78
+ * domain document, or `null` if the domain is not registered or its enterprise
79
+ * no longer exists.
80
+ *
81
+ * @param args.domain - The domain name to search for (e.g. `"acme.com"`).
82
+ * @returns An object containing the `enterprise` and `domain` documents, or `null` if not found.
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * const result = await ctx.runQuery(
87
+ * components.auth.enterprise.enterpriseGetByDomain,
88
+ * { domain: "acme.com" },
89
+ * );
90
+ * if (result) {
91
+ * console.log(result.enterprise.name, result.domain.verifiedAt);
92
+ * }
93
+ * ```
94
+ */
95
+ declare const enterpriseGetByDomain: any;
96
+ /**
97
+ * List enterprise records with optional filtering and cursor-based pagination.
98
+ *
99
+ * Supports filtering by `groupId`, `slug`, and/or `status`. The query selects
100
+ * the most specific index available for the primary filter, then applies
101
+ * remaining predicates as post-filters. Results are ordered by creation time
102
+ * (or the specified field) and paginated using an opaque cursor.
103
+ *
104
+ * @param args.where - Optional filter criteria: `groupId`, `slug`, and/or `status`.
105
+ * @param args.limit - Maximum number of items per page (clamped between 1 and 100, defaults to 50).
106
+ * @param args.cursor - An opaque cursor string returned from a previous call to fetch the next page, or `null` / omitted for the first page.
107
+ * @param args.orderBy - The field to sort results by: `"_creationTime"`, `"name"`, `"slug"`, or `"status"`.
108
+ * @param args.order - Sort direction: `"asc"` or `"desc"` (defaults to `"desc"`).
109
+ * @returns A paginated result containing `items` (array of enterprise documents) and `nextCursor` (`string | null`).
110
+ *
111
+ * @example
112
+ * ```ts
113
+ * const page = await ctx.runQuery(
114
+ * components.auth.enterprise.enterpriseList,
115
+ * {
116
+ * where: { status: "active" },
117
+ * limit: 25,
118
+ * order: "asc",
119
+ * },
120
+ * );
121
+ * for (const ent of page.items) {
122
+ * console.log(ent.name);
123
+ * }
124
+ * // Fetch next page:
125
+ * const nextPage = await ctx.runQuery(
126
+ * components.auth.enterprise.enterpriseList,
127
+ * { where: { status: "active" }, cursor: page.nextCursor },
128
+ * );
129
+ * ```
130
+ */
131
+ declare const enterpriseList: any;
132
+ /**
133
+ * Partially update (patch) an existing enterprise record.
134
+ *
135
+ * Merges the provided `data` fields into the existing enterprise document.
136
+ * Only the fields present in `data` are changed; all other fields are preserved.
137
+ *
138
+ * @param args.enterpriseId - The document ID of the enterprise to update.
139
+ * @param args.data - An object containing the fields to update (e.g. `{ name, status, policy }`).
140
+ * @returns `null` on success.
141
+ *
142
+ * @example
143
+ * ```ts
144
+ * await ctx.runMutation(
145
+ * components.auth.enterprise.enterpriseUpdate,
146
+ * {
147
+ * enterpriseId,
148
+ * data: { status: "active", name: "Acme Corp (Renamed)" },
149
+ * },
150
+ * );
151
+ * ```
152
+ */
153
+ declare const enterpriseUpdate: any;
154
+ /**
155
+ * Delete an enterprise record and all of its associated child data.
156
+ *
157
+ * This cascading delete removes the enterprise document along with all linked
158
+ * domain records, domain verification records, and enterprise secrets. Callers
159
+ * should ensure that higher-level cleanup (e.g. SCIM identities, webhook
160
+ * endpoints) is handled separately if needed.
161
+ *
162
+ * @param args.enterpriseId - The document ID of the enterprise to delete.
163
+ * @returns `null` on success.
164
+ *
165
+ * @example
166
+ * ```ts
167
+ * await ctx.runMutation(
168
+ * components.auth.enterprise.enterpriseDelete,
169
+ * { enterpriseId },
170
+ * );
171
+ * ```
172
+ */
173
+ declare const enterpriseDelete: any;
174
+ //#endregion
175
+ export { core_d_exports, enterpriseCreate, enterpriseDelete, enterpriseGet, enterpriseGetByDomain, enterpriseGetByGroup, enterpriseList, enterpriseUpdate };
176
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","names":[],"sources":["../../../../src/component/public/enterprise/core.ts"],"mappings":";;;;;;;;;;;;;;;AAuCA;;;;;AAiDA;;;;;AAyBA;;;;;AAiCA;;cA3Ga,gBAAA;;;AAuKb;;;;;AA2FA;;;;;AA4BA;;;;;;;;cA7Oa,aAAA;;;;;;;;;;;;;;;;;;cAyBA,oBAAA;;;;;;;;;;;;;;;;;;;;;;;cAiCA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4DA,cAAA;;;;;;;;;;;;;;;;;;;;;;cA2FA,gBAAA;;;;;;;;;;;;;;;;;;;;cA4BA,gBAAA"}