@robelest/convex-auth 0.0.4-preview.29 → 0.0.4-preview.30

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 (49) hide show
  1. package/dist/bin.js +34 -1
  2. package/dist/browser/passkey.js +2 -2
  3. package/dist/client/core/types.d.ts +4 -15
  4. package/dist/client/factors/device.js +3 -3
  5. package/dist/client/factors/totp.js +8 -8
  6. package/dist/client/index.js +7 -7
  7. package/dist/component/convex.config.d.ts +2 -2
  8. package/dist/component/model.d.ts +25 -25
  9. package/dist/component/schema.d.ts +289 -289
  10. package/dist/core/index.d.ts +5 -24
  11. package/dist/core/index.js +3 -16
  12. package/dist/server/auth-context.d.ts +1 -1
  13. package/dist/server/auth-context.js +14 -1
  14. package/dist/server/auth.d.ts +3 -17
  15. package/dist/server/auth.js +2 -7
  16. package/dist/server/config.js +10 -0
  17. package/dist/server/context.js +2 -4
  18. package/dist/server/contract.d.ts +1 -1
  19. package/dist/server/convexIdentity.d.ts +15 -0
  20. package/dist/server/convexIdentity.js +1 -0
  21. package/dist/server/core.js +0 -13
  22. package/dist/server/device.js +13 -12
  23. package/dist/server/env.js +10 -2
  24. package/dist/server/http.d.ts +1 -1
  25. package/dist/server/identity.js +30 -4
  26. package/dist/server/index.d.ts +1 -0
  27. package/dist/server/index.js +1 -0
  28. package/dist/server/mounts.d.ts +79 -79
  29. package/dist/server/mutations/refresh.js +38 -7
  30. package/dist/server/mutations/signin.js +12 -2
  31. package/dist/server/mutations/signout.js +27 -10
  32. package/dist/server/mutations/store.js +1 -1
  33. package/dist/server/oauth/factory.js +2 -1
  34. package/dist/server/passkey.js +12 -13
  35. package/dist/server/prefetch.js +8 -8
  36. package/dist/server/runtime.d.ts +19 -25
  37. package/dist/server/runtime.js +7 -40
  38. package/dist/server/sessions.d.ts +2 -1
  39. package/dist/server/sessions.js +21 -11
  40. package/dist/server/signin.js +17 -16
  41. package/dist/server/sso/domain.d.ts +1 -1
  42. package/dist/server/telemetry.js +58 -0
  43. package/dist/server/tokens.js +24 -4
  44. package/dist/server/totp.js +13 -11
  45. package/dist/server/types.d.ts +58 -2
  46. package/dist/server/utils/span.js +10 -1
  47. package/dist/shared/authResults.d.ts +16 -0
  48. package/package.json +6 -3
  49. package/dist/server/constants.js +0 -6
@@ -1,5 +1,5 @@
1
- import * as convex_values89 from "convex/values";
2
- import * as convex_server83 from "convex/server";
1
+ import * as convex_values91 from "convex/values";
2
+ import * as convex_server89 from "convex/server";
3
3
 
4
4
  //#region src/component/schema.d.ts
5
5
  /**
@@ -9,32 +9,32 @@ import * as convex_server83 from "convex/server";
9
9
  * verification codes, PKCE verifiers, rate limits) and hierarchical group
10
10
  * management (groups, members, invites).
11
11
  */
