@kaiz11/stack-client 0.0.14

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 (263) hide show
  1. package/LICENSE +32 -0
  2. package/README.md +586 -0
  3. package/dist/accounts/accounts-client.d.ts +188 -0
  4. package/dist/accounts/accounts-client.d.ts.map +1 -0
  5. package/dist/accounts/accounts-client.js +264 -0
  6. package/dist/accounts/accounts-client.js.map +1 -0
  7. package/dist/accounts/index.d.ts +8 -0
  8. package/dist/accounts/index.d.ts.map +1 -0
  9. package/dist/accounts/index.js +8 -0
  10. package/dist/accounts/index.js.map +1 -0
  11. package/dist/accounts/mock-accounts.d.ts +90 -0
  12. package/dist/accounts/mock-accounts.d.ts.map +1 -0
  13. package/dist/accounts/mock-accounts.js +434 -0
  14. package/dist/accounts/mock-accounts.js.map +1 -0
  15. package/dist/accounts/types.d.ts +180 -0
  16. package/dist/accounts/types.d.ts.map +1 -0
  17. package/dist/accounts/types.js +59 -0
  18. package/dist/accounts/types.js.map +1 -0
  19. package/dist/auth/auth-client.d.ts +224 -0
  20. package/dist/auth/auth-client.d.ts.map +1 -0
  21. package/dist/auth/auth-client.js +230 -0
  22. package/dist/auth/auth-client.js.map +1 -0
  23. package/dist/auth/base-auth.d.ts +44 -0
  24. package/dist/auth/base-auth.d.ts.map +1 -0
  25. package/dist/auth/base-auth.js +55 -0
  26. package/dist/auth/base-auth.js.map +1 -0
  27. package/dist/auth/index.d.ts +11 -0
  28. package/dist/auth/index.d.ts.map +1 -0
  29. package/dist/auth/index.js +11 -0
  30. package/dist/auth/index.js.map +1 -0
  31. package/dist/auth/methods/admin.d.ts +59 -0
  32. package/dist/auth/methods/admin.d.ts.map +1 -0
  33. package/dist/auth/methods/admin.js +55 -0
  34. package/dist/auth/methods/admin.js.map +1 -0
  35. package/dist/auth/methods/index.d.ts +9 -0
  36. package/dist/auth/methods/index.d.ts.map +1 -0
  37. package/dist/auth/methods/index.js +8 -0
  38. package/dist/auth/methods/index.js.map +1 -0
  39. package/dist/auth/methods/magic-link.d.ts +27 -0
  40. package/dist/auth/methods/magic-link.d.ts.map +1 -0
  41. package/dist/auth/methods/magic-link.js +37 -0
  42. package/dist/auth/methods/magic-link.js.map +1 -0
  43. package/dist/auth/methods/mfa.d.ts +92 -0
  44. package/dist/auth/methods/mfa.d.ts.map +1 -0
  45. package/dist/auth/methods/mfa.js +153 -0
  46. package/dist/auth/methods/mfa.js.map +1 -0
  47. package/dist/auth/methods/oauth.d.ts +62 -0
  48. package/dist/auth/methods/oauth.d.ts.map +1 -0
  49. package/dist/auth/methods/oauth.js +165 -0
  50. package/dist/auth/methods/oauth.js.map +1 -0
  51. package/dist/auth/methods/otp.d.ts +43 -0
  52. package/dist/auth/methods/otp.d.ts.map +1 -0
  53. package/dist/auth/methods/otp.js +66 -0
  54. package/dist/auth/methods/otp.js.map +1 -0
  55. package/dist/auth/methods/password.d.ts +64 -0
  56. package/dist/auth/methods/password.d.ts.map +1 -0
  57. package/dist/auth/methods/password.js +116 -0
  58. package/dist/auth/methods/password.js.map +1 -0
  59. package/dist/auth/methods/recovery.d.ts +62 -0
  60. package/dist/auth/methods/recovery.d.ts.map +1 -0
  61. package/dist/auth/methods/recovery.js +100 -0
  62. package/dist/auth/methods/recovery.js.map +1 -0
  63. package/dist/auth/mock-auth.d.ts +135 -0
  64. package/dist/auth/mock-auth.d.ts.map +1 -0
  65. package/dist/auth/mock-auth.js +417 -0
  66. package/dist/auth/mock-auth.js.map +1 -0
  67. package/dist/auth/server/helpers.d.ts +215 -0
  68. package/dist/auth/server/helpers.d.ts.map +1 -0
  69. package/dist/auth/server/helpers.js +241 -0
  70. package/dist/auth/server/helpers.js.map +1 -0
  71. package/dist/auth/server/index.d.ts +24 -0
  72. package/dist/auth/server/index.d.ts.map +1 -0
  73. package/dist/auth/server/index.js +40 -0
  74. package/dist/auth/server/index.js.map +1 -0
  75. package/dist/auth/server/middleware.d.ts +305 -0
  76. package/dist/auth/server/middleware.d.ts.map +1 -0
  77. package/dist/auth/server/middleware.js +405 -0
  78. package/dist/auth/server/middleware.js.map +1 -0
  79. package/dist/auth/server/verify.d.ts +184 -0
  80. package/dist/auth/server/verify.d.ts.map +1 -0
  81. package/dist/auth/server/verify.js +222 -0
  82. package/dist/auth/server/verify.js.map +1 -0
  83. package/dist/auth/token-manager.d.ts +94 -0
  84. package/dist/auth/token-manager.d.ts.map +1 -0
  85. package/dist/auth/token-manager.js +231 -0
  86. package/dist/auth/token-manager.js.map +1 -0
  87. package/dist/auth/types.d.ts +412 -0
  88. package/dist/auth/types.d.ts.map +1 -0
  89. package/dist/auth/types.js +66 -0
  90. package/dist/auth/types.js.map +1 -0
  91. package/dist/auth/user/identities.d.ts +62 -0
  92. package/dist/auth/user/identities.d.ts.map +1 -0
  93. package/dist/auth/user/identities.js +88 -0
  94. package/dist/auth/user/identities.js.map +1 -0
  95. package/dist/auth/user/index.d.ts +4 -0
  96. package/dist/auth/user/index.d.ts.map +1 -0
  97. package/dist/auth/user/index.js +4 -0
  98. package/dist/auth/user/index.js.map +1 -0
  99. package/dist/auth/user/user.d.ts +64 -0
  100. package/dist/auth/user/user.d.ts.map +1 -0
  101. package/dist/auth/user/user.js +105 -0
  102. package/dist/auth/user/user.js.map +1 -0
  103. package/dist/auth/user/verification.d.ts +49 -0
  104. package/dist/auth/user/verification.d.ts.map +1 -0
  105. package/dist/auth/user/verification.js +71 -0
  106. package/dist/auth/user/verification.js.map +1 -0
  107. package/dist/cli/browser.d.ts +11 -0
  108. package/dist/cli/browser.d.ts.map +1 -0
  109. package/dist/cli/browser.js +35 -0
  110. package/dist/cli/browser.js.map +1 -0
  111. package/dist/cli/callback-server.d.ts +30 -0
  112. package/dist/cli/callback-server.d.ts.map +1 -0
  113. package/dist/cli/callback-server.js +100 -0
  114. package/dist/cli/callback-server.js.map +1 -0
  115. package/dist/cli/file-token-store.d.ts +79 -0
  116. package/dist/cli/file-token-store.d.ts.map +1 -0
  117. package/dist/cli/file-token-store.js +138 -0
  118. package/dist/cli/file-token-store.js.map +1 -0
  119. package/dist/cli/index.d.ts +33 -0
  120. package/dist/cli/index.d.ts.map +1 -0
  121. package/dist/cli/index.js +38 -0
  122. package/dist/cli/index.js.map +1 -0
  123. package/dist/cli/oauth.d.ts +67 -0
  124. package/dist/cli/oauth.d.ts.map +1 -0
  125. package/dist/cli/oauth.js +101 -0
  126. package/dist/cli/oauth.js.map +1 -0
  127. package/dist/cli/pkce.d.ts +35 -0
  128. package/dist/cli/pkce.d.ts.map +1 -0
  129. package/dist/cli/pkce.js +43 -0
  130. package/dist/cli/pkce.js.map +1 -0
  131. package/dist/client.d.ts +22 -0
  132. package/dist/client.d.ts.map +1 -0
  133. package/dist/client.js +99 -0
  134. package/dist/client.js.map +1 -0
  135. package/dist/db/client.d.ts +9 -0
  136. package/dist/db/client.d.ts.map +1 -0
  137. package/dist/db/client.js +19 -0
  138. package/dist/db/client.js.map +1 -0
  139. package/dist/db/errors.d.ts +19 -0
  140. package/dist/db/errors.d.ts.map +1 -0
  141. package/dist/db/errors.js +57 -0
  142. package/dist/db/errors.js.map +1 -0
  143. package/dist/db/index.d.ts +7 -0
  144. package/dist/db/index.d.ts.map +1 -0
  145. package/dist/db/index.js +5 -0
  146. package/dist/db/index.js.map +1 -0
  147. package/dist/db/mock.d.ts +28 -0
  148. package/dist/db/mock.d.ts.map +1 -0
  149. package/dist/db/mock.js +459 -0
  150. package/dist/db/mock.js.map +1 -0
  151. package/dist/db/types.d.ts +73 -0
  152. package/dist/db/types.d.ts.map +1 -0
  153. package/dist/db/types.js +2 -0
  154. package/dist/db/types.js.map +1 -0
  155. package/dist/index.d.ts +21 -0
  156. package/dist/index.d.ts.map +1 -0
  157. package/dist/index.js +20 -0
  158. package/dist/index.js.map +1 -0
  159. package/dist/lib/errors.d.ts +33 -0
  160. package/dist/lib/errors.d.ts.map +1 -0
  161. package/dist/lib/errors.js +76 -0
  162. package/dist/lib/errors.js.map +1 -0
  163. package/dist/lib/http.d.ts +81 -0
  164. package/dist/lib/http.d.ts.map +1 -0
  165. package/dist/lib/http.js +163 -0
  166. package/dist/lib/http.js.map +1 -0
  167. package/dist/lib/keys.d.ts +87 -0
  168. package/dist/lib/keys.d.ts.map +1 -0
  169. package/dist/lib/keys.js +147 -0
  170. package/dist/lib/keys.js.map +1 -0
  171. package/dist/lib/paths.d.ts +37 -0
  172. package/dist/lib/paths.d.ts.map +1 -0
  173. package/dist/lib/paths.js +49 -0
  174. package/dist/lib/paths.js.map +1 -0
  175. package/dist/lib/token-store.d.ts +42 -0
  176. package/dist/lib/token-store.d.ts.map +1 -0
  177. package/dist/lib/token-store.js +75 -0
  178. package/dist/lib/token-store.js.map +1 -0
  179. package/dist/mocks/handlers.d.ts +29 -0
  180. package/dist/mocks/handlers.d.ts.map +1 -0
  181. package/dist/mocks/handlers.js +79 -0
  182. package/dist/mocks/handlers.js.map +1 -0
  183. package/dist/mocks/index.d.ts +5 -0
  184. package/dist/mocks/index.d.ts.map +1 -0
  185. package/dist/mocks/index.js +9 -0
  186. package/dist/mocks/index.js.map +1 -0
  187. package/dist/mocks/responses.d.ts +76 -0
  188. package/dist/mocks/responses.d.ts.map +1 -0
  189. package/dist/mocks/responses.js +91 -0
  190. package/dist/mocks/responses.js.map +1 -0
  191. package/dist/mocks/server.d.ts +7 -0
  192. package/dist/mocks/server.d.ts.map +1 -0
  193. package/dist/mocks/server.js +9 -0
  194. package/dist/mocks/server.js.map +1 -0
  195. package/dist/mocks/state.d.ts +86 -0
  196. package/dist/mocks/state.d.ts.map +1 -0
  197. package/dist/mocks/state.js +77 -0
  198. package/dist/mocks/state.js.map +1 -0
  199. package/dist/storage/bucket-ref.d.ts +183 -0
  200. package/dist/storage/bucket-ref.d.ts.map +1 -0
  201. package/dist/storage/bucket-ref.js +529 -0
  202. package/dist/storage/bucket-ref.js.map +1 -0
  203. package/dist/storage/errors.d.ts +27 -0
  204. package/dist/storage/errors.d.ts.map +1 -0
  205. package/dist/storage/errors.js +89 -0
  206. package/dist/storage/errors.js.map +1 -0
  207. package/dist/storage/index.d.ts +13 -0
  208. package/dist/storage/index.d.ts.map +1 -0
  209. package/dist/storage/index.js +11 -0
  210. package/dist/storage/index.js.map +1 -0
  211. package/dist/storage/interface.d.ts +245 -0
  212. package/dist/storage/interface.d.ts.map +1 -0
  213. package/dist/storage/interface.js +2 -0
  214. package/dist/storage/interface.js.map +1 -0
  215. package/dist/storage/mock-storage.d.ts +67 -0
  216. package/dist/storage/mock-storage.d.ts.map +1 -0
  217. package/dist/storage/mock-storage.js +478 -0
  218. package/dist/storage/mock-storage.js.map +1 -0
  219. package/dist/storage/policies-client.d.ts +77 -0
  220. package/dist/storage/policies-client.d.ts.map +1 -0
  221. package/dist/storage/policies-client.js +115 -0
  222. package/dist/storage/policies-client.js.map +1 -0
  223. package/dist/storage/policy-templates.d.ts +6 -0
  224. package/dist/storage/policy-templates.d.ts.map +1 -0
  225. package/dist/storage/policy-templates.js +290 -0
  226. package/dist/storage/policy-templates.js.map +1 -0
  227. package/dist/storage/policy-types.d.ts +98 -0
  228. package/dist/storage/policy-types.d.ts.map +1 -0
  229. package/dist/storage/policy-types.js +20 -0
  230. package/dist/storage/policy-types.js.map +1 -0
  231. package/dist/storage/storage-client.d.ts +32 -0
  232. package/dist/storage/storage-client.d.ts.map +1 -0
  233. package/dist/storage/storage-client.js +94 -0
  234. package/dist/storage/storage-client.js.map +1 -0
  235. package/dist/storage/tus-upload.d.ts +56 -0
  236. package/dist/storage/tus-upload.d.ts.map +1 -0
  237. package/dist/storage/tus-upload.js +236 -0
  238. package/dist/storage/tus-upload.js.map +1 -0
  239. package/dist/storage/types.d.ts +335 -0
  240. package/dist/storage/types.d.ts.map +1 -0
  241. package/dist/storage/types.js +39 -0
  242. package/dist/storage/types.js.map +1 -0
  243. package/dist/test/auth/helpers.d.ts +33 -0
  244. package/dist/test/auth/helpers.d.ts.map +1 -0
  245. package/dist/test/auth/helpers.js +80 -0
  246. package/dist/test/auth/helpers.js.map +1 -0
  247. package/dist/test/helpers/jwt.d.ts +61 -0
  248. package/dist/test/helpers/jwt.d.ts.map +1 -0
  249. package/dist/test/helpers/jwt.js +132 -0
  250. package/dist/test/helpers/jwt.js.map +1 -0
  251. package/dist/test/helpers/mailpit.d.ts +61 -0
  252. package/dist/test/helpers/mailpit.d.ts.map +1 -0
  253. package/dist/test/helpers/mailpit.js +107 -0
  254. package/dist/test/helpers/mailpit.js.map +1 -0
  255. package/dist/test/setup.d.ts +2 -0
  256. package/dist/test/setup.d.ts.map +1 -0
  257. package/dist/test/setup.js +17 -0
  258. package/dist/test/setup.js.map +1 -0
  259. package/dist/types.d.ts +96 -0
  260. package/dist/types.d.ts.map +1 -0
  261. package/dist/types.js +5 -0
  262. package/dist/types.js.map +1 -0
  263. package/package.json +78 -0
