@effect-vfs/core 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +15 -238
  2. package/dist/LiveVolume.d.ts.map +1 -1
  3. package/dist/LiveVolume.js +9 -9
  4. package/dist/Search.d.ts +730 -0
  5. package/dist/Search.d.ts.map +1 -0
  6. package/dist/Search.js +568 -0
  7. package/dist/SnapshotDelta.d.ts +234 -0
  8. package/dist/SnapshotDelta.d.ts.map +1 -1
  9. package/dist/SnapshotDelta.js +107 -0
  10. package/dist/VirtualFileSystem.d.ts +53 -1
  11. package/dist/VirtualFileSystem.d.ts.map +1 -1
  12. package/dist/VirtualFileSystem.js +59 -1
  13. package/dist/index.d.ts +7 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +7 -0
  16. package/dist/internal/fixture.js +3 -3
  17. package/dist/internal/glob.d.ts +66 -0
  18. package/dist/internal/glob.d.ts.map +1 -0
  19. package/dist/internal/glob.js +248 -0
  20. package/dist/internal/image.d.ts +7 -1
  21. package/dist/internal/image.d.ts.map +1 -1
  22. package/dist/internal/image.js +9 -7
  23. package/dist/internal/liveImage.d.ts +1 -1
  24. package/dist/internal/liveImage.d.ts.map +1 -1
  25. package/dist/internal/liveImage.js +2 -10
  26. package/dist/internal/resolution.d.ts +135 -0
  27. package/dist/internal/resolution.d.ts.map +1 -0
  28. package/dist/internal/resolution.js +277 -0
  29. package/dist/internal/search.d.ts +24 -0
  30. package/dist/internal/search.d.ts.map +1 -0
  31. package/dist/internal/search.js +78 -0
  32. package/dist/internal/searchContent.d.ts +77 -0
  33. package/dist/internal/searchContent.d.ts.map +1 -0
  34. package/dist/internal/searchContent.js +223 -0
  35. package/dist/internal/searchModel.d.ts +83 -0
  36. package/dist/internal/searchModel.d.ts.map +1 -0
  37. package/dist/internal/searchModel.js +23 -0
  38. package/dist/internal/snapshotDelta.d.ts +470 -1
  39. package/dist/internal/snapshotDelta.d.ts.map +1 -1
  40. package/dist/internal/snapshotDelta.js +59 -25
  41. package/dist/internal/snapshotMerge.d.ts +54 -0
  42. package/dist/internal/snapshotMerge.d.ts.map +1 -0
  43. package/dist/internal/snapshotMerge.js +959 -0
  44. package/dist/internal/tokenRegistry.d.ts +77 -0
  45. package/dist/internal/tokenRegistry.d.ts.map +1 -0
  46. package/dist/internal/tokenRegistry.js +128 -0
  47. package/dist/internal/virtualFileSystem.d.ts +32 -17
  48. package/dist/internal/virtualFileSystem.d.ts.map +1 -1
  49. package/dist/internal/virtualFileSystem.js +263 -661
  50. package/dist/internal/volumeLimits.d.ts +53 -0
  51. package/dist/internal/volumeLimits.d.ts.map +1 -0
  52. package/dist/internal/volumeLimits.js +63 -0
  53. package/dist/internal/volumeState.d.ts +2 -0
  54. package/dist/internal/volumeState.d.ts.map +1 -1
  55. package/dist/internal/volumeState.js +9 -0
  56. package/package.json +5 -1
@@ -284,5 +284,239 @@ export declare const SnapshotDeltaLimits: Schema.Struct<{
284
284
  readonly maxInheritedRecords: number;
285
285
  };
286
286
  };
