@syncular/client 0.1.3 → 0.2.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 (233) hide show
  1. package/README.md +227 -709
  2. package/dist/apply.d.ts +80 -0
  3. package/dist/apply.js +301 -0
  4. package/dist/blob.d.ts +127 -0
  5. package/dist/blob.js +201 -0
  6. package/dist/bun-database.d.ts +22 -0
  7. package/dist/bun-database.js +61 -0
  8. package/dist/client.d.ts +320 -69
  9. package/dist/client.js +1627 -163
  10. package/dist/content-type.d.ts +2 -0
  11. package/dist/content-type.js +2 -0
  12. package/dist/database.d.ts +35 -80
  13. package/dist/database.js +32 -947
  14. package/dist/encryption.d.ts +47 -0
  15. package/dist/encryption.js +75 -0
  16. package/dist/errors.d.ts +8 -22
  17. package/dist/errors.js +10 -207
  18. package/dist/http.d.ts +32 -0
  19. package/dist/http.js +196 -0
  20. package/dist/index.d.ts +28 -16
  21. package/dist/index.js +25 -12
  22. package/dist/invalidation.d.ts +69 -0
  23. package/dist/invalidation.js +84 -0
  24. package/dist/leader-lock.d.ts +28 -0
  25. package/dist/leader-lock.js +38 -0
  26. package/dist/multi-tab.d.ts +134 -0
  27. package/dist/multi-tab.js +399 -0
  28. package/dist/node-database.d.ts +41 -0
  29. package/dist/node-database.js +133 -0
  30. package/dist/outbox.d.ts +56 -0
  31. package/dist/outbox.js +140 -0
  32. package/dist/schema.d.ts +107 -0
  33. package/dist/schema.js +267 -0
  34. package/dist/state.d.ts +40 -0
  35. package/dist/state.js +77 -0
  36. package/dist/transport.d.ts +44 -0
  37. package/dist/transport.js +7 -0
  38. package/dist/wasm-database.d.ts +30 -0
  39. package/dist/wasm-database.js +170 -0
  40. package/dist/window.d.ts +64 -0
  41. package/dist/window.js +0 -0
  42. package/dist/worker-entry.d.ts +16 -2
  43. package/dist/worker-entry.js +300 -456
  44. package/dist/worker-host.d.ts +174 -0
  45. package/dist/worker-host.js +536 -0
  46. package/dist/worker-protocol.d.ts +173 -61
  47. package/dist/worker-protocol.js +7 -16
  48. package/package.json +45 -112
  49. package/src/apply.ts +435 -0
  50. package/src/blob.ts +333 -0
  51. package/src/bun-database.ts +75 -0
  52. package/src/client.ts +2247 -277
  53. package/src/content-type.ts +2 -0
  54. package/src/database.ts +63 -1389
  55. package/src/encryption.ts +123 -0
  56. package/src/errors.ts +11 -265
  57. package/src/http.ts +254 -0
  58. package/src/index.ts +25 -20
  59. package/src/invalidation.ts +128 -0
  60. package/src/leader-lock.ts +68 -0
  61. package/src/multi-tab.ts +550 -0
  62. package/src/node-database.ts +180 -0
  63. package/src/outbox.ts +206 -0
  64. package/src/schema.ts +397 -0
  65. package/src/state.ts +126 -0
  66. package/src/transport.ts +52 -0
  67. package/src/wasm-database.ts +279 -0
  68. package/src/window.ts +0 -0
  69. package/src/worker-entry.ts +391 -545
  70. package/src/worker-host.ts +800 -0
  71. package/src/worker-protocol.ts +204 -99
  72. package/dist/auth-leases.d.ts +0 -11
  73. package/dist/auth-leases.d.ts.map +0 -1
  74. package/dist/auth-leases.js +0 -140
  75. package/dist/auth-leases.js.map +0 -1
  76. package/dist/blob-limits.d.ts +0 -15
  77. package/dist/blob-limits.d.ts.map +0 -1
  78. package/dist/blob-limits.js +0 -66
  79. package/dist/blob-limits.js.map +0 -1
  80. package/dist/bridge-client.d.ts +0 -69
  81. package/dist/bridge-client.d.ts.map +0 -1
  82. package/dist/bridge-client.js +0 -282
  83. package/dist/bridge-client.js.map +0 -1
  84. package/dist/client-config.d.ts +0 -6
  85. package/dist/client-config.d.ts.map +0 -1
  86. package/dist/client-config.js +0 -18
  87. package/dist/client-config.js.map +0 -1
  88. package/dist/client.d.ts.map +0 -1
  89. package/dist/client.js.map +0 -1
  90. package/dist/command-history.d.ts +0 -35
  91. package/dist/command-history.d.ts.map +0 -1
  92. package/dist/command-history.js +0 -378
  93. package/dist/command-history.js.map +0 -1
  94. package/dist/console-diagnostics.d.ts +0 -33
  95. package/dist/console-diagnostics.d.ts.map +0 -1
  96. package/dist/console-diagnostics.js +0 -496
  97. package/dist/console-diagnostics.js.map +0 -1
  98. package/dist/crdt-yjs/index.d.ts +0 -4
  99. package/dist/crdt-yjs/index.d.ts.map +0 -1
  100. package/dist/crdt-yjs/index.js +0 -4
  101. package/dist/crdt-yjs/index.js.map +0 -1
  102. package/dist/crdt-yjs/webview-host-facade.d.ts +0 -126
  103. package/dist/crdt-yjs/webview-host-facade.d.ts.map +0 -1
  104. package/dist/crdt-yjs/webview-host-facade.js +0 -284
  105. package/dist/crdt-yjs/webview-host-facade.js.map +0 -1
  106. package/dist/crdt-yjs/yjs-document-field-adapter.d.ts +0 -153
  107. package/dist/crdt-yjs/yjs-document-field-adapter.d.ts.map +0 -1
  108. package/dist/crdt-yjs/yjs-document-field-adapter.js +0 -406
  109. package/dist/crdt-yjs/yjs-document-field-adapter.js.map +0 -1
  110. package/dist/crdt-yjs/yjs-prosemirror-bridge.d.ts +0 -73
  111. package/dist/crdt-yjs/yjs-prosemirror-bridge.d.ts.map +0 -1
  112. package/dist/crdt-yjs/yjs-prosemirror-bridge.js +0 -169
  113. package/dist/crdt-yjs/yjs-prosemirror-bridge.js.map +0 -1
  114. package/dist/database.d.ts.map +0 -1
  115. package/dist/database.js.map +0 -1
  116. package/dist/diagnostics.d.ts +0 -10
  117. package/dist/diagnostics.d.ts.map +0 -1
  118. package/dist/diagnostics.js +0 -83
  119. package/dist/diagnostics.js.map +0 -1
  120. package/dist/errors.d.ts.map +0 -1
  121. package/dist/errors.js.map +0 -1
  122. package/dist/generated-bridge.d.ts +0 -365
  123. package/dist/generated-bridge.d.ts.map +0 -1
  124. package/dist/generated-bridge.js +0 -250
  125. package/dist/generated-bridge.js.map +0 -1
  126. package/dist/index.d.ts.map +0 -1
  127. package/dist/index.js.map +0 -1
  128. package/dist/mutations.d.ts +0 -72
  129. package/dist/mutations.d.ts.map +0 -1
  130. package/dist/mutations.js +0 -63
  131. package/dist/mutations.js.map +0 -1
  132. package/dist/network.d.ts +0 -3
  133. package/dist/network.d.ts.map +0 -1
  134. package/dist/network.js +0 -17
  135. package/dist/network.js.map +0 -1
  136. package/dist/react/index.d.ts +0 -169
  137. package/dist/react/index.d.ts.map +0 -1
  138. package/dist/react/index.js +0 -628
  139. package/dist/react/index.js.map +0 -1
  140. package/dist/react-native/index.d.ts +0 -35
  141. package/dist/react-native/index.d.ts.map +0 -1
  142. package/dist/react-native/index.js +0 -49
  143. package/dist/react-native/index.js.map +0 -1
  144. package/dist/runtime-contract.d.ts +0 -13
  145. package/dist/runtime-contract.d.ts.map +0 -1
  146. package/dist/runtime-contract.js +0 -24
  147. package/dist/runtime-contract.js.map +0 -1
  148. package/dist/rust-client.d.ts +0 -106
  149. package/dist/rust-client.d.ts.map +0 -1
  150. package/dist/rust-client.js +0 -938
  151. package/dist/rust-client.js.map +0 -1
  152. package/dist/sentry.d.ts +0 -35
  153. package/dist/sentry.d.ts.map +0 -1
  154. package/dist/sentry.js +0 -155
  155. package/dist/sentry.js.map +0 -1
  156. package/dist/sql-safety.d.ts +0 -3
  157. package/dist/sql-safety.d.ts.map +0 -1
  158. package/dist/sql-safety.js +0 -62
  159. package/dist/sql-safety.js.map +0 -1
  160. package/dist/syncular-runtime-artifacts.json +0 -61
  161. package/dist/tauri/index.d.ts +0 -35
  162. package/dist/tauri/index.d.ts.map +0 -1
  163. package/dist/tauri/index.js +0 -114
  164. package/dist/tauri/index.js.map +0 -1
  165. package/dist/types.d.ts +0 -1096
  166. package/dist/types.d.ts.map +0 -1
  167. package/dist/types.js +0 -2
  168. package/dist/types.js.map +0 -1
  169. package/dist/wasm/.syncular-wasm-profile +0 -1
  170. package/dist/wasm/syncular-runtime-artifact.json +0 -21
  171. package/dist/wasm/syncular.d.ts +0 -207
  172. package/dist/wasm/syncular.js +0 -2341
  173. package/dist/wasm/syncular_bg.wasm +0 -0
  174. package/dist/wasm/syncular_bg.wasm.d.ts +0 -97
  175. package/dist/wasm-bindings/runtime-contract.d.ts +0 -22
  176. package/dist/wasm-bindings/runtime-contract.d.ts.map +0 -1
  177. package/dist/wasm-bindings/runtime-contract.js +0 -112
  178. package/dist/wasm-bindings/runtime-contract.js.map +0 -1
  179. package/dist/wasm-core/.syncular-wasm-profile +0 -1
  180. package/dist/wasm-core/syncular-runtime-artifact.json +0 -17
  181. package/dist/wasm-core/syncular.d.ts +0 -162
  182. package/dist/wasm-core/syncular.js +0 -1847
  183. package/dist/wasm-core/syncular_bg.wasm +0 -0
  184. package/dist/wasm-core/syncular_bg.wasm.d.ts +0 -77
  185. package/dist/wasm-perf/.syncular-wasm-profile +0 -1
  186. package/dist/wasm-perf/syncular-runtime-artifact.json +0 -21
  187. package/dist/wasm-perf/syncular.d.ts +0 -207
  188. package/dist/wasm-perf/syncular.js +0 -2341
  189. package/dist/wasm-perf/syncular_bg.wasm +0 -0
  190. package/dist/wasm-perf/syncular_bg.wasm.d.ts +0 -97
  191. package/dist/wasm-runtime.d.ts +0 -23
  192. package/dist/wasm-runtime.d.ts.map +0 -1
  193. package/dist/wasm-runtime.js +0 -69
  194. package/dist/wasm-runtime.js.map +0 -1
  195. package/dist/worker-client.d.ts +0 -123
  196. package/dist/worker-client.d.ts.map +0 -1
  197. package/dist/worker-client.js +0 -1735
  198. package/dist/worker-client.js.map +0 -1
  199. package/dist/worker-entry.d.ts.map +0 -1
  200. package/dist/worker-entry.js.map +0 -1
  201. package/dist/worker-protocol.d.ts.map +0 -1
  202. package/dist/worker-protocol.js.map +0 -1
  203. package/dist/worker-realtime.d.ts +0 -39
  204. package/dist/worker-realtime.d.ts.map +0 -1
  205. package/dist/worker-realtime.js +0 -677
  206. package/dist/worker-realtime.js.map +0 -1
  207. package/src/auth-leases.ts +0 -251
  208. package/src/blob-limits.ts +0 -98
  209. package/src/bridge-client.ts +0 -512
  210. package/src/client-config.ts +0 -29
  211. package/src/command-history.ts +0 -623
  212. package/src/console-diagnostics.ts +0 -617
  213. package/src/crdt-yjs/index.ts +0 -3
  214. package/src/crdt-yjs/webview-host-facade.ts +0 -477
  215. package/src/crdt-yjs/yjs-document-field-adapter.ts +0 -733
  216. package/src/crdt-yjs/yjs-prosemirror-bridge.ts +0 -272
  217. package/src/diagnostics.ts +0 -116
  218. package/src/generated-bridge.ts +0 -741
  219. package/src/mutations.ts +0 -168
  220. package/src/network.ts +0 -32
  221. package/src/react/index.ts +0 -1036
  222. package/src/react-native/index.ts +0 -152
  223. package/src/runtime-contract.ts +0 -48
  224. package/src/rust-client.ts +0 -1491
  225. package/src/sentry.ts +0 -215
  226. package/src/sql-safety.ts +0 -61
  227. package/src/tauri/index.ts +0 -211
  228. package/src/types.ts +0 -1397
  229. package/src/wasm-bindings/generated-wasm-bindings.d.ts +0 -70
  230. package/src/wasm-bindings/runtime-contract.ts +0 -158
  231. package/src/wasm-runtime.ts +0 -145
  232. package/src/worker-client.ts +0 -2289
  233. package/src/worker-realtime.ts +0 -843
