@effect-vfs/core 0.5.0 → 0.7.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 (130) hide show
  1. package/README.md +29 -21
  2. package/dist/BytePath.d.ts +115 -4
  3. package/dist/BytePath.d.ts.map +1 -1
  4. package/dist/BytePath.js +155 -0
  5. package/dist/Caller.d.ts +391 -0
  6. package/dist/Caller.d.ts.map +1 -0
  7. package/dist/Caller.js +199 -0
  8. package/dist/FileHandle.d.ts +50 -0
  9. package/dist/FileHandle.d.ts.map +1 -0
  10. package/dist/FileHandle.js +28 -0
  11. package/dist/Fixture.d.ts +155 -0
  12. package/dist/Fixture.d.ts.map +1 -0
  13. package/dist/Fixture.js +65 -0
  14. package/dist/LiveVolume.d.ts +13 -20
  15. package/dist/LiveVolume.d.ts.map +1 -1
  16. package/dist/LiveVolume.js +19 -14
  17. package/dist/Metadata.d.ts +186 -0
  18. package/dist/Metadata.d.ts.map +1 -0
  19. package/dist/Metadata.js +125 -0
  20. package/dist/Snapshot.d.ts +32 -53
  21. package/dist/Snapshot.d.ts.map +1 -1
  22. package/dist/Snapshot.js +27 -49
  23. package/dist/SnapshotDelta.d.ts +24 -39
  24. package/dist/SnapshotDelta.d.ts.map +1 -1
  25. package/dist/SnapshotDelta.js +14 -35
  26. package/dist/Target.d.ts +225 -0
  27. package/dist/Target.d.ts.map +1 -0
  28. package/dist/Target.js +92 -0
  29. package/dist/Testing.d.ts +132 -0
  30. package/dist/Testing.d.ts.map +1 -0
  31. package/dist/Testing.js +100 -0
  32. package/dist/VfsError.d.ts +200 -0
  33. package/dist/VfsError.d.ts.map +1 -0
  34. package/dist/VfsError.js +165 -0
  35. package/dist/VirtualFileSystem.d.ts +676 -353
  36. package/dist/VirtualFileSystem.d.ts.map +1 -1
  37. package/dist/VirtualFileSystem.js +487 -121
  38. package/dist/Volume.d.ts +211 -0
  39. package/dist/Volume.d.ts.map +1 -0
  40. package/dist/Volume.js +172 -0
  41. package/dist/Watch.d.ts +68 -0
  42. package/dist/Watch.d.ts.map +1 -0
  43. package/dist/Watch.js +46 -0
  44. package/dist/index.d.ts +56 -1
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +56 -1
  47. package/dist/internal/budget.d.ts +90 -0
  48. package/dist/internal/budget.d.ts.map +1 -0
  49. package/dist/internal/budget.js +70 -0
  50. package/dist/internal/bytePath.d.ts +2 -0
  51. package/dist/internal/bytePath.d.ts.map +1 -1
  52. package/dist/internal/bytePath.js +3 -2
  53. package/dist/internal/bytes.d.ts +3 -0
  54. package/dist/internal/bytes.d.ts.map +1 -1
  55. package/dist/internal/bytes.js +4 -2
  56. package/dist/internal/canonicalBase64.d.ts +1 -4
  57. package/dist/internal/canonicalBase64.d.ts.map +1 -1
  58. package/dist/internal/canonicalBase64.js +9 -13
  59. package/dist/internal/errors.d.ts +47 -5
  60. package/dist/internal/errors.d.ts.map +1 -1
  61. package/dist/internal/errors.js +80 -36
  62. package/dist/internal/fixture.d.ts +2 -2
  63. package/dist/internal/fixture.d.ts.map +1 -1
  64. package/dist/internal/fixture.js +57 -74
  65. package/dist/internal/hex128.d.ts +12 -0
  66. package/dist/internal/hex128.d.ts.map +1 -0
  67. package/dist/internal/hex128.js +7 -0
  68. package/dist/internal/hmac.d.ts +5 -0
  69. package/dist/internal/hmac.d.ts.map +1 -0
  70. package/dist/internal/hmac.js +150 -0
  71. package/dist/internal/image.d.ts +14 -117
  72. package/dist/internal/image.d.ts.map +1 -1
  73. package/dist/internal/image.js +137 -167
  74. package/dist/internal/inodeTable.d.ts +20 -0
  75. package/dist/internal/inodeTable.d.ts.map +1 -0
  76. package/dist/internal/inodeTable.js +48 -0
  77. package/dist/internal/lines.d.ts +36 -0
  78. package/dist/internal/lines.d.ts.map +1 -0
  79. package/dist/internal/lines.js +115 -0
  80. package/dist/internal/liveImage.d.ts +19 -278
  81. package/dist/internal/liveImage.d.ts.map +1 -1
  82. package/dist/internal/liveImage.js +75 -166
  83. package/dist/internal/merkle.d.ts +45 -0
  84. package/dist/internal/merkle.d.ts.map +1 -0
  85. package/dist/internal/merkle.js +179 -0
  86. package/dist/internal/metadata.d.ts +2 -13
  87. package/dist/internal/metadata.d.ts.map +1 -1
  88. package/dist/internal/metadata.js +5 -15
  89. package/dist/internal/overlayDiff.d.ts +2 -2
  90. package/dist/internal/overlayDiff.d.ts.map +1 -1
  91. package/dist/internal/overlayDiff.js +4 -15
  92. package/dist/internal/path.d.ts +17 -5
  93. package/dist/internal/path.d.ts.map +1 -1
  94. package/dist/internal/path.js +38 -24
  95. package/dist/internal/snapshotDelta.d.ts +61 -60
  96. package/dist/internal/snapshotDelta.d.ts.map +1 -1
  97. package/dist/internal/snapshotDelta.js +605 -503
  98. package/dist/internal/snapshotDeltaModel.d.ts.map +1 -1
  99. package/dist/internal/snapshotDeltaModel.js +0 -1
  100. package/dist/internal/testSeams.d.ts +17 -0
  101. package/dist/internal/testSeams.d.ts.map +1 -0
  102. package/dist/internal/testSeams.js +20 -0
  103. package/dist/internal/tree.d.ts +225 -0
  104. package/dist/internal/tree.d.ts.map +1 -0
  105. package/dist/internal/tree.js +385 -0
  106. package/dist/internal/turnstile.d.ts +8 -0
  107. package/dist/internal/turnstile.d.ts.map +1 -0
  108. package/dist/internal/turnstile.js +43 -0
  109. package/dist/internal/virtualFileSystem.d.ts +44 -488
  110. package/dist/internal/virtualFileSystem.d.ts.map +1 -1
  111. package/dist/internal/virtualFileSystem.js +2111 -2466
  112. package/dist/internal/volumeState.d.ts +111 -0
  113. package/dist/internal/volumeState.d.ts.map +1 -0
  114. package/dist/internal/volumeState.js +202 -0
  115. package/dist/internal/watchHub.d.ts +15 -6
  116. package/dist/internal/watchHub.d.ts.map +1 -1
  117. package/dist/internal/watchHub.js +56 -42
  118. package/package.json +54 -10
  119. package/dist/VirtualFileSystemError.d.ts +0 -54
  120. package/dist/VirtualFileSystemError.d.ts.map +0 -1
  121. package/dist/VirtualFileSystemError.js +0 -49
  122. package/dist/internal/overlayContent.d.ts +0 -15
  123. package/dist/internal/overlayContent.d.ts.map +0 -1
  124. package/dist/internal/overlayContent.js +0 -29
  125. package/dist/internal/stagedState.d.ts +0 -22
  126. package/dist/internal/stagedState.d.ts.map +0 -1
  127. package/dist/internal/stagedState.js +0 -62
  128. package/dist/internal/testHooks.d.ts +0 -20
  129. package/dist/internal/testHooks.d.ts.map +0 -1
  130. package/dist/internal/testHooks.js +0 -23
