kitcn 0.12.6 → 0.12.8

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-CuH2JNxb.js";
1
+ import { C as ConvexNumberBuilderInitial, E as ConvexIdBuilderInitial, N as ConvexCustomBuilderInitial, dn as ConvexTableWithColumns, tr as ConvexTextBuilderInitial } from "../where-clause-compiler-DdjN63Io.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,2 +1,2 @@
1
- import { S as defineAuth, _ as GenericAuthBeforeResult, b as GenericAuthTriggerHandlers, g as BetterAuthOptionsWithoutDatabase, i as getGeneratedAuthDisabledReason, n as GeneratedAuthDisabledReasonKind, r as createDisabledAuthRuntime, t as AuthRuntime, v as GenericAuthDefinition, x as GenericAuthTriggers, y as GenericAuthTriggerChange } from "../../generated-contract-disabled-ngvXLZ4i.js";
1
+ import { S as defineAuth, _ as GenericAuthBeforeResult, b as GenericAuthTriggerHandlers, g as BetterAuthOptionsWithoutDatabase, i as getGeneratedAuthDisabledReason, n as GeneratedAuthDisabledReasonKind, r as createDisabledAuthRuntime, t as AuthRuntime, v as GenericAuthDefinition, x as GenericAuthTriggers, y as GenericAuthTriggerChange } from "../../generated-contract-disabled-Dzx2IRId.js";
2
2
  export { type AuthRuntime, BetterAuthOptionsWithoutDatabase, type GeneratedAuthDisabledReasonKind, GenericAuthBeforeResult, GenericAuthDefinition, GenericAuthTriggerChange, GenericAuthTriggerHandlers, GenericAuthTriggers, createDisabledAuthRuntime, defineAuth, getGeneratedAuthDisabledReason };
@@ -1,7 +1,7 @@
1
1
  import { a as QueryCtxWithPreferredOrmQueryTable, n as LookupByIdResultByCtx, t as DocByCtx } from "../query-context-CFZqIvD7.js";
2
2
  import { t as GetAuth } from "../types-BiJE7qxR.js";
3
3
  import { t as GenericCtx } from "../context-utils-HPC5nXzx.js";
4
- import { S as defineAuth, _ as GenericAuthBeforeResult, a as AuthFunctions, b as GenericAuthTriggerHandlers, c as createApi, d as deleteOneHandler, f as findManyHandler, g as BetterAuthOptionsWithoutDatabase, h as updateOneHandler, i as getGeneratedAuthDisabledReason, l as createHandler, m as updateManyHandler, n as GeneratedAuthDisabledReasonKind, o as Triggers, p as findOneHandler, r as createDisabledAuthRuntime, s as createClient, t as AuthRuntime, u as deleteManyHandler, v as GenericAuthDefinition, x as GenericAuthTriggers, y as GenericAuthTriggerChange } from "../generated-contract-disabled-ngvXLZ4i.js";
4
+ import { S as defineAuth, _ as GenericAuthBeforeResult, a as AuthFunctions, b as GenericAuthTriggerHandlers, c as createApi, d as deleteOneHandler, f as findManyHandler, g as BetterAuthOptionsWithoutDatabase, h as updateOneHandler, i as getGeneratedAuthDisabledReason, l as createHandler, m as updateManyHandler, n as GeneratedAuthDisabledReasonKind, o as Triggers, p as findOneHandler, r as createDisabledAuthRuntime, s as createClient, t as AuthRuntime, u as deleteManyHandler, v as GenericAuthDefinition, x as GenericAuthTriggers, y as GenericAuthTriggerChange } from "../generated-contract-disabled-Dzx2IRId.js";
5
5
  import * as convex_values0 from "convex/values";
6
6
  import { Infer } from "convex/values";
7
7
  import { DocumentByName, GenericDataModel, GenericMutationCtx, GenericQueryCtx, GenericSchema, PaginationOptions, PaginationResult, SchemaDefinition, TableNamesInDataModel } from "convex/server";
@@ -103,25 +103,25 @@ type AdapterPaginationOptions = PaginationOptions & {
103
103
  maximumRowsRead?: number;
104
104
  };
