@effect-vfs/core 0.3.0 → 0.4.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 (69) hide show
  1. package/README.md +36 -149
  2. package/dist/BytePath.d.ts +34 -2
  3. package/dist/BytePath.d.ts.map +1 -1
  4. package/dist/BytePath.js +1 -1
  5. package/dist/LiveVolume.d.ts +101 -0
  6. package/dist/LiveVolume.d.ts.map +1 -0
  7. package/dist/LiveVolume.js +72 -0
  8. package/dist/Snapshot.d.ts +60 -2
  9. package/dist/Snapshot.d.ts.map +1 -1
  10. package/dist/Snapshot.js +59 -1
  11. package/dist/SnapshotDelta.d.ts +113 -3
  12. package/dist/SnapshotDelta.d.ts.map +1 -1
  13. package/dist/SnapshotDelta.js +112 -2
  14. package/dist/VirtualFileSystem.d.ts +1224 -90
  15. package/dist/VirtualFileSystem.d.ts.map +1 -1
  16. package/dist/VirtualFileSystem.js +678 -20
  17. package/dist/VirtualFileSystemError.d.ts +54 -0
  18. package/dist/VirtualFileSystemError.d.ts.map +1 -0
  19. package/dist/VirtualFileSystemError.js +49 -0
  20. package/dist/index.d.ts +15 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +15 -1
  23. package/dist/internal/bytePath.d.ts.map +1 -1
  24. package/dist/internal/bytePath.js +5 -10
  25. package/dist/internal/bytes.d.ts +6 -0
  26. package/dist/internal/bytes.d.ts.map +1 -0
  27. package/dist/internal/bytes.js +17 -0
  28. package/dist/internal/canonicalBase64.d.ts +13 -5
  29. package/dist/internal/canonicalBase64.d.ts.map +1 -1
  30. package/dist/internal/canonicalBase64.js +28 -6
  31. package/dist/internal/image.d.ts +76 -90
  32. package/dist/internal/image.d.ts.map +1 -1
  33. package/dist/internal/image.js +98 -89
  34. package/dist/internal/liveImage.d.ts +286 -0
  35. package/dist/internal/liveImage.d.ts.map +1 -0
  36. package/dist/internal/liveImage.js +176 -0
  37. package/dist/internal/metadata.d.ts +28 -0
  38. package/dist/internal/metadata.d.ts.map +1 -0
  39. package/dist/internal/metadata.js +29 -0
  40. package/dist/internal/snapshotDelta.d.ts.map +1 -1
  41. package/dist/internal/snapshotDelta.js +346 -300
  42. package/dist/internal/snapshotDeltaModel.d.ts +2 -2
  43. package/dist/internal/snapshotDeltaModel.d.ts.map +1 -1
  44. package/dist/internal/snapshotDeltaModel.js +3 -1
  45. package/dist/internal/virtualFileSystem/errors.d.ts +6 -20
  46. package/dist/internal/virtualFileSystem/errors.d.ts.map +1 -1
  47. package/dist/internal/virtualFileSystem/errors.js +22 -7
  48. package/dist/internal/virtualFileSystem/fixture.d.ts +4 -1
  49. package/dist/internal/virtualFileSystem/fixture.d.ts.map +1 -1
  50. package/dist/internal/virtualFileSystem/fixture.js +80 -74
  51. package/dist/internal/virtualFileSystem/overlayContent.d.ts.map +1 -1
  52. package/dist/internal/virtualFileSystem/overlayContent.js +9 -2
  53. package/dist/internal/virtualFileSystem/overlayDiff.d.ts +2 -11
  54. package/dist/internal/virtualFileSystem/overlayDiff.d.ts.map +1 -1
  55. package/dist/internal/virtualFileSystem/overlayDiff.js +45 -71
  56. package/dist/internal/virtualFileSystem/path.d.ts +15 -14
  57. package/dist/internal/virtualFileSystem/path.d.ts.map +1 -1
  58. package/dist/internal/virtualFileSystem/path.js +57 -54
  59. package/dist/internal/virtualFileSystem/stagedState.d.ts +22 -0
  60. package/dist/internal/virtualFileSystem/stagedState.d.ts.map +1 -0
  61. package/dist/internal/virtualFileSystem/stagedState.js +62 -0
  62. package/dist/internal/virtualFileSystem/testHooks.d.ts.map +1 -1
  63. package/dist/internal/virtualFileSystem/watchHub.d.ts +3 -3
  64. package/dist/internal/virtualFileSystem/watchHub.d.ts.map +1 -1
  65. package/dist/internal/virtualFileSystem/watchHub.js +45 -24
  66. package/dist/internal/virtualFileSystem.d.ts +307 -23
  67. package/dist/internal/virtualFileSystem.d.ts.map +1 -1
  68. package/dist/internal/virtualFileSystem.js +1738 -525
  69. package/package.json +23 -5
