@delali/narsil 0.2.2 → 0.2.3-next.33

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 (66) hide show
  1. package/README.md +12 -9
  2. package/dist/adapters/filesystem.d.ts +1 -1
  3. package/dist/adapters/filesystem.mjs +1 -1
  4. package/dist/adapters/indexeddb.d.ts +1 -1
  5. package/dist/adapters/indexeddb.mjs +1 -1
  6. package/dist/adapters/memory.d.ts +1 -1
  7. package/dist/{adapters-CVqI5NBt.d.ts → adapters-79OIa4xm.d.ts} +1 -1
  8. package/dist/brute-force-DbHYCTc3.d.ts +8 -0
  9. package/dist/chunk-BFIH7OV5.mjs +185 -0
  10. package/dist/chunk-C6VVLMRX.mjs +63 -0
  11. package/dist/{chunk-UNJZ7ZDB.mjs → chunk-EMI63EXP.mjs} +33 -2
  12. package/dist/chunk-MFFAJ2NR.mjs +135 -0
  13. package/dist/chunk-OBXS7OZM.mjs +376 -0
  14. package/dist/{chunk-ASI6AOW2.mjs → chunk-RO4EFWE6.mjs} +7833 -3524
  15. package/dist/{chunk-WLR5BFL3.mjs → chunk-TEAJO7CU.mjs} +3067 -2087
  16. package/dist/{chunk-S7RJJMHI.mjs → chunk-WDL632CN.mjs} +699 -222
  17. package/dist/{chunk-BKAI2WXI.mjs → chunk-WTONLDU3.mjs} +5 -0
  18. package/dist/client-DQHB_swQ.d.ts +793 -0
  19. package/dist/client.d.ts +6 -0
  20. package/dist/client.mjs +843 -0
  21. package/dist/{config-DXypXAfN.d.ts → config-ChZ7lfqc.d.ts} +3 -3
  22. package/dist/direct-executor-YARCDMJF.mjs +8 -0
  23. package/dist/distribution/coordinator/etcd.d.ts +3 -3
  24. package/dist/distribution/coordinator/etcd.mjs +471 -2
  25. package/dist/distribution/coordinator/in-memory.d.ts +3 -3
  26. package/dist/distribution/coordinator/in-memory.mjs +286 -1
  27. package/dist/distribution/transport/grpc.d.ts +45 -0
  28. package/dist/distribution/transport/grpc.mjs +586 -0
  29. package/dist/distribution/transport/in-memory.d.ts +118 -0
  30. package/dist/distribution/transport/in-memory.mjs +214 -0
  31. package/dist/distribution/transport/tcp.d.ts +27 -0
  32. package/dist/distribution/transport/tcp.mjs +595 -0
  33. package/dist/distribution.d.ts +241 -192
  34. package/dist/distribution.mjs +6620 -4795
  35. package/dist/embeddings/openai.d.ts +1 -1
  36. package/dist/embeddings/openai.mjs +1 -1
  37. package/dist/{engine-CO9Wnfie.d.ts → engine-DScGlT2Z.d.ts} +30 -3
  38. package/dist/index.browser.mjs +10035 -3914
  39. package/dist/index.d.ts +8 -8
  40. package/dist/index.mjs +8 -5
  41. package/dist/invalidation/broadcast-channel.d.ts +1 -1
  42. package/dist/invalidation/filesystem.d.ts +1 -1
  43. package/dist/invalidation/filesystem.mjs +3 -1
  44. package/dist/invalidation/noop.d.ts +1 -1
  45. package/dist/options-BORJg5XB.d.ts +234 -0
  46. package/dist/persistence/durability/checkpoint-worker.d.ts +4 -2
  47. package/dist/persistence/durability/checkpoint-worker.mjs +8 -5
  48. package/dist/react.d.ts +340 -0
  49. package/dist/react.mjs +687 -0
  50. package/dist/{schema-CE6S_aAr.d.ts → schema-emTQfEiX.d.ts} +21 -7
  51. package/dist/{search-DLBtiPdQ.d.ts → search-CQ-9bKxo.d.ts} +226 -14
  52. package/dist/server.d.ts +42 -356
  53. package/dist/server.mjs +493 -106
  54. package/dist/tasks-CnMLpfk-.d.ts +274 -0
  55. package/dist/types-BQDlIvfS.d.ts +34 -0
  56. package/dist/{types-BV3nAKTL.d.ts → types-Bfhhnh3G.d.ts} +23 -1
  57. package/dist/types-D5OwhtsQ.d.ts +97 -0
  58. package/dist/vector/hnsw-build-worker.d.ts +2 -7
  59. package/dist/vector/hnsw-build-worker.mjs +2 -1
  60. package/dist/vector/search-worker.d.ts +373 -0
  61. package/dist/vector/search-worker.mjs +279 -0
  62. package/dist/workers/entry.mjs +43 -25
  63. package/package.json +42 -2
  64. package/dist/chunk-FKK76OR7.mjs +0 -456
  65. package/dist/chunk-RQLXC2YS.mjs +0 -269
  66. package/dist/direct-executor-3W4QRA4E.mjs +0 -5
