@aigne/afs-did-space 1.12.0-beta.5

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 (510) hide show
  1. package/LICENSE.md +26 -0
  2. package/README.md +129 -0
  3. package/dist/_virtual/_@oxc-project_runtime@0.108.0/helpers/decorate.cjs +11 -0
  4. package/dist/_virtual/_@oxc-project_runtime@0.108.0/helpers/decorate.mjs +10 -0
  5. package/dist/_virtual/rolldown_runtime.cjs +29 -0
  6. package/dist/afs-metadata-context.cjs +20 -0
  7. package/dist/afs-metadata-context.d.cts +21 -0
  8. package/dist/afs-metadata-context.d.cts.map +1 -0
  9. package/dist/afs-metadata-context.d.mts +21 -0
  10. package/dist/afs-metadata-context.d.mts.map +1 -0
  11. package/dist/afs-metadata-context.mjs +18 -0
  12. package/dist/afs-metadata-context.mjs.map +1 -0
  13. package/dist/blocklet-hook.cjs +180 -0
  14. package/dist/blocklet-hook.d.cts +29 -0
  15. package/dist/blocklet-hook.d.cts.map +1 -0
  16. package/dist/blocklet-hook.d.mts +29 -0
  17. package/dist/blocklet-hook.d.mts.map +1 -0
  18. package/dist/blocklet-hook.mjs +178 -0
  19. package/dist/blocklet-hook.mjs.map +1 -0
  20. package/dist/changelog-schema.cjs +603 -0
  21. package/dist/changelog-schema.d.cts +395 -0
  22. package/dist/changelog-schema.d.cts.map +1 -0
  23. package/dist/changelog-schema.d.mts +395 -0
  24. package/dist/changelog-schema.d.mts.map +1 -0
  25. package/dist/changelog-schema.mjs +570 -0
  26. package/dist/changelog-schema.mjs.map +1 -0
  27. package/dist/changelog-write.cjs +80 -0
  28. package/dist/changelog-write.d.cts +70 -0
  29. package/dist/changelog-write.d.cts.map +1 -0
  30. package/dist/changelog-write.d.mts +70 -0
  31. package/dist/changelog-write.d.mts.map +1 -0
  32. package/dist/changelog-write.mjs +77 -0
  33. package/dist/changelog-write.mjs.map +1 -0
  34. package/dist/cid-byte-cache.cjs +126 -0
  35. package/dist/cid-byte-cache.d.cts +46 -0
  36. package/dist/cid-byte-cache.d.cts.map +1 -0
  37. package/dist/cid-byte-cache.d.mts +47 -0
  38. package/dist/cid-byte-cache.d.mts.map +1 -0
  39. package/dist/cid-byte-cache.mjs +125 -0
  40. package/dist/cid-byte-cache.mjs.map +1 -0
  41. package/dist/cid.cjs +68 -0
  42. package/dist/cid.d.cts +22 -0
  43. package/dist/cid.d.cts.map +1 -0
  44. package/dist/cid.d.mts +22 -0
  45. package/dist/cid.d.mts.map +1 -0
  46. package/dist/cid.mjs +65 -0
  47. package/dist/cid.mjs.map +1 -0
  48. package/dist/client.cjs +221 -0
  49. package/dist/client.d.cts +72 -0
  50. package/dist/client.d.cts.map +1 -0
  51. package/dist/client.d.mts +72 -0
  52. package/dist/client.d.mts.map +1 -0
  53. package/dist/client.mjs +220 -0
  54. package/dist/client.mjs.map +1 -0
  55. package/dist/cloudflare.cjs +510 -0
  56. package/dist/cloudflare.d.cts +307 -0
  57. package/dist/cloudflare.d.cts.map +1 -0
  58. package/dist/cloudflare.d.mts +308 -0
  59. package/dist/cloudflare.d.mts.map +1 -0
  60. package/dist/cloudflare.mjs +507 -0
  61. package/dist/cloudflare.mjs.map +1 -0
  62. package/dist/ctime-backfill.cjs +272 -0
  63. package/dist/ctime-backfill.d.cts +169 -0
  64. package/dist/ctime-backfill.d.cts.map +1 -0
  65. package/dist/ctime-backfill.d.mts +169 -0
  66. package/dist/ctime-backfill.d.mts.map +1 -0
  67. package/dist/ctime-backfill.mjs +267 -0
  68. package/dist/ctime-backfill.mjs.map +1 -0
  69. package/dist/d1-gc-queue.cjs +80 -0
  70. package/dist/d1-gc-queue.d.cts +59 -0
  71. package/dist/d1-gc-queue.d.cts.map +1 -0
  72. package/dist/d1-gc-queue.d.mts +59 -0
  73. package/dist/d1-gc-queue.d.mts.map +1 -0
  74. package/dist/d1-gc-queue.mjs +81 -0
  75. package/dist/d1-gc-queue.mjs.map +1 -0
  76. package/dist/d1-resolve-store.cjs +189 -0
  77. package/dist/d1-resolve-store.d.cts +93 -0
  78. package/dist/d1-resolve-store.d.cts.map +1 -0
  79. package/dist/d1-resolve-store.d.mts +93 -0
  80. package/dist/d1-resolve-store.d.mts.map +1 -0
  81. package/dist/d1-resolve-store.mjs +190 -0
  82. package/dist/d1-resolve-store.mjs.map +1 -0
  83. package/dist/d1-schema.cjs +361 -0
  84. package/dist/d1-schema.d.cts +237 -0
  85. package/dist/d1-schema.d.cts.map +1 -0
  86. package/dist/d1-schema.d.mts +237 -0
  87. package/dist/d1-schema.d.mts.map +1 -0
  88. package/dist/d1-schema.mjs +341 -0
  89. package/dist/d1-schema.mjs.map +1 -0
  90. package/dist/d1-share-store.cjs +0 -0
  91. package/dist/d1-share-store.d.cts +53 -0
  92. package/dist/d1-share-store.d.cts.map +1 -0
  93. package/dist/d1-share-store.d.mts +53 -0
  94. package/dist/d1-share-store.d.mts.map +1 -0
  95. package/dist/d1-share-store.mjs +0 -0
  96. package/dist/d1-share-store.mjs.map +1 -0
  97. package/dist/d1-tree-index.cjs +1098 -0
  98. package/dist/d1-tree-index.d.cts +203 -0
  99. package/dist/d1-tree-index.d.cts.map +1 -0
  100. package/dist/d1-tree-index.d.mts +203 -0
  101. package/dist/d1-tree-index.d.mts.map +1 -0
  102. package/dist/d1-tree-index.mjs +1094 -0
  103. package/dist/d1-tree-index.mjs.map +1 -0
  104. package/dist/data-backend.cjs +147 -0
  105. package/dist/data-backend.d.cts +30 -0
  106. package/dist/data-backend.d.cts.map +1 -0
  107. package/dist/data-backend.d.mts +30 -0
  108. package/dist/data-backend.d.mts.map +1 -0
  109. package/dist/data-backend.mjs +148 -0
  110. package/dist/data-backend.mjs.map +1 -0
  111. package/dist/dedup-backfill.cjs +278 -0
  112. package/dist/dedup-backfill.d.cts +165 -0
  113. package/dist/dedup-backfill.d.cts.map +1 -0
  114. package/dist/dedup-backfill.d.mts +165 -0
  115. package/dist/dedup-backfill.d.mts.map +1 -0
  116. package/dist/dedup-backfill.mjs +273 -0
  117. package/dist/dedup-backfill.mjs.map +1 -0
  118. package/dist/did-space-like.d.cts +2 -0
  119. package/dist/did-space-like.d.mts +2 -0
  120. package/dist/did-utils.cjs +44 -0
  121. package/dist/did-utils.d.cts +25 -0
  122. package/dist/did-utils.d.cts.map +1 -0
  123. package/dist/did-utils.d.mts +25 -0
  124. package/dist/did-utils.d.mts.map +1 -0
  125. package/dist/did-utils.mjs +43 -0
  126. package/dist/did-utils.mjs.map +1 -0
  127. package/dist/dirty-path-queue.cjs +31 -0
  128. package/dist/dirty-path-queue.d.cts +104 -0
  129. package/dist/dirty-path-queue.d.cts.map +1 -0
  130. package/dist/dirty-path-queue.d.mts +104 -0
  131. package/dist/dirty-path-queue.d.mts.map +1 -0
  132. package/dist/dirty-path-queue.mjs +31 -0
  133. package/dist/dirty-path-queue.mjs.map +1 -0
  134. package/dist/dirty-path-schema.cjs +142 -0
  135. package/dist/dirty-path-schema.d.cts +90 -0
  136. package/dist/dirty-path-schema.d.cts.map +1 -0
  137. package/dist/dirty-path-schema.d.mts +90 -0
  138. package/dist/dirty-path-schema.d.mts.map +1 -0
  139. package/dist/dirty-path-schema.mjs +136 -0
  140. package/dist/dirty-path-schema.mjs.map +1 -0
  141. package/dist/download-actions.cjs +43 -0
  142. package/dist/download-actions.mjs +40 -0
  143. package/dist/download-actions.mjs.map +1 -0
  144. package/dist/fs-object-store.cjs +153 -0
  145. package/dist/fs-object-store.d.cts +21 -0
  146. package/dist/fs-object-store.d.cts.map +1 -0
  147. package/dist/fs-object-store.d.mts +22 -0
  148. package/dist/fs-object-store.d.mts.map +1 -0
  149. package/dist/fs-object-store.mjs +153 -0
  150. package/dist/fs-object-store.mjs.map +1 -0
  151. package/dist/gc-queue.d.cts +43 -0
  152. package/dist/gc-queue.d.cts.map +1 -0
  153. package/dist/gc-queue.d.mts +43 -0
  154. package/dist/gc-queue.d.mts.map +1 -0
  155. package/dist/index.cjs +2712 -0
  156. package/dist/index.d.cts +504 -0
  157. package/dist/index.d.cts.map +1 -0
  158. package/dist/index.d.mts +505 -0
  159. package/dist/index.d.mts.map +1 -0
  160. package/dist/index.mjs +2537 -0
  161. package/dist/index.mjs.map +1 -0
  162. package/dist/inline-content-migration.cjs +212 -0
  163. package/dist/inline-content-migration.d.cts +110 -0
  164. package/dist/inline-content-migration.d.cts.map +1 -0
  165. package/dist/inline-content-migration.d.mts +111 -0
  166. package/dist/inline-content-migration.d.mts.map +1 -0
  167. package/dist/inline-content-migration.mjs +207 -0
  168. package/dist/inline-content-migration.mjs.map +1 -0
  169. package/dist/inline-content.cjs +145 -0
  170. package/dist/inline-content.d.cts +98 -0
  171. package/dist/inline-content.d.cts.map +1 -0
  172. package/dist/inline-content.d.mts +98 -0
  173. package/dist/inline-content.d.mts.map +1 -0
  174. package/dist/inline-content.mjs +137 -0
  175. package/dist/inline-content.mjs.map +1 -0
  176. package/dist/local-changelog.cjs +241 -0
  177. package/dist/local-changelog.d.cts +119 -0
  178. package/dist/local-changelog.d.cts.map +1 -0
  179. package/dist/local-changelog.d.mts +119 -0
  180. package/dist/local-changelog.d.mts.map +1 -0
  181. package/dist/local-changelog.mjs +240 -0
  182. package/dist/local-changelog.mjs.map +1 -0
  183. package/dist/local.cjs +435 -0
  184. package/dist/local.d.cts +254 -0
  185. package/dist/local.d.cts.map +1 -0
  186. package/dist/local.d.mts +254 -0
  187. package/dist/local.d.mts.map +1 -0
  188. package/dist/local.mjs +427 -0
  189. package/dist/local.mjs.map +1 -0
  190. package/dist/memory-gc-queue.cjs +36 -0
  191. package/dist/memory-gc-queue.d.cts +22 -0
  192. package/dist/memory-gc-queue.d.cts.map +1 -0
  193. package/dist/memory-gc-queue.d.mts +22 -0
  194. package/dist/memory-gc-queue.d.mts.map +1 -0
  195. package/dist/memory-gc-queue.mjs +36 -0
  196. package/dist/memory-gc-queue.mjs.map +1 -0
  197. package/dist/memory-tree-index.cjs +734 -0
  198. package/dist/memory-tree-index.d.cts +159 -0
  199. package/dist/memory-tree-index.d.cts.map +1 -0
  200. package/dist/memory-tree-index.d.mts +159 -0
  201. package/dist/memory-tree-index.d.mts.map +1 -0
  202. package/dist/memory-tree-index.mjs +735 -0
  203. package/dist/memory-tree-index.mjs.map +1 -0
  204. package/dist/metadata-db.cjs +562 -0
  205. package/dist/metadata-db.d.cts +102 -0
  206. package/dist/metadata-db.d.cts.map +1 -0
  207. package/dist/metadata-db.d.mts +102 -0
  208. package/dist/metadata-db.d.mts.map +1 -0
  209. package/dist/metadata-db.mjs +562 -0
  210. package/dist/metadata-db.mjs.map +1 -0
  211. package/dist/mime-utils.cjs +2 -0
  212. package/dist/mime-utils.d.cts +2 -0
  213. package/dist/mime-utils.d.mts +2 -0
  214. package/dist/mime-utils.mjs +3 -0
  215. package/dist/object-key.cjs +41 -0
  216. package/dist/object-key.d.cts +25 -0
  217. package/dist/object-key.d.cts.map +1 -0
  218. package/dist/object-key.d.mts +25 -0
  219. package/dist/object-key.d.mts.map +1 -0
  220. package/dist/object-key.mjs +40 -0
  221. package/dist/object-key.mjs.map +1 -0
  222. package/dist/packages/session/dist/index.cjs +788 -0
  223. package/dist/packages/session/dist/index.mjs +782 -0
  224. package/dist/packages/session/dist/index.mjs.map +1 -0
  225. package/dist/platform/r2/dist/types.d.cts +49 -0
  226. package/dist/platform/r2/dist/types.d.cts.map +1 -0
  227. package/dist/prefix-range.cjs +33 -0
  228. package/dist/prefix-range.d.cts +29 -0
  229. package/dist/prefix-range.d.cts.map +1 -0
  230. package/dist/prefix-range.d.mts +29 -0
  231. package/dist/prefix-range.d.mts.map +1 -0
  232. package/dist/prefix-range.mjs +33 -0
  233. package/dist/prefix-range.mjs.map +1 -0
  234. package/dist/prefixed-tree-index.cjs +238 -0
  235. package/dist/prefixed-tree-index.d.cts +85 -0
  236. package/dist/prefixed-tree-index.d.cts.map +1 -0
  237. package/dist/prefixed-tree-index.d.mts +85 -0
  238. package/dist/prefixed-tree-index.d.mts.map +1 -0
  239. package/dist/prefixed-tree-index.mjs +239 -0
  240. package/dist/prefixed-tree-index.mjs.map +1 -0
  241. package/dist/presign-signer.cjs +7 -0
  242. package/dist/presign-signer.d.cts +99 -0
  243. package/dist/presign-signer.d.cts.map +1 -0
  244. package/dist/presign-signer.d.mts +99 -0
  245. package/dist/presign-signer.d.mts.map +1 -0
  246. package/dist/presign-signer.mjs +7 -0
  247. package/dist/presign-signer.mjs.map +1 -0
  248. package/dist/providers/platform/r2/dist/index.d.mts +3 -0
  249. package/dist/providers/platform/r2/dist/types.d.mts +49 -0
  250. package/dist/providers/platform/r2/dist/types.d.mts.map +1 -0
  251. package/dist/reconcile.cjs +184 -0
  252. package/dist/reconcile.d.cts +26 -0
  253. package/dist/reconcile.d.cts.map +1 -0
  254. package/dist/reconcile.d.mts +26 -0
  255. package/dist/reconcile.d.mts.map +1 -0
  256. package/dist/reconcile.mjs +184 -0
  257. package/dist/reconcile.mjs.map +1 -0
  258. package/dist/reference-check.cjs +49 -0
  259. package/dist/reference-check.d.cts +10 -0
  260. package/dist/reference-check.d.cts.map +1 -0
  261. package/dist/reference-check.d.mts +10 -0
  262. package/dist/reference-check.d.mts.map +1 -0
  263. package/dist/reference-check.mjs +48 -0
  264. package/dist/reference-check.mjs.map +1 -0
  265. package/dist/remote-afs.cjs +681 -0
  266. package/dist/remote-afs.d.cts +236 -0
  267. package/dist/remote-afs.d.cts.map +1 -0
  268. package/dist/remote-afs.d.mts +236 -0
  269. package/dist/remote-afs.d.mts.map +1 -0
  270. package/dist/remote-afs.mjs +676 -0
  271. package/dist/remote-afs.mjs.map +1 -0
  272. package/dist/rename-guard.cjs +18 -0
  273. package/dist/rename-guard.mjs +18 -0
  274. package/dist/rename-guard.mjs.map +1 -0
  275. package/dist/resolve.cjs +260 -0
  276. package/dist/resolve.d.cts +113 -0
  277. package/dist/resolve.d.cts.map +1 -0
  278. package/dist/resolve.d.mts +113 -0
  279. package/dist/resolve.d.mts.map +1 -0
  280. package/dist/resolve.mjs +260 -0
  281. package/dist/resolve.mjs.map +1 -0
  282. package/dist/rsync-content.cjs +33 -0
  283. package/dist/rsync-content.mjs +33 -0
  284. package/dist/rsync-content.mjs.map +1 -0
  285. package/dist/rsync.cjs +400 -0
  286. package/dist/rsync.d.cts +157 -0
  287. package/dist/rsync.d.cts.map +1 -0
  288. package/dist/rsync.d.mts +157 -0
  289. package/dist/rsync.d.mts.map +1 -0
  290. package/dist/rsync.mjs +397 -0
  291. package/dist/rsync.mjs.map +1 -0
  292. package/dist/run-gc.cjs +57 -0
  293. package/dist/run-gc.d.cts +40 -0
  294. package/dist/run-gc.d.cts.map +1 -0
  295. package/dist/run-gc.d.mts +41 -0
  296. package/dist/run-gc.d.mts.map +1 -0
  297. package/dist/run-gc.mjs +57 -0
  298. package/dist/run-gc.mjs.map +1 -0
  299. package/dist/scope-id.cjs +70 -0
  300. package/dist/scope-id.d.cts +35 -0
  301. package/dist/scope-id.d.cts.map +1 -0
  302. package/dist/scope-id.d.mts +35 -0
  303. package/dist/scope-id.d.mts.map +1 -0
  304. package/dist/scope-id.mjs +68 -0
  305. package/dist/scope-id.mjs.map +1 -0
  306. package/dist/scope-migration-node.cjs +172 -0
  307. package/dist/scope-migration-node.d.cts +44 -0
  308. package/dist/scope-migration-node.d.cts.map +1 -0
  309. package/dist/scope-migration-node.d.mts +44 -0
  310. package/dist/scope-migration-node.d.mts.map +1 -0
  311. package/dist/scope-migration-node.mjs +171 -0
  312. package/dist/scope-migration-node.mjs.map +1 -0
  313. package/dist/scope-migration.cjs +155 -0
  314. package/dist/scope-migration.d.cts +65 -0
  315. package/dist/scope-migration.d.cts.map +1 -0
  316. package/dist/scope-migration.d.mts +65 -0
  317. package/dist/scope-migration.d.mts.map +1 -0
  318. package/dist/scope-migration.mjs +154 -0
  319. package/dist/scope-migration.mjs.map +1 -0
  320. package/dist/share-declaration.cjs +225 -0
  321. package/dist/share-declaration.d.cts +30 -0
  322. package/dist/share-declaration.d.cts.map +1 -0
  323. package/dist/share-declaration.d.mts +32 -0
  324. package/dist/share-declaration.d.mts.map +1 -0
  325. package/dist/share-declaration.mjs +221 -0
  326. package/dist/share-declaration.mjs.map +1 -0
  327. package/dist/share-hook.cjs +63 -0
  328. package/dist/share-hook.mjs +62 -0
  329. package/dist/share-hook.mjs.map +1 -0
  330. package/dist/share-resolve.cjs +176 -0
  331. package/dist/share-resolve.d.cts +36 -0
  332. package/dist/share-resolve.d.cts.map +1 -0
  333. package/dist/share-resolve.d.mts +36 -0
  334. package/dist/share-resolve.d.mts.map +1 -0
  335. package/dist/share-resolve.mjs +177 -0
  336. package/dist/share-resolve.mjs.map +1 -0
  337. package/dist/share-serve.cjs +145 -0
  338. package/dist/share-serve.d.cts +30 -0
  339. package/dist/share-serve.d.cts.map +1 -0
  340. package/dist/share-serve.d.mts +30 -0
  341. package/dist/share-serve.d.mts.map +1 -0
  342. package/dist/share-serve.mjs +144 -0
  343. package/dist/share-serve.mjs.map +1 -0
  344. package/dist/share-store.cjs +25 -0
  345. package/dist/share-store.d.cts +65 -0
  346. package/dist/share-store.d.cts.map +1 -0
  347. package/dist/share-store.d.mts +65 -0
  348. package/dist/share-store.d.mts.map +1 -0
  349. package/dist/share-store.mjs +25 -0
  350. package/dist/share-store.mjs.map +1 -0
  351. package/dist/share-virtual-path.cjs +102 -0
  352. package/dist/share-virtual-path.mjs +101 -0
  353. package/dist/share-virtual-path.mjs.map +1 -0
  354. package/dist/space-resolver.cjs +54 -0
  355. package/dist/space-resolver.d.cts +34 -0
  356. package/dist/space-resolver.d.cts.map +1 -0
  357. package/dist/space-resolver.d.mts +34 -0
  358. package/dist/space-resolver.d.mts.map +1 -0
  359. package/dist/space-resolver.mjs +55 -0
  360. package/dist/space-resolver.mjs.map +1 -0
  361. package/dist/sqlite-gc-queue.cjs +51 -0
  362. package/dist/sqlite-gc-queue.d.cts +22 -0
  363. package/dist/sqlite-gc-queue.d.cts.map +1 -0
  364. package/dist/sqlite-gc-queue.d.mts +22 -0
  365. package/dist/sqlite-gc-queue.d.mts.map +1 -0
  366. package/dist/sqlite-gc-queue.mjs +52 -0
  367. package/dist/sqlite-gc-queue.mjs.map +1 -0
  368. package/dist/sqlite-resolve-store.cjs +163 -0
  369. package/dist/sqlite-resolve-store.d.cts +50 -0
  370. package/dist/sqlite-resolve-store.d.cts.map +1 -0
  371. package/dist/sqlite-resolve-store.d.mts +50 -0
  372. package/dist/sqlite-resolve-store.d.mts.map +1 -0
  373. package/dist/sqlite-resolve-store.mjs +164 -0
  374. package/dist/sqlite-resolve-store.mjs.map +1 -0
  375. package/dist/sqlite-share-store.cjs +157 -0
  376. package/dist/sqlite-share-store.d.cts +31 -0
  377. package/dist/sqlite-share-store.d.cts.map +1 -0
  378. package/dist/sqlite-share-store.d.mts +31 -0
  379. package/dist/sqlite-share-store.d.mts.map +1 -0
  380. package/dist/sqlite-share-store.mjs +157 -0
  381. package/dist/sqlite-share-store.mjs.map +1 -0
  382. package/dist/sqlite-tree-index.cjs +901 -0
  383. package/dist/sqlite-tree-index.d.cts +107 -0
  384. package/dist/sqlite-tree-index.d.cts.map +1 -0
  385. package/dist/sqlite-tree-index.d.mts +107 -0
  386. package/dist/sqlite-tree-index.d.mts.map +1 -0
  387. package/dist/sqlite-tree-index.mjs +902 -0
  388. package/dist/sqlite-tree-index.mjs.map +1 -0
  389. package/dist/sync-engine.cjs +1324 -0
  390. package/dist/sync-engine.d.cts +473 -0
  391. package/dist/sync-engine.d.cts.map +1 -0
  392. package/dist/sync-engine.d.mts +473 -0
  393. package/dist/sync-engine.d.mts.map +1 -0
  394. package/dist/sync-engine.mjs +1315 -0
  395. package/dist/sync-engine.mjs.map +1 -0
  396. package/dist/sync-state.cjs +303 -0
  397. package/dist/sync-state.d.cts +224 -0
  398. package/dist/sync-state.d.cts.map +1 -0
  399. package/dist/sync-state.d.mts +224 -0
  400. package/dist/sync-state.d.mts.map +1 -0
  401. package/dist/sync-state.mjs +297 -0
  402. package/dist/sync-state.mjs.map +1 -0
  403. package/dist/timestamp.cjs +92 -0
  404. package/dist/timestamp.mjs +91 -0
  405. package/dist/timestamp.mjs.map +1 -0
  406. package/dist/transports/http.cjs +54 -0
  407. package/dist/transports/http.d.cts +26 -0
  408. package/dist/transports/http.d.cts.map +1 -0
  409. package/dist/transports/http.d.mts +26 -0
  410. package/dist/transports/http.d.mts.map +1 -0
  411. package/dist/transports/http.mjs +54 -0
  412. package/dist/transports/http.mjs.map +1 -0
  413. package/dist/transports/static.cjs +55 -0
  414. package/dist/transports/static.d.cts +28 -0
  415. package/dist/transports/static.d.cts.map +1 -0
  416. package/dist/transports/static.d.mts +28 -0
  417. package/dist/transports/static.d.mts.map +1 -0
  418. package/dist/transports/static.mjs +55 -0
  419. package/dist/transports/static.mjs.map +1 -0
  420. package/dist/transports/types.cjs +13 -0
  421. package/dist/transports/types.d.cts +72 -0
  422. package/dist/transports/types.d.cts.map +1 -0
  423. package/dist/transports/types.d.mts +72 -0
  424. package/dist/transports/types.d.mts.map +1 -0
  425. package/dist/transports/types.mjs +13 -0
  426. package/dist/transports/types.mjs.map +1 -0
  427. package/dist/transports/ws.cjs +207 -0
  428. package/dist/transports/ws.d.cts +47 -0
  429. package/dist/transports/ws.d.cts.map +1 -0
  430. package/dist/transports/ws.d.mts +47 -0
  431. package/dist/transports/ws.d.mts.map +1 -0
  432. package/dist/transports/ws.mjs +206 -0
  433. package/dist/transports/ws.mjs.map +1 -0
  434. package/dist/tree-index.cjs +333 -0
  435. package/dist/tree-index.d.cts +524 -0
  436. package/dist/tree-index.d.cts.map +1 -0
  437. package/dist/tree-index.d.mts +524 -0
  438. package/dist/tree-index.d.mts.map +1 -0
  439. package/dist/tree-index.mjs +322 -0
  440. package/dist/tree-index.mjs.map +1 -0
  441. package/dist/tree-query.cjs +655 -0
  442. package/dist/tree-query.d.cts +70 -0
  443. package/dist/tree-query.d.cts.map +1 -0
  444. package/dist/tree-query.d.mts +70 -0
  445. package/dist/tree-query.d.mts.map +1 -0
  446. package/dist/tree-query.mjs +648 -0
  447. package/dist/tree-query.mjs.map +1 -0
  448. package/dist/upload-actions.cjs +97 -0
  449. package/dist/upload-actions.d.cts +19 -0
  450. package/dist/upload-actions.d.cts.map +1 -0
  451. package/dist/upload-actions.d.mts +21 -0
  452. package/dist/upload-actions.d.mts.map +1 -0
  453. package/dist/upload-actions.mjs +90 -0
  454. package/dist/upload-actions.mjs.map +1 -0
  455. package/dist/upload-session-store.cjs +185 -0
  456. package/dist/upload-session-store.d.cts +99 -0
  457. package/dist/upload-session-store.d.cts.map +1 -0
  458. package/dist/upload-session-store.d.mts +99 -0
  459. package/dist/upload-session-store.d.mts.map +1 -0
  460. package/dist/upload-session-store.mjs +184 -0
  461. package/dist/upload-session-store.mjs.map +1 -0
  462. package/dist/url-normalize.cjs +61 -0
  463. package/dist/url-normalize.d.cts +33 -0
  464. package/dist/url-normalize.d.cts.map +1 -0
  465. package/dist/url-normalize.d.mts +33 -0
  466. package/dist/url-normalize.d.mts.map +1 -0
  467. package/dist/url-normalize.mjs +61 -0
  468. package/dist/url-normalize.mjs.map +1 -0
  469. package/dist/versioned-content-backends.cjs +155 -0
  470. package/dist/versioned-content-backends.d.cts +49 -0
  471. package/dist/versioned-content-backends.d.cts.map +1 -0
  472. package/dist/versioned-content-backends.d.mts +49 -0
  473. package/dist/versioned-content-backends.d.mts.map +1 -0
  474. package/dist/versioned-content-backends.mjs +154 -0
  475. package/dist/versioned-content-backends.mjs.map +1 -0
  476. package/dist/versioned-content-index.cjs +102 -0
  477. package/dist/versioned-content-index.d.cts +46 -0
  478. package/dist/versioned-content-index.d.cts.map +1 -0
  479. package/dist/versioned-content-index.d.mts +46 -0
  480. package/dist/versioned-content-index.d.mts.map +1 -0
  481. package/dist/versioned-content-index.mjs +103 -0
  482. package/dist/versioned-content-index.mjs.map +1 -0
  483. package/dist/versioned-content-store.cjs +121 -0
  484. package/dist/versioned-content-store.d.cts +90 -0
  485. package/dist/versioned-content-store.d.cts.map +1 -0
  486. package/dist/versioned-content-store.d.mts +90 -0
  487. package/dist/versioned-content-store.d.mts.map +1 -0
  488. package/dist/versioned-content-store.mjs +122 -0
  489. package/dist/versioned-content-store.mjs.map +1 -0
  490. package/dist/versioned-scope.cjs +39 -0
  491. package/dist/versioned-scope.d.cts +57 -0
  492. package/dist/versioned-scope.d.cts.map +1 -0
  493. package/dist/versioned-scope.d.mts +57 -0
  494. package/dist/versioned-scope.d.mts.map +1 -0
  495. package/dist/versioned-scope.mjs +37 -0
  496. package/dist/versioned-scope.mjs.map +1 -0
  497. package/migrations/0001_tree_entries.sql +17 -0
  498. package/migrations/0002_resolve_entries.sql +7 -0
  499. package/migrations/0003_entries_v2.sql +38 -0
  500. package/migrations/0004_gc_queue.sql +5 -0
  501. package/migrations/0006_resolve_enhance.sql +14 -0
  502. package/migrations/0007_resolve_created_at.sql +10 -0
  503. package/migrations/0008_changelog.sql +34 -0
  504. package/migrations/0009_device_sync_state.sql +29 -0
  505. package/migrations/0010_scope_meta.sql +33 -0
  506. package/migrations/0011_shares.sql +25 -0
  507. package/migrations/0012_scope_meta_file_count.sql +41 -0
  508. package/migrations/0013_scope_meta_total_bytes.sql +47 -0
  509. package/migrations/0014_rename_tables.sql +62 -0
  510. package/package.json +102 -0