287
+ /**
288
+ * Schema for what one side of a merge did at a conflicted path.
289
+ *
290
+ * `Unchanged` means the side did not touch the path itself; a conflict can
291
+ * still name it when the other side's change depends on it, for example a
292
+ * hard-link group whose membership diverged, or a name held at base because
293
+ * it shares a node with a conflicted name.
294
+ *
295
+ * @category schemas
296
+ * @since 0.8.0
297
+ */
298
+ export declare const MergeSideChange: Schema.TaggedUnion<{
299
+ readonly Added: Schema.TaggedStruct<"Added", {
300
+ readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
301
+ }>;
302
+ readonly Removed: Schema.TaggedStruct<"Removed", {
303
+ readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
304
+ }>;
305
+ readonly Unchanged: Schema.TaggedStruct<"Unchanged", {}>;
306
+ readonly Updated: Schema.TaggedStruct<"Updated", {
307
+ readonly beforeKind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
308
+ readonly afterKind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
309
+ readonly differences: Schema.$Array<Schema.Literals<readonly ["kind", "content", "target", "hardLinks", "mode", "uid", "gid", "atimeNs", "mtimeNs", "ctimeNs", "birthtimeNs"]>>;
310
+ }>;
311
+ }>;
312
+ /**
313
+ * What one side of a merge did at a conflicted path.
314
+ *
315
+ * @category models
316
+ * @since 0.8.0
317
+ */
318
+ export type MergeSideChange = typeof MergeSideChange.Type;
319
+ /**
320
+ * Schema for the reasons a path-level merge reports a conflict.
321
+ *
322
+ * - `BothChanged`: both sides changed the same field of one node to different values.
323
+ * - `ChangedRemoved`: one side changed a node the other side removed, or linked a new name to it.
324
+ * - `BothAddedDifferent`: both sides added different nodes at one path.
325
+ * - `KindDiverged`: one side changed a node's kind while the other side changed or removed the node.
326
+ * - `ParentRemoved`: one side changed a path under a directory the other side removed or replaced.
327
+ * - `HardLinkGroupDiverged`: both sides changed which names share one hard-linked node.
328
+ *
329
+ * @category schemas
330
+ * @since 0.8.0
331
+ */
332
+ export declare const MergeConflictReason: Schema.Literals<readonly ["BothChanged", "ChangedRemoved", "BothAddedDifferent", "KindDiverged", "ParentRemoved", "HardLinkGroupDiverged"]>;
333
+ /**
334
+ * The reason a path-level merge reports a conflict.
335
+ *
336
+ * @category models
337
+ * @since 0.8.0
338
+ */
339
+ export type MergeConflictReason = typeof MergeConflictReason.Type;
340
+ /**
341
+ * Schema for one conflict between two snapshot deltas from the same base.
342
+ *
343
+ * A conflict carries what each side did, as kinds and changed fields, and no
344
+ * payload bytes or metadata values. The application reads those from the base,
345
+ * ours, and theirs snapshots it already holds. Timestamp fields are left out of
346
+ * `differences`, because timestamps never conflict.
347
+ *
348
+ * @category schemas
349
+ * @since 0.8.0
350
+ */
351
+ export declare const MergeConflict: Schema.Struct<{
352
+ readonly path: Schema.declare<BytePath, BytePath>;
353
+ readonly reason: Schema.Literals<readonly ["BothChanged", "ChangedRemoved", "BothAddedDifferent", "KindDiverged", "ParentRemoved", "HardLinkGroupDiverged"]>;
354
+ readonly ours: Schema.TaggedUnion<{
355
+ readonly Added: Schema.TaggedStruct<"Added", {
356
+ readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
357
+ }>;
358
+ readonly Removed: Schema.TaggedStruct<"Removed", {
359
+ readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
360
+ }>;
361
+ readonly Unchanged: Schema.TaggedStruct<"Unchanged", {}>;
362
+ readonly Updated: Schema.TaggedStruct<"Updated", {
363
+ readonly beforeKind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
364
+ readonly afterKind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
365
+ readonly differences: Schema.$Array<Schema.Literals<readonly ["kind", "content", "target", "hardLinks", "mode", "uid", "gid", "atimeNs", "mtimeNs", "ctimeNs", "birthtimeNs"]>>;
366
+ }>;
367
+ }>;
368
+ readonly theirs: Schema.TaggedUnion<{
369
+ readonly Added: Schema.TaggedStruct<"Added", {
370
+ readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
371
+ }>;
372
+ readonly Removed: Schema.TaggedStruct<"Removed", {
373
+ readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
374
+ }>;
375
+ readonly Unchanged: Schema.TaggedStruct<"Unchanged", {}>;
376
+ readonly Updated: Schema.TaggedStruct<"Updated", {
377
+ readonly beforeKind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
378
+ readonly afterKind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
379
+ readonly differences: Schema.$Array<Schema.Literals<readonly ["kind", "content", "target", "hardLinks", "mode", "uid", "gid", "atimeNs", "mtimeNs", "ctimeNs", "birthtimeNs"]>>;
380
+ }>;
381
+ }>;
382
+ }>;
383
+ /**
384
+ * One conflict between two snapshot deltas from the same base.
385
+ *
386
+ * @category models
387
+ * @since 0.8.0
388
+ */
389
+ export type MergeConflict = typeof MergeConflict.Type;
390
+ /**
391
+ * Schema for the side a merge takes at one conflicted path.
392
+ *
393
+ * @category schemas
394
+ * @since 0.8.0
395
+ */
396
+ export declare const MergeTake: Schema.Literals<readonly ["ours", "theirs", "base"]>;
397
+ /**
398
+ * The side a merge takes at one conflicted path.
399
+ *
400
+ * @category models
401
+ * @since 0.8.0
402
+ */
403
+ export type MergeTake = typeof MergeTake.Type;
404
+ /**
405
+ * Schema for one resolution of a reported merge conflict.
406
+ *
407
+ * The path must be one a previous merge of the same inputs reported.
408
+ * Conflicts that span several paths, a removed directory's subtree or a
409
+ * hard-link group, take one side as a whole: every reported path in the set
410
+ * must name the same side.
411
+ *
412
+ * @category schemas
413
+ * @since 0.8.0
414
+ */
415
+ export declare const MergeResolution: Schema.Struct<{
416
+ readonly path: Schema.declare<BytePath, BytePath>;
417
+ readonly take: Schema.Literals<readonly ["ours", "theirs", "base"]>;
418
+ }>;
419
+ /**
420
+ * One resolution of a reported merge conflict.
421
+ *
422
+ * @category models
423
+ * @since 0.8.0
424
+ */
425
+ export type MergeResolution = typeof MergeResolution.Type;
426
+ /**
427
+ * Schema for snapshot-delta merge options.
428
+ *
429
+ * @category schemas
430
+ * @since 0.8.0
431
+ */
432
+ export declare const MergeOptions: Schema.Struct<{
433
+ /** Sides to take at paths an earlier merge reported as conflicts. */
434
+ readonly resolutions: Schema.optionalKey<Schema.$Array<Schema.Struct<{
435
+ readonly path: Schema.declare<BytePath, BytePath>;
436
+ readonly take: Schema.Literals<readonly ["ours", "theirs", "base"]>;
437
+ }>>>;
438
+ /** Resource limits for verifying both deltas and building the merged one. Defaults to `SnapshotDeltaLimits.default`. */
439
+ readonly limits: Schema.optionalKey<Schema.Struct<{
440
+ /** Maximum encoded delta length in bytes. */
441
+ readonly maxEncodedBytes: Schema.ByteSize;
442
+ /** Maximum bytes hashed for one snapshot's identity. */
443
+ readonly maxIdentityBytes: Schema.ByteSize;
444
+ /** Maximum number of changes a delta holds. */
445
+ readonly maxDeltaRecords: Schema.Natural;
446
+ /** Maximum decoded bytes of a delta's digests, paths and payloads. */
447
+ readonly maxDecodedDeltaBytes: Schema.ByteSize;
448
+ /** Maximum number of nodes in the base snapshot. */
449
+ readonly maxBaseRecords: Schema.Natural;
450
+ /** Maximum number of nodes in the target snapshot. */
451
+ readonly maxTargetRecords: Schema.Natural;
452
+ /** Maximum number of names in either snapshot, and of names a delta writes. */
453
+ readonly maxEntries: Schema.Natural;
454
+ /** Maximum number of nodes an applied delta produces. */
455
+ readonly maxOutputRecords: Schema.Natural;
456
+ /** Maximum payload bytes of the target, and of the payloads a delta carries. */
457
+ readonly maxOutputBytes: Schema.ByteSize;
458
+ /** Maximum number of target nodes carried over from the base rather than written by the delta. */
459
+ readonly maxInheritedRecords: Schema.Natural;
460
+ }>>;
461
+ }>;
462
+ /**
463
+ * Snapshot-delta merge options.
464
+ *
465
+ * @category models
466
+ * @since 0.8.0
467
+ */
468
+ export type MergeOptions = typeof MergeOptions.Type;
469
+ /**
470
+ * Schema for the result of merging two snapshot deltas.
471
+ *
472
+ * The delta applies every change neither side disputed, plus every resolved
473
+ * conflict; paths still in conflict keep the base node. It is bound to the
474
+ * same base as its inputs and applies with `applySnapshotDelta`.
475
+ *
476
+ * @category schemas
477
+ * @since 0.8.0
478
+ */
479
+ export declare const MergeResult: Schema.Struct<{
480
+ readonly delta: Schema.declare<SnapshotDelta, SnapshotDelta>;
481
+ readonly conflicts: Schema.$Array<Schema.Struct<{
482
+ readonly path: Schema.declare<BytePath, BytePath>;
483
+ readonly reason: Schema.Literals<readonly ["BothChanged", "ChangedRemoved", "BothAddedDifferent", "KindDiverged", "ParentRemoved", "HardLinkGroupDiverged"]>;
484
+ readonly ours: Schema.TaggedUnion<{
485
+ readonly Added: Schema.TaggedStruct<"Added", {
486
+ readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
487
+ }>;
488
+ readonly Removed: Schema.TaggedStruct<"Removed", {
489
+ readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
490
+ }>;
491
+ readonly Unchanged: Schema.TaggedStruct<"Unchanged", {}>;
492
+ readonly Updated: Schema.TaggedStruct<"Updated", {
493
+ readonly beforeKind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
494
+ readonly afterKind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
495
+ readonly differences: Schema.$Array<Schema.Literals<readonly ["kind", "content", "target", "hardLinks", "mode", "uid", "gid", "atimeNs", "mtimeNs", "ctimeNs", "birthtimeNs"]>>;
496
+ }>;
497
+ }>;
498
+ readonly theirs: Schema.TaggedUnion<{
499
+ readonly Added: Schema.TaggedStruct<"Added", {
500
+ readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
501
+ }>;
502
+ readonly Removed: Schema.TaggedStruct<"Removed", {
503
+ readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
504
+ }>;
505
+ readonly Unchanged: Schema.TaggedStruct<"Unchanged", {}>;
506
+ readonly Updated: Schema.TaggedStruct<"Updated", {
507
+ readonly beforeKind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
508
+ readonly afterKind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
509
+ readonly differences: Schema.$Array<Schema.Literals<readonly ["kind", "content", "target", "hardLinks", "mode", "uid", "gid", "atimeNs", "mtimeNs", "ctimeNs", "birthtimeNs"]>>;
510
+ }>;
511
+ }>;
512
+ }>>;
513
+ }>;
514
+ /**
515
+ * The result of merging two snapshot deltas.
516
+ *
517
+ * @category models
518
+ * @since 0.8.0
519
+ */
520
+ export type MergeResult = typeof MergeResult.Type;
287
521
  export {};
