@rocicorp/zero 0.20.2025050400 → 0.20.2025050600

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.
Files changed (140) hide show
  1. package/out/analyze-query/src/bin-analyze.js +10 -3
  2. package/out/analyze-query/src/bin-analyze.js.map +1 -1
  3. package/out/{chunk-KOXC55U7.js → chunk-EBZYAQDK.js} +14 -5
  4. package/out/chunk-EBZYAQDK.js.map +7 -0
  5. package/out/{chunk-54ZZCBOP.js → chunk-N44AEZOH.js} +2 -2
  6. package/out/{chunk-IFAC3PDK.js → chunk-VA2YVVTK.js} +58 -9
  7. package/out/{chunk-IFAC3PDK.js.map → chunk-VA2YVVTK.js.map} +2 -2
  8. package/out/{inspector-Z55GQ5JV.js → inspector-GCX7QH7K.js} +3 -3
  9. package/out/react.js +1 -1
  10. package/out/solid.js +3 -3
  11. package/out/z2s/src/compiler.d.ts.map +1 -1
  12. package/out/z2s/src/compiler.js +5 -1
  13. package/out/z2s/src/compiler.js.map +1 -1
  14. package/out/zero-cache/src/config/network.d.ts +5 -0
  15. package/out/zero-cache/src/config/network.d.ts.map +1 -0
  16. package/out/zero-cache/src/config/network.js +47 -0
  17. package/out/zero-cache/src/config/network.js.map +1 -0
  18. package/out/zero-cache/src/config/normalize.d.ts +29 -0
  19. package/out/zero-cache/src/config/normalize.d.ts.map +1 -0
  20. package/out/zero-cache/src/config/normalize.js +73 -0
  21. package/out/zero-cache/src/config/normalize.js.map +1 -0
  22. package/out/zero-cache/src/config/zero-config.d.ts +262 -99
  23. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  24. package/out/zero-cache/src/config/zero-config.js +64 -32
  25. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  26. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  27. package/out/zero-cache/src/server/change-streamer.js +19 -4
  28. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  29. package/out/zero-cache/src/server/main.d.ts +1 -1
  30. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  31. package/out/zero-cache/src/server/main.js +14 -26
  32. package/out/zero-cache/src/server/main.js.map +1 -1
  33. package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
  34. package/out/zero-cache/src/server/replicator.js +15 -4
  35. package/out/zero-cache/src/server/replicator.js.map +1 -1
  36. package/out/zero-cache/src/server/runner/run-worker.d.ts +7 -0
  37. package/out/zero-cache/src/server/runner/run-worker.d.ts.map +1 -1
  38. package/out/zero-cache/src/server/runner/run-worker.js +34 -73
  39. package/out/zero-cache/src/server/runner/run-worker.js.map +1 -1
  40. package/out/zero-cache/src/server/runner/runtime.d.ts.map +1 -1
  41. package/out/zero-cache/src/server/runner/runtime.js +12 -1
  42. package/out/zero-cache/src/server/runner/runtime.js.map +1 -1
  43. package/out/zero-cache/src/server/runner/zero-dispatcher.d.ts +2 -9
  44. package/out/zero-cache/src/server/runner/zero-dispatcher.d.ts.map +1 -1
  45. package/out/zero-cache/src/server/runner/zero-dispatcher.js +9 -46
  46. package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -1
  47. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  48. package/out/zero-cache/src/server/syncer.js +4 -2
  49. package/out/zero-cache/src/server/syncer.js.map +1 -1
  50. package/out/zero-cache/src/server/worker-dispatcher.d.ts +16 -0
  51. package/out/zero-cache/src/server/worker-dispatcher.d.ts.map +1 -0
  52. package/out/zero-cache/src/server/worker-dispatcher.js +99 -0
  53. package/out/zero-cache/src/server/worker-dispatcher.js.map +1 -0
  54. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  55. package/out/zero-cache/src/services/change-source/pg/change-source.js +12 -6
  56. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  57. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +6 -3
  58. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  59. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +31 -16
  60. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  61. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +1 -1
  62. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  63. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +4 -15
  64. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  65. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +1 -1
  66. package/out/zero-cache/src/services/change-streamer/schema/init.js +8 -0
  67. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
  68. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +2 -1
  69. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  70. package/out/zero-cache/src/services/change-streamer/schema/tables.js +19 -13
  71. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  72. package/out/zero-cache/src/services/change-streamer/storer.d.ts +1 -1
  73. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  74. package/out/zero-cache/src/services/change-streamer/storer.js +6 -2
  75. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  76. package/out/zero-cache/src/services/http-service.d.ts +5 -2
  77. package/out/zero-cache/src/services/http-service.d.ts.map +1 -1
  78. package/out/zero-cache/src/services/http-service.js +27 -11
  79. package/out/zero-cache/src/services/http-service.js.map +1 -1
  80. package/out/zero-cache/src/services/statz.d.ts +1 -1
  81. package/out/zero-cache/src/services/statz.d.ts.map +1 -1
  82. package/out/zero-cache/src/services/statz.js +6 -7
  83. package/out/zero-cache/src/services/statz.js.map +1 -1
  84. package/out/zero-cache/src/types/error-for-client.d.ts +1 -1
  85. package/out/zero-cache/src/types/pg.d.ts.map +1 -1
  86. package/out/zero-cache/src/types/pg.js +23 -21
  87. package/out/zero-cache/src/types/pg.js.map +1 -1
  88. package/out/zero-cache/src/{services/dispatcher → types}/websocket-handoff.d.ts +18 -2
  89. package/out/zero-cache/src/types/websocket-handoff.d.ts.map +1 -0
  90. package/out/zero-cache/src/{services/dispatcher → types}/websocket-handoff.js +14 -6
  91. package/out/zero-cache/src/types/websocket-handoff.js.map +1 -0
  92. package/out/zero-cache/src/{services/dispatcher → workers}/connect-params.d.ts +1 -1
  93. package/out/zero-cache/src/workers/connect-params.d.ts.map +1 -0
  94. package/out/zero-cache/src/{services/dispatcher → workers}/connect-params.js +3 -3
  95. package/out/zero-cache/src/workers/connect-params.js.map +1 -0
  96. package/out/zero-cache/src/workers/connection.d.ts +1 -1
  97. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  98. package/out/zero-cache/src/workers/connection.js +8 -3
  99. package/out/zero-cache/src/workers/connection.js.map +1 -1
  100. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts +1 -1
  101. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
  102. package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
  103. package/out/zero-cache/src/workers/syncer.js +1 -1
  104. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  105. package/out/zero-protocol/src/ast.d.ts +2 -2
  106. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  107. package/out/zero-protocol/src/ast.js +3 -1
  108. package/out/zero-protocol/src/ast.js.map +1 -1
  109. package/out/zero.js +3 -3
  110. package/out/zql/src/ivm/constraint.d.ts +24 -0
  111. package/out/zql/src/ivm/constraint.d.ts.map +1 -1
  112. package/out/zql/src/ivm/constraint.js +65 -0
  113. package/out/zql/src/ivm/constraint.js.map +1 -1
  114. package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
  115. package/out/zql/src/ivm/memory-source.js +10 -5
  116. package/out/zql/src/ivm/memory-source.js.map +1 -1
  117. package/out/zql/src/query/query-impl.d.ts +1 -1
  118. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  119. package/out/zql/src/query/query-impl.js +5 -3
  120. package/out/zql/src/query/query-impl.js.map +1 -1
  121. package/package.json +1 -1
  122. package/out/chunk-KOXC55U7.js.map +0 -7
  123. package/out/zero-cache/src/server/runner/config.d.ts +0 -368
  124. package/out/zero-cache/src/server/runner/config.d.ts.map +0 -1
  125. package/out/zero-cache/src/server/runner/config.js +0 -103
  126. package/out/zero-cache/src/server/runner/config.js.map +0 -1
  127. package/out/zero-cache/src/services/dispatcher/connect-params.d.ts.map +0 -1
  128. package/out/zero-cache/src/services/dispatcher/connect-params.js.map +0 -1
  129. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts +0 -15
  130. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +0 -1
  131. package/out/zero-cache/src/services/dispatcher/dispatcher.js +0 -64
  132. package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +0 -1
  133. package/out/zero-cache/src/services/dispatcher/websocket-handoff.d.ts.map +0 -1
  134. package/out/zero-cache/src/services/dispatcher/websocket-handoff.js.map +0 -1
  135. package/out/zero-cache/src/types/timeout.d.ts +0 -11
  136. package/out/zero-cache/src/types/timeout.d.ts.map +0 -1
  137. package/out/zero-cache/src/types/timeout.js +0 -23
  138. package/out/zero-cache/src/types/timeout.js.map +0 -1
  139. /package/out/{chunk-54ZZCBOP.js.map → chunk-N44AEZOH.js.map} +0 -0
  140. /package/out/{inspector-Z55GQ5JV.js.map → inspector-GCX7QH7K.js.map} +0 -0
