better-convex 0.7.3 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/aggregate/index.d.ts +1 -1
  2. package/dist/aggregate/index.js +1 -1
  3. package/dist/auth/http/index.d.ts +1 -1
  4. package/dist/auth/index.d.ts +10 -10
  5. package/dist/auth/index.js +5 -5
  6. package/dist/auth/nextjs/index.d.ts +2 -2
  7. package/dist/auth/nextjs/index.js +2 -2
  8. package/dist/{caller-factory-4uND4vnj.js → caller-factory-CCsm4Dut.js} +2 -2
  9. package/dist/cli.mjs +1 -0
  10. package/dist/{create-schema-orm-DtuyK2RB.js → create-schema-orm-OcyA0apQ.js} +10 -13
  11. package/dist/crpc/index.d.ts +2 -2
  12. package/dist/crpc/index.js +3 -3
  13. package/dist/{customFunctions-C_i_0joT.js → customFunctions-RnzME_cJ.js} +1 -1
  14. package/dist/{http-types-BsnDV7Je.d.ts → http-types-BK7FuIcR.d.ts} +1 -1
  15. package/dist/id-BcBb900m.js +121 -0
  16. package/dist/orm/index.d.ts +4 -4
  17. package/dist/orm/index.js +60 -222
  18. package/dist/plugins/index.d.ts +9 -0
  19. package/dist/plugins/index.js +3 -0
  20. package/dist/plugins/ratelimit/index.d.ts +222 -0
  21. package/dist/plugins/ratelimit/index.js +846 -0
  22. package/dist/plugins/ratelimit/react/index.d.ts +76 -0
  23. package/dist/plugins/ratelimit/react/index.js +294 -0
  24. package/dist/{procedure-caller-Cj_lgUev.d.ts → procedure-caller-DYjpq7rG.d.ts} +2 -2
  25. package/dist/rsc/index.d.ts +3 -3
  26. package/dist/rsc/index.js +4 -4
  27. package/dist/runtime-C0WcYGY0.js +1028 -0
  28. package/dist/schema-Bx6j2doh.js +204 -0
  29. package/dist/server/index.d.ts +2 -2
  30. package/dist/server/index.js +4 -4
  31. package/dist/{runtime-B9xQFY8W.js → table-B7yzBihE.js} +3 -1088
  32. package/dist/text-enum-CFdcLUuw.js +30 -0
  33. package/dist/{types-DZFvhoPJ.d.ts → types-f53SgpBL.d.ts} +1 -1
  34. package/dist/{where-clause-compiler-HUa2223D.d.ts → where-clause-compiler-BIjTkVVJ.d.ts} +34 -2
  35. package/package.json +4 -1
  36. /package/dist/{create-schema-DE9ZtH8n.js → create-schema-BsN0jL5S.js} +0 -0
  37. /package/dist/{error-C7AOPlv2.js → error-CAGGSN5H.js} +0 -0
  38. /package/dist/{meta-utils-C9_6WIzj.js → meta-utils-NRyocOSc.js} +0 -0
  39. /package/dist/{query-context-yQVARct0.js → query-context-DEUFBhXS.js} +0 -0
  40. /package/dist/{query-context-BMXt2TKe.d.ts → query-context-ji7By8u0.d.ts} +0 -0
  41. /package/dist/{query-options-Bjo6j5cC.js → query-options-CSCmKYdJ.js} +0 -0
  42. /package/dist/{transformer-BsX4RWes.js → transformer-ogg-4d78.js} +0 -0
  43. /package/dist/{types-kgwiK-xe.d.ts → types-BTb_4BaU.d.ts} +0 -0
  44. /package/dist/{types-DarApWtO.d.ts → types-CM67ko7K.d.ts} +0 -0
  45. /package/dist/{validators-BDrWGp4M.d.ts → validators-BcQFm1oY.d.ts} +0 -0
  46. /package/dist/{validators-B7oIJCAp.js → validators-D_i3BK7v.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { At as ConvexCustomBuilderInitial, Ct as ConvexIdBuilderInitial, _t as ConvexTextBuilderInitial, bt as ConvexNumberBuilderInitial, in as ConvexTableWithColumns } from "../where-clause-compiler-HUa2223D.js";
1
+ import { At as ConvexCustomBuilderInitial, Ct as ConvexIdBuilderInitial, _t as ConvexTextBuilderInitial, bt as ConvexNumberBuilderInitial, on as ConvexTableWithColumns } from "../where-clause-compiler-BIjTkVVJ.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,4 +1,4 @@
1
- import { n as TableAggregate$1, r as aggregateStorageTables, t as DirectAggregate$1 } from "../runtime-B9xQFY8W.js";
1
+ import { n as TableAggregate$1, r as aggregateStorageTables, t as DirectAggregate$1 } from "../runtime-C0WcYGY0.js";
2
2
 
3
3
  //#region src/aggregate/index.ts
4
4
  const wrapTriggerFactory = (methodName, factory) => ((...args) => {
@@ -1,4 +1,4 @@
1
- import { t as GetAuth } from "../../types-DarApWtO.js";
1
+ import { t as GetAuth } from "../../types-CM67ko7K.js";
2
2
  import { HttpRouter } from "convex/server";
3
3
  import { MiddlewareHandler } from "hono";
4
4
 
@@ -1,7 +1,7 @@
1
- import { a as QueryCtxWithPreferredOrmQueryTable, n as LookupByIdResultByCtx, t as DocByCtx } from "../query-context-BMXt2TKe.js";
2
- import { t as GetAuth } from "../types-DarApWtO.js";
3
- import { A as GenericCtx } from "../procedure-caller-Cj_lgUev.js";
4
- import "../http-types-BsnDV7Je.js";
1
+ import { a as QueryCtxWithPreferredOrmQueryTable, n as LookupByIdResultByCtx, t as DocByCtx } from "../query-context-ji7By8u0.js";
2
+ import { t as GetAuth } from "../types-CM67ko7K.js";
3
+ import { A as GenericCtx } from "../procedure-caller-DYjpq7rG.js";
4
+ import "../http-types-BK7FuIcR.js";
5
5
  import "../server/index.js";
6
6
  import * as convex_values0 from "convex/values";
7
7
  import { Infer } from "convex/values";
@@ -196,8 +196,8 @@ declare const adapterArgsValidator: convex_values0.VObject<{
196
196
  select?: string[] | undefined;
197
197
  offset?: number | undefined;
198
198
  sortBy?: {
199
- field: string;
200
199
  direction: "asc" | "desc";
200
+ field: string;
201
201
  } | undefined;
202
202
  where?: {
203
203
  connector?: "AND" | "OR" | undefined;
@@ -212,12 +212,12 @@ declare const adapterArgsValidator: convex_values0.VObject<{
212
212
  offset: convex_values0.VFloat64<number | undefined, "optional">;
213
213
  select: convex_values0.VArray<string[] | undefined, convex_values0.VString<string, "required">, "optional">;
214
214
  sortBy: convex_values0.VObject<{
215
- field: string;
216
215
  direction: "asc" | "desc";
216
+ field: string;
217
217
  } | undefined, {
218
218
  direction: convex_values0.VUnion<"asc" | "desc", [convex_values0.VLiteral<"asc", "required">, convex_values0.VLiteral<"desc", "required">], "required", never>;
219
219
  field: convex_values0.VString<string, "required">;
220
- }, "optional", "field" | "direction">;
220
+ }, "optional", "direction" | "field">;
221
221
  where: convex_values0.VArray<{
222
222
  connector?: "AND" | "OR" | undefined;
223
223
  operator?: "in" | "lt" | "lte" | "gt" | "gte" | "eq" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
@@ -234,7 +234,7 @@ declare const adapterArgsValidator: convex_values0.VObject<{
234
234
  operator: convex_values0.VUnion<"in" | "lt" | "lte" | "gt" | "gte" | "eq" | "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>;
235
235
  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>;
236
236
  }, "required", "value" | "connector" | "field" | "operator">, "optional">;
237
- }, "required", "limit" | "model" | "select" | "offset" | "sortBy" | "where" | "sortBy.field" | "sortBy.direction">;
237
+ }, "required", "limit" | "model" | "select" | "offset" | "sortBy" | "where" | "sortBy.direction" | "sortBy.field">;
238
238
  declare const hasUniqueFields: (betterAuthSchema: BetterAuthDBSchema, model: string, input: Record<string, any>) => boolean;
239
239
  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>;
240
240
  declare const selectFields: <T extends TableNamesInDataModel<GenericDataModel>, D extends DocumentByName<GenericDataModel, T>>(doc: D | null, select?: string[]) => Promise<D | null>;
@@ -406,8 +406,8 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
406
406
  join?: any;
407
407
  offset?: number | undefined;
408
408
  sortBy?: {
409
- field: string;
410
409
  direction: "asc" | "desc";
410
+ field: string;
411
411
  } | undefined;
412
412
  where?: {
413
413
  connector?: "AND" | "OR" | undefined;
@@ -19202,8 +19202,8 @@ declare const createAuthRuntime: <DataModel extends GenericDataModel, Schema ext
19202
19202
  join?: any;
19203
19203
  offset?: number | undefined;
19204
19204
  sortBy?: {
19205
- field: string;
19206
19205
  direction: "asc" | "desc";
19206
+ field: string;
19207
19207
  } | undefined;
19208
19208
  where?: {
19209
19209
  connector?: "AND" | "OR" | undefined;
@@ -1,6 +1,6 @@
1
- import { r as partial, s as asyncMap } from "../validators-B7oIJCAp.js";
2
- import { n as customCtx, o as isQueryCtx, r as customMutation, s as isRunMutationCtx } from "../customFunctions-C_i_0joT.js";
3
- import { a as mergedStream, l as unsetToken, o as stream, t as getByIdWithOrmQueryFallback, v as eq } from "../query-context-yQVARct0.js";
1
+ import { r as partial, s as asyncMap } from "../validators-D_i3BK7v.js";
2
+ import { n as customCtx, o as isQueryCtx, r as customMutation, s as isRunMutationCtx } from "../customFunctions-RnzME_cJ.js";
3
+ import { a as mergedStream, l as unsetToken, o as stream, t as getByIdWithOrmQueryFallback, v as eq } from "../query-context-DEUFBhXS.js";
4
4
  import { v } from "convex/values";
5
5
  import { internalActionGeneric, internalMutationGeneric, internalQueryGeneric, paginationOptsValidator } from "convex/server";
6
6
  import { convex } from "@convex-dev/better-auth/plugins";
@@ -773,13 +773,13 @@ const ORM_SCHEMA_OPTIONS = Symbol.for("better-convex:OrmSchemaOptions");
773
773
  const hasOrmSchemaMetadata = (schema) => !!schema && typeof schema === "object" && ORM_SCHEMA_OPTIONS in schema;
774
774
  const createAuthSchema = async ({ file, schema, tables }) => {
775
775
  if (hasOrmSchemaMetadata(schema)) {
776
- const { createSchemaOrm } = await import("../create-schema-orm-DtuyK2RB.js");
776
+ const { createSchemaOrm } = await import("../create-schema-orm-OcyA0apQ.js");
777
777
  return createSchemaOrm({
778
778
  file,
779
779
  tables
780
780
  });
781
781
  }
782
- const { createSchema } = await import("../create-schema-DE9ZtH8n.js");
782
+ const { createSchema } = await import("../create-schema-BsN0jL5S.js");
783
783
  return createSchema({
784
784
  file,
785
785
  tables
@@ -1,5 +1,5 @@
1
- import { B as ConvexContext, H as LazyCaller } from "../../procedure-caller-Cj_lgUev.js";
2
- import "../../http-types-BsnDV7Je.js";
1
+ import { B as ConvexContext, H as LazyCaller } from "../../procedure-caller-DYjpq7rG.js";
2
+ import "../../http-types-BK7FuIcR.js";
3
3
  import "../../server/index.js";
4
4
  import { GetTokenOptions } from "@convex-dev/better-auth/utils";
5
5
 
@@ -1,5 +1,5 @@
1
- import { n as defaultIsUnauthorized } from "../../error-C7AOPlv2.js";
2
- import { t as createCallerFactory } from "../../caller-factory-4uND4vnj.js";
1
+ import { n as defaultIsUnauthorized } from "../../error-CAGGSN5H.js";
2
+ import { t as createCallerFactory } from "../../caller-factory-CCsm4Dut.js";
3
3
  import { getToken } from "@convex-dev/better-auth/utils";
4
4
 
5
5
  //#region src/auth-nextjs/index.ts
@@ -1,5 +1,5 @@
1
- import { i as getFunctionType, n as getFuncRef, t as buildMetaIndex } from "./meta-utils-C9_6WIzj.js";
2
- import { s as getTransformer } from "./transformer-BsX4RWes.js";
1
+ import { i as getFunctionType, n as getFuncRef, t as buildMetaIndex } from "./meta-utils-NRyocOSc.js";
2
+ import { s as getTransformer } from "./transformer-ogg-4d78.js";
3
3
  import { fetchAction, fetchMutation, fetchQuery } from "convex/nextjs";
4
4
 
5
5
  //#region src/server/caller.ts
package/dist/cli.mjs CHANGED
@@ -232,6 +232,7 @@ const EnableRLS = Symbol.for("better-convex:EnableRLS");
232
232
  const TableDeleteConfig = Symbol.for("better-convex:TableDeleteConfig");
233
233
  const OrmSchemaOptions = Symbol.for("better-convex:OrmSchemaOptions");
234
234
  const OrmSchemaDefinition = Symbol.for("better-convex:OrmSchemaDefinition");
235
+ const OrmSchemaPluginTables = Symbol.for("better-convex:OrmSchemaPluginTables");
235
236
 
236
237
  //#endregion
237
238
  //#region src/orm/mutation-utils.ts
@@ -1,4 +1,4 @@
1
- import { indexFields } from "./create-schema-DE9ZtH8n.js";
1
+ import { indexFields } from "./create-schema-BsN0jL5S.js";
2
2
 
3
3
  //#region src/auth/create-schema-orm.ts
4
4
  const specialFields = (tables) => Object.fromEntries(Object.entries(tables).map(([key, table]) => {
@@ -69,16 +69,16 @@ const getTypeExpression = (field, state) => {
69
69
  state.ormImports.add("integer");
70
70
  return "integer()";
71
71
  case "number[]":
72
- state.ormImports.add("custom");
73
- state.usesV = true;
74
- return "custom(v.array(v.number()))";
72
+ state.ormImports.add("arrayOf");
73
+ state.ormImports.add("integer");
74
+ return "arrayOf(integer().notNull())";
75
75
  case "string":
76
76
  state.ormImports.add("text");
77
77
  return "text()";
78
78
  case "string[]":
79
- state.ormImports.add("custom");
80
- state.usesV = true;
81
- return "custom(v.array(v.string()))";
79
+ state.ormImports.add("arrayOf");
80
+ state.ormImports.add("text");
81
+ return "arrayOf(text().notNull())";
82
82
  default: throw new Error(`Unsupported Better Auth field type: ${String(type)}`);
83
83
  }
84
84
  };
@@ -86,10 +86,7 @@ const createSchemaOrm = async ({ file, tables }) => {
86
86
  const path = await import(Buffer.from("cGF0aA==", "base64").toString());
87
87
  if (path.basename(path.resolve(process.cwd(), file ?? "")) === "convex") throw new Error("Better Auth schema must be generated in the Better Auth component directory.");
88
88
  const entries = getTableEntries(tables);
89
- const state = {
90
- ormImports: new Set(["convexTable", "defineSchema"]),
91
- usesV: false
92
- };
89
+ const state = { ormImports: new Set(["convexTable", "defineSchema"]) };
93
90
  const tableBlocks = [];
94
91
  for (const entry of entries) {
95
92
  const fieldLines = Object.entries(entry.table.fields).filter(([fieldKey]) => fieldKey !== "id").map(([fieldKey, field]) => {
@@ -116,7 +113,6 @@ const createSchemaOrm = async ({ file, tables }) => {
116
113
  tableBlocks.push(`export const ${entry.varName} = convexTable(\n ${JSON.stringify(entry.modelName)},\n {\n${fieldLines.join("\n")}\n }${extraConfig}\n);`);
117
114
  }
118
115
  const imports = `import {\n ${Array.from(state.ormImports).sort().join(",\n ")},\n} from "better-convex/orm";`;
119
- const vImport = state.usesV ? "\nimport { v } from \"convex/values\";\n" : "\n";
120
116
  const tableObjectEntries = entries.map((entry) => {
121
117
  if (renderObjectKey(entry.modelName) === entry.varName) return ` ${entry.varName},`;
122
118
  return ` ${renderObjectKey(entry.modelName)}: ${entry.varName},`;
@@ -126,7 +122,8 @@ const createSchemaOrm = async ({ file, tables }) => {
126
122
  // To regenerate the schema, run:
127
123
  // \`npx @better-auth/cli generate --output ${file} -y\`
128
124
 
129
- ${imports}${vImport}
125
+ ${imports}
126
+
130
127
  ${tableBlocks.join("\n\n")}
131
128
 
132
129
  export const tables = {
@@ -1,5 +1,5 @@
1
- import { $ as identityTransformer, G as DataTransformerOptions, H as CombinedDataTransformer, J as dateWireCodec, K as WireCodec, Q as getTransformer, U as DATE_CODEC_TAG, W as DataTransformer, X as defaultCRPCTransformer, Y as decodeWire, Z as encodeWire, a as HttpProcedureCall, c as InferHttpInput, i as HttpErrorCode, l as InferHttpOutput, n as HttpClientError, o as HttpRouteInfo, q as createTaggedTransformer, r as HttpClientFromRouter, s as HttpRouteMap, t as HttpClient, u as isHttpClientError } from "../http-types-BsnDV7Je.js";
2
- import { C as PaginatedFnMeta, D as VanillaMutation, E as VanillaCRPCClient, O as VanillaQuery, S as Meta, T as VanillaAction, _ as ExtractPaginatedItem, a as ConvexInfiniteQueryMeta, b as InfiniteQueryInput, c as ConvexMutationKey, d as ConvexQueryMeta, f as ConvexQueryOptions, g as DecorateQuery, h as DecorateMutation, i as ConvexActionOptions, l as ConvexQueryHookOptions, m as DecorateInfiniteQuery, n as CRPCClient, o as ConvexInfiniteQueryOptions, p as DecorateAction, r as ConvexActionKey, s as ConvexInfiniteQueryOptionsWithRef, t as AuthType, u as ConvexQueryKey, v as FUNC_REF_SYMBOL, w as PaginationOpts, x as InfiniteQueryOptsParam, y as FnMeta } from "../types-DZFvhoPJ.js";
1
+ import { $ as identityTransformer, G as DataTransformerOptions, H as CombinedDataTransformer, J as dateWireCodec, K as WireCodec, Q as getTransformer, U as DATE_CODEC_TAG, W as DataTransformer, X as defaultCRPCTransformer, Y as decodeWire, Z as encodeWire, a as HttpProcedureCall, c as InferHttpInput, i as HttpErrorCode, l as InferHttpOutput, n as HttpClientError, o as HttpRouteInfo, q as createTaggedTransformer, r as HttpClientFromRouter, s as HttpRouteMap, t as HttpClient, u as isHttpClientError } from "../http-types-BK7FuIcR.js";
2
+ import { C as PaginatedFnMeta, D as VanillaMutation, E as VanillaCRPCClient, O as VanillaQuery, S as Meta, T as VanillaAction, _ as ExtractPaginatedItem, a as ConvexInfiniteQueryMeta, b as InfiniteQueryInput, c as ConvexMutationKey, d as ConvexQueryMeta, f as ConvexQueryOptions, g as DecorateQuery, h as DecorateMutation, i as ConvexActionOptions, l as ConvexQueryHookOptions, m as DecorateInfiniteQuery, n as CRPCClient, o as ConvexInfiniteQueryOptions, p as DecorateAction, r as ConvexActionKey, s as ConvexInfiniteQueryOptionsWithRef, t as AuthType, u as ConvexQueryKey, v as FUNC_REF_SYMBOL, w as PaginationOpts, x as InfiniteQueryOptsParam, y as FnMeta } from "../types-f53SgpBL.js";
3
3
  import { FunctionArgs, FunctionReference } from "convex/server";
4
4
 
5
5
  //#region src/crpc/error.d.ts
@@ -1,6 +1,6 @@
1
- import { a as isCRPCErrorCode, i as isCRPCError, n as defaultIsUnauthorized, r as isCRPCClientError, t as CRPCClientError } from "../error-C7AOPlv2.js";
2
- import { a as defaultCRPCTransformer, c as identityTransformer, i as decodeWire, n as createTaggedTransformer, o as encodeWire, r as dateWireCodec, s as getTransformer, t as DATE_CODEC_TAG } from "../transformer-BsX4RWes.js";
3
- import { n as convexInfiniteQueryOptions, r as convexQuery, t as convexAction } from "../query-options-Bjo6j5cC.js";
1
+ import { a as isCRPCErrorCode, i as isCRPCError, n as defaultIsUnauthorized, r as isCRPCClientError, t as CRPCClientError } from "../error-CAGGSN5H.js";
2
+ import { a as defaultCRPCTransformer, c as identityTransformer, i as decodeWire, n as createTaggedTransformer, o as encodeWire, r as dateWireCodec, s as getTransformer, t as DATE_CODEC_TAG } from "../transformer-ogg-4d78.js";
3
+ import { n as convexInfiniteQueryOptions, r as convexQuery, t as convexAction } from "../query-options-CSCmKYdJ.js";
4
4
 
5
5
  //#region src/crpc/http-types.ts
6
6
  /** HTTP client error */
@@ -1,4 +1,4 @@
1
- import { c as omit, l as pick, t as addFieldsToValidator } from "./validators-B7oIJCAp.js";
1
+ import { c as omit, l as pick, t as addFieldsToValidator } from "./validators-D_i3BK7v.js";
2
2
 
3
3
  //#region src/server/context-utils.ts
4
4
  const isQueryCtx = (ctx) => "db" in ctx;
@@ -1,4 +1,4 @@
1
- import { o as Simplify$1 } from "./types-kgwiK-xe.js";
1
+ import { o as Simplify$1 } from "./types-BTb_4BaU.js";
2
2
  import { GenericActionCtx, GenericDataModel, HttpRouter } from "convex/server";
3
3
  import { z } from "zod";
4
4
  import { Context, Hono } from "hono";
@@ -0,0 +1,121 @@
1
+ import { T as entityKind, w as ConvexColumnBuilder } from "./table-B7yzBihE.js";
2
+ import { o as vRequired } from "./validators-D_i3BK7v.js";
3
+ import { v } from "convex/values";
4
+
5
+ //#region src/orm/builders/custom.ts
6
+ function isRecord(value) {
7
+ return typeof value === "object" && value !== null && !Array.isArray(value);
8
+ }
9
+ function isValidator(value) {
10
+ return isRecord(value) && typeof value.kind === "string" && typeof value.isOptional === "string";
11
+ }
12
+ function isColumnBuilder(value) {
13
+ return isRecord(value) && value[entityKind] === "ColumnBuilder";
14
+ }
15
+ function toRequiredValidator(validator) {
16
+ return validator.isOptional === "optional" ? vRequired(validator) : validator;
17
+ }
18
+ function stripNullUnionMember(validator) {
19
+ if (validator.kind !== "union") return validator;
20
+ const members = validator.members.filter((member) => member.kind !== "null");
21
+ if (members.length === validator.members.length || members.length === 0) return validator;
22
+ if (members.length === 1) return members[0];
23
+ return v.union(...members);
24
+ }
25
+ function toRequiredNonNullBuilderValidator(validator) {
26
+ return stripNullUnionMember(toRequiredValidator(validator));
27
+ }
28
+ function formatInvalidInput(path, value) {
29
+ return `${path} expected a column builder, Convex validator, or nested object shape. Got ${Array.isArray(value) ? "array" : value === null ? "null" : typeof value}.`;
30
+ }
31
+ function objectShapeToValidator(shape, path) {
32
+ const fields = {};
33
+ for (const [key, value] of Object.entries(shape)) fields[key] = nestedInputToValidator(value, `${path}.${key}`);
34
+ return v.object(fields);
35
+ }
36
+ function nestedInputToValidator(input, path) {
37
+ if (isColumnBuilder(input)) return toRequiredNonNullBuilderValidator(input.convexValidator);
38
+ if (isValidator(input)) return toRequiredValidator(input);
39
+ if (isRecord(input)) return objectShapeToValidator(input, path);
40
+ throw new Error(formatInvalidInput(path, input));
41
+ }
42
+ var ConvexCustomBuilder = class extends ConvexColumnBuilder {
43
+ static [entityKind] = "ConvexCustomBuilder";
44
+ constructor(name, validator) {
45
+ super(name, "any", "ConvexCustom");
46
+ this.config.validator = validator;
47
+ }
48
+ get convexValidator() {
49
+ const validator = this.config.validator;
50
+ if (this.config.notNull) return validator;
51
+ return v.optional(v.union(v.null(), validator));
52
+ }
53
+ build() {
54
+ return this.convexValidator;
55
+ }
56
+ };
57
+ function custom(a, b) {
58
+ if (b !== void 0) return new ConvexCustomBuilder(a, b);
59
+ return new ConvexCustomBuilder("", a);
60
+ }
61
+ /**
62
+ * Creates an array column from a nested validator or builder.
63
+ *
64
+ * Values in nested arrays are always compiled as required validators.
65
+ */
66
+ function arrayOf(element) {
67
+ return custom(v.array(nestedInputToValidator(element, "arrayOf(element)"))).$type();
68
+ }
69
+ /**
70
+ * Creates an object column from a nested shape of validators/builders.
71
+ *
72
+ * Fields in nested objects are always compiled as required validators.
73
+ */
74
+ function objectOf(shape) {
75
+ if (!isRecord(shape)) throw new Error(formatInvalidInput("objectOf(shape)", shape));
76
+ return custom(objectShapeToValidator(shape, "objectOf(shape)")).$type();
77
+ }
78
+ /**
79
+ * Convenience wrapper for Convex "JSON" values.
80
+ *
81
+ * Note: This is Convex JSON (runtime `v.any()`), not SQL JSON/JSONB.
82
+ */
83
+ function json() {
84
+ return custom(v.any()).$type();
85
+ }
86
+
87
+ //#endregion
88
+ //#region src/orm/builders/id.ts
89
+ /**
90
+ * ID column builder class
91
+ * Compiles to v.id(tableName) or v.optional(v.id(tableName))
92
+ */
93
+ var ConvexIdBuilder = class extends ConvexColumnBuilder {
94
+ static [entityKind] = "ConvexIdBuilder";
95
+ constructor(name, tableName) {
96
+ super(name, "string", "ConvexId");
97
+ this.tableName = tableName;
98
+ this.config.referenceTable = tableName;
99
+ }
100
+ /**
101
+ * Expose Convex validator for schema integration
102
+ */
103
+ get convexValidator() {
104
+ if (this.config.notNull) return v.id(this.tableName);
105
+ return v.optional(v.union(v.null(), v.id(this.tableName)));
106
+ }
107
+ /**
108
+ * Compile to Convex validator
109
+ * .notNull() → v.id(tableName)
110
+ * nullable → v.optional(v.id(tableName))
111
+ */
112
+ build() {
113
+ return this.convexValidator;
114
+ }
115
+ };
116
+ function id(tableName) {
117
+ return new ConvexIdBuilder("", tableName);
118
+ }
119
+
120
+ //#endregion
121
+ export { objectOf as a, json as i, arrayOf as n, custom as r, id as t };
@@ -1,5 +1,5 @@
1
- import { i as pretendRequired, n as deprecated, r as pretend } from "../validators-BDrWGp4M.js";
2
- import { $ as DatabaseWithQuery, $n as FilterOperators, $r as Columns, $t as defineRelations, A as MigrationRunArgs, An as index, Ar as and, At as ConvexCustomBuilderInitial, B as MigrationMigrateOne, Bn as ConvexUniqueConstraintBuilderOn, Br as isFieldReference, Bt as ConvexBigIntBuilderInitial, C as OrmBeforeResult, Cn as ConvexSearchIndexBuilder, Cr as unsetToken, Ct as ConvexIdBuilderInitial, D as OrmTriggers, Dn as ConvexVectorIndexBuilderOn, Dr as FilterExpression, Dt as ConvexDateMode, E as OrmTriggerContext, En as ConvexVectorIndexBuilder, Er as FieldReference, Et as ConvexDateBuilderInitial, F as MigrationDirection, Fn as ConvexCheckBuilder, Fr as fieldRef, Ft as bytes, G as MigrationStep, Gn as AggregateConfig, Gr as lte, Gt as ExtractTablesWithRelations, H as MigrationRunStatus, Hn as check, Hr as isNull, Ht as CountBackfillChunkArgs, I as MigrationDoc, In as ConvexCheckConfig, Ir as gt, It as ConvexBooleanBuilder, J as buildMigrationPlan, Jn as BuildQueryResult, Jr as notBetween, Jt as RelationsBuilder, K as MigrationTableName, Kn as AggregateFieldValue, Kr as ne, Kt as ManyConfig, L as MigrationDocContext, Ln as ConvexForeignKeyBuilder, Lr as gte, Lt as ConvexBooleanBuilderInitial, M as MigrationStatusArgs, Mn as searchIndex, Mr as contains, Mt as json, N as MigrationAppliedState, Nn as uniqueIndex, Nr as endsWith, Nt as ConvexBytesBuilder, O as defineTriggers, On as ConvexVectorIndexConfig, Or as LogicalExpression, Ot as date, P as MigrationDefinition, Pn as vectorIndex, Pr as eq, Pt as ConvexBytesBuilderInitial, Q as DatabaseWithMutations, Qn as DBQueryConfig, Qr as Brand, Qt as TablesRelationalConfig, R as MigrationDriftIssue, Rn as ConvexForeignKeyConfig, Rr as ilike, Rt as boolean, S as scheduledDeleteFactory, Sn as ConvexRankIndexBuilderOn, Sr as VectorSearchProvider, St as ConvexIdBuilder, T as OrmTriggerChange, Tn as ConvexSearchIndexConfig, Tr as ExpressionVisitor, Tt as ConvexDateBuilder, U as MigrationSet, Un as foreignKey, Ur as like, Ut as CountBackfillKickoffArgs, V as MigrationPlan, Vn as ConvexUniqueConstraintConfig, Vr as isNotNull, Vt as bigint, W as MigrationStateMap, Wn as unique, Wr as lt, Wt as CountBackfillStatusArgs, X as defineMigrationSet, Xn as CountConfig, Xr as or, Xt as RelationsBuilderColumnConfig, Y as defineMigration, Yn as BuildRelationResult, Yr as notInArray, Yt as RelationsBuilderColumnBase, Z as detectMigrationDrift, Zn as CountResult, Zr as startsWith, Zt as TableRelationalConfig, _ as OrmWriterCtx, _n as ConvexAggregateIndexBuilder, _r as ReturningAll, _t as ConvexTextBuilderInitial, a as TableConfigResult, ai as ColumnBuilderRuntimeConfig, an as OrmLifecycleChange, ar as MutationExecuteConfig, at as extractRelationsConfig, b as scheduledMutationBatchFactory, bn as ConvexIndexBuilderOn, br as UpdateSet, bt as ConvexNumberBuilderInitial, c as OrmNotFoundError, ci as ColumnDataType, cn as convexTable, cr as MutationPaginateConfig, ct as vector, d as GenericOrmCtx, di as IsPrimaryKey, dn as RlsPolicyConfig, dr as MutationReturning, dt as ConvexTimestampMode, ei as TableName, en as defineRelationsPart, er as GetColumnData, et as OrmReader, f as OrmApiResult, fi as IsUnique, fn as RlsPolicyToOption, fr as MutationRunMode, ft as timestamp, g as OrmReaderCtx, gn as rlsRole, gr as PredicateWhereIndexConfig, gt as ConvexTextBuilder, h as OrmFunctions, hn as RlsRoleConfig, hr as PaginatedResult, ht as textEnum, i as desc, ii as ColumnBuilderBaseConfig, ir as InsertValue, it as EdgeMetadata, j as MigrationRunChunkArgs, jn as rankIndex, jr as between, jt as custom, k as MigrationCancelArgs, kn as aggregateIndex, kr as UnaryExpression, kt as ConvexCustomBuilder, l as CreateOrmOptions, li as DrizzleEntity, ln as deletion, lr as MutationPaginatedResult, lt as ConvexTimestampBuilder, m as OrmClientWithApi, mn as RlsRole, mr as OrderDirection, mt as ConvexTextEnumBuilderInitial, n as defineSchema, ni as AnyColumn, nn as ConvexDeletionConfig, nr as InferModelFromColumns, nt as RlsContext, o as getTableColumns, oi as ColumnBuilderTypeConfig, on as OrmLifecycleOperation, or as MutationExecuteResult, ot as ConvexVectorBuilder, p as OrmClientBase, pi as NotNull, pn as rlsPolicy, pr as OrderByClause, pt as ConvexTextEnumBuilder, q as MigrationWriteMode, qn as AggregateResult, qr as not, qt as OneConfig, r as asc, ri as ColumnBuilder, rn as ConvexTable, rr as InferSelectModel, rt as RlsMode, s as getTableConfig, si as ColumnBuilderWithTableName, sn as TableConfig, sr as MutationExecutionMode, st as ConvexVectorBuilderInitial, t as WhereClauseResult, ti as SystemFields, tn as ConvexDeletionBuilder, tr as InferInsertModel, tt as OrmWriter, u as GenericOrm, ui as HasDefault, un as RlsPolicy, ur as MutationResult, ut as ConvexTimestampBuilderInitial, v as createOrm, vn as ConvexAggregateIndexBuilderOn, vr as ReturningResult, vt as text, w as OrmTableTriggers, wn as ConvexSearchIndexBuilderOn, wr as BinaryExpression, wt as id, x as ScheduledDeleteArgs, xn as ConvexRankIndexBuilder, xr as VectorQueryConfig, xt as integer, y as ScheduledMutationBatchArgs, yn as ConvexIndexBuilder, yr as ReturningSelection, yt as ConvexNumberBuilder, z as MigrationManifestEntry, zn as ConvexUniqueConstraintBuilder, zr as inArray, zt as ConvexBigIntBuilder } from "../where-clause-compiler-HUa2223D.js";
3
- import { a as QueryCtxWithPreferredOrmQueryTable, i as QueryCtxWithOrmQueryTable, n as LookupByIdResultByCtx, o as getByIdWithOrmQueryFallback, r as QueryCtxWithOptionalOrmQueryTable, t as DocByCtx } from "../query-context-BMXt2TKe.js";
1
+ import { i as pretendRequired, n as deprecated, r as pretend } from "../validators-BcQFm1oY.js";
2
+ import { $ as DatabaseWithQuery, $n as CountResult, $r as startsWith, $t as TableRelationalConfig, A as MigrationRunArgs, An as ConvexVectorIndexConfig, Ar as LogicalExpression, At as ConvexCustomBuilderInitial, B as MigrationMigrateOne, Bn as ConvexForeignKeyConfig, Br as ilike, Bt as boolean, C as OrmBeforeResult, Cn as ConvexRankIndexBuilder, Cr as VectorQueryConfig, Ct as ConvexIdBuilderInitial, D as OrmTriggers, Dn as ConvexSearchIndexConfig, Dr as ExpressionVisitor, Dt as ConvexDateMode, E as OrmTriggerContext, En as ConvexSearchIndexBuilderOn, Er as BinaryExpression, Et as ConvexDateBuilderInitial, F as MigrationDirection, Fn as uniqueIndex, Fr as endsWith, Ft as ConvexBytesBuilder, G as MigrationStep, Gn as foreignKey, Gr as like, Gt as CountBackfillKickoffArgs, H as MigrationRunStatus, Hn as ConvexUniqueConstraintBuilderOn, Hr as isFieldReference, Ht as ConvexBigIntBuilderInitial, I as MigrationDoc, In as vectorIndex, Ir as eq, It as ConvexBytesBuilderInitial, J as buildMigrationPlan, Jn as AggregateFieldValue, Jr as ne, Jt as ManyConfig, K as MigrationTableName, Kn as unique, Kr as lt, Kt as CountBackfillStatusArgs, L as MigrationDocContext, Ln as ConvexCheckBuilder, Lr as fieldRef, Lt as bytes, M as MigrationStatusArgs, Mn as index, Mr as and, Mt as custom, N as MigrationAppliedState, Nn as rankIndex, Nr as between, Nt as json, O as defineTriggers, On as ConvexVectorIndexBuilder, Or as FieldReference, Ot as date, P as MigrationDefinition, Pn as searchIndex, Pr as contains, Pt as objectOf, Q as DatabaseWithMutations, Qn as CountConfig, Qr as or, Qt as RelationsBuilderColumnConfig, R as MigrationDriftIssue, Rn as ConvexCheckConfig, Rr as gt, Rt as ConvexBooleanBuilder, S as scheduledDeleteFactory, Sn as ConvexIndexBuilderOn, Sr as UpdateSet, St as ConvexIdBuilder, T as OrmTriggerChange, Tn as ConvexSearchIndexBuilder, Tr as unsetToken, Tt as ConvexDateBuilder, U as MigrationSet, Un as ConvexUniqueConstraintConfig, Ur as isNotNull, Ut as bigint, V as MigrationPlan, Vn as ConvexUniqueConstraintBuilder, Vr as inArray, Vt as ConvexBigIntBuilder, W as MigrationStateMap, Wn as check, Wr as isNull, Wt as CountBackfillChunkArgs, X as defineMigrationSet, Xn as BuildQueryResult, Xr as notBetween, Xt as RelationsBuilder, Y as defineMigration, Yn as AggregateResult, Yr as not, Yt as OneConfig, Z as detectMigrationDrift, Zn as BuildRelationResult, Zr as notInArray, Zt as RelationsBuilderColumnBase, _ as OrmWriterCtx, _i as NotNull, _n as RlsRoleConfig, _r as PaginatedResult, _t as ConvexTextBuilderInitial, a as TableConfigResult, ai as SystemFields, an as ConvexTable, ar as InferSelectModel, at as extractRelationsConfig, b as scheduledMutationBatchFactory, bn as ConvexAggregateIndexBuilderOn, br as ReturningResult, bt as ConvexNumberBuilderInitial, c as OrmNotFoundError, ci as ColumnBuilderBaseConfig, cn as OrmLifecycleOperation, cr as MutationExecuteResult, ct as vector, d as GenericOrmCtx, di as ColumnBuilderWithTableName, dn as deletion, dr as MutationPaginatedResult, dt as ConvexTimestampMode, ei as Brand, en as TablesRelationalConfig, er as DBQueryConfig, et as OrmReader, f as OrmApiResult, fi as ColumnDataType, fn as RlsPolicy, fr as MutationResult, ft as timestamp, g as OrmReaderCtx, gi as IsUnique, gn as RlsRole, gr as OrderDirection, gt as ConvexTextBuilder, h as OrmFunctions, hi as IsPrimaryKey, hn as rlsPolicy, hr as OrderByClause, ht as textEnum, i as desc, ii as TableName, in as ConvexDeletionConfig, ir as InferModelFromColumns, it as EdgeMetadata, j as MigrationRunChunkArgs, jn as aggregateIndex, jr as UnaryExpression, jt as arrayOf, k as MigrationCancelArgs, kn as ConvexVectorIndexBuilderOn, kr as FilterExpression, kt as ConvexCustomBuilder, l as CreateOrmOptions, li as ColumnBuilderRuntimeConfig, ln as TableConfig, lr as MutationExecutionMode, lt as ConvexTimestampBuilder, m as OrmClientWithApi, mi as HasDefault, mn as RlsPolicyToOption, mr as MutationRunMode, mt as ConvexTextEnumBuilderInitial, n as defineSchema, ni as OrmSchemaPlugin, nn as defineRelationsPart, nr as GetColumnData, nt as RlsContext, o as getTableColumns, oi as AnyColumn, or as InsertValue, ot as ConvexVectorBuilder, p as OrmClientBase, pi as DrizzleEntity, pn as RlsPolicyConfig, pr as MutationReturning, pt as ConvexTextEnumBuilder, q as MigrationWriteMode, qn as AggregateConfig, qr as lte, qt as ExtractTablesWithRelations, r as asc, ri as OrmSchemaPluginTables, rn as ConvexDeletionBuilder, rr as InferInsertModel, rt as RlsMode, s as getTableConfig, si as ColumnBuilder, sn as OrmLifecycleChange, sr as MutationExecuteConfig, st as ConvexVectorBuilderInitial, t as WhereClauseResult, ti as Columns, tn as defineRelations, tr as FilterOperators, tt as OrmWriter, u as GenericOrm, ui as ColumnBuilderTypeConfig, un as convexTable, ur as MutationPaginateConfig, ut as ConvexTimestampBuilderInitial, v as createOrm, vn as rlsRole, vr as PredicateWhereIndexConfig, vt as text, w as OrmTableTriggers, wn as ConvexRankIndexBuilderOn, wr as VectorSearchProvider, wt as id, x as ScheduledDeleteArgs, xn as ConvexIndexBuilder, xr as ReturningSelection, xt as integer, y as ScheduledMutationBatchArgs, yn as ConvexAggregateIndexBuilder, yr as ReturningAll, yt as ConvexNumberBuilder, z as MigrationManifestEntry, zn as ConvexForeignKeyBuilder, zr as gte, zt as ConvexBooleanBuilderInitial } from "../where-clause-compiler-BIjTkVVJ.js";
3
+ import { a as QueryCtxWithPreferredOrmQueryTable, i as QueryCtxWithOrmQueryTable, n as LookupByIdResultByCtx, o as getByIdWithOrmQueryFallback, r as QueryCtxWithOptionalOrmQueryTable, t as DocByCtx } from "../query-context-ji7By8u0.js";
4
4
  import { DefineSchemaOptions, GenericSchema, SchemaDefinition } from "convex/server";
5
- export { type AggregateConfig, type AggregateFieldValue, type AggregateResult, type AnyColumn, type BinaryExpression, Brand, type BuildQueryResult, type BuildRelationResult, type ColumnBuilder, type ColumnBuilderBaseConfig, type ColumnBuilderRuntimeConfig, type ColumnBuilderTypeConfig, type ColumnBuilderWithTableName, type ColumnDataType, Columns, type ConvexAggregateIndexBuilder, type ConvexAggregateIndexBuilderOn, type ConvexBigIntBuilder, type ConvexBigIntBuilderInitial, type ConvexBooleanBuilder, type ConvexBooleanBuilderInitial, type ConvexBytesBuilder, type ConvexBytesBuilderInitial, type ConvexCheckBuilder, type ConvexCheckConfig, type ConvexCustomBuilder, type ConvexCustomBuilderInitial, type ConvexDateBuilder, type ConvexDateBuilderInitial, type ConvexDateMode, type ConvexDeletionBuilder, type ConvexDeletionConfig, type ConvexForeignKeyBuilder, type ConvexForeignKeyConfig, type ConvexIdBuilder, type ConvexIdBuilderInitial, type ConvexIndexBuilder, type ConvexIndexBuilderOn, type ConvexNumberBuilder, type ConvexNumberBuilderInitial, type ConvexRankIndexBuilder, type ConvexRankIndexBuilderOn, type ConvexSearchIndexBuilder, type ConvexSearchIndexBuilderOn, type ConvexSearchIndexConfig, type ConvexTable, type ConvexTextBuilder, type ConvexTextBuilderInitial, type ConvexTextEnumBuilder, type ConvexTextEnumBuilderInitial, type ConvexTimestampBuilder, type ConvexTimestampBuilderInitial, type ConvexTimestampMode, type ConvexUniqueConstraintBuilder, type ConvexUniqueConstraintBuilderOn, type ConvexUniqueConstraintConfig, type ConvexVectorBuilder, type ConvexVectorBuilderInitial, type ConvexVectorIndexBuilder, type ConvexVectorIndexBuilderOn, type ConvexVectorIndexConfig, type CountBackfillChunkArgs, type CountBackfillKickoffArgs, type CountBackfillStatusArgs, type CountConfig, type CountResult, type CreateOrmOptions, type DBQueryConfig, type DatabaseWithMutations, type DatabaseWithQuery, type DefineSchemaOptions, type DocByCtx, type DrizzleEntity, type EdgeMetadata, type ExpressionVisitor, type ExtractTablesWithRelations, type FieldReference, type FilterExpression, type FilterOperators, type GenericOrm, type GenericOrmCtx, type GenericSchema, type GetColumnData, type HasDefault, type InferInsertModel, type InferModelFromColumns, type InferSelectModel, type InsertValue, type IsPrimaryKey, type IsUnique, type LogicalExpression, type LookupByIdResultByCtx, type ManyConfig, type MigrationAppliedState, type MigrationCancelArgs, type MigrationDefinition, type MigrationDirection, type MigrationDoc, type MigrationDocContext, type MigrationDriftIssue, type MigrationManifestEntry, type MigrationMigrateOne, type MigrationPlan, type MigrationRunArgs, type MigrationRunChunkArgs, type MigrationRunStatus, type MigrationSet, type MigrationStateMap, type MigrationStatusArgs, type MigrationStep, type MigrationTableName, type MigrationWriteMode, type MutationExecuteConfig, type MutationExecuteResult, type MutationExecutionMode, type MutationPaginateConfig, type MutationPaginatedResult, type MutationResult, type MutationReturning, type MutationRunMode, type NotNull, type OneConfig, type OrderByClause, type OrderDirection, type OrmApiResult, type OrmBeforeResult, type OrmClientBase, type OrmClientWithApi, type OrmFunctions, type OrmLifecycleChange, type OrmLifecycleOperation, OrmNotFoundError, type OrmReader, type OrmReaderCtx, type OrmTableTriggers, type OrmTriggerChange, type OrmTriggerContext, type OrmTriggers, type OrmWriter, type OrmWriterCtx, type PaginatedResult, type PredicateWhereIndexConfig, type QueryCtxWithOptionalOrmQueryTable, type QueryCtxWithOrmQueryTable, type QueryCtxWithPreferredOrmQueryTable, type RelationsBuilder, type RelationsBuilderColumnBase, type RelationsBuilderColumnConfig, type ReturningAll, type ReturningResult, type ReturningSelection, type RlsContext, type RlsMode, RlsPolicy, type RlsPolicyConfig, type RlsPolicyToOption, RlsRole, type RlsRoleConfig, type ScheduledDeleteArgs, type ScheduledMutationBatchArgs, type SchemaDefinition, type SystemFields, type TableConfig, type TableConfigResult, TableName, type TableRelationalConfig, type TablesRelationalConfig, type UnaryExpression, type UpdateSet, type VectorQueryConfig, type VectorSearchProvider, type WhereClauseResult, aggregateIndex, and, asc, between, bigint, boolean, buildMigrationPlan, bytes, check, contains, convexTable, createOrm, custom, date, defineMigration, defineMigrationSet, defineRelations, defineRelationsPart, defineSchema, defineTriggers, deletion, deprecated, desc, detectMigrationDrift, endsWith, eq, extractRelationsConfig, fieldRef, foreignKey, getByIdWithOrmQueryFallback, getTableColumns, getTableConfig, gt, gte, id, ilike, inArray, index, integer, isFieldReference, isNotNull, isNull, json, like, lt, lte, ne, not, notBetween, notInArray, or, pretend, pretendRequired, rankIndex, rlsPolicy, rlsRole, scheduledDeleteFactory, scheduledMutationBatchFactory, searchIndex, startsWith, text, textEnum, timestamp, unique, uniqueIndex, unsetToken, vector, vectorIndex };
5
+ export { type AggregateConfig, type AggregateFieldValue, type AggregateResult, type AnyColumn, type BinaryExpression, Brand, type BuildQueryResult, type BuildRelationResult, type ColumnBuilder, type ColumnBuilderBaseConfig, type ColumnBuilderRuntimeConfig, type ColumnBuilderTypeConfig, type ColumnBuilderWithTableName, type ColumnDataType, Columns, type ConvexAggregateIndexBuilder, type ConvexAggregateIndexBuilderOn, type ConvexBigIntBuilder, type ConvexBigIntBuilderInitial, type ConvexBooleanBuilder, type ConvexBooleanBuilderInitial, type ConvexBytesBuilder, type ConvexBytesBuilderInitial, type ConvexCheckBuilder, type ConvexCheckConfig, type ConvexCustomBuilder, type ConvexCustomBuilderInitial, type ConvexDateBuilder, type ConvexDateBuilderInitial, type ConvexDateMode, type ConvexDeletionBuilder, type ConvexDeletionConfig, type ConvexForeignKeyBuilder, type ConvexForeignKeyConfig, type ConvexIdBuilder, type ConvexIdBuilderInitial, type ConvexIndexBuilder, type ConvexIndexBuilderOn, type ConvexNumberBuilder, type ConvexNumberBuilderInitial, type ConvexRankIndexBuilder, type ConvexRankIndexBuilderOn, type ConvexSearchIndexBuilder, type ConvexSearchIndexBuilderOn, type ConvexSearchIndexConfig, type ConvexTable, type ConvexTextBuilder, type ConvexTextBuilderInitial, type ConvexTextEnumBuilder, type ConvexTextEnumBuilderInitial, type ConvexTimestampBuilder, type ConvexTimestampBuilderInitial, type ConvexTimestampMode, type ConvexUniqueConstraintBuilder, type ConvexUniqueConstraintBuilderOn, type ConvexUniqueConstraintConfig, type ConvexVectorBuilder, type ConvexVectorBuilderInitial, type ConvexVectorIndexBuilder, type ConvexVectorIndexBuilderOn, type ConvexVectorIndexConfig, type CountBackfillChunkArgs, type CountBackfillKickoffArgs, type CountBackfillStatusArgs, type CountConfig, type CountResult, type CreateOrmOptions, type DBQueryConfig, type DatabaseWithMutations, type DatabaseWithQuery, type DefineSchemaOptions, type DocByCtx, type DrizzleEntity, type EdgeMetadata, type ExpressionVisitor, type ExtractTablesWithRelations, type FieldReference, type FilterExpression, type FilterOperators, type GenericOrm, type GenericOrmCtx, type GenericSchema, type GetColumnData, type HasDefault, type InferInsertModel, type InferModelFromColumns, type InferSelectModel, type InsertValue, type IsPrimaryKey, type IsUnique, type LogicalExpression, type LookupByIdResultByCtx, type ManyConfig, type MigrationAppliedState, type MigrationCancelArgs, type MigrationDefinition, type MigrationDirection, type MigrationDoc, type MigrationDocContext, type MigrationDriftIssue, type MigrationManifestEntry, type MigrationMigrateOne, type MigrationPlan, type MigrationRunArgs, type MigrationRunChunkArgs, type MigrationRunStatus, type MigrationSet, type MigrationStateMap, type MigrationStatusArgs, type MigrationStep, type MigrationTableName, type MigrationWriteMode, type MutationExecuteConfig, type MutationExecuteResult, type MutationExecutionMode, type MutationPaginateConfig, type MutationPaginatedResult, type MutationResult, type MutationReturning, type MutationRunMode, type NotNull, type OneConfig, type OrderByClause, type OrderDirection, type OrmApiResult, type OrmBeforeResult, type OrmClientBase, type OrmClientWithApi, type OrmFunctions, type OrmLifecycleChange, type OrmLifecycleOperation, OrmNotFoundError, type OrmReader, type OrmReaderCtx, type OrmSchemaPlugin, OrmSchemaPluginTables, type OrmTableTriggers, type OrmTriggerChange, type OrmTriggerContext, type OrmTriggers, type OrmWriter, type OrmWriterCtx, type PaginatedResult, type PredicateWhereIndexConfig, type QueryCtxWithOptionalOrmQueryTable, type QueryCtxWithOrmQueryTable, type QueryCtxWithPreferredOrmQueryTable, type RelationsBuilder, type RelationsBuilderColumnBase, type RelationsBuilderColumnConfig, type ReturningAll, type ReturningResult, type ReturningSelection, type RlsContext, type RlsMode, RlsPolicy, type RlsPolicyConfig, type RlsPolicyToOption, RlsRole, type RlsRoleConfig, type ScheduledDeleteArgs, type ScheduledMutationBatchArgs, type SchemaDefinition, type SystemFields, type TableConfig, type TableConfigResult, TableName, type TableRelationalConfig, type TablesRelationalConfig, type UnaryExpression, type UpdateSet, type VectorQueryConfig, type VectorSearchProvider, type WhereClauseResult, aggregateIndex, and, arrayOf, asc, between, bigint, boolean, buildMigrationPlan, bytes, check, contains, convexTable, createOrm, custom, date, defineMigration, defineMigrationSet, defineRelations, defineRelationsPart, defineSchema, defineTriggers, deletion, deprecated, desc, detectMigrationDrift, endsWith, eq, extractRelationsConfig, fieldRef, foreignKey, getByIdWithOrmQueryFallback, getTableColumns, getTableConfig, gt, gte, id, ilike, inArray, index, integer, isFieldReference, isNotNull, isNull, json, like, lt, lte, ne, not, notBetween, notInArray, objectOf, or, pretend, pretendRequired, rankIndex, rlsPolicy, rlsRole, scheduledDeleteFactory, scheduledMutationBatchFactory, searchIndex, startsWith, text, textEnum, timestamp, unique, uniqueIndex, unsetToken, vector, vectorIndex };