kitcn 0.12.4 → 0.12.6
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.
- package/dist/aggregate/index.d.ts +1 -1
- package/dist/auth/generated/index.d.ts +1 -1
- package/dist/auth/index.d.ts +12 -12
- package/dist/auth/start/index.d.ts +1 -0
- package/dist/auth/start/index.js +1 -0
- package/dist/cli.mjs +829 -29
- package/dist/{codegen-lF80HSWu.mjs → codegen-B60fOYhd.mjs} +17 -13
- package/dist/crpc/index.d.ts +1 -1
- package/dist/{generated-contract-disabled-D-sOFy92.d.ts → generated-contract-disabled-ngvXLZ4i.d.ts} +29 -29
- package/dist/orm/index.d.ts +1 -1
- package/dist/plugins/index.d.ts +1 -1
- package/dist/ratelimit/index.d.ts +1 -1
- package/dist/rsc/index.d.ts +1 -1
- package/dist/watcher.mjs +1 -1
- package/dist/{where-clause-compiler-DdjN63Io.d.ts → where-clause-compiler-CuH2JNxb.d.ts} +12 -12
- package/package.json +2 -1
- package/skills/convex/references/features/auth.md +1 -1
- package/skills/convex/references/setup/start.md +58 -18
- /package/dist/{middleware-BUybuv9n.d.ts → middleware-BL2wn3s0.d.ts} +0 -0
- /package/dist/{types-HhO_R6pd.d.ts → types-BLvtq_eH.d.ts} +0 -0
|
@@ -2532,6 +2532,13 @@ function emitGeneratedMigrationsPlaceholderFile() {
|
|
|
2532
2532
|
export { defineMigration } from 'kitcn/orm';
|
|
2533
2533
|
`;
|
|
2534
2534
|
}
|
|
2535
|
+
function writeFileIfChanged(filePath, content) {
|
|
2536
|
+
if (fs.existsSync(filePath)) {
|
|
2537
|
+
if (fs.readFileSync(filePath, "utf8") === content) return false;
|
|
2538
|
+
}
|
|
2539
|
+
fs.writeFileSync(filePath, content);
|
|
2540
|
+
return true;
|
|
2541
|
+
}
|
|
2535
2542
|
function ensureGeneratedSupportPlaceholders(functionsDir, options) {
|
|
2536
2543
|
const createdPlaceholderFiles = [];
|
|
2537
2544
|
const serverOutputFile = getGeneratedServerOutputFile(functionsDir);
|
|
@@ -2541,15 +2548,15 @@ function ensureGeneratedSupportPlaceholders(functionsDir, options) {
|
|
|
2541
2548
|
fs.mkdirSync(generatedDir, { recursive: true });
|
|
2542
2549
|
const includeAuth = options?.includeAuth ?? true;
|
|
2543
2550
|
if (!fs.existsSync(serverOutputFile)) {
|
|
2544
|
-
|
|
2551
|
+
writeFileIfChanged(serverOutputFile, emitGeneratedServerPlaceholderFile());
|
|
2545
2552
|
createdPlaceholderFiles.push(serverOutputFile);
|
|
2546
2553
|
}
|
|
2547
2554
|
if (includeAuth && !fs.existsSync(authOutputFile)) {
|
|
2548
|
-
|
|
2555
|
+
writeFileIfChanged(authOutputFile, emitGeneratedAuthPlaceholderFile());
|
|
2549
2556
|
createdPlaceholderFiles.push(authOutputFile);
|
|
2550
2557
|
}
|
|
2551
2558
|
if (!fs.existsSync(migrationsHelperOutputFile)) {
|
|
2552
|
-
|
|
2559
|
+
writeFileIfChanged(migrationsHelperOutputFile, emitGeneratedMigrationsPlaceholderFile());
|
|
2553
2560
|
createdPlaceholderFiles.push(migrationsHelperOutputFile);
|
|
2554
2561
|
}
|
|
2555
2562
|
return createdPlaceholderFiles;
|
|
@@ -2576,7 +2583,7 @@ function ensureGeneratedRuntimePlaceholders(functionsDir, moduleNames, runtimeEx
|
|
|
2576
2583
|
if (fs.existsSync(runtimeOutputFile)) continue;
|
|
2577
2584
|
const exportNames = runtimeExportNames.get(moduleName) ?? getModuleRuntimeExportNames(moduleName);
|
|
2578
2585
|
fs.mkdirSync(path.dirname(runtimeOutputFile), { recursive: true });
|
|
2579
|
-
|
|
2586
|
+
writeFileIfChanged(runtimeOutputFile, emitGeneratedRuntimePlaceholderFile(exportNames));
|
|
2580
2587
|
createdPlaceholderFiles.push(runtimeOutputFile);
|
|
2581
2588
|
}
|
|
2582
2589
|
return createdPlaceholderFiles;
|
|
@@ -3340,23 +3347,20 @@ ${optionalTypeExports}
|
|
|
3340
3347
|
`;
|
|
3341
3348
|
const outputDirname = path.dirname(outputFile);
|
|
3342
3349
|
if (!fs.existsSync(outputDirname)) fs.mkdirSync(outputDirname, { recursive: true });
|
|
3343
|
-
|
|
3350
|
+
writeFileIfChanged(outputFile, output);
|
|
3344
3351
|
} else fs.rmSync(outputFile, { force: true });
|
|
3345
3352
|
const serverOutput = emitGeneratedServerFile(serverOutputFile, functionsDir, hasOrmSchema, hasMigrationsManifest);
|
|
3346
3353
|
const generatedOutputDirname = path.dirname(serverOutputFile);
|
|
3347
3354
|
if (!fs.existsSync(generatedOutputDirname)) fs.mkdirSync(generatedOutputDirname, { recursive: true });
|
|
3348
|
-
|
|
3355
|
+
writeFileIfChanged(serverOutputFile, serverOutput);
|
|
3349
3356
|
fs.rmSync(ormOutputFile, { force: true });
|
|
3350
3357
|
fs.rmSync(crpcOutputFile, { force: true });
|
|
3351
|
-
|
|
3352
|
-
fs.writeFileSync(migrationsHelperOutputFile, migrationsOutput);
|
|
3358
|
+
writeFileIfChanged(migrationsHelperOutputFile, emitGeneratedMigrationsFile(migrationsHelperOutputFile, functionsDir, hasRelationsMetadata));
|
|
3353
3359
|
fs.rmSync(legacyGeneratedMigrationsOutputFile, { force: true });
|
|
3354
3360
|
fs.rmSync(legacyGeneratedMigrationsRuntimeOutputFile, { force: true });
|
|
3355
3361
|
fs.rmSync(legacyGeneratedMigrationsUnderscoreOutputFile, { force: true });
|
|
3356
|
-
if (generateAuth)
|
|
3357
|
-
|
|
3358
|
-
fs.writeFileSync(authOutputFile, authOutput);
|
|
3359
|
-
} else fs.rmSync(authOutputFile, { force: true });
|
|
3362
|
+
if (generateAuth) writeFileIfChanged(authOutputFile, emitGeneratedAuthFile(authOutputFile, functionsDir, hasOrmSchema, authContract));
|
|
3363
|
+
else fs.rmSync(authOutputFile, { force: true });
|
|
3360
3364
|
fs.rmSync(getLegacyGeneratedOutputFile(functionsDir), { force: true });
|
|
3361
3365
|
const mergedProcedureEntries = dedupeProcedureEntries([
|
|
3362
3366
|
...hasOrmSchema ? buildGeneratedOrmRuntimeProcedureEntries("generated/server") : [],
|
|
@@ -3379,7 +3383,7 @@ ${optionalTypeExports}
|
|
|
3379
3383
|
const runtimeOutputFile = getGeneratedRuntimeOutputFile(functionsDir, moduleName);
|
|
3380
3384
|
const runtimeOutput = emitGeneratedModuleRuntimeFile(runtimeOutputFile, functionsDir, moduleName, moduleEntries, runtimeExportNames);
|
|
3381
3385
|
fs.mkdirSync(path.dirname(runtimeOutputFile), { recursive: true });
|
|
3382
|
-
|
|
3386
|
+
writeFileIfChanged(runtimeOutputFile, runtimeOutput);
|
|
3383
3387
|
runtimeOutputFiles.push(runtimeOutputFile);
|
|
3384
3388
|
}
|
|
3385
3389
|
const runtimeOutputFileSet = new Set(runtimeOutputFiles);
|
package/dist/crpc/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { A as DataTransformer, F as decodeWire, I as defaultCRPCTransformer, L as encodeWire, M as WireCodec, N as createTaggedTransformer, O as CombinedDataTransformer, P as dateWireCodec, R as getTransformer, a as HttpProcedureCall, c as InferHttpInput, i as HttpErrorCode, j as DataTransformerOptions, k as DATE_CODEC_TAG, l as InferHttpOutput, n as HttpClientError, o as HttpRouteInfo, r as HttpClientFromRouter, s as HttpRouteMap, t as HttpClient, u as isHttpClientError, z as identityTransformer } from "../http-types-DqJubRPJ.js";
|
|
2
|
-
import { A as HttpInputArgs, C as ReservedMutationOptions, D as VanillaMutation, E as VanillaAction, F as replaceUrlParam, M as RESERVED_KEYS, N as buildSearchParams, O as HttpClientOptions, P as executeHttpRequest, S as ReservedInfiniteQueryOptions, T as StaticQueryOptsParam, _ as IsPaginated, a as BaseInfiniteQueryOptsParam, b as PaginatedFnMeta, c as ConvexMutationKey, d as ConvexQueryMeta, f as EmptyObject, g as InfiniteQueryInput, h as FnMeta, i as BaseConvexQueryOptions, j as HttpProxyBaseOptions, k as HttpFormValue, l as ConvexQueryHookOptions, m as FUNC_REF_SYMBOL, n as BaseConvexActionOptions, o as ConvexActionKey, p as ExtractPaginatedItem, r as BaseConvexInfiniteQueryOptions, s as ConvexInfiniteQueryMeta, t as AuthType, u as ConvexQueryKey, v as Meta, w as ReservedQueryOptions, x as PaginationOpts, y as MutationVariables } from "../types-
|
|
2
|
+
import { A as HttpInputArgs, C as ReservedMutationOptions, D as VanillaMutation, E as VanillaAction, F as replaceUrlParam, M as RESERVED_KEYS, N as buildSearchParams, O as HttpClientOptions, P as executeHttpRequest, S as ReservedInfiniteQueryOptions, T as StaticQueryOptsParam, _ as IsPaginated, a as BaseInfiniteQueryOptsParam, b as PaginatedFnMeta, c as ConvexMutationKey, d as ConvexQueryMeta, f as EmptyObject, g as InfiniteQueryInput, h as FnMeta, i as BaseConvexQueryOptions, j as HttpProxyBaseOptions, k as HttpFormValue, l as ConvexQueryHookOptions, m as FUNC_REF_SYMBOL, n as BaseConvexActionOptions, o as ConvexActionKey, p as ExtractPaginatedItem, r as BaseConvexInfiniteQueryOptions, s as ConvexInfiniteQueryMeta, t as AuthType, u as ConvexQueryKey, v as Meta, w as ReservedQueryOptions, x as PaginationOpts, y as MutationVariables } from "../types-BLvtq_eH.js";
|
|
3
3
|
import { FunctionArgs, FunctionReference } from "convex/server";
|
|
4
4
|
|
|
5
5
|
//#region src/crpc/auth-error.d.ts
|
package/dist/{generated-contract-disabled-D-sOFy92.d.ts → generated-contract-disabled-ngvXLZ4i.d.ts}
RENAMED
|
@@ -173,10 +173,18 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
|
|
|
173
173
|
};
|
|
174
174
|
}, Promise<any>>;
|
|
175
175
|
deleteMany: convex_server0.RegisteredMutation<"internal", {
|
|
176
|
+
paginationOpts: {
|
|
177
|
+
id?: number;
|
|
178
|
+
endCursor?: string | null;
|
|
179
|
+
maximumRowsRead?: number;
|
|
180
|
+
maximumBytesRead?: number;
|
|
181
|
+
numItems: number;
|
|
182
|
+
cursor: string | null;
|
|
183
|
+
};
|
|
176
184
|
input: {
|
|
177
185
|
where?: {
|
|
186
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
178
187
|
connector?: "AND" | "OR" | undefined;
|
|
179
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
180
188
|
value: string | number | boolean | string[] | number[] | null;
|
|
181
189
|
field: string;
|
|
182
190
|
}[] | undefined;
|
|
@@ -185,14 +193,6 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
|
|
|
185
193
|
where?: any[] | undefined;
|
|
186
194
|
model: string;
|
|
187
195
|
};
|
|
188
|
-
paginationOpts: {
|
|
189
|
-
id?: number;
|
|
190
|
-
endCursor?: string | null;
|
|
191
|
-
maximumRowsRead?: number;
|
|
192
|
-
maximumBytesRead?: number;
|
|
193
|
-
numItems: number;
|
|
194
|
-
cursor: string | null;
|
|
195
|
-
};
|
|
196
196
|
}, Promise<{
|
|
197
197
|
count: number;
|
|
198
198
|
ids: any[];
|
|
@@ -204,8 +204,8 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
|
|
|
204
204
|
deleteOne: convex_server0.RegisteredMutation<"internal", {
|
|
205
205
|
input: {
|
|
206
206
|
where?: {
|
|
207
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
207
208
|
connector?: "AND" | "OR" | undefined;
|
|
208
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
209
209
|
value: string | number | boolean | string[] | number[] | null;
|
|
210
210
|
field: string;
|
|
211
211
|
}[] | undefined;
|
|
@@ -216,20 +216,19 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
|
|
|
216
216
|
};
|
|
217
217
|
}, Promise<Record<string, unknown> | undefined>>;
|
|
218
218
|
findMany: convex_server0.RegisteredQuery<"internal", {
|
|
219
|
+
limit?: number | undefined;
|
|
219
220
|
join?: any;
|
|
220
221
|
where?: {
|
|
222
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
221
223
|
connector?: "AND" | "OR" | undefined;
|
|
222
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
223
224
|
value: string | number | boolean | string[] | number[] | null;
|
|
224
225
|
field: string;
|
|
225
226
|
}[] | undefined;
|
|
226
|
-
limit?: number | undefined;
|
|
227
227
|
offset?: number | undefined;
|
|
228
228
|
sortBy?: {
|
|
229
229
|
field: string;
|
|
230
230
|
direction: "asc" | "desc";
|
|
231
231
|
} | undefined;
|
|
232
|
-
model: string;
|
|
233
232
|
paginationOpts: {
|
|
234
233
|
id?: number;
|
|
235
234
|
endCursor?: string | null;
|
|
@@ -238,46 +237,47 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
|
|
|
238
237
|
numItems: number;
|
|
239
238
|
cursor: string | null;
|
|
240
239
|
};
|
|
240
|
+
model: string;
|
|
241
241
|
}, Promise<convex_server0.PaginationResult<convex_server0.GenericDocument>>>;
|
|
242
242
|
findOne: convex_server0.RegisteredQuery<"internal", {
|
|
243
243
|
join?: any;
|
|
244
|
-
select?: string[] | undefined;
|
|
245
244
|
where?: {
|
|
245
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
246
246
|
connector?: "AND" | "OR" | undefined;
|
|
247
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
248
247
|
value: string | number | boolean | string[] | number[] | null;
|
|
249
248
|
field: string;
|
|
250
249
|
}[] | undefined;
|
|
250
|
+
select?: string[] | undefined;
|
|
251
251
|
model: string;
|
|
252
252
|
}, Promise<convex_server0.GenericDocument | null>>;
|
|
253
253
|
getLatestJwks: convex_server0.RegisteredAction<"internal", {}, Promise<unknown>>;
|
|
254
254
|
rotateKeys: convex_server0.RegisteredAction<"internal", {}, Promise<unknown>>;
|
|
255
255
|
updateMany: convex_server0.RegisteredMutation<"internal", {
|
|
256
|
+
paginationOpts: {
|
|
257
|
+
id?: number;
|
|
258
|
+
endCursor?: string | null;
|
|
259
|
+
maximumRowsRead?: number;
|
|
260
|
+
maximumBytesRead?: number;
|
|
261
|
+
numItems: number;
|
|
262
|
+
cursor: string | null;
|
|
263
|
+
};
|
|
256
264
|
input: {
|
|
257
265
|
where?: {
|
|
266
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
258
267
|
connector?: "AND" | "OR" | undefined;
|
|
259
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
260
268
|
value: string | number | boolean | string[] | number[] | null;
|
|
261
269
|
field: string;
|
|
262
270
|
}[] | undefined;
|
|
263
|
-
model: string;
|
|
264
271
|
update: {
|
|
265
272
|
[x: string]: unknown;
|
|
266
273
|
[x: number]: unknown;
|
|
267
274
|
[x: symbol]: unknown;
|
|
268
275
|
};
|
|
276
|
+
model: string;
|
|
269
277
|
} | {
|
|
270
278
|
where?: any[] | undefined;
|
|
271
|
-
model: string;
|
|
272
279
|
update: any;
|
|
273
|
-
|
|
274
|
-
paginationOpts: {
|
|
275
|
-
id?: number;
|
|
276
|
-
endCursor?: string | null;
|
|
277
|
-
maximumRowsRead?: number;
|
|
278
|
-
maximumBytesRead?: number;
|
|
279
|
-
numItems: number;
|
|
280
|
-
cursor: string | null;
|
|
280
|
+
model: string;
|
|
281
281
|
};
|
|
282
282
|
}, Promise<{
|
|
283
283
|
count: number;
|
|
@@ -290,21 +290,21 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
|
|
|
290
290
|
updateOne: convex_server0.RegisteredMutation<"internal", {
|
|
291
291
|
input: {
|
|
292
292
|
where?: {
|
|
293
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
293
294
|
connector?: "AND" | "OR" | undefined;
|
|
294
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
295
295
|
value: string | number | boolean | string[] | number[] | null;
|
|
296
296
|
field: string;
|
|
297
297
|
}[] | undefined;
|
|
298
|
-
model: string;
|
|
299
298
|
update: {
|
|
300
299
|
[x: string]: unknown;
|
|
301
300
|
[x: number]: unknown;
|
|
302
301
|
[x: symbol]: unknown;
|
|
303
302
|
};
|
|
303
|
+
model: string;
|
|
304
304
|
} | {
|
|
305
305
|
where?: any[] | undefined;
|
|
306
|
-
model: string;
|
|
307
306
|
update: any;
|
|
307
|
+
model: string;
|
|
308
308
|
};
|
|
309
309
|
}, Promise<any>>;
|
|
310
310
|
};
|
package/dist/orm/index.d.ts
CHANGED
|
@@ -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-
|
|
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-CuH2JNxb.js";
|
|
2
2
|
import { i as pretendRequired, n as deprecated, r as pretend } from "../validators-vzRKjBJC.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-CFZqIvD7.js";
|
|
4
4
|
import { DefineSchemaOptions, GenericDatabaseReader, GenericDatabaseWriter, GenericSchema, SchemaDefinition } from "convex/server";
|
package/dist/plugins/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as PluginConfigureResolver, i as PluginConfigureInput, n as PluginApiScope, o as definePlugin, r as PluginConfigureContext, s as resolvePluginOptions, t as Plugin } from "../middleware-
|
|
1
|
+
import { a as PluginConfigureResolver, i as PluginConfigureInput, n as PluginApiScope, o as definePlugin, r as PluginConfigureContext, s as resolvePluginOptions, t as Plugin } from "../middleware-BL2wn3s0.js";
|
|
2
2
|
export { type Plugin, type PluginApiScope, type PluginConfigureContext, type PluginConfigureInput, type PluginConfigureResolver, definePlugin, resolvePluginOptions };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { o as MiddlewareBuilder } from "../types-DEJpkIhw.js";
|
|
2
|
-
import { t as Plugin } from "../middleware-
|
|
2
|
+
import { t as Plugin } from "../middleware-BL2wn3s0.js";
|
|
3
3
|
import * as convex_server0 from "convex/server";
|
|
4
4
|
|
|
5
5
|
//#region src/ratelimit/duration.d.ts
|
package/dist/rsc/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as DeepPartial, o as Simplify, r as DistributiveOmit } from "../types-BTb_4BaU.js";
|
|
2
2
|
import { C as HttpProcedure, d as CRPCHttpRouter, j as DataTransformerOptions, p as HttpRouterRecord } from "../http-types-DqJubRPJ.js";
|
|
3
3
|
import { m as UnsetMarker } from "../types-DEJpkIhw.js";
|
|
4
|
-
import { A as HttpInputArgs, C as ReservedMutationOptions$1, S as ReservedInfiniteQueryOptions, T as StaticQueryOptsParam, _ as IsPaginated, b as PaginatedFnMeta, c as ConvexMutationKey, d as ConvexQueryMeta, f as EmptyObject, g as InfiniteQueryInput, l as ConvexQueryHookOptions, m as FUNC_REF_SYMBOL, o as ConvexActionKey, p as ExtractPaginatedItem, s as ConvexInfiniteQueryMeta, u as ConvexQueryKey, w as ReservedQueryOptions$1, y as MutationVariables } from "../types-
|
|
4
|
+
import { A as HttpInputArgs, C as ReservedMutationOptions$1, S as ReservedInfiniteQueryOptions, T as StaticQueryOptsParam, _ as IsPaginated, b as PaginatedFnMeta, c as ConvexMutationKey, d as ConvexQueryMeta, f as EmptyObject, g as InfiniteQueryInput, l as ConvexQueryHookOptions, m as FUNC_REF_SYMBOL, o as ConvexActionKey, p as ExtractPaginatedItem, s as ConvexInfiniteQueryMeta, u as ConvexQueryKey, w as ReservedQueryOptions$1, y as MutationVariables } from "../types-BLvtq_eH.js";
|
|
5
5
|
import { FunctionArgs, FunctionReference, FunctionReturnType } from "convex/server";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { DefaultError, QueryFilters, SkipToken, UseMutationOptions, UseQueryOptions } from "@tanstack/react-query";
|
package/dist/watcher.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { n as getConvexConfig, r as logger, t as generateMeta } from "./codegen-
|
|
2
|
+
import { n as getConvexConfig, r as logger, t as generateMeta } from "./codegen-B60fOYhd.mjs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
|
|
@@ -3992,11 +3992,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
3992
3992
|
readonly aggregate_extrema: ConvexTableWithColumns<{
|
|
3993
3993
|
name: "aggregate_extrema";
|
|
3994
3994
|
columns: {
|
|
3995
|
-
|
|
3996
|
-
_: {
|
|
3997
|
-
$type: convex_values0.Value;
|
|
3998
|
-
};
|
|
3999
|
-
} & {
|
|
3995
|
+
count: ConvexNumberBuilderInitial<""> & {
|
|
4000
3996
|
_: {
|
|
4001
3997
|
notNull: true;
|
|
4002
3998
|
};
|
|
@@ -4006,10 +4002,14 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4006
4002
|
};
|
|
4007
4003
|
} & {
|
|
4008
4004
|
_: {
|
|
4009
|
-
fieldName: "
|
|
4005
|
+
fieldName: "count";
|
|
4010
4006
|
};
|
|
4011
4007
|
};
|
|
4012
|
-
|
|
4008
|
+
value: ConvexCustomBuilderInitial<"", convex_values0.VAny<any, "required", string>> & {
|
|
4009
|
+
_: {
|
|
4010
|
+
$type: convex_values0.Value;
|
|
4011
|
+
};
|
|
4012
|
+
} & {
|
|
4013
4013
|
_: {
|
|
4014
4014
|
notNull: true;
|
|
4015
4015
|
};
|
|
@@ -4019,7 +4019,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4019
4019
|
};
|
|
4020
4020
|
} & {
|
|
4021
4021
|
_: {
|
|
4022
|
-
fieldName: "
|
|
4022
|
+
fieldName: "value";
|
|
4023
4023
|
};
|
|
4024
4024
|
};
|
|
4025
4025
|
tableKey: ConvexTextBuilderInitial<""> & {
|
|
@@ -4398,22 +4398,22 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
4398
4398
|
readonly migration_state: ConvexTableWithColumns<{
|
|
4399
4399
|
name: "migration_state";
|
|
4400
4400
|
columns: {
|
|
4401
|
-
|
|
4401
|
+
direction: ConvexTextBuilderInitial<""> & {
|
|
4402
4402
|
_: {
|
|
4403
4403
|
tableName: "migration_state";
|
|
4404
4404
|
};
|
|
4405
4405
|
} & {
|
|
4406
4406
|
_: {
|
|
4407
|
-
fieldName: "
|
|
4407
|
+
fieldName: "direction";
|
|
4408
4408
|
};
|
|
4409
4409
|
};
|
|
4410
|
-
|
|
4410
|
+
cursor: ConvexTextBuilderInitial<""> & {
|
|
4411
4411
|
_: {
|
|
4412
4412
|
tableName: "migration_state";
|
|
4413
4413
|
};
|
|
4414
4414
|
} & {
|
|
4415
4415
|
_: {
|
|
4416
|
-
fieldName: "
|
|
4416
|
+
fieldName: "cursor";
|
|
4417
4417
|
};
|
|
4418
4418
|
};
|
|
4419
4419
|
status: ConvexTextBuilderInitial<""> & {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kitcn",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.6",
|
|
4
4
|
"description": "kitcn - React Query integration and CLI tools for Convex",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"convex",
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"./auth/generated": "./dist/auth/generated/index.js",
|
|
28
28
|
"./auth/http": "./dist/auth/http/index.js",
|
|
29
29
|
"./auth/nextjs": "./dist/auth/nextjs/index.js",
|
|
30
|
+
"./auth/start": "./dist/auth/start/index.js",
|
|
30
31
|
"./crpc": "./dist/crpc/index.js",
|
|
31
32
|
"./orm": "./dist/orm/index.js",
|
|
32
33
|
"./plugins": "./dist/plugins/index.js",
|
|
@@ -193,7 +193,7 @@ export default createHttpRouter(app, httpRouter);
|
|
|
193
193
|
SITE_URL=http://localhost:3000
|
|
194
194
|
GOOGLE_CLIENT_ID=...
|
|
195
195
|
GOOGLE_CLIENT_SECRET=...
|
|
196
|
-
# Auto-generated during local auth bootstrap and prod env
|
|
196
|
+
# Auto-generated during local auth bootstrap and prod env push
|
|
197
197
|
BETTER_AUTH_SECRET=...
|
|
198
198
|
JWKS=...
|
|
199
199
|
```
|
|
@@ -1,31 +1,33 @@
|
|
|
1
1
|
## 8.B TanStack Start
|
|
2
2
|
|
|
3
|
-
Explicit exception: current docs still use `@convex-dev/better-auth/*` helpers for TanStack Start integration.
|
|
4
|
-
|
|
5
3
|
### 8.B.1 Auth client + auth server helpers
|
|
6
4
|
|
|
7
|
-
**Create:** `src/lib/convex/auth
|
|
5
|
+
**Create:** `src/lib/convex/auth-client.ts`
|
|
8
6
|
|
|
9
7
|
```ts
|
|
10
|
-
import type { Auth } from "@convex/auth-shared";
|
|
11
|
-
import { convexClient } from "@convex-dev/better-auth/client/plugins";
|
|
12
|
-
import { adminClient, inferAdditionalFields } from "better-auth/client/plugins";
|
|
13
8
|
import { createAuthClient } from "better-auth/react";
|
|
9
|
+
import { convexClient } from "kitcn/auth/client";
|
|
10
|
+
import { createAuthMutations } from "kitcn/react";
|
|
14
11
|
|
|
15
12
|
export const authClient = createAuthClient({
|
|
16
13
|
baseURL:
|
|
17
14
|
typeof window === "undefined"
|
|
18
15
|
? (import.meta.env.VITE_SITE_URL as string | undefined)
|
|
19
16
|
: window.location.origin,
|
|
20
|
-
|
|
21
|
-
plugins: [inferAdditionalFields<Auth>(), adminClient(), convexClient()],
|
|
17
|
+
plugins: [convexClient()],
|
|
22
18
|
});
|
|
19
|
+
|
|
20
|
+
export const {
|
|
21
|
+
useSignInMutationOptions,
|
|
22
|
+
useSignOutMutationOptions,
|
|
23
|
+
useSignUpMutationOptions,
|
|
24
|
+
} = createAuthMutations(authClient);
|
|
23
25
|
```
|
|
24
26
|
|
|
25
|
-
**Create:** `src/lib/convex/auth
|
|
27
|
+
**Create:** `src/lib/convex/auth-server.ts`
|
|
26
28
|
|
|
27
29
|
```ts
|
|
28
|
-
import { convexBetterAuthReactStart } from "
|
|
30
|
+
import { convexBetterAuthReactStart } from "kitcn/auth/start";
|
|
29
31
|
|
|
30
32
|
export const {
|
|
31
33
|
handler,
|
|
@@ -34,8 +36,8 @@ export const {
|
|
|
34
36
|
fetchAuthMutation,
|
|
35
37
|
fetchAuthAction,
|
|
36
38
|
} = convexBetterAuthReactStart({
|
|
37
|
-
convexUrl:
|
|
38
|
-
convexSiteUrl:
|
|
39
|
+
convexUrl: import.meta.env.VITE_CONVEX_URL!,
|
|
40
|
+
convexSiteUrl: import.meta.env.VITE_CONVEX_SITE_URL!,
|
|
39
41
|
});
|
|
40
42
|
```
|
|
41
43
|
|
|
@@ -45,9 +47,9 @@ export const {
|
|
|
45
47
|
|
|
46
48
|
```ts
|
|
47
49
|
import { createFileRoute } from "@tanstack/react-router";
|
|
48
|
-
import { handler } from "@/lib/convex/auth
|
|
50
|
+
import { handler } from "@/lib/convex/auth-server";
|
|
49
51
|
|
|
50
|
-
export const Route = createFileRoute("/api/auth/$")({
|
|
52
|
+
export const Route = createFileRoute("/api/auth/$" as never)({
|
|
51
53
|
server: {
|
|
52
54
|
handlers: {
|
|
53
55
|
GET: ({ request }) => handler(request),
|
|
@@ -59,9 +61,47 @@ export const Route = createFileRoute("/api/auth/$")({
|
|
|
59
61
|
|
|
60
62
|
### 8.B.3 Caller/context and providers
|
|
61
63
|
|
|
62
|
-
|
|
64
|
+
**Create:** `src/lib/convex/server.ts`
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
import { api } from "@convex/api";
|
|
68
|
+
import { getRequestHeaders } from "@tanstack/react-start/server";
|
|
69
|
+
import { createCallerFactory } from "kitcn/server";
|
|
70
|
+
|
|
71
|
+
import { getToken } from "@/lib/convex/auth-server";
|
|
72
|
+
|
|
73
|
+
const { createContext, createCaller } = createCallerFactory({
|
|
74
|
+
api,
|
|
75
|
+
convexSiteUrl: import.meta.env.VITE_CONVEX_SITE_URL!,
|
|
76
|
+
auth: {
|
|
77
|
+
getToken: async () => {
|
|
78
|
+
return {
|
|
79
|
+
token: await getToken(),
|
|
80
|
+
};
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
type ServerCaller = ReturnType<typeof createCaller>;
|
|
86
|
+
|
|
87
|
+
async function makeContext() {
|
|
88
|
+
const headers = await getRequestHeaders();
|
|
89
|
+
return createContext({ headers });
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function createServerCaller(): ServerCaller {
|
|
93
|
+
return createCaller(async () => {
|
|
94
|
+
return await makeContext();
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export function runServerCall<T>(fn: (caller: ServerCaller) => Promise<T> | T) {
|
|
99
|
+
const caller = createServerCaller();
|
|
100
|
+
return fn(caller);
|
|
101
|
+
}
|
|
102
|
+
```
|
|
63
103
|
|
|
64
|
-
|
|
65
|
-
- router context values (`convex`, `queryClient`, `convexQueryClient`)
|
|
66
|
-
- provider wrapping with `ConvexAuthProvider` and `initialToken`
|
|
104
|
+
Use the docs pattern from `tanstack-start.mdx` for:
|
|
67
105
|
|
|
106
|
+
- `src/routes/__root.tsx` shell/provider wiring
|
|
107
|
+
- `src/lib/convex/convex-provider.tsx`
|
|
File without changes
|
|
File without changes
|