@gonvex/cli 0.5.2-staging.2 → 0.5.2-staging.20

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-dependencies.js","sourceRoot":"","sources":["../src/local-dependencies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { LocalSchema } from "@gonvex/local-runtime/schema";
2
+ /** Compile schema using PostgreSQL itself, without connecting to a service. */
3
+ export declare function compileLocalSchema(migrations: readonly {
4
+ name: string;
5
+ sql: string;
6
+ }[]): Promise<LocalSchema>;
@@ -0,0 +1,55 @@
1
+ import { PGlite } from "@electric-sql/pglite";
2
+ import { pg_trgm } from "@electric-sql/pglite/contrib/pg_trgm";
3
+ // The framework's tenant identity table exists before application migrations.
4
+ // Keep this in parity with TENANT_IDENTITY_SQL in postgres/src/provision.rs.
5
+ const identitySchema = `CREATE TABLE members (
6
+ id text PRIMARY KEY, account_id text NOT NULL UNIQUE, status text NOT NULL DEFAULT 'active',
7
+ display_name text NOT NULL DEFAULT '', avatar_url text NOT NULL DEFAULT '',
8
+ role text NOT NULL DEFAULT 'member', permissions jsonb NOT NULL DEFAULT '{}'::jsonb,
9
+ membership_revision bigint NOT NULL DEFAULT 1,
10
+ created_at timestamptz NOT NULL DEFAULT now(), updated_at timestamptz NOT NULL DEFAULT now()
11
+ )`;
12
+ /** Compile schema using PostgreSQL itself, without connecting to a service. */
13
+ export async function compileLocalSchema(migrations) {
14
+ const db = new PGlite({ extensions: { pg_trgm } });
15
+ try {
16
+ await db.exec(identitySchema);
17
+ for (const migration of migrations) {
18
+ // gen_random_uuid is built into modern PostgreSQL. PGlite does not ship
19
+ // pgcrypto's OpenSSL extension; remaining references fail explicitly.
20
+ const sql = migration.sql.replace(/CREATE\s+EXTENSION\s+(?:IF\s+NOT\s+EXISTS\s+)?["']?pgcrypto["']?\s*;/gi, "");
21
+ try {
22
+ await db.exec(sql);
23
+ }
24
+ catch (error) {
25
+ throw new Error(`Local schema compilation failed in ${migration.name}: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
26
+ }
27
+ }
28
+ const { rows } = await db.query(`SELECT c.relname AS table_name, a.attname AS column_name,
29
+ format_type(a.atttypid, a.atttypmod) AS type, NOT a.attnotnull AS nullable,
30
+ pg_get_expr(d.adbin, d.adrelid) AS column_default,
31
+ EXISTS (SELECT 1 FROM pg_index i WHERE i.indrelid=c.oid AND i.indisprimary AND a.attnum=ANY(i.indkey)) AS primary_key
32
+ FROM pg_class c JOIN pg_namespace n ON c.relnamespace=n.oid
33
+ JOIN pg_attribute a ON a.attrelid=c.oid AND a.attnum>0 AND NOT a.attisdropped
34
+ LEFT JOIN pg_attrdef d ON d.adrelid=c.oid AND d.adnum=a.attnum
35
+ WHERE n.nspname='public' AND c.relkind='r'
36
+ ORDER BY c.relname, a.attnum`);
37
+ const schema = {};
38
+ for (const row of rows) {
39
+ if (row.table_name.startsWith("_gonvex"))
40
+ continue;
41
+ const table = schema[row.table_name] ??= { key: "_id", columns: {} };
42
+ if (row.primary_key)
43
+ table.key = row.column_name;
44
+ table.columns[row.column_name] = {
45
+ type: row.type, nullable: row.nullable,
46
+ ...(row.column_default ? { default: row.column_default } : {}),
47
+ };
48
+ }
49
+ return schema;
50
+ }
51
+ finally {
52
+ await db.close();
53
+ }
54
+ }
55
+ //# sourceMappingURL=local-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-schema.js","sourceRoot":"","sources":["../src/local-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAI/D,8EAA8E;AAC9E,6EAA6E;AAC7E,MAAM,cAAc,GAAG;;;;;;EAMrB,CAAC;AAEH,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAoD;IAC3F,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,wEAAwE;YACxE,sEAAsE;YACtE,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,wEAAwE,EAAE,EAAE,CAAC,CAAC;YAChH,IAAI,CAAC;gBAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAC3B,OAAO,KAAK,EAAE,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sCAAsC,SAAS,CAAC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAAC,CAAC;QACzK,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAG5B;;;;;;;;mCAQ4B,CAAC,CAAC;QACjC,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,SAAS;YACnD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACrE,IAAI,GAAG,CAAC,WAAW;gBAAE,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC;YACjD,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG;gBAC/B,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AACjC,CAAC"}
@@ -11,11 +11,19 @@ export type FunctionEntry = {
11
11
  /** Language-neutral result metadata from a TypeScript module artifact. */
12
12
  result?: ModuleSchema;
13
13
  internal?: boolean;
14
+ public?: boolean;
14
15
  delivery?: "oneShot" | "live" | "replica";
15
16
  dependencies?: FunctionDependencies;
16
17
  replica?: ReplicaCollectionDefinition;
17
18
  /** Reducer delivery policy declared by a TypeScript module. */
18
19
  offline?: JsonValue;
20
+ localExecution?: 1;
21
+ /**
22
+ * Tables a locally executing Reducer reads (or writes by key) in the Local
23
+ * Replica, from static analysis of its body and every project function it
24
+ * calls. Sorted; emitted by codegen for `localExecution` Reducers only.
25
+ */
26
+ localDependencies?: string[];
19
27
  /** Ordered atomic optimistic transaction declared by a TypeScript module. */
20
28
  optimistic?: JsonValue;
21
29
  actionProfile?: "standard" | "agent";
@@ -74,6 +82,27 @@ export type LiveQueryPlan = {
74
82
  search?: {
75
83
  argument: string;
76
84
  columns: string[];
85
+ booleanTerms?: boolean;
86
+ offlineColumns?: string[];
87
+ sources?: {
88
+ table: string;
89
+ key: string;
90
+ column: string;
91
+ dependencies?: string[];
92
+ }[];
93
+ };
94
+ index?: {
95
+ table: string;
96
+ key: string;
97
+ columns: string[];
98
+ sortColumns?: Record<string, string[]>;
99
+ dependencies?: string[];
100
+ referenceFields?: Record<string, {
101
+ table: string;
102
+ foreignKey: string;
103
+ column: string;
104
+ fallback?: JsonValue;
105
+ }>;
77
106
  };
78
107
  filters?: {
79
108
  argument: string;
@@ -99,13 +128,19 @@ export type LiveQueryPlan = {
99
128
  };
100
129
  export type FilterOperator = "contains" | "notContains" | "equals" | "notEquals" | "startsWith" | "endsWith" | "empty" | "notEmpty" | "oneOf" | "lessThan" | "lessThanOrEqual" | "greaterThan" | "greaterThanOrEqual" | "inRange";
101
130
  export type LiveExpression = {
102
- operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "in" | "contains" | "containsInsensitive" | "range" | "and" | "or" | "not" | "server";
131
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "in" | "contains" | "containsInsensitive" | "range" | "and" | "or" | "not" | "server" | "inRelation" | "arrayContains";
103
132
  column?: string;
104
133
  value?: LiveValue;
105
134
  valueTo?: LiveValue;
106
135
  children?: LiveExpression[];
136
+ relation?: {
137
+ table: string;
138
+ column: string;
139
+ where?: LiveExpression;
140
+ };
107
141
  };
108
142
  export type LiveValue = {
143
+ context?: "account.id" | "member.id" | "tenant.id";
109
144
  argument?: string;
110
145
  literal?: unknown;
111
146
  };
@@ -151,7 +186,11 @@ export type VisibilityJoin = {
151
186
  export type VisibilityConstraint = {
152
187
  table: string;
153
188
  column: string;
154
- context: VisibilityContextKey;
189
+ /** Exactly one of context or value. */
190
+ context?: VisibilityContextKey;
191
+ value?: {
192
+ literal: JsonValue;
193
+ };
155
194
  };
156
195
  export type VisibilityOperator = "public" | "permission" | "role" | "eqContext" | "inSet" | "and" | "or" | "not";
157
196
  export type VisibilityContextKey = "account.id" | "member.id" | "tenant.id";
@@ -232,9 +271,11 @@ export type ModuleFunction = {
232
271
  result: ModuleSchema;
233
272
  dependencies?: FunctionDependencies;
234
273
  internal?: boolean;
274
+ public?: boolean;
235
275
  delivery?: "oneShot" | "live" | "replica";
236
276
  replica?: ReplicaCollectionDefinition;
237
277
  offline?: JsonValue;
278
+ localExecution?: 1;
238
279
  optimistic?: JsonValue;
239
280
  actionProfile?: "standard" | "agent";
240
281
  actionCapabilities?: ActionCapabilities;
@@ -11,6 +11,7 @@ import { mkdir, readFile, readdir, writeFile } from "node:fs/promises";
11
11
  import { builtinModules } from "node:module";
12
12
  import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
13
13
  import { rolldown } from "rolldown";
14
+ import { projectLocalSchema } from "./local-bindings.js";
14
15
  /** Bumped whenever the artifact layout changes; mixed into the hash. */
15
16
  export const moduleArtifactGeneration = 8;
16
17
  /** Deterministic ESM output when gonvex.json does not name one. */
@@ -99,6 +100,41 @@ export async function buildModuleArtifact(options) {
99
100
  for (const file of [...options.migrations].sort()) {
100
101
  files[projectPath(options.root, file)] = (await readFile(file)).toString("base64");
101
102
  }
103
+ if (Object.values(functions).some((entry) => entry.localExecution === 1)) {
104
+ const schema = await projectLocalSchema(options.root);
105
+ // Reuse only explicitly exposed columns. Offline hydration must never turn
106
+ // a metadata-only API into a route for credential/private table columns.
107
+ for (const [table, plan] of Object.entries(visibilityPlans)) {
108
+ const columns = new Set();
109
+ let maxRows = 50000;
110
+ let maxBytes = 67108864;
111
+ for (const entry of Object.values(functions)) {
112
+ if (entry.internal)
113
+ continue;
114
+ if (entry.replica?.table === table) {
115
+ entry.replica.columns.forEach((column) => columns.add(column));
116
+ if (!Object.keys(entry.replica.equalFilters ?? {}).length) {
117
+ maxRows = Math.min(maxRows, entry.replica.maxRows ?? maxRows);
118
+ maxBytes = Math.min(maxBytes, entry.replica.maxBytes ?? maxBytes);
119
+ }
120
+ }
121
+ if (entry.dependencies?.liveQueryPlan?.table === table)
122
+ entry.dependencies.liveQueryPlan.columns?.forEach((column) => columns.add(column));
123
+ }
124
+ if (!schema[table] || !columns.has(plan.key))
125
+ continue;
126
+ const path = `__local.${table}`;
127
+ if (functions[path])
128
+ throw new Error(`${path} uses the SDK-reserved local replica namespace`);
129
+ functions[path] = {
130
+ kind: "query", handler: "__local", file: projectPath(options.root, entrypoint.absolute),
131
+ args: { kind: "object", fields: {} }, result: { kind: "array", items: { kind: "any" } },
132
+ delivery: "replica", interactive: false, classification: "system",
133
+ replica: { table, key: plan.key, columns: [...columns].filter((column) => !!schema[table].columns[column]),
134
+ mode: "progressive", maxRows, maxBytes },
135
+ };
136
+ }
137
+ }
102
138
  const cronNames = new Set();
103
139
  for (const cron of crons) {
104
140
  if (cronNames.has(cron.name))
@@ -126,6 +162,14 @@ export async function buildModuleArtifact(options) {
126
162
  throw new Error(`action ${JSON.stringify(path)} tool ${JSON.stringify(name)} must target an internal Reducer`);
127
163
  }
128
164
  }
165
+ const clientContractPath = join(options.backendDir, "client-contract.json");
166
+ if (existsSync(clientContractPath)) {
167
+ const bytes = await readFile(clientContractPath);
168
+ const contract = JSON.parse(bytes.toString());
169
+ if (!Number.isSafeInteger(contract.version) || contract.version < 1 || (contract.offlineMaxAgeMs !== null && (!Number.isSafeInteger(contract.offlineMaxAgeMs) || contract.offlineMaxAgeMs <= 0)))
170
+ throw new Error("Invalid client-contract.json");
171
+ files["client-contract.json"] = bytes.toString("base64");
172
+ }
129
173
  const sortedFiles = sortedRecord(files);
130
174
  const sortedFunctions = sortedRecord(functions);
131
175
  const sortedVisibility = sortedRecord(visibilityPlans);
@@ -280,10 +324,22 @@ function parseVisibilityPlan(value) {
280
324
  const constraints = rawWhere.map((constraint) => ({
281
325
  table: stringMember(constraint, "table") ?? "",
282
326
  column: stringMember(constraint, "column") ?? "",
283
- context: stringMember(constraint, "context"),
327
+ ...(stringMember(constraint, "context") ? { context: stringMember(constraint, "context") } : {}),
328
+ ...(readMember(constraint, "value") !== undefined ? { value: readMember(constraint, "value") } : {}),
284
329
  }));
330
+ // A constraint compares its column with either a request context value or
331
+ // a literal ({ literal }), as the module SDK and runtime allow.
332
+ const invalidConstraint = (constraint) => {
333
+ const hasContext = constraint.context !== undefined;
334
+ const hasValue = constraint.value !== undefined;
335
+ if (!constraint.table || !constraint.column || hasContext === hasValue)
336
+ return true;
337
+ if (hasContext)
338
+ return !["account.id", "member.id", "tenant.id"].includes(constraint.context);
339
+ return !isJsonObject(constraint.value) || !Object.prototype.hasOwnProperty.call(constraint.value, "literal") || constraint.value.literal === undefined;
340
+ };
285
341
  if (joins.some((join) => !join.table || !join.leftColumn || !join.rightColumn) ||
286
- constraints.some((constraint) => !constraint.table || !constraint.column || !["account.id", "member.id", "tenant.id"].includes(constraint.context))) {
342
+ constraints.some(invalidConstraint)) {
287
343
  return undefined;
288
344
  }
289
345
  sets[name] = {
@@ -354,9 +410,11 @@ export function moduleManifestFunctions(artifact) {
354
410
  ...(entry.dependencies ? { dependencies: entry.dependencies } : {}),
355
411
  ...(entry.replica ? { replica: entry.replica } : {}),
356
412
  ...(entry.offline === undefined ? {} : { offline: entry.offline }),
413
+ ...(entry.localExecution === undefined ? {} : { localExecution: entry.localExecution }),
357
414
  ...(entry.optimistic === undefined ? {} : { optimistic: entry.optimistic }),
358
415
  ...(entry.actionProfile === undefined ? {} : { actionProfile: entry.actionProfile }),
359
416
  ...(entry.actionCapabilities === undefined ? {} : { actionCapabilities: entry.actionCapabilities }),
417
+ ...(entry.public === undefined ? {} : { public: entry.public }),
360
418
  ...(entry.interactive === undefined ? {} : { interactive: entry.interactive }),
361
419
  ...(entry.classification === undefined ? {} : { classification: entry.classification }),
362
420
  ...(entry.description === undefined ? {} : { description: entry.description }),
@@ -566,7 +624,7 @@ function moduleFunction(input) {
566
624
  if (delivery === "replica" && !replica) {
567
625
  throw new Error(`Replica Collection ${input.path} requires a replica definition`);
568
626
  }
569
- if (input.kind === "query" && (delivery ?? "oneShot") === "oneShot") {
627
+ if (input.kind === "query" && (delivery ?? "oneShot") === "oneShot" && input.options?.get("public")?.value !== true) {
570
628
  const plan = dependencies?.liveQueryPlan;
571
629
  if (!plan)
572
630
  throw new Error(`one-shot query ${input.path} requires a structured live query plan`);
@@ -574,19 +632,33 @@ function moduleFunction(input) {
574
632
  throw new Error(`one-shot query ${input.path} requires a structured live query plan with a table, key, and columns including the key`);
575
633
  }
576
634
  }
577
- const offline = input.options?.get("offline")?.value;
635
+ const declaredOffline = input.options?.get("offline")?.value;
578
636
  const optimistic = input.options?.get("optimistic")?.value;
579
637
  const internalEntry = input.options?.get("internal");
580
638
  if (internalEntry && typeof internalEntry.value !== "boolean") {
581
639
  throw new Error(`${input.kind} ${input.path} internal must be a boolean literal`);
582
640
  }
583
641
  const internal = input.internal || internalEntry?.value === true;
642
+ const publicEntry = input.options?.get("public");
643
+ if (publicEntry && typeof publicEntry.value !== "boolean")
644
+ throw new Error(`${input.kind} ${input.path} public must be a boolean literal`);
645
+ const isPublic = publicEntry?.value === true;
646
+ if (isPublic && internal)
647
+ throw new Error(`public function ${input.path} cannot be internal`);
648
+ if (isPublic && input.kind === "query" && ((delivery ?? "oneShot") !== "oneShot" || replica !== undefined))
649
+ throw new Error(`public query ${input.path} must be one-shot`);
584
650
  const interactiveEntry = input.options?.get("interactive");
585
651
  const interactiveValue = interactiveEntry?.value;
586
652
  if (interactiveEntry && typeof interactiveValue !== "boolean") {
587
653
  throw new Error(`${input.kind} ${input.path} interactive must be a boolean literal`);
588
654
  }
589
655
  const interactive = !internal && (interactiveValue === true || (interactiveValue === undefined && input.kind !== "action"));
656
+ const offline = declaredOffline ?? (input.kind === "reducer" ? { mode: interactive ? "allowed" : "forbidden" } : undefined);
657
+ const localExecution = input.kind === "reducer" && interactive && offline?.mode === "allowed"
658
+ && optimistic === undefined && !input.options?.get("nonOptimisticReason");
659
+ if (isPublic && input.kind === "reducer" && (interactiveValue !== false || offline?.mode === "allowed" || optimistic !== undefined || localExecution)) {
660
+ throw new Error(`public reducer ${input.path} requires interactive: false and server-only execution`);
661
+ }
590
662
  const classification = internal ? "internal" : interactive ? "interactive" : "system";
591
663
  const descriptionEntry = input.options?.get("description");
592
664
  let description;
@@ -621,6 +693,7 @@ function moduleFunction(input) {
621
693
  handler: input.handler,
622
694
  file: input.file,
623
695
  ...(internal ? { internal: true } : {}),
696
+ ...(isPublic ? { public: true } : {}),
624
697
  ...(input.exportName ? { export: input.exportName } : {}),
625
698
  args: schemas.args,
626
699
  result: schemas.result,
@@ -628,6 +701,7 @@ function moduleFunction(input) {
628
701
  ...(delivery === undefined ? {} : { delivery }),
629
702
  ...(replica ? { replica } : {}),
630
703
  ...(offline === undefined ? {} : { offline }),
704
+ ...(localExecution ? { localExecution: 1 } : {}),
631
705
  ...(optimistic === undefined ? {} : { optimistic }),
632
706
  ...(interactiveEntry ? { interactive } : interactive ? { interactive: true } : {}),
633
707
  classification,
@@ -991,7 +1065,11 @@ function normalizeDelivery(value) {
991
1065
  return undefined;
992
1066
  }
993
1067
  function liveQueryPlanFromOptions(options) {
994
- return parseLiveQueryPlan(options.get("liveQueryPlan")?.value);
1068
+ const declared = options.get("liveQueryPlan");
1069
+ const plan = parseLiveQueryPlan(declared?.value);
1070
+ if (declared && !plan)
1071
+ throw new Error('liveQueryPlan must be a literal object, including nested metadata');
1072
+ return plan;
995
1073
  }
996
1074
  function parseLiveQueryPlan(value) {
997
1075
  const table = stringMember(value, "table");
@@ -1012,9 +1090,62 @@ function parseLiveQueryPlan(value) {
1012
1090
  plan.where = where;
1013
1091
  const searchValue = readMember(value, "search");
1014
1092
  const searchArgument = stringMember(searchValue, "argument");
1015
- const searchColumns = stringArray(readMember(searchValue, "columns"));
1016
- if (searchArgument && searchColumns)
1093
+ const rawSearchColumns = readMember(searchValue, "columns");
1094
+ const searchColumns = Array.isArray(rawSearchColumns) && rawSearchColumns.length === 0 ? [] : stringArray(rawSearchColumns);
1095
+ if (searchArgument && searchColumns) {
1017
1096
  plan.search = { argument: searchArgument, columns: searchColumns };
1097
+ if (readMember(searchValue, 'booleanTerms') === true)
1098
+ plan.search.booleanTerms = true;
1099
+ const offlineColumns = stringArray(readMember(searchValue, 'offlineColumns'));
1100
+ if (offlineColumns)
1101
+ plan.search.offlineColumns = offlineColumns;
1102
+ const sources = readMember(searchValue, 'sources');
1103
+ if (sources !== undefined) {
1104
+ if (!Array.isArray(sources))
1105
+ throw new Error('Search sources must be a literal array');
1106
+ plan.search.sources = sources.map(source => {
1107
+ const table = stringMember(source, 'table'), key = stringMember(source, 'key'), column = stringMember(source, 'column');
1108
+ if (!table || !key || !column)
1109
+ throw new Error('Search sources require table, key and column');
1110
+ const dependencies = stringArray(readMember(source, 'dependencies'));
1111
+ return { table, key, column, ...(dependencies ? { dependencies } : {}) };
1112
+ });
1113
+ }
1114
+ }
1115
+ const indexValue = readMember(value, 'index');
1116
+ if (indexValue !== undefined) {
1117
+ const table = stringMember(indexValue, 'table'), key = stringMember(indexValue, 'key');
1118
+ const columns = stringArray(readMember(indexValue, 'columns'));
1119
+ if (!table || !key || !columns)
1120
+ throw new Error('Live Query indexes require literal table, key and columns');
1121
+ plan.index = { table, key, columns };
1122
+ const referenceFields = readMember(indexValue, 'referenceFields');
1123
+ if (referenceFields !== undefined) {
1124
+ if (!isJsonObject(referenceFields))
1125
+ throw new Error('Index referenceFields must be a literal object');
1126
+ plan.index.referenceFields = Object.fromEntries(Object.entries(referenceFields).map(([name, field]) => {
1127
+ const table = stringMember(field, 'table'), foreignKey = stringMember(field, 'foreignKey'), column = stringMember(field, 'column');
1128
+ if (!table || !foreignKey || !column)
1129
+ throw new Error('Index reference fields require table, foreignKey and column');
1130
+ const fallback = readMember(field, 'fallback');
1131
+ return [name, { table, foreignKey, column, ...(fallback !== undefined ? { fallback } : {}) }];
1132
+ }));
1133
+ }
1134
+ const dependencies = stringArray(readMember(indexValue, 'dependencies'));
1135
+ if (dependencies)
1136
+ plan.index.dependencies = dependencies;
1137
+ const sortColumns = readMember(indexValue, 'sortColumns');
1138
+ if (sortColumns !== undefined) {
1139
+ if (!isJsonObject(sortColumns))
1140
+ throw new Error('Index sortColumns must be a literal object');
1141
+ plan.index.sortColumns = Object.fromEntries(Object.entries(sortColumns).map(([column, value]) => {
1142
+ const fields = stringArray(value);
1143
+ if (!fields?.length)
1144
+ throw new Error('Index sort columns must be a nonempty string array');
1145
+ return [column, fields];
1146
+ }));
1147
+ }
1148
+ }
1018
1149
  const filtersValue = readMember(value, "filters");
1019
1150
  const filtersArgument = stringMember(filtersValue, "argument");
1020
1151
  const filtersColumns = stringArray(readMember(filtersValue, "allowedColumns"));
@@ -1063,10 +1194,20 @@ function parseLiveExpression(value) {
1063
1194
  const operator = stringMember(value, "operator");
1064
1195
  if (!operator || ![
1065
1196
  "eq", "neq", "gt", "gte", "lt", "lte", "in", "contains",
1066
- "containsInsensitive", "range", "and", "or", "not", "server",
1197
+ "containsInsensitive", "range", "and", "or", "not", "server", "inRelation", "arrayContains",
1067
1198
  ].includes(operator))
1068
1199
  return undefined;
1069
1200
  const expression = { operator: operator };
1201
+ if (operator === 'inRelation') {
1202
+ const relation = readMember(value, 'relation');
1203
+ const table = stringMember(relation, 'table'), column = stringMember(relation, 'column');
1204
+ if (!table || !column)
1205
+ throw new Error('Related query scopes require a literal table and column');
1206
+ const where = parseLiveExpression(readMember(relation, 'where'));
1207
+ if (readMember(relation, 'where') !== undefined && !where)
1208
+ throw new Error('Invalid related query predicate');
1209
+ expression.relation = { table, column, ...(where ? { where } : {}) };
1210
+ }
1070
1211
  const column = stringMember(value, "column");
1071
1212
  if (column)
1072
1213
  expression.column = column;
@@ -1085,6 +1226,12 @@ function parseLiveExpression(value) {
1085
1226
  return expression;
1086
1227
  }
1087
1228
  function parseLiveValue(value) {
1229
+ const context = stringMember(value, 'context');
1230
+ if (context) {
1231
+ if (!['account.id', 'member.id', 'tenant.id'].includes(context))
1232
+ throw new Error('Invalid query identity context');
1233
+ return { context: context };
1234
+ }
1088
1235
  const argument = stringMember(value, "argument");
1089
1236
  if (argument)
1090
1237
  return { argument };