@@ -1,368 +0,0 @@
1
- import * as v from '../../../../shared/src/valita.ts';
2
- export declare const multiConfigSchema: {
3
- serverVersion: {
4
- type: v.Optional<string>;
5
- desc: string[];
6
- };
7
- tenantsJSON: {
8
- type: v.Optional<string>;
9
- desc: string[];
10
- };
11
- upstream: {
12
- db: {
13
- type: v.Type<string>;
14
- desc: string[];
15
- };
16
- type: {
17
- type: v.Type<"pg" | "custom">;
18
- desc: string[];
19
- hidden: boolean;
20
- };
21
- maxConns: {
22
- type: v.Type<number>;
23
- desc: string[];
24
- };
25
- maxConnsPerWorker: {
26
- type: v.Optional<number>;
27
- hidden: boolean;
28
- };
29
- };
30
- push: {
31
- url: {
32
- type: v.Optional<string>;
33
- desc: string[];
34
- };
35
- apiKey: {
36
- type: v.Optional<string>;
37
- desc: string[];
38
- };
39
- };
40
- cvr: {
41
- db: {
42
- type: v.Optional<string>;
43
- desc: string[];
44
- };
45
- maxConns: {
46
- type: v.Type<number>;
47
- desc: string[];
48
- };
49
- maxConnsPerWorker: {
50
- type: v.Optional<number>;
51
- hidden: boolean;
52
- };
53
- };
54
- queryHydrationStats: {
55
- type: v.Optional<boolean>;
56
- desc: string[];
57
- };
58
- change: {
59
- db: {
60
- type: v.Optional<string>;
61
- desc: string[];
62
- };
63
- maxConns: {
64
- type: v.Type<number>;
65
- desc: string[];
66
- };
67
- };
68
- replica: {
69
- file: {
70
- type: v.Type<string>;
71
- desc: string[];
72
- };
73
- vacuumIntervalHours: {
74
- type: v.Optional<number>;
75
- desc: string[];
76
- };
77
- };
78
- log: {
79
- level: v.Type<"error" | "debug" | "info" | "warn">;
80
- format: {
81
- type: v.Type<"text" | "json">;
82
- desc: string[];
83
- };
84
- traceCollector: {
85
- type: v.Optional<string>;
86
- desc: string[];
87
- };
88
- metricCollector: {
89
- type: v.Optional<string>;
90
- desc: string[];
91
- };
92
- logCollector: {
93
- type: v.Optional<string>;
94
- desc: string[];
95
- };
96
- slowRowThreshold: {
97
- type: v.Type<number>;
98
- desc: string[];
99
- };
100
- slowHydrateThreshold: {
101
- type: v.Type<number>;
102
- desc: string[];
103
- };
104
- ivmSampling: {
105
- type: v.Type<number>;
106
- desc: string[];
107
- };
108
- };
109
- app: {
110
- id: {
111
- type: v.Type<string>;
112
- desc: string[];
113
- };
114
- publications: {
115
- type: v.Type<string[]>;
116
- desc: string[];
117
- };
118
- };
119
- shard: {
120
- id: {
121
- type: v.Optional<string>;
122
- hidden: boolean;
123
- };
124
- num: {
125
- type: v.Type<number>;
126
- desc: string[];
127
- hidden: boolean;
128
- };
129
- };
130
- auth: {
131
- jwk: {
132
- type: v.Optional<string>;
133
- desc: string[];
134
- };
135
- jwksUrl: {
136
- type: v.Optional<string>;
137
- desc: string[];
138
- };
139
- secret: {
140
- type: v.Optional<string>;
141
- desc: string[];
142
- };
143
- };
144
- port: {
145
- type: v.Type<number>;
146
- desc: string[];
147
- };
148
- changeStreamerPort: {
149
- type: v.Optional<number>;
150
- desc: string[];
151
- };
152
- taskID: {
153
- type: v.Optional<string>;
154
- desc: string[];
155
- };
156
- perUserMutationLimit: {
157
- max: {
158
- type: v.Optional<number>;
159
- desc: string[];
160
- };
161
- windowMs: {
162
- type: v.Type<number>;
163
- desc: string[];
164
- };
165
- };
166
- numSyncWorkers: {
167
- type: v.Optional<number>;
168
- desc: string[];
169
- };
170
- changeStreamerURI: {
171
- type: v.Optional<string>;
172
- desc: string[];
173
- };
174
- autoReset: {
175
- type: v.Type<boolean>;
176
- desc: string[];
177
- };
178
- adminPassword: {
179
- type: v.Optional<string>;
180
- desc: string[];
181
- };
182
- litestream: {
183
- executable: {
184
- type: v.Optional<string>;
185
- desc: string[];
186
- };
187
- configPath: {
188
- type: v.Type<string>;
189
- desc: string[];
190
- };
191
- logLevel: {
192
- type: v.Type<"error" | "debug" | "info" | "warn">;
193
- };
194
- backupURL: {
195
- type: v.Optional<string>;
196
- desc: string[];
197
- };
198
- port: {
199
- type: v.Optional<number>;
200
- desc: string[];
201
- };
202
- checkpointThresholdMB: {
203
- type: v.Type<number>;
204
- desc: string[];
205
- };
206
- incrementalBackupIntervalMinutes: {
207
- type: v.Type<number>;
208
- desc: string[];
209
- };
210
- snapshotBackupIntervalHours: {
211
- type: v.Type<number>;
212
- desc: string[];
213
- };
214
- restoreParallelism: {
215
- type: v.Type<number>;
216
- desc: string[];
217
- };
218
- multipartConcurrency: {
219
- type: v.Type<number>;
220
- desc: string[];
221
- };
222
- multipartSize: {
223
- type: v.Type<number>;
224
- desc: string[];
225
- };
226
- restoreDurationMsEstimate: {
227
- type: v.Optional<number>;
228
- desc: string[];
229
- };
230
- };
231
- storageDBTmpDir: {
232
- type: v.Optional<string>;
233
- desc: string[];
234
- };
235
- initialSync: {
236
- tableCopyWorkers: {
237
- type: v.Type<number>;
238
- desc: string[];
239
- };
240
- rowBatchSize: {
241
- type: v.Type<number>;
242
- desc: string[];
243
- };
244
- };
245
- tenantID: {
246
- type: v.Optional<string>;
247
- desc: string[];
248
- hidden: boolean;
249
- };
250
- targetClientRowCount: {
251
- type: v.Type<number>;
252
- desc: string[];
253
- };
254
- lazyStartup: {
255
- type: v.Type<boolean>;
256
- desc: string[];
257
- };
258
- };
259
- export type MultiZeroConfig = ReturnType<typeof getMultiZeroConfig>;
260
- export declare function getMultiZeroConfig(processEnv?: NodeJS.ProcessEnv, argv?: string[]): {
261
- config: {
262
- tenants: {
263
- host?: string | undefined;
264
- path?: string | undefined;
265
- id: string;
266
- env: {
267
- [x: string]: string | undefined;
268
- [x: number]: string | undefined;
269
- ZERO_REPLICA_FILE: string;
270
- };
271
- }[];
272
- upstream: {
273
- db: string;
274
- type: "pg" | "custom";
275
- maxConns: number;
276
- } & {
277
- maxConnsPerWorker?: number | undefined;
278
- };
279
- push: {} & {
280
- url?: string | undefined;
281
- apiKey?: string | undefined;
282
- };
283
- cvr: {
284
- maxConns: number;
285
- } & {
286
- db?: string | undefined;
287
- maxConnsPerWorker?: number | undefined;
288
- } & {
289
- db: string;
290
- };
291
- change: {
292
- maxConns: number;
293
- } & {
294
- db?: string | undefined;
295
- } & {
296
- db: string;
297
- };
298
- replica: {
299
- file: string;
300
- } & {
301
- vacuumIntervalHours?: number | undefined;
302
- };
303
- log: {
304
- level: "error" | "debug" | "info" | "warn";
305
- format: "text" | "json";
306
- slowRowThreshold: number;
307
- slowHydrateThreshold: number;
308
- ivmSampling: number;
309
- } & {
310
- traceCollector?: string | undefined;
311
- metricCollector?: string | undefined;
312
- logCollector?: string | undefined;
313
- };
314
- app: {
315
- id: string;
316
- publications: string[];
317
- } & {};
318
- shard: {
319
- num: number;
320
- } & {
321
- id?: string | undefined;
322
- };
323
- auth: {} & {
324
- jwk?: string | undefined;
325
- jwksUrl?: string | undefined;
326
- secret?: string | undefined;
327
- };
328
- port: number;
329
- perUserMutationLimit: {
330
- windowMs: number;
331
- } & {
332
- max?: number | undefined;
333
- };
334
- autoReset: boolean;
335
- litestream: {
336
- configPath: string;
337
- logLevel: "error" | "debug" | "info" | "warn";
338
- checkpointThresholdMB: number;
339
- incrementalBackupIntervalMinutes: number;
340
- snapshotBackupIntervalHours: number;
341
- restoreParallelism: number;
342
- multipartConcurrency: number;
343
- multipartSize: number;
344
- } & {
345
- executable?: string | undefined;
346
- backupURL?: string | undefined;
347
- port?: number | undefined;
348
- restoreDurationMsEstimate?: number | undefined;
349
- };
350
- initialSync: {
351
- tableCopyWorkers: number;
352
- rowBatchSize: number;
353
- } & {};
354
- targetClientRowCount: number;
355
- lazyStartup: boolean;
356
- serverVersion?: string | undefined;
357
- queryHydrationStats?: boolean | undefined;
358
- changeStreamerPort?: number | undefined;
359
- taskID?: string | undefined;
360
- numSyncWorkers?: number | undefined;
361
- changeStreamerURI?: string | undefined;
362
- adminPassword?: string | undefined;
363
- storageDBTmpDir?: string | undefined;
364
- tenantID?: string | undefined;
365
- };
366
- env: Record<string, string>;
367
- };
368
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/server/runner/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,kCAAkC,CAAC;AAKtD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkD7B,CAAC;AAiDF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,wBAAgB,kBAAkB,CAChC,UAAU,GAAE,MAAM,CAAC,UAAwB,EAC3C,IAAI,WAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB7B"}
@@ -1,103 +0,0 @@
1
- import { envSchema, parseOptionsAdvanced, } from "../../../../shared/src/options.js";
2
- import * as v from "../../../../shared/src/valita.js";
3
- import { normalizeZeroConfig, zeroOptions } from "../../config/zero-config.js";
4
- const ENV_VAR_PREFIX = 'ZERO_';
5
- export const multiConfigSchema = {
6
- ...zeroOptions,
7
- serverVersion: {
8
- type: v.string().optional(),
9
- desc: [`The version string outputted to logs when the server starts up.`],
10
- },
11
- tenantsJSON: {
12
- type: v.string().optional(),
13
- desc: [
14
- `JSON encoding of per-tenant configs for running the server in multi-tenant mode:`,
15
- ``,
16
- `\\{`,
17
- ` /**`,
18
- ` * Requests to the main application {bold port} are dispatched to the first tenant`,
19
- ` * with a matching {bold host} and {bold path}. If both host and path are specified,`,
20
- ` * both must match for the request to be dispatched to that tenant.`,
21
- ` *`,
22
- ` * Requests can also be sent directly to the {bold ZERO_PORT} specified`,
23
- ` * in a tenant's {bold env} overrides. In this case, no host or path`,
24
- ` * matching is necessary.`,
25
- ` */`,
26
- ` tenants: \\{`,
27
- ` /**`,
28
- ` * Unique per-tenant ID used internally for multi-node dispatch.`,
29
- ` *`,
30
- ` * The ID may only contain alphanumeric characters, underscores, and hyphens.`,
31
- ` * Note that changing the ID may result in temporary disruption in multi-node`,
32
- ` * mode, when the configs in the view-syncer and replication-manager differ.`,
33
- ` */`,
34
- ` id: string;`,
35
- ` host?: string; // case-insensitive full Host: header match`,
36
- ` path?: string; // first path component, with or without leading slash`,
37
- ``,
38
- ` /**`,
39
- ` * Options are inherited from the main application (e.g. args and ENV) by default,`,
40
- ` * and are overridden by values in the tenant's {bold env} object.`,
41
- ` */`,
42
- ` env: \\{`,
43
- ` ZERO_REPLICA_FILE: string`,
44
- ` ZERO_UPSTREAM_DB: string`,
45
- ` ZERO_CVR_DB: string`,
46
- ` ZERO_CHANGE_DB: string`,
47
- ` ...`,
48
- ` \\};`,
49
- ` \\}[];`,
50
- `\\}`,
51
- ],
52
- },
53
- };
54
- const zeroEnvSchema = envSchema(zeroOptions, ENV_VAR_PREFIX);
55
- const tenantSchema = v.object({
56
- id: v.string(),
57
- host: v
58
- .string()
59
- .map(h => h.toLowerCase())
60
- .optional(),
61
- path: v
62
- .string()
63
- .chain(p => {
64
- if (p.indexOf('/', 1) >= 0) {
65
- return v.err(`Only a single path component may be specified: ${p}`);
66
- }
67
- p = p[0] === '/' ? p : '/' + p;
68
- return v.ok(p + '/'); // normalized to '/{path}/'
69
- })
70
- .optional(),
71
- env: zeroEnvSchema.partial().extend({
72
- // Keep this as a required field. Note that ZERO_UPSTREAM_DB is optional as
73
- // it can be shared provided that each tenant has its own ZERO_APP_ID.
74
- ['ZERO_REPLICA_FILE']: v.string(),
75
- }),
76
- });
77
- const ID_REGEX = /^[A-Za-z0-9_-]+$/;
78
- const tenantsSchema = v
79
- .object({
80
- tenants: v.array(tenantSchema),
81
- })
82
- .chain(val => {
83
- const ids = new Set();
84
- for (const { id } of val.tenants) {
85
- if (!ID_REGEX.test(id)) {
86
- return v.err(`Invalid tenant ID "${id}". Must be non-empty, and contain only alphanumeric characters, underscores, and hyphens`);
87
- }
88
- if (ids.has(id)) {
89
- return v.err(`Multiple tenants with ID ${id}`);
90
- }
91
- ids.add(id);
92
- }
93
- return v.ok(val);
94
- });
95
- export function getMultiZeroConfig(processEnv = process.env, argv = process.argv.slice(2)) {
96
- const { config: { tenantsJSON, ...config }, env, } = parseOptionsAdvanced(multiConfigSchema, argv, ENV_VAR_PREFIX, false, true, // allowPartial, as options can be merged with each tenant's `env`
97
- processEnv);
98
- const tenantsConfig = tenantsJSON
99
- ? v.parse(JSON.parse(tenantsJSON), tenantsSchema)
100
- : { tenants: [] };
101
- return { config: { ...normalizeZeroConfig(config), ...tenantsConfig }, env };
102
- }
103
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/server/runner/config.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect-params.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/connect-params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,YAAY,CAAC;AAEpD,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,0CAA0C,CAAC;AAGlD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,SAAS,CAAC;CAC/D,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,mBAAmB,GAE1B;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,IAAI,CAAC;CACb,GACD;IACE,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAwCJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect-params.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/connect-params.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,gCAAgC,CAAC;AACpD,OAAO,EACL,kBAAkB,GAEnB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAkBpD,MAAM,UAAU,gBAAgB,CAC9B,eAAuB,EACvB,GAAQ,EACR,OAA4B;IAU5B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,EAAC,qBAAqB,EAAE,SAAS,EAAC,GAAG,kBAAkB,CAC3D,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CACxC,CAAC;QAEF,OAAO;YACL,MAAM,EAAE;gBACN,eAAe;gBACf,QAAQ;gBACR,aAAa;gBACb,aAAa;gBACb,UAAU;gBACV,SAAS;gBACT,IAAI;gBACJ,IAAI;gBACJ,SAAS;gBACT,iBAAiB,EAAE,qBAAqB;gBACxC,IAAI,EAAE,SAAS;gBACf,MAAM;aACP;YACD,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SAClD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,15 +0,0 @@
1
- import { LogContext } from '@rocicorp/logger';
2
- import type { Worker } from '../../types/processes.ts';
3
- import { HttpService, type Options } from '../http-service.ts';
4
- import type { ZeroConfig } from '../../config/zero-config.ts';
5
- export declare class Dispatcher extends HttpService {
6
- #private;
7
- readonly id = "dispatcher";
8
- constructor(config: ZeroConfig, lc: LogContext, taskID: string, parent: Worker | null, syncers: Worker[], mutator: Worker | undefined, opts: Options);
9
- }
10
- export declare function parsePath(url: URL): {
11
- base?: string;
12
- verb: 'sync' | 'mutate';
13
- version: string;
14
- } | undefined;
15
- //# sourceMappingURL=dispatcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAI5C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAC,WAAW,EAAE,KAAK,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAI7D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAM5D,qBAAa,UAAW,SAAQ,WAAW;;IACzC,QAAQ,CAAC,EAAE,gBAAgB;gBAMzB,MAAM,EAAE,UAAU,EAClB,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,IAAI,EAAE,OAAO;CAoDhB;AAED,wBAAgB,SAAS,CACvB,GAAG,EAAE,GAAG,GACP;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GAAG,SAAS,CAGvE"}
@@ -1,64 +0,0 @@
1
- import { LogContext } from '@rocicorp/logger';
2
- import UrlPattern from 'url-pattern';
3
- import { h32 } from "../../../../shared/src/hash.js";
4
- import { HttpService } from "../http-service.js";
5
- import { getConnectParams } from "./connect-params.js";
6
- import { installWebSocketHandoff } from "./websocket-handoff.js";
7
- import { assert } from "../../../../shared/src/asserts.js";
8
- // The server allows the client to use any /:base/ path to facilitate
9
- // servicing requests on the same domain as the application.
10
- const CONNECT_URL_PATTERN = new UrlPattern('(/:base)/:verb/v:version/connect');
11
- export class Dispatcher extends HttpService {
12
- id = 'dispatcher';
13
- #taskID;
14
- #syncers;
15
- #mutator;
16
- constructor(config, lc, taskID, parent, syncers, mutator, opts) {
17
- super('dispatcher', config, lc, opts, fastify => {
18
- installWebSocketHandoff(lc, req => this.#handoff(req), fastify.server);
19
- });
20
- this.#taskID = taskID;
21
- this.#syncers = syncers;
22
- this.#mutator = mutator;
23
- if (parent) {
24
- installWebSocketHandoff(lc, req => this.#handoff(req), parent);
25
- }
26
- }
27
- #handoff(req) {
28
- const { headers, url: u } = req;
29
- const url = new URL(u ?? '', 'http://unused/');
30
- const path = parsePath(url);
31
- if (!path) {
32
- throw new Error(`Invalid URL: ${u}`);
33
- }
34
- const version = Number(path.version);
35
- if (Number.isNaN(version)) {
36
- throw new Error(`Invalid version: ${u}`);
37
- }
38
- const { params, error } = getConnectParams(version, url, headers);
39
- if (error !== null) {
40
- throw new Error(error);
41
- }
42
- const { clientGroupID } = params;
43
- if (path.verb === 'sync') {
44
- // Include the TaskID when hash-bucketting the client group to the sync
45
- // worker. This diversifies the distribution of client groups (across
46
- // workers) for different tasks, so that if one task sheds connections
47
- // from its most heavily loaded sync worker(s), those client groups will
48
- // be distributed uniformly across workers on the receiving task(s).
49
- const syncer = h32(this.#taskID + '/' + clientGroupID) % this.#syncers.length;
50
- this._lc.debug?.(`connecting ${clientGroupID} to syncer ${syncer}`);
51
- return { payload: params, receiver: this.#syncers[syncer] };
52
- }
53
- else if (path.verb === 'mutate') {
54
- assert(this.#mutator !== undefined, 'Received a push for a custom mutation but no `push.url` was configured.');
55
- return { payload: params, receiver: this.#mutator };
56
- }
57
- throw new Error(`Invalid verb: ${u}`);
58
- }
59
- }
60
- export function parsePath(url) {
61
- // The match() returns both null and undefined.
62
- return CONNECT_URL_PATTERN.match(url.pathname) || undefined;
63
- }
64
- //# sourceMappingURL=dispatcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"websocket-handoff.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/websocket-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAkB,MAAM,EAAC,MAAM,WAAW,CAAC;AAElD,OAAO,EAAC,eAAe,EAAE,KAAK,SAAS,EAAC,MAAM,IAAI,CAAC;AAEnD,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,MAAM,EACZ,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAChC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,EACrC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,KAC/B,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAE3B,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;AAEvE;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,QAyDxB;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,MAAM,EAAE,MAAM,QAoBf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"websocket-handoff.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/websocket-handoff.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Resolves to the the string `"timed-out"` if `timeoutMs` elapses before
3
- * the specified `promise` resolves.
4
- */
5
- export declare function orTimeout<T>(promise: Promise<T>, timeoutMs: number): Promise<T | 'timed-out'>;
6
- /**
7
- * Resolves to the specified `timeoutValue` if `timeoutMs` elapses before
8
- * the specified `promise` resolves.
9
- */
10
- export declare function orTimeoutWith<T, U>(promise: Promise<T>, timeoutMs: number, timeoutValue: U): Promise<T | U>;
11
- //# sourceMappingURL=timeout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/timeout.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAE1B;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,CAAC,EACtC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,CAAC,GACd,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAQhB"}
@@ -1,23 +0,0 @@
1
- import { sleepWithAbort } from "../../../shared/src/sleep.js";
2
- /**
3
- * Resolves to the the string `"timed-out"` if `timeoutMs` elapses before
4
- * the specified `promise` resolves.
5
- */
6
- export function orTimeout(promise, timeoutMs) {
7
- return orTimeoutWith(promise, timeoutMs, 'timed-out');
8
- }
9
- /**
10
- * Resolves to the specified `timeoutValue` if `timeoutMs` elapses before
11
- * the specified `promise` resolves.
12
- */
13
- export async function orTimeoutWith(promise, timeoutMs, timeoutValue) {
14
- const ac = new AbortController();
15
- const [timeout] = sleepWithAbort(timeoutMs, ac.signal);
16
- try {
17
- return await Promise.race([promise, timeout.then(() => timeoutValue)]);
18
- }
19
- finally {
20
- ac.abort();
21
- }
22
- }
23
- //# sourceMappingURL=timeout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../../../zero-cache/src/types/timeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAE5D;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,OAAmB,EACnB,SAAiB;IAEjB,OAAO,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAmB,EACnB,SAAiB,EACjB,YAAe;IAEf,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}