kitcn 0.15.15 → 0.15.16

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.
@@ -1,4 +1,4 @@
1
- import { C as ConvexNumberBuilderInitial, E as ConvexIdBuilderInitial, N as ConvexCustomBuilderInitial, dn as ConvexTableWithColumns, tr as ConvexTextBuilderInitial } from "../where-clause-compiler-D0D_4v_n.js";
1
+ import { C as ConvexNumberBuilderInitial, E as ConvexIdBuilderInitial, N as ConvexCustomBuilderInitial, dn as ConvexTableWithColumns, tr as ConvexTextBuilderInitial } from "../where-clause-compiler-CR_tTVuy.js";
2
2
  import * as convex_values0 from "convex/values";
3
3
  import { GenericId, Infer, Value } from "convex/values";
4
4
  import { DocumentByName, GenericDataModel, GenericDatabaseReader, GenericDatabaseWriter, TableNamesInDataModel } from "convex/server";
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { r as AuthStore } from "../../auth-store-B_ARzzEX.js";
2
+ import { r as AuthStore } from "../../auth-store-GDNKweSK.js";
3
3
  import { ConvexReactClient } from "convex/react";
4
4
  import { ReactNode } from "react";
5
5
  import * as react_jsx_runtime0 from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { C as readAuthSessionFallbackData, D as CRPCClientError, O as defaultIsUnauthorized, S as clearAuthSessionFallback, T as writeAuthSessionFallbackData, d as isSessionSyncGraceActive, g as useAuthValue, h as useAuthStore, n as AuthProvider, o as FetchAccessTokenContext, t as AUTH_SESSION_SYNC_GRACE_MS, u as decodeJwtExp, w as readAuthSessionFallbackToken } from "../../auth-store-CwGbvP_s.js";
3
- import { ConvexProviderWithAuth, useConvexAuth } from "convex/react";
2
+ import { A as defaultIsUnauthorized, D as writeAuthSessionFallbackData, E as readAuthSessionFallbackToken, T as readAuthSessionFallbackData, _ as useAuthValue, d as decodeJwtExp, f as isSessionSyncGraceActive, g as useAuthStore, k as CRPCClientError, n as AuthProvider, o as ConvexProviderWithAuth$1, s as FetchAccessTokenContext, t as AUTH_SESSION_SYNC_GRACE_MS, w as clearAuthSessionFallback } from "../../auth-store-ssZDPa37.js";
3
+ import { useConvexAuth } from "convex/react";
4
4
  import { useCallback, useEffect, useMemo, useRef } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
 
@@ -272,7 +272,7 @@ function ConvexAuthProviderInner({ children, client, authClient, convexQueryClie
272
272
  }, [fetchAccessToken, authStore]);
