@vrtmrz/livesync-commonlib 0.1.0-rc.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 (516) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +49 -0
  3. package/dist/API/DirectFileManipulator.d.ts +2 -0
  4. package/dist/API/DirectFileManipulator.js +4 -0
  5. package/dist/API/DirectFileManipulatorV2.d.ts +150 -0
  6. package/dist/API/DirectFileManipulatorV2.js +424 -0
  7. package/dist/API/processSetting.d.ts +41 -0
  8. package/dist/API/processSetting.js +140 -0
  9. package/dist/ContentSplitter/ContentSplitter.d.ts +28 -0
  10. package/dist/ContentSplitter/ContentSplitter.js +5 -0
  11. package/dist/ContentSplitter/ContentSplitterBase.d.ts +51 -0
  12. package/dist/ContentSplitter/ContentSplitterBase.js +83 -0
  13. package/dist/ContentSplitter/ContentSplitterRabinKarp.d.ts +9 -0
  14. package/dist/ContentSplitter/ContentSplitterRabinKarp.js +32 -0
  15. package/dist/ContentSplitter/ContentSplitterV1.d.ts +9 -0
  16. package/dist/ContentSplitter/ContentSplitterV1.js +34 -0
  17. package/dist/ContentSplitter/ContentSplitterV2.d.ts +9 -0
  18. package/dist/ContentSplitter/ContentSplitterV2.js +34 -0
  19. package/dist/ContentSplitter/ContentSplitters.d.ts +12 -0
  20. package/dist/ContentSplitter/ContentSplitters.js +29 -0
  21. package/dist/bureau/bureau.d.ts +7 -0
  22. package/dist/bureau/bureau.js +5 -0
  23. package/dist/common/ConnectionString.d.ts +30 -0
  24. package/dist/common/ConnectionString.js +179 -0
  25. package/dist/common/LSError.d.ts +48 -0
  26. package/dist/common/LSError.js +112 -0
  27. package/dist/common/configForDoc.d.ts +79 -0
  28. package/dist/common/configForDoc.js +312 -0
  29. package/dist/common/coreEnvFunctions.d.ts +21 -0
  30. package/dist/common/coreEnvFunctions.js +22 -0
  31. package/dist/common/coreEnvVars.d.ts +3 -0
  32. package/dist/common/coreEnvVars.js +6 -0
  33. package/dist/common/i18n.d.ts +18 -0
  34. package/dist/common/i18n.js +7193 -0
  35. package/dist/common/logger.d.ts +2 -0
  36. package/dist/common/logger.js +1 -0
  37. package/dist/common/messages/combinedMessages.dev.d.ts +7 -0
  38. package/dist/common/messages/combinedMessages.dev.js +44 -0
  39. package/dist/common/messages/combinedMessages.prod.d.ts +9264 -0
  40. package/dist/common/messages/combinedMessages.prod.js +9271 -0
  41. package/dist/common/messages/de.d.ts +297 -0
  42. package/dist/common/messages/de.js +7 -0
  43. package/dist/common/messages/def.d.ts +1119 -0
  44. package/dist/common/messages/def.js +7 -0
  45. package/dist/common/messages/es.d.ts +689 -0
  46. package/dist/common/messages/es.js +7 -0
  47. package/dist/common/messages/fr.d.ts +582 -0
  48. package/dist/common/messages/fr.js +7 -0
  49. package/dist/common/messages/he.d.ts +583 -0
  50. package/dist/common/messages/he.js +7 -0
  51. package/dist/common/messages/ja.d.ts +838 -0
  52. package/dist/common/messages/ja.js +7 -0
  53. package/dist/common/messages/ko.d.ts +800 -0
  54. package/dist/common/messages/ko.js +7 -0
  55. package/dist/common/messages/ru.d.ts +858 -0
  56. package/dist/common/messages/ru.js +7 -0
  57. package/dist/common/messages/zh-tw.d.ts +384 -0
  58. package/dist/common/messages/zh-tw.js +7 -0
  59. package/dist/common/messages/zh.d.ts +1093 -0
  60. package/dist/common/messages/zh.js +7 -0
  61. package/dist/common/messagesJson/de.json +295 -0
  62. package/dist/common/messagesJson/en.json +1117 -0
  63. package/dist/common/messagesJson/es.json +687 -0
  64. package/dist/common/messagesJson/fr.json +580 -0
  65. package/dist/common/messagesJson/he.json +581 -0
  66. package/dist/common/messagesJson/ja.json +836 -0
  67. package/dist/common/messagesJson/ko.json +798 -0
  68. package/dist/common/messagesJson/ru.json +856 -0
  69. package/dist/common/messagesJson/zh-tw.json +382 -0
  70. package/dist/common/messagesJson/zh.json +1091 -0
  71. package/dist/common/models/auth.type.d.ts +41 -0
  72. package/dist/common/models/auth.type.js +0 -0
  73. package/dist/common/models/db.const.d.ts +20 -0
  74. package/dist/common/models/db.const.js +28 -0
  75. package/dist/common/models/db.definition.d.ts +56 -0
  76. package/dist/common/models/db.definition.js +6 -0
  77. package/dist/common/models/db.type.d.ts +142 -0
  78. package/dist/common/models/db.type.js +0 -0
  79. package/dist/common/models/diff.definition.d.ts +16 -0
  80. package/dist/common/models/diff.definition.js +0 -0
  81. package/dist/common/models/fileaccess.const.d.ts +7 -0
  82. package/dist/common/models/fileaccess.const.js +16 -0
  83. package/dist/common/models/fileaccess.type.d.ts +72 -0
  84. package/dist/common/models/fileaccess.type.js +0 -0
  85. package/dist/common/models/redflag.const.d.ts +32 -0
  86. package/dist/common/models/redflag.const.js +27 -0
  87. package/dist/common/models/setting.const.d.ts +49 -0
  88. package/dist/common/models/setting.const.defaults.d.ts +3 -0
  89. package/dist/common/models/setting.const.defaults.js +185 -0
  90. package/dist/common/models/setting.const.js +68 -0
  91. package/dist/common/models/setting.const.preferred.d.ts +5 -0
  92. package/dist/common/models/setting.const.preferred.js +35 -0
  93. package/dist/common/models/setting.const.qr.d.ts +2 -0
  94. package/dist/common/models/setting.const.qr.js +174 -0
  95. package/dist/common/models/setting.type.d.ts +900 -0
  96. package/dist/common/models/setting.type.js +8 -0
  97. package/dist/common/models/shared.const.behabiour.d.ts +28 -0
  98. package/dist/common/models/shared.const.behabiour.js +36 -0
  99. package/dist/common/models/shared.const.d.ts +5 -0
  100. package/dist/common/models/shared.const.js +12 -0
  101. package/dist/common/models/shared.const.symbols.d.ts +9 -0
  102. package/dist/common/models/shared.const.symbols.js +20 -0
  103. package/dist/common/models/shared.definition.configNames.d.ts +36 -0
  104. package/dist/common/models/shared.definition.configNames.js +203 -0
  105. package/dist/common/models/shared.definition.d.ts +22 -0
  106. package/dist/common/models/shared.definition.js +24 -0
  107. package/dist/common/models/shared.type.util.d.ts +8 -0
  108. package/dist/common/models/shared.type.util.js +0 -0
  109. package/dist/common/models/sync.definition.d.ts +18 -0
  110. package/dist/common/models/sync.definition.js +20 -0
  111. package/dist/common/models/tweak.definition.d.ts +191 -0
  112. package/dist/common/models/tweak.definition.js +77 -0
  113. package/dist/common/rosetta.d.ts +42 -0
  114. package/dist/common/rosetta.js +57 -0
  115. package/dist/common/settingConstants.d.ts +216 -0
  116. package/dist/common/settingConstants.js +434 -0
  117. package/dist/common/typeUtils.d.ts +17 -0
  118. package/dist/common/typeUtils.js +51 -0
  119. package/dist/common/types.d.ts +107 -0
  120. package/dist/common/types.js +212 -0
  121. package/dist/common/utils.d.ts +129 -0
  122. package/dist/common/utils.doc.d.ts +11 -0
  123. package/dist/common/utils.doc.js +35 -0
  124. package/dist/common/utils.js +583 -0
  125. package/dist/common/utils.object.d.ts +2 -0
  126. package/dist/common/utils.object.js +14 -0
  127. package/dist/common/utils.patch.d.ts +8 -0
  128. package/dist/common/utils.patch.js +178 -0
  129. package/dist/common/utils.type.d.ts +1 -0
  130. package/dist/common/utils.type.js +0 -0
  131. package/dist/context.d.ts +8 -0
  132. package/dist/context.js +14 -0
  133. package/dist/databases/IndexedDBKeyValueDatabase.d.ts +26 -0
  134. package/dist/databases/IndexedDBKeyValueDatabase.js +130 -0
  135. package/dist/dataobject/StoredMap.d.ts +12 -0
  136. package/dist/dataobject/StoredMap.js +47 -0
  137. package/dist/dev/checks.d.ts +5 -0
  138. package/dist/dev/checks.js +38 -0
  139. package/dist/encryption/encryptHKDF.d.ts +3 -0
  140. package/dist/encryption/encryptHKDF.js +7 -0
  141. package/dist/encryption/stringEncryption.d.ts +27 -0
  142. package/dist/encryption/stringEncryption.js +59 -0
  143. package/dist/events/coreEvents.d.ts +54 -0
  144. package/dist/events/coreEvents.js +46 -0
  145. package/dist/hub/hub.d.ts +11 -0
  146. package/dist/hub/hub.js +7 -0
  147. package/dist/index.d.ts +1 -0
  148. package/dist/index.js +4 -0
  149. package/dist/interfaces/AsyncActivityRunner.d.ts +18 -0
  150. package/dist/interfaces/AsyncActivityRunner.js +7 -0
  151. package/dist/interfaces/Confirm.d.ts +17 -0
  152. package/dist/interfaces/Confirm.js +0 -0
  153. package/dist/interfaces/DatabaseFileAccess.d.ts +14 -0
  154. package/dist/interfaces/DatabaseFileAccess.js +0 -0
  155. package/dist/interfaces/DatabaseRebuilder.d.ts +13 -0
  156. package/dist/interfaces/DatabaseRebuilder.js +0 -0
  157. package/dist/interfaces/FileHandler.d.ts +13 -0
  158. package/dist/interfaces/FileHandler.js +0 -0
  159. package/dist/interfaces/KeyValueDatabase.d.ts +11 -0
  160. package/dist/interfaces/KeyValueDatabase.js +0 -0
  161. package/dist/interfaces/ServiceModule.d.ts +59 -0
  162. package/dist/interfaces/ServiceModule.js +19 -0
  163. package/dist/interfaces/StorageAccess.d.ts +44 -0
  164. package/dist/interfaces/StorageAccess.js +0 -0
  165. package/dist/interfaces/StorageEventManager.d.ts +16 -0
  166. package/dist/interfaces/StorageEventManager.js +5 -0
  167. package/dist/managers/ChangeManager.d.ts +61 -0
  168. package/dist/managers/ChangeManager.js +104 -0
  169. package/dist/managers/ChunkDeliveryCoordinator.d.ts +51 -0
  170. package/dist/managers/ChunkDeliveryCoordinator.js +136 -0
  171. package/dist/managers/ChunkFetcher.d.ts +44 -0
  172. package/dist/managers/ChunkFetcher.js +251 -0
  173. package/dist/managers/ChunkManager.d.ts +2 -0
  174. package/dist/managers/ChunkManager.js +4 -0
  175. package/dist/managers/ConflictManager.d.ts +37 -0
  176. package/dist/managers/ConflictManager.js +322 -0
  177. package/dist/managers/EntryManager/EntryManager.d.ts +37 -0
  178. package/dist/managers/EntryManager/EntryManager.js +73 -0
  179. package/dist/managers/EntryManager/EntryManagerImpls.d.ts +74 -0
  180. package/dist/managers/EntryManager/EntryManagerImpls.js +499 -0
  181. package/dist/managers/HashManager/HashManager.d.ts +60 -0
  182. package/dist/managers/HashManager/HashManager.js +97 -0
  183. package/dist/managers/HashManager/HashManagerCore.d.ts +114 -0
  184. package/dist/managers/HashManager/HashManagerCore.js +99 -0
  185. package/dist/managers/HashManager/PureJSHashManager.d.ts +77 -0
  186. package/dist/managers/HashManager/PureJSHashManager.js +84 -0
  187. package/dist/managers/HashManager/XXHashHashManager.d.ts +96 -0
  188. package/dist/managers/HashManager/XXHashHashManager.js +111 -0
  189. package/dist/managers/LayeredChunkManager/ArrivalWaitLayer.d.ts +30 -0
  190. package/dist/managers/LayeredChunkManager/ArrivalWaitLayer.js +115 -0
  191. package/dist/managers/LayeredChunkManager/CacheLayer.d.ts +59 -0
  192. package/dist/managers/LayeredChunkManager/CacheLayer.js +161 -0
  193. package/dist/managers/LayeredChunkManager/ChunkLayerInterfaces.d.ts +37 -0
  194. package/dist/managers/LayeredChunkManager/ChunkLayerInterfaces.js +0 -0
  195. package/dist/managers/LayeredChunkManager/DatabaseReadLayer.d.ts +14 -0
  196. package/dist/managers/LayeredChunkManager/DatabaseReadLayer.js +78 -0
  197. package/dist/managers/LayeredChunkManager/DatabaseWriteLayer.d.ts +11 -0
  198. package/dist/managers/LayeredChunkManager/DatabaseWriteLayer.js +43 -0
  199. package/dist/managers/LayeredChunkManager/HotPackLayer.d.ts +9 -0
  200. package/dist/managers/LayeredChunkManager/HotPackLayer.js +8 -0
  201. package/dist/managers/LayeredChunkManager/types.d.ts +39 -0
  202. package/dist/managers/LayeredChunkManager/types.js +0 -0
  203. package/dist/managers/LayeredChunkManager.d.ts +53 -0
  204. package/dist/managers/LayeredChunkManager.js +240 -0
  205. package/dist/managers/LiveSyncManagers.d.ts +48 -0
  206. package/dist/managers/LiveSyncManagers.js +136 -0
  207. package/dist/managers/StorageEventManager.d.ts +135 -0
  208. package/dist/managers/StorageEventManager.js +564 -0
  209. package/dist/managers/StorageProcessingManager.d.ts +14 -0
  210. package/dist/managers/StorageProcessingManager.js +48 -0
  211. package/dist/managers/adapters/IStorageEventConverterAdapter.d.ts +16 -0
  212. package/dist/managers/adapters/IStorageEventConverterAdapter.js +0 -0
  213. package/dist/managers/adapters/IStorageEventManagerAdapter.d.ts +18 -0
  214. package/dist/managers/adapters/IStorageEventManagerAdapter.js +0 -0
  215. package/dist/managers/adapters/IStorageEventPersistenceAdapter.d.ts +15 -0
  216. package/dist/managers/adapters/IStorageEventPersistenceAdapter.js +0 -0
  217. package/dist/managers/adapters/IStorageEventStatusAdapter.d.ts +13 -0
  218. package/dist/managers/adapters/IStorageEventStatusAdapter.js +0 -0
  219. package/dist/managers/adapters/IStorageEventTypeGuardAdapter.d.ts +16 -0
  220. package/dist/managers/adapters/IStorageEventTypeGuardAdapter.js +0 -0
  221. package/dist/managers/adapters/IStorageEventWatchAdapter.d.ts +21 -0
  222. package/dist/managers/adapters/IStorageEventWatchAdapter.js +0 -0
  223. package/dist/managers/adapters/index.d.ts +6 -0
  224. package/dist/managers/adapters/index.js +0 -0
  225. package/dist/mock_and_interop/stores.d.ts +21 -0
  226. package/dist/mock_and_interop/stores.js +15 -0
  227. package/dist/mock_and_interop/wrapper.d.ts +7 -0
  228. package/dist/mock_and_interop/wrapper.js +37 -0
  229. package/dist/mods.d.ts +1 -0
  230. package/dist/mods.js +18 -0
  231. package/dist/platform/browser/index.d.ts +1 -0
  232. package/dist/platform/browser/index.js +10 -0
  233. package/dist/platform/browser/storage.d.ts +35 -0
  234. package/dist/platform/browser/storage.js +139 -0
  235. package/dist/platform/node/index.d.ts +23 -0
  236. package/dist/platform/node/index.js +33 -0
  237. package/dist/platform/node/storage.d.ts +31 -0
  238. package/dist/platform/node/storage.js +104 -0
  239. package/dist/platform/storagePath.d.ts +7 -0
  240. package/dist/platform/storagePath.js +20 -0
  241. package/dist/pouchdb/LiveSyncDBFunctions.d.ts +14 -0
  242. package/dist/pouchdb/LiveSyncDBFunctions.js +129 -0
  243. package/dist/pouchdb/LiveSyncLocalDB.d.ts +196 -0
  244. package/dist/pouchdb/LiveSyncLocalDB.js +381 -0
  245. package/dist/pouchdb/PouchDBConstructor.d.ts +3 -0
  246. package/dist/pouchdb/PouchDBConstructor.js +0 -0
  247. package/dist/pouchdb/ReplicatorShim.d.ts +51 -0
  248. package/dist/pouchdb/ReplicatorShim.js +109 -0
  249. package/dist/pouchdb/StreamingFetch.d.ts +19 -0
  250. package/dist/pouchdb/StreamingFetch.js +263 -0
  251. package/dist/pouchdb/chunks.d.ts +38 -0
  252. package/dist/pouchdb/chunks.js +314 -0
  253. package/dist/pouchdb/compress.d.ts +11 -0
  254. package/dist/pouchdb/compress.js +99 -0
  255. package/dist/pouchdb/encryption.d.ts +20 -0
  256. package/dist/pouchdb/encryption.js +458 -0
  257. package/dist/pouchdb/negotiation.d.ts +9 -0
  258. package/dist/pouchdb/negotiation.js +109 -0
  259. package/dist/pouchdb/pouchdb-browser.d.ts +2 -0
  260. package/dist/pouchdb/pouchdb-browser.js +96 -0
  261. package/dist/pouchdb/pouchdb-http.d.ts +2 -0
  262. package/dist/pouchdb/pouchdb-http.js +94 -0
  263. package/dist/pouchdb/pouchdb-test.d.ts +2 -0
  264. package/dist/pouchdb/pouchdb-test.js +12 -0
  265. package/dist/pouchdb/utils_couchdb.d.ts +4 -0
  266. package/dist/pouchdb/utils_couchdb.js +38 -0
  267. package/dist/replication/LiveSyncAbstractReplicator.d.ts +69 -0
  268. package/dist/replication/LiveSyncAbstractReplicator.js +92 -0
  269. package/dist/replication/SyncParamsHandler.d.ts +35 -0
  270. package/dist/replication/SyncParamsHandler.js +118 -0
  271. package/dist/replication/couchdb/LiveSyncReplicator.d.ts +85 -0
  272. package/dist/replication/couchdb/LiveSyncReplicator.js +1132 -0
  273. package/dist/replication/httplib.d.ts +75 -0
  274. package/dist/replication/httplib.js +187 -0
  275. package/dist/replication/journal/JournalSyncCore.d.ts +70 -0
  276. package/dist/replication/journal/JournalSyncCore.js +737 -0
  277. package/dist/replication/journal/JournalSyncTypes.d.ts +9 -0
  278. package/dist/replication/journal/JournalSyncTypes.js +11 -0
  279. package/dist/replication/journal/LiveSyncJournalReplicator.d.ts +40 -0
  280. package/dist/replication/journal/LiveSyncJournalReplicator.js +294 -0
  281. package/dist/replication/journal/LiveSyncJournalReplicatorEnv.d.ts +3 -0
  282. package/dist/replication/journal/LiveSyncJournalReplicatorEnv.js +0 -0
  283. package/dist/replication/journal/objectstore/JournalStorageAdapter.d.ts +15 -0
  284. package/dist/replication/journal/objectstore/JournalStorageAdapter.js +0 -0
  285. package/dist/replication/journal/objectstore/MinioStorageAdapter.d.ts +21 -0
  286. package/dist/replication/journal/objectstore/MinioStorageAdapter.js +204 -0
  287. package/dist/replication/trystero/LiveSyncTrysteroReplicator.d.ts +90 -0
  288. package/dist/replication/trystero/LiveSyncTrysteroReplicator.js +380 -0
  289. package/dist/replication/trystero/P2PLogCollector.d.ts +8 -0
  290. package/dist/replication/trystero/P2PLogCollector.js +91 -0
  291. package/dist/replication/trystero/P2PReplicatorBase.d.ts +19 -0
  292. package/dist/replication/trystero/P2PReplicatorBase.js +0 -0
  293. package/dist/replication/trystero/P2PReplicatorCore.d.ts +12 -0
  294. package/dist/replication/trystero/P2PReplicatorCore.js +126 -0
  295. package/dist/replication/trystero/P2PReplicatorPaneCommon.d.ts +41 -0
  296. package/dist/replication/trystero/P2PReplicatorPaneCommon.js +20 -0
  297. package/dist/replication/trystero/ProxiedDB.d.ts +13 -0
  298. package/dist/replication/trystero/ProxiedDB.js +20 -0
  299. package/dist/replication/trystero/TrysteroReplicator.d.ts +152 -0
  300. package/dist/replication/trystero/TrysteroReplicator.js +683 -0
  301. package/dist/replication/trystero/TrysteroReplicatorP2PClient.d.ts +19 -0
  302. package/dist/replication/trystero/TrysteroReplicatorP2PClient.js +80 -0
  303. package/dist/replication/trystero/TrysteroReplicatorP2PConnection.d.ts +2 -0
  304. package/dist/replication/trystero/TrysteroReplicatorP2PConnection.js +4 -0
  305. package/dist/replication/trystero/TrysteroReplicatorP2PServer.d.ts +117 -0
  306. package/dist/replication/trystero/TrysteroReplicatorP2PServer.js +540 -0
  307. package/dist/replication/trystero/UseP2PReplicatorResult.d.ts +11 -0
  308. package/dist/replication/trystero/UseP2PReplicatorResult.js +0 -0
  309. package/dist/replication/trystero/addP2PEventHandlers.d.ts +35 -0
  310. package/dist/replication/trystero/addP2PEventHandlers.js +43 -0
  311. package/dist/replication/trystero/rpcCompat.d.ts +1 -0
  312. package/dist/replication/trystero/rpcCompat.js +9 -0
  313. package/dist/replication/trystero/types.d.ts +95 -0
  314. package/dist/replication/trystero/types.js +27 -0
  315. package/dist/replication/trystero/useP2PReplicatorCommands.d.ts +7 -0
  316. package/dist/replication/trystero/useP2PReplicatorCommands.js +25 -0
  317. package/dist/replication/trystero/useP2PReplicatorFeature.d.ts +17 -0
  318. package/dist/replication/trystero/useP2PReplicatorFeature.js +82 -0
  319. package/dist/rpc/RpcRoom.d.ts +24 -0
  320. package/dist/rpc/RpcRoom.js +300 -0
  321. package/dist/rpc/RpcSession.d.ts +9 -0
  322. package/dist/rpc/RpcSession.js +32 -0
  323. package/dist/rpc/chunking.d.ts +11 -0
  324. package/dist/rpc/chunking.js +58 -0
  325. package/dist/rpc/errors.d.ts +8 -0
  326. package/dist/rpc/errors.js +26 -0
  327. package/dist/rpc/index.d.ts +6 -0
  328. package/dist/rpc/index.js +12 -0
  329. package/dist/rpc/pouchdb/RpcPouchDBProxy.d.ts +75 -0
  330. package/dist/rpc/pouchdb/RpcPouchDBProxy.js +115 -0
  331. package/dist/rpc/pouchdb/RpcPouchDBServer.d.ts +16 -0
  332. package/dist/rpc/pouchdb/RpcPouchDBServer.js +55 -0
  333. package/dist/rpc/transports/DiagRTCPeerConnections.d.ts +24 -0
  334. package/dist/rpc/transports/DiagRTCPeerConnections.js +208 -0
  335. package/dist/rpc/transports/DiagRTCPeerConnections.types.d.ts +64 -0
  336. package/dist/rpc/transports/DiagRTCPeerConnections.types.js +12 -0
  337. package/dist/rpc/transports/DiagRTCPeerConnections.utils.d.ts +33 -0
  338. package/dist/rpc/transports/DiagRTCPeerConnections.utils.js +217 -0
  339. package/dist/rpc/transports/TrysteroTransport.d.ts +216 -0
  340. package/dist/rpc/transports/TrysteroTransport.js +134 -0
  341. package/dist/rpc/transports/trysteroUtils.d.ts +3 -0
  342. package/dist/rpc/transports/trysteroUtils.js +37 -0
  343. package/dist/rpc/types.d.ts +75 -0
  344. package/dist/rpc/types.js +6 -0
  345. package/dist/serviceFeatures/checkRemoteSize.d.ts +28 -0
  346. package/dist/serviceFeatures/checkRemoteSize.js +178 -0
  347. package/dist/serviceFeatures/offlineScanner.d.ts +128 -0
  348. package/dist/serviceFeatures/offlineScanner.js +553 -0
  349. package/dist/serviceFeatures/prepareDatabaseForUse.d.ts +20 -0
  350. package/dist/serviceFeatures/prepareDatabaseForUse.js +39 -0
  351. package/dist/serviceFeatures/remoteConfig.d.ts +46 -0
  352. package/dist/serviceFeatures/remoteConfig.js +247 -0
  353. package/dist/serviceFeatures/setupObsidian/qrCode.d.ts +4 -0
  354. package/dist/serviceFeatures/setupObsidian/qrCode.js +67 -0
  355. package/dist/serviceFeatures/setupObsidian/setupUri.d.ts +7 -0
  356. package/dist/serviceFeatures/setupObsidian/setupUri.js +70 -0
  357. package/dist/serviceFeatures/setupObsidian/types.d.ts +2 -0
  358. package/dist/serviceFeatures/setupObsidian/types.js +0 -0
  359. package/dist/serviceFeatures/targetFilter.d.ts +24 -0
  360. package/dist/serviceFeatures/targetFilter.js +178 -0
  361. package/dist/serviceModules/FileAccessBase.d.ts +93 -0
  362. package/dist/serviceModules/FileAccessBase.js +219 -0
  363. package/dist/serviceModules/Rebuilder.d.ts +92 -0
  364. package/dist/serviceModules/Rebuilder.js +449 -0
  365. package/dist/serviceModules/ServiceDatabaseFileAccessBase.d.ts +40 -0
  366. package/dist/serviceModules/ServiceDatabaseFileAccessBase.js +306 -0
  367. package/dist/serviceModules/ServiceFileAccessBase.d.ts +64 -0
  368. package/dist/serviceModules/ServiceFileAccessBase.js +312 -0
  369. package/dist/serviceModules/ServiceFileHandlerBase.d.ts +52 -0
  370. package/dist/serviceModules/ServiceFileHandlerBase.js +493 -0
  371. package/dist/serviceModules/ServiceModuleBase.d.ts +10 -0
  372. package/dist/serviceModules/ServiceModuleBase.js +13 -0
  373. package/dist/serviceModules/adapters/IConversionAdapter.d.ts +15 -0
  374. package/dist/serviceModules/adapters/IConversionAdapter.js +0 -0
  375. package/dist/serviceModules/adapters/IFileSystemAdapter.d.ts +47 -0
  376. package/dist/serviceModules/adapters/IFileSystemAdapter.js +0 -0
  377. package/dist/serviceModules/adapters/IPathAdapter.d.ts +15 -0
  378. package/dist/serviceModules/adapters/IPathAdapter.js +0 -0
  379. package/dist/serviceModules/adapters/IStorageAdapter.d.ts +56 -0
  380. package/dist/serviceModules/adapters/IStorageAdapter.js +0 -0
  381. package/dist/serviceModules/adapters/ITypeGuardAdapter.d.ts +14 -0
  382. package/dist/serviceModules/adapters/ITypeGuardAdapter.js +0 -0
  383. package/dist/serviceModules/adapters/IVaultAdapter.d.ts +51 -0
  384. package/dist/serviceModules/adapters/IVaultAdapter.js +0 -0
  385. package/dist/serviceModules/adapters/index.d.ts +6 -0
  386. package/dist/serviceModules/adapters/index.js +0 -0
  387. package/dist/services/BrowserServices.d.ts +36 -0
  388. package/dist/services/BrowserServices.js +123 -0
  389. package/dist/services/HeadlessServices.d.ts +14 -0
  390. package/dist/services/HeadlessServices.js +144 -0
  391. package/dist/services/InjectableServices.d.ts +1 -0
  392. package/dist/services/InjectableServices.js +4 -0
  393. package/dist/services/ServiceHub.d.ts +82 -0
  394. package/dist/services/ServiceHub.js +66 -0
  395. package/dist/services/base/APIService.d.ts +93 -0
  396. package/dist/services/base/APIService.js +44 -0
  397. package/dist/services/base/AppLifecycleService.d.ts +132 -0
  398. package/dist/services/base/AppLifecycleService.js +123 -0
  399. package/dist/services/base/ConfigService.d.ts +7 -0
  400. package/dist/services/base/ConfigService.js +6 -0
  401. package/dist/services/base/ConflictService.d.ts +54 -0
  402. package/dist/services/base/ConflictService.js +22 -0
  403. package/dist/services/base/ControlService.d.ts +54 -0
  404. package/dist/services/base/ControlService.js +103 -0
  405. package/dist/services/base/DatabaseEventService.d.ts +38 -0
  406. package/dist/services/base/DatabaseEventService.js +38 -0
  407. package/dist/services/base/DatabaseService.d.ts +40 -0
  408. package/dist/services/base/DatabaseService.js +79 -0
  409. package/dist/services/base/FileProcessingService.d.ts +25 -0
  410. package/dist/services/base/FileProcessingService.js +28 -0
  411. package/dist/services/base/IService.d.ts +284 -0
  412. package/dist/services/base/IService.js +1 -0
  413. package/dist/services/base/KeyValueDBService.d.ts +42 -0
  414. package/dist/services/base/KeyValueDBService.js +133 -0
  415. package/dist/services/base/MessageTranslator.d.ts +6 -0
  416. package/dist/services/base/MessageTranslator.js +4 -0
  417. package/dist/services/base/PathService.d.ts +38 -0
  418. package/dist/services/base/PathService.js +66 -0
  419. package/dist/services/base/RemoteService.d.ts +61 -0
  420. package/dist/services/base/RemoteService.js +212 -0
  421. package/dist/services/base/ReplicationService.d.ts +92 -0
  422. package/dist/services/base/ReplicationService.js +261 -0
  423. package/dist/services/base/ReplicatorService.d.ts +66 -0
  424. package/dist/services/base/ReplicatorService.js +164 -0
  425. package/dist/services/base/ServiceBase.d.ts +33 -0
  426. package/dist/services/base/ServiceBase.js +27 -0
  427. package/dist/services/base/SettingService.d.ts +112 -0
  428. package/dist/services/base/SettingService.js +543 -0
  429. package/dist/services/base/TestService.d.ts +28 -0
  430. package/dist/services/base/TestService.js +19 -0
  431. package/dist/services/base/TweakValueService.d.ts +40 -0
  432. package/dist/services/base/TweakValueService.js +6 -0
  433. package/dist/services/base/UnresolvedErrorManager.d.ts +15 -0
  434. package/dist/services/base/UnresolvedErrorManager.js +44 -0
  435. package/dist/services/base/VaultService.d.ts +69 -0
  436. package/dist/services/base/VaultService.js +70 -0
  437. package/dist/services/implements/base/SvelteDialog.d.ts +79 -0
  438. package/dist/services/implements/base/SvelteDialog.js +134 -0
  439. package/dist/services/implements/base/UIService.d.ts +24 -0
  440. package/dist/services/implements/base/UIService.js +37 -0
  441. package/dist/services/implements/browser/BrowserAPIService.d.ts +54 -0
  442. package/dist/services/implements/browser/BrowserAPIService.js +298 -0
  443. package/dist/services/implements/browser/BrowserDatabaseService.d.ts +7 -0
  444. package/dist/services/implements/browser/BrowserDatabaseService.js +10 -0
  445. package/dist/services/implements/browser/ConfigServiceBrowserCompat.d.ts +16 -0
  446. package/dist/services/implements/browser/ConfigServiceBrowserCompat.js +23 -0
  447. package/dist/services/implements/headless/HeadlessAPIService.d.ts +52 -0
  448. package/dist/services/implements/headless/HeadlessAPIService.js +127 -0
  449. package/dist/services/implements/headless/HeadlessDatabaseService.d.ts +7 -0
  450. package/dist/services/implements/headless/HeadlessDatabaseService.js +10 -0
  451. package/dist/services/implements/injectable/InjectableAPIService.d.ts +7 -0
  452. package/dist/services/implements/injectable/InjectableAPIService.js +18 -0
  453. package/dist/services/implements/injectable/InjectableAppLifecycleService.d.ts +11 -0
  454. package/dist/services/implements/injectable/InjectableAppLifecycleService.js +14 -0
  455. package/dist/services/implements/injectable/InjectableConflictService.d.ts +11 -0
  456. package/dist/services/implements/injectable/InjectableConflictService.js +14 -0
  457. package/dist/services/implements/injectable/InjectableDatabaseEventService.d.ts +4 -0
  458. package/dist/services/implements/injectable/InjectableDatabaseEventService.js +7 -0
  459. package/dist/services/implements/injectable/InjectableFileProcessingService.d.ts +4 -0
  460. package/dist/services/implements/injectable/InjectableFileProcessingService.js +6 -0
  461. package/dist/services/implements/injectable/InjectablePathService.d.ts +12 -0
  462. package/dist/services/implements/injectable/InjectablePathService.js +36 -0
  463. package/dist/services/implements/injectable/InjectableRemoteService.d.ts +4 -0
  464. package/dist/services/implements/injectable/InjectableRemoteService.js +7 -0
  465. package/dist/services/implements/injectable/InjectableReplicationService.d.ts +4 -0
  466. package/dist/services/implements/injectable/InjectableReplicationService.js +6 -0
  467. package/dist/services/implements/injectable/InjectableReplicatorService.d.ts +4 -0
  468. package/dist/services/implements/injectable/InjectableReplicatorService.js +7 -0
  469. package/dist/services/implements/injectable/InjectableServiceHub.d.ts +72 -0
  470. package/dist/services/implements/injectable/InjectableServiceHub.js +125 -0
  471. package/dist/services/implements/injectable/InjectableServices.d.ts +36 -0
  472. package/dist/services/implements/injectable/InjectableServices.js +1 -0
  473. package/dist/services/implements/injectable/InjectableSettingService.d.ts +11 -0
  474. package/dist/services/implements/injectable/InjectableSettingService.js +33 -0
  475. package/dist/services/implements/injectable/InjectableTestService.d.ts +5 -0
  476. package/dist/services/implements/injectable/InjectableTestService.js +8 -0
  477. package/dist/services/implements/injectable/InjectableTweakValueService.d.ts +15 -0
  478. package/dist/services/implements/injectable/InjectableTweakValueService.js +12 -0
  479. package/dist/services/implements/injectable/InjectableVaultService.d.ts +9 -0
  480. package/dist/services/implements/injectable/InjectableVaultService.js +20 -0
  481. package/dist/services/lib/HandlerUtils.d.ts +374 -0
  482. package/dist/services/lib/HandlerUtils.js +412 -0
  483. package/dist/services/lib/logUtils.d.ts +13 -0
  484. package/dist/services/lib/logUtils.js +28 -0
  485. package/dist/services/lib/remoteActivity.d.ts +13 -0
  486. package/dist/services/lib/remoteActivity.js +11 -0
  487. package/dist/string_and_binary/chunks.d.ts +10 -0
  488. package/dist/string_and_binary/chunks.js +561 -0
  489. package/dist/string_and_binary/convert.d.ts +8 -0
  490. package/dist/string_and_binary/convert.js +46 -0
  491. package/dist/string_and_binary/hash.d.ts +2 -0
  492. package/dist/string_and_binary/hash.js +1 -0
  493. package/dist/string_and_binary/path.d.ts +35 -0
  494. package/dist/string_and_binary/path.js +240 -0
  495. package/dist/worker/bg.common.d.ts +2 -0
  496. package/dist/worker/bg.common.js +6 -0
  497. package/dist/worker/bg.worker.d.ts +1 -0
  498. package/dist/worker/bg.worker.encryption.d.ts +7 -0
  499. package/dist/worker/bg.worker.encryption.js +30 -0
  500. package/dist/worker/bg.worker.js +14 -0
  501. package/dist/worker/bg.worker.splitting.d.ts +6 -0
  502. package/dist/worker/bg.worker.splitting.js +36 -0
  503. package/dist/worker/bgWorker.d.ts +25 -0
  504. package/dist/worker/bgWorker.direct.d.ts +40 -0
  505. package/dist/worker/bgWorker.direct.js +65 -0
  506. package/dist/worker/bgWorker.encryption.d.ts +22 -0
  507. package/dist/worker/bgWorker.encryption.js +40 -0
  508. package/dist/worker/bgWorker.js +348 -0
  509. package/dist/worker/bgWorker.splitting.d.ts +27 -0
  510. package/dist/worker/bgWorker.splitting.js +123 -0
  511. package/dist/worker/universalTypes.d.ts +63 -0
  512. package/dist/worker/universalTypes.js +4 -0
  513. package/docs/development.md +51 -0
  514. package/docs/platform-storage.md +60 -0
  515. package/docs/releasing.md +69 -0
  516. package/package.json +693 -0
