@estifanos-sh/convex-auth 0.0.2 → 0.0.4

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 (438) hide show
  1. package/README.md +29 -6
  2. package/dist/bin.js +2 -34
  3. package/dist/browser/index.d.ts +2 -2
  4. package/dist/browser/index.d.ts.map +1 -1
  5. package/dist/browser/index.js +15 -9
  6. package/dist/browser/index.js.map +1 -1
  7. package/dist/client/core/types.d.ts +68 -97
  8. package/dist/client/core/types.d.ts.map +1 -1
  9. package/dist/client/core/types.js.map +1 -1
  10. package/dist/client/errors.d.ts +15 -0
  11. package/dist/client/errors.d.ts.map +1 -0
  12. package/dist/client/errors.js +8 -1
  13. package/dist/client/errors.js.map +1 -1
  14. package/dist/client/factors/device.js +4 -4
  15. package/dist/client/factors/device.js.map +1 -1
  16. package/dist/client/factors/totp.js +20 -12
  17. package/dist/client/factors/totp.js.map +1 -1
  18. package/dist/client/factors/webauthn.js +6 -2
  19. package/dist/client/factors/webauthn.js.map +1 -1
  20. package/dist/client/index.d.ts +6 -3
  21. package/dist/client/index.d.ts.map +1 -1
  22. package/dist/client/index.js +13 -10
  23. package/dist/client/index.js.map +1 -1
  24. package/dist/component/_generated/api.d.ts +13 -3
  25. package/dist/component/_generated/api.d.ts.map +1 -1
  26. package/dist/component/_generated/api.js.map +1 -1
  27. package/dist/component/_generated/component.d.ts +365 -74
  28. package/dist/component/_generated/component.d.ts.map +1 -1
  29. package/dist/component/_generated/dataModel.d.ts +2 -2
  30. package/dist/component/_generated/dataModel.d.ts.map +1 -1
  31. package/dist/component/_generated/server.d.ts +13 -2
  32. package/dist/component/_generated/server.d.ts.map +1 -1
  33. package/dist/component/_generated/server.js +2 -1
  34. package/dist/component/_generated/server.js.map +1 -1
  35. package/dist/component/account.d.ts +52 -38
  36. package/dist/component/account.d.ts.map +1 -1
  37. package/dist/component/account.js +42 -23
  38. package/dist/component/account.js.map +1 -1
  39. package/dist/component/batch.d.ts +3 -0
  40. package/dist/component/batch.d.ts.map +1 -0
  41. package/dist/component/batch.js +17 -0
  42. package/dist/component/batch.js.map +1 -0
  43. package/dist/component/connection/audit.d.ts +30 -27
  44. package/dist/component/connection/audit.d.ts.map +1 -1
  45. package/dist/component/connection/audit.js +16 -23
  46. package/dist/component/connection/audit.js.map +1 -1
  47. package/dist/component/connection/cache.d.ts +6 -6
  48. package/dist/component/connection/cache.js +0 -1
  49. package/dist/component/connection/cache.js.map +1 -1
  50. package/dist/component/connection/domain/verification.d.ts +19 -19
  51. package/dist/component/connection/domain/verification.js +1 -2
  52. package/dist/component/connection/domain/verification.js.map +1 -1
  53. package/dist/component/connection/domain.d.ts +20 -20
  54. package/dist/component/connection/domain.js +1 -2
  55. package/dist/component/connection/domain.js.map +1 -1
  56. package/dist/component/connection/saml/assertion.d.ts +4 -4
  57. package/dist/component/connection/saml/assertion.js +0 -1
  58. package/dist/component/connection/saml/assertion.js.map +1 -1
  59. package/dist/component/connection/saml/request.d.ts +8 -9
  60. package/dist/component/connection/saml/request.d.ts.map +1 -1
  61. package/dist/component/connection/saml/request.js +0 -2
  62. package/dist/component/connection/saml/request.js.map +1 -1
  63. package/dist/component/connection/scim/config.d.ts +13 -13
  64. package/dist/component/connection/scim/config.d.ts.map +1 -1
  65. package/dist/component/connection/scim/config.js +2 -2
  66. package/dist/component/connection/scim/config.js.map +1 -1
  67. package/dist/component/connection/scim/identity.d.ts +122 -61
  68. package/dist/component/connection/scim/identity.d.ts.map +1 -1
  69. package/dist/component/connection/scim/identity.js +408 -60
  70. package/dist/component/connection/scim/identity.js.map +1 -1
  71. package/dist/component/connection/secret.d.ts +15 -15
  72. package/dist/component/connection/secret.d.ts.map +1 -1
  73. package/dist/component/connection/secret.js +2 -2
  74. package/dist/component/connection/secret.js.map +1 -1
  75. package/dist/component/connection/webhook/delivery.d.ts +69 -53
  76. package/dist/component/connection/webhook/delivery.d.ts.map +1 -1
  77. package/dist/component/connection/webhook/delivery.js +129 -172
  78. package/dist/component/connection/webhook/delivery.js.map +1 -1
  79. package/dist/component/connection/webhook/endpoint.d.ts +21 -21
  80. package/dist/component/connection/webhook/endpoint.d.ts.map +1 -1
  81. package/dist/component/connection/webhook/endpoint.js +2 -2
  82. package/dist/component/connection/webhook/endpoint.js.map +1 -1
  83. package/dist/component/connection/webhook/events.d.ts +26 -0
  84. package/dist/component/connection/webhook/events.d.ts.map +1 -0
  85. package/dist/component/connection/webhook/events.js +39 -0
  86. package/dist/component/connection/webhook/events.js.map +1 -0
  87. package/dist/component/connection.d.ts +39 -39
  88. package/dist/component/connection.d.ts.map +1 -1
  89. package/dist/component/connection.js +9 -9
  90. package/dist/component/connection.js.map +1 -1
  91. package/dist/component/context.d.ts +115 -0
  92. package/dist/component/context.d.ts.map +1 -0
  93. package/dist/component/context.js +49 -0
  94. package/dist/component/context.js.map +1 -0
  95. package/dist/component/convex.config.d.ts +2 -2
  96. package/dist/component/crons.d.ts +2 -2
  97. package/dist/component/documents.d.ts +1244 -0
  98. package/dist/component/documents.d.ts.map +1 -0
  99. package/dist/component/documents.js +44 -0
  100. package/dist/component/documents.js.map +1 -0
  101. package/dist/component/event.d.ts +142 -141
  102. package/dist/component/event.d.ts.map +1 -1
  103. package/dist/component/event.js +90 -119
  104. package/dist/component/event.js.map +1 -1
  105. package/dist/component/eventstream.d.ts +30 -0
  106. package/dist/component/eventstream.d.ts.map +1 -0
  107. package/dist/component/eventstream.js +60 -0
  108. package/dist/component/eventstream.js.map +1 -0
  109. package/dist/component/factor/device.d.ts +25 -24
  110. package/dist/component/factor/device.d.ts.map +1 -1
  111. package/dist/component/factor/device.js +7 -4
  112. package/dist/component/factor/device.js.map +1 -1
  113. package/dist/component/factor/passkey.d.ts +173 -85
  114. package/dist/component/factor/passkey.d.ts.map +1 -1
  115. package/dist/component/factor/passkey.js +138 -27
  116. package/dist/component/factor/passkey.js.map +1 -1
  117. package/dist/component/factor/totp.d.ts +56 -50
  118. package/dist/component/factor/totp.d.ts.map +1 -1
  119. package/dist/component/factor/totp.js +6 -5
  120. package/dist/component/factor/totp.js.map +1 -1
  121. package/dist/component/group/active.d.ts +326 -22
  122. package/dist/component/group/active.d.ts.map +1 -1
  123. package/dist/component/group/active.js +22 -13
  124. package/dist/component/group/active.js.map +1 -1
  125. package/dist/component/group/invite.d.ts +30 -30
  126. package/dist/component/group/invite.d.ts.map +1 -1
  127. package/dist/component/group/invite.js +2 -2
  128. package/dist/component/group/invite.js.map +1 -1
  129. package/dist/component/group/member.d.ts +36 -36
  130. package/dist/component/group/member.d.ts.map +1 -1
  131. package/dist/component/group/member.js +5 -3
  132. package/dist/component/group/member.js.map +1 -1
  133. package/dist/component/group.d.ts +49 -64
  134. package/dist/component/group.d.ts.map +1 -1
  135. package/dist/component/group.js +5 -3
  136. package/dist/component/group.js.map +1 -1
  137. package/dist/component/http.d.ts +2 -2
  138. package/dist/component/index.d.ts +0 -10
  139. package/dist/component/index.js +1 -3
  140. package/dist/component/limits.d.ts +5 -4
  141. package/dist/component/limits.d.ts.map +1 -1
  142. package/dist/component/limits.js +7 -4
  143. package/dist/component/limits.js.map +1 -1
  144. package/dist/component/maintenance.d.ts +6 -3
  145. package/dist/component/maintenance.d.ts.map +1 -1
  146. package/dist/component/maintenance.js +45 -6
  147. package/dist/component/maintenance.js.map +1 -1
  148. package/dist/component/model.d.ts +847 -1723
  149. package/dist/component/model.d.ts.map +1 -1
  150. package/dist/component/model.js +28 -317
  151. package/dist/component/model.js.map +1 -1
  152. package/dist/component/modules.d.ts +11 -5
  153. package/dist/component/modules.d.ts.map +1 -1
  154. package/dist/component/modules.js +4 -1
  155. package/dist/component/modules.js.map +1 -1
  156. package/dist/component/oauth/client.d.ts +20 -20
  157. package/dist/component/oauth/client.d.ts.map +1 -1
  158. package/dist/component/oauth/client.js +2 -2
  159. package/dist/component/oauth/client.js.map +1 -1
  160. package/dist/component/oauth/code.d.ts +14 -14
  161. package/dist/component/oauth/code.js +1 -2
  162. package/dist/component/oauth/code.js.map +1 -1
  163. package/dist/component/oauth/refresh.d.ts +20 -20
  164. package/dist/component/oauth/refresh.js +1 -2
  165. package/dist/component/oauth/refresh.js.map +1 -1
  166. package/dist/component/schema.d.ts +1148 -607
  167. package/dist/component/schema.d.ts.map +1 -1
  168. package/dist/component/schema.js +43 -15
  169. package/dist/component/schema.js.map +1 -1
  170. package/dist/component/session.d.ts +68 -32
  171. package/dist/component/session.d.ts.map +1 -1
  172. package/dist/component/session.js +118 -34
  173. package/dist/component/session.js.map +1 -1
  174. package/dist/component/token/continuation.d.ts +47 -18
  175. package/dist/component/token/continuation.d.ts.map +1 -1
  176. package/dist/component/token/continuation.js +76 -18
  177. package/dist/component/token/continuation.js.map +1 -1
  178. package/dist/component/token/enrollment.d.ts +42 -0
  179. package/dist/component/token/enrollment.d.ts.map +1 -0
  180. package/dist/component/token/enrollment.js +57 -0
  181. package/dist/component/token/enrollment.js.map +1 -0
  182. package/dist/component/token/pkce.d.ts +31 -24
  183. package/dist/component/token/pkce.d.ts.map +1 -1
  184. package/dist/component/token/pkce.js +15 -20
  185. package/dist/component/token/pkce.js.map +1 -1
  186. package/dist/component/token/refresh.d.ts +42 -35
  187. package/dist/component/token/refresh.d.ts.map +1 -1
  188. package/dist/component/token/refresh.js +16 -8
  189. package/dist/component/token/refresh.js.map +1 -1
  190. package/dist/component/token/verification.d.ts +34 -30
  191. package/dist/component/token/verification.d.ts.map +1 -1
  192. package/dist/component/token/verification.js +7 -6
  193. package/dist/component/token/verification.js.map +1 -1
  194. package/dist/component/user/email.d.ts +21 -21
  195. package/dist/component/user/email.d.ts.map +1 -1
  196. package/dist/component/user/email.js +2 -2
  197. package/dist/component/user/email.js.map +1 -1
  198. package/dist/component/user/key.d.ts +36 -36
  199. package/dist/component/user/key.d.ts.map +1 -1
  200. package/dist/component/user/key.js +2 -2
  201. package/dist/component/user/key.js.map +1 -1
  202. package/dist/component/user.d.ts +52 -48
  203. package/dist/component/user.d.ts.map +1 -1
  204. package/dist/component/user.js +157 -36
  205. package/dist/component/user.js.map +1 -1
  206. package/dist/expo/index.d.ts +4 -4
  207. package/dist/expo/index.d.ts.map +1 -1
  208. package/dist/expo/index.js +20 -13
  209. package/dist/expo/index.js.map +1 -1
  210. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/export/ReadableLogRecord.d.ts +2 -2
  211. package/dist/node_modules/.pnpm/@opentelemetry_sdk-logs@0.214.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/export/SdkLogRecord.d.ts +1 -1
  212. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.d.ts +2 -2
  213. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricData.d.ts +1 -1
  214. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/Span.d.ts +1 -1
  215. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/ReadableSpan.d.ts +1 -1
  216. package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.6.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/types.d.ts +1 -1
  217. package/dist/otel.d.ts +1 -1
  218. package/dist/providers/anonymous.d.ts +11 -5
  219. package/dist/providers/anonymous.d.ts.map +1 -1
  220. package/dist/providers/anonymous.js +4 -1
  221. package/dist/providers/anonymous.js.map +1 -1
  222. package/dist/providers/apple.d.ts +1 -1
  223. package/dist/providers/apple.js +19 -4
  224. package/dist/providers/apple.js.map +1 -1
  225. package/dist/providers/credentials.d.ts +22 -14
  226. package/dist/providers/credentials.d.ts.map +1 -1
  227. package/dist/providers/credentials.js +2 -0
  228. package/dist/providers/credentials.js.map +1 -1
  229. package/dist/providers/custom.d.ts +3 -3
  230. package/dist/providers/custom.d.ts.map +1 -1
  231. package/dist/providers/custom.js.map +1 -1
  232. package/dist/providers/email.d.ts +3 -3
  233. package/dist/providers/email.d.ts.map +1 -1
  234. package/dist/providers/email.js.map +1 -1
  235. package/dist/providers/github.d.ts +1 -1
  236. package/dist/providers/github.d.ts.map +1 -1
  237. package/dist/providers/github.js +9 -4
  238. package/dist/providers/github.js.map +1 -1
  239. package/dist/providers/google.d.ts +1 -1
  240. package/dist/providers/google.d.ts.map +1 -1
  241. package/dist/providers/google.js +9 -4
  242. package/dist/providers/google.js.map +1 -1
  243. package/dist/providers/microsoft.d.ts +1 -1
  244. package/dist/providers/microsoft.d.ts.map +1 -1
  245. package/dist/providers/microsoft.js +12 -4
  246. package/dist/providers/microsoft.js.map +1 -1
  247. package/dist/providers/password.d.ts +117 -15
  248. package/dist/providers/password.d.ts.map +1 -1
  249. package/dist/providers/password.js +71 -26
  250. package/dist/providers/password.js.map +1 -1
  251. package/dist/providers/phone.d.ts +4 -3
  252. package/dist/providers/phone.d.ts.map +1 -1
  253. package/dist/providers/phone.js.map +1 -1
  254. package/dist/providers/webauthn.d.ts.map +1 -1
  255. package/dist/providers/webauthn.js +6 -0
  256. package/dist/providers/webauthn.js.map +1 -1
  257. package/dist/react/index.d.ts +40 -41
  258. package/dist/react/index.d.ts.map +1 -1
  259. package/dist/react/index.js +27 -52
  260. package/dist/react/index.js.map +1 -1
  261. package/dist/server/auth.d.ts +224 -126
  262. package/dist/server/auth.d.ts.map +1 -1
  263. package/dist/server/auth.js +44 -25
  264. package/dist/server/auth.js.map +1 -1
  265. package/dist/server/component/factor/db.js +13 -6
  266. package/dist/server/component/factor/db.js.map +1 -1
  267. package/dist/server/config.d.ts +2 -1
  268. package/dist/server/connection/domain.d.ts +4 -65
  269. package/dist/server/connection/domain.d.ts.map +1 -1
  270. package/dist/server/connection/domain.js +29 -5
  271. package/dist/server/connection/domain.js.map +1 -1
  272. package/dist/server/connection/group/service.js +7 -5
  273. package/dist/server/connection/group/service.js.map +1 -1
  274. package/dist/server/connection/http.js +136 -291
  275. package/dist/server/connection/http.js.map +1 -1
  276. package/dist/server/connection/oidc.js +8 -17
  277. package/dist/server/connection/oidc.js.map +1 -1
  278. package/dist/server/connection/policy/domain.js +4 -1
  279. package/dist/server/connection/policy/domain.js.map +1 -1
  280. package/dist/server/connection/policy.js +14 -13
  281. package/dist/server/connection/policy.js.map +1 -1
  282. package/dist/server/connection/provision.js +5 -19
  283. package/dist/server/connection/provision.js.map +1 -1
  284. package/dist/server/connection/saml/encoding.js +2 -6
  285. package/dist/server/connection/saml/encoding.js.map +1 -1
  286. package/dist/server/connection/saml/signature.js +2 -2
  287. package/dist/server/connection/saml/signature.js.map +1 -1
  288. package/dist/server/connection/saml/xmldsig.js +1 -1
  289. package/dist/server/connection/saml/xmldsig.js.map +1 -1
  290. package/dist/server/connection/webhook.js +4 -36
  291. package/dist/server/connection/webhook.js.map +1 -1
  292. package/dist/server/context.d.ts +2 -2
  293. package/dist/server/context.d.ts.map +1 -1
  294. package/dist/server/context.js +35 -24
  295. package/dist/server/context.js.map +1 -1
  296. package/dist/server/contract.d.ts.map +1 -1
  297. package/dist/server/contract.js +6 -14
  298. package/dist/server/contract.js.map +1 -1
  299. package/dist/server/core.js +46 -1
  300. package/dist/server/core.js.map +1 -1
  301. package/dist/server/cors.d.ts +2 -2
  302. package/dist/server/cors.d.ts.map +1 -1
  303. package/dist/server/crypto.js.map +1 -1
  304. package/dist/server/db.js +6 -2
  305. package/dist/server/db.js.map +1 -1
  306. package/dist/server/device.js +1 -1
  307. package/dist/server/domains/account.d.ts +9 -1
  308. package/dist/server/domains/account.d.ts.map +1 -1
  309. package/dist/server/domains/account.js +21 -9
  310. package/dist/server/domains/account.js.map +1 -1
  311. package/dist/server/domains/context.js +34 -0
  312. package/dist/server/domains/context.js.map +1 -0
  313. package/dist/server/domains/factor.d.ts +3 -2
  314. package/dist/server/domains/factor.d.ts.map +1 -1
  315. package/dist/server/domains/factor.js.map +1 -1
  316. package/dist/server/domains/group.js.map +1 -1
  317. package/dist/server/domains/invite.js.map +1 -1
  318. package/dist/server/domains/key.js.map +1 -1
  319. package/dist/server/domains/member.js.map +1 -1
  320. package/dist/server/domains/session.js.map +1 -1
  321. package/dist/server/domains/user.js.map +1 -1
  322. package/dist/server/env.js +2 -22
  323. package/dist/server/env.js.map +1 -1
  324. package/dist/server/events.d.ts +3 -1
  325. package/dist/server/events.d.ts.map +1 -1
  326. package/dist/server/events.js +6 -6
  327. package/dist/server/events.js.map +1 -1
  328. package/dist/server/facade.d.ts +1 -33
  329. package/dist/server/facade.d.ts.map +1 -1
  330. package/dist/server/facade.js +1 -2
  331. package/dist/server/facade.js.map +1 -1
  332. package/dist/server/http.d.ts +1 -0
  333. package/dist/server/http.d.ts.map +1 -1
  334. package/dist/server/http.js +4 -4
  335. package/dist/server/http.js.map +1 -1
  336. package/dist/server/identity/claims.js +1 -1
  337. package/dist/server/identity/convex.d.ts +2 -0
  338. package/dist/server/identity/convex.d.ts.map +1 -1
  339. package/dist/server/index.d.ts +6 -9
  340. package/dist/server/index.js +2 -4
  341. package/dist/server/limits.js +23 -2
  342. package/dist/server/limits.js.map +1 -1
  343. package/dist/server/mutations/calls.js +3 -2
  344. package/dist/server/mutations/credentials/signin.js +7 -3
  345. package/dist/server/mutations/credentials/signin.js.map +1 -1
  346. package/dist/server/mutations/enrollment.js +87 -0
  347. package/dist/server/mutations/enrollment.js.map +1 -0
  348. package/dist/server/mutations/invalidate.js +5 -10
  349. package/dist/server/mutations/invalidate.js.map +1 -1
  350. package/dist/server/mutations/oauth.js +3 -3
  351. package/dist/server/mutations/oauth.js.map +1 -1
  352. package/dist/server/mutations/refresh.js +1 -0
  353. package/dist/server/mutations/refresh.js.map +1 -1
  354. package/dist/server/mutations/register.js +52 -21
  355. package/dist/server/mutations/register.js.map +1 -1
  356. package/dist/server/mutations/retrieve.js +4 -1
  357. package/dist/server/mutations/retrieve.js.map +1 -1
  358. package/dist/server/mutations/signin.js +2 -2
  359. package/dist/server/mutations/signin.js.map +1 -1
  360. package/dist/server/mutations/store.js +6 -1
  361. package/dist/server/mutations/store.js.map +1 -1
  362. package/dist/server/mutations/verify.js +6 -4
  363. package/dist/server/mutations/verify.js.map +1 -1
  364. package/dist/server/oauth/client.d.ts +1 -1
  365. package/dist/server/oauth/client.js.map +1 -1
  366. package/dist/server/oauth/code.d.ts +1 -1
  367. package/dist/server/oauth/code.js.map +1 -1
  368. package/dist/server/oauth/factory.js +89 -13
  369. package/dist/server/oauth/factory.js.map +1 -1
  370. package/dist/server/oauth/handlers.js +2 -2
  371. package/dist/server/oauth/runtime.js +24 -9
  372. package/dist/server/oauth/runtime.js.map +1 -1
  373. package/dist/server/preload.d.ts.map +1 -1
  374. package/dist/server/preload.js +14 -11
  375. package/dist/server/preload.js.map +1 -1
  376. package/dist/server/runtime.d.ts +236 -148
  377. package/dist/server/runtime.d.ts.map +1 -1
  378. package/dist/server/runtime.js +92 -44
  379. package/dist/server/runtime.js.map +1 -1
  380. package/dist/server/session/lifecycle.d.ts +2 -1
  381. package/dist/server/session/lifecycle.d.ts.map +1 -1
  382. package/dist/server/session/lifecycle.js +29 -10
  383. package/dist/server/session/lifecycle.js.map +1 -1
  384. package/dist/server/signin/flow.js +2 -2
  385. package/dist/server/signin/flow.js.map +1 -1
  386. package/dist/server/telemetry.js +1 -1
  387. package/dist/server/tokens.js +6 -3
  388. package/dist/server/tokens.js.map +1 -1
  389. package/dist/server/totp.js +4 -3
  390. package/dist/server/totp.js.map +1 -1
  391. package/dist/server/types.d.ts +131 -45
  392. package/dist/server/types.d.ts.map +1 -1
  393. package/dist/server/user/account.js +0 -1
  394. package/dist/server/user/account.js.map +1 -1
  395. package/dist/server/validators.d.ts +930 -944
  396. package/dist/server/validators.d.ts.map +1 -1
  397. package/dist/server/validators.js +66 -39
  398. package/dist/server/validators.js.map +1 -1
  399. package/dist/server/webauthn.js +60 -29
  400. package/dist/server/webauthn.js.map +1 -1
  401. package/dist/shared/brand.d.ts +3 -7
  402. package/dist/shared/brand.d.ts.map +1 -1
  403. package/dist/shared/params.d.ts +78 -0
  404. package/dist/shared/params.d.ts.map +1 -0
  405. package/dist/shared/results.d.ts +13 -1
  406. package/dist/shared/results.d.ts.map +1 -1
  407. package/dist/svelte/context.svelte.d.ts +23 -12
  408. package/dist/svelte/context.svelte.d.ts.map +1 -1
  409. package/dist/svelte/context.svelte.js +20 -13
  410. package/dist/svelte/index.d.ts +1 -4
  411. package/dist/svelte/index.d.ts.map +1 -1
  412. package/dist/svelte/index.js +1 -4
  413. package/dist/test.d.ts +1204 -611
  414. package/dist/test.d.ts.map +1 -1
  415. package/dist/test.js +50 -1
  416. package/dist/test.js.map +1 -1
  417. package/package.json +5 -14
  418. package/dist/_generated/component.d.ts +0 -3074
  419. package/dist/_generated/component.d.ts.map +0 -1
  420. package/dist/component/functions.d.ts +0 -9
  421. package/dist/component/functions.d.ts.map +0 -1
  422. package/dist/component/functions.js +0 -3
  423. package/dist/core/index.d.ts +0 -533
  424. package/dist/core/index.d.ts.map +0 -1
  425. package/dist/core/index.js +0 -86
  426. package/dist/core/index.js.map +0 -1
  427. package/dist/model.js.map +0 -1
  428. package/dist/server/env.d.ts +0 -28
  429. package/dist/server/env.d.ts.map +0 -1
  430. package/dist/svelte/AuthLoading.svelte +0 -13
  431. package/dist/svelte/AuthLoading.svelte.d.ts +0 -8
  432. package/dist/svelte/AuthLoading.svelte.d.ts.map +0 -1
  433. package/dist/svelte/SignedIn.svelte +0 -14
  434. package/dist/svelte/SignedIn.svelte.d.ts +0 -8
  435. package/dist/svelte/SignedIn.svelte.d.ts.map +0 -1
  436. package/dist/svelte/SignedOut.svelte +0 -13
  437. package/dist/svelte/SignedOut.svelte.d.ts +0 -8
  438. package/dist/svelte/SignedOut.svelte.d.ts.map +0 -1
