@rocicorp/zero 0.22.2025071100 → 0.22.2025071101

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/react.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Zero
3
- } from "./chunk-ZRSXCDPE.js";
3
+ } from "./chunk-5A6QECBY.js";
4
4
  import {
5
5
  DEFAULT_TTL_MS,
6
6
  hasOwn
package/out/solid.js CHANGED
@@ -1,7 +1,7 @@
1
- import "./chunk-ZVMEFHVU.js";
1
+ import "./chunk-4FQJO7OM.js";
2
2
  import {
3
3
  Zero
4
- } from "./chunk-ZRSXCDPE.js";
4
+ } from "./chunk-5A6QECBY.js";
5
5
  import {
6
6
  DEFAULT_TTL_MS,
7
7
  applyChange,
@@ -1 +1 @@
1
- {"version":3,"file":"histograms.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/observability/histograms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AA6BlD,wBAAgB,uBAAuB,uDAMtC;AAED,wBAAgB,8BAA8B,uDAM7C;AAED,wBAAgB,sBAAsB,uDAMrC;AAED,wBAAgB,iBAAiB,uDAMhC;AAED,wBAAgB,YAAY,uDAM3B;AAED,wBAAgB,QAAQ,uDAMvB;AAED,wBAAgB,aAAa,uDAM5B"}
1
+ {"version":3,"file":"histograms.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/observability/histograms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAiBlD,wBAAgB,uBAAuB,uDAKtC;AAED,wBAAgB,8BAA8B,uDAK7C;AAED,wBAAgB,sBAAsB,uDAKrC;AAED,wBAAgB,iBAAiB,uDAKhC;AAED,wBAAgB,YAAY,uDAK3B;AAED,wBAAgB,QAAQ,uDAKvB;AAED,wBAAgB,aAAa,uDAE5B"}
@@ -1,39 +1,33 @@
1
1
  import { cache, getMeter } from "./view-syncer-instruments.js";
2
2
  const getOrCreate = cache();
3
- // Custom bucket boundaries optimized for millisecond timing
4
- const TIMING_BUCKETS = [0, 1, 5, 10, 25, 50, 100, 250, 500, 1000, 2500, 5000];
5
- function getOrCreateHistogram(name, description, buckets) {
3
+ function getOrCreateHistogram(name, description) {
6
4
  return getOrCreate(name, name => {
7
5
  const options = {
8
6
  description,
9
7
  unit: 'milliseconds',
10
8
  };
11
- // Use custom buckets if provided
12
- if (buckets) {
13
- options.boundaries = buckets;
14
- }
15
9
  return getMeter().createHistogram(name, options);
16
10
  });
17
11
  }
18
12
  export function wsMessageProcessingTime() {
19
- return getOrCreateHistogram('ws-message-processing-time', 'Time to process a websocket message. The `message.type` attribute is set in order to filter by message type.', TIMING_BUCKETS);
13
+ return getOrCreateHistogram('ws-message-processing-time', 'Time to process a websocket message. The `message.type` attribute is set in order to filter by message type.');
20
14
  }
21
15
  export function replicationEventProcessingTime() {
22
- return getOrCreateHistogram('replication-event-processing-time', 'Time to process a replication event.', TIMING_BUCKETS);
16
+ return getOrCreateHistogram('replication-event-processing-time', 'Time to process a replication event.');
23
17
  }
24
18
  export function transactionAdvanceTime() {
25
- return getOrCreateHistogram('cg-advance-time', 'Time to advance all queries for a given client group after applying a new transaction to the replica.', TIMING_BUCKETS);
19
+ return getOrCreateHistogram('cg-advance-time', 'Time to advance all queries for a given client group after applying a new transaction to the replica.');
26
20
  }
27
21
  export function changeAdvanceTime() {
28
- return getOrCreateHistogram('change-advance-time', 'Time to advance all queries for a given client group for in response to a single change.', TIMING_BUCKETS);
22
+ return getOrCreateHistogram('change-advance-time', 'Time to advance all queries for a given client group for in response to a single change.');
29
23
  }
30
24
  export function cvrFlushTime() {
31
- return getOrCreateHistogram('cvr-flush-time', 'Time to flush a CVR transaction.', TIMING_BUCKETS);
25
+ return getOrCreateHistogram('cvr-flush-time', 'Time to flush a CVR transaction.');
32
26
  }
33
27
  export function pokeTime() {
34
- return getOrCreateHistogram('poke-flush-time', 'Time to poke to all clients.', TIMING_BUCKETS);
28
+ return getOrCreateHistogram('poke-flush-time', 'Time to poke to all clients.');
35
29
  }
36
30
  export function hydrationTime() {
37
- return getOrCreateHistogram('hydration-time', 'Time to hydrate a query.', TIMING_BUCKETS);
31
+ return getOrCreateHistogram('hydration-time', 'Time to hydrate a query.');
38
32
  }
39
33
  //# sourceMappingURL=histograms.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"histograms.js","sourceRoot":"","sources":["../../../../../zero-cache/src/observability/histograms.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AAE7D,MAAM,WAAW,GAAG,KAAK,EAAa,CAAC;AAEvC,4DAA4D;AAC5D,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE9E,SAAS,oBAAoB,CAC3B,IAAY,EACZ,WAAmB,EACnB,OAAkB;IAElB,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;QAC9B,MAAM,OAAO,GACX;YACE,WAAW;YACX,IAAI,EAAE,cAAc;SACrB,CAAC;QAEJ,iCAAiC;QACjC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;QAC/B,CAAC;QAED,OAAO,QAAQ,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,oBAAoB,CACzB,4BAA4B,EAC5B,8GAA8G,EAC9G,cAAc,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO,oBAAoB,CACzB,mCAAmC,EACnC,sCAAsC,EACtC,cAAc,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,oBAAoB,CACzB,iBAAiB,EACjB,uGAAuG,EACvG,cAAc,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,oBAAoB,CACzB,qBAAqB,EACrB,0FAA0F,EAC1F,cAAc,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,oBAAoB,CACzB,gBAAgB,EAChB,kCAAkC,EAClC,cAAc,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,oBAAoB,CACzB,iBAAiB,EACjB,8BAA8B,EAC9B,cAAc,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,oBAAoB,CACzB,gBAAgB,EAChB,0BAA0B,EAC1B,cAAc,CACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"histograms.js","sourceRoot":"","sources":["../../../../../zero-cache/src/observability/histograms.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AAE7D,MAAM,WAAW,GAAG,KAAK,EAAa,CAAC;AAEvC,SAAS,oBAAoB,CAAC,IAAY,EAAE,WAAmB;IAC7D,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;QAC9B,MAAM,OAAO,GACX;YACE,WAAW;YACX,IAAI,EAAE,cAAc;SACrB,CAAC;QAEJ,OAAO,QAAQ,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,oBAAoB,CACzB,4BAA4B,EAC5B,8GAA8G,CAC/G,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO,oBAAoB,CACzB,mCAAmC,EACnC,sCAAsC,CACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,oBAAoB,CACzB,iBAAiB,EACjB,uGAAuG,CACxG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,oBAAoB,CACzB,qBAAqB,EACrB,0FAA0F,CAC3F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,oBAAoB,CACzB,gBAAgB,EAChB,kCAAkC,CACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,oBAAoB,CACzB,iBAAiB,EACjB,8BAA8B,CAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,oBAAoB,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,CAAC;AAC5E,CAAC"}
@@ -60,7 +60,7 @@ class OtelManager {
60
60
  : [],
61
61
  traceExporter: new OTLPTraceExporter(),
62
62
  metricReader: new PeriodicExportingMetricReader({
63
- exportIntervalMillis: 5000,
63
+ exportIntervalMillis: 60000,
64
64
  exporter: new OTLPMetricExporter(),
65
65
  }),
66
66
  logRecordProcessors,
@@ -1 +1 @@
1
- {"version":3,"file":"otel-start.js","sourceRoot":"","sources":["../../../../../zero-cache/src/server/otel-start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"otel-start.js","sourceRoot":"","sources":["../../../../../zero-cache/src/server/otel-start.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ export declare class MutationTracker {
24
24
  * to those mutations have been lost.
25
25
  *
26
26
  * An example case: the API server responds while the connection
27
- * is down. Those responses are dropped.
27
+ * is down. Those responses are lost.
28
28
  *
29
29
  * Mutations whose LMID is > the lastMutationID are not resolved
30
30
  * since they will be retried by the client, giving us another chance
@@ -33,12 +33,45 @@ export declare class MutationTracker {
33
33
  * The only way to ensure that all API server responses are
34
34
  * received would be to have the API server write them
35
35
  * to the DB while writing the LMID.
36
- *
37
- * This would have the downside of not being able to provide responses to a
38
- * mutation with data gathered after the transaction.
39
36
  */
40
37
  onConnected(lastMutationID: number): void;
38
+ /**
39
+ * lmid advance will:
40
+ * 1. notify "allMutationsApplied" listeners if the lastMutationID
41
+ * is greater than or equal to the largest outstanding mutation ID.
42
+ * 2. resolve all limbo mutations whose mutation ID is less than or equal to
43
+ * the lastMutationID.
44
+ *
45
+ * We only resolve "limbo mutations" since we want to give the mutation
46
+ * responses a chance to be received. `poke` and `pushResponse` are non transactional
47
+ * so they race.
48
+ *
49
+ * E.g., a `push` may call the api server which:
50
+ * writes to PG, replicates to zero-cache, then pokes the lmid down before the
51
+ * push response is sent.
52
+ *
53
+ * The only fix for this would be to have mutation responses be written to the database
54
+ * and sent down through the poke protocol.
55
+ *
56
+ * The artifact the user sees is that promise resolutions for mutations is not transactional
57
+ * with the update to synced data.
58
+ *
59
+ * It was a mistake to not just write the mutation responses to the database
60
+ * in the first place as this route ends up being more complicated
61
+ * and less reliable.
62
+ */
63
+ lmidAdvanced(lastMutationID: number): void;
41
64
  get size(): number;
42
- onAllMutationsConfirmed(listener: () => void): void;
65
+ /**
66
+ * Be notified when all mutations have been included in the server snapshot.
67
+ *
68
+ * The query manager will not de-register queries from the server until there
69
+ * are no pending mutations.
70
+ *
71
+ * The reason is that a mutation may need to be rebased. We do not want
72
+ * data that was available the first time it was run to not be available
73
+ * on a rebase.
74
+ */
75
+ onAllMutationsApplied(listener: () => void): void;
43
76
  }
44
77
  //# sourceMappingURL=mutation-tracker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mutation-tracker.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/mutation-tracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACrB,MAAM,+CAA+C,CAAC;AAGvD,OAAO,KAAK,EAMV,YAAY,EACb,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAuB1D;;GAEG;AACH,qBAAa,eAAe;;gBAad,EAAE,EAAE,cAAc;IAO9B,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAE5B;IAED,aAAa,IAAI,oBAAoB;IAUrC,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAQ7D;;;OAGG;IACH,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI;IAOjD,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAYjD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM;IAgBlC,IAAI,IAAI,WAEP;IA8GD,uBAAuB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;CASpD"}
1
+ {"version":3,"file":"mutation-tracker.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/mutation-tracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACrB,MAAM,+CAA+C,CAAC;AAGvD,OAAO,KAAK,EAMV,YAAY,EACb,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAoB1D;;GAEG;AACH,qBAAa,eAAe;;gBAgBd,EAAE,EAAE,cAAc;IAU9B,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAE5B;IAED,aAAa,IAAI,oBAAoB;IAUrC,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAY7D;;;OAGG;IACH,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI;IAOjD,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAYjD;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM;IA4BlC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAmB1C,IAAI,IAAI,WAEP;IAyJD;;;;;;;;;OASG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;CASlD"}
@@ -1 +1 @@
1
- {"version":3,"file":"zero.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/zero.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zero.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/zero.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAKhD;;;;;;GAMG;AAEH,eAAO,MAAM,mBAAmB;;;aAG9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;eAGjC,CAAC;AAEH,QAAA,MAAM,oBAAoB;;aAExB,CAAC;AAEH,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM5B;;;;;OAKG;;aAEH,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IATtC;;;;;OAKG;;eAOH,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,wBAAgB,kBAAkB,CAChC,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,EACxD,SAAS,EAAE,MAAM,GAAG,SAAS,UAQ9B;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG;IACvD,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACzD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAEA"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAKhD;;;;;;GAMG;AAEH,eAAO,MAAM,mBAAmB;;;aAG9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;eAGjC,CAAC;AAEH,QAAA,MAAM,oBAAoB;;aAExB,CAAC;AAEH,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM5B;;;;;OAKG;;aAEH,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IATtC;;;;;OAKG;;eAOH,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,wBAAgB,kBAAkB,CAChC,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,EACxD,SAAS,EAAE,MAAM,GAAG,SAAS,UAY9B;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG;IACvD,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACzD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAIA"}
@@ -42,10 +42,16 @@ export function encodeSecProtocols(initConnectionMessage, authToken) {
42
42
  initConnectionMessage,
43
43
  authToken,
44
44
  };
45
- // base64 encoding the JSON before URI encoding it results in a smaller payload.
46
- return encodeURIComponent(btoa(JSON.stringify(protocols)));
45
+ // WS sec protocols needs to be URI encoded. To save space, we base64 encode
46
+ // the JSON before URI encoding it. But InitConnectionMessage can contain
47
+ // arbitrary unicode strings, so we need to encode the JSON as UTF-8 first.
48
+ // Phew!
49
+ const bytes = new TextEncoder().encode(JSON.stringify(protocols));
50
+ return encodeURIComponent(btoa(String.fromCharCode(...bytes)));
47
51
  }
48
52
  export function decodeSecProtocols(secProtocol) {
49
- return JSON.parse(atob(decodeURIComponent(secProtocol)));
53
+ const binString = atob(decodeURIComponent(secProtocol));
54
+ const bytes = Uint8Array.from(binString, c => c.charCodeAt(0));
55
+ return JSON.parse(new TextDecoder().decode(bytes));
50
56
  }
51
57
  //# sourceMappingURL=connect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../zero-protocol/src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAC,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAExD;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5C,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACtB,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,mBAAmB,EAAE,oBAAoB;IACzC,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,OAAO,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IAC3C,cAAc,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAE/C;;;;;OAKG;IACH,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC;IACjD,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC3B,wBAAwB;CACzB,CAAC,CAAC;AASH,MAAM,UAAU,kBAAkB,CAChC,qBAAwD,EACxD,SAA6B;IAE7B,MAAM,SAAS,GAAG;QAChB,qBAAqB;QACrB,SAAS;KACV,CAAC;IACF,gFAAgF;IAChF,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IAIpD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../zero-protocol/src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAC,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAExD;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5C,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACtB,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,mBAAmB,EAAE,oBAAoB;IACzC,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,OAAO,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IAC3C,cAAc,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAE/C;;;;;OAKG;IACH,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC;IACjD,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC3B,wBAAwB;CACzB,CAAC,CAAC;AASH,MAAM,UAAU,kBAAkB,CAChC,qBAAwD,EACxD,SAA6B;IAE7B,MAAM,SAAS,GAAG;QAChB,qBAAqB;QACrB,SAAS;KACV,CAAC;IACF,4EAA4E;IAC5E,yEAAyE;IACzE,2EAA2E;IAC3E,QAAQ;IACR,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IAIpD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC"}
package/out/zero.js CHANGED
@@ -9,7 +9,7 @@ import {
9
9
  relationships,
10
10
  transformRequestMessageSchema,
11
11
  transformResponseMessageSchema
12
- } from "./chunk-ZVMEFHVU.js";
12
+ } from "./chunk-4FQJO7OM.js";
13
13
  import {
14
14
  IDBNotFoundError,
15
15
  TransactionClosedError,
@@ -27,7 +27,7 @@ import {
27
27
  string,
28
28
  table,
29
29
  update_needed_reason_type_enum_exports
30
- } from "./chunk-ZRSXCDPE.js";
30
+ } from "./chunk-5A6QECBY.js";
31
31
  import {
32
32
  DEFAULT_TTL,
33
33
  applyChange
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rocicorp/zero",
3
- "version": "0.22.2025071100",
3
+ "version": "0.22.2025071101",
4
4
  "description": "Zero is a web framework for serverless web development.",
5
5
  "author": "Rocicorp, Inc.",
6
6
  "repository": {