@rocicorp/zero 0.23.2025081401 → 0.23.2025081900
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/analyze-query/src/bin-analyze.d.ts.map +1 -1
- package/out/analyze-query/src/bin-analyze.js +56 -99
- package/out/analyze-query/src/bin-analyze.js.map +1 -1
- package/out/analyze-query/src/explain-queries.d.ts +4 -0
- package/out/analyze-query/src/explain-queries.d.ts.map +1 -0
- package/out/analyze-query/src/explain-queries.js +18 -0
- package/out/analyze-query/src/explain-queries.js.map +1 -0
- package/out/analyze-query/src/run-ast.d.ts +29 -0
- package/out/analyze-query/src/run-ast.d.ts.map +1 -0
- package/out/analyze-query/src/run-ast.js +68 -0
- package/out/analyze-query/src/run-ast.js.map +1 -0
- package/out/{chunk-O536GEIT.js → chunk-RPVWLROJ.js} +80 -35
- package/out/{chunk-O536GEIT.js.map → chunk-RPVWLROJ.js.map} +3 -3
- package/out/{chunk-ZIZNSAHP.js → chunk-ZKQCPILX.js} +55 -58
- package/out/chunk-ZKQCPILX.js.map +7 -0
- package/out/{chunk-KKPRF2XZ.js → chunk-ZZJ2SCHD.js} +124 -63
- package/out/{chunk-KKPRF2XZ.js.map → chunk-ZZJ2SCHD.js.map} +4 -4
- package/out/{inspector-J5P4DOGH.js → inspector-NC47TWFX.js} +4 -3
- package/out/{inspector-J5P4DOGH.js.map → inspector-NC47TWFX.js.map} +2 -2
- package/out/react.js +2 -2
- package/out/solid.js +3 -3
- package/out/zero/package.json +1 -1
- package/out/zero/src/server/reaper.d.ts +2 -0
- package/out/zero/src/server/reaper.d.ts.map +1 -0
- package/out/zero/src/server/reaper.js +2 -0
- package/out/zero/src/server/reaper.js.map +1 -0
- package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
- package/out/zero-cache/src/auth/write-authorizer.js +2 -3
- package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts +4 -0
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +9 -1
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/custom-queries/transform-query.d.ts +2 -3
- package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +1 -1
- package/out/zero-cache/src/custom-queries/transform-query.js +18 -4
- package/out/zero-cache/src/custom-queries/transform-query.js.map +1 -1
- package/out/zero-cache/src/observability/events.js +1 -2
- package/out/zero-cache/src/observability/events.js.map +1 -1
- package/out/zero-cache/src/server/inspect-metrics-delegate.d.ts +23 -0
- package/out/zero-cache/src/server/inspect-metrics-delegate.d.ts.map +1 -0
- package/out/zero-cache/src/server/inspect-metrics-delegate.js +55 -0
- package/out/zero-cache/src/server/inspect-metrics-delegate.js.map +1 -0
- package/out/zero-cache/src/server/main.d.ts.map +1 -1
- package/out/zero-cache/src/server/main.js +12 -15
- package/out/zero-cache/src/server/main.js.map +1 -1
- package/out/zero-cache/src/server/reaper.d.ts +3 -0
- package/out/zero-cache/src/server/reaper.d.ts.map +1 -0
- package/out/zero-cache/src/server/reaper.js +31 -0
- package/out/zero-cache/src/server/reaper.js.map +1 -0
- package/out/zero-cache/src/server/runner/zero-dispatcher.d.ts.map +1 -1
- package/out/zero-cache/src/server/runner/zero-dispatcher.js +6 -0
- package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -1
- package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/server/syncer.js +3 -1
- package/out/zero-cache/src/server/syncer.js.map +1 -1
- package/out/zero-cache/src/services/analyze.d.ts +6 -0
- package/out/zero-cache/src/services/analyze.d.ts.map +1 -0
- package/out/zero-cache/src/services/analyze.js +70 -0
- package/out/zero-cache/src/services/analyze.js.map +1 -0
- package/out/zero-cache/src/services/change-source/custom/change-source.js +1 -1
- package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js +8 -3
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.d.ts +38 -2
- package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/change-processor.d.ts +3 -2
- package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/change-processor.js +39 -34
- package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.js +1 -3
- package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
- package/out/zero-cache/src/services/replicator/replication-status.js +1 -1
- package/out/zero-cache/src/services/replicator/replication-status.js.map +1 -1
- package/out/zero-cache/src/services/running-state.d.ts +5 -0
- package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
- package/out/zero-cache/src/services/running-state.js +8 -1
- package/out/zero-cache/src/services/running-state.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +2 -0
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.js +3 -0
- package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts +16 -0
- package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/cvr-purger.js +86 -0
- package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +16 -9
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +50 -30
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/cvr.js +36 -26
- package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.js +27 -0
- package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +2 -9
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +93 -75
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/pg.d.ts +1 -1
- package/out/zero-cache/src/types/pg.js +1 -1
- package/out/zero-client/src/client/context.d.ts +1 -0
- package/out/zero-client/src/client/context.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/types.d.ts +1 -0
- package/out/zero-client/src/client/inspector/types.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/mod.d.ts +1 -1
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-events/src/status.d.ts +10 -9
- package/out/zero-events/src/status.d.ts.map +1 -1
- package/out/zero-events/src/status.js +7 -10
- package/out/zero-events/src/status.js.map +1 -1
- package/out/zero-protocol/src/custom-queries.d.ts +77 -5
- package/out/zero-protocol/src/custom-queries.d.ts.map +1 -1
- package/out/zero-protocol/src/custom-queries.js +19 -1
- package/out/zero-protocol/src/custom-queries.js.map +1 -1
- package/out/zero-protocol/src/down.d.ts +19 -1
- package/out/zero-protocol/src/down.d.ts.map +1 -1
- package/out/zero-protocol/src/down.js +2 -1
- package/out/zero-protocol/src/down.js.map +1 -1
- package/out/zero-protocol/src/inspect-down.d.ts +8 -0
- package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
- package/out/zero-protocol/src/inspect-down.js +1 -0
- package/out/zero-protocol/src/inspect-down.js.map +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
- package/out/zero-protocol/src/protocol-version.js +3 -1
- package/out/zero-protocol/src/protocol-version.js.map +1 -1
- package/out/zero-server/src/mod.d.ts +1 -0
- package/out/zero-server/src/mod.d.ts.map +1 -1
- package/out/zero-server/src/mod.js +1 -0
- package/out/zero-server/src/mod.js.map +1 -1
- package/out/zero-server/src/process-mutations.d.ts +46 -0
- package/out/zero-server/src/process-mutations.d.ts.map +1 -0
- package/out/zero-server/src/process-mutations.js +187 -0
- package/out/zero-server/src/process-mutations.js.map +1 -0
- package/out/zero-server/src/push-processor.d.ts +2 -27
- package/out/zero-server/src/push-processor.d.ts.map +1 -1
- package/out/zero-server/src/push-processor.js +17 -154
- package/out/zero-server/src/push-processor.js.map +1 -1
- package/out/zero-server/src/queries/process-queries.d.ts +1 -1
- package/out/zero-server/src/queries/process-queries.d.ts.map +1 -1
- package/out/zero-server/src/queries/process-queries.js +1 -1
- package/out/zero-server/src/queries/process-queries.js.map +1 -1
- package/out/zero-server/src/zql-database.d.ts +1 -1
- package/out/zero-server/src/zql-database.d.ts.map +1 -1
- package/out/zero.js +14 -10
- package/out/zql/src/builder/builder.d.ts +5 -1
- package/out/zql/src/builder/builder.d.ts.map +1 -1
- package/out/zql/src/builder/builder.js +49 -16
- package/out/zql/src/builder/builder.js.map +1 -1
- package/out/zql/src/builder/debug-delegate.d.ts +29 -0
- package/out/zql/src/builder/debug-delegate.d.ts.map +1 -0
- package/out/zql/src/builder/debug-delegate.js +55 -0
- package/out/zql/src/builder/debug-delegate.js.map +1 -0
- package/out/zql/src/builder/filter.d.ts +0 -3
- package/out/zql/src/builder/filter.d.ts.map +1 -1
- package/out/zql/src/builder/filter.js +0 -3
- package/out/zql/src/builder/filter.js.map +1 -1
- package/out/zql/src/ivm/filter-operators.d.ts +2 -1
- package/out/zql/src/ivm/filter-operators.d.ts.map +1 -1
- package/out/zql/src/ivm/filter-operators.js +7 -2
- package/out/zql/src/ivm/filter-operators.js.map +1 -1
- package/out/zql/src/ivm/memory-source.d.ts +2 -0
- package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
- package/out/zql/src/ivm/memory-source.js.map +1 -1
- package/out/zql/src/ivm/source.d.ts +2 -1
- package/out/zql/src/ivm/source.d.ts.map +1 -1
- package/out/zql/src/query/measure-push-operator.d.ts +19 -0
- package/out/zql/src/query/measure-push-operator.d.ts.map +1 -0
- package/out/zql/src/query/measure-push-operator.js +36 -0
- package/out/zql/src/query/measure-push-operator.js.map +1 -0
- package/out/zql/src/query/metrics-delegate.d.ts +3 -0
- package/out/zql/src/query/metrics-delegate.d.ts.map +1 -1
- package/out/zql/src/query/metrics-delegate.js +6 -1
- package/out/zql/src/query/metrics-delegate.js.map +1 -1
- package/out/zql/src/query/named.d.ts +38 -9
- package/out/zql/src/query/named.d.ts.map +1 -1
- package/out/zql/src/query/named.js +49 -24
- package/out/zql/src/query/named.js.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +1 -1
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zqlite/src/query-delegate.d.ts +1 -0
- package/out/zqlite/src/query-delegate.d.ts.map +1 -1
- package/out/zqlite/src/query-delegate.js +2 -1
- package/out/zqlite/src/query-delegate.js.map +1 -1
- package/out/zqlite/src/table-source.d.ts +3 -2
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +8 -10
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +1 -1
- package/out/chunk-ZIZNSAHP.js.map +0 -7
- package/out/zero-client/src/client/measure-push-operator.d.ts +0 -17
- package/out/zero-client/src/client/measure-push-operator.d.ts.map +0 -1
- package/out/zqlite/src/runtime-debug.d.ts +0 -23
- package/out/zqlite/src/runtime-debug.d.ts.map +0 -1
- package/out/zqlite/src/runtime-debug.js +0 -69
- package/out/zqlite/src/runtime-debug.js.map +0 -1
|
@@ -1,56 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
clientToServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZZJ2SCHD.js";
|
|
4
4
|
import {
|
|
5
5
|
AbstractQuery,
|
|
6
6
|
ExpressionBuilder,
|
|
7
|
-
astSchema,
|
|
8
7
|
defaultFormat,
|
|
9
|
-
jsonSchema,
|
|
10
8
|
mapCondition,
|
|
11
|
-
mapEntries,
|
|
12
9
|
newQuery,
|
|
13
10
|
newQuerySymbol,
|
|
14
|
-
readonly,
|
|
15
11
|
staticParam,
|
|
16
|
-
toStaticParam
|
|
17
|
-
|
|
18
|
-
} from "./chunk-O536GEIT.js";
|
|
12
|
+
toStaticParam
|
|
13
|
+
} from "./chunk-RPVWLROJ.js";
|
|
19
14
|
import {
|
|
20
15
|
assert
|
|
21
16
|
} from "./chunk-SGW2EIVJ.js";
|
|
22
17
|
|
|
23
|
-
// ../zero-protocol/src/custom-queries.ts
|
|
24
|
-
var transformRequestBodySchema = valita_exports.array(
|
|
25
|
-
valita_exports.object({
|
|
26
|
-
id: valita_exports.string(),
|
|
27
|
-
name: valita_exports.string(),
|
|
28
|
-
args: readonly(valita_exports.array(jsonSchema))
|
|
29
|
-
})
|
|
30
|
-
);
|
|
31
|
-
var transformedQuerySchema = valita_exports.object({
|
|
32
|
-
id: valita_exports.string(),
|
|
33
|
-
name: valita_exports.string(),
|
|
34
|
-
ast: astSchema
|
|
35
|
-
});
|
|
36
|
-
var erroredQuerySchema = valita_exports.object({
|
|
37
|
-
error: valita_exports.literal("app"),
|
|
38
|
-
id: valita_exports.string(),
|
|
39
|
-
name: valita_exports.string(),
|
|
40
|
-
details: jsonSchema
|
|
41
|
-
});
|
|
42
|
-
var transformResponseBodySchema = valita_exports.array(
|
|
43
|
-
valita_exports.union(transformedQuerySchema, erroredQuerySchema)
|
|
44
|
-
);
|
|
45
|
-
var transformRequestMessageSchema = valita_exports.tuple([
|
|
46
|
-
valita_exports.literal("transform"),
|
|
47
|
-
transformRequestBodySchema
|
|
48
|
-
]);
|
|
49
|
-
var transformResponseMessageSchema = valita_exports.tuple([
|
|
50
|
-
valita_exports.literal("transformed"),
|
|
51
|
-
transformResponseBodySchema
|
|
52
|
-
]);
|
|
53
|
-
|
|
54
18
|
// ../zero-schema/src/builder/relationship-builder.ts
|
|
55
19
|
function relationships(table2, cb) {
|
|
56
20
|
const relationships2 = cb({ many, one });
|
|
@@ -306,25 +270,58 @@ function escapeLike(val) {
|
|
|
306
270
|
function createBuilder(s) {
|
|
307
271
|
return makeQueryBuilders(s);
|
|
308
272
|
}
|
|
309
|
-
function
|
|
310
|
-
|
|
273
|
+
function syncedQuery(name, validatorOrQueryFn, maybeQueryFn) {
|
|
274
|
+
let fn;
|
|
275
|
+
let validator;
|
|
276
|
+
if (maybeQueryFn === void 0) {
|
|
277
|
+
fn = validatorOrQueryFn;
|
|
278
|
+
} else {
|
|
279
|
+
fn = maybeQueryFn;
|
|
280
|
+
validator = validatorOrQueryFn;
|
|
281
|
+
}
|
|
282
|
+
const ret = (...args) => fn(...args).nameAndArgs(name, args);
|
|
283
|
+
ret.takesContext = false;
|
|
284
|
+
ret.validator = validator;
|
|
285
|
+
ret.queryName = name;
|
|
286
|
+
return ret;
|
|
287
|
+
}
|
|
288
|
+
function syncedQueryWithContext(name, queryOrValidator, query) {
|
|
289
|
+
let fn;
|
|
290
|
+
let validator;
|
|
291
|
+
if (query === void 0) {
|
|
292
|
+
fn = queryOrValidator;
|
|
293
|
+
} else {
|
|
294
|
+
fn = query;
|
|
295
|
+
validator = queryOrValidator;
|
|
296
|
+
}
|
|
297
|
+
return contextualizedSyncedQuery(name, validator, fn);
|
|
311
298
|
}
|
|
312
|
-
function
|
|
299
|
+
function contextualizedSyncedQuery(name, validator, fn) {
|
|
313
300
|
const ret = (context, ...args) => fn(context, ...args).nameAndArgs(name, args);
|
|
314
|
-
ret.
|
|
301
|
+
ret.takesContext = true;
|
|
302
|
+
if (validator) {
|
|
303
|
+
ret.validator = validator;
|
|
304
|
+
}
|
|
305
|
+
ret.queryName = name;
|
|
315
306
|
return ret;
|
|
316
307
|
}
|
|
317
|
-
function
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
308
|
+
function withContext(fn) {
|
|
309
|
+
if (fn.takesContext) {
|
|
310
|
+
return fn;
|
|
311
|
+
}
|
|
312
|
+
const contextualized = (_context, ...args) => fn(...args).nameAndArgs(fn.queryName, args);
|
|
313
|
+
contextualized.takesContext = true;
|
|
314
|
+
return contextualized;
|
|
322
315
|
}
|
|
323
|
-
function
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
316
|
+
function withValidation(fn) {
|
|
317
|
+
const { validator, takesContext } = fn;
|
|
318
|
+
if (validator) {
|
|
319
|
+
if (takesContext) {
|
|
320
|
+
return (context, ...args) => fn(context, ...validator(...args));
|
|
321
|
+
}
|
|
322
|
+
return (...args) => fn(...validator(...args));
|
|
323
|
+
}
|
|
324
|
+
throw new Error(fn.name + " does not have a validator defined");
|
|
328
325
|
}
|
|
329
326
|
function makeQueryBuilders(schema) {
|
|
330
327
|
return new Proxy(
|
|
@@ -346,8 +343,6 @@ function makeQueryBuilders(schema) {
|
|
|
346
343
|
}
|
|
347
344
|
|
|
348
345
|
export {
|
|
349
|
-
transformRequestMessageSchema,
|
|
350
|
-
transformResponseMessageSchema,
|
|
351
346
|
relationships,
|
|
352
347
|
ANYONE_CAN,
|
|
353
348
|
ANYONE_CAN_DO_ANYTHING,
|
|
@@ -355,7 +350,9 @@ export {
|
|
|
355
350
|
definePermissions,
|
|
356
351
|
escapeLike,
|
|
357
352
|
createBuilder,
|
|
358
|
-
|
|
359
|
-
|
|
353
|
+
syncedQuery,
|
|
354
|
+
syncedQueryWithContext,
|
|
355
|
+
withContext,
|
|
356
|
+
withValidation
|
|
360
357
|
};
|
|
361
|
-
//# sourceMappingURL=chunk-
|
|
358
|
+
//# sourceMappingURL=chunk-ZKQCPILX.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../zero-schema/src/builder/relationship-builder.ts", "../../zql/src/query/static-query.ts", "../../zero-schema/src/permissions.ts", "../../zql/src/query/escape-like.ts", "../../zql/src/query/named.ts"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type {Relationship, TableSchema} from '../table-schema.ts';\nimport type {TableBuilderWithColumns} from './table-builder.ts';\n\ntype ConnectArg<TSourceField, TDestField, TDest extends TableSchema> = {\n readonly sourceField: TSourceField;\n readonly destField: TDestField;\n readonly destSchema: TableBuilderWithColumns<TDest>;\n};\n\ntype ManyConnection<TSourceField, TDestField, TDest extends TableSchema> = {\n readonly sourceField: TSourceField;\n readonly destField: TDestField;\n readonly destSchema: TDest['name'];\n readonly cardinality: 'many';\n};\n\ntype OneConnection<TSourceField, TDestField, TDest extends TableSchema> = {\n readonly sourceField: TSourceField;\n readonly destField: TDestField;\n readonly destSchema: TDest['name'];\n readonly cardinality: 'one';\n};\n\ntype Prev = [-1, 0, 1, 2, 3, 4, 5, 6];\n\nexport type PreviousSchema<\n TSource extends TableSchema,\n K extends number,\n TDests extends TableSchema[],\n> = K extends 0 ? TSource : TDests[Prev[K]];\n\nexport type Relationships = {\n name: string; // table name\n relationships: Record<string, Relationship>; // relationships for that table\n};\n\nexport function relationships<\n TSource extends TableSchema,\n TRelationships extends Record<string, Relationship>,\n>(\n table: TableBuilderWithColumns<TSource>,\n cb: (connects: {\n many: <\n TDests extends TableSchema[],\n TSourceFields extends {\n [K in keyof TDests]: (keyof PreviousSchema<\n TSource,\n K & number,\n TDests\n >['columns'] &\n string)[];\n },\n TDestFields extends {\n [K in keyof TDests]: (keyof TDests[K]['columns'] & string)[];\n },\n >(\n ...args: {\n [K in keyof TDests]: ConnectArg<\n TSourceFields[K],\n TDestFields[K],\n TDests[K]\n >;\n }\n ) => {\n [K in keyof TDests]: ManyConnection<\n TSourceFields[K],\n TDestFields[K],\n TDests[K]\n >;\n };\n one: <\n TDests extends TableSchema[],\n TSourceFields extends {\n [K in keyof TDests]: (keyof PreviousSchema<\n TSource,\n K & number,\n TDests\n >['columns'] &\n string)[];\n },\n TDestFields extends {\n [K in keyof TDests]: (keyof TDests[K]['columns'] & string)[];\n },\n >(\n ...args: {\n [K in keyof TDests]: ConnectArg<\n TSourceFields[K],\n TDestFields[K],\n TDests[K]\n >;\n }\n ) => {\n [K in keyof TDests]: OneConnection<\n TSourceFields[K],\n TDestFields[K],\n TDests[K]\n >;\n };\n }) => TRelationships,\n): {name: TSource['name']; relationships: TRelationships} {\n const relationships = cb({many, one} as any);\n\n return {\n name: table.schema.name,\n relationships,\n };\n}\n\nfunction many(\n ...args: readonly ConnectArg<any, any, TableSchema>[]\n): ManyConnection<any, any, any>[] {\n return args.map(arg => ({\n sourceField: arg.sourceField,\n destField: arg.destField,\n destSchema: arg.destSchema.schema.name,\n cardinality: 'many',\n }));\n}\n\nfunction one(\n ...args: readonly ConnectArg<any, any, TableSchema>[]\n): OneConnection<any, any, any>[] {\n return args.map(arg => ({\n sourceField: arg.sourceField,\n destField: arg.destField,\n destSchema: arg.destSchema.schema.name,\n cardinality: 'one',\n }));\n}\n", "import type {AST, System} from '../../../zero-protocol/src/ast.ts';\nimport type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts';\nimport type {Format} from '../ivm/view.ts';\nimport {ExpressionBuilder} from './expression.ts';\nimport type {CustomQueryID} from './named.ts';\nimport type {QueryDelegate} from './query-delegate.ts';\nimport {AbstractQuery, defaultFormat, newQuerySymbol} from './query-impl.ts';\nimport type {HumanReadable, PullRow, Query} from './query.ts';\nimport type {TypedView} from './typed-view.ts';\n\nexport function staticQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n>(schema: TSchema, tableName: TTable): Query<TSchema, TTable> {\n return new StaticQuery<TSchema, TTable>(\n schema,\n tableName,\n {table: tableName},\n defaultFormat,\n );\n}\n\n/**\n * A query that cannot be run.\n * Only serves to generate ASTs.\n */\nexport class StaticQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn = PullRow<TTable, TSchema>,\n> extends AbstractQuery<TSchema, TTable, TReturn> {\n constructor(\n schema: TSchema,\n tableName: TTable,\n ast: AST,\n format: Format,\n system: System = 'permissions',\n customQueryID?: CustomQueryID | undefined,\n currentJunction?: string | undefined,\n ) {\n super(\n undefined,\n schema,\n tableName,\n ast,\n format,\n system,\n customQueryID,\n currentJunction,\n );\n }\n\n expressionBuilder() {\n return new ExpressionBuilder(this._exists);\n }\n\n protected [newQuerySymbol]<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n >(\n _delegate: QueryDelegate | undefined,\n schema: TSchema,\n tableName: TTable,\n ast: AST,\n format: Format,\n customQueryID: CustomQueryID | undefined,\n currentJunction: string | undefined,\n ): StaticQuery<TSchema, TTable, TReturn> {\n return new StaticQuery(\n schema,\n tableName,\n ast,\n format,\n 'permissions',\n customQueryID,\n currentJunction,\n );\n }\n\n get ast() {\n return this._completeAst();\n }\n\n materialize(): TypedView<HumanReadable<TReturn>> {\n throw new Error('StaticQuery cannot be materialized');\n }\n\n run(): Promise<HumanReadable<TReturn>> {\n return Promise.reject(new Error('StaticQuery cannot be run'));\n }\n\n preload(): {\n cleanup: () => void;\n complete: Promise<void>;\n } {\n throw new Error('StaticQuery cannot be preloaded');\n }\n}\n", "import {assert} from '../../shared/src/asserts.ts';\nimport {\n mapCondition,\n toStaticParam,\n type Condition,\n type Parameter,\n} from '../../zero-protocol/src/ast.ts';\nimport type {ExpressionBuilder} from '../../zql/src/query/expression.ts';\nimport {defaultFormat, staticParam} from '../../zql/src/query/query-impl.ts';\nimport type {Query} from '../../zql/src/query/query.ts';\nimport {StaticQuery} from '../../zql/src/query/static-query.ts';\nimport type {Schema} from './builder/schema-builder.ts';\nimport type {\n AssetPermissions as CompiledAssetPermissions,\n PermissionsConfig as CompiledPermissionsConfig,\n} from './compiled-permissions.ts';\nimport {clientToServer, NameMapper} from './name-mapper.ts';\n\nexport const ANYONE_CAN = [\n (_: unknown, eb: ExpressionBuilder<Schema, never>) => eb.and(),\n];\n\n/**\n * @deprecated Use {@link ANYONE_CAN} instead.\n */\nexport const ANYONE_CAN_DO_ANYTHING = {\n row: {\n select: ANYONE_CAN,\n insert: ANYONE_CAN,\n update: {\n preMutation: ANYONE_CAN,\n postMutation: ANYONE_CAN,\n },\n delete: ANYONE_CAN,\n },\n};\n\nexport const NOBODY_CAN = [];\n\nexport type Anchor = 'authData' | 'preMutationRow';\n\nexport type Queries<TSchema extends Schema> = {\n [K in keyof TSchema['tables']]: Query<Schema, K & string>;\n};\n\nexport type PermissionRule<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n> = (\n authData: TAuthDataShape,\n eb: ExpressionBuilder<TSchema, TTable>,\n) => Condition;\n\nexport type AssetPermissions<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n> = {\n // Why an array of rules?: https://github.com/rocicorp/mono/pull/3184/files#r1869680716\n select?: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined;\n /**\n * @deprecated Use Mutators instead.\n * @see {@link https://zero.rocicorp.dev/docs/writing-data}\n */\n insert?: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined;\n /**\n * @deprecated Use Mutators instead.\n * @see {@link https://zero.rocicorp.dev/docs/writing-data}\n */\n update?:\n | {\n preMutation?: PermissionRule<TAuthDataShape, TSchema, TTable>[];\n postMutation?: PermissionRule<TAuthDataShape, TSchema, TTable>[];\n }\n | undefined;\n /**\n * @deprecated Use Mutators instead.\n * @see {@link https://zero.rocicorp.dev/docs/writing-data}\n */\n delete?: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined;\n};\n\nexport type PermissionsConfig<TAuthDataShape, TSchema extends Schema> = {\n [K in keyof TSchema['tables']]?: {\n row?: AssetPermissions<TAuthDataShape, TSchema, K & string> | undefined;\n cell?:\n | {\n [C in keyof TSchema['tables'][K]['columns']]?: Omit<\n AssetPermissions<TAuthDataShape, TSchema, K & string>,\n 'cell'\n >;\n }\n | undefined;\n };\n};\n\nexport async function definePermissions<TAuthDataShape, TSchema extends Schema>(\n schema: TSchema,\n definer: () =>\n | Promise<PermissionsConfig<TAuthDataShape, TSchema>>\n | PermissionsConfig<TAuthDataShape, TSchema>,\n): Promise<CompiledPermissionsConfig | undefined> {\n const expressionBuilders = {} as Record<\n string,\n ExpressionBuilder<Schema, string>\n >;\n for (const name of Object.keys(schema.tables)) {\n expressionBuilders[name] = new StaticQuery(\n schema,\n name,\n {table: name},\n defaultFormat,\n ).expressionBuilder();\n }\n\n const config = await definer();\n return compilePermissions(schema, config, expressionBuilders);\n}\n\nfunction compilePermissions<TAuthDataShape, TSchema extends Schema>(\n schema: TSchema,\n authz: PermissionsConfig<TAuthDataShape, TSchema> | undefined,\n expressionBuilders: Record<string, ExpressionBuilder<Schema, string>>,\n): CompiledPermissionsConfig | undefined {\n if (!authz) {\n return undefined;\n }\n const nameMapper = clientToServer(schema.tables);\n const ret: CompiledPermissionsConfig = {tables: {}};\n for (const [tableName, tableConfig] of Object.entries(authz)) {\n const serverName = schema.tables[tableName].serverName ?? tableName;\n ret.tables[serverName] = {\n row: compileRowConfig(\n nameMapper,\n tableName,\n tableConfig.row,\n expressionBuilders[tableName],\n ),\n cell: compileCellConfig(\n nameMapper,\n tableName,\n tableConfig.cell,\n expressionBuilders[tableName],\n ),\n };\n }\n\n return ret;\n}\n\nfunction compileRowConfig<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n>(\n clientToServer: NameMapper,\n tableName: TTable,\n rowRules: AssetPermissions<TAuthDataShape, TSchema, TTable> | undefined,\n expressionBuilder: ExpressionBuilder<TSchema, TTable>,\n): CompiledAssetPermissions | undefined {\n if (!rowRules) {\n return undefined;\n }\n return {\n select: compileRules(\n clientToServer,\n tableName,\n rowRules.select,\n expressionBuilder,\n ),\n insert: compileRules(\n clientToServer,\n tableName,\n rowRules.insert,\n expressionBuilder,\n ),\n update: {\n preMutation: compileRules(\n clientToServer,\n tableName,\n rowRules.update?.preMutation,\n expressionBuilder,\n ),\n postMutation: compileRules(\n clientToServer,\n tableName,\n rowRules.update?.postMutation,\n expressionBuilder,\n ),\n },\n delete: compileRules(\n clientToServer,\n tableName,\n rowRules.delete,\n expressionBuilder,\n ),\n };\n}\n\n/**\n * What is this \"allow\" and why are permissions policies an array of rules?\n *\n * Please read: https://github.com/rocicorp/mono/pull/3184/files#r1869680716\n */\nfunction compileRules<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n>(\n clientToServer: NameMapper,\n tableName: TTable,\n rules: PermissionRule<TAuthDataShape, TSchema, TTable>[] | undefined,\n expressionBuilder: ExpressionBuilder<TSchema, TTable>,\n): ['allow', Condition][] | undefined {\n if (!rules) {\n return undefined;\n }\n\n return rules.map(rule => {\n const cond = rule(authDataRef as TAuthDataShape, expressionBuilder);\n return ['allow', mapCondition(cond, tableName, clientToServer)] as const;\n });\n}\n\nfunction compileCellConfig<\n TAuthDataShape,\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n>(\n clientToServer: NameMapper,\n tableName: TTable,\n cellRules:\n | Record<string, AssetPermissions<TAuthDataShape, TSchema, TTable>>\n | undefined,\n expressionBuilder: ExpressionBuilder<TSchema, TTable>,\n): Record<string, CompiledAssetPermissions> | undefined {\n if (!cellRules) {\n return undefined;\n }\n const ret: Record<string, CompiledAssetPermissions> = {};\n for (const [columnName, rules] of Object.entries(cellRules)) {\n ret[columnName] = {\n select: compileRules(\n clientToServer,\n tableName,\n rules.select,\n expressionBuilder,\n ),\n insert: compileRules(\n clientToServer,\n tableName,\n rules.insert,\n expressionBuilder,\n ),\n update: {\n preMutation: compileRules(\n clientToServer,\n tableName,\n rules.update?.preMutation,\n expressionBuilder,\n ),\n postMutation: compileRules(\n clientToServer,\n tableName,\n rules.update?.postMutation,\n expressionBuilder,\n ),\n },\n delete: compileRules(\n clientToServer,\n tableName,\n rules.delete,\n expressionBuilder,\n ),\n };\n }\n return ret;\n}\n\nclass CallTracker {\n readonly #anchor: Anchor;\n readonly #path: string[];\n constructor(anchor: Anchor, path: string[]) {\n this.#anchor = anchor;\n this.#path = path;\n }\n\n get(target: {[toStaticParam]: () => Parameter}, prop: string | symbol) {\n if (prop === toStaticParam) {\n return target[toStaticParam];\n }\n assert(typeof prop === 'string');\n const path = [...this.#path, prop];\n return new Proxy(\n {\n [toStaticParam]: () => staticParam(this.#anchor, path),\n },\n new CallTracker(this.#anchor, path),\n );\n }\n}\n\nfunction baseTracker(anchor: Anchor) {\n return new Proxy(\n {\n [toStaticParam]: () => {\n throw new Error('no JWT field specified');\n },\n },\n new CallTracker(anchor, []),\n );\n}\n\nexport const authDataRef = baseTracker('authData');\nexport const preMutationRowRef = baseTracker('preMutationRow');\n", "export function escapeLike(val: string) {\n return val.replace(/[%_]/g, '\\\\$&');\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type {ReadonlyJSONValue} from '../../../shared/src/json.ts';\nimport type {Schema} from '../../../zero-schema/src/builder/schema-builder.ts';\nimport type {SchemaQuery} from '../mutate/custom.ts';\nimport {newQuery} from './query-impl.ts';\nimport type {Query} from './query.ts';\n\nexport type NamedQuery<\n TArg extends\n ReadonlyArray<ReadonlyJSONValue> = ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery extends Query<any, any, any> = Query<any, any, any>,\n> = {\n (...args: TArg): TReturnQuery;\n};\n\nexport type NamedQueryWithContext<\n TContext,\n TArg extends\n ReadonlyArray<ReadonlyJSONValue> = ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery extends Query<any, any, any> = Query<any, any, any>,\n> = {\n (context: TContext, ...args: TArg): TReturnQuery;\n};\n\nexport type SyncedQuery<\n TArg extends\n ReadonlyArray<ReadonlyJSONValue> = ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery extends Query<any, any, any> = Query<any, any, any>,\n> = NamedQuery<TArg, TReturnQuery> & {\n queryName: string;\n takesContext: boolean;\n validator?: Validator<TArg> | undefined;\n};\n\nexport type SyncedQueryWithContext<\n TContext,\n TArg extends\n ReadonlyArray<ReadonlyJSONValue> = ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery extends Query<any, any, any> = Query<any, any, any>,\n> = NamedQueryWithContext<TContext, TArg, TReturnQuery> & {\n queryName: string;\n takesContext: true;\n validator?: Validator<TArg> | undefined;\n};\n\nexport type ValidatedSyncedQuery<TReturnQuery extends Query<any, any, any>> = (\n ...args: unknown[]\n) => TReturnQuery;\nexport type ValidatedSyncedQueryWithContext<\n TContext,\n TReturnQuery extends Query<any, any, any>,\n> = (context: TContext, ...args: unknown[]) => TReturnQuery;\n\nexport type CustomQueryID = {\n name: string;\n args: ReadonlyArray<ReadonlyJSONValue>;\n};\n\nexport type Validator<T extends ReadonlyArray<ReadonlyJSONValue>> = (\n ...args: readonly unknown[]\n) => T | readonly [...T];\n\n/**\n * Returns a set of query builders for the given schema.\n */\nexport function createBuilder<S extends Schema>(s: S): SchemaQuery<S> {\n return makeQueryBuilders(s) as SchemaQuery<S>;\n}\n\n/**\n * Tags a query with a name and arguments.\n * Named queries are run on both the client and server.\n * The server will receive the name and arguments for a named query and can\n * either run the same query the client did or a completely different one.\n *\n * The main use case here is to apply permissions to the requested query or\n * to expand the scope of the query to include additional data. E.g., for preloading.\n */\nexport function syncedQuery<\n TArg extends ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery extends Query<any, any, any>,\n>(\n name: string,\n validator: Validator<TArg>,\n fn: NamedQuery<TArg, TReturnQuery>,\n): SyncedQuery<TArg, TReturnQuery> & {validator: Validator<TArg>};\nexport function syncedQuery<\n TArg extends ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery extends Query<any, any, any>,\n>(\n name: string,\n fn: NamedQuery<TArg, TReturnQuery>,\n): SyncedQuery<TArg, TReturnQuery>;\nexport function syncedQuery<\n TArg extends ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery extends Query<any, any, any>,\n>(\n name: string,\n validatorOrQueryFn: Validator<TArg> | NamedQuery<TArg, TReturnQuery>,\n maybeQueryFn?: NamedQuery<TArg, TReturnQuery> | undefined,\n): SyncedQuery<TArg, TReturnQuery> {\n let fn: NamedQuery<TArg, TReturnQuery>;\n let validator: Validator<TArg> | undefined;\n if (maybeQueryFn === undefined) {\n fn = validatorOrQueryFn as NamedQuery<TArg, TReturnQuery>;\n } else {\n fn = maybeQueryFn;\n validator = validatorOrQueryFn as Validator<TArg>;\n }\n const ret = ((...args: TArg) =>\n fn(...args).nameAndArgs(name, args)) as SyncedQuery<TArg, TReturnQuery>;\n ret.takesContext = false;\n ret.validator = validator;\n ret.queryName = name;\n return ret;\n}\n\nexport function syncedQueryWithContext<\n TContext,\n TArg extends ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery extends Query<any, any, any>,\n>(\n name: string,\n validator: Validator<TArg>,\n fn: NamedQueryWithContext<TContext, TArg, TReturnQuery>,\n): SyncedQueryWithContext<TContext, TArg, TReturnQuery> & {\n validator: Validator<TArg>;\n};\nexport function syncedQueryWithContext<\n TContext,\n TArg extends ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery extends Query<any, any, any>,\n>(\n name: string,\n fn: NamedQueryWithContext<TContext, TArg, TReturnQuery>,\n): SyncedQueryWithContext<TContext, TArg, TReturnQuery>;\nexport function syncedQueryWithContext<\n TContext,\n TArg extends ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery extends Query<any, any, any>,\n>(\n name: string,\n queryOrValidator:\n | NamedQueryWithContext<TContext, TArg, TReturnQuery>\n | Validator<TArg>,\n query?: NamedQueryWithContext<TContext, TArg, TReturnQuery> | undefined,\n): SyncedQueryWithContext<TContext, TArg, TReturnQuery> {\n let fn: NamedQueryWithContext<TContext, TArg, TReturnQuery>;\n let validator: Validator<TArg> | undefined;\n if (query === undefined) {\n fn = queryOrValidator as NamedQueryWithContext<\n TContext,\n TArg,\n TReturnQuery\n >;\n } else {\n fn = query;\n validator = queryOrValidator as Validator<TArg>;\n }\n\n return contextualizedSyncedQuery(name, validator, fn);\n}\n\nfunction contextualizedSyncedQuery<\n TContext,\n TArg extends ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery extends Query<any, any, any>,\n>(\n name: string,\n validator: Validator<TArg> | undefined,\n fn: NamedQueryWithContext<TContext, TArg, TReturnQuery>,\n): SyncedQueryWithContext<TContext, TArg, TReturnQuery> {\n const ret = ((context: TContext, ...args: TArg) =>\n fn(context, ...args).nameAndArgs(name, args)) as SyncedQueryWithContext<\n TContext,\n TArg,\n TReturnQuery\n >;\n\n ret.takesContext = true;\n if (validator) {\n ret.validator = validator;\n }\n ret.queryName = name;\n\n return ret;\n}\n\nexport function withContext<\n TArg extends ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery extends Query<any, any, any>,\n TContext,\n>(\n fn: SyncedQueryWithContext<TContext, TArg, TReturnQuery>,\n): SyncedQueryWithContext<TContext, TArg, TReturnQuery>;\nexport function withContext<\n TArg extends ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery extends Query<any, any, any>,\n>(\n fn: SyncedQuery<TArg, TReturnQuery>,\n): SyncedQueryWithContext<any, TArg, TReturnQuery>;\nexport function withContext<\n TArg extends ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery extends Query<any, any, any>,\n TContext,\n>(\n fn:\n | SyncedQuery<TArg, TReturnQuery>\n | SyncedQueryWithContext<TContext, TArg, TReturnQuery>,\n): SyncedQueryWithContext<TContext, TArg, TReturnQuery> {\n if (fn.takesContext) {\n return fn as SyncedQueryWithContext<TContext, TArg, TReturnQuery>;\n }\n\n const contextualized = ((_context: TContext, ...args: TArg) =>\n fn(...args).nameAndArgs(fn.queryName, args)) as SyncedQueryWithContext<\n TContext,\n TArg,\n TReturnQuery\n >;\n contextualized.takesContext = true;\n\n return contextualized;\n}\n\nexport function withValidation<TReturnQuery extends Query<any, any, any>>(\n fn: SyncedQuery<any, TReturnQuery>,\n): ValidatedSyncedQuery<TReturnQuery>;\nexport function withValidation<\n TReturnQuery extends Query<any, any, any>,\n TContext,\n>(\n fn: SyncedQueryWithContext<TContext, any, TReturnQuery>,\n): ValidatedSyncedQueryWithContext<TContext, TReturnQuery>;\nexport function withValidation<\n TReturnQuery extends Query<any, any, any>,\n TContext = unknown,\n>(\n fn:\n | SyncedQuery<ReadonlyArray<ReadonlyJSONValue>, TReturnQuery>\n | SyncedQueryWithContext<\n TContext,\n ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery\n >,\n):\n | ValidatedSyncedQuery<TReturnQuery>\n | ValidatedSyncedQueryWithContext<TContext, TReturnQuery> {\n const {validator, takesContext} = fn;\n if (validator) {\n if (takesContext) {\n return ((context, ...args) =>\n (\n fn as SyncedQueryWithContext<\n TContext,\n ReadonlyArray<ReadonlyJSONValue>,\n TReturnQuery\n >\n )(context, ...validator(...args))) as ValidatedSyncedQueryWithContext<\n TContext,\n TReturnQuery\n >;\n }\n return ((...args) =>\n fn(...validator(...args))) as ValidatedSyncedQuery<TReturnQuery>;\n }\n\n throw new Error(fn.name + ' does not have a validator defined');\n}\n\n/**\n * This produces the query builders for a given schema.\n * For use in Zero on the server to process custom queries.\n */\nfunction makeQueryBuilders<S extends Schema>(schema: S): SchemaQuery<S> {\n return new Proxy(\n {},\n {\n get: (\n target: Record<\n string,\n Omit<Query<S, string, any>, 'materialize' | 'preload'>\n >,\n prop: string,\n ) => {\n if (prop in target) {\n return target[prop];\n }\n\n if (!(prop in schema.tables)) {\n throw new Error(`Table ${prop} does not exist in schema`);\n }\n\n const q = newQuery(undefined, schema, prop);\n target[prop] = q;\n return q;\n },\n },\n ) as SchemaQuery<S>;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["table", "relationships", "clientToServer"]
|
|
7
|
+
}
|
|
@@ -126,7 +126,7 @@ import {
|
|
|
126
126
|
withWrite,
|
|
127
127
|
withWriteNoImplicitCommit,
|
|
128
128
|
wrapIterable
|
|
129
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-RPVWLROJ.js";
|
|
130
130
|
import {
|
|
131
131
|
assert,
|
|
132
132
|
assertArray,
|
|
@@ -5555,6 +5555,59 @@ function getKVStoreProvider(lc, kvStore) {
|
|
|
5555
5555
|
}
|
|
5556
5556
|
}
|
|
5557
5557
|
|
|
5558
|
+
// ../zero-protocol/src/custom-queries.ts
|
|
5559
|
+
var transformRequestBodySchema = valita_exports.array(
|
|
5560
|
+
valita_exports.object({
|
|
5561
|
+
id: valita_exports.string(),
|
|
5562
|
+
name: valita_exports.string(),
|
|
5563
|
+
args: readonly(valita_exports.array(jsonSchema))
|
|
5564
|
+
})
|
|
5565
|
+
);
|
|
5566
|
+
var transformedQuerySchema = valita_exports.object({
|
|
5567
|
+
id: valita_exports.string(),
|
|
5568
|
+
name: valita_exports.string(),
|
|
5569
|
+
ast: astSchema
|
|
5570
|
+
});
|
|
5571
|
+
var appQueryErrorSchema = valita_exports.object({
|
|
5572
|
+
error: valita_exports.literal("app"),
|
|
5573
|
+
id: valita_exports.string(),
|
|
5574
|
+
name: valita_exports.string(),
|
|
5575
|
+
details: jsonSchema
|
|
5576
|
+
});
|
|
5577
|
+
var zeroErrorSchema = valita_exports.object({
|
|
5578
|
+
error: valita_exports.literal("zero"),
|
|
5579
|
+
id: valita_exports.string(),
|
|
5580
|
+
name: valita_exports.string(),
|
|
5581
|
+
details: jsonSchema
|
|
5582
|
+
});
|
|
5583
|
+
var httpQueryErrorSchema = valita_exports.object({
|
|
5584
|
+
error: valita_exports.literal("http"),
|
|
5585
|
+
id: valita_exports.string(),
|
|
5586
|
+
name: valita_exports.string(),
|
|
5587
|
+
status: valita_exports.number(),
|
|
5588
|
+
details: jsonSchema
|
|
5589
|
+
});
|
|
5590
|
+
var erroredQuerySchema = valita_exports.union(
|
|
5591
|
+
appQueryErrorSchema,
|
|
5592
|
+
httpQueryErrorSchema,
|
|
5593
|
+
zeroErrorSchema
|
|
5594
|
+
);
|
|
5595
|
+
var transformResponseBodySchema = valita_exports.array(
|
|
5596
|
+
valita_exports.union(transformedQuerySchema, erroredQuerySchema)
|
|
5597
|
+
);
|
|
5598
|
+
var transformRequestMessageSchema = valita_exports.tuple([
|
|
5599
|
+
valita_exports.literal("transform"),
|
|
5600
|
+
transformRequestBodySchema
|
|
5601
|
+
]);
|
|
5602
|
+
var transformErrorMessageSchema = valita_exports.tuple([
|
|
5603
|
+
valita_exports.literal("transformError"),
|
|
5604
|
+
valita_exports.array(erroredQuerySchema)
|
|
5605
|
+
]);
|
|
5606
|
+
var transformResponseMessageSchema = valita_exports.tuple([
|
|
5607
|
+
valita_exports.literal("transformed"),
|
|
5608
|
+
transformResponseBodySchema
|
|
5609
|
+
]);
|
|
5610
|
+
|
|
5558
5611
|
// ../zero-protocol/src/error-kind-enum.ts
|
|
5559
5612
|
var error_kind_enum_exports = {};
|
|
5560
5613
|
__export(error_kind_enum_exports, {
|
|
@@ -5602,14 +5655,14 @@ function table(name) {
|
|
|
5602
5655
|
primaryKey: []
|
|
5603
5656
|
});
|
|
5604
5657
|
}
|
|
5605
|
-
function
|
|
5658
|
+
function string4() {
|
|
5606
5659
|
return new ColumnBuilder({
|
|
5607
5660
|
type: "string",
|
|
5608
5661
|
optional: false,
|
|
5609
5662
|
customType: null
|
|
5610
5663
|
});
|
|
5611
5664
|
}
|
|
5612
|
-
function
|
|
5665
|
+
function number3() {
|
|
5613
5666
|
return new ColumnBuilder({
|
|
5614
5667
|
type: "number",
|
|
5615
5668
|
optional: false,
|
|
@@ -6089,7 +6142,7 @@ var appErrorSchema = valita_exports.object({
|
|
|
6089
6142
|
// The user can return any additional data here
|
|
6090
6143
|
details: jsonSchema.optional()
|
|
6091
6144
|
});
|
|
6092
|
-
var
|
|
6145
|
+
var zeroErrorSchema2 = valita_exports.object({
|
|
6093
6146
|
error: literalUnion("oooMutation", "alreadyProcessed"),
|
|
6094
6147
|
details: jsonSchema.optional()
|
|
6095
6148
|
});
|
|
@@ -6097,7 +6150,7 @@ var mutationOkSchema = valita_exports.object({
|
|
|
6097
6150
|
// The user can return any additional data here
|
|
6098
6151
|
data: jsonSchema.optional()
|
|
6099
6152
|
});
|
|
6100
|
-
var mutationErrorSchema = valita_exports.union(appErrorSchema,
|
|
6153
|
+
var mutationErrorSchema = valita_exports.union(appErrorSchema, zeroErrorSchema2);
|
|
6101
6154
|
var mutationResultSchema = valita_exports.union(
|
|
6102
6155
|
mutationOkSchema,
|
|
6103
6156
|
mutationErrorSchema
|
|
@@ -6303,11 +6356,12 @@ var downstreamSchema = valita_exports.union(
|
|
|
6303
6356
|
pullResponseMessageSchema,
|
|
6304
6357
|
deleteClientsMessageSchema,
|
|
6305
6358
|
pushResponseMessageSchema,
|
|
6306
|
-
inspectDownMessageSchema
|
|
6359
|
+
inspectDownMessageSchema,
|
|
6360
|
+
transformErrorMessageSchema
|
|
6307
6361
|
);
|
|
6308
6362
|
|
|
6309
6363
|
// ../zero-protocol/src/protocol-version.ts
|
|
6310
|
-
var PROTOCOL_VERSION =
|
|
6364
|
+
var PROTOCOL_VERSION = 29;
|
|
6311
6365
|
var MIN_SERVER_SUPPORTED_SYNC_PROTOCOL = 18;
|
|
6312
6366
|
assert(MIN_SERVER_SUPPORTED_SYNC_PROTOCOL < PROTOCOL_VERSION);
|
|
6313
6367
|
|
|
@@ -6399,6 +6453,11 @@ function customMutatorKey(namespace, name) {
|
|
|
6399
6453
|
return `${namespace}|${name}`;
|
|
6400
6454
|
}
|
|
6401
6455
|
|
|
6456
|
+
// ../zql/src/query/metrics-delegate.ts
|
|
6457
|
+
function isClientMetric(metric) {
|
|
6458
|
+
return metric.endsWith("-client") || metric.endsWith("-end-to-end");
|
|
6459
|
+
}
|
|
6460
|
+
|
|
6402
6461
|
// ../zero-client/src/util/socket.ts
|
|
6403
6462
|
function send(ws, data) {
|
|
6404
6463
|
ws.send(JSON.stringify(data));
|
|
@@ -7129,6 +7188,46 @@ var MemoryStorage = class {
|
|
|
7129
7188
|
}
|
|
7130
7189
|
};
|
|
7131
7190
|
|
|
7191
|
+
// ../zql/src/query/measure-push-operator.ts
|
|
7192
|
+
var MeasurePushOperator = class {
|
|
7193
|
+
#input;
|
|
7194
|
+
#queryID;
|
|
7195
|
+
#metricsDelegate;
|
|
7196
|
+
#output = throwOutput;
|
|
7197
|
+
#metricName;
|
|
7198
|
+
constructor(input, queryID, metricsDelegate, metricName) {
|
|
7199
|
+
this.#input = input;
|
|
7200
|
+
this.#queryID = queryID;
|
|
7201
|
+
this.#metricsDelegate = metricsDelegate;
|
|
7202
|
+
this.#metricName = metricName;
|
|
7203
|
+
input.setOutput(this);
|
|
7204
|
+
}
|
|
7205
|
+
setOutput(output) {
|
|
7206
|
+
this.#output = output;
|
|
7207
|
+
}
|
|
7208
|
+
fetch(req) {
|
|
7209
|
+
return this.#input.fetch(req);
|
|
7210
|
+
}
|
|
7211
|
+
cleanup(req) {
|
|
7212
|
+
return this.#input.cleanup(req);
|
|
7213
|
+
}
|
|
7214
|
+
getSchema() {
|
|
7215
|
+
return this.#input.getSchema();
|
|
7216
|
+
}
|
|
7217
|
+
destroy() {
|
|
7218
|
+
this.#input.destroy();
|
|
7219
|
+
}
|
|
7220
|
+
push(change) {
|
|
7221
|
+
const startTime = performance.now();
|
|
7222
|
+
this.#output.push(change);
|
|
7223
|
+
this.#metricsDelegate.addMetric(
|
|
7224
|
+
this.#metricName,
|
|
7225
|
+
performance.now() - startTime,
|
|
7226
|
+
this.#queryID
|
|
7227
|
+
);
|
|
7228
|
+
}
|
|
7229
|
+
};
|
|
7230
|
+
|
|
7132
7231
|
// ../zql/src/ivm/constraint.ts
|
|
7133
7232
|
function constraintMatchesRow(constraint, row) {
|
|
7134
7233
|
for (const key in constraint) {
|
|
@@ -7831,44 +7930,6 @@ function applyDiffs(diffs, branch) {
|
|
|
7831
7930
|
}
|
|
7832
7931
|
}
|
|
7833
7932
|
|
|
7834
|
-
// ../zero-client/src/client/measure-push-operator.ts
|
|
7835
|
-
var MeasurePushOperator = class {
|
|
7836
|
-
#input;
|
|
7837
|
-
#queryID;
|
|
7838
|
-
#metricsDelegate;
|
|
7839
|
-
#output = throwOutput;
|
|
7840
|
-
constructor(input, queryID, metricsDelegate) {
|
|
7841
|
-
this.#input = input;
|
|
7842
|
-
this.#queryID = queryID;
|
|
7843
|
-
this.#metricsDelegate = metricsDelegate;
|
|
7844
|
-
input.setOutput(this);
|
|
7845
|
-
}
|
|
7846
|
-
setOutput(output) {
|
|
7847
|
-
this.#output = output;
|
|
7848
|
-
}
|
|
7849
|
-
fetch(req) {
|
|
7850
|
-
return this.#input.fetch(req);
|
|
7851
|
-
}
|
|
7852
|
-
cleanup(req) {
|
|
7853
|
-
return this.#input.cleanup(req);
|
|
7854
|
-
}
|
|
7855
|
-
getSchema() {
|
|
7856
|
-
return this.#input.getSchema();
|
|
7857
|
-
}
|
|
7858
|
-
destroy() {
|
|
7859
|
-
this.#input.destroy();
|
|
7860
|
-
}
|
|
7861
|
-
push(change) {
|
|
7862
|
-
const startTime = performance.now();
|
|
7863
|
-
this.#output.push(change);
|
|
7864
|
-
this.#metricsDelegate.addMetric(
|
|
7865
|
-
"query-update-client",
|
|
7866
|
-
performance.now() - startTime,
|
|
7867
|
-
this.#queryID
|
|
7868
|
-
);
|
|
7869
|
-
}
|
|
7870
|
-
};
|
|
7871
|
-
|
|
7872
7933
|
// ../zero-client/src/client/context.ts
|
|
7873
7934
|
var ZeroContext = class {
|
|
7874
7935
|
// It is a bummer to have to maintain separate MemorySources here and copy the
|
|
@@ -7919,7 +7980,9 @@ var ZeroContext = class {
|
|
|
7919
7980
|
return input;
|
|
7920
7981
|
}
|
|
7921
7982
|
decorateSourceInput(input, queryID) {
|
|
7922
|
-
return new MeasurePushOperator(input, queryID, this);
|
|
7983
|
+
return new MeasurePushOperator(input, queryID, this, "query-update-client");
|
|
7984
|
+
}
|
|
7985
|
+
addEdge() {
|
|
7923
7986
|
}
|
|
7924
7987
|
onTransactionCommit(cb) {
|
|
7925
7988
|
this.#commitListeners.add(cb);
|
|
@@ -8602,7 +8665,7 @@ function makeMessage(message, context, logLevel) {
|
|
|
8602
8665
|
}
|
|
8603
8666
|
|
|
8604
8667
|
// ../zero-client/src/client/version.ts
|
|
8605
|
-
var version2 = "0.23.
|
|
8668
|
+
var version2 = "0.23.2025081900";
|
|
8606
8669
|
|
|
8607
8670
|
// ../zero-client/src/client/log-options.ts
|
|
8608
8671
|
var LevelFilterLogSink = class {
|
|
@@ -10659,6 +10722,8 @@ var Zero = class _Zero {
|
|
|
10659
10722
|
);
|
|
10660
10723
|
case "pushResponse":
|
|
10661
10724
|
return this.#mutationTracker.processPushResponse(downMessage[1]);
|
|
10725
|
+
case "transformError":
|
|
10726
|
+
break;
|
|
10662
10727
|
case "inspect":
|
|
10663
10728
|
break;
|
|
10664
10729
|
default:
|
|
@@ -11354,7 +11419,7 @@ var Zero = class _Zero {
|
|
|
11354
11419
|
*/
|
|
11355
11420
|
async inspect() {
|
|
11356
11421
|
BUNDLE_SIZE: {
|
|
11357
|
-
const m = await import("./inspector-
|
|
11422
|
+
const m = await import("./inspector-NC47TWFX.js");
|
|
11358
11423
|
return m.newInspector(
|
|
11359
11424
|
this.#rep,
|
|
11360
11425
|
this.#queryManager,
|
|
@@ -11367,18 +11432,12 @@ var Zero = class _Zero {
|
|
|
11367
11432
|
}
|
|
11368
11433
|
}
|
|
11369
11434
|
#addMetric = (metric, value, ...args) => {
|
|
11370
|
-
|
|
11371
|
-
|
|
11372
|
-
|
|
11373
|
-
|
|
11374
|
-
|
|
11375
|
-
|
|
11376
|
-
case "query-materialization-server":
|
|
11377
|
-
unreachable();
|
|
11378
|
-
// eslint-disable-next-line no-fallthrough
|
|
11379
|
-
default:
|
|
11380
|
-
unreachable(metric);
|
|
11381
|
-
}
|
|
11435
|
+
assert(isClientMetric(metric), `Invalid metric: ${metric}`);
|
|
11436
|
+
this.#queryManager.addMetric(
|
|
11437
|
+
metric,
|
|
11438
|
+
value,
|
|
11439
|
+
...args
|
|
11440
|
+
);
|
|
11382
11441
|
};
|
|
11383
11442
|
};
|
|
11384
11443
|
var OnlineManager = class extends Subscribable {
|
|
@@ -11513,10 +11572,12 @@ export {
|
|
|
11513
11572
|
makeIDBName,
|
|
11514
11573
|
dropDatabase,
|
|
11515
11574
|
dropAllDatabases,
|
|
11575
|
+
transformRequestMessageSchema,
|
|
11576
|
+
transformResponseMessageSchema,
|
|
11516
11577
|
error_kind_enum_exports,
|
|
11517
11578
|
table,
|
|
11518
|
-
|
|
11519
|
-
|
|
11579
|
+
string4 as string,
|
|
11580
|
+
number3 as number,
|
|
11520
11581
|
boolean,
|
|
11521
11582
|
json,
|
|
11522
11583
|
enumeration,
|
|
@@ -11525,4 +11586,4 @@ export {
|
|
|
11525
11586
|
update_needed_reason_type_enum_exports,
|
|
11526
11587
|
Zero
|
|
11527
11588
|
};
|
|
11528
|
-
//# sourceMappingURL=chunk-
|
|
11589
|
+
//# sourceMappingURL=chunk-ZZJ2SCHD.js.map
|