package/README.md CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  Authentication and authorization for Convex applications.
4
4
 
5
- This is a preview release. Install it from the `preview` channel:
5
+ Install the published package:
6
6
 
7
7
  ```sh
8
- pnpm add @estifanos-sh/convex-auth@preview
8
+ npm install @estifanos-sh/convex-auth
9
9
  ```
10
10
 
11
11
  Configure the component in `convex/convex.config.ts`:
@@ -13,8 +13,13 @@ Configure the component in `convex/convex.config.ts`:
13
13
  ```ts
14
14
  import auth from "@estifanos-sh/convex-auth/convex.config";
15
15
  import { defineApp } from "convex/server";
16
+ import { v } from "convex/values";
16
17
 
17
- const app = defineApp();
18
+ const app = defineApp({
19
+ env: {
20
+ CONVEX_SITE_URL: v.string(),
21
+ },
22
+ });
18
23
  app.use(auth);
19
24
 
20
25
  export default app;
@@ -37,16 +42,34 @@ export const auth = defineAuth(components.auth, {
37
42
  permissions,
38
43
  providers: [password(), webauthn()],
39
44
  });
45
+
46
+ export const { signIn, signOut, store } = auth;
47
+ ```
48
+
49
+ Pass the generated actions directly to the browser client. The provider IDs,
50
+ custom credential validators, action results, and enabled factor helpers are
51
+ inferred without a generic or type assertion.
52
+
53
+ ```ts
54
+ import { client } from "@estifanos-sh/convex-auth/browser";
55
+ import { api } from "../convex/_generated/api";
56
+
57
+ export const authClient = client({ convex, api: api.auth });
40
58
  ```