288
522
  //# sourceMappingURL=SnapshotDelta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SnapshotDelta.d.ts","sourceRoot":"","sources":["../src/SnapshotDelta.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,gCAA+D,CAAA;AAEjG;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CACpD;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,8CAA0D,CAAA;AAEpF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,4DAAoD,CAAA;AAEjF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,4IAY7B,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAI/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;IASzB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,sBAAsB;IACjC,6FAA6F;;EAE7F,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE,QAAA,MAAM,yBAAyB;IAC7B,6CAA6C;;IAE7C,wDAAwD;;IAExD,+CAA+C;;IAE/C,sEAAsE;;IAEtE,oDAAoD;;IAEpD,sDAAsD;;IAEtD,+EAA+E;;IAE/E,yDAAyD;;IAEzD,gFAAgF;;IAEhF,kGAAkG;;EAElG,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAEvE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,WAAY,mBAAmB,KAAG,mBACxC,CAAA;AA4B9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,mBAAmB;IA9F9B,6CAA6C;;IAE7C,wDAAwD;;IAExD,+CAA+C;;IAE/C,sEAAsE;;IAEtE,oDAAoD;;IAEpD,sDAAsD;;IAEtD,+EAA+E;;IAE/E,yDAAyD;;IAEzD,gFAAgF;;IAEhF,kGAAkG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+ElG,CAAA"}