@@ -1,496 +0,0 @@
1
- import { browserSyncularNetworkStatusSource } from './network.js';
2
- const DEFAULT_MAX_PAYLOAD_BYTES = 48 * 1024;
3
- const MIN_MAX_PAYLOAD_BYTES = 1024;
4
- const DEFAULT_DEBOUNCE_MS = 100;
5
- const MAX_MESSAGE_LENGTH = 240;
6
- const MAX_STRING_DETAIL_LENGTH = 160;
7
- const MAX_ARRAY_DETAIL_ITEMS = 8;
8
- const COMPACT_PROFILES = [
9
- {
10
- diagnosticCount: 40,
11
- syncTimingCount: 20,
12
- includeDetails: true,
13
- includeConnectionLastDiagnostic: true,
14
- },
15
- {
16
- diagnosticCount: 20,
17
- syncTimingCount: 10,
18
- includeDetails: true,
19
- includeConnectionLastDiagnostic: true,
20
- },
21
- {
22
- diagnosticCount: 10,
23
- syncTimingCount: 5,
24
- includeDetails: true,
25
- includeConnectionLastDiagnostic: true,
26
- },
27
- {
28
- diagnosticCount: 5,
29
- syncTimingCount: 3,
30
- includeDetails: false,
31
- includeConnectionLastDiagnostic: false,
32
- },
33
- {
34
- diagnosticCount: 2,
35
- syncTimingCount: 1,
36
- includeDetails: false,
37
- includeConnectionLastDiagnostic: false,
38
- },
39
- {
40
- diagnosticCount: 0,
41
- syncTimingCount: 0,
42
- includeDetails: false,
43
- includeConnectionLastDiagnostic: false,
44
- },
45
- ];
46
- const SIMPLE_DETAIL_KEYS = new Set([
47
- 'acked',
48
- 'bytes',
49
- 'changedRowCount',
50
- 'changedRows',
51
- 'changedRowsTruncated',
52
- 'changedTableCount',
53
- 'changedTables',
54
- 'commitApplyMs',
55
- 'conflicts',
56
- 'cursor',
57
- 'durationMs',
58
- 'failed',
59
- 'headerCount',
60
- 'integrityVerifyMs',
61
- 'message',
62
- 'notifyMs',
63
- 'operation',
64
- 'pending',
65
- 'pullApplyMs',
66
- 'pullTransformMs',
67
- 'pushedCommits',
68
- 'reason',
69
- 'requestType',
70
- 'responseBytes',
71
- 'rowId',
72
- 'source',
73
- 'status',
74
- 'statusText',
75
- 'subscriptionStateMs',
76
- 'syncPackDecodeMs',
77
- 'table',
78
- 'total',
79
- 'totalMs',
80
- 'uploading',
81
- ]);
82
- const OMITTED_DETAIL_KEYS = new Set([
83
- 'changedRows',
84
- 'subscriptions',
85
- 'phases',
86
- 'expectedSubscriptionIds',
87
- 'readySubscriptionIds',
88
- 'pendingSubscriptionIds',
89
- ]);
90
- const SENSITIVE_DETAIL_KEYS = new Set([
91
- 'accesstoken',
92
- 'apikey',
93
- 'authorization',
94
- 'authtoken',
95
- 'mnemonic',
96
- 'password',
97
- 'plaintext',
98
- 'privatekey',
99
- 'refreshtoken',
100
- 'secret',
101
- 'seedphrase',
102
- ]);
103
- export function createSyncularConsoleDiagnosticsPublisher(client, options) {
104
- const resolved = resolveConsoleDiagnosticsOptions(options);
105
- if (!resolved || typeof globalThis.fetch !== 'function') {
106
- return noopPublisher();
107
- }
108
- let closed = false;
109
- let timer;
110
- let inFlight = false;
111
- let publishAgain = false;
112
- let queuedWhileOffline = false;
113
- let lastCompletedFingerprint;
114
- const clearTimer = () => {
115
- if (timer)
116
- clearTimeout(timer);
117
- timer = undefined;
118
- };
119
- const isClosed = () => closed || options.isClosed();
120
- const isOnline = () => resolved.network?.isOnline() !== false;
121
- const publish = async () => {
122
- if (isClosed())
123
- return;
124
- if (!isOnline()) {
125
- queuedWhileOffline = true;
126
- return;
127
- }
128
- if (inFlight) {
129
- publishAgain = true;
130
- return;
131
- }
132
- inFlight = true;
133
- try {
134
- const snapshot = await client.diagnosticSnapshot();
135
- const lifecycle = client.lifecycleState();
136
- const payload = buildSyncularConsoleDiagnosticsPayload({
137
- actorId: resolved.actorId,
138
- clientId: resolved.clientId,
139
- lifecycle,
140
- maxPayloadBytes: resolved.maxPayloadBytes,
141
- partitionId: resolved.partitionId,
142
- snapshot,
143
- });
144
- const fingerprint = payloadFingerprint(payload.payload);
145
- if (fingerprint === lastCompletedFingerprint)
146
- return;
147
- const response = await globalThis.fetch(resolved.endpoint, {
148
- method: 'POST',
149
- headers: await buildHeaders(resolved),
150
- body: payload.body,
151
- });
152
- if (response.ok || response.status < 500) {
153
- lastCompletedFingerprint = fingerprint;
154
- }
155
- }
156
- catch {
157
- if (!isOnline())
158
- queuedWhileOffline = true;
159
- }
160
- finally {
161
- inFlight = false;
162
- if (publishAgain && !isClosed()) {
163
- publishAgain = false;
164
- schedule();
165
- }
166
- }
167
- };
168
- const schedule = () => {
169
- if (isClosed())
170
- return;
171
- if (!isOnline()) {
172
- queuedWhileOffline = true;
173
- clearTimer();
174
- return;
175
- }
176
- if (inFlight) {
177
- publishAgain = true;
178
- return;
179
- }
180
- clearTimer();
181
- if (resolved.debounceMs === false || resolved.debounceMs <= 0) {
182
- queueMicrotask(() => void publish());
183
- return;
184
- }
185
- timer = setTimeout(() => void publish(), resolved.debounceMs);
186
- };
187
- const handleOnline = () => {
188
- if (!queuedWhileOffline || isClosed())
189
- return;
190
- queuedWhileOffline = false;
191
- schedule();
192
- };
193
- const stopListening = [
194
- client.addDiagnosticListener(schedule),
195
- client.addEventListener('bootstrapChanged', schedule),
196
- client.addEventListener('outboxChanged', schedule),
197
- client.addEventListener('conflictsChanged', schedule),
198
- client.addEventListener('blobUploadsChanged', schedule),
199
- ];
200
- resolved.network?.addEventListener?.('online', handleOnline);
201
- schedule();
202
- return {
203
- schedule,
204
- destroy() {
205
- closed = true;
206
- clearTimer();
207
- queuedWhileOffline = false;
208
- publishAgain = false;
209
- resolved.network?.removeEventListener?.('online', handleOnline);
210
- for (const stop of stopListening)
211
- stop();
212
- },
213
- };
214
- }
215
- export function buildSyncularConsoleDiagnosticsPayload(args) {
216
- const maxPayloadBytes = normalizeMaxPayloadBytes(args.maxPayloadBytes);
217
- let best;
218
- for (const profile of COMPACT_PROFILES) {
219
- const payload = createPayloadForProfile(args, profile);
220
- const body = JSON.stringify(payload);
221
- const byteLength = jsonByteLength(body);
222
- const result = {
223
- payload,
224
- body,
225
- byteLength,
226
- compacted: true,
227
- };
228
- best = result;
229
- if (byteLength <= maxPayloadBytes)
230
- return result;
231
- }
232
- return best;
233
- }
234
- function createPayloadForProfile(args, profile) {
235
- const payload = {
236
- clientId: args.clientId,
237
- partitionId: args.partitionId || 'default',
238
- snapshot: compactSnapshot(args.snapshot, profile),
239
- };
240
- if (args.actorId)
241
- payload.actorId = args.actorId;
242
- if (args.lifecycle) {
243
- payload.lifecycle = compactLifecycle(args.lifecycle, profile);
244
- }
245
- return payload;
246
- }
247
- function compactSnapshot(snapshot, profile) {
248
- const result = {
249
- generatedAt: snapshot.generatedAt,
250
- runtime: snapshot.runtime,
251
- connection: compactConnection(snapshot.connection, profile.includeConnectionLastDiagnostic),
252
- subscriptions: snapshot.subscriptions,
253
- recentDiagnostics: takeLast(snapshot.recentDiagnostics, profile.diagnosticCount).map((event) => compactDiagnosticEvent(event, profile.includeDetails)),
254
- recentSyncTimings: takeLast(snapshot.recentSyncTimings, profile.syncTimingCount).map(compactSyncTiming),
255
- };
256
- if (snapshot.bootstrap)
257
- result.bootstrap = compactBootstrap(snapshot.bootstrap);
258
- if (snapshot.transportStats)
259
- result.transportStats = snapshot.transportStats;
260
- if (snapshot.outboxStats)
261
- result.outboxStats = snapshot.outboxStats;
262
- if (snapshot.conflictStats)
263
- result.conflictStats = snapshot.conflictStats;
264
- if (snapshot.blobUploadStats) {
265
- result.blobUploadStats = snapshot.blobUploadStats;
266
- }
267
- return result;
268
- }
269
- function compactLifecycle(lifecycle, profile) {
270
- return {
271
- ...lifecycle,
272
- lastDiagnostic: lifecycle.lastDiagnostic
273
- ? compactDiagnosticEvent(lifecycle.lastDiagnostic, profile.includeDetails)
274
- : undefined,
275
- };
276
- }
277
- function compactConnection(connection, includeLastDiagnostic) {
278
- return {
279
- ...connection,
280
- lastDiagnostic: includeLastDiagnostic && connection.lastDiagnostic
281
- ? compactDiagnosticEvent(connection.lastDiagnostic, true)
282
- : undefined,
283
- };
284
- }
285
- function compactDiagnosticEvent(event, includeDetails) {
286
- const compacted = {
287
- at: event.at,
288
- level: event.level,
289
- source: event.source,
290
- code: event.code,
291
- message: truncateString(event.message, MAX_MESSAGE_LENGTH),
292
- };
293
- if (event.syncAttemptId)
294
- compacted.syncAttemptId = event.syncAttemptId;
295
- if (event.traceId)
296
- compacted.traceId = event.traceId;
297
- if (event.spanId)
298
- compacted.spanId = event.spanId;
299
- if (event.clientId)
300
- compacted.clientId = event.clientId;
301
- if (event.subscriptionId)
302
- compacted.subscriptionId = event.subscriptionId;
303
- if (event.table)
304
- compacted.table = event.table;
305
- if (event.rowId)
306
- compacted.rowId = event.rowId;
307
- if (event.cursor !== undefined)
308
- compacted.cursor = event.cursor;
309
- if (includeDetails && event.details) {
310
- const details = compactDiagnosticDetails(event.details);
311
- if (details)
312
- compacted.details = details;
313
- }
314
- return compacted;
315
- }
316
- function compactDiagnosticDetails(details) {
317
- const compacted = {};
318
- for (const [key, value] of Object.entries(details)) {
319
- const normalizedKey = normalizeDiagnosticKey(key);
320
- if (SENSITIVE_DETAIL_KEYS.has(normalizedKey) ||
321
- OMITTED_DETAIL_KEYS.has(key)) {
322
- continue;
323
- }
324
- if (key === 'bootstrap') {
325
- compacted.bootstrap = compactBootstrap(value);
326
- continue;
327
- }
328
- if (!SIMPLE_DETAIL_KEYS.has(key))
329
- continue;
330
- const compactedValue = compactDetailValue(value);
331
- if (compactedValue !== undefined)
332
- compacted[key] = compactedValue;
333
- }
334
- return Object.keys(compacted).length > 0 ? compacted : undefined;
335
- }
336
- function compactDetailValue(value) {
337
- if (value === null ||
338
- typeof value === 'boolean' ||
339
- typeof value === 'number') {
340
- return value;
341
- }
342
- if (typeof value === 'string') {
343
- return truncateString(value, MAX_STRING_DETAIL_LENGTH);
344
- }
345
- if (Array.isArray(value)) {
346
- return value
347
- .slice(0, MAX_ARRAY_DETAIL_ITEMS)
348
- .map(compactDetailValue)
349
- .filter((entry) => entry !== undefined);
350
- }
351
- if (typeof value !== 'object')
352
- return undefined;
353
- const object = value;
354
- const compacted = {};
355
- for (const key of [
356
- 'table',
357
- 'rowId',
358
- 'operation',
359
- 'commitId',
360
- 'commitSeq',
361
- 'subscriptionId',
362
- 'serverVersion',
363
- ]) {
364
- const entry = compactDetailValue(object[key]);
365
- if (entry !== undefined)
366
- compacted[key] = entry;
367
- }
368
- return Object.keys(compacted).length > 0 ? compacted : undefined;
369
- }
370
- function compactBootstrap(value) {
371
- if (!value || typeof value !== 'object' || Array.isArray(value))
372
- return value;
373
- const bootstrap = value;
374
- const compacted = {};
375
- for (const key of [
376
- 'channelPhase',
377
- 'progressPercent',
378
- 'isBootstrapping',
379
- 'criticalReady',
380
- 'interactiveReady',
381
- 'complete',
382
- 'activePhase',
383
- ]) {
384
- if (bootstrap[key] !== undefined)
385
- compacted[key] = bootstrap[key];
386
- }
387
- for (const [sourceKey, targetKey] of [
388
- ['expectedSubscriptionIds', 'expectedSubscriptionCount'],
389
- ['readySubscriptionIds', 'readySubscriptionCount'],
390
- ['pendingSubscriptionIds', 'pendingSubscriptionCount'],
391
- ['subscriptions', 'subscriptionCount'],
392
- ['phases', 'phaseCount'],
393
- ]) {
394
- const entry = bootstrap[sourceKey];
395
- if (Array.isArray(entry))
396
- compacted[targetKey] = entry.length;
397
- }
398
- return compacted;
399
- }
400
- function compactSyncTiming(timing) {
401
- const compacted = {};
402
- for (const [key, value] of Object.entries(timing)) {
403
- if (typeof value === 'number' && Number.isFinite(value)) {
404
- compacted[key] = value;
405
- }
406
- }
407
- return compacted;
408
- }
409
- function resolveConsoleDiagnosticsOptions(options) {
410
- if (options.enabled === false)
411
- return undefined;
412
- const endpoint = normalizeEndpoint(options.endpoint) ??
413
- endpointFromConsoleBaseUrl(options.baseUrl) ??
414
- endpointFromSyncBaseUrl(options.config.baseUrl);
415
- if (!endpoint)
416
- return undefined;
417
- return {
418
- endpoint,
419
- clientId: options.clientId || options.config.clientId,
420
- actorId: options.actorId ?? options.config.actorId,
421
- partitionId: options.partitionId || 'default',
422
- ...(options.token ? { token: options.token } : {}),
423
- ...(options.getHeaders ? { getHeaders: options.getHeaders } : {}),
424
- debounceMs: options.debounceMs ?? DEFAULT_DEBOUNCE_MS,
425
- maxPayloadBytes: normalizeMaxPayloadBytes(options.maxPayloadBytes),
426
- network: options.network === false
427
- ? undefined
428
- : (options.network ?? browserSyncularNetworkStatusSource()),
429
- };
430
- }
431
- function normalizeEndpoint(value) {
432
- const trimmed = value?.trim().replace(/\/+$/u, '');
433
- return trimmed || undefined;
434
- }
435
- function endpointFromConsoleBaseUrl(value) {
436
- const trimmed = value?.trim().replace(/\/+$/u, '');
437
- if (!trimmed)
438
- return undefined;
439
- if (trimmed.endsWith('/client-diagnostics'))
440
- return trimmed;
441
- if (trimmed.endsWith('/console'))
442
- return `${trimmed}/client-diagnostics`;
443
- return `${trimmed}/console/client-diagnostics`;
444
- }
445
- function endpointFromSyncBaseUrl(value) {
446
- const trimmed = value?.trim().replace(/\/+$/u, '');
447
- if (!trimmed)
448
- return undefined;
449
- if (trimmed.endsWith('/sync')) {
450
- return `${trimmed.slice(0, -'/sync'.length)}/console/client-diagnostics`;
451
- }
452
- return `${trimmed}/console/client-diagnostics`;
453
- }
454
- async function buildHeaders(options) {
455
- return {
456
- 'Content-Type': 'application/json',
457
- ...(options.token ? { Authorization: `Bearer ${options.token}` } : {}),
458
- ...(options.getHeaders ? await options.getHeaders() : {}),
459
- };
460
- }
461
- function payloadFingerprint(payload) {
462
- const snapshot = { ...payload.snapshot, generatedAt: 0 };
463
- return JSON.stringify({
464
- ...payload,
465
- snapshot,
466
- });
467
- }
468
- function normalizeMaxPayloadBytes(value) {
469
- if (typeof value !== 'number' || !Number.isFinite(value)) {
470
- return DEFAULT_MAX_PAYLOAD_BYTES;
471
- }
472
- return Math.max(MIN_MAX_PAYLOAD_BYTES, Math.floor(value));
473
- }
474
- function jsonByteLength(json) {
475
- return new TextEncoder().encode(json).byteLength;
476
- }
477
- function takeLast(entries, count) {
478
- if (count <= 0)
479
- return [];
480
- return entries.slice(Math.max(0, entries.length - count));
481
- }
482
- function truncateString(value, maxLength) {
483
- if (value.length <= maxLength)
484
- return value;
485
- return `${value.slice(0, maxLength - 3)}...`;
486
- }
487
- function normalizeDiagnosticKey(key) {
488
- return key.toLowerCase().replace(/[^a-z0-9]/gu, '');
489
- }
490
- function noopPublisher() {
491
- return {
492
- schedule() { },
493
- destroy() { },
494
- };
495
- }
496
- //# sourceMappingURL=console-diagnostics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"console-diagnostics.js","sourceRoot":"","sources":["../src/console-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export * from './webview-host-facade';
2
- export * from './yjs-document-field-adapter';
3
- export * from './yjs-prosemirror-bridge';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crdt-yjs/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './webview-host-facade.js';
2
- export * from './yjs-document-field-adapter.js';
3
- export * from './yjs-prosemirror-bridge.js';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/crdt-yjs/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC"}
@@ -1,126 +0,0 @@
1
- import type { SyncularChangedRow, SyncularCrdtDocumentSnapshot, SyncularCrdtFieldCompactionReceipt, SyncularCrdtFieldDescriptor, SyncularCrdtFieldMaterialization, SyncularCrdtFieldRequest, SyncularCrdtFieldWriteReceipt, SyncularCrdtFieldYjsUpdateRequest, SyncularCrdtUpdateLogEntry, SyncularRowsChangedEvent } from '@syncular/client';
2
- import type { SyncularCrdtProjectionHost } from './yjs-document-field-adapter';
3
- export declare const SYNCULAR_CRDT_WEBVIEW_PROTOCOL = "syncular.crdt.host.v1";
4
- export declare const SYNCULAR_CRDT_WEBVIEW_REQUEST = "syncular.crdt.host.request";
5
- export declare const SYNCULAR_CRDT_WEBVIEW_RESPONSE = "syncular.crdt.host.response";
6
- export declare const SYNCULAR_CRDT_WEBVIEW_ROWS_CHANGED = "syncular.crdt.host.rowsChanged";
7
- export interface SyncularCrdtWebViewTransport {
8
- postMessage(message: SyncularCrdtHostMessage): void;
9
- addMessageListener(listener: (message: unknown) => void): () => void;
10
- }
11
- export interface SyncularCrdtJsonTransportOptions {
12
- postJsonMessage(message: string): void;
13
- addJsonMessageListener(listener: (message: string) => void): () => void;
14
- onInvalidMessage?: (error: unknown, message: string) => void;
15
- }
16
- export interface SyncularCrdtWebViewHostOptions {
17
- transport: SyncularCrdtWebViewTransport;
18
- requestId?: () => string;
19
- timeoutMs?: number;
20
- }
21
- export interface SyncularCrdtWebViewHostResponderOptions {
22
- transport: SyncularCrdtWebViewTransport;
23
- host: SyncularCrdtProjectionHost;
24
- publishRowsChanged?: boolean;
25
- }
26
- export interface SyncularCrdtWebViewHost {
27
- host: SyncularCrdtProjectionHost;
28
- close(): void;
29
- }
30
- export interface SyncularCrdtWebViewHostResponder {
31
- close(): void;
32
- }
33
- export interface SyncularCrdtHostErrorPayload {
34
- message: string;
35
- name?: string;
36
- code?: string;
37
- details?: unknown;
38
- }
39
- export interface SyncularCrdtHostMethodMap {
40
- openCrdtField: {
41
- request: SyncularCrdtFieldRequest;
42
- response: SyncularCrdtFieldDescriptor;
43
- };
44
- applyCrdtFieldYjsUpdate: {
45
- request: SyncularCrdtFieldYjsUpdateRequest;
46
- response: SyncularCrdtFieldWriteReceipt;
47
- };
48
- enqueueCrdtFieldYjsUpdate: {
49
- request: SyncularCrdtFieldYjsUpdateRequest;
50
- response: string;
51
- };
52
- materializeCrdtField: {
53
- request: SyncularCrdtFieldRequest;
54
- response: SyncularCrdtFieldMaterialization;
55
- };
56
- crdtDocumentSnapshot: {
57
- request: SyncularCrdtFieldRequest;
58
- response: SyncularCrdtDocumentSnapshot;
59
- };
60
- crdtUpdateLog: {
61
- request: SyncularCrdtFieldRequest & {
62
- limit?: number;
63
- };
64
- response: SyncularCrdtUpdateLogEntry[];
65
- };
66
- snapshotCrdtFieldStateVector: {
67
- request: SyncularCrdtFieldRequest;
68
- response: {
69
- stateVectorBase64: string;
70
- };
71
- };
72
- compactCrdtField: {
73
- request: SyncularCrdtFieldRequest & {
74
- minUncheckpointedUpdates?: number;
75
- };
76
- response: SyncularCrdtFieldCompactionReceipt;
77
- };
78
- }
79
- export type SyncularCrdtHostMethod = keyof SyncularCrdtHostMethodMap;
80
- export type SyncularCrdtHostRequestMessage = {
81
- [Method in SyncularCrdtHostMethod]: {
82
- protocol: typeof SYNCULAR_CRDT_WEBVIEW_PROTOCOL;
83
- type: typeof SYNCULAR_CRDT_WEBVIEW_REQUEST;
84
- id: string;
85
- method: Method;
86
- request: SyncularCrdtHostMethodMap[Method]['request'];
87
- };
88
- }[SyncularCrdtHostMethod];
89
- export type SyncularCrdtHostResponseMessage = {
90
- protocol: typeof SYNCULAR_CRDT_WEBVIEW_PROTOCOL;
91
- type: typeof SYNCULAR_CRDT_WEBVIEW_RESPONSE;
92
- id: string;
93
- ok: true;
94
- response: unknown;
95
- } | {
96
- protocol: typeof SYNCULAR_CRDT_WEBVIEW_PROTOCOL;
97
- type: typeof SYNCULAR_CRDT_WEBVIEW_RESPONSE;
98
- id: string;
99
- ok: false;
100
- error: SyncularCrdtHostErrorPayload;
101
- };
102
- export interface SyncularCrdtHostRowsChangedMessage {
103
- protocol: typeof SYNCULAR_CRDT_WEBVIEW_PROTOCOL;
104
- type: typeof SYNCULAR_CRDT_WEBVIEW_ROWS_CHANGED;
105
- event: SyncularRowsChangedEvent;
106
- }
107
- export type SyncularCrdtHostMessage = SyncularCrdtHostRequestMessage | SyncularCrdtHostResponseMessage | SyncularCrdtHostRowsChangedMessage;
108
- export interface SyncularNativeRowsChangedEventLike {
109
- kind: string;
110
- tables?: string[];
111
- changedRows?: SyncularChangedRow[];
112
- payload_json?: {
113
- source?: string | null;
114
- changedRows?: SyncularChangedRow[];
115
- };
116
- }
117
- export declare function createSyncularCrdtJsonTransport(options: SyncularCrdtJsonTransportOptions): SyncularCrdtWebViewTransport;
118
- export declare function createSyncularCrdtWebViewHost(options: SyncularCrdtWebViewHostOptions): SyncularCrdtWebViewHost;
119
- export declare function createSyncularCrdtWebViewHostResponder(options: SyncularCrdtWebViewHostResponderOptions): SyncularCrdtWebViewHostResponder;
120
- export declare function createSyncularCrdtHostResponseMessage(host: SyncularCrdtProjectionHost, message: SyncularCrdtHostRequestMessage): Promise<SyncularCrdtHostResponseMessage>;
121
- export declare function createSyncularCrdtRowsChangedMessage(event: SyncularRowsChangedEvent): SyncularCrdtHostRowsChangedMessage;
122
- export declare function syncularCrdtRowsChangedMessageFromNativeEvent(event: unknown): SyncularCrdtHostRowsChangedMessage | undefined;
123
- export declare function syncularCrdtRowsChangedMessageFromNativeEventJson(eventJson: string): SyncularCrdtHostRowsChangedMessage | undefined;
124
- export declare function isSyncularCrdtHostMessage(message: unknown): message is SyncularCrdtHostMessage;
125
- export declare function dispatchSyncularCrdtHostRequest(host: SyncularCrdtProjectionHost, message: SyncularCrdtHostRequestMessage): Promise<unknown>;
126
- //# sourceMappingURL=webview-host-facade.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webview-host-facade.d.ts","sourceRoot":"","sources":["../../src/crdt-yjs/webview-host-facade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,4BAA4B,EAC5B,kCAAkC,EAClC,2BAA2B,EAC3B,gCAAgC,EAChC,wBAAwB,EACxB,6BAA6B,EAC7B,iCAAiC,EACjC,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,eAAO,MAAM,8BAA8B,0BAA0B,CAAC;AACtE,eAAO,MAAM,6BAA6B,+BAA+B,CAAC;AAC1E,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAC5E,eAAO,MAAM,kCAAkC,mCACb,CAAC;AAEnC,MAAM,WAAW,4BAA4B;IAC3C,WAAW,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACpD,kBAAkB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACtE;AAED,MAAM,WAAW,gCAAgC;IAC/C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,sBAAsB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACxE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,4BAA4B,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uCAAuC;IACtD,SAAS,EAAE,4BAA4B,CAAC;IACxC,IAAI,EAAE,0BAA0B,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,0BAA0B,CAAC;IACjC,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,gCAAgC;IAC/C,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE;QACb,OAAO,EAAE,wBAAwB,CAAC;QAClC,QAAQ,EAAE,2BAA2B,CAAC;KACvC,CAAC;IACF,uBAAuB,EAAE;QACvB,OAAO,EAAE,iCAAiC,CAAC;QAC3C,QAAQ,EAAE,6BAA6B,CAAC;KACzC,CAAC;IACF,yBAAyB,EAAE;QACzB,OAAO,EAAE,iCAAiC,CAAC;QAC3C,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,oBAAoB,EAAE;QACpB,OAAO,EAAE,wBAAwB,CAAC;QAClC,QAAQ,EAAE,gCAAgC,CAAC;KAC5C,CAAC;IACF,oBAAoB,EAAE;QACpB,OAAO,EAAE,wBAAwB,CAAC;QAClC,QAAQ,EAAE,4BAA4B,CAAC;KACxC,CAAC;IACF,aAAa,EAAE;QACb,OAAO,EAAE,wBAAwB,GAAG;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACvD,QAAQ,EAAE,0BAA0B,EAAE,CAAC;KACxC,CAAC;IACF,4BAA4B,EAAE;QAC5B,OAAO,EAAE,wBAAwB,CAAC;QAClC,QAAQ,EAAE;YAAE,iBAAiB,EAAE,MAAM,CAAA;SAAE,CAAC;KACzC,CAAC;IACF,gBAAgB,EAAE;QAChB,OAAO,EAAE,wBAAwB,GAAG;YAClC,wBAAwB,CAAC,EAAE,MAAM,CAAC;SACnC,CAAC;QACF,QAAQ,EAAE,kCAAkC,CAAC;KAC9C,CAAC;CACH;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,yBAAyB,CAAC;AAErE,MAAM,MAAM,8BAA8B,GAAG;KAC1C,MAAM,IAAI,sBAAsB,GAAG;QAClC,QAAQ,EAAE,OAAO,8BAA8B,CAAC;QAChD,IAAI,EAAE,OAAO,6BAA6B,CAAC;QAC3C,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;KACvD;CACF,CAAC,sBAAsB,CAAC,CAAC;AAE1B,MAAM,MAAM,+BAA+B,GACvC;IACE,QAAQ,EAAE,OAAO,8BAA8B,CAAC;IAChD,IAAI,EAAE,OAAO,8BAA8B,CAAC;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,OAAO,CAAC;CACnB,GACD;IACE,QAAQ,EAAE,OAAO,8BAA8B,CAAC;IAChD,IAAI,EAAE,OAAO,8BAA8B,CAAC;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,4BAA4B,CAAC;CACrC,CAAC;AAEN,MAAM,WAAW,kCAAkC;IACjD,QAAQ,EAAE,OAAO,8BAA8B,CAAC;IAChD,IAAI,EAAE,OAAO,kCAAkC,CAAC;IAChD,KAAK,EAAE,wBAAwB,CAAC;CACjC;AAED,MAAM,MAAM,uBAAuB,GAC/B,8BAA8B,GAC9B,+BAA+B,GAC/B,kCAAkC,CAAC;AAEvC,MAAM,WAAW,kCAAkC;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;KACpC,CAAC;CACH;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,gCAAgC,GACxC,4BAA4B,CAkB9B;AAQD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,8BAA8B,GACtC,uBAAuB,CAmHzB;AAED,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,uCAAuC,GAC/C,gCAAgC,CA+BlC;AAED,wBAAsB,qCAAqC,CACzD,IAAI,EAAE,0BAA0B,EAChC,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,+BAA+B,CAAC,CAmB1C;AAED,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,wBAAwB,GAC9B,kCAAkC,CAMpC;AAED,wBAAgB,6CAA6C,CAC3D,KAAK,EAAE,OAAO,GACb,kCAAkC,GAAG,SAAS,CAahD;AAED,wBAAgB,iDAAiD,CAC/D,SAAS,EAAE,MAAM,GAChB,kCAAkC,GAAG,SAAS,CAEhD;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,GACf,OAAO,IAAI,uBAAuB,CAQpC;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,0BAA0B,EAChC,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,OAAO,CAAC,CAgClB"}