@rocicorp/zero 0.7.2024120400 → 0.7.2024120700
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-WJCWI5I4.js → chunk-PFF4AHTF.js} +259 -202
- package/out/{chunk-WJCWI5I4.js.map → chunk-PFF4AHTF.js.map} +4 -4
- package/out/otel/src/noop-span-exporter.d.ts +8 -0
- package/out/otel/src/noop-span-exporter.d.ts.map +1 -0
- package/out/otel/src/noop-span-exporter.js +14 -0
- package/out/otel/src/noop-span-exporter.js.map +1 -0
- package/out/otel/src/span.d.ts +5 -0
- package/out/otel/src/span.d.ts.map +1 -0
- package/out/otel/src/span.js +30 -0
- package/out/otel/src/span.js.map +1 -0
- package/out/otel/src/version.d.ts +2 -0
- package/out/otel/src/version.d.ts.map +1 -0
- package/out/otel/src/version.js +2 -0
- package/out/otel/src/version.js.map +1 -0
- package/out/react.js +12 -6
- package/out/react.js.map +2 -2
- 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 +3 -4
- package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts +11 -7
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +11 -7
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/server/change-streamer.d.ts +1 -1
- package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +3 -3
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/server/main.js +6 -11
- package/out/zero-cache/src/server/main.js.map +1 -1
- package/out/zero-cache/src/server/replicator.d.ts +1 -1
- package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/server/replicator.js +3 -3
- package/out/zero-cache/src/server/replicator.js.map +1 -1
- package/out/zero-cache/src/server/syncer.d.ts +1 -1
- package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/server/syncer.js +34 -5
- package/out/zero-cache/src/server/syncer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/change-source.js +31 -21
- package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -1
- package/out/zero-cache/src/services/dispatcher/connect-params.d.ts +2 -1
- package/out/zero-cache/src/services/dispatcher/connect-params.d.ts.map +1 -1
- package/out/zero-cache/src/services/dispatcher/connect-params.js +3 -2
- package/out/zero-cache/src/services/dispatcher/connect-params.js.map +1 -1
- package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +1 -1
- package/out/zero-cache/src/services/dispatcher/dispatcher.js +5 -5
- package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +28 -20
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/runner.js +1 -4
- package/out/zero-cache/src/services/runner.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +1 -1
- 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 -2
- package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +2 -2
- 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 +41 -32
- package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.js +2 -2
- package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +11 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +5 -5
- 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 +384 -357
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/error-for-client.d.ts +10 -3
- package/out/zero-cache/src/types/error-for-client.d.ts.map +1 -1
- package/out/zero-cache/src/types/error-for-client.js +4 -4
- package/out/zero-cache/src/types/error-for-client.js.map +1 -1
- package/out/zero-cache/src/types/lite.d.ts.map +1 -1
- package/out/zero-cache/src/types/lite.js +1 -0
- package/out/zero-cache/src/types/lite.js.map +1 -1
- package/out/zero-cache/src/types/pg.d.ts +1 -1
- package/out/zero-cache/src/types/pg.d.ts.map +1 -1
- package/out/zero-cache/src/types/pg.js +33 -7
- package/out/zero-cache/src/types/pg.js.map +1 -1
- package/out/zero-cache/src/types/processes.d.ts +5 -1
- package/out/zero-cache/src/types/processes.d.ts.map +1 -1
- package/out/zero-cache/src/types/processes.js +12 -2
- package/out/zero-cache/src/types/processes.js.map +1 -1
- package/out/zero-cache/src/types/schema-versions.d.ts.map +1 -1
- package/out/zero-cache/src/types/schema-versions.js +4 -5
- package/out/zero-cache/src/types/schema-versions.js.map +1 -1
- package/out/zero-cache/src/workers/connection.d.ts +14 -6
- package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
- package/out/zero-cache/src/workers/connection.js +78 -70
- package/out/zero-cache/src/workers/connection.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +8 -10
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/options.d.ts +10 -6
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/server-error.d.ts +5 -3
- package/out/zero-client/src/client/server-error.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 +2 -2
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.d.ts +3 -0
- package/out/zero-protocol/src/ast.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.js +2 -0
- package/out/zero-protocol/src/ast.js.map +1 -1
- package/out/zero-protocol/src/error.d.ts +18 -1
- package/out/zero-protocol/src/error.d.ts.map +1 -1
- package/out/zero-protocol/src/error.js +12 -2
- package/out/zero-protocol/src/error.js.map +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts +20 -0
- package/out/zero-protocol/src/protocol-version.d.ts.map +1 -0
- package/out/zero-protocol/src/protocol-version.js +20 -0
- package/out/zero-protocol/src/protocol-version.js.map +1 -0
- package/out/zero-react/src/use-query.d.ts +9 -1
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-schema/src/compiled-permissions.d.ts +3 -3
- package/out/zero-schema/src/compiled-permissions.js +1 -1
- package/out/zero-schema/src/compiled-permissions.js.map +1 -1
- package/out/zero-schema/src/mod.d.ts +1 -1
- package/out/zero-schema/src/mod.d.ts.map +1 -1
- package/out/zero-schema/src/permissions.d.ts +1 -1
- package/out/zero-schema/src/permissions.d.ts.map +1 -1
- package/out/zero-schema/src/table-schema.d.ts +0 -3
- 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.js +1 -1
- package/out/zql/src/builder/builder.d.ts.map +1 -1
- package/out/zql/src/builder/builder.js +9 -11
- package/out/zql/src/builder/builder.js.map +1 -1
- package/out/zql/src/ivm/array-view.d.ts +1 -1
- package/out/zql/src/ivm/array-view.d.ts.map +1 -1
- package/out/zql/src/ivm/array-view.js +16 -3
- package/out/zql/src/ivm/array-view.js.map +1 -1
- package/out/zql/src/ivm/data.d.ts +1 -1
- package/out/zql/src/ivm/data.d.ts.map +1 -1
- package/out/zql/src/ivm/data.js +3 -2
- package/out/zql/src/ivm/data.js.map +1 -1
- package/out/zql/src/ivm/exists.d.ts.map +1 -1
- package/out/zql/src/ivm/exists.js +13 -2
- package/out/zql/src/ivm/exists.js.map +1 -1
- package/out/zql/src/ivm/join.d.ts +3 -2
- package/out/zql/src/ivm/join.d.ts.map +1 -1
- package/out/zql/src/ivm/join.js +5 -2
- package/out/zql/src/ivm/join.js.map +1 -1
- package/out/zql/src/ivm/memory-source.d.ts +2 -12
- package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
- package/out/zql/src/ivm/memory-source.js +29 -63
- package/out/zql/src/ivm/memory-source.js.map +1 -1
- package/out/zql/src/ivm/operator.d.ts +3 -1
- package/out/zql/src/ivm/operator.d.ts.map +1 -1
- package/out/zql/src/ivm/schema.d.ts +2 -1
- package/out/zql/src/ivm/schema.d.ts.map +1 -1
- package/out/zql/src/ivm/skip.d.ts.map +1 -1
- package/out/zql/src/ivm/skip.js +60 -54
- package/out/zql/src/ivm/skip.js.map +1 -1
- package/out/zql/src/ivm/take.d.ts.map +1 -1
- package/out/zql/src/ivm/take.js +47 -35
- package/out/zql/src/ivm/take.js.map +1 -1
- package/out/zql/src/ivm/view.d.ts +1 -1
- package/out/zql/src/ivm/view.d.ts.map +1 -1
- package/out/zql/src/query/auth-query.d.ts +1 -0
- package/out/zql/src/query/auth-query.d.ts.map +1 -1
- package/out/zql/src/query/auth-query.js +1 -0
- package/out/zql/src/query/auth-query.js.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +6 -4
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +18 -4
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/query.d.ts +9 -5
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zql/src/query/typed-view.d.ts +2 -1
- package/out/zql/src/query/typed-view.d.ts.map +1 -1
- package/out/zqlite/src/db.js +1 -1
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +31 -67
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +5 -1
- package/out/shared/src/random-values.js +0 -22
- package/out/shared/src/random-values.js.map +0 -1
- package/out/zero-client/src/client/protocol-version.d.ts +0 -2
- package/out/zero-client/src/client/protocol-version.d.ts.map +0 -1
- package/out/zql/src/ivm/lookahead-iterator.d.ts +0 -13
- package/out/zql/src/ivm/lookahead-iterator.d.ts.map +0 -1
- package/out/zql/src/ivm/lookahead-iterator.js +0 -45
- package/out/zql/src/ivm/lookahead-iterator.js.map +0 -1
|
@@ -1,10 +1,15 @@
|
|
|
1
|
+
import { trace } from '@opentelemetry/api';
|
|
1
2
|
import { Lock } from '@rocicorp/lock';
|
|
2
3
|
import WebSocket from 'ws';
|
|
4
|
+
import { startAsyncSpan, startSpan } from '../../../otel/src/span.js';
|
|
5
|
+
import { version } from '../../../otel/src/version.js';
|
|
3
6
|
import { unreachable } from '../../../shared/src/asserts.js';
|
|
4
|
-
import { randomCharacters } from '../../../shared/src/random-values.js';
|
|
5
7
|
import * as valita from '../../../shared/src/valita.js';
|
|
8
|
+
import {} from '../../../zero-protocol/src/error.js';
|
|
6
9
|
import { ErrorKind, upstreamSchema, } from '../../../zero-protocol/src/mod.js';
|
|
10
|
+
import { PROTOCOL_VERSION } from '../../../zero-protocol/src/protocol-version.js';
|
|
7
11
|
import { findErrorForClient } from '../types/error-for-client.js';
|
|
12
|
+
const tracer = trace.getTracer('syncer-ws-server', version);
|
|
8
13
|
/**
|
|
9
14
|
* Represents a connection between the client and server.
|
|
10
15
|
*
|
|
@@ -15,6 +20,8 @@ import { findErrorForClient } from '../types/error-for-client.js';
|
|
|
15
20
|
*/
|
|
16
21
|
export class Connection {
|
|
17
22
|
#ws;
|
|
23
|
+
#wsID;
|
|
24
|
+
#protocolVersion;
|
|
18
25
|
#clientGroupID;
|
|
19
26
|
#syncContext;
|
|
20
27
|
#lc;
|
|
@@ -25,10 +32,12 @@ export class Connection {
|
|
|
25
32
|
#authData;
|
|
26
33
|
#outboundStream;
|
|
27
34
|
#closed = false;
|
|
28
|
-
constructor(lc,
|
|
35
|
+
constructor(lc, tokenData, viewSyncer, mutagen, connectParams, ws, onClose) {
|
|
36
|
+
const { clientGroupID, clientID, wsID, baseCookie, protocolVersion, schemaVersion, } = connectParams;
|
|
29
37
|
this.#ws = ws;
|
|
30
38
|
this.#authData = tokenData?.decoded;
|
|
31
|
-
|
|
39
|
+
this.#wsID = wsID;
|
|
40
|
+
this.#protocolVersion = protocolVersion;
|
|
32
41
|
this.#clientGroupID = clientGroupID;
|
|
33
42
|
this.#syncContext = { clientID, wsID, baseCookie, schemaVersion, tokenData };
|
|
34
43
|
this.#lc = lc
|
|
@@ -42,19 +51,36 @@ export class Connection {
|
|
|
42
51
|
this.#ws.addEventListener('message', this.#handleMessage);
|
|
43
52
|
this.#ws.addEventListener('close', this.#handleClose);
|
|
44
53
|
this.#ws.addEventListener('error', this.#handleError);
|
|
45
|
-
const connectedMessage = [
|
|
46
|
-
'connected',
|
|
47
|
-
{ wsid: wsID, timestamp: Date.now() },
|
|
48
|
-
];
|
|
49
|
-
send(ws, connectedMessage);
|
|
50
|
-
this.#warmConnection(config);
|
|
51
54
|
}
|
|
52
|
-
|
|
55
|
+
/**
|
|
56
|
+
* Checks the protocol version and errors for unsupported protocols,
|
|
57
|
+
* sending the initial `connected` response on success.
|
|
58
|
+
*
|
|
59
|
+
* This is early in the connection lifecycle because {@link #handleMessage}
|
|
60
|
+
* will only parse messages with schema(s) of supported protocol versions.
|
|
61
|
+
*/
|
|
62
|
+
init() {
|
|
63
|
+
if (this.#protocolVersion !== PROTOCOL_VERSION &&
|
|
64
|
+
this.#protocolVersion !== PROTOCOL_VERSION - 1) {
|
|
65
|
+
this.#closeWithError({
|
|
66
|
+
kind: ErrorKind.VersionNotSupported,
|
|
67
|
+
message: `server supports v${PROTOCOL_VERSION - 1} and v${PROTOCOL_VERSION} protocols`,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
const connectedMessage = [
|
|
72
|
+
'connected',
|
|
73
|
+
{ wsid: this.#wsID, timestamp: Date.now() },
|
|
74
|
+
];
|
|
75
|
+
send(this.#ws, connectedMessage);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
close(reason, ...args) {
|
|
53
79
|
if (this.#closed) {
|
|
54
80
|
return;
|
|
55
81
|
}
|
|
56
|
-
this.#lc.debug?.('close');
|
|
57
82
|
this.#closed = true;
|
|
83
|
+
this.#lc.info?.(`closing connection: ${reason}`, ...args);
|
|
58
84
|
this.#ws.removeEventListener('message', this.#handleMessage);
|
|
59
85
|
this.#ws.removeEventListener('close', this.#handleClose);
|
|
60
86
|
this.#ws.removeEventListener('error', this.#handleError);
|
|
@@ -67,19 +93,6 @@ export class Connection {
|
|
|
67
93
|
// spin down services if we have
|
|
68
94
|
// no more client connections for the client group?
|
|
69
95
|
}
|
|
70
|
-
// Landing this to gather some data on time savings, if any.
|
|
71
|
-
#warmConnection(config) {
|
|
72
|
-
if (config.warmWebsocket) {
|
|
73
|
-
for (let i = 0; i < config.warmWebsocket; i++) {
|
|
74
|
-
send(this.#ws, [
|
|
75
|
-
'warm',
|
|
76
|
-
{
|
|
77
|
-
payload: randomCharacters(1024),
|
|
78
|
-
},
|
|
79
|
-
]);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
96
|
handleInitConnection(initConnectionMsg) {
|
|
84
97
|
return this.#handleMessage({ data: initConnectionMsg });
|
|
85
98
|
}
|
|
@@ -98,7 +111,7 @@ export class Connection {
|
|
|
98
111
|
}
|
|
99
112
|
catch (e) {
|
|
100
113
|
this.#lc.warn?.(`failed to parse message "${data}": ${String(e)}`);
|
|
101
|
-
this.#closeWithError(
|
|
114
|
+
this.#closeWithError({ kind: ErrorKind.InvalidMessage, message: String(e) }, e);
|
|
102
115
|
return;
|
|
103
116
|
}
|
|
104
117
|
try {
|
|
@@ -108,25 +121,26 @@ export class Connection {
|
|
|
108
121
|
this.send(['pong', {}]);
|
|
109
122
|
break;
|
|
110
123
|
case 'push': {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
this.#
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
// Hold a connection-level lock while processing mutations so that:
|
|
121
|
-
// 1. Mutations are processed in the order in which they are received and
|
|
122
|
-
// 2. A single view syncer connection cannot hog multiple upstream connections.
|
|
123
|
-
await this.#mutationLock.withLock(async () => {
|
|
124
|
-
for (const mutation of mutations) {
|
|
125
|
-
const maybeError = await this.#mutagen.processMutation(mutation, this.#authData, schemaVersion);
|
|
126
|
-
if (maybeError !== undefined) {
|
|
127
|
-
this.sendError(['error', maybeError[0], maybeError[1]]);
|
|
128
|
-
}
|
|
124
|
+
await startAsyncSpan(tracer, 'connection.push', async () => {
|
|
125
|
+
const { clientGroupID, mutations, schemaVersion } = msg[1];
|
|
126
|
+
if (clientGroupID !== this.#clientGroupID) {
|
|
127
|
+
this.#closeWithError({
|
|
128
|
+
kind: ErrorKind.InvalidPush,
|
|
129
|
+
message: `clientGroupID in mutation "${clientGroupID}" does not match ` +
|
|
130
|
+
`clientGroupID of connection "${this.#clientGroupID}`,
|
|
131
|
+
});
|
|
129
132
|
}
|
|
133
|
+
// Hold a connection-level lock while processing mutations so that:
|
|
134
|
+
// 1. Mutations are processed in the order in which they are received and
|
|
135
|
+
// 2. A single view syncer connection cannot hog multiple upstream connections.
|
|
136
|
+
await this.#mutationLock.withLock(async () => {
|
|
137
|
+
for (const mutation of mutations) {
|
|
138
|
+
const maybeError = await this.#mutagen.processMutation(mutation, this.#authData, schemaVersion);
|
|
139
|
+
if (maybeError !== undefined) {
|
|
140
|
+
this.sendError({ kind: maybeError[0], message: maybeError[1] });
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
});
|
|
130
144
|
});
|
|
131
145
|
break;
|
|
132
146
|
}
|
|
@@ -134,20 +148,17 @@ export class Connection {
|
|
|
134
148
|
lc.error?.('TODO: implement pull');
|
|
135
149
|
break;
|
|
136
150
|
case 'changeDesiredQueries':
|
|
137
|
-
await
|
|
151
|
+
await startAsyncSpan(tracer, 'connection.changeDesiredQueries', async () => {
|
|
152
|
+
await viewSyncer.changeDesiredQueries(this.#syncContext, msg);
|
|
153
|
+
});
|
|
138
154
|
break;
|
|
139
155
|
case 'deleteClients':
|
|
140
156
|
lc.error?.('TODO: implement deleteClients');
|
|
141
157
|
break;
|
|
142
158
|
case 'initConnection': {
|
|
143
159
|
// TODO (mlaw): tell mutagens about the new token too
|
|
144
|
-
this.#outboundStream =
|
|
145
|
-
|
|
146
|
-
this.#outboundStream.cancel();
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
void this.#proxyOutbound(this.#outboundStream);
|
|
150
|
-
}
|
|
160
|
+
this.#outboundStream = startSpan(tracer, 'connection.initConnection', () => viewSyncer.initConnection(this.#syncContext, msg));
|
|
161
|
+
void this.#proxyOutbound(this.#outboundStream);
|
|
151
162
|
break;
|
|
152
163
|
}
|
|
153
164
|
default:
|
|
@@ -160,8 +171,7 @@ export class Connection {
|
|
|
160
171
|
};
|
|
161
172
|
#handleClose = (e) => {
|
|
162
173
|
const { code, reason, wasClean } = e;
|
|
163
|
-
this
|
|
164
|
-
this.close();
|
|
174
|
+
this.close('WebSocket close event', { code, reason, wasClean });
|
|
165
175
|
};
|
|
166
176
|
#handleError = (e) => {
|
|
167
177
|
this.#lc.error?.('WebSocket error event', e.message, e.error);
|
|
@@ -171,39 +181,37 @@ export class Connection {
|
|
|
171
181
|
for await (const outMsg of outboundStream) {
|
|
172
182
|
this.send(outMsg);
|
|
173
183
|
}
|
|
174
|
-
this
|
|
175
|
-
this.close();
|
|
184
|
+
this.close('downstream closed by ViewSyncer');
|
|
176
185
|
}
|
|
177
186
|
catch (e) {
|
|
178
187
|
this.#closeWithThrown(e);
|
|
179
188
|
}
|
|
180
189
|
}
|
|
181
190
|
#closeWithThrown(e) {
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
this.#closeWithError(errorMessage, e);
|
|
191
|
+
const errorBody = findErrorForClient(e)?.errorBody ?? {
|
|
192
|
+
kind: ErrorKind.Internal,
|
|
193
|
+
message: String(e),
|
|
194
|
+
};
|
|
195
|
+
this.#closeWithError(errorBody, e);
|
|
188
196
|
}
|
|
189
|
-
#closeWithError(
|
|
190
|
-
this.sendError(
|
|
191
|
-
this.close();
|
|
197
|
+
#closeWithError(errorBody, thrown) {
|
|
198
|
+
this.sendError(errorBody, thrown);
|
|
199
|
+
this.close(`client error: ${errorBody.kind}`, errorBody);
|
|
192
200
|
}
|
|
193
201
|
send(data) {
|
|
194
202
|
send(this.#ws, data);
|
|
195
203
|
}
|
|
196
|
-
sendError(
|
|
197
|
-
sendError(this.#lc, this.#ws,
|
|
204
|
+
sendError(errorBody, thrown) {
|
|
205
|
+
sendError(this.#lc, this.#ws, errorBody, thrown);
|
|
198
206
|
}
|
|
199
207
|
}
|
|
200
208
|
export function send(ws, data) {
|
|
201
209
|
ws.send(JSON.stringify(data));
|
|
202
210
|
}
|
|
203
|
-
export function sendError(lc, ws,
|
|
204
|
-
lc = lc.withContext('errorKind',
|
|
211
|
+
export function sendError(lc, ws, errorBody, thrown) {
|
|
212
|
+
lc = lc.withContext('errorKind', errorBody.kind);
|
|
205
213
|
const logLevel = thrown ? 'error' : 'info';
|
|
206
|
-
lc[logLevel]?.('Sending error on WebSocket',
|
|
207
|
-
send(ws,
|
|
214
|
+
lc[logLevel]?.('Sending error on WebSocket', errorBody, thrown ?? '');
|
|
215
|
+
send(ws, ['error', errorBody]);
|
|
208
216
|
}
|
|
209
217
|
//# sourceMappingURL=connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAIpC,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAY,KAAK,UAAU,EAAC,MAAM,MAAM,CAAC;AAEhD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"syncer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAY,KAAK,UAAU,EAAC,MAAM,MAAM,CAAC;AAEhD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAK3C,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAGzD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sCAAsC,CAAC;AAEvE,OAAO,KAAK,EACV,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,gBAAgB,EAAC,MAAM,8CAA8C,CAAC;AAC9E,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAItD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,MAAO,YAAW,gBAAgB;;IAC7C,QAAQ,CAAC,EAAE,SAAmB;gBAY5B,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,UAAU,EAClB,iBAAiB,EAAE,CACjB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,YAAY,CAAC,YAAY,CAAC,EAC/B,gBAAgB,EAAE,gBAAgB,KAC/B,UAAU,GAAG,oBAAoB,EACtC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,EACjD,MAAM,EAAE,MAAM;IA4EhB,GAAG;IAIH;;;;;OAKG;IACG,KAAK;IAqBX,IAAI;CAKL;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,GAAG,SAAS,EAC9B,MAAM,EAAE,MAAM,uBAaf"}
|
|
@@ -7,6 +7,7 @@ import { MessagePort } from 'worker_threads';
|
|
|
7
7
|
import { WebSocketServer } from 'ws';
|
|
8
8
|
import { must } from '../../../shared/src/must.js';
|
|
9
9
|
import { promiseVoid } from '../../../shared/src/resolved-promises.js';
|
|
10
|
+
import { ErrorKind } from '../../../zero-protocol/src/error.js';
|
|
10
11
|
import {} from '../config/zero-config.js';
|
|
11
12
|
import { installWebSocketReceiver } from '../services/dispatcher/websocket-handoff.js';
|
|
12
13
|
import { ServiceRunner } from '../services/runner.js';
|
|
@@ -14,7 +15,6 @@ import { DrainCoordinator } from '../services/view-syncer/drain-coordinator.js';
|
|
|
14
15
|
import { Subscription } from '../types/subscription.js';
|
|
15
16
|
import { Connection, sendError } from './connection.js';
|
|
16
17
|
import { createNotifierFrom, subscribeTo } from './replicator.js';
|
|
17
|
-
import { ErrorKind } from '../../../zero-protocol/src/error.js';
|
|
18
18
|
/**
|
|
19
19
|
* The Syncer worker receives websocket handoffs for "/sync" connections
|
|
20
20
|
* from the Dispatcher in the main thread, and creates websocket
|
|
@@ -32,10 +32,8 @@ export class Syncer {
|
|
|
32
32
|
#parent;
|
|
33
33
|
#wss;
|
|
34
34
|
#stopped = resolver();
|
|
35
|
-
#config;
|
|
36
35
|
#jwtSecretBytes;
|
|
37
36
|
constructor(lc, config, viewSyncerFactory, mutagenFactory, parent) {
|
|
38
|
-
this.#config = config;
|
|
39
37
|
// Relays notifications from the parent thread subscription
|
|
40
38
|
// to ViewSyncers within this thread.
|
|
41
39
|
const notifier = createNotifierFrom(lc, parent);
|
|
@@ -54,7 +52,7 @@ export class Syncer {
|
|
|
54
52
|
const { clientID, clientGroupID, auth, userID } = params;
|
|
55
53
|
const existing = this.#connections.get(clientID);
|
|
56
54
|
if (existing) {
|
|
57
|
-
existing.close();
|
|
55
|
+
existing.close(`replaced by ${params.wsID}`);
|
|
58
56
|
}
|
|
59
57
|
let decodedToken;
|
|
60
58
|
if (auth) {
|
|
@@ -62,15 +60,14 @@ export class Syncer {
|
|
|
62
60
|
decodedToken = await decodeAndCheckToken(auth, this.#jwtSecretBytes, userID);
|
|
63
61
|
}
|
|
64
62
|
catch (e) {
|
|
65
|
-
sendError(this.#lc, ws,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
]);
|
|
63
|
+
sendError(this.#lc, ws, {
|
|
64
|
+
kind: ErrorKind.AuthInvalidated,
|
|
65
|
+
message: 'Failed to decode auth token',
|
|
66
|
+
});
|
|
70
67
|
ws.close(3000, 'Failed to decode JWT');
|
|
71
68
|
}
|
|
72
69
|
}
|
|
73
|
-
const connection = new Connection(this.#lc,
|
|
70
|
+
const connection = new Connection(this.#lc, auth !== undefined && decodedToken !== undefined
|
|
74
71
|
? {
|
|
75
72
|
raw: auth,
|
|
76
73
|
decoded: decodedToken,
|
|
@@ -81,6 +78,7 @@ export class Syncer {
|
|
|
81
78
|
}
|
|
82
79
|
});
|
|
83
80
|
this.#connections.set(clientID, connection);
|
|
81
|
+
connection.init();
|
|
84
82
|
if (params.initConnectionMsg) {
|
|
85
83
|
await connection.handleInitConnection(JSON.stringify(params.initConnectionMsg));
|
|
86
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,SAAS,EAAkB,MAAM,MAAM,CAAC;AAChD,OAAO,EAAC,GAAG,EAAC,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,eAAe,EAAiB,MAAM,IAAI,CAAC;AACnD,OAAO,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAiB,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAC,wBAAwB,EAAC,MAAM,6CAA6C,CAAC;AAGrF,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAMpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,8CAA8C,CAAC;AAG9E,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAE,WAAW,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"syncer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,SAAS,EAAkB,MAAM,MAAM,CAAC;AAChD,OAAO,EAAC,GAAG,EAAC,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,eAAe,EAAiB,MAAM,IAAI,CAAC;AACnD,OAAO,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAC,SAAS,EAAC,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAiB,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAC,wBAAwB,EAAC,MAAM,6CAA6C,CAAC;AAGrF,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAMpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,8CAA8C,CAAC;AAG9E,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAE,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAMhE;;;;;;GAMG;AACH,MAAM,OAAO,MAAM;IACR,EAAE,GAAG,UAAU,GAAG,EAAE,CAAC;IACrB,GAAG,CAAa;IAChB,YAAY,CAAmD;IAC/D,SAAS,CAAmC;IAC5C,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,iBAAiB,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAC3C,OAAO,CAAS;IAChB,IAAI,CAAkB;IACtB,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAC/B,eAAe,CAAyB;IAExC,YACE,EAAc,EACd,MAAkB,EAClB,iBAIsC,EACtC,cAAiD,EACjD,MAAc;QAEd,2DAA2D;QAC3D,qCAAqC;QACrC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAChD,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAExB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,YAAY,GAAG,IAAI,aAAa,CACnC,EAAE,EACF,EAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,EACzE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CACnB,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,eAAe,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;QAElD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,eAAe,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC;QAED,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;IAEQ,iBAAiB,GAAG,KAAK,EAAE,EAAa,EAAE,MAAqB,EAAE,EAAE;QAC1E,MAAM,EAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,YAAoC,CAAC;QACzC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,mBAAmB,CACtC,IAAI,EACJ,IAAI,CAAC,eAAe,EACpB,MAAM,CACP,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE;oBACtB,IAAI,EAAE,SAAS,CAAC,eAAe;oBAC/B,OAAO,EAAE,6BAA6B;iBACvC,CAAC,CAAC;gBACH,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAC/B,IAAI,CAAC,GAAG,EACR,IAAI,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;YAC9C,CAAC,CAAC;gBACE,GAAG,EAAE,IAAI;gBACT,OAAO,EAAE,YAAY;aACtB;YACH,CAAC,CAAC,SAAS,EACb,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,EAC3C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,EACxC,MAAM,EACN,EAAE,EACF,GAAG,EAAE;YACH,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,CAAC;gBACnD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CACF,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE5C,UAAU,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,UAAU,CAAC,oBAAoB,CACnC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CACzC,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,GAAG;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,eAAe,CAAC,CAAC;QAEnE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAEtC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;YAE/C,gDAAgD;YAChD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,wBAAwB,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC3D,6EAA6E;gBAC7E,yCAAyC;gBACzC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,sBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC;IAClE,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAY,EACZ,MAA8B,EAC9B,MAAc;IAEd,MAAM,CACJ,MAAM,EACN,4FAA4F,CAC7F,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7D,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;IAC3C,MAAM,CACJ,YAAY,CAAC,GAAG,KAAK,MAAM,EAC3B,uEAAuE,CACxE,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -18,13 +18,17 @@ export interface ZeroOptions<S extends Schema> {
|
|
|
18
18
|
*/
|
|
19
19
|
server?: string | null | undefined;
|
|
20
20
|
/**
|
|
21
|
-
* A
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
21
|
+
* A string token to identify and authenticate the user, a function that
|
|
22
|
+
* returns such a token, or undefined if there is no logged in user.
|
|
23
|
+
*
|
|
24
|
+
* If the server determines the token is invalid (expired, can't be decoded,
|
|
25
|
+
* bad signature, etc):
|
|
26
|
+
* 1. if a function was provided Zero will call the function to get a new
|
|
27
|
+
* token with the error argument set to `'invalid-token'`.
|
|
28
|
+
* 2. if a string token was provided Zero will continue to retry with the
|
|
29
|
+
* provided token.
|
|
26
30
|
*/
|
|
27
|
-
auth?: ((error?: 'invalid-token') => MaybePromise<string | undefined>) | undefined;
|
|
31
|
+
auth?: string | ((error?: 'invalid-token') => MaybePromise<string | undefined>) | undefined;
|
|
28
32
|
/**
|
|
29
33
|
* A unique identifier for the user. Must be non-empty.
|
|
30
34
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iCAAiC,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM;IAC3C;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEnC
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iCAAiC,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM;IAC3C;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEnC;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EACD,MAAM,GACN,CAAC,CAAC,KAAK,CAAC,EAAE,eAAe,KAAK,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,GAC/D,SAAS,CAAC;IAEd;;;;;;;;;OASG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAEhC;;;OAGG;IACH,MAAM,EAAE,CAAC,CAAC;IAEV;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAEzD;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAEpE;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAEjD;;;;;;;OAOG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9C;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,eAAe,GAAG,SAAS,CAAC;IAEtD;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC3E;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,gBAAgB,CAAC,EAAE,CAAC,CAAC,gBAAgB,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACzE;AAED,MAAM,MAAM,kBAAkB,GAI1B;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAC,GAGxB;IAAC,IAAI,EAAE,qBAAqB,CAAA;CAAC,GAG7B;IAAC,IAAI,EAAE,2BAA2B,CAAA;CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-manager.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/query-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,4CAA4C,CAAC;AAG/E,OAAO,EAAe,KAAK,GAAG,EAAC,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EACV,2BAA2B,EAC3B,cAAc,EACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,sCAAsC,CAAC;AACtE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAK/C;;;;GAIG;AACH,qBAAa,YAAY;;gBAUrB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,CAAC,MAAM,EAAE,2BAA2B,KAAK,IAAI,EACnD,iBAAiB,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC,mBAAmB,CAAC;IAkC7E;;;;;;;;;;;;;;OAcG;IACG,eAAe,CACnB,EAAE,EAAE,eAAe,EACnB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,SAAS,GAClD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAsCvC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,IAAI;
|
|
1
|
+
{"version":3,"file":"query-manager.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/query-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,4CAA4C,CAAC;AAG/E,OAAO,EAAe,KAAK,GAAG,EAAC,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EACV,2BAA2B,EAC3B,cAAc,EACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,sCAAsC,CAAC;AACtE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAK/C;;;;GAIG;AACH,qBAAa,YAAY;;gBAUrB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,CAAC,MAAM,EAAE,2BAA2B,KAAK,IAAI,EACnD,iBAAiB,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC,mBAAmB,CAAC;IAkC7E;;;;;;;;;;;;;;OAcG;IACG,eAAe,CACnB,EAAE,EAAE,eAAe,EACnB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,SAAS,GAClD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAsCvC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,IAAI;CAqDjE"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { ErrorKind } from '../../../zero-protocol/src/
|
|
1
|
+
import { ErrorKind, type ErrorBody, type ServerOverloadedBody } from '../../../zero-protocol/src/error.js';
|
|
2
2
|
/**
|
|
3
3
|
* Represents an error sent by server as part of Zero protocol.
|
|
4
4
|
*/
|
|
5
5
|
export declare class ServerError<K extends ErrorKind = ErrorKind> extends Error {
|
|
6
|
-
readonly kind: K;
|
|
7
6
|
readonly name = "ServerError";
|
|
8
|
-
|
|
7
|
+
readonly errorBody: ErrorBody;
|
|
8
|
+
get kind(): K;
|
|
9
|
+
constructor(errorBody: ErrorBody);
|
|
9
10
|
}
|
|
10
11
|
export declare function isServerError(ex: unknown): ex is ServerError;
|
|
11
12
|
export declare function isAuthError(ex: unknown): ex is ServerError<ErrorKind.AuthInvalidated> | ServerError<ErrorKind.Unauthorized>;
|
|
13
|
+
export declare function isServerOverloadedError(ex: unknown): ServerOverloadedBody | undefined;
|
|
12
14
|
//# sourceMappingURL=server-error.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-error.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/server-error.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"server-error.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/server-error.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,SAAS,EACd,KAAK,oBAAoB,EAC1B,MAAM,qCAAqC,CAAC;AAE7C;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAAE,SAAQ,KAAK;IACrE,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,IAAI,IAAI,IAAI,CAAC,CAEZ;gBAEW,SAAS,EAAE,SAAS;CAIjC;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,WAAW,CAE5D;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,OAAO,GACV,EAAE,IACD,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,GACtC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAEtC;AAQD,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,OAAO,GACV,oBAAoB,GAAG,SAAS,CAIlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zero.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/zero.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,KAAK,QAAQ,EAAW,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,cAAc,EAEf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,QAAQ,EAEb,KAAK,WAAW,EAGhB,KAAK,MAAM,EAIX,KAAK,MAAM,EAKZ,MAAM,gCAAgC,CAAC;AAYxC,OAAO,EAUL,KAAK,eAAe,EAMpB,KAAK,cAAc,EAIpB,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"zero.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/zero.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@ export { IDBNotFoundError, TransactionClosedError, dropAllDatabases, dropDatabas
|
|
|
2
2
|
export type { AsyncIterableIteratorToArray, ClientGroupID, ClientID, CreateKVStore, ExperimentalDiff, ExperimentalDiffOperation, ExperimentalDiffOperationAdd, ExperimentalDiffOperationChange, ExperimentalDiffOperationDel, ExperimentalIndexDiff, ExperimentalNoIndexDiff, ExperimentalWatchCallbackForOptions, ExperimentalWatchIndexCallback, ExperimentalWatchIndexOptions, ExperimentalWatchNoIndexCallback, ExperimentalWatchNoIndexOptions, ExperimentalWatchOptions, GetIndexScanIterator, GetScanIterator, HTTPRequestInfo, IndexDefinition, IndexDefinitions, IndexKey, IterableUnion, JSONObject, JSONValue, KVRead, KVStore, KVWrite, KeyTypeForScanOptions, MaybePromise, MutatorDefs, MutatorReturn, PatchOperation, ReadTransaction, ReadonlyJSONObject, ReadonlyJSONValue, ScanIndexOptions, ScanNoIndexOptions, ScanOptionIndexedStartKey, ScanOptions, ScanResult, SubscribeOptions, TransactionEnvironment, TransactionLocation, TransactionReason, UpdateNeededReason, VersionNotSupportedResponse, WriteTransaction, } from '../../replicache/src/mod.js';
|
|
3
3
|
export { definePermissions } from '../../zero-schema/src/permissions.js';
|
|
4
4
|
export { createSchema } from '../../zero-schema/src/schema.js';
|
|
5
|
-
export { createTableSchema, type
|
|
5
|
+
export { createTableSchema, type TableSchema, } from '../../zero-schema/src/table-schema.js';
|
|
6
6
|
export { escapeLike } from '../../zql/src/query/escape-like.js';
|
|
7
7
|
export type { ExpressionBuilder, ExpressionFactory, } from '../../zql/src/query/expression.js';
|
|
8
|
-
export type { DefaultQueryResultRow as EmptyQueryResultRow, Query, QueryReturnType, QueryRowType, QueryType, Smash, } from '../../zql/src/query/query.js';
|
|
8
|
+
export type { DefaultQueryResultRow as EmptyQueryResultRow, Query, QueryReturnType, QueryRowType, QueryType, Smash, Row, Rows, } from '../../zql/src/query/query.js';
|
|
9
9
|
export type { TypedView } from '../../zql/src/query/typed-view.js';
|
|
10
10
|
export type { ZeroOptions } from './client/options.js';
|
|
11
11
|
export { Zero } from './client/zero.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../zero-client/src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,WAAW,GACZ,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,4BAA4B,EAC5B,aAAa,EACb,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,mCAAmC,EACnC,8BAA8B,EAC9B,6BAA6B,EAC7B,gCAAgC,EAChC,+BAA+B,EAC/B,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,UAAU,EACV,SAAS,EACT,MAAM,EACN,OAAO,EACP,OAAO,EACP,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAC,iBAAiB,EAAC,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAC,YAAY,EAAC,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,KAAK,
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../zero-client/src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,WAAW,GACZ,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,4BAA4B,EAC5B,aAAa,EACb,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,mCAAmC,EACnC,8BAA8B,EAC9B,6BAA6B,EAC7B,gCAAgC,EAChC,+BAA+B,EAC/B,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,UAAU,EACV,SAAS,EACT,MAAM,EACN,OAAO,EACP,OAAO,EACP,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAC,iBAAiB,EAAC,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAC,YAAY,EAAC,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,KAAK,WAAW,GACjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,oCAAoC,CAAC;AAC9D,YAAY,EACV,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACV,qBAAqB,IAAI,mBAAmB,EAC5C,KAAK,EACL,eAAe,EACf,YAAY,EACZ,SAAS,EACT,KAAK,EACL,GAAG,EACH,IAAI,GACL,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AACjE,YAAY,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC"}
|
|
@@ -9,6 +9,7 @@ import * as v from '../../shared/src/valita.js';
|
|
|
9
9
|
import { type Row } from './data.js';
|
|
10
10
|
export declare const selectorSchema: v.Type<string>;
|
|
11
11
|
export declare const orderingSchema: v.Type<readonly (readonly [string, "asc" | "desc"])[]>;
|
|
12
|
+
export type System = 'permissions' | 'client';
|
|
12
13
|
export declare const primitiveSchema: v.UnionType<[v.Type<string>, v.Type<number>, v.Type<boolean>, v.Type<null>]>;
|
|
13
14
|
export declare const equalityOpsSchema: v.UnionType<[v.Type<"=">, v.Type<"!=">, v.Type<"IS">, v.Type<"IS NOT">]>;
|
|
14
15
|
export declare const orderOpsSchema: v.UnionType<[v.Type<"<">, v.Type<">">, v.Type<"<=">, v.Type<">=">]>;
|
|
@@ -27,6 +28,7 @@ export declare const correlatedSubquerySchemaOmitSubquery: v.ObjectType<Readonly
|
|
|
27
28
|
childField: v.Type<CompoundKey>;
|
|
28
29
|
}>, undefined>;
|
|
29
30
|
hidden: v.Optional<boolean>;
|
|
31
|
+
system: v.Optional<"client" | "permissions">;
|
|
30
32
|
}>, undefined>;
|
|
31
33
|
export declare const correlatedSubquerySchema: v.Type<CorrelatedSubquery>;
|
|
32
34
|
export declare const astSchema: v.Type<AST>;
|
|
@@ -65,6 +67,7 @@ export type CorrelatedSubquery = {
|
|
|
65
67
|
childField: CompoundKey;
|
|
66
68
|
};
|
|
67
69
|
readonly subquery: AST;
|
|
70
|
+
readonly system?: System | undefined;
|
|
68
71
|
readonly hidden?: boolean | undefined;
|
|
69
72
|
};
|
|
70
73
|
export type ValuePosition = LiteralReference | Parameter | ColumnReference;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAY,KAAK,GAAG,EAAC,MAAM,WAAW,CAAC;AAE9C,eAAO,MAAM,cAAc,gBAAa,CAAC;AAMzC,eAAO,MAAM,cAAc,wDAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,6 +69,7 @@ const correlationSchema = v.readonlyObject({
|
|
|
69
69
|
export const correlatedSubquerySchemaOmitSubquery = v.readonlyObject({
|
|
70
70
|
correlation: correlationSchema,
|
|
71
71
|
hidden: v.boolean().optional(),
|
|
72
|
+
system: v.union(v.literal('permissions'), v.literal('client')).optional(),
|
|
72
73
|
});
|
|
73
74
|
export const correlatedSubquerySchema = correlatedSubquerySchemaOmitSubquery.extend({
|
|
74
75
|
subquery: v.lazy(() => astSchema),
|
|
@@ -105,6 +106,7 @@ export function normalizeAST(ast) {
|
|
|
105
106
|
correlation: r.correlation,
|
|
106
107
|
hidden: r.hidden,
|
|
107
108
|
subquery: normalizeAST(r.subquery),
|
|
109
|
+
system: r.system,
|
|
108
110
|
})))
|
|
109
111
|
: undefined,
|
|
110
112
|
start: ast.start,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AACzC,OAAO,EAAC,OAAO,EAAC,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAC,SAAS,EAAW,MAAM,WAAW,CAAC;AAE9C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAEzC,MAAM,qBAAqB,GAAG,CAAC,CAAC,QAAQ,CACtC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACxE,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"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"}
|