@livestore/sync-cf 0.3.2-dev.8 → 0.4.0-dev.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.
@@ -0,0 +1,2 @@
1
+ export { type D1Database, type D1Result, type DurableObject, type DurableObjectState, Request, Response, Rpc, WebSocket, WebSocketPair, WebSocketRequestResponsePair, } from '@cloudflare/workers-types';
2
+ //# sourceMappingURL=cf-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cf-types.d.ts","sourceRoot":"","sources":["../../src/cf-worker/cf-types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,OAAO,EACP,QAAQ,EACR,GAAG,EACH,SAAS,EACT,aAAa,EACb,4BAA4B,GAC7B,MAAM,2BAA2B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { Request, Response, Rpc, WebSocket, WebSocketPair, WebSocketRequestResponsePair, } from '@cloudflare/workers-types';
2
+ //# sourceMappingURL=cf-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cf-types.js","sourceRoot":"","sources":["../../src/cf-worker/cf-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,OAAO,EACP,QAAQ,EACR,GAAG,EACH,SAAS,EACT,aAAa,EACb,4BAA4B,GAC7B,MAAM,2BAA2B,CAAA"}
@@ -1,9 +1,9 @@
1
- import { DurableObject } from 'cloudflare:workers';
2
1
  import { State } from '@livestore/common/schema';
3
2
  import { Effect, Option, Schema } from '@livestore/utils/effect';
4
3
  import { WSMessage } from '../common/mod.ts';
4
+ import type * as CfWorker from './cf-types.ts';
5
5
  export interface Env {
6
- DB: D1Database;
6
+ DB: CfWorker.D1Database;
7
7
  ADMIN_SECRET: string;
8
8
  }
9
9
  export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTableDefForInput<"eventlog_$PERSISTENCE_FORMAT_VERSION_$storeId", {
@@ -13,6 +13,7 @@ export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTab
13
13
  default: Option.None<never>;
14
14
  nullable: false;
15
15
  primaryKey: true;
16
+ autoIncrement: false;
16
17
  };
17
18
  readonly parentSeqNum: {
18
19
  columnType: "integer";
@@ -20,6 +21,7 @@ export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTab
20
21
  default: Option.None<never>;
21
22
  nullable: false;
22
23
  primaryKey: false;
24
+ autoIncrement: false;
23
25
  };
24
26
  readonly name: {
25
27
  columnType: "text";
@@ -27,6 +29,7 @@ export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTab
27
29
  default: Option.None<never>;
28
30
  nullable: false;
29
31
  primaryKey: false;
32
+ autoIncrement: false;
30
33
  };
31
34
  readonly args: {
32
35
  columnType: "text";
@@ -34,6 +37,7 @@ export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTab
34
37
  default: Option.None<never>;
35
38
  nullable: true;
36
39
  primaryKey: false;
40
+ autoIncrement: false;
37
41
  };
38
42
  /** ISO date format. Currently only used for debugging purposes. */
39
43
  readonly createdAt: {
@@ -42,6 +46,7 @@ export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTab
42
46
  default: Option.None<never>;
43
47
  nullable: false;
44
48
  primaryKey: false;
49
+ autoIncrement: false;
45
50
  };
46
51
  readonly clientId: {
47
52
  columnType: "text";
@@ -49,6 +54,7 @@ export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTab
49
54
  default: Option.None<never>;
50
55
  nullable: false;
51
56
  primaryKey: false;
57
+ autoIncrement: false;
52
58
  };
53
59
  readonly sessionId: {
54
60
  columnType: "text";
@@ -56,6 +62,7 @@ export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTab
56
62
  default: Option.None<never>;
57
63
  nullable: false;
58
64
  primaryKey: false;
65
+ autoIncrement: false;
59
66
  };
