kitcn 0.15.9 → 0.15.10

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-Dc58we_m.js";
1
+ import { C as ConvexNumberBuilderInitial, E as ConvexIdBuilderInitial, N as ConvexCustomBuilderInitial, dn as ConvexTableWithColumns, tr as ConvexTextBuilderInitial } from "../where-clause-compiler-OCFz2Znw.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-3mwCSv2F.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-BEZyT7tH.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-CNo9ffvI.js";
2
2
  import { t as GetAuth } from "../types-BCl8gfGy.js";
3
3
  import { t as GenericCtx } from "../context-utils-OMkMGhBk.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-3mwCSv2F.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-BEZyT7tH.js";
5
5
  import * as convex_values0 from "convex/values";
6
6
  import { Infer } from "convex/values";
7
7
  import { AuthConfig, DocumentByName, GenericDataModel, GenericMutationCtx, GenericQueryCtx, GenericSchema, PaginationOptions, PaginationResult, SchemaDefinition, TableNamesInDataModel } from "convex/server";
@@ -117,7 +117,7 @@ declare const adapterWhereValidator: convex_values0.VObject<{
117
117
  mode: convex_values0.VUnion<"sensitive" | "insensitive" | undefined, [convex_values0.VLiteral<"sensitive", "required">, convex_values0.VLiteral<"insensitive", "required">], "optional", never>;
118
118
  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>;
119
119
  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>;
120
- }, "required", "mode" | "operator" | "value" | "field" | "connector">;
120
+ }, "required", "mode" | "value" | "operator" | "field" | "connector">;
121
121
  declare const adapterArgsValidator: convex_values0.VObject<{
122
122
  limit?: number | undefined;
123
123
  where?: {
@@ -164,7 +164,7 @@ declare const adapterArgsValidator: convex_values0.VObject<{
164
164
  mode: convex_values0.VUnion<"sensitive" | "insensitive" | undefined, [convex_values0.VLiteral<"sensitive", "required">, convex_values0.VLiteral<"insensitive", "required">], "optional", never>;
165
165
  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>;
166
166
  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>;
167
- }, "required", "mode" | "operator" | "value" | "field" | "connector">, "optional">;
167
+ }, "required", "mode" | "value" | "operator" | "field" | "connector">, "optional">;
168
168
  }, "required", "limit" | "where" | "model" | "select" | "offset" | "sortBy" | "sortBy.field" | "sortBy.direction">;
169
169
  declare const hasUniqueFields: (betterAuthSchema: BetterAuthDBSchema, model: string, input: Record<string, any>) => boolean;
170
170
  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>;
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from "node:module";
3
3
  import fs from "node:fs";
4
- import path, { basename, dirname, isAbsolute, join, posix, relative, resolve } from "node:path";
4
+ import path, { basename, dirname, extname, isAbsolute, join, posix, relative, resolve } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import { createHash, randomBytes } from "node:crypto";
7
7
  import { confirm, isCancel, multiselect, select, spinner } from "@clack/prompts";