@@ -0,0 +1,59 @@
1
+ // ============================================
2
+ // Normalizers
3
+ // ============================================
4
+ /**
5
+ * Normalize raw account to Account
6
+ */
7
+ export function normalizeAccount(raw) {
8
+ return {
9
+ accountId: raw.account_id,
10
+ accountRole: raw.account_role,
11
+ isPrimaryOwner: raw.is_primary_owner,
12
+ name: raw.name,
13
+ slug: raw.slug,
14
+ personalAccount: raw.personal_account,
15
+ billingEnabled: raw.billing_enabled,
16
+ billingStatus: raw.billing_status,
17
+ metadata: raw.metadata,
18
+ createdAt: raw.created_at,
19
+ updatedAt: raw.updated_at,
20
+ };
21
+ }
22
+ /**
23
+ * Normalize raw member to AccountMember
24
+ */
25
+ export function normalizeMember(raw) {
26
+ return {
27
+ userId: raw.user_id,
28
+ accountRole: raw.account_role,
29
+ name: raw.name,
30
+ email: raw.email,
31
+ isPrimaryOwner: raw.is_primary_owner,
32
+ };
33
+ }
34
+ /**
35
+ * Normalize raw role info to AccountRoleInfo
36
+ */
37
+ export function normalizeRoleInfo(raw) {
38
+ return {
39
+ accountRole: raw.account_role,
40
+ isPrimaryOwner: raw.is_primary_owner,
41
+ isPersonalAccount: raw.is_personal_account,
42
+ };
43
+ }
44
+ export function normalizeInvitation(raw) {
45
+ return {
46
+ invitationId: raw.invitation_id,
47
+ accountRole: raw.account_role,
48
+ invitationType: raw.invitation_type,
49
+ createdAt: raw.created_at,
50
+ };
51
+ }
52
+ export function normalizeAcceptedInvitation(raw) {
53
+ return {
54
+ accountId: raw.account_id,
55
+ accountRole: raw.account_role,
56
+ slug: raw.slug,
57
+ };
58
+ }
59
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/accounts/types.ts"],"names":[],"mappings":"AAgJA,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAE/C;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAe;IAC9C,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,cAAc,EAAE,GAAG,CAAC,gBAAgB;QACpC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,eAAe,EAAE,GAAG,CAAC,gBAAgB;QACrC,cAAc,EAAE,GAAG,CAAC,eAAe;QACnC,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAqB;IACnD,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,cAAc,EAAE,GAAG,CAAC,gBAAgB;KACrC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAuB;IACvD,OAAO;QACL,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,cAAc,EAAE,GAAG,CAAC,gBAAgB;QACpC,iBAAiB,EAAE,GAAG,CAAC,mBAAmB;KAC3C,CAAC;AACJ,CAAC;AAkDD,MAAM,UAAU,mBAAmB,CAAC,GAAkB;IACpD,OAAO;QACL,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,cAAc,EAAE,GAAG,CAAC,eAAe;QACnC,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,GAA0B;IAE1B,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,224 @@
1
+ import type { HttpClient } from "../lib/http.js";
2
+ import { BaseAuthClient } from "./base-auth.js";
3
+ import type { TokenManager } from "./token-manager.js";
4
+ import type { AdminInviteOptions, InvitedUser } from "./methods/admin.js";
5
+ import type { EmailPasswordCredentials, SignUpOptions, SignUpResult, OAuthSignInOptions, MagicLinkOptions, OtpSignInOptions, OtpVerifyOptions, PasswordResetOptions, UpdatePasswordOptions, ReauthenticateOptions, UpdateUserOptions, EnrollFactorOptions, ChallengeFactorOptions, VerifyFactorOptions, LinkIdentityOptions, UnlinkIdentityOptions, VerifyOptions, ResendVerificationOptions, Session, User, Factor, UserIdentity, AuthChangeCallback, Unsubscribe, LogoutScope } from "./types.js";
6
+ /**
7
+ * Auth client interface
8
+ *
9
+ * Implemented by both AuthClient (real HTTP) and MockAuthClient (mock responses)
10
+ */
11
+ export interface IAuthClient {
12
+ signInWithPassword(credentials: EmailPasswordCredentials): Promise<Session>;
13
+ signUp(options: SignUpOptions): Promise<SignUpResult>;
14
+ signOut(scope?: LogoutScope): Promise<void>;
15
+ signInWithOAuth(options: OAuthSignInOptions): Promise<{
16
+ url: string;
17
+ provider: string;
18
+ }>;
19
+ handleOAuthCallback(): Promise<Session | null>;
20
+ signInWithMagicLink(options: MagicLinkOptions): Promise<void>;
21
+ signInWithOtp(options: OtpSignInOptions): Promise<void>;
22
+ verifyOtp(options: OtpVerifyOptions): Promise<Session>;
23
+ resetPasswordForEmail(options: PasswordResetOptions): Promise<void>;
24
+ updatePassword(options: UpdatePasswordOptions): Promise<Session>;
25
+ reauthenticate(options?: ReauthenticateOptions): Promise<void>;
26
+ getSession(): Session | null;
27
+ getUser(): User | null;
28
+ getAccessToken(): string | null;
29
+ refreshSession(): Promise<Session>;
30
+ isAuthenticated(): boolean;
31
+ onAuthStateChange(callback: AuthChangeCallback): Unsubscribe;
32
+ user: {
33
+ getCurrent(): User | null;
34
+ get(): Promise<User>;
35
+ update(options: UpdateUserOptions): Promise<Session>;
36
+ };
37
+ mfa: {
38
+ enroll(options: EnrollFactorOptions): Promise<{
39
+ id: string;
40
+ totpUri?: string;
41
+ qrCode?: string;
42
+ }>;
43
+ challenge(options: ChallengeFactorOptions): Promise<{
44
+ id: string;
45
+ expiresAt: number;
46
+ }>;
47
+ verify(options: VerifyFactorOptions): Promise<Session>;
48
+ unenroll(factorId: string): Promise<void>;
49
+ listFactors(): Promise<Factor[]>;
50
+ getAuthenticatorAssuranceLevel(): {
51
+ currentLevel: "aal1" | "aal2" | null;
52
+ nextLevel: "aal1" | "aal2" | null;
53
+ };
54
+ };
55
+ identities: {
56
+ list(): Promise<UserIdentity[]>;
57
+ link(options: LinkIdentityOptions): Promise<{
58
+ url: string;
59
+ provider: string;
60
+ }>;
61
+ unlink(options: UnlinkIdentityOptions): Promise<void>;
62
+ };
63
+ verification: {
64
+ verify(options: VerifyOptions): Promise<Session>;
65
+ resend(options: ResendVerificationOptions): Promise<void>;
66
+ };
67
+ admin: {
68
+ inviteUserByEmail(options: AdminInviteOptions): Promise<InvitedUser>;
69
+ };
70
+ }
71
+ /**
72
+ * Auth client configuration
73
+ */
74
+ export interface AuthClientConfig {
75
+ http: HttpClient;
76
+ tokenManager: TokenManager;
77
+ tenantId: string;
78
+ }
79
+ /**
80
+ * Authentication client for sign in, sign up, sign out, and session management
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * const client = createTenantClient({
85
+ * baseUrl: "https://stack.example.com",
86
+ * tenantId: "my-tenant",
87
+ * });
88
+ *
89
+ * // Password auth
90
+ * await client.auth.signInWithPassword({ email, password });
91
+ *
92
+ * // OAuth
93
+ * await client.auth.signInWithOAuth({ provider: "google" });
94
+ *
95
+ * // Magic link
96
+ * await client.auth.signInWithMagicLink({ email });
97
+ *
98
+ * // OTP
99
+ * await client.auth.signInWithOtp({ email });
100
+ * const session = await client.auth.verifyOtp({ email, token: "123456", type: "email" });
101
+ *
102
+ * // MFA
103
+ * const { qrCode } = await client.auth.mfa.enroll({ type: "totp" });
104
+ * const { id: challengeId } = await client.auth.mfa.challenge({ factorId });
105
+ * await client.auth.mfa.verify({ factorId, challengeId, code: "123456" });
106
+ *
107
+ * // User management
108
+ * const user = await client.auth.user.get();
109
+ * await client.auth.user.update({ data: { name: "New Name" } });
110
+ *
111
+ * // Identities
112
+ * await client.auth.identities.link({ provider: "github" });
113
+ * ```
114
+ */
115
+ export declare class AuthClient extends BaseAuthClient implements IAuthClient {
116
+ private http;
117
+ private tenantId;
118
+ private passwordMethods;
119
+ private oauthMethods;
120
+ private magicLinkMethods;
121
+ private otpMethods;
122
+ private recoveryMethods;
123
+ private mfaMethods;
124
+ private userMethods;
125
+ private identityMethods;
126
+ private verificationMethods;
127
+ private adminMethods;
128
+ constructor(config: AuthClientConfig);
129
+ /**
130
+ * Sign in with email and password
131
+ */
132
+ signInWithPassword(credentials: EmailPasswordCredentials): Promise<Session>;
133
+ /**
134
+ * Sign up with email and password
135
+ */
136
+ signUp(options: SignUpOptions): Promise<SignUpResult>;
137
+ /**
138
+ * Sign out current session
139
+ */
140
+ signOut(scope?: LogoutScope): Promise<void>;
141
+ /**
142
+ * Sign in with OAuth provider
143
+ */
144
+ signInWithOAuth(options: OAuthSignInOptions): Promise<{
145
+ url: string;
146
+ provider: string;
147
+ }>;
148
+ /**
149
+ * Handle OAuth callback
150
+ */
151
+ handleOAuthCallback(): Promise<Session | null>;
152
+ /**
153
+ * Send magic link to email
154
+ */
155
+ signInWithMagicLink(options: MagicLinkOptions): Promise<void>;
156
+ /**
157
+ * Send OTP to email or phone
158
+ */
159
+ signInWithOtp(options: OtpSignInOptions): Promise<void>;
160
+ /**
161
+ * Verify OTP code
162
+ */
163
+ verifyOtp(options: OtpVerifyOptions): Promise<Session>;
164
+ /**
165
+ * Send password reset email
166
+ */
167
+ resetPasswordForEmail(options: PasswordResetOptions): Promise<void>;
168
+ /**
169
+ * Update password
170
+ */
171
+ updatePassword(options: UpdatePasswordOptions): Promise<Session>;
172
+ /**
173
+ * Reauthenticate for sensitive operations
174
+ */
175
+ reauthenticate(options?: ReauthenticateOptions): Promise<void>;
176
+ /**
177
+ * Manually refresh the session
178
+ */
179
+ refreshSession(): Promise<Session>;
180
+ /**
181
+ * User management methods
182
+ */
183
+ get user(): {
184
+ getCurrent: () => User | null;
185
+ get: () => Promise<User>;
186
+ update: (options: UpdateUserOptions) => Promise<Session>;
187
+ };
188
+ /**
189
+ * MFA methods
190
+ */
191
+ get mfa(): {
192
+ enroll: (options: EnrollFactorOptions) => Promise<import("./types.js").EnrollFactorResult>;
193
+ challenge: (options: ChallengeFactorOptions) => Promise<import("./types.js").ChallengeFactorResult>;
194
+ verify: (options: VerifyFactorOptions) => Promise<Session>;
195
+ unenroll: (factorId: string) => Promise<void>;
196
+ listFactors: () => Promise<Factor[]>;
197
+ getAuthenticatorAssuranceLevel: () => {
198
+ currentLevel: "aal1" | "aal2" | null;
199
+ nextLevel: "aal1" | "aal2" | null;
200
+ };
201
+ };
202
+ /**
203
+ * Identity management methods
204
+ */
205
+ get identities(): {
206
+ list: () => Promise<UserIdentity[]>;
207
+ link: (options: LinkIdentityOptions) => Promise<{
208
+ url: string;
209
+ provider: string;
210
+ }>;
211
+ unlink: (options: UnlinkIdentityOptions) => Promise<void>;
212
+ };
213
+ /**
214
+ * Verification methods
215
+ */
216
+ get verification(): {
217
+ verify: (options: VerifyOptions) => Promise<Session>;
218
+ resend: (options: ResendVerificationOptions) => Promise<void>;
219
+ };
220
+ get admin(): {
221
+ inviteUserByEmail: (options: AdminInviteOptions) => Promise<InvitedUser>;
222
+ };
223
+ }
224
+ //# sourceMappingURL=auth-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-client.d.ts","sourceRoot":"","sources":["../../src/auth/auth-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,230 @@
1
+ import { BaseAuthClient } from "./base-auth.js";
2
+ // Method classes
3
+ import { PasswordMethods } from "./methods/password.js";
4
+ import { OAuthMethods } from "./methods/oauth.js";
5
+ import { MagicLinkMethods } from "./methods/magic-link.js";
6
+ import { OtpMethods } from "./methods/otp.js";
7
+ import { RecoveryMethods } from "./methods/recovery.js";
8
+ import { MfaMethods } from "./methods/mfa.js";
9
+ import { AdminMethods } from "./methods/admin.js";
10
+ // User management classes
11
+ import { UserMethods } from "./user/user.js";
12
+ import { IdentityMethods } from "./user/identities.js";
13
+ import { VerificationMethods } from "./user/verification.js";
14
+ /**
15
+ * Authentication client for sign in, sign up, sign out, and session management
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const client = createTenantClient({
20
+ * baseUrl: "https://stack.example.com",
21
+ * tenantId: "my-tenant",
22
+ * });
23
+ *
24
+ * // Password auth
25
+ * await client.auth.signInWithPassword({ email, password });
26
+ *
27
+ * // OAuth
28
+ * await client.auth.signInWithOAuth({ provider: "google" });
29
+ *
30
+ * // Magic link
31
+ * await client.auth.signInWithMagicLink({ email });
32
+ *
33
+ * // OTP
34
+ * await client.auth.signInWithOtp({ email });
35
+ * const session = await client.auth.verifyOtp({ email, token: "123456", type: "email" });
36
+ *
37
+ * // MFA
38
+ * const { qrCode } = await client.auth.mfa.enroll({ type: "totp" });
39
+ * const { id: challengeId } = await client.auth.mfa.challenge({ factorId });
40
+ * await client.auth.mfa.verify({ factorId, challengeId, code: "123456" });
41
+ *
42
+ * // User management
43
+ * const user = await client.auth.user.get();
44
+ * await client.auth.user.update({ data: { name: "New Name" } });
45
+ *
46
+ * // Identities
47
+ * await client.auth.identities.link({ provider: "github" });
48
+ * ```
49
+ */
50
+ export class AuthClient extends BaseAuthClient {
51
+ http;
52
+ tenantId;
53
+ // Method instances
54
+ passwordMethods;
55
+ oauthMethods;
56
+ magicLinkMethods;
57
+ otpMethods;
58
+ recoveryMethods;
59
+ mfaMethods;
60
+ userMethods;
61
+ identityMethods;
62
+ verificationMethods;
63
+ adminMethods;
64
+ constructor(config) {
65
+ super(config.tokenManager);
66
+ this.http = config.http;
67
+ this.tenantId = config.tenantId;
68
+ // Initialize method instances
69
+ this.passwordMethods = new PasswordMethods(this.http, this.tokenManager, this.tenantId);
70
+ this.oauthMethods = new OAuthMethods(this.http, this.tokenManager, this.tenantId);
71
+ this.magicLinkMethods = new MagicLinkMethods(this.http, this.tenantId);
72
+ this.otpMethods = new OtpMethods(this.http, this.tokenManager, this.tenantId);
73
+ this.recoveryMethods = new RecoveryMethods(this.http, this.tokenManager, this.tenantId);
74
+ this.mfaMethods = new MfaMethods(this.http, this.tokenManager, this.tenantId);
75
+ this.userMethods = new UserMethods(this.http, this.tokenManager, this.tenantId);
76
+ this.identityMethods = new IdentityMethods(this.http, this.tenantId);
77
+ this.verificationMethods = new VerificationMethods(this.http, this.tokenManager, this.tenantId);
78
+ this.adminMethods = new AdminMethods(this.http, this.tenantId);
79
+ }
80
+ // ============================================
81
+ // Password Authentication
82
+ // ============================================
83
+ /**
84
+ * Sign in with email and password
85
+ */
86
+ signInWithPassword(credentials) {
87
+ return this.passwordMethods.signInWithPassword(credentials);
88
+ }
89
+ /**
90
+ * Sign up with email and password
91
+ */
92
+ signUp(options) {
93
+ return this.passwordMethods.signUp(options);
94
+ }
95
+ /**
96
+ * Sign out current session
97
+ */
98
+ signOut(scope) {
99
+ return this.passwordMethods.signOut(scope);
100
+ }
101
+ // ============================================
102
+ // OAuth Authentication
103
+ // ============================================
104
+ /**
105
+ * Sign in with OAuth provider
106
+ */
107
+ signInWithOAuth(options) {
108
+ return this.oauthMethods.signInWithOAuth(options);
109
+ }
110
+ /**
111
+ * Handle OAuth callback
112
+ */
113
+ handleOAuthCallback() {
114
+ return this.oauthMethods.handleOAuthCallback();
115
+ }
116
+ // ============================================
117
+ // Magic Link Authentication
118
+ // ============================================
119
+ /**
120
+ * Send magic link to email
121
+ */
122
+ signInWithMagicLink(options) {
123
+ return this.magicLinkMethods.signInWithMagicLink(options);
124
+ }
125
+ // ============================================
126
+ // OTP Authentication
127
+ // ============================================
128
+ /**
129
+ * Send OTP to email or phone
130
+ */
131
+ signInWithOtp(options) {
132
+ return this.otpMethods.signInWithOtp(options);
133
+ }
134
+ /**
135
+ * Verify OTP code
136
+ */
137
+ verifyOtp(options) {
138
+ return this.otpMethods.verifyOtp(options);
139
+ }
140
+ // ============================================
141
+ // Password Recovery
142
+ // ============================================
143
+ /**
144
+ * Send password reset email
145
+ */
146
+ resetPasswordForEmail(options) {
147
+ return this.recoveryMethods.resetPasswordForEmail(options);
148
+ }
149
+ /**
150
+ * Update password
151
+ */
152
+ updatePassword(options) {
153
+ return this.recoveryMethods.updatePassword(options);
154
+ }
155
+ /**
156
+ * Reauthenticate for sensitive operations
157
+ */
158
+ reauthenticate(options) {
159
+ return this.recoveryMethods.reauthenticate(options);
160
+ }
161
+ // ============================================
162
+ // Session Management
163
+ // ============================================
164
+ /**
165
+ * Manually refresh the session
166
+ */
167
+ async refreshSession() {
168
+ return this.tokenManager.refreshSession();
169
+ }
170
+ // ============================================
171
+ // User Management
172
+ // ============================================
173
+ /**
174
+ * User management methods
175
+ */
176
+ get user() {
177
+ return {
178
+ getCurrent: () => this.userMethods.getCurrent(),
179
+ get: () => this.userMethods.get(),
180
+ update: (options) => this.userMethods.update(options),
181
+ };
182
+ }
183
+ // ============================================
184
+ // MFA
185
+ // ============================================
186
+ /**
187
+ * MFA methods
188
+ */
189
+ get mfa() {
190
+ return {
191
+ enroll: (options) => this.mfaMethods.enroll(options),
192
+ challenge: (options) => this.mfaMethods.challenge(options),
193
+ verify: (options) => this.mfaMethods.verify(options),
194
+ unenroll: (factorId) => this.mfaMethods.unenroll(factorId),
195
+ listFactors: () => this.mfaMethods.listFactors(),
196
+ getAuthenticatorAssuranceLevel: () => this.mfaMethods.getAuthenticatorAssuranceLevel(),
197
+ };
198
+ }
199
+ // ============================================
200
+ // Identity Management
201
+ // ============================================
202
+ /**
203
+ * Identity management methods
204
+ */
205
+ get identities() {
206
+ return {
207
+ list: () => this.identityMethods.list(),
208
+ link: (options) => this.identityMethods.link(options),
209
+ unlink: (options) => this.identityMethods.unlink(options),
210
+ };
211
+ }
212
+ // ============================================
213
+ // Verification
214
+ // ============================================
215
+ /**
216
+ * Verification methods
217
+ */
218
+ get verification() {
219
+ return {
220
+ verify: (options) => this.verificationMethods.verify(options),
221
+ resend: (options) => this.verificationMethods.resend(options),
222
+ };
223
+ }
224
+ get admin() {
225
+ return {
226
+ inviteUserByEmail: (options) => this.adminMethods.inviteUserByEmail(options),
227
+ };
228
+ }
229
+ }
230
+ //# sourceMappingURL=auth-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-client.js","sourceRoot":"","sources":["../../src/auth/auth-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { TokenManager } from "./token-manager.js";
2
+ import type { Session, User, AuthChangeCallback, Unsubscribe } from "./types.js";
3
+ /**
4
+ * Base auth class with shared delegation methods
5
+ *
6
+ * Contains methods that simply delegate to TokenManager,
7
+ * avoiding duplication between AuthClient and MockAuthClient.
8
+ */
9
+ export declare abstract class BaseAuthClient {
10
+ protected tokenManager: TokenManager;
11
+ constructor(tokenManager: TokenManager);
12
+ /**
13
+ * Get current session
14
+ */
15
+ getSession(): Session | null;
16
+ /**
17
+ * Get current user
18
+ */
19
+ getUser(): User | null;
20
+ /**
21
+ * Get access token (for manual API calls)
22
+ */
23
+ getAccessToken(): string | null;
24
+ /**
25
+ * Check if user is authenticated
26
+ */
27
+ isAuthenticated(): boolean;
28
+ /**
29
+ * Subscribe to auth state changes
30
+ *
31
+ * @example
32
+ * const unsubscribe = client.auth.onAuthStateChange((event, session) => {
33
+ * if (event === 'SIGNED_IN') {
34
+ * console.log('User signed in:', session.user.email);
35
+ * } else if (event === 'SIGNED_OUT') {
36
+ * console.log('User signed out');
37
+ * }
38
+ * });
39
+ *
40
+ * // Later: unsubscribe()
41
+ */
42
+ onAuthStateChange(callback: AuthChangeCallback): Unsubscribe;
43
+ }
44
+ //# sourceMappingURL=base-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-auth.d.ts","sourceRoot":"","sources":["../../src/auth/base-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EACJ,kBAAkB,EAClB,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,8BAAsB,cAAc;IAClC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;gBAEzB,YAAY,EAAE,YAAY;IAItC;;OAEG;IACH,UAAU,IAAI,OAAO,GAAG,IAAI;IAI5B;;OAEG;IACH,OAAO,IAAI,IAAI,GAAG,IAAI;IAKtB;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,WAAW;CAG7D"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Base auth class with shared delegation methods
3
+ *
4
+ * Contains methods that simply delegate to TokenManager,
5
+ * avoiding duplication between AuthClient and MockAuthClient.
6
+ */
7
+ export class BaseAuthClient {
8
+ tokenManager;
9
+ constructor(tokenManager) {
10
+ this.tokenManager = tokenManager;
11
+ }
12
+ /**
13
+ * Get current session
14
+ */
15
+ getSession() {
16
+ return this.tokenManager.getSession();
17
+ }
18
+ /**
19
+ * Get current user
20
+ */
21
+ getUser() {
22
+ const session = this.tokenManager.getSession();
23
+ return session?.user ?? null;
24
+ }
25
+ /**
26
+ * Get access token (for manual API calls)
27
+ */
28
+ getAccessToken() {
29
+ return this.tokenManager.getAccessToken();
30
+ }
31
+ /**
32
+ * Check if user is authenticated
33
+ */
34
+ isAuthenticated() {
35
+ return this.tokenManager.getSession() !== null;
36
+ }
37
+ /**
38
+ * Subscribe to auth state changes
39
+ *
40
+ * @example
41
+ * const unsubscribe = client.auth.onAuthStateChange((event, session) => {
42
+ * if (event === 'SIGNED_IN') {
43
+ * console.log('User signed in:', session.user.email);
44
+ * } else if (event === 'SIGNED_OUT') {
45
+ * console.log('User signed out');
46
+ * }
47
+ * });
48
+ *
49
+ * // Later: unsubscribe()
50
+ */
51
+ onAuthStateChange(callback) {
52
+ return this.tokenManager.onAuthStateChange(callback);
53
+ }
54
+ }
55
+ //# sourceMappingURL=base-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-auth.js","sourceRoot":"","sources":["../../src/auth/base-auth.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,MAAM,OAAgB,cAAc;IACxB,YAAY,CAAe;IAErC,YAAY,YAA0B;QACpC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAC/C,OAAO,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,QAA4B;QAC5C,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ export { AuthClient } from "./auth-client.js";
2
+ export type { AuthClientConfig, IAuthClient } from "./auth-client.js";
3
+ export { BaseAuthClient } from "./base-auth.js";
4
+ export { MockAuthClient } from "./mock-auth.js";
5
+ export type { MockAuthClientConfig } from "./mock-auth.js";
6
+ export { TokenManager } from "./token-manager.js";
7
+ export type { TokenManagerConfig, RefreshFn } from "./token-manager.js";
8
+ export type { EmailPasswordCredentials, SignUpOptions, SignUpResult, OAuthProvider, OAuthSignInOptions, OAuthCallbackResult, MagicLinkOptions, OtpSignInOptions, OtpVerifyOptions, PasswordResetOptions, UpdatePasswordOptions, ReauthenticateOptions, LogoutScope, User, UserIdentity, Session, UpdateUserOptions, FactorType, FactorStatus, Factor, EnrollFactorOptions, EnrollFactorResult, ChallengeFactorOptions, ChallengeFactorResult, VerifyFactorOptions, LinkIdentityOptions, UnlinkIdentityOptions, VerifyOptions, ResendVerificationOptions, AuthChangeEvent, AuthChangeCallback, Unsubscribe, AuthSettings, GoTrueTokenResponse, GoTrueUser, GoTrueIdentity, GoTrueFactor, } from "./types.js";
9
+ export { normalizeUser, normalizeSession, normalizeIdentity, normalizeFactor, } from "./types.js";
10
+ export type { AdminInviteOptions, InvitedUser } from "./methods/admin.js";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGxE,YAAY,EAEV,wBAAwB,EACxB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,EAGX,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,iBAAiB,EAGjB,UAAU,EACV,YAAY,EACZ,MAAM,EACN,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EAGnB,mBAAmB,EACnB,qBAAqB,EAGrB,aAAa,EACb,yBAAyB,EAGzB,eAAe,EACf,kBAAkB,EAClB,WAAW,EAGX,YAAY,EAGZ,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,11 @@
1
+ // Main client
2
+ export { AuthClient } from "./auth-client.js";
3
+ // Base class
4
+ export { BaseAuthClient } from "./base-auth.js";
5
+ // Mock client
6
+ export { MockAuthClient } from "./mock-auth.js";
7
+ // Token manager
8
+ export { TokenManager } from "./token-manager.js";
9
+ // Normalizers (for advanced use)
10
+ export { normalizeUser, normalizeSession, normalizeIdentity, normalizeFactor, } from "./types.js";
11
+ //# sourceMappingURL=index.js.map