@@ -1,12 +1,17 @@
1
1
  import * as ByteSize from "effect/ByteSize";
2
- import * as Context from "effect/Context";
2
+ import * as Crypto from "effect/Crypto";
3
+ import * as Data from "effect/Data";
3
4
  import * as Effect from "effect/Effect";
5
+ import * as Order from "effect/Order";
4
6
  import * as Schema from "effect/Schema";
5
7
  import { BytePath } from "../BytePath.js";
6
8
  import { ImageError, type Snapshot } from "../Snapshot.js";
7
- import type { Caller, OverlayVolume, RelativeOptions, Volume } from "../VirtualFileSystem.js";
9
+ import type { ObjectReference, OverlayVolume, RelativeOptions, Volume, VolumeLimits } from "../VirtualFileSystem.js";
8
10
  import * as Image from "./image.js";
11
+ import * as LiveImage from "./liveImage.js";
9
12
  import { ConfigurationError, FsCode as FsCodeSchema, FsError } from "./virtualFileSystem/errors.js";
13
+ import * as Content from "./virtualFileSystem/overlayContent.js";
14
+ import { type CommitProvider } from "./virtualFileSystem/stagedState.js";
10
15
  /** @internal */
11
16
  export declare const VolumeId: unique symbol;
12
17
  /** @internal */
@@ -20,8 +25,6 @@ export declare const ObjectReferenceId: unique symbol;
20
25
  /** @internal */
21
26
  export { ConfigurationError, FsCodeSchema as FsCode, FsError };
22
27
  /** @internal */