@@ -2,522 +2,66 @@ import * as ByteSize from "effect/ByteSize";
2
2
  import * as Crypto from "effect/Crypto";
3
3
  import * as Data from "effect/Data";
4
4
  import * as Effect from "effect/Effect";
5
- import * as Order from "effect/Order";
6
- import * as Schema from "effect/Schema";
7
- import { BytePath } from "../BytePath.js";
8
- import { ImageError, type Snapshot } from "../Snapshot.js";
9
- import type { ObjectReference, OverlayVolume, RelativeOptions, Volume, VolumeLimits } from "../VirtualFileSystem.js";
10
- import { ConfigurationError, FsCode as FsCodeSchema, FsError } from "./errors.js";
11
- import * as Image from "./image.js";
5
+ import type { Snapshot } from "../Snapshot.js";
6
+ import { type FsFailure, type ImageFailure } from "../VfsError.js";
7
+ import type { OverlayVolume, Volume, VolumeLimits } from "../VirtualFileSystem.js";
12
8
  import * as LiveImage from "./liveImage.js";
13
- import * as Content from "./overlayContent.js";
14
- import { type CommitProvider } from "./stagedState.js";
15
- /** @internal */
16
- export declare const VolumeId: unique symbol;
17
- /** @internal */
18
- export declare const CallerId: unique symbol;
19
- /** @internal */
20
- export declare const FileHandleId: unique symbol;
21
- /** @internal */
22
- export declare const DirectoryHandleId: unique symbol;
23
- /** @internal */
24
- export declare const ObjectReferenceId: unique symbol;
25
- /** @internal */
26
- export { ConfigurationError, FsCodeSchema as FsCode, FsError };
27
- /** @internal */
28
- export declare const Identity: Schema.Struct<{
29
- readonly uid: Schema.Natural;
30
- readonly gid: Schema.Natural;
31
- readonly groups: Schema.$Array<Schema.Natural>;
32
- readonly privileged: Schema.Boolean;
33
- }>;
34
- /** @internal */
35
- export type Identity = typeof Identity.Type;
36
- /** @internal */
37
- export declare const RootCallerOptions: Schema.Struct<{
38
- readonly identity: Schema.optionalKey<Schema.Struct<{
39
- readonly uid: Schema.Natural;
40
- readonly gid: Schema.Natural;
41
- readonly groups: Schema.$Array<Schema.Natural>;
42
- readonly privileged: Schema.Boolean;
43
- }>>;
44
- readonly umask: Schema.optionalKey<Schema.Natural>;
45
- }>;
46
- /** @internal */
47
- export type RootCallerOptions = typeof RootCallerOptions.Type;
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 */
65
- export declare const VolumeOptions: Schema.Struct<{
66
- readonly identity: Schema.optionalKey<Schema.brand<Schema.String, "@effect-vfs/core/VolumeIdentity">>;
67
- readonly maxEntries: Schema.optionalKey<Schema.Natural>;
68
- readonly maxPendingOperations: Schema.optionalKey<Schema.Int>;
69
- readonly maxWatchEvents: Schema.optionalKey<Schema.Int>;
70
- readonly maxBytes: Schema.optionalKey<Schema.ByteSize>;
71
- readonly maxFileBytes: Schema.optionalKey<Schema.ByteSize>;
72
- readonly maxPathBytes: Schema.optionalKey<Schema.ByteSize>;
73
- }>;
74
- /** @internal */
75
- export type VolumeOptions = typeof VolumeOptions.Type;
76
- /** @internal */
77
- export declare const Metadata: Schema.Struct<{
78
- readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
79
- readonly ino: Schema.BigInt;
80
- readonly nlink: Schema.Natural;
81
- readonly size: Schema.BigInt;
82
- readonly uid: Schema.Natural;
83
- readonly gid: Schema.Natural;
84
- readonly mode: Schema.Natural;
85
- readonly atimeNs: Schema.BigInt;
86
- readonly mtimeNs: Schema.BigInt;
87
- readonly ctimeNs: Schema.BigInt;
88
- readonly birthtimeNs: Schema.BigInt;
89
- }>;
90
- /** @internal */
91
- export type Metadata = typeof Metadata.Type;
92
- /** @internal */
93
- export declare const OwnerUpdate: Schema.Struct<{
94
- readonly uid: Schema.optionalKey<Schema.Natural>;
95
- readonly gid: Schema.optionalKey<Schema.Natural>;
96
- }>;
97
- /** @internal */
98
- export type OwnerUpdate = typeof OwnerUpdate.Type;
99
- /** @internal */
100
- export declare const TimeUpdate: Schema.Union<readonly [Schema.Struct<{
101
- readonly kind: Schema.Literal<"now">;
102
- }>, Schema.Struct<{
103
- readonly kind: Schema.Literal<"omit">;
104
- }>, Schema.Struct<{
105
- readonly kind: Schema.Literal<"value">;
106
- readonly nanoseconds: Schema.BigInt;
107
- }>]>;
108
- /** @internal */
109
- export declare const Times: Schema.Struct<{
110
- readonly access: Schema.Union<readonly [Schema.Struct<{
111
- readonly kind: Schema.Literal<"now">;
112
- }>, Schema.Struct<{
113
- readonly kind: Schema.Literal<"omit">;
114
- }>, Schema.Struct<{
115
- readonly kind: Schema.Literal<"value">;
116
- readonly nanoseconds: Schema.BigInt;
117
- }>]>;
118
- readonly modification: Schema.Union<readonly [Schema.Struct<{
119
- readonly kind: Schema.Literal<"now">;
120
- }>, Schema.Struct<{
121
- readonly kind: Schema.Literal<"omit">;
122
- }>, Schema.Struct<{
123
- readonly kind: Schema.Literal<"value">;
124
- readonly nanoseconds: Schema.BigInt;
125
- }>]>;
126
- }>;
127
- /** @internal */
128
- export type Times = typeof Times.Type;
129
- /** @internal */
130
- export declare const SeekMode: Schema.Literals<readonly ["start", "current", "end", "data", "hole"]>;
131
- /** @internal */
132
- export type SeekMode = typeof SeekMode.Type;
133
- /** @internal */
134
- export declare const OpenSettings: Schema.Struct<{
135
- readonly access: Schema.Literals<readonly ["read", "write", "readWrite"]>;
136
- readonly create: Schema.optionalKey<Schema.Literals<readonly ["never", "ifMissing", "exclusive"]>>;
137
- readonly mode: Schema.optionalKey<Schema.Natural>;
138
- readonly append: Schema.optionalKey<Schema.Boolean>;
139
- readonly truncate: Schema.optionalKey<Schema.Boolean>;
140
- readonly followFinalSymlink: Schema.optionalKey<Schema.Boolean>;
141
- }>;
142
- /** @internal */
143
- export type OpenOptions = typeof OpenSettings.Type & RelativeOptions;
144
- /** @internal */
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<{
258
- readonly access: Schema.Literals<readonly ["read", "write", "readWrite"]>;
259
- readonly create: Schema.optionalKey<Schema.Literals<readonly ["never", "ifMissing", "exclusive"]>>;
260
- readonly mode: Schema.optionalKey<Schema.Natural>;
261
- readonly append: Schema.optionalKey<Schema.Boolean>;
262
- readonly truncate: Schema.optionalKey<Schema.Boolean>;
263
- readonly followFinalSymlink: Schema.optionalKey<Schema.Boolean>;
264
- readonly replaceFinalSymlink: Schema.optionalKey<Schema.Boolean>;
265
- readonly finalMode: Schema.optionalKey<Schema.Natural>;
266
- }>;
267
- /** @internal */
268
- export type WriteFileOptions = typeof WriteFileSettings.Type & RelativeOptions;
269
- /** @internal */
270
- export declare const OverlayNodeKind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
271
- /** @internal */
272
- export type OverlayNodeKind = typeof OverlayNodeKind.Type;
273
- /** @internal */
274
- export declare const OverlayDifference: Schema.Literals<readonly ["content", "mode", "uid", "gid", "atimeNs", "mtimeNs", "ctimeNs", "birthtimeNs"]>;
275
- /** @internal */
276
- export type OverlayDifference = typeof OverlayDifference.Type;
277
- /** @internal */
278
- export declare const OverlayChange: Schema.Union<readonly [Schema.TaggedStruct<"Added", {
279
- readonly path: Schema.declare<BytePath, BytePath>;
280
- readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
281
- }>, Schema.TaggedStruct<"Removed", {
282
- readonly path: Schema.declare<BytePath, BytePath>;
283
- readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
284
- }>, Schema.TaggedStruct<"Replaced", {
285
- readonly path: Schema.declare<BytePath, BytePath>;
286
- readonly beforeKind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
287
- readonly afterKind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
288
- readonly differences: Schema.$Array<Schema.Literals<readonly ["content", "mode", "uid", "gid", "atimeNs", "mtimeNs", "ctimeNs", "birthtimeNs"]>>;
289
- }>, Schema.TaggedStruct<"Renamed", {
290
- readonly from: Schema.declare<BytePath, BytePath>;
291
- readonly to: Schema.declare<BytePath, BytePath>;
292
- readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
293
- readonly differences: Schema.$Array<Schema.Literals<readonly ["content", "mode", "uid", "gid", "atimeNs", "mtimeNs", "ctimeNs", "birthtimeNs"]>>;
294
- }>, Schema.TaggedStruct<"Updated", {
295
- readonly path: Schema.declare<BytePath, BytePath>;
296
- readonly kind: Schema.Literals<readonly ["directory", "file", "symlink"]>;
297
- readonly differences: Schema.$Array<Schema.Literals<readonly ["content", "mode", "uid", "gid", "atimeNs", "mtimeNs", "ctimeNs", "birthtimeNs"]>>;
298
- }>]>;
299
- /** @internal */
300
- export type OverlayChange = typeof OverlayChange.Type;
301
- /** @internal */
302
- export declare const OverlayChangesOptions: Schema.Struct<{
303
- readonly includeTimestamps: Schema.optionalKey<Schema.Boolean>;
304
- }>;
305
- /** @internal */
306
- export type OverlayChangesOptions = typeof OverlayChangesOptions.Type;
307
- /** @internal */
308
- export declare const FixtureMetadata: Schema.Struct<{
309
- readonly uid: Schema.optionalKey<Schema.Natural>;
310
- readonly gid: Schema.optionalKey<Schema.Natural>;
311
- readonly mode: Schema.optionalKey<Schema.Natural>;
312
- readonly atimeNs: Schema.optionalKey<Schema.BigInt>;
313
- readonly mtimeNs: Schema.optionalKey<Schema.BigInt>;
314
- readonly ctimeNs: Schema.optionalKey<Schema.BigInt>;
315
- readonly birthtimeNs: Schema.optionalKey<Schema.BigInt>;
316
- }>;
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 */
362
- export declare const Fixture: Schema.Struct<{
363
- readonly rootMetadata: Schema.optionalKey<Schema.Struct<{
364
- readonly uid: Schema.optionalKey<Schema.Natural>;
365
- readonly gid: Schema.optionalKey<Schema.Natural>;
366
- readonly mode: Schema.optionalKey<Schema.Natural>;
367
- readonly atimeNs: Schema.optionalKey<Schema.BigInt>;
368
- readonly mtimeNs: Schema.optionalKey<Schema.BigInt>;
369
- readonly ctimeNs: Schema.optionalKey<Schema.BigInt>;
370
- readonly birthtimeNs: Schema.optionalKey<Schema.BigInt>;
371
- }>>;
372
- readonly entries: Schema.$Array<Schema.toTaggedUnion<"kind", readonly [Schema.Struct<{
373
- readonly kind: Schema.Literal<"directory">;
374
- readonly path: Schema.Union<readonly [Schema.String, Schema.declare<BytePath, BytePath>]>;
375
- readonly metadata: Schema.optionalKey<Schema.Struct<{
376
- readonly uid: Schema.optionalKey<Schema.Natural>;
377
- readonly gid: Schema.optionalKey<Schema.Natural>;
378
- readonly mode: Schema.optionalKey<Schema.Natural>;
379
- readonly atimeNs: Schema.optionalKey<Schema.BigInt>;
380
- readonly mtimeNs: Schema.optionalKey<Schema.BigInt>;
381
- readonly ctimeNs: Schema.optionalKey<Schema.BigInt>;
382
- readonly birthtimeNs: Schema.optionalKey<Schema.BigInt>;
383
- }>>;
384
- }>, Schema.Struct<{
385
- readonly kind: Schema.Literal<"file">;
386
- readonly path: Schema.Union<readonly [Schema.String, Schema.declare<BytePath, BytePath>]>;
387
- readonly bytes: Schema.Uint8Array;
388
- readonly metadata: Schema.optionalKey<Schema.Struct<{
389
- readonly uid: Schema.optionalKey<Schema.Natural>;
390
- readonly gid: Schema.optionalKey<Schema.Natural>;
391
- readonly mode: Schema.optionalKey<Schema.Natural>;
392
- readonly atimeNs: Schema.optionalKey<Schema.BigInt>;
393
- readonly mtimeNs: Schema.optionalKey<Schema.BigInt>;
394
- readonly ctimeNs: Schema.optionalKey<Schema.BigInt>;
395
- readonly birthtimeNs: Schema.optionalKey<Schema.BigInt>;
396
- }>>;
397
- }>, Schema.Struct<{
398
- readonly kind: Schema.Literal<"symlink">;
399
- readonly path: Schema.Union<readonly [Schema.String, Schema.declare<BytePath, BytePath>]>;
400
- readonly target: Schema.Union<readonly [Schema.String, Schema.declare<BytePath, BytePath>]>;
401
- readonly metadata: Schema.optionalKey<Schema.Struct<{
402
- readonly uid: Schema.optionalKey<Schema.Natural>;
403
- readonly gid: Schema.optionalKey<Schema.Natural>;
404
- readonly mode: Schema.optionalKey<Schema.Natural>;
405
- readonly atimeNs: Schema.optionalKey<Schema.BigInt>;
406
- readonly mtimeNs: Schema.optionalKey<Schema.BigInt>;
407
- readonly ctimeNs: Schema.optionalKey<Schema.BigInt>;
408
- readonly birthtimeNs: Schema.optionalKey<Schema.BigInt>;
409
- }>>;
410
- }>, Schema.Struct<{
411
- readonly kind: Schema.Literal<"hardLink">;
412
- readonly path: Schema.Union<readonly [Schema.String, Schema.declare<BytePath, BytePath>]>;
413
- readonly target: Schema.Union<readonly [Schema.String, Schema.declare<BytePath, BytePath>]>;
414
- }>]>>;
415
- }>;
416
- /** @internal */
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;
9
+ import { type ObservationEntry } from "./overlayDiff.js";
10
+ import { type VolumeState } from "./volumeState.js";
11
+ type CommitOutcome = "committed" | "rejected" | "unknown";
12
+ interface CommitProvider<State> {
13
+ /** Preparation failures leave the volume available. */
14
+ readonly prepare?: (candidate: State) => Effect.Effect<void, FsFailure>;
15
+ readonly commit: (candidate: State) => Effect.Effect<CommitOutcome>;
426
16
  }
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>;
455
17
  type VolumeSource = {
456
18
  readonly _tag: "Empty";
457
- } | {
458
- readonly _tag: "Snapshot";
459
- readonly image: Image.Document;
460
19
  } | {
461
20
  readonly _tag: "Live";
462
- readonly document: LiveImage.Document;
21
+ readonly restored: LiveImage.Restored;
463
22
  } | {
464
- readonly _tag: "Overlay";
465
- readonly base: Snapshot;
466
- readonly image: Image.Document;
23
+ readonly _tag: "Restored";
24
+ readonly value: VolumeState;
467
25
  };
