@effect-vfs/core 0.8.0 → 0.9.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 (41) hide show
  1. package/README.md +9 -0
  2. package/dist/Caller.d.ts +2 -0
  3. package/dist/Caller.d.ts.map +1 -1
  4. package/dist/Caller.js +3 -1
  5. package/dist/LiveVolume.d.ts +69 -1
  6. package/dist/LiveVolume.d.ts.map +1 -1
  7. package/dist/LiveVolume.js +80 -3
  8. package/dist/Search.d.ts.map +1 -1
  9. package/dist/Search.js +12 -4
  10. package/dist/VfsError.d.ts +3 -1
  11. package/dist/VfsError.d.ts.map +1 -1
  12. package/dist/VfsError.js +3 -1
  13. package/dist/VirtualFileSystem.d.ts +25 -1
  14. package/dist/VirtualFileSystem.d.ts.map +1 -1
  15. package/dist/VirtualFileSystem.js +10 -4
  16. package/dist/Watch.d.ts +18 -0
  17. package/dist/Watch.d.ts.map +1 -1
  18. package/dist/Watch.js +12 -0
  19. package/dist/internal/callerWatch.d.ts +32 -0
  20. package/dist/internal/callerWatch.d.ts.map +1 -0
  21. package/dist/internal/callerWatch.js +184 -0
  22. package/dist/internal/confinement.d.ts +16 -0
  23. package/dist/internal/confinement.d.ts.map +1 -0
  24. package/dist/internal/confinement.js +79 -0
  25. package/dist/internal/directoryEntries.d.ts +6 -0
  26. package/dist/internal/directoryEntries.d.ts.map +1 -0
  27. package/dist/internal/directoryEntries.js +79 -0
  28. package/dist/internal/fixture.js +1 -1
  29. package/dist/internal/path.js +2 -2
  30. package/dist/internal/resolution.d.ts +8 -4
  31. package/dist/internal/resolution.d.ts.map +1 -1
  32. package/dist/internal/resolution.js +68 -13
  33. package/dist/internal/tokenRegistry.d.ts +6 -0
  34. package/dist/internal/tokenRegistry.d.ts.map +1 -1
  35. package/dist/internal/tokenRegistry.js +21 -3
  36. package/dist/internal/virtualFileSystem.d.ts.map +1 -1
  37. package/dist/internal/virtualFileSystem.js +245 -80
  38. package/dist/internal/watchHub.d.ts +6 -2
  39. package/dist/internal/watchHub.d.ts.map +1 -1
  40. package/dist/internal/watchHub.js +31 -6
  41. package/package.json +5 -3
package/README.md CHANGED
@@ -77,6 +77,15 @@ callers default to umask `0o022`; the developer's `0o027` mask turns the request
77
77
  The root package exports `VirtualFileSystem` as a namespace. The equivalent direct module import is
78
78
  `import * as Vfs from "@effect-vfs/core/VirtualFileSystem"`.
79
79
 
80
+ ## Confine a caller to a directory
81
+
82
+ `caller.withRoot(path)` creates a scoped caller whose `/` is that directory. Absolute symlinks and `..` stay
83
+ inside the root. Renaming the root preserves access; deleting it permanently invalidates the caller.
84
+
85
+ Keep the caller's scope open and pass only the capabilities the consumer needs. Existing hard links can share
86
+ file contents across roots. See [Confine a workspace](../../apps/docs/app/content/guides/confined-workspaces.mdx)
87
+ for a complete example with Effect's `FileSystem` service and the confinement limits.
88
+
80
89
  ## Guides and reference
81
90
 
82
91
  - [Fixtures and snapshots](../../apps/docs/app/content/guides/fixtures-and-snapshots.mdx) covers seeded trees, codecs, and portable deltas.