23
- export declare const Mode: Schema.Natural;
24
- /** @internal */
25
28
  export declare const Identity: Schema.Struct<{
26
29
  readonly uid: Schema.Natural;
27
30
  readonly gid: Schema.Natural;
@@ -43,8 +46,27 @@ export declare const RootCallerOptions: Schema.Struct<{
43
46
  /** @internal */
44
47
  export type RootCallerOptions = typeof RootCallerOptions.Type;
45
48
  /** @internal */
49
+ export declare const VolumeDurability: Schema.Literals<readonly ["memory-only", "survives-process-crash", "survives-operating-system-crash", "survives-power-loss"]>;
50
+ /** @internal */
51
+ export type VolumeDurability = typeof VolumeDurability.Type;
52
+ /** @internal */
53
+ export declare const VolumeDurabilityOrder: Order.Order<VolumeDurability>;
54
+ /** @internal */
55
+ export declare const isVolumeDurabilityAtLeast: (actual: VolumeDurability, required: VolumeDurability) => boolean;
56
+ /** @internal */
57
+ export declare const VolumeIdentity: Schema.brand<Schema.String, "@effect-vfs/core/VolumeIdentity">;
58
+ /** @internal */
59
+ export type VolumeIdentity = typeof VolumeIdentity.Type;
60
+ /** @internal */
61
+ export declare const VolumeIncarnation: Schema.brand<Schema.String, "@effect-vfs/core/VolumeIncarnation">;
62
+ /** @internal */
63
+ export type VolumeIncarnation = typeof VolumeIncarnation.Type;
64
+ /** @internal */
46
65
  export declare const VolumeOptions: Schema.Struct<{
66
+ readonly identity: Schema.optionalKey<Schema.brand<Schema.String, "@effect-vfs/core/VolumeIdentity">>;
47
67
  readonly maxEntries: Schema.optionalKey<Schema.Natural>;
68
+ readonly maxPendingOperations: Schema.optionalKey<Schema.Int>;
69
+ readonly maxWatchEvents: Schema.optionalKey<Schema.Int>;
48
70
  readonly maxBytes: Schema.optionalKey<Schema.ByteSize>;
49
71
  readonly maxFileBytes: Schema.optionalKey<Schema.ByteSize>;
50
72
  readonly maxPathBytes: Schema.optionalKey<Schema.ByteSize>;
@@ -52,8 +74,6 @@ export declare const VolumeOptions: Schema.Struct<{
52
74
  /** @internal */
53
75
  export type VolumeOptions = typeof VolumeOptions.Type;
54
76
  /** @internal */
55
- export declare const Timestamp: Schema.BigInt;
56
- /** @internal */
57
77
  export declare const Metadata: Schema.Struct<{
58
78
  readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
59
79
  readonly ino: Schema.BigInt;
@@ -122,7 +142,119 @@ export declare const OpenSettings: Schema.Struct<{
122
142
  /** @internal */
123
143
  export type OpenOptions = typeof OpenSettings.Type & RelativeOptions;
124
144
  /** @internal */
125
- export declare const WriteFileSettings: Schema.Struct<{
145
+ export declare const DirectoryChange: Schema.Struct<{
146
+ readonly before: Schema.BigInt;
147
+ readonly after: Schema.BigInt;
148
+ }>;
149
+ /** @internal */
150
+ export declare const RenameReferenceResult: Schema.TaggedUnion<{
151
+ readonly DifferentDirectories: Schema.TaggedStruct<"DifferentDirectories", {
152
+ readonly sourceDirectory: Schema.Struct<{
153
+ readonly before: Schema.BigInt;
154
+ readonly after: Schema.BigInt;
155
+ }>;
156
+ readonly destinationDirectory: Schema.Struct<{
157
+ readonly before: Schema.BigInt;
158
+ readonly after: Schema.BigInt;
159
+ }>;
160
+ }>;
161
+ readonly SameDirectory: Schema.TaggedStruct<"SameDirectory", {
162
+ readonly directory: Schema.Struct<{
163
+ readonly before: Schema.BigInt;
164
+ readonly after: Schema.BigInt;
165
+ }>;
166
+ }>;
167
+ }>;
168
+ /** @internal */
169
+ export declare const MkdirReferenceSettings: Schema.Struct<{
170
+ readonly mode: Schema.optionalKey<Schema.Natural>;
171
+ readonly exactMode: Schema.optionalKey<Schema.Boolean>;
172
+ readonly times: Schema.optionalKey<Schema.Struct<{
173
+ readonly access: Schema.Union<readonly [Schema.Struct<{
174
+ readonly kind: Schema.Literal<"now">;
175
+ }>, Schema.Struct<{
176
+ readonly kind: Schema.Literal<"omit">;
177
+ }>, Schema.Struct<{
178
+ readonly kind: Schema.Literal<"value">;
179
+ readonly nanoseconds: Schema.BigInt;
180
+ }>]>;
181
+ readonly modification: Schema.Union<readonly [Schema.Struct<{
182
+ readonly kind: Schema.Literal<"now">;
183
+ }>, Schema.Struct<{
184
+ readonly kind: Schema.Literal<"omit">;
185
+ }>, Schema.Struct<{
186
+ readonly kind: Schema.Literal<"value">;
187
+ readonly nanoseconds: Schema.BigInt;
188
+ }>]>;
189
+ }>>;
190
+ }>;
191
+ /** @internal */
192
+ export declare const SymlinkReferenceSettings: Schema.Struct<{
193
+ readonly times: Schema.optionalKey<Schema.Struct<{
194
+ readonly access: Schema.Union<readonly [Schema.Struct<{
195
+ readonly kind: Schema.Literal<"now">;
196
+ }>, Schema.Struct<{
197
+ readonly kind: Schema.Literal<"omit">;
198
+ }>, Schema.Struct<{
199
+ readonly kind: Schema.Literal<"value">;
200
+ readonly nanoseconds: Schema.BigInt;
201
+ }>]>;
202
+ readonly modification: Schema.Union<readonly [Schema.Struct<{
203
+ readonly kind: Schema.Literal<"now">;
204
+ }>, Schema.Struct<{
205
+ readonly kind: Schema.Literal<"omit">;
206
+ }>, Schema.Struct<{
207
+ readonly kind: Schema.Literal<"value">;
208
+ readonly nanoseconds: Schema.BigInt;
209
+ }>]>;
210
+ }>>;
211
+ }>;
212
+ /** @internal */
213
+ export declare const OpenReferenceSettings: Schema.Struct<{
214
+ readonly access: Schema.Literals<readonly ["read", "write", "readWrite"]>;
215
+ readonly append: Schema.optionalKey<Schema.Boolean>;
216
+ readonly truncate: Schema.optionalKey<Schema.Boolean>;
217
+ }>;
218
+ /** @internal */
219
+ export declare const OpenChildReferenceSettings: Schema.Struct<{
220
+ readonly access: Schema.Literals<readonly ["read", "write", "readWrite"]>;
221
+ readonly create: Schema.optionalKey<Schema.Literals<readonly ["never", "ifMissing", "exclusive"]>>;
222
+ readonly mode: Schema.optionalKey<Schema.Natural>;
223
+ readonly append: Schema.optionalKey<Schema.Boolean>;
224
+ readonly truncate: Schema.optionalKey<Schema.Boolean>;
225
+ readonly followFinalSymlink: Schema.optionalKey<Schema.Boolean>;
226
+ readonly times: Schema.optionalKey<Schema.Struct<{
227
+ readonly access: Schema.Union<readonly [Schema.Struct<{
228
+ readonly kind: Schema.Literal<"now">;
229
+ }>, Schema.Struct<{
230
+ readonly kind: Schema.Literal<"omit">;
231
+ }>, Schema.Struct<{
232
+ readonly kind: Schema.Literal<"value">;
233
+ readonly nanoseconds: Schema.BigInt;
234
+ }>]>;
235
+ readonly modification: Schema.Union<readonly [Schema.Struct<{
236
+ readonly kind: Schema.Literal<"now">;
237
+ }>, Schema.Struct<{
238
+ readonly kind: Schema.Literal<"omit">;
239
+ }>, Schema.Struct<{
240
+ readonly kind: Schema.Literal<"value">;
241
+ readonly nanoseconds: Schema.BigInt;
242
+ }>]>;
243
+ }>>;
244
+ readonly initialSize: Schema.optionalKey<Schema.BigInt>;
245
+ readonly exactMode: Schema.optionalKey<Schema.Boolean>;
246
+ readonly owner: Schema.optionalKey<Schema.Struct<{
247
+ readonly uid: Schema.optionalKey<Schema.Natural>;
248
+ readonly gid: Schema.optionalKey<Schema.Natural>;
249
+ }>>;
250
+ readonly expectedChild: Schema.optionalKey<Schema.NullOr<Schema.Struct<{
251
+ readonly reference: Schema.declare<ObjectReference, ObjectReference>;
252
+ readonly revision: Schema.BigInt;
253
+ readonly atimeNs: Schema.BigInt;
254
+ readonly mtimeNs: Schema.BigInt;
255
+ }>>>;
256
+ }>;
257
+ declare const WriteFileSettings: Schema.Struct<{
126
258
  readonly access: Schema.Literals<readonly ["read", "write", "readWrite"]>;
127
259
  readonly create: Schema.optionalKey<Schema.Literals<readonly ["never", "ifMissing", "exclusive"]>>;
128
260
  readonly mode: Schema.optionalKey<Schema.Natural>;
@@ -172,10 +304,6 @@ export declare const OverlayChangesOptions: Schema.Struct<{
172
304
  }>;
173
305
  /** @internal */
174
306
  export type OverlayChangesOptions = typeof OverlayChangesOptions.Type;
175
- declare const CurrentFileSystem_base: Context.ServiceClass<CurrentFileSystem, "@effect-vfs/core/CurrentFileSystem", Caller>;
176
- /** @internal */
177
- export declare class CurrentFileSystem extends CurrentFileSystem_base {
178
- }
179
307
  /** @internal */
180
308
  export declare const FixtureMetadata: Schema.Struct<{
181
309
  readonly uid: Schema.optionalKey<Schema.Natural>;
@@ -187,6 +315,50 @@ export declare const FixtureMetadata: Schema.Struct<{
187
315
  readonly birthtimeNs: Schema.optionalKey<Schema.BigInt>;
188
316
  }>;
189
317
  /** @internal */
318
+ export declare const FixtureEntry: Schema.toTaggedUnion<"kind", readonly [Schema.Struct<{
319
+ readonly kind: Schema.Literal<"directory">;
320
+ readonly path: Schema.Union<readonly [Schema.String, Schema.declare<BytePath, BytePath>]>;
321
+ readonly metadata: Schema.optionalKey<Schema.Struct<{
322
+ readonly uid: Schema.optionalKey<Schema.Natural>;
323
+ readonly gid: Schema.optionalKey<Schema.Natural>;
324
+ readonly mode: Schema.optionalKey<Schema.Natural>;
325
+ readonly atimeNs: Schema.optionalKey<Schema.BigInt>;
326
+ readonly mtimeNs: Schema.optionalKey<Schema.BigInt>;
327
+ readonly ctimeNs: Schema.optionalKey<Schema.BigInt>;
328
+ readonly birthtimeNs: Schema.optionalKey<Schema.BigInt>;
329
+ }>>;
330
+ }>, Schema.Struct<{
331
+ readonly kind: Schema.Literal<"file">;
332
+ readonly path: Schema.Union<readonly [Schema.String, Schema.declare<BytePath, BytePath>]>;
333
+ readonly bytes: Schema.Uint8Array;
334
+ readonly metadata: Schema.optionalKey<Schema.Struct<{
335
+ readonly uid: Schema.optionalKey<Schema.Natural>;
336
+ readonly gid: Schema.optionalKey<Schema.Natural>;
337
+ readonly mode: Schema.optionalKey<Schema.Natural>;
338
+ readonly atimeNs: Schema.optionalKey<Schema.BigInt>;
339
+ readonly mtimeNs: Schema.optionalKey<Schema.BigInt>;
340
+ readonly ctimeNs: Schema.optionalKey<Schema.BigInt>;
341
+ readonly birthtimeNs: Schema.optionalKey<Schema.BigInt>;
342
+ }>>;
343
+ }>, Schema.Struct<{
344
+ readonly kind: Schema.Literal<"symlink">;
345
+ readonly path: Schema.Union<readonly [Schema.String, Schema.declare<BytePath, BytePath>]>;
346
+ readonly target: Schema.Union<readonly [Schema.String, Schema.declare<BytePath, BytePath>]>;
347
+ readonly metadata: Schema.optionalKey<Schema.Struct<{
348
+ readonly uid: Schema.optionalKey<Schema.Natural>;
349
+ readonly gid: Schema.optionalKey<Schema.Natural>;
350
+ readonly mode: Schema.optionalKey<Schema.Natural>;
351
+ readonly atimeNs: Schema.optionalKey<Schema.BigInt>;
352
+ readonly mtimeNs: Schema.optionalKey<Schema.BigInt>;
353
+ readonly ctimeNs: Schema.optionalKey<Schema.BigInt>;
354
+ readonly birthtimeNs: Schema.optionalKey<Schema.BigInt>;
355
+ }>>;
356
+ }>, Schema.Struct<{
357
+ readonly kind: Schema.Literal<"hardLink">;
358
+ readonly path: Schema.Union<readonly [Schema.String, Schema.declare<BytePath, BytePath>]>;
359
+ readonly target: Schema.Union<readonly [Schema.String, Schema.declare<BytePath, BytePath>]>;
360
+ }>]>;
361
+ /** @internal */
190
362
  export declare const Fixture: Schema.Struct<{
191
363
  readonly rootMetadata: Schema.optionalKey<Schema.Struct<{
192
364
  readonly uid: Schema.optionalKey<Schema.Natural>;
@@ -197,7 +369,7 @@ export declare const Fixture: Schema.Struct<{
197
369
  readonly ctimeNs: Schema.optionalKey<Schema.BigInt>;
198
370
  readonly birthtimeNs: Schema.optionalKey<Schema.BigInt>;
199
371
  }>>;
200
- readonly entries: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
372
+ readonly entries: Schema.$Array<Schema.toTaggedUnion<"kind", readonly [Schema.Struct<{
201
373
  readonly kind: Schema.Literal<"directory">;
202
374
  readonly path: Schema.Union<readonly [Schema.String, Schema.declare<BytePath, BytePath>]>;
203
375
  readonly metadata: Schema.optionalKey<Schema.Struct<{
@@ -243,48 +415,160 @@ export declare const Fixture: Schema.Struct<{
243
415
  }>;
244
416
  /** @internal */
245
417
  export type Fixture = typeof Fixture.Type;
418
+ interface Directory {
419
+ readonly kind: "directory";
420
+ readonly lineage: string | undefined;
421
+ parent: Directory | undefined;
422
+ readonly entries: Map<string, Node>;
423
+ metadata: Metadata;
424
+ revision: bigint;
425
+ objectReference: ObjectReference | undefined;
426
+ }
427
+ interface RegularFile {
428
+ readonly kind: "file";
429
+ readonly lineage: string | undefined;
430
+ data: Content.Content;
431
+ openCount: number;
432
+ metadata: Metadata;
433
+ revision: bigint;
434
+ objectReference: ObjectReference | undefined;
435
+ }
436
+ interface SymbolicLink {
437
+ readonly kind: "symlink";
438
+ readonly lineage: string | undefined;
439
+ readonly target: Uint8Array;
440
+ metadata: Metadata;
441
+ revision: bigint;
442
+ objectReference: ObjectReference | undefined;
443
+ }
444
+ type Node = Directory | RegularFile | SymbolicLink;
445
+ interface EngineState {
446
+ root: Directory;
447
+ retainedFiles: Map<bigint, RegularFile>;
448
+ revisionCounter: bigint;
449
+ nextInode: bigint;
450
+ entries: number;
451
+ usedBytes: bigint;
452
+ }
453
+ /** @internal */
454
+ export declare const captureLiveImage: (state: EngineState, identity: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">, limits: VolumeLimits) => Effect.Effect<Uint8Array<ArrayBuffer>, ImageError, never>;
246
455
  type VolumeSource = {
247
456
  readonly _tag: "Empty";
248
457
  } | {
249
458
  readonly _tag: "Snapshot";
250
459
  readonly image: Image.Document;
460
+ } | {
461
+ readonly _tag: "Live";
462
+ readonly document: LiveImage.Document;
251
463
  } | {
252
464
  readonly _tag: "Overlay";
253
465
  readonly base: Snapshot;
254
466
  readonly image: Image.Document;
255
467
  };
256
468
  /** @internal */
257
- export declare const makeVolume: (source: VolumeSource, options?: {
469
+ export declare const VolumeSource: {
470
+ readonly $is: <Tag extends "Empty" | "Live" | "Overlay" | "Snapshot">(tag: Tag) => (u: unknown) => u is Extract<{
471
+ readonly _tag: "Empty";
472
+ }, {
473
+ readonly _tag: Tag;
474
+ }> | Extract<{
475
+ readonly _tag: "Snapshot";
476
+ readonly image: Image.Document;
477
+ }, {
478
+ readonly _tag: Tag;
479
+ }> | Extract<{
480
+ readonly _tag: "Live";
481
+ readonly document: LiveImage.Document;
482
+ }, {
483
+ readonly _tag: Tag;
484
+ }> | Extract<{
485
+ readonly _tag: "Overlay";
486
+ readonly base: Snapshot;
487
+ readonly image: Image.Document;
488
+ }, {
489
+ readonly _tag: Tag;
490
+ }>;
491
+ readonly $match: {
492
+ <Cases extends { readonly [Tag in "Empty" | "Live" | "Overlay" | "Snapshot"]: (args: Extract<VolumeSource, {
493
+ readonly _tag: Tag;
494
+ }>) => any; }>(cases: Cases): (value: VolumeSource) => import("effect/Unify").Unify<ReturnType<Cases["Empty" | "Live" | "Overlay" | "Snapshot"]>>;
495
+ <Cases extends { readonly [Tag in "Empty" | "Live" | "Overlay" | "Snapshot"]: (args: Extract<VolumeSource, {
496
+ readonly _tag: Tag;
497
+ }>) => any; }>(value: VolumeSource, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Empty" | "Live" | "Overlay" | "Snapshot"]>>;
498
+ };
499
+ readonly Empty: Data.TaggedEnum.ConstructorFrom<{
500
+ readonly _tag: "Empty";
501
+ }, "_tag">;
502
+ readonly Live: Data.TaggedEnum.ConstructorFrom<{
503
+ readonly _tag: "Live";
504
+ readonly document: LiveImage.Document;
505
+ }, "_tag">;
506
+ readonly Overlay: Data.TaggedEnum.ConstructorFrom<{
507
+ readonly _tag: "Overlay";
508
+ readonly base: Snapshot;
509
+ readonly image: Image.Document;
510
+ }, "_tag">;
511
+ readonly Snapshot: Data.TaggedEnum.ConstructorFrom<{
512
+ readonly _tag: "Snapshot";
513
+ readonly image: Image.Document;
514
+ }, "_tag">;
515
+ };
516
+ type VolumeFor<S extends VolumeSource> = S extends {
517
+ readonly _tag: "Overlay";
518
+ } ? OverlayVolume : Volume;
519
+ /** @internal */
520
+ export declare const makeVolume: <S extends VolumeSource>(source: S, options?: {
521
+ readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
258
522
  readonly maxEntries?: number;
523
+ readonly maxPendingOperations?: number;
524
+ readonly maxWatchEvents?: number;
259
525
  readonly maxBytes?: ByteSize.ByteSize;
260
526
  readonly maxFileBytes?: ByteSize.ByteSize;
261
527
  readonly maxPathBytes?: ByteSize.ByteSize;
262
- } | undefined) => Effect.Effect<{
263
- _tag: "Volume";
264
- volume: Volume;
265
- } | {
266
- _tag: "Overlay";
267
- volume: OverlayVolume;
268
- }, ConfigurationError | ImageError, never>;
528
+ } | undefined, commitProvider?: CommitProvider<EngineState> | undefined, captureInitial?: ((state: EngineState, identity: VolumeIdentity, limits: VolumeLimits) => Effect.Effect<void, ImageError>) | undefined) => Effect.Effect<VolumeFor<S>, ConfigurationError | ImageError | import("effect/PlatformError").PlatformError, Crypto.Crypto>;
269
529
  /** @internal */
270
530
  export declare const make: (options?: {
531
+ readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
532
+ readonly maxEntries?: number;
533
+ readonly maxPendingOperations?: number;
534
+ readonly maxWatchEvents?: number;
535
+ readonly maxBytes?: ByteSize.ByteSize;
536
+ readonly maxFileBytes?: ByteSize.ByteSize;
537
+ readonly maxPathBytes?: ByteSize.ByteSize;
538
+ } | undefined) => Effect.Effect<Volume, ConfigurationError | import("effect/PlatformError").PlatformError, Crypto.Crypto>;
539
+ /** @internal */
540
+ export declare const prepareEmptyLiveImage: (options?: {
541
+ readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
271
542
  readonly maxEntries?: number;
543
+ readonly maxPendingOperations?: number;
544
+ readonly maxWatchEvents?: number;
272
545
  readonly maxBytes?: ByteSize.ByteSize;
273
546
  readonly maxFileBytes?: ByteSize.ByteSize;
274
547
  readonly maxPathBytes?: ByteSize.ByteSize;
275
- } | undefined) => Effect.Effect<Volume, ConfigurationError, never>;
548
+ } | undefined) => Effect.Effect<Uint8Array<ArrayBufferLike>, ConfigurationError | ImageError | import("effect/PlatformError").PlatformError, Crypto.Crypto>;
549
+ /** @internal */
550
+ export declare const openImageVolume: (image: Uint8Array<ArrayBufferLike>, maxImageBytes: ByteSize.ByteSize, commit: (image: Uint8Array) => Effect.Effect<"committed" | "rejected" | "unknown">) => Effect.Effect<Readonly<{
551
+ volume: Volume;
552
+ shutdown: Effect.Effect<void, never, never>;
553
+ }>, ConfigurationError | ImageError | import("effect/PlatformError").PlatformError, Crypto.Crypto>;
276
554
  /** @internal */
277
555
  export declare const fromSnapshot: (snapshot: Snapshot, options?: {
556
+ readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
278
557
  readonly maxEntries?: number;
558
+ readonly maxPendingOperations?: number;
559
+ readonly maxWatchEvents?: number;
279
560
  readonly maxBytes?: ByteSize.ByteSize;
280
561
  readonly maxFileBytes?: ByteSize.ByteSize;
281
562
  readonly maxPathBytes?: ByteSize.ByteSize;
282
- } | undefined) => Effect.Effect<Volume, ConfigurationError | ImageError, never>;
563
+ } | undefined) => Effect.Effect<Volume, ConfigurationError | ImageError | import("effect/PlatformError").PlatformError, Crypto.Crypto>;
283
564
  /** @internal */
284
565
  export declare const makeOverlay: (base: Snapshot, options?: {
566
+ readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
285
567
  readonly maxEntries?: number;
568
+ readonly maxPendingOperations?: number;
569
+ readonly maxWatchEvents?: number;
286
570
  readonly maxBytes?: ByteSize.ByteSize;
287
571
  readonly maxFileBytes?: ByteSize.ByteSize;
288
572
  readonly maxPathBytes?: ByteSize.ByteSize;
289
- } | undefined) => Effect.Effect<OverlayVolume, ConfigurationError | ImageError, never>;
573
+ } | undefined) => Effect.Effect<OverlayVolume, ConfigurationError | ImageError | import("effect/PlatformError").PlatformError, Crypto.Crypto>;
290
574
  //# sourceMappingURL=virtualFileSystem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"virtualFileSystem.d.ts","sourceRoot":"","sources":["../../src/internal/virtualFileSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"virtualFileSystem.d.ts","sourceRoot":"","sources":["../../src/internal/virtualFileSystem.ts"],"names":[],"mappings":"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"}