@vrtmrz/livesync-commonlib 0.1.0-rc.0 → 0.1.0-rc.10

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 (148) hide show
  1. package/README.md +101 -17
  2. package/dist/API/DirectFileManipulatorV2.d.ts +3 -0
  3. package/dist/common/configForDoc.d.ts +1 -0
  4. package/dist/common/configForDoc.js +24 -7
  5. package/dist/common/models/setting.const.defaults.d.ts +19 -0
  6. package/dist/common/models/setting.const.defaults.js +21 -2
  7. package/dist/common/models/setting.const.preferred.js +1 -2
  8. package/dist/common/models/setting.lifecycle.d.ts +33 -0
  9. package/dist/common/models/setting.lifecycle.js +121 -0
  10. package/dist/common/models/setting.type.d.ts +10 -4
  11. package/dist/common/models/shared.definition.configNames.js +3 -3
  12. package/dist/common/models/tweak.definition.d.ts +1 -1
  13. package/dist/common/models/tweak.definition.js +1 -6
  14. package/dist/common/settingConstants.d.ts +3 -2
  15. package/dist/common/settingConstants.js +6 -6
  16. package/dist/common/types.d.ts +4 -2
  17. package/dist/common/types.js +16 -1
  18. package/dist/context.d.ts +3 -1
  19. package/dist/context.js +4 -0
  20. package/dist/interfaces/Confirm.d.ts +10 -2
  21. package/dist/interfaces/DatabaseFileAccess.d.ts +8 -0
  22. package/dist/interfaces/DatabaseRebuilder.d.ts +12 -2
  23. package/dist/interfaces/FileReflectionProvenance.d.ts +32 -0
  24. package/dist/interfaces/FileReflectionProvenance.js +25 -0
  25. package/dist/managers/ConflictManager.js +16 -7
  26. package/dist/managers/EntryManager/EntryManager.d.ts +1 -0
  27. package/dist/managers/EntryManager/EntryManager.js +5 -1
  28. package/dist/managers/EntryManager/EntryManagerImpls.d.ts +1 -0
  29. package/dist/managers/EntryManager/EntryManagerImpls.js +29 -1
  30. package/dist/platform/node/index.d.ts +1 -0
  31. package/dist/platform/node/index.js +4 -0
  32. package/dist/platform/node/standardIo.d.ts +24 -0
  33. package/dist/platform/node/standardIo.js +39 -0
  34. package/dist/platform/node/storage.d.ts +10 -1
  35. package/dist/platform/node/storage.js +86 -25
  36. package/dist/platform/standardIo.d.ts +19 -0
  37. package/dist/platform/standardIo.js +0 -0
  38. package/dist/pouchdb/LiveSyncLocalDB.d.ts +1 -0
  39. package/dist/pouchdb/LiveSyncLocalDB.js +3 -0
  40. package/dist/remoteConfigurations.d.ts +9 -0
  41. package/dist/remoteConfigurations.js +14 -0
  42. package/dist/replication/LiveSyncAbstractReplicator.d.ts +3 -3
  43. package/dist/replication/couchdb/LiveSyncReplicator.d.ts +0 -1
  44. package/dist/replication/couchdb/LiveSyncReplicator.js +0 -3
  45. package/dist/replication/journal/LiveSyncJournalReplicator.d.ts +0 -1
  46. package/dist/replication/journal/LiveSyncJournalReplicator.js +0 -3
  47. package/dist/replication/trystero/LiveSyncTrysteroReplicator.d.ts +5 -3
  48. package/dist/replication/trystero/LiveSyncTrysteroReplicator.js +42 -30
  49. package/dist/replication/trystero/P2PReplicatorCore.d.ts +2 -6
  50. package/dist/replication/trystero/P2PReplicatorCore.js +16 -86
  51. package/dist/replication/trystero/TrysteroReplicator.d.ts +2 -1
  52. package/dist/replication/trystero/TrysteroReplicator.js +10 -4
  53. package/dist/replication/trystero/TrysteroReplicatorP2PServer.d.ts +4 -5
  54. package/dist/replication/trystero/TrysteroReplicatorP2PServer.js +22 -30
  55. package/dist/replication/trystero/UseP2PReplicatorResult.d.ts +10 -2
  56. package/dist/replication/trystero/addP2PEventHandlers.d.ts +4 -2
  57. package/dist/replication/trystero/addP2PEventHandlers.js +9 -10
  58. package/dist/replication/trystero/types.d.ts +2 -0
  59. package/dist/replication/trystero/useP2PReplicatorCommands.d.ts +1 -1
  60. package/dist/replication/trystero/useP2PReplicatorCommands.js +3 -1
  61. package/dist/replication/trystero/useP2PReplicatorFeature.js +25 -15
  62. package/dist/rpc/RpcRoom.d.ts +1 -1
  63. package/dist/rpc/RpcRoom.js +22 -16
  64. package/dist/rpc/transports/TrysteroTransport.d.ts +2 -0
  65. package/dist/rpc/transports/TrysteroTransport.js +24 -17
  66. package/dist/rpc/transports/trysteroRoomEvents.d.ts +14 -0
  67. package/dist/rpc/transports/trysteroRoomEvents.js +34 -0
  68. package/dist/serviceFeatures/checkRemoteSize.d.ts +5 -3
  69. package/dist/serviceFeatures/checkRemoteSize.js +51 -11
  70. package/dist/serviceFeatures/remoteConfig.d.ts +37 -1
  71. package/dist/serviceFeatures/remoteConfig.js +90 -0
  72. package/dist/serviceModules/Rebuilder.d.ts +3 -6
  73. package/dist/serviceModules/Rebuilder.js +31 -22
  74. package/dist/serviceModules/ServiceDatabaseFileAccessBase.d.ts +5 -0
  75. package/dist/serviceModules/ServiceDatabaseFileAccessBase.js +69 -13
  76. package/dist/serviceModules/ServiceFileHandlerBase.d.ts +20 -0
  77. package/dist/serviceModules/ServiceFileHandlerBase.js +224 -40
  78. package/dist/services/BrowserServices.d.ts +2 -0
  79. package/dist/services/BrowserServices.js +4 -1
  80. package/dist/services/HeadlessServices.d.ts +2 -0
  81. package/dist/services/HeadlessServices.js +2 -1
  82. package/dist/services/base/CommonlibMessages.d.ts +318 -0
  83. package/dist/services/base/CommonlibMessages.js +313 -0
  84. package/dist/services/base/IService.d.ts +13 -6
  85. package/dist/services/base/KeyValueDBService.d.ts +1 -1
  86. package/dist/services/base/KeyValueDBService.js +3 -1
  87. package/dist/services/base/MessageTranslator.d.ts +5 -2
  88. package/dist/services/base/MessageTranslator.js +21 -0
  89. package/dist/services/base/ReplicationService.d.ts +4 -2
  90. package/dist/services/base/ReplicationService.js +11 -16
  91. package/dist/services/base/ServiceBase.d.ts +1 -1
  92. package/dist/services/base/ServiceBase.js +2 -4
  93. package/dist/services/base/SettingService.d.ts +17 -9
  94. package/dist/services/base/SettingService.js +38 -19
  95. package/dist/services/implements/headless/HeadlessAPIService.d.ts +3 -3
  96. package/dist/services/implements/headless/HeadlessAPIService.js +2 -2
  97. package/dist/services/implements/injectable/InjectableTweakValueService.d.ts +3 -3
  98. package/dist/settings.d.ts +10 -0
  99. package/dist/settings.js +32 -0
  100. package/dist/worker/bgWorker.js +1 -1
  101. package/docs/conflict-resolution.md +153 -0
  102. package/docs/development.md +108 -8
  103. package/docs/p2p-transport-lifecycle.md +62 -0
  104. package/docs/platform-standard-io.md +44 -0
  105. package/docs/platform-storage.md +4 -0
  106. package/docs/proven-in-use.md +65 -0
  107. package/docs/releasing.md +26 -6
  108. package/docs/remote-configurations.md +63 -0
  109. package/docs/settings-lifecycle.md +85 -0
  110. package/package.json +17 -27
  111. package/dist/common/i18n.d.ts +0 -18
  112. package/dist/common/i18n.js +0 -7193
  113. package/dist/common/messages/combinedMessages.dev.d.ts +0 -7
  114. package/dist/common/messages/combinedMessages.dev.js +0 -44
  115. package/dist/common/messages/combinedMessages.prod.d.ts +0 -9264
  116. package/dist/common/messages/combinedMessages.prod.js +0 -9271
  117. package/dist/common/messages/de.d.ts +0 -297
  118. package/dist/common/messages/de.js +0 -7
  119. package/dist/common/messages/def.d.ts +0 -1119
  120. package/dist/common/messages/def.js +0 -7
  121. package/dist/common/messages/es.d.ts +0 -689
  122. package/dist/common/messages/es.js +0 -7
  123. package/dist/common/messages/fr.d.ts +0 -582
  124. package/dist/common/messages/fr.js +0 -7
  125. package/dist/common/messages/he.d.ts +0 -583
  126. package/dist/common/messages/he.js +0 -7
  127. package/dist/common/messages/ja.d.ts +0 -838
  128. package/dist/common/messages/ja.js +0 -7
  129. package/dist/common/messages/ko.d.ts +0 -800
  130. package/dist/common/messages/ko.js +0 -7
  131. package/dist/common/messages/ru.d.ts +0 -858
  132. package/dist/common/messages/ru.js +0 -7
  133. package/dist/common/messages/zh-tw.d.ts +0 -384
  134. package/dist/common/messages/zh-tw.js +0 -7
  135. package/dist/common/messages/zh.d.ts +0 -1093
  136. package/dist/common/messages/zh.js +0 -7
  137. package/dist/common/messagesJson/de.json +0 -295
  138. package/dist/common/messagesJson/en.json +0 -1117
  139. package/dist/common/messagesJson/es.json +0 -687
  140. package/dist/common/messagesJson/fr.json +0 -580
  141. package/dist/common/messagesJson/he.json +0 -581
  142. package/dist/common/messagesJson/ja.json +0 -836
  143. package/dist/common/messagesJson/ko.json +0 -798
  144. package/dist/common/messagesJson/ru.json +0 -856
  145. package/dist/common/messagesJson/zh-tw.json +0 -382
  146. package/dist/common/messagesJson/zh.json +0 -1091
  147. package/dist/common/rosetta.d.ts +0 -42
  148. package/dist/common/rosetta.js +0 -57