105
105
  declare const adapterWhereValidator: convex_values0.VObject<{
106
- operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
107
106
  connector?: "AND" | "OR" | undefined;
107
+ operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
108
108
  value: string | number | boolean | string[] | number[] | null;
109
109
  field: string;
110
110
  }, {
111
111
  connector: convex_values0.VUnion<"AND" | "OR" | undefined, [convex_values0.VLiteral<"AND", "required">, convex_values0.VLiteral<"OR", "required">], "optional", never>;
112
112
  field: convex_values0.VString<string, "required">;
113
- operator: convex_values0.VUnion<"eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined, [convex_values0.VLiteral<"lt", "required">, convex_values0.VLiteral<"lte", "required">, convex_values0.VLiteral<"gt", "required">, convex_values0.VLiteral<"gte", "required">, convex_values0.VLiteral<"eq", "required">, convex_values0.VLiteral<"in", "required">, convex_values0.VLiteral<"not_in", "required">, convex_values0.VLiteral<"ne", "required">, convex_values0.VLiteral<"contains", "required">, convex_values0.VLiteral<"starts_with", "required">, convex_values0.VLiteral<"ends_with", "required">], "optional", never>;
113
+ operator: convex_values0.VUnion<"lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined, [convex_values0.VLiteral<"lt", "required">, convex_values0.VLiteral<"lte", "required">, convex_values0.VLiteral<"gt", "required">, convex_values0.VLiteral<"gte", "required">, convex_values0.VLiteral<"eq", "required">, convex_values0.VLiteral<"in", "required">, convex_values0.VLiteral<"not_in", "required">, convex_values0.VLiteral<"ne", "required">, convex_values0.VLiteral<"contains", "required">, convex_values0.VLiteral<"starts_with", "required">, convex_values0.VLiteral<"ends_with", "required">], "optional", never>;
114
114
  value: convex_values0.VUnion<string | number | boolean | string[] | number[] | null, [convex_values0.VString<string, "required">, convex_values0.VFloat64<number, "required">, convex_values0.VBoolean<boolean, "required">, convex_values0.VArray<string[], convex_values0.VString<string, "required">, "required">, convex_values0.VArray<number[], convex_values0.VFloat64<number, "required">, "required">, convex_values0.VNull<null, "required">], "required", never>;
115
- }, "required", "operator" | "value" | "field" | "connector">;
115
+ }, "required", "value" | "connector" | "field" | "operator">;
116
116
  declare const adapterArgsValidator: convex_values0.VObject<{
117
- limit?: number | undefined;
117
+ select?: string[] | undefined;
118
118
  where?: {
119
- operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
120
119
  connector?: "AND" | "OR" | undefined;
120
+ operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
121
121
  value: string | number | boolean | string[] | number[] | null;
122
122
  field: string;
123
123
  }[] | undefined;
124
- select?: string[] | undefined;
124
+ limit?: number | undefined;
125
125
  offset?: number | undefined;
126
126
  sortBy?: {
127
127
  field: string;
@@ -141,22 +141,22 @@ declare const adapterArgsValidator: convex_values0.VObject<{
141
141
  field: convex_values0.VString<string, "required">;
142
142
  }, "optional", "field" | "direction">;
143
143
  where: convex_values0.VArray<{
144
- operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
145
144
  connector?: "AND" | "OR" | undefined;
145
+ operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
146
146
  value: string | number | boolean | string[] | number[] | null;
147
147
  field: string;
148
148
  }[] | undefined, convex_values0.VObject<{
149
- operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
150
149
  connector?: "AND" | "OR" | undefined;
150
+ operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
151
151
  value: string | number | boolean | string[] | number[] | null;
152
152
  field: string;
153
153
  }, {
154
154
  connector: convex_values0.VUnion<"AND" | "OR" | undefined, [convex_values0.VLiteral<"AND", "required">, convex_values0.VLiteral<"OR", "required">], "optional", never>;
155
155
  field: convex_values0.VString<string, "required">;
156
- operator: convex_values0.VUnion<"eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined, [convex_values0.VLiteral<"lt", "required">, convex_values0.VLiteral<"lte", "required">, convex_values0.VLiteral<"gt", "required">, convex_values0.VLiteral<"gte", "required">, convex_values0.VLiteral<"eq", "required">, convex_values0.VLiteral<"in", "required">, convex_values0.VLiteral<"not_in", "required">, convex_values0.VLiteral<"ne", "required">, convex_values0.VLiteral<"contains", "required">, convex_values0.VLiteral<"starts_with", "required">, convex_values0.VLiteral<"ends_with", "required">], "optional", never>;
156
+ operator: convex_values0.VUnion<"lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined, [convex_values0.VLiteral<"lt", "required">, convex_values0.VLiteral<"lte", "required">, convex_values0.VLiteral<"gt", "required">, convex_values0.VLiteral<"gte", "required">, convex_values0.VLiteral<"eq", "required">, convex_values0.VLiteral<"in", "required">, convex_values0.VLiteral<"not_in", "required">, convex_values0.VLiteral<"ne", "required">, convex_values0.VLiteral<"contains", "required">, convex_values0.VLiteral<"starts_with", "required">, convex_values0.VLiteral<"ends_with", "required">], "optional", never>;
157
157
  value: convex_values0.VUnion<string | number | boolean | string[] | number[] | null, [convex_values0.VString<string, "required">, convex_values0.VFloat64<number, "required">, convex_values0.VBoolean<boolean, "required">, convex_values0.VArray<string[], convex_values0.VString<string, "required">, "required">, convex_values0.VArray<number[], convex_values0.VFloat64<number, "required">, "required">, convex_values0.VNull<null, "required">], "required", never>;
158
- }, "required", "operator" | "value" | "field" | "connector">, "optional">;
159
- }, "required", "limit" | "where" | "model" | "select" | "offset" | "sortBy" | "sortBy.field" | "sortBy.direction">;
158
+ }, "required", "value" | "connector" | "field" | "operator">, "optional">;
159
+ }, "required", "model" | "select" | "where" | "limit" | "offset" | "sortBy" | "sortBy.field" | "sortBy.direction">;
160
160
  declare const hasUniqueFields: (betterAuthSchema: BetterAuthDBSchema, model: string, input: Record<string, any>) => boolean;