package/dist/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
- import { S as StopWordOverride, C as CustomTokenizer } from './schema-CE6S_aAr.js';
2
- export { A as AnyDocument, B as BM25Params, E as EmbeddingFieldConfig, F as FieldType, I as IndexConfig, a as InsertOptions, P as PartitionConfig, b as SchemaDefinition, c as ScoringMode, V as VectorIndexConfig, d as VectorQuantizationMode } from './schema-CE6S_aAr.js';
1
+ import { c as StopWordOverride, C as CustomTokenizer } from './schema-emTQfEiX.js';
2
+ export { A as AnyDocument, B as BM25Params, E as EmbeddingFieldConfig, F as FieldType, I as IndexConfig, a as InsertOptions, P as PartitionConfig, S as SchemaDefinition, b as ScoringMode, V as VectorIndexConfig, d as VectorQuantizationMode } from './schema-emTQfEiX.js';
3
3
  import { L as LanguageModule } from './language-DB8KG1z5.js';
4
4
  export { T as TokenizerConfig } from './language-DB8KG1z5.js';
5
- export { A as ArrayFilter, B as BatchResult, C as ComparisonFilter, E as ErrorCode, a as ErrorCodes, F as FacetConfig, b as FacetResult, c as FieldFilter, d as FilterExpression, G as GeoFilter, e as GeoPolygonFilter, f as GeoRadiusFilter, g as GroupConfig, h as GroupReducer, i as GroupResult, H as HighlightConfig, j as HighlightMatch, k as Hit, l as HybridConfig, I as IndexInfo, m as IndexStats, M as MemoryStats, N as NarsilError, P as PartitionStatsResult, n as PreflightResult, o as PresenceFilter, p as ProcessMemoryReport, Q as QueryParams, q as QueryResult, S as ScoreComponents, r as SearchMode, s as StringFilter, t as SuggestParams, u as SuggestResult, T as TermMatchPolicy, V as VectorMaintenanceResult, v as VectorQueryConfig } from './search-DLBtiPdQ.js';
6
- import { N as NarsilConfig } from './config-DXypXAfN.js';
7
- export { A as AnalysisConfig, D as DurabilityConfig, I as IndexContext, a as InsertContext, b as NarsilPlugin, P as PartitionContext, R as RemoveContext, S as SearchContext, c as StaleAnalysis, U as UpdateContext, W as WorkerConfig, d as WorkerContext } from './config-DXypXAfN.js';
8
- import { N as Narsil } from './engine-CO9Wnfie.js';
9
- export { a as NarsilEventMap } from './engine-CO9Wnfie.js';
10
- export { E as EmbeddingAdapter, I as InvalidationAdapter, a as InvalidationEvent, P as PartitionStatistics, b as PersistenceAdapter } from './adapters-CVqI5NBt.js';
5
+ export { A as ArrayFilter, B as BatchResult, C as ClientErrorCode, a as ClientErrorCodes, k as ComparisonFilter, D as DocumentProjection, E as ErrorCode, b as ErrorCodes, F as FacetConfig, l as FacetResult, m as FieldFilter, n as FilterExpression, G as GeoFilter, o as GeoPolygonFilter, p as GeoRadiusFilter, q as GroupConfig, r as GroupReducer, s as GroupResult, H as HighlightConfig, t as HighlightMatch, u as Hit, v as HybridConfig, I as IndexInfo, f as IndexStats, L as ListParams, g as ListResult, w as ListedDocument, M as MemoryStats, N as NarsilError, c as NarsilErrorCode, P as PartitionStatsResult, h as PreflightResult, x as PresenceFilter, y as ProcessMemoryReport, Q as QueryParams, e as QueryResult, z as ScoreComponents, J as SearchMode, S as ServerErrorCode, d as ServerErrorCodes, K as SortField, O as SortSpec, R as StringFilter, i as SuggestParams, j as SuggestResult, T as TermMatchPolicy, V as VectorMaintenanceResult, U as VectorQueryConfig } from './search-CQ-9bKxo.js';
6
+ import { N as NarsilConfig } from './config-ChZ7lfqc.js';
7
+ export { A as AnalysisConfig, D as DurabilityConfig, I as IndexContext, a as InsertContext, b as NarsilPlugin, P as PartitionContext, R as RemoveContext, S as SearchContext, c as StaleAnalysis, U as UpdateContext, W as WorkerConfig, d as WorkerContext } from './config-ChZ7lfqc.js';
8
+ import { N as Narsil } from './engine-DScGlT2Z.js';
9
+ export { a as NarsilEventMap } from './engine-DScGlT2Z.js';
10
+ export { E as EmbeddingAdapter, I as InvalidationAdapter, a as InvalidationEvent, b as PartitionStatistics, P as PersistenceAdapter } from './adapters-79OIa4xm.js';
11
11
 
