mindoodb 0.0.3 → 0.0.4

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 (209) hide show
  1. package/README-server.md +1001 -0
  2. package/README.md +14 -26
  3. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +19 -0
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  5. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +58 -5
  6. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  7. package/dist/appendonlystores/network/HttpTransport.d.ts +4 -0
  8. package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
  9. package/dist/appendonlystores/network/HttpTransport.js +43 -0
  10. package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
  11. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +3 -0
  12. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
  13. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +15 -1
  14. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
  15. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts +5 -1
  16. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts.map +1 -1
  17. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js +59 -3
  18. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js.map +1 -1
  19. package/dist/browser/cache/IndexedDBLocalCacheStore.d.ts +21 -0
  20. package/dist/browser/cache/IndexedDBLocalCacheStore.d.ts.map +1 -0
  21. package/dist/browser/cache/IndexedDBLocalCacheStore.js +106 -0
  22. package/dist/browser/cache/IndexedDBLocalCacheStore.js.map +1 -0
  23. package/dist/browser/index.d.ts +3 -0
  24. package/dist/browser/index.d.ts.map +1 -1
  25. package/dist/browser/index.js +9 -1
  26. package/dist/browser/index.js.map +1 -1
  27. package/dist/core/BaseMindooDB.d.ts +103 -13
  28. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  29. package/dist/core/BaseMindooDB.js +1066 -205
  30. package/dist/core/BaseMindooDB.js.map +1 -1
  31. package/dist/core/BaseMindooTenant.d.ts +30 -1
  32. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  33. package/dist/core/BaseMindooTenant.js +143 -108
  34. package/dist/core/BaseMindooTenant.js.map +1 -1
  35. package/dist/core/BaseMindooTenantDirectory.d.ts +13 -10
  36. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
  37. package/dist/core/BaseMindooTenantDirectory.js +134 -27
  38. package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
  39. package/dist/core/BaseMindooTenantFactory.d.ts +5 -1
  40. package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
  41. package/dist/core/BaseMindooTenantFactory.js +46 -69
  42. package/dist/core/BaseMindooTenantFactory.js.map +1 -1
  43. package/dist/core/MindooDBServerAdmin.d.ts +238 -0
  44. package/dist/core/MindooDBServerAdmin.d.ts.map +1 -0
  45. package/dist/core/MindooDBServerAdmin.js +345 -0
  46. package/dist/core/MindooDBServerAdmin.js.map +1 -0
  47. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +3 -1
  48. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
  49. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +22 -0
  50. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
  51. package/dist/core/appendonlystores/MaterializationPlanner.d.ts +49 -0
  52. package/dist/core/appendonlystores/MaterializationPlanner.d.ts.map +1 -0
  53. package/dist/core/appendonlystores/MaterializationPlanner.js +325 -0
  54. package/dist/core/appendonlystores/MaterializationPlanner.js.map +1 -0
  55. package/dist/core/appendonlystores/network/NetworkTransport.d.ts +15 -0
  56. package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
  57. package/dist/core/appendonlystores/network/types.d.ts +2 -0
  58. package/dist/core/appendonlystores/network/types.d.ts.map +1 -1
  59. package/dist/core/appendonlystores/network/types.js.map +1 -1
  60. package/dist/core/appendonlystores/types.d.ts +83 -0
  61. package/dist/core/appendonlystores/types.d.ts.map +1 -1
  62. package/dist/core/cache/CacheManager.d.ts +75 -0
  63. package/dist/core/cache/CacheManager.d.ts.map +1 -0
  64. package/dist/core/cache/CacheManager.js +101 -0
  65. package/dist/core/cache/CacheManager.js.map +1 -0
  66. package/dist/core/cache/EncryptedLocalCacheStore.d.ts +41 -0
  67. package/dist/core/cache/EncryptedLocalCacheStore.d.ts.map +1 -0
  68. package/dist/core/cache/EncryptedLocalCacheStore.js +120 -0
  69. package/dist/core/cache/EncryptedLocalCacheStore.js.map +1 -0
  70. package/dist/core/cache/LocalCacheStore.d.ts +50 -0
  71. package/dist/core/cache/LocalCacheStore.d.ts.map +1 -0
  72. package/dist/core/cache/LocalCacheStore.js +39 -0
  73. package/dist/core/cache/LocalCacheStore.js.map +1 -0
  74. package/dist/core/crypto/privateKeyEncryption.d.ts +5 -0
  75. package/dist/core/crypto/privateKeyEncryption.d.ts.map +1 -0
  76. package/dist/core/crypto/privateKeyEncryption.js +87 -0
  77. package/dist/core/crypto/privateKeyEncryption.js.map +1 -0
  78. package/dist/core/index.d.ts +13 -6
  79. package/dist/core/index.d.ts.map +1 -1
  80. package/dist/core/index.js +13 -1
  81. package/dist/core/index.js.map +1 -1
  82. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts +4 -1
  83. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts.map +1 -1
  84. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +39 -11
  85. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -1
  86. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.d.ts +1 -0
  87. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.d.ts.map +1 -1
  88. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.js +3 -0
  89. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.js.map +1 -1
  90. package/dist/core/indexing/virtualviews/VirtualView.d.ts +43 -0
  91. package/dist/core/indexing/virtualviews/VirtualView.d.ts.map +1 -1
  92. package/dist/core/indexing/virtualviews/VirtualView.js +173 -0
  93. package/dist/core/indexing/virtualviews/VirtualView.js.map +1 -1
  94. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts +7 -0
  95. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts.map +1 -1
  96. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js +28 -0
  97. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js.map +1 -1
  98. package/dist/core/keys/KeyBag.d.ts +38 -14
  99. package/dist/core/keys/KeyBag.d.ts.map +1 -1
  100. package/dist/core/keys/KeyBag.js +102 -76
  101. package/dist/core/keys/KeyBag.js.map +1 -1
  102. package/dist/core/keys/KeyContext.d.ts +3 -3
  103. package/dist/core/keys/KeyContext.d.ts.map +1 -1
  104. package/dist/core/keys/KeyContext.js +10 -4
  105. package/dist/core/keys/KeyContext.js.map +1 -1
  106. package/dist/core/types.d.ts +305 -21
  107. package/dist/core/types.d.ts.map +1 -1
  108. package/dist/core/types.js +7 -1
  109. package/dist/core/types.js.map +1 -1
  110. package/dist/core/utils/idGeneration.d.ts.map +1 -1
  111. package/dist/core/utils/idGeneration.js +37 -3
  112. package/dist/core/utils/idGeneration.js.map +1 -1
  113. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +4 -1
  114. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
  115. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +24 -0
  116. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
  117. package/dist/node/attachments/writeAttachmentToFile.d.ts +15 -0
  118. package/dist/node/attachments/writeAttachmentToFile.d.ts.map +1 -0
  119. package/dist/node/attachments/writeAttachmentToFile.js +73 -0
  120. package/dist/node/attachments/writeAttachmentToFile.js.map +1 -0
  121. package/dist/node/cache/FileSystemLocalCacheStore.d.ts +17 -0
  122. package/dist/node/cache/FileSystemLocalCacheStore.d.ts.map +1 -0
  123. package/dist/node/cache/FileSystemLocalCacheStore.js +128 -0
  124. package/dist/node/cache/FileSystemLocalCacheStore.js.map +1 -0
  125. package/dist/node/cli/change-identity-password.d.ts +7 -0
  126. package/dist/node/cli/change-identity-password.d.ts.map +1 -0
  127. package/dist/node/cli/change-identity-password.js +67 -0
  128. package/dist/node/cli/change-identity-password.js.map +1 -0
  129. package/dist/node/cli/cli-utils.d.ts +16 -0
  130. package/dist/node/cli/cli-utils.d.ts.map +1 -0
  131. package/dist/node/cli/cli-utils.js +113 -0
  132. package/dist/node/cli/cli-utils.js.map +1 -0
  133. package/dist/node/cli/identity-export-public.d.ts +4 -0
  134. package/dist/node/cli/identity-export-public.d.ts.map +1 -0
  135. package/dist/node/cli/identity-export-public.js +55 -0
  136. package/dist/node/cli/identity-export-public.js.map +1 -0
  137. package/dist/node/cli/identity-info.d.ts +4 -0
  138. package/dist/node/cli/identity-info.d.ts.map +1 -0
  139. package/dist/node/cli/identity-info.js +57 -0
  140. package/dist/node/cli/identity-info.js.map +1 -0
  141. package/dist/node/index.d.ts +1 -0
  142. package/dist/node/index.d.ts.map +1 -1
  143. package/dist/node/index.js +4 -1
  144. package/dist/node/index.js.map +1 -1
  145. package/dist/node/server/CapabilityMatcher.d.ts +45 -0
  146. package/dist/node/server/CapabilityMatcher.d.ts.map +1 -0
  147. package/dist/node/server/CapabilityMatcher.js +117 -0
  148. package/dist/node/server/CapabilityMatcher.js.map +1 -0
  149. package/dist/node/server/MindooDBServer.d.ts +87 -0
  150. package/dist/node/server/MindooDBServer.d.ts.map +1 -0
  151. package/dist/node/server/MindooDBServer.js +1040 -0
  152. package/dist/node/server/MindooDBServer.js.map +1 -0
  153. package/dist/node/server/ServerSync.d.ts +41 -0
  154. package/dist/node/server/ServerSync.d.ts.map +1 -0
  155. package/dist/node/server/ServerSync.js +187 -0
  156. package/dist/node/server/ServerSync.js.map +1 -0
  157. package/dist/node/server/StoreFactory.d.ts +45 -0
  158. package/dist/node/server/StoreFactory.d.ts.map +1 -0
  159. package/dist/node/server/StoreFactory.js +89 -0
  160. package/dist/node/server/StoreFactory.js.map +1 -0
  161. package/dist/node/server/SystemAdminAuth.d.ts +65 -0
  162. package/dist/node/server/SystemAdminAuth.d.ts.map +1 -0
  163. package/dist/node/server/SystemAdminAuth.js +200 -0
  164. package/dist/node/server/SystemAdminAuth.js.map +1 -0
  165. package/dist/node/server/SystemIpAllowlist.d.ts +21 -0
  166. package/dist/node/server/SystemIpAllowlist.d.ts.map +1 -0
  167. package/dist/node/server/SystemIpAllowlist.js +210 -0
  168. package/dist/node/server/SystemIpAllowlist.js.map +1 -0
  169. package/dist/node/server/TenantManager.d.ts +85 -0
  170. package/dist/node/server/TenantManager.d.ts.map +1 -0
  171. package/dist/node/server/TenantManager.js +493 -0
  172. package/dist/node/server/TenantManager.js.map +1 -0
  173. package/dist/node/server/add-to-network.d.ts +20 -0
  174. package/dist/node/server/add-to-network.d.ts.map +1 -0
  175. package/dist/node/server/add-to-network.js +275 -0
  176. package/dist/node/server/add-to-network.js.map +1 -0
  177. package/dist/node/server/config.d.ts +51 -0
  178. package/dist/node/server/config.d.ts.map +1 -0
  179. package/dist/node/server/config.js +218 -0
  180. package/dist/node/server/config.js.map +1 -0
  181. package/dist/node/server/resolveServerPassword.d.ts +7 -0
  182. package/dist/node/server/resolveServerPassword.d.ts.map +1 -0
  183. package/dist/node/server/resolveServerPassword.js +25 -0
  184. package/dist/node/server/resolveServerPassword.js.map +1 -0
  185. package/dist/node/server/server.d.ts +22 -0
  186. package/dist/node/server/server.d.ts.map +1 -0
  187. package/dist/node/server/server.js +225 -0
  188. package/dist/node/server/server.js.map +1 -0
  189. package/dist/node/server/serverinit.d.ts +21 -0
  190. package/dist/node/server/serverinit.d.ts.map +1 -0
  191. package/dist/node/server/serverinit.js +317 -0
  192. package/dist/node/server/serverinit.js.map +1 -0
  193. package/dist/node/server/types.d.ts +162 -0
  194. package/dist/node/server/types.d.ts.map +1 -0
  195. package/dist/node/server/types.js +24 -0
  196. package/dist/node/server/types.js.map +1 -0
  197. package/dist/node/server/validation.d.ts +47 -0
  198. package/dist/node/server/validation.d.ts.map +1 -0
  199. package/dist/node/server/validation.js +114 -0
  200. package/dist/node/server/validation.js.map +1 -0
  201. package/dist/reactnative/cache/MMKVLocalCacheStore.d.ts +48 -0
  202. package/dist/reactnative/cache/MMKVLocalCacheStore.d.ts.map +1 -0
  203. package/dist/reactnative/cache/MMKVLocalCacheStore.js +113 -0
  204. package/dist/reactnative/cache/MMKVLocalCacheStore.js.map +1 -0
  205. package/dist/reactnative/index.d.ts +1 -0
  206. package/dist/reactnative/index.d.ts.map +1 -1
  207. package/dist/reactnative/index.js +4 -1
  208. package/dist/reactnative/index.js.map +1 -1
  209. package/package.json +14 -3