1
+ {"version":3,"file":"SnapshotDelta.d.ts","sourceRoot":"","sources":["../src/SnapshotDelta.ts"],"names":[],"mappings":"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"}
@@ -226,3 +226,110 @@ export const SnapshotDeltaLimits = Object.assign(SnapshotDeltaLimitsSchema, {
226
226
  constrained,
227
227
  default: defaultLimits
228
228
  });
229
+ /**
230
+ * Schema for what one side of a merge did at a conflicted path.
231
+ *
232
+ * `Unchanged` means the side did not touch the path itself; a conflict can
233
+ * still name it when the other side's change depends on it, for example a
234
+ * hard-link group whose membership diverged, or a name held at base because
235
+ * it shares a node with a conflicted name.
236
+ *
237
+ * @category schemas
238
+ * @since 0.8.0
239
+ */
240
+ export const MergeSideChange = Schema.TaggedUnion({
241
+ Unchanged: {},
242
+ Added: { kind: SnapshotNodeKind },
243
+ Removed: { kind: SnapshotNodeKind },
244
+ Updated: {
245
+ beforeKind: SnapshotNodeKind,
246
+ afterKind: SnapshotNodeKind,
247
+ differences: SnapshotDifferences
248
+ }
249
+ });
250
+ /**
251
+ * Schema for the reasons a path-level merge reports a conflict.
252
+ *
253
+ * - `BothChanged`: both sides changed the same field of one node to different values.
254
+ * - `ChangedRemoved`: one side changed a node the other side removed, or linked a new name to it.
255
+ * - `BothAddedDifferent`: both sides added different nodes at one path.
256
+ * - `KindDiverged`: one side changed a node's kind while the other side changed or removed the node.
257
+ * - `ParentRemoved`: one side changed a path under a directory the other side removed or replaced.
258
+ * - `HardLinkGroupDiverged`: both sides changed which names share one hard-linked node.
259
+ *
260
+ * @category schemas
261
+ * @since 0.8.0
262
+ */
263
+ export const MergeConflictReason = Schema.Literals([
264
+ "BothChanged",
265
+ "ChangedRemoved",
266
+ "BothAddedDifferent",
267
+ "KindDiverged",
268
+ "ParentRemoved",
269
+ "HardLinkGroupDiverged"
270
+ ]);
271
+ /**
272
+ * Schema for one conflict between two snapshot deltas from the same base.
273
+ *
274
+ * A conflict carries what each side did, as kinds and changed fields, and no
275
+ * payload bytes or metadata values. The application reads those from the base,
276
+ * ours, and theirs snapshots it already holds. Timestamp fields are left out of
277
+ * `differences`, because timestamps never conflict.
278
+ *
279
+ * @category schemas
280
+ * @since 0.8.0
281
+ */
282
+ export const MergeConflict = Schema.Struct({
283
+ path: BytePath,
284
+ reason: MergeConflictReason,
285
+ ours: MergeSideChange,
286
+ theirs: MergeSideChange
287
+ });
288
+ /**
289
+ * Schema for the side a merge takes at one conflicted path.
290
+ *
291
+ * @category schemas
292
+ * @since 0.8.0
293
+ */
294
+ export const MergeTake = Schema.Literals(["ours", "theirs", "base"]);
295
+ /**
296
+ * Schema for one resolution of a reported merge conflict.
297
+ *
298
+ * The path must be one a previous merge of the same inputs reported.
299
+ * Conflicts that span several paths, a removed directory's subtree or a
300
+ * hard-link group, take one side as a whole: every reported path in the set
301
+ * must name the same side.
302
+ *
303
+ * @category schemas
304
+ * @since 0.8.0
305
+ */
306
+ export const MergeResolution = Schema.Struct({
307
+ path: BytePath,
308
+ take: MergeTake
309
+ });
310
+ /**
311
+ * Schema for snapshot-delta merge options.
312
+ *
313
+ * @category schemas
314
+ * @since 0.8.0
315
+ */
316
+ export const MergeOptions = Schema.Struct({
317
+ /** Sides to take at paths an earlier merge reported as conflicts. */
318
+ resolutions: Schema.optionalKey(Schema.Array(MergeResolution)),
319
+ /** Resource limits for verifying both deltas and building the merged one. Defaults to `SnapshotDeltaLimits.default`. */
320
+ limits: Schema.optionalKey(SnapshotDeltaLimitsSchema)
321
+ });
322
+ /**
323
+ * Schema for the result of merging two snapshot deltas.
324
+ *
325
+ * The delta applies every change neither side disputed, plus every resolved
326
+ * conflict; paths still in conflict keep the base node. It is bound to the
327
+ * same base as its inputs and applies with `applySnapshotDelta`.
328
+ *
329
+ * @category schemas
330
+ * @since 0.8.0
331
+ */
332
+ export const MergeResult = Schema.Struct({
333
+ delta: SnapshotDelta,
334
+ conflicts: Schema.Array(MergeConflict)
335
+ });
@@ -38,7 +38,7 @@ import type { DecodeLimits, Snapshot } from "./Snapshot.js";
38
38
  export { DecodeLimits, type Snapshot, SnapshotTypeId } from "./Snapshot.js";
39
39
  import { type LiveImageStore, type Options as LiveVolumeOptions } from "./LiveVolume.js";
40
40
  import * as SnapshotDeltaModel from "./SnapshotDelta.js";