@@ -12442,9 +12442,9 @@ export default function ExploreScreen() {
12442
12442
  //#endregion
12443
12443
  //#region src/cli/registry/init/expo/init-expo-gitignore.template.ts
12444
12444
  const EXPO_ENV_TYPES_IGNORE_LINE = "expo-env.d.ts";
12445
- const LINE_SPLIT_RE = /\r?\n/;
12445
+ const LINE_SPLIT_RE$1 = /\r?\n/;
12446
12446
  function renderInitExpoGitignoreTemplate(source = "") {
12447
- return `${source.split(LINE_SPLIT_RE).map((line) => line.trimEnd()).filter((line) => line.length > 0).filter((line) => line !== EXPO_ENV_TYPES_IGNORE_LINE).join("\n")}\n`;
12447
+ return `${source.split(LINE_SPLIT_RE$1).map((line) => line.trimEnd()).filter((line) => line.length > 0).filter((line) => line !== EXPO_ENV_TYPES_IGNORE_LINE).join("\n")}\n`;
12448
12448
  }
12449
12449
 
12450
12450
  //#endregion
@@ -13239,6 +13239,47 @@ export const { CRPCProvider, useCRPC, useCRPCClient } = createCRPCContext({
13239
13239
  });
13240
13240
  `;
13241
13241
 
13242
+ //#endregion
13243
+ //#region src/cli/registry/init/start/init-start-gitignore.template.ts
13244
+ const START_GITIGNORE_GROUPS = [[
13245
+ "node_modules",
13246
+ ".DS_Store",
13247
+ "dist",
13248
+ "dist-ssr",
13249
+ "*.local",
13250
+ ".env*",
13251
+ ".tanstack",
13252
+ ".wrangler",
13253
+ ".output",
13254
+ ".vinxi",
13255
+ "__unconfig*",
13256
+ "todos.json"
13257
+ ], [
13258
+ "# typescript",
13259
+ "*.tsbuildinfo",
13260
+ ".convex/",
13261
+ ".concave/"
13262
+ ]];
13263
+ const LINE_SPLIT_RE = /\r?\n/;
13264
+ function hasGitignoreLine(existing, entry) {
13265
+ if (existing.has(entry)) return true;
13266
+ if (entry.endsWith("/")) return existing.has(entry.slice(0, -1));
13267
+ return existing.has(`${entry}/`);
13268
+ }
13269
+ function renderInitStartGitignoreTemplate(source = "") {
13270
+ const lines = source.split(LINE_SPLIT_RE).map((line) => line.trimEnd());
13271
+ while (lines.at(-1) === "") lines.pop();
13272
+ const existing = new Set(lines.map((line) => line.trim()).filter((line) => line.length > 0));
13273
+ const nextLines = [...lines];
13274
+ for (const group of START_GITIGNORE_GROUPS) {
13275
+ const missing = group.filter((line) => !hasGitignoreLine(existing, line));
13276
+ if (missing.length === 0) continue;
13277
+ if (nextLines.length > 0 && nextLines.at(-1) !== "") nextLines.push("");
13278
+ nextLines.push(...missing);
13279
+ }
13280
+ return `${nextLines.join("\n")}\n`;
13281
+ }
13282
+
13242
13283
  //#endregion
13243
13284
  //#region src/cli/registry/init/start/init-start-messages-page.template.ts
13244
13285
  const INIT_START_MESSAGES_PAGE_TEMPLATE = `'use client';
@@ -14474,6 +14515,15 @@ function buildInitStartOwnedScaffoldFiles(context, functionsDirRelative, backend
14474
14515
  updateReason: "Update baseline .env.local for the Start scaffold.",
14475
14516
  skipReason: ".env.local already matches the Start scaffold."
14476
14517
  },
14518
+ {
14519
+ kind: "config",
14520
+ relativePath: ".gitignore",
14521
+ requiresExplicitOverwrite: false,
14522
+ content: ({ existingContent }) => renderInitStartGitignoreTemplate(existingContent ?? ""),
14523
+ createReason: "Create .gitignore for the Start scaffold.",
14524
+ updateReason: "Update .gitignore for the Start scaffold.",
14525
+ skipReason: ".gitignore already matches the Start scaffold."
14526
+ },
14477
14527
  {
14478
14528
  kind: "scaffold",
14479
14529
  relativePath: `${context.componentsDir}/providers.tsx`,
@@ -14970,23 +15020,50 @@ function findObjectPropertyValueIndex(source, openIndex, propertyName) {
14970
15020
  }
14971
15021
  return -1;
14972
15022
  }
14973
- function hasEnabledTsconfigPathsValueAt(source, index) {
14974
- const valueIndex = skipTrivia(source, index);
14975
- return source[valueIndex] === "{" || isIdentifierAt(source, valueIndex, "true");
14976
- }
14977
- function hasResolveTsconfigPathsOption(source) {
14978
- const configOpenIndex = findConfigObjectOpenIndex(source);
14979
- if (configOpenIndex === -1) return false;
14980
- const resolveValueIndex = findObjectPropertyValueIndex(source, configOpenIndex, "resolve");
14981
- if (source[resolveValueIndex] !== "{") return false;
14982
- const tsconfigPathsValueIndex = findObjectPropertyValueIndex(source, resolveValueIndex, "tsconfigPaths");
14983
- return tsconfigPathsValueIndex !== -1 && hasEnabledTsconfigPathsValueAt(source, tsconfigPathsValueIndex);
14984
- }
14985
- function patchInitReactViteConfigContent(source) {
14986
- if (source.includes("'@convex'") || source.includes("\"@convex\"")) return source.endsWith("\n") ? source : `${source}\n`;
14987
- if (source.includes("viteTsConfigPaths(") || source.includes("tsConfigPaths(") || hasResolveTsconfigPathsOption(source)) return source.endsWith("\n") ? source : `${source}\n`;
14988
- if (!source.includes("alias: {")) throw new Error("Could not patch vite.config.ts: expected a resolve.alias block.");
14989
- const nextSource = source.replace("alias: {", `alias: {\n '@convex': path.resolve(__dirname, './convex/shared'),`);
15023
+ function hasViteConfigAlias(source, alias) {
15024
+ return source.includes(`'${alias}'`) || source.includes(`"${alias}"`);
15025
+ }
15026
+ function withInitReactViteFileUrlImport(source) {
15027
+ if (source.includes("fileURLToPath")) return source;
15028
+ return `import { fileURLToPath } from 'node:url';\n\n${source}`;
15029
+ }
15030
+ function resolveInitReactViteConfigModule(viteConfigFile) {
15031
+ const extension = extname(viteConfigFile);
15032
+ if (extension === ".cjs") return "cjs";
15033
+ if (extension !== ".js") return "esm";
15034
+ const packageJsonPath = resolve(process.cwd(), "package.json");
15035
+ if (!fs.existsSync(packageJsonPath)) return "cjs";
15036
+ try {
15037
+ const parsed = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
15038
+ return isPlainObject(parsed) && parsed.type === "module" ? "esm" : "cjs";
15039
+ } catch {
15040
+ return "cjs";
15041
+ }
15042
+ }
15043
+ function buildInitReactViteAliasEntries(source, context, moduleFormat) {
15044
+ const appAliasPath = context.usesSrc ? "./src" : "./";
15045
+ const formatAlias = (aliasPath) => moduleFormat === "esm" ? `fileURLToPath(new URL('${aliasPath}', import.meta.url))` : `require('node:path').resolve(__dirname, '${aliasPath}')`;
15046
+ return [hasViteConfigAlias(source, "@") ? null : ` '@': ${formatAlias(appAliasPath)},`, hasViteConfigAlias(source, "@convex") ? null : ` '@convex': ${formatAlias("./convex/shared")},`].filter((entry) => entry !== null).join("\n");
15047
+ }
15048
+ function patchInitReactViteConfigContent(source, context, moduleFormat) {
15049
+ if (hasViteConfigAlias(source, "@") && hasViteConfigAlias(source, "@convex")) return source.endsWith("\n") ? source : `${source}\n`;
15050
+ let nextSource = moduleFormat === "esm" ? withInitReactViteFileUrlImport(source) : source;
15051
+ const configOpenIndex = findConfigObjectOpenIndex(nextSource);
15052
+ if (configOpenIndex === -1) throw new Error("Could not patch vite.config.ts: expected a defineConfig object.");
15053
+ const resolveValueIndex = findObjectPropertyValueIndex(nextSource, configOpenIndex, "resolve");
15054
+ const aliasEntries = buildInitReactViteAliasEntries(nextSource, context, moduleFormat);
15055
+ if (resolveValueIndex === -1) {
15056
+ nextSource = `${nextSource.slice(0, configOpenIndex + 1)}\n resolve: {\n alias: {\n${aliasEntries}\n },\n },${nextSource.slice(configOpenIndex + 1)}`;
15057
+ return nextSource.endsWith("\n") ? nextSource : `${nextSource}\n`;
15058
+ }
15059
+ if (nextSource[resolveValueIndex] !== "{") throw new Error("Could not patch vite.config.ts: expected a resolve object.");
15060
+ const aliasValueIndex = findObjectPropertyValueIndex(nextSource, resolveValueIndex, "alias");
15061
+ if (aliasValueIndex === -1) {
15062
+ nextSource = `${nextSource.slice(0, resolveValueIndex + 1)}\n alias: {\n${aliasEntries}\n },${nextSource.slice(resolveValueIndex + 1)}`;
15063
+ return nextSource.endsWith("\n") ? nextSource : `${nextSource}\n`;
15064
+ }
15065
+ if (nextSource[aliasValueIndex] !== "{") throw new Error("Could not patch vite.config.ts: expected a resolve.alias object.");
15066
+ nextSource = `${nextSource.slice(0, aliasValueIndex + 1)}\n${aliasEntries}${nextSource.slice(aliasValueIndex + 1)}`;
14990
15067
  return nextSource.endsWith("\n") ? nextSource : `${nextSource}\n`;
14991
15068
  }
14992
15069
  function patchInitNextComponentsJsonContent(source, context) {
@@ -15079,11 +15156,12 @@ function buildInitReactAppTsconfigPlanFile(context) {
15079
15156
  function buildInitReactViteConfigPlanFile(context) {
15080
15157
  if (!context.viteConfigFile) return [];
15081
15158
  const filePath = resolve(process.cwd(), context.viteConfigFile);
15159
+ const moduleFormat = resolveInitReactViteConfigModule(context.viteConfigFile);
15082
15160
  return [createPlanFile({
15083
15161
  kind: "config",
15084
15162
  filePath,
15085
15163
  requiresExplicitOverwrite: false,
15086
- content: patchInitReactViteConfigContent(fs.readFileSync(filePath, "utf8")),
15164
+ content: patchInitReactViteConfigContent(fs.readFileSync(filePath, "utf8"), context, moduleFormat),
15087
15165
  updateReason: `Patch ${context.viteConfigFile} to add the @convex alias.`,
15088
15166
  createReason: `Patch ${context.viteConfigFile} to add the @convex alias.`,
15089
15167
  skipReason: `${context.viteConfigFile} already includes the @convex alias.`
@@ -15452,7 +15530,7 @@ async function runScaffoldCommandFlow(params) {
15452
15530
  created: applyResult.created,
15453
15531
  updated: applyResult.updated,
15454
15532
  skipped: applyResult.skipped,
15455
- usedShadcn: params.template !== void 0,
15533
+ usedShadcn: params.template !== void 0 && params.template !== "expo",
15456
15534
  template: params.template ?? null,
15457
15535
  codegen: codegenResult.codegen,
15458
15536
  convexBootstrap: codegenResult.convexBootstrap,
package/dist/cli.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { $ as promptForScaffoldTemplateSelection, A as resolveCodegenTrimSegments, At as highlighter, B as runConfiguredCodegen, C as isEntryPoint, Ct as formatDependencyInstallCommand, D as parseInitCommandArgs, E as parseBackendRunJson, Et as stripConvexCommandNoise, F as resolveRunDeps, G as runMigrationFlow, H as runDevSchemaBackfillIfNeeded, I as runAfterScaffoldScript, J as withWorkingDirectory, K as trackProcess, L as runAggregateBackfillFlow, M as resolveDocTopic, N as resolveInitProjectDir, O as readPackageVersions, P as resolveMigrationConfig, Q as promptForPluginSelection, R as runAggregatePruneFlow, S as isConvexDevPreRunConflictFlag, St as detectPackageManager, T as parseArgs, Tt as serializeEnvValue, U as runInitCommandFlow, V as runConvexInitIfNeeded, W as runMigrationCreate, X as collectPluginScaffoldTemplates, Y as createSpinner, Z as filterScaffoldTemplatePathMap, _ as formatInfoOutput, _t as applyPlanningDependencyInstall, a as cleanup, at as getPluginCatalogEntry, b as getDevAggregateBackfillStatePath, bt as resolveSupportedDependencyWarnings, c as createCommandEnv, ct as buildPluginInstallPlan, d as extractBackfillCliOptions, dt as collectInstalledPluginKeys, et as resolveAddTemplateDefaults, f as extractConcaveRunTargetArgs, ft as getPluginLockfilePath, g as formatDocsOutput, gt as applyDependencyHintsInstall, h as extractResetCliOptions, ht as resolveSchemaInstalledPlugins, i as buildInitializationPlan, it as resolveTemplatesByIdOrThrow, j as resolveConfiguredBackend, k as resolveBackfillConfig, kt as logger, l as ensureConvexGitignoreEntry, lt as resolvePluginScaffoldRoots, m as extractMigrationDownOptions, mt as readPluginLockfile, n as applyPluginInstallPlanFiles, nt as resolvePresetScaffoldTemplates, o as createBackendAdapter, ot as getSupportedPluginKeys, p as extractMigrationCliOptions, pt as getSchemaFilePath, q as withLocalCodegenEnv, r as assertNoRemovedDevPreRunFlag, rt as resolveTemplateSelectionSource, s as createBackendCommandEnv, st as isSupportedPluginKey, t as applyDependencyInstallPlan, tt as resolvePluginPreset, u as extractBackendRunTargetArgs, ut as assertSchemaFileExists, v as getAggregateBackfillDeploymentKey, vt as applyPluginDependencyInstall, w as isInitialized, wt as resolveAuthEnvState, x as hasRemoteConvexDeploymentEnv, xt as resolveProjectScaffoldContext, y as getConvexDeploymentCommandEnv, yt as inspectPluginDependencyInstall, z as runBackendFunction } from "./backend-core-CRJpuVnf.mjs";
2
+ import { $ as promptForScaffoldTemplateSelection, A as resolveCodegenTrimSegments, At as highlighter, B as runConfiguredCodegen, C as isEntryPoint, Ct as formatDependencyInstallCommand, D as parseInitCommandArgs, E as parseBackendRunJson, Et as stripConvexCommandNoise, F as resolveRunDeps, G as runMigrationFlow, H as runDevSchemaBackfillIfNeeded, I as runAfterScaffoldScript, J as withWorkingDirectory, K as trackProcess, L as runAggregateBackfillFlow, M as resolveDocTopic, N as resolveInitProjectDir, O as readPackageVersions, P as resolveMigrationConfig, Q as promptForPluginSelection, R as runAggregatePruneFlow, S as isConvexDevPreRunConflictFlag, St as detectPackageManager, T as parseArgs, Tt as serializeEnvValue, U as runInitCommandFlow, V as runConvexInitIfNeeded, W as runMigrationCreate, X as collectPluginScaffoldTemplates, Y as createSpinner, Z as filterScaffoldTemplatePathMap, _ as formatInfoOutput, _t as applyPlanningDependencyInstall, a as cleanup, at as getPluginCatalogEntry, b as getDevAggregateBackfillStatePath, bt as resolveSupportedDependencyWarnings, c as createCommandEnv, ct as buildPluginInstallPlan, d as extractBackfillCliOptions, dt as collectInstalledPluginKeys, et as resolveAddTemplateDefaults, f as extractConcaveRunTargetArgs, ft as getPluginLockfilePath, g as formatDocsOutput, gt as applyDependencyHintsInstall, h as extractResetCliOptions, ht as resolveSchemaInstalledPlugins, i as buildInitializationPlan, it as resolveTemplatesByIdOrThrow, j as resolveConfiguredBackend, k as resolveBackfillConfig, kt as logger, l as ensureConvexGitignoreEntry, lt as resolvePluginScaffoldRoots, m as extractMigrationDownOptions, mt as readPluginLockfile, n as applyPluginInstallPlanFiles, nt as resolvePresetScaffoldTemplates, o as createBackendAdapter, ot as getSupportedPluginKeys, p as extractMigrationCliOptions, pt as getSchemaFilePath, q as withLocalCodegenEnv, r as assertNoRemovedDevPreRunFlag, rt as resolveTemplateSelectionSource, s as createBackendCommandEnv, st as isSupportedPluginKey, t as applyDependencyInstallPlan, tt as resolvePluginPreset, u as extractBackendRunTargetArgs, ut as assertSchemaFileExists, v as getAggregateBackfillDeploymentKey, vt as applyPluginDependencyInstall, w as isInitialized, wt as resolveAuthEnvState, x as hasRemoteConvexDeploymentEnv, xt as resolveProjectScaffoldContext, y as getConvexDeploymentCommandEnv, yt as inspectPluginDependencyInstall, z as runBackendFunction } from "./backend-core-CsI3PBAE.mjs";
3
3
  import fs, { existsSync, readFileSync } from "node:fs";
4
4
  import path, { delimiter, dirname, join, relative, resolve } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
@@ -2218,7 +2218,7 @@ const handleInitCommand = async (argv, deps = {}) => {
2218
2218
  realConvexPath,
2219
2219
  realConcavePath
2220
2220
  });
2221
- if (shouldRunLocalBootstrap && !result.usedShadcn && !result.localBootstrapUsed) await withWorkingDirectory(result.cwd, async () => {
2221
+ if (shouldRunLocalBootstrap && result.template === null && !result.localBootstrapUsed) await withWorkingDirectory(result.cwd, async () => {
2222
2222
  const config = loadCliConfigFn(bootstrapConfigPath);
2223
2223
  if (await runLocalBootstrapFn({
2224
2224
  config,
@@ -216,8 +216,8 @@ 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;
220
+ limit?: number | undefined;
221
221
  where?: {
222
222
  mode?: "sensitive" | "insensitive" | undefined;
223
223
  operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
@@ -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-Dc58we_m.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-OCFz2Znw.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";
package/dist/watcher.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { Dt as generateMeta, F as resolveRunDeps, Ot as getConvexConfig, j as resolveConfiguredBackend, kt as logger, q as withLocalCodegenEnv } from "./backend-core-CRJpuVnf.mjs";
2
+ import { Dt as generateMeta, F as resolveRunDeps, Ot as getConvexConfig, j as resolveConfiguredBackend, kt as logger, q as withLocalCodegenEnv } from "./backend-core-CsI3PBAE.mjs";
3
3
  import path from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
5
 
@@ -3990,7 +3990,11 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
3990
3990
  readonly aggregate_extrema: ConvexTableWithColumns<{
3991
3991
  name: "aggregate_extrema";
3992
3992
  columns: {
3993
- count: ConvexNumberBuilderInitial<""> & {
3993
+ value: ConvexCustomBuilderInitial<"", convex_values0.VAny<any, "required", string>> & {
3994
+ _: {
3995
+ $type: convex_values0.Value;
3996
+ };
3997
+ } & {
3994
3998
  _: {
3995
3999
  notNull: true;
3996
4000
  };
@@ -4000,14 +4004,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
4000
4004
  };
4001
4005
  } & {
4002
4006
  _: {
4003
- fieldName: "count";
4007
+ fieldName: "value";
4004
4008
  };
4005
4009
  };
4006
- value: ConvexCustomBuilderInitial<"", convex_values0.VAny<any, "required", string>> & {
4007
- _: {
4008
- $type: convex_values0.Value;
4009
- };
4010
- } & {
4010
+ count: ConvexNumberBuilderInitial<""> & {
4011
4011
  _: {
4012
4012
  notNull: true;
4013
4013
  };
@@ -4017,7 +4017,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
4017
4017
  };
4018
4018
  } & {
4019
4019
  _: {
4020
- fieldName: "value";
4020
+ fieldName: "count";
4021
4021
  };
4022
4022
  };
4023
4023
  updatedAt: ConvexNumberBuilderInitial<""> & {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitcn",
3
- "version": "0.15.9",
3
+ "version": "0.15.10",
4
4
  "description": "kitcn - React Query integration and CLI tools for Convex",
5
5
  "keywords": [
6
6
  "convex",
@@ -110,7 +110,7 @@ npx kitcn@latest init -t next --yes
110
110
  # New Expo app with the official create-expo-app shell + first local Convex bootstrap
111
111
  npx kitcn@latest init -t expo --yes
112
112
 
113
- # New TanStack Start app with the official shadcn Start shell + first local Convex bootstrap
113
+ # New TanStack Start app with the shadcn Start shell + first local Convex bootstrap
114
114
  npx kitcn@latest init -t start --yes
115
115
 
116
116
  # New Vite app with the React baseline + first local Convex bootstrap