@@ -12,6 +12,23 @@ import { MindooDocSigner } from "./crypto/MindooDocSigner";
12
12
  * KeyBag location: type "doc", id PUBLIC_INFOS_KEY_ID.
13
13
  */
14
14
  export declare const PUBLIC_INFOS_KEY_ID = "$publicinfos";
15
+ /**
16
+ * Well-known key ID for the tenant-wide default document encryption key.
17
+ *
18
+ * KeyBag location: type "doc", id DEFAULT_TENANT_KEY_ID.
19
+ */
20
+ export declare const DEFAULT_TENANT_KEY_ID = "default";
21
+ /**
22
+ * JSON payload returned by `GET /.well-known/mindoodb-server-info`.
23
+ */
24
+ export interface MindooDBServerInfo {
25
+ /** Canonical server name, typically a Notes/Domino-style DN. */
26
+ name: string;
27
+ /** Ed25519 public key in PEM format used for signing/auth verification. */
28
+ signingPublicKey: string;
29
+ /** RSA-OAEP public key in PEM format used for encryption. */
30
+ encryptionPublicKey: string;
31
+ }
15
32
  /**
16
33
  * An EncryptedPrivateKey is a private key that is encrypted with a password.
17
34
  * Used for both asymmetric keys (RSA, Ed25519, ECDH) and symmetric keys (AES-256).
@@ -81,21 +98,30 @@ export interface OpenTenantOptions {
81
98
  */