41
- export { SnapshotChange, SnapshotChangesOptions, type SnapshotDelta, SnapshotDeltaLimits, SnapshotDeltaTypeId, SnapshotDifference, SnapshotNodeKind } from "./SnapshotDelta.js";
41
+ export { MergeConflict, MergeConflictReason, MergeOptions, MergeResolution, MergeResult, MergeSideChange, MergeTake, SnapshotChange, SnapshotChangesOptions, type SnapshotDelta, SnapshotDeltaLimits, SnapshotDeltaTypeId, SnapshotDifference, SnapshotNodeKind } from "./SnapshotDelta.js";
42
42
  /**
43
43
  * A UTF-8 string path or an opaque byte-preserving path.
44
44
  *
@@ -1782,6 +1782,58 @@ export declare const inspectSnapshotDelta: (base: Snapshot, delta: SnapshotDelta
1782
1782
  * @since 0.1.0
1783
1783
  */
1784
1784
  export declare const applySnapshotDelta: (base: Snapshot, delta: SnapshotDeltaModel.SnapshotDelta, limits?: SnapshotDeltaModel.SnapshotDeltaLimits) => Effect.Effect<Snapshot, VfsError | PlatformError.PlatformError, Crypto.Crypto>;
1785
+ /**
1786
+ * Merges two snapshot deltas that share one base into a single delta, reporting path-level conflicts as data.
1787
+ *
1788
+ * Changes only one side made are taken as they are. Where both sides changed one path the merge keeps the change
1789
+ * when both agree, combines metadata fields that only one side changed, and otherwise reports a conflict and leaves
1790
+ * the base node in place. Timestamps never conflict. The merged delta is bound to the same base as its inputs and
1791
+ * applies with {@link applySnapshotDelta}. Pass `resolutions` to take one side at paths an earlier merge reported.
1792
+ * Requires the platform-neutral `Crypto.Crypto` service for base identity. Provide
1793
+ * `NodeCrypto.layer`, `BunCrypto.layer`, or your own via `Crypto.make`.
1794
+ *
1795
+ * @example
1796
+ * ```ts
1797
+ * import * as BunCrypto from "@effect/platform-bun/BunCrypto"
1798
+ * import { VirtualFileSystem as Vfs } from "@effect-vfs/core"
1799
+ * import { Effect } from "effect"
1800
+ *
1801
+ * const encoder = new TextEncoder()
1802
+ *
1803
+ * const program = Effect.gen(function*() {
1804
+ * const source = yield* Vfs.fromFixture({
1805
+ * entries: [{ kind: "file", path: "/shared.txt", bytes: encoder.encode("v0") }]
1806
+ * })
1807
+ * const base = yield* source.snapshot
1808
+ *
1809
+ * // Two agents work on separate overlays of one base.
1810
+ * const ours = yield* Vfs.makeOverlay(base)
1811
+ * const theirs = yield* Vfs.makeOverlay(base)
1812
+ * yield* (yield* ours.caller()).writeFile("/ours.txt", encoder.encode("a"), { access: "write", create: "exclusive" })
1813
+ * yield* (yield* theirs.caller()).writeFile("/shared.txt", encoder.encode("v1"), { access: "write", truncate: true })
1814
+ *
1815
+ * const result = yield* Vfs.mergeSnapshotDeltas(
1816
+ * base,
1817
+ * yield* Vfs.diffSnapshots(base, (yield* ours.capture()).snapshot),
1818
+ * yield* Vfs.diffSnapshots(base, (yield* theirs.capture()).snapshot)
1819
+ * )
1820
+ *
1821
+ * // Disjoint changes merge without conflicts; the delta applies to the shared base.
1822
+ * const merged = yield* Vfs.fromSnapshot(yield* Vfs.applySnapshotDelta(base, result.delta))
1823
+ * const reader = yield* merged.caller()
1824
+ *
1825
+ * return [result.conflicts.length, new TextDecoder().decode(yield* reader.readFile("/shared.txt"))]
1826
+ * })
1827
+ *
1828
+ * Effect.runPromise(program.pipe(Effect.provide(BunCrypto.layer))).then(console.log)
1829
+ * // [ 0, 'v1' ]
1830
+ * ```
1831
+ *
1832
+ * @see {@link diffSnapshots} to build each side's delta, {@link applySnapshotDelta} to apply the merged one.
1833
+ * @category snapshots
1834
+ * @since 0.8.0
1835
+ */
1836
+ export declare const mergeSnapshotDeltas: (base: Snapshot, ours: SnapshotDeltaModel.SnapshotDelta, theirs: SnapshotDeltaModel.SnapshotDelta, options?: SnapshotDeltaModel.MergeOptions) => Effect.Effect<SnapshotDeltaModel.MergeResult, VfsError | PlatformError.PlatformError, Crypto.Crypto>;
1785
1837
  /**
1786
1838
  * Creates an Effect Schema codec between owned bytes and opaque snapshot deltas.
1787
1839
  * Omission uses `SnapshotDeltaLimits.default`.
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualFileSystem.d.ts","sourceRoot":"","sources":["../src/VirtualFileSystem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,aAAa,MAAM,sBAAsB,CAAA;AAE1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,YAAY,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,KAAK,gBAAgB,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,aAAa,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,cAAc,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACvF,OAAO,KAAK,cAAc,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,YAAY,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,WAAW,MAAM,YAAY,CAAA;AAEzC,OAAO,EACL,KAAK,EACL,KAAK,UAAU,EACf,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,KAAK,SAAS,EACd,KAAK,UAAU,EACf,MAAM,EACN,KAAK,WAAW,EACjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE3D,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAS3E,OAAO,EAAE,KAAK,cAAc,EAA0B,KAAK,OAAO,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAChH,OAAO,KAAK,kBAAkB,MAAM,oBAAoB,CAAA;AAExD,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,KAAK,aAAa,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,oBAAoB,CAAA;AAE3B;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,cAAc,CAAC,MAA8B,CAAA;AAEzE;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EACL,KAAK,eAAe,EACpB,SAAS,EACT,KAAK,SAAS,EACd,SAAS,EACT,KAAK,YAAY,EACjB,SAAS,EACT,KAAK,YAAY,EACjB,OAAO,EACP,QAAQ,EACT,MAAM,eAAe,CAAA;AAEtB;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,YAAY,CAAC,QAAgC,CAAA;AAE3E;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,YAAY,CAAC,iBAAkD,CAAA;AAEtG;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,YAAY,CAAC,gBAAgD,CAAA;AAEnG;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAsC,CAAA;AAEtG;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,CACtC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,gBAAgB,KACvB,OAAgD,CAAA;AAErD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,YAAY,CAAC,cAA4C,CAAA;AAE7F;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,YAAY,CAAC,iBAAkD,CAAA;AAEtG;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,YAAY,CAAC,YAAwC,CAAA;AAEvF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,YAAY,CAAC,aAA0C,CAAA;AAE1F;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAA;IACpD,+EAA+E;IAC/E,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,iFAAiF;IACjF,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,cAAc,CAAC,QAAkC,CAAA;AAE/E;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;AAE3C;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAA;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;IACjB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;CACpC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;IACnC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;IACnC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,CAAA;AAErF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,OAAO,YAAY,CAAC,WAAsC,CAAA;AAEpF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,OAAO,YAAY,CAAC,eAA8C,CAAA;AAEhG;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;IACnC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;CACpC;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAO,YAAY,CAAC,qBAA0D,CAAA;AAElH;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,OAAO,cAAc,CAAC,WAAwC,CAAA;AAExF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,OAAO,cAAc,CAAC,UAAsC,CAAA;AAErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,KAAK,EAAE,OAAO,cAAc,CAAC,KAA4B,CAAA;AAEtE;;;;;GAKG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAA;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;CAC/C;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,gBAAgB,CAAC,QAAoC,CAAA;AAEnF;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,WAAW,EAAE,OAAO,YAAY,CAAC,WAAsC,CAAA;AAEpF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,YAAY,CAAC,YAAwC,CAAA;AAEvF;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,YAAY,CAAC,aAA0C,CAAA;AAE1F;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,YAAY,CAAC,cAA4C,CAAA;AAE7F;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,YAAY,CAAC,cAA4C,CAAA;AAE7F;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,YAAY,CAAC,gBAAgD,CAAA;AAEnG;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,YAAY,CAAC,gBAAgD,CAAA;AAEnG;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,CAAA;IAC7B,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAC7E,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAC9F,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACvE,qGAAqG;IACrG,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACxF,sGAAsG;IACtG,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACnF,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACrE,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACjD,yHAAyH;IACzH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC7C,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;IACzB,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;IACxD,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;IACjF,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;IACtF,gHAAgH;IAChH,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC1E,sFAAsF;IACtF,QAAQ,CAAC,aAAa,EAAE,CACtB,SAAS,EAAE,WAAW,KACnB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IAC/E;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IACvG,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAChF,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC9E,iGAAiG;IACjG,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACzF,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAChF,yFAAyF;IACzF,QAAQ,CAAC,SAAS,EAAE,CAClB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,gBAAgB,KACtB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACnC;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE;QACb,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,CAC9F,UAAU,EACV,SAAS,EACT,KAAK,CAAC,KAAK,CACZ,CAAA;QACD,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;KAClG,CAAA;IACD;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAA;IAC7G,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,CAChB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE,cAAc,KACrB,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAA;IACnD,mIAAmI;IACnI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAA;IACzG,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;IACjF,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;IAChF;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,EAAE;QACf,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG;YAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;SAAE,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;QACpH,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,GAAG,SAAS,EAAE,SAAS,CAAC,CAAA;KACnG,CAAA;IACD,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAA;IACtG,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACrF,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC3F,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACtF,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC1F;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACrG,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACjG,wDAAwD;IACxD,QAAQ,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAC3G;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,WAAW,CAAC,MAA2B,CAAA;AAEnE;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,WAAW,CAAC,YAAuC,CAAA;AAErF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,OAAO,YAAY,CAAC,eAA8C,CAAA;AAEhG;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,YAAY,CAAC,iBAAkD,CAAA;AAEtG;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,YAAY,CAAC,aAA0C,CAAA;AAE1F;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAO,YAAY,CAAC,qBAA0D,CAAA;AAElH;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,WAAW,MAAM;IACrB,sEAAsE;IACtE,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,8FAA8F;IAC9F,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;IACjC,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAA;IACvC,kEAAkE;IAClE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACrD;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACxG,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpD;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IAC7F;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;IAC9F,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;IACzB,iGAAiG;IACjG,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAClF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,aAAc,SAAQ,MAAM;IAC3C,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,CAChB,OAAO,CAAC,EAAE,qBAAqB,KAC5B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAA;IAC1D,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,CAChB,OAAO,CAAC,EAAE,qBAAqB,KAC5B,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;CAC7C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IACrD,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,aAAa,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACzF,+CAA+C;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,aAAa,KACpB,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACjD,2CAA2C;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACtH,+CAA+C;IAC/C,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAChH,6GAA6G;IAC7G,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;CASjH,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IACrD,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;CAItF,CAAA;AAQF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,oBAAoB,EAAE,CACjC,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,YAAY,KAClB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,GAAG,eAAe,CAIwB,CAAA;AAErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,cAAc,EAAE,CAC3B,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,YAAY,KAClB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,GAAG,eAAe,CAG1D,CAAA;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,kBAAkB,EAAE,CAC/B,MAAM,EAAE,YAAY,KACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,GAAG,eAAe,CAMvE,CAAA;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,cAAc,EAAE,CAC3B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,YAAY,KACjB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,eAAe,CACI,CAAA;AAS/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,aAAa,EAAE,CAC1B,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,QAAQ,EAChB,MAAM,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,KAC5C,MAAM,CAAC,MAAM,CAChB,kBAAkB,CAAC,aAAa,EAChC,QAAQ,GAAG,aAAa,CAAC,aAAa,EACtC,MAAM,CAAC,MAAM,CAUb,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,oBAAoB,EAAE,CACjC,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,kBAAkB,CAAC,aAAa,EACvC,OAAO,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,EACnD,MAAM,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,KAC5C,MAAM,CAAC,MAAM,CAChB,aAAa,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAChD,QAAQ,GAAG,aAAa,CAAC,aAAa,EACtC,MAAM,CAAC,MAAM,CAiBb,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,kBAAkB,EAAE,CAC/B,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,kBAAkB,CAAC,aAAa,EACvC,MAAM,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,KAC5C,MAAM,CAAC,MAAM,CAChB,QAAQ,EACR,QAAQ,GAAG,aAAa,CAAC,aAAa,EACtC,MAAM,CAAC,MAAM,CAWb,CAAA;AASF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,sBAAsB,YAAa,kBAAkB,CAAC,mBAAmB,yIAwBrF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAsB,CAAA;AAE1G;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAoB,CAAA;AAErG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,aAAa,CAAC,OAA+B,CAAA;AAE1E;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,OAAO,CAAC,EAAE,aAAa,KACpB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAiB,CAAA;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,eAAe,EAAE,CAC5B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,SAAS,KACZ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,YAAY,CAAyB,CAAA;AAEhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,YAAY,EAAE,CACzB,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,aAAa,KACpB,MAAM,CAAC,MAAM,CAChB,MAAM,EACN,QAAQ,EACR,MAAM,CAAC,MAAM,CACU,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,eAAO,MAAM,WAAW,EAAE,CACxB,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,aAAa,KACpB,MAAM,CAAC,MAAM,CAChB,aAAa,EACb,QAAQ,EACR,MAAM,CAAC,MAAM,CACS,CAAA;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,WAAW,EAAE,CACxB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,aAAa,KACpB,MAAM,CAAC,MAAM,CAChB,MAAM,EACN,QAAQ,EACR,MAAM,CAAC,MAAM,CACgB,CAAA"}
1
+ {"version":3,"file":"VirtualFileSystem.d.ts","sourceRoot":"","sources":["../src/VirtualFileSystem.ts"],"names":[],"mappings":"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"}
@@ -23,10 +23,11 @@ import * as FixtureInternal from "./internal/fixture.js";
23
23
  import * as Image from "./internal/image.js";
24
24
  import * as Path from "./internal/path.js";
25
25
  import * as SnapshotDeltaInternal from "./internal/snapshotDelta.js";
26
+ import * as SnapshotMergeInternal from "./internal/snapshotMerge.js";
26
27
  import * as VfsModel from "./internal/virtualFileSystem.js";
27
28
  import { open as openLiveVolume } from "./LiveVolume.js";
28
29
  import * as SnapshotDeltaModel from "./SnapshotDelta.js";
29
- export { SnapshotChange, SnapshotChangesOptions, SnapshotDeltaLimits, SnapshotDeltaTypeId, SnapshotDifference, SnapshotNodeKind } from "./SnapshotDelta.js";
30
+ export { MergeConflict, MergeConflictReason, MergeOptions, MergeResolution, MergeResult, MergeSideChange, MergeTake, SnapshotChange, SnapshotChangesOptions, SnapshotDeltaLimits, SnapshotDeltaTypeId, SnapshotDifference, SnapshotNodeKind } from "./SnapshotDelta.js";
30
31
  /**
31
32
  * Schema for portable virtual filesystem error codes.
32
33
  *
@@ -981,6 +982,63 @@ export const inspectSnapshotDelta = Effect.fn("VirtualFileSystem.inspectSnapshot
981
982
  export const applySnapshotDelta = Effect.fn("VirtualFileSystem.applySnapshotDelta")(function* (base, delta, limits) {
982
983
  return yield* SnapshotDeltaInternal.applySnapshotDelta(base, delta, yield* deltaLimits("applySnapshotDelta", limits)).pipe(Effect.mapError((error) => retargetFailure("applySnapshotDelta", error)));
983
984
  });
985
+ /**
986
+ * Merges two snapshot deltas that share one base into a single delta, reporting path-level conflicts as data.
987
+ *
988
+ * Changes only one side made are taken as they are. Where both sides changed one path the merge keeps the change
989
+ * when both agree, combines metadata fields that only one side changed, and otherwise reports a conflict and leaves
990
+ * the base node in place. Timestamps never conflict. The merged delta is bound to the same base as its inputs and
991
+ * applies with {@link applySnapshotDelta}. Pass `resolutions` to take one side at paths an earlier merge reported.
992
+ * Requires the platform-neutral `Crypto.Crypto` service for base identity. Provide
993
+ * `NodeCrypto.layer`, `BunCrypto.layer`, or your own via `Crypto.make`.
994
+ *
995
+ * @example
996
+ * ```ts
997
+ * import * as BunCrypto from "@effect/platform-bun/BunCrypto"
998
+ * import { VirtualFileSystem as Vfs } from "@effect-vfs/core"
999
+ * import { Effect } from "effect"
1000
+ *
1001
+ * const encoder = new TextEncoder()
1002
+ *
1003
+ * const program = Effect.gen(function*() {
1004
+ * const source = yield* Vfs.fromFixture({
1005
+ * entries: [{ kind: "file", path: "/shared.txt", bytes: encoder.encode("v0") }]
1006
+ * })
1007
+ * const base = yield* source.snapshot
1008
+ *
1009
+ * // Two agents work on separate overlays of one base.
1010
+ * const ours = yield* Vfs.makeOverlay(base)
1011
+ * const theirs = yield* Vfs.makeOverlay(base)
1012
+ * yield* (yield* ours.caller()).writeFile("/ours.txt", encoder.encode("a"), { access: "write", create: "exclusive" })
1013
+ * yield* (yield* theirs.caller()).writeFile("/shared.txt", encoder.encode("v1"), { access: "write", truncate: true })
1014
+ *
1015
+ * const result = yield* Vfs.mergeSnapshotDeltas(
1016
+ * base,
1017
+ * yield* Vfs.diffSnapshots(base, (yield* ours.capture()).snapshot),
1018
+ * yield* Vfs.diffSnapshots(base, (yield* theirs.capture()).snapshot)
1019
+ * )
1020
+ *
1021
+ * // Disjoint changes merge without conflicts; the delta applies to the shared base.
1022
+ * const merged = yield* Vfs.fromSnapshot(yield* Vfs.applySnapshotDelta(base, result.delta))
1023
+ * const reader = yield* merged.caller()
1024
+ *
1025
+ * return [result.conflicts.length, new TextDecoder().decode(yield* reader.readFile("/shared.txt"))]
1026
+ * })
1027
+ *
1028
+ * Effect.runPromise(program.pipe(Effect.provide(BunCrypto.layer))).then(console.log)
1029
+ * // [ 0, 'v1' ]
1030
+ * ```
1031
+ *
1032
+ * @see {@link diffSnapshots} to build each side's delta, {@link applySnapshotDelta} to apply the merged one.
1033
+ * @category snapshots
1034
+ * @since 0.8.0
1035
+ */
1036
+ export const mergeSnapshotDeltas = Effect.fn("VirtualFileSystem.mergeSnapshotDeltas")(function* (base, ours, theirs, options) {
1037
+ // Limits decode first so a bad limit names its own field; the rest of the options decode as one.
1038
+ const limits = yield* deltaLimits("mergeSnapshotDeltas", options?.limits);
1039
+ const decoded = yield* Effect.fromResult(decodeConfiguration(SnapshotDeltaModel.MergeOptions, options ?? {}, "mergeSnapshotDeltas"));
1040
+ return yield* SnapshotMergeInternal.mergeSnapshotDeltas(base, ours, theirs, decoded.resolutions ?? [], limits).pipe(Effect.mapError((error) => retargetFailure("mergeSnapshotDeltas", error)));
1041
+ });
984
1042
  const deltaSchemaIssue = (cause, input, options) => new SchemaIssue.InvalidValue({ message: `Snapshot delta ${cause.code}${cause.field === undefined ? "" : ` at ${cause.field}`}` }, input, options);