161
161
  declare const checkUniqueFields: <Schema extends SchemaDefinition<any, any>>(ctx: GenericQueryCtx<GenericDataModel>, schema: Schema, betterAuthSchema: BetterAuthDBSchema, table: string, input: Record<string, any>, doc?: Record<string, any>) => Promise<void>;
162
162
  declare const selectFields: <T extends TableNamesInDataModel<GenericDataModel>, D extends DocumentByName<GenericDataModel, T>>(doc: D | null, select?: string[]) => D | null;
package/dist/cli.mjs CHANGED
@@ -2397,6 +2397,7 @@ const SUPPORTED_BETTER_AUTH_VERSION = "1.5.3";
2397
2397
  const SUPPORTED_HONO_VERSION = "4.12.9";
2398
2398
  const SUPPORTED_OPENTELEMETRY_API_VERSION = "1.9.0";
2399
2399
  const SUPPORTED_TANSTACK_REACT_QUERY_VERSION = "5.95.2";
2400
+ const SUPPORTED_ZOD_VERSION = "4.3.6";
2400
2401
  const KITCN_INSTALL_SPEC_ENV = "KITCN_INSTALL_SPEC";
2401
2402
  const KITCN_RESEND_INSTALL_SPEC_ENV = "KITCN_RESEND_INSTALL_SPEC";