82
99
  additionalTrustedKeys?: ReadonlyMap<string, boolean>;
83
100
  }
101
+ interface CreateTenantPasswords {
102
+ /** Password for the admin user's private keys */
103
+ adminPassword: string;
104
+ /** Password for the regular user's private keys */
105
+ userPassword: string;
106
+ }
84
107
  /**
85
108
  * Options for creating a new tenant with a single convenience call.
86
109
  */
87
- export interface CreateTenantOptions {
110
+ export type CreateTenantOptions = ({
88
111
  /** Tenant identifier (e.g. "acme") */
89
112
  tenantId: string;
90
113
  /** Distinguished name for the admin user (e.g. "cn=admin/o=acme") */
91
114
  adminName: string;
92
- /** Password for the admin user's private keys */
93
- adminPassword: string;
94
115
  /** Distinguished name for the regular app user (e.g. "cn=alice/o=acme") */
95
116
  userName: string;
96
- /** Password for the regular user's private keys */
97
- userPassword: string;
98
- }
117
+ } & CreateTenantPasswords) | ({
118
+ /** Tenant identifier (e.g. "acme") */
119
+ tenantId: string;
120
+ /** Existing admin private identity */
121
+ adminUser: PrivateUserId;
122
+ /** Existing regular app user private identity */
123
+ appUser: PrivateUserId;
124
+ } & CreateTenantPasswords);
99
125
  /**
100
126
  * Result of creating a new tenant via createTenant().
101
127
  */