985
1043
  /**
986
1044
  * Creates an Effect Schema codec between owned bytes and opaque snapshot deltas.
package/dist/index.d.ts CHANGED
@@ -79,4 +79,11 @@ export * as Volume from "./Volume.js";
79
79
  * @category re-exports
80
80
  */
81
81
  export * as Watch from "./Watch.js";
82
+ /**
83
+ * Bounded filename search over immutable snapshots.
84
+ *
85
+ * @category re-exports
86
+ * @since 0.8.0
87
+ */
88
+ export * as Search from "./Search.js";
82
89
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;;;;GAKG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;;;GAKG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;GAGG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;;;;GAKG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;;;GAKG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;GAGG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;;;;GAKG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
package/dist/index.js CHANGED
@@ -79,3 +79,10 @@ export * as Volume from "./Volume.js";
79
79
  * @category re-exports
80
80
  */
81
81
  export * as Watch from "./Watch.js";
82
+ /**
83
+ * Bounded filename search over immutable snapshots.
84
+ *
85
+ * @category re-exports
86
+ * @since 0.8.0
87
+ */
88
+ export * as Search from "./Search.js";
@@ -5,7 +5,7 @@ import { Fixture as FixtureSchema, FixtureEntry } from "../Fixture.js";
5
5
  import { VolumeIdentity, VolumeOptions as VolumeOptionsSchema } from "../Volume.js";
