convex-zen 0.0.1

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 (142) hide show
  1. package/dist/cli/generate.d.ts +14 -0
  2. package/dist/cli/generate.d.ts.map +1 -0
  3. package/dist/cli/generate.js +297 -0
  4. package/dist/cli/generate.js.map +1 -0
  5. package/dist/cli/index.d.ts +3 -0
  6. package/dist/cli/index.d.ts.map +1 -0
  7. package/dist/cli/index.js +111 -0
  8. package/dist/cli/index.js.map +1 -0
  9. package/dist/client/index.d.ts +300 -0
  10. package/dist/client/index.d.ts.map +1 -0
  11. package/dist/client/index.js +434 -0
  12. package/dist/client/index.js.map +1 -0
  13. package/dist/client/plugins/admin.d.ts +92 -0
  14. package/dist/client/plugins/admin.d.ts.map +1 -0
  15. package/dist/client/plugins/admin.js +165 -0
  16. package/dist/client/plugins/admin.js.map +1 -0
  17. package/dist/client/primitives.d.ts +57 -0
  18. package/dist/client/primitives.d.ts.map +1 -0
  19. package/dist/client/primitives.js +64 -0
  20. package/dist/client/primitives.js.map +1 -0
  21. package/dist/client/providers.d.ts +14 -0
  22. package/dist/client/providers.d.ts.map +1 -0
  23. package/dist/client/providers.js +25 -0
  24. package/dist/client/providers.js.map +1 -0
  25. package/dist/client/react.d.ts +23 -0
  26. package/dist/client/react.d.ts.map +1 -0
  27. package/dist/client/react.js +48 -0
  28. package/dist/client/react.js.map +1 -0
  29. package/dist/client/tanstack-start-client-plugins.d.ts +34 -0
  30. package/dist/client/tanstack-start-client-plugins.d.ts.map +1 -0
  31. package/dist/client/tanstack-start-client-plugins.js +32 -0
  32. package/dist/client/tanstack-start-client-plugins.js.map +1 -0
  33. package/dist/client/tanstack-start-client.d.ts +52 -0
  34. package/dist/client/tanstack-start-client.d.ts.map +1 -0
  35. package/dist/client/tanstack-start-client.js +130 -0
  36. package/dist/client/tanstack-start-client.js.map +1 -0
  37. package/dist/client/tanstack-start-plugins.d.ts +27 -0
  38. package/dist/client/tanstack-start-plugins.d.ts.map +1 -0
  39. package/dist/client/tanstack-start-plugins.js +145 -0
  40. package/dist/client/tanstack-start-plugins.js.map +1 -0
  41. package/dist/client/tanstack-start.d.ts +130 -0
  42. package/dist/client/tanstack-start.d.ts.map +1 -0
  43. package/dist/client/tanstack-start.js +331 -0
  44. package/dist/client/tanstack-start.js.map +1 -0
  45. package/dist/component/_generated/api.d.ts +50 -0
  46. package/dist/component/_generated/api.d.ts.map +1 -0
  47. package/dist/component/_generated/api.js +31 -0
  48. package/dist/component/_generated/api.js.map +1 -0
  49. package/dist/component/_generated/component.d.ts +92 -0
  50. package/dist/component/_generated/component.d.ts.map +1 -0
  51. package/dist/component/_generated/component.js +11 -0
  52. package/dist/component/_generated/component.js.map +1 -0
  53. package/dist/component/_generated/dataModel.d.ts +46 -0
  54. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  55. package/dist/component/_generated/dataModel.js +11 -0
  56. package/dist/component/_generated/dataModel.js.map +1 -0
  57. package/dist/component/_generated/server.d.ts +121 -0
  58. package/dist/component/_generated/server.d.ts.map +1 -0
  59. package/dist/component/_generated/server.js +78 -0
  60. package/dist/component/_generated/server.js.map +1 -0
  61. package/dist/component/convex.config.d.ts +3 -0
  62. package/dist/component/convex.config.d.ts.map +1 -0
  63. package/dist/component/convex.config.js +4 -0
  64. package/dist/component/convex.config.js.map +1 -0
  65. package/dist/component/core/sessions.d.ts +33 -0
  66. package/dist/component/core/sessions.d.ts.map +1 -0
  67. package/dist/component/core/sessions.js +186 -0
  68. package/dist/component/core/sessions.js.map +1 -0
  69. package/dist/component/core/users.d.ts +19 -0
  70. package/dist/component/core/users.d.ts.map +1 -0
  71. package/dist/component/core/users.js +154 -0
  72. package/dist/component/core/users.js.map +1 -0
  73. package/dist/component/core/verifications.d.ts +34 -0
  74. package/dist/component/core/verifications.d.ts.map +1 -0
  75. package/dist/component/core/verifications.js +135 -0
  76. package/dist/component/core/verifications.js.map +1 -0
  77. package/dist/component/gateway.d.ts +16 -0
  78. package/dist/component/gateway.d.ts.map +1 -0
  79. package/dist/component/gateway.js +229 -0
  80. package/dist/component/gateway.js.map +1 -0
  81. package/dist/component/lib/crypto.d.ts +24 -0
  82. package/dist/component/lib/crypto.d.ts.map +1 -0
  83. package/dist/component/lib/crypto.js +57 -0
  84. package/dist/component/lib/crypto.js.map +1 -0
  85. package/dist/component/lib/rateLimit.d.ts +26 -0
  86. package/dist/component/lib/rateLimit.d.ts.map +1 -0
  87. package/dist/component/lib/rateLimit.js +96 -0
  88. package/dist/component/lib/rateLimit.js.map +1 -0
  89. package/dist/component/lib/validators.d.ts +19 -0
  90. package/dist/component/lib/validators.d.ts.map +1 -0
  91. package/dist/component/lib/validators.js +12 -0
  92. package/dist/component/lib/validators.js.map +1 -0
  93. package/dist/component/plugins/admin.d.ts +72 -0
  94. package/dist/component/plugins/admin.d.ts.map +1 -0
  95. package/dist/component/plugins/admin.js +152 -0
  96. package/dist/component/plugins/admin.js.map +1 -0
  97. package/dist/component/providers/emailPassword.d.ts +49 -0
  98. package/dist/component/providers/emailPassword.d.ts.map +1 -0
  99. package/dist/component/providers/emailPassword.js +316 -0
  100. package/dist/component/providers/emailPassword.js.map +1 -0
  101. package/dist/component/providers/oauth.d.ts +33 -0
  102. package/dist/component/providers/oauth.d.ts.map +1 -0
  103. package/dist/component/providers/oauth.js +256 -0
  104. package/dist/component/providers/oauth.js.map +1 -0
  105. package/dist/component/schema.d.ts +132 -0
  106. package/dist/component/schema.d.ts.map +1 -0
  107. package/dist/component/schema.js +82 -0
  108. package/dist/component/schema.js.map +1 -0
  109. package/dist/types.d.ts +67 -0
  110. package/dist/types.d.ts.map +1 -0
  111. package/dist/types.js +5 -0
  112. package/dist/types.js.map +1 -0
  113. package/package.json +121 -0
  114. package/src/cli/generate.ts +360 -0
  115. package/src/cli/index.ts +133 -0
  116. package/src/client/index.ts +707 -0
  117. package/src/client/plugins/admin.ts +205 -0
  118. package/src/client/primitives.ts +100 -0
  119. package/src/client/providers.ts +35 -0
  120. package/src/client/react.ts +97 -0
  121. package/src/client/tanstack-start-client-plugins.ts +113 -0
  122. package/src/client/tanstack-start-client.ts +259 -0
  123. package/src/client/tanstack-start-plugins.ts +203 -0
  124. package/src/client/tanstack-start.ts +535 -0
  125. package/src/component/_generated/api.ts +70 -0
  126. package/src/component/_generated/component.ts +184 -0
  127. package/src/component/_generated/dataModel.ts +60 -0
  128. package/src/component/_generated/server.ts +156 -0
  129. package/src/component/convex.config.ts +5 -0
  130. package/src/component/core/sessions.ts +228 -0
  131. package/src/component/core/users.ts +199 -0
  132. package/src/component/core/verifications.ts +173 -0
  133. package/src/component/gateway.ts +321 -0
  134. package/src/component/lib/crypto.ts +63 -0
  135. package/src/component/lib/internalApi.ts +66 -0
  136. package/src/component/lib/rateLimit.ts +111 -0
  137. package/src/component/lib/validators.ts +12 -0
  138. package/src/component/plugins/admin.ts +178 -0
  139. package/src/component/providers/emailPassword.ts +374 -0
  140. package/src/component/providers/oauth.ts +324 -0
  141. package/src/component/schema.ts +88 -0
  142. package/src/types.ts +68 -0