@@ -106,7 +132,7 @@ export interface CreateTenantResult {
106
132
  adminUser: PrivateUserId;
107
133
  /** The regular app user's private identity */
108
134
  appUser: PrivateUserId;
109
- /** The KeyBag containing tenant and $publicinfos keys */
135
+ /** The KeyBag containing the tenant key and tenant-scoped doc keys */
110
136
  keyBag: KeyBag;
111
137
  }
112
138
  /**
@@ -187,8 +213,12 @@ export interface JoinTenantResult {
187
213
  * Options for publishing a tenant to a server.
188
214
  */
189
215
  export interface PublishToServerOptions {
190
- /** Optional API key for the server's admin endpoints */
191
- adminApiKey?: string;
216
+ /** System admin identity (PrivateUserId) for challenge/response auth. */
217
+ systemAdminUser?: PrivateUserId;
218
+ /** Password to decrypt systemAdminUser's private keys. */
219
+ systemAdminPassword?: string;
220
+ /** Optional admin username for bootstrap handshake on the server */
221
+ adminUsername?: string;
192
222
  /** Optional users to register on the server at the same time */
193
223
  registerUsers?: PublicUserId[];
194
224
  }
@@ -206,7 +236,7 @@ export interface MindooTenantFactory {
206
236
  * @param currentUserPassword The password to decrypt the current user's private keys
207
237
  * @param keyBag The KeyBag instance for storing and loading tenant/doc keys.
208
238
  * Must contain:
209
- * - $publicinfos key under type "doc" and id PUBLIC_INFOS_KEY_ID
239
+ * - $publicinfos key under type "doc", tenant id tenantId, and id PUBLIC_INFOS_KEY_ID
210
240
  * Optionally (required for decrypting regular database payloads):
211
241
  * - tenant key under type "tenant" and id tenantId
212
242
  * @return The tenant
@@ -227,6 +257,15 @@ export interface MindooTenantFactory {
227
257
  * @return The public user ID
228
258
  */
229
259
  toPublicUserId(privateUserId: PrivateUserId): PublicUserId;
260
+ /**
261
+ * Re-encrypts an identity's private keys with a new password.
262
+ *
263
+ * @param identity The private identity to update
264
+ * @param oldPassword The current password
265
+ * @param newPassword The new password to protect both private keys
266
+ * @return A new PrivateUserId with unchanged public keys and re-encrypted private keys
267
+ */
268
+ changeIdentityPassword(identity: PrivateUserId, oldPassword: string, newPassword: string): Promise<PrivateUserId>;
230
269
  /**
231
270
  * Creates a new signing key pair for the tenant.
232
271
  * Returns both the public and encrypted private key, as the public key is needed
@@ -463,7 +502,7 @@ export interface MindooTenant {
463
502
  */
464
503
  connectToServer(serverUrl: string, dbId: string): Promise<ContentAddressedStore>;
465
504
  }
466
- export type { ContentAddressedStore, ContentAddressedStoreFactory, CreateStoreResult, OpenStoreOptions, StoreCompactionStatus, StoreScanCursor, StoreScanFilters, StoreScanResult, StoreIdBloomSummary, } from "./appendonlystores/types";
505
+ export type { ContentAddressedStore, ContentAddressedStoreFactory, CreateStoreResult, OpenStoreOptions, StoreCompactionStatus, StoreScanCursor, StoreScanFilters, StoreScanResult, StoreIdBloomSummary, MaterializationPlanOptions, MaterializationPlanDiagnostics, DocumentMaterializationPlan, DocumentMaterializationBatchPlan, } from "./appendonlystores/types";
467
506
  /**
468
507
  * The type of entry stored in the ContentAddressedStore.
469
508
  * Entry types are prefixed to indicate their domain:
@@ -509,6 +548,18 @@ export interface StoreEntryMetadata {
509
548
  * - For attachment_chunk: Previous chunk's entry ID (enables append-only file growth)
510
549
  */
511
550
  dependencyIds: string[];
551
+ /**
552
+ * Optional causal coverage heads for snapshot entries.
553
+ * For `doc_snapshot`, this lists the Automerge head hashes represented by the snapshot.
554
+ * For other entry types this should be undefined.
555
+ */
556
+ snapshotHeadHashes?: string[];
557
+ /**
558
+ * Optional entry IDs corresponding to the snapshot heads.
559
+ * This allows stores to plan replay using metadata only, without decrypting payloads.
560
+ * For non-snapshot entries this should be undefined.
561
+ */
562
+ snapshotHeadEntryIds?: string[];
512
563
  /**
513
564
  * The timestamp when this entry was created (milliseconds since Unix epoch).
514
565
  */
@@ -609,6 +660,46 @@ export interface AttachmentConfig {
609
660
  */
610
661
  chunkSizeBytes?: number;
611
662
  }
663
+ /**
664
+ * Configuration for the in-memory document cache.
665
+ */
666
+ export interface DocumentCacheConfig {
667
+ /**
668
+ * Maximum number of fully materialized documents kept in memory at once.
669
+ * Dirty documents remain pinned until cache state has been flushed.
670
+ * Default: 128
671
+ */
672
+ maxEntries?: number;
673
+ /**
674
+ * Number of upcoming documents to prefetch during changefeed iteration.
675
+ * Set to 0 to disable eager iteration prefetch.
676
+ * Default: 0
677
+ */
678
+ iteratePrefetchWindowDocs?: number;
679
+ /**
680
+ * Maximum number of documents restored from the local cache store during
681
+ * startup. Prevents large cache checkpoints from rehydrating every
682
+ * document into memory immediately.
683
+ * Default: same as `maxEntries`
684
+ */
685
+ restoreLimit?: number;
686
+ }
687
+ /**
688
+ * Configuration for automatic snapshot creation.
689
+ */
690
+ export interface SnapshotConfig {
691
+ /**
692
+ * Minimum number of replay entries since the latest snapshot before a new
693
+ * snapshot is considered.
694
+ * Default: 100
695
+ */
696
+ minChanges?: number;
697
+ /**
698
+ * Minimum time between snapshot writes for the same document.
699
+ * Default: 10 minutes
700
+ */
701
+ cooldownMs?: number;
702
+ }
612
703
  /**
613
704
  * A MindooDoc is a document that is stored in the MindooDB.
614
705
  * It's a wrapper around the Automerge document.
@@ -747,6 +838,15 @@ export interface MindooDoc {
747
838
  export interface MindooDocPayload {
748
839
  [key: string]: unknown;
749
840
  }
841
+ export interface DirectoryUserDetails {
842
+ [key: string]: string;
843
+ }
844
+ export interface DirectoryUserLookup {
845
+ username: string;
846
+ signingPublicKey: string;
847
+ encryptionPublicKey: string;
848
+ details: DirectoryUserDetails | null;
849
+ }
750
850
  export interface MindooTenantDirectory {
751
851
  /**
752
852
  * Adds a new user to the tenant. The user is identified by its user ID.
@@ -757,7 +857,7 @@ export interface MindooTenantDirectory {
757
857
  * @param administrationPrivateKeyPassword The password to decrypt the administration private key
758
858
  * @return A promise that resolves when the user is registered
759
859
  */
760
- registerUser(userId: PublicUserId, administrationPrivateKey: EncryptedPrivateKey, administrationPrivateKeyPassword: string): Promise<void>;
860
+ registerUser(userId: PublicUserId, administrationPrivateKey: EncryptedPrivateKey, administrationPrivateKeyPassword: string, userDetails?: DirectoryUserDetails): Promise<void>;
761
861
  /**
762
862
  * Revokes a user's access to the tenant by adding a revocation record to the directory.
763
863
  * This prevents the user from decrypting future changes, but they retain access to previously
@@ -788,7 +888,16 @@ export interface MindooTenantDirectory {
788
888
  getUserPublicKeys(username: string): Promise<{
789
889
  signingPublicKey: string;
790
890
  encryptionPublicKey: string;
891
+ details?: DirectoryUserDetails | null;
791
892
  } | null>;
893
+ /**
894
+ * Look up a user by their public signing key.
895
+ * This is useful for reverse-resolving historical change authors to friendly labels.
896
+ *
897
+ * @param publicKey The public signing key to look up (Ed25519, PEM format)
898
+ * @return The matching user record, or null if no registration is known
899
+ */
900
+ getUserBySigningPublicKey(publicKey: string): Promise<DirectoryUserLookup | null>;
792
901
  /**
793
902
  * Check if a user has been revoked.
794
903
  *
@@ -859,6 +968,14 @@ export interface MindooTenantDirectory {
859
968
  * @return The latest DB settings document, or null if none exists
860
969
  */
861
970
  getDBSettings(dbId: string): Promise<MindooDoc | null>;
971
+ /**
972
+ * Returns the database IDs currently known to the directory.
973
+ *
974
+ * This is intended for admin tooling and overview UIs. The result always includes
975
+ * `"directory"` and will also include `"main"` as the conventional default app DB.
976
+ * Additional DBs are discovered from `dbsettings` documents stored in the directory.
977
+ */
978
+ listKnownDBIds(): Promise<string[]>;
862
979
  /**
863
980
  * Create or update database-specific settings.
864
981
  * Automatically uses the cached settings document for the given dbId if it exists, or creates a new one.
@@ -885,6 +1002,11 @@ export interface MindooTenantDirectory {
885
1002
  * @param groupName The name of the group to look up (case-insensitive, converted to lowercase)
886
1003
  * @return The members of the group
887
1004
  */
1005
+ /**
1006
+ * Get the decrypted member names for a group.
1007
+ * Entries that cannot be decrypted are skipped so callers can still work with
1008
+ * the readable subset of the group.
1009
+ */
888
1010
  getGroupMembers(groupName: string): Promise<string[]>;
889
1011
  /**
890
1012
  * Deletes a group. Does nothing if the group does not exist.
@@ -934,13 +1056,20 @@ export interface MindooTenantDirectory {
934
1056
  * and prevent duplicate processing when multiple documents have the same timestamp.
935
1057
  */
936
1058
  export interface ProcessChangesCursor {
1059
+ /**
1060
+ * Monotonic changefeed sequence number assigned by BaseMindooDB.
1061
+ * This is the primary cursor field for deterministic, gap-free iteration.
1062
+ */
1063
+ changeSeq?: number;
937
1064
  /**
938
1065
  * The timestamp of the last processed change (milliseconds since Unix epoch)
1066
+ * Legacy compatibility field. New code should use `changeSeq`.
939
1067
  */
940
1068
  lastModified: number;
941
1069
  /**
942
1070
  * The document ID of the last processed change.
943
1071
  * Used to break ties when multiple documents have the same timestamp.
1072
+ * Legacy compatibility field. New code should use `changeSeq`.
944
1073
  */
945
1074
  docId: string;
946
1075
  }
@@ -958,6 +1087,28 @@ export interface ProcessChangesResult {
958
1087
  */
959
1088
  cursor: ProcessChangesCursor;
960
1089
  }
1090
+ /**
1091
+ * Result yielded by the metadata-only latest-state iterator.
1092
+ * Contains the latest known index metadata without materializing the document.
1093
+ */
1094
+ export interface ProcessChangeSummaryResult {
1095
+ /**
1096
+ * The document ID that changed.
1097
+ */
1098
+ docId: string;
1099
+ /**
1100
+ * Latest user-visible modification timestamp for the document.
1101
+ */
1102
+ lastModified: number;
1103
+ /**
1104
+ * Whether the latest known state is deleted.
1105
+ */
1106
+ isDeleted: boolean;
1107
+ /**
1108
+ * The cursor position of this document in the deterministic changefeed.
1109
+ */
1110
+ cursor: ProcessChangesCursor;
1111
+ }
961
1112
  /**
962
1113
  * Result yielded by the iterateDocumentHistory generator.
963
1114
  */
@@ -991,6 +1142,18 @@ export interface OpenDBOptions extends OpenStoreOptions {
991
1142
  * If not provided, defaults are used.
992
1143
  */
993
1144
  attachmentConfig?: AttachmentConfig;
1145
+ /**
1146
+ * Configuration for the in-memory materialized document cache.
1147
+ */
1148
+ documentCacheConfig?: DocumentCacheConfig;
1149
+ /**
1150
+ * Configuration for automatic snapshot creation.
1151
+ */
1152
+ snapshotConfig?: SnapshotConfig;
1153
+ /**
1154
+ * Optional performance callback for profiling hot paths.
1155
+ */
1156
+ performanceCallback?: PerformanceCallback;
994
1157
  }
995
1158
  /**
996
1159
  * Optional performance callback interface for tracking operation timing.
@@ -1003,6 +1166,9 @@ export interface PerformanceCallback {
1003
1166
  onDocumentLoad?: (metrics: {
1004
1167
  docId: string;
1005
1168
  cacheHit: boolean;
1169
+ metadataEntriesScanned: number;
1170
+ replayEntriesLoaded: number;
1171
+ snapshotUsed: boolean;
1006
1172
  cacheCheckTime: number;
1007
1173
  storeQueryTime: number;
1008
1174
  entryLoadTime: number;
@@ -1023,10 +1189,107 @@ export interface PerformanceCallback {
1023
1189
  * Called during sync operations.
1024
1190
  */
1025
1191
  onSyncOperation?: (metrics: {
1026
- operation: 'findNewEntries' | 'processDocument' | 'updateIndex';
1192
+ operation: 'findNewEntries' | 'processDocument' | 'updateIndex' | 'iterateChangesSince' | 'iterateChangeMetadataSince' | 'planDocumentMaterialization' | 'planDocumentMaterializationBatch' | 'bloomRebuild';
1027
1193
  time: number;
1028
1194
  details?: Record<string, any>;
1029
1195
  }) => void;
1196
+ /**
1197
+ * Called for bounded history/time-travel workflows.
1198
+ */
1199
+ onHistoryOperation?: (metrics: {
1200
+ operation: 'getDocumentAtTimestamp' | 'getDocumentHistoryPage';
1201
+ docId: string;
1202
+ time: number;
1203
+ scannedEntries: number;
1204
+ returnedEntries?: number;
1205
+ bounded?: boolean;
1206
+ }) => void;
1207
+ }
1208
+ /**
1209
+ * Cursor for paged history metadata access.
1210
+ */
1211
+ export interface DocumentHistoryPageCursor {
1212
+ offset: number;
1213
+ }
1214
+ /**
1215
+ * One history entry in a bounded history page.
1216
+ */
1217
+ export interface DocumentHistoryPageEntry {
1218
+ entryId: string;
1219
+ entryType: StoreEntryType;
1220
+ changeCreatedAt: number;
1221
+ changeCreatedByPublicKey: string;
1222
+ dependencyIds: string[];
1223
+ isDeleted: boolean;
1224
+ }
1225
+ /**
1226
+ * Options for bounded history metadata access.
1227
+ */
1228
+ export interface DocumentHistoryPageOptions {
1229
+ cursor?: DocumentHistoryPageCursor | null;
1230
+ limit?: number;
1231
+ }
1232
+ /**
1233
+ * Page result for bounded history metadata access.
1234
+ */
1235
+ export interface DocumentHistoryPageResult {
1236
+ entries: DocumentHistoryPageEntry[];
1237
+ nextCursor: DocumentHistoryPageCursor | null;
1238
+ hasMore: boolean;
1239
+ }
1240
+ /**
1241
+ * Progress information emitted during pull/push sync operations.
1242
+ */
1243
+ export interface SyncProgress {
1244
+ phase: 'preparing' | 'planning' | 'transferring' | 'processing' | 'complete';
1245
+ message: string;
1246
+ transferredEntries: number;
1247
+ scannedEntries: number;
1248
+ totalSourceEntries?: number;
1249
+ currentPage?: number;
1250
+ }
1251
+ /**
1252
+ * Sync mode controls how much data is transferred between stores.
1253
+ *
1254
+ * - `"full"` (default) transfers every entry the target is missing.
1255
+ * - `"dense"` uses the batch materialization planner to transfer only the
1256
+ * entries needed to reconstruct the latest state of each document (best
1257
+ * snapshot + uncovered changes + lifecycle bookkeeping). Historical
1258
+ * entries superseded by a snapshot are skipped, and attachment chunks are
1259
+ * deferred.
1260
+ */
1261
+ export type SyncMode = "full" | "dense";
1262
+ /**
1263
+ * Options for pull/push sync operations.
1264
+ */
1265
+ export interface SyncOptions {
1266
+ onProgress?: (progress: SyncProgress) => void;
1267
+ pageSize?: number;
1268
+ signal?: AbortSignal;
1269
+ /**
1270
+ * Optional network auth override for this sync call.
1271
+ *
1272
+ * Useful for bootstrap scenarios where a specific user identity (for example
1273
+ * an admin identity) must be used for the challenge/response handshake.
1274
+ */
1275
+ networkAuthOverride?: {
1276
+ user: PrivateUserId;
1277
+ password: string;
1278
+ };
1279
+ /**
1280
+ * Transfer strategy. Defaults to `"full"`.
1281
+ *
1282
+ * Use `"dense"` for bandwidth-constrained scenarios (initial mobile setup,
1283
+ * metered connections) where only the current document state is needed.
1284
+ */
1285
+ mode?: SyncMode;
1286
+ }
1287
+ /**
1288
+ * Result returned by pull/push sync operations.
1289
+ */
1290
+ export interface SyncResult {
1291
+ transferredEntries: number;
1292
+ cancelled: boolean;
1030
1293
  }