468
26
  /** @internal */
469
27
  export declare const VolumeSource: {
470
- readonly $is: <Tag extends "Empty" | "Live" | "Overlay" | "Snapshot">(tag: Tag) => (u: unknown) => u is Extract<{
28
+ readonly $is: <Tag extends "Empty" | "Live" | "Restored">(tag: Tag) => (u: unknown) => u is Extract<{
471
29
  readonly _tag: "Empty";
472
30
  }, {
473
31
  readonly _tag: Tag;
474
- }> | Extract<{
475
- readonly _tag: "Snapshot";
476
- readonly image: Image.Document;
477
- }, {
478
- readonly _tag: Tag;
479
32
  }> | Extract<{
480
33
  readonly _tag: "Live";
481
- readonly document: LiveImage.Document;
34
+ readonly restored: LiveImage.Restored;
482
35
  }, {
483
36
  readonly _tag: Tag;
484
37
  }> | Extract<{
485
- readonly _tag: "Overlay";
486
- readonly base: Snapshot;
487
- readonly image: Image.Document;
38
+ readonly _tag: "Restored";
39
+ readonly value: VolumeState;
488
40
  }, {
489
41
  readonly _tag: Tag;
490
42
  }>;
491
43
  readonly $match: {
492
- <Cases extends { readonly [Tag in "Empty" | "Live" | "Overlay" | "Snapshot"]: (args: Extract<VolumeSource, {
44
+ <Cases extends { readonly [Tag in "Empty" | "Live" | "Restored"]: (args: Extract<VolumeSource, {
493
45
  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, {
46
+ }>) => any; }>(cases: Cases): (value: VolumeSource) => import("effect/Unify").Unify<ReturnType<Cases["Empty" | "Live" | "Restored"]>>;
47
+ <Cases extends { readonly [Tag in "Empty" | "Live" | "Restored"]: (args: Extract<VolumeSource, {
496
48
  readonly _tag: Tag;
497
- }>) => any; }>(value: VolumeSource, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Empty" | "Live" | "Overlay" | "Snapshot"]>>;
49
+ }>) => any; }>(value: VolumeSource, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Empty" | "Live" | "Restored"]>>;
498
50
  };
499
51
  readonly Empty: Data.TaggedEnum.ConstructorFrom<{
500
52
  readonly _tag: "Empty";
501
53
  }, "_tag">;
502
54
  readonly Live: Data.TaggedEnum.ConstructorFrom<{
503
55
  readonly _tag: "Live";
504
- readonly document: LiveImage.Document;
56
+ readonly restored: LiveImage.Restored;
505
57
  }, "_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;
58
+ readonly Restored: Data.TaggedEnum.ConstructorFrom<{
59
+ readonly _tag: "Restored";
60
+ readonly value: VolumeState;
514
61
  }, "_tag">;
515
62
  };
516
- type VolumeFor<S extends VolumeSource> = S extends {
517
- readonly _tag: "Overlay";
518
- } ? OverlayVolume : Volume;
519
63
  /** @internal */
520
- export declare const makeVolume: <S extends VolumeSource>(source: S, options?: {
64
+ export declare const makeVolume: (source: VolumeSource, options?: {
521
65
  readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
522
66
  readonly maxEntries?: number;
523
67
  readonly maxPendingOperations?: number;
@@ -525,7 +69,18 @@ export declare const makeVolume: <S extends VolumeSource>(source: S, options?: {
525
69
  readonly maxBytes?: ByteSize.ByteSize;
526
70
  readonly maxFileBytes?: ByteSize.ByteSize;
527
71
  readonly maxPathBytes?: ByteSize.ByteSize;
528
- } | undefined, commitProvider?: CommitProvider<EngineState> | undefined, captureInitial?: ((state: EngineState, identity: VolumeIdentity, limits: VolumeLimits) => Effect.Effect<void, ImageError>) | undefined, durability?: "memory-only" | "survives-operating-system-crash" | "survives-power-loss" | "survives-process-crash" | undefined) => Effect.Effect<VolumeFor<S>, ConfigurationError | ImageError | import("effect/PlatformError").PlatformError, Crypto.Crypto>;
72
+ } | undefined, commitProvider?: CommitProvider<VolumeState> | undefined, captureInitial?: ((state: VolumeState, naming: LiveImage.Naming, limits: VolumeLimits) => Effect.Effect<Uint8Array, ImageFailure>) | undefined, durability?: "memory-only" | "survives-operating-system-crash" | "survives-power-loss" | "survives-process-crash" | undefined) => Effect.Effect<Readonly<{
73
+ volume: Volume;
74
+ shutdown: Effect.Effect<void, never, never> | undefined;
75
+ initialImage: Uint8Array<ArrayBufferLike> | undefined;
76
+ observe: Readonly<{
77
+ changes: Effect.Effect<ObservationEntry[], FsFailure, never>;
78
+ capture: Effect.Effect<{
79
+ snapshot: Snapshot;
80
+ observation: ObservationEntry[];
81
+ }, FsFailure, never>;
82
+ }>;
83
+ }>, import("../VfsError.js").ArgumentFailure | ImageFailure, Crypto.Crypto>;
529
84
  /** @internal */
530
85
  export declare const make: (options?: {
531
86
  readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
@@ -535,7 +90,7 @@ export declare const make: (options?: {
535
90
  readonly maxBytes?: ByteSize.ByteSize;
536
91
  readonly maxFileBytes?: ByteSize.ByteSize;
537
92
  readonly maxPathBytes?: ByteSize.ByteSize;
538
- } | undefined) => Effect.Effect<Volume, ConfigurationError | import("effect/PlatformError").PlatformError, Crypto.Crypto>;
93
+ } | undefined) => Effect.Effect<Volume, import("../VfsError.js").ArgumentFailure, Crypto.Crypto>;
539
94
  /** @internal */
540
95
  export declare const prepareEmptyLiveImage: (options?: {
541
96
  readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
@@ -545,12 +100,12 @@ export declare const prepareEmptyLiveImage: (options?: {
545
100
  readonly maxBytes?: ByteSize.ByteSize;
546
101
  readonly maxFileBytes?: ByteSize.ByteSize;
547
102
  readonly maxPathBytes?: ByteSize.ByteSize;
548
- } | undefined) => Effect.Effect<Uint8Array<ArrayBufferLike>, ConfigurationError | ImageError | import("effect/PlatformError").PlatformError, Crypto.Crypto>;
103
+ } | undefined) => Effect.Effect<Uint8Array<ArrayBufferLike>, import("../VfsError.js").ArgumentFailure | ImageFailure, Crypto.Crypto>;
549
104
  /** @internal */
550
105
  export declare const openImageVolume: (image: Uint8Array<ArrayBufferLike>, maxImageBytes: ByteSize.ByteSize, commit: (image: Uint8Array) => Effect.Effect<"committed" | "rejected" | "unknown">, durability?: "memory-only" | "survives-operating-system-crash" | "survives-power-loss" | "survives-process-crash" | undefined) => Effect.Effect<Readonly<{
551
106
  volume: Volume;
552
107
  shutdown: Effect.Effect<void, never, never>;
553
- }>, ConfigurationError | ImageError | import("effect/PlatformError").PlatformError, Crypto.Crypto>;
108
+ }>, import("../VfsError.js").ArgumentFailure | ImageFailure, Crypto.Crypto>;
554
109
  /** @internal */
555
110
  export declare const fromSnapshot: (snapshot: Snapshot, options?: {
556
111
  readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
@@ -560,7 +115,7 @@ export declare const fromSnapshot: (snapshot: Snapshot, options?: {
560
115
  readonly maxBytes?: ByteSize.ByteSize;
561
116
  readonly maxFileBytes?: ByteSize.ByteSize;
562
117
  readonly maxPathBytes?: ByteSize.ByteSize;
563
- } | undefined) => Effect.Effect<Volume, ConfigurationError | ImageError | import("effect/PlatformError").PlatformError, Crypto.Crypto>;
118
+ } | undefined) => Effect.Effect<Volume, import("../VfsError.js").ArgumentFailure | ImageFailure, Crypto.Crypto>;
564
119
  /** @internal */
565
120
  export declare const makeOverlay: (base: Snapshot, options?: {
566
121
  readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
@@ -570,5 +125,6 @@ export declare const makeOverlay: (base: Snapshot, options?: {
570
125
  readonly maxBytes?: ByteSize.ByteSize;
571
126
  readonly maxFileBytes?: ByteSize.ByteSize;
572
127
  readonly maxPathBytes?: ByteSize.ByteSize;
573
- } | undefined) => Effect.Effect<OverlayVolume, ConfigurationError | ImageError | import("effect/PlatformError").PlatformError, Crypto.Crypto>;
128
+ } | undefined) => Effect.Effect<OverlayVolume, import("../VfsError.js").ArgumentFailure | ImageFailure, Crypto.Crypto>;
129
+ export {};
574
130
  //# 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":"AACA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAE3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AA4BvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAqB,MAAM,gBAAgB,CAAA;AACrF,OAAO,KAAK,EAMV,aAAa,EAEb,MAAM,EACN,YAAY,EAIb,MAAM,yBAAyB,CAAA;AA2BhC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAkB,KAAK,gBAAgB,EAAyB,MAAM,kBAAkB,CAAA;AAqB/F,OAAO,EAgBL,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAA;AAWzB,KAAK,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAA;AAEzD,UAAU,cAAc,CAAC,KAAK;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACvE,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;CACpE;AAwTD,KAAK,YAAY,GACb;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAA;AAE9D,gBAAgB;AAChB,eAAO,MAAM,YAAY;;uBALJ,OAAO;;;;uBACP,MAAM;2BAAqB,SAAS,CAAC,QAAQ;;;;uBAC7C,UAAU;wBAAkB,WAAW;;;;;;;;;;;;;uBAFvC,OAAO;;;uBACP,MAAM;2BAAqB,SAAS,CAAC,QAAQ;;;uBAC7C,UAAU;wBAAkB,WAAW;;CAGD,CAAA;AAsD3D,gBAAgB;AAChB,eAAO,MAAM,UAAU;;;;;;;;mGAMV,WAAW,UACV,SAAS,CAAC,MAAM,UAChB,YAAY,KACjB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC;;;;;;;;;;;2EAmmG/C,CAAA;AAED,gBAAgB;AAChB,eAAO,MAAM,IAAI;;;;;;;;gGAIf,CAAA;AAEF,gBAAgB;AAChB,eAAO,MAAM,qBAAqB;;;;;;;;oIAShC,CAAA;AAEF,gBAAgB;AAChB,eAAO,MAAM,eAAe,yFAGV,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;;;2EA+ClF,CAAA;AAeF,gBAAgB;AAChB,eAAO,MAAM,YAAY;;;;;;;;+GAKxB,CAAA;AAED,gBAAgB;AAChB,eAAO,MAAM,WAAW;;;;;;;;sHAkCvB,CAAA"}