@@ -0,0 +1,412 @@
1
+ import { promiseWithResolvers } from "octagonal-wheels/promises";
2
+ import { LOG_LEVEL_VERBOSE, Logger } from "../../common/logger.js";
3
+ class Binder {
4
+ _name;
5
+ /**
6
+ * Creates a new Binder instance.
7
+ * @param name The name of the handler.
8
+ * @param initialCallback An optional initial callback function to assign.
9
+ */
10
+ constructor(name, initialCallback) {
11
+ this._name = name;
12
+ if (initialCallback) {
13
+ this._callback = initialCallback;
14
+ }
15
+ }
16
+ _callback = null;
17
+ /**
18
+ * Assigns a new handler function.
19
+ * @param callback The new handler function to assign.
20
+ */
21
+ assign(callback, override = false) {
22
+ if (this._callback && !override) {
23
+ throw new Error(`Handler ${this._name} is already assigned.`);
24
+ }
25
+ this._callback = callback;
26
+ return () => {
27
+ this._callback = null;
28
+ };
29
+ }
30
+ /**
31
+ * Invokes the assigned handler function with the provided arguments.
32
+ * @param args The arguments to pass to the handler function.
33
+ * @returns The result of the handler function.
34
+ */
35
+ invoke(...args) {
36
+ if (this._callback) {
37
+ return this._callback(...args);
38
+ }
39
+ throw new Error(`Handler ${this._name} is not assigned.`);
40
+ }
41
+ }
42
+ class LazyBinder {
43
+ _name;
44
+ _callbackPromise = promiseWithResolvers();
45
+ _callback = null;
46
+ /**
47
+ * Creates a new LazyBinder instance.
48
+ * @param name The name of the handler.
49
+ * @param initialCallback An optional initial callback function to assign.
50
+ */
51
+ constructor(name, initialCallback) {
52
+ this._name = name;
53
+ if (initialCallback) {
54
+ this._callback = initialCallback;
55
+ this._callbackPromise.resolve();
56
+ }
57
+ }
58
+ assign(callback, override = false) {
59
+ if (this._callback && !override) {
60
+ throw new Error(`Handler ${this._name} is already assigned.`);
61
+ }
62
+ this._callback = callback;
63
+ this._callbackPromise.resolve();
64
+ return () => {
65
+ this._callback = null;
66
+ this._callbackPromise = promiseWithResolvers();
67
+ };
68
+ }
69
+ /**
70
+ * Invokes the assigned handler function with the provided arguments.
71
+ * @param args The arguments to pass to the handler function.
72
+ * @returns The result of the handler function.
73
+ */
74
+ async invoke(...args) {
75
+ await this._callbackPromise.promise;
76
+ if (this._callback) {
77
+ return await this._callback(...args);
78
+ }
79
+ throw new Error(`Handler ${this._name} is not assigned.`);
80
+ }
81
+ }
82
+ class MultiBinder {
83
+ _name;
84
+ /**
85
+ * Creates a new MultiBinder instance.
86
+ * @param name The name of the handler.
87
+ */
88
+ constructor(name) {
89
+ this._name = name;
90
+ }
91
+ _callbackMap = /* @__PURE__ */ new Map();
92
+ _isCallbackDirty = false;
93
+ _maxUsedPriority = 0;
94
+ /**
95
+ * Adds a handler function.
96
+ * Note: The same function is only added once.
97
+ * @param callback The handler function to add.
98
+ * @param priority The priority of the handler, Do not use floating numbers to prevent confusion.
99
+ * @returns A function to unregister the added handler.
100
+ *
101
+ */
102
+ addHandler(callback, priority = 0, allowSwap = false) {
103
+ this._callbackMap.set(callback, [priority, this._maxUsedPriority++]);
104
+ this._isCallbackDirty = true;
105
+ const unregister = () => {
106
+ this.removeHandler(callback);
107
+ this._isCallbackDirty = true;
108
+ };
109
+ return unregister;
110
+ }
111
+ /**
112
+ * Removes a handler function.
113
+ * @param callback The handler function to remove.
114
+ */
115
+ removeHandler(callback) {
116
+ this._callbackMap.delete(callback);
117
+ this._isCallbackDirty = true;
118
+ }
119
+ /**
120
+ * Adds a handler function (alias of addHandler, but more semantic).
121
+ * @param callback
122
+ * @returns
123
+ */
124
+ use(callback, priority = 0) {
125
+ return this.addHandler(callback, priority);
126
+ }
127
+ _sortedCallbacks = [];
128
+ get _callbacks() {
129
+ if (this._isCallbackDirty) {
130
+ this._sortedCallbacks = Array.from(this._callbackMap.entries()).sort((a, b) => {
131
+ const [priorityA, registerOrderA] = a[1];
132
+ const [priorityB, registerOrderB] = b[1];
133
+ if (priorityA !== priorityB) {
134
+ return priorityA - priorityB;
135
+ }
136
+ return registerOrderA - registerOrderB;
137
+ }).map((entry) => entry[0]);
138
+ this._isCallbackDirty = false;
139
+ }
140
+ return this._sortedCallbacks;
141
+ }
142
+ }
143
+ class Dispatch extends MultiBinder {
144
+ /**
145
+ * Dispatches the event to all registered handlers sequentially.
146
+ * @param args The arguments to pass to the handlers.
147
+ * @returns An array of results or errors from each handler.
148
+ */
149
+ async dispatch(...args) {
150
+ const results = [];
151
+ const _callbacks = [...this._callbacks];
152
+ for (const callback of _callbacks) {
153
+ try {
154
+ const result = await Promise.resolve(callback(...args));
155
+ results.push(result);
156
+ } catch (error) {
157
+ const err = error instanceof Error ? error : new Error(String(error));
158
+ results.push(err);
159
+ }
160
+ }
161
+ return results;
162
+ }
163
+ }
164
+ class DispatchParallel extends MultiBinder {
165
+ /**
166
+ * Dispatches the event to all registered handlers in parallel.
167
+ * @param args The arguments to pass to the handlers.
168
+ * @returns An array of results or errors from each handler.
169
+ */
170
+ dispatch(...args) {
171
+ const callbacks = [...this._callbacks];
172
+ const promises = callbacks.map(async (callback) => {
173
+ try {
174
+ const result = await Promise.resolve(callback(...args));
175
+ return result;
176
+ } catch (error) {
177
+ const err = error instanceof Error ? error : new Error(String(error));
178
+ return err;
179
+ }
180
+ });
181
+ const results = Promise.all(promises);
182
+ return results;
183
+ }
184
+ }
185
+ class BooleanHandlerBase extends MultiBinder {
186
+ }
187
+ class AllHandler extends BooleanHandlerBase {
188
+ /**
189
+ * Invoke all handlers sequentially until one returns false.
190
+ * @param args The arguments to pass to the handlers.
191
+ * @returns A Promise that resolves to true if all handlers return true, otherwise false.
192
+ */
193
+ async invoke(...args) {
194
+ const _callbacks = [...this._callbacks];
195
+ for (const callback of _callbacks) {
196
+ try {
197
+ const result = await Promise.resolve(callback(...args));
198
+ if (result === false) {
199
+ return false;
200
+ }
201
+ } catch (error) {
202
+ Logger(`AllHandler ${this._name} treated error as failure!`, LOG_LEVEL_VERBOSE);
203
+ Logger(error, LOG_LEVEL_VERBOSE);
204
+ return false;
205
+ }
206
+ }
207
+ return true;
208
+ }
209
+ }
210
+ class ParallelAllHandler extends BooleanHandlerBase {
211
+ /**
212
+ * Invoke all handlers in parallel
213
+ * @param args The arguments to pass to the handlers.
214
+ * @returns True if all handlers return true, otherwise false.
215
+ */
216
+ async invoke(...args) {
217
+ const callbacks = [...this._callbacks];
218
+ const promises = callbacks.map(async (callback) => {
219
+ try {
220
+ const result = await Promise.resolve(callback(...args));
221
+ return result;
222
+ } catch (error) {
223
+ Logger(`ParallelAllHandler ${this._name} treated error as failure!`, LOG_LEVEL_VERBOSE);
224
+ Logger(error, LOG_LEVEL_VERBOSE);
225
+ return false;
226
+ }
227
+ });
228
+ const results = await Promise.all(promises);
229
+ return results.every((res) => res === true);
230
+ }
231
+ }
232
+ class AnySuccessHandler extends BooleanHandlerBase {
233
+ /**
234
+ * Invokes handlers sequentially until one returns true.
235
+ * @param args The arguments to pass to the handlers.
236
+ * @returns True if any handler returns true, otherwise false.
237
+ */
238
+ async invoke(...args) {
239
+ const _callbacks = [...this._callbacks];
240
+ for (const callback of _callbacks) {
241
+ try {
242
+ const result = await Promise.resolve(callback(...args));
243
+ if (result === true) {
244
+ return true;
245
+ }
246
+ } catch (error) {
247
+ Logger(`FirstSuccessHandler ${this._name} ignored error!`, LOG_LEVEL_VERBOSE);
248
+ Logger(error, LOG_LEVEL_VERBOSE);
249
+ }
250
+ }
251
+ return false;
252
+ }
253
+ }
254
+ class FirstResultHandler extends MultiBinder {
255
+ /**
256
+ * Invokes handlers sequentially until one returns a non-falsy value.
257
+ * @param args The arguments to pass to the handlers.
258
+ * @returns The first non-falsy result from the handlers, or false if none found.
259
+ */
260
+ async invoke(...args) {
261
+ const _callbacks = [...this._callbacks];
262
+ for (const callback of _callbacks) {
263
+ try {
264
+ const result = await Promise.resolve(callback(...args));
265
+ if (result !== void 0 && result !== false) {
266
+ return result;
267
+ }
268
+ } catch (error) {
269
+ Logger(`FirstResultHandler ${this._name} ignored error!`, LOG_LEVEL_VERBOSE);
270
+ Logger(error, LOG_LEVEL_VERBOSE);
271
+ }
272
+ }
273
+ return false;
274
+ }
275
+ }
276
+ function getMultipleBound(handler) {
277
+ const _handler = "invoke" in handler ? handler.invoke : handler.dispatch;
278
+ const __handler = _handler.bind(handler);
279
+ const func = (...args) => {
280
+ return __handler(...args);
281
+ };
282
+ func.addHandler = handler.addHandler.bind(handler);
283
+ func.removeHandler = handler.removeHandler.bind(handler);
284
+ func.use = handler;
285
+ return func;
286
+ }
287
+ function allFunction(name) {
288
+ const handler = new AllHandler(name ?? "handleAllFunc");
289
+ return getMultipleBound(handler);
290
+ }
291
+ function bailFirstFailureFunction(name) {
292
+ const handler = new AllHandler(name ?? "bailFirstFailureFunction");
293
+ return getMultipleBound(handler);
294
+ }
295
+ function allParallelFunction(name) {
296
+ const handler = new ParallelAllHandler(name ?? "allParallelFunction");
297
+ return getMultipleBound(handler);
298
+ }
299
+ function anySuccessFunction(name) {
300
+ const handler = new AnySuccessHandler(name ?? "anySuccessFunction");
301
+ return getMultipleBound(handler);
302
+ }
303
+ function firstResultFunction(name) {
304
+ const handler = new FirstResultHandler(name ?? "firstResultFunction");
305
+ return getMultipleBound(handler);
306
+ }
307
+ function dispatchParallelFunction(name) {
308
+ const handler = new DispatchParallel(
309
+ name ?? "dispatchParallelFunction"
310
+ );
311
+ return getMultipleBound(handler);
312
+ }
313
+ function bindableFunction(name) {
314
+ const handler = new Binder(name ?? "bindableFunction");
315
+ const func = (...args) => {
316
+ return handler.invoke(...args);
317
+ };
318
+ func.setHandler = handler.assign.bind(handler);
319
+ return func;
320
+ }
321
+ function lazyBindableFunction(name) {
322
+ const handler = new LazyBinder(name ?? "lazyBindableFunction");
323
+ const func = async (...args) => {
324
+ return await handler.invoke(...args);
325
+ };
326
+ func.setHandler = handler.assign.bind(handler);
327
+ return func;
328
+ }
329
+ function handlers() {
330
+ return {
331
+ /**
332
+ * Create a handler that invokes all added handler functions sequentially until one returns false.
333
+ * @param name
334
+ * @returns
335
+ */
336
+ all(name) {
337
+ return allFunction(String(name));
338
+ },
339
+ /**
340
+ * Create a handler that invokes all added handler functions in parallel and returns true only if all return true.
341
+ * @param name
342
+ * @returns
343
+ */
344
+ allParallel(name) {
345
+ return allParallelFunction(String(name));
346
+ },
347
+ /**
348
+ * Create a handler that invokes all added handler functions sequentially until one returns false.
349
+ * @param name
350
+ * @returns
351
+ */
352
+ bailFirstFailure(name) {
353
+ return bailFirstFailureFunction(String(name));
354
+ },
355
+ /**
356
+ * Create a handler that invokes all added handler functions sequentially until one returns true.
357
+ * @param name
358
+ * @returns
359
+ */
360
+ anySuccess(name) {
361
+ return anySuccessFunction(String(name));
362
+ },
363
+ /**
364
+ * Create a handler that invokes all added handler functions sequentially until one returns a non-falsy value.
365
+ * @param name
366
+ * @returns
367
+ */
368
+ firstResult(name) {
369
+ return firstResultFunction(String(name));
370
+ },
371
+ /**
372
+ * Create a handler that invokes all added handler functions in parallel.
373
+ * @param name
374
+ * @returns
375
+ */
376
+ dispatchParallel(name) {
377
+ return dispatchParallelFunction(String(name));
378
+ },
379
+ /**
380
+ * Create a binder handler that can assign a single handler function.
381
+ * @param name
382
+ * @returns
383
+ */
384
+ binder(name) {
385
+ return bindableFunction(String(name));
386
+ },
387
+ lazyBinder(name) {
388
+ return lazyBindableFunction(String(name));
389
+ }
390
+ };
391
+ }
392
+ export {
393
+ AllHandler,
394
+ AnySuccessHandler,
395
+ Binder,
396
+ BooleanHandlerBase,
397
+ Dispatch,
398
+ DispatchParallel,
399
+ FirstResultHandler,
400
+ LazyBinder,
401
+ MultiBinder,
402
+ ParallelAllHandler,
403
+ allFunction,
404
+ allParallelFunction,
405
+ anySuccessFunction,
406
+ bailFirstFailureFunction,
407
+ bindableFunction,
408
+ dispatchParallelFunction,
409
+ firstResultFunction,
410
+ handlers,
411
+ lazyBindableFunction
412
+ };
@@ -0,0 +1,13 @@
1
+ import { type LOG_LEVEL } from "octagonal-wheels/common/logger";
2
+ import type { IAPIService } from "../base/IService.js";
3
+ export declare const MARK_LOG_SEPARATOR = "\u200A";
4
+ export declare const MARK_LOG_NETWORK_ERROR = "\u200B";
5
+ /**
6
+ * Creates a log function that prefixes messages with the service name and uses the provided APIService's addLog method if available.
7
+ * If APIService is not provided, it falls back to using the global Logger function.
8
+ * @param serviceName The name of the service to prefix log messages with.
9
+ * @param APIService An optional APIService instance to use for logging.
10
+ * @returns A log function that can be used to log messages with the specified service name and APIService.
11
+ */
12
+ export declare function createInstanceLogFunction(serviceName: string, APIService?: IAPIService): (msg: unknown, level?: LOG_LEVEL, key?: string) => void;
13
+ export type LogFunction = ReturnType<typeof createInstanceLogFunction>;
@@ -0,0 +1,28 @@
1
+ import {
2
+ LOG_LEVEL_INFO,
3
+ LOG_LEVEL_NOTICE,
4
+ LOG_LEVEL_VERBOSE,
5
+ Logger
6
+ } from "octagonal-wheels/common/logger";
7
+ const MARK_LOG_SEPARATOR = "\u200A";
8
+ const MARK_LOG_NETWORK_ERROR = "\u200B";
9
+ function createInstanceLogFunction(serviceName, APIService) {
10
+ const logFunc = APIService?.addLog.bind(APIService) ?? Logger;
11
+ return (msg, level = LOG_LEVEL_INFO, key = "") => {
12
+ const isError = msg instanceof Error;
13
+ if (isError && level <= LOG_LEVEL_VERBOSE) {
14
+ logFunc(msg, level, key);
15
+ return;
16
+ }
17
+ let formattedMsg = typeof msg === "string" ? msg : isError ? msg.message : JSON.stringify(msg);
18
+ if (level < LOG_LEVEL_NOTICE) {
19
+ formattedMsg = `[${serviceName}]${MARK_LOG_SEPARATOR} ${formattedMsg}`;
20
+ }
21
+ logFunc(formattedMsg, level, key);
22
+ };
23
+ }
24
+ export {
25
+ MARK_LOG_NETWORK_ERROR,
26
+ MARK_LOG_SEPARATOR,
27
+ createInstanceLogFunction
28
+ };
@@ -0,0 +1,13 @@
1
+ import type { ReactiveSource } from "octagonal-wheels/dataobject/reactive";
2
+ export type TrackedPhysicalRequestCounters = {
3
+ requestCount: ReactiveSource<number>;
4
+ responseCount: ReactiveSource<number>;
5
+ };
6
+ /**
7
+ * Tracks one physical-request unit for status reporting.
8
+ *
9
+ * A unit may be an exact transport attempt or a higher-level SDK command. The
10
+ * resulting in-flight count is deliberately approximate and must not be used
11
+ * for protocol correctness, throttling, or completion decisions.
12
+ */
13
+ export declare function runWithTrackedPhysicalRequest<T>(counters: TrackedPhysicalRequestCounters, task: () => T | PromiseLike<T>): Promise<T>;
@@ -0,0 +1,11 @@
1
+ async function runWithTrackedPhysicalRequest(counters, task) {
2
+ counters.requestCount.value++;
3
+ try {
4
+ return await task();
5
+ } finally {
6
+ counters.responseCount.value++;
7
+ }
8
+ }
9
+ export {
10
+ runWithTrackedPhysicalRequest
11
+ };
@@ -0,0 +1,10 @@
1
+ export declare function splitPiecesTextV2(dataSrc: string | string[], pieceSize: number, minimumChunkSize: number): () => Generator<string>;
2
+ export declare function binaryTextSplit(data: string, pieceSize: number, minimumChunkSize: number): () => Generator<string>;
3
+ export declare function splitPiecesText(dataSrc: string | string[], pieceSize: number, plainSplit: boolean, minimumChunkSize: number, useSegmenter: boolean): () => Generator<string>;
4
+ export declare function splitPiecesTextV1(dataSrc: string | string[], pieceSize: number, plainSplit: boolean, minimumChunkSize: number): () => Generator<string>;
5
+ export declare function collectGenAll(strGen: AsyncGenerator<string, unknown, unknown> | Generator<string>): Promise<string[]>;
6
+ export declare function concatGeneratedAll(strGen: AsyncGenerator<string, unknown, unknown> | Generator<string>): Promise<string>;
7
+ export declare function splitPieces2V2(dataSrc: Blob, pieceSize: number, plainSplit: boolean, minimumChunkSize: number, filename?: string, useSegmenter?: boolean): Promise<(() => Generator<string>) | (() => AsyncGenerator<string>)>;
8
+ export declare function splitPieces2(dataSrc: Blob, pieceSize: number, plainSplit: boolean, minimumChunkSize: number, filename?: string, useSegmenter?: boolean): Promise<(() => Generator<string>) | (() => AsyncGenerator<string>)>;
9
+ export declare function splitPiecesRabinKarp(dataSrc: Blob, absoluteMaxPieceSize: number, doPlainSplit: boolean, minimumChunkSize: number, _filename?: string, _useSegmenter?: boolean): Promise<() => AsyncGenerator<string, void, unknown>>;
10
+ export declare function splitPiecesRabinKarpOld(dataSrc: Blob, absoluteMaxPieceSize: number, doPlainSplit: boolean, minimumChunkSize: number, _filename?: string, _useSegmenter?: boolean): Promise<() => AsyncGenerator<string, void, unknown>>;