1031
1294
  export interface MindooDB {
1032
1295
  /**
@@ -1120,6 +1383,14 @@ export interface MindooDB {
1120
1383
  * @return An async generator that yields DocumentHistoryResult objects containing the document state and change metadata, in chronological order from oldest to newest
1121
1384
  */
1122
1385
  iterateDocumentHistory(docId: string): AsyncGenerator<DocumentHistoryResult, void, unknown>;
1386
+ /**
1387
+ * Return bounded history metadata for a document without materializing every
1388
+ * historical document state.
1389
+ *
1390
+ * This is intended for scalable history UIs where the caller wants a paged
1391
+ * timeline first, and only materializes specific snapshots on demand.
1392
+ */
1393
+ getDocumentHistoryPage(docId: string, options?: DocumentHistoryPageOptions): Promise<DocumentHistoryPageResult>;
1123
1394
  /**
1124
1395
  * Get all document IDs in this database.
1125
1396
  *
@@ -1209,6 +1480,17 @@ export interface MindooDB {
1209
1480
  * @return An async generator that yields ProcessChangesResult objects containing the document and its cursor. Each document is yielded immediately after loading, enabling early termination.
1210
1481
  */
1211
1482
  iterateChangesSince(cursor: ProcessChangesCursor | null): AsyncGenerator<ProcessChangesResult, void, unknown>;
1483
+ /**
1484
+ * Iterate over latest-state change metadata since a given cursor without
1485
+ * loading, verifying, or decrypting the full document body.
1486
+ *
1487
+ * This is intended for external indexes, sync checkpoints, and overview UIs
1488
+ * that only need document IDs, deletion flags, and cursors.
1489
+ *
1490
+ * @param cursor The cursor to start processing changes from. Use `null` to start from the beginning.
1491
+ * @return An async generator that yields metadata-only change summaries.
1492
+ */
1493
+ iterateChangeMetadataSince(cursor: ProcessChangesCursor | null): AsyncGenerator<ProcessChangeSummaryResult, void, unknown>;
1212
1494
  /**
1213
1495
  * Sync changes from the append-only store by finding new changes and processing them.
1214
1496
  * This method can be called multiple times to incrementally sync new changes.
@@ -1223,18 +1505,20 @@ export interface MindooDB {
1223
1505
  */
1224
1506
  syncStoreChanges(): Promise<void>;
1225
1507
  /**
1226
- * Pull changes from a remote content-addressed store.
1508
+ * Pull changes from a remote content-addressed store or another MindooDB instance.
1227
1509
  *
1228
- * @param remoteStore The remote store to pull changes from
1229
- * @return A promise that resolves when the pull is complete
1510
+ * @param remote The remote store or MindooDB instance to pull changes from
1511
+ * @param options Optional sync options for progress tracking, paging, and cancellation
1512
+ * @return A promise that resolves with the sync result
1230
1513
  */
1231
- pullChangesFrom(remoteStore: ContentAddressedStore): Promise<void>;
1514
+ pullChangesFrom(remote: ContentAddressedStore | MindooDB, options?: SyncOptions): Promise<SyncResult>;
1232
1515
  /**
1233
- * Push changes to a remote content-addressed store.
1516
+ * Push changes to a remote content-addressed store or another MindooDB instance.
1234
1517
  *
1235
- * @param remoteStore The remote store to push changes to
1236
- * @return A promise that resolves when the push is complete
1518
+ * @param remote The remote store or MindooDB instance to push changes to
1519
+ * @param options Optional sync options for progress tracking, paging, and cancellation
1520
+ * @return A promise that resolves with the sync result
1237
1521
  */
1238
- pushChangesTo(remoteStore: ContentAddressedStore): Promise<void>;
1522
+ pushChangesTo(remote: ContentAddressedStore | MindooDB, options?: SyncOptions): Promise<SyncResult>;
1239
1523
  }
