orez-lite 0.10.7 → 0.11.0

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 (71) hide show
  1. package/dist/browser/host.d.ts.map +1 -1
  2. package/dist/browser/host.js +8 -29
  3. package/dist/browser/host.js.map +1 -1
  4. package/dist/browser/types.d.ts +4 -2
  5. package/dist/browser/types.d.ts.map +1 -1
  6. package/dist/browser/types.js.map +1 -1
  7. package/dist/cf-do/application-sql.d.ts +24 -5
  8. package/dist/cf-do/application-sql.d.ts.map +1 -1
  9. package/dist/cf-do/application-sql.js +51 -43
  10. package/dist/cf-do/application-sql.js.map +1 -1
  11. package/dist/cf-do/worker.d.ts +74 -14
  12. package/dist/cf-do/worker.d.ts.map +1 -1
  13. package/dist/cf-do/worker.js +195 -92
  14. package/dist/cf-do/worker.js.map +1 -1
  15. package/dist/do-sql-tracking.d.ts +17 -0
  16. package/dist/do-sql-tracking.d.ts.map +1 -1
  17. package/dist/do-sql-tracking.js +17 -0
  18. package/dist/do-sql-tracking.js.map +1 -1
  19. package/dist/realtime/host.d.ts +7 -0
  20. package/dist/realtime/host.d.ts.map +1 -0
  21. package/dist/realtime/host.js +77 -0
  22. package/dist/realtime/host.js.map +1 -0
  23. package/dist/realtime/hub.d.ts +10 -5
  24. package/dist/realtime/hub.d.ts.map +1 -1
  25. package/dist/realtime/hub.js +133 -53
  26. package/dist/realtime/hub.js.map +1 -1
  27. package/dist/realtime/index.d.ts +15 -2
  28. package/dist/realtime/index.d.ts.map +1 -1
  29. package/dist/realtime/index.js +12 -0
  30. package/dist/realtime/index.js.map +1 -1
  31. package/dist/realtime/local.d.ts +15 -0
  32. package/dist/realtime/local.d.ts.map +1 -0
  33. package/dist/realtime/local.js +63 -0
  34. package/dist/realtime/local.js.map +1 -0
  35. package/dist/realtime/manifest.d.ts +5 -1
  36. package/dist/realtime/manifest.d.ts.map +1 -1
  37. package/dist/realtime/manifest.js +1 -1
  38. package/dist/realtime/manifest.js.map +1 -1
  39. package/dist/realtime/message-port.d.ts +34 -0
  40. package/dist/realtime/message-port.d.ts.map +1 -0
  41. package/dist/realtime/message-port.js +141 -0
  42. package/dist/realtime/message-port.js.map +1 -0
  43. package/dist/realtime/producer-socket.d.ts +10 -0
  44. package/dist/realtime/producer-socket.d.ts.map +1 -0
  45. package/dist/realtime/producer-socket.js +90 -0
  46. package/dist/realtime/producer-socket.js.map +1 -0
  47. package/dist/realtime/producer.d.ts +16 -0
  48. package/dist/realtime/producer.d.ts.map +1 -0
  49. package/dist/realtime/producer.js +51 -0
  50. package/dist/realtime/producer.js.map +1 -0
  51. package/dist/realtime/protocol.d.ts +38 -2
  52. package/dist/realtime/protocol.d.ts.map +1 -1
  53. package/dist/realtime/protocol.js +34 -0
  54. package/dist/realtime/protocol.js.map +1 -1
  55. package/dist/realtime/publisher.d.ts +1 -0
  56. package/dist/realtime/publisher.d.ts.map +1 -1
  57. package/dist/realtime/publisher.js +29 -1
  58. package/dist/realtime/publisher.js.map +1 -1
  59. package/dist/realtime/socket-host.d.ts +25 -0
  60. package/dist/realtime/socket-host.d.ts.map +1 -0
  61. package/dist/realtime/socket-host.js +95 -0
  62. package/dist/realtime/socket-host.js.map +1 -0
  63. package/dist/realtime/store.d.ts +4 -4
  64. package/dist/realtime/store.d.ts.map +1 -1
  65. package/dist/realtime/store.js +0 -0
  66. package/dist/realtime/store.js.map +1 -1
  67. package/dist/realtime/writer.d.ts +17 -0
  68. package/dist/realtime/writer.d.ts.map +1 -0
  69. package/dist/realtime/writer.js +138 -0
  70. package/dist/realtime/writer.js.map +1 -0
  71. package/package.json +4 -4