@@ -0,0 +1,159 @@
1
+ import { TreeQueryResult, TreeQuerySpec } from "./tree-query.cjs";
2
+ import { DirtyPathRow, ListDirtyPathOptions } from "./dirty-path-queue.cjs";
3
+ import { BatchDeleteEntry, BatchDeleteEntryResult, BatchIndexContext, BatchPutEntry, BatchPutEntryResult, ChangelogEntry, PutOpts, TreeEntry, TreeIndex, TreeIndexListEntriesResult, TreeIndexListOptions, TreeIndexListResult } from "./tree-index.cjs";
4
+ import { InlineContentOptions } from "./inline-content.cjs";
5
+
6
+ //#region src/memory-tree-index.d.ts
7
+ declare class MemoryTreeIndex implements TreeIndex {
8
+ private entries;
9
+ /**
10
+ * DIR rows with their timestamps. Was a `Set<string>` (existence only);
11
+ * upgraded to a `Map` carrying `{ ctime, mtime }` so Rule R2 (feed-sort
12
+ * §5.3) can stamp a direct parent's ctime and `collectChildren` can surface
13
+ * it (the SQL backends sort doc-mode dir rows by `e.ctime`) — keeping the
14
+ * memory backend in lockstep with D1/SQLite.
15
+ */
16
+ private dirEntries;
17
+ /** Phase 2: in-memory mirror of the `changelog` table. */
18
+ private changelog;
19
+ /**
20
+ * index-follower-dirty-path — in-memory mirror of the `ds_dirty_path` table.
21
+ * Keyed `${scope}\x00${path}`, updated through {@link applyDirtyUpsert} on
22
+ * every changelog append so its merge/guard semantics match the SQL trigger
23
+ * byte-for-byte. There is no DB trigger here, so {@link pushChangelog} is the
24
+ * single hook every write path funnels through.
25
+ */
26
+ private dirtyMap;
27
+ /** Monotonic seq counter mirroring `AUTOINCREMENT` in the SQL impl. */
28
+ private nextSeq;
29
+ /** Live Update Resilience §11.4 — in-memory mirror of `prefix_watermark`. */
30
+ private watermarks;
31
+ /**
32
+ * Dedup-on-write secondary index (#1159) — in-memory mirror of the
33
+ * `(scope, dedup_scope, dedup_key)` partial UNIQUE index. Keyed
34
+ * `${dedupScope}\x00${dedupKey}` → path. Maintained on put/delete; enforces
35
+ * uniqueness (the SQL backends get it from the DB index).
36
+ */
37
+ private dedupIndex;
38
+ /** Logical scope string baked into every changelog row (default ""). */
39
+ private readonly scope;
40
+ private readonly inline;
41
+ constructor(opts?: {
42
+ scope?: string;
43
+ } & InlineContentOptions);
44
+ /**
45
+ * Return a read-only snapshot of the in-memory changelog.
46
+ *
47
+ * Used by unit tests to assert that the correct row shape was appended on
48
+ * each put/delete. Production code never calls this.
49
+ */
50
+ getChangelogSnapshot(): readonly ChangelogEntry[];
51
+ /**
52
+ * The single append hook for the in-memory changelog. Mirrors the SQL
53
+ * `AFTER INSERT ON ds_changelog` trigger: it appends the row AND folds it into
54
+ * the dirty map via {@link applyDirtyUpsert} (same latest_seq guard + backoff
55
+ * reset). Every write path (`put` / `delete` / `deleteByPrefix`; `putBatch`
56
+ * and the batch* methods loop those) funnels through here, so the dirty map
57
+ * covers all six TreeIndex write methods for free — the Memory-backend twin of
58
+ * the trigger's "covers every write face by construction".
59
+ */
60
+ private pushChangelog;
61
+ get(path: string, _opts?: {
62
+ includeContent?: boolean;
63
+ }): Promise<TreeEntry | null>;
64
+ getDirTimes(dirPath: string): Promise<{
65
+ ctime: number;
66
+ mtime: number;
67
+ } | null>;
68
+ put(path: string, entry: TreeEntry, opts: PutOpts): Promise<{
69
+ oldCid?: string;
70
+ }>;
71
+ /** Inline content this entry would store — drives loopBatchPutEntries' content-aware skip. */
72
+ inlineForEntry(entry: TreeEntry): Promise<string | null>;
73
+ private dedupMapKey;
74
+ /** Mirror the `(scope, dedup_scope, dedup_key)` UNIQUE constraint. */
75
+ private assertDedupUnique;
76
+ private dropDedupMapping;
77
+ /** Re-point the dedup map for `path`: drop its stale mapping, set the new one. */
78
+ private updateDedupMapping;
79
+ findByDedupKey(dedupScope: string, dedupKey: string): Promise<({
80
+ path: string;
81
+ } & TreeEntry) | null>;
82
+ setDedupKey(path: string, dedupScope: string, dedupKey: string, opts: PutOpts): Promise<void>;
83
+ /** Bump a collection root's watermark by 1 (lazy-create at 1). No-op for null. */
84
+ private bumpWatermark;
85
+ getPrefixWatermark(prefix: string): Promise<number | null>;
86
+ delete(path: string, opts: PutOpts): Promise<void>;
87
+ private cleanEmptyParents;
88
+ private static readonly VALID_ORDER_BY;
89
+ /**
90
+ * Ordered + keyset-paged listing shared by listEntries/listChildren when
91
+ * an explicit orderBy is set — same semantics as the SQL impls (NULL
92
+ * mimeType last in both directions, unique-tie keyset resume, v2 cursor).
93
+ */
94
+ private orderedPage;
95
+ list(prefix: string, options?: TreeIndexListOptions): Promise<TreeIndexListResult>;
96
+ listEntries(prefix: string, options?: TreeIndexListOptions): Promise<TreeIndexListEntriesResult>;
97
+ hasChildren(prefix: string): Promise<boolean>;
98
+ count(prefix: string): Promise<number>;
99
+ deleteByPrefix(prefix: string, opts: PutOpts): Promise<number>;
100
+ /**
101
+ * THE single source of direct-children candidates — files with their own
102
+ * entry fields/content plus dir rows with the optional `<dir><docFile>`
103
+ * sub-file join. Shared by `listChildren` (join-free form post-T4.3) and
104
+ * `query` (doc surface) so the child-candidate semantics cannot drift —
105
+ * the in-memory mirror of `buildChildrenFrom` in tree-query.ts.
106
+ */
107
+ private collectChildren;
108
+ listChildren(parent: string, options?: TreeIndexListOptions): Promise<TreeIndexListEntriesResult>;
109
+ countChildren(parent: string): Promise<number>;
110
+ /**
111
+ * Collection query (afs-collection-query Phase 1) — JS executor over the
112
+ * same candidate set the SQL impls compile (lockstep-tested).
113
+ */
114
+ query(parent: string, spec: TreeQuerySpec): Promise<TreeQueryResult>;
115
+ countChildrenMany(parents: string[]): Promise<Map<string, number>>;
116
+ aggregate(prefix: string): Promise<{
117
+ fileCount: number;
118
+ totalSize: number;
119
+ }>;
120
+ /** Batch metadata read — loop over get (no IN-merge needed off-CF). */
121
+ getMany(paths: string[]): Promise<Map<string, TreeEntry | null>>;
122
+ /** Batch sync fast path — loop reference semantics (conformance-pinned
123
+ * equivalent of the merged D1 implementation). */
124
+ batchPutEntries(entries: BatchPutEntry[], ctx?: BatchIndexContext): Promise<BatchPutEntryResult[]>;
125
+ /** Delete twin of {@link batchPutEntries} (loop reference semantics). */
126
+ batchDeleteEntries(entries: BatchDeleteEntry[], ctx?: BatchIndexContext): Promise<BatchDeleteEntryResult[]>;
127
+ putBatch(entries: Array<{
128
+ path: string;
129
+ entry: TreeEntry;
130
+ }>, opts: PutOpts): Promise<void>;
131
+ listModifiedSince(prefix: string, since: number, options?: TreeIndexListOptions): Promise<TreeIndexListEntriesResult>;
132
+ getMaxSeq(): Promise<number>;
133
+ /**
134
+ * Read-auth reference check (design §4.1) — three-way, scoped, optionally
135
+ * prefix-local. See {@link TreeIndex.isReferenced}. This impl is single-scope
136
+ * (every row shares `this.scope`), so the scope filter is implicit; only the
137
+ * path-prefix restriction is applied.
138
+ */
139
+ isReferenced(cid: string, pathPrefix?: string): Promise<boolean>;
140
+ /**
141
+ * Batch read-auth (design §7.2 / §14) — in-memory three-way equivalent to
142
+ * per-cid {@link isReferenced}. No bound-param cap (no sharding), but the
143
+ * result MUST agree cid-for-cid with the SQL backends.
144
+ */
145
+ isReferencedMany(cids: string[], pathPrefix?: string): Promise<Set<string>>;
146
+ getChangelogSince(sinceSeq: number, limit: number): Promise<{
147
+ entries: ChangelogEntry[];
148
+ hasMore: boolean;
149
+ cursor: number;
150
+ }>;
151
+ getCompactedBelowSeq(): Promise<number>;
152
+ listDirtyPaths(options: ListDirtyPathOptions): Promise<DirtyPathRow[]>;
153
+ ackDirtyPath(path: string, latestSeq: number): Promise<boolean>;
154
+ markDirtyPathError(path: string, latestSeq: number, error: string, nextAttemptAt: number): Promise<boolean>;
155
+ private ensureParentDirs;
156
+ }
157
+ //#endregion
158
+ export { MemoryTreeIndex };
159
+ //# sourceMappingURL=memory-tree-index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-tree-index.d.cts","names":[],"sources":["../src/memory-tree-index.ts"],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ import { TreeQueryResult, TreeQuerySpec } from "./tree-query.mjs";
2
+ import { DirtyPathRow, ListDirtyPathOptions } from "./dirty-path-queue.mjs";
3
+ import { BatchDeleteEntry, BatchDeleteEntryResult, BatchIndexContext, BatchPutEntry, BatchPutEntryResult, ChangelogEntry, PutOpts, TreeEntry, TreeIndex, TreeIndexListEntriesResult, TreeIndexListOptions, TreeIndexListResult } from "./tree-index.mjs";
4
+ import { InlineContentOptions } from "./inline-content.mjs";
5
+
6
+ //#region src/memory-tree-index.d.ts
7
+ declare class MemoryTreeIndex implements TreeIndex {
8
+ private entries;
9
+ /**
10
+ * DIR rows with their timestamps. Was a `Set<string>` (existence only);
11
+ * upgraded to a `Map` carrying `{ ctime, mtime }` so Rule R2 (feed-sort
12
+ * §5.3) can stamp a direct parent's ctime and `collectChildren` can surface
13
+ * it (the SQL backends sort doc-mode dir rows by `e.ctime`) — keeping the
14
+ * memory backend in lockstep with D1/SQLite.
15
+ */
16
+ private dirEntries;
17
+ /** Phase 2: in-memory mirror of the `changelog` table. */
18
+ private changelog;
19
+ /**
20
+ * index-follower-dirty-path — in-memory mirror of the `ds_dirty_path` table.
21
+ * Keyed `${scope}\x00${path}`, updated through {@link applyDirtyUpsert} on
22
+ * every changelog append so its merge/guard semantics match the SQL trigger
23
+ * byte-for-byte. There is no DB trigger here, so {@link pushChangelog} is the
24
+ * single hook every write path funnels through.
25
+ */
26
+ private dirtyMap;
27
+ /** Monotonic seq counter mirroring `AUTOINCREMENT` in the SQL impl. */
28
+ private nextSeq;
29
+ /** Live Update Resilience §11.4 — in-memory mirror of `prefix_watermark`. */
30
+ private watermarks;
31
+ /**
32
+ * Dedup-on-write secondary index (#1159) — in-memory mirror of the
33
+ * `(scope, dedup_scope, dedup_key)` partial UNIQUE index. Keyed
34
+ * `${dedupScope}\x00${dedupKey}` → path. Maintained on put/delete; enforces
35
+ * uniqueness (the SQL backends get it from the DB index).
36
+ */
37
+ private dedupIndex;
38
+ /** Logical scope string baked into every changelog row (default ""). */
39
+ private readonly scope;
40
+ private readonly inline;
41
+ constructor(opts?: {
42
+ scope?: string;
43
+ } & InlineContentOptions);
44
+ /**
45
+ * Return a read-only snapshot of the in-memory changelog.
46
+ *
47
+ * Used by unit tests to assert that the correct row shape was appended on
48
+ * each put/delete. Production code never calls this.
49
+ */
50
+ getChangelogSnapshot(): readonly ChangelogEntry[];
51
+ /**
52
+ * The single append hook for the in-memory changelog. Mirrors the SQL
53
+ * `AFTER INSERT ON ds_changelog` trigger: it appends the row AND folds it into
54
+ * the dirty map via {@link applyDirtyUpsert} (same latest_seq guard + backoff
55
+ * reset). Every write path (`put` / `delete` / `deleteByPrefix`; `putBatch`
56
+ * and the batch* methods loop those) funnels through here, so the dirty map
57
+ * covers all six TreeIndex write methods for free — the Memory-backend twin of
58
+ * the trigger's "covers every write face by construction".
59
+ */
60
+ private pushChangelog;
61
+ get(path: string, _opts?: {
62
+ includeContent?: boolean;
63
+ }): Promise<TreeEntry | null>;
64
+ getDirTimes(dirPath: string): Promise<{
65
+ ctime: number;
66
+ mtime: number;
67
+ } | null>;
68
+ put(path: string, entry: TreeEntry, opts: PutOpts): Promise<{
69
+ oldCid?: string;
70
+ }>;
71
+ /** Inline content this entry would store — drives loopBatchPutEntries' content-aware skip. */
72
+ inlineForEntry(entry: TreeEntry): Promise<string | null>;
73
+ private dedupMapKey;
74
+ /** Mirror the `(scope, dedup_scope, dedup_key)` UNIQUE constraint. */
75
+ private assertDedupUnique;
76
+ private dropDedupMapping;
77
+ /** Re-point the dedup map for `path`: drop its stale mapping, set the new one. */
78
+ private updateDedupMapping;
79
+ findByDedupKey(dedupScope: string, dedupKey: string): Promise<({
80
+ path: string;
81
+ } & TreeEntry) | null>;
82
+ setDedupKey(path: string, dedupScope: string, dedupKey: string, opts: PutOpts): Promise<void>;
83
+ /** Bump a collection root's watermark by 1 (lazy-create at 1). No-op for null. */
84
+ private bumpWatermark;
85
+ getPrefixWatermark(prefix: string): Promise<number | null>;
86
+ delete(path: string, opts: PutOpts): Promise<void>;
87
+ private cleanEmptyParents;
88
+ private static readonly VALID_ORDER_BY;
89
+ /**
90
+ * Ordered + keyset-paged listing shared by listEntries/listChildren when
91
+ * an explicit orderBy is set — same semantics as the SQL impls (NULL
92
+ * mimeType last in both directions, unique-tie keyset resume, v2 cursor).
93
+ */
94
+ private orderedPage;
95
+ list(prefix: string, options?: TreeIndexListOptions): Promise<TreeIndexListResult>;
96
+ listEntries(prefix: string, options?: TreeIndexListOptions): Promise<TreeIndexListEntriesResult>;
97
+ hasChildren(prefix: string): Promise<boolean>;
98
+ count(prefix: string): Promise<number>;
99
+ deleteByPrefix(prefix: string, opts: PutOpts): Promise<number>;
100
+ /**
101
+ * THE single source of direct-children candidates — files with their own
102
+ * entry fields/content plus dir rows with the optional `<dir><docFile>`
103
+ * sub-file join. Shared by `listChildren` (join-free form post-T4.3) and
104
+ * `query` (doc surface) so the child-candidate semantics cannot drift —
105
+ * the in-memory mirror of `buildChildrenFrom` in tree-query.ts.
106
+ */
107
+ private collectChildren;
108
+ listChildren(parent: string, options?: TreeIndexListOptions): Promise<TreeIndexListEntriesResult>;
109
+ countChildren(parent: string): Promise<number>;
110
+ /**
111
+ * Collection query (afs-collection-query Phase 1) — JS executor over the
112
+ * same candidate set the SQL impls compile (lockstep-tested).
113
+ */
114
+ query(parent: string, spec: TreeQuerySpec): Promise<TreeQueryResult>;
115
+ countChildrenMany(parents: string[]): Promise<Map<string, number>>;
116
+ aggregate(prefix: string): Promise<{
117
+ fileCount: number;
118
+ totalSize: number;
119
+ }>;
120
+ /** Batch metadata read — loop over get (no IN-merge needed off-CF). */
121
+ getMany(paths: string[]): Promise<Map<string, TreeEntry | null>>;
122
+ /** Batch sync fast path — loop reference semantics (conformance-pinned
123
+ * equivalent of the merged D1 implementation). */
124
+ batchPutEntries(entries: BatchPutEntry[], ctx?: BatchIndexContext): Promise<BatchPutEntryResult[]>;
125
+ /** Delete twin of {@link batchPutEntries} (loop reference semantics). */
126
+ batchDeleteEntries(entries: BatchDeleteEntry[], ctx?: BatchIndexContext): Promise<BatchDeleteEntryResult[]>;
127
+ putBatch(entries: Array<{
128
+ path: string;
129
+ entry: TreeEntry;
130
+ }>, opts: PutOpts): Promise<void>;
131
+ listModifiedSince(prefix: string, since: number, options?: TreeIndexListOptions): Promise<TreeIndexListEntriesResult>;
132
+ getMaxSeq(): Promise<number>;
133
+ /**
134
+ * Read-auth reference check (design §4.1) — three-way, scoped, optionally
135
+ * prefix-local. See {@link TreeIndex.isReferenced}. This impl is single-scope
136
+ * (every row shares `this.scope`), so the scope filter is implicit; only the
137
+ * path-prefix restriction is applied.
138
+ */
139
+ isReferenced(cid: string, pathPrefix?: string): Promise<boolean>;
140
+ /**
141
+ * Batch read-auth (design §7.2 / §14) — in-memory three-way equivalent to
142
+ * per-cid {@link isReferenced}. No bound-param cap (no sharding), but the
143
+ * result MUST agree cid-for-cid with the SQL backends.
144
+ */
145
+ isReferencedMany(cids: string[], pathPrefix?: string): Promise<Set<string>>;
146
+ getChangelogSince(sinceSeq: number, limit: number): Promise<{
147
+ entries: ChangelogEntry[];
148
+ hasMore: boolean;
149
+ cursor: number;
150
+ }>;
151
+ getCompactedBelowSeq(): Promise<number>;
152
+ listDirtyPaths(options: ListDirtyPathOptions): Promise<DirtyPathRow[]>;
153
+ ackDirtyPath(path: string, latestSeq: number): Promise<boolean>;
154
+ markDirtyPathError(path: string, latestSeq: number, error: string, nextAttemptAt: number): Promise<boolean>;
155
+ private ensureParentDirs;
156
+ }
157
+ //#endregion
158
+ export { MemoryTreeIndex };
159
+ //# sourceMappingURL=memory-tree-index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-tree-index.d.mts","names":[],"sources":["../src/memory-tree-index.ts"],"mappings":"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"}