@@ -0,0 +1,434 @@
1
+ import { AdminPlugin } from "./plugins/admin";
2
+ /**
3
+ * ConvexAuth — the main integration class for convex-zen.
4
+ *
5
+ * Instantiate once in the host app with the component reference and config.
6
+ * All auth operations go through this class.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * // convex/auth.ts
11
+ * import { ConvexAuth, googleProvider } from "convex-zen";
12
+ * import { adminPlugin } from "convex-zen/plugins/admin";
13
+ * import { components } from "./_generated/api";
14
+ *
15
+ * export const auth = new ConvexAuth(components.convexAuth, {
16
+ * providers: [googleProvider({ clientId: "...", clientSecret: "..." })],
17
+ * emailProvider: {
18
+ * sendVerificationEmail: async (to, code) => { ... },
19
+ * sendPasswordResetEmail: async (to, code) => { ... },
20
+ * },
21
+ * plugins: [adminPlugin({ defaultRole: "user" })],
22
+ * });
23
+ * ```
24
+ */
25
+ export class ConvexAuth {
26
+ component;
27
+ options;
28
+ _adminPlugin;
29
+ providerMap;
30
+ adminConfig;
31
+ constructor(component, options = {}) {
32
+ this.component = component;
33
+ this.options = options;
34
+ this.providerMap = new Map((options.providers ?? []).map((p) => [p.id, p]));
35
+ this.adminConfig =
36
+ options.plugins?.find((p) => p.id === "admin") ?? null;
37
+ this._adminPlugin = this.adminConfig
38
+ ? new AdminPlugin(component, this.adminConfig)
39
+ : null;
40
+ }
41
+ /** Access plugin instances after initialization. */
42
+ get plugins() {
43
+ return {
44
+ admin: this._adminPlugin,
45
+ };
46
+ }
47
+ /** Alias for plugins to support auth.plugin.admin style access. */
48
+ get plugin() {
49
+ return this.plugins;
50
+ }
51
+ /** Admin facade on the auth object (no separate authSystem object required). */
52
+ get admin() {
53
+ if (!this._adminPlugin) {
54
+ return null;
55
+ }
56
+ return {
57
+ listUsers: async (ctx, args = {}) => {
58
+ const adminToken = await this.requireResolvedToken(ctx, args.token);
59
+ const payload = { adminToken };
60
+ if (args.limit !== undefined) {
61
+ payload.limit = args.limit;
62
+ }
63
+ if (args.cursor !== undefined) {
64
+ payload.cursor = args.cursor;
65
+ }
66
+ return this._adminPlugin.listUsers(ctx, payload);
67
+ },
68
+ banUser: async (ctx, args) => {
69
+ const adminToken = await this.requireResolvedToken(ctx, args.token);
70
+ const payload = {
71
+ adminToken,
72
+ userId: args.userId,
73
+ };
74
+ if (args.reason !== undefined) {
75
+ payload.reason = args.reason;
76
+ }
77
+ if (args.expiresAt !== undefined) {
78
+ payload.expiresAt = args.expiresAt;
79
+ }
80
+ return this._adminPlugin.banUser(ctx, payload);
81
+ },
82
+ unbanUser: async (ctx, args) => {
83
+ const adminToken = await this.requireResolvedToken(ctx, args.token);
84
+ return this._adminPlugin.unbanUser(ctx, {
85
+ adminToken,
86
+ userId: args.userId,
87
+ });
88
+ },
89
+ setRole: async (ctx, args) => {
90
+ const adminToken = await this.requireResolvedToken(ctx, args.token);
91
+ return this._adminPlugin.setRole(ctx, {
92
+ adminToken,
93
+ userId: args.userId,
94
+ role: args.role,
95
+ });
96
+ },
97
+ deleteUser: async (ctx, args) => {
98
+ const adminToken = await this.requireResolvedToken(ctx, args.token);
99
+ return this._adminPlugin.deleteUser(ctx, {
100
+ adminToken,
101
+ userId: args.userId,
102
+ });
103
+ },
104
+ };
105
+ }
106
+ /** Session helpers available directly on auth object. */
107
+ get session() {
108
+ return {
109
+ validate: async (ctx, token) => {
110
+ return this.safeValidateSession(ctx, token);
111
+ },
112
+ require: async (ctx, token) => {
113
+ return this.requireAuthSession(ctx, token);
114
+ },
115
+ };
116
+ }
117
+ /** Authenticated user helpers available directly on auth object. */
118
+ get user() {
119
+ return {
120
+ safeGet: async (ctx, token) => {
121
+ return this.safeGetAuthUser(ctx, token);
122
+ },
123
+ require: async (ctx, token) => {
124
+ return this.requireAuthUser(ctx, token);
125
+ },
126
+ };
127
+ }
128
+ /**
129
+ * Register OAuth callback HTTP routes on the host's router.
130
+ * Mounts GET `/auth/callback/:provider` for each configured OAuth provider.
131
+ *
132
+ * @example
133
+ * ```ts
134
+ * // convex/http.ts
135
+ * import { httpRouter } from "convex/server";
136
+ * import { auth } from "./auth";
137
+ * const http = httpRouter();
138
+ * auth.registerRoutes(http);
139
+ * export default http;
140
+ * ```
141
+ */
142
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
143
+ registerRoutes(http, options) {
144
+ for (const provider of this.providerMap.values()) {
145
+ const path = `/auth/callback/${provider.id}`;
146
+ http.route({
147
+ path,
148
+ method: "GET",
149
+ handler: async (req) => {
150
+ const url = new URL(req.url);
151
+ const code = url.searchParams.get("code");
152
+ const state = url.searchParams.get("state");
153
+ const error = url.searchParams.get("error");
154
+ if (error) {
155
+ return new Response(JSON.stringify({ error }), {
156
+ status: 400,
157
+ headers: { "Content-Type": "application/json" },
158
+ });
159
+ }
160
+ if (!code || !state) {
161
+ return new Response(JSON.stringify({ error: "Missing code or state" }), { status: 400, headers: { "Content-Type": "application/json" } });
162
+ }
163
+ // Note: HTTP handlers can't use ctx directly.
164
+ // Host app should use a Convex HTTP action that calls auth.handleCallback.
165
+ // This default handler returns the raw data for the host to process.
166
+ return new Response(JSON.stringify({
167
+ code,
168
+ state,
169
+ provider: provider.id,
170
+ callbackUrl: options?.callbackBaseUrl
171
+ ? `${options.callbackBaseUrl}${path}`
172
+ : undefined,
173
+ }), {
174
+ status: 200,
175
+ headers: { "Content-Type": "application/json" },
176
+ });
177
+ },
178
+ });
179
+ }
180
+ }
181
+ /**
182
+ * Sign up a new user with email and password.
183
+ * Generates a verification code and sends it via the configured emailProvider.
184
+ * Call from a Convex action in the host app.
185
+ */
186
+ async signUp(ctx, args) {
187
+ if (!this.options.emailProvider) {
188
+ throw new Error("emailProvider is required for email/password auth");
189
+ }
190
+ const result = (await ctx.runAction(this.fn("gateway:signUp"), args));
191
+ // Send email from host app context (functions can't be Convex args)
192
+ await this.options.emailProvider.sendVerificationEmail(args.email, result.verificationCode);
193
+ return { status: "verification_required" };
194
+ }
195
+ /**
196
+ * Sign in with email and password.
197
+ * Call from a Convex action in the host app.
198
+ */
199
+ async signIn(ctx, args) {
200
+ return ctx.runAction(this.fn("gateway:signIn"), {
201
+ ...args,
202
+ requireEmailVerified: this.options.requireEmailVerified ?? true,
203
+ });
204
+ }
205
+ /**
206
+ * Verify email with a verification code.
207
+ */
208
+ async verifyEmail(ctx, args) {
209
+ return ctx.runAction(this.fn("gateway:verifyEmail"), args);
210
+ }
211
+ /**
212
+ * Request a password reset. Sends the reset code via emailProvider.
213
+ */
214
+ async requestPasswordReset(ctx, args) {
215
+ if (!this.options.emailProvider) {
216
+ throw new Error("emailProvider is required for password reset");
217
+ }
218
+ const result = (await ctx.runAction(this.fn("gateway:requestPasswordReset"), args));
219
+ if (result.resetCode) {
220
+ await this.options.emailProvider.sendPasswordResetEmail(args.email, result.resetCode);
221
+ }
222
+ return { status: "sent" };
223
+ }
224
+ /**
225
+ * Reset password using a verification code.
226
+ */
227
+ async resetPassword(ctx, args) {
228
+ return ctx.runAction(this.fn("gateway:resetPassword"), args);
229
+ }
230
+ /**
231
+ * Get an OAuth authorization URL for the given provider.
232
+ * Call from a Convex action.
233
+ */
234
+ async getOAuthUrl(ctx, providerId, redirectUrl) {
235
+ const provider = this.providerMap.get(providerId);
236
+ if (!provider) {
237
+ throw new Error(`OAuth provider "${providerId}" not configured`);
238
+ }
239
+ return ctx.runAction(this.fn("gateway:getAuthorizationUrl"), {
240
+ provider,
241
+ redirectUrl,
242
+ });
243
+ }
244
+ /**
245
+ * Handle an OAuth callback. Call from a Convex HTTP action.
246
+ * Validates state, exchanges code for tokens, upserts user, creates session.
247
+ */
248
+ async handleCallback(ctx, args) {
249
+ const provider = this.providerMap.get(args.providerId);
250
+ if (!provider) {
251
+ throw new Error(`OAuth provider "${args.providerId}" not configured`);
252
+ }
253
+ return ctx.runAction(this.fn("gateway:handleCallback"), {
254
+ provider,
255
+ code: args.code,
256
+ state: args.state,
257
+ redirectUrl: args.redirectUrl,
258
+ ipAddress: args.ipAddress,
259
+ userAgent: args.userAgent,
260
+ });
261
+ }
262
+ /**
263
+ * Validate a session token. Returns user/session IDs or null.
264
+ * Can be called from queries, mutations, or actions.
265
+ */
266
+ async validateSession(ctx, token) {
267
+ return ctx.runAction(this.fn("gateway:validateSession"), {
268
+ token,
269
+ checkBanned: this.adminConfig !== null,
270
+ });
271
+ }
272
+ /**
273
+ * Validate session, resolving token from context when one is not provided.
274
+ */
275
+ async safeValidateSession(ctx, token) {
276
+ const resolvedToken = await this.resolveToken(ctx, token);
277
+ if (!resolvedToken) {
278
+ return null;
279
+ }
280
+ return this.validateSession(ctx, resolvedToken);
281
+ }
282
+ /**
283
+ * Validate session and throw when missing/invalid.
284
+ */
285
+ async requireAuthSession(ctx, token) {
286
+ const session = await this.safeValidateSession(ctx, token);
287
+ if (!session) {
288
+ throw new Error("Unauthorized");
289
+ }
290
+ return session;
291
+ }
292
+ /**
293
+ * Resolve the current signed-in user from a session token.
294
+ * Returns null when token is invalid/expired/banned.
295
+ */
296
+ async getAuthUserFromToken(ctx, token) {
297
+ return ctx.runAction(this.fn("gateway:getCurrentUser"), {
298
+ token,
299
+ checkBanned: this.adminConfig !== null,
300
+ });
301
+ }
302
+ /**
303
+ * Resolve authenticated user from `ctx` if possible.
304
+ * Resolution order:
305
+ * 1. explicit token argument
306
+ * 2. resolveSessionToken option
307
+ * 3. identity claims (session token-like fields)
308
+ * 4. resolveUserId option
309
+ * 5. `ctx.auth.getUserIdentity()?.subject`
310
+ */
311
+ async safeGetAuthUser(ctx, token) {
312
+ const resolvedToken = await this.resolveToken(ctx, token);
313
+ if (resolvedToken) {
314
+ return this.getAuthUserFromToken(ctx, resolvedToken);
315
+ }
316
+ const userId = await this.resolveUserId(ctx);
317
+ if (!userId) {
318
+ return null;
319
+ }
320
+ return ctx.runAction(this.fn("gateway:getUserById"), {
321
+ userId,
322
+ checkBanned: this.adminConfig !== null,
323
+ });
324
+ }
325
+ /**
326
+ * Resolve current user and throw if unauthenticated.
327
+ */
328
+ async requireAuthUser(ctx, token) {
329
+ const user = await this.safeGetAuthUser(ctx, token);
330
+ if (!user) {
331
+ throw new Error("Unauthorized");
332
+ }
333
+ return user;
334
+ }
335
+ /**
336
+ * Sign out by invalidating a session token.
337
+ * Can be called from a mutation or action context.
338
+ */
339
+ async signOut(ctx, token) {
340
+ await ctx.runAction(this.fn("gateway:invalidateSession"), { token });
341
+ }
342
+ /**
343
+ * Sign out all sessions for a user.
344
+ */
345
+ async signOutAll(ctx, userId) {
346
+ await ctx.runAction(this.fn("gateway:invalidateAllSessions"), { userId });
347
+ }
348
+ async getIdentity(ctx) {
349
+ const auth = ctx
350
+ .auth;
351
+ if (!auth?.getUserIdentity) {
352
+ return null;
353
+ }
354
+ const identity = await auth.getUserIdentity();
355
+ if (!identity || typeof identity !== "object") {
356
+ return null;
357
+ }
358
+ return identity;
359
+ }
360
+ getStringClaim(identity, claim) {
361
+ if (!identity) {
362
+ return null;
363
+ }
364
+ const value = identity[claim];
365
+ return typeof value === "string" && value.length > 0 ? value : null;
366
+ }
367
+ async resolveToken(ctx, explicitToken) {
368
+ if (explicitToken) {
369
+ return explicitToken;
370
+ }
371
+ const tokenFromResolver = await this.options.resolveSessionToken?.(ctx);
372
+ if (tokenFromResolver) {
373
+ return tokenFromResolver;
374
+ }
375
+ const identity = await this.getIdentity(ctx);
376
+ return (this.getStringClaim(identity, "sessionToken") ??
377
+ this.getStringClaim(identity, "token") ??
378
+ this.getStringClaim(identity, "https://convex-zen.dev/sessionToken") ??
379
+ null);
380
+ }
381
+ async requireResolvedToken(ctx, explicitToken) {
382
+ const token = await this.resolveToken(ctx, explicitToken);
383
+ if (!token) {
384
+ throw new Error("Unauthorized");
385
+ }
386
+ return token;
387
+ }
388
+ async resolveUserId(ctx) {
389
+ const userIdFromResolver = await this.options.resolveUserId?.(ctx);
390
+ if (userIdFromResolver) {
391
+ return userIdFromResolver;
392
+ }
393
+ const identity = await this.getIdentity(ctx);
394
+ if (!identity) {
395
+ return null;
396
+ }
397
+ if (typeof identity.subject === "string" && identity.subject.length > 0) {
398
+ return identity.subject;
399
+ }
400
+ return this.getStringClaim(identity, "userId");
401
+ }
402
+ /**
403
+ * Resolve a component function reference by path string.
404
+ * Converts "providers/emailPassword:signUp" into
405
+ * component.providers.emailPassword.signUp via nested property traversal.
406
+ */
407
+ fn(path) {
408
+ const [modulePath, funcName] = path.split(":");
409
+ if (!modulePath || !funcName) {
410
+ throw new Error(`Invalid function path: ${path}`);
411
+ }
412
+ const parts = modulePath.split("/");
413
+ let ref = this.component;
414
+ for (const part of parts) {
415
+ const next = ref[part];
416
+ if (!next ||
417
+ typeof next !== "object" ||
418
+ Array.isArray(next)) {
419
+ throw new Error(`Invalid function path segment: ${part}`);
420
+ }
421
+ ref = next;
422
+ }
423
+ const resolved = ref[funcName];
424
+ if (!resolved) {
425
+ throw new Error(`Function not found: ${path}`);
426
+ }
427
+ return resolved;
428
+ }
429
+ }
430
+ // Named exports for convenience
431
+ export { googleProvider, githubProvider } from "./providers";
432
+ export { adminPlugin } from "./plugins/admin";
433
+ export { SessionPrimitives, createSessionPrimitives, } from "./primitives";
434
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import type { AdminPluginConfig } from "../../types";
2
+ /**
3
+ * Create an admin plugin configuration.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { adminPlugin } from "convex-zen/plugins/admin";
8
+ *
9
+ * export const auth = new ConvexAuth(components.convexAuth, {
10
+ * plugins: [adminPlugin({ defaultRole: "user", adminRole: "admin" })],
11
+ * });
12
+ * ```
13
+ */
14
+ export declare function adminPlugin(config?: {
15
+ defaultRole?: string;
16
+ adminRole?: string;
17
+ }): AdminPluginConfig;
18
+ /**
19
+ * AdminPlugin client class — exposes admin operations as typed methods.
20
+ * Obtained via `auth.plugins.admin` after ConvexAuth is initialized with adminPlugin.
21
+ */
22
+ export declare class AdminPlugin {
23
+ private readonly componentApi;
24
+ private readonly config;
25
+ constructor(componentApi: Record<string, unknown>, config: AdminPluginConfig);
26
+ /**
27
+ * Resolve a nested component function reference from a path string.
28
+ * e.g. "plugins/admin:listUsers" → component.plugins.admin.listUsers
29
+ */
30
+ private fn;
31
+ private getAdminToken;
32
+ private stringifyError;
33
+ private isRetryableGatewayShapeError;
34
+ private runAdminGatewayAction;
35
+ /**
36
+ * List users with pagination.
37
+ */
38
+ listUsers(ctx: {
39
+ runAction: (fn: any, args: any) => Promise<any>;
40
+ }, args: {
41
+ adminToken?: string;
42
+ token?: string;
43
+ limit?: number;
44
+ cursor?: string;
45
+ }): Promise<any>;
46
+ /**
47
+ * Ban a user, invalidating all their sessions.
48
+ */
49
+ banUser(ctx: {
50
+ runAction: (fn: any, args: any) => Promise<any>;
51
+ }, args: {
52
+ adminToken?: string;
53
+ token?: string;
54
+ userId: string;
55
+ reason?: string;
56
+ expiresAt?: number;
57
+ }): Promise<any>;
58
+ /**
59
+ * Unban a user.
60
+ */
61
+ unbanUser(ctx: {
62
+ runAction: (fn: any, args: any) => Promise<any>;
63
+ }, args: {
64
+ adminToken?: string;
65
+ token?: string;
66
+ userId: string;
67
+ }): Promise<any>;
68
+ /**
69
+ * Set a user's role.
70
+ */
71
+ setRole(ctx: {
72
+ runAction: (fn: any, args: any) => Promise<any>;
73
+ }, args: {
74
+ adminToken?: string;
75
+ token?: string;
76
+ userId: string;
77
+ role: string;
78
+ }): Promise<any>;
79
+ /**
80
+ * Permanently delete a user and all associated data.
81
+ */
82
+ deleteUser(ctx: {
83
+ runAction: (fn: any, args: any) => Promise<any>;
84
+ }, args: {
85
+ adminToken?: string;
86
+ token?: string;
87
+ userId: string;
88
+ }): Promise<any>;
89
+ get defaultRole(): string | undefined;
90
+ get adminRole(): string | undefined;
91
+ }
92
+ //# sourceMappingURL=admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../src/client/plugins/admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,iBAAiB,CAWpB;AAED;;;GAGG;AACH,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,MAAM,EAAE,iBAAiB;IAG5C;;;OAGG;IACH,OAAO,CAAC,EAAE;IAyBV,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,4BAA4B;YAStB,qBAAqB;IAkCnC;;OAEG;IACG,SAAS,CAEb,GAAG,EAAE;QAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE,EACxD,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAKhF;;OAEG;IACG,OAAO,CAEX,GAAG,EAAE;QAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE,EACxD,IAAI,EAAE;QACJ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;IAKH;;OAEG;IACG,SAAS,CAEb,GAAG,EAAE;QAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE,EACxD,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAK/D;;OAEG;IACG,OAAO,CAEX,GAAG,EAAE;QAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE,EACxD,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAK7E;;OAEG;IACG,UAAU,CAEd,GAAG,EAAE;QAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE,EACxD,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAK/D,IAAI,WAAW,uBAEd;IAED,IAAI,SAAS,uBAEZ;CACF"}