60
67
  }>, State.SQLite.WithDefaults<{
61
68
  readonly seqNum: {
@@ -64,6 +71,7 @@ export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTab
64
71
  default: Option.None<never>;
65
72
  nullable: false;
66
73
  primaryKey: true;
74
+ autoIncrement: false;
67
75
  };
68
76
  readonly parentSeqNum: {
69
77
  columnType: "integer";
@@ -71,6 +79,7 @@ export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTab
71
79
  default: Option.None<never>;
72
80
  nullable: false;
73
81
  primaryKey: false;
82
+ autoIncrement: false;
74
83
  };
75
84
  readonly name: {
76
85
  columnType: "text";
@@ -78,6 +87,7 @@ export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTab
78
87
  default: Option.None<never>;
79
88
  nullable: false;
80
89
  primaryKey: false;
90
+ autoIncrement: false;
81
91
  };
82
92
  readonly args: {
83
93
  columnType: "text";
@@ -85,6 +95,7 @@ export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTab
85
95
  default: Option.None<never>;
86
96
  nullable: true;
87
97
  primaryKey: false;
98
+ autoIncrement: false;
88
99
  };
89
100
  /** ISO date format. Currently only used for debugging purposes. */
90
101
  readonly createdAt: {
@@ -93,6 +104,7 @@ export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTab
93
104
  default: Option.None<never>;
94
105
  nullable: false;
95
106
  primaryKey: false;
107
+ autoIncrement: false;
96
108
  };
97
109
  readonly clientId: {
98
110
  columnType: "text";
@@ -100,6 +112,7 @@ export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTab
100
112
  default: Option.None<never>;
101
113
  nullable: false;
102
114
  primaryKey: false;
115
+ autoIncrement: false;
103
116
  };
104
117
  readonly sessionId: {
105
118
  columnType: "text";
@@ -107,6 +120,7 @@ export declare const eventlogTable: State.SQLite.TableDef<State.SQLite.SqliteTab
107
120
  default: Option.None<never>;
108
121
  nullable: false;
109
122
  primaryKey: false;
123
+ autoIncrement: false;
110
124
  };
111
125
  }>, Schema.Schema<{
112
126
  readonly seqNum: number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">;
@@ -145,7 +159,31 @@ export type MakeDurableObjectClassOptions = {
145
159
  onPullRes?: (message: WSMessage.PullRes | WSMessage.Error) => Effect.Effect<void> | Promise<void>;
146
160
  };
147
161
  export type MakeDurableObjectClass = (options?: MakeDurableObjectClassOptions) => {
148
- new (ctx: DurableObjectState, env: Env): DurableObject<Env>;
162
+ new (ctx: CfWorker.DurableObjectState, env: Env): CfWorker.DurableObject;
149
163
  };
164
+ /**
165
+ * Creates a Durable Object class for handling WebSocket-based sync.
166
+ *
167
+ * Example:
168
+ * ```ts
169
+ * // In your Cloudflare Worker file
170
+ * import { makeDurableObject } from '@livestore/sync-cf/cf-worker'
171
+ *
172
+ * export class WebSocketServer extends makeDurableObject({
173
+ * onPush: async (message) => {
174
+ * console.log('onPush', message.batch)
175
+ * },
176
+ * onPull: async (message) => {
177
+ * console.log('onPull', message)
178
+ * },
179
+ * }) {}
180
+ * ```
181
+ *
182
+ * ```toml
183
+ * # wrangler.toml
184
+ * [new_classes]
185
+ * WebSocketServer = "src/websocket-server.ts"
186
+ * ```
187
+ */
150
188
  export declare const makeDurableObject: MakeDurableObjectClass;
151
189
  //# sourceMappingURL=durable-object.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"durable-object.d.ts","sourceRoot":"","sources":["../../src/cf-worker/durable-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAA4C,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAE1F,OAAO,EAAE,MAAM,EAAoB,MAAM,EAAE,MAAM,EAAa,MAAM,yBAAyB,CAAA;AAE7F,OAAO,EAAsB,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGhE,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,UAAU,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;CACrB;AAQD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQtB,mEAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAnE,mEAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAKrE,CAAA;AASF,eAAO,MAAM,eAAe,MAAM,CAAA;AAElC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAA;AAE3C,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,CAAC,EAAE,CACP,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,CAAA;KAAE,KACrD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjG,MAAM,CAAC,EAAE,CACP,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,CAAA;KAAE,KACrD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAClG,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,CAAC,EAAE,6BAA6B,KAAK;IAChF,KAAK,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;CAC5D,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,sBAmP/B,CAAA"}
1
+ {"version":3,"file":"durable-object.d.ts","sourceRoot":"","sources":["../../src/cf-worker/durable-object.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAE1F,OAAO,EAAE,MAAM,EAAoB,MAAM,EAAE,MAAM,EAAa,MAAM,yBAAyB,CAAA;AAC7F,OAAO,EAAsB,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEhE,OAAO,KAAK,KAAK,QAAQ,MAAM,eAAe,CAAA;AAO9C,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;CACrB;AAKD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQtB,mEAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAnE,mEAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAKrE,CAAA;AASF,eAAO,MAAM,eAAe,MAAM,CAAA;AAElC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAA;AAE3C,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,CAAC,EAAE,CACP,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,CAAA;KAAE,KACrD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjG,MAAM,CAAC,EAAE,CACP,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,CAAA;KAAE,KACrD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAClG,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,CAAC,EAAE,6BAA6B,KAAK;IAChF,KAAK,GAAG,EAAE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAA;CACzE,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,iBAAiB,EAAE,sBA4Q/B,CAAA"}
@@ -1,12 +1,10 @@
1
- import { DurableObject } from 'cloudflare:workers';
2
- import { makeColumnSpec, UnexpectedError } from '@livestore/common';
1
+ import { UnexpectedError } from '@livestore/common';
3
2
  import { EventSequenceNumber, State } from '@livestore/common/schema';
4
3
  import { shouldNeverHappen } from '@livestore/utils';
5
4
  import { Effect, Logger, LogLevel, Option, Schema, UrlParams } from '@livestore/utils/effect';
6
5
  import { SearchParamsSchema, WSMessage } from "../common/mod.js";
7
6
  const encodeOutgoingMessage = Schema.encodeSync(Schema.parseJson(WSMessage.BackendToClientMessage));
8
7
  const encodeIncomingMessage = Schema.encodeSync(Schema.parseJson(WSMessage.ClientToBackendMessage));
9
- const decodeIncomingMessage = Schema.decodeUnknownEither(Schema.parseJson(WSMessage.ClientToBackendMessage));
10
8
  export const eventlogTable = State.SQLite.table({
11
9
  // NOTE actual table name is determined at runtime
12
10
  name: 'eventlog_$PERSISTENCE_FORMAT_VERSION_$storeId',
@@ -32,8 +30,39 @@ export const PULL_CHUNK_SIZE = 100;
32
30
  * Changing this version number will lead to a "soft reset".
33
31
  */
34
32
  export const PERSISTENCE_FORMAT_VERSION = 7;
33
+ /**
34
+ * Creates a Durable Object class for handling WebSocket-based sync.
35
+ *
36
+ * Example:
37
+ * ```ts
38
+ * // In your Cloudflare Worker file
39
+ * import { makeDurableObject } from '@livestore/sync-cf/cf-worker'
40
+ *
41
+ * export class WebSocketServer extends makeDurableObject({
42
+ * onPush: async (message) => {
43
+ * console.log('onPush', message.batch)
44
+ * },
45
+ * onPull: async (message) => {
46
+ * console.log('onPull', message)
47
+ * },
48
+ * }) {}
49
+ * ```
50
+ *
51
+ * ```toml
52
+ * # wrangler.toml
53
+ * [new_classes]
54
+ * WebSocketServer = "src/websocket-server.ts"
55
+ * ```
56
+ */
35
57
  export const makeDurableObject = (options) => {
36
- return class WebSocketServerBase extends DurableObject {
58
+ return class WebSocketServerBase {
59
+ __DURABLE_OBJECT_BRAND = 'WebSocketServerBase';
60
+ ctx;
61
+ env;
62
+ constructor(ctx, env) {
63
+ this.ctx = ctx;
64
+ this.env = env;
65
+ }
37
66
  /** Needed to prevent concurrent pushes */
38
67
  pushSemaphore = Effect.makeSemaphore(1).pipe(Effect.runSync);
39
68
  currentHead = 'uninitialized';
@@ -46,7 +75,7 @@ export const makeDurableObject = (options) => {
46
75
  // See https://developers.cloudflare.com/durable-objects/examples/websocket-hibernation-server
47
76
  this.ctx.acceptWebSocket(server);
48
77
  this.ctx.setWebSocketAutoResponse(new WebSocketRequestResponsePair(encodeIncomingMessage(WSMessage.Ping.make({ requestId: 'ping' })), encodeOutgoingMessage(WSMessage.Pong.make({ requestId: 'ping' }))));
49
- const colSpec = makeColumnSpec(eventlogTable.sqliteDef.ast);
78
+ const colSpec = State.SQLite.makeColumnSpec(eventlogTable.sqliteDef.ast);
50
79
  this.env.DB.exec(`CREATE TABLE IF NOT EXISTS ${storage.dbName} (${colSpec}) strict`);
51
80
  return new Response(null, {
52
81
  status: 101,
@@ -54,10 +83,9 @@ export const makeDurableObject = (options) => {
54
83
  });
55
84
  }).pipe(Effect.tapCauseLogPretty, Effect.runPromise);
56
85
  webSocketMessage = (ws, message) => {
57
- console.log('webSocketMessage', message);
58
- const decodedMessageRes = decodeIncomingMessage(message);
86
+ const decodedMessageRes = Schema.decodeUnknownEither(Schema.parseJson(WSMessage.ClientToBackendMessage))(message);
59
87
  if (decodedMessageRes._tag === 'Left') {
60
- console.error('Invalid message received', decodedMessageRes.left);
88
+ Effect.logError('Invalid message received', { message }).pipe(Effect.provide(Logger.prettyWithThread('durable-object')), Effect.runSync);
61
89
  return;
62
90
  }
63
91
  const decodedMessage = decodedMessageRes.right;
@@ -65,139 +93,144 @@ export const makeDurableObject = (options) => {
65
93
  return Effect.gen(this, function* () {
66
94
  const { storeId, payload } = yield* Schema.decode(WebSocketAttachmentSchema)(ws.deserializeAttachment());
67
95
  const storage = makeStorage(this.ctx, this.env, storeId);
68
- try {
69
- switch (decodedMessage._tag) {
70
- // TODO allow pulling concurrently to not block incoming push requests
71
- case 'WSMessage.PullReq': {
72
- if (options?.onPull) {
73
- yield* Effect.tryAll(() => options.onPull(decodedMessage, { storeId, payload }));
74
- }
75
- const respond = (message) => Effect.gen(function* () {
76
- if (options?.onPullRes) {
77
- yield* Effect.tryAll(() => options.onPullRes(message));
78
- }
79
- ws.send(encodeOutgoingMessage(message));
80
- });
81
- const cursor = decodedMessage.cursor;
82
- // TODO use streaming
83
- const remainingEvents = yield* storage.getEvents(cursor);
84
- // Send at least one response, even if there are no events
85
- const batches = remainingEvents.length === 0
86
- ? [[]]
87
- : Array.from({ length: Math.ceil(remainingEvents.length / PULL_CHUNK_SIZE) }, (_, i) => remainingEvents.slice(i * PULL_CHUNK_SIZE, (i + 1) * PULL_CHUNK_SIZE));
88
- for (const [index, batch] of batches.entries()) {
89
- const remaining = Math.max(0, remainingEvents.length - (index + 1) * PULL_CHUNK_SIZE);
90
- yield* respond(WSMessage.PullRes.make({ batch, remaining, requestId: { context: 'pull', requestId } }));
91
- }
92
- break;
96
+ switch (decodedMessage._tag) {
97
+ // TODO allow pulling concurrently to not block incoming push requests
98
+ case 'WSMessage.PullReq': {
99
+ if (options?.onPull) {
100
+ yield* Effect.tryAll(() => options.onPull(decodedMessage, { storeId, payload }));
93
101
  }
94
- case 'WSMessage.PushReq': {
95
- const respond = (message) => Effect.gen(function* () {
96
- if (options?.onPushRes) {
97
- yield* Effect.tryAll(() => options.onPushRes(message));
98
- }
99
- ws.send(encodeOutgoingMessage(message));
100
- });
101
- if (decodedMessage.batch.length === 0) {
102
- yield* respond(WSMessage.PushAck.make({ requestId }));
102
+ const respond = (message) => Effect.gen(function* () {
103
+ if (options?.onPullRes) {
104
+ yield* Effect.tryAll(() => options.onPullRes(message));
105
+ }
106
+ if (ws.readyState !== WebSocket.OPEN) {
107
+ yield* Effect.logWarning('WebSocket not open, skipping send', {
108
+ readyState: ws.readyState,
109
+ message,
110
+ });
103
111
  return;
104
112
  }
105
- yield* this.pushSemaphore.take(1);
106
- if (options?.onPush) {
107
- yield* Effect.tryAll(() => options.onPush(decodedMessage, { storeId, payload }));
113
+ yield* Effect.try({
114
+ try: () => ws.send(encodeOutgoingMessage(message)),
115
+ catch: (cause) => new UnexpectedError({ cause, note: 'Failed to send pull response', payload: { message } }),
116
+ });
117
+ });
118
+ const cursor = decodedMessage.cursor;
119
+ // TODO use streaming
120
+ const remainingEvents = yield* storage.getEvents(cursor);
121
+ // Send at least one response, even if there are no events
122
+ const batches = remainingEvents.length === 0
123
+ ? [[]]
124
+ : Array.from({ length: Math.ceil(remainingEvents.length / PULL_CHUNK_SIZE) }, (_, i) => remainingEvents.slice(i * PULL_CHUNK_SIZE, (i + 1) * PULL_CHUNK_SIZE));
125
+ for (const [index, batch] of batches.entries()) {
126
+ const remaining = Math.max(0, remainingEvents.length - (index + 1) * PULL_CHUNK_SIZE);
127
+ yield* respond(WSMessage.PullRes.make({ batch, remaining, requestId: { context: 'pull', requestId } }));
128
+ }
129
+ break;
130
+ }
131
+ case 'WSMessage.PushReq': {
132
+ const respond = (message) => Effect.gen(function* () {
133
+ if (options?.onPushRes) {
134
+ yield* Effect.tryAll(() => options.onPushRes(message));
108
135
  }
109
- // TODO check whether we could use the Durable Object storage for this to speed up the lookup
110
- // const expectedParentNum = yield* storage.getHead
111
- let currentHead;
112
- if (this.currentHead === 'uninitialized') {
113
- const currentHeadFromStorage = yield* Effect.promise(() => this.ctx.storage.get('currentHead'));
114
- // console.log('currentHeadFromStorage', currentHeadFromStorage)
115
- if (currentHeadFromStorage === undefined) {
116
- // console.log('currentHeadFromStorage is null, getting from D1')
117
- // currentHead = yield* storage.getHead
118
- // console.log('currentHeadFromStorage is null, using root')
119
- currentHead = EventSequenceNumber.ROOT.global;
120
- }
121
- else {
122
- currentHead = currentHeadFromStorage;
123
- }
136
+ ws.send(encodeOutgoingMessage(message));
137
+ });
138
+ if (decodedMessage.batch.length === 0) {
139
+ yield* respond(WSMessage.PushAck.make({ requestId }));
140
+ return;
141
+ }
142
+ yield* this.pushSemaphore.take(1);
143
+ if (options?.onPush) {
144
+ yield* Effect.tryAll(() => options.onPush(decodedMessage, { storeId, payload }));
145
+ }
146
+ // TODO check whether we could use the Durable Object storage for this to speed up the lookup
147
+ // const expectedParentNum = yield* storage.getHead
148
+ let currentHead;
149
+ if (this.currentHead === 'uninitialized') {
150
+ const currentHeadFromStorage = yield* Effect.promise(() => this.ctx.storage.get('currentHead'));
151
+ // console.log('currentHeadFromStorage', currentHeadFromStorage)
152
+ if (currentHeadFromStorage === undefined) {
153
+ // console.log('currentHeadFromStorage is null, getting from D1')
154
+ // currentHead = yield* storage.getHead
155
+ // console.log('currentHeadFromStorage is null, using root')
156
+ currentHead = EventSequenceNumber.ROOT.global;
124
157
  }
125
158
  else {
126
- // console.log('currentHead is already initialized', this.currentHead)
127
- currentHead = this.currentHead;
159
+ currentHead = currentHeadFromStorage;
128
160
  }
129
- // TODO handle clientId unique conflict
130
- // Validate the batch
131
- const firstEvent = decodedMessage.batch[0];
132
- if (firstEvent.parentSeqNum !== currentHead) {
133
- const err = WSMessage.Error.make({
134
- message: `Invalid parent event number. Received e${firstEvent.parentSeqNum} but expected e${currentHead}`,
135
- requestId,
136
- });
137
- yield* Effect.logError(err);
138
- yield* respond(err);
139
- yield* this.pushSemaphore.release(1);
140
- return;
141
- }
142
- yield* respond(WSMessage.PushAck.make({ requestId }));
143
- const createdAt = new Date().toISOString();
144
- // NOTE we're not waiting for this to complete yet to allow the broadcast to happen right away
145
- // while letting the async storage write happen in the background
146
- const storeFiber = yield* storage.appendEvents(decodedMessage.batch, createdAt).pipe(Effect.fork);
147
- this.currentHead = decodedMessage.batch.at(-1).seqNum;
148
- yield* Effect.promise(() => this.ctx.storage.put('currentHead', this.currentHead));
161
+ }
162
+ else {
163
+ // console.log('currentHead is already initialized', this.currentHead)
164
+ currentHead = this.currentHead;
165
+ }
166
+ // TODO handle clientId unique conflict
167
+ // Validate the batch
168
+ const firstEvent = decodedMessage.batch[0];
169
+ if (firstEvent.parentSeqNum !== currentHead) {
170
+ const err = WSMessage.Error.make({
171
+ message: `Invalid parent event number. Received e${firstEvent.parentSeqNum} but expected e${currentHead}`,
172
+ requestId,
173
+ });
174
+ yield* Effect.logError(err);
175
+ yield* respond(err);
149
176
  yield* this.pushSemaphore.release(1);
150
- const connectedClients = this.ctx.getWebSockets();
151
- // console.debug(`Broadcasting push batch to ${this.subscribedWebSockets.size} clients`)
152
- if (connectedClients.length > 0) {
153
- // TODO refactor to batch api
154
- const pullRes = WSMessage.PullRes.make({
155
- batch: decodedMessage.batch.map((eventEncoded) => ({
156
- eventEncoded,
157
- metadata: Option.some({ createdAt }),
158
- })),
159
- remaining: 0,
160
- requestId: { context: 'push', requestId },
161
- });
162
- const pullResEnc = encodeOutgoingMessage(pullRes);
163
- // Only calling once for now.
164
- if (options?.onPullRes) {
165
- yield* Effect.tryAll(() => options.onPullRes(pullRes));
166
- }
167
- // NOTE we're also sending the pullRes to the pushing ws client as a confirmation
168
- for (const conn of connectedClients) {
169
- conn.send(pullResEnc);
170
- }
171
- }
172
- // Wait for the storage write to complete before finishing this request
173
- yield* storeFiber;
174
- break;
177
+ return;
175
178
  }
176
- case 'WSMessage.AdminResetRoomReq': {
177
- if (decodedMessage.adminSecret !== this.env.ADMIN_SECRET) {
178
- ws.send(encodeOutgoingMessage(WSMessage.Error.make({ message: 'Invalid admin secret', requestId })));
179
- return;
179
+ yield* respond(WSMessage.PushAck.make({ requestId }));
180
+ const createdAt = new Date().toISOString();
181
+ // NOTE we're not waiting for this to complete yet to allow the broadcast to happen right away
182
+ // while letting the async storage write happen in the background
183
+ const storeFiber = yield* storage.appendEvents(decodedMessage.batch, createdAt).pipe(Effect.fork);
184
+ this.currentHead = decodedMessage.batch.at(-1).seqNum;
185
+ yield* Effect.promise(() => this.ctx.storage.put('currentHead', this.currentHead));
186
+ yield* this.pushSemaphore.release(1);
187
+ const connectedClients = this.ctx.getWebSockets();
188
+ // console.debug(`Broadcasting push batch to ${this.subscribedWebSockets.size} clients`)
189
+ if (connectedClients.length > 0) {
190
+ // TODO refactor to batch api
191
+ const pullRes = WSMessage.PullRes.make({
192
+ batch: decodedMessage.batch.map((eventEncoded) => ({
193
+ eventEncoded,
194
+ metadata: Option.some({ createdAt }),
195
+ })),
196
+ remaining: 0,
197
+ requestId: { context: 'push', requestId },
198
+ });
199
+ const pullResEnc = encodeOutgoingMessage(pullRes);
200
+ // Only calling once for now.
201
+ if (options?.onPullRes) {
202
+ yield* Effect.tryAll(() => options.onPullRes(pullRes));
180
203
  }
181
- yield* storage.resetStore;
182
- ws.send(encodeOutgoingMessage(WSMessage.AdminResetRoomRes.make({ requestId })));
183
- break;
184
- }
185
- case 'WSMessage.AdminInfoReq': {
186
- if (decodedMessage.adminSecret !== this.env.ADMIN_SECRET) {
187
- ws.send(encodeOutgoingMessage(WSMessage.Error.make({ message: 'Invalid admin secret', requestId })));
188
- return;
204
+ // NOTE we're also sending the pullRes to the pushing ws client as a confirmation
205
+ for (const conn of connectedClients) {
206
+ conn.send(pullResEnc);
189
207
  }
190
- ws.send(encodeOutgoingMessage(WSMessage.AdminInfoRes.make({ requestId, info: { durableObjectId: this.ctx.id.toString() } })));
191
- break;
192
208
  }
193
- default: {
194
- console.error('unsupported message', decodedMessage);
195
- return shouldNeverHappen();
209
+ // Wait for the storage write to complete before finishing this request
210
+ yield* storeFiber;
211
+ break;
212
+ }
213
+ case 'WSMessage.AdminResetRoomReq': {
214
+ if (decodedMessage.adminSecret !== this.env.ADMIN_SECRET) {
215
+ ws.send(encodeOutgoingMessage(WSMessage.Error.make({ message: 'Invalid admin secret', requestId })));
216
+ return;
196
217
  }
218
+ yield* storage.resetStore;
219
+ ws.send(encodeOutgoingMessage(WSMessage.AdminResetRoomRes.make({ requestId })));
220
+ break;
221
+ }
222
+ case 'WSMessage.AdminInfoReq': {
223
+ if (decodedMessage.adminSecret !== this.env.ADMIN_SECRET) {
224
+ ws.send(encodeOutgoingMessage(WSMessage.Error.make({ message: 'Invalid admin secret', requestId })));
225
+ return;
226
+ }
227
+ ws.send(encodeOutgoingMessage(WSMessage.AdminInfoRes.make({ requestId, info: { durableObjectId: this.ctx.id.toString() } })));
228
+ break;
229
+ }
230
+ default: {
231
+ console.error('unsupported message', decodedMessage);
232
+ return shouldNeverHappen();
197
233
  }
198
- }
199
- catch (error) {
200
- ws.send(encodeOutgoingMessage(WSMessage.Error.make({ message: error.message, requestId })));
201
234
  }
202
235
  }).pipe(Effect.withSpan(`@livestore/sync-cf:durable-object:webSocketMessage:${decodedMessage._tag}`, {
203
236
  attributes: { requestId },
@@ -1 +1 @@
1
- {"version":3,"file":"durable-object.js","sourceRoot":"","sources":["../../src/cf-worker/durable-object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable-object.js","sourceRoot":"","sources":["../../src/cf-worker/durable-object.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export * from './cf-types.ts';
1
2
  export * from './durable-object.ts';
2
3
  export * from './worker.ts';
3
4
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/cf-worker/mod.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/cf-worker/mod.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA"}
@@ -1,3 +1,4 @@
1
+ export * from "./cf-types.js";
1
2
  export * from "./durable-object.js";
2
3
  export * from "./worker.js";
3
4
  //# sourceMappingURL=mod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/cf-worker/mod.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/cf-worker/mod.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA"}