@rocicorp/zero 0.18.2025032400 → 0.18.2025032800
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/advanced.js +0 -1
- package/out/{chunk-YAABAEJV.js → chunk-3S3SDA44.js} +205 -148
- package/out/chunk-3S3SDA44.js.map +7 -0
- package/out/{chunk-2B2QE5AT.js → chunk-MB3DEFRC.js} +25 -2
- package/out/{chunk-2B2QE5AT.js.map → chunk-MB3DEFRC.js.map} +2 -2
- package/out/{chunk-DSUPSGE4.js → chunk-NBZURO2P.js} +81 -26
- package/out/{chunk-DSUPSGE4.js.map → chunk-NBZURO2P.js.map} +4 -4
- package/out/{inspector-ROITQB3J.js → inspector-SH2ZK7O3.js} +253 -102
- package/out/inspector-SH2ZK7O3.js.map +7 -0
- package/out/react.js +2 -3
- package/out/react.js.map +2 -2
- package/out/shared/src/sentinels.d.ts +3 -0
- package/out/shared/src/sentinels.d.ts.map +1 -0
- package/out/solid.js +3 -4
- package/out/solid.js.map +2 -2
- package/out/z2s/src/compiler.d.ts +5 -3
- package/out/z2s/src/compiler.d.ts.map +1 -1
- package/out/z2s/src/compiler.js +116 -16
- package/out/z2s/src/compiler.js.map +1 -1
- package/out/z2s/src/sql.d.ts +8 -0
- package/out/z2s/src/sql.d.ts.map +1 -1
- package/out/z2s/src/sql.js +205 -11
- package/out/z2s/src/sql.js.map +1 -1
- package/out/zero/src/zero-cache-dev.d.ts +1 -1
- package/out/zero/src/zero-cache-dev.d.ts.map +1 -1
- package/out/zero/src/zero-cache-dev.js +1 -1
- package/out/zero/src/zero-cache-dev.js.map +1 -1
- package/out/zero-cache/src/auth/load-permissions.d.ts.map +1 -1
- package/out/zero-cache/src/auth/load-permissions.js +2 -1
- package/out/zero-cache/src/auth/load-permissions.js.map +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +6 -3
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/db/migration-lite.d.ts.map +1 -1
- package/out/zero-cache/src/db/migration-lite.js +9 -9
- package/out/zero-cache/src/db/migration-lite.js.map +1 -1
- package/out/zero-cache/src/scripts/deploy-permissions.d.ts +1 -1
- package/out/zero-cache/src/scripts/deploy-permissions.d.ts.map +1 -1
- package/out/zero-cache/src/scripts/deploy-permissions.js +1 -1
- package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -1
- package/out/zero-cache/src/server/multi/config.d.ts +1 -1
- package/out/zero-cache/src/server/multi/main.d.ts +1 -1
- package/out/zero-cache/src/server/multi/main.d.ts.map +1 -1
- package/out/zero-cache/src/server/multi/main.js +1 -1
- package/out/zero-cache/src/server/multi/main.js.map +1 -1
- package/out/zero-cache/src/server/multi/run-worker.d.ts +1 -1
- package/out/zero-cache/src/server/multi/run-worker.d.ts.map +1 -1
- package/out/zero-cache/src/server/multi/run-worker.js +1 -1
- package/out/zero-cache/src/server/multi/run-worker.js.map +1 -1
- package/out/zero-cache/src/server/syncer.js +1 -1
- package/out/zero-cache/src/server/syncer.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.js +96 -42
- package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/decommission.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/decommission.js +16 -5
- package/out/zero-cache/src/services/change-source/pg/decommission.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +1 -2
- 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 +18 -31
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +7 -35
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +42 -74
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.js +69 -21
- package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +54 -27
- package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/shard.js +53 -16
- package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +7 -5
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +20 -5
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.d.ts +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.js +61 -9
- package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
- package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/change-processor.js +25 -14
- package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +8 -4
- 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 +47 -23
- package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-schema.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-schema.js +8 -2
- package/out/zero-cache/src/services/view-syncer/client-schema.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +2 -0
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.js +35 -0
- package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +3 -0
- 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 +32 -20
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/bigint-json.d.ts +1 -1
- package/out/zero-cache/src/types/bigint-json.d.ts.map +1 -1
- package/out/zero-cache/src/types/bigint-json.js.map +1 -1
- package/out/zero-cache/src/types/lite.d.ts.map +1 -1
- package/out/zero-cache/src/types/lite.js +4 -3
- package/out/zero-cache/src/types/lite.js.map +1 -1
- package/out/zero-cache/src/types/shards.d.ts +4 -0
- package/out/zero-cache/src/types/shards.d.ts.map +1 -1
- package/out/zero-cache/src/types/shards.js +1 -1
- package/out/zero-cache/src/types/shards.js.map +1 -1
- package/out/zero-cache/src/workers/connection.d.ts +1 -2
- package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
- package/out/zero-cache/src/workers/connection.js +64 -21
- package/out/zero-cache/src/workers/connection.js.map +1 -1
- package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/workers/replicator.js +4 -8
- package/out/zero-cache/src/workers/replicator.js.map +1 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js +16 -7
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
- package/out/zero-client/src/client/custom.d.ts +9 -11
- package/out/zero-client/src/client/custom.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/inspector.d.ts +2 -1
- package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/types.d.ts +7 -2
- package/out/zero-client/src/client/inspector/types.d.ts.map +1 -1
- package/out/zero-client/src/client/mutation-tracker.d.ts +23 -8
- package/out/zero-client/src/client/mutation-tracker.d.ts.map +1 -1
- package/out/zero-client/src/client/options.d.ts +7 -2
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/query-manager.d.ts +2 -1
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +1 -1
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/mod.d.ts +7 -1
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-pg/src/custom.d.ts +2 -13
- package/out/zero-pg/src/custom.d.ts.map +1 -1
- package/out/zero-pg/src/custom.js +11 -14
- package/out/zero-pg/src/custom.js.map +1 -1
- package/out/zero-pg/src/mod.d.ts +1 -2
- package/out/zero-pg/src/mod.d.ts.map +1 -1
- package/out/zero-pg/src/mod.js +1 -1
- package/out/zero-pg/src/mod.js.map +1 -1
- package/out/zero-pg/src/query.d.ts +2 -2
- package/out/zero-pg/src/query.d.ts.map +1 -1
- package/out/zero-pg/src/query.js +8 -15
- package/out/zero-pg/src/query.js.map +1 -1
- package/out/zero-pg/src/web.d.ts +3 -7
- package/out/zero-pg/src/web.d.ts.map +1 -1
- package/out/zero-pg/src/web.js +9 -15
- package/out/zero-pg/src/web.js.map +1 -1
- package/out/zero-protocol/src/client-schema.d.ts +1 -1
- package/out/zero-protocol/src/client-schema.d.ts.map +1 -1
- package/out/zero-protocol/src/client-schema.js +1 -1
- package/out/zero-protocol/src/client-schema.js.map +1 -1
- package/out/zero-protocol/src/down.d.ts +19 -6
- package/out/zero-protocol/src/down.d.ts.map +1 -1
- package/out/zero-protocol/src/down.js +2 -2
- package/out/zero-protocol/src/down.js.map +1 -1
- package/out/zero-protocol/src/inspect-down.d.ts +59 -0
- package/out/zero-protocol/src/inspect-down.d.ts.map +1 -0
- package/out/zero-protocol/src/inspect-down.js +23 -0
- package/out/zero-protocol/src/inspect-down.js.map +1 -0
- package/out/zero-protocol/src/inspect-up.d.ts +21 -0
- package/out/zero-protocol/src/inspect-up.d.ts.map +1 -0
- package/out/zero-protocol/src/inspect-up.js +12 -0
- package/out/zero-protocol/src/inspect-up.js.map +1 -0
- package/out/zero-protocol/src/mutation-type-enum.d.ts +1 -0
- package/out/zero-protocol/src/mutation-type-enum.d.ts.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-protocol/src/push.d.ts +31 -18
- package/out/zero-protocol/src/push.d.ts.map +1 -1
- package/out/zero-protocol/src/push.js +7 -6
- package/out/zero-protocol/src/push.js.map +1 -1
- package/out/zero-protocol/src/up.d.ts +5 -1
- package/out/zero-protocol/src/up.d.ts.map +1 -1
- package/out/zero-protocol/src/up.js +2 -1
- package/out/zero-protocol/src/up.js.map +1 -1
- package/out/zero-react/src/use-query.d.ts +1 -2
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-schema/src/builder/table-builder.d.ts +13 -0
- package/out/zero-schema/src/builder/table-builder.d.ts.map +1 -1
- package/out/zero-schema/src/builder/table-builder.js +17 -0
- package/out/zero-schema/src/builder/table-builder.js.map +1 -1
- package/out/zero-schema/src/permissions.d.ts.map +1 -1
- package/out/zero-schema/src/table-schema.d.ts +3 -1
- package/out/zero-schema/src/table-schema.d.ts.map +1 -1
- package/out/zero-schema/src/table-schema.js.map +1 -1
- package/out/zero-solid/src/create-zero.d.ts.map +1 -1
- package/out/zero-solid/src/solid-view.d.ts +1 -2
- package/out/zero-solid/src/solid-view.d.ts.map +1 -1
- package/out/zero-solid/src/use-query.d.ts +1 -2
- package/out/zero-solid/src/use-query.d.ts.map +1 -1
- package/out/zero.js +7 -4
- package/out/zql/src/mutate/custom.d.ts +0 -1
- package/out/zql/src/mutate/custom.d.ts.map +1 -1
- package/out/zql/src/mutate/custom.js.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +9 -6
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +16 -18
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/query-internal.d.ts +2 -9
- package/out/zql/src/query/query-internal.d.ts.map +1 -1
- package/out/zql/src/query/query.d.ts +5 -0
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zql/src/query/static-query.d.ts +1 -1
- package/out/zql/src/query/static-query.d.ts.map +1 -1
- package/out/zql/src/query/static-query.js +2 -2
- package/out/zql/src/query/static-query.js.map +1 -1
- package/out/zql/src/query/ttl.d.ts +1 -1
- package/out/zql/src/query/ttl.d.ts.map +1 -1
- package/out/zql/src/query/ttl.js +1 -1
- package/out/zql/src/query/ttl.js.map +1 -1
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +8 -0
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +4 -5
- package/out/chunk-ULOTOBTC.js +0 -1
- package/out/chunk-ULOTOBTC.js.map +0 -7
- package/out/chunk-YAABAEJV.js.map +0 -7
- package/out/inspector-ROITQB3J.js.map +0 -7
- package/out/zero-protocol/src/warm.d.ts +0 -10
- package/out/zero-protocol/src/warm.d.ts.map +0 -1
- package/out/zero-protocol/src/warm.js +0 -6
- package/out/zero-protocol/src/warm.js.map +0 -1
- package/out/zero-schema/src/mod.d.ts +0 -5
- package/out/zero-schema/src/mod.d.ts.map +0 -1
- package/out/zql/src/query/query-internal.js +0 -2
- package/out/zql/src/query/query-internal.js.map +0 -1
package/out/advanced.js
CHANGED
|
@@ -46,6 +46,7 @@ import {
|
|
|
46
46
|
deepEqual,
|
|
47
47
|
deepFreeze,
|
|
48
48
|
deepFreezeAllowUndefined,
|
|
49
|
+
defaultFormat,
|
|
49
50
|
desiredQueriesPrefixForClient,
|
|
50
51
|
diff,
|
|
51
52
|
diff2,
|
|
@@ -59,11 +60,13 @@ import {
|
|
|
59
60
|
getClientGroupIDForClient,
|
|
60
61
|
getClientGroups,
|
|
61
62
|
getClients,
|
|
63
|
+
getNonCryptoRandomValues,
|
|
62
64
|
getSizeOfValue,
|
|
63
65
|
h64,
|
|
64
66
|
hasClientState,
|
|
65
67
|
hashOfAST,
|
|
66
68
|
initClientV6,
|
|
69
|
+
inspectDownMessageSchema,
|
|
67
70
|
isLocalMetaDD31,
|
|
68
71
|
isProd,
|
|
69
72
|
joinIterables,
|
|
@@ -78,6 +81,7 @@ import {
|
|
|
78
81
|
mustGetChunk,
|
|
79
82
|
mustGetClient,
|
|
80
83
|
mustGetHeadHash,
|
|
84
|
+
nanoid,
|
|
81
85
|
newQuery,
|
|
82
86
|
newRandomHash,
|
|
83
87
|
newWriteLocal,
|
|
@@ -112,12 +116,12 @@ import {
|
|
|
112
116
|
withWrite,
|
|
113
117
|
withWriteNoImplicitCommit,
|
|
114
118
|
wrapIterable
|
|
115
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-NBZURO2P.js";
|
|
116
120
|
import {
|
|
117
121
|
compareTTL,
|
|
118
122
|
hasOwn,
|
|
119
123
|
parseTTL
|
|
120
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-MB3DEFRC.js";
|
|
121
125
|
import {
|
|
122
126
|
assert,
|
|
123
127
|
assertArray,
|
|
@@ -4124,17 +4128,6 @@ function diffBinarySearch(diff3, prefix, compareKey) {
|
|
|
4124
4128
|
);
|
|
4125
4129
|
}
|
|
4126
4130
|
|
|
4127
|
-
// ../shared/src/random-values.ts
|
|
4128
|
-
function getNonCryptoRandomValues(array5) {
|
|
4129
|
-
if (array5 === null) {
|
|
4130
|
-
throw new TypeError("array cannot be null");
|
|
4131
|
-
}
|
|
4132
|
-
for (let i = 0; i < array5.length; i++) {
|
|
4133
|
-
array5[i] = Math.floor(Math.random() * 256);
|
|
4134
|
-
}
|
|
4135
|
-
return array5;
|
|
4136
|
-
}
|
|
4137
|
-
|
|
4138
4131
|
// ../replicache/src/sync/request-id.ts
|
|
4139
4132
|
var sessionID = "";
|
|
4140
4133
|
function getSessionID() {
|
|
@@ -5558,7 +5551,9 @@ var valueTypeSchema = valita_exports.union(
|
|
|
5558
5551
|
valita_exports.literal("number"),
|
|
5559
5552
|
valita_exports.literal("boolean"),
|
|
5560
5553
|
valita_exports.literal("null"),
|
|
5561
|
-
valita_exports.literal("json")
|
|
5554
|
+
valita_exports.literal("json"),
|
|
5555
|
+
valita_exports.literal("date"),
|
|
5556
|
+
valita_exports.literal("timestamp")
|
|
5562
5557
|
);
|
|
5563
5558
|
var columnSchemaSchema = valita_exports.object({
|
|
5564
5559
|
type: valueTypeSchema
|
|
@@ -5817,7 +5812,9 @@ async function definePermissions(schema, definer) {
|
|
|
5817
5812
|
for (const name of Object.keys(schema.tables)) {
|
|
5818
5813
|
expressionBuilders[name] = new StaticQuery(
|
|
5819
5814
|
schema,
|
|
5820
|
-
name
|
|
5815
|
+
name,
|
|
5816
|
+
{ table: name },
|
|
5817
|
+
defaultFormat
|
|
5821
5818
|
).expressionBuilder();
|
|
5822
5819
|
}
|
|
5823
5820
|
const config = await definer();
|
|
@@ -6288,22 +6285,19 @@ var mutationIDSchema = valita_exports.object({
|
|
|
6288
6285
|
clientID: valita_exports.string()
|
|
6289
6286
|
});
|
|
6290
6287
|
var appErrorSchema = valita_exports.object({
|
|
6291
|
-
error: valita_exports.literal("app")
|
|
6292
|
-
//
|
|
6288
|
+
error: valita_exports.literal("app"),
|
|
6289
|
+
// The user can return any additional data here
|
|
6290
|
+
details: jsonSchema.optional()
|
|
6293
6291
|
});
|
|
6294
6292
|
var zeroErrorSchema = valita_exports.object({
|
|
6295
|
-
error: valita_exports.literal("ooo-mutation")
|
|
6293
|
+
error: valita_exports.literal("ooo-mutation"),
|
|
6294
|
+
details: jsonSchema.optional()
|
|
6296
6295
|
});
|
|
6297
|
-
var
|
|
6298
|
-
|
|
6299
|
-
|
|
6296
|
+
var mutationOkSchema = valita_exports.object({
|
|
6297
|
+
// The user can return any additional data here
|
|
6298
|
+
data: jsonSchema.optional()
|
|
6300
6299
|
});
|
|
6301
|
-
var
|
|
6302
|
-
var mutationErrorSchema = valita_exports.union(
|
|
6303
|
-
appErrorSchema,
|
|
6304
|
-
zeroErrorSchema,
|
|
6305
|
-
tokenErrorSchema
|
|
6306
|
-
);
|
|
6300
|
+
var mutationErrorSchema = valita_exports.union(appErrorSchema, zeroErrorSchema);
|
|
6307
6301
|
var mutationResultSchema = valita_exports.union(mutationOkSchema, mutationErrorSchema);
|
|
6308
6302
|
var mutationResponseSchema = valita_exports.object({
|
|
6309
6303
|
id: mutationIDSchema,
|
|
@@ -6363,16 +6357,9 @@ function mapCRUD(arg, map) {
|
|
|
6363
6357
|
};
|
|
6364
6358
|
}
|
|
6365
6359
|
|
|
6366
|
-
// ../zero-protocol/src/warm.ts
|
|
6367
|
-
var warmBodySchema = valita_exports.object({
|
|
6368
|
-
payload: valita_exports.string()
|
|
6369
|
-
});
|
|
6370
|
-
var warmMessageSchema = valita_exports.tuple([valita_exports.literal("warm"), warmBodySchema]);
|
|
6371
|
-
|
|
6372
6360
|
// ../zero-protocol/src/down.ts
|
|
6373
6361
|
var downstreamSchema = valita_exports.union(
|
|
6374
6362
|
connectedMessageSchema,
|
|
6375
|
-
warmMessageSchema,
|
|
6376
6363
|
errorMessageSchema,
|
|
6377
6364
|
pongMessageSchema,
|
|
6378
6365
|
pokeStartMessageSchema,
|
|
@@ -6380,11 +6367,12 @@ var downstreamSchema = valita_exports.union(
|
|
|
6380
6367
|
pokeEndMessageSchema,
|
|
6381
6368
|
pullResponseMessageSchema,
|
|
6382
6369
|
deleteClientsMessageSchema,
|
|
6383
|
-
pushResponseMessageSchema
|
|
6370
|
+
pushResponseMessageSchema,
|
|
6371
|
+
inspectDownMessageSchema
|
|
6384
6372
|
);
|
|
6385
6373
|
|
|
6386
6374
|
// ../zero-protocol/src/protocol-version.ts
|
|
6387
|
-
var PROTOCOL_VERSION =
|
|
6375
|
+
var PROTOCOL_VERSION = 12;
|
|
6388
6376
|
var MIN_SERVER_SUPPORTED_SYNC_PROTOCOL = 6;
|
|
6389
6377
|
assert(MIN_SERVER_SUPPORTED_SYNC_PROTOCOL < PROTOCOL_VERSION);
|
|
6390
6378
|
|
|
@@ -6395,24 +6383,6 @@ function customMutatorKey(namespace, name) {
|
|
|
6395
6383
|
return `${namespace}|${name}`;
|
|
6396
6384
|
}
|
|
6397
6385
|
|
|
6398
|
-
// ../zero-client/src/util/nanoid.ts
|
|
6399
|
-
function nanoid(size = 21) {
|
|
6400
|
-
const randomBytes = getNonCryptoRandomValues(new Uint8Array(size));
|
|
6401
|
-
return randomBytes.reduce((id, byte) => {
|
|
6402
|
-
byte &= 63;
|
|
6403
|
-
if (byte < 36) {
|
|
6404
|
-
id += byte.toString(36);
|
|
6405
|
-
} else if (byte < 62) {
|
|
6406
|
-
id += (byte - 26).toString(36).toUpperCase();
|
|
6407
|
-
} else if (byte > 62) {
|
|
6408
|
-
id += "-";
|
|
6409
|
-
} else {
|
|
6410
|
-
id += "_";
|
|
6411
|
-
}
|
|
6412
|
-
return id;
|
|
6413
|
-
}, "");
|
|
6414
|
-
}
|
|
6415
|
-
|
|
6416
6386
|
// ../zero-client/src/util/socket.ts
|
|
6417
6387
|
function send(ws, data) {
|
|
6418
6388
|
ws.send(JSON.stringify(data));
|
|
@@ -7917,6 +7887,11 @@ async function deleteImpl(tx, arg, schema, ivmBranch) {
|
|
|
7917
7887
|
}
|
|
7918
7888
|
}
|
|
7919
7889
|
|
|
7890
|
+
// ../shared/src/sentinels.ts
|
|
7891
|
+
function emptyFunction() {
|
|
7892
|
+
}
|
|
7893
|
+
var emptyObject = Object.freeze({});
|
|
7894
|
+
|
|
7920
7895
|
// ../zero-client/src/client/custom.ts
|
|
7921
7896
|
var TransactionImpl = class {
|
|
7922
7897
|
constructor(lc, repTx, schema, slowMaterializeThreshold) {
|
|
@@ -7951,14 +7926,16 @@ var TransactionImpl = class {
|
|
|
7951
7926
|
token;
|
|
7952
7927
|
};
|
|
7953
7928
|
function makeReplicacheMutator(lc, mutationTracker, mutator, schema, slowMaterializeThreshold) {
|
|
7954
|
-
return (repTx, args) => {
|
|
7929
|
+
return async (repTx, args) => {
|
|
7955
7930
|
const tx = new TransactionImpl(lc, repTx, schema, slowMaterializeThreshold);
|
|
7956
|
-
|
|
7931
|
+
await mutator(tx, args);
|
|
7957
7932
|
if (repTx.reason === "initial") {
|
|
7958
7933
|
const serverPromise = mutationTracker.trackMutation(repTx.mutationID);
|
|
7959
|
-
|
|
7934
|
+
return {
|
|
7935
|
+
server: serverPromise
|
|
7936
|
+
};
|
|
7960
7937
|
}
|
|
7961
|
-
return
|
|
7938
|
+
return {};
|
|
7962
7939
|
};
|
|
7963
7940
|
}
|
|
7964
7941
|
function makeSchemaCRUD(schema, tx, ivmBranch) {
|
|
@@ -7979,8 +7956,7 @@ function makeSchemaQuery(lc, schema, ivmBranch, slowMaterializeThreshold) {
|
|
|
7979
7956
|
const context = new ZeroContext(
|
|
7980
7957
|
lc,
|
|
7981
7958
|
ivmBranch,
|
|
7982
|
-
() =>
|
|
7983
|
-
},
|
|
7959
|
+
() => emptyFunction,
|
|
7984
7960
|
() => {
|
|
7985
7961
|
},
|
|
7986
7962
|
(applyViewUpdates) => applyViewUpdates(),
|
|
@@ -8329,7 +8305,7 @@ function makeMessage(message, context, logLevel) {
|
|
|
8329
8305
|
}
|
|
8330
8306
|
|
|
8331
8307
|
// ../zero-client/src/client/version.ts
|
|
8332
|
-
var version2 = "0.18.
|
|
8308
|
+
var version2 = "0.18.2025032800";
|
|
8333
8309
|
|
|
8334
8310
|
// ../zero-client/src/client/log-options.ts
|
|
8335
8311
|
var LevelFilterLogSink = class {
|
|
@@ -8623,6 +8599,140 @@ var State = class {
|
|
|
8623
8599
|
}
|
|
8624
8600
|
};
|
|
8625
8601
|
|
|
8602
|
+
// ../zero-client/src/client/mutation-tracker.ts
|
|
8603
|
+
import { resolver as resolver7 } from "@rocicorp/resolver";
|
|
8604
|
+
var transientPushErrorTypes = [
|
|
8605
|
+
"zero-pusher",
|
|
8606
|
+
"http",
|
|
8607
|
+
// These should never actually be received as they cause the websocket
|
|
8608
|
+
// connection to be closed.
|
|
8609
|
+
"unsupported-push-version",
|
|
8610
|
+
"unsupported-schema-version"
|
|
8611
|
+
];
|
|
8612
|
+
var MutationTracker = class {
|
|
8613
|
+
#outstandingMutations;
|
|
8614
|
+
#allMutationsConfirmedListeners;
|
|
8615
|
+
#clientID;
|
|
8616
|
+
constructor() {
|
|
8617
|
+
this.#outstandingMutations = /* @__PURE__ */ new Map();
|
|
8618
|
+
this.#allMutationsConfirmedListeners = /* @__PURE__ */ new Set();
|
|
8619
|
+
}
|
|
8620
|
+
set clientID(clientID) {
|
|
8621
|
+
this.#clientID = clientID;
|
|
8622
|
+
}
|
|
8623
|
+
trackMutation(id) {
|
|
8624
|
+
assert(!this.#outstandingMutations.has(id));
|
|
8625
|
+
const mutationResolver = resolver7();
|
|
8626
|
+
this.#outstandingMutations.set(id, {
|
|
8627
|
+
resolver: mutationResolver
|
|
8628
|
+
});
|
|
8629
|
+
return mutationResolver.promise;
|
|
8630
|
+
}
|
|
8631
|
+
processPushResponse(response) {
|
|
8632
|
+
if ("error" in response) {
|
|
8633
|
+
this.#processPushError(response);
|
|
8634
|
+
} else {
|
|
8635
|
+
this.#processPushOk(response);
|
|
8636
|
+
}
|
|
8637
|
+
}
|
|
8638
|
+
/**
|
|
8639
|
+
* When we reconnect to zero-cache, we resolve all outstanding mutations
|
|
8640
|
+
* whose ID is less than or equal to the lastMutationID.
|
|
8641
|
+
*
|
|
8642
|
+
* The reason is that any responses the API server sent
|
|
8643
|
+
* to those mutations have been lost.
|
|
8644
|
+
*
|
|
8645
|
+
* An example case: the API server responds while the connection
|
|
8646
|
+
* is down. Those responses are dropped.
|
|
8647
|
+
*
|
|
8648
|
+
* Mutations whose LMID is > the lastMutationID are not resolved
|
|
8649
|
+
* since they will be retried by the client, giving us another chance
|
|
8650
|
+
* at getting a response.
|
|
8651
|
+
*
|
|
8652
|
+
* The only way to ensure that all API server responses are
|
|
8653
|
+
* received would be to have the API server write them
|
|
8654
|
+
* to the DB while writing the LMID.
|
|
8655
|
+
*
|
|
8656
|
+
* This would have the downside of not being able to provide responses to a
|
|
8657
|
+
* mutation with data gathered after the transaction.
|
|
8658
|
+
*/
|
|
8659
|
+
onConnected(lastMutationID) {
|
|
8660
|
+
for (const [id, entry] of this.#outstandingMutations) {
|
|
8661
|
+
if (id <= lastMutationID) {
|
|
8662
|
+
this.#settleMutation(id, entry, "resolve", emptyObject);
|
|
8663
|
+
} else {
|
|
8664
|
+
break;
|
|
8665
|
+
}
|
|
8666
|
+
}
|
|
8667
|
+
}
|
|
8668
|
+
get size() {
|
|
8669
|
+
return this.#outstandingMutations.size;
|
|
8670
|
+
}
|
|
8671
|
+
#processPushError(error) {
|
|
8672
|
+
if (transientPushErrorTypes.includes(error.error)) {
|
|
8673
|
+
return;
|
|
8674
|
+
}
|
|
8675
|
+
const mids = error.mutationIDs;
|
|
8676
|
+
if (!mids) {
|
|
8677
|
+
return;
|
|
8678
|
+
}
|
|
8679
|
+
for (const mid of mids) {
|
|
8680
|
+
this.#processMutationError(mid, error);
|
|
8681
|
+
}
|
|
8682
|
+
}
|
|
8683
|
+
#processPushOk(ok) {
|
|
8684
|
+
for (const mutation of ok.mutations) {
|
|
8685
|
+
if ("error" in mutation.result) {
|
|
8686
|
+
this.#processMutationError(mutation.id, mutation.result);
|
|
8687
|
+
} else {
|
|
8688
|
+
this.#processMutationOk(mutation.result, mutation.id);
|
|
8689
|
+
}
|
|
8690
|
+
}
|
|
8691
|
+
}
|
|
8692
|
+
#processMutationError(mid, error) {
|
|
8693
|
+
assert(
|
|
8694
|
+
mid.clientID === this.#clientID,
|
|
8695
|
+
"received mutation for the wrong client"
|
|
8696
|
+
);
|
|
8697
|
+
const entry = this.#outstandingMutations.get(mid.id);
|
|
8698
|
+
assert(entry);
|
|
8699
|
+
this.#settleMutation(mid.id, entry, "reject", error);
|
|
8700
|
+
}
|
|
8701
|
+
#processMutationOk(result, mid) {
|
|
8702
|
+
assert(
|
|
8703
|
+
mid.clientID === this.#clientID,
|
|
8704
|
+
"received mutation for the wrong client"
|
|
8705
|
+
);
|
|
8706
|
+
const entry = this.#outstandingMutations.get(mid.id);
|
|
8707
|
+
assert(entry);
|
|
8708
|
+
this.#settleMutation(mid.id, entry, "resolve", result);
|
|
8709
|
+
}
|
|
8710
|
+
#settleMutation(mutationID, entry, type, result) {
|
|
8711
|
+
switch (type) {
|
|
8712
|
+
case "resolve":
|
|
8713
|
+
assert(!("error" in result));
|
|
8714
|
+
entry.resolver.resolve(result);
|
|
8715
|
+
break;
|
|
8716
|
+
case "reject":
|
|
8717
|
+
assert("error" in result);
|
|
8718
|
+
entry.resolver.reject(result);
|
|
8719
|
+
break;
|
|
8720
|
+
}
|
|
8721
|
+
const removed = this.#outstandingMutations.delete(mutationID);
|
|
8722
|
+
if (removed && this.#outstandingMutations.size === 0) {
|
|
8723
|
+
this.#notifyAllMutationsConfirmedListeners();
|
|
8724
|
+
}
|
|
8725
|
+
}
|
|
8726
|
+
onAllMutationsConfirmed(listener) {
|
|
8727
|
+
this.#allMutationsConfirmedListeners.add(listener);
|
|
8728
|
+
}
|
|
8729
|
+
#notifyAllMutationsConfirmedListeners() {
|
|
8730
|
+
for (const listener of this.#allMutationsConfirmedListeners) {
|
|
8731
|
+
listener();
|
|
8732
|
+
}
|
|
8733
|
+
}
|
|
8734
|
+
};
|
|
8735
|
+
|
|
8626
8736
|
// ../zero-client/src/client/ping-result-enum.ts
|
|
8627
8737
|
var TimedOut = 0;
|
|
8628
8738
|
var Success = 1;
|
|
@@ -8636,11 +8746,24 @@ var QueryManager = class {
|
|
|
8636
8746
|
#recentQueriesMaxSize;
|
|
8637
8747
|
#recentQueries = /* @__PURE__ */ new Set();
|
|
8638
8748
|
#gotQueries = /* @__PURE__ */ new Set();
|
|
8639
|
-
|
|
8749
|
+
#mutationTracker;
|
|
8750
|
+
#pendingRemovals = [];
|
|
8751
|
+
constructor(mutationTracker, clientID, tables, send2, experimentalWatch, recentQueriesMaxSize) {
|
|
8640
8752
|
this.#clientID = clientID;
|
|
8641
8753
|
this.#clientToServer = clientToServer(tables);
|
|
8642
8754
|
this.#recentQueriesMaxSize = recentQueriesMaxSize;
|
|
8643
8755
|
this.#send = send2;
|
|
8756
|
+
this.#mutationTracker = mutationTracker;
|
|
8757
|
+
this.#mutationTracker.onAllMutationsConfirmed(() => {
|
|
8758
|
+
if (this.#pendingRemovals.length === 0) {
|
|
8759
|
+
return;
|
|
8760
|
+
}
|
|
8761
|
+
const pendingRemovals = this.#pendingRemovals;
|
|
8762
|
+
this.#pendingRemovals = [];
|
|
8763
|
+
for (const removal of pendingRemovals) {
|
|
8764
|
+
removal();
|
|
8765
|
+
}
|
|
8766
|
+
});
|
|
8644
8767
|
experimentalWatch(
|
|
8645
8768
|
(diff3) => {
|
|
8646
8769
|
for (const diffOp of diff3) {
|
|
@@ -8754,6 +8877,12 @@ var QueryManager = class {
|
|
|
8754
8877
|
return;
|
|
8755
8878
|
}
|
|
8756
8879
|
removed = true;
|
|
8880
|
+
if (this.#mutationTracker.size > 0) {
|
|
8881
|
+
this.#pendingRemovals.push(
|
|
8882
|
+
() => this.#remove(entry, astHash, gotCallback)
|
|
8883
|
+
);
|
|
8884
|
+
return;
|
|
8885
|
+
}
|
|
8757
8886
|
this.#remove(entry, astHash, gotCallback);
|
|
8758
8887
|
};
|
|
8759
8888
|
}
|
|
@@ -9303,84 +9432,6 @@ var ZeroRep = class {
|
|
|
9303
9432
|
};
|
|
9304
9433
|
};
|
|
9305
9434
|
|
|
9306
|
-
// ../zero-client/src/client/mutation-tracker.ts
|
|
9307
|
-
import { resolver as resolver7 } from "@rocicorp/resolver";
|
|
9308
|
-
var MutationTracker = class {
|
|
9309
|
-
#outstandingMutations;
|
|
9310
|
-
#clientID;
|
|
9311
|
-
constructor() {
|
|
9312
|
-
this.#outstandingMutations = /* @__PURE__ */ new Map();
|
|
9313
|
-
}
|
|
9314
|
-
set clientID(clientID) {
|
|
9315
|
-
this.#clientID = clientID;
|
|
9316
|
-
}
|
|
9317
|
-
trackMutation(id) {
|
|
9318
|
-
assert(!this.#outstandingMutations.has(id));
|
|
9319
|
-
const mutationResolver = resolver7();
|
|
9320
|
-
this.#outstandingMutations.set(id, mutationResolver);
|
|
9321
|
-
return mutationResolver.promise;
|
|
9322
|
-
}
|
|
9323
|
-
/**
|
|
9324
|
-
* Called if the mutation is never able to be sent to the server
|
|
9325
|
-
* and abandoned before persisted.
|
|
9326
|
-
* In that case, we have no `pushResponse` to process.
|
|
9327
|
-
*/
|
|
9328
|
-
rejectMutation(id, e) {
|
|
9329
|
-
const resolver9 = this.#outstandingMutations.get(id);
|
|
9330
|
-
assert(resolver9);
|
|
9331
|
-
resolver9.reject(e);
|
|
9332
|
-
this.#outstandingMutations.delete(id);
|
|
9333
|
-
}
|
|
9334
|
-
processPushResponse(response) {
|
|
9335
|
-
if ("error" in response) {
|
|
9336
|
-
this.#processPushError(response);
|
|
9337
|
-
} else {
|
|
9338
|
-
this.#processPushOk(response);
|
|
9339
|
-
}
|
|
9340
|
-
}
|
|
9341
|
-
get size() {
|
|
9342
|
-
return this.#outstandingMutations.size;
|
|
9343
|
-
}
|
|
9344
|
-
#processPushError(error) {
|
|
9345
|
-
const mids = error.mutationIDs;
|
|
9346
|
-
if (!mids) {
|
|
9347
|
-
return;
|
|
9348
|
-
}
|
|
9349
|
-
for (const mid of mids) {
|
|
9350
|
-
this.#processMutationError(mid, error);
|
|
9351
|
-
}
|
|
9352
|
-
}
|
|
9353
|
-
#processPushOk(ok) {
|
|
9354
|
-
for (const mutation of ok.mutations) {
|
|
9355
|
-
if ("error" in mutation.result) {
|
|
9356
|
-
this.#processMutationError(mutation.id, mutation.result);
|
|
9357
|
-
} else {
|
|
9358
|
-
this.#processMutationOk(mutation.result, mutation.id);
|
|
9359
|
-
}
|
|
9360
|
-
}
|
|
9361
|
-
}
|
|
9362
|
-
#processMutationError(mid, error) {
|
|
9363
|
-
assert(
|
|
9364
|
-
mid.clientID === this.#clientID,
|
|
9365
|
-
"received mutation for the wrong client"
|
|
9366
|
-
);
|
|
9367
|
-
const resolver9 = this.#outstandingMutations.get(mid.id);
|
|
9368
|
-
assert(resolver9);
|
|
9369
|
-
resolver9.reject(error);
|
|
9370
|
-
this.#outstandingMutations.delete(mid.id);
|
|
9371
|
-
}
|
|
9372
|
-
#processMutationOk(result, mid) {
|
|
9373
|
-
assert(
|
|
9374
|
-
mid.clientID === this.#clientID,
|
|
9375
|
-
"received mutation for the wrong client"
|
|
9376
|
-
);
|
|
9377
|
-
const resolver9 = this.#outstandingMutations.get(mid.id);
|
|
9378
|
-
assert(resolver9);
|
|
9379
|
-
resolver9.resolve(result);
|
|
9380
|
-
this.#outstandingMutations.delete(mid.id);
|
|
9381
|
-
}
|
|
9382
|
-
};
|
|
9383
|
-
|
|
9384
9435
|
// ../zero-client/src/client/zero.ts
|
|
9385
9436
|
var onSetConnectionStateSymbol = Symbol();
|
|
9386
9437
|
var exposedToTestingSymbol = Symbol();
|
|
@@ -9594,6 +9645,8 @@ var Zero = class {
|
|
|
9594
9645
|
mutatorOrMutators,
|
|
9595
9646
|
schema,
|
|
9596
9647
|
slowMaterializeThreshold
|
|
9648
|
+
// Replicache expects mutators to only be able to return JSON
|
|
9649
|
+
// but Zero wraps the return with: `{server?: Promise<MutationResult>, client?: T}`
|
|
9597
9650
|
);
|
|
9598
9651
|
continue;
|
|
9599
9652
|
}
|
|
@@ -9650,6 +9703,8 @@ var Zero = class {
|
|
|
9650
9703
|
const replicacheImplOptions = {
|
|
9651
9704
|
enableClientGroupForking: false,
|
|
9652
9705
|
enableMutationRecovery: false,
|
|
9706
|
+
enablePullAndPushInOpen: false,
|
|
9707
|
+
// Zero calls push in its connection management code
|
|
9653
9708
|
onClientsDeleted: (clientIDs, clientGroupIDs) => this.#deleteClientsManager.onClientsDeleted(clientIDs, clientGroupIDs),
|
|
9654
9709
|
zero: new ZeroRep(
|
|
9655
9710
|
this.#zeroContext,
|
|
@@ -9686,10 +9741,8 @@ var Zero = class {
|
|
|
9686
9741
|
});
|
|
9687
9742
|
this.#onClientStateNotFound = onClientStateNotFoundCallback;
|
|
9688
9743
|
this.#rep.onClientStateNotFound = onClientStateNotFoundCallback;
|
|
9689
|
-
|
|
9744
|
+
const { mutate, mutateBatch } = makeCRUDMutate(schema, rep.mutate);
|
|
9690
9745
|
if (options.mutators) {
|
|
9691
|
-
mutate = {};
|
|
9692
|
-
mutateBatch = void 0;
|
|
9693
9746
|
for (const [namespaceOrKey, mutatorsOrMutator] of Object.entries(
|
|
9694
9747
|
options.mutators
|
|
9695
9748
|
)) {
|
|
@@ -9712,6 +9765,7 @@ var Zero = class {
|
|
|
9712
9765
|
this.mutate = mutate;
|
|
9713
9766
|
this.mutateBatch = mutateBatch;
|
|
9714
9767
|
this.#queryManager = new QueryManager(
|
|
9768
|
+
this.#mutationTracker,
|
|
9715
9769
|
rep.clientID,
|
|
9716
9770
|
schema.tables,
|
|
9717
9771
|
(msg) => this.#sendChangeDesiredQueries(msg),
|
|
@@ -9936,14 +9990,14 @@ var Zero = class {
|
|
|
9936
9990
|
return this.#handlePokeEnd(lc, downMessage);
|
|
9937
9991
|
case "pull":
|
|
9938
9992
|
return this.#handlePullResponse(lc, downMessage);
|
|
9939
|
-
case "warm":
|
|
9940
|
-
break;
|
|
9941
9993
|
case "deleteClients":
|
|
9942
9994
|
return this.#deleteClientsManager.clientsDeletedOnServer(
|
|
9943
9995
|
downMessage[1]
|
|
9944
9996
|
);
|
|
9945
9997
|
case "push-response":
|
|
9946
9998
|
return this.#mutationTracker.processPushResponse(downMessage[1]);
|
|
9999
|
+
case "inspect":
|
|
10000
|
+
break;
|
|
9947
10001
|
default:
|
|
9948
10002
|
msgType;
|
|
9949
10003
|
rejectInvalidMessage();
|
|
@@ -10169,6 +10223,9 @@ var Zero = class {
|
|
|
10169
10223
|
try {
|
|
10170
10224
|
l.debug?.("Waiting for connection to be acknowledged");
|
|
10171
10225
|
await this.#connectResolver.promise;
|
|
10226
|
+
this.#mutationTracker.onConnected(this.#lastMutationIDReceived);
|
|
10227
|
+
this.#rep.push().catch(() => {
|
|
10228
|
+
});
|
|
10172
10229
|
} finally {
|
|
10173
10230
|
clearTimeout(timeoutID);
|
|
10174
10231
|
this.#closeAbortController.signal.removeEventListener(
|
|
@@ -10622,8 +10679,8 @@ var Zero = class {
|
|
|
10622
10679
|
*/
|
|
10623
10680
|
async inspect() {
|
|
10624
10681
|
BUNDLE_SIZE: {
|
|
10625
|
-
const m = await import("./inspector-
|
|
10626
|
-
return m.newInspector(this.#rep, this.#schema);
|
|
10682
|
+
const m = await import("./inspector-SH2ZK7O3.js");
|
|
10683
|
+
return m.newInspector(this.#rep, this.#schema, () => this.#socket);
|
|
10627
10684
|
}
|
|
10628
10685
|
}
|
|
10629
10686
|
};
|
|
@@ -10741,4 +10798,4 @@ export {
|
|
|
10741
10798
|
escapeLike,
|
|
10742
10799
|
Zero
|
|
10743
10800
|
};
|
|
10744
|
-
//# sourceMappingURL=chunk-
|
|
10801
|
+
//# sourceMappingURL=chunk-3S3SDA44.js.map
|