@rocicorp/zero 0.23.2025081200 → 0.23.2025081400

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 (132) hide show
  1. package/out/{chunk-ZJ4VVIKN.js → chunk-JHJ3MBXW.js} +5 -5
  2. package/out/{chunk-6TQKR5IL.js → chunk-O536GEIT.js} +89 -17
  3. package/out/chunk-O536GEIT.js.map +7 -0
  4. package/out/{chunk-YTS56A64.js → chunk-ZKRMVMWK.js} +20 -29
  5. package/out/chunk-ZKRMVMWK.js.map +7 -0
  6. package/out/{inspector-RB55U26N.js → inspector-J5P4DOGH.js} +52 -16
  7. package/out/inspector-J5P4DOGH.js.map +7 -0
  8. package/out/react.js +2 -2
  9. package/out/shared/src/binary-search.js +31 -0
  10. package/out/shared/src/binary-search.js.map +1 -0
  11. package/out/shared/src/centroid.js +28 -0
  12. package/out/shared/src/centroid.js.map +1 -0
  13. package/out/shared/src/dotenv.js +0 -5
  14. package/out/shared/src/dotenv.js.map +1 -1
  15. package/out/shared/src/logging-test-utils.d.ts +12 -0
  16. package/out/shared/src/logging-test-utils.d.ts.map +1 -0
  17. package/out/shared/src/logging-test-utils.js +21 -0
  18. package/out/shared/src/logging-test-utils.js.map +1 -0
  19. package/out/shared/src/objects.d.ts +3 -1
  20. package/out/shared/src/objects.d.ts.map +1 -1
  21. package/out/shared/src/objects.js.map +1 -1
  22. package/out/shared/src/tdigest-schema.d.ts +8 -0
  23. package/out/shared/src/tdigest-schema.d.ts.map +1 -0
  24. package/out/shared/src/tdigest-schema.js +7 -0
  25. package/out/shared/src/tdigest-schema.js.map +1 -0
  26. package/out/shared/src/tdigest.d.ts +11 -0
  27. package/out/shared/src/tdigest.d.ts.map +1 -1
  28. package/out/shared/src/tdigest.js +304 -0
  29. package/out/shared/src/tdigest.js.map +1 -0
  30. package/out/solid.js +3 -3
  31. package/out/zero/package.json +3 -1
  32. package/out/zero-cache/src/config/zero-config.d.ts +18 -287
  33. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  34. package/out/zero-cache/src/config/zero-config.js +43 -0
  35. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  36. package/out/zero-cache/src/observability/events.d.ts +15 -0
  37. package/out/zero-cache/src/observability/events.d.ts.map +1 -0
  38. package/out/zero-cache/src/observability/events.js +93 -0
  39. package/out/zero-cache/src/observability/events.js.map +1 -0
  40. package/out/zero-cache/src/server/anonymous-otel-start.d.ts +1 -1
  41. package/out/zero-cache/src/server/anonymous-otel-start.d.ts.map +1 -1
  42. package/out/zero-cache/src/server/anonymous-otel-start.js +40 -18
  43. package/out/zero-cache/src/server/anonymous-otel-start.js.map +1 -1
  44. package/out/zero-cache/src/server/change-streamer.js +4 -4
  45. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  46. package/out/zero-cache/src/server/main.js +4 -4
  47. package/out/zero-cache/src/server/main.js.map +1 -1
  48. package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
  49. package/out/zero-cache/src/server/replicator.js +7 -6
  50. package/out/zero-cache/src/server/replicator.js.map +1 -1
  51. package/out/zero-cache/src/server/runner/run-worker.d.ts.map +1 -1
  52. package/out/zero-cache/src/server/runner/run-worker.js +3 -2
  53. package/out/zero-cache/src/server/runner/run-worker.js.map +1 -1
  54. package/out/zero-cache/src/server/syncer.js +5 -5
  55. package/out/zero-cache/src/server/syncer.js.map +1 -1
  56. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts.map +1 -1
  57. package/out/zero-cache/src/services/change-source/custom/change-source.js +46 -35
  58. package/out/zero-cache/src/services/change-source/custom/change-source.js.map +1 -1
  59. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
  60. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +7 -2
  61. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
  62. package/out/zero-cache/src/services/mutagen/mutagen.js +1 -1
  63. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  64. package/out/zero-cache/src/services/mutagen/pusher.d.ts +28 -2
  65. package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
  66. package/out/zero-cache/src/services/mutagen/pusher.js +1 -1
  67. package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
  68. package/out/zero-cache/src/services/replicator/change-processor.d.ts +5 -1
  69. package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -1
  70. package/out/zero-cache/src/services/replicator/change-processor.js +10 -8
  71. package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
  72. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +1 -1
  73. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  74. package/out/zero-cache/src/services/replicator/incremental-sync.js +17 -3
  75. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  76. package/out/zero-cache/src/services/replicator/replication-status.d.ts +12 -0
  77. package/out/zero-cache/src/services/replicator/replication-status.d.ts.map +1 -0
  78. package/out/zero-cache/src/services/replicator/replication-status.js +92 -0
  79. package/out/zero-cache/src/services/replicator/replication-status.js.map +1 -0
  80. package/out/zero-cache/src/services/replicator/replicator.d.ts +1 -1
  81. package/out/zero-cache/src/services/replicator/replicator.d.ts.map +1 -1
  82. package/out/zero-cache/src/services/replicator/replicator.js +2 -2
  83. package/out/zero-cache/src/services/replicator/replicator.js.map +1 -1
  84. package/out/zero-cache/src/services/statz.d.ts.map +1 -1
  85. package/out/zero-cache/src/services/statz.js +0 -23
  86. package/out/zero-cache/src/services/statz.js.map +1 -1
  87. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +10 -1
  88. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  89. package/out/zero-cache/src/services/view-syncer/view-syncer.js +77 -8
  90. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  91. package/out/zero-client/src/client/inspector/inspector.d.ts +7 -7
  92. package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
  93. package/out/zero-client/src/client/inspector/types.d.ts +3 -1
  94. package/out/zero-client/src/client/inspector/types.d.ts.map +1 -1
  95. package/out/zero-client/src/client/query-manager.d.ts +8 -8
  96. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  97. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  98. package/out/zero-events/src/index.d.ts +29 -0
  99. package/out/zero-events/src/index.d.ts.map +1 -0
  100. package/out/zero-events/src/index.js +28 -0
  101. package/out/zero-events/src/index.js.map +1 -0
  102. package/out/zero-events/src/status.d.ts +113 -0
  103. package/out/zero-events/src/status.d.ts.map +1 -0
  104. package/out/zero-events/src/status.js +72 -0
  105. package/out/zero-events/src/status.js.map +1 -0
  106. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  107. package/out/zero-protocol/src/connect.js +4 -1
  108. package/out/zero-protocol/src/connect.js.map +1 -1
  109. package/out/zero-protocol/src/down.d.ts +18 -2
  110. package/out/zero-protocol/src/down.d.ts.map +1 -1
  111. package/out/zero-protocol/src/inspect-down.d.ts +64 -6
  112. package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
  113. package/out/zero-protocol/src/inspect-down.js +18 -3
  114. package/out/zero-protocol/src/inspect-down.js.map +1 -1
  115. package/out/zero-protocol/src/inspect-up.d.ts +25 -6
  116. package/out/zero-protocol/src/inspect-up.d.ts.map +1 -1
  117. package/out/zero-protocol/src/inspect-up.js +8 -3
  118. package/out/zero-protocol/src/inspect-up.js.map +1 -1
  119. package/out/zero-protocol/src/protocol-version.d.ts +1 -1
  120. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
  121. package/out/zero-protocol/src/protocol-version.js +3 -1
  122. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  123. package/out/zero-protocol/src/up.d.ts +7 -2
  124. package/out/zero-protocol/src/up.d.ts.map +1 -1
  125. package/out/zero.js +3 -3
  126. package/out/zql/src/query/metrics-delegate.d.ts +5 -1
  127. package/out/zql/src/query/metrics-delegate.d.ts.map +1 -1
  128. package/package.json +3 -1
  129. package/out/chunk-6TQKR5IL.js.map +0 -7
  130. package/out/chunk-YTS56A64.js.map +0 -7
  131. package/out/inspector-RB55U26N.js.map +0 -7
  132. /package/out/{chunk-ZJ4VVIKN.js.map → chunk-JHJ3MBXW.js.map} +0 -0