@@ -0,0 +1,95 @@
1
+ // The host role over sockets, for any runtime that has them.
2
+ //
3
+ // A Cloudflare Durable Object, a Node WebSocket server, and a test harness
4
+ // differ in how they accept a socket and in nothing else. So this owns the
5
+ // parts that are the same everywhere (which frames a role may send, when a
6
+ // connection is dropped, what survives a cold start) and leaves each runtime
7
+ // only its own socket lifecycle.
8
+ //
9
+ // The role split is enforced here rather than trusted. A subscriber socket is
10
+ // accepted as a subscriber and can never publish, whatever it sends: it has no
11
+ // producer handle, and the hub checks the handle rather than the frame. That is
12
+ // why a leaked streamID grants nothing.
13
+ import { applyClientFrame, applyProducerFrame } from './host.js';
14
+ import { RealtimeHub } from './hub.js';
15
+ import { decodeFrame, encodeFrame } from './protocol.js';
16
+ export function createSocketHost(options) {
17
+ const hub = new RealtimeHub(options);
18
+ const subscriber = (socket, identity, connectionID) => {
19
+ // keyed for dedup, valued with the structured topic so `topics()` can hand
20
+ // back something `rehydrate` accepts without a second parser
21
+ const owned = new Map();
22
+ const connection = {
23
+ id: connectionID,
24
+ identity,
25
+ send: (frame) => {
26
+ socket.send(encodeFrame(frame));
27
+ },
28
+ };
29
+ return { connection, owned };
30
+ };
31
+ return {
32
+ hub,
33
+ acceptSubscriber(socket, identity, connectionID) {
34
+ const { connection, owned } = subscriber(socket, identity, connectionID);
35
+ return {
36
+ handleMessage(raw) {
37
+ const frame = decodeFrame(raw);
38
+ if (!frame)
39
+ return;
40
+ // A subscriber channel is never a publish channel, whatever arrives
41
+ // on it. Producer frames are not merely ignored by the hub here; they
42
+ // are refused before reaching it.
43
+ if (frame[0] !== 'subscribe' && frame[0] !== 'unsubscribe')
44
+ return;
45
+ if (frame[0] === 'subscribe')
46
+ owned.set(topicKey(frame[1].topic), frame[1].topic);
47
+ else
48
+ owned.delete(topicKey(frame[1].topic));
49
+ void applyClientFrame(hub, connection, frame);
50
+ },
51
+ close() {
52
+ hub.dropConnection(connectionID);
53
+ },
54
+ topics: () => [...owned.values()],
55
+ };
56
+ },
57
+ acceptProducer(socket, producerID) {
58
+ const producer = {
59
+ id: producerID,
60
+ send: (frame) => {
61
+ socket.send(encodeFrame(frame));
62
+ },
63
+ };
64
+ return {
65
+ handleMessage(raw) {
66
+ const frame = decodeFrame(raw);
67
+ if (!frame)
68
+ return;
69
+ if (frame[0] !== 'begin' && frame[0] !== 'publish')
70
+ return;
71
+ applyProducerFrame(hub, producer, frame);
72
+ },
73
+ close() {
74
+ hub.dropProducer(producerID);
75
+ },
76
+ topics: () => [],
77
+ };
78
+ },
79
+ async rehydrate(entries) {
80
+ for (const entry of entries) {
81
+ const { connection } = subscriber(entry.socket, entry.identity, entry.connectionID);
82
+ for (const topic of entry.topics)
83
+ await hub.subscribe(connection, topic);
84
+ }
85
+ },
86
+ flush: () => hub.flush(),
87
+ };
88
+ }
89
+ // Dedup key only. Never persisted and never parsed back: `topics()` hands out
90
+ // the structured topic, so there is no second encoding to keep in agreement
91
+ // with canonicalTopic.
92
+ function topicKey(topic) {
93
+ return JSON.stringify(topic);
94
+ }
95
+ //# sourceMappingURL=socket-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket-host.js","sourceRoot":"","sources":["../../src/realtime/socket-host.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { StreamingFieldSpec } from './manifest.js';
2
- import type { FieldUpdate, RealtimeTopic } from './protocol.js';
1
+ import type { StreamingFieldHandle } from './manifest.js';
2
+ import type { FieldUpdate } from './protocol.js';
3
3
  export type StreamingPhase = 'committing' | 'durable' | 'stale' | 'streaming';
