@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
@@ -0,0 +1,112 @@
1
+ import { Fx } from "@robelest/fx";
2
+
3
+ /** @internal */
4
+ export function base64urlEncode(buffer: ArrayBuffer): string {
5
+ const bytes = new Uint8Array(buffer);
6
+ let binary = "";
7
+ for (let i = 0; i < bytes.byteLength; i++) {
8
+ binary += String.fromCharCode(bytes[i]!);
9
+ }
10
+ return btoa(binary)
11
+ .replace(/\+/g, "-")
12
+ .replace(/\//g, "_")
13
+ .replace(/=+$/, "");
14
+ }
15
+
16
+ /** @internal */
17
+ export function base64urlDecode(str: string): Uint8Array {
18
+ const padded = str.replace(/-/g, "+").replace(/_/g, "/");
19
+ const binary = atob(padded);
20
+ const bytes = new Uint8Array(binary.length);
21
+ for (let i = 0; i < binary.length; i++) {
22
+ bytes[i] = binary.charCodeAt(i);
23
+ }
24
+ return bytes;
25
+ }
26
+
27
+ /** @internal */
28
+ export async function browserMutex<T>(
29
+ key: string,
30
+ callback: () => Promise<T>,
31
+ ): Promise<T> {
32
+ const lockManager = (globalThis as any)?.navigator?.locks;
33
+ return lockManager !== undefined
34
+ ? await lockManager.request(key, callback)
35
+ : await manualMutex(key, callback);
36
+ }
37
+
38
+ /** @internal */
39
+ export function getStorageListenerRegistry(): Record<
40
+ string,
41
+ (event: StorageEvent) => void
42
+ > {
43
+ const globalAny = globalThis as any;
44
+ if (globalAny.__convexAuthStorageListeners === undefined) {
45
+ globalAny.__convexAuthStorageListeners = {} as Record<
46
+ string,
47
+ (event: StorageEvent) => void
48
+ >;
49
+ }
50
+ return globalAny.__convexAuthStorageListeners as Record<
51
+ string,
52
+ (event: StorageEvent) => void
53
+ >;
54
+ }
55
+
56
+ function getManualMutexTails(): Record<string, Promise<void>> {
57
+ const globalAny = globalThis as any;
58
+ if (globalAny.__convexAuthMutexTails === undefined) {
59
+ globalAny.__convexAuthMutexTails = {} as Record<string, Promise<void>>;
60
+ }
61
+ return globalAny.__convexAuthMutexTails as Record<string, Promise<void>>;
62
+ }
63
+
64
+ async function manualMutex<T>(
65
+ key: string,
66
+ callback: () => Promise<T>,
67
+ ): Promise<T> {
68
+ const mutexTails = getManualMutexTails();
69
+ const previousTail = mutexTails[key] ?? Promise.resolve();
70
+
71
+ let releaseCurrent: (() => void) | undefined;
72
+ const currentTail = new Promise<void>((resolve) => {
73
+ releaseCurrent = resolve;
74
+ });
75
+
76
+ mutexTails[key] = previousTail.then(
77
+ () => currentTail,
78
+ () => currentTail,
79
+ );
80
+
81
+ await Fx.run(
82
+ Fx.from({
83
+ ok: () => previousTail,
84
+ err: () => undefined,
85
+ }).pipe(Fx.recover(() => Fx.succeed(undefined))),
86
+ );
87
+ let result: T;
88
+ let threw = false;
89
+ let thrownError: unknown;
90
+ await Fx.run(
91
+ Fx.from({
92
+ ok: async () => {
93
+ result = await callback();
94
+ },
95
+ err: (e) => e,
96
+ }).pipe(
97
+ Fx.recover((e) => {
98
+ threw = true;
99
+ thrownError = e;
100
+ return Fx.succeed(undefined);
101
+ }),
102
+ ),
103
+ );
104
+ releaseCurrent?.();
105
+ if (mutexTails[key] === currentTail) {
106
+ delete mutexTails[key];
107
+ }
108
+ if (threw) {
109
+ throw thrownError;
110
+ }
111
+ return result!;
112
+ }
@@ -0,0 +1,65 @@
1
+ /** @internal */
2
+ export function createInviteManager(args: {
3
+ param: (name: string) => string | null;
4
+ storageGet: (name: string) => Promise<string | null>;
5
+ storageSet: (name: string, value: string) => Promise<void>;
6
+ storageRemove: (name: string) => Promise<void>;
7
+ cleanUrlParams: (params: string[]) => void;
8
+ tokenKey: string;
9
+ emailKey: string;
10
+ }) {
11
+ const {
12
+ param,
13
+ storageGet,
14
+ storageSet,
15
+ storageRemove,
16
+ cleanUrlParams,
17
+ tokenKey,
18
+ emailKey,
19
+ } = args;
20
+
21
+ let pendingInvite: { token: string; email: string | null } | null = null;
22
+
23
+ const urlInviteToken = param("invite");
24
+ if (urlInviteToken) {
25
+ pendingInvite = { token: urlInviteToken, email: param("email") };
26
+ } else {
27
+ void (async () => {
28
+ const storedToken = await storageGet(tokenKey);
29
+ if (storedToken && !pendingInvite) {
30
+ pendingInvite = {
31
+ token: storedToken,
32
+ email: (await storageGet(emailKey)) ?? null,
33
+ };
34
+ void storageRemove(tokenKey);
35
+ void storageRemove(emailKey);
36
+ }
37
+ })();
38
+ }
39
+
40
+ return {
41
+ getPendingInvite() {
42
+ return pendingInvite;
43
+ },
44
+ async persistInvite() {
45
+ if (!pendingInvite) return;
46
+ await storageSet(tokenKey, pendingInvite.token);
47
+ if (pendingInvite.email) {
48
+ await storageSet(emailKey, pendingInvite.email);
49
+ }
50
+ },
51
+ async acceptInvite(): Promise<{
52
+ ok: boolean;
53
+ token?: string;
54
+ message?: string;
55
+ }> {
56
+ if (!pendingInvite) return { ok: false, message: "No pending invite" };
57
+ const { token } = pendingInvite;
58
+ pendingInvite = null;
59
+ void storageRemove(tokenKey);
60
+ void storageRemove(emailKey);
61
+ cleanUrlParams(["invite", "email"]);
62
+ return { ok: true, token };
63
+ },
64
+ };
65
+ }
@@ -0,0 +1,111 @@
1
+ import { Fx } from "@robelest/fx";
2
+ import { ConvexError, type Value } from "convex/values";
3
+
4
+ const NETWORK_ERROR_PATTERN = /(network|fetch|load failed|failed to fetch)/i;
5
+
6
+ /** @internal */
7
+ export function isTransientNetworkError(error: unknown): boolean {
8
+ return (
9
+ error instanceof TypeError ||
10
+ (error instanceof Error && NETWORK_ERROR_PATTERN.test(error.message || ""))
11
+ );
12
+ }
13
+
14
+ /** @internal */
15
+ export function isRetriableProxyRefreshError(error: unknown): boolean {
16
+ if (isTransientNetworkError(error)) {
17
+ return true;
18
+ }
19
+ if (!(error instanceof Error)) {
20
+ return false;
21
+ }
22
+ const statusMatch = error.message.match(/Proxy request failed:\s*(\d{3})/);
23
+ if (statusMatch === null) {
24
+ return false;
25
+ }
26
+ const statusCode = Number(statusMatch[1]);
27
+ return statusCode >= 500 && statusCode < 600;
28
+ }
29
+
30
+ /** @internal */
31
+ export function createProxyHelpers(args: { proxy: string | undefined }) {
32
+ const { proxy } = args;
33
+
34
+ const resolveProxyUrl = () => {
35
+ const origin =
36
+ typeof window !== "undefined" &&
37
+ typeof window.location?.origin === "string"
38
+ ? window.location.origin
39
+ : typeof location !== "undefined" && typeof location.origin === "string"
40
+ ? location.origin
41
+ : null;
42
+ if (origin !== null) {
43
+ return new URL(proxy!, origin).toString();
44
+ }
45
+ return Fx.run(
46
+ Fx.from({
47
+ ok: () => new URL(proxy!).toString(),
48
+ err: () => proxy! as string,
49
+ }).pipe(Fx.recover((fallback) => Fx.succeed(fallback))),
50
+ );
51
+ };
52
+
53
+ const isAbsoluteUrl = (value: string) => {
54
+ return Fx.run(
55
+ Fx.from({
56
+ ok: () => {
57
+ new URL(value);
58
+ return true;
59
+ },
60
+ err: () => false as const,
61
+ }).pipe(Fx.recover((v) => Fx.succeed(v))),
62
+ );
63
+ };
64
+
65
+ const proxyFetch = async (body: Record<string, unknown>) => {
66
+ const proxyUrl = await resolveProxyUrl();
67
+ if (typeof window === "undefined" && !(await isAbsoluteUrl(proxyUrl))) {
68
+ throw new Error(
69
+ `Cannot call relative proxy URL \`${proxy!}\` without a browser origin. ` +
70
+ "Pass an absolute proxy URL for server runtimes.",
71
+ );
72
+ }
73
+
74
+ const response = await fetch(proxyUrl, {
75
+ method: "POST",
76
+ headers: { "Content-Type": "application/json" },
77
+ credentials: "include",
78
+ body: JSON.stringify(body),
79
+ });
80
+ if (!response.ok) {
81
+ const errorBody = await Fx.run(
82
+ Fx.from({
83
+ ok: () => response.json() as Promise<Record<string, unknown>>,
84
+ err: () => ({}) as Record<string, unknown>,
85
+ }).pipe(Fx.recover((fallback) => Fx.succeed(fallback))),
86
+ );
87
+ if (
88
+ typeof errorBody === "object" &&
89
+ errorBody !== null &&
90
+ "authError" in errorBody &&
91
+ typeof (errorBody as Record<string, unknown>).authError === "object"
92
+ ) {
93
+ throw new ConvexError(
94
+ (errorBody as Record<string, unknown>).authError as Value,
95
+ );
96
+ }
97
+ throw new Error(
98
+ ((errorBody as Record<string, unknown>).error as string) ??
99
+ `Proxy request failed: ${response.status}`,
100
+ );
101
+ }
102
+ return Fx.run(
103
+ Fx.from({
104
+ ok: () => response.json(),
105
+ err: () => new Error("Proxy response was not valid JSON"),
106
+ }).pipe(Fx.recover((e) => Fx.fatal(e))),
107
+ );
108
+ };
109
+
110
+ return { isAbsoluteUrl, proxyFetch, resolveProxyUrl };
111
+ }
@@ -0,0 +1,79 @@
1
+ import { Fx } from "@robelest/fx";
2
+
3
+ import type { Storage } from "../core/types";
4
+
5
+ /** @internal */
6
+ export function createStorageHelpers(args: {
7
+ storage: Storage | null;
8
+ key: (name: string) => string;
9
+ }) {
10
+ const { storage, key } = args;
11
+
12
+ const get = async (name: string): Promise<string | null> => {
13
+ if (!storage) {
14
+ return null;
15
+ }
16
+ return Fx.run(
17
+ Fx.from({
18
+ ok: async () => (await storage.getItem(key(name))) ?? null,
19
+ err: (e) => e,
20
+ }).pipe(
21
+ Fx.inspect((error) =>
22
+ Fx.sync(() =>
23
+ console.error(
24
+ `[convex-auth] Failed to read ${name} from storage:`,
25
+ error,
26
+ ),
27
+ ),
28
+ ),
29
+ Fx.recover(() => Fx.succeed(null)),
30
+ ),
31
+ );
32
+ };
33
+
34
+ const set = async (name: string, value: string): Promise<void> => {
35
+ if (!storage) {
36
+ return;
37
+ }
38
+ await Fx.run(
39
+ Fx.from({
40
+ ok: () => storage.setItem(key(name), value),
41
+ err: (e) => e,
42
+ }).pipe(
43
+ Fx.inspect((error) =>
44
+ Fx.sync(() =>
45
+ console.error(
46
+ `[convex-auth] Failed to write ${name} to storage:`,
47
+ error,
48
+ ),
49
+ ),
50
+ ),
51
+ Fx.recover(() => Fx.succeed(undefined)),
52
+ ),
53
+ );
54
+ };
55
+
56
+ const remove = async (name: string): Promise<void> => {
57
+ if (!storage) {
58
+ return;
59
+ }
60
+ await Fx.run(
61
+ Fx.from({
62
+ ok: () => storage.removeItem(key(name)),
63
+ err: (e) => e,
64
+ }).pipe(
65
+ Fx.inspect((error) =>
66
+ Fx.sync(() =>
67
+ console.error(
68
+ `[convex-auth] Failed to remove ${name} from storage:`,
69
+ error,
70
+ ),
71
+ ),
72
+ ),
73
+ Fx.recover(() => Fx.succeed(undefined)),
74
+ ),
75
+ );
76
+ };
77
+
78
+ return { get, set, remove };
79
+ }
@@ -12,12 +12,26 @@ import type * as functions from "../functions.js";
12
12
  import type * as index from "../index.js";
13
13
  import type * as model from "../model.js";
14
14
  import type * as public_ from "../public.js";
15
- import type * as public_enterprise from "../public/enterprise.js";
16
- import type * as public_factors from "../public/factors.js";
17
- import type * as public_groups from "../public/groups.js";
18
- import type * as public_identity from "../public/identity.js";
19
- import type * as public_keys from "../public/keys.js";
20
- import type * as public_shared from "../public/shared.js";
15
+ import type * as public_enterprise_audit from "../public/enterprise/audit.js";
16
+ import type * as public_enterprise_core from "../public/enterprise/core.js";
17
+ import type * as public_enterprise_domains from "../public/enterprise/domains.js";
18
+ import type * as public_enterprise_scim from "../public/enterprise/scim.js";
19
+ import type * as public_enterprise_secrets from "../public/enterprise/secrets.js";
20
+ import type * as public_enterprise_webhooks from "../public/enterprise/webhooks.js";
21
+ import type * as public_factors_devices from "../public/factors/devices.js";
22
+ import type * as public_factors_passkeys from "../public/factors/passkeys.js";
23
+ import type * as public_factors_totp from "../public/factors/totp.js";
24
+ import type * as public_groups_core from "../public/groups/core.js";
25
+ import type * as public_groups_invites from "../public/groups/invites.js";
26
+ import type * as public_groups_members from "../public/groups/members.js";
27
+ import type * as public_identity_accounts from "../public/identity/accounts.js";
28
+ import type * as public_identity_codes from "../public/identity/codes.js";
29
+ import type * as public_identity_sessions from "../public/identity/sessions.js";
30
+ import type * as public_identity_tokens from "../public/identity/tokens.js";
31
+ import type * as public_identity_users from "../public/identity/users.js";
32
+ import type * as public_identity_verifiers from "../public/identity/verifiers.js";
33
+ import type * as public_security_keys from "../public/security/keys.js";
34
+ import type * as public_security_limits from "../public/security/limits.js";
21
35
 
22
36
  import type {
23
37
  ApiFromModules,
@@ -31,12 +45,26 @@ const fullApi: ApiFromModules<{
31
45
  index: typeof index;
32
46
  model: typeof model;
33
47
  public: typeof public_;
34
- "public/enterprise": typeof public_enterprise;
35
- "public/factors": typeof public_factors;
36
- "public/groups": typeof public_groups;
37
- "public/identity": typeof public_identity;
38
- "public/keys": typeof public_keys;
39
- "public/shared": typeof public_shared;
48
+ "public/enterprise/audit": typeof public_enterprise_audit;
49
+ "public/enterprise/core": typeof public_enterprise_core;
50
+ "public/enterprise/domains": typeof public_enterprise_domains;
51
+ "public/enterprise/scim": typeof public_enterprise_scim;
52
+ "public/enterprise/secrets": typeof public_enterprise_secrets;
53
+ "public/enterprise/webhooks": typeof public_enterprise_webhooks;
54
+ "public/factors/devices": typeof public_factors_devices;
55
+ "public/factors/passkeys": typeof public_factors_passkeys;
56
+ "public/factors/totp": typeof public_factors_totp;
57
+ "public/groups/core": typeof public_groups_core;
58
+ "public/groups/invites": typeof public_groups_invites;
59
+ "public/groups/members": typeof public_groups_members;
60
+ "public/identity/accounts": typeof public_identity_accounts;
61
+ "public/identity/codes": typeof public_identity_codes;
62
+ "public/identity/sessions": typeof public_identity_sessions;
63
+ "public/identity/tokens": typeof public_identity_tokens;
64
+ "public/identity/users": typeof public_identity_users;
65
+ "public/identity/verifiers": typeof public_identity_verifiers;
66
+ "public/security/keys": typeof public_security_keys;
67
+ "public/security/limits": typeof public_security_limits;
40
68
  }> = anyApi as any;
41
69
 
42
70
  /**