@@ -0,0 +1,63 @@
1
+ # Remote configuration profiles
2
+
3
+ Commonlib represents saved remote connections as independently named profiles. The profile map is the persisted source for multiple-remote selection. Existing CouchDB, Object Storage, and P2P fields remain the runtime projection consumed by compatibility services.
4
+
5
+ Use the focused entry point for new profile-management code:
6
+
7
+ ```ts
8
+ import {
9
+ upsertRemoteConfigurationInPlace,
10
+ type RemoteConfiguration,
11
+ } from "@vrtmrz/livesync-commonlib/remote-configurations";
12
+ import { createNewVaultSettings } from "@vrtmrz/livesync-commonlib/settings";
13
+
14
+ const settings = createNewVaultSettings();
15
+ Object.assign(settings, {
16
+ couchDB_URI: "https://couch.example",
17
+ couchDB_USER: "alice",
18
+ couchDB_PASSWORD: "secret",
19
+ couchDB_DBNAME: "notes",
20
+ });
21
+
22
+ const profile: RemoteConfiguration = upsertRemoteConfigurationInPlace(settings, "couchdb", {
23
+ activate: true,
24
+ });
25
+ ```
26
+
27
+ The helper serialises the connection fields into the profile URI. When `activate` is true, it selects that profile through `activeConfigurationId` and projects the profile back onto the compatibility fields. The host still owns persistence, restart policy, credential acquisition, and user confirmation.
28
+
29
+ ## Identity and display names
30
+
31
+ Profile IDs are opaque identity. Omit `id` to allocate a new one and preserve every existing profile. Pass a known `id` only when deliberately updating that profile.
32
+
33
+ Display names are presentation, not identity. When `name` is omitted, Commonlib proposes a concise type-specific name such as `CouchDB couch.example`, `S3 notes`, or `P2P team-room`. It adds a numeric suffix when that display name is already present. A host may let users rename profiles without changing their IDs or selections.
34
+
35
+ There is no special profile named or identified as `default`. The selected main remote is represented only by `activeConfigurationId`.
36
+
37
+ ## Main and P2P selections
38
+
39
+ `activeConfigurationId` selects the main remote used by ordinary replication. `P2P_ActiveRemoteConfigurationId` independently selects the profile used by P2P features.
40
+
41
+ - Use `{ activate: true }` for a CouchDB or Object Storage profile selected as the main remote.
42
+ - Use `{ activate: true, activateForP2P: true }` when P2P is the main remote.
43
+ - Use `{ activateForP2P: true }` to select a P2P profile without changing the main remote.
44
+
45
+ Selecting a profile updates the compatibility fields immediately. Existing replication services may therefore continue to consume those fields while profile-aware hosts treat the profile map and selection IDs as authoritative persisted state.
46
+
47
+ ## Import and migration boundary
48
+
49
+ A modern Setup URI or another settings transport should preserve `remoteConfigurations`, profile IDs, display names, `activeConfigurationId`, and `P2P_ActiveRemoteConfigurationId` exactly.
50
+
51
+ An older settings payload may contain only the flat remote fields. The standard `SettingService` recognises that shape when the profile map is empty and migrates the configured connections into explicitly labelled `legacy-*` profiles. This is a compatibility path, not the recommended way to create a new profile. New setup flows should call the focused API directly.
52
+
53
+ If a settings payload already contains profiles, legacy migration does not create or replace any entry. A host which writes only flat fields in that state would therefore fail to register a new connection; profile-aware setup code must upsert the profile explicitly.
54
+
55
+ ## Persistence and encryption
56
+
57
+ The helper stores a plaintext connection URI in memory and marks the changed profile as unencrypted. The standard `SettingService` applies configured at-rest encryption when persisting settings. A host using a different persistence service must provide equivalent encryption and decryption policy itself.
58
+
59
+ ## Verification ownership
60
+
61
+ Commonlib unit tests cover preserving existing profiles, generated-name collision handling, main-remote activation, and independent P2P selection. The packed-package test imports the focused entry from a clean consumer and checks its declarations and runtime exports.
62
+
63
+ Hosts remain responsible for testing their dialogues, import classification, confirmation, Fetch or Rebuild scheduling, persistence, restart ordering, and real-runtime presentation.
@@ -0,0 +1,85 @@
1
+ # Settings lifecycle
2
+
3
+ Commonlib separates three values which older integrations commonly treated as one object:
4
+
5
+ - `SETTINGS_SCHEMA_DEFAULTS` completes keys which are absent from stored settings. Its values remain conservative so that an upgrade does not silently change an existing choice.
6
+ - `NEW_VAULT_SETTINGS` initialises a store which has never contained Self-hosted LiveSync settings. It includes the current recommended base values.
7
+ - the `PREFERRED_SETTING_*` objects add remote-specific recommendations when a user explicitly selects Cloudant, self-hosted CouchDB, or Object Storage during setup.
8
+
9
+ `DEFAULT_SETTINGS` remains an alias of `SETTINGS_SCHEMA_DEFAULTS` for compatibility. New code should choose the named contract which matches its operation.
10
+
11
+ ## Starting a new Vault
12
+
13
+ Use `createNewVaultSettings()` only when the settings store is absent or empty, or when the user explicitly requests a factory reset. `NEW_VAULT_SETTINGS` exposes the values for inspection, while the factory prevents mutable nested settings from being shared between clients:
14
+
15
+ ```ts
16
+ import { createNewVaultSettings } from "@vrtmrz/livesync-commonlib/settings";
17
+
18
+ const initialSettings = createNewVaultSettings();
19
+ ```
20
+
21
+ The recommended base currently selects a 50 MB maximum synchronised file size, Rabin–Karp chunk splitting, Plug-in Sync V2, case-insensitive file-name handling, and E2EE V2. Chunk revisions are always derived from their content; the obsolete `doNotUseFixedRevisionForChunks` stored key is retained only for compatibility and is not a recommendation or tweak. The recommended base does not enable synchronisation or encryption on behalf of the user.
22
+
23
+ Compared with the conservative stored-setting fallbacks, the current new-Vault object has exactly two semantic differences:
24
+
25
+ | Setting | Existing stored setting is absent | New Vault |
26
+ | --- | --- | --- |
27
+ | `usePluginSyncV2` | `false` | `true` |
28
+ | `handleFilenameCaseSensitive` | normalised from the legacy absent value to `false` | `false` |
29
+
30
+ The other headline recommendations are already the conservative fallbacks: `syncMaxSizeInMB` is 50, `chunkSplitterVersion` is `v3-rabin-karp`, and `E2EEAlgorithm` is `v2`. Data Compression, Eden, V1 dynamic iteration, the legacy IndexedDB adapter, Hidden File Sync, and automatic synchronisation remain disabled when their stored values are absent. Explicit stored values take precedence.
31
+
32
+ Apply a remote-specific preferred object only while configuring that remote. Do not merge it into an existing stored configuration merely because the remote type can be inferred. The self-hosted CouchDB profile uses a chunk-size coefficient of 60, matching the Doctor check for Rabin–Karp databases; Cloudant retains its service-specific value of 0.
33
+
34
+ | Explicitly selected remote | `customChunkSize` | `concurrencyOfReadChunksOnline` | `minimumIntervalOfReadChunksOnline` |
35
+ | --- | ---: | ---: | ---: |
36
+ | Cloudant | 0 | 100 | 333 |
37
+ | Self-hosted CouchDB | 60 | 30 | 25 |
38
+ | Object Storage | 10 | 30 | 25 |
39
+
40
+ These are setup-time recommendations, not upgrade migrations. Selecting or detecting a remote does not apply them to an existing configuration unless the person is actively configuring that remote.
41
+
42
+ ## Loading existing settings
43
+
44
+ `prepareSettingsForLoad` detects a blank store, completes stored settings with conservative schema fallbacks, runs ordered schema migrations, and reports the result separately from the settings value:
45
+
46
+ ```ts
47
+ import { prepareSettingsForLoad } from "@vrtmrz/livesync-commonlib/settings";
48
+
49
+ const prepared = prepareSettingsForLoad(await host.loadSettings());
50
+ const settings = prepared.settings;
51
+
52
+ if (prepared.changed && !prepared.isFromFutureSchema) {
53
+ await host.saveSettings(settings);
54
+ }
55
+
56
+ if (prepared.requiresSyncReview) {
57
+ host.requestLocalSyncReview(prepared.reviewReasons);
58
+ }
59
+ ```
60
+
61
+ Explicit stored values take precedence over every fallback. A migration therefore preserves synchronisation switches and other user choices unless a migration step documents a deliberate transformation.
62
+
63
+ An existing settings store without an explicit `handleFilenameCaseSensitive` value is normalised to `false` and saved. This preserves the effective behaviour of earlier releases, where an absent value followed the case-insensitive branch. An explicit `true` or `false` value is preserved. New Vaults also select case-insensitive handling (`false`).
64
+
65
+ `isConfigured` has a separate compatibility rule from new-Vault initialisation. For a blank store, the standard service keeps the runtime unconfigured. For a non-empty legacy document without the flag, Commonlib repeats the pre-1.0 inference: a document which is equivalent to the conservative defaults remains `false`, while a stored non-default value is evidence for `true`. The inferred boolean is saved. An explicit boolean is preserved. This rule does not make a non-empty document eligible for new-Vault recommendations.
66
+
67
+ Two other values deliberately remain unset until their owning lifecycle supplies evidence: `autoAcceptCompatibleTweak` represents that no auto-accept decision has been made, and `tweakModified` represents that no tweak-change timestamp has been recorded. They are not implicit boolean defaults and are not normalised by the settings migration.
68
+
69
+ `SettingsMigrationReviewCodes.FilenameCaseSensitivityUnresolved` remains as a deprecated compatibility export for release-candidate consumers, but `prepareSettingsForLoad` no longer emits it.
70
+
71
+ The standard Commonlib `SettingService` performs this preparation automatically. Hosts which use that service can inspect `getSettingsMigrationState()` after `loadSettings()` instead of calling the function themselves.
72
+
73
+ ## Review and downgrade boundary
74
+
75
+ A migration may report `requiresSyncReview` when automatic synchronisation should wait for a human decision. Commonlib reports that requirement but does not disable synchronisation settings, persist an acknowledgement, display a dialogue, or decide whether replication may proceed. Those are host-local responsibilities because one device must not acknowledge a safety review for another device through synchronised settings.
76
+
77
+ Settings written by a schema newer than the running Commonlib version are completed for in-memory compatibility but are not assigned an older schema version. The result has `isFromFutureSchema: true`, `changed: false`, and a review reason. A host must not persist that completed object as a downgrade migration.
78
+
79
+ The settings schema version is independent of the package version and of any remote data or protocol compatibility version. Increment it only when the stored settings shape requires an ordered migration.
80
+
81
+ ## Tests owned by Commonlib
82
+
83
+ The settings lifecycle unit tests cover blank stores, representative legacy choices, migration idempotence, legacy file-name case normalisation, legacy review state, future-schema downgrade protection, and the distinction between new-Vault recommendations and stored-setting fallbacks. The packed-package test imports the focused `/settings` entry from a clean consumer and checks its declarations and runtime exports.
84
+
85
+ Hosts remain responsible for testing when setup is classified as new, how local review acknowledgement is stored, how replication is gated, and how their settings interface presents the result.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vrtmrz/livesync-commonlib",
3
- "version": "0.1.0-rc.0",
3
+ "version": "0.1.0-rc.10",
4
4
  "description": "Shared data, storage, and replication primitives for Self-hosted LiveSync clients.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -56,6 +56,16 @@