2402
2403
  function getMinimumVersionRange(version) {
@@ -2434,16 +2435,21 @@ const SUPPORTED_DEPENDENCY_VERSIONS = {
2434
2435
  betterAuth: { exact: SUPPORTED_BETTER_AUTH_VERSION },
2435
2436
  hono: { exact: SUPPORTED_HONO_VERSION },
2436
2437
  opentelemetryApi: { exact: SUPPORTED_OPENTELEMETRY_API_VERSION },
2437
- tanstackReactQuery: { exact: SUPPORTED_TANSTACK_REACT_QUERY_VERSION }
2438
+ tanstackReactQuery: { exact: SUPPORTED_TANSTACK_REACT_QUERY_VERSION },
2439
+ zod: {
2440
+ exact: SUPPORTED_ZOD_VERSION,
2441
+ range: `^${SUPPORTED_ZOD_VERSION}`
2442
+ }
2438
2443
  };
2439
2444
  const PINNED_CONVEX_INSTALL_SPEC = `convex@${SUPPORTED_DEPENDENCY_VERSIONS.convex.exact}`;
2440
2445
  const BETTER_AUTH_INSTALL_SPEC = `better-auth@${SUPPORTED_DEPENDENCY_VERSIONS.betterAuth.exact}`;
2441
2446
  const PINNED_HONO_INSTALL_SPEC = `hono@${SUPPORTED_DEPENDENCY_VERSIONS.hono.exact}`;
2442
2447
  const OPENTELEMETRY_API_INSTALL_SPEC = `@opentelemetry/api@${SUPPORTED_DEPENDENCY_VERSIONS.opentelemetryApi.exact}`;
2443
2448
  const PINNED_TANSTACK_REACT_QUERY_INSTALL_SPEC = `@tanstack/react-query@${SUPPORTED_DEPENDENCY_VERSIONS.tanstackReactQuery.exact}`;
2449
+ const PINNED_ZOD_INSTALL_SPEC = `zod@${SUPPORTED_DEPENDENCY_VERSIONS.zod.range}`;
2444
2450
  const BASELINE_DEPENDENCY_INSTALL_SPECS = [
2445
2451
  PINNED_CONVEX_INSTALL_SPEC,
2446
- "zod",
2452
+ PINNED_ZOD_INSTALL_SPEC,
2447
2453
  PINNED_TANSTACK_REACT_QUERY_INSTALL_SPEC,
2448
2454
  PINNED_HONO_INSTALL_SPEC
2449
2455
  ];
@@ -4559,16 +4565,11 @@ export default function AuthPage() {
4559
4565
  const isPending =
4560
4566
  signIn.isPending || signUp.isPending || signOut.isPending;
4561
4567
 
4562
- function getCallbackURL() {
4563
- return '/auth';
4564
- }
4565
-
4566
4568
  function handleSubmit(event: React.FormEvent<HTMLFormElement>) {
4567
4569
  event.preventDefault();
4568
4570
 
4569
4571
  if (mode === 'signup') {
4570
4572
  signUp.mutate({
4571
- callbackURL: getCallbackURL(),
4572
4573
  email,
4573
4574
  name,
4574
4575
  password,
@@ -4577,7 +4578,6 @@ export default function AuthPage() {
4577
4578
  }
4578
4579
 
4579
4580
  signIn.mutate({
4580
- callbackURL: getCallbackURL(),
4581
4581
  email,
4582
4582
  password,
4583
4583
  });
@@ -8593,14 +8593,41 @@ const resolveAddTemplateDefaults = (params) => {
8593
8593
  const presetTemplateIds = normalizeTemplateIds(params.presetTemplateIds);
8594
8594
  return typeof params.presetArg === "string" ? presetTemplateIds : lockfileTemplateIds.length > 0 ? lockfileTemplateIds : presetTemplateIds;
8595
8595
  };
8596
- const promptForScaffoldTemplateSelection = async (promptAdapter, descriptor, allTemplates, presetTemplateIds, roots) => {
8596
+ const promptForScaffoldTemplateSelection = async (promptAdapter, descriptor, selectableTemplates, initialTemplateIds, roots) => {
8597
+ const resolveTemplateRootDir = (template) => {
8598
+ if (template.target === "lib") return roots.libRootDir;
8599
+ if (template.target === "app") return roots.appRootDir ?? roots.functionsRootDir;
8600
+ if (template.target === "client-lib") return roots.clientLibRootDir ?? roots.functionsRootDir;
8601
+ return roots.functionsRootDir;
8602
+ };
8603
+ const resolveTemplateLabel = (template) => normalizePath$2(relative(process.cwd(), join(resolveTemplateRootDir(template), template.path)));
8604
+ const preferredTemplateIds = new Set(initialTemplateIds.map((templateId) => templateId.trim()).filter((templateId) => templateId.length > 0));
8605
+ const optionsByLabel = /* @__PURE__ */ new Map();
8606
+ for (const template of selectableTemplates) {
8607
+ const label = resolveTemplateLabel(template);
8608
+ const existing = optionsByLabel.get(label);
8609
+ if (!existing) {
8610
+ optionsByLabel.set(label, template);
8611
+ continue;
8612
+ }
8613
+ const existingPreferred = preferredTemplateIds.has(existing.id);
8614
+ if (preferredTemplateIds.has(template.id) && !existingPreferred) optionsByLabel.set(label, template);
8615
+ }
8616
+ const optionTemplateById = new Map([...optionsByLabel.values()].map((template) => [template.id, template]));
8617
+ const templateById = new Map(selectableTemplates.map((template) => [template.id, template]));
8618
+ const normalizedInitialTemplateIds = [...new Set(initialTemplateIds.flatMap((templateId) => {
8619
+ const template = templateById.get(templateId.trim());
8620
+ if (!template) return [];
8621
+ const selectedTemplate = optionsByLabel.get(resolveTemplateLabel(template));
8622
+ return selectedTemplate ? [selectedTemplate.id] : [];
8623
+ }))].filter((templateId) => optionTemplateById.has(templateId));
8597
8624
  const selected = await promptAdapter.multiselect({
8598
8625
  message: `Select scaffold files for plugin "${descriptor.key}". Space to toggle. Enter to submit.`,
8599
- options: allTemplates.map((template) => ({
8626
+ options: [...optionsByLabel.entries()].map(([label, template]) => ({
8600
8627
  value: template.id,
8601
- label: normalizePath$2(relative(process.cwd(), join(template.target === "lib" ? roots.libRootDir : roots.functionsRootDir, template.path)))
8628
+ label
8602
8629
  })),
8603
- initialValues: presetTemplateIds,
8630
+ initialValues: normalizedInitialTemplateIds,
8604
8631
  required: true
8605
8632
  });
8606
8633
  if (isCancel(selected)) throw new Error("Scaffold file selection cancelled.");
@@ -12742,8 +12769,9 @@ const handleAddCommand = async (argv, deps = {}) => {
12742
12769
  presetTemplateIds,
12743
12770
  availableTemplateIds: allTemplates.map((template) => template.id)
12744
12771
  });
12772
+ const selectableTemplates = resolveTemplatesByIdOrThrow(pluginDescriptor, allTemplates, selectionSource === "lockfile" ? [...new Set([...existingTemplateIds, ...presetTemplateIds])] : presetTemplateIds, "add selection prompt");
12745
12773
  const scaffoldRoots = resolvePluginScaffoldRoots(effectiveFunctionsDir, pluginDescriptor, effectiveConfig, resolvedPreset);
12746
- const selectedTemplateIds = !addArgs.yes && promptAdapter.isInteractive() ? await promptForScaffoldTemplateSelection(promptAdapter, pluginDescriptor, allTemplates, defaultTemplateIds, scaffoldRoots) : defaultTemplateIds;
12774
+ const selectedTemplateIds = !addArgs.yes && promptAdapter.isInteractive() ? await promptForScaffoldTemplateSelection(promptAdapter, pluginDescriptor, selectableTemplates, defaultTemplateIds, scaffoldRoots) : defaultTemplateIds;
12747
12775
  const selectedTemplates = resolveTemplatesByIdOrThrow(pluginDescriptor, allTemplates, selectedTemplateIds, "add");
12748
12776
  if (selectedPlugin === "auth" && addArgs.schema) {
12749
12777
  const authLockEntry = lockfile.plugins.auth;
@@ -173,18 +173,10 @@ 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
- };
184
176
  input: {
185
177
  where?: {
186
- operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
187
178
  connector?: "AND" | "OR" | undefined;
179
+ operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
188
180
  value: string | number | boolean | string[] | number[] | null;
189
181
  field: string;
190
182
  }[] | undefined;
@@ -193,6 +185,14 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
193
185
  where?: any[] | undefined;
194
186
  model: string;
195
187
  };
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;
208
207
  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,19 +216,20 @@ 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;
220
219
  join?: any;
221
220
  where?: {
222
- operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
223
221
  connector?: "AND" | "OR" | undefined;
222
+ operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
224
223
  value: string | number | boolean | string[] | number[] | null;
225
224
  field: string;
226
225
  }[] | 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;
232
233
  paginationOpts: {
233
234
  id?: number;
234
235
  endCursor?: string | null;
@@ -237,47 +238,46 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
237
238
  numItems: number;
238
239
  cursor: string | null;
239
240
  };
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;
244
245
  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;
247
248
  value: string | number | boolean | string[] | number[] | null;
248
249
  field: string;
249
250
  }[] | 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
- };
264
256
  input: {
265
257
  where?: {
266
- operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
267
258
  connector?: "AND" | "OR" | undefined;
259
+ operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
268
260
  value: string | number | boolean | string[] | number[] | null;
269
261
  field: string;
270
262
  }[] | undefined;
263
+ model: string;
271
264
  update: {
272
265
  [x: string]: unknown;
273
266
  [x: number]: unknown;
274
267
  [x: symbol]: unknown;
275
268
  };
276
- model: string;
277
269
  } | {
278
270
  where?: any[] | undefined;
279
- update: any;
280
271
  model: string;
272
+ 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;
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;
294
293
  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;
298
299
  update: {
299
300
  [x: string]: unknown;
300
301
  [x: number]: unknown;
301
302
  [x: symbol]: unknown;
302
303
  };
303
- model: string;
304
304
  } | {
305
305
  where?: any[] | undefined;
306
- update: any;
307
306
  model: string;
307
+ update: any;
308
308
  };
309
309
  }, Promise<any>>;
310
310
  };
@@ -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-CuH2JNxb.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-DdjN63Io.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";
@@ -3992,7 +3992,11 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
3992
3992
  readonly aggregate_extrema: ConvexTableWithColumns<{
3993
3993
  name: "aggregate_extrema";
3994
3994
  columns: {
3995
- count: ConvexNumberBuilderInitial<""> & {
3995
+ value: ConvexCustomBuilderInitial<"", convex_values0.VAny<any, "required", string>> & {
3996
+ _: {
3997
+ $type: convex_values0.Value;
3998
+ };
3999
+ } & {
3996
4000
  _: {
3997
4001
  notNull: true;
3998
4002
  };
@@ -4002,14 +4006,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
4002
4006
  };
4003
4007
  } & {
4004
4008
  _: {
4005
- fieldName: "count";
4009
+ fieldName: "value";
4006
4010
  };
4007
4011
  };
4008
- value: ConvexCustomBuilderInitial<"", convex_values0.VAny<any, "required", string>> & {
4009
- _: {
4010
- $type: convex_values0.Value;
4011
- };
4012
- } & {
4012
+ count: ConvexNumberBuilderInitial<""> & {
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: "value";
4022
+ fieldName: "count";
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
- direction: ConvexTextBuilderInitial<""> & {
4401
+ cursor: ConvexTextBuilderInitial<""> & {
4402
4402
  _: {
4403
4403
  tableName: "migration_state";
4404
4404
  };
4405
4405
  } & {
4406
4406
  _: {
4407
- fieldName: "direction";
4407
+ fieldName: "cursor";
4408
4408
  };
4409
4409
  };
4410
- cursor: ConvexTextBuilderInitial<""> & {
4410
+ direction: ConvexTextBuilderInitial<""> & {
4411
4411
  _: {
4412
4412
  tableName: "migration_state";
4413
4413
  };
4414
4414
  } & {
4415
4415
  _: {
4416
- fieldName: "cursor";
4416
+ fieldName: "direction";
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.6",
3
+ "version": "0.12.8",
4
4
  "description": "kitcn - React Query integration and CLI tools for Convex",
5
5
  "keywords": [
6
6
  "convex",
@@ -1,5 +1,8 @@
1
1
  ## 8.B TanStack Start
2
2
 
3
+ CLI-first flow: scaffold the app, run `kitcn add auth --yes`, then treat the
4
+ files below as the generated reference output. They are not a separate manual
5
+ install path.
3
6
  ### 8.B.1 Auth client + auth server helpers
4
7
 
5
8
  **Create:** `src/lib/convex/auth-client.ts`