1240
1524
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PUBLIC_INFOS_KEY_ID = void 0;
3
+ exports.DEFAULT_TENANT_KEY_ID = exports.PUBLIC_INFOS_KEY_ID = void 0;
4
4
  /**
5
5
  * Well-known key ID for access control documents (grantaccess, revokeaccess, groups).
6
6
  * All servers and clients MUST have this key in their KeyBag to verify user access.
@@ -9,4 +9,10 @@ exports.PUBLIC_INFOS_KEY_ID = void 0;
9
9
  * KeyBag location: type "doc", id PUBLIC_INFOS_KEY_ID.
10
10
  */
11
11
  exports.PUBLIC_INFOS_KEY_ID = "$publicinfos";
12
+ /**
13
+ * Well-known key ID for the tenant-wide default document encryption key.
14
+ *
15
+ * KeyBag location: type "doc", id DEFAULT_TENANT_KEY_ID.
16
+ */
17
+ exports.DEFAULT_TENANT_KEY_ID = "default";
12
18
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":";;;AAOA;;;;;;GAMG;AACU,QAAA,mBAAmB,GAAG,cAAc,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":";;;AAOA;;;;;;GAMG;AACU,QAAA,mBAAmB,GAAG,cAAc,CAAC;AAElD;;;;GAIG;AACU,QAAA,qBAAqB,GAAG,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"idGeneration.d.ts","sourceRoot":"","sources":["../../../src/core/utils/idGeneration.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,yBAAyB,EAAE,MAAM,EAAE,EACnC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,yBAAyB,EAAE,MAAM,EAAE,EACnC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAKR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,IAAI,CAUP;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,IAAI,CASP;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASjE;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAOjB"}
1
+ {"version":3,"file":"idGeneration.d.ts","sourceRoot":"","sources":["../../../src/core/utils/idGeneration.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+CH;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,yBAAyB,EAAE,MAAM,EAAE,EACnC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,yBAAyB,EAAE,MAAM,EAAE,EACnC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAIR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,IAAI,CAUP;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,IAAI,CASP;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASjE;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAOjB"}
@@ -20,8 +20,43 @@ exports.isDocEntryId = isDocEntryId;
20
20
  exports.isAttachmentChunkId = isAttachmentChunkId;
21
21
  exports.extractDocIdFromEntryId = extractDocIdFromEntryId;
22
22
  exports.computeContentHash = computeContentHash;
23
- const uuid_base62_1 = require("@digitalmaas/uuid-base62");
24
23
  const uuid_1 = require("uuid");
24
+ const BASE62_ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
25
+ const UUID_NO_DASH_LENGTH = 32;
26
+ const BASE62_UUID_LENGTH = 22;
27
+ function trimLeft(target, length) {
28
+ let trim = 0;
29
+ while (target[trim] === "0" && target.length - trim > length) {
30
+ trim++;
31
+ }
32
+ return target.slice(trim);
33
+ }
34
+ function ensureLength(target, length) {
35
+ if (target.length < length) {
36
+ return target.padStart(length, "0");
37
+ }
38
+ if (target.length > length) {
39
+ return trimLeft(target, length);
40
+ }
41
+ return target;
42
+ }
43
+ function hexToBase62(uuid) {
44
+ const normalized = uuid.replace(/-/g, "");
45
+ if (!/^[0-9a-fA-F]{32}$/.test(normalized)) {
46
+ throw new TypeError(`Invalid UUID for base62 encoding: ${uuid}`);
47
+ }
48
+ let value = BigInt(`0x${normalized}`);
49
+ if (value === 0n) {
50
+ return "0".repeat(BASE62_UUID_LENGTH);
51
+ }
52
+ let encoded = "";
53
+ while (value > 0n) {
54
+ const digit = Number(value % 62n);
55
+ encoded = BASE62_ALPHABET[digit] + encoded;
56
+ value /= 62n;
57
+ }
58
+ return ensureLength(encoded, BASE62_UUID_LENGTH);
59
+ }
25
60
  /**
26
61
  * Generate a document entry ID with blockchain-like chaining.
27
62
  * Format: <docId>_d_<depsFingerprint>_<automergeHash>
@@ -71,8 +106,7 @@ async function generateDepsFingerprint(dependencyAutomergeHashes, subtle) {
71
106
  */
72
107
  function generateAttachmentChunkId(docId, fileUuid7, chunkUuid7) {
73
108
  const chunkId = chunkUuid7 || (0, uuid_1.v7)();
74
- // base62Encode expects UUID with dashes
75
- const base62Chunk = (0, uuid_base62_1.encode)(chunkId);
109
+ const base62Chunk = hexToBase62(chunkId);
76
110
  return `${docId}_a_${fileUuid7}_${base62Chunk}`;
77
111
  }
78
112
  /**