273
273
  return /* @__PURE__ */ jsx(FetchAccessTokenContext.Provider, {
274
274
  value: fetchAccessToken,
275
- children: /* @__PURE__ */ jsx(ConvexProviderWithAuth, {
275
+ children: /* @__PURE__ */ jsx(ConvexProviderWithAuth$1, {
276
276
  client,
277
277
  useAuth,
278
278
  children: /* @__PURE__ */ jsx(AuthStateSync, { children })
@@ -18,6 +18,23 @@ type ConvexAuthResult = {
18
18
  };
19
19
  /** Get auth from bridge context (null if no bridge configured) */
20
20
  declare const useConvexAuthBridge: () => ConvexAuthResult | null;
21
+ type ConvexAuthRecoveryStatus = 'idle' | 'recovering' | 'failed';
22
+ type ConvexAuthRecoveryErrorCode = 'AUTH_PROVIDER_LOADING' | 'AUTH_PROVIDER_UNAUTHENTICATED' | 'AUTH_RECOVERY_CANCELLED' | 'AUTH_RECOVERY_FAILED' | 'AUTH_RECOVERY_TIMEOUT';
23
+ declare class ConvexAuthRecoveryError extends Error {
24
+ readonly code: ConvexAuthRecoveryErrorCode;
25
+ constructor(code: ConvexAuthRecoveryErrorCode, message: string);
26
+ }
27
+ type ConvexAuthRecoveryOptions = {
28
+ /** Maximum time to wait for Convex backend confirmation. Defaults to 10s. */timeoutMs?: number;
29
+ };
30
+ type ConvexAuthRecovery = {
31
+ error: ConvexAuthRecoveryError | null;
32
+ recover: (options?: ConvexAuthRecoveryOptions) => Promise<void>;
33
+ status: ConvexAuthRecoveryStatus;
34
+ };
35
+ /** Imperatively rebind Convex auth and wait for backend confirmation. */
36
+ declare function useConvexAuthRecovery(): ConvexAuthRecovery;
37
+ type ConvexProviderWithAuthProps = React.ComponentProps<typeof ConvexProviderWithAuth>;
21
38
  type AuthStoreState = {
22
39
  /** Callback when mutation/action called while unauthorized. Throws by default. */onMutationUnauthorized: () => void; /** Callback when query called while unauthorized. Noop by default. */
23
40
  onQueryUnauthorized: (info: {
@@ -116,8 +133,9 @@ declare function ConvexAuthBridge({
116
133
  */
117
134
  declare function ConvexProviderWithAuth$1({
118
135
  children,
119
- ...props
120
- }: React.ComponentProps<typeof ConvexProviderWithAuth>): react_jsx_runtime0.JSX.Element;
136
+ client,
137
+ useAuth
138
+ }: ConvexProviderWithAuthProps): react_jsx_runtime0.JSX.Element;
121
139
  declare const useAuth: () => {
122
140
  hasSession: boolean;
123
141
  isAuthenticated: boolean;
@@ -153,4 +171,4 @@ declare function Unauthenticated({
153
171
  children: React.ReactNode;
154
172
  }): react.ReactNode;
155
173
  //#endregion
156
- export { useMaybeAuth as C, useIsAuth as S, useAuthState as _, Authenticated as a, useConvexAuthBridge as b, FetchAccessTokenContext as c, MaybeUnauthenticated as d, Unauthenticated as f, useAuthGuard as g, useAuth as h, AuthStoreState as i, FetchAccessTokenFn as l, isSessionSyncGraceActive as m, AuthProvider as n, ConvexAuthBridge as o, decodeJwtExp as p, AuthStore as r, ConvexProviderWithAuth$1 as s, AUTH_SESSION_SYNC_GRACE_MS as t, MaybeAuthenticated as u, useAuthStore as v, useSafeConvexAuth as w, useFetchAccessToken as x, useAuthValue as y };
174
+ export { useSafeConvexAuth as A, useAuthStore as C, useFetchAccessToken as D, useConvexAuthRecovery as E, useIsAuth as O, useAuthState as S, useConvexAuthBridge as T, Unauthenticated as _, Authenticated as a, useAuth as b, ConvexAuthRecoveryError as c, ConvexAuthRecoveryStatus as d, ConvexProviderWithAuth$1 as f, MaybeUnauthenticated as g, MaybeAuthenticated as h, AuthStoreState as i, useMaybeAuth as k, ConvexAuthRecoveryErrorCode as l, FetchAccessTokenFn as m, AuthProvider as n, ConvexAuthBridge as o, FetchAccessTokenContext as p, AuthStore as r, ConvexAuthRecovery as s, AUTH_SESSION_SYNC_GRACE_MS as t, ConvexAuthRecoveryOptions as u, decodeJwtExp as v, useAuthValue as w, useAuthGuard as x, isSessionSyncGraceActive as y };
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  import { ConvexProviderWithAuth, useConvexAuth } from "convex/react";
3
- import { createContext, useContext } from "react";
3
+ import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
4
4
  import { createAtomStore } from "jotai-x";
5
- import { jsx } from "react/jsx-runtime";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
6
 
7
7
  //#region src/crpc/error.ts
8
8
  /**
@@ -102,6 +102,69 @@ const useFetchAccessToken = () => useContext(FetchAccessTokenContext);
102
102
  const ConvexAuthBridgeContext = createContext(null);
103
103
  /** Get auth from bridge context (null if no bridge configured) */
104
104
  const useConvexAuthBridge = () => useContext(ConvexAuthBridgeContext);
105
+ var ConvexAuthRecoveryError = class extends Error {
106
+ code;
107
+ constructor(code, message) {
108
+ super(message);
109
+ this.name = "ConvexAuthRecoveryError";
110
+ this.code = code;
111
+ }
112
+ };
113
+ const ConvexAuthRecoveryContext = createContext(null);
114
+ /** Imperatively rebind Convex auth and wait for backend confirmation. */
115
+ function useConvexAuthRecovery() {
116
+ const recovery = useContext(ConvexAuthRecoveryContext);
117
+ if (!recovery) throw new Error("useConvexAuthRecovery must be used inside ConvexProviderWithAuth");
118
+ return recovery;
119
+ }
120
+ const AUTH_RECOVERY_TIMEOUT_MS = 1e4;
121
+ function ConvexAuthRecoverySync({ authProviderAuthenticated, authProviderLoading, onChange }) {
122
+ const auth = useConvexAuth();
123
+ useEffect(() => {
124
+ onChange({
125
+ authProviderAuthenticated,
126
+ authProviderLoading,
127
+ isAuthenticated: auth.isAuthenticated,
128
+ isLoading: auth.isLoading
129
+ });
130
+ }, [
131
+ auth.isAuthenticated,
132
+ auth.isLoading,
133
+ authProviderAuthenticated,
134
+ authProviderLoading,
135
+ onChange
136
+ ]);
137
+ return null;
138
+ }
139
+ function ConvexAuthBinding({ bindingVersion, children, client, onAuthSnapshot, onBindingFetch, useAuth }) {
140
+ const { fetchAccessToken: fetchAccessTokenFromAuth, isAuthenticated, isLoading } = useAuth();
141
+ const fetchAccessToken = useCallback((args) => {
142
+ onBindingFetch(bindingVersion);
143
+ return fetchAccessTokenFromAuth(args);
144
+ }, [
145
+ bindingVersion,
146
+ fetchAccessTokenFromAuth,
147
+ onBindingFetch
148
+ ]);
149
+ const boundAuth = useMemo(() => ({
150
+ fetchAccessToken,
151
+ isAuthenticated,
152
+ isLoading
153
+ }), [
154
+ fetchAccessToken,
155
+ isAuthenticated,
156
+ isLoading
157
+ ]);
158
+ return /* @__PURE__ */ jsxs(ConvexProviderWithAuth, {
159
+ client,
160
+ useAuth: useCallback(() => boundAuth, [boundAuth]),
161
+ children: [/* @__PURE__ */ jsx(ConvexAuthRecoverySync, {
162
+ authProviderAuthenticated: isAuthenticated,
163
+ authProviderLoading: isLoading,
164
+ onChange: onAuthSnapshot
165
+ }), /* @__PURE__ */ jsx(ConvexAuthBridge, { children })]
166
+ });
167
+ }
105
168
  const AUTH_SESSION_SYNC_GRACE_MS = 1e4;
106
169
  const isSessionSyncGraceActive = (sessionSyncGraceUntil) => typeof sessionSyncGraceUntil === "number" && sessionSyncGraceUntil > Date.now();
107
170
  /** Decode JWT expiration (ms timestamp) from token */
@@ -176,10 +239,123 @@ function ConvexAuthBridge({ children }) {
176
239
  * </ConvexProviderWithAuth>
177
240
  * ```
178
241
  */
179
- function ConvexProviderWithAuth$1({ children, ...props }) {
180
- return /* @__PURE__ */ jsx(ConvexProviderWithAuth, {
181
- ...props,
182
- children: /* @__PURE__ */ jsx(ConvexAuthBridge, { children })
242
+ function ConvexProviderWithAuth$1({ children, client, useAuth }) {
243
+ const [bindingVersion, setBindingVersion] = useState(0);
244
+ const [error, setError] = useState(null);
245
+ const [status, setStatus] = useState("idle");
246
+ const bindingVersionRef = useRef(0);
247
+ const pendingRef = useRef(null);
248
+ const authSnapshotRef = useRef({
249
+ authProviderAuthenticated: false,
250
+ authProviderLoading: true,
251
+ isAuthenticated: false,
252
+ isLoading: true
253
+ });
254
+ const settleRecovery = useCallback((recoveryError) => {
255
+ const pending = pendingRef.current;
256
+ if (!pending) return;
257
+ clearTimeout(pending.timeoutId);
258
+ pendingRef.current = null;
259
+ if (recoveryError) {
260
+ setError(recoveryError);
261
+ setStatus("failed");
262
+ pending.reject(recoveryError);
263
+ return;
264
+ }
265
+ setError(null);
266
+ setStatus("idle");
267
+ pending.resolve();
268
+ }, []);
269
+ const onAuthSnapshot = useCallback((snapshot) => {
270
+ authSnapshotRef.current = snapshot;
271
+ const pending = pendingRef.current;
272
+ if (!pending) return;
273
+ if (snapshot.authProviderLoading) {
274
+ settleRecovery(new ConvexAuthRecoveryError("AUTH_PROVIDER_LOADING", "Cannot recover Convex auth while the auth provider is loading"));
275
+ return;
276
+ }
277
+ if (!snapshot.authProviderAuthenticated) {
278
+ settleRecovery(new ConvexAuthRecoveryError("AUTH_PROVIDER_UNAUTHENTICATED", "Cannot recover Convex auth without an authenticated provider session"));
279
+ return;
280
+ }
281
+ if (!pending.isBound || snapshot.isLoading) return;
282
+ if (snapshot.isAuthenticated) {
283
+ settleRecovery(null);
284
+ return;
285
+ }
286
+ settleRecovery(new ConvexAuthRecoveryError("AUTH_RECOVERY_FAILED", "Convex rejected the recovered authentication binding"));
287
+ }, [settleRecovery]);
288
+ const onBindingFetch = useCallback((activeBindingVersion) => {
289
+ const pending = pendingRef.current;
290
+ if (pending?.bindingVersion === activeBindingVersion) pending.isBound = true;
291
+ }, []);
292
+ const recover = useCallback((options = {}) => {
293
+ const pending = pendingRef.current;
294
+ if (pending) return pending.promise;
295
+ const authSnapshot = authSnapshotRef.current;
296
+ if (authSnapshot.authProviderLoading) {
297
+ const recoveryError = new ConvexAuthRecoveryError("AUTH_PROVIDER_LOADING", "Cannot recover Convex auth while the auth provider is loading");
298
+ setError(recoveryError);
299
+ setStatus("failed");
300
+ return Promise.reject(recoveryError);
301
+ }
302
+ if (!authSnapshot.authProviderAuthenticated) {
303
+ const recoveryError = new ConvexAuthRecoveryError("AUTH_PROVIDER_UNAUTHENTICATED", "Cannot recover Convex auth without an authenticated provider session");
304
+ setError(recoveryError);
305
+ setStatus("failed");
306
+ return Promise.reject(recoveryError);
307
+ }
308
+ let resolve;
309
+ let reject;
310
+ const promise = new Promise((resolvePromise, rejectPromise) => {
311
+ resolve = resolvePromise;
312
+ reject = rejectPromise;
313
+ });
314
+ const timeoutMs = options.timeoutMs ?? AUTH_RECOVERY_TIMEOUT_MS;
315
+ const nextBindingVersion = bindingVersionRef.current + 1;
316
+ const timeoutId = setTimeout(() => {
317
+ settleRecovery(new ConvexAuthRecoveryError("AUTH_RECOVERY_TIMEOUT", `Convex auth recovery timed out after ${timeoutMs}ms`));
318
+ }, timeoutMs);
319
+ pendingRef.current = {
320
+ bindingVersion: nextBindingVersion,
321
+ isBound: false,
322
+ promise,
323
+ reject,
324
+ resolve,
325
+ timeoutId
326
+ };
327
+ bindingVersionRef.current = nextBindingVersion;
328
+ setError(null);
329
+ setStatus("recovering");
330
+ setBindingVersion(nextBindingVersion);
331
+ return promise;
332
+ }, [settleRecovery]);
333
+ useEffect(() => () => {
334
+ const pending = pendingRef.current;
335
+ if (!pending) return;
336
+ clearTimeout(pending.timeoutId);
337
+ pendingRef.current = null;
338
+ pending.reject(new ConvexAuthRecoveryError("AUTH_RECOVERY_CANCELLED", "Convex auth recovery was cancelled because the provider unmounted"));
339
+ }, []);
340
+ const recovery = useMemo(() => ({
341
+ error,
342
+ recover,
343
+ status
344
+ }), [
345
+ error,
346
+ recover,
347
+ status
348
+ ]);
349
+ return /* @__PURE__ */ jsx(ConvexAuthRecoveryContext.Provider, {
350
+ value: recovery,
351
+ children: /* @__PURE__ */ jsx(ConvexAuthBinding, {
352
+ bindingVersion,
353
+ client,
354
+ onAuthSnapshot,
355
+ onBindingFetch,
356
+ useAuth,
357
+ children
358
+ })
183
359
  });
184
360
  }
185
361
  const useAuth = () => {
@@ -251,4 +427,4 @@ function Unauthenticated({ children }) {
251
427
  }
252
428
 
253
429
  //#endregion
254
- export { readAuthSessionFallbackData as C, CRPCClientError as D, writeAuthSessionFallbackToken as E, defaultIsUnauthorized as O, clearAuthSessionFallback as S, writeAuthSessionFallbackData as T, useConvexAuthBridge as _, ConvexProviderWithAuth$1 as a, useMaybeAuth as b, MaybeUnauthenticated as c, isSessionSyncGraceActive as d, useAuth as f, useAuthValue as g, useAuthStore as h, ConvexAuthBridge as i, isCRPCClientError as k, Unauthenticated as l, useAuthState as m, AuthProvider as n, FetchAccessTokenContext as o, useAuthGuard as p, Authenticated as r, MaybeAuthenticated as s, AUTH_SESSION_SYNC_GRACE_MS as t, decodeJwtExp as u, useFetchAccessToken as v, readAuthSessionFallbackToken as w, useSafeConvexAuth as x, useIsAuth as y };
430
+ export { defaultIsUnauthorized as A, useSafeConvexAuth as C, writeAuthSessionFallbackData as D, readAuthSessionFallbackToken as E, writeAuthSessionFallbackToken as O, useMaybeAuth as S, readAuthSessionFallbackData as T, useAuthValue as _, ConvexAuthRecoveryError as a, useFetchAccessToken as b, MaybeAuthenticated as c, decodeJwtExp as d, isSessionSyncGraceActive as f, useAuthStore as g, useAuthState as h, ConvexAuthBridge as i, isCRPCClientError as j, CRPCClientError as k, MaybeUnauthenticated as l, useAuthGuard as m, AuthProvider as n, ConvexProviderWithAuth$1 as o, useAuth as p, Authenticated as r, FetchAccessTokenContext as s, AUTH_SESSION_SYNC_GRACE_MS as t, Unauthenticated as u, useConvexAuthBridge as v, clearAuthSessionFallback as w, useIsAuth as x, useConvexAuthRecovery as y };
@@ -1,4 +1,4 @@
1
- import { $ as GenericOrmCtx$1, $n as unique, $r as endsWith, $t as ManyConfig, A as ConvexDateMode, An as ConvexRankIndexBuilder, Ar as ReturningResult, At as MigrationManifestEntry, B as ConvexBytesBuilderInitial, Bn as rankIndex, Br as OrmSchemaRelations, Bt as defineMigration, C as ConvexNumberBuilderInitial, Ci as ColumnBuilderWithTableName, Cn as RlsRole, Cr as MutationReturning, Ct as MigrationStatusArgs, D as id, Di as IsPrimaryKey, Dn as ConvexAggregateIndexBuilderOn, Dr as PaginatedResult, Dt as MigrationDoc, E as ConvexIdBuilderInitial, Ei as HasDefault, En as ConvexAggregateIndexBuilder, Er as OrderDirection, Et as MigrationDirection, F as custom, Fn as ConvexVectorIndexBuilder, Fr as unsetToken, Ft as MigrationStateMap, G as ConvexBigIntBuilder, Gn as ConvexCheckConfig, Gr as ExpressionVisitor, Gt as OrmReader$1, H as ConvexBooleanBuilder, Hn as uniqueIndex, Hr as TableName, Ht as detectMigrationDrift, I as json, In as ConvexVectorIndexBuilderOn, Ir as Brand, It as MigrationStep, J as CountBackfillChunkArgs, Jn as ConvexUniqueConstraintBuilder, Jr as LogicalExpression, Jt as RlsMode, K as ConvexBigIntBuilderInitial, Kn as ConvexForeignKeyBuilder, Kr as FieldReference, Kt as OrmWriter$1, L as objectOf, Ln as ConvexVectorIndexConfig, Lr as Columns, Lt as MigrationTableName, M as ConvexCustomBuilder, Mn as ConvexSearchIndexBuilder, Mr as UpdateSet, Mt as MigrationPlan, N as ConvexCustomBuilderInitial, Nn as ConvexSearchIndexBuilderOn, Nr as VectorQueryConfig, Nt as MigrationRunStatus, O as ConvexDateBuilder, Oi as IsUnique, On as ConvexIndexBuilder, Or as PredicateWhereIndexConfig, Ot as MigrationDocContext, P as arrayOf, Pn as ConvexSearchIndexConfig, Pr as VectorSearchProvider, Pt as MigrationSet, Q as GenericOrm$1, Qn as foreignKey, Qr as contains, Qt as ExtractTablesWithRelations, R as unionOf, Rn as aggregateIndex, Rr as OrmSchemaExtensionTables, Rt as MigrationWriteMode, S as ConvexNumberBuilder, Si as ColumnBuilderTypeConfig, Sn as rlsPolicy, Sr as MutationResult, St as MigrationRunChunkArgs, T as ConvexIdBuilder, Ti as DrizzleEntity, Tn as rlsRole, Tr as OrderByClause, Tt as MigrationDefinition, U as ConvexBooleanBuilderInitial, Un as vectorIndex, Ur as SystemFields, Ut as DatabaseWithMutations, V as bytes, Vn as searchIndex, Vr as OrmSchemaTriggers, Vt as defineMigrationSet, W as boolean, Wn as ConvexCheckBuilder, Wr as BinaryExpression, Wt as DatabaseWithQuery, X as CountBackfillStatusArgs, Xn as ConvexUniqueConstraintConfig, Xr as and, Xt as extractRelationsConfig, Y as CountBackfillKickoffArgs, Yn as ConvexUniqueConstraintBuilderOn, Yr as UnaryExpression, Yt as EdgeMetadata, Z as CreateOrmOptions, Zn as check, Zr as between, Zt as ExtractTablesFromSchema, _ as ConvexTimestampMode, _i as startsWith, _n as deletion, _r as MutationExecuteConfig, _t as OrmTriggerContext, a as requireSchemaRelations, ai as inArray, an as TablesRelationalConfig, ar as AggregateResult, at as OrmWriterCtx, b as ConvexTextEnumBuilderInitial, bi as ColumnBuilderBaseConfig, bn as RlsPolicyConfig, br as MutationPaginateConfig, bt as MigrationCancelArgs, c as TableConfigResult, ci as isNull, cn as ConvexDeletionBuilder, cr as CountConfig, ct as ScheduledMutationBatchArgs, d as OrmNotFoundError, di as lte, dn as ConvexTableWithColumns, dr as FilterOperators, dt as scheduledDeleteFactory, ei as eq, en as OneConfig, er as ConvexTextBuilder, et as OrmApiResult, f as ConvexVectorBuilder, fi as ne, fn as DiscriminatorBuilderConfig, fr as GetColumnData, ft as SchemaExtension, g as ConvexTimestampBuilderInitial, gi as or, gn as convexTable, gr as InsertValue, gt as OrmTriggerChange, h as ConvexTimestampBuilder, hi as notInArray, hn as TableConfig, hr as InferSelectModel, ht as OrmTableTriggers, i as getSchemaTriggers, ii as ilike, in as TableRelationalConfig, ir as AggregateFieldValue, it as OrmReaderCtx, j as date, jn as ConvexRankIndexBuilderOn, jr as ReturningSelection, jt as MigrationMigrateOne, k as ConvexDateBuilderInitial, ki as NotNull, kn as ConvexIndexBuilderOn, kr as ReturningAll, kt as MigrationDriftIssue, l as getTableColumns, li as like, ln as ConvexDeletionConfig, lr as CountResult, lt as scheduledMutationBatchFactory, m as vector, mi as notBetween, mn as OrmLifecycleOperation, mr as InferModelFromColumns, mt as OrmBeforeResult, n as defineSchema, ni as gt, nn as RelationsBuilderColumnBase, nr as text, nt as OrmClientWithApi$1, o as asc, oi as isFieldReference, on as defineRelations, or as BuildQueryResult, ot as ResolveOrmSchema, p as ConvexVectorBuilderInitial, pi as not, pn as OrmLifecycleChange, pr as InferInsertModel, pt as defineSchemaExtension, q as bigint, qn as ConvexForeignKeyConfig, qr as FilterExpression, qt as RlsContext, r as getSchemaRelations, ri as gte, rn as RelationsBuilderColumnConfig, rr as AggregateConfig, rt as OrmFunctions, s as desc, si as isNotNull, sn as defineRelationsPart, sr as BuildRelationResult, st as createOrm, t as WhereClauseResult, ti as fieldRef, tn as RelationsBuilder, tr as ConvexTextBuilderInitial, tt as OrmClientBase$1, u as getTableConfig, ui as lt, un as ConvexTable, ur as DBQueryConfig, ut as ScheduledDeleteArgs, v as timestamp, vi as AnyColumn, vn as discriminator, vr as MutationExecuteResult, vt as OrmTriggers, w as integer, wi as ColumnDataType, wn as RlsRoleConfig, wr as MutationRunMode, wt as MigrationAppliedState, x as textEnum, xi as ColumnBuilderRuntimeConfig, xn as RlsPolicyToOption, xr as MutationPaginatedResult, xt as MigrationRunArgs, y as ConvexTextEnumBuilder, yi as ColumnBuilder, yn as RlsPolicy, yr as MutationExecutionMode, yt as defineTriggers, z as ConvexBytesBuilder, zn as index, zr as OrmSchemaExtensions, zt as buildMigrationPlan } from "../where-clause-compiler-D0D_4v_n.js";
1
+ import { $ as GenericOrmCtx$1, $n as unique, $r as endsWith, $t as ManyConfig, A as ConvexDateMode, An as ConvexRankIndexBuilder, Ar as ReturningResult, At as MigrationManifestEntry, B as ConvexBytesBuilderInitial, Bn as rankIndex, Br as OrmSchemaRelations, Bt as defineMigration, C as ConvexNumberBuilderInitial, Ci as ColumnBuilderWithTableName, Cn as RlsRole, Cr as MutationReturning, Ct as MigrationStatusArgs, D as id, Di as IsPrimaryKey, Dn as ConvexAggregateIndexBuilderOn, Dr as PaginatedResult, Dt as MigrationDoc, E as ConvexIdBuilderInitial, Ei as HasDefault, En as ConvexAggregateIndexBuilder, Er as OrderDirection, Et as MigrationDirection, F as custom, Fn as ConvexVectorIndexBuilder, Fr as unsetToken, Ft as MigrationStateMap, G as ConvexBigIntBuilder, Gn as ConvexCheckConfig, Gr as ExpressionVisitor, Gt as OrmReader$1, H as ConvexBooleanBuilder, Hn as uniqueIndex, Hr as TableName, Ht as detectMigrationDrift, I as json, In as ConvexVectorIndexBuilderOn, Ir as Brand, It as MigrationStep, J as CountBackfillChunkArgs, Jn as ConvexUniqueConstraintBuilder, Jr as LogicalExpression, Jt as RlsMode, K as ConvexBigIntBuilderInitial, Kn as ConvexForeignKeyBuilder, Kr as FieldReference, Kt as OrmWriter$1, L as objectOf, Ln as ConvexVectorIndexConfig, Lr as Columns, Lt as MigrationTableName, M as ConvexCustomBuilder, Mn as ConvexSearchIndexBuilder, Mr as UpdateSet, Mt as MigrationPlan, N as ConvexCustomBuilderInitial, Nn as ConvexSearchIndexBuilderOn, Nr as VectorQueryConfig, Nt as MigrationRunStatus, O as ConvexDateBuilder, Oi as IsUnique, On as ConvexIndexBuilder, Or as PredicateWhereIndexConfig, Ot as MigrationDocContext, P as arrayOf, Pn as ConvexSearchIndexConfig, Pr as VectorSearchProvider, Pt as MigrationSet, Q as GenericOrm$1, Qn as foreignKey, Qr as contains, Qt as ExtractTablesWithRelations, R as unionOf, Rn as aggregateIndex, Rr as OrmSchemaExtensionTables, Rt as MigrationWriteMode, S as ConvexNumberBuilder, Si as ColumnBuilderTypeConfig, Sn as rlsPolicy, Sr as MutationResult, St as MigrationRunChunkArgs, T as ConvexIdBuilder, Ti as DrizzleEntity, Tn as rlsRole, Tr as OrderByClause, Tt as MigrationDefinition, U as ConvexBooleanBuilderInitial, Un as vectorIndex, Ur as SystemFields, Ut as DatabaseWithMutations, V as bytes, Vn as searchIndex, Vr as OrmSchemaTriggers, Vt as defineMigrationSet, W as boolean, Wn as ConvexCheckBuilder, Wr as BinaryExpression, Wt as DatabaseWithQuery, X as CountBackfillStatusArgs, Xn as ConvexUniqueConstraintConfig, Xr as and, Xt as extractRelationsConfig, Y as CountBackfillKickoffArgs, Yn as ConvexUniqueConstraintBuilderOn, Yr as UnaryExpression, Yt as EdgeMetadata, Z as CreateOrmOptions, Zn as check, Zr as between, Zt as ExtractTablesFromSchema, _ as ConvexTimestampMode, _i as startsWith, _n as deletion, _r as MutationExecuteConfig, _t as OrmTriggerContext, a as requireSchemaRelations, ai as inArray, an as TablesRelationalConfig, ar as AggregateResult, at as OrmWriterCtx, b as ConvexTextEnumBuilderInitial, bi as ColumnBuilderBaseConfig, bn as RlsPolicyConfig, br as MutationPaginateConfig, bt as MigrationCancelArgs, c as TableConfigResult, ci as isNull, cn as ConvexDeletionBuilder, cr as CountConfig, ct as ScheduledMutationBatchArgs, d as OrmNotFoundError, di as lte, dn as ConvexTableWithColumns, dr as FilterOperators, dt as scheduledDeleteFactory, ei as eq, en as OneConfig, er as ConvexTextBuilder, et as OrmApiResult, f as ConvexVectorBuilder, fi as ne, fn as DiscriminatorBuilderConfig, fr as GetColumnData, ft as SchemaExtension, g as ConvexTimestampBuilderInitial, gi as or, gn as convexTable, gr as InsertValue, gt as OrmTriggerChange, h as ConvexTimestampBuilder, hi as notInArray, hn as TableConfig, hr as InferSelectModel, ht as OrmTableTriggers, i as getSchemaTriggers, ii as ilike, in as TableRelationalConfig, ir as AggregateFieldValue, it as OrmReaderCtx, j as date, jn as ConvexRankIndexBuilderOn, jr as ReturningSelection, jt as MigrationMigrateOne, k as ConvexDateBuilderInitial, ki as NotNull, kn as ConvexIndexBuilderOn, kr as ReturningAll, kt as MigrationDriftIssue, l as getTableColumns, li as like, ln as ConvexDeletionConfig, lr as CountResult, lt as scheduledMutationBatchFactory, m as vector, mi as notBetween, mn as OrmLifecycleOperation, mr as InferModelFromColumns, mt as OrmBeforeResult, n as defineSchema, ni as gt, nn as RelationsBuilderColumnBase, nr as text, nt as OrmClientWithApi$1, o as asc, oi as isFieldReference, on as defineRelations, or as BuildQueryResult, ot as ResolveOrmSchema, p as ConvexVectorBuilderInitial, pi as not, pn as OrmLifecycleChange, pr as InferInsertModel, pt as defineSchemaExtension, q as bigint, qn as ConvexForeignKeyConfig, qr as FilterExpression, qt as RlsContext, r as getSchemaRelations, ri as gte, rn as RelationsBuilderColumnConfig, rr as AggregateConfig, rt as OrmFunctions, s as desc, si as isNotNull, sn as defineRelationsPart, sr as BuildRelationResult, st as createOrm, t as WhereClauseResult, ti as fieldRef, tn as RelationsBuilder, tr as ConvexTextBuilderInitial, tt as OrmClientBase$1, u as getTableConfig, ui as lt, un as ConvexTable, ur as DBQueryConfig, ut as ScheduledDeleteArgs, v as timestamp, vi as AnyColumn, vn as discriminator, vr as MutationExecuteResult, vt as OrmTriggers, w as integer, wi as ColumnDataType, wn as RlsRoleConfig, wr as MutationRunMode, wt as MigrationAppliedState, x as textEnum, xi as ColumnBuilderRuntimeConfig, xn as RlsPolicyToOption, xr as MutationPaginatedResult, xt as MigrationRunArgs, y as ConvexTextEnumBuilder, yi as ColumnBuilder, yn as RlsPolicy, yr as MutationExecutionMode, yt as defineTriggers, z as ConvexBytesBuilder, zn as index, zr as OrmSchemaExtensions, zt as buildMigrationPlan } from "../where-clause-compiler-CR_tTVuy.js";
2
2
  import { i as pretendRequired, n as deprecated, r as pretend } from "../validators-BhsByJeg.js";
3
3
  import { a as QueryCtxWithPreferredOrmQueryTable, i as QueryCtxWithOrmQueryTable, n as LookupByIdResultByCtx, o as getByIdWithOrmQueryFallback, r as QueryCtxWithOptionalOrmQueryTable, t as DocByCtx } from "../query-context-CNo9ffvI.js";
4
4
  import { DefineSchemaOptions, GenericDatabaseReader, GenericDatabaseWriter, GenericSchema, SchemaDefinition } from "convex/server";
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { C as useMaybeAuth, S as useIsAuth, _ as useAuthState, a as Authenticated, b as useConvexAuthBridge, c as FetchAccessTokenContext, d as MaybeUnauthenticated, f as Unauthenticated, g as useAuthGuard, h as useAuth, i as AuthStoreState, l as FetchAccessTokenFn, m as isSessionSyncGraceActive, n as AuthProvider, o as ConvexAuthBridge, p as decodeJwtExp, r as AuthStore, s as ConvexProviderWithAuth, t as AUTH_SESSION_SYNC_GRACE_MS, u as MaybeAuthenticated, v as useAuthStore, w as useSafeConvexAuth, x as useFetchAccessToken, y as useAuthValue } from "../auth-store-B_ARzzEX.js";
2
+ import { A as useSafeConvexAuth, C as useAuthStore, D as useFetchAccessToken, E as useConvexAuthRecovery, O as useIsAuth, S as useAuthState, T as useConvexAuthBridge, _ as Unauthenticated, a as Authenticated, b as useAuth, c as ConvexAuthRecoveryError, d as ConvexAuthRecoveryStatus, f as ConvexProviderWithAuth, g as MaybeUnauthenticated, h as MaybeAuthenticated, i as AuthStoreState, k as useMaybeAuth, l as ConvexAuthRecoveryErrorCode, m as FetchAccessTokenFn, n as AuthProvider, o as ConvexAuthBridge, p as FetchAccessTokenContext, r as AuthStore, s as ConvexAuthRecovery, t as AUTH_SESSION_SYNC_GRACE_MS, u as ConvexAuthRecoveryOptions, v as decodeJwtExp, w as useAuthValue, x as useAuthGuard, y as isSessionSyncGraceActive } from "../auth-store-GDNKweSK.js";
3
3
  import { ConvexProvider, ConvexReactClient, ConvexReactClient as ConvexReactClient$1, ConvexReactClientOptions, Watch, WatchQueryOptions, useConvex } from "convex/react";
4
4
  import { ReactNode } from "react";
5
5
  import * as react_jsx_runtime0 from "react/jsx-runtime";
@@ -1143,4 +1143,4 @@ declare function useUploadMutationOptions<TGenerateUrlMutation extends FunctionR
1143
1143
  */
1144
1144
  declare function createVanillaCRPCProxy<TApi extends Record<string, unknown>>(api: TApi, meta: CallerMeta, convexClient: ConvexReactClient$1, transformer?: DataTransformerOptions): VanillaCRPCClient<TApi>;
1145
1145
  //#endregion
1146
- export { AUTH_SESSION_SYNC_GRACE_MS, AuthMutationError, AuthProvider, AuthStore, AuthStoreState, Authenticated, CRPCHttpOptions, ConvexAuthBridge, ConvexProvider, ConvexProviderWithAuth, ConvexQueryClient, ConvexQueryClientOptions, ConvexQueryClientSingletonOptions, ConvexReactClient, CreateCRPCContextOptions, FetchAccessTokenContext, FetchAccessTokenFn, HttpCRPCClient, HttpCRPCClientFromRouter, type HttpClientOptions, type HttpFormValue, type HttpInputArgs, HttpMutationKey, HttpProxyOptions, HttpQueryKey, HttpRouteInfo, HttpRouteMap, MaybeAuthenticated, MaybeUnauthenticated, PaginationState, PaginationStatus, Unauthenticated, UseInfiniteQueryResult, VanillaHttpCRPCClient, VanillaHttpCRPCClientFromRouter, createAuthMutations, createCRPCContext, createCRPCOptionsProxy, createHttpProxy, createVanillaCRPCProxy, decodeJwtExp, getConvexQueryClientSingleton, getQueryClientSingleton, isAuthMutationError, isSessionSyncGraceActive, useAuth, useAuthGuard, useAuthState, useAuthStore, useAuthValue, useConvex, useConvexActionOptions, useConvexActionQueryOptions, useSafeConvexAuth as useConvexAuth, useSafeConvexAuth, useConvexAuthBridge, useConvexInfiniteQueryOptions, useConvexMutationOptions, useConvexQueryClient, useConvexQueryOptions, useFetchAccessToken, useFnMeta, useInfiniteQuery, useIsAuth, useMaybeAuth, useMeta, useUploadMutationOptions };
1146
+ export { AUTH_SESSION_SYNC_GRACE_MS, AuthMutationError, AuthProvider, AuthStore, AuthStoreState, Authenticated, CRPCHttpOptions, ConvexAuthBridge, ConvexAuthRecovery, ConvexAuthRecoveryError, ConvexAuthRecoveryErrorCode, ConvexAuthRecoveryOptions, ConvexAuthRecoveryStatus, ConvexProvider, ConvexProviderWithAuth, ConvexQueryClient, ConvexQueryClientOptions, ConvexQueryClientSingletonOptions, ConvexReactClient, CreateCRPCContextOptions, FetchAccessTokenContext, FetchAccessTokenFn, HttpCRPCClient, HttpCRPCClientFromRouter, type HttpClientOptions, type HttpFormValue, type HttpInputArgs, HttpMutationKey, HttpProxyOptions, HttpQueryKey, HttpRouteInfo, HttpRouteMap, MaybeAuthenticated, MaybeUnauthenticated, PaginationState, PaginationStatus, Unauthenticated, UseInfiniteQueryResult, VanillaHttpCRPCClient, VanillaHttpCRPCClientFromRouter, createAuthMutations, createCRPCContext, createCRPCOptionsProxy, createHttpProxy, createVanillaCRPCProxy, decodeJwtExp, getConvexQueryClientSingleton, getQueryClientSingleton, isAuthMutationError, isSessionSyncGraceActive, useAuth, useAuthGuard, useAuthState, useAuthStore, useAuthValue, useConvex, useConvexActionOptions, useConvexActionQueryOptions, useSafeConvexAuth as useConvexAuth, useSafeConvexAuth, useConvexAuthBridge, useConvexAuthRecovery, useConvexInfiniteQueryOptions, useConvexMutationOptions, useConvexQueryClient, useConvexQueryOptions, useFetchAccessToken, useFnMeta, useInfiniteQuery, useIsAuth, useMaybeAuth, useMeta, useUploadMutationOptions };
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { D as CRPCClientError, E as writeAuthSessionFallbackToken, O as defaultIsUnauthorized, S as clearAuthSessionFallback, T as writeAuthSessionFallbackData, _ as useConvexAuthBridge, a as ConvexProviderWithAuth, b as useMaybeAuth, c as MaybeUnauthenticated, d as isSessionSyncGraceActive, f as useAuth, g as useAuthValue, h as useAuthStore, i as ConvexAuthBridge, k as isCRPCClientError, l as Unauthenticated, m as useAuthState, n as AuthProvider, o as FetchAccessTokenContext, p as useAuthGuard, r as Authenticated, s as MaybeAuthenticated, t as AUTH_SESSION_SYNC_GRACE_MS, u as decodeJwtExp, v as useFetchAccessToken, x as useSafeConvexAuth, y as useIsAuth } from "../auth-store-CwGbvP_s.js";
2
+ import { A as defaultIsUnauthorized, C as useSafeConvexAuth, D as writeAuthSessionFallbackData, O as writeAuthSessionFallbackToken, S as useMaybeAuth, _ as useAuthValue, a as ConvexAuthRecoveryError, b as useFetchAccessToken, c as MaybeAuthenticated, d as decodeJwtExp, f as isSessionSyncGraceActive, g as useAuthStore, h as useAuthState, i as ConvexAuthBridge, j as isCRPCClientError, k as CRPCClientError, l as MaybeUnauthenticated, m as useAuthGuard, n as AuthProvider, o as ConvexProviderWithAuth, p as useAuth, r as Authenticated, s as FetchAccessTokenContext, t as AUTH_SESSION_SYNC_GRACE_MS, u as Unauthenticated, v as useConvexAuthBridge, w as clearAuthSessionFallback, x as useIsAuth, y as useConvexAuthRecovery } from "../auth-store-ssZDPa37.js";
3
3
  import { ConvexProvider, ConvexReactClient, ConvexReactClient as ConvexReactClient$1, useAction, useConvex, useMutation } from "convex/react";
4
4
  import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -2592,4 +2592,4 @@ function useInfiniteQuery(infiniteOptions) {
2592
2592
  }
2593
2593
 
2594
2594
  //#endregion
2595
- export { AUTH_SESSION_SYNC_GRACE_MS, AuthMutationError, AuthProvider, Authenticated, ConvexAuthBridge, ConvexProvider, ConvexProviderWithAuth, ConvexQueryClient, ConvexReactClient, FetchAccessTokenContext, MaybeAuthenticated, MaybeUnauthenticated, Unauthenticated, createAuthMutations, createCRPCContext, createCRPCOptionsProxy, createHttpProxy, createVanillaCRPCProxy, decodeJwtExp, getConvexQueryClientSingleton, getQueryClientSingleton, isAuthMutationError, isSessionSyncGraceActive, useAuth, useAuthGuard, useAuthState, useAuthStore, useAuthValue, useConvex, useConvexActionOptions, useConvexActionQueryOptions, useSafeConvexAuth as useConvexAuth, useSafeConvexAuth, useConvexAuthBridge, useConvexInfiniteQueryOptions, useConvexMutationOptions, useConvexQueryClient, useConvexQueryOptions, useFetchAccessToken, useFnMeta, useInfiniteQuery, useIsAuth, useMaybeAuth, useMeta, useUploadMutationOptions };
2595
+ export { AUTH_SESSION_SYNC_GRACE_MS, AuthMutationError, AuthProvider, Authenticated, ConvexAuthBridge, ConvexAuthRecoveryError, ConvexProvider, ConvexProviderWithAuth, ConvexQueryClient, ConvexReactClient, FetchAccessTokenContext, MaybeAuthenticated, MaybeUnauthenticated, Unauthenticated, createAuthMutations, createCRPCContext, createCRPCOptionsProxy, createHttpProxy, createVanillaCRPCProxy, decodeJwtExp, getConvexQueryClientSingleton, getQueryClientSingleton, isAuthMutationError, isSessionSyncGraceActive, useAuth, useAuthGuard, useAuthState, useAuthStore, useAuthValue, useConvex, useConvexActionOptions, useConvexActionQueryOptions, useSafeConvexAuth as useConvexAuth, useSafeConvexAuth, useConvexAuthBridge, useConvexAuthRecovery, useConvexInfiniteQueryOptions, useConvexMutationOptions, useConvexQueryClient, useConvexQueryOptions, useFetchAccessToken, useFnMeta, useInfiniteQuery, useIsAuth, useMaybeAuth, useMeta, useUploadMutationOptions };
@@ -4240,19 +4240,6 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
4240
4240
  readonly aggregate_state: ConvexTableWithColumns<{
4241
4241
  name: "aggregate_state";
4242
4242
  columns: {
4243
- status: ConvexTextBuilderInitial<""> & {
4244
- _: {
4245
- notNull: true;
4246
- };
4247
- } & {
4248
- _: {
4249
- tableName: "aggregate_state";
4250
- };
4251
- } & {
4252
- _: {
4253
- fieldName: "status";
4254
- };
4255
- };
4256
4243
  kind: ConvexTextBuilderInitial<""> & {
4257
4244
  _: {
4258
4245
  notNull: true;
@@ -4340,6 +4327,19 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
4340
4327
  fieldName: "metricDefinitionHash";
4341
4328
  };
4342
4329
  };
4330
+ status: ConvexTextBuilderInitial<""> & {
4331
+ _: {
4332
+ notNull: true;
4333
+ };
4334
+ } & {
4335
+ _: {
4336
+ tableName: "aggregate_state";
4337
+ };
4338
+ } & {
4339
+ _: {
4340
+ fieldName: "status";
4341
+ };
4342
+ };
4343
4343
  processed: ConvexNumberBuilderInitial<""> & {
4344
4344
  _: {
4345
4345
  notNull: true;
@@ -4394,38 +4394,38 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
4394
4394
  readonly migration_state: ConvexTableWithColumns<{
4395
4395
  name: "migration_state";
4396
4396
  columns: {
4397
- status: ConvexTextBuilderInitial<""> & {
4398
- _: {
4399
- notNull: true;
4400
- };
4401
- } & {
4397
+ cursor: ConvexTextBuilderInitial<""> & {
4402
4398
  _: {
4403
4399
  tableName: "migration_state";
4404
4400
  };
4405
4401
  } & {
4406
4402
  _: {
4407
- fieldName: "status";
4403
+ fieldName: "cursor";
4408
4404
  };
4409
4405
  };
4410
- cursor: ConvexTextBuilderInitial<""> & {
4406
+ direction: ConvexTextBuilderInitial<""> & {
4411
4407
  _: {
4412
4408
  tableName: "migration_state";
4413
4409
  };
4414
4410
  } & {
4415
4411
  _: {
4416
- fieldName: "cursor";
4412
+ fieldName: "direction";
4417
4413
  };
4418
4414
  };
4419
- direction: ConvexTextBuilderInitial<""> & {
4415
+ updatedAt: ConvexNumberBuilderInitial<""> & {
4416
+ _: {
4417
+ notNull: true;
4418
+ };
4419
+ } & {
4420
4420
  _: {
4421
4421
  tableName: "migration_state";
4422
4422
  };
4423
4423
  } & {
4424
4424
  _: {
4425
- fieldName: "direction";
4425
+ fieldName: "updatedAt";
4426
4426
  };
4427
4427
  };
4428
- updatedAt: ConvexNumberBuilderInitial<""> & {
4428
+ status: ConvexTextBuilderInitial<""> & {
4429
4429
  _: {
4430
4430
  notNull: true;
4431
4431
  };
@@ -4435,7 +4435,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
4435
4435
  };
4436
4436
  } & {
4437
4437
  _: {
4438
- fieldName: "updatedAt";
4438
+ fieldName: "status";
4439
4439
  };
4440
4440
  };
4441
4441
  processed: ConvexNumberBuilderInitial<""> & {
@@ -4548,7 +4548,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
4548
4548
  readonly migration_run: ConvexTableWithColumns<{
4549
4549
  name: "migration_run";
4550
4550
  columns: {
4551
- status: ConvexTextBuilderInitial<""> & {
4551
+ direction: ConvexTextBuilderInitial<""> & {
4552
4552
  _: {
4553
4553
  notNull: true;
4554
4554
  };
@@ -4558,10 +4558,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
4558
4558
  };
4559
4559
  } & {
4560
4560
  _: {
4561
- fieldName: "status";
4561
+ fieldName: "direction";
4562
4562
  };
4563
4563
  };
4564
- direction: ConvexTextBuilderInitial<""> & {
4564
+ updatedAt: ConvexNumberBuilderInitial<""> & {
4565
4565
  _: {
4566
4566
  notNull: true;
4567
4567
  };
@@ -4571,10 +4571,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
4571
4571
  };
4572
4572
  } & {
4573
4573
  _: {
4574
- fieldName: "direction";
4574
+ fieldName: "updatedAt";
4575
4575
  };
4576
4576
  };
4577
- updatedAt: ConvexNumberBuilderInitial<""> & {
4577
+ status: ConvexTextBuilderInitial<""> & {
4578
4578
  _: {
4579
4579
  notNull: true;
4580
4580
  };
@@ -4584,7 +4584,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
4584
4584
  };
4585
4585
  } & {
4586
4586
  _: {
4587
- fieldName: "updatedAt";
4587
+ fieldName: "status";
4588
4588
  };
4589
4589
  };
4590
4590
  startedAt: ConvexNumberBuilderInitial<""> & {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitcn",
3
- "version": "0.15.15",
3
+ "version": "0.15.16",
4
4
  "description": "kitcn - React Query integration and CLI tools for Convex",
5
5
  "keywords": [
6
6
  "convex",
@@ -358,6 +358,7 @@ All from `kitcn/react`:
358
358
  | `useMaybeAuth()` | `boolean` | Has token (optimistic, may not be verified) |
359
359
  | `useIsAuth()` | `boolean` | Server-verified authentication |
360
360
  | `useAuthGuard()` | `() => boolean` | Guard mutations, returns true if blocked |
361
+ | `useConvexAuthRecovery()` | `{ recover, status, error }` | Rebind Convex auth after a transient token failure |
361
362
 
362
363
  ### useAuthGuard
363
364
 
@@ -409,6 +410,28 @@ import { ConvexProviderWithAuth } from 'kitcn/react';
409
410
  <ConvexProviderWithAuth client={convex} useAuth={useAuthFromConvexDev}>
410
411
  ```
411
412
 
413
+ ### Convex Auth Recovery
414
+
415
+ Use recovery only when the outer auth provider remains authenticated but
416
+ Convex entered an unauthenticated state after a transient token refresh
417
+ failure:
418
+
419
+ ```tsx
420
+ import { useConvexAuthRecovery } from 'kitcn/react';
421
+
422
+ const { error, recover, status } = useConvexAuthRecovery();
423
+ await recover();
424
+ ```
425
+
426
+ `recover()` replaces the provider-owned auth binding and resolves after Convex
427
+ confirms authentication. Concurrent calls share one promise. The default
428
+ timeout is 10 seconds; override it with `recover({ timeoutMs })`.
429
+
430
+ Failures are `ConvexAuthRecoveryError` values with code
431
+ `AUTH_PROVIDER_LOADING`, `AUTH_PROVIDER_UNAUTHENTICATED`,
432
+ `AUTH_RECOVERY_CANCELLED`, `AUTH_RECOVERY_FAILED`, or
433
+ `AUTH_RECOVERY_TIMEOUT`. Never recover an intentional sign-out.
434
+
412
435
  ---
413
436
 
414
437
  ## Auth Triggers