12
- declare const _default: convex_server83.SchemaDefinition<{
12
+ declare const _default: convex_server89.SchemaDefinition<{
13
13
  /**
14
14
  * Authenticated users. A user may have multiple linked accounts
15
15
  * and multiple concurrent sessions.
16
16
  */
17
- User: convex_server83.TableDefinition<convex_values89.VObject<{
17
+ User: convex_server89.TableDefinition<convex_values91.VObject<{
18
18
  name?: string | undefined;
19
19
  email?: string | undefined;
20
+ image?: string | undefined;
20
21
  phone?: string | undefined;
21
22
  extend?: any;
22
- image?: string | undefined;
23
23
  emailVerificationTime?: number | undefined;
24
24
  phoneVerificationTime?: number | undefined;
25
25
  isAnonymous?: boolean | undefined;
26
26
  hasTotp?: boolean | undefined;
27
27
  }, {
28
- name: convex_values89.VString<string | undefined, "optional">;
29
- image: convex_values89.VString<string | undefined, "optional">;
30
- email: convex_values89.VString<string | undefined, "optional">;
31
- emailVerificationTime: convex_values89.VFloat64<number | undefined, "optional">;
32
- phone: convex_values89.VString<string | undefined, "optional">;
33
- phoneVerificationTime: convex_values89.VFloat64<number | undefined, "optional">;
34
- isAnonymous: convex_values89.VBoolean<boolean | undefined, "optional">;
35
- hasTotp: convex_values89.VBoolean<boolean | undefined, "optional">;
36
- extend: convex_values89.VAny<any, "optional", string>;
37
- }, "required", "name" | "email" | "phone" | "extend" | "image" | "emailVerificationTime" | "phoneVerificationTime" | "isAnonymous" | "hasTotp" | `extend.${string}`>, {
28
+ name: convex_values91.VString<string | undefined, "optional">;
29
+ image: convex_values91.VString<string | undefined, "optional">;
30
+ email: convex_values91.VString<string | undefined, "optional">;
31
+ emailVerificationTime: convex_values91.VFloat64<number | undefined, "optional">;
32
+ phone: convex_values91.VString<string | undefined, "optional">;
33
+ phoneVerificationTime: convex_values91.VFloat64<number | undefined, "optional">;
34
+ isAnonymous: convex_values91.VBoolean<boolean | undefined, "optional">;
35
+ hasTotp: convex_values91.VBoolean<boolean | undefined, "optional">;
36
+ extend: convex_values91.VAny<any, "optional", string>;
37
+ }, "required", "name" | "email" | "image" | "phone" | "extend" | "emailVerificationTime" | "phoneVerificationTime" | "isAnonymous" | "hasTotp" | `extend.${string}`>, {
38
38
  email: ["email", "_creationTime"];
39
39
  email_verified: ["email", "emailVerificationTime", "_creationTime"];
40
40
  phone: ["phone", "_creationTime"];
@@ -45,12 +45,12 @@ declare const _default: convex_server83.SchemaDefinition<{
45
45
  * across different devices or browsers. Sessions expire after a
46
46
  * configurable duration.
47
47
  */
48
- Session: convex_server83.TableDefinition<convex_values89.VObject<{
49
- userId: convex_values89.GenericId<"User">;
48
+ Session: convex_server89.TableDefinition<convex_values91.VObject<{
49
+ userId: convex_values91.GenericId<"User">;
50
50
  expirationTime: number;
51
51
  }, {
52
- userId: convex_values89.VId<convex_values89.GenericId<"User">, "required">;
53
- expirationTime: convex_values89.VFloat64<number, "required">;
52
+ userId: convex_values91.VId<convex_values91.GenericId<"User">, "required">;
53
+ expirationTime: convex_values91.VFloat64<number, "required">;
54
54
  }, "required", "userId" | "expirationTime">, {
55
55
  user_id: ["userId", "_creationTime"];
56
56
  }, {}, {}>;
@@ -59,23 +59,23 @@ declare const _default: convex_server83.SchemaDefinition<{
59
59
  * authentication provider (e.g. Google OAuth, email/password).
60
60
  * A user can have multiple accounts linked.
61
61
  */
62
- Account: convex_server83.TableDefinition<convex_values89.VObject<{
62
+ Account: convex_server89.TableDefinition<convex_values91.VObject<{
63
+ emailVerified?: string | undefined;
63
64
  extend?: any;
64
65
  secret?: string | undefined;
65
- emailVerified?: string | undefined;
66
66
  phoneVerified?: string | undefined;
67
- userId: convex_values89.GenericId<"User">;
67
+ userId: convex_values91.GenericId<"User">;
68
68
  provider: string;
69
69
  providerAccountId: string;
70
70
  }, {
71
- userId: convex_values89.VId<convex_values89.GenericId<"User">, "required">;
72
- provider: convex_values89.VString<string, "required">;
73
- providerAccountId: convex_values89.VString<string, "required">;
74
- secret: convex_values89.VString<string | undefined, "optional">;
75
- emailVerified: convex_values89.VString<string | undefined, "optional">;
76
- phoneVerified: convex_values89.VString<string | undefined, "optional">;
77
- extend: convex_values89.VAny<any, "optional", string>;
78
- }, "required", "userId" | "extend" | `extend.${string}` | "provider" | "providerAccountId" | "secret" | "emailVerified" | "phoneVerified">, {
71
+ userId: convex_values91.VId<convex_values91.GenericId<"User">, "required">;
72
+ provider: convex_values91.VString<string, "required">;
73
+ providerAccountId: convex_values91.VString<string, "required">;
74
+ secret: convex_values91.VString<string | undefined, "optional">;
75
+ emailVerified: convex_values91.VString<string | undefined, "optional">;
76
+ phoneVerified: convex_values91.VString<string | undefined, "optional">;
77
+ extend: convex_values91.VAny<any, "optional", string>;
78
+ }, "required", "emailVerified" | "userId" | "extend" | `extend.${string}` | "provider" | "providerAccountId" | "secret" | "phoneVerified">, {
79
79
  user_id_provider: ["userId", "provider", "_creationTime"];
80
80
  provider_account_id: ["provider", "providerAccountId", "_creationTime"];
81
81
  }, {}, {}>;
@@ -87,16 +87,16 @@ declare const _default: convex_server83.SchemaDefinition<{
87
87
  * been used yet. A 10-second reuse window allows for concurrent requests.
88
88
  * Any invalid use of a token invalidates the entire chain.
89
89
  */
90
- RefreshToken: convex_server83.TableDefinition<convex_values89.VObject<{
90
+ RefreshToken: convex_server89.TableDefinition<convex_values91.VObject<{
91
91
  firstUsedTime?: number | undefined;
92
- parentRefreshTokenId?: convex_values89.GenericId<"RefreshToken"> | undefined;
92
+ parentRefreshTokenId?: convex_values91.GenericId<"RefreshToken"> | undefined;
93
93
  expirationTime: number;
94
- sessionId: convex_values89.GenericId<"Session">;
94
+ sessionId: convex_values91.GenericId<"Session">;
95
95
  }, {
96
- sessionId: convex_values89.VId<convex_values89.GenericId<"Session">, "required">;
97
- expirationTime: convex_values89.VFloat64<number, "required">;
98
- firstUsedTime: convex_values89.VFloat64<number | undefined, "optional">;
99
- parentRefreshTokenId: convex_values89.VId<convex_values89.GenericId<"RefreshToken"> | undefined, "optional">;
96
+ sessionId: convex_values91.VId<convex_values91.GenericId<"Session">, "required">;
97
+ expirationTime: convex_values91.VFloat64<number, "required">;
98
+ firstUsedTime: convex_values91.VFloat64<number | undefined, "optional">;
99
+ parentRefreshTokenId: convex_values91.VId<convex_values91.GenericId<"RefreshToken"> | undefined, "optional">;
100
100
  }, "required", "expirationTime" | "sessionId" | "firstUsedTime" | "parentRefreshTokenId">, {
101
101
  session_id: ["sessionId", "_creationTime"];
102
102
  session_id_first_used: ["sessionId", "firstUsedTime", "_creationTime"];
@@ -105,23 +105,23 @@ declare const _default: convex_server83.SchemaDefinition<{
105
105
  /**
106
106
  * Verification codes for OTP tokens, magic link tokens, and OAuth codes.
107
107
  */
108
- VerificationCode: convex_server83.TableDefinition<convex_values89.VObject<{
108
+ VerificationCode: convex_server89.TableDefinition<convex_values91.VObject<{
109
109
  emailVerified?: string | undefined;
110
110
  phoneVerified?: string | undefined;
111
111
  verifier?: string | undefined;
112
112
  expirationTime: number;
113
113
  provider: string;
114
- accountId: convex_values89.GenericId<"Account">;
114
+ accountId: convex_values91.GenericId<"Account">;
115
115
  code: string;
116
116
  }, {
117
- accountId: convex_values89.VId<convex_values89.GenericId<"Account">, "required">;
118
- provider: convex_values89.VString<string, "required">;
119
- code: convex_values89.VString<string, "required">;
120
- expirationTime: convex_values89.VFloat64<number, "required">;
121
- verifier: convex_values89.VString<string | undefined, "optional">;
122
- emailVerified: convex_values89.VString<string | undefined, "optional">;
123
- phoneVerified: convex_values89.VString<string | undefined, "optional">;
124
- }, "required", "expirationTime" | "provider" | "emailVerified" | "phoneVerified" | "accountId" | "code" | "verifier">, {
117
+ accountId: convex_values91.VId<convex_values91.GenericId<"Account">, "required">;
118
+ provider: convex_values91.VString<string, "required">;
119
+ code: convex_values91.VString<string, "required">;
120
+ expirationTime: convex_values91.VFloat64<number, "required">;
121
+ verifier: convex_values91.VString<string | undefined, "optional">;
122
+ emailVerified: convex_values91.VString<string | undefined, "optional">;
123
+ phoneVerified: convex_values91.VString<string | undefined, "optional">;
124
+ }, "required", "emailVerified" | "expirationTime" | "provider" | "phoneVerified" | "accountId" | "code" | "verifier">, {
125
125
  account_id: ["accountId", "_creationTime"];
126
126
  code: ["code", "_creationTime"];
127
127
  }, {}, {}>;
@@ -129,12 +129,12 @@ declare const _default: convex_server83.SchemaDefinition<{
129
129
  * PKCE verifiers for OAuth flows. Stores the cryptographic verifier
130
130
  * used to prove the authorization request originated from this client.
131
131
  */
132
- AuthVerifier: convex_server83.TableDefinition<convex_values89.VObject<{
133
- sessionId?: convex_values89.GenericId<"Session"> | undefined;
132
+ AuthVerifier: convex_server89.TableDefinition<convex_values91.VObject<{
133
+ sessionId?: convex_values91.GenericId<"Session"> | undefined;
134
134
  signature?: string | undefined;
135
135
  }, {
136
- sessionId: convex_values89.VId<convex_values89.GenericId<"Session"> | undefined, "optional">;
137
- signature: convex_values89.VString<string | undefined, "optional">;
136
+ sessionId: convex_values91.VId<convex_values91.GenericId<"Session"> | undefined, "optional">;
137
+ signature: convex_values91.VString<string | undefined, "optional">;
138
138
  }, "required", "sessionId" | "signature">, {
139
139
  signature: ["signature", "_creationTime"];
140
140
  }, {}, {}>;
@@ -143,11 +143,11 @@ declare const _default: convex_server83.SchemaDefinition<{
143
143
  * registered authenticator (Touch ID, Face ID, security key, etc.).
144
144
  * A user can have multiple passkeys across different devices.
145
145
  */
146
- Passkey: convex_server83.TableDefinition<convex_values89.VObject<{
146
+ Passkey: convex_server89.TableDefinition<convex_values91.VObject<{
147
147
  name?: string | undefined;
148
148
  lastUsedAt?: number | undefined;
149
149
  transports?: string[] | undefined;
150
- userId: convex_values89.GenericId<"User">;
150
+ userId: convex_values91.GenericId<"User">;
151
151
  createdAt: number;
152
152
  credentialId: string;
153
153
  publicKey: ArrayBuffer;
@@ -156,17 +156,17 @@ declare const _default: convex_server83.SchemaDefinition<{
156
156
  deviceType: string;
157
157
  backedUp: boolean;
158
158
  }, {
159
- userId: convex_values89.VId<convex_values89.GenericId<"User">, "required">; /** Base64url-encoded credential ID from the authenticator. */
160
- credentialId: convex_values89.VString<string, "required">; /** Public key bytes (SEC1 uncompressed for EC, SPKI for RSA). */
161
- publicKey: convex_values89.VBytes<ArrayBuffer, "required">; /** COSE algorithm identifier (-7 for ES256, -257 for RS256, -8 for EdDSA). */
162
- algorithm: convex_values89.VFloat64<number, "required">; /** Signature counter for clone detection. Many authenticators return 0. */
163
- counter: convex_values89.VFloat64<number, "required">; /** Authenticator transport hints (e.g. "internal", "hybrid", "usb", "ble", "nfc"). */
164
- transports: convex_values89.VArray<string[] | undefined, convex_values89.VString<string, "required">, "optional">; /** Whether this is a single-device or multi-device (synced) credential. */
165
- deviceType: convex_values89.VString<string, "required">; /** Whether the credential is backed up (synced passkey). */
166
- backedUp: convex_values89.VBoolean<boolean, "required">; /** User-assigned friendly name (e.g. "MacBook Touch ID"). */
167
- name: convex_values89.VString<string | undefined, "optional">;
168
- createdAt: convex_values89.VFloat64<number, "required">;
169
- lastUsedAt: convex_values89.VFloat64<number | undefined, "optional">;
159
+ userId: convex_values91.VId<convex_values91.GenericId<"User">, "required">; /** Base64url-encoded credential ID from the authenticator. */
160
+ credentialId: convex_values91.VString<string, "required">; /** Public key bytes (SEC1 uncompressed for EC, SPKI for RSA). */
161
+ publicKey: convex_values91.VBytes<ArrayBuffer, "required">; /** COSE algorithm identifier (-7 for ES256, -257 for RS256, -8 for EdDSA). */
162
+ algorithm: convex_values91.VFloat64<number, "required">; /** Signature counter for clone detection. Many authenticators return 0. */
163
+ counter: convex_values91.VFloat64<number, "required">; /** Authenticator transport hints (e.g. "internal", "hybrid", "usb", "ble", "nfc"). */
164
+ transports: convex_values91.VArray<string[] | undefined, convex_values91.VString<string, "required">, "optional">; /** Whether this is a single-device or multi-device (synced) credential. */
165
+ deviceType: convex_values91.VString<string, "required">; /** Whether the credential is backed up (synced passkey). */
166
+ backedUp: convex_values91.VBoolean<boolean, "required">; /** User-assigned friendly name (e.g. "MacBook Touch ID"). */
167
+ name: convex_values91.VString<string | undefined, "optional">;
168
+ createdAt: convex_values91.VFloat64<number, "required">;
169
+ lastUsedAt: convex_values91.VFloat64<number | undefined, "optional">;
170
170
  }, "required", "name" | "lastUsedAt" | "userId" | "createdAt" | "credentialId" | "publicKey" | "algorithm" | "counter" | "transports" | "deviceType" | "backedUp">, {
171
171
  user_id: ["userId", "_creationTime"];
172
172
  credential_id: ["credentialId", "_creationTime"];
@@ -180,24 +180,24 @@ declare const _default: convex_server83.SchemaDefinition<{
180
180
  * by successfully entering a code from their authenticator app.
181
181
  * Unverified enrollments are in-progress setup that can be discarded.
182
182
  */
183
- TotpFactor: convex_server83.TableDefinition<convex_values89.VObject<{
183
+ TotpFactor: convex_server89.TableDefinition<convex_values91.VObject<{
184
184
  name?: string | undefined;
185
185
  lastUsedAt?: number | undefined;
186
- userId: convex_values89.GenericId<"User">;
186
+ userId: convex_values91.GenericId<"User">;
187
187
  createdAt: number;
188
188
  secret: ArrayBuffer;
189
189
  digits: number;
190
190
  period: number;
191
191
  verified: boolean;
192
192
  }, {
193
- userId: convex_values89.VId<convex_values89.GenericId<"User">, "required">; /** Raw TOTP secret key bytes. */
194
- secret: convex_values89.VBytes<ArrayBuffer, "required">; /** Number of digits in each code (typically 6). */
195
- digits: convex_values89.VFloat64<number, "required">; /** Time period in seconds for code rotation (typically 30). */
196
- period: convex_values89.VFloat64<number, "required">; /** Whether setup has been confirmed with a valid code. */
197
- verified: convex_values89.VBoolean<boolean, "required">; /** User-assigned friendly name (e.g. "Google Authenticator"). */
198
- name: convex_values89.VString<string | undefined, "optional">;
199
- createdAt: convex_values89.VFloat64<number, "required">;
200
- lastUsedAt: convex_values89.VFloat64<number | undefined, "optional">;
193
+ userId: convex_values91.VId<convex_values91.GenericId<"User">, "required">; /** Raw TOTP secret key bytes. */
194
+ secret: convex_values91.VBytes<ArrayBuffer, "required">; /** Number of digits in each code (typically 6). */
195
+ digits: convex_values91.VFloat64<number, "required">; /** Time period in seconds for code rotation (typically 30). */
196
+ period: convex_values91.VFloat64<number, "required">; /** Whether setup has been confirmed with a valid code. */
197
+ verified: convex_values91.VBoolean<boolean, "required">; /** User-assigned friendly name (e.g. "Google Authenticator"). */
198
+ name: convex_values91.VString<string | undefined, "optional">;
199
+ createdAt: convex_values91.VFloat64<number, "required">;
200
+ lastUsedAt: convex_values91.VFloat64<number | undefined, "optional">;
201
201
  }, "required", "name" | "lastUsedAt" | "userId" | "createdAt" | "secret" | "digits" | "period" | "verified">, {
202
202
  user_id: ["userId", "_creationTime"];
203
203
  user_id_verified: ["userId", "verified", "_creationTime"];
@@ -207,9 +207,9 @@ declare const _default: convex_server83.SchemaDefinition<{
207
207
  * device auth session — the device polls with `deviceCode` while the
208
208
  * user authorizes via `userCode` on a secondary device.
209
209
  */
210
- DeviceCode: convex_server83.TableDefinition<convex_values89.VObject<{
211
- userId?: convex_values89.GenericId<"User"> | undefined;
212
- sessionId?: convex_values89.GenericId<"Session"> | undefined;
210
+ DeviceCode: convex_server89.TableDefinition<convex_values91.VObject<{
211
+ userId?: convex_values91.GenericId<"User"> | undefined;
212
+ sessionId?: convex_values91.GenericId<"Session"> | undefined;
213
213
  lastPolledAt?: number | undefined;
214
214
  status: "pending" | "authorized" | "denied";
215
215
  expiresAt: number;
@@ -217,14 +217,14 @@ declare const _default: convex_server83.SchemaDefinition<{
217
217
  userCode: string;
218
218
  interval: number;
219
219
  }, {
220
- /** High-entropy code used by the device for polling. Stored as SHA-256 hash. */deviceCodeHash: convex_values89.VString<string, "required">; /** Short human-readable code the user enters (e.g. "WDJB-MJHT"). */
221
- userCode: convex_values89.VString<string, "required">; /** Expiration timestamp (ms since epoch). */
222
- expiresAt: convex_values89.VFloat64<number, "required">; /** Minimum polling interval in seconds. */
223
- interval: convex_values89.VFloat64<number, "required">; /** Current status of this device authorization session. */
224
- status: convex_values89.VUnion<"pending" | "authorized" | "denied", [convex_values89.VLiteral<"pending", "required">, convex_values89.VLiteral<"authorized", "required">, convex_values89.VLiteral<"denied", "required">], "required", never>; /** Set when the user authorizes — links to the authorizing user. */
225
- userId: convex_values89.VId<convex_values89.GenericId<"User"> | undefined, "optional">; /** Set when the user authorizes — the session created for the device. */
226
- sessionId: convex_values89.VId<convex_values89.GenericId<"Session"> | undefined, "optional">; /** Timestamp of the last poll request (for slow_down enforcement). */
227
- lastPolledAt: convex_values89.VFloat64<number | undefined, "optional">;
220
+ /** High-entropy code used by the device for polling. Stored as SHA-256 hash. */deviceCodeHash: convex_values91.VString<string, "required">; /** Short human-readable code the user enters (e.g. "WDJB-MJHT"). */
221
+ userCode: convex_values91.VString<string, "required">; /** Expiration timestamp (ms since epoch). */
222
+ expiresAt: convex_values91.VFloat64<number, "required">; /** Minimum polling interval in seconds. */
223
+ interval: convex_values91.VFloat64<number, "required">; /** Current status of this device authorization session. */
224
+ status: convex_values91.VUnion<"pending" | "authorized" | "denied", [convex_values91.VLiteral<"pending", "required">, convex_values91.VLiteral<"authorized", "required">, convex_values91.VLiteral<"denied", "required">], "required", never>; /** Set when the user authorizes — links to the authorizing user. */
225
+ userId: convex_values91.VId<convex_values91.GenericId<"User"> | undefined, "optional">; /** Set when the user authorizes — the session created for the device. */
226
+ sessionId: convex_values91.VId<convex_values91.GenericId<"Session"> | undefined, "optional">; /** Timestamp of the last poll request (for slow_down enforcement). */
227
+ lastPolledAt: convex_values91.VFloat64<number | undefined, "optional">;
228
228
  }, "required", "status" | "expiresAt" | "userId" | "sessionId" | "deviceCodeHash" | "userCode" | "interval" | "lastPolledAt">, {
229
229
  device_code_hash: ["deviceCodeHash", "_creationTime"];
230
230
  user_code_status: ["userCode", "status", "_creationTime"];
@@ -232,14 +232,14 @@ declare const _default: convex_server83.SchemaDefinition<{
232
232
  /**
233
233
  * Rate limit tracking for OTP and password sign-in attempts.
234
234
  */
235
- RateLimit: convex_server83.TableDefinition<convex_values89.VObject<{
235
+ RateLimit: convex_server89.TableDefinition<convex_values91.VObject<{
236
236
  identifier: string;
237
237
  last_attempt_time: number;
238
238
  attempts_left: number;
239
239
  }, {
240
- identifier: convex_values89.VString<string, "required">;
241
- last_attempt_time: convex_values89.VFloat64<number, "required">;
242
- attempts_left: convex_values89.VFloat64<number, "required">;
240
+ identifier: convex_values91.VString<string, "required">;
241
+ last_attempt_time: convex_values91.VFloat64<number, "required">;
242
+ attempts_left: convex_values91.VFloat64<number, "required">;
243
243
  }, "required", "identifier" | "last_attempt_time" | "attempts_left">, {
244
244
  by_identifier: ["identifier", "_creationTime"];
245
245
  }, {}, {}>;
@@ -248,12 +248,12 @@ declare const _default: convex_server83.SchemaDefinition<{
248
248
  * Groups can nest arbitrarily deep via `parentGroupId` for modeling
249
249
  * organizations, teams, departments, or any tree structure.
250
250
  */
251
- Group: convex_server83.TableDefinition<convex_values89.VObject<{
251
+ Group: convex_server89.TableDefinition<convex_values91.VObject<{
252
252
  slug?: string | undefined;
253
253
  type?: string | undefined;
254
254
  extend?: any;
255
- parentGroupId?: convex_values89.GenericId<"Group"> | undefined;
256
- rootGroupId?: convex_values89.GenericId<"Group"> | undefined;
255
+ parentGroupId?: convex_values91.GenericId<"Group"> | undefined;
256
+ rootGroupId?: convex_values91.GenericId<"Group"> | undefined;
257
257
  isRoot?: boolean | undefined;
258
258
  tags?: {
259
259
  key: string;
@@ -300,23 +300,23 @@ declare const _default: convex_server83.SchemaDefinition<{
300
300
  } | undefined;
301
301
  name: string;
302
302
  }, {
303
- name: convex_values89.VString<string, "required">;
304
- slug: convex_values89.VString<string | undefined, "optional">;
305
- type: convex_values89.VString<string | undefined, "optional">;
306
- parentGroupId: convex_values89.VId<convex_values89.GenericId<"Group"> | undefined, "optional">; /** Denormalized root group ID. Self-referencing for root groups. */
307
- rootGroupId: convex_values89.VId<convex_values89.GenericId<"Group"> | undefined, "optional">; /** Denormalized flag: `true` when `parentGroupId` is absent. */
308
- isRoot: convex_values89.VBoolean<boolean | undefined, "optional">; /** Faceted classification tags. Normalized at write time (trimmed, lowercased). */
309
- tags: convex_values89.VArray<{
303
+ name: convex_values91.VString<string, "required">;
304
+ slug: convex_values91.VString<string | undefined, "optional">;
305
+ type: convex_values91.VString<string | undefined, "optional">;
306
+ parentGroupId: convex_values91.VId<convex_values91.GenericId<"Group"> | undefined, "optional">; /** Denormalized root group ID. Self-referencing for root groups. */
307
+ rootGroupId: convex_values91.VId<convex_values91.GenericId<"Group"> | undefined, "optional">; /** Denormalized flag: `true` when `parentGroupId` is absent. */
308
+ isRoot: convex_values91.VBoolean<boolean | undefined, "optional">; /** Faceted classification tags. Normalized at write time (trimmed, lowercased). */
309
+ tags: convex_values91.VArray<{
310
310
  key: string;
311
311
  value: string;
312
- }[] | undefined, convex_values89.VObject<{
312
+ }[] | undefined, convex_values91.VObject<{
313
313
  key: string;
314
314
  value: string;
315
315
  }, {
316
- key: convex_values89.VString<string, "required">;
317
- value: convex_values89.VString<string, "required">;
316
+ key: convex_values91.VString<string, "required">;
317
+ value: convex_values91.VString<string, "required">;
318
318
  }, "required", "key" | "value">, "optional">;
319
- policy: convex_values89.VObject<{
319
+ policy: convex_values91.VObject<{
320
320
  extend?: any;
321
321
  version: 1;
322
322
  identity: {
@@ -355,22 +355,22 @@ declare const _default: convex_server83.SchemaDefinition<{
355
355
  };
356
356
  };
357
357
  } | undefined, {
358
- version: convex_values89.VLiteral<1, "required">;
359
- identity: convex_values89.VObject<{
358
+ version: convex_values91.VLiteral<1, "required">;
359
+ identity: convex_values91.VObject<{
360
360
  accountLinking: {
361
361
  oidc: "verifiedEmail" | "none";
362
362
  saml: "verifiedEmail" | "none";
363
363
  };
364
364
  }, {
365
- accountLinking: convex_values89.VObject<{
365
+ accountLinking: convex_values91.VObject<{
366
366
  oidc: "verifiedEmail" | "none";
367
367
  saml: "verifiedEmail" | "none";
368
368
  }, {
369
- oidc: convex_values89.VUnion<"verifiedEmail" | "none", [convex_values89.VLiteral<"verifiedEmail", "required">, convex_values89.VLiteral<"none", "required">], "required", never>;
370
- saml: convex_values89.VUnion<"verifiedEmail" | "none", [convex_values89.VLiteral<"verifiedEmail", "required">, convex_values89.VLiteral<"none", "required">], "required", never>;
369
+ oidc: convex_values91.VUnion<"verifiedEmail" | "none", [convex_values91.VLiteral<"verifiedEmail", "required">, convex_values91.VLiteral<"none", "required">], "required", never>;
370
+ saml: convex_values91.VUnion<"verifiedEmail" | "none", [convex_values91.VLiteral<"verifiedEmail", "required">, convex_values91.VLiteral<"none", "required">], "required", never>;
371
371
  }, "required", "oidc" | "saml">;
372
372
  }, "required", "accountLinking" | "accountLinking.oidc" | "accountLinking.saml">;
373
- provisioning: convex_values89.VObject<{
373
+ provisioning: convex_values91.VObject<{
374
374
  user: {
375
375
  createOnSignIn: boolean;
376
376
  updateProfileOnLogin: "never" | "missing" | "always";
@@ -399,58 +399,58 @@ declare const _default: convex_server83.SchemaDefinition<{
399
399
  source: "protocol";
400
400
  };
401
401
  }, {
402
- user: convex_values89.VObject<{
402
+ user: convex_values91.VObject<{
403
403
  createOnSignIn: boolean;
404
404
  updateProfileOnLogin: "never" | "missing" | "always";
405
405
  updateProfileFromScim: "never" | "missing" | "always";
406
406
  authority: "app" | "sso" | "scim";
407
407
  }, {
408
- createOnSignIn: convex_values89.VBoolean<boolean, "required">;
409
- updateProfileOnLogin: convex_values89.VUnion<"never" | "missing" | "always", [convex_values89.VLiteral<"never", "required">, convex_values89.VLiteral<"missing", "required">, convex_values89.VLiteral<"always", "required">], "required", never>;
410
- updateProfileFromScim: convex_values89.VUnion<"never" | "missing" | "always", [convex_values89.VLiteral<"never", "required">, convex_values89.VLiteral<"missing", "required">, convex_values89.VLiteral<"always", "required">], "required", never>;
411
- authority: convex_values89.VUnion<"app" | "sso" | "scim", [convex_values89.VLiteral<"app", "required">, convex_values89.VLiteral<"sso", "required">, convex_values89.VLiteral<"scim", "required">], "required", never>;
408
+ createOnSignIn: convex_values91.VBoolean<boolean, "required">;
409
+ updateProfileOnLogin: convex_values91.VUnion<"never" | "missing" | "always", [convex_values91.VLiteral<"never", "required">, convex_values91.VLiteral<"missing", "required">, convex_values91.VLiteral<"always", "required">], "required", never>;
410
+ updateProfileFromScim: convex_values91.VUnion<"never" | "missing" | "always", [convex_values91.VLiteral<"never", "required">, convex_values91.VLiteral<"missing", "required">, convex_values91.VLiteral<"always", "required">], "required", never>;
411
+ authority: convex_values91.VUnion<"app" | "sso" | "scim", [convex_values91.VLiteral<"app", "required">, convex_values91.VLiteral<"sso", "required">, convex_values91.VLiteral<"scim", "required">], "required", never>;
412
412
  }, "required", "createOnSignIn" | "updateProfileOnLogin" | "updateProfileFromScim" | "authority">;
413
- scimReuse: convex_values89.VObject<{
413
+ scimReuse: convex_values91.VObject<{
414
414
  user: "none" | "externalId";
415
415
  }, {
416
- user: convex_values89.VUnion<"none" | "externalId", [convex_values89.VLiteral<"externalId", "required">, convex_values89.VLiteral<"none", "required">], "required", never>;
416
+ user: convex_values91.VUnion<"none" | "externalId", [convex_values91.VLiteral<"externalId", "required">, convex_values91.VLiteral<"none", "required">], "required", never>;
417
417
  }, "required", "user">;
418
- jit: convex_values89.VObject<{
418
+ jit: convex_values91.VObject<{
419
419
  defaultRole?: string | undefined;
420
420
  defaultRoleIds?: string[] | undefined;
421
421
  mode: "off" | "createUser" | "createUserAndMembership";
422
422
  }, {
423
- mode: convex_values89.VUnion<"off" | "createUser" | "createUserAndMembership", [convex_values89.VLiteral<"off", "required">, convex_values89.VLiteral<"createUser", "required">, convex_values89.VLiteral<"createUserAndMembership", "required">], "required", never>;
424
- defaultRole: convex_values89.VString<string | undefined, "optional">;
425
- defaultRoleIds: convex_values89.VArray<string[] | undefined, convex_values89.VString<string, "required">, "optional">;
423
+ mode: convex_values91.VUnion<"off" | "createUser" | "createUserAndMembership", [convex_values91.VLiteral<"off", "required">, convex_values91.VLiteral<"createUser", "required">, convex_values91.VLiteral<"createUserAndMembership", "required">], "required", never>;
424
+ defaultRole: convex_values91.VString<string | undefined, "optional">;
425
+ defaultRoleIds: convex_values91.VArray<string[] | undefined, convex_values91.VString<string, "required">, "optional">;
426
426
  }, "required", "mode" | "defaultRole" | "defaultRoleIds">;
427
- deprovision: convex_values89.VObject<{
427
+ deprovision: convex_values91.VObject<{
428
428
  mode: "soft" | "hard";
429
429
  }, {
430
- mode: convex_values89.VUnion<"soft" | "hard", [convex_values89.VLiteral<"soft", "required">, convex_values89.VLiteral<"hard", "required">], "required", never>;
430
+ mode: convex_values91.VUnion<"soft" | "hard", [convex_values91.VLiteral<"soft", "required">, convex_values91.VLiteral<"hard", "required">], "required", never>;
431
431
  }, "required", "mode">;
432
- groups: convex_values89.VObject<{
432
+ groups: convex_values91.VObject<{
433
433
  mapping?: Record<string, string[]> | undefined;
434
434
  mode: "ignore" | "sync";
435
435
  source: "protocol";
436
436
  }, {
437
- mode: convex_values89.VUnion<"ignore" | "sync", [convex_values89.VLiteral<"ignore", "required">, convex_values89.VLiteral<"sync", "required">], "required", never>;
438
- source: convex_values89.VLiteral<"protocol", "required">;
439
- mapping: convex_values89.VRecord<Record<string, string[]> | undefined, convex_values89.VString<string, "required">, convex_values89.VArray<string[], convex_values89.VString<string, "required">, "required">, "optional", string>;
437
+ mode: convex_values91.VUnion<"ignore" | "sync", [convex_values91.VLiteral<"ignore", "required">, convex_values91.VLiteral<"sync", "required">], "required", never>;
438
+ source: convex_values91.VLiteral<"protocol", "required">;
439
+ mapping: convex_values91.VRecord<Record<string, string[]> | undefined, convex_values91.VString<string, "required">, convex_values91.VArray<string[], convex_values91.VString<string, "required">, "required">, "optional", string>;
440
440
  }, "required", "mode" | "source" | "mapping" | `mapping.${string}`>;
441
- roles: convex_values89.VObject<{
441
+ roles: convex_values91.VObject<{
442
442
  mapping?: Record<string, string[]> | undefined;
443
443
  mode: "map" | "ignore";
444
444
  source: "protocol";
445
445
  }, {
446
- mode: convex_values89.VUnion<"map" | "ignore", [convex_values89.VLiteral<"ignore", "required">, convex_values89.VLiteral<"map", "required">], "required", never>;
447
- source: convex_values89.VLiteral<"protocol", "required">;
448
- mapping: convex_values89.VRecord<Record<string, string[]> | undefined, convex_values89.VString<string, "required">, convex_values89.VArray<string[], convex_values89.VString<string, "required">, "required">, "optional", string>;
446
+ mode: convex_values91.VUnion<"map" | "ignore", [convex_values91.VLiteral<"ignore", "required">, convex_values91.VLiteral<"map", "required">], "required", never>;
447
+ source: convex_values91.VLiteral<"protocol", "required">;
448
+ mapping: convex_values91.VRecord<Record<string, string[]> | undefined, convex_values91.VString<string, "required">, convex_values91.VArray<string[], convex_values91.VString<string, "required">, "required">, "optional", string>;
449
449
  }, "required", "mode" | "source" | "mapping" | `mapping.${string}`>;
450
450
  }, "required", "user" | "scimReuse" | "jit" | "deprovision" | "groups" | "roles" | "user.createOnSignIn" | "user.updateProfileOnLogin" | "user.updateProfileFromScim" | "user.authority" | "scimReuse.user" | "jit.mode" | "jit.defaultRole" | "jit.defaultRoleIds" | "deprovision.mode" | "groups.mode" | "groups.source" | "groups.mapping" | `groups.mapping.${string}` | "roles.mode" | "roles.source" | "roles.mapping" | `roles.mapping.${string}`>;
451
- extend: convex_values89.VAny<any, "optional", string>;
451
+ extend: convex_values91.VAny<any, "optional", string>;
452
452
  }, "optional", "extend" | `extend.${string}` | "version" | "identity" | "provisioning" | "identity.accountLinking" | "identity.accountLinking.oidc" | "identity.accountLinking.saml" | "provisioning.user" | "provisioning.scimReuse" | "provisioning.jit" | "provisioning.deprovision" | "provisioning.groups" | "provisioning.roles" | "provisioning.user.createOnSignIn" | "provisioning.user.updateProfileOnLogin" | "provisioning.user.updateProfileFromScim" | "provisioning.user.authority" | "provisioning.scimReuse.user" | "provisioning.jit.mode" | "provisioning.jit.defaultRole" | "provisioning.jit.defaultRoleIds" | "provisioning.deprovision.mode" | "provisioning.groups.mode" | "provisioning.groups.source" | "provisioning.groups.mapping" | `provisioning.groups.mapping.${string}` | "provisioning.roles.mode" | "provisioning.roles.source" | "provisioning.roles.mapping" | `provisioning.roles.mapping.${string}`>;
453
- extend: convex_values89.VAny<any, "optional", string>;
453
+ extend: convex_values91.VAny<any, "optional", string>;
454
454
  }, "required", "name" | "slug" | "type" | "extend" | `extend.${string}` | "parentGroupId" | "rootGroupId" | "isRoot" | "tags" | "policy" | "policy.extend" | `policy.extend.${string}` | "policy.version" | "policy.identity" | "policy.provisioning" | "policy.identity.accountLinking" | "policy.identity.accountLinking.oidc" | "policy.identity.accountLinking.saml" | "policy.provisioning.user" | "policy.provisioning.scimReuse" | "policy.provisioning.jit" | "policy.provisioning.deprovision" | "policy.provisioning.groups" | "policy.provisioning.roles" | "policy.provisioning.user.createOnSignIn" | "policy.provisioning.user.updateProfileOnLogin" | "policy.provisioning.user.updateProfileFromScim" | "policy.provisioning.user.authority" | "policy.provisioning.scimReuse.user" | "policy.provisioning.jit.mode" | "policy.provisioning.jit.defaultRole" | "policy.provisioning.jit.defaultRoleIds" | "policy.provisioning.deprovision.mode" | "policy.provisioning.groups.mode" | "policy.provisioning.groups.source" | "policy.provisioning.groups.mapping" | `policy.provisioning.groups.mapping.${string}` | "policy.provisioning.roles.mode" | "policy.provisioning.roles.source" | "policy.provisioning.roles.mapping" | `policy.provisioning.roles.mapping.${string}`>, {
455
455
  slug: ["slug", "_creationTime"];
456
456
  parent_group_id: ["parentGroupId", "_creationTime"];
@@ -464,14 +464,14 @@ declare const _default: convex_server83.SchemaDefinition<{
464
464
  * Each row maps one `(key, value)` pair to a group. Kept in sync by
465
465
  * `groupCreate`, `groupUpdate`, and `groupDelete`.
466
466
  */
467
- GroupTag: convex_server83.TableDefinition<convex_values89.VObject<{
467
+ GroupTag: convex_server89.TableDefinition<convex_values91.VObject<{
468
468
  key: string;
469
469
  value: string;
470
- group_id: convex_values89.GenericId<"Group">;
470
+ group_id: convex_values91.GenericId<"Group">;
471
471
  }, {
472
- group_id: convex_values89.VId<convex_values89.GenericId<"Group">, "required">;
473
- key: convex_values89.VString<string, "required">;
474
- value: convex_values89.VString<string, "required">;
472
+ group_id: convex_values91.VId<convex_values91.GenericId<"Group">, "required">;
473
+ key: convex_values91.VString<string, "required">;
474
+ value: convex_values91.VString<string, "required">;
475
475
  }, "required", "key" | "value" | "group_id">, {
476
476
  by_group: ["group_id", "_creationTime"];
477
477
  by_key_value: ["key", "value", "_creationTime"];
@@ -482,20 +482,20 @@ declare const _default: convex_server83.SchemaDefinition<{
482
482
  * role (e.g. "owner", "admin", "member", "viewer"). A user can be a
483
483
  * member of multiple groups with different roles in each.
484
484
  */
485
- GroupMember: convex_server83.TableDefinition<convex_values89.VObject<{
485
+ GroupMember: convex_server89.TableDefinition<convex_values91.VObject<{
486
486
  status?: string | undefined;
487
487
  extend?: any;
488
488
  role?: string | undefined;
489
489
  roleIds?: string[] | undefined;
490
- userId: convex_values89.GenericId<"User">;
491
- groupId: convex_values89.GenericId<"Group">;
490
+ userId: convex_values91.GenericId<"User">;
491
+ groupId: convex_values91.GenericId<"Group">;
492
492
  }, {
493
- groupId: convex_values89.VId<convex_values89.GenericId<"Group">, "required">;
494
- userId: convex_values89.VId<convex_values89.GenericId<"User">, "required">;
495
- role: convex_values89.VString<string | undefined, "optional">;
496
- roleIds: convex_values89.VArray<string[] | undefined, convex_values89.VString<string, "required">, "optional">;
497
- status: convex_values89.VString<string | undefined, "optional">;
498
- extend: convex_values89.VAny<any, "optional", string>;
493
+ groupId: convex_values91.VId<convex_values91.GenericId<"Group">, "required">;
494
+ userId: convex_values91.VId<convex_values91.GenericId<"User">, "required">;
495
+ role: convex_values91.VString<string | undefined, "optional">;
496
+ roleIds: convex_values91.VArray<string[] | undefined, convex_values91.VString<string, "required">, "optional">;
497
+ status: convex_values91.VString<string | undefined, "optional">;
498
+ extend: convex_values91.VAny<any, "optional", string>;
499
499
  }, "required", "status" | "userId" | "extend" | `extend.${string}` | "groupId" | "role" | "roleIds">, {
500
500
  group_id: ["groupId", "_creationTime"];
501
501
  group_id_user_id: ["groupId", "userId", "_creationTime"];
@@ -510,30 +510,30 @@ declare const _default: convex_server83.SchemaDefinition<{
510
510
  * `email` and `invitedByUserId` are optional to support CLI-generated
511
511
  * invite links where neither is known upfront.
512
512
  */
513
- GroupInvite: convex_server83.TableDefinition<convex_values89.VObject<{
513
+ GroupInvite: convex_server89.TableDefinition<convex_values91.VObject<{
514
514
  email?: string | undefined;
515
515
  expiresTime?: number | undefined;
516
516
  acceptedTime?: number | undefined;
517
517
  extend?: any;
518
- groupId?: convex_values89.GenericId<"Group"> | undefined;
518
+ groupId?: convex_values91.GenericId<"Group"> | undefined;
519
519
  role?: string | undefined;
520
520
  roleIds?: string[] | undefined;
521
- invitedByUserId?: convex_values89.GenericId<"User"> | undefined;
522
- acceptedByUserId?: convex_values89.GenericId<"User"> | undefined;
521
+ invitedByUserId?: convex_values91.GenericId<"User"> | undefined;
522
+ acceptedByUserId?: convex_values91.GenericId<"User"> | undefined;
523
523
  status: "pending" | "accepted" | "revoked" | "expired";
524
524
  tokenHash: string;
525
525
  }, {
526
- groupId: convex_values89.VId<convex_values89.GenericId<"Group"> | undefined, "optional">;
527
- invitedByUserId: convex_values89.VId<convex_values89.GenericId<"User"> | undefined, "optional">;
528
- email: convex_values89.VString<string | undefined, "optional">;
529
- tokenHash: convex_values89.VString<string, "required">;
530
- role: convex_values89.VString<string | undefined, "optional">;
531
- roleIds: convex_values89.VArray<string[] | undefined, convex_values89.VString<string, "required">, "optional">;
532
- status: convex_values89.VUnion<"pending" | "accepted" | "revoked" | "expired", [convex_values89.VLiteral<"pending", "required">, convex_values89.VLiteral<"accepted", "required">, convex_values89.VLiteral<"revoked", "required">, convex_values89.VLiteral<"expired", "required">], "required", never>;
533
- expiresTime: convex_values89.VFloat64<number | undefined, "optional">;
534
- acceptedByUserId: convex_values89.VId<convex_values89.GenericId<"User"> | undefined, "optional">;
535
- acceptedTime: convex_values89.VFloat64<number | undefined, "optional">;
536
- extend: convex_values89.VAny<any, "optional", string>;
526
+ groupId: convex_values91.VId<convex_values91.GenericId<"Group"> | undefined, "optional">;
527
+ invitedByUserId: convex_values91.VId<convex_values91.GenericId<"User"> | undefined, "optional">;
528
+ email: convex_values91.VString<string | undefined, "optional">;
529
+ tokenHash: convex_values91.VString<string, "required">;
530
+ role: convex_values91.VString<string | undefined, "optional">;
531
+ roleIds: convex_values91.VArray<string[] | undefined, convex_values91.VString<string, "required">, "optional">;
532
+ status: convex_values91.VUnion<"pending" | "accepted" | "revoked" | "expired", [convex_values91.VLiteral<"pending", "required">, convex_values91.VLiteral<"accepted", "required">, convex_values91.VLiteral<"revoked", "required">, convex_values91.VLiteral<"expired", "required">], "required", never>;
533
+ expiresTime: convex_values91.VFloat64<number | undefined, "optional">;
534
+ acceptedByUserId: convex_values91.VId<convex_values91.GenericId<"User"> | undefined, "optional">;
535
+ acceptedTime: convex_values91.VFloat64<number | undefined, "optional">;
536
+ extend: convex_values91.VAny<any, "optional", string>;
537
537
  }, "required", "email" | "status" | "expiresTime" | "acceptedTime" | "extend" | `extend.${string}` | "groupId" | "role" | "roleIds" | "invitedByUserId" | "tokenHash" | "acceptedByUserId">, {
538
538
  token_hash: ["tokenHash", "_creationTime"];
539
539
  status: ["status", "_creationTime"];
@@ -549,22 +549,22 @@ declare const _default: convex_server83.SchemaDefinition<{
549
549
  * SDK can evolve without forcing schema churn for every protocol-specific
550
550
  * field addition.
551
551
  */
552
- GroupConnection: convex_server83.TableDefinition<convex_values89.VObject<{
552
+ GroupConnection: convex_server89.TableDefinition<convex_values91.VObject<{
553
553
  name?: string | undefined;
554
554
  slug?: string | undefined;
555
555
  extend?: any;
556
556
  config?: any;
557
557
  status: "draft" | "active" | "disabled";
558
558
  protocol: "oidc" | "saml";
559
- groupId: convex_values89.GenericId<"Group">;
559
+ groupId: convex_values91.GenericId<"Group">;
560
560
  }, {
561
- groupId: convex_values89.VId<convex_values89.GenericId<"Group">, "required">;
562
- slug: convex_values89.VString<string | undefined, "optional">;
563
- name: convex_values89.VString<string | undefined, "optional">;
564
- protocol: convex_values89.VUnion<"oidc" | "saml", [convex_values89.VLiteral<"oidc", "required">, convex_values89.VLiteral<"saml", "required">], "required", never>;
565
- status: convex_values89.VUnion<"draft" | "active" | "disabled", [convex_values89.VLiteral<"draft", "required">, convex_values89.VLiteral<"active", "required">, convex_values89.VLiteral<"disabled", "required">], "required", never>;
566
- config: convex_values89.VAny<any, "optional", string>;
567
- extend: convex_values89.VAny<any, "optional", string>;
561
+ groupId: convex_values91.VId<convex_values91.GenericId<"Group">, "required">;
562
+ slug: convex_values91.VString<string | undefined, "optional">;
563
+ name: convex_values91.VString<string | undefined, "optional">;
564
+ protocol: convex_values91.VUnion<"oidc" | "saml", [convex_values91.VLiteral<"oidc", "required">, convex_values91.VLiteral<"saml", "required">], "required", never>;
565
+ status: convex_values91.VUnion<"draft" | "active" | "disabled", [convex_values91.VLiteral<"draft", "required">, convex_values91.VLiteral<"active", "required">, convex_values91.VLiteral<"disabled", "required">], "required", never>;
566
+ config: convex_values91.VAny<any, "optional", string>;
567
+ extend: convex_values91.VAny<any, "optional", string>;
568
568
  }, "required", "name" | "slug" | "status" | "extend" | `extend.${string}` | "protocol" | "groupId" | "config" | `config.${string}`>, {
569
569
  group_id: ["groupId", "_creationTime"];
570
570
  slug: ["slug", "_creationTime"];
@@ -575,18 +575,18 @@ declare const _default: convex_server83.SchemaDefinition<{
575
575
  /**
576
576
  * Verified or pending domains linked to an group connection record.
577
577
  */
578
- GroupConnectionDomain: convex_server83.TableDefinition<convex_values89.VObject<{
578
+ GroupConnectionDomain: convex_server89.TableDefinition<convex_values91.VObject<{
579
579
  verifiedAt?: number | undefined;
580
- groupId: convex_values89.GenericId<"Group">;
581
- connectionId: convex_values89.GenericId<"GroupConnection">;
580
+ groupId: convex_values91.GenericId<"Group">;
581
+ connectionId: convex_values91.GenericId<"GroupConnection">;
582
582
  domain: string;
583
583
  isPrimary: boolean;
584
584
  }, {
585
- connectionId: convex_values89.VId<convex_values89.GenericId<"GroupConnection">, "required">;
586
- groupId: convex_values89.VId<convex_values89.GenericId<"Group">, "required">;
587
- domain: convex_values89.VString<string, "required">;
588
- isPrimary: convex_values89.VBoolean<boolean, "required">;
589
- verifiedAt: convex_values89.VFloat64<number | undefined, "optional">;
585
+ connectionId: convex_values91.VId<convex_values91.GenericId<"GroupConnection">, "required">;
586
+ groupId: convex_values91.VId<convex_values91.GenericId<"Group">, "required">;
587
+ domain: convex_values91.VString<string, "required">;
588
+ isPrimary: convex_values91.VBoolean<boolean, "required">;
589
+ verifiedAt: convex_values91.VFloat64<number | undefined, "optional">;
590
590
  }, "required", "groupId" | "connectionId" | "domain" | "isPrimary" | "verifiedAt">, {
591
591
  connection_id: ["connectionId", "_creationTime"];
592
592
  group_id: ["groupId", "_creationTime"];
@@ -595,26 +595,26 @@ declare const _default: convex_server83.SchemaDefinition<{
595
595
  /**
596
596
  * Pending DNS TXT verification challenges for group connection domains.
597
597
  */
598
- GroupConnectionDomainVerification: convex_server83.TableDefinition<convex_values89.VObject<{
598
+ GroupConnectionDomainVerification: convex_server89.TableDefinition<convex_values91.VObject<{
599
599
  expiresAt: number;
600
- groupId: convex_values89.GenericId<"Group">;
600
+ groupId: convex_values91.GenericId<"Group">;
601
601
  tokenHash: string;
602
- connectionId: convex_values89.GenericId<"GroupConnection">;
602
+ connectionId: convex_values91.GenericId<"GroupConnection">;
603
603
  domain: string;
604
- domainId: convex_values89.GenericId<"GroupConnectionDomain">;
604
+ domainId: convex_values91.GenericId<"GroupConnectionDomain">;
605
605
  recordName: string;
606
606
  token: string;
607
607
  requestedAt: number;
608
608
  }, {
609
- connectionId: convex_values89.VId<convex_values89.GenericId<"GroupConnection">, "required">;
610
- groupId: convex_values89.VId<convex_values89.GenericId<"Group">, "required">;
611
- domainId: convex_values89.VId<convex_values89.GenericId<"GroupConnectionDomain">, "required">;
612
- domain: convex_values89.VString<string, "required">;
613
- recordName: convex_values89.VString<string, "required">;
614
- token: convex_values89.VString<string, "required">;
615
- tokenHash: convex_values89.VString<string, "required">;
616
- requestedAt: convex_values89.VFloat64<number, "required">;
617
- expiresAt: convex_values89.VFloat64<number, "required">;
609
+ connectionId: convex_values91.VId<convex_values91.GenericId<"GroupConnection">, "required">;
610
+ groupId: convex_values91.VId<convex_values91.GenericId<"Group">, "required">;
611
+ domainId: convex_values91.VId<convex_values91.GenericId<"GroupConnectionDomain">, "required">;
612
+ domain: convex_values91.VString<string, "required">;
613
+ recordName: convex_values91.VString<string, "required">;
614
+ token: convex_values91.VString<string, "required">;
615
+ tokenHash: convex_values91.VString<string, "required">;
616
+ requestedAt: convex_values91.VFloat64<number, "required">;
617
+ expiresAt: convex_values91.VFloat64<number, "required">;
618
618
  }, "required", "expiresAt" | "groupId" | "tokenHash" | "connectionId" | "domain" | "domainId" | "recordName" | "token" | "requestedAt">, {
619
619
  connection_id: ["connectionId", "_creationTime"];
620
620
  domain_id: ["domainId", "_creationTime"];
@@ -623,18 +623,18 @@ declare const _default: convex_server83.SchemaDefinition<{
623
623
  /**
624
624
  * Encrypted group connection secrets stored separately from protocol config.
625
625
  */
626
- GroupConnectionSecret: convex_server83.TableDefinition<convex_values89.VObject<{
627
- groupId: convex_values89.GenericId<"Group">;
628
- connectionId: convex_values89.GenericId<"GroupConnection">;
626
+ GroupConnectionSecret: convex_server89.TableDefinition<convex_values91.VObject<{
627
+ groupId: convex_values91.GenericId<"Group">;
628
+ connectionId: convex_values91.GenericId<"GroupConnection">;
629
629
  ciphertext: string;
630
630
  updatedAt: number;
631
631
  kind: "oidc_client_secret";
632
632
  }, {
633
- connectionId: convex_values89.VId<convex_values89.GenericId<"GroupConnection">, "required">;
634
- groupId: convex_values89.VId<convex_values89.GenericId<"Group">, "required">;
635
- kind: convex_values89.VUnion<"oidc_client_secret", [convex_values89.VLiteral<"oidc_client_secret", "required">], "required", never>;
636
- ciphertext: convex_values89.VString<string, "required">;
637
- updatedAt: convex_values89.VFloat64<number, "required">;
633
+ connectionId: convex_values91.VId<convex_values91.GenericId<"GroupConnection">, "required">;
634
+ groupId: convex_values91.VId<convex_values91.GenericId<"Group">, "required">;
635
+ kind: convex_values91.VUnion<"oidc_client_secret", [convex_values91.VLiteral<"oidc_client_secret", "required">], "required", never>;
636
+ ciphertext: convex_values91.VString<string, "required">;
637
+ updatedAt: convex_values91.VFloat64<number, "required">;
638
638
  }, "required", "groupId" | "connectionId" | "ciphertext" | "updatedAt" | "kind">, {
639
639
  connection_id: ["connectionId", "_creationTime"];
640
640
  connection_id_kind: ["connectionId", "kind", "_creationTime"];
@@ -643,22 +643,22 @@ declare const _default: convex_server83.SchemaDefinition<{
643
643
  /**
644
644
  * SCIM configuration for an group connection tenant.
645
645
  */
646
- GroupConnectionScimConfig: convex_server83.TableDefinition<convex_values89.VObject<{
646
+ GroupConnectionScimConfig: convex_server89.TableDefinition<convex_values91.VObject<{
647
647
  extend?: any;
648
648
  lastRotatedAt?: number | undefined;
649
649
  status: "draft" | "active" | "disabled";
650
- groupId: convex_values89.GenericId<"Group">;
650
+ groupId: convex_values91.GenericId<"Group">;
651
651
  tokenHash: string;
652
- connectionId: convex_values89.GenericId<"GroupConnection">;
652
+ connectionId: convex_values91.GenericId<"GroupConnection">;
653
653
  basePath: string;
654
654
  }, {
655
- connectionId: convex_values89.VId<convex_values89.GenericId<"GroupConnection">, "required">;
656
- groupId: convex_values89.VId<convex_values89.GenericId<"Group">, "required">;
657
- status: convex_values89.VUnion<"draft" | "active" | "disabled", [convex_values89.VLiteral<"draft", "required">, convex_values89.VLiteral<"active", "required">, convex_values89.VLiteral<"disabled", "required">], "required", never>;
658
- basePath: convex_values89.VString<string, "required">;
659
- tokenHash: convex_values89.VString<string, "required">;
660
- lastRotatedAt: convex_values89.VFloat64<number | undefined, "optional">;
661
- extend: convex_values89.VAny<any, "optional", string>;
655
+ connectionId: convex_values91.VId<convex_values91.GenericId<"GroupConnection">, "required">;
656
+ groupId: convex_values91.VId<convex_values91.GenericId<"Group">, "required">;
657
+ status: convex_values91.VUnion<"draft" | "active" | "disabled", [convex_values91.VLiteral<"draft", "required">, convex_values91.VLiteral<"active", "required">, convex_values91.VLiteral<"disabled", "required">], "required", never>;
658
+ basePath: convex_values91.VString<string, "required">;
659
+ tokenHash: convex_values91.VString<string, "required">;
660
+ lastRotatedAt: convex_values91.VFloat64<number | undefined, "optional">;
661
+ extend: convex_values91.VAny<any, "optional", string>;
662
662
  }, "required", "status" | "extend" | `extend.${string}` | "groupId" | "tokenHash" | "connectionId" | "basePath" | "lastRotatedAt">, {
663
663
  group_connection_id: ["connectionId", "_creationTime"];
664
664
  group_id: ["groupId", "_creationTime"];
@@ -668,26 +668,26 @@ declare const _default: convex_server83.SchemaDefinition<{
668
668
  /**
669
669
  * External SCIM identities mapped into local users/groups.
670
670
  */
671
- GroupConnectionScimIdentity: convex_server83.TableDefinition<convex_values89.VObject<{
672
- userId?: convex_values89.GenericId<"User"> | undefined;
671
+ GroupConnectionScimIdentity: convex_server89.TableDefinition<convex_values91.VObject<{
672
+ userId?: convex_values91.GenericId<"User"> | undefined;
673
673
  active?: boolean | undefined;
674
- mappedGroupId?: convex_values89.GenericId<"Group"> | undefined;
674
+ mappedGroupId?: convex_values91.GenericId<"Group"> | undefined;
675
675
  lastProvisionedAt?: number | undefined;
676
676
  raw?: any;
677
677
  externalId: string;
678
- groupId: convex_values89.GenericId<"Group">;
679
- connectionId: convex_values89.GenericId<"GroupConnection">;
678
+ groupId: convex_values91.GenericId<"Group">;
679
+ connectionId: convex_values91.GenericId<"GroupConnection">;
680
680
  resourceType: "user" | "group";
681
681
  }, {
682
- connectionId: convex_values89.VId<convex_values89.GenericId<"GroupConnection">, "required">;
683
- groupId: convex_values89.VId<convex_values89.GenericId<"Group">, "required">;
684
- resourceType: convex_values89.VUnion<"user" | "group", [convex_values89.VLiteral<"user", "required">, convex_values89.VLiteral<"group", "required">], "required", never>;
685
- externalId: convex_values89.VString<string, "required">;
686
- userId: convex_values89.VId<convex_values89.GenericId<"User"> | undefined, "optional">;
687
- mappedGroupId: convex_values89.VId<convex_values89.GenericId<"Group"> | undefined, "optional">;
688
- lastProvisionedAt: convex_values89.VFloat64<number | undefined, "optional">;
689
- active: convex_values89.VBoolean<boolean | undefined, "optional">;
690
- raw: convex_values89.VAny<any, "optional", string>;
682
+ connectionId: convex_values91.VId<convex_values91.GenericId<"GroupConnection">, "required">;
683
+ groupId: convex_values91.VId<convex_values91.GenericId<"Group">, "required">;
684
+ resourceType: convex_values91.VUnion<"user" | "group", [convex_values91.VLiteral<"user", "required">, convex_values91.VLiteral<"group", "required">], "required", never>;
685
+ externalId: convex_values91.VString<string, "required">;
686
+ userId: convex_values91.VId<convex_values91.GenericId<"User"> | undefined, "optional">;
687
+ mappedGroupId: convex_values91.VId<convex_values91.GenericId<"Group"> | undefined, "optional">;
688
+ lastProvisionedAt: convex_values91.VFloat64<number | undefined, "optional">;
689
+ active: convex_values91.VBoolean<boolean | undefined, "optional">;
690
+ raw: convex_values91.VAny<any, "optional", string>;
691
691
  }, "required", "userId" | "externalId" | "groupId" | "active" | "connectionId" | "resourceType" | "mappedGroupId" | "lastProvisionedAt" | "raw" | `raw.${string}`>, {
692
692
  group_connection_id: ["connectionId", "_creationTime"];
693
693
  group_id: ["groupId", "_creationTime"];
@@ -699,32 +699,32 @@ declare const _default: convex_server83.SchemaDefinition<{
699
699
  /**
700
700
  * Immutable audit trail for group connection operations.
701
701
  */
702
- GroupAuditEvent: convex_server83.TableDefinition<convex_values89.VObject<{
702
+ GroupAuditEvent: convex_server89.TableDefinition<convex_values91.VObject<{
703
703
  metadata?: any;
704
- connectionId?: convex_values89.GenericId<"GroupConnection"> | undefined;
704
+ connectionId?: convex_values91.GenericId<"GroupConnection"> | undefined;
705
705
  actorId?: string | undefined;
706
706
  subjectId?: string | undefined;
707
707
  requestId?: string | undefined;
708
708
  ip?: string | undefined;
709
709
  status: "success" | "failure";
710
- groupId: convex_values89.GenericId<"Group">;
710
+ groupId: convex_values91.GenericId<"Group">;
711
711
  actorType: "user" | "scim" | "system" | "api_key" | "webhook";
712
712
  eventType: string;
713
713
  subjectType: string;
714
714
  occurredAt: number;
715
715
  }, {
716
- connectionId: convex_values89.VId<convex_values89.GenericId<"GroupConnection"> | undefined, "optional">;
717
- groupId: convex_values89.VId<convex_values89.GenericId<"Group">, "required">;
718
- eventType: convex_values89.VString<string, "required">;
719
- actorType: convex_values89.VUnion<"user" | "scim" | "system" | "api_key" | "webhook", [convex_values89.VLiteral<"user", "required">, convex_values89.VLiteral<"system", "required">, convex_values89.VLiteral<"scim", "required">, convex_values89.VLiteral<"api_key", "required">, convex_values89.VLiteral<"webhook", "required">], "required", never>;
720
- actorId: convex_values89.VString<string | undefined, "optional">;
721
- subjectType: convex_values89.VString<string, "required">;
722
- subjectId: convex_values89.VString<string | undefined, "optional">;
723
- status: convex_values89.VUnion<"success" | "failure", [convex_values89.VLiteral<"success", "required">, convex_values89.VLiteral<"failure", "required">], "required", never>;
724
- occurredAt: convex_values89.VFloat64<number, "required">;
725
- requestId: convex_values89.VString<string | undefined, "optional">;
726
- ip: convex_values89.VString<string | undefined, "optional">;
727
- metadata: convex_values89.VAny<any, "optional", string>;
716
+ connectionId: convex_values91.VId<convex_values91.GenericId<"GroupConnection"> | undefined, "optional">;
717
+ groupId: convex_values91.VId<convex_values91.GenericId<"Group">, "required">;
718
+ eventType: convex_values91.VString<string, "required">;
719
+ actorType: convex_values91.VUnion<"user" | "scim" | "system" | "api_key" | "webhook", [convex_values91.VLiteral<"user", "required">, convex_values91.VLiteral<"system", "required">, convex_values91.VLiteral<"scim", "required">, convex_values91.VLiteral<"api_key", "required">, convex_values91.VLiteral<"webhook", "required">], "required", never>;
720
+ actorId: convex_values91.VString<string | undefined, "optional">;
721
+ subjectType: convex_values91.VString<string, "required">;
722
+ subjectId: convex_values91.VString<string | undefined, "optional">;
723
+ status: convex_values91.VUnion<"success" | "failure", [convex_values91.VLiteral<"success", "required">, convex_values91.VLiteral<"failure", "required">], "required", never>;
724
+ occurredAt: convex_values91.VFloat64<number, "required">;
725
+ requestId: convex_values91.VString<string | undefined, "optional">;
726
+ ip: convex_values91.VString<string | undefined, "optional">;
727
+ metadata: convex_values91.VAny<any, "optional", string>;
728
728
  }, "required", "status" | "metadata" | `metadata.${string}` | "groupId" | "connectionId" | "actorType" | "eventType" | "actorId" | "subjectType" | "subjectId" | "occurredAt" | "requestId" | "ip">, {
729
729
  group_connection_id_occurred_at: ["connectionId", "occurredAt", "_creationTime"];
730
730
  group_id_occurred_at: ["groupId", "occurredAt", "_creationTime"];
@@ -733,30 +733,30 @@ declare const _default: convex_server83.SchemaDefinition<{
733
733
  /**
734
734
  * Webhook endpoints subscribed to group audit and lifecycle events.
735
735
  */
736
- GroupWebhookEndpoint: convex_server83.TableDefinition<convex_values89.VObject<{
736
+ GroupWebhookEndpoint: convex_server89.TableDefinition<convex_values91.VObject<{
737
737
  extend?: any;
738
- createdByUserId?: convex_values89.GenericId<"User"> | undefined;
738
+ createdByUserId?: convex_values91.GenericId<"User"> | undefined;
739
739
  lastSuccessAt?: number | undefined;
740
740
  lastFailureAt?: number | undefined;
741
741
  status: "active" | "disabled";
742
- groupId: convex_values89.GenericId<"Group">;
743
- connectionId: convex_values89.GenericId<"GroupConnection">;
742
+ groupId: convex_values91.GenericId<"Group">;
743
+ connectionId: convex_values91.GenericId<"GroupConnection">;
744
744
  url: string;
745
745
  secretHash: string;
746
746
  subscriptions: string[];
747
747
  failureCount: number;
748
748
  }, {
749
- connectionId: convex_values89.VId<convex_values89.GenericId<"GroupConnection">, "required">;
750
- groupId: convex_values89.VId<convex_values89.GenericId<"Group">, "required">;
751
- url: convex_values89.VString<string, "required">;
752
- status: convex_values89.VUnion<"active" | "disabled", [convex_values89.VLiteral<"active", "required">, convex_values89.VLiteral<"disabled", "required">], "required", never>;
753
- secretHash: convex_values89.VString<string, "required">;
754
- subscriptions: convex_values89.VArray<string[], convex_values89.VString<string, "required">, "required">;
755
- createdByUserId: convex_values89.VId<convex_values89.GenericId<"User"> | undefined, "optional">;
756
- lastSuccessAt: convex_values89.VFloat64<number | undefined, "optional">;
757
- lastFailureAt: convex_values89.VFloat64<number | undefined, "optional">;
758
- failureCount: convex_values89.VFloat64<number, "required">;
759
- extend: convex_values89.VAny<any, "optional", string>;
749
+ connectionId: convex_values91.VId<convex_values91.GenericId<"GroupConnection">, "required">;
750
+ groupId: convex_values91.VId<convex_values91.GenericId<"Group">, "required">;
751
+ url: convex_values91.VString<string, "required">;
752
+ status: convex_values91.VUnion<"active" | "disabled", [convex_values91.VLiteral<"active", "required">, convex_values91.VLiteral<"disabled", "required">], "required", never>;
753
+ secretHash: convex_values91.VString<string, "required">;
754
+ subscriptions: convex_values91.VArray<string[], convex_values91.VString<string, "required">, "required">;
755
+ createdByUserId: convex_values91.VId<convex_values91.GenericId<"User"> | undefined, "optional">;
756
+ lastSuccessAt: convex_values91.VFloat64<number | undefined, "optional">;
757
+ lastFailureAt: convex_values91.VFloat64<number | undefined, "optional">;
758
+ failureCount: convex_values91.VFloat64<number, "required">;
759
+ extend: convex_values91.VAny<any, "optional", string>;
760
760
  }, "required", "status" | "extend" | `extend.${string}` | "groupId" | "connectionId" | "url" | "secretHash" | "subscriptions" | "createdByUserId" | "lastSuccessAt" | "lastFailureAt" | "failureCount">, {
761
761
  group_connection_id: ["connectionId", "_creationTime"];
762
762
  group_id: ["groupId", "_creationTime"];
@@ -765,30 +765,30 @@ declare const _default: convex_server83.SchemaDefinition<{
765
765
  /**
766
766
  * Delivery queue for outbound group webhooks.
767
767
  */
768
- GroupWebhookDelivery: convex_server83.TableDefinition<convex_values89.VObject<{
769
- auditEventId?: convex_values89.GenericId<"GroupAuditEvent"> | undefined;
768
+ GroupWebhookDelivery: convex_server89.TableDefinition<convex_values91.VObject<{
769
+ auditEventId?: convex_values91.GenericId<"GroupAuditEvent"> | undefined;
770
770
  lastAttemptAt?: number | undefined;
771
771
  lastResponseStatus?: number | undefined;
772
772
  lastError?: string | undefined;
773
773
  status: "pending" | "processing" | "delivered" | "failed";
774
- connectionId: convex_values89.GenericId<"GroupConnection">;
774
+ connectionId: convex_values91.GenericId<"GroupConnection">;
775
775
  eventType: string;
776
- endpointId: convex_values89.GenericId<"GroupWebhookEndpoint">;
776
+ endpointId: convex_values91.GenericId<"GroupWebhookEndpoint">;
777
777
  attemptCount: number;
778
778
  nextAttemptAt: number;
779
779
  payload: any;
780
780
  }, {
781
- connectionId: convex_values89.VId<convex_values89.GenericId<"GroupConnection">, "required">;
782
- endpointId: convex_values89.VId<convex_values89.GenericId<"GroupWebhookEndpoint">, "required">;
783
- auditEventId: convex_values89.VId<convex_values89.GenericId<"GroupAuditEvent"> | undefined, "optional">;
784
- eventType: convex_values89.VString<string, "required">;
785
- status: convex_values89.VUnion<"pending" | "processing" | "delivered" | "failed", [convex_values89.VLiteral<"pending", "required">, convex_values89.VLiteral<"processing", "required">, convex_values89.VLiteral<"delivered", "required">, convex_values89.VLiteral<"failed", "required">], "required", never>;
786
- attemptCount: convex_values89.VFloat64<number, "required">;
787
- nextAttemptAt: convex_values89.VFloat64<number, "required">;
788
- lastAttemptAt: convex_values89.VFloat64<number | undefined, "optional">;
789
- lastResponseStatus: convex_values89.VFloat64<number | undefined, "optional">;
790
- lastError: convex_values89.VString<string | undefined, "optional">;
791
- payload: convex_values89.VAny<any, "required", string>;
781
+ connectionId: convex_values91.VId<convex_values91.GenericId<"GroupConnection">, "required">;
782
+ endpointId: convex_values91.VId<convex_values91.GenericId<"GroupWebhookEndpoint">, "required">;
783
+ auditEventId: convex_values91.VId<convex_values91.GenericId<"GroupAuditEvent"> | undefined, "optional">;
784
+ eventType: convex_values91.VString<string, "required">;
785
+ status: convex_values91.VUnion<"pending" | "processing" | "delivered" | "failed", [convex_values91.VLiteral<"pending", "required">, convex_values91.VLiteral<"processing", "required">, convex_values91.VLiteral<"delivered", "required">, convex_values91.VLiteral<"failed", "required">], "required", never>;
786
+ attemptCount: convex_values91.VFloat64<number, "required">;
787
+ nextAttemptAt: convex_values91.VFloat64<number, "required">;
788
+ lastAttemptAt: convex_values91.VFloat64<number | undefined, "optional">;
789
+ lastResponseStatus: convex_values91.VFloat64<number | undefined, "optional">;
790
+ lastError: convex_values91.VString<string | undefined, "optional">;
791
+ payload: convex_values91.VAny<any, "required", string>;
792
792
  }, "required", "status" | "connectionId" | "eventType" | "endpointId" | "auditEventId" | "attemptCount" | "nextAttemptAt" | "lastAttemptAt" | "lastResponseStatus" | "lastError" | "payload" | `payload.${string}`>, {
793
793
  group_connection_id: ["connectionId", "_creationTime"];
794
794
  status_next_attempt_at: ["status", "nextAttemptAt", "_creationTime"];
@@ -808,7 +808,7 @@ declare const _default: convex_server83.SchemaDefinition<{
808
808
  * - **Expiration**: optional TTL
809
809
  * - **Soft revocation**: `revoked` flag preserves audit trail
810
810
  */
811
- ApiKey: convex_server83.TableDefinition<convex_values89.VObject<{
811
+ ApiKey: convex_server89.TableDefinition<convex_values91.VObject<{
812
812
  lastUsedAt?: number | undefined;
813
813
  expiresAt?: number | undefined;
814
814
  rateLimit?: {
@@ -822,7 +822,7 @@ declare const _default: convex_server83.SchemaDefinition<{
822
822
  metadata?: any;
823
823
  name: string;
824
824
  revoked: boolean;
825
- userId: convex_values89.GenericId<"User">;
825
+ userId: convex_values91.GenericId<"User">;
826
826
  prefix: string;
827
827
  hashedKey: string;
828
828
  scopes: {
@@ -831,39 +831,39 @@ declare const _default: convex_server83.SchemaDefinition<{
831
831
  }[];
832
832
  createdAt: number;
833
833
  }, {
834
- userId: convex_values89.VId<convex_values89.GenericId<"User">, "required">; /** First chars of the key for display (e.g. "sk_abc1..."). */
835
- prefix: convex_values89.VString<string, "required">; /** SHA-256 hex hash of the full raw key. */
836
- hashedKey: convex_values89.VString<string, "required">; /** User-assigned name (e.g. "CI Pipeline", "Production API"). */
837
- name: convex_values89.VString<string, "required">; /** Scoped permissions: [{ resource: "users", actions: ["read", "list"] }]. */
838
- scopes: convex_values89.VArray<{
834
+ userId: convex_values91.VId<convex_values91.GenericId<"User">, "required">; /** First chars of the key for display (e.g. "sk_abc1..."). */
835
+ prefix: convex_values91.VString<string, "required">; /** SHA-256 hex hash of the full raw key. */
836
+ hashedKey: convex_values91.VString<string, "required">; /** User-assigned name (e.g. "CI Pipeline", "Production API"). */
837
+ name: convex_values91.VString<string, "required">; /** Scoped permissions: [{ resource: "users", actions: ["read", "list"] }]. */
838
+ scopes: convex_values91.VArray<{
839
839
  resource: string;
840
840
  actions: string[];
841
- }[], convex_values89.VObject<{
841
+ }[], convex_values91.VObject<{
842
842
  resource: string;
843
843
  actions: string[];
844
844
  }, {
845
- resource: convex_values89.VString<string, "required">;
846
- actions: convex_values89.VArray<string[], convex_values89.VString<string, "required">, "required">;
845
+ resource: convex_values91.VString<string, "required">;
846
+ actions: convex_values91.VArray<string[], convex_values91.VString<string, "required">, "required">;
847
847
  }, "required", "resource" | "actions">, "required">; /** Optional per-key rate limit configuration. */
848
- rateLimit: convex_values89.VObject<{
848
+ rateLimit: convex_values91.VObject<{
849
849
  maxRequests: number;
850
850
  windowMs: number;
851
851
  } | undefined, {
852
- maxRequests: convex_values89.VFloat64<number, "required">;
853
- windowMs: convex_values89.VFloat64<number, "required">;
852
+ maxRequests: convex_values91.VFloat64<number, "required">;
853
+ windowMs: convex_values91.VFloat64<number, "required">;
854
854
  }, "optional", "maxRequests" | "windowMs">; /** Rate limit state tracking (token-bucket). */
855
- rateLimitState: convex_values89.VObject<{
855
+ rateLimitState: convex_values91.VObject<{
856
856
  attemptsLeft: number;
857
857
  lastAttemptTime: number;
858
858
  } | undefined, {
859
- attemptsLeft: convex_values89.VFloat64<number, "required">;
860
- lastAttemptTime: convex_values89.VFloat64<number, "required">;
859
+ attemptsLeft: convex_values91.VFloat64<number, "required">;
860
+ lastAttemptTime: convex_values91.VFloat64<number, "required">;
861
861
  }, "optional", "attemptsLeft" | "lastAttemptTime">; /** Expiration timestamp. Null/undefined = never expires. */
862
- expiresAt: convex_values89.VFloat64<number | undefined, "optional">;
863
- lastUsedAt: convex_values89.VFloat64<number | undefined, "optional">;
864
- createdAt: convex_values89.VFloat64<number, "required">; /** Soft-revoke flag. Revoked keys are kept for audit trail. */
865
- revoked: convex_values89.VBoolean<boolean, "required">; /** Arbitrary app-specific metadata attached to the key. */
866
- metadata: convex_values89.VAny<any, "optional", string>;
862
+ expiresAt: convex_values91.VFloat64<number | undefined, "optional">;
863
+ lastUsedAt: convex_values91.VFloat64<number | undefined, "optional">;
864
+ createdAt: convex_values91.VFloat64<number, "required">; /** Soft-revoke flag. Revoked keys are kept for audit trail. */
865
+ revoked: convex_values91.VBoolean<boolean, "required">; /** Arbitrary app-specific metadata attached to the key. */
866
+ metadata: convex_values91.VAny<any, "optional", string>;
867
867
  }, "required", "name" | "revoked" | "lastUsedAt" | "expiresAt" | "userId" | "prefix" | "hashedKey" | "scopes" | "rateLimit" | "rateLimitState" | "createdAt" | "metadata" | "rateLimit.maxRequests" | "rateLimit.windowMs" | "rateLimitState.attemptsLeft" | "rateLimitState.lastAttemptTime" | `metadata.${string}`>, {
868
868
  user_id: ["userId", "_creationTime"];
869
869
  hashed_key: ["hashedKey", "_creationTime"];