41
59
 
60
+ Convex Auth owns users, provider accounts, credential secrets, passkeys,
61
+ recovery continuations, and sessions. Application tables should reference the
62
+ branded auth `userId`; they should not mirror those records or manufacture auth
63
+ IDs in tests.
64
+
42
65
  Read the [installation guide](https://estifanos.sh/convex-auth/getting-started/installation/)
43
66
  for the complete setup, generated files, environment variables, client bindings,
44
67
  and provider configuration.
45
68
 
46
69
  ## Links
47
70
 
48
- - [Documentation](https://estifanos.sh/convex-auth/)
49
- - [Source](https://github.com/estifanos-sh/convex-auth)
50
- - [Issues](https://github.com/estifanos-sh/convex-auth/issues)
71
+ Read the [documentation](https://estifanos.sh/convex-auth/), browse the
72
+ [source](https://github.com/estifanos-sh/convex-auth), or report an
73
+ [issue](https://github.com/estifanos-sh/convex-auth/issues).
51
74
 
52
75
  Apache-2.0
package/dist/bin.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from "node:module";
3
3
  import { execFileSync } from "node:child_process";
4
- import { existsSync, lstatSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, unlinkSync, writeFileSync } from "node:fs";
4
+ import { existsSync, lstatSync, mkdtempSync, readFileSync, readdirSync, unlinkSync, writeFileSync } from "node:fs";
5
5
  import os, { tmpdir } from "node:os";
6
6
  import path, { dirname, join } from "node:path";
7
7
  import process$1, { stdin, stdout } from "node:process";
@@ -6537,7 +6537,6 @@ async function runSetup(options) {
6537
6537
  await configureConvexConfig(config);
6538
6538
  await initializeAuth(config);
6539
6539
  await initializeHttp(config);
6540
- await initializeAuthCore(config);
6541
6540
  await initializeAuthConfig(config);
6542
6541
  if (options.variables !== void 0) await configureOtherVariables(config, options.variables);
6543
6542
  else printFinalSuccessMessage(config);
@@ -6800,9 +6799,8 @@ async function configureConvexConfig(config) {
6800
6799
  const sourceTemplate = `\
6801
6800
  import { defineApp } from "convex/server";
6802
6801
  import auth from "@estifanos-sh/convex-auth/convex.config";
6803
- import { authEnv } from "@estifanos-sh/convex-auth/server";
6804
6802
 
6805
- const app = defineApp({ env: authEnv });
6803
+ const app = defineApp();
6806
6804
 
6807
6805
  app.use(auth);
6808
6806
 
@@ -6888,36 +6886,6 @@ export default auth.http();
6888
6886
  O.success(`Created ${newPath}`);
6889
6887
  }
6890
6888
  }
6891
- async function initializeAuthCore(config) {
6892
- logStep(config, "Initialize auth/core file");
6893
- const sourceTemplate = `\
6894
- import { createAuthContext } from "@estifanos-sh/convex-auth/core";
6895
- import { components } from "../_generated/api";
6896
-
6897
- export const auth = createAuthContext(components.auth);
6898
- `;
6899
- const source = templateToSource(sourceTemplate);
6900
- const authDir = path.join(config.convexFolderPath, "auth");
6901
- const corePath = path.join(authDir, "core");
6902
- const existingPath = existingNonEmptySourcePath(corePath);
6903
- if (existingPath !== null) if (doesAlreadyMatchTemplate(readFileSync(existingPath, "utf8"), sourceTemplate)) O.success(`${existingPath} is already set up.`);
6904
- else {
6905
- O.info(`You already have ${existingPath}. Make sure it uses createAuthContext:`);
6906
- O.message(indent(`\n${source}\n`));
6907
- const ready = await ot({ message: "Ready to continue?" });
6908
- handleCancel(ready);
6909
- if (!ready) {
6910
- pt("Setup cancelled.");
6911
- process$1.exit(1);
6912
- }
6913
- }
6914
- else {
6915
- if (!existsSync(authDir)) mkdirSync(authDir, { recursive: true });
6916
- const newPath = config.usesTypeScript ? `${corePath}.ts` : `${corePath}.js`;
6917
- writeFileSync(newPath, source);
6918
- O.success(`Created ${newPath}`);
6919
- }
6920
- }
6921
6889
  async function initializeAuthConfig(config) {
6922
6890
  logStep(config, "Initialize auth.config file");
6923
6891
  const sourceTemplate = `\
@@ -16,7 +16,7 @@ import "../client/index.js";
16
16
  * available on the returned client.
17
17
  * @returns A browser auth client with the configured auth helpers.
18
18
  */
19
- declare function client<Api extends AuthApiRefs<boolean, boolean, boolean> = AuthApiRefs>(options: ClientOptions<Api>): PlatformAuthClient<Api>;
19
+ declare function client<Api extends AuthApiRefs = AuthApiRefs>(options: ClientOptions<Api>): PlatformAuthClient<Api>;
20
20
  //#endregion
21
- export { type AuthApiRefs, type PlatformAuthClient as AuthClient, type ClientOptions, client };
21
+ export { type PlatformAuthClient as AuthClient, type ClientOptions, client };
22
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/browser/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;iBAsCgB,MAAA,aAAmB,WAAA,8BAAyC,WAAA,CAAA,CAC1E,OAAA,EAAS,aAAA,CAAc,GAAA,IACtB,kBAAA,CAAmB,GAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/browser/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;iBAsCgB,MAAA,aAAmB,WAAA,GAAc,WAAA,CAAA,CAC/C,OAAA,EAAS,aAAA,CAAc,GAAA,IACtB,kBAAA,CAAmB,GAAA"}
@@ -28,17 +28,23 @@ import { ConvexHttpClient } from "convex/browser";
28
28
  * @returns A browser auth client with the configured auth helpers.
29
29
  */
30
30
  function client(options) {
31
- const proxyMode = options.proxyPath !== void 0;
32
- const url = proxyMode ? void 0 : options.url ?? resolveUrl(options.convex);
31
+ const runtime = mergeBrowserRuntime(options.runtime);
32
+ const adapterFactories = {
33
+ ...options.adapterFactories,
34
+ webauthn: options.adapterFactories?.webauthn ?? ((deps) => createWebAuthnClient(deps))
35
+ };
36
+ if (options.proxyPath !== void 0) return client$1({
37
+ ...options,
38
+ storage: options.storage ?? null,
39
+ runtime,
40
+ adapterFactories
41
+ });
42
+ const url = options.url ?? resolveUrl(options.convex);
33
43
  return client$1({
34
44
  ...options,
35
- storage: options.storage === void 0 && proxyMode ? null : options.storage,
36
- runtime: mergeBrowserRuntime(options.runtime),
37
- adapterFactories: {
38
- ...options.adapterFactories,
39
- webauthn: options.adapterFactories?.webauthn ?? ((deps) => createWebAuthnClient(deps))
40
- },
41
- httpClient: proxyMode ? null : options.httpClient ?? (url ? new ConvexHttpClient(url) : null)
45
+ runtime,
46
+ adapterFactories,
47
+ httpClient: options.httpClient ?? new ConvexHttpClient(url)
42
48
  });
43
49
  }
44
50
  function mergeBrowserRuntime(runtime) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createClient"],"sources":["../../src/browser/index.ts"],"sourcesContent":["/**\n * Browser-first auth client for `@estifanos-sh/convex-auth/browser`.\n *\n * This entrypoint wraps the framework-agnostic `client(...)`\n * helper with browser defaults such as `ConvexHttpClient`, local storage, URL\n * replacement, OAuth launching, and WebAuthn adapters.\n *\n * @module\n */\n\nimport { ConvexHttpClient } from \"convex/browser\";\n\nimport {\n client as createClient,\n resolveUrl,\n type AuthApiRefs,\n type ClientOptions,\n type PlatformAuthClient,\n} from \"../client/index\";\nimport { createWebAuthnClient } from \"./webauthn\";\nimport { createBrowserRuntime } from \"./runtime\";\n\nexport type { AuthApiRefs, PlatformAuthClient as AuthClient, ClientOptions } from \"../client/index\";\n\n/**\n * Create a browser-configured auth client.\n *\n * Applies browser runtime defaults (`ConvexHttpClient` transport, local\n * storage, URL cleanup, OAuth launch, WebAuthn support) on top of the\n * framework-agnostic `client(...)` helper, then returns it directly — the core\n * owns OAuth launch/completion and initialization, driven by the injected\n * browser runtime.\n *\n * @param options - Browser client configuration. See {@link ClientOptions}.\n * @typeParam Api - Auth API references that control which factor helpers are\n * available on the returned client.\n * @returns A browser auth client with the configured auth helpers.\n */\nexport function client<Api extends AuthApiRefs<boolean, boolean, boolean> = AuthApiRefs>(\n options: ClientOptions<Api>,\n): PlatformAuthClient<Api> {\n const proxyMode = options.proxyPath !== undefined;\n const url = proxyMode ? undefined : (options.url ?? resolveUrl(options.convex));\n\n return createClient({\n ...options,\n storage: options.storage === undefined && proxyMode ? null : options.storage,\n runtime: mergeBrowserRuntime(options.runtime),\n adapterFactories: {\n ...options.adapterFactories,\n webauthn: options.adapterFactories?.webauthn ?? ((deps) => createWebAuthnClient(deps)),\n },\n httpClient: proxyMode ? null : (options.httpClient ?? (url ? new ConvexHttpClient(url) : null)),\n }) as PlatformAuthClient<Api>;\n}\n\nfunction mergeBrowserRuntime(\n runtime: ClientOptions[\"runtime\"],\n): NonNullable<ClientOptions[\"runtime\"]> {\n const defaults = createBrowserRuntime();\n return {\n ...defaults,\n ...runtime,\n environment: runtime?.environment ?? defaults.environment,\n proxy: runtime?.proxy ?? defaults.proxy,\n storage: runtime?.storage === undefined ? defaults.storage : runtime.storage,\n location: runtime?.location ?? defaults.location,\n oauth: runtime?.oauth ?? defaults.oauth,\n sync: runtime?.sync ?? defaults.sync,\n mutex: runtime?.mutex ?? defaults.mutex,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAAgB,OACd,SACyB;CACzB,MAAM,YAAY,QAAQ,cAAc;CACxC,MAAM,MAAM,YAAY,SAAa,QAAQ,OAAO,WAAW,QAAQ,OAAO;AAE9E,QAAOA,SAAa;EAClB,GAAG;EACH,SAAS,QAAQ,YAAY,UAAa,YAAY,OAAO,QAAQ;EACrE,SAAS,oBAAoB,QAAQ,QAAQ;EAC7C,kBAAkB;GAChB,GAAG,QAAQ;GACX,UAAU,QAAQ,kBAAkB,cAAc,SAAS,qBAAqB,KAAK;GACtF;EACD,YAAY,YAAY,OAAQ,QAAQ,eAAe,MAAM,IAAI,iBAAiB,IAAI,GAAG;EAC1F,CAAC;;AAGJ,SAAS,oBACP,SACuC;CACvC,MAAM,WAAW,sBAAsB;AACvC,QAAO;EACL,GAAG;EACH,GAAG;EACH,aAAa,SAAS,eAAe,SAAS;EAC9C,OAAO,SAAS,SAAS,SAAS;EAClC,SAAS,SAAS,YAAY,SAAY,SAAS,UAAU,QAAQ;EACrE,UAAU,SAAS,YAAY,SAAS;EACxC,OAAO,SAAS,SAAS,SAAS;EAClC,MAAM,SAAS,QAAQ,SAAS;EAChC,OAAO,SAAS,SAAS,SAAS;EACnC"}
1
+ {"version":3,"file":"index.js","names":["createClient"],"sources":["../../src/browser/index.ts"],"sourcesContent":["/**\n * Browser-first auth client for `@estifanos-sh/convex-auth/browser`.\n *\n * This entrypoint wraps the framework-agnostic `client(...)`\n * helper with browser defaults such as `ConvexHttpClient`, local storage, URL\n * replacement, OAuth launching, and WebAuthn adapters.\n *\n * @module\n */\n\nimport { ConvexHttpClient } from \"convex/browser\";\n\nimport {\n client as createClient,\n resolveUrl,\n type ClientOptions,\n type PlatformAuthClient,\n} from \"../client/index\";\nimport type { AuthApiRefs } from \"../client/core/types\";\nimport { createWebAuthnClient } from \"./webauthn\";\nimport { createBrowserRuntime } from \"./runtime\";\n\nexport type { PlatformAuthClient as AuthClient, ClientOptions } from \"../client/index\";\n\n/**\n * Create a browser-configured auth client.\n *\n * Applies browser runtime defaults (`ConvexHttpClient` transport, local\n * storage, URL cleanup, OAuth launch, WebAuthn support) on top of the\n * framework-agnostic `client(...)` helper, then returns it directly — the core\n * owns OAuth launch/completion and initialization, driven by the injected\n * browser runtime.\n *\n * @param options - Browser client configuration. See {@link ClientOptions}.\n * @typeParam Api - Auth API references that control which factor helpers are\n * available on the returned client.\n * @returns A browser auth client with the configured auth helpers.\n */\nexport function client<Api extends AuthApiRefs = AuthApiRefs>(\n options: ClientOptions<Api>,\n): PlatformAuthClient<Api> {\n const runtime = mergeBrowserRuntime(options.runtime);\n const adapterFactories = {\n ...options.adapterFactories,\n webauthn: options.adapterFactories?.webauthn ?? ((deps) => createWebAuthnClient(deps)),\n };\n\n if (options.proxyPath !== undefined) {\n return createClient<Api>({\n ...options,\n storage: options.storage ?? null,\n runtime,\n adapterFactories,\n }) as unknown as PlatformAuthClient<Api>;\n }\n\n const url = options.url ?? resolveUrl(options.convex);\n return createClient<Api>({\n ...options,\n runtime,\n adapterFactories,\n httpClient: options.httpClient ?? new ConvexHttpClient(url),\n }) as unknown as PlatformAuthClient<Api>;\n}\n\nfunction mergeBrowserRuntime(\n runtime: ClientOptions[\"runtime\"],\n): NonNullable<ClientOptions[\"runtime\"]> {\n const defaults = createBrowserRuntime();\n return {\n ...defaults,\n ...runtime,\n environment: runtime?.environment ?? defaults.environment,\n proxy: runtime?.proxy ?? defaults.proxy,\n storage: runtime?.storage === undefined ? defaults.storage : runtime.storage,\n location: runtime?.location ?? defaults.location,\n oauth: runtime?.oauth ?? defaults.oauth,\n sync: runtime?.sync ?? defaults.sync,\n mutex: runtime?.mutex ?? defaults.mutex,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAAgB,OACd,SACyB;CACzB,MAAM,UAAU,oBAAoB,QAAQ,QAAQ;CACpD,MAAM,mBAAmB;EACvB,GAAG,QAAQ;EACX,UAAU,QAAQ,kBAAkB,cAAc,SAAS,qBAAqB,KAAK;EACtF;AAED,KAAI,QAAQ,cAAc,OACxB,QAAOA,SAAkB;EACvB,GAAG;EACH,SAAS,QAAQ,WAAW;EAC5B;EACA;EACD,CAAC;CAGJ,MAAM,MAAM,QAAQ,OAAO,WAAW,QAAQ,OAAO;AACrD,QAAOA,SAAkB;EACvB,GAAG;EACH;EACA;EACA,YAAY,QAAQ,cAAc,IAAI,iBAAiB,IAAI;EAC5D,CAAC;;AAGJ,SAAS,oBACP,SACuC;CACvC,MAAM,WAAW,sBAAsB;AACvC,QAAO;EACL,GAAG;EACH,GAAG;EACH,aAAa,SAAS,eAAe,SAAS;EAC9C,OAAO,SAAS,SAAS,SAAS;EAClC,SAAS,SAAS,YAAY,SAAY,SAAS,UAAU,QAAQ;EACrE,UAAU,SAAS,YAAY,SAAS;EACxC,OAAO,SAAS,SAAS,SAAS;EAClC,MAAM,SAAS,QAAQ,SAAS;EAChC,OAAO,SAAS,SAAS,SAAS;EACnC"}
@@ -1,7 +1,8 @@
1
+ import { AnonymousParams, CodeParams, ConnectionParams, EmailParams, OAuthParams, PasswordParams } from "../../shared/params.js";
1
2
  import { AuthParameters } from "../../shared/results.js";
2
3
  import { ErrorCode } from "../../shared/codes.js";
3
4
  import { Value } from "convex/values";
4
- import { FunctionReference } from "convex/server";
5
+ import { FunctionArgs, FunctionReference } from "convex/server";
5
6
 
6
7
  //#region src/client/core/types.d.ts
7
8
  /**
@@ -141,8 +142,19 @@ type AuthSubscriber = (state: AuthState) => void;
141
142
  * @typeParam HasTotp - Whether the TOTP provider is configured.
142
143
  * @typeParam HasDevice - Whether the device provider is configured.
143
144
  */
144
- type AuthApiRefs<HasWebAuthn extends boolean = boolean, HasTotp extends boolean = boolean, HasDevice extends boolean = boolean> = {
145
- signIn: FunctionReference<"action", "public", Record<string, Value>, unknown>;
145
+ type DefaultSignInReference = FunctionReference<"action", "public", {
146
+ request: {
147
+ provider?: string;
148
+ params?: AuthParameters;
149
+ refreshToken?: string;
150
+ };
151
+ verifier?: string;
152
+ continuation?: string;
153
+ calledBy?: string;
154
+ }, unknown>;
155
+ type AnySignInReference = FunctionReference<"action", "public", any, any>;
156
+ type AuthApiRefs<SignIn extends AnySignInReference = DefaultSignInReference> = {
157
+ signIn: SignIn;
146
158
  signOut: FunctionReference<"action", "public", Record<string, Value>, unknown>;
147
159
  };
148
160
  /**
@@ -379,14 +391,15 @@ interface DeviceClient {
379
391
  *
380
392
  * @typeParam Api - An AuthApiRefs type to extract capability flags from.
381
393
  */
382
- type InferCaps<Api extends AuthApiRefs<boolean, boolean, boolean>> = Api extends AuthApiRefs<infer P, infer T, infer D> ? {
383
- webauthn: P;
384
- totp: T;
385
- device: D;
386
- } : {
387
- webauthn: boolean;
388
- totp: boolean;
389
- device: boolean;
394
+ type SignInRequest<Api extends AuthApiRefs> = FunctionArgs<Api["signIn"]> extends infer Args ? Args extends {
395
+ request: infer Request;
396
+ } ? Request : Args : never;
397
+ type ProviderIds<Api extends AuthApiRefs> = [Api["signIn"]] extends [never] ? string : SignInRequest<Api> extends infer Args ? Args extends unknown ? "provider" extends keyof Args ? Exclude<Args[keyof Args & "provider"], undefined> : never : never : never;
398
+ type HasProvider<Api extends AuthApiRefs, Id extends string> = string extends ProviderIds<Api> ? boolean : Id extends ProviderIds<Api> ? true : false;
399
+ type InferCaps<Api extends AuthApiRefs> = {
400
+ webauthn: HasProvider<Api, "webauthn">;
401
+ totp: HasProvider<Api, "totp">;
402
+ device: HasProvider<Api, "device">;
390
403
  };
391
404
  /**
392
405
  * Include a capability when configured, omit it when disabled, and keep it
@@ -415,72 +428,16 @@ interface PendingInvite {
415
428
  token: string;
416
429
  }>;
417
430
  }
418
- /**
419
- * Discriminated union of params for the password provider's flows.
420
- *
421
- * Each branch maps to one of the six password flows: `signUp`, `signIn`,
422
- * `reset`, `recover`, `verify`, `change`. Selecting a `flow` literal narrows the
423
- * accepted params automatically.
424
- */
425
- type PasswordParams = {
426
- flow: "signUp";
427
- email: string;
428
- password: string;
429
- redirectTo?: string;
430
- } | {
431
- flow: "signIn";
432
- email: string;
433
- password: string;
434
- redirectTo?: string;
435
- } | {
436
- flow: "reset";
437
- email: string;
438
- redirectTo?: string;
439
- } | {
440
- flow: "recover";
441
- email: string;
442
- code: string;
443
- newPassword: string;
444
- redirectTo?: string;
445
- } | {
446
- flow: "verify";
447
- email: string;
448
- code: string;
449
- redirectTo?: string;
450
- } | {
451
- flow: "change";
452
- email: string;
453
- currentPassword: string;
454
- newPassword: string;
455
- redirectTo?: string;
456
- };
457
431
  /** Params for the email (magic link) provider's initiation step. */
458
- type EmailInitiateParams = {
459
- email: string;
460
- redirectTo?: string;
461
- };
432
+ type EmailInitiateParams = EmailParams;
462
433
  /**
463
434
  * Params for completing a code-based flow (no provider). Used to finalise
464
435
  * email magic-link sign-ins and other provider-owned code flows when the
465
436
  * verification call is made without re-specifying the originating provider.
466
437
  */
467
- type CodeCompletionParams = {
468
- code: string;
469
- redirectTo?: string;
470
- };
471
- /** Params for the `connection` provider — requires a connection ID. */
472
- type ConnectionParams = {
473
- connectionId: string;
474
- redirectTo?: string;
475
- };
476
- /** Params for the anonymous provider. Empty / `redirectTo` only. */
477
- type AnonymousParams = {
478
- redirectTo?: string;
479
- };
438
+ type CodeCompletionParams = CodeParams;
480
439
  /** Default params shape for OAuth-style providers (google, github, etc.). */
481
- type OAuthSignInParams = {
482
- redirectTo?: string;
483
- };
440
+ type OAuthSignInParams = OAuthParams;
484
441
  /**
485
442
  * Resolves the `params` argument shape from the `provider` literal.
486
443
  *
@@ -488,12 +445,21 @@ type OAuthSignInParams = {
488
445
  * Any other string falls back to OAuth-style params, since custom OAuth
489
446
  * providers can be registered under arbitrary IDs.
490
447
  */
491
- type ParamsForProvider<P> = P extends "password" ? PasswordParams : P extends "email" ? EmailInitiateParams : P extends "anonymous" ? AnonymousParams | undefined : P extends "connection" ? ConnectionParams : P extends "webauthn" ? never : P extends undefined ? CodeCompletionParams : OAuthSignInParams | undefined;
448
+ type DefaultParamsForProvider<P> = P extends "password" ? PasswordParams : P extends "email" ? EmailInitiateParams : P extends "anonymous" ? AnonymousParams | undefined : P extends "connection" ? ConnectionParams : P extends "webauthn" ? never : P extends undefined ? CodeCompletionParams : OAuthSignInParams | undefined;
449
+ type ConfiguredProviderArgs<Api extends AuthApiRefs, P> = SignInRequest<Api> extends infer Args ? (Args extends {
450
+ provider: P;
451
+ } ? Args : never) : never;
452
+ /** Resolve a provider's exact params from the generated auth action reference. */
453
+ type ParamsForProvider<Api extends AuthApiRefs, P> = string extends ProviderIds<Api> ? DefaultParamsForProvider<P> : P extends "webauthn" | "totp" | "device" ? never : P extends "connection" ? ConnectionParams : [P] extends [undefined] ? CodeCompletionParams : ConfiguredProviderArgs<Api, P> extends infer Args ? [Args] extends [never] ? never : Args extends {
454
+ params: infer Params;
455
+ } ? Params : Args extends {
456
+ params?: infer Params;
457
+ } ? Params | undefined : undefined : never;
492
458
  /**
493
459
  * Tuple-rest helper that flips `params` between required and optional based
494
460
  * on whether `undefined` is in its resolved type.
495
461
  */
496
- type SignInArgs<P> = undefined extends ParamsForProvider<P> ? [params?: ParamsForProvider<P>] : [params: ParamsForProvider<P>];
462
+ type SignInArgs<Api extends AuthApiRefs, P> = undefined extends ParamsForProvider<Api, P> ? [params?: ParamsForProvider<Api, P>] : [params: ParamsForProvider<Api, P>];
497
463
  /**
498
464
  * Public signature for `auth.signIn`. The provider literal discriminates the
499
465
  * params shape via {@link ParamsForProvider}, and the params slot is
@@ -506,9 +472,9 @@ type SignInArgs<P> = undefined extends ParamsForProvider<P> ? [params?: ParamsFo
506
472
  * auth.signIn("anonymous"); // params optional
507
473
  * ```
508
474
  */
509
- type SignInOverloads = <const P extends string | undefined>(provider: P, ...args: SignInArgs<P>) => Promise<SignInResult>;
475
+ type SignInOverloads<Api extends AuthApiRefs = AuthApiRefs> = <const P extends ProviderIds<Api> | undefined>(provider: P, ...args: SignInArgs<Api, P>) => Promise<SignInResult>;
510
476
  /** Base auth client — always present. */
511
- interface AuthClientBase {
477
+ interface AuthClientBase<Api extends AuthApiRefs> {
512
478
  /** Restore initial auth state for the current runtime. */
513
479
  initialize: () => Promise<void>;
514
480
  /** SSR-safe query-param reader. */
@@ -523,7 +489,7 @@ interface AuthClientBase {
523
489
  code: string;
524
490
  }) => Promise<OAuthCompletionResult>;
525
491
  /** Start a sign-in flow for a provider. */
526
- signIn: SignInOverloads;
492
+ signIn: SignInOverloads<Api>;
527
493
  /** Sign out and clear local auth state. */
528
494
  signOut: () => Promise<void>;
529
495
  /** Subscribe to auth state changes; returns an unsubscribe. */
@@ -542,7 +508,7 @@ interface AuthClientBase {
542
508
  *
543
509
  * @typeParam Api - An AuthApiRefs type that determines which factor helpers are included.
544
510
  */
545
- type AuthClient<Api extends AuthApiRefs<boolean, boolean, boolean> = AuthApiRefs> = AuthClientBase & CapabilityClient<InferCaps<Api>["totp"], "totp", TotpClient> & CapabilityClient<InferCaps<Api>["device"], "device", DeviceClient>;
511
+ type AuthClient<Api extends AuthApiRefs = AuthApiRefs> = AuthClientBase<Api> & CapabilityClient<InferCaps<Api>["totp"], "totp", TotpClient> & CapabilityClient<InferCaps<Api>["device"], "device", DeviceClient>;
546
512
  /**
547
513
  * Browser auth client return type.
548
514
  *
@@ -551,28 +517,18 @@ type AuthClient<Api extends AuthApiRefs<boolean, boolean, boolean> = AuthApiRefs
551
517
  *
552
518
  * @typeParam Api - An AuthApiRefs type that determines which factor helpers are included.
553
519
  */
554
- type PlatformAuthClient<Api extends AuthApiRefs<boolean, boolean, boolean> = AuthApiRefs> = AuthClient<Api> & CapabilityClient<InferCaps<Api>["webauthn"], "webauthn", WebAuthnClient>;
520
+ type PlatformAuthClient<Api extends AuthApiRefs = AuthApiRefs> = AuthClient<Api> & CapabilityClient<InferCaps<Api>["webauthn"], "webauthn", WebAuthnClient>;
555
521
  /**
556
522
  * Options for {@link client}.
557
523
  *
558
524
  * @typeParam Api - An AuthApiRefs type.
559
525
  */
560
- type ClientOptions<Api extends AuthApiRefs<boolean, boolean, boolean> = AuthApiRefs> = {
526
+ type ClientOptionsBase = {
561
527
  /** Any Convex client implementation used to run auth actions. */convex: ConvexTransport; /** Platform runtime implementation used by the client core. */
562
528
  runtime?: ClientRuntime; /** Platform-specific factor adapters supplied by higher-level entrypoints. */
563
529
  adapters?: ClientAdapters; /** Platform-specific adapter factories supplied by higher-level entrypoints. */
564
- adapterFactories?: ClientAdapterFactories;
565
- /**
566
- * Typed auth function refs from your generated `api` object.
567
- * Required outside proxy mode.
568
- */
569
- api?: Api; /** Explicit Convex deployment URL when it cannot be inferred from the client. */
530
+ adapterFactories?: ClientAdapterFactories; /** Explicit Convex deployment URL when it cannot be inferred from the client. */
570
531
  url?: string;
571
- /**
572
- * Optional action-only transport for direct code exchange outside proxy mode.
573
- * Required in non-browser runtimes when `proxyPath` is not set.
574
- */
575
- httpClient?: ActionTransport | null;
576
532
  /**
577
533
  * Storage backend for persisted tokens.
578
534
  *
@@ -587,13 +543,7 @@ type ClientOptions<Api extends AuthApiRefs<boolean, boolean, boolean> = AuthApiR
587
543
  * persisted value from `storage` instead. Ongoing persistence always uses
588
544
  * `storage`.
589
545
  */
590
- token?: string | null;
591
- /**
592
- * Proxy endpoint used instead of direct Convex auth calls.
593
- * When set, provide `runtime.proxy` and omit direct `api`/`httpClient`
594
- * transport requirements.
595
- */
596
- proxyPath?: string; /** SSR-safe URL source for reading query parameters. */
546
+ token?: string | null; /** SSR-safe URL source for reading query parameters. */
597
547
  location?: URL | (() => URL | null);
598
548
  /**
599
549
  * Default OAuth `redirectTo` applied to `signIn` calls that omit it. Platform
@@ -608,6 +558,27 @@ type ClientOptions<Api extends AuthApiRefs<boolean, boolean, boolean> = AuthApiR
608
558
  */
609
559
  handshakeTimeoutMs?: number;
610
560
  };
561
+ /** Direct Convex mode. Generated auth references are the client contract. */
562
+ type DirectClientOptions<Api extends AuthApiRefs = AuthApiRefs> = ClientOptionsBase & {
563
+ /** Typed auth function refs from the application's generated `api` object. */api: Api; /** Proxy transport and direct transport are mutually exclusive. */
564
+ proxyPath?: never;
565
+ /**
566
+ * Action-only transport used for direct code exchange. Browser and Expo
567
+ * entrypoints provide one automatically; headless runtimes must inject it.
568
+ */
569
+ httpClient?: ActionTransport | null;
570
+ };
571
+ /** HTTP proxy mode. The proxy owns the Convex function references. */
572
+ type ProxyClientOptions = ClientOptionsBase & {
573
+ /** Proxy endpoint used instead of direct Convex auth calls. */proxyPath: string; /** Generated references belong to direct mode and cannot be mixed with a proxy. */
574
+ api?: never; /** Direct action transports belong to direct mode. */
575
+ httpClient?: never;
576
+ };
577
+ /**
578
+ * Client configuration. Selecting direct or proxy mode makes every required
579
+ * transport explicit and prevents the two modes from being combined.
580
+ */
581
+ type ClientOptions<Api extends AuthApiRefs = AuthApiRefs> = DirectClientOptions<Api> | ProxyClientOptions;
611
582
  type OAuthCompletionResult = {
612
583
  handled: false;
613
584
  } | {
@@ -615,5 +586,5 @@ type OAuthCompletionResult = {
615
586
  cleanupUrl: URL | null;
616
587
  };
617
588
  //#endregion
618
- export { AnonymousParams, AuthApiRefs, AuthClient, AuthState, ClientOptions, ClientRuntime, CodeCompletionParams, ConnectionParams, DeviceClient, DeviceCodeResult, DevicePollParams, DeviceVerifyParams, EmailInitiateParams, OAuthCompletionResult, OAuthSignInParams, ParamsForProvider, PasswordParams, PendingInvite, PlatformAuthClient, SignInOverloads, SignInResult, Storage, TotpClient, TotpConfirmParams, TotpSetupOptions, TotpSetupResult, TotpVerifyParams, WebAuthnClient, WebAuthnRegisterOptions, WebAuthnSignInOptions };
589
+ export { AuthApiRefs, AuthClient, AuthState, AuthSubscriber, ClientOptions, ClientRuntime, CodeCompletionParams, DeviceClient, DeviceCodeResult, DevicePollParams, DeviceVerifyParams, EmailInitiateParams, OAuthCompletionResult, OAuthSignInParams, PendingInvite, PlatformAuthClient, SignInResult, Storage, TotpClient, TotpConfirmParams, TotpSetupOptions, TotpSetupResult, TotpVerifyParams, WebAuthnClient, WebAuthnRegisterOptions, WebAuthnSignInOptions };
619
590
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/client/core/types.ts"],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/client/core/types.ts"],"mappings":"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"}