56
56
  "import": "./dist/rpc/index.js",
57
57
  "default": "./dist/rpc/index.js"
58
58
  },
59
+ "./remote-configurations": {
60
+ "types": "./dist/remoteConfigurations.d.ts",
61
+ "import": "./dist/remoteConfigurations.js",
62
+ "default": "./dist/remoteConfigurations.js"
63
+ },
64
+ "./settings": {
65
+ "types": "./dist/settings.d.ts",
66
+ "import": "./dist/settings.js",
67
+ "default": "./dist/settings.js"
68
+ },
59
69
  "./compat/API/processSetting": {
60
70
  "types": "./dist/API/processSetting.d.ts",
61
71
  "import": "./dist/API/processSetting.js",
@@ -91,11 +101,6 @@
91
101
  "import": "./dist/common/coreEnvVars.js",
92
102
  "default": "./dist/common/coreEnvVars.js"
93
103
  },
94
- "./compat/common/i18n": {
95
- "types": "./dist/common/i18n.d.ts",
96
- "import": "./dist/common/i18n.js",
97
- "default": "./dist/common/i18n.js"
98
- },
99
104
  "./compat/common/logger": {
100
105
  "types": "./dist/common/logger.d.ts",
101
106
  "import": "./dist/common/logger.js",
@@ -116,16 +121,6 @@
116
121
  "import": "./dist/common/models/setting.const.js",
117
122
  "default": "./dist/common/models/setting.const.js"
118
123
  },