12
12
  /**
13
13
  * Registers a tokeniser under a name that an index config can then reference.
package/dist/index.mjs CHANGED
@@ -1,8 +1,11 @@
1
- export { VERSION, createNarsil } from './chunk-WLR5BFL3.mjs';
2
- export { clearNormalizationCache, configureNormalizationCache, getLanguage, getNormalizationCacheSize, getStopWords, getTokenizer, hasStopWords, hasTokenizer, registerLanguage, registerStopWords, registerTokenizer, resetNormalizationCache } from './chunk-ASI6AOW2.mjs';
1
+ export { VERSION, createNarsil } from './chunk-TEAJO7CU.mjs';
2
+ import './chunk-C6VVLMRX.mjs';
3
+ export { clearNormalizationCache, configureNormalizationCache, getLanguage, getNormalizationCacheSize, getStopWords, getTokenizer, hasStopWords, hasTokenizer, registerLanguage, registerStopWords, registerTokenizer, resetNormalizationCache } from './chunk-RO4EFWE6.mjs';
3
4
  import './chunk-TGP5M5R7.mjs';
4
- export { isSimdAvailable } from './chunk-S7RJJMHI.mjs';
5
+ import './chunk-OBXS7OZM.mjs';
6
+ export { isSimdAvailable } from './chunk-WDL632CN.mjs';
5
7
  import './chunk-KMMJMDUA.mjs';
6
8
  import './chunk-U2BKYEC7.mjs';
7
- export { ErrorCodes, NarsilError } from './chunk-UNJZ7ZDB.mjs';
8
- import './chunk-BKAI2WXI.mjs';
9
+ import './chunk-BFIH7OV5.mjs';
10
+ import './chunk-WTONLDU3.mjs';
11
+ export { ClientErrorCodes, ErrorCodes, NarsilError, ServerErrorCodes } from './chunk-EMI63EXP.mjs';
@@ -1,4 +1,4 @@
1
- import { I as InvalidationAdapter } from '../adapters-CVqI5NBt.js';
1
+ import { I as InvalidationAdapter } from '../adapters-79OIa4xm.js';
2
2
 
3
3
  /**
4
4
  * Which channel {@link createBroadcastChannelInvalidation} publishes on.
@@ -1,4 +1,4 @@
1
- import { I as InvalidationAdapter } from '../adapters-CVqI5NBt.js';
1
+ import { I as InvalidationAdapter } from '../adapters-79OIa4xm.js';
2
2
 
3
3
  /**
4
4
  * How {@link createFilesystemInvalidation} exchanges events between processes.
@@ -1,3 +1,5 @@
1
+ import { compareCodePoints } from '../chunk-BFIH7OV5.mjs';
2
+
1
3
  // src/invalidation/filesystem.ts
2
4
  var MARKER_MAX_AGE_MS = 6e4;
3
5
  var DEFAULT_POLL_INTERVAL = 1e3;
@@ -56,7 +58,7 @@ function createFilesystemInvalidation(config) {
56
58
  }
57
59
  throw err;
58
60
  }
59
- const jsonFiles = files.filter((f) => f.endsWith(".json")).sort();
61
+ const jsonFiles = files.filter((f) => f.endsWith(".json")).sort(compareCodePoints);
60
62
  const now = Date.now();
61
63
  for (const file of jsonFiles) {
62
64
  const filePath = path.join(directory, file);
@@ -1,4 +1,4 @@
1
- import { I as InvalidationAdapter } from '../adapters-CVqI5NBt.js';
1
+ import { I as InvalidationAdapter } from '../adapters-79OIa4xm.js';
2
2
 
3
3
  /**
4
4
  * Builds an invalidation adapter that discards every event, which suits a
@@ -0,0 +1,234 @@
1
+ import { E as EmbeddingAdapter } from './adapters-79OIa4xm.js';
2
+ import { h as TaskStore } from './tasks-CnMLpfk-.js';
3
+
4
+ /**
5
+ * Marks that `POST /indexes/{name}/documents/_import` accepts `?async=true` and
6
+ * answers with a task record.
7
+ *
8
+ * @public
9
+ */
10
+ declare const ASYNC_IMPORT_CAPABILITY = "documents.import.async";
11
+ /**
12
+ * Marks that `POST /tasks/{id}/_cancel` asks a running task to stop.
13
+ *
14
+ * @public
15
+ */
16
+ declare const TASK_CANCEL_CAPABILITY = "tasks.cancel";
17
+ /**
18
+ * Marks that `GET /tasks` filters by index, type, and status, and pages through
19
+ * `from` and `limit`.
20
+ *
21
+ * @public
22
+ */
23
+ declare const TASK_FILTER_CAPABILITY = "tasks.filter";
24
+ /**
25
+ * Marks that `POST /indexes/{name}/_rebuild-analysis` reanalyses an index whose
26
+ * language module moved on.
27
+ *
28
+ * @public
29
+ */
30
+ declare const REBUILD_ANALYSIS_CAPABILITY = "indexes.rebuildAnalysis";
31
+ /**
32
+ * Every capability this server announces at `/capabilities`.
33
+ *
34
+ * A client reads this list to find out whether an optional route or mode is
35
+ * available before it sends a request, because a server that predates one of
36
+ * them answers 404 rather than explaining itself.
37
+ *
38
+ * @public
39
+ */
40
+ declare const SERVER_CAPABILITIES: readonly string[];
41
+
42
+ /**
43
+ * Context handed to {@link OnRequestHook} for every inbound request, captured
44
+ * synchronously before any body is read. `remoteAddress` is the peer address
45
+ * decoded from the socket; behind a proxy it is the proxy's address, so trust
46
+ * forwarded headers only when the proxy is trusted.
47
+ *
48
+ * @public
49
+ */
50
+ interface RequestContext {
51
+ /** The request used this HTTP method, in upper case. */
52
+ method: string;
53
+ /** The request asked for this path, without the query string. */
54
+ path: string;
55
+ /** These are the request headers, keyed by lower-case name. */
56
+ headers: Record<string, string>;
57
+ /** The server decoded this peer address from the socket. */
58
+ remoteAddress: string;
59
+ }
60
+ /**
61
+ * Returned by an {@link OnRequestHook} to reject a request. The `status` is sent
62
+ * verbatim as the HTTP status; `code` and `message` populate the error envelope.
63
+ *
64
+ * @public
65
+ */
66
+ interface RequestDenial {
67
+ /** The server answers with this status. */
68
+ status: number;
69
+ /** The error envelope carries this machine-readable code. */
70
+ code: string;
71
+ /** The error envelope carries this description. */
72
+ message: string;
73
+ }
74
+ /**
75
+ * Runs before every routed request, which is where authentication, rate
76
+ * limiting, and any other admission rule goes.
77
+ *
78
+ * @param ctx - The request's method, path, headers, and peer address.
79
+ * @returns A {@link RequestDenial} to reject the request, or `undefined` to
80
+ * let it through.
81
+ *
82
+ * @public
83
+ */
84
+ type OnRequestHook = (ctx: RequestContext) => undefined | RequestDenial | Promise<undefined | RequestDenial>;
85
+ /**
86
+ * Which cross-origin requests the server accepts.
87
+ *
88
+ * Passing `true` for `cors` instead of this object accepts any origin, which
89
+ * suits local development and little else.
90
+ *
91
+ * @public
92
+ */
93
+ interface CorsOptions {
94
+ /** The server allows these origins, given as one origin or a list. */
95
+ origin?: string | string[];
96
+ /** The server allows these methods on a cross-origin request. */
97
+ methods?: string[];
98
+ /** A browser may send these request headers cross-origin. */
99
+ headers?: string[];
100
+ }
101
+ /**
102
+ * Byte and batch ceilings the server enforces before handing work to the
103
+ * engine. Every field has a safe default; override only to fit a deployment.
104
+ *
105
+ * @public
106
+ */
107
+ interface ServerLimits {
108
+ /** Cap for JSON request bodies (single doc, batch, search). Excess → 413. */
109
+ maxBodyBytes?: number;
110
+ /** Cap for the NDJSON import stream and binary restore body. Excess → 413. */
111
+ maxImportBytes?: number;
112
+ /** Cap for a single NDJSON line, so one unterminated line cannot exhaust memory. Excess → 413. */
113
+ maxLineBytes?: number;
114
+ /** Documents handed to the engine per batch during NDJSON import; the loop yields between batches. */
115
+ importBatchSize?: number;
116
+ /** Maximum requests executing engine work at once; excess is shed with 429. Omit or 0 to disable. */
117
+ maxConcurrentRequests?: number;
118
+ /** Ceiling for a search's `limit`, `offset`, and `group.maxPerGroup`, so one
119
+ * request cannot ask for an unbounded result set. Excess → 400. Defaults to
120
+ * 10000, matching the cluster query result window. */
121
+ maxResultWindow?: number;
122
+ /** Ceiling for the number of document ids in one multi-get request, so one
123
+ * request cannot pull an unbounded number of documents. Excess → 400.
124
+ * Defaults to 10000. */
125
+ maxFetchDocuments?: number;
126
+ /** Ceiling for how many per-line failures one import reports and stores, so a
127
+ * corpus of bad records cannot produce an unbounded response or task record.
128
+ * Excess failures still count towards the reported total. Defaults to 100. */
129
+ maxImportErrors?: number;
130
+ /** Ceiling for how many task records one `/tasks` page returns. Excess → 400. Defaults to 1000. */
131
+ maxTaskPageSize?: number;
132
+ /** Ceiling for how many tasks this instance drives at once; excess is shed
133
+ * with 429. Each running task holds its own working set, and an async import
134
+ * holds the whole uploaded corpus until it finishes, so this is what bounds
135
+ * the memory a burst of task requests can claim. Defaults to 4. Set 0 to
136
+ * accept every task. */
137
+ maxConcurrentTasks?: number;
138
+ }
139
+ /**
140
+ * Everything {@link createServer} accepts.
141
+ *
142
+ * Every field is optional, and a server created without any of them binds to
143
+ * loopback with the default limits and no authentication.
144
+ *
145
+ * @public
146
+ */
147
+ interface ServerOptions {
148
+ /** The server binds to this address, and to loopback by default. Any other address needs an authentication hook. */
149
+ host?: string;
150
+ /** The server binds to this port. Pass 0 to let the operating system choose one, then read {@link NarsilServer.listeningPort}. */
151
+ port?: number;
152
+ /** These settings control which cross-origin requests the server accepts, and `true` accepts any origin. */
153
+ cors?: boolean | CorsOptions;
154
+ /** Authentication or admission gate run before every routed request. */
155
+ onRequest?: OnRequestHook;
156
+ /**
157
+ * Build identity reported verbatim at `/version`: the package version and the
158
+ * git commit the server was built from, with a dirty-tree flag. Supply it from
159
+ * the build (a stamped env var or build arg); omit it and `/version` reports
160
+ * nulls. The values are descriptive only and never gate a request.
161
+ */
162
+ build?: {
163
+ version?: string;
164
+ gitSha?: string;
165
+ dirty?: boolean;
166
+ };
167
+ /**
168
+ * Named embedding adapters a JSON `createIndex` request can reference by name.
169
+ * Embedding adapters are functions and cannot cross JSON, so an index that
170
+ * needs query-time or ingest-time embedding names a server-registered adapter.
171
+ */
172
+ embeddingAdapters?: Record<string, EmbeddingAdapter>;
173
+ /** These ceilings apply before the server hands any work to the engine. */
174
+ limits?: ServerLimits;
175
+ /**
176
+ * Backing store for long-running task records. Defaults to an in-memory store
177
+ * that is lost on restart and not shared across instances. Supply any store
178
+ * that satisfies {@link TaskStore} (Redis, Upstash over HTTP, DynamoDB, a
179
+ * database) to survive restarts and share task status across instances.
180
+ */
181
+ taskStore?: TaskStore;
182
+ /**
183
+ * Stable identifier for this server instance, stamped on every task it owns.
184
+ * Supply a stable value (a pod or container name) so that after a restart the
185
+ * instance can mark its own previously-running tasks as failed instead of
186
+ * leaving them stuck. Defaults to a random id, which disables that recovery.
187
+ */
188
+ instanceId?: string;
189
+ /**
190
+ * Allows binding to a non-loopback address without an
191
+ * {@link ServerOptions.onRequest} auth hook. The server otherwise refuses to
192
+ * start in that configuration because it exposes destructive admin endpoints.
193
+ * Set this only when the address is on a trusted private network where access
194
+ * is controlled elsewhere.
195
+ */
196
+ allowInsecure?: boolean;
197
+ }
198
+ /**
199
+ * The running HTTP server, as {@link createServer} returns it.
200
+ *
201
+ * @public
202
+ */
203
+ interface NarsilServer {
204
+ /**
205
+ * Binds the socket and starts answering requests.
206
+ *
207
+ * @throws An error when the address is already in use, or when a non-loopback
208
+ * address is configured without an authentication hook.
209
+ */
210
+ listen(): Promise<void>;
211
+ /** Closes the socket and ends the server. The engine keeps running. */
212
+ close(): Promise<void>;
213
+ /** The server bound to this port, which is what you read after binding to port 0. */
214
+ readonly listeningPort: number;
215
+ }
216
+ /**
217
+ * The body every failed response carries, which is what an HTTP client parses
218
+ * on a non-2xx status.
219
+ *
220
+ * @public
221
+ */
222
+ interface ErrorEnvelope {
223
+ /** This describes the failure. */
224
+ error: {
225
+ /** This code comes from either {@link ServerErrorCodes} or {@link ErrorCodes}. */
226
+ code: string;
227
+ /** This describes the failure, for a log or a person. */
228
+ message: string;
229
+ /** These values are behind the failure, such as the field or limit involved. */
230
+ details?: Record<string, unknown>;
231
+ };
232
+ }
233
+
234
+ export { ASYNC_IMPORT_CAPABILITY as A, type CorsOptions as C, type ErrorEnvelope as E, type NarsilServer as N, type OnRequestHook as O, REBUILD_ANALYSIS_CAPABILITY as R, SERVER_CAPABILITIES as S, TASK_CANCEL_CAPABILITY as T, TASK_FILTER_CAPABILITY as a, type ServerOptions as b, type RequestContext as c, type RequestDenial as d, type ServerLimits as e };
@@ -1,8 +1,10 @@
1
- import { P as PartitionConfig, c as ScoringMode, V as VectorIndexConfig } from '../../schema-CE6S_aAr.js';
2
- import '../../adapters-CVqI5NBt.js';
1
+ import { P as PartitionConfig, b as ScoringMode, V as VectorIndexConfig } from '../../schema-emTQfEiX.js';
2
+ import '../../adapters-79OIa4xm.js';
3
3
 