@@ -0,0 +1,304 @@
1
+ // Apache License 2.0
2
+ // https://github.com/influxdata/tdigest
3
+ import { binarySearch } from "./binary-search.js";
4
+ import { Centroid, sortCentroidList } from "./centroid.js";
5
+ // TDigest is a data structure for accurate on-line accumulation of
6
+ // rank-based statistics such as quantiles and trimmed means.
7
+ export class TDigest {
8
+ compression;
9
+ #maxProcessed;
10
+ #maxUnprocessed;
11
+ #processed;
12
+ #unprocessed;
13
+ #cumulative;
14
+ #processedWeight;
15
+ #unprocessedWeight;
16
+ #min;
17
+ #max;
18
+ constructor(compression = 1000) {
19
+ this.compression = compression;
20
+ this.#maxProcessed = processedSize(0, this.compression);
21
+ this.#maxUnprocessed = unprocessedSize(0, this.compression);
22
+ this.reset();
23
+ }
24
+ /**
25
+ * fromJSON creates a TDigest from a JSON-serializable representation.
26
+ * The data should be an object with compression and centroids array.
27
+ */
28
+ static fromJSON(data) {
29
+ const digest = new TDigest(data[0]);
30
+ if (data.length % 2 !== 1) {
31
+ throw new Error('Invalid centroids array');
32
+ }
33
+ for (let i = 1; i < data.length; i += 2) {
34
+ digest.add(data[i], data[i + 1]);
35
+ }
36
+ return digest;
37
+ }
38
+ reset() {
39
+ this.#processed = [];
40
+ this.#unprocessed = [];
41
+ this.#cumulative = [];
42
+ this.#processedWeight = 0;
43
+ this.#unprocessedWeight = 0;
44
+ this.#min = Number.MAX_VALUE;
45
+ this.#max = -Number.MAX_VALUE;
46
+ }
47
+ add(mean, weight = 1) {
48
+ this.addCentroid(new Centroid(mean, weight));
49
+ }
50
+ /** AddCentroidList can quickly add multiple centroids. */
51
+ addCentroidList(centroidList) {
52
+ for (const c of centroidList) {
53
+ this.addCentroid(c);
54
+ }
55
+ }
56
+ /**
57
+ * AddCentroid adds a single centroid.
58
+ * Weights which are not a number or are <= 0 are ignored, as are NaN means.
59
+ */
60
+ addCentroid(c) {
61
+ if (Number.isNaN(c.mean) ||
62
+ c.weight <= 0 ||
63
+ Number.isNaN(c.weight) ||
64
+ !Number.isFinite(c.weight)) {
65
+ return;
66
+ }
67
+ this.#unprocessed.push(new Centroid(c.mean, c.weight));
68
+ this.#unprocessedWeight += c.weight;
69
+ if (this.#processed.length > this.#maxProcessed ||
70
+ this.#unprocessed.length > this.#maxUnprocessed) {
71
+ this.#process();
72
+ }
73
+ }
74
+ /**
75
+ * Merges the supplied digest into this digest. Functionally equivalent to
76
+ * calling t.AddCentroidList(t2.Centroids(nil)), but avoids making an extra
77
+ * copy of the CentroidList.
78
+ **/
79
+ merge(t2) {
80
+ t2.#process();
81
+ this.addCentroidList(t2.#processed);
82
+ }
83
+ #process() {
84
+ if (this.#unprocessed.length > 0 ||
85
+ this.#processed.length > this.#maxProcessed) {
86
+ // Append all processed centroids to the unprocessed list and sort
87
+ this.#unprocessed.push(...this.#processed);
88
+ sortCentroidList(this.#unprocessed);
89
+ // Reset processed list with first centroid
90
+ this.#processed.length = 0;
91
+ this.#processed.push(this.#unprocessed[0]);
92
+ this.#processedWeight += this.#unprocessedWeight;
93
+ this.#unprocessedWeight = 0;
94
+ let soFar = this.#unprocessed[0].weight;
95
+ let limit = this.#processedWeight * this.#integratedQ(1);
96
+ for (let i = 1; i < this.#unprocessed.length; i++) {
97
+ const centroid = this.#unprocessed[i];
98
+ const projected = soFar + centroid.weight;
99
+ if (projected <= limit) {
100
+ soFar = projected;
101
+ this.#processed[this.#processed.length - 1].add(centroid);
102
+ }
103
+ else {
104
+ const k1 = this.#integratedLocation(soFar / this.#processedWeight);
105
+ limit = this.#processedWeight * this.#integratedQ(k1 + 1);
106
+ soFar += centroid.weight;
107
+ this.#processed.push(centroid);
108
+ }
109
+ }
110
+ this.#min = Math.min(this.#min, this.#processed[0].mean);
111
+ this.#max = Math.max(this.#max, this.#processed[this.#processed.length - 1].mean);
112
+ this.#unprocessed.length = 0;
113
+ }
114
+ }
115
+ /**
116
+ * Centroids returns a copy of processed centroids.
117
+ * Useful when aggregating multiple t-digests.
118
+ *
119
+ * Centroids are appended to the passed CentroidList; if you're re-using a
120
+ * buffer, be sure to pass cl[:0].
121
+ */
122
+ centroids(cl = []) {
123
+ this.#process();
124
+ return cl.concat(this.#processed);
125
+ }
126
+ count() {
127
+ this.#process();
128
+ // this.process always updates this.processedWeight to the total count of all
129
+ // centroids, so we don't need to re-count here.
130
+ return this.#processedWeight;
131
+ }
132
+ /**
133
+ * toJSON returns a JSON-serializable representation of the digest.
134
+ * This processes the digest and returns an object with compression and centroid data.
135
+ */
136
+ toJSON() {
137
+ this.#process();
138
+ const data = [this.compression];
139
+ for (const centroid of this.#processed) {
140
+ data.push(centroid.mean, centroid.weight);
141
+ }
142
+ return data;
143
+ }
144
+ #updateCumulative() {
145
+ // Weight can only increase, so the final cumulative value will always be
146
+ // either equal to, or less than, the total weight. If they are the same,
147
+ // then nothing has changed since the last update.
148
+ if (this.#cumulative.length > 0 &&
149
+ this.#cumulative[this.#cumulative.length - 1] === this.#processedWeight) {
150
+ return;
151
+ }
152
+ const n = this.#processed.length + 1;
153
+ if (this.#cumulative.length > n) {
154
+ this.#cumulative.length = n;
155
+ }
156
+ let prev = 0;
157
+ for (let i = 0; i < this.#processed.length; i++) {
158
+ const centroid = this.#processed[i];
159
+ const cur = centroid.weight;
160
+ this.#cumulative[i] = prev + cur / 2;
161
+ prev += cur;
162
+ }
163
+ this.#cumulative[this.#processed.length] = prev;
164
+ }
165
+ // Quantile returns the (approximate) quantile of
166
+ // the distribution. Accepted values for q are between 0 and 1.
167
+ // Returns NaN if Count is zero or bad inputs.
168
+ quantile(q) {
169
+ this.#process();
170
+ this.#updateCumulative();
171
+ if (q < 0 || q > 1 || this.#processed.length === 0) {
172
+ return NaN;
173
+ }
174
+ if (this.#processed.length === 1) {
175
+ return this.#processed[0].mean;
176
+ }
177
+ const index = q * this.#processedWeight;
178
+ if (index <= this.#processed[0].weight / 2) {
179
+ return (this.#min +
180
+ ((2 * index) / this.#processed[0].weight) *
181
+ (this.#processed[0].mean - this.#min));
182
+ }
183
+ const lower = binarySearch(this.#cumulative.length, (i) => -this.#cumulative[i] + index);
184
+ if (lower + 1 !== this.#cumulative.length) {
185
+ const z1 = index - this.#cumulative[lower - 1];
186
+ const z2 = this.#cumulative[lower] - index;
187
+ return weightedAverage(this.#processed[lower - 1].mean, z2, this.#processed[lower].mean, z1);
188
+ }
189
+ const z1 = index - this.#processedWeight - this.#processed[lower - 1].weight / 2;
190
+ const z2 = this.#processed[lower - 1].weight / 2 - z1;
191
+ return weightedAverage(this.#processed[this.#processed.length - 1].mean, z1, this.#max, z2);
192
+ }
193
+ /**
194
+ * CDF returns the cumulative distribution function for a given value x.
195
+ */
196
+ cdf(x) {
197
+ this.#process();
198
+ this.#updateCumulative();
199
+ switch (this.#processed.length) {
200
+ case 0:
201
+ return 0;
202
+ case 1: {
203
+ const width = this.#max - this.#min;
204
+ if (x <= this.#min) {
205
+ return 0;
206
+ }
207
+ if (x >= this.#max) {
208
+ return 1;
209
+ }
210
+ if (x - this.#min <= width) {
211
+ // min and max are too close together to do any viable interpolation
212
+ return 0.5;
213
+ }
214
+ return (x - this.#min) / width;
215
+ }
216
+ }
217
+ if (x <= this.#min) {
218
+ return 0;
219
+ }
220
+ if (x >= this.#max) {
221
+ return 1;
222
+ }
223
+ const m0 = this.#processed[0].mean;
224
+ // Left Tail
225
+ if (x <= m0) {
226
+ if (m0 - this.#min > 0) {
227
+ return ((((x - this.#min) / (m0 - this.#min)) * this.#processed[0].weight) /
228
+ this.#processedWeight /
229
+ 2);
230
+ }
231
+ return 0;
232
+ }
233
+ // Right Tail
234
+ const mn = this.#processed[this.#processed.length - 1].mean;
235
+ if (x >= mn) {
236
+ if (this.#max - mn > 0) {
237
+ return (1 -
238
+ (((this.#max - x) / (this.#max - mn)) *
239
+ this.#processed[this.#processed.length - 1].weight) /
240
+ this.#processedWeight /
241
+ 2);
242
+ }
243
+ return 1;
244
+ }
245
+ const upper = binarySearch(this.#processed.length,
246
+ // Treat equals as greater than, so we can use the upper index
247
+ // This is equivalent to:
248
+ // i => this.#processed[i].mean > x ? -1 : 1,
249
+ i => x - this.#processed[i].mean || 1);
250
+ const z1 = x - this.#processed[upper - 1].mean;
251
+ const z2 = this.#processed[upper].mean - x;
252
+ return (weightedAverage(this.#cumulative[upper - 1], z2, this.#cumulative[upper], z1) / this.#processedWeight);
253
+ }
254
+ #integratedQ(k) {
255
+ return ((Math.sin((Math.min(k, this.compression) * Math.PI) / this.compression -
256
+ Math.PI / 2) +
257
+ 1) /
258
+ 2);
259
+ }
260
+ #integratedLocation(q) {
261
+ return (this.compression * (Math.asin(2 * q - 1) + Math.PI / 2)) / Math.PI;
262
+ }
263
+ }
264
+ // Calculate number of bytes needed for a tdigest of size c,
265
+ // where c is the compression value
266
+ export function byteSizeForCompression(comp) {
267
+ const c = comp | 0;
268
+ // // A centroid is 2 float64s, so we need 16 bytes for each centroid
269
+ // float_size := 8
270
+ // centroid_size := 2 * float_size
271
+ // // Unprocessed and processed can grow up to length c
272
+ // unprocessed_size := centroid_size * c
273
+ // processed_size := unprocessed_size
274
+ // // the cumulative field can also be of length c, but each item is a single float64
275
+ // cumulative_size := float_size * c // <- this could also be unprocessed_size / 2
276
+ // return unprocessed_size + processed_size + cumulative_size
277
+ // // or, more succinctly:
278
+ // return float_size * c * 5
279
+ // or even more succinctly
280
+ return c * 40;
281
+ }
282
+ function weightedAverage(x1, w1, x2, w2) {
283
+ if (x1 <= x2) {
284
+ return weightedAverageSorted(x1, w1, x2, w2);
285
+ }
286
+ return weightedAverageSorted(x2, w2, x1, w1);
287
+ }
288
+ function weightedAverageSorted(x1, w1, x2, w2) {
289
+ const x = (x1 * w1 + x2 * w2) / (w1 + w2);
290
+ return Math.max(x1, Math.min(x, x2));
291
+ }
292
+ function processedSize(size, compression) {
293
+ if (size === 0) {
294
+ return Math.ceil(compression) * 2;
295
+ }
296
+ return size;
297
+ }
298
+ function unprocessedSize(size, compression) {
299
+ if (size === 0) {
300
+ return Math.ceil(compression) * 8;
301
+ }
302
+ return size;
303
+ }
304
+ //# sourceMappingURL=tdigest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tdigest.js","sourceRoot":"","sources":["../../../../shared/src/tdigest.ts"],"names":[],"mappings":"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"}
package/out/solid.js CHANGED
@@ -1,13 +1,13 @@
1
- import "./chunk-ZJ4VVIKN.js";
1
+ import "./chunk-JHJ3MBXW.js";
2
2
  import {
3
3
  Zero
4
- } from "./chunk-YTS56A64.js";
4
+ } from "./chunk-ZKRMVMWK.js";
5
5
  import "./chunk-MKB4RXL3.js";
6
6
  import {
7
7
  DEFAULT_TTL_MS,
8
8
  applyChange,
9
9
  idSymbol
10
- } from "./chunk-6TQKR5IL.js";
10
+ } from "./chunk-O536GEIT.js";
11
11
  import "./chunk-SGW2EIVJ.js";
12
12
  import "./chunk-424PT5DM.js";
13
13
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rocicorp/zero",
3
- "version": "0.23.2025081200",
3
+ "version": "0.23.2025081400",
4
4
  "description": "Zero is a web framework for serverless web development.",
5
5
  "author": "Rocicorp, Inc.",
6
6
  "repository": {
@@ -53,6 +53,7 @@
53
53
  "chalk": "^5.3.0",
54
54
  "chalk-template": "^1.1.0",
55
55
  "chokidar": "^4.0.1",
56
+ "cloudevents": "^10.0.0",
56
57
  "command-line-args": "^6.0.1",
57
58
  "command-line-usage": "^7.0.3",
58
59
  "compare-utf8": "^0.1.1",
@@ -87,6 +88,7 @@
87
88
  "vitest": "3.2.4",
88
89
  "zero-client": "0.0.0",
89
90
  "zqlite": "0.0.0",
91
+ "zero-events": "0.0.0",
90
92
  "zero-solid": "0.0.0",
91
93
  "zero-pg": "0.0.0",
92
94
  "zero-react": "0.0.0",
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { type Config, type ParseOptions } from '../../../shared/src/options.ts';
5
5
  import * as v from '../../../shared/src/valita.ts';
6
+ import { type NormalizedZeroConfig } from './normalize.ts';
6
7
  export type { LogConfig } from '../../../otel/src/log-options.ts';
7
8
  export declare const appOptions: {
8
9
  id: {
@@ -352,298 +353,28 @@ export declare const zeroOptions: {
352
353
  type: v.Type<boolean>;
353
354
  desc: string[];
354
355
  };
355
- };
356
- export type ZeroConfig = Config<typeof zeroOptions>;
357
- export declare const ZERO_ENV_VAR_PREFIX = "ZERO_";
358
- export declare function getZeroConfig(opts?: Omit<ParseOptions, 'envNamePrefix'>): Config<{
359
- upstream: {
360
- db: {
361
- type: v.Type<string>;
362
- desc: string[];
363
- };
364
- type: {
365
- type: v.Type<"pg" | "custom">;
366
- desc: string[];
367
- hidden: boolean;
368
- };
369
- maxConns: {
370
- type: v.Type<number>;
371
- desc: string[];
372
- };
373
- maxConnsPerWorker: {
374
- type: v.Optional<number>;
375
- hidden: boolean;
376
- };
377
- };
378
- push: {
379
- url: {
380
- type: v.Optional<string[]>;
381
- desc: string[];
382
- };
383
- apiKey: {
384
- type: v.Optional<string>;
385
- desc: string[];
386
- };
387
- forwardCookies: {
388
- type: v.Type<boolean>;
389
- desc: string[];
390
- };
391
- };
392
- mutate: {
393
- url: {
394
- type: v.Optional<string[]>;
395
- desc: string[];
396
- };
397
- apiKey: {
398
- type: v.Optional<string>;
399
- desc: string[];
400
- };
401
- forwardCookies: {
402
- type: v.Type<boolean>;
403
- desc: string[];
404
- };
405
- };
406
- query: {
407
- url: {
408
- type: v.Optional<string[]>;
409
- desc: string[];
410
- };
411
- apiKey: {
412
- type: v.Optional<string>;
413
- desc: string[];
414
- };
415
- forwardCookies: {
416
- type: v.Type<boolean>;
417
- desc: string[];
418
- };
419
- };
420
- cvr: {
421
- db: {
422
- type: v.Optional<string>;
423
- desc: string[];
424
- };
425
- maxConns: {
426
- type: v.Type<number>;
427
- desc: string[];
428
- };
429
- maxConnsPerWorker: {
430
- type: v.Optional<number>;
431
- hidden: boolean;
432
- };
433
- };
434
- queryHydrationStats: {
435
- type: v.Optional<boolean>;
436
- desc: string[];
437
- };
438
- change: {
439
- db: {
440
- type: v.Optional<string>;
441
- desc: string[];
442
- };
443
- maxConns: {
444
- type: v.Type<number>;
445
- desc: string[];
446
- };
447
- };
448
- replica: {
449
- file: {
450
- type: v.Type<string>;
451
- desc: string[];
452
- };
453
- vacuumIntervalHours: {
454
- type: v.Optional<number>;
455
- desc: string[];
456
- };
457
- };
458
- log: {
459
- level: v.Type<"error" | "debug" | "info" | "warn">;
460
- format: {
461
- type: v.Type<"text" | "json">;
462
- desc: string[];
463
- };
464
- slowRowThreshold: {
465
- type: v.Type<number>;
466
- desc: string[];
467
- };
468
- slowHydrateThreshold: {
469
- type: v.Type<number>;
470
- desc: string[];
471
- };
472
- ivmSampling: {
473
- type: v.Type<number>;
474
- desc: string[];
475
- };
476
- };
477
- app: {
478
- id: {
479
- type: v.Type<string>;
480
- desc: string[];
481
- };
482
- publications: {
483
- type: v.Type<string[]>;
484
- desc: string[];
485
- };
486
- };
487
- shard: {
488
- id: {
489
- type: v.Optional<string>;
490
- hidden: boolean;
491
- };
492
- num: {
493
- type: v.Type<number>;
494
- desc: string[];
495
- hidden: boolean;
496
- };
497
- };
498
- auth: {
499
- jwk: {
500
- type: v.Optional<string>;
501
- desc: string[];
502
- };
503
- jwksUrl: {
504
- type: v.Optional<string>;
505
- desc: string[];
506
- };
507
- secret: {
356
+ cloudEvent: {
357
+ sinkEnv: {
508
358
  type: v.Optional<string>;
509
359
  desc: string[];
510
360
  };
511
- };
512
- port: {
513
- type: v.Type<number>;
514
- desc: string[];
515
- };
516
- changeStreamer: {
517
- uri: {
518
- type: v.Optional<string>;
519
- desc: string[];
520
- };
521
- mode: {
522
- type: v.Type<"dedicated" | "discover">;
523
- desc: string[];
524
- };
525
- port: {
526
- type: v.Optional<number>;
527
- desc: string[];
528
- };
529
- address: {
530
- type: v.Optional<string>;
531
- deprecated: string[];
532
- hidden: boolean;
533
- };
534
- protocol: {
535
- type: v.Type<"ws" | "wss">;
536
- deprecated: string[];
537
- hidden: boolean;
538
- };
539
- discoveryInterfacePreferences: {
540
- type: v.Type<string[]>;
541
- desc: string[];
542
- hidden: boolean;
543
- };
544
- };
545
- taskID: {
546
- type: v.Optional<string>;
547
- desc: string[];
548
- };
549
- perUserMutationLimit: {
550
- max: {
551
- type: v.Optional<number>;
552
- desc: string[];
553
- };
554
- windowMs: {
555
- type: v.Type<number>;
556
- desc: string[];
557
- };
558
- };
559
- numSyncWorkers: {
560
- type: v.Optional<number>;
561
- desc: string[];
562
- };
563
- autoReset: {
564
- type: v.Type<boolean>;
565
- desc: string[];
566
- };
567
- adminPassword: {
568
- type: v.Optional<string>;
569
- desc: string[];
570
- };
571
- litestream: {
572
- executable: {
573
- type: v.Optional<string>;
574
- desc: string[];
575
- };
576
- configPath: {
577
- type: v.Type<string>;
578
- desc: string[];
579
- };
580
- logLevel: {
581
- type: v.Type<"error" | "debug" | "info" | "warn">;
582
- };
583
- backupURL: {
361
+ extensionOverridesEnv: {
584
362
  type: v.Optional<string>;
585
363
  desc: string[];
586
364
  };
587
- port: {
588
- type: v.Optional<number>;
589
- desc: string[];
590
- };
591
- checkpointThresholdMB: {
592
- type: v.Type<number>;
593
- desc: string[];
594
- };
595
- incrementalBackupIntervalMinutes: {
596
- type: v.Type<number>;
597
- desc: string[];
598
- };
599
- snapshotBackupIntervalHours: {
600
- type: v.Type<number>;
601
- desc: string[];
602
- };
603
- restoreParallelism: {
604
- type: v.Type<number>;
605
- desc: string[];
606
- };
607
- multipartConcurrency: {
608
- type: v.Type<number>;
609
- desc: string[];
610
- };
611
- multipartSize: {
612
- type: v.Type<number>;
613
- desc: string[];
614
- };
615
365
  };
616
- storageDBTmpDir: {
617
- type: v.Optional<string>;
618
- desc: string[];
619
- };
620
- initialSync: {
621
- tableCopyWorkers: {
622
- type: v.Type<number>;
623
- desc: string[];
624
- };
625
- profileCopy: {
626
- type: v.Optional<boolean>;
627
- hidden: boolean;
628
- desc: string[];
629
- };
630
- };
631
- targetClientRowCount: {
632
- type: v.Type<number>;
633
- deprecated: string[];
634
- hidden: boolean;
635
- };
636
- lazyStartup: {
637
- type: v.Type<boolean>;
638
- desc: string[];
639
- };
640
- serverVersion: {
641
- type: v.Optional<string>;
642
- desc: string[];
643
- };
644
- enableTelemetry: {
645
- type: v.Type<boolean>;
646
- desc: string[];
647
- };
648
- }>;
366
+ };
367
+ export type ZeroConfig = Config<typeof zeroOptions>;
368
+ export declare const ZERO_ENV_VAR_PREFIX = "ZERO_";
369
+ export declare function getZeroConfig(opts?: Omit<ParseOptions, 'envNamePrefix'>): ZeroConfig;
370
+ /**
371
+ * Same as {@link getZeroConfig}, with an additional check that the
372
+ * config has already been normalized (i.e. by the top level server/runner).
373
+ */
374
+ export declare function getNormalizedZeroConfig(opts?: Omit<ParseOptions, 'envNamePrefix'>): NormalizedZeroConfig;
375
+ /**
376
+ * Gets the server version from the config if provided. Otherwise it gets it
377
+ * from the Zero package.json.
378
+ */
379
+ export declare function getServerVersion(config: Pick<ZeroConfig, 'serverVersion'> | undefined): string;
649
380
  //# sourceMappingURL=zero-config.d.ts.map