119
- "./compat/common/models/setting.const.defaults": {
120
- "types": "./dist/common/models/setting.const.defaults.d.ts",
121
- "import": "./dist/common/models/setting.const.defaults.js",
122
- "default": "./dist/common/models/setting.const.defaults.js"
123
- },
124
- "./compat/common/models/setting.const.preferred": {
125
- "types": "./dist/common/models/setting.const.preferred.d.ts",
126
- "import": "./dist/common/models/setting.const.preferred.js",
127
- "default": "./dist/common/models/setting.const.preferred.js"
128
- },
129
124
  "./compat/common/models/setting.type": {
130
125
  "types": "./dist/common/models/setting.type.d.ts",
131
126
  "import": "./dist/common/models/setting.type.js",
@@ -146,11 +141,6 @@
146
141
  "import": "./dist/common/models/tweak.definition.js",
147
142
  "default": "./dist/common/models/tweak.definition.js"
148
143
  },
149
- "./compat/common/rosetta": {
150
- "types": "./dist/common/rosetta.d.ts",
151
- "import": "./dist/common/rosetta.js",
152
- "default": "./dist/common/rosetta.js"
153
- },
154
144
  "./compat/common/settingConstants": {
155
145
  "types": "./dist/common/settingConstants.d.ts",
156
146
  "import": "./dist/common/settingConstants.js",
@@ -196,11 +186,6 @@
196
186
  "import": "./dist/events/coreEvents.js",
197
187
  "default": "./dist/events/coreEvents.js"
198
188
  },