4
4
  interface IndexMetadata {
5
5
  indexName: string;
6
+ /** The identity a cluster gave the index at creation; absent on a single engine. */
7
+ indexUuid?: string;
6
8
  schema: Record<string, string>;
7
9
  language: string;
8
10
  partitionCount: number;
@@ -1,11 +1,14 @@
1
- import { createDurableDirectory, writeSegmentedCheckpoint } from '../../chunk-WLR5BFL3.mjs';
2
- import '../../chunk-ASI6AOW2.mjs';
1
+ import { createDurableDirectory, writeSegmentedCheckpoint } from '../../chunk-TEAJO7CU.mjs';
2
+ import '../../chunk-C6VVLMRX.mjs';
3
+ import '../../chunk-RO4EFWE6.mjs';
3
4
  import '../../chunk-TGP5M5R7.mjs';
4
- import '../../chunk-S7RJJMHI.mjs';
5
+ import '../../chunk-OBXS7OZM.mjs';
6
+ import '../../chunk-WDL632CN.mjs';
5
7
  import '../../chunk-KMMJMDUA.mjs';
6
8
  import '../../chunk-U2BKYEC7.mjs';
7
- import '../../chunk-UNJZ7ZDB.mjs';
8
- import '../../chunk-BKAI2WXI.mjs';
9
+ import '../../chunk-BFIH7OV5.mjs';
10
+ import '../../chunk-WTONLDU3.mjs';
11
+ import '../../chunk-EMI63EXP.mjs';
9
12
 
10
13
  // src/persistence/durability/rebuild.ts
11
14
  async function rebuildSnapshotFromDurable(root, metadata, targets, compactionThreshold) {