@livestore/sync-cf 0.4.0-dev.2 → 0.4.0-dev.20

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 (136) hide show
  1. package/README.md +60 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/cf-worker/do/durable-object.d.ts +45 -0
  4. package/dist/cf-worker/do/durable-object.d.ts.map +1 -0
  5. package/dist/cf-worker/do/durable-object.js +151 -0
  6. package/dist/cf-worker/do/durable-object.js.map +1 -0
  7. package/dist/cf-worker/do/layer.d.ts +34 -0
  8. package/dist/cf-worker/do/layer.d.ts.map +1 -0
  9. package/dist/cf-worker/do/layer.js +91 -0
  10. package/dist/cf-worker/do/layer.js.map +1 -0
  11. package/dist/cf-worker/do/pull.d.ts +6 -0
  12. package/dist/cf-worker/do/pull.d.ts.map +1 -0
  13. package/dist/cf-worker/do/pull.js +47 -0
  14. package/dist/cf-worker/do/pull.js.map +1 -0
  15. package/dist/cf-worker/do/push.d.ts +14 -0
  16. package/dist/cf-worker/do/push.d.ts.map +1 -0
  17. package/dist/cf-worker/do/push.js +131 -0
  18. package/dist/cf-worker/do/push.js.map +1 -0
  19. package/dist/cf-worker/{durable-object.d.ts → do/sqlite.d.ts} +83 -67
  20. package/dist/cf-worker/do/sqlite.d.ts.map +1 -0
  21. package/dist/cf-worker/do/sqlite.js +36 -0
  22. package/dist/cf-worker/do/sqlite.js.map +1 -0
  23. package/dist/cf-worker/do/sync-storage.d.ts +25 -0
  24. package/dist/cf-worker/do/sync-storage.d.ts.map +1 -0
  25. package/dist/cf-worker/do/sync-storage.js +191 -0
  26. package/dist/cf-worker/do/sync-storage.js.map +1 -0
  27. package/dist/cf-worker/do/transport/do-rpc-server.d.ts +9 -0
  28. package/dist/cf-worker/do/transport/do-rpc-server.d.ts.map +1 -0
  29. package/dist/cf-worker/do/transport/do-rpc-server.js +45 -0
  30. package/dist/cf-worker/do/transport/do-rpc-server.js.map +1 -0
  31. package/dist/cf-worker/do/transport/http-rpc-server.d.ts +8 -0
  32. package/dist/cf-worker/do/transport/http-rpc-server.d.ts.map +1 -0
  33. package/dist/cf-worker/do/transport/http-rpc-server.js +30 -0
  34. package/dist/cf-worker/do/transport/http-rpc-server.js.map +1 -0
  35. package/dist/cf-worker/do/transport/ws-rpc-server.d.ts +4 -0
  36. package/dist/cf-worker/do/transport/ws-rpc-server.d.ts.map +1 -0
  37. package/dist/cf-worker/do/transport/ws-rpc-server.js +21 -0
  38. package/dist/cf-worker/do/transport/ws-rpc-server.js.map +1 -0
  39. package/dist/cf-worker/mod.d.ts +4 -2
  40. package/dist/cf-worker/mod.d.ts.map +1 -1
  41. package/dist/cf-worker/mod.js +3 -2
  42. package/dist/cf-worker/mod.js.map +1 -1
  43. package/dist/cf-worker/shared.d.ts +175 -0
  44. package/dist/cf-worker/shared.d.ts.map +1 -0
  45. package/dist/cf-worker/shared.js +43 -0
  46. package/dist/cf-worker/shared.js.map +1 -0
  47. package/dist/cf-worker/worker.d.ts +59 -51
  48. package/dist/cf-worker/worker.d.ts.map +1 -1
  49. package/dist/cf-worker/worker.js +75 -43
  50. package/dist/cf-worker/worker.js.map +1 -1
  51. package/dist/client/mod.d.ts +4 -0
  52. package/dist/client/mod.d.ts.map +1 -0
  53. package/dist/client/mod.js +4 -0
  54. package/dist/client/mod.js.map +1 -0
  55. package/dist/client/transport/do-rpc-client.d.ts +40 -0
  56. package/dist/client/transport/do-rpc-client.d.ts.map +1 -0
  57. package/dist/client/transport/do-rpc-client.js +115 -0
  58. package/dist/client/transport/do-rpc-client.js.map +1 -0
  59. package/dist/client/transport/http-rpc-client.d.ts +43 -0
  60. package/dist/client/transport/http-rpc-client.d.ts.map +1 -0
  61. package/dist/client/transport/http-rpc-client.js +103 -0
  62. package/dist/client/transport/http-rpc-client.js.map +1 -0
  63. package/dist/client/transport/ws-rpc-client.d.ts +46 -0
  64. package/dist/client/transport/ws-rpc-client.d.ts.map +1 -0
  65. package/dist/client/transport/ws-rpc-client.js +108 -0
  66. package/dist/client/transport/ws-rpc-client.js.map +1 -0
  67. package/dist/common/constants.d.ts +7 -0
  68. package/dist/common/constants.d.ts.map +1 -0
  69. package/dist/common/constants.js +17 -0
  70. package/dist/common/constants.js.map +1 -0
  71. package/dist/common/do-rpc-schema.d.ts +76 -0
  72. package/dist/common/do-rpc-schema.d.ts.map +1 -0
  73. package/dist/common/do-rpc-schema.js +48 -0
  74. package/dist/common/do-rpc-schema.js.map +1 -0
  75. package/dist/common/http-rpc-schema.d.ts +58 -0
  76. package/dist/common/http-rpc-schema.d.ts.map +1 -0
  77. package/dist/common/http-rpc-schema.js +37 -0
  78. package/dist/common/http-rpc-schema.js.map +1 -0
  79. package/dist/common/mod.d.ts +8 -1
  80. package/dist/common/mod.d.ts.map +1 -1
  81. package/dist/common/mod.js +7 -1
  82. package/dist/common/mod.js.map +1 -1
  83. package/dist/common/{ws-message-types.d.ts → sync-message-types.d.ts} +119 -153
  84. package/dist/common/sync-message-types.d.ts.map +1 -0
  85. package/dist/common/sync-message-types.js +60 -0
  86. package/dist/common/sync-message-types.js.map +1 -0
  87. package/dist/common/ws-rpc-schema.d.ts +55 -0
  88. package/dist/common/ws-rpc-schema.d.ts.map +1 -0
  89. package/dist/common/ws-rpc-schema.js +32 -0
  90. package/dist/common/ws-rpc-schema.js.map +1 -0
  91. package/package.json +7 -8
  92. package/src/cf-worker/do/durable-object.ts +238 -0
  93. package/src/cf-worker/do/layer.ts +128 -0
  94. package/src/cf-worker/do/pull.ts +75 -0
  95. package/src/cf-worker/do/push.ts +205 -0
  96. package/src/cf-worker/do/sqlite.ts +37 -0
  97. package/src/cf-worker/do/sync-storage.ts +323 -0
  98. package/src/cf-worker/do/transport/do-rpc-server.ts +84 -0
  99. package/src/cf-worker/do/transport/http-rpc-server.ts +51 -0
  100. package/src/cf-worker/do/transport/ws-rpc-server.ts +34 -0
  101. package/src/cf-worker/mod.ts +4 -2
  102. package/src/cf-worker/shared.ts +141 -0
  103. package/src/cf-worker/worker.ts +138 -116
  104. package/src/client/mod.ts +3 -0
  105. package/src/client/transport/do-rpc-client.ts +189 -0
  106. package/src/client/transport/http-rpc-client.ts +225 -0
  107. package/src/client/transport/ws-rpc-client.ts +202 -0
  108. package/src/common/constants.ts +18 -0
  109. package/src/common/do-rpc-schema.ts +54 -0
  110. package/src/common/http-rpc-schema.ts +40 -0
  111. package/src/common/mod.ts +10 -1
  112. package/src/common/sync-message-types.ts +117 -0
  113. package/src/common/ws-rpc-schema.ts +36 -0
  114. package/dist/cf-worker/cf-types.d.ts +0 -2
  115. package/dist/cf-worker/cf-types.d.ts.map +0 -1
  116. package/dist/cf-worker/cf-types.js +0 -2
  117. package/dist/cf-worker/cf-types.js.map +0 -1
  118. package/dist/cf-worker/durable-object.d.ts.map +0 -1
  119. package/dist/cf-worker/durable-object.js +0 -317
  120. package/dist/cf-worker/durable-object.js.map +0 -1
  121. package/dist/common/ws-message-types.d.ts.map +0 -1
  122. package/dist/common/ws-message-types.js +0 -57
  123. package/dist/common/ws-message-types.js.map +0 -1
  124. package/dist/sync-impl/mod.d.ts +0 -2
  125. package/dist/sync-impl/mod.d.ts.map +0 -1
  126. package/dist/sync-impl/mod.js +0 -2
  127. package/dist/sync-impl/mod.js.map +0 -1
  128. package/dist/sync-impl/ws-impl.d.ts +0 -7
  129. package/dist/sync-impl/ws-impl.d.ts.map +0 -1
  130. package/dist/sync-impl/ws-impl.js +0 -175
  131. package/dist/sync-impl/ws-impl.js.map +0 -1
  132. package/src/cf-worker/cf-types.ts +0 -12
  133. package/src/cf-worker/durable-object.ts +0 -478
  134. package/src/common/ws-message-types.ts +0 -114
  135. package/src/sync-impl/mod.ts +0 -1
  136. package/src/sync-impl/ws-impl.ts +0 -274