199
- "./compat/hub/hub": {
200
- "types": "./dist/hub/hub.d.ts",
201
- "import": "./dist/hub/hub.js",
202
- "default": "./dist/hub/hub.js"
203
- },
204
189
  "./compat/interfaces/Confirm": {
205
190
  "types": "./dist/interfaces/Confirm.d.ts",
206
191
  "import": "./dist/interfaces/Confirm.js",
@@ -216,6 +201,11 @@
216
201
  "import": "./dist/interfaces/DatabaseRebuilder.js",
217
202
  "default": "./dist/interfaces/DatabaseRebuilder.js"
218
203
  },
204
+ "./compat/interfaces/FileReflectionProvenance": {
205
+ "types": "./dist/interfaces/FileReflectionProvenance.d.ts",
206
+ "import": "./dist/interfaces/FileReflectionProvenance.js",
207
+ "default": "./dist/interfaces/FileReflectionProvenance.js"
208
+ },
219
209
  "./compat/interfaces/FileHandler": {
220
210
  "types": "./dist/interfaces/FileHandler.d.ts",
221
211
  "import": "./dist/interfaces/FileHandler.js",
@@ -656,7 +646,7 @@
656
646
  "@smithy/middleware-apply-body-checksum": "^4.3.9",
657
647
  "@smithy/types": "^4.14.3",
658
648
  "@smithy/util-retry": "^4.4.5",
659
- "@trystero-p2p/nostr": "^0.24.0",
649
+ "@trystero-p2p/nostr": "0.25.3",
660
650
  "diff-match-patch": "^1.0.5",
661
651
  "events": "^3.3.0",
662
652
  "fflate": "^0.8.2",
@@ -1,18 +0,0 @@
1
- import type { AllMessageKeys, I18N_LANGS } from "./rosetta.js";
2
- import type { TaggedType } from "./types.js";
3
- export declare let currentLang: I18N_LANGS;
4
- export declare function getResolvedLang(lang?: I18N_LANGS): I18N_LANGS;
5
- export declare function isAutoDisplayLanguage(lang: I18N_LANGS): boolean;
6
- export declare function __getMissingTranslations(): string[];
7
- export declare function __onMissingTranslation(callback: (key: string) => void): void;
8
- export declare function setLang(lang: I18N_LANGS): void;
9
- export declare function $t(message: string, lang?: I18N_LANGS): string;
10
- export declare function translateIfAvailable(message: string, lang?: I18N_LANGS): string;
11
- /**
12
- * TagFunction to Automatically translate.
13
- * @param strings
14
- * @param values
15
- * @returns
16
- */
17
- export declare function $f(strings: TemplateStringsArray, ...values: string[]): string;
18
- export declare function $msg<T extends AllMessageKeys>(key: T, params?: Record<string, string>, lang?: I18N_LANGS): TaggedType<string, T>;