@rocicorp/zero 0.11.2025012200 → 0.12.2025012401
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/{chunk-5OVHF6ZM.js → chunk-BHEGTSLF.js} +68 -30
- package/out/{chunk-5OVHF6ZM.js.map → chunk-BHEGTSLF.js.map} +2 -2
- package/out/react.js +1 -0
- package/out/react.js.map +2 -2
- package/out/replicache/src/sync/request-id.d.ts.map +1 -1
- package/out/solid.js +1 -1
- package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
- package/out/zero-cache/src/auth/write-authorizer.js +1 -1
- package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
- package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +4 -0
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/server/main.d.ts.map +1 -1
- package/out/zero-cache/src/server/main.js +3 -1
- package/out/zero-cache/src/server/main.js.map +1 -1
- package/out/zero-cache/src/server/multi/runtime.d.ts.map +1 -1
- package/out/zero-cache/src/server/multi/runtime.js +5 -1
- package/out/zero-cache/src/server/multi/runtime.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/storer.js +0 -14
- package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
- package/out/zero-cache/src/services/dispatcher/sync-dispatcher.d.ts +1 -1
- package/out/zero-cache/src/services/dispatcher/sync-dispatcher.d.ts.map +1 -1
- package/out/zero-cache/src/services/dispatcher/sync-dispatcher.js +9 -2
- package/out/zero-cache/src/services/dispatcher/sync-dispatcher.js.map +1 -1
- package/out/zero-cache/src/types/error-for-client.d.ts +3 -1
- package/out/zero-cache/src/types/error-for-client.d.ts.map +1 -1
- package/out/zero-client/src/client/server-error.d.ts +2 -2
- package/out/zero-client/src/client/server-error.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 +1 -0
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.d.ts +24 -22
- package/out/zero-protocol/src/ast.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.js +23 -1
- package/out/zero-protocol/src/ast.js.map +1 -1
- package/out/zero-protocol/src/error-kind-enum.d.ts +4 -0
- package/out/zero-protocol/src/error-kind-enum.d.ts.map +1 -1
- package/out/zero-protocol/src/error-kind-enum.js +2 -0
- package/out/zero-protocol/src/error-kind-enum.js.map +1 -1
- package/out/zero-protocol/src/error.d.ts +8 -5
- package/out/zero-protocol/src/error.d.ts.map +1 -1
- package/out/zero-protocol/src/error.js +15 -5
- package/out/zero-protocol/src/error.js.map +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts +1 -1
- package/out/zero-protocol/src/protocol-version.js +1 -1
- package/out/zero-schema/src/table-schema.d.ts +2 -2
- package/out/zero-schema/src/table-schema.d.ts.map +1 -1
- package/out/zero.js +1 -1
- package/out/zql/src/query/expression.d.ts +3 -3
- package/out/zql/src/query/expression.d.ts.map +1 -1
- package/out/zql/src/query/expression.js.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +2 -2
- 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/zql/src/query/query.d.ts +4 -3
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zqlite/src/db.d.ts +9 -1
- package/out/zqlite/src/db.d.ts.map +1 -1
- package/out/zqlite/src/db.js +20 -5
- package/out/zqlite/src/db.js.map +1 -1
- package/package.json +1 -1
|
@@ -7151,14 +7151,8 @@ function getSessionID() {
|
|
|
7151
7151
|
}
|
|
7152
7152
|
var REQUEST_COUNTERS = /* @__PURE__ */ new Map();
|
|
7153
7153
|
function newRequestID(clientID) {
|
|
7154
|
-
|
|
7155
|
-
|
|
7156
|
-
REQUEST_COUNTERS.set(clientID, 0);
|
|
7157
|
-
counter = 0;
|
|
7158
|
-
} else {
|
|
7159
|
-
counter++;
|
|
7160
|
-
REQUEST_COUNTERS.set(clientID, counter);
|
|
7161
|
-
}
|
|
7154
|
+
const counter = REQUEST_COUNTERS.get(clientID) ?? 0;
|
|
7155
|
+
REQUEST_COUNTERS.set(clientID, counter + 1);
|
|
7162
7156
|
return `${clientID}-${getSessionID()}-${counter}`;
|
|
7163
7157
|
}
|
|
7164
7158
|
|
|
@@ -8565,8 +8559,13 @@ var columnReferenceSchema = readonlyObject({
|
|
|
8565
8559
|
});
|
|
8566
8560
|
var parameterReferenceSchema = readonlyObject({
|
|
8567
8561
|
type: valita_exports.literal("static"),
|
|
8562
|
+
// The "namespace" of the injected parameter.
|
|
8563
|
+
// Write authorization will send the value of a row
|
|
8564
|
+
// prior to the mutation being run (preMutationRow).
|
|
8565
|
+
// Read and write authorization will both send the
|
|
8566
|
+
// current authentication data (authData).
|
|
8568
8567
|
anchor: valita_exports.union(valita_exports.literal("authData"), valita_exports.literal("preMutationRow")),
|
|
8569
|
-
field: valita_exports.string()
|
|
8568
|
+
field: valita_exports.union(valita_exports.string(), valita_exports.array(valita_exports.string()))
|
|
8570
8569
|
});
|
|
8571
8570
|
var conditionValueSchema = valita_exports.union(
|
|
8572
8571
|
literalReferenceSchema,
|
|
@@ -11486,6 +11485,8 @@ var InvalidMessage = "InvalidMessage";
|
|
|
11486
11485
|
var InvalidPush = "InvalidPush";
|
|
11487
11486
|
var MutationFailed = "MutationFailed";
|
|
11488
11487
|
var MutationRateLimited = "MutationRateLimited";
|
|
11488
|
+
var Rebalance = "Rebalance";
|
|
11489
|
+
var Rehome = "Rehome";
|
|
11489
11490
|
var Unauthorized = "Unauthorized";
|
|
11490
11491
|
var VersionNotSupported = "VersionNotSupported";
|
|
11491
11492
|
var SchemaVersionNotSupported = "SchemaVersionNotSupported";
|
|
@@ -11557,7 +11558,7 @@ function encodeSecProtocols(initConnectionMessage, authToken) {
|
|
|
11557
11558
|
}
|
|
11558
11559
|
|
|
11559
11560
|
// ../zero-protocol/src/error.ts
|
|
11560
|
-
var
|
|
11561
|
+
var basicErrorKindSchema = valita_exports.union(
|
|
11561
11562
|
valita_exports.literal(AuthInvalidated),
|
|
11562
11563
|
valita_exports.literal(ClientNotFound),
|
|
11563
11564
|
valita_exports.literal(InvalidConnectionRequest),
|
|
@@ -11574,18 +11575,29 @@ var errorKindSchema = valita_exports.union(
|
|
|
11574
11575
|
valita_exports.literal(Internal)
|
|
11575
11576
|
);
|
|
11576
11577
|
var basicErrorBodySchema = valita_exports.object({
|
|
11577
|
-
kind:
|
|
11578
|
+
kind: basicErrorKindSchema,
|
|
11578
11579
|
message: valita_exports.string()
|
|
11579
11580
|
});
|
|
11580
|
-
var
|
|
11581
|
-
|
|
11581
|
+
var backoffErrorKindSchema = valita_exports.union(
|
|
11582
|
+
valita_exports.literal(Rebalance),
|
|
11583
|
+
valita_exports.literal(Rehome),
|
|
11584
|
+
valita_exports.literal(ServerOverloaded)
|
|
11585
|
+
);
|
|
11586
|
+
var backoffBodySchema = valita_exports.object({
|
|
11587
|
+
kind: backoffErrorKindSchema,
|
|
11582
11588
|
message: valita_exports.string(),
|
|
11583
|
-
minBackoffMs: valita_exports.number().optional()
|
|
11589
|
+
minBackoffMs: valita_exports.number().optional(),
|
|
11590
|
+
maxBackoffMs: valita_exports.number().optional(),
|
|
11591
|
+
// Query parameters to send in the next reconnect. In the event of
|
|
11592
|
+
// a conflict, these will be overridden by the parameters used by
|
|
11593
|
+
// the client; it is the responsibility of the server to avoid
|
|
11594
|
+
// parameter name conflicts.
|
|
11595
|
+
//
|
|
11596
|
+
// The parameters will only be added to the immediately following
|
|
11597
|
+
// reconnect, and not after that.
|
|
11598
|
+
reconnectParams: valita_exports.record(valita_exports.string()).optional()
|
|
11584
11599
|
});
|
|
11585
|
-
var errorBodySchema = valita_exports.union(
|
|
11586
|
-
basicErrorBodySchema,
|
|
11587
|
-
serverOverloadedBodySchema
|
|
11588
|
-
);
|
|
11600
|
+
var errorBodySchema = valita_exports.union(basicErrorBodySchema, backoffBodySchema);
|
|
11589
11601
|
var errorMessageSchema = valita_exports.tuple([
|
|
11590
11602
|
valita_exports.literal("error"),
|
|
11591
11603
|
errorBodySchema
|
|
@@ -11827,7 +11839,7 @@ var upstreamSchema = valita_exports.union(
|
|
|
11827
11839
|
);
|
|
11828
11840
|
|
|
11829
11841
|
// ../zero-protocol/src/protocol-version.ts
|
|
11830
|
-
var PROTOCOL_VERSION =
|
|
11842
|
+
var PROTOCOL_VERSION = 4;
|
|
11831
11843
|
var MIN_SERVER_SUPPORTED_PROTOCOL_VERSION = 2;
|
|
11832
11844
|
assert(MIN_SERVER_SUPPORTED_PROTOCOL_VERSION < PROTOCOL_VERSION);
|
|
11833
11845
|
|
|
@@ -13412,7 +13424,7 @@ function makeMessage(message, context, logLevel) {
|
|
|
13412
13424
|
}
|
|
13413
13425
|
|
|
13414
13426
|
// ../zero-client/src/client/version.ts
|
|
13415
|
-
var version2 = "0.
|
|
13427
|
+
var version2 = "0.12.2025012401+a73306";
|
|
13416
13428
|
|
|
13417
13429
|
// ../zero-client/src/client/log-options.ts
|
|
13418
13430
|
var LevelFilterLogSink = class {
|
|
@@ -13966,8 +13978,16 @@ function isAuthError(ex) {
|
|
|
13966
13978
|
function isAuthErrorKind(kind) {
|
|
13967
13979
|
return kind === AuthInvalidated || kind === Unauthorized;
|
|
13968
13980
|
}
|
|
13969
|
-
function
|
|
13970
|
-
|
|
13981
|
+
function isBackoffError(ex) {
|
|
13982
|
+
if (isServerError(ex)) {
|
|
13983
|
+
switch (ex.errorBody.kind) {
|
|
13984
|
+
case Rebalance:
|
|
13985
|
+
case Rehome:
|
|
13986
|
+
case ServerOverloaded:
|
|
13987
|
+
return ex.errorBody;
|
|
13988
|
+
}
|
|
13989
|
+
}
|
|
13990
|
+
return void 0;
|
|
13971
13991
|
}
|
|
13972
13992
|
|
|
13973
13993
|
// ../zero-client/src/client/server-option.ts
|
|
@@ -14875,7 +14895,7 @@ var Zero = class {
|
|
|
14875
14895
|
* is received before the connected message is received or if the connection
|
|
14876
14896
|
* attempt times out.
|
|
14877
14897
|
*/
|
|
14878
|
-
async #connect(l) {
|
|
14898
|
+
async #connect(l, additionalConnectParams) {
|
|
14879
14899
|
assert(this.#server);
|
|
14880
14900
|
assert(this.#connectionState === Disconnected);
|
|
14881
14901
|
const wsid = nanoid();
|
|
@@ -14923,7 +14943,8 @@ var Zero = class {
|
|
|
14923
14943
|
wsid,
|
|
14924
14944
|
this.#options.logLevel === "debug",
|
|
14925
14945
|
l,
|
|
14926
|
-
this.#options.maxHeaderLength
|
|
14946
|
+
this.#options.maxHeaderLength,
|
|
14947
|
+
additionalConnectParams
|
|
14927
14948
|
);
|
|
14928
14949
|
if (this.closed) {
|
|
14929
14950
|
return;
|
|
@@ -15134,6 +15155,7 @@ var Zero = class {
|
|
|
15134
15155
|
let needsReauth = false;
|
|
15135
15156
|
let gotError = false;
|
|
15136
15157
|
let backoffMs = RUN_LOOP_INTERVAL_MS;
|
|
15158
|
+
let additionalConnectParams;
|
|
15137
15159
|
while (!this.closed) {
|
|
15138
15160
|
runLoopCounter++;
|
|
15139
15161
|
let lc = getLogContext();
|
|
@@ -15152,7 +15174,8 @@ var Zero = class {
|
|
|
15152
15174
|
if (reloadScheduled()) {
|
|
15153
15175
|
break;
|
|
15154
15176
|
}
|
|
15155
|
-
await this.#connect(lc);
|
|
15177
|
+
await this.#connect(lc, additionalConnectParams);
|
|
15178
|
+
additionalConnectParams = void 0;
|
|
15156
15179
|
if (this.closed) {
|
|
15157
15180
|
break;
|
|
15158
15181
|
}
|
|
@@ -15234,9 +15257,15 @@ var Zero = class {
|
|
|
15234
15257
|
if (isServerError(ex) || ex instanceof TimedOutError || ex instanceof CloseError) {
|
|
15235
15258
|
gotError = true;
|
|
15236
15259
|
}
|
|
15237
|
-
const
|
|
15238
|
-
if (
|
|
15239
|
-
|
|
15260
|
+
const backoffError = isBackoffError(ex);
|
|
15261
|
+
if (backoffError) {
|
|
15262
|
+
if (backoffError.minBackoffMs !== void 0) {
|
|
15263
|
+
backoffMs = Math.max(backoffMs, backoffError.minBackoffMs);
|
|
15264
|
+
}
|
|
15265
|
+
if (backoffError.maxBackoffMs !== void 0) {
|
|
15266
|
+
backoffMs = Math.min(backoffMs, backoffError.maxBackoffMs);
|
|
15267
|
+
}
|
|
15268
|
+
additionalConnectParams = backoffError.reconnectParams;
|
|
15240
15269
|
}
|
|
15241
15270
|
}
|
|
15242
15271
|
if (gotError) {
|
|
@@ -15376,7 +15405,7 @@ var Zero = class {
|
|
|
15376
15405
|
return rv;
|
|
15377
15406
|
}
|
|
15378
15407
|
};
|
|
15379
|
-
async function createSocket(rep, queryManager, socketOrigin, baseCookie, clientID, clientGroupID, schemaVersion, userID, auth, lmid, wsid, debugPerf, lc, maxHeaderLength = 1024 * 8) {
|
|
15408
|
+
async function createSocket(rep, queryManager, socketOrigin, baseCookie, clientID, clientGroupID, schemaVersion, userID, auth, lmid, wsid, debugPerf, lc, maxHeaderLength = 1024 * 8, additionalConnectParams) {
|
|
15380
15409
|
const url = new URL(
|
|
15381
15410
|
appendPath(socketOrigin, `/sync/v${PROTOCOL_VERSION}/connect`)
|
|
15382
15411
|
);
|
|
@@ -15392,6 +15421,15 @@ async function createSocket(rep, queryManager, socketOrigin, baseCookie, clientI
|
|
|
15392
15421
|
if (debugPerf) {
|
|
15393
15422
|
searchParams.set("debugPerf", true.toString());
|
|
15394
15423
|
}
|
|
15424
|
+
if (additionalConnectParams) {
|
|
15425
|
+
for (const k in additionalConnectParams) {
|
|
15426
|
+
if (searchParams.has(k)) {
|
|
15427
|
+
lc.warn?.(`skipping conflicting parameter ${k}`);
|
|
15428
|
+
} else {
|
|
15429
|
+
searchParams.set(k, additionalConnectParams[k]);
|
|
15430
|
+
}
|
|
15431
|
+
}
|
|
15432
|
+
}
|
|
15395
15433
|
lc.info?.("Connecting to", url.toString());
|
|
15396
15434
|
const WS = mustGetBrowserGlobal("WebSocket");
|
|
15397
15435
|
let queriesPatch = await rep.query(
|
|
@@ -15453,4 +15491,4 @@ export {
|
|
|
15453
15491
|
escapeLike,
|
|
15454
15492
|
Zero
|
|
15455
15493
|
};
|
|
15456
|
-
//# sourceMappingURL=chunk-
|
|
15494
|
+
//# sourceMappingURL=chunk-BHEGTSLF.js.map
|