4
4
  export type StreamingFieldState<Value> = {
5
5
  readonly value: Value;
@@ -15,8 +15,8 @@ export type RealtimeStoreOptions = {
15
15
  export declare class RealtimeStore {
16
16
  #private;
17
17
  constructor(options: RealtimeStoreOptions);
18
- subscribe(spec: StreamingFieldSpec, topic: RealtimeTopic, listener: () => void): () => void;
19
- read<Value>(spec: StreamingFieldSpec, topic: RealtimeTopic, base: Value): StreamingFieldState<Value>;
18
+ subscribe(handle: StreamingFieldHandle, listener: () => void): () => void;
19
+ read<Value>(handle: StreamingFieldHandle, base: Value): StreamingFieldState<Value>;
20
20
  applyUpdates(updates: readonly FieldUpdate[]): void;
21
21
  handleSubscribed(topic: string, status: 'active' | 'pending'): void;
22
22
  handleSubscribeError(topic: string, reason: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/realtime/store.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;AAE7E,MAAM,MAAM,mBAAmB,CAAC,KAAK,IAAI;IACvC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC,CAAA;AA0CD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGtD;AAaD,MAAM,MAAM,oBAAoB,GAAG;IAEjC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAI9B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7C,CAAA;AAED,qBAAa,aAAa;;gBASZ,OAAO,EAAE,oBAAoB;IASzC,SAAS,CACP,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI;IAqCb,IAAI,CAAC,KAAK,EACR,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,KAAK,GACV,mBAAmB,CAAC,KAAK,CAAC;IAiD7B,YAAY,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI;IAqInD,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;IAcnE,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAiBzD,YAAY,IAAI,IAAI;IAUpB,gBAAgB,IAAI,IAAI;IAYxB,eAAe,IAAI,IAAI;IAOvB,IAAI,UAAU,IAAI,MAAM,CAEvB;CACF"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/realtime/store.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAsB,MAAM,eAAe,CAAA;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,eAAe,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;AAE7E,MAAM,MAAM,mBAAmB,CAAC,KAAK,IAAI;IACvC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC,CAAA;AA0CD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGtD;AAaD,MAAM,MAAM,oBAAoB,GAAG;IAEjC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAI9B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7C,CAAA;AAED,qBAAa,aAAa;;gBASZ,OAAO,EAAE,oBAAoB;IASzC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAsCzE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC;IAkDlF,YAAY,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI;IAqInD,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;IAcnE,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAiBzD,YAAY,IAAI,IAAI;IAUpB,gBAAgB,IAAI,IAAI;IAYxB,eAAe,IAAI,IAAI;IAOvB,IAAI,UAAU,IAAI,MAAM,CAEvB;CACF"}
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/realtime/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/realtime/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { StreamingFieldHandle } from './manifest.js';
2
+ import type { RealtimeTopic } from './protocol.js';
3
+ import type { RealtimePublisher } from './publisher.js';
4
+ export type FieldWriterOptions = {
5
+ readonly onError?: (error: Error, topic: RealtimeTopic) => void;
6
+ };
7
+ export declare class FieldWriter {
8
+ #private;
9
+ constructor(publisher: RealtimePublisher, options?: FieldWriterOptions);
10
+ set(handle: StreamingFieldHandle, value: unknown): void;
11
+ flush(handle: StreamingFieldHandle): Promise<void>;
12
+ finish(handle: StreamingFieldHandle, value: unknown, commit: () => Promise<void>): Promise<void>;
13
+ abort(handle: StreamingFieldHandle): Promise<void>;
14
+ isStreaming(handle: StreamingFieldHandle): boolean;
15
+ abortAll(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/realtime/writer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,gBAAgB,CAAA;AAUtE,MAAM,MAAM,kBAAkB,GAAG;IAI/B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;CAChE,CAAA;AAED,qBAAa,WAAW;;gBAKV,SAAS,EAAE,iBAAiB,EAAE,OAAO,GAAE,kBAAuB;IAqB1E,GAAG,CAAC,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAwCjD,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IASlD,MAAM,CACV,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAqBV,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxD,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO;IAQ5C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAiBhC"}
@@ -0,0 +1,138 @@
1
+ // Imperative field writing, for producers that think in "here is the current
2
+ // value of this row's field" rather than in stream generations.
3
+ //
4
+ // The session API underneath is explicit on purpose: a generation has a
5
+ // beginning, a commit, and an end, and a cross-client producer needs to control
6
+ // all three. But most producer code is a loop that already holds the whole
7
+ // current value and just wants it on screen. Soot's agent loop is exactly this
8
+ // shape (`setStreamingMessageText(id, text)` on every model event), and making
9
+ // it open, track, and close a session per message would be bookkeeping the
10
+ // writer can do instead.
11
+ //
12
+ // Generations are opened lazily on the first `set` for a topic and closed by
13
+ // `finish` or `abort`. A `set` after a finish opens a NEW generation, which is
14
+ // the same rule the hub applies: a later generation supersedes an earlier one.
15
+ import { canonicalTopic } from './protocol.js';
16
+ export class FieldWriter {
17
+ #publisher;
18
+ #onError;
19
+ #entries = new Map();
20
+ constructor(publisher, options = {}) {
21
+ this.#publisher = publisher;
22
+ this.#onError =
23
+ options.onError ??
24
+ ((error, topic) => {
25
+ console.error(`orez realtime write failed for ${topic.table}.${topic.field}`, error);
26
+ });
27
+ }
28
+ // The handle already carries its spec, so a call site cannot name a field
29
+ // that is not in the manifest and there is nothing to look up per write.
30
+ #id(handle) {
31
+ return canonicalTopic(handle.spec.primaryKey, handle.topic);
32
+ }
33
+ // Publish the field's current value. Synchronous and safe to call on every
34
+ // token: the first call opens a generation in the background, later calls
35
+ // reach the open session directly.
36
+ set(handle, value) {
37
+ const { topic } = handle;
38
+ const id = this.#id(handle);
39
+ const existing = this.#entries.get(id);
40
+ if (existing && !existing.closed) {
41
+ if (existing.session) {
42
+ try {
43
+ existing.session.set(value);
44
+ }
45
+ catch (error) {
46
+ this.#fail(id, error, topic);
47
+ }
48
+ }
49
+ else {
50
+ existing.queued = value;
51
+ }
52
+ return;
53
+ }
54
+ const entry = {
55
+ session: undefined,
56
+ queued: value,
57
+ opening: undefined,
58
+ closed: false,
59
+ };
60
+ this.#entries.set(id, entry);
61
+ entry.opening = this.#publisher
62
+ .begin(topic.table, topic.field, { namespace: '', key: topic.key })
63
+ .then((session) => {
64
+ // the writer may have been closed while begin was in flight
65
+ if (this.#entries.get(id) !== entry) {
66
+ void session.abort();
67
+ return;
68
+ }
69
+ entry.session = session;
70
+ if (entry.queued !== undefined)
71
+ session.set(entry.queued);
72
+ })
73
+ .catch((error) => this.#fail(id, error, topic));
74
+ }
75
+ // Deliver pending values for one topic, honouring its rate bounds.
76
+ async flush(handle) {
77
+ const entry = this.#entries.get(this.#id(handle));
78
+ if (!entry)
79
+ return;
80
+ await entry.opening;
81
+ await entry.session?.flush();
82
+ }
83
+ // Close the generation: flush the final value, run the application's durable
84
+ // write, then tell subscribers to hold the overlay until Zero produces it.
85
+ async finish(handle, value, commit) {
86
+ const id = this.#id(handle);
87
+ const entry = this.#entries.get(id);
88
+ if (!entry || entry.closed) {
89
+ // nothing was ever streamed for this row; the durable write still has to
90
+ // happen, and it is the only thing that matters
91
+ await commit();
92
+ return;
93
+ }
94
+ entry.closed = true;
95
+ await entry.opening;
96
+ this.#entries.delete(id);
97
+ if (!entry.session) {
98
+ await commit();
99
+ return;
100
+ }
101
+ await entry.session.finish(value, commit);
102
+ }
103
+ // Drop the overlay now and reveal the durable row. Used when a run is
104
+ // cancelled or errors: there is no value worth showing.
105
+ async abort(handle) {
106
+ const id = this.#id(handle);
107
+ const entry = this.#entries.get(id);
108
+ if (!entry || entry.closed)
109
+ return;
110
+ entry.closed = true;
111
+ this.#entries.delete(id);
112
+ await entry.opening;
113
+ await entry.session?.abort();
114
+ }
115
+ isStreaming(handle) {
116
+ const entry = this.#entries.get(this.#id(handle));
117
+ return !!entry && !entry.closed;
118
+ }
119
+ // Abort every open generation. For a producer shutting down: without it,
120
+ // subscribers would wait out their inactivity deadline before revealing the
121
+ // durable value.
122
+ async abortAll() {
123
+ const entries = [...this.#entries.values()];
124
+ this.#entries.clear();
125
+ await Promise.all(entries.map(async (entry) => {
126
+ if (entry.closed)
127
+ return;
128
+ entry.closed = true;
129
+ await entry.opening;
130
+ await entry.session?.abort();
131
+ }));
132
+ }
133
+ #fail(id, error, topic) {
134
+ this.#entries.delete(id);
135
+ this.#onError(error instanceof Error ? error : new Error(String(error)), topic);
136
+ }
137
+ }
138
+ //# sourceMappingURL=writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/realtime/writer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orez-lite",
3
- "version": "0.10.7",
3
+ "version": "0.11.0",
4
4
  "description": "SQLite and Rust sync engine for Zero applications",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -90,10 +90,10 @@
90
90
  "@noble/ciphers": "1.3.0",
91
91
  "@noble/curves": "1.9.7",
92
92
  "@noble/hashes": "1.8.0",
93
- "bedrock-sqlite": "0.10.7",
93
+ "bedrock-sqlite": "0.11.0",
94
94
  "esbuild": "^0.25.0",
95
- "orez-sync-cf-host": "0.10.7",
96
- "orez-sync-executor": "0.10.7"
95
+ "orez-sync-cf-host": "0.11.0",
96
+ "orez-sync-executor": "0.11.0"
97
97
  },
98
98
  "peerDependencies": {
99
99
  "@rocicorp/zero": ">=1.7.0",