6
6
  import { decodeConfiguration, imageFailure, OpContext, VfsError } from "./errors.js";
7
7
  import { inputBytes, isAttachedBytes, isDotComponent, preparePath } from "./path.js";
8
- import { makeVolume, VolumeSource } from "./virtualFileSystem.js";
8
+ import { makeVolume, memoryCommitProvider, VolumeSource } from "./virtualFileSystem.js";
9
9
  import { assemble, Ino, ROOT_INO } from "./volumeState.js";
10
10
  const DEFAULT_MODE = { directory: 0o755, file: 0o644, symlink: 0o777 };
11
11
  const EPOCH_NS = 0n;
@@ -124,8 +124,8 @@ export const fromFixture = Effect.fn("VirtualFileSystem.fromFixture")(function*
124
124
  const restored = VolumeSource.Restored({ value: assemble(specs) });
125
125
  const { identity, ...volumeOptions } = config;
126
126
  if (identity === undefined)
127
- return (yield* makeVolume(restored, volumeOptions)).volume;
128
- const { volume } = yield* makeVolume(restored, {
127
+ return (yield* makeVolume(restored, memoryCommitProvider, volumeOptions)).volume;
128
+ const { volume } = yield* makeVolume(restored, memoryCommitProvider, {
129
129
  ...volumeOptions,
130
130
  identity: VolumeIdentity.make(identity)
131
131
  });