@@ -1,20 +1,25 @@
1
1
  import { Schema } from '@livestore/utils/effect';
2
- export declare const PullReq: Schema.Struct<{
3
- _tag: Schema.tag<"WSMessage.PullReq">;
4
- } & {
5
- requestId: typeof Schema.String;
6
- /** Omitting the cursor will start from the beginning */
7
- cursor: Schema.optional<typeof Schema.Number>;
8
- }>;
9
- export type PullReq = typeof PullReq.Type;
2
+ /**
3
+ * Common sync message types shared between different transport modes (WS, HTTP, RPC)
4
+ *
5
+ * These are the canonical message definitions used across all transport implementations.
6
+ */
10
7
  export declare const SyncMetadata: Schema.Struct<{
8
+ _tag: Schema.tag<"SyncMessage.SyncMetadata">;
9
+ } & {
11
10
  /** ISO date format */
12
11
  createdAt: typeof Schema.String;
13
12
  }>;
14
13
  export type SyncMetadata = typeof SyncMetadata.Type;
15
- export declare const PullRes: Schema.Struct<{
16
- _tag: Schema.tag<"WSMessage.PullRes">;
17
- } & {
14
+ export declare const PullRequest: Schema.Struct<{
15
+ /** Omitting the cursor will start from the beginning */
16
+ cursor: Schema.Option<Schema.Struct<{
17
+ backendId: Schema.SchemaClass<string, string, never>;
18
+ eventSequenceNumber: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
19
+ }>>;
20
+ }>;
21
+ export type PullRequest = typeof PullRequest.Type;
22
+ export declare const PullResponse: Schema.Struct<{
18
23
  batch: Schema.Array$<Schema.Struct<{
19
24
  eventEncoded: Schema.Struct<{
20
25
  name: typeof Schema.String;
@@ -25,21 +30,44 @@ export declare const PullRes: Schema.Struct<{
25
30
  sessionId: typeof Schema.String;
26
31
  }>;
27
32
  metadata: Schema.Option<Schema.Struct<{
33
+ _tag: Schema.tag<"SyncMessage.SyncMetadata">;
34
+ } & {
28
35
  /** ISO date format */
29
36
  createdAt: typeof Schema.String;
30
37
  }>>;
31
38
  }>>;
32
- requestId: Schema.Struct<{
33
- context: Schema.Literal<["pull", "push"]>;
34
- requestId: typeof Schema.String;
35
- }>;
36
- remaining: typeof Schema.Number;
39
+ pageInfo: Schema.Union<[Schema.TaggedStruct<"MoreUnknown", {}>, Schema.TaggedStruct<"MoreKnown", {
40
+ remaining: typeof Schema.Number;
41
+ }>, Schema.TaggedStruct<"NoMore", {}>]>;
42
+ backendId: Schema.SchemaClass<string, string, never>;
37
43
  }>;
38
- export type PullRes = typeof PullRes.Type;
39
- export declare const PushReq: Schema.Struct<{
40
- _tag: Schema.tag<"WSMessage.PushReq">;
41
- } & {
42
- requestId: typeof Schema.String;
44
+ export declare const emptyPullResponse: (backendId: string) => {
45
+ readonly backendId: string;
46
+ readonly batch: readonly {
47
+ readonly metadata: import("effect/Option").Option<{
48
+ readonly createdAt: string;
49
+ readonly _tag: "SyncMessage.SyncMetadata";
50
+ }>;
51
+ readonly eventEncoded: {
52
+ readonly name: string;
53
+ readonly args: any;
54
+ readonly seqNum: any;
55
+ readonly parentSeqNum: any;
56
+ readonly clientId: string;
57
+ readonly sessionId: string;
58
+ };
59
+ }[];
60
+ readonly pageInfo: {
61
+ readonly _tag: "MoreUnknown";
62
+ } | {
63
+ readonly _tag: "MoreKnown";
64
+ readonly remaining: number;
65
+ } | {
66
+ readonly _tag: "NoMore";
67
+ };
68
+ };
69
+ export type PullResponse = typeof PullResponse.Type;
70
+ export declare const PushRequest: Schema.Struct<{
43
71
  batch: Schema.Array$<Schema.Struct<{
44
72
  name: typeof Schema.String;
45
73
  args: typeof Schema.Any;
@@ -48,71 +76,44 @@ export declare const PushReq: Schema.Struct<{
48
76
  clientId: typeof Schema.String;
49
77
  sessionId: typeof Schema.String;
50
78
  }>>;
79
+ backendId: Schema.Option<Schema.SchemaClass<string, string, never>>;
51
80
  }>;
52
- export type PushReq = typeof PushReq.Type;
53
- export declare const PushAck: Schema.Struct<{
54
- _tag: Schema.tag<"WSMessage.PushAck">;
55
- } & {
56
- requestId: typeof Schema.String;
57
- }>;
81
+ export type PushRequest = typeof PushRequest.Type;
82
+ export declare const PushAck: Schema.Struct<{}>;
58
83
  export type PushAck = typeof PushAck.Type;
59
- export declare const Error: Schema.Struct<{
60
- _tag: Schema.tag<"WSMessage.Error">;
61
- } & {
62
- requestId: typeof Schema.String;
63
- message: typeof Schema.String;
64
- }>;
65
- export type Error = typeof Error.Type;
66
84
  export declare const Ping: Schema.Struct<{
67
- _tag: Schema.tag<"WSMessage.Ping">;
68
- } & {
69
- requestId: Schema.Literal<["ping"]>;
85
+ _tag: Schema.tag<"SyncMessage.Ping">;
70
86
  }>;
71
87
  export type Ping = typeof Ping.Type;
72
88
  export declare const Pong: Schema.Struct<{
73
- _tag: Schema.tag<"WSMessage.Pong">;
74
- } & {
75
- requestId: Schema.Literal<["ping"]>;
89
+ _tag: Schema.tag<"SyncMessage.Pong">;
76
90
  }>;
77
91
  export type Pong = typeof Pong.Type;
78
- export declare const AdminResetRoomReq: Schema.Struct<{
79
- _tag: Schema.tag<"WSMessage.AdminResetRoomReq">;
92
+ export declare const AdminResetRoomRequest: Schema.Struct<{
93
+ _tag: Schema.tag<"SyncMessage.AdminResetRoomRequest">;
80
94
  } & {
81
- requestId: typeof Schema.String;
82
95
  adminSecret: typeof Schema.String;
83
96
  }>;
84
- export type AdminResetRoomReq = typeof AdminResetRoomReq.Type;
85
- export declare const AdminResetRoomRes: Schema.Struct<{
86
- _tag: Schema.tag<"WSMessage.AdminResetRoomRes">;
87
- } & {
88
- requestId: typeof Schema.String;
97
+ export type AdminResetRoomRequest = typeof AdminResetRoomRequest.Type;
98
+ export declare const AdminResetRoomResponse: Schema.Struct<{
99
+ _tag: Schema.tag<"SyncMessage.AdminResetRoomResponse">;
89
100
  }>;
90
- export type AdminResetRoomRes = typeof AdminResetRoomRes.Type;
91
- export declare const AdminInfoReq: Schema.Struct<{
92
- _tag: Schema.tag<"WSMessage.AdminInfoReq">;
101
+ export type AdminResetRoomResponse = typeof AdminResetRoomResponse.Type;
102
+ export declare const AdminInfoRequest: Schema.Struct<{
103
+ _tag: Schema.tag<"SyncMessage.AdminInfoRequest">;
93
104
  } & {
94
- requestId: typeof Schema.String;
95
105
  adminSecret: typeof Schema.String;
96
106
  }>;
97
- export type AdminInfoReq = typeof AdminInfoReq.Type;
98
- export declare const AdminInfoRes: Schema.Struct<{
99
- _tag: Schema.tag<"WSMessage.AdminInfoRes">;
107
+ export type AdminInfoRequest = typeof AdminInfoRequest.Type;
108
+ export declare const AdminInfoResponse: Schema.Struct<{
109
+ _tag: Schema.tag<"SyncMessage.AdminInfoResponse">;
100
110
  } & {
101
- requestId: typeof Schema.String;
102
111
  info: Schema.Struct<{
103
112
  durableObjectId: typeof Schema.String;
104
113
  }>;
105
114
  }>;
106
- export type AdminInfoRes = typeof AdminInfoRes.Type;
107
- export declare const Message: Schema.Union<[Schema.Struct<{
108
- _tag: Schema.tag<"WSMessage.PullReq">;
109
- } & {
110
- requestId: typeof Schema.String;
111
- /** Omitting the cursor will start from the beginning */
112
- cursor: Schema.optional<typeof Schema.Number>;
113
- }>, Schema.Struct<{
114
- _tag: Schema.tag<"WSMessage.PullRes">;
115
- } & {
115
+ export type AdminInfoResponse = typeof AdminInfoResponse.Type;
116
+ export declare const BackendToClientMessage: Schema.Union<[Schema.Struct<{
116
117
  batch: Schema.Array$<Schema.Struct<{
117
118
  eventEncoded: Schema.Struct<{
118
119
  name: typeof Schema.String;
@@ -123,19 +124,35 @@ export declare const Message: Schema.Union<[Schema.Struct<{
123
124
  sessionId: typeof Schema.String;
124
125
  }>;
125
126
  metadata: Schema.Option<Schema.Struct<{
127
+ _tag: Schema.tag<"SyncMessage.SyncMetadata">;
128
+ } & {
126
129
  /** ISO date format */
127
130
  createdAt: typeof Schema.String;
128
131
  }>>;
129
132
  }>>;
130
- requestId: Schema.Struct<{
131
- context: Schema.Literal<["pull", "push"]>;
132
- requestId: typeof Schema.String;
133
- }>;
134
- remaining: typeof Schema.Number;
133
+ pageInfo: Schema.Union<[Schema.TaggedStruct<"MoreUnknown", {}>, Schema.TaggedStruct<"MoreKnown", {
134
+ remaining: typeof Schema.Number;
135
+ }>, Schema.TaggedStruct<"NoMore", {}>]>;
136
+ backendId: Schema.SchemaClass<string, string, never>;
137
+ }>, Schema.Struct<{}>, Schema.Struct<{
138
+ _tag: Schema.tag<"SyncMessage.Pong">;
139
+ }>, Schema.Struct<{
140
+ _tag: Schema.tag<"SyncMessage.AdminResetRoomResponse">;
135
141
  }>, Schema.Struct<{
136
- _tag: Schema.tag<"WSMessage.PushReq">;
142
+ _tag: Schema.tag<"SyncMessage.AdminInfoResponse">;
137
143
  } & {
138
- requestId: typeof Schema.String;
144
+ info: Schema.Struct<{
145
+ durableObjectId: typeof Schema.String;
146
+ }>;
147
+ }>]>;
148
+ export type BackendToClientMessage = typeof BackendToClientMessage.Type;
149
+ export declare const ClientToBackendMessage: Schema.Union<[Schema.Struct<{
150
+ /** Omitting the cursor will start from the beginning */
151
+ cursor: Schema.Option<Schema.Struct<{
152
+ backendId: Schema.SchemaClass<string, string, never>;
153
+ eventSequenceNumber: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
154
+ }>>;
155
+ }>, Schema.Struct<{
139
156
  batch: Schema.Array$<Schema.Struct<{
140
157
  name: typeof Schema.String;
141
158
  args: typeof Schema.Any;
@@ -144,50 +161,20 @@ export declare const Message: Schema.Union<[Schema.Struct<{
144
161
  clientId: typeof Schema.String;
145
162
  sessionId: typeof Schema.String;
146
163
  }>>;
164
+ backendId: Schema.Option<Schema.SchemaClass<string, string, never>>;
147
165
  }>, Schema.Struct<{
148
- _tag: Schema.tag<"WSMessage.PushAck">;
149
- } & {
150
- requestId: typeof Schema.String;
151
- }>, Schema.Struct<{
152
- _tag: Schema.tag<"WSMessage.Error">;
153
- } & {
154
- requestId: typeof Schema.String;
155
- message: typeof Schema.String;
156
- }>, Schema.Struct<{
157
- _tag: Schema.tag<"WSMessage.Ping">;
158
- } & {
159
- requestId: Schema.Literal<["ping"]>;
160
- }>, Schema.Struct<{
161
- _tag: Schema.tag<"WSMessage.Pong">;
162
- } & {
163
- requestId: Schema.Literal<["ping"]>;
166
+ _tag: Schema.tag<"SyncMessage.Ping">;
164
167
  }>, Schema.Struct<{
165
- _tag: Schema.tag<"WSMessage.AdminResetRoomReq">;
168
+ _tag: Schema.tag<"SyncMessage.AdminResetRoomRequest">;
166
169
  } & {
167
- requestId: typeof Schema.String;
168
170
  adminSecret: typeof Schema.String;
169
171
  }>, Schema.Struct<{
170
- _tag: Schema.tag<"WSMessage.AdminResetRoomRes">;
172
+ _tag: Schema.tag<"SyncMessage.AdminInfoRequest">;
171
173
  } & {
172
- requestId: typeof Schema.String;
173
- }>, Schema.Struct<{
174
- _tag: Schema.tag<"WSMessage.AdminInfoReq">;
175
- } & {
176
- requestId: typeof Schema.String;
177
174
  adminSecret: typeof Schema.String;
178
- }>, Schema.Struct<{
179
- _tag: Schema.tag<"WSMessage.AdminInfoRes">;
180
- } & {
181
- requestId: typeof Schema.String;
182
- info: Schema.Struct<{
183
- durableObjectId: typeof Schema.String;
184
- }>;
185
175
  }>]>;
186
- export type Message = typeof Message.Type;
187
- export type MessageEncoded = typeof Message.Encoded;
188
- export declare const BackendToClientMessage: Schema.Union<[Schema.Struct<{
189
- _tag: Schema.tag<"WSMessage.PullRes">;
190
- } & {
176
+ export type ClientToBackendMessage = typeof ClientToBackendMessage.Type;
177
+ export declare const Message: Schema.Union<[Schema.Union<[Schema.Struct<{
191
178
  batch: Schema.Array$<Schema.Struct<{
192
179
  eventEncoded: Schema.Struct<{
193
180
  name: typeof Schema.String;
@@ -198,51 +185,33 @@ export declare const BackendToClientMessage: Schema.Union<[Schema.Struct<{
198
185
  sessionId: typeof Schema.String;
199
186
  }>;
200
187
  metadata: Schema.Option<Schema.Struct<{
188
+ _tag: Schema.tag<"SyncMessage.SyncMetadata">;
189
+ } & {
201
190
  /** ISO date format */
202
191
  createdAt: typeof Schema.String;
203
192
  }>>;
204
193
  }>>;
205
- requestId: Schema.Struct<{
206
- context: Schema.Literal<["pull", "push"]>;
207
- requestId: typeof Schema.String;
208
- }>;
209
- remaining: typeof Schema.Number;
210
- }>, Schema.Struct<{
211
- _tag: Schema.tag<"WSMessage.PushAck">;
212
- } & {
213
- requestId: typeof Schema.String;
194
+ pageInfo: Schema.Union<[Schema.TaggedStruct<"MoreUnknown", {}>, Schema.TaggedStruct<"MoreKnown", {
195
+ remaining: typeof Schema.Number;
196
+ }>, Schema.TaggedStruct<"NoMore", {}>]>;
197
+ backendId: Schema.SchemaClass<string, string, never>;
198
+ }>, Schema.Struct<{}>, Schema.Struct<{
199
+ _tag: Schema.tag<"SyncMessage.Pong">;
214
200
  }>, Schema.Struct<{
215
- _tag: Schema.tag<"WSMessage.AdminResetRoomRes">;
216
- } & {
217
- requestId: typeof Schema.String;
201
+ _tag: Schema.tag<"SyncMessage.AdminResetRoomResponse">;
218
202
  }>, Schema.Struct<{
219
- _tag: Schema.tag<"WSMessage.AdminInfoRes">;
203
+ _tag: Schema.tag<"SyncMessage.AdminInfoResponse">;
220
204
  } & {
221
- requestId: typeof Schema.String;
222
205
  info: Schema.Struct<{
223
206
  durableObjectId: typeof Schema.String;
224
207
  }>;
225
- }>, Schema.Struct<{
226
- _tag: Schema.tag<"WSMessage.Error">;
227
- } & {
228
- requestId: typeof Schema.String;
229
- message: typeof Schema.String;
230
- }>, Schema.Struct<{
231
- _tag: Schema.tag<"WSMessage.Pong">;
232
- } & {
233
- requestId: Schema.Literal<["ping"]>;
234
- }>]>;
235
- export type BackendToClientMessage = typeof BackendToClientMessage.Type;
236
- export declare const ClientToBackendMessage: Schema.Union<[Schema.Struct<{
237
- _tag: Schema.tag<"WSMessage.PullReq">;
238
- } & {
239
- requestId: typeof Schema.String;
208
+ }>]>, Schema.Union<[Schema.Struct<{
240
209
  /** Omitting the cursor will start from the beginning */
241
- cursor: Schema.optional<typeof Schema.Number>;
210
+ cursor: Schema.Option<Schema.Struct<{
211
+ backendId: Schema.SchemaClass<string, string, never>;
212
+ eventSequenceNumber: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
213
+ }>>;
242
214
  }>, Schema.Struct<{
243
- _tag: Schema.tag<"WSMessage.PushReq">;
244
- } & {
245
- requestId: typeof Schema.String;
246
215
  batch: Schema.Array$<Schema.Struct<{
247
216
  name: typeof Schema.String;
248
217
  args: typeof Schema.Any;
@@ -251,20 +220,17 @@ export declare const ClientToBackendMessage: Schema.Union<[Schema.Struct<{
251
220
  clientId: typeof Schema.String;
252
221
  sessionId: typeof Schema.String;
253
222
  }>>;
223
+ backendId: Schema.Option<Schema.SchemaClass<string, string, never>>;
254
224
  }>, Schema.Struct<{
255
- _tag: Schema.tag<"WSMessage.AdminResetRoomReq">;
256
- } & {
257
- requestId: typeof Schema.String;
258
- adminSecret: typeof Schema.String;
225
+ _tag: Schema.tag<"SyncMessage.Ping">;
259
226
  }>, Schema.Struct<{
260
- _tag: Schema.tag<"WSMessage.AdminInfoReq">;
227
+ _tag: Schema.tag<"SyncMessage.AdminResetRoomRequest">;
261
228
  } & {
262
- requestId: typeof Schema.String;
263
229
  adminSecret: typeof Schema.String;
264
230
  }>, Schema.Struct<{
265
- _tag: Schema.tag<"WSMessage.Ping">;
231
+ _tag: Schema.tag<"SyncMessage.AdminInfoRequest">;
266
232
  } & {
267
- requestId: Schema.Literal<["ping"]>;
268
- }>]>;
269
- export type ClientToBackendMessage = typeof ClientToBackendMessage.Type;
270
- //# sourceMappingURL=ws-message-types.d.ts.map
233
+ adminSecret: typeof Schema.String;
234
+ }>]>]>;
235
+ export type Message = typeof Message.Type;
236
+ //# sourceMappingURL=sync-message-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-message-types.d.ts","sourceRoot":"","sources":["../../src/common/sync-message-types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD;;;;GAIG;AAEH,eAAO,MAAM,YAAY;;;IACvB,sBAAsB;;EAEoC,CAAA;AAE5D,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD,eAAO,MAAM,WAAW;IACtB,wDAAwD;;;;;EAOC,CAAA;AAE3D,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,YAAY;;;;;;;;;;;;;YAlBvB,sBAAsB;;;;;;;;EA2BoC,CAAA;AAE5D,eAAO,MAAM,iBAAiB,GAAI,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;CAK/C,CAAA;AAEJ,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD,eAAO,MAAM,WAAW;;;;;;;;;;EAGmC,CAAA;AAE3D,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,OAAO,mBAElB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,eAAO,MAAM,IAAI;;EAAgG,CAAA;AAEjH,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAA;AAEnC,eAAO,MAAM,IAAI;;EAAgG,CAAA;AAEjH,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAA;AAGnC,eAAO,MAAM,qBAAqB;;;;EAEmC,CAAA;AAErE,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,eAAO,MAAM,sBAAsB;;EAEjC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE,eAAO,MAAM,gBAAgB;;;;EAEmC,CAAA;AAEhE,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,iBAAiB;;;;;;EAImC,CAAA;AAEjE,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;YAtFjC,sBAAsB;;;;;;;;;;;;;;;;;;IA4FvB,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE,eAAO,MAAM,sBAAsB;IAxFjC,wDAAwD;;;;;;;;;;;;;;;;;;;;;;;;;IA8FzD,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE,eAAO,MAAM,OAAO;;;;;;;;;;;;;YAxGlB,sBAAsB;;;;;;;;;;;;;;;;;;;IAOtB,wDAAwD;;;;;;;;;;;;;;;;;;;;;;;;;MAiGyB,CAAA;AACnF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA"}
@@ -0,0 +1,60 @@
1
+ import { BackendId, SyncBackend } from '@livestore/common';
2
+ import { EventSequenceNumber, LiveStoreEvent } from '@livestore/common/schema';
3
+ import { Schema } from '@livestore/utils/effect';
4
+ /**
5
+ * Common sync message types shared between different transport modes (WS, HTTP, RPC)
6
+ *
7
+ * These are the canonical message definitions used across all transport implementations.
8
+ */
9
+ export const SyncMetadata = Schema.TaggedStruct('SyncMessage.SyncMetadata', {
10
+ /** ISO date format */
11
+ createdAt: Schema.String,
12
+ }).annotations({ title: '@livestore/sync-cf:SyncMetadata' });
13
+ export const PullRequest = Schema.Struct({
14
+ /** Omitting the cursor will start from the beginning */
15
+ cursor: Schema.Option(Schema.Struct({
16
+ backendId: BackendId,
17
+ eventSequenceNumber: EventSequenceNumber.Global.Schema,
18
+ })),
19
+ }).annotations({ title: '@livestore/sync-cf:PullRequest' });
20
+ export const PullResponse = Schema.Struct({
21
+ batch: Schema.Array(Schema.Struct({
22
+ eventEncoded: LiveStoreEvent.Global.Encoded,
23
+ metadata: Schema.Option(SyncMetadata),
24
+ })),
25
+ pageInfo: SyncBackend.PullResPageInfo,
26
+ backendId: BackendId,
27
+ }).annotations({ title: '@livestore/sync-cf:PullResponse' });
28
+ export const emptyPullResponse = (backendId) => PullResponse.make({
29
+ batch: [],
30
+ pageInfo: SyncBackend.pageInfoNoMore,
31
+ backendId,
32
+ });
33
+ export const PushRequest = Schema.Struct({
34
+ batch: Schema.Array(LiveStoreEvent.Global.Encoded),
35
+ backendId: Schema.Option(BackendId),
36
+ }).annotations({ title: '@livestore/sync-cf:PushRequest' });
37
+ export const PushAck = Schema.Struct({}).annotations({
38
+ title: '@livestore/sync-cf:PushAck',
39
+ });
40
+ export const Ping = Schema.TaggedStruct('SyncMessage.Ping', {}).annotations({ title: '@livestore/sync-cf:Ping' });
41
+ export const Pong = Schema.TaggedStruct('SyncMessage.Pong', {}).annotations({ title: '@livestore/sync-cf:Pong' });
42
+ // Admin operations
43
+ export const AdminResetRoomRequest = Schema.TaggedStruct('SyncMessage.AdminResetRoomRequest', {
44
+ adminSecret: Schema.String,
45
+ }).annotations({ title: '@livestore/sync-cf:AdminResetRoomRequest' });
46
+ export const AdminResetRoomResponse = Schema.TaggedStruct('SyncMessage.AdminResetRoomResponse', {}).annotations({
47
+ title: '@livestore/sync-cf:AdminResetRoomResponse',
48
+ });
49
+ export const AdminInfoRequest = Schema.TaggedStruct('SyncMessage.AdminInfoRequest', {
50
+ adminSecret: Schema.String,
51
+ }).annotations({ title: '@livestore/sync-cf:AdminInfoRequest' });
52
+ export const AdminInfoResponse = Schema.TaggedStruct('SyncMessage.AdminInfoResponse', {
53
+ info: Schema.Struct({
54
+ durableObjectId: Schema.String,
55
+ }),
56
+ }).annotations({ title: '@livestore/sync-cf:AdminInfoResponse' });
57
+ export const BackendToClientMessage = Schema.Union(PullResponse, PushAck, Pong, AdminResetRoomResponse, AdminInfoResponse);
58
+ export const ClientToBackendMessage = Schema.Union(PullRequest, PushRequest, Ping, AdminResetRoomRequest, AdminInfoRequest);
59
+ export const Message = Schema.Union(BackendToClientMessage, ClientToBackendMessage);
60
+ //# sourceMappingURL=sync-message-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-message-types.js","sourceRoot":"","sources":["../../src/common/sync-message-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD;;;;GAIG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,0BAA0B,EAAE;IAC1E,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAA;AAI5D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC,MAAM,CACnB,MAAM,CAAC,MAAM,CAAC;QACZ,SAAS,EAAE,SAAS;QACpB,mBAAmB,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM;KACvD,CAAC,CACH;CACF,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAA;AAI3D,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC,KAAK,CACjB,MAAM,CAAC,MAAM,CAAC;QACZ,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO;QAC3C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;KACtC,CAAC,CACH;IACD,QAAQ,EAAE,WAAW,CAAC,eAAe;IACrC,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAA;AAE5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,EAAE,CACrD,YAAY,CAAC,IAAI,CAAC;IAChB,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,WAAW,CAAC,cAAc;IACpC,SAAS;CACV,CAAC,CAAA;AAIJ,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;CACpC,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAA;AAI3D,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC;IACnD,KAAK,EAAE,4BAA4B;CACpC,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAA;AAIjH,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAA;AAIjH,mBAAmB;AACnB,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,YAAY,CAAC,mCAAmC,EAAE;IAC5F,WAAW,EAAE,MAAM,CAAC,MAAM;CAC3B,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC,CAAA;AAIrE,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,YAAY,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC;IAC9G,KAAK,EAAE,2CAA2C;CACnD,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,8BAA8B,EAAE;IAClF,WAAW,EAAE,MAAM,CAAC,MAAM;CAC3B,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC,CAAA;AAIhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,+BAA+B,EAAE;IACpF,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC,MAAM;KAC/B,CAAC;CACH,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAA;AAIjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,KAAK,CAChD,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,sBAAsB,EACtB,iBAAiB,CAClB,CAAA;AAGD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,KAAK,CAChD,WAAW,EACX,WAAW,EACX,IAAI,EACJ,qBAAqB,EACrB,gBAAgB,CACjB,CAAA;AAGD,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAA"}
@@ -0,0 +1,55 @@
1
+ import { InvalidPullError, InvalidPushError } from '@livestore/common';
2
+ import { Rpc, RpcGroup, Schema } from '@livestore/utils/effect';
3
+ declare const SyncWsRpc_base: RpcGroup.RpcGroup<Rpc.Rpc<"SyncWsRpc.Pull", Schema.Struct<{
4
+ cursor: Schema.Option<Schema.Struct<{
5
+ backendId: Schema.SchemaClass<string, string, never>;
6
+ eventSequenceNumber: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
7
+ }>>;
8
+ storeId: typeof Schema.String;
9
+ payload: Schema.optional<Schema.Schema<Schema.JsonValue, Schema.JsonValue, never>>;
10
+ /** Whether to keep the pull stream alive and wait for more events */
11
+ live: typeof Schema.Boolean;
12
+ }>, import("@effect/rpc/RpcSchema").Stream<Schema.Struct<{
13
+ batch: Schema.Array$<Schema.Struct<{
14
+ eventEncoded: Schema.Struct<{
15
+ name: typeof Schema.String;
16
+ args: typeof Schema.Any;
17
+ seqNum: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
18
+ parentSeqNum: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
19
+ clientId: typeof Schema.String;
20
+ sessionId: typeof Schema.String;
21
+ }>;
22
+ metadata: Schema.Option<Schema.Struct<{
23
+ _tag: Schema.tag<"SyncMessage.SyncMetadata">;
24
+ } & {
25
+ createdAt: typeof Schema.String;
26
+ }>>;
27
+ }>>;
28
+ pageInfo: Schema.Union<[Schema.TaggedStruct<"MoreUnknown", {}>, Schema.TaggedStruct<"MoreKnown", {
29
+ remaining: typeof Schema.Number;
30
+ }>, Schema.TaggedStruct<"NoMore", {}>]>;
31
+ backendId: Schema.SchemaClass<string, string, never>;
32
+ }>, typeof InvalidPullError>, typeof Schema.Never, never> | Rpc.Rpc<"SyncWsRpc.Push", Schema.Struct<{
33
+ batch: Schema.Array$<Schema.Struct<{
34
+ name: typeof Schema.String;
35
+ args: typeof Schema.Any;
36
+ seqNum: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
37
+ parentSeqNum: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
38
+ clientId: typeof Schema.String;
39
+ sessionId: typeof Schema.String;
40
+ }>>;
41
+ backendId: Schema.Option<Schema.SchemaClass<string, string, never>>;
42
+ storeId: typeof Schema.String;
43
+ payload: Schema.optional<Schema.Schema<Schema.JsonValue, Schema.JsonValue, never>>;
44
+ }>, Schema.Struct<{}>, typeof InvalidPushError, never>>;
45
+ /**
46
+ * WebSocket RPC Schema for LiveStore CF Sync Provider
47
+ *
48
+ * This defines the RPC endpoints available over WebSocket transport.
49
+ * Unlike HTTP transport which uses request/response patterns for each operation,
50
+ * WebSocket transport maintains a persistent connection and uses streaming responses.
51
+ */
52
+ export declare class SyncWsRpc extends SyncWsRpc_base {
53
+ }
54
+ export {};
55
+ //# sourceMappingURL=ws-rpc-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-rpc-schema.d.ts","sourceRoot":"","sources":["../../src/common/ws-rpc-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;;;;;;;;IAezD,qEAAqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAZ3E;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,cAwB9B;CAAG"}
@@ -0,0 +1,32 @@
1
+ import { InvalidPullError, InvalidPushError } from '@livestore/common';
2
+ import { Rpc, RpcGroup, Schema } from '@livestore/utils/effect';
3
+ import * as SyncMessage from "./sync-message-types.js";
4
+ /**
5
+ * WebSocket RPC Schema for LiveStore CF Sync Provider
6
+ *
7
+ * This defines the RPC endpoints available over WebSocket transport.
8
+ * Unlike HTTP transport which uses request/response patterns for each operation,
9
+ * WebSocket transport maintains a persistent connection and uses streaming responses.
10
+ */
11
+ export class SyncWsRpc extends RpcGroup.make(Rpc.make('SyncWsRpc.Pull', {
12
+ payload: Schema.Struct({
13
+ storeId: Schema.String,
14
+ payload: Schema.optional(Schema.JsonValue),
15
+ /** Whether to keep the pull stream alive and wait for more events */
16
+ live: Schema.Boolean,
17
+ ...SyncMessage.PullRequest.fields,
18
+ }),
19
+ success: SyncMessage.PullResponse,
20
+ error: InvalidPullError,
21
+ stream: true,
22
+ }), Rpc.make('SyncWsRpc.Push', {
23
+ payload: Schema.Struct({
24
+ storeId: Schema.String,
25
+ payload: Schema.optional(Schema.JsonValue),
26
+ ...SyncMessage.PushRequest.fields,
27
+ }),
28
+ success: SyncMessage.PushAck,
29
+ error: InvalidPushError,
30
+ })) {
31
+ }
32
+ //# sourceMappingURL=ws-rpc-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-rpc-schema.js","sourceRoot":"","sources":["../../src/common/ws-rpc-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAA;AAEtD;;;;;;GAMG;AACH,MAAM,OAAO,SAAU,SAAQ,QAAQ,CAAC,IAAI,CAC1C,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC,MAAM;QACtB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;QAC1C,qEAAqE;QACrE,IAAI,EAAE,MAAM,CAAC,OAAO;QACpB,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM;KAClC,CAAC;IACF,OAAO,EAAE,WAAW,CAAC,YAAY;IACjC,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE,IAAI;CACb,CAAC,EACF,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC,MAAM;QACtB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;QAC1C,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM;KAClC,CAAC;IACF,OAAO,EAAE,WAAW,CAAC,OAAO;IAC5B,KAAK,EAAE,gBAAgB;CACxB,CAAC,CAGH;CAAG"}
package/package.json CHANGED
@@ -1,19 +1,18 @@
1
1
  {
2
2
  "name": "@livestore/sync-cf",
3
- "version": "0.4.0-dev.2",
3
+ "version": "0.4.0-dev.20",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
7
- ".": "./dist/sync-impl/mod.js",
7
+ "./client": "./dist/client/mod.js",
8
8
  "./common": "./dist/common/mod.js",
9
- "./cf-worker": "./dist/cf-worker/mod.js",
10
- "./cf-worker/durable-object": "./dist/cf-worker/durable-object.js",
11
- "./cf-worker/worker": "./dist/cf-worker/worker.js"
9
+ "./cf-worker": "./dist/cf-worker/mod.js"
12
10
  },
13
11
  "dependencies": {
14
- "@cloudflare/workers-types": "4.20250807.0",
15
- "@livestore/common": "0.4.0-dev.2",
16
- "@livestore/utils": "0.4.0-dev.2"
12
+ "@cloudflare/workers-types": "4.20251118.0",
13
+ "@livestore/common": "0.4.0-dev.20",
14
+ "@livestore/utils": "0.4.0-dev.20",
15
+ "@livestore/common-cf": "0.4.0-dev.20"
17
16
  },
18
17
  "files": [
19
18
  "dist",