@powersync/common 0.0.0-dev-20260503073249 → 0.0.0-dev-20260630141119

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 (284) hide show
  1. package/lib/attachments/AttachmentContext.d.ts +9 -8
  2. package/lib/attachments/AttachmentContext.js +8 -3
  3. package/lib/attachments/AttachmentContext.js.map +1 -1
  4. package/lib/attachments/AttachmentErrorHandler.d.ts +6 -6
  5. package/lib/attachments/AttachmentQueue.d.ts +85 -36
  6. package/lib/attachments/AttachmentQueue.js +19 -21
  7. package/lib/attachments/AttachmentQueue.js.map +1 -1
  8. package/lib/attachments/AttachmentService.d.ts +3 -3
  9. package/lib/attachments/AttachmentService.js +4 -3
  10. package/lib/attachments/AttachmentService.js.map +1 -1
  11. package/lib/attachments/LocalStorageAdapter.d.ts +14 -8
  12. package/lib/attachments/LocalStorageAdapter.js +3 -0
  13. package/lib/attachments/LocalStorageAdapter.js.map +1 -1
  14. package/lib/attachments/RemoteStorageAdapter.d.ts +4 -4
  15. package/lib/attachments/Schema.d.ts +14 -6
  16. package/lib/attachments/Schema.js +8 -3
  17. package/lib/attachments/Schema.js.map +1 -1
  18. package/lib/attachments/SyncingService.d.ts +2 -2
  19. package/lib/attachments/SyncingService.js +8 -3
  20. package/lib/attachments/SyncingService.js.map +1 -1
  21. package/lib/attachments/WatchedAttachmentItem.d.ts +3 -1
  22. package/lib/client/{AbstractPowerSyncDatabase.d.ts → CommonPowerSyncDatabase.d.ts} +112 -238
  23. package/lib/client/CommonPowerSyncDatabase.js +2 -0
  24. package/lib/client/CommonPowerSyncDatabase.js.map +1 -0
  25. package/lib/client/Query.d.ts +9 -0
  26. package/lib/client/SQLOpenFactory.d.ts +44 -10
  27. package/lib/client/SQLOpenFactory.js +1 -19
  28. package/lib/client/SQLOpenFactory.js.map +1 -1
  29. package/lib/client/compilableQueryWatch.d.ts +8 -2
  30. package/lib/client/compilableQueryWatch.js +4 -2
  31. package/lib/client/compilableQueryWatch.js.map +1 -1
  32. package/lib/client/connection/PowerSyncBackendConnector.d.ts +6 -3
  33. package/lib/client/connection/PowerSyncCredentials.d.ts +3 -0
  34. package/lib/client/runOnSchemaChange.d.ts +5 -2
  35. package/lib/client/runOnSchemaChange.js +3 -0
  36. package/lib/client/runOnSchemaChange.js.map +1 -1
  37. package/lib/client/sync/bucket/CrudBatch.d.ts +2 -0
  38. package/lib/client/sync/bucket/CrudBatch.js +2 -0
  39. package/lib/client/sync/bucket/CrudBatch.js.map +1 -1
  40. package/lib/client/sync/bucket/CrudEntry.d.ts +9 -31
  41. package/lib/client/sync/bucket/CrudEntry.js +2 -97
  42. package/lib/client/sync/bucket/CrudEntry.js.map +1 -1
  43. package/lib/client/sync/bucket/CrudTransaction.d.ts +3 -0
  44. package/lib/client/sync/bucket/CrudTransaction.js +3 -0
  45. package/lib/client/sync/bucket/CrudTransaction.js.map +1 -1
  46. package/lib/client/sync/options.d.ts +65 -0
  47. package/lib/client/sync/options.js +25 -0
  48. package/lib/client/sync/options.js.map +1 -0
  49. package/lib/client/sync/stream/JsonValue.d.ts +10 -0
  50. package/lib/client/sync/stream/JsonValue.js +2 -0
  51. package/lib/client/sync/stream/JsonValue.js.map +1 -0
  52. package/lib/client/sync/sync-streams.d.ts +23 -8
  53. package/lib/client/triggers/TriggerManager.d.ts +28 -56
  54. package/lib/client/triggers/TriggerManager.js +2 -1
  55. package/lib/client/triggers/TriggerManager.js.map +1 -1
  56. package/lib/client/triggers/sanitizeSQL.d.ts +4 -0
  57. package/lib/client/triggers/sanitizeSQL.js +4 -0
  58. package/lib/client/triggers/sanitizeSQL.js.map +1 -1
  59. package/lib/client/watched/GetAllQuery.d.ts +7 -3
  60. package/lib/client/watched/GetAllQuery.js +3 -1
  61. package/lib/client/watched/GetAllQuery.js.map +1 -1
  62. package/lib/client/watched/WatchedQuery.d.ts +20 -6
  63. package/lib/client/watched/WatchedQuery.js +3 -5
  64. package/lib/client/watched/WatchedQuery.js.map +1 -1
  65. package/lib/client/watched/processors/DifferentialQueryProcessor.d.ts +15 -45
  66. package/lib/client/watched/processors/DifferentialQueryProcessor.js +1 -172
  67. package/lib/client/watched/processors/DifferentialQueryProcessor.js.map +1 -1
  68. package/lib/client/watched/processors/OnChangeQueryProcessor.d.ts +4 -22
  69. package/lib/client/watched/processors/OnChangeQueryProcessor.js +1 -82
  70. package/lib/client/watched/processors/OnChangeQueryProcessor.js.map +1 -1
  71. package/lib/client/watched/processors/comparators.d.ts +8 -0
  72. package/lib/client/watched/processors/comparators.js +4 -0
  73. package/lib/client/watched/processors/comparators.js.map +1 -1
  74. package/lib/db/DBAdapter.d.ts +90 -113
  75. package/lib/db/DBAdapter.js +70 -89
  76. package/lib/db/DBAdapter.js.map +1 -1
  77. package/lib/db/QueryResult.d.ts +104 -0
  78. package/lib/db/QueryResult.js +96 -0
  79. package/lib/db/QueryResult.js.map +1 -0
  80. package/lib/db/crud/SyncProgress.d.ts +7 -14
  81. package/lib/db/crud/SyncProgress.js +1 -60
  82. package/lib/db/crud/SyncProgress.js.map +1 -1
  83. package/lib/db/crud/SyncStatus.d.ts +54 -91
  84. package/lib/db/crud/SyncStatus.js +1 -245
  85. package/lib/db/crud/SyncStatus.js.map +1 -1
  86. package/lib/db/crud/UploadQueueStatus.d.ts +3 -0
  87. package/lib/db/crud/UploadQueueStatus.js +3 -0
  88. package/lib/db/crud/UploadQueueStatus.js.map +1 -1
  89. package/lib/db/schema/Column.d.ts +22 -1
  90. package/lib/db/schema/Column.js +10 -4
  91. package/lib/db/schema/Column.js.map +1 -1
  92. package/lib/db/schema/Index.d.ts +8 -3
  93. package/lib/db/schema/Index.js +4 -1
  94. package/lib/db/schema/Index.js.map +1 -1
  95. package/lib/db/schema/IndexedColumn.d.ts +8 -3
  96. package/lib/db/schema/IndexedColumn.js +4 -1
  97. package/lib/db/schema/IndexedColumn.js.map +1 -1
  98. package/lib/db/schema/RawTable.d.ts +7 -1
  99. package/lib/db/schema/Schema.d.ts +10 -29
  100. package/lib/db/schema/Schema.js +3 -1
  101. package/lib/db/schema/Schema.js.map +1 -1
  102. package/lib/db/schema/Table.d.ts +69 -91
  103. package/lib/db/schema/Table.js +88 -87
  104. package/lib/db/schema/Table.js.map +1 -1
  105. package/lib/index.d.ts +7 -27
  106. package/lib/index.js +6 -27
  107. package/lib/index.js.map +1 -1
  108. package/lib/types/types.d.ts +6 -0
  109. package/lib/utils/BaseObserver.d.ts +12 -0
  110. package/lib/utils/BaseObserver.js +3 -0
  111. package/lib/utils/BaseObserver.js.map +1 -1
  112. package/lib/utils/Logger.d.ts +60 -22
  113. package/lib/utils/Logger.js +38 -30
  114. package/lib/utils/Logger.js.map +1 -1
  115. package/lib/utils/MetaBaseObserver.d.ts +11 -11
  116. package/lib/utils/MetaBaseObserver.js +1 -50
  117. package/lib/utils/MetaBaseObserver.js.map +1 -1
  118. package/lib/utils/mutex.d.ts +3 -45
  119. package/lib/utils/mutex.js +1 -153
  120. package/lib/utils/mutex.js.map +1 -1
  121. package/package.json +8 -42
  122. package/src/attachments/AttachmentContext.ts +15 -13
  123. package/src/attachments/AttachmentErrorHandler.ts +6 -6
  124. package/src/attachments/AttachmentQueue.ts +99 -42
  125. package/src/attachments/AttachmentService.ts +7 -6
  126. package/src/attachments/LocalStorageAdapter.ts +14 -8
  127. package/src/attachments/README.md +2 -0
  128. package/src/attachments/RemoteStorageAdapter.ts +4 -4
  129. package/src/attachments/Schema.ts +14 -6
  130. package/src/attachments/SyncingService.ts +10 -6
  131. package/src/attachments/WatchedAttachmentItem.ts +3 -1
  132. package/src/client/CommonPowerSyncDatabase.ts +540 -0
  133. package/src/client/Query.ts +9 -0
  134. package/src/client/SQLOpenFactory.ts +47 -19
  135. package/src/client/compilableQueryWatch.ts +9 -4
  136. package/src/client/connection/PowerSyncBackendConnector.ts +6 -3
  137. package/src/client/connection/PowerSyncCredentials.ts +3 -0
  138. package/src/client/runOnSchemaChange.ts +5 -2
  139. package/src/client/sync/bucket/CrudBatch.ts +2 -0
  140. package/src/client/sync/bucket/CrudEntry.ts +10 -101
  141. package/src/client/sync/bucket/CrudTransaction.ts +3 -0
  142. package/src/client/sync/options.ts +77 -0
  143. package/src/client/sync/stream/JsonValue.ts +11 -0
  144. package/src/client/sync/sync-streams.ts +23 -10
  145. package/src/client/triggers/TriggerManager.ts +29 -59
  146. package/src/client/triggers/sanitizeSQL.ts +5 -0
  147. package/src/client/watched/GetAllQuery.ts +8 -4
  148. package/src/client/watched/WatchedQuery.ts +20 -11
  149. package/src/client/watched/processors/DifferentialQueryProcessor.ts +19 -219
  150. package/src/client/watched/processors/OnChangeQueryProcessor.ts +4 -109
  151. package/src/client/watched/processors/comparators.ts +8 -0
  152. package/src/db/DBAdapter.ts +160 -175
  153. package/src/db/QueryResult.ts +195 -0
  154. package/src/db/crud/SyncProgress.ts +8 -43
  155. package/src/db/crud/SyncStatus.ts +66 -216
  156. package/src/db/crud/UploadQueueStatus.ts +3 -0
  157. package/src/db/schema/Column.ts +22 -5
  158. package/src/db/schema/Index.ts +9 -3
  159. package/src/db/schema/IndexedColumn.ts +9 -3
  160. package/src/db/schema/RawTable.ts +7 -1
  161. package/src/db/schema/Schema.ts +12 -7
  162. package/src/db/schema/Table.ts +130 -180
  163. package/src/index.ts +7 -27
  164. package/src/types/types.ts +6 -0
  165. package/src/utils/BaseObserver.ts +12 -0
  166. package/src/utils/Logger.ts +86 -31
  167. package/src/utils/MetaBaseObserver.ts +14 -60
  168. package/src/utils/mutex.ts +4 -189
  169. package/dist/bundle.cjs +0 -14781
  170. package/dist/bundle.cjs.map +0 -1
  171. package/dist/bundle.mjs +0 -14689
  172. package/dist/bundle.mjs.map +0 -1
  173. package/dist/bundle.node.cjs +0 -12258
  174. package/dist/bundle.node.cjs.map +0 -1
  175. package/dist/bundle.node.mjs +0 -12166
  176. package/dist/bundle.node.mjs.map +0 -1
  177. package/dist/index.d.cts +0 -4391
  178. package/lib/client/AbstractPowerSyncDatabase.js +0 -987
  179. package/lib/client/AbstractPowerSyncDatabase.js.map +0 -1
  180. package/lib/client/AbstractPowerSyncOpenFactory.d.ts +0 -22
  181. package/lib/client/AbstractPowerSyncOpenFactory.js +0 -25
  182. package/lib/client/AbstractPowerSyncOpenFactory.js.map +0 -1
  183. package/lib/client/ConnectionManager.d.ts +0 -112
  184. package/lib/client/ConnectionManager.js +0 -294
  185. package/lib/client/ConnectionManager.js.map +0 -1
  186. package/lib/client/CustomQuery.d.ts +0 -22
  187. package/lib/client/CustomQuery.js +0 -43
  188. package/lib/client/CustomQuery.js.map +0 -1
  189. package/lib/client/constants.d.ts +0 -1
  190. package/lib/client/constants.js +0 -2
  191. package/lib/client/constants.js.map +0 -1
  192. package/lib/client/sync/bucket/BucketStorageAdapter.d.ts +0 -102
  193. package/lib/client/sync/bucket/BucketStorageAdapter.js +0 -19
  194. package/lib/client/sync/bucket/BucketStorageAdapter.js.map +0 -1
  195. package/lib/client/sync/bucket/OpType.d.ts +0 -16
  196. package/lib/client/sync/bucket/OpType.js +0 -23
  197. package/lib/client/sync/bucket/OpType.js.map +0 -1
  198. package/lib/client/sync/bucket/OplogEntry.d.ts +0 -23
  199. package/lib/client/sync/bucket/OplogEntry.js +0 -36
  200. package/lib/client/sync/bucket/OplogEntry.js.map +0 -1
  201. package/lib/client/sync/bucket/SqliteBucketStorage.d.ts +0 -61
  202. package/lib/client/sync/bucket/SqliteBucketStorage.js +0 -324
  203. package/lib/client/sync/bucket/SqliteBucketStorage.js.map +0 -1
  204. package/lib/client/sync/bucket/SyncDataBatch.d.ts +0 -6
  205. package/lib/client/sync/bucket/SyncDataBatch.js +0 -12
  206. package/lib/client/sync/bucket/SyncDataBatch.js.map +0 -1
  207. package/lib/client/sync/bucket/SyncDataBucket.d.ts +0 -40
  208. package/lib/client/sync/bucket/SyncDataBucket.js +0 -40
  209. package/lib/client/sync/bucket/SyncDataBucket.js.map +0 -1
  210. package/lib/client/sync/stream/AbstractRemote.d.ts +0 -161
  211. package/lib/client/sync/stream/AbstractRemote.js +0 -483
  212. package/lib/client/sync/stream/AbstractRemote.js.map +0 -1
  213. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.d.ts +0 -244
  214. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js +0 -990
  215. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js.map +0 -1
  216. package/lib/client/sync/stream/WebsocketClientTransport.d.ts +0 -15
  217. package/lib/client/sync/stream/WebsocketClientTransport.js +0 -61
  218. package/lib/client/sync/stream/WebsocketClientTransport.js.map +0 -1
  219. package/lib/client/sync/stream/core-instruction.d.ts +0 -72
  220. package/lib/client/sync/stream/core-instruction.js +0 -27
  221. package/lib/client/sync/stream/core-instruction.js.map +0 -1
  222. package/lib/client/sync/stream/streaming-sync-types.d.ts +0 -143
  223. package/lib/client/sync/stream/streaming-sync-types.js +0 -26
  224. package/lib/client/sync/stream/streaming-sync-types.js.map +0 -1
  225. package/lib/client/triggers/MemoryTriggerClaimManager.d.ts +0 -6
  226. package/lib/client/triggers/MemoryTriggerClaimManager.js +0 -21
  227. package/lib/client/triggers/MemoryTriggerClaimManager.js.map +0 -1
  228. package/lib/client/triggers/TriggerManagerImpl.d.ts +0 -39
  229. package/lib/client/triggers/TriggerManagerImpl.js +0 -405
  230. package/lib/client/triggers/TriggerManagerImpl.js.map +0 -1
  231. package/lib/client/watched/processors/AbstractQueryProcessor.d.ts +0 -68
  232. package/lib/client/watched/processors/AbstractQueryProcessor.js +0 -151
  233. package/lib/client/watched/processors/AbstractQueryProcessor.js.map +0 -1
  234. package/lib/db/ConnectionClosedError.d.ts +0 -10
  235. package/lib/db/ConnectionClosedError.js +0 -21
  236. package/lib/db/ConnectionClosedError.js.map +0 -1
  237. package/lib/db/schema/TableV2.d.ts +0 -9
  238. package/lib/db/schema/TableV2.js +0 -9
  239. package/lib/db/schema/TableV2.js.map +0 -1
  240. package/lib/utils/AbortOperation.d.ts +0 -9
  241. package/lib/utils/AbortOperation.js +0 -19
  242. package/lib/utils/AbortOperation.js.map +0 -1
  243. package/lib/utils/ControlledExecutor.d.ts +0 -25
  244. package/lib/utils/ControlledExecutor.js +0 -51
  245. package/lib/utils/ControlledExecutor.js.map +0 -1
  246. package/lib/utils/async.d.ts +0 -14
  247. package/lib/utils/async.js +0 -46
  248. package/lib/utils/async.js.map +0 -1
  249. package/lib/utils/parseQuery.d.ts +0 -6
  250. package/lib/utils/parseQuery.js +0 -17
  251. package/lib/utils/parseQuery.js.map +0 -1
  252. package/lib/utils/queue.d.ts +0 -16
  253. package/lib/utils/queue.js +0 -42
  254. package/lib/utils/queue.js.map +0 -1
  255. package/lib/utils/stream_transform.d.ts +0 -39
  256. package/lib/utils/stream_transform.js +0 -206
  257. package/lib/utils/stream_transform.js.map +0 -1
  258. package/src/client/AbstractPowerSyncDatabase.ts +0 -1362
  259. package/src/client/AbstractPowerSyncOpenFactory.ts +0 -39
  260. package/src/client/ConnectionManager.ts +0 -402
  261. package/src/client/CustomQuery.ts +0 -56
  262. package/src/client/constants.ts +0 -1
  263. package/src/client/sync/bucket/BucketStorageAdapter.ts +0 -118
  264. package/src/client/sync/bucket/OpType.ts +0 -23
  265. package/src/client/sync/bucket/OplogEntry.ts +0 -50
  266. package/src/client/sync/bucket/SqliteBucketStorage.ts +0 -395
  267. package/src/client/sync/bucket/SyncDataBatch.ts +0 -11
  268. package/src/client/sync/bucket/SyncDataBucket.ts +0 -49
  269. package/src/client/sync/stream/AbstractRemote.ts +0 -624
  270. package/src/client/sync/stream/AbstractStreamingSyncImplementation.ts +0 -1285
  271. package/src/client/sync/stream/WebsocketClientTransport.ts +0 -80
  272. package/src/client/sync/stream/core-instruction.ts +0 -99
  273. package/src/client/sync/stream/streaming-sync-types.ts +0 -210
  274. package/src/client/triggers/MemoryTriggerClaimManager.ts +0 -25
  275. package/src/client/triggers/TriggerManagerImpl.ts +0 -496
  276. package/src/client/watched/processors/AbstractQueryProcessor.ts +0 -226
  277. package/src/db/ConnectionClosedError.ts +0 -23
  278. package/src/db/schema/TableV2.ts +0 -9
  279. package/src/utils/AbortOperation.ts +0 -17
  280. package/src/utils/ControlledExecutor.ts +0 -72
  281. package/src/utils/async.ts +0 -50
  282. package/src/utils/parseQuery.ts +0 -25
  283. package/src/utils/queue.ts +0 -48
  284. package/src/utils/stream_transform.ts +0 -252
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractStreamingSyncImplementation.js","sourceRoot":"","sources":["../../../../src/client/sync/stream/AbstractStreamingSyncImplementation.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Adapted from rsocket-websocket-client
3
- * https://github.com/rsocket/rsocket-js/blob/e224cf379e747c4f1ddc4f2fa111854626cc8575/packages/rsocket-websocket-client/src/WebsocketClientTransport.ts#L17
4
- * This adds additional error handling for React Native iOS.
5
- * This particularly adds a close listener to handle cases where the WebSocket
6
- * connection closes immediately after opening without emitting an error.
7
- */
8
- import { ClientTransport, Closeable, Demultiplexer, DuplexConnection, FrameHandler, Multiplexer, Outbound } from 'rsocket-core';
9
- import { ClientOptions } from 'rsocket-websocket-client';
10
- export declare class WebsocketClientTransport implements ClientTransport {
11
- private readonly url;
12
- private readonly factory;
13
- constructor(options: ClientOptions);
14
- connect(multiplexerDemultiplexerFactory: (outbound: Outbound & Closeable) => Multiplexer & Demultiplexer & FrameHandler): Promise<DuplexConnection>;
15
- }
@@ -1,61 +0,0 @@
1
- /**
2
- * Adapted from rsocket-websocket-client
3
- * https://github.com/rsocket/rsocket-js/blob/e224cf379e747c4f1ddc4f2fa111854626cc8575/packages/rsocket-websocket-client/src/WebsocketClientTransport.ts#L17
4
- * This adds additional error handling for React Native iOS.
5
- * This particularly adds a close listener to handle cases where the WebSocket
6
- * connection closes immediately after opening without emitting an error.
7
- */
8
- import { Deserializer } from 'rsocket-core';
9
- import { WebsocketDuplexConnection } from 'rsocket-websocket-client/dist/WebsocketDuplexConnection.js';
10
- export class WebsocketClientTransport {
11
- url;
12
- factory;
13
- constructor(options) {
14
- this.url = options.url;
15
- this.factory = options.wsCreator ?? ((url) => new WebSocket(url));
16
- }
17
- connect(multiplexerDemultiplexerFactory) {
18
- return new Promise((resolve, reject) => {
19
- const websocket = this.factory(this.url);
20
- websocket.binaryType = 'arraybuffer';
21
- let removeListeners;
22
- const openListener = () => {
23
- removeListeners();
24
- resolve(new WebsocketDuplexConnection(websocket, new Deserializer(), multiplexerDemultiplexerFactory));
25
- };
26
- const errorListener = (ev) => {
27
- removeListeners();
28
- // We add a default error in that case.
29
- if (ev.error != null) {
30
- // undici typically provides an error object
31
- reject(ev.error);
32
- }
33
- else if (ev.message != null) {
34
- // React Native typically does not provide an error object, but does provide a message
35
- reject(new Error(`Failed to create websocket connection: ${ev.message}`));
36
- }
37
- else {
38
- // Browsers often provide no details at all
39
- reject(new Error(`Failed to create websocket connection to ${this.url}`));
40
- }
41
- };
42
- /**
43
- * In some cases, such as React Native iOS, the WebSocket connection may close immediately after opening
44
- * without and error. In such cases, we need to handle the close event to reject the promise.
45
- */
46
- const closeListener = () => {
47
- removeListeners();
48
- reject(new Error('WebSocket connection closed while opening'));
49
- };
50
- removeListeners = () => {
51
- websocket.removeEventListener('open', openListener);
52
- websocket.removeEventListener('error', errorListener);
53
- websocket.removeEventListener('close', closeListener);
54
- };
55
- websocket.addEventListener('open', openListener);
56
- websocket.addEventListener('error', errorListener);
57
- websocket.addEventListener('close', closeListener);
58
- });
59
- }
60
- }
61
- //# sourceMappingURL=WebsocketClientTransport.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebsocketClientTransport.js","sourceRoot":"","sources":["../../../../src/client/sync/stream/WebsocketClientTransport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAIL,YAAY,EAKb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AAEvG,MAAM,OAAO,wBAAwB;IAClB,GAAG,CAAS;IACZ,OAAO,CAA6B;IAErD,YAAY,OAAsB;QAChC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,CACL,+BAA+G;QAE/G,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEzC,SAAS,CAAC,UAAU,GAAG,aAAa,CAAC;YAErC,IAAI,eAA2B,CAAC;YAEhC,MAAM,YAAY,GAAG,GAAG,EAAE;gBACxB,eAAe,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,yBAAyB,CAAC,SAAS,EAAE,IAAI,YAAY,EAAE,EAAE,+BAA+B,CAAC,CAAC,CAAC;YACzG,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAc,EAAE,EAAE;gBACvC,eAAe,EAAE,CAAC;gBAClB,uCAAuC;gBACvC,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;oBACrB,4CAA4C;oBAC5C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC;qBAAM,IAAI,EAAE,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;oBAC9B,sFAAsF;oBACtF,MAAM,CAAC,IAAI,KAAK,CAAC,0CAA0C,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC5E,CAAC;qBAAM,CAAC;oBACN,2CAA2C;oBAC3C,MAAM,CAAC,IAAI,KAAK,CAAC,4CAA4C,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC,CAAC;YAEF;;;eAGG;YACH,MAAM,aAAa,GAAG,GAAG,EAAE;gBACzB,eAAe,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;YACjE,CAAC,CAAC;YAEF,eAAe,GAAG,GAAG,EAAE;gBACrB,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBACpD,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBACtD,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACxD,CAAC,CAAC;YAEF,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACjD,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACnD,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,72 +0,0 @@
1
- import { StreamingSyncRequest } from './streaming-sync-types.js';
2
- import * as sync_status from '../../../db/crud/SyncStatus.js';
3
- /**
4
- * An internal instruction emitted by the sync client in the core extension in response to the JS
5
- * SDK passing sync data into the extension.
6
- */
7
- export type Instruction = {
8
- LogLine: LogLine;
9
- } | {
10
- UpdateSyncStatus: UpdateSyncStatus;
11
- } | {
12
- EstablishSyncStream: EstablishSyncStream;
13
- } | {
14
- FetchCredentials: FetchCredentials;
15
- } | {
16
- CloseSyncStream: {
17
- hide_disconnect: boolean;
18
- };
19
- } | {
20
- FlushFileSystem: any;
21
- } | {
22
- DidCompleteSync: any;
23
- };
24
- export interface LogLine {
25
- severity: 'DEBUG' | 'INFO' | 'WARNING';
26
- line: string;
27
- }
28
- export interface EstablishSyncStream {
29
- request: StreamingSyncRequest;
30
- }
31
- export interface UpdateSyncStatus {
32
- status: CoreSyncStatus;
33
- }
34
- export interface CoreSyncStatus {
35
- connected: boolean;
36
- connecting: boolean;
37
- priority_status: SyncPriorityStatus[];
38
- downloading: DownloadProgress | null;
39
- streams: CoreStreamSubscription[];
40
- }
41
- export interface CoreStreamSubscription {
42
- progress: {
43
- total: number;
44
- downloaded: number;
45
- };
46
- name: string;
47
- parameters: any;
48
- priority: number | null;
49
- active: boolean;
50
- is_default: boolean;
51
- has_explicit_subscription: boolean;
52
- expires_at: number | null;
53
- last_synced_at: number | null;
54
- }
55
- export interface SyncPriorityStatus {
56
- priority: number;
57
- last_synced_at: number | number;
58
- has_synced: boolean | null;
59
- }
60
- export interface DownloadProgress {
61
- buckets: Record<string, BucketProgress>;
62
- }
63
- export interface BucketProgress {
64
- priority: number;
65
- at_last: number;
66
- since_last: number;
67
- target_count: number;
68
- }
69
- export interface FetchCredentials {
70
- did_expire: boolean;
71
- }
72
- export declare function coreStatusToJs(status: CoreSyncStatus): sync_status.SyncStatusOptions;
@@ -1,27 +0,0 @@
1
- import { FULL_SYNC_PRIORITY } from '../../../db/crud/SyncProgress.js';
2
- function priorityToJs(status) {
3
- return {
4
- priority: status.priority,
5
- hasSynced: status.has_synced ?? undefined,
6
- lastSyncedAt: status.last_synced_at != null ? new Date(status.last_synced_at * 1000) : undefined
7
- };
8
- }
9
- export function coreStatusToJs(status) {
10
- const coreCompleteSync = status.priority_status.find((s) => s.priority == FULL_SYNC_PRIORITY);
11
- const completeSync = coreCompleteSync != null ? priorityToJs(coreCompleteSync) : null;
12
- return {
13
- connected: status.connected,
14
- connecting: status.connecting,
15
- dataFlow: {
16
- // We expose downloading as a boolean field, the core extension reports download information as a nullable
17
- // download status. When that status is non-null, a download is in progress.
18
- downloading: status.downloading != null,
19
- downloadProgress: status.downloading?.buckets,
20
- internalStreamSubscriptions: status.streams
21
- },
22
- lastSyncedAt: completeSync?.lastSyncedAt,
23
- hasSynced: completeSync?.hasSynced,
24
- priorityStatusEntries: status.priority_status.map(priorityToJs)
25
- };
26
- }
27
- //# sourceMappingURL=core-instruction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core-instruction.js","sourceRoot":"","sources":["../../../../src/client/sync/stream/core-instruction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAsEtE,SAAS,YAAY,CAAC,MAA0B;IAC9C,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,SAAS;QACzC,YAAY,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KACjG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAsB;IACnD,MAAM,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,kBAAkB,CAAC,CAAC;IAC9F,MAAM,YAAY,GAAG,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtF,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE;YACR,0GAA0G;YAC1G,4EAA4E;YAC5E,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;YACvC,gBAAgB,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO;YAC7C,2BAA2B,EAAE,MAAM,CAAC,OAAO;SAC5C;QACD,YAAY,EAAE,YAAY,EAAE,YAAY;QACxC,SAAS,EAAE,YAAY,EAAE,SAAS;QAClC,qBAAqB,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC;KAChE,CAAC;AACJ,CAAC"}
@@ -1,143 +0,0 @@
1
- import { BucketChecksum, Checkpoint } from '../bucket/BucketStorageAdapter.js';
2
- import { CrudEntry, OpId } from '../bucket/CrudEntry.js';
3
- import { SyncDataBucketJSON } from '../bucket/SyncDataBucket.js';
4
- /**
5
- * For sync2.json
6
- */
7
- export interface ContinueCheckpointRequest {
8
- /**
9
- * Existing bucket states. Only these buckets are synchronized.
10
- */
11
- buckets: BucketRequest[];
12
- checkpoint_token: string;
13
- limit?: number;
14
- }
15
- export interface SyncNewCheckpointRequest {
16
- /**
17
- * Existing bucket states. Used if include_data is specified.
18
- */
19
- buckets?: BucketRequest[];
20
- request_checkpoint: {
21
- /**
22
- * Whether or not to include an initial data request.
23
- */
24
- include_data: boolean;
25
- /**
26
- * Whether or not to compute a checksum.
27
- */
28
- include_checksum: boolean;
29
- };
30
- limit?: number;
31
- }
32
- export type SyncRequest = ContinueCheckpointRequest | SyncNewCheckpointRequest;
33
- export interface SyncResponse {
34
- /**
35
- * Data for the buckets returned. May not have an an entry for each bucket in the request.
36
- */
37
- data?: SyncDataBucketJSON[];
38
- /**
39
- * True if the response limit has been reached, and another request must be made.
40
- */
41
- has_more: boolean;
42
- checkpoint_token?: string;
43
- checkpoint?: Checkpoint;
44
- }
45
- type JSONValue = string | number | boolean | null | undefined | JSONObject | JSONArray;
46
- interface JSONObject {
47
- [key: string]: JSONValue;
48
- }
49
- type JSONArray = JSONValue[];
50
- export type StreamingSyncRequestParameterType = JSONValue;
51
- export interface StreamingSyncRequest {
52
- /**
53
- * Existing bucket states.
54
- */
55
- buckets?: BucketRequest[];
56
- /**
57
- * If specified, limit the response to only include these buckets.
58
- */
59
- only?: string[];
60
- /**
61
- * Whether or not to compute a checksum for each checkpoint
62
- */
63
- include_checksum: boolean;
64
- /**
65
- * Changes the response to stringified data in each OplogEntry
66
- */
67
- raw_data: boolean;
68
- /**
69
- * Client parameters to be passed to the sync rules.
70
- */
71
- parameters?: Record<string, StreamingSyncRequestParameterType>;
72
- /**
73
- * Application metadata to be included in service logs.
74
- */
75
- app_metadata?: Record<string, string>;
76
- client_id?: string;
77
- }
78
- export interface StreamingSyncCheckpoint {
79
- checkpoint: Checkpoint;
80
- }
81
- export interface StreamingSyncCheckpointDiff {
82
- checkpoint_diff: {
83
- last_op_id: OpId;
84
- updated_buckets: BucketChecksum[];
85
- removed_buckets: string[];
86
- write_checkpoint?: string;
87
- };
88
- }
89
- export interface StreamingSyncDataJSON {
90
- data: SyncDataBucketJSON;
91
- }
92
- export interface StreamingSyncCheckpointComplete {
93
- checkpoint_complete: {
94
- last_op_id: OpId;
95
- };
96
- }
97
- export interface StreamingSyncCheckpointPartiallyComplete {
98
- partial_checkpoint_complete: {
99
- priority: number;
100
- last_op_id: OpId;
101
- };
102
- }
103
- export interface StreamingSyncKeepalive {
104
- /** If specified, token expires in this many seconds. */
105
- token_expires_in: number;
106
- }
107
- export type StreamingSyncLine = StreamingSyncDataJSON | StreamingSyncCheckpoint | StreamingSyncCheckpointDiff | StreamingSyncCheckpointComplete | StreamingSyncCheckpointPartiallyComplete | StreamingSyncKeepalive;
108
- export type CrudUploadNotification = {
109
- crud_upload_completed: null;
110
- };
111
- export type StreamingSyncLineOrCrudUploadComplete = StreamingSyncLine | CrudUploadNotification;
112
- export interface BucketRequest {
113
- name: string;
114
- /**
115
- * Base-10 number. Sync all data from this bucket with op_id > after.
116
- */
117
- after: OpId;
118
- }
119
- export declare function isStreamingSyncData(line: StreamingSyncLine): line is StreamingSyncDataJSON;
120
- export declare function isStreamingKeepalive(line: StreamingSyncLine): line is StreamingSyncKeepalive;
121
- export declare function isStreamingSyncCheckpoint(line: StreamingSyncLine): line is StreamingSyncCheckpoint;
122
- export declare function isStreamingSyncCheckpointComplete(line: StreamingSyncLine): line is StreamingSyncCheckpointComplete;
123
- export declare function isStreamingSyncCheckpointPartiallyComplete(line: StreamingSyncLine): line is StreamingSyncCheckpointPartiallyComplete;
124
- export declare function isStreamingSyncCheckpointDiff(line: StreamingSyncLine): line is StreamingSyncCheckpointDiff;
125
- export declare function isContinueCheckpointRequest(request: SyncRequest): request is ContinueCheckpointRequest;
126
- export declare function isSyncNewCheckpointRequest(request: SyncRequest): request is SyncNewCheckpointRequest;
127
- /**
128
- * For crud.json
129
- */
130
- export interface CrudRequest {
131
- data: CrudEntry[];
132
- }
133
- export interface CrudResponse {
134
- /**
135
- * A sync response with a checkpoint >= this checkpoint would contain all the changes in this request.
136
- *
137
- * Any earlier checkpoint may or may not contain these changes.
138
- *
139
- * May be empty when the request contains no ops.
140
- */
141
- checkpoint?: OpId;
142
- }
143
- export {};
@@ -1,26 +0,0 @@
1
- export function isStreamingSyncData(line) {
2
- return line.data != null;
3
- }
4
- export function isStreamingKeepalive(line) {
5
- return line.token_expires_in != null;
6
- }
7
- export function isStreamingSyncCheckpoint(line) {
8
- return line.checkpoint != null;
9
- }
10
- export function isStreamingSyncCheckpointComplete(line) {
11
- return line.checkpoint_complete != null;
12
- }
13
- export function isStreamingSyncCheckpointPartiallyComplete(line) {
14
- return line.partial_checkpoint_complete != null;
15
- }
16
- export function isStreamingSyncCheckpointDiff(line) {
17
- return line.checkpoint_diff != null;
18
- }
19
- export function isContinueCheckpointRequest(request) {
20
- return (Array.isArray(request.buckets) &&
21
- typeof request.checkpoint_token == 'string');
22
- }
23
- export function isSyncNewCheckpointRequest(request) {
24
- return typeof request.request_checkpoint == 'object';
25
- }
26
- //# sourceMappingURL=streaming-sync-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"streaming-sync-types.js","sourceRoot":"","sources":["../../../../src/client/sync/stream/streaming-sync-types.ts"],"names":[],"mappings":"AA4JA,MAAM,UAAU,mBAAmB,CAAC,IAAuB;IACzD,OAAQ,IAA8B,CAAC,IAAI,IAAI,IAAI,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAuB;IAC1D,OAAQ,IAA+B,CAAC,gBAAgB,IAAI,IAAI,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAuB;IAC/D,OAAQ,IAAgC,CAAC,UAAU,IAAI,IAAI,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAAuB;IACvE,OAAQ,IAAwC,CAAC,mBAAmB,IAAI,IAAI,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,0CAA0C,CACxD,IAAuB;IAEvB,OAAQ,IAAiD,CAAC,2BAA2B,IAAI,IAAI,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAuB;IACnE,OAAQ,IAAoC,CAAC,eAAe,IAAI,IAAI,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAoB;IAC9D,OAAO,CACL,KAAK,CAAC,OAAO,CAAE,OAAqC,CAAC,OAAO,CAAC;QAC7D,OAAQ,OAAqC,CAAC,gBAAgB,IAAI,QAAQ,CAC3E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAoB;IAC7D,OAAO,OAAQ,OAAoC,CAAC,kBAAkB,IAAI,QAAQ,CAAC;AACrF,CAAC"}
@@ -1,6 +0,0 @@
1
- import { TriggerClaimManager } from './TriggerManager.js';
2
- /**
3
- * @internal
4
- * @experimental
5
- */
6
- export declare const MEMORY_TRIGGER_CLAIM_MANAGER: TriggerClaimManager;
@@ -1,21 +0,0 @@
1
- const CLAIM_STORE = new Map();
2
- /**
3
- * @internal
4
- * @experimental
5
- */
6
- export const MEMORY_TRIGGER_CLAIM_MANAGER = {
7
- async obtainClaim(identifier) {
8
- if (CLAIM_STORE.has(identifier)) {
9
- throw new Error(`A claim is already present for ${identifier}`);
10
- }
11
- const release = async () => {
12
- CLAIM_STORE.delete(identifier);
13
- };
14
- CLAIM_STORE.set(identifier, release);
15
- return release;
16
- },
17
- async checkClaim(identifier) {
18
- return CLAIM_STORE.has(identifier);
19
- }
20
- };
21
- //# sourceMappingURL=MemoryTriggerClaimManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MemoryTriggerClaimManager.js","sourceRoot":"","sources":["../../../src/client/triggers/MemoryTriggerClaimManager.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,IAAI,GAAG,EAA+B,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAwB;IAC/D,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAErC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,OAAO,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;CACF,CAAC"}
@@ -1,39 +0,0 @@
1
- import { LockContext } from '../../db/DBAdapter.js';
2
- import { Schema } from '../../db/schema/Schema.js';
3
- import type { AbstractPowerSyncDatabase } from '../AbstractPowerSyncDatabase.js';
4
- import { CreateDiffTriggerOptions, DiffTriggerOperation, TrackDiffOptions, TriggerManager, TriggerManagerConfig, TriggerRemoveCallback, TriggerRemoveCallbackOptions } from './TriggerManager.js';
5
- export type TriggerManagerImplOptions = TriggerManagerConfig & {
6
- db: AbstractPowerSyncDatabase;
7
- schema: Schema;
8
- };
9
- export type TriggerManagerImplConfiguration = {
10
- useStorageByDefault: boolean;
11
- };
12
- export declare const DEFAULT_TRIGGER_MANAGER_CONFIGURATION: TriggerManagerImplConfiguration;
13
- /**
14
- * @internal
15
- * @experimental
16
- */
17
- export declare class TriggerManagerImpl implements TriggerManager {
18
- protected options: TriggerManagerImplOptions;
19
- protected schema: Schema;
20
- protected defaultConfig: TriggerManagerImplConfiguration;
21
- protected cleanupTimeout: ReturnType<typeof setTimeout> | null;
22
- protected isDisposed: boolean;
23
- constructor(options: TriggerManagerImplOptions);
24
- protected get db(): AbstractPowerSyncDatabase;
25
- protected getUUID(): Promise<string>;
26
- protected removeTriggers(tx: LockContext, triggerIds: string[]): Promise<void>;
27
- dispose(): void;
28
- /**
29
- * Updates default config settings for platform specific use-cases.
30
- */
31
- updateDefaults(config: TriggerManagerImplConfiguration): void;
32
- protected generateTriggerName(operation: DiffTriggerOperation, destinationTable: string, triggerId: string): string;
33
- /**
34
- * Cleanup any SQLite triggers or tables that are no longer in use.
35
- */
36
- cleanupResources(): Promise<void>;
37
- createDiffTrigger(options: CreateDiffTriggerOptions): Promise<(options?: TriggerRemoveCallbackOptions) => Promise<void>>;
38
- trackTableDiff(options: TrackDiffOptions): Promise<TriggerRemoveCallback>;
39
- }