package/dist/Caller.d.ts CHANGED
@@ -230,6 +230,7 @@ export type WalkOptions = typeof WalkOptions.Type;
230
230
  /**
231
231
  * Schema for the options of `remove`. `recursive` removes a directory and
232
232
  * everything under it; `force` succeeds when the target itself is missing.
233
+ * `expected` pins object identity at each coordinated removal stage. A replacement fails `VolumeBusy`.
233
234
  *
234
235
  * @category schemas
235
236
  * @since 0.6.0
@@ -237,6 +238,7 @@ export type WalkOptions = typeof WalkOptions.Type;
237
238
  export declare const RemoveOptions: Schema.Struct<{
238
239
  readonly recursive: Schema.optionalKey<Schema.Boolean>;
239
240
  readonly force: Schema.optionalKey<Schema.Boolean>;
241
+ readonly expected: Schema.optionalKey<Schema.suspend<Schema.declare<ObjectReference, ObjectReference>>>;
240
242
  }>;
241
243
  /**
242
244
  * Options of `remove`.
@@ -1 +1 @@
1
- {"version":3,"file":"Caller.d.ts","sourceRoot":"","sources":["../src/Caller.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,MAA8C,CAAA;AAE5E;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAA;AAEtC;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,MAAuD,CAAA;AAE9F;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAA;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ;;;;;EAKnB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;EAG5B,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;;;;;;EAMtB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;EAK3B,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;EAG1B,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;EAMhC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;EAKvB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW;;;;;EAKtB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa;;;EAGxB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;EAEzB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMzB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,kDAEjC,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc3B,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"Caller.d.ts","sourceRoot":"","sources":["../src/Caller.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,MAA8C,CAAA;AAE5E;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAA;AAEtC;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,MAAuD,CAAA;AAE9F;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAA;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ;;;;;EAKnB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;EAG5B,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;;;;;;EAMtB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;EAK3B,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;EAG1B,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;EAMhC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;EAKvB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW;;;;;EAKtB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa;;;;EAIxB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;EAEzB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMzB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,kDAEjC,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc3B,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA"}
package/dist/Caller.js CHANGED
@@ -130,13 +130,15 @@ export const WalkOptions = Schema.Struct({
130
130
  /**
131
131
  * Schema for the options of `remove`. `recursive` removes a directory and
132
132
  * everything under it; `force` succeeds when the target itself is missing.
133
+ * `expected` pins object identity at each coordinated removal stage. A replacement fails `VolumeBusy`.
133
134
  *
134
135
  * @category schemas
135
136
  * @since 0.6.0
136
137
  */
137
138
  export const RemoveOptions = Schema.Struct({
138
139
  recursive: Schema.optionalKey(Schema.Boolean),
139
- force: Schema.optionalKey(Schema.Boolean)
140
+ force: Schema.optionalKey(Schema.Boolean),
141
+ expected: Schema.optionalKey(Schema.suspend(() => ObjectReferenceSchema))
140
142
  });
141
143
  /**
142
144
  * Schema for the options of `symlink`.
@@ -8,8 +8,9 @@
8
8
  *
9
9
  * @since 0.4.0
10
10
  */
11
- import { Context, Effect } from "effect";
11
+ import { Context, Duration, Effect, Layer } from "effect";
12
12
  import * as ByteSize from "effect/ByteSize";
13
+ import type * as Cause from "effect/Cause";
13
14
  import type * as Crypto from "effect/Crypto";
14
15
  import type * as Scope from "effect/Scope";
15
16
  import { type ArgumentFailure, type StoreFailure, VfsError } from "./VfsError.js";
@@ -56,6 +57,73 @@ export interface Options {
56
57
  * @since 0.4.0
57
58
  */
58
59
  export declare const open: (options: Options) => Effect.Effect<Volume, VfsError, LiveImageStore | Scope.Scope | Crypto.Crypto>;
60
+ /**
61
+ * Scoped access to live volumes shared by canonical storage identity.
62
+ * Each `get` retains its volume until the borrowing scope closes. Keep that
63
+ * scope open until its callers and handles finish using the volume.
64
+ *
65
+ * @category models
66
+ * @since 0.9.0
67
+ */
68
+ export interface Registry<K, E = never> {
69
+ readonly get: (key: K) => Effect.Effect<Volume, E | VfsError | Cause.ExceededCapacityError, Scope.Scope>;
70
+ }
71
+ /**
72
+ * Store Layers are built independently for each acquired entry. The same volume
73
+ * configuration applies to every key. Keys use Effect's equality rules and must
74
+ * identify canonical storage locations; different aliases can create competing
75
+ * owners. Coordinate ownership across processes outside this registry.
76
+ *
77
+ * @category models
78
+ * @since 0.9.0
79
+ */
80
+ export interface RegistryOptions<K, E = never, R = never> {
81
+ readonly store: (key: K) => Layer.Layer<LiveImageStore, E, R>;
82
+ readonly volume: Options;
83
+ /** Positive integer entry limit. Omission means unlimited; idle entries count. */
84
+ readonly capacity?: number;
85
+ /** Retain unused entries for this duration. Omission releases them immediately. */
86
+ readonly idleTimeToLive?: Duration.Input;
87
+ }
88
+ /**
89
+ * Lazily share one live volume and its store per key through `RcMap`. Concurrent
90
+ * borrowers share acquisition. Reusing an idle entry avoids rebuilding its store
91
+ * and decoding its image, while retaining its memory and storage locks.
92
+ *
93
+ * The registry's owning scope must outlive all borrowers. Closing it shuts down
94
+ * every volume, including borrowed ones, before releasing their store Layers.
95
+ * Capacity exhaustion fails with `Cause.ExceededCapacityError`; it does not evict
96
+ * idle entries. Acquisition failures remain shared until the entry is released.
97
+ *
98
+ * Invalidation is intentionally unavailable: acquiring a replacement while an
99
+ * existing borrower remains would violate exclusive store ownership. Canonicalize
100
+ * keys before borrowing and use one registry for each set of backing stores.
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * import { LiveVolume } from "@effect-vfs/core"
105
+ * import { ByteSize, Effect, Layer } from "effect"
106
+ *
107
+ * declare const storeFor: (key: string) => Layer.Layer<LiveVolume.LiveImageStore>
108
+ *
109
+ * const program = Effect.gen(function*() {
110
+ * const registry = yield* LiveVolume.makeRegistry({
111
+ * store: storeFor,
112
+ * volume: { maxImageBytes: ByteSize.megabytes(1), volume: {} },
113
+ * capacity: 8,
114
+ * idleTimeToLive: "5 seconds"
115
+ * })
116
+ * return yield* Effect.scoped(Effect.gen(function*() {
117
+ * const volume = yield* registry.get("workspace")
118
+ * return yield* (yield* volume.caller()).readFile("/plan.md")
119
+ * }))
120
+ * })
121
+ * ```
122
+ *
123
+ * @category constructors
124
+ * @since 0.9.0
125
+ */
126
+ export declare const makeRegistry: <K, E, R>(options: RegistryOptions<K, E, R>) => Effect.Effect<Registry<K, E>, ArgumentFailure, R | Crypto.Crypto | Scope.Scope>;
59
127
  /**
60
128
  * A live volume and the shutdown action its storage adapter must run before
61
129
  * closing the underlying store.
@@ -1 +1 @@
1
- {"version":3,"file":"LiveVolume.d.ts","sourceRoot":"","sources":["../src/LiveVolume.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAI1C,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAErF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAA;;IAW9D,4EAA4E;0BACtD,gBAAgB;2BACf,CAAC,OAAO,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,GAAG,eAAe,CAAC;qBACxF,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;;AAZtE;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,mBAKG;CAAG;AAE1C;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAC/B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CACpD,MAAM,EACN,QAAQ,EACR,cAAc,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CA4C5C,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACvC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CACxE,UAAU,EACV,QAAQ,EACR,MAAM,CAAC,MAAM,CAKZ,CAAA;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,EAAE,CACtB,KAAK,EAAE,UAAU,EACjB,aAAa,EAAE,QAAQ,CAAC,QAAQ,EAChC,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAC3D,UAAU,CAAC,EAAE,gBAAgB,KAC1B,MAAM,CAAC,MAAM,CAChB,YAAY,EACZ,QAAQ,EACR,MAAM,CAAC,MAAM,CACU,CAAA"}
1
+ {"version":3,"file":"LiveVolume.d.ts","sourceRoot":"","sources":["../src/LiveVolume.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,OAAO,EAAY,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAyC,MAAM,QAAQ,CAAA;AAC1G,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAI1C,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAErF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAA;;IAW9D,4EAA4E;0BACtD,gBAAgB;2BACf,CAAC,OAAO,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,GAAG,eAAe,CAAC;qBACxF,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;;AAZtE;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,mBAKG;CAAG;AAE1C;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAC/B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CACpD,MAAM,EACN,QAAQ,EACR,cAAc,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CA4C5C,CAAA;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK;IACpC,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CACzG;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK;IACtD,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,mFAAmF;IACnF,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;CACzC;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CACtF,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EACd,eAAe,EACf,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAsD/B,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACvC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CACxE,UAAU,EACV,QAAQ,EACR,MAAM,CAAC,MAAM,CAKZ,CAAA;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,EAAE,CACtB,KAAK,EAAE,UAAU,EACjB,aAAa,EAAE,QAAQ,CAAC,QAAQ,EAChC,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAC3D,UAAU,CAAC,EAAE,gBAAgB,KAC1B,MAAM,CAAC,MAAM,CAChB,YAAY,EACZ,QAAQ,EACR,MAAM,CAAC,MAAM,CACU,CAAA"}
@@ -8,9 +8,9 @@
8
8
  *
9
9
  * @since 0.4.0
10
10
  */
11
- import { Context, Effect } from "effect";
11
+ import { Context, Deferred, Duration, Effect, Layer, MutableHashMap, Option, RcMap, Schema } from "effect";
12
12
  import * as ByteSize from "effect/ByteSize";
13
- import { argumentFailure, retargetFailure } from "./internal/errors.js";
13
+ import { argumentFailure, decodeConfiguration, retargetFailure } from "./internal/errors.js";
14
14
  import * as Model from "./internal/virtualFileSystem.js";
15
15
  import * as Limits from "./internal/volumeLimits.js";
16
16
  import { VfsError } from "./VfsError.js";
@@ -32,7 +32,7 @@ export class LiveImageStore extends Context.Service()("@effect-vfs/core/LiveImag
32
32
  * @category constructors
33
33
  * @since 0.4.0
34
34
  */
35
- export const open = Effect.fn("LiveVolume.open")(function* (options) {
35
+ export const open = Effect.fnUntraced(function* (options) {
36
36
  const store = yield* LiveImageStore;
37
37
  const { decoded, initial } = yield* Effect.gen(function* () {
38
38
  const decoded = yield* Effect.fromResult(Limits.configuration(options.volume, "LiveVolume.open"));
@@ -57,6 +57,83 @@ export const open = Effect.fn("LiveVolume.open")(function* (options) {
57
57
  }
58
58
  return volume;
59
59
  });
60
+ const RegistryCapacity = Schema.Int.check(Schema.isGreaterThanOrEqualTo(1));
61
+ /**
62
+ * Lazily share one live volume and its store per key through `RcMap`. Concurrent
63
+ * borrowers share acquisition. Reusing an idle entry avoids rebuilding its store
64
+ * and decoding its image, while retaining its memory and storage locks.
65
+ *
66
+ * The registry's owning scope must outlive all borrowers. Closing it shuts down
67
+ * every volume, including borrowed ones, before releasing their store Layers.
68
+ * Capacity exhaustion fails with `Cause.ExceededCapacityError`; it does not evict
69
+ * idle entries. Acquisition failures remain shared until the entry is released.
70
+ *
71
+ * Invalidation is intentionally unavailable: acquiring a replacement while an
72
+ * existing borrower remains would violate exclusive store ownership. Canonicalize
73
+ * keys before borrowing and use one registry for each set of backing stores.
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * import { LiveVolume } from "@effect-vfs/core"
78
+ * import { ByteSize, Effect, Layer } from "effect"
79
+ *
80
+ * declare const storeFor: (key: string) => Layer.Layer<LiveVolume.LiveImageStore>
81
+ *
82
+ * const program = Effect.gen(function*() {
83
+ * const registry = yield* LiveVolume.makeRegistry({
84
+ * store: storeFor,
85
+ * volume: { maxImageBytes: ByteSize.megabytes(1), volume: {} },
86
+ * capacity: 8,
87
+ * idleTimeToLive: "5 seconds"
88
+ * })
89
+ * return yield* Effect.scoped(Effect.gen(function*() {
90
+ * const volume = yield* registry.get("workspace")
91
+ * return yield* (yield* volume.caller()).readFile("/plan.md")
92
+ * }))
93
+ * })
94
+ * ```
95
+ *
96
+ * @category constructors
97
+ * @since 0.9.0
98
+ */
99
+ export const makeRegistry = Effect.fnUntraced(function* (options) {
100
+ const capacity = options.capacity === undefined
101
+ ? Infinity
102
+ : yield* Effect.fromResult(decodeConfiguration(RegistryCapacity, options.capacity, "LiveVolume.makeRegistry")).pipe(Effect.mapError((cause) => argumentFailure("LiveVolume.makeRegistry", "capacity", cause)));
103
+ const idleTimeToLive = Duration.fromInput(options.idleTimeToLive ?? 0);
104
+ if (Option.isNone(idleTimeToLive))
105
+ return yield* argumentFailure("LiveVolume.makeRegistry", "idleTimeToLive");
106
+ const store = options.store;
107
+ const volume = { maxImageBytes: options.volume.maxImageBytes, volume: { ...options.volume.volume } };
108
+ const retiring = MutableHashMap.empty();
109
+ const volumes = yield* RcMap.make({
110
+ lookup: Effect.fnUntraced(function* (key) {
111
+ // RcMap removes an entry before its asynchronous finalizers finish. Keep
112
+ // equal keys waiting until both the volume and its store have shut down.
113
+ yield* Effect.uninterruptibleMask((restore) => Effect.gen(function* () {
114
+ let previous = MutableHashMap.get(retiring, key);
115
+ while (Option.isSome(previous)) {
116
+ yield* restore(Deferred.await(previous.value));
117
+ previous = MutableHashMap.get(retiring, key);
118
+ }
119
+ const released = yield* Deferred.make();
120
+ MutableHashMap.set(retiring, key, released);
121
+ // Registered first, this runs after the store and volume finalizers.
122
+ yield* Effect.addFinalizer(() => Effect.gen(function* () {
123
+ MutableHashMap.remove(retiring, key);
124
+ yield* Deferred.succeed(released, undefined);
125
+ }));
126
+ }));
127
+ // A parent Layer memo must not keep a retired store alive or share its
128
+ // mutable ownership state with a different volume entry.
129
+ const services = yield* Layer.build(Layer.fresh(store(key)));
130
+ return yield* open(volume).pipe(Effect.provideService(LiveImageStore, Context.get(services, LiveImageStore)));
131
+ }),
132
+ capacity,
133
+ idleTimeToLive: idleTimeToLive.value
134
+ });
135
+ return { get: (key) => RcMap.get(volumes, key) };
136
+ });
60
137
  /**
61
138
  * Construct a versioned image for a new, empty volume.
62
139
  * Store this image before opening it for mutation.
@@ -1 +1 @@
1
- {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../src/Search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../src/Search.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAKxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,IAAI,4DAAoD,CAAA;AAErE;;;;;GAKG;AACH,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAA;AAoBnC;;;;;GAKG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;EAA6B,CAAA;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;EAgBzB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,4RAgBhB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAErC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,EAAE,MAgB1B,CAAA;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;EAMpB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;;;;;EAMf,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAA;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,KAAK;;;;;;EAMhB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAErC;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU;;;IAGrB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;EAMrB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;;;;;;;AAE/C;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,iBAKhC;CAAG;;;;;AAEL;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,mBAGlC;CAAG;AAEL;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAA;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,cAAc,CAAA;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,OAAO;;;;;;;EAelB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOvB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;;EAAgE,CAAA;AAEvF;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO;;;;EAA2F,CAAA;AAE/G;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;EAKrB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;;;EAGtB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMtB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;EAMtB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;EAM3B,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAA;AAEpE;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,cAAc,CAAA;AA4ChE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,QAAQ,aAAc,QAAQ,SAAS,SAAS,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAWlG,CAAA;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAwBjG,CAAA;AA+CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,SAAS,aAAc,QAAQ,SAAS,YAAY,KAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,kBAAkB,CACzE,CAAA;AAEvC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAGtG,CAAA;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,aAAc,QAAQ,SAAS,YAAY,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CACrE,CAAA;AAEvC;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAGtG,CAAA;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,aACf,QAAQ,SACX,YAAY,KAClB,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAA+C,CAAA;AAE/F;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,EAAE,CACvB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,YAAY,KAChB,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAIlD,CAAA"}
package/dist/Search.js CHANGED
@@ -437,7 +437,7 @@ export const scanGlob = (snapshot, query) => Stream.unwrap(Effect.map(evaluate(s
437
437
  * @category operations
438
438
  * @since 0.8.0
439
439
  */
440
- export const glob = Effect.fn("Search.glob")(function* (snapshot, query) {
440
+ export const glob = Effect.fnUntraced(function* (snapshot, query) {
441
441
  const evaluation = yield* evaluate(snapshot, query);
442
442
  const results = [];
443
443
  const completion = yield* Effect.gen(function* () {
@@ -525,7 +525,10 @@ export const scanLines = (snapshot, query) => scanContent(snapshot, query, "line
525
525
  * @category operations
526
526
  * @since 0.8.0
527
527
  */
528
- export const lines = Effect.fn("Search.lines")((snapshot, query) => collectContent(snapshot, query, "lines"));
528
+ export const lines = Effect
529
+ .fnUntraced(function* (snapshot, query) {
530
+ return yield* collectContent(snapshot, query, "lines");
531
+ });
529
532
  /**
530
533
  * Stream one root-relative filename per matching regular-file path. Classify
531
534
  * the complete file before testing lines and stop matching after the first hit.
@@ -545,7 +548,10 @@ export const scanFiles = (snapshot, query) => scanContent(snapshot, query, "file
545
548
  * @category operations
546
549
  * @since 0.8.0
547
550
  */
548
- export const files = Effect.fn("Search.files")((snapshot, query) => collectContent(snapshot, query, "files"));
551
+ export const files = Effect
552
+ .fnUntraced(function* (snapshot, query) {
553
+ return yield* collectContent(snapshot, query, "files");
554
+ });
549
555
  /**
550
556
  * Stream exact matching-line counts for completely scanned matching files.
551
557
  * Multiple occurrences on one line count once. A stopped file emits no partial
@@ -565,4 +571,6 @@ export const scanCountLines = (snapshot, query) => scanContent(snapshot, query,
565
571
  * @category operations
566
572
  * @since 0.8.0
567
573
  */
568
- export const countLines = Effect.fn("Search.countLines")((snapshot, query) => collectContent(snapshot, query, "countLines"));
574
+ export const countLines = Effect.fnUntraced(function* (snapshot, query) {
575
+ return yield* collectContent(snapshot, query, "countLines");
576
+ });
@@ -1,9 +1,11 @@
1
1
  /**
2
- * The one error family of `@effect-vfs/core`. Every failure a volume, caller,
2
+ * Filesystem and configuration errors for `@effect-vfs/core`. Every failure a volume, caller,
3
3
  * handle, snapshot codec, delta codec, or live store reports is a `VfsError`
4
4
  * whose `code` says what went wrong, whose `operation` names the verb or
5
5
  * constructor, and which may name the offending option `field`, the `path`
6
6
  * it was addressing, and the underlying `cause` it classifies.
7
+ * Live-volume registry capacity additionally reports Effect's native
8
+ * `Cause.ExceededCapacityError`.
7
9
  *
8
10
  * @since 0.6.0
9
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"VfsError.d.ts","sourceRoot":"","sources":["../src/VfsError.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAM7C;;;;;GAKG;AACH,eAAO,MAAM,MAAM,4bA+BjB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,SAAS,0GAAkG,CAAA;AAExH;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,SAAS,4CAAoC,CAAA;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,SAAS,yFAAiF,CAAA;AAEvG;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,OAAO,ulBAKlB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,gGAUrB,CAAA;;IA2BC,uBAAuB;;IAEvB,2CAA2C;;IAE3C,wEAAwE;;IAExE,gEAAgE;;IAEhE,qEAAqE;;;AAjCvE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,QAAS,SAAQ,aAW5B;IACA,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;AAED;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5D;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAElE;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAElE;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAA;AAE7E;;;;;;GAMG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,OAAO;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IAChB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,KAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAYtF,CAAA"}
1
+ {"version":3,"file":"VfsError.d.ts","sourceRoot":"","sources":["../src/VfsError.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAM7C;;;;;GAKG;AACH,eAAO,MAAM,MAAM,4bA+BjB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,SAAS,0GAAkG,CAAA;AAExH;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,SAAS,4CAAoC,CAAA;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,SAAS,yFAAiF,CAAA;AAEvG;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,OAAO,ulBAKlB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,gGAUrB,CAAA;;IA2BC,uBAAuB;;IAEvB,2CAA2C;;IAE3C,wEAAwE;;IAExE,gEAAgE;;IAEhE,qEAAqE;;;AAjCvE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,QAAS,SAAQ,aAW5B;IACA,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;AAED;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5D;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAElE;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAElE;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAA;AAE7E;;;;;;GAMG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,OAAO;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IAChB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,KAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAYtF,CAAA"}
package/dist/VfsError.js CHANGED
@@ -1,9 +1,11 @@
1
1
  /**
2
- * The one error family of `@effect-vfs/core`. Every failure a volume, caller,
2
+ * Filesystem and configuration errors for `@effect-vfs/core`. Every failure a volume, caller,
3
3
  * handle, snapshot codec, delta codec, or live store reports is a `VfsError`
4
4
  * whose `code` says what went wrong, whose `operation` names the verb or
5
5
  * constructor, and which may name the offending option `field`, the `path`
6
6
  * it was addressing, and the underlying `cause` it classifies.
7
+ * Live-volume registry capacity additionally reports Effect's native
8
+ * `Cause.ExceededCapacityError`.
7
9
  *
8
10
  * @since 0.6.0
9
11
  */
@@ -1008,7 +1008,19 @@ export interface FileHandle {
1008
1008
  */
1009
1009
  export interface Caller {
1010
1010
  readonly [CallerId]: true;
1011
- /** The reference of the volume's root directory. */
1011
+ /** Backing volume configuration; these are not subtree quotas. */
1012
+ readonly limits: VolumeLimits;
1013
+ /** Watches current authorized names, rebasing events when each change commits. */
1014
+ readonly watch: (target: TargetInput, options?: WatchModule.CallerWatchOptions) => Effect.Effect<Stream.Stream<Change, FsFailure>, FsFailure, Scope.Scope>;
1015
+ /**
1016
+ * Narrows authority to a directory identity and resets the working directory. Absolute paths and symbolic
1017
+ * links start at this root; `..` stops here. Nested roots retain their ancestor boundaries. References and
1018
+ * direct handles check current membership on every use, including privileged callers. Root rename preserves
1019
+ * authority; deletion permanently invalidates it. Existing hard links can share contents across roots.
1020
+ * Independently scoped descendants and handles retain their own lifetime when their creator closes.
1021
+ */
1022
+ readonly withRoot: (directory: TargetInput) => Effect.Effect<Caller, FsFailure, Scope.Scope>;
1023
+ /** The reference of the caller's visible root directory. */
1012
1024
  readonly root: Effect.Effect<ObjectReference, FsFailure>;
1013
1025
  /** The reference of a child of a directory, without following it. */
1014
1026
  readonly lookup: (entry: EntryInput) => Effect.Effect<ObjectReference, FsFailure>;
@@ -1201,6 +1213,18 @@ export declare const WatchOptions: typeof WatchModule.WatchOptions;
1201
1213
  * @since 0.6.0
1202
1214
  */
1203
1215
  export type WatchOptions = typeof WatchOptions.Type;
1216
+ /**
1217
+ * Caller watch publication and alias options.
1218
+ * @category schemas
1219
+ * @since 0.9.0
1220
+ */
1221
+ export declare const CallerWatchOptions: typeof WatchModule.CallerWatchOptions;
1222
+ /**
1223
+ * Options for a caller watch.
1224
+ * @category models
1225
+ * @since 0.9.0
1226
+ */
1227
+ export type CallerWatchOptions = typeof CallerWatchOptions.Type;
1204
1228
  /**
1205
1229
  * Schema for the filesystem entry kinds reported by overlay summaries.
1206
1230
  *
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualFileSystem.d.ts","sourceRoot":"","sources":["../src/VirtualFileSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VirtualFileSystem.d.ts","sourceRoot":"","sources":["../src/VirtualFileSystem.ts"],"names":[],"mappings":"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"}
@@ -573,6 +573,12 @@ export const Change = WatchModule.Change;
573
573
  * @since 0.6.0
574
574
  */
575
575
  export const WatchOptions = WatchModule.WatchOptions;
576
+ /**
577
+ * Caller watch publication and alias options.
578
+ * @category schemas
579
+ * @since 0.9.0
580
+ */
581
+ export const CallerWatchOptions = WatchModule.CallerWatchOptions;
576
582
  /**
577
583
  * Schema for the filesystem entry kinds reported by overlay summaries.
578
584
  *
@@ -896,7 +902,7 @@ const deltaLimits = (operation, limits) => Effect.fromResult(decodeConfiguration
896
902
  * @category snapshots
897
903
  * @since 0.1.0
898
904
  */
899
- export const diffSnapshots = Effect.fn("VirtualFileSystem.diffSnapshots")(function* (base, target, limits) {
905
+ export const diffSnapshots = Effect.fnUntraced(function* (base, target, limits) {
900
906
  // The delta codec fails under its own name; the public entry point names itself.
901
907
  return yield* SnapshotDeltaInternal.diffSnapshots(base, target, yield* deltaLimits("diffSnapshots", limits)).pipe(Effect.mapError((error) => retargetFailure("diffSnapshots", error)));
902
908
  });
@@ -935,7 +941,7 @@ export const diffSnapshots = Effect.fn("VirtualFileSystem.diffSnapshots")(functi
935
941
  * @category snapshots
936
942
  * @since 0.1.0
937
943
  */
938
- export const inspectSnapshotDelta = Effect.fn("VirtualFileSystem.inspectSnapshotDelta")(function* (base, delta, options, limits) {
944
+ export const inspectSnapshotDelta = Effect.fnUntraced(function* (base, delta, options, limits) {
939
945
  const decoded = yield* Effect.fromResult(decodeConfiguration(SnapshotDeltaModel.SnapshotChangesOptions, options ?? {}, "inspectSnapshotDelta"));
940
946
  return yield* SnapshotDeltaInternal.inspectSnapshotDelta(base, delta, decoded, yield* deltaLimits("inspectSnapshotDelta", limits)).pipe(Effect.mapError((error) => retargetFailure("inspectSnapshotDelta", error)));
941
947
  });
@@ -979,7 +985,7 @@ export const inspectSnapshotDelta = Effect.fn("VirtualFileSystem.inspectSnapshot
979
985
  * @category snapshots
980
986
  * @since 0.1.0
981
987
  */
982
- export const applySnapshotDelta = Effect.fn("VirtualFileSystem.applySnapshotDelta")(function* (base, delta, limits) {
988
+ export const applySnapshotDelta = Effect.fnUntraced(function* (base, delta, limits) {
983
989
  return yield* SnapshotDeltaInternal.applySnapshotDelta(base, delta, yield* deltaLimits("applySnapshotDelta", limits)).pipe(Effect.mapError((error) => retargetFailure("applySnapshotDelta", error)));
984
990
  });
985
991
  /**
@@ -1033,7 +1039,7 @@ export const applySnapshotDelta = Effect.fn("VirtualFileSystem.applySnapshotDelt
1033
1039
  * @category snapshots
1034
1040
  * @since 0.8.0
1035
1041
  */
1036
- export const mergeSnapshotDeltas = Effect.fn("VirtualFileSystem.mergeSnapshotDeltas")(function* (base, ours, theirs, options) {
1042
+ export const mergeSnapshotDeltas = Effect.fnUntraced(function* (base, ours, theirs, options) {
1037
1043
  // Limits decode first so a bad limit names its own field; the rest of the options decode as one.
1038
1044
  const limits = yield* deltaLimits("mergeSnapshotDeltas", options?.limits);
1039
1045
  const decoded = yield* Effect.fromResult(decodeConfiguration(SnapshotDeltaModel.MergeOptions, options ?? {}, "mergeSnapshotDeltas"));
package/dist/Watch.d.ts CHANGED
@@ -65,4 +65,22 @@ export declare const WatchOptions: Schema.Struct<{
65
65
  * @since 0.6.0
66
66
  */
67
67
  export type WatchOptions = typeof WatchOptions.Type;
68
+ /**
69
+ * Options for a caller watch. `resolved` follows the selected path alias
70
+ * through rename and ends when that name is unlinked. `all` reports every
71
+ * currently authorized alias of the object.
72
+ *
73
+ * @category schemas
74
+ * @since 0.9.0
75
+ */
76
+ export declare const CallerWatchOptions: Schema.Struct<{
77
+ readonly recursive: Schema.optionalKey<Schema.Boolean>;
78
+ readonly alias: Schema.optionalKey<Schema.Literals<readonly ["all", "resolved"]>>;
79
+ }>;
80
+ /**
81
+ * Options for a caller watch.
82
+ * @category models
83
+ * @since 0.9.0
84
+ */
85
+ export type CallerWatchOptions = typeof CallerWatchOptions.Type;
68
86
  //# sourceMappingURL=Watch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Watch.d.ts","sourceRoot":"","sources":["../src/Watch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;EAKjB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;AAEvC;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,YAAY;;;EAIvB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"Watch.d.ts","sourceRoot":"","sources":["../src/Watch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;EAKjB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;AAEvC;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,YAAY;;;EAIvB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB;;;EAG7B,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA"}
package/dist/Watch.js CHANGED
@@ -44,3 +44,15 @@ export const WatchOptions = Schema.Struct({
44
44
  scope: Schema.optionalKey(ObjectReferenceSchema),
45
45
  recursive: Schema.optionalKey(Schema.Boolean)
46
46
  });
47
+ /**
48
+ * Options for a caller watch. `resolved` follows the selected path alias
49
+ * through rename and ends when that name is unlinked. `all` reports every
50
+ * currently authorized alias of the object.
51
+ *
52
+ * @category schemas
53
+ * @since 0.9.0
54
+ */
55
+ export const CallerWatchOptions = Schema.Struct({
56
+ recursive: Schema.optionalKey(Schema.Boolean),
57
+ alias: Schema.optionalKey(Schema.Literals(["all", "resolved"]))
58
+ });
@@ -0,0 +1,32 @@
1
+ import type { FsFailure } from "../VfsError.js";
2
+ import { Change } from "../Watch.js";
3
+ import { type Ino, type Link, type VolumeState } from "./volumeState.js";
4
+ import type { Selection } from "./watchHub.js";
5
+ /** @internal */
6
+ export interface WatchEvent {
7
+ readonly change: Change;
8
+ readonly parent: Ino;
9
+ readonly ino: Ino;
10
+ readonly name?: string;
11
+ }
12
+ /** @internal */
13
+ export interface Rename {
14
+ readonly ino: Ino;
15
+ readonly from: Link;
16
+ readonly to: Link;
17
+ }
18
+ /** @internal */
19
+ export interface Installation {
20
+ readonly before: VolumeState;
21
+ readonly after: VolumeState;
22
+ readonly renames?: ReadonlyArray<Rename>;
23
+ }
24
+ /** Select and rebase names while publication holds both installed namespace states. @internal */
25
+ export declare const make: (options: {
26
+ readonly roots: ReadonlyArray<Ino>;
27
+ readonly additionalRoots?: ReadonlyArray<ReadonlyArray<Ino>>;
28
+ readonly target: Ino;
29
+ readonly recursive: boolean;
30
+ readonly selected?: Link;
31
+ }) => Selection<WatchEvent, Installation, FsFailure>;
32
+ //# sourceMappingURL=callerWatch.d.ts.map