lalph 0.3.21 → 0.3.23

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.
package/dist/cli.mjs CHANGED
@@ -45,7 +45,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
45
45
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
46
46
 
47
47
  //#endregion
48
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Pipeable.js
48
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Pipeable.js
49
49
  /**
50
50
  * @since 2.0.0
51
51
  */
@@ -98,7 +98,7 @@ const Class$4 = class {
98
98
  };
99
99
 
100
100
  //#endregion
101
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Function.js
101
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Function.js
102
102
  /**
103
103
  * Creates a function that can be used in a data-last (aka `pipe`able) or
104
104
  * data-first style.
@@ -367,7 +367,7 @@ function memoize(f) {
367
367
  }
368
368
 
369
369
  //#endregion
370
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/equal.js
370
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/equal.js
371
371
  /** @internal */
372
372
  const getAllObjectKeys = (obj) => {
373
373
  const keys = new Set(Reflect.ownKeys(obj));
@@ -387,7 +387,7 @@ const getAllObjectKeys = (obj) => {
387
387
  const byReferenceInstances = /* @__PURE__ */ new WeakSet();
388
388
 
389
389
  //#endregion
390
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Predicate.js
390
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Predicate.js
391
391
  /**
392
392
  * Predicate and Refinement helpers for runtime checks, filtering, and type narrowing.
393
393
  * This module provides small, pure functions you can combine to decide whether a
@@ -1065,7 +1065,7 @@ function isRegExp$1(input) {
1065
1065
  const or = /* @__PURE__ */ dual(2, (self, that) => (a) => self(a) || that(a));
1066
1066
 
1067
1067
  //#endregion
1068
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Hash.js
1068
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Hash.js
1069
1069
  /**
1070
1070
  * This module provides utilities for hashing values in TypeScript.
1071
1071
  *
@@ -1415,7 +1415,7 @@ function withVisitedTracking$1(obj, fn) {
1415
1415
  }
1416
1416
 
1417
1417
  //#endregion
1418
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Equal.js
1418
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Equal.js
1419
1419
  /**
1420
1420
  * The unique identifier used to identify objects that implement the `Equal` interface.
1421
1421
  *
@@ -1617,7 +1617,7 @@ const byReferenceUnsafe = (obj) => {
1617
1617
  };
1618
1618
 
1619
1619
  //#endregion
1620
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Redactable.js
1620
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Redactable.js
1621
1621
  /**
1622
1622
  * @since 4.0.0
1623
1623
  */
@@ -1712,7 +1712,7 @@ const emptyServiceMap$1 = {
1712
1712
  };
1713
1713
 
1714
1714
  //#endregion
1715
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Formatter.js
1715
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Formatter.js
1716
1716
  /**
1717
1717
  * @since 4.0.0
1718
1718
  */
@@ -1877,7 +1877,7 @@ function formatJson$1(input, options) {
1877
1877
  }
1878
1878
 
1879
1879
  //#endregion
1880
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Inspectable.js
1880
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Inspectable.js
1881
1881
  /**
1882
1882
  * This module provides utilities for making values inspectable and debuggable in TypeScript.
1883
1883
  *
@@ -2081,7 +2081,7 @@ var Class$3 = class {
2081
2081
  };
2082
2082
 
2083
2083
  //#endregion
2084
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Utils.js
2084
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Utils.js
2085
2085
  /**
2086
2086
  * @since 2.0.0
2087
2087
  */
@@ -2159,7 +2159,7 @@ const internalCall = isNotOptimizedAway ? standard[InternalTypeId] : forced[Inte
2159
2159
  const genConstructor = function* () {}.constructor;
2160
2160
 
2161
2161
  //#endregion
2162
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/core.js
2162
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/core.js
2163
2163
  /** @internal */
2164
2164
  const EffectTypeId$1 = `~effect/Effect`;
2165
2165
  /** @internal */
@@ -2552,7 +2552,7 @@ const done$2 = (value) => {
2552
2552
  };
2553
2553
 
2554
2554
  //#endregion
2555
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Data.js
2555
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Data.js
2556
2556
  /**
2557
2557
  * Provides a constructor for a Case Class.
2558
2558
  *
@@ -2703,7 +2703,7 @@ const Error$2 = Error$3;
2703
2703
  const TaggedError = TaggedError$1;
2704
2704
 
2705
2705
  //#endregion
2706
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Order.js
2706
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Order.js
2707
2707
  /**
2708
2708
  * This module provides the `Order` type class for defining total orderings on types.
2709
2709
  * An `Order` is a comparison function that returns `-1` (less than), `0` (equal), or `1` (greater than).
@@ -3388,7 +3388,7 @@ const clamp$2 = (O) => dual(2, (self, options) => min$3(O)(options.maximum, max$
3388
3388
  const isBetween$1 = (O) => dual(2, (self, options) => !isLessThan$4(O)(self, options.minimum) && !isGreaterThan$4(O)(self, options.maximum));
3389
3389
 
3390
3390
  //#endregion
3391
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/UndefinedOr.js
3391
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/UndefinedOr.js
3392
3392
  /**
3393
3393
  * @since 4.0.0
3394
3394
  */
@@ -3409,7 +3409,7 @@ const liftThrowable = (f) => (...a) => {
3409
3409
  };
3410
3410
 
3411
3411
  //#endregion
3412
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Duration.js
3412
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Duration.js
3413
3413
  const TypeId$67 = "~effect/time/Duration";
3414
3414
  const bigint0$1 = /* @__PURE__ */ BigInt(0);
3415
3415
  const bigint24 = /* @__PURE__ */ BigInt(24);
@@ -4064,7 +4064,7 @@ const format$2 = (self) => {
4064
4064
  };
4065
4065
 
4066
4066
  //#endregion
4067
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Equivalence.js
4067
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Equivalence.js
4068
4068
  /**
4069
4069
  * Creates a custom equivalence relation with an optimized reference equality check.
4070
4070
  *
@@ -4362,7 +4362,7 @@ function Struct$1(fields) {
4362
4362
  }
4363
4363
 
4364
4364
  //#endregion
4365
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/option.js
4365
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/option.js
4366
4366
  /**
4367
4367
  * @since 2.0.0
4368
4368
  */
@@ -4434,7 +4434,7 @@ const some$3 = (value) => {
4434
4434
  };
4435
4435
 
4436
4436
  //#endregion
4437
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/result.js
4437
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/result.js
4438
4438
  const TypeId$65 = "~effect/data/Result";
4439
4439
  const CommonProto = {
4440
4440
  [TypeId$65]: {
@@ -4516,7 +4516,7 @@ const getSuccess$3 = (self) => isFailure$6(self) ? none$5 : some$3(self.success)
4516
4516
  const fromOption$4 = /* @__PURE__ */ dual(2, (self, onNone) => isNone$1(self) ? fail$10(onNone()) : succeed$7(self.value));
4517
4517
 
4518
4518
  //#endregion
4519
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Option.js
4519
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Option.js
4520
4520
  /**
4521
4521
  * Represents the absence of a value by creating an empty `Option`.
4522
4522
  *
@@ -5141,7 +5141,7 @@ const filterMap$5 = flatMap$5;
5141
5141
  * @category Filtering
5142
5142
  * @since 2.0.0
5143
5143
  */
5144
- const filter$8 = /* @__PURE__ */ dual(2, (self, predicate) => filterMap$5(self, (b) => predicate(b) ? some$3(b) : none$5));
5144
+ const filter$9 = /* @__PURE__ */ dual(2, (self, predicate) => filterMap$5(self, (b) => predicate(b) ? some$3(b) : none$5));
5145
5145
  /**
5146
5146
  * Creates an `Equivalence` instance for comparing `Option` values, using a
5147
5147
  * provided `Equivalence` for the inner type.
@@ -5218,7 +5218,7 @@ const makeEquivalence$5 = (isEquivalent) => make$59((x, y) => isNone(x) ? isNone
5218
5218
  const liftPredicate = /* @__PURE__ */ dual(2, (b, predicate) => predicate(b) ? some$2(b) : none$4());
5219
5219
 
5220
5220
  //#endregion
5221
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Result.js
5221
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Result.js
5222
5222
  /**
5223
5223
  * Constructs a new `Result` holding a `Success` value.
5224
5224
  *
@@ -5486,7 +5486,7 @@ const getOrThrow$1 = /* @__PURE__ */ getOrThrowWith(identity);
5486
5486
  const succeedNone$2 = /* @__PURE__ */ succeed$6(none$5);
5487
5487
 
5488
5488
  //#endregion
5489
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Filter.js
5489
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Filter.js
5490
5490
  const FailTypeId = "~effect/data/Filter/fail";
5491
5491
  /**
5492
5492
  * @since 4.0.0
@@ -5507,14 +5507,6 @@ const failVoid = /* @__PURE__ */ fail$8(void 0);
5507
5507
  */
5508
5508
  const isFail = (u) => u === failVoid || typeof u === "object" && u !== null && FailTypeId in u;
5509
5509
  /**
5510
- * @since 4.0.0
5511
- * @category Mapping
5512
- */
5513
- const mapFail = /* @__PURE__ */ dual(2, (self, f) => (input) => {
5514
- const result = self(input);
5515
- return isFail(result) ? fail$8(f(result.fail)) : result;
5516
- });
5517
- /**
5518
5510
  * Creates a Filter from a predicate or refinement function.
5519
5511
  *
5520
5512
  * This is a convenient way to create filters from boolean-returning functions.
@@ -5730,7 +5722,7 @@ const toOption = (self) => (input) => {
5730
5722
  };
5731
5723
 
5732
5724
  //#endregion
5733
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/array.js
5725
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/array.js
5734
5726
  /**
5735
5727
  * @since 2.0.0
5736
5728
  */
@@ -5738,7 +5730,7 @@ const toOption = (self) => (input) => {
5738
5730
  const isArrayNonEmpty$1 = (self) => self.length > 0;
5739
5731
 
5740
5732
  //#endregion
5741
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Tuple.js
5733
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Tuple.js
5742
5734
  /**
5743
5735
  * Creates an `Equivalence` for tuples by comparing corresponding elements using the provided `Equivalence`s.
5744
5736
  *
@@ -5776,7 +5768,7 @@ const makeEquivalence$4 = Tuple$1;
5776
5768
  const makeOrder$2 = Tuple$2;
5777
5769
 
5778
5770
  //#endregion
5779
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Iterable.js
5771
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Iterable.js
5780
5772
  /**
5781
5773
  * Return the number of elements in a `Iterable`.
5782
5774
  *
@@ -5927,9 +5919,70 @@ const constEmptyIterator = { next() {
5927
5919
  * @since 2.0.0
5928
5920
  */
5929
5921
  const empty$17 = () => constEmpty;
5922
+ /**
5923
+ * Filters an iterable to only include elements that match a predicate.
5924
+ *
5925
+ * This function creates a new iterable containing only the elements for which
5926
+ * the predicate function returns true. Like map, this operation is lazy and
5927
+ * elements are only tested when the iterable is consumed.
5928
+ *
5929
+ * @param self - The source iterable to filter
5930
+ * @param predicate - Function that tests each element (receives value and index)
5931
+ *
5932
+ * @example
5933
+ * ```ts
5934
+ * import { Iterable } from "effect"
5935
+ *
5936
+ * // Filter even numbers
5937
+ * const numbers = [1, 2, 3, 4, 5, 6]
5938
+ * const evens = Iterable.filter(numbers, (x) => x % 2 === 0)
5939
+ * console.log(Array.from(evens)) // [2, 4, 6]
5940
+ *
5941
+ * // Filter with index
5942
+ * const items = ["a", "b", "c", "d"]
5943
+ * const oddPositions = Iterable.filter(items, (_, i) => i % 2 === 1)
5944
+ * console.log(Array.from(oddPositions)) // ["b", "d"]
5945
+ *
5946
+ * // Type refinement
5947
+ * const mixed: Array<string | number> = ["hello", 42, "world", 100]
5948
+ * const onlyStrings = Iterable.filter(
5949
+ * mixed,
5950
+ * (x): x is string => typeof x === "string"
5951
+ * )
5952
+ * console.log(Array.from(onlyStrings)) // ["hello", "world"] (typed as string[])
5953
+ *
5954
+ * // Combine with map
5955
+ * const processed = Iterable.map(
5956
+ * Iterable.filter([1, 2, 3, 4, 5], (x) => x > 2),
5957
+ * (x) => x * 10
5958
+ * )
5959
+ * console.log(Array.from(processed)) // [30, 40, 50]
5960
+ * ```
5961
+ *
5962
+ * @category filtering
5963
+ * @since 2.0.0
5964
+ */
5965
+ const filter$8 = /* @__PURE__ */ dual(2, (self, predicate) => ({ [Symbol.iterator]() {
5966
+ const iterator = self[Symbol.iterator]();
5967
+ let i = 0;
5968
+ return { next() {
5969
+ let result = iterator.next();
5970
+ while (!result.done) {
5971
+ if (predicate(result.value, i++)) return {
5972
+ done: false,
5973
+ value: result.value
5974
+ };
5975
+ result = iterator.next();
5976
+ }
5977
+ return {
5978
+ done: true,
5979
+ value: void 0
5980
+ };
5981
+ } };
5982
+ } }));
5930
5983
 
5931
5984
  //#endregion
5932
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Record.js
5985
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Record.js
5933
5986
  /**
5934
5987
  * Creates a new, empty record.
5935
5988
  *
@@ -6133,7 +6186,7 @@ const makeEquivalence$3 = (equivalence) => {
6133
6186
  };
6134
6187
 
6135
6188
  //#endregion
6136
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Array.js
6189
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Array.js
6137
6190
  /**
6138
6191
  * This module provides utility functions for working with arrays in TypeScript.
6139
6192
  *
@@ -6817,7 +6870,7 @@ const dedupeWith = /* @__PURE__ */ dual(2, (self, isEquivalent) => {
6817
6870
  const join$3 = /* @__PURE__ */ dual(2, (self, sep) => fromIterable$4(self).join(sep));
6818
6871
 
6819
6872
  //#endregion
6820
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/ServiceMap.js
6873
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/ServiceMap.js
6821
6874
  const ServiceTypeId = "~effect/ServiceMap/Service";
6822
6875
  /**
6823
6876
  * @example
@@ -7331,7 +7384,7 @@ const mergeAll$1 = (...ctxs) => {
7331
7384
  const Reference = Service$1;
7332
7385
 
7333
7386
  //#endregion
7334
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Scheduler.js
7387
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Scheduler.js
7335
7388
  /**
7336
7389
  * @since 4.0.0
7337
7390
  * @category references
@@ -7560,7 +7613,7 @@ var MixedScheduler = class {
7560
7613
  const MaxOpsBeforeYield = /* @__PURE__ */ Reference("effect/Scheduler/MaxOpsBeforeYield", { defaultValue: () => 2048 });
7561
7614
 
7562
7615
  //#endregion
7563
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Tracer.js
7616
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Tracer.js
7564
7617
  /**
7565
7618
  * @since 2.0.0
7566
7619
  * @category tags
@@ -7769,7 +7822,7 @@ const randomHexString = /* @__PURE__ */ function() {
7769
7822
  }();
7770
7823
 
7771
7824
  //#endregion
7772
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/References.js
7825
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/References.js
7773
7826
  /**
7774
7827
  * This module provides a collection of reference implementations for commonly used
7775
7828
  * Effect runtime configuration values. These references allow you to access and
@@ -8232,12 +8285,12 @@ const CurrentLogSpans = /* @__PURE__ */ Reference("effect/References/CurrentLogS
8232
8285
  const MinimumLogLevel = /* @__PURE__ */ Reference("effect/References/MinimumLogLevel", { defaultValue: () => "Info" });
8233
8286
 
8234
8287
  //#endregion
8235
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/metric.js
8288
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/metric.js
8236
8289
  /** @internal */
8237
8290
  const FiberRuntimeMetricsKey = "effect/observability/Metric/FiberRuntimeMetricsKey";
8238
8291
 
8239
8292
  //#endregion
8240
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/tracer.js
8293
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/tracer.js
8241
8294
  /** @internal */
8242
8295
  const addSpanStackTrace = (options) => {
8243
8296
  if (options?.captureStackTrace === false) return options;
@@ -8268,11 +8321,11 @@ const makeStackCleaner = (line) => (stack) => {
8268
8321
  const spanCleaner = /* @__PURE__ */ makeStackCleaner(3);
8269
8322
 
8270
8323
  //#endregion
8271
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/version.js
8324
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/version.js
8272
8325
  const version$1 = "dev";
8273
8326
 
8274
8327
  //#endregion
8275
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/effect.js
8328
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/effect.js
8276
8329
  /** @internal */
8277
8330
  var Interrupt$1 = class extends FailureBase {
8278
8331
  fiberId;
@@ -9319,39 +9372,43 @@ const tapErrorTag$1 = /* @__PURE__ */ dual(3, (self, k, f) => {
9319
9372
  /** @internal */
9320
9373
  const tapDefect$1 = /* @__PURE__ */ dual(2, (self, f) => tapCauseFilter$1(self, causeFilterDefect, (_) => f(_)));
9321
9374
  /** @internal */
9322
- const catchIf$1 = /* @__PURE__ */ dual(3, (self, predicate, f) => catchCause$2(self, (cause) => {
9375
+ const catchIf$1 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, predicate, f, orElse) => catchFilter$1(self, fromPredicate(predicate), f, orElse));
9376
+ /** @internal */
9377
+ const catchFilter$1 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, filter, f, orElse) => catchCause$2(self, (cause) => {
9323
9378
  const error = causeFilterError(cause);
9324
9379
  if (isFail(error)) return failCause$5(error.fail);
9325
- return predicate(error) ? internalCall(() => f(error)) : failCause$5(cause);
9380
+ const result = filter(error);
9381
+ if (isFail(result)) return orElse ? internalCall(() => orElse(result.fail)) : failCause$5(cause);
9382
+ return internalCall(() => f(result));
9326
9383
  }));
9327
9384
  /** @internal */
9328
- const catchFilter$1 = /* @__PURE__ */ dual(3, (self, filter, f) => catchCauseFilter$2(self, compose(causeFilterError, mapFail(filter, causeFail)), (e) => f(e)));
9329
- /** @internal */
9330
- const catchTag$1 = /* @__PURE__ */ dual(3, (self, k, f) => {
9385
+ const catchTag$1 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, k, f, orElse) => {
9331
9386
  const pred = Array.isArray(k) ? (e) => hasProperty(e, "_tag") && k.includes(e._tag) : isTagged(k);
9332
- return catchFilter$1(self, fromPredicate(pred), f);
9387
+ return catchFilter$1(self, fromPredicate(pred), f, orElse);
9333
9388
  });
9334
9389
  /** @internal */
9335
- const catchTags$1 = /* @__PURE__ */ dual(2, (self, cases) => {
9390
+ const catchTags$1 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, cases, orElse) => {
9336
9391
  let keys;
9337
9392
  return catchFilter$1(self, (e) => {
9338
9393
  keys ??= Object.keys(cases);
9339
9394
  return hasProperty(e, "_tag") && isString$1(e["_tag"]) && keys.includes(e["_tag"]) ? e : fail$8(e);
9340
- }, (e) => internalCall(() => cases[e["_tag"]](e)));
9395
+ }, (e) => internalCall(() => cases[e["_tag"]](e)), orElse);
9341
9396
  });
9342
9397
  /** @internal */
9343
- const catchReason$1 = /* @__PURE__ */ dual(4, (self, errorTag, reasonTag, f) => catchFilter$1(self, (e) => {
9344
- if (isTagged(e, errorTag) && hasProperty(e, "reason") && isTagged(e.reason, reasonTag)) return e.reason;
9345
- return fail$8(e);
9346
- }, f));
9398
+ const catchReason$1 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, errorTag, reasonTag, f, orElse) => catchIf$1(self, (e) => isTagged(e, errorTag) && hasProperty(e, "reason"), (e) => {
9399
+ const reason = e.reason;
9400
+ if (isTagged(reason, reasonTag)) return f(reason);
9401
+ return orElse ? internalCall(() => orElse(reason)) : fail$7(e);
9402
+ }));
9347
9403
  /** @internal */
9348
- const catchReasons$1 = /* @__PURE__ */ dual(3, (self, errorTag, cases) => {
9404
+ const catchReasons$1 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, errorTag, cases, orElse) => {
9349
9405
  let keys;
9350
- return catchFilter$1(self, (e) => {
9406
+ return catchIf$1(self, (e) => isTagged(e, errorTag) && hasProperty(e, "reason") && hasProperty(e.reason, "_tag") && isString$1(e.reason._tag), (e) => {
9407
+ const reason = e.reason;
9351
9408
  keys ??= Object.keys(cases);
9352
- if (isTagged(e, errorTag) && hasProperty(e, "reason") && hasProperty(e.reason, "_tag") && isString$1(e.reason._tag) && keys.includes(e.reason._tag)) return e.reason;
9353
- return fail$8(e);
9354
- }, (reason) => internalCall(() => cases[reason._tag](reason)));
9409
+ if (keys.includes(reason._tag)) return internalCall(() => cases[reason._tag](reason));
9410
+ return orElse ? internalCall(() => orElse(reason)) : fail$7(e);
9411
+ });
9355
9412
  });
9356
9413
  /** @internal */
9357
9414
  const unwrapReason$1 = /* @__PURE__ */ dual(2, (self, errorTag) => catchFilter$1(self, (e) => {
@@ -9873,6 +9930,16 @@ const forkUnsafe$1 = (parent, effect, immediate = false, daemon = false, uninter
9873
9930
  /** @internal */
9874
9931
  const forkDetach$1 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, options) => withFiber$1((fiber) => succeed$5(forkUnsafe$1(fiber, self, options?.startImmediately, true, options?.uninterruptible))));
9875
9932
  /** @internal */
9933
+ const awaitAllChildren$1 = (self) => withFiber$1((fiber) => {
9934
+ const initialChildren = fiber._children && fromIterable$4(fiber._children);
9935
+ return onExit$3(self, (_) => {
9936
+ let children = fiber._children;
9937
+ if (children === void 0 || children.size === 0) return;
9938
+ else if (initialChildren) children = filter$8(children, (child) => !initialChildren.includes(child));
9939
+ return fiberAwaitAll(children);
9940
+ });
9941
+ });
9942
+ /** @internal */
9876
9943
  const forkIn$1 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, scope, options) => withFiber$1((parent) => {
9877
9944
  const fiber = forkUnsafe$1(parent, self, options?.startImmediately, true, options?.uninterruptible);
9878
9945
  if (!fiber._exit) if (scope.state._tag !== "Closed") {
@@ -10588,7 +10655,7 @@ function interruptChildrenPatch() {
10588
10655
  const undefined_$2 = /* @__PURE__ */ succeed$5(void 0);
10589
10656
 
10590
10657
  //#endregion
10591
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Exit.js
10658
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Exit.js
10592
10659
  ExitTypeId;
10593
10660
  /**
10594
10661
  * Tests if a value is an `Exit`.
@@ -10962,7 +11029,7 @@ const getCause = exitGetCause;
10962
11029
  const getError = exitGetError;
10963
11030
 
10964
11031
  //#endregion
10965
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Deferred.js
11032
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Deferred.js
10966
11033
  const DeferredProto = {
10967
11034
  ["~effect/Deferred"]: {
10968
11035
  _A: identity,
@@ -11223,7 +11290,7 @@ const doneUnsafe = (self, effect) => {
11223
11290
  const into = /* @__PURE__ */ dual(2, (self, deferred) => uninterruptibleMask$1((restore) => flatMap$4(exit$1(restore(self)), (exit) => done$1(deferred, exit))));
11224
11291
 
11225
11292
  //#endregion
11226
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Scope.js
11293
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Scope.js
11227
11294
  /**
11228
11295
  * The `Scope` module provides functionality for managing resource lifecycles
11229
11296
  * and cleanup operations in a functional and composable manner.
@@ -11497,7 +11564,7 @@ const closeUnsafe = scopeCloseUnsafe;
11497
11564
  const use$1 = scopeUse;
11498
11565
 
11499
11566
  //#endregion
11500
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Layer.js
11567
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Layer.js
11501
11568
  const TypeId$63 = "~effect/Layer";
11502
11569
  const MemoMapTypeId = "~effect/Layer/MemoMap";
11503
11570
  /**
@@ -12359,7 +12426,7 @@ const orDie$3 = (self) => fromBuildUnsafe((memoMap, scope) => orDie$4(self.build
12359
12426
  const fresh = (self) => fromBuildUnsafe((_, scope) => self.build(makeMemoMapUnsafe(), scope));
12360
12427
 
12361
12428
  //#endregion
12362
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/ExecutionPlan.js
12429
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/ExecutionPlan.js
12363
12430
  /**
12364
12431
  * @since 3.16.0
12365
12432
  * @category Type IDs
@@ -12393,7 +12460,7 @@ const CurrentMetadata$1 = /* @__PURE__ */ Reference("effect/ExecutionPlan/Curren
12393
12460
  }) });
12394
12461
 
12395
12462
  //#endregion
12396
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Cause.js
12463
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Cause.js
12397
12464
  /**
12398
12465
  * @since 2.0.0
12399
12466
  */
@@ -12965,7 +13032,7 @@ const failureAnnotations = failureAnnotations$1;
12965
13032
  const annotations = causeAnnotations;
12966
13033
 
12967
13034
  //#endregion
12968
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Clock.js
13035
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Clock.js
12969
13036
  /**
12970
13037
  * A reference to the current Clock service in the environment.
12971
13038
  *
@@ -13041,7 +13108,7 @@ const currentTimeMillis = currentTimeMillis$1;
13041
13108
  const currentTimeNanos = currentTimeNanos$1;
13042
13109
 
13043
13110
  //#endregion
13044
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/dateTime.js
13111
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/dateTime.js
13045
13112
  /** @internal */
13046
13113
  const TypeId$60 = "~effect/time/DateTime";
13047
13114
  /** @internal */
@@ -13652,7 +13719,7 @@ const formatIsoOffset$1 = (self) => {
13652
13719
  const formatIsoZoned$1 = (self) => self.zone._tag === "Offset" ? formatIsoOffset$1(self) : `${formatIsoOffset$1(self)}[${self.zone.id}]`;
13653
13720
 
13654
13721
  //#endregion
13655
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Number.js
13722
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Number.js
13656
13723
  /**
13657
13724
  * The global `Number` constructor.
13658
13725
  *
@@ -13705,7 +13772,7 @@ const isNumber = isNumber$1;
13705
13772
  const Order$3 = Number$5;
13706
13773
 
13707
13774
  //#endregion
13708
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/String.js
13775
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/String.js
13709
13776
  /**
13710
13777
  * Reference to the global `String` constructor.
13711
13778
  *
@@ -13779,7 +13846,7 @@ const trim = (self) => self.trim();
13779
13846
  const isNonEmpty$1 = (self) => self.length > 0;
13780
13847
 
13781
13848
  //#endregion
13782
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Pull.js
13849
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Pull.js
13783
13850
  /**
13784
13851
  * @since 4.0.0
13785
13852
  */
@@ -13861,7 +13928,7 @@ const matchEffect$1 = /* @__PURE__ */ dual(2, (self, options) => matchCauseEffec
13861
13928
  }));
13862
13929
 
13863
13930
  //#endregion
13864
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Schedule.js
13931
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Schedule.js
13865
13932
  /**
13866
13933
  * This module provides utilities for creating and composing schedules for retrying operations,
13867
13934
  * repeating effects, and implementing various timing strategies.
@@ -14408,13 +14475,13 @@ const while_ = /* @__PURE__ */ dual(2, (self, predicate) => fromStep(map$11(toSt
14408
14475
  const forever$1 = /* @__PURE__ */ spaced(zero);
14409
14476
 
14410
14477
  //#endregion
14411
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/layer.js
14478
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/layer.js
14412
14479
  const provideLayer = (self, layer, options) => scopedWith$1((scope) => flatMap$4(options?.local ? buildWithMemoMap(layer, makeMemoMapUnsafe(), scope) : buildWithScope(layer, scope), (context) => provideServices$1(self, context)));
14413
14480
  /** @internal */
14414
14481
  const provide$2 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, source, options) => isServiceMap(source) ? provideServices$1(self, source) : provideLayer(self, Array.isArray(source) ? mergeAll(...source) : source, options));
14415
14482
 
14416
14483
  //#endregion
14417
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/schedule.js
14484
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/schedule.js
14418
14485
  /** @internal */
14419
14486
  const repeatOrElse$1 = /* @__PURE__ */ dual(3, (self, schedule, orElse) => flatMap$4(toStepWithMetadata(schedule), (step) => {
14420
14487
  let meta = CurrentMetadata.defaultValue();
@@ -14473,7 +14540,7 @@ const buildFromOptions = (options) => {
14473
14540
  };
14474
14541
 
14475
14542
  //#endregion
14476
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/executionPlan.js
14543
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/executionPlan.js
14477
14544
  /** @internal */
14478
14545
  const withExecutionPlan$1 = /* @__PURE__ */ dual(2, (self, plan) => suspend$4(() => {
14479
14546
  let i = 0;
@@ -14532,7 +14599,7 @@ const scheduleFromStep = (step, first) => {
14532
14599
  const scheduleOnce = /* @__PURE__ */ recurs(1);
14533
14600
 
14534
14601
  //#endregion
14535
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Request.js
14602
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Request.js
14536
14603
  const TypeId$58 = "~effect/Request";
14537
14604
  const requestVariance = /* @__PURE__ */ byReferenceUnsafe({
14538
14605
  _E: (_) => _,
@@ -14553,7 +14620,7 @@ const RequestPrototype = {
14553
14620
  const makeEntry = (options) => options;
14554
14621
 
14555
14622
  //#endregion
14556
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/request.js
14623
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/request.js
14557
14624
  /** @internal */
14558
14625
  const request$2 = /* @__PURE__ */ dual(2, (self, resolver) => {
14559
14626
  const withResolver = (resolver) => callback$2((resume) => {
@@ -14653,7 +14720,7 @@ function runBatch(batch) {
14653
14720
  }
14654
14721
 
14655
14722
  //#endregion
14656
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Effect.js
14723
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Effect.js
14657
14724
  const TypeId$57 = EffectTypeId$1;
14658
14725
  /**
14659
14726
  * Tests if a value is an `Effect`.
@@ -20082,6 +20149,14 @@ const forkScoped = forkScoped$1;
20082
20149
  */
20083
20150
  const forkDetach = forkDetach$1;
20084
20151
  /**
20152
+ * Waits for all child fibers forked by this effect to complete before this
20153
+ * effect completes.
20154
+ *
20155
+ * @since 2.0.0
20156
+ * @category Supervision & Fibers
20157
+ */
20158
+ const awaitAllChildren = awaitAllChildren$1;
20159
+ /**
20085
20160
  * Access the fiber currently executing the effect.
20086
20161
  *
20087
20162
  * @example
@@ -21150,7 +21225,7 @@ const catchEager = catchEager$1;
21150
21225
  const fnUntracedEager = fnUntracedEager$1;
21151
21226
 
21152
21227
  //#endregion
21153
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/record.js
21228
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/record.js
21154
21229
  /**
21155
21230
  * @since 4.0.0
21156
21231
  */
@@ -21167,7 +21242,7 @@ function set$10(self, key, value) {
21167
21242
  }
21168
21243
 
21169
21244
  //#endregion
21170
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/schema/annotations.js
21245
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/schema/annotations.js
21171
21246
  /** @internal */
21172
21247
  function resolve$2(ast) {
21173
21248
  return ast.checks ? ast.checks[ast.checks.length - 1].annotations : ast.annotations;
@@ -21190,7 +21265,7 @@ const getExpected = /* @__PURE__ */ memoize((ast) => {
21190
21265
  });
21191
21266
 
21192
21267
  //#endregion
21193
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/RegExp.js
21268
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/RegExp.js
21194
21269
  /**
21195
21270
  * This module provides utility functions for working with RegExp in TypeScript.
21196
21271
  *
@@ -21245,7 +21320,7 @@ const isRegExp = isRegExp$1;
21245
21320
  const escape = (string) => string.replace(/[/\\^$*+?.()|[\]{}]/g, "\\$&");
21246
21321
 
21247
21322
  //#endregion
21248
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/DateTime.js
21323
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/DateTime.js
21249
21324
  TypeId$60;
21250
21325
  TimeZoneTypeId;
21251
21326
  /**
@@ -22859,7 +22934,7 @@ const formatIsoZoned = formatIsoZoned$1;
22859
22934
  const layerCurrentZoneNamed = /* @__PURE__ */ effect$1(CurrentTimeZone)(zoneMakeNamedEffect$1);
22860
22935
 
22861
22936
  //#endregion
22862
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/encoding/EncodingError.js
22937
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/encoding/EncodingError.js
22863
22938
  /**
22864
22939
  * @since 4.0.0
22865
22940
  */
@@ -22876,7 +22951,7 @@ var EncodingError = class extends TaggedError("EncodingError") {
22876
22951
  };
22877
22952
 
22878
22953
  //#endregion
22879
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/encoding/Base64.js
22954
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/encoding/Base64.js
22880
22955
  /**
22881
22956
  * This module provides encoding & decoding functionality for:
22882
22957
  *
@@ -23181,7 +23256,7 @@ const base64codes = [
23181
23256
  ];
23182
23257
 
23183
23258
  //#endregion
23184
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/encoding/Base64Url.js
23259
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/encoding/Base64Url.js
23185
23260
  /**
23186
23261
  * Encodes the given value into a base64 (URL) `string`.
23187
23262
  *
@@ -23204,7 +23279,7 @@ const encodeUint8Array = (data) => encode$1(data).replace(/=/g, "").replace(/\+/
23204
23279
  const encoder$1 = /* @__PURE__ */ new TextEncoder();
23205
23280
 
23206
23281
  //#endregion
23207
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/redacted.js
23282
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/redacted.js
23208
23283
  /** @internal */
23209
23284
  const redactedRegistry = /* @__PURE__ */ new WeakMap();
23210
23285
  /** @internal */
@@ -23214,7 +23289,7 @@ const value$3 = (self) => {
23214
23289
  };
23215
23290
 
23216
23291
  //#endregion
23217
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Redacted.js
23292
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Redacted.js
23218
23293
  /**
23219
23294
  * The Redacted module provides functionality for handling sensitive information
23220
23295
  * securely within your application. By using the `Redacted` data type, you can
@@ -23297,7 +23372,7 @@ const Proto$20 = {
23297
23372
  const value$2 = value$3;
23298
23373
 
23299
23374
  //#endregion
23300
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/SchemaIssue.js
23375
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/SchemaIssue.js
23301
23376
  const TypeId$55 = "~effect/SchemaIssue/Issue";
23302
23377
  /**
23303
23378
  * @since 4.0.0
@@ -23703,7 +23778,7 @@ function formatOption(actual) {
23703
23778
  }
23704
23779
 
23705
23780
  //#endregion
23706
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/SchemaGetter.js
23781
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/SchemaGetter.js
23707
23782
  /**
23708
23783
  * @since 4.0.0
23709
23784
  */
@@ -23879,7 +23954,7 @@ function collectBracketPathEntries(isLeaf) {
23879
23954
  }
23880
23955
 
23881
23956
  //#endregion
23882
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/SchemaTransformation.js
23957
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/SchemaTransformation.js
23883
23958
  /**
23884
23959
  * @since 4.0.0
23885
23960
  */
@@ -23991,7 +24066,7 @@ const uint8ArrayFromBase64String = /* @__PURE__ */ new Transformation(/* @__PURE
23991
24066
  const fromJsonString$1 = /* @__PURE__ */ new Transformation(/* @__PURE__ */ parseJson$1(), /* @__PURE__ */ stringifyJson());
23992
24067
 
23993
24068
  //#endregion
23994
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/SchemaAST.js
24069
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/SchemaAST.js
23995
24070
  /**
23996
24071
  * @since 4.0.0
23997
24072
  */
@@ -25082,7 +25157,9 @@ var FilterGroup = class FilterGroup extends Class$4 {
25082
25157
  function makeFilter$1(filter, annotations, aborted = false) {
25083
25158
  return new Filter((input, ast, options) => make$51(input, filter(input, ast, options)), annotations, aborted);
25084
25159
  }
25085
- /** @internal */
25160
+ /**
25161
+ * @since 4.0.0
25162
+ */
25086
25163
  function isPattern$1(regExp, annotations) {
25087
25164
  const source = regExp.source;
25088
25165
  return makeFilter$1((s) => regExp.test(s), {
@@ -25178,21 +25255,25 @@ function annotateKey(ast, annotations) {
25178
25255
  }
25179
25256
  /** @internal */
25180
25257
  const optionalKeyLastLink = /* @__PURE__ */ applyToLastLink(optionalKey$1);
25181
- /** @internal */
25258
+ /**
25259
+ * @since 4.0.0
25260
+ */
25182
25261
  function optionalKey$1(ast) {
25183
25262
  return optionalKeyLastLink(replaceContext(ast, ast.context ? ast.context.isOptional === false ? new Context(true, ast.context.isMutable, ast.context.defaultValue, ast.context.annotations) : ast.context : new Context(true, false)));
25184
25263
  }
25185
25264
  /** @internal */
25186
25265
  function withConstructorDefault$1(ast, defaultValue) {
25187
25266
  const encoding = [new Link(unknown, new Transformation(new Getter((o) => {
25188
- if (isNone(filter$8(o, isNotUndefined))) {
25267
+ if (isNone(filter$9(o, isNotUndefined))) {
25189
25268
  const oe = defaultValue(o);
25190
25269
  return isEffect(oe) ? oe : succeed$1(oe);
25191
25270
  } else return succeed$1(o);
25192
25271
  }), passthrough$1()))];
25193
25272
  return replaceContext(ast, ast.context ? new Context(ast.context.isOptional, ast.context.isMutable, encoding, ast.context.annotations) : new Context(false, false, encoding));
25194
25273
  }
25195
- /** @internal */
25274
+ /**
25275
+ * @since 4.0.0
25276
+ */
25196
25277
  function decodeTo$1(from, to, transformation) {
25197
25278
  return appendTransformation(from, transformation, to);
25198
25279
  }
@@ -25442,7 +25523,7 @@ const resolveTitle = resolveTitle$1;
25442
25523
  const resolveDescription = resolveDescription$1;
25443
25524
 
25444
25525
  //#endregion
25445
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Brand.js
25526
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Brand.js
25446
25527
  /**
25447
25528
  * This function returns a `Constructor` that **does not apply any runtime
25448
25529
  * checks**, it just returns the provided value. It can be used to create
@@ -25464,7 +25545,7 @@ function nominal() {
25464
25545
  }
25465
25546
 
25466
25547
  //#endregion
25467
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/PlatformError.js
25548
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/PlatformError.js
25468
25549
  /**
25469
25550
  * @since 4.0.0
25470
25551
  */
@@ -25525,7 +25606,7 @@ const systemError = (options) => new PlatformError(new SystemError(options));
25525
25606
  const badArgument = (options) => new PlatformError(new BadArgument(options));
25526
25607
 
25527
25608
  //#endregion
25528
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Chunk.js
25609
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Chunk.js
25529
25610
  /**
25530
25611
  * The `Chunk` module provides an immutable, high-performance sequence data structure
25531
25612
  * optimized for functional programming patterns. A `Chunk` is a persistent data structure
@@ -26267,7 +26348,7 @@ const reduce$2 = reduce$3;
26267
26348
  const reduceRight = reduceRight$1;
26268
26349
 
26269
26350
  //#endregion
26270
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Fiber.js
26351
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Fiber.js
26271
26352
  `${version$1}`;
26272
26353
  const await_ = fiberAwait;
26273
26354
  /**
@@ -26475,7 +26556,7 @@ const getCurrent = getCurrentFiber;
26475
26556
  const runIn = fiberRunIn;
26476
26557
 
26477
26558
  //#endregion
26478
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/MutableList.js
26559
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/MutableList.js
26479
26560
  /**
26480
26561
  * A unique symbol used to represent an empty result when taking elements from a MutableList.
26481
26562
  * This symbol is returned by `take` when the list is empty, allowing for safe type checking.
@@ -26896,7 +26977,7 @@ const filter$3 = (self, f) => {
26896
26977
  const remove$6 = (self, value) => filter$3(self, (v) => v !== value);
26897
26978
 
26898
26979
  //#endregion
26899
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/MutableRef.js
26980
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/MutableRef.js
26900
26981
  const TypeId$50 = "~effect/MutableRef";
26901
26982
  const MutableRefProto = {
26902
26983
  [TypeId$50]: TypeId$50,
@@ -26981,7 +27062,7 @@ const set$9 = /* @__PURE__ */ dual(2, (self, value) => {
26981
27062
  });
26982
27063
 
26983
27064
  //#endregion
26984
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/PubSub.js
27065
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/PubSub.js
26985
27066
  /**
26986
27067
  * This module provides utilities for working with publish-subscribe (PubSub) systems.
26987
27068
  *
@@ -27215,7 +27296,7 @@ var PubSubImpl = class {
27215
27296
  };
27216
27297
 
27217
27298
  //#endregion
27218
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Queue.js
27299
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Queue.js
27219
27300
  const TypeId$48 = "~effect/Queue";
27220
27301
  const EnqueueTypeId = "~effect/Queue/Enqueue";
27221
27302
  const DequeueTypeId = "~effect/Queue/Dequeue";
@@ -27846,7 +27927,7 @@ const finalize = (self, exit) => {
27846
27927
  };
27847
27928
 
27848
27929
  //#endregion
27849
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Channel.js
27930
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Channel.js
27850
27931
  /**
27851
27932
  * The `Channel` module provides a powerful abstraction for bi-directional communication
27852
27933
  * and streaming operations. A `Channel` is a nexus of I/O operations that supports both
@@ -29182,7 +29263,7 @@ const toPull$1 = /* @__PURE__ */ fnUntraced(function* (self) {
29182
29263
  const toPullScoped = (self, scope) => toTransform(self)(done(), scope);
29183
29264
 
29184
29265
  //#endregion
29185
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/stream.js
29266
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/stream.js
29186
29267
  const TypeId$46 = "~effect/Stream";
29187
29268
  const streamVariance = {
29188
29269
  _R: identity,
@@ -29203,7 +29284,7 @@ const fromChannel$2 = (channel) => {
29203
29284
  };
29204
29285
 
29205
29286
  //#endregion
29206
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Sink.js
29287
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Sink.js
29207
29288
  const TypeId$45 = "~effect/Sink";
29208
29289
  const endVoid = /* @__PURE__ */ succeed$1([void 0]);
29209
29290
  const sinkVariance = {
@@ -29409,7 +29490,7 @@ const forEachArray = (f) => fromTransform((upstream) => upstream.pipe(flatMap$2(
29409
29490
  const unwrap$1 = (effect) => fromChannel$1(unwrap$2(map$8(effect, toChannel$1)));
29410
29491
 
29411
29492
  //#endregion
29412
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/MutableHashMap.js
29493
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/MutableHashMap.js
29413
29494
  const TypeId$44 = "~effect/collections/MutableHashMap";
29414
29495
  const MutableHashMapProto = {
29415
29496
  [TypeId$44]: TypeId$44,
@@ -29776,7 +29857,7 @@ const clear$1 = (self) => {
29776
29857
  const size$2 = (self) => self.backing.size;
29777
29858
 
29778
29859
  //#endregion
29779
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/RcMap.js
29860
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/RcMap.js
29780
29861
  /**
29781
29862
  * @since 3.5.0
29782
29863
  */
@@ -29976,7 +30057,7 @@ const invalidate$4 = /* @__PURE__ */ dual(2, /* @__PURE__ */ fnUntraced(function
29976
30057
  }, uninterruptible));
29977
30058
 
29978
30059
  //#endregion
29979
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/rcRef.js
30060
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/rcRef.js
29980
30061
  const TypeId$42 = "~effect/RcRef";
29981
30062
  const stateEmpty = { _tag: "Empty" };
29982
30063
  const stateClosed = { _tag: "Closed" };
@@ -30075,7 +30156,7 @@ const invalidate$3 = (self_) => {
30075
30156
  };
30076
30157
 
30077
30158
  //#endregion
30078
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/RcRef.js
30159
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/RcRef.js
30079
30160
  /**
30080
30161
  * Create an `RcRef` from an acquire `Effect`.
30081
30162
  *
@@ -30150,7 +30231,7 @@ const get$8 = get$9;
30150
30231
  const invalidate$2 = invalidate$3;
30151
30232
 
30152
30233
  //#endregion
30153
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Stream.js
30234
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Stream.js
30154
30235
  /**
30155
30236
  * @since 2.0.0
30156
30237
  */
@@ -30505,7 +30586,7 @@ const fromReadableStream = (options) => fromChannel(fromTransform$1(fnUntraced(f
30505
30586
  return flatMap$2(tryPromise({
30506
30587
  try: () => reader.read(),
30507
30588
  catch: (reason) => options.onError(reason)
30508
- }), ({ done: done$6, value }) => done$6 ? done() : succeed$1(of$1(value)));
30589
+ }), ({ done: done$4, value }) => done$4 ? done() : succeed$1(of$1(value)));
30509
30590
  })));
30510
30591
  /**
30511
30592
  * Like `Stream.unfold`, but allows the emission of values to end one step further
@@ -30534,12 +30615,12 @@ const fromReadableStream = (options) => fromChannel(fromTransform$1(fnUntraced(f
30534
30615
  */
30535
30616
  const paginate$1 = (s, f) => fromPull(sync(() => {
30536
30617
  let state = s;
30537
- let done$10 = false;
30618
+ let done$9 = false;
30538
30619
  return suspend$3(function loop() {
30539
- if (done$10) return done();
30620
+ if (done$9) return done();
30540
30621
  const result = f(state);
30541
30622
  return flatMap$2(isEffect(result) ? result : succeed$1(result), ([a, s]) => {
30542
- if (isNone(s)) done$10 = true;
30623
+ if (isNone(s)) done$9 = true;
30543
30624
  else state = s.value;
30544
30625
  if (!isReadonlyArrayNonEmpty(a)) return loop();
30545
30626
  return succeed$1(a);
@@ -30863,7 +30944,7 @@ const debounce = /* @__PURE__ */ dual(2, (self, duration) => transformPull(self,
30863
30944
  * @category Aggregation
30864
30945
  */
30865
30946
  const transduce = /* @__PURE__ */ dual(2, (self, sink) => transformPull(self, (upstream, scope) => sync(() => {
30866
- let done$9;
30947
+ let done$8;
30867
30948
  let leftover;
30868
30949
  const upstreamWithLeftover = suspend$3(() => {
30869
30950
  if (leftover !== void 0) {
@@ -30873,14 +30954,14 @@ const transduce = /* @__PURE__ */ dual(2, (self, sink) => transformPull(self, (u
30873
30954
  }
30874
30955
  return upstream;
30875
30956
  }).pipe(catch_$1((error) => {
30876
- done$9 = fail$6(error);
30957
+ done$8 = fail$6(error);
30877
30958
  return done();
30878
30959
  }));
30879
30960
  const pull = map$8(suspend$3(() => sink.transform(upstreamWithLeftover, scope)), ([value, leftover_]) => {
30880
30961
  leftover = leftover_;
30881
30962
  return of$1(value);
30882
30963
  });
30883
- return suspend$3(() => done$9 ? done$9 : pull);
30964
+ return suspend$3(() => done$8 ? done$8 : pull);
30884
30965
  })));
30885
30966
  /**
30886
30967
  * Pipes this stream through a channel that consumes and emits chunked elements.
@@ -31013,7 +31094,7 @@ const changesWith = /* @__PURE__ */ dual(2, (self, f) => transformPull(self, (pu
31013
31094
  */
31014
31095
  const decodeText = /* @__PURE__ */ dual((args) => isStream(args[0]), (self, encoding) => suspend$1(() => {
31015
31096
  const decoder = new TextDecoder(encoding);
31016
- return map$6(self, (chunk) => decoder.decode(chunk));
31097
+ return map$6(self, (chunk) => decoder.decode(chunk, { stream: true }));
31017
31098
  }));
31018
31099
  /**
31019
31100
  * Splits a stream of strings into lines, handling `\n`, `\r`, and `\r\n` delimiters across chunks.
@@ -31320,7 +31401,7 @@ const toReadableStreamWith = /* @__PURE__ */ dual((args) => isStream(args[0]), (
31320
31401
  const toReadableStreamEffect = /* @__PURE__ */ dual((args) => isStream(args[0]), (self, options) => map$8(services(), (context) => toReadableStreamWith(self, context, options)));
31321
31402
 
31322
31403
  //#endregion
31323
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/FileSystem.js
31404
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/FileSystem.js
31324
31405
  /**
31325
31406
  * This module provides a comprehensive file system abstraction that supports both synchronous
31326
31407
  * and asynchronous file operations through Effect. It includes utilities for file I/O, directory
@@ -31543,7 +31624,7 @@ const FileDescriptor = /* @__PURE__ */ nominal();
31543
31624
  var WatchBackend = class extends Service$1()("effect/platform/FileSystem/WatchBackend") {};
31544
31625
 
31545
31626
  //#endregion
31546
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Path.js
31627
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Path.js
31547
31628
  /**
31548
31629
  * @since 4.0.0
31549
31630
  */
@@ -31968,7 +32049,7 @@ const posixImpl = /* @__PURE__ */ Path$1.of({
31968
32049
  });
31969
32050
 
31970
32051
  //#endregion
31971
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/ConfigProvider.js
32052
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/ConfigProvider.js
31972
32053
  /**
31973
32054
  * @category Constructors
31974
32055
  * @since 4.0.0
@@ -32079,7 +32160,7 @@ function trieNodeAt(root, path) {
32079
32160
  }
32080
32161
 
32081
32162
  //#endregion
32082
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/LogLevel.js
32163
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/LogLevel.js
32083
32164
  /**
32084
32165
  * @since 2.0.0
32085
32166
  *
@@ -32280,7 +32361,7 @@ const isGreaterThan$1 = isLogLevelGreaterThan;
32280
32361
  const isLessThan$1 = /* @__PURE__ */ isLessThan$4(Order);
32281
32362
 
32282
32363
  //#endregion
32283
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Struct.js
32364
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Struct.js
32284
32365
  /**
32285
32366
  * Given a struct of `Equivalence`s returns a new `Equivalence` that compares values of a struct
32286
32367
  * by applying each `Equivalence` to the corresponding property of the struct.
@@ -32355,7 +32436,7 @@ const makeOrder = Struct$2;
32355
32436
  const lambda = (f) => f;
32356
32437
 
32357
32438
  //#endregion
32358
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/SchemaParser.js
32439
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/SchemaParser.js
32359
32440
  /**
32360
32441
  * @since 4.0.0
32361
32442
  */
@@ -32593,7 +32674,7 @@ const recur$1 = /* @__PURE__ */ memoize((ast) => {
32593
32674
  });
32594
32675
 
32595
32676
  //#endregion
32596
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/JsonPointer.js
32677
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/JsonPointer.js
32597
32678
  /**
32598
32679
  * Utilities for escaping and unescaping JSON Pointer reference tokens according to RFC 6901.
32599
32680
  *
@@ -32687,7 +32768,7 @@ function escapeToken(token) {
32687
32768
  }
32688
32769
 
32689
32770
  //#endregion
32690
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/schema/schema.js
32771
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/schema/schema.js
32691
32772
  /** @internal */
32692
32773
  const TypeId$38 = "~effect/Schema/Schema";
32693
32774
  const SchemaProto = {
@@ -32716,7 +32797,7 @@ function make$40(ast, options) {
32716
32797
  }
32717
32798
 
32718
32799
  //#endregion
32719
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/schema/to-codec.js
32800
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/schema/to-codec.js
32720
32801
  /** @internal */
32721
32802
  const toCodecJson$1 = /* @__PURE__ */ toCodec((ast) => {
32722
32803
  const out = toCodecJsonBase(ast);
@@ -32786,7 +32867,7 @@ function makeReorder(getPriority) {
32786
32867
  const unknownToNull = /* @__PURE__ */ new Link(null_, /* @__PURE__ */ new Transformation(/* @__PURE__ */ passthrough$1(), /* @__PURE__ */ transform$3(() => null)));
32787
32868
 
32788
32869
  //#endregion
32789
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/schema/representation.js
32870
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/schema/representation.js
32790
32871
  /** @internal */
32791
32872
  function fromAST(ast) {
32792
32873
  const { references, representations: schemas } = fromASTs([ast]);
@@ -33398,7 +33479,7 @@ function getPartPattern(part) {
33398
33479
  }
33399
33480
 
33400
33481
  //#endregion
33401
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Schema.js
33482
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Schema.js
33402
33483
  const TypeId$37 = TypeId$38;
33403
33484
  /**
33404
33485
  * An API for creating schemas for parametric types.
@@ -35687,7 +35768,7 @@ function onSerializerEnsureArray(ast) {
35687
35768
  }
35688
35769
 
35689
35770
  //#endregion
35690
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Config.js
35771
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Config.js
35691
35772
  const TypeId$36 = "~effect/Config";
35692
35773
  /**
35693
35774
  * @since 4.0.0
@@ -35977,7 +36058,7 @@ function int(name) {
35977
36058
  }
35978
36059
 
35979
36060
  //#endregion
35980
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/CliError.js
36061
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/CliError.js
35981
36062
  /**
35982
36063
  * @since 4.0.0
35983
36064
  */
@@ -46981,7 +47062,7 @@ var require_dist = /* @__PURE__ */ __commonJSMin$1(((exports) => {
46981
47062
  }));
46982
47063
 
46983
47064
  //#endregion
46984
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/Primitive.js
47065
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/Primitive.js
46985
47066
  var import_ini = /* @__PURE__ */ __toESM(require_ini(), 1);
46986
47067
  var import_toml = /* @__PURE__ */ __toESM(require_toml(), 1);
46987
47068
  var import_dist = /* @__PURE__ */ __toESM(require_dist(), 1);
@@ -47136,10 +47217,11 @@ const date = /* @__PURE__ */ makeSchemaPrimitive("Date", DateValid);
47136
47217
  const choice$2 = (choices) => {
47137
47218
  const choiceMap = new Map(choices);
47138
47219
  const validChoices = choices.map(([key]) => format$3(key)).join(" | ");
47139
- return makePrimitive("Choice", (value) => {
47220
+ const primitive = makePrimitive("Choice", (value) => {
47140
47221
  if (choiceMap.has(value)) return succeed$1(choiceMap.get(value));
47141
47222
  return fail$4(`Expected ${validChoices}, got ${format$3(value)}`);
47142
47223
  });
47224
+ return Object.assign(primitive, { choiceKeys: choices.map(([key]) => key) });
47143
47225
  };
47144
47226
  /**
47145
47227
  * Creates a primitive that validates and resolves file system paths.
@@ -47248,9 +47330,11 @@ const getTypeName = (primitive) => {
47248
47330
  default: return "value";
47249
47331
  }
47250
47332
  };
47333
+ /** @internal */
47334
+ const getChoiceKeys = (primitive) => primitive._tag === "Choice" ? primitive.choiceKeys : void 0;
47251
47335
 
47252
47336
  //#endregion
47253
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Terminal.js
47337
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Terminal.js
47254
47338
  const TypeId$34 = "~effect/platform/Terminal";
47255
47339
  const QuitErrorTypeId = "effect/platform/Terminal/QuitError";
47256
47340
  /**
@@ -47288,7 +47372,7 @@ const make$37 = (impl) => Terminal.of({
47288
47372
  });
47289
47373
 
47290
47374
  //#endregion
47291
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/internal/ansi.js
47375
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/internal/ansi.js
47292
47376
  const ESC = "\x1B[";
47293
47377
  const BEL = "\x07";
47294
47378
  const SEP = ";";
@@ -47379,7 +47463,7 @@ const eraseLines = (rows) => {
47379
47463
  };
47380
47464
 
47381
47465
  //#endregion
47382
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/Prompt.js
47466
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/Prompt.js
47383
47467
  /**
47384
47468
  * @since 4.0.0
47385
47469
  */
@@ -48372,7 +48456,7 @@ const entriesToDisplay = (cursor, total, maxVisible) => {
48372
48456
  };
48373
48457
 
48374
48458
  //#endregion
48375
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/Param.js
48459
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/Param.js
48376
48460
  /**
48377
48461
  * @internal
48378
48462
  *
@@ -49062,7 +49146,7 @@ const getParamMetadata = (param) => {
49062
49146
  };
49063
49147
 
49064
49148
  //#endregion
49065
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/Argument.js
49149
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/Argument.js
49066
49150
  /**
49067
49151
  * Creates a positional path argument.
49068
49152
  *
@@ -49124,7 +49208,7 @@ const withDescription$2 = /* @__PURE__ */ dual(2, (self, description) => withDes
49124
49208
  const withDefault$1 = withDefault$2;
49125
49209
 
49126
49210
  //#endregion
49127
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/CliOutput.js
49211
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/CliOutput.js
49128
49212
  /**
49129
49213
  * Service reference for the CLI output formatter. Provides a default implementation
49130
49214
  * that can be overridden for custom formatting or testing.
@@ -49326,7 +49410,7 @@ const formatHelpDocImpl = (doc, colors) => {
49326
49410
  };
49327
49411
 
49328
49412
  //#endregion
49329
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Console.js
49413
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Console.js
49330
49414
  /**
49331
49415
  * A reference to the current console service in the Effect system.
49332
49416
  *
@@ -49419,7 +49503,7 @@ const log = (...args) => consoleWith((console) => sync$1(() => {
49419
49503
  }));
49420
49504
 
49421
49505
  //#endregion
49422
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/internal/config.js
49506
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/internal/config.js
49423
49507
  const ConfigInternalTypeId = "~effect/cli/Command/Config/Internal";
49424
49508
  /**
49425
49509
  * Parses a Command.Config into a ConfigInternal.
@@ -49489,7 +49573,7 @@ const reconstructTree = (tree, results) => {
49489
49573
  };
49490
49574
 
49491
49575
  //#endregion
49492
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/internal/command.js
49576
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/internal/command.js
49493
49577
  /**
49494
49578
  * Command Implementation
49495
49579
  * ======================
@@ -49642,470 +49726,537 @@ const getHelpForCommandPath = (command, commandPath) => {
49642
49726
  };
49643
49727
 
49644
49728
  //#endregion
49645
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/internal/completions/dynamic/bash.js
49646
- /**
49647
- * Dynamic Bash completion template.
49648
- * This generates a completion script that calls the CLI at runtime to get completions.
49649
- */
49650
- /** @internal */
49651
- const generateDynamicBashCompletion = (executableName, executablePath) => {
49652
- const appPath = executablePath || executableName;
49653
- return `###-begin-${executableName}-completions-###
49654
- #
49655
- # Effect CLI dynamic completion script for Bash
49656
- #
49657
- # Installation:
49658
- # ${appPath} --completions bash >> ~/.bashrc
49659
- # or ${appPath} --completions bash >> ~/.bash_profile on OSX.
49660
- #
49661
- _${executableName}_dynamic_completions()
49662
- {
49663
- local cur prev words cword
49664
-
49665
- # Initialize bash completion variables
49666
- _init_completion || return
49667
-
49668
- local IFS=$'\\n'
49669
-
49670
- # Call the CLI with special environment variables to get completions
49671
- # COMP_WORDS: All words in the current command line
49672
- # COMP_CWORD: Index of the current word being completed
49673
- # COMP_LINE: The full command line
49674
- # COMP_POINT: Cursor position
49675
- # COMP_TYPE: Type of completion (9 = normal, 63 = listing)
49676
-
49677
- local completions="$(
49678
- COMP_TYPE=9 \\
49679
- COMP_CWORD="$COMP_CWORD" \\
49680
- COMP_LINE="$COMP_LINE" \\
49681
- COMP_POINT="$COMP_POINT" \\
49682
- ${appPath} --get-completions "\${COMP_WORDS[@]}"
49683
- )"
49684
-
49685
- # Convert completions to array
49686
- COMPREPLY=( $(compgen -W "$completions" -- "$cur") )
49687
-
49688
- # If no completions, fall back to file completion
49689
- if [[ \${#COMPREPLY[@]} -eq 0 ]]; then
49690
- _filedir
49691
- fi
49692
-
49693
- return 0
49694
- }
49695
-
49696
- complete -F _${executableName}_dynamic_completions ${executableName}
49697
- ###-end-${executableName}-completions-###
49698
- `;
49729
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/internal/completions/CommandDescriptor.js
49730
+ const toFlagType = (single) => {
49731
+ switch (single.primitiveType._tag) {
49732
+ case "Boolean": return { _tag: "Boolean" };
49733
+ case "Integer": return { _tag: "Integer" };
49734
+ case "Float": return { _tag: "Float" };
49735
+ case "Date": return { _tag: "Date" };
49736
+ case "Choice": return {
49737
+ _tag: "Choice",
49738
+ values: getChoiceKeys(single.primitiveType) ?? []
49739
+ };
49740
+ case "Path": {
49741
+ const typeName = single.typeName;
49742
+ return {
49743
+ _tag: "Path",
49744
+ pathType: typeName === "file" ? "file" : typeName === "directory" ? "directory" : "either"
49745
+ };
49746
+ }
49747
+ default: return { _tag: "String" };
49748
+ }
49699
49749
  };
49700
-
49701
- //#endregion
49702
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/internal/completions/dynamic/fish.js
49703
- /**
49704
- * Dynamic Fish completion template.
49705
- * This generates a completion script that calls the CLI at runtime to get completions.
49706
- * Based on Fish's dynamic completion capabilities.
49707
- */
49708
- /** @internal */
49709
- const generateDynamicFishCompletion = (executableName, executablePath) => {
49710
- const appPath = executablePath || executableName;
49711
- return `###-begin-${executableName}-completions-###
49712
- #
49713
- # Effect CLI dynamic completion script for Fish
49714
- #
49715
- # Installation:
49716
- # ${appPath} --completions fish >> ~/.config/fish/completions/${executableName}.fish
49717
- # or ${appPath} --completions fish > ~/.config/fish/completions/${executableName}.fish
49718
- #
49719
-
49720
- # Dynamic completion function for ${executableName}
49721
- function __${executableName}_complete
49722
- # Get the current command line tokens
49723
- set -l cmd (commandline -pco)
49724
- set -l current (commandline -ct)
49725
-
49726
- # Calculate current word index (Fish uses 1-based indexing, but we need 0-based for compatibility)
49727
- set -l cword (math (count $cmd) - 1)
49728
-
49729
- # Get the full command line for context
49730
- set -l line (commandline -p)
49731
- set -l point (string length "$line")
49732
-
49733
- # Call the CLI with Fish-specific environment variables to get completions
49734
- # COMP_CWORD: Index of the current word being completed (0-based)
49735
- # COMP_LINE: The full command line
49736
- # COMP_POINT: Cursor position
49737
- # FISH_COMPLETION: Flag to indicate Fish completion format
49738
-
49739
- set -l completions (
49740
- env FISH_COMPLETION=1 \\
49741
- COMP_CWORD="$cword" \\
49742
- COMP_LINE="$line" \\
49743
- COMP_POINT="$point" \\
49744
- ${appPath} --get-completions $cmd 2>/dev/null
49745
- )
49746
-
49747
- # Output completions - Fish handles descriptions automatically with tab separation
49748
- for completion in $completions
49749
- echo $completion
49750
- end
49751
- end
49752
-
49753
- # Register the completion function for ${executableName}
49754
- # -f: no file completion by default (let the CLI decide)
49755
- # -a: use the output of our function as arguments
49756
- complete -c ${executableName} -f -a '(__${executableName}_complete)'
49757
- ###-end-${executableName}-completions-###
49758
- `;
49750
+ const toArgumentType = (single) => {
49751
+ switch (single.primitiveType._tag) {
49752
+ case "Integer": return { _tag: "Integer" };
49753
+ case "Float": return { _tag: "Float" };
49754
+ case "Date": return { _tag: "Date" };
49755
+ case "Choice": return {
49756
+ _tag: "Choice",
49757
+ values: getChoiceKeys(single.primitiveType) ?? []
49758
+ };
49759
+ case "Path": {
49760
+ const typeName = single.typeName;
49761
+ return {
49762
+ _tag: "Path",
49763
+ pathType: typeName === "file" ? "file" : typeName === "directory" ? "directory" : "either"
49764
+ };
49765
+ }
49766
+ default: return { _tag: "String" };
49767
+ }
49759
49768
  };
49760
-
49761
- //#endregion
49762
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/internal/completions/dynamic/zsh.js
49763
- /**
49764
- * Dynamic Zsh completion template.
49765
- * This generates a completion script that calls the CLI at runtime to get completions.
49766
- * Based on the yargs completion approach but adapted for Effect CLI.
49767
- */
49768
- /** @internal */
49769
- const generateDynamicZshCompletion = (executableName, executablePath) => {
49770
- const appPath = executablePath || executableName;
49771
- return `#compdef ${executableName}
49772
- ###-begin-${executableName}-completions-###
49773
- #
49774
- # Effect CLI dynamic completion script for Zsh
49775
- #
49776
- # Installation:
49777
- # ${appPath} --completions zsh >> ~/.zshrc
49778
- # or ${appPath} --completions zsh >> ~/.zprofile on OSX.
49779
- #
49780
- _${executableName}_dynamic_completions()
49781
- {
49782
- emulate -L zsh -o no_aliases
49783
- setopt local_options nonomatch extendedglob
49784
- compstate[insert]=menu
49785
-
49786
- local -a reply _${executableName}_options _${executableName}_commands _${executableName}_values
49787
- local _${executableName}_line _${executableName}_tag _${executableName}_data _${executableName}_file_kind=""
49788
- local ret=1 si=$IFS
49789
-
49790
- local _EFFECT_STYLES_VAR="_EFFECT_CLI_${executableName}_STYLES_INITIALIZED"
49791
- if [[ -z \${(P)_EFFECT_STYLES_VAR} ]]; then
49792
- zstyle ':completion:*:*:${executableName}:*' group-name ''
49793
- zstyle ':completion:*:*:${executableName}:*' verbose yes
49794
- zstyle ':completion:*:*:${executableName}:*' menu select=long-list
49795
- zstyle ':completion:*:*:${executableName}:*' tag-order 'commands' 'options' 'values' 'files'
49796
- zstyle ':completion:*:*:${executableName}:*:commands' format ''
49797
- zstyle ':completion:*:*:${executableName}:*:options' format ''
49798
- zstyle ':completion:*:*:${executableName}:*:values' format ''
49799
- [[ -n $LS_COLORS ]] && zstyle ':completion:*:*:${executableName}:*' list-colors \${(s.:.)LS_COLORS}
49800
- typeset -g "_EFFECT_CLI_${executableName}_STYLES_INITIALIZED=1"
49801
- fi
49802
-
49803
- IFS=$'\\n' reply=($(
49804
- EFFECT_COMPLETION_FORMAT="zsh" \\
49805
- COMP_CWORD="$((CURRENT-1))" \\
49806
- COMP_LINE="$BUFFER" \\
49807
- COMP_POINT="$CURSOR" \\
49808
- ${appPath} --get-completions "\${words[@]}"
49809
- ))
49810
- IFS=$si
49811
-
49812
- for _${executableName}_line in "\${reply[@]}"; do
49813
- [[ -z "\${_${executableName}_line}" ]] && continue
49814
-
49815
- if [[ "\${_${executableName}_line}" != *$'\\t'* ]]; then
49816
- _${executableName}_values+=("\${_${executableName}_line}")
49817
- continue
49818
- fi
49819
-
49820
- _${executableName}_tag="\${_${executableName}_line%%$'\\t'*}"
49821
- _${executableName}_data="\${_${executableName}_line#*$'\\t'}"
49822
-
49823
- case "\${_${executableName}_tag}" in
49824
- option)
49825
- _${executableName}_options+=("\${_${executableName}_data}")
49826
- ;;
49827
- command)
49828
- _${executableName}_commands+=("\${_${executableName}_data}")
49829
- ;;
49830
- value)
49831
- _${executableName}_values+=("\${_${executableName}_data}")
49832
- ;;
49833
- files)
49834
- _${executableName}_file_kind="\${_${executableName}_data}"
49835
- ;;
49836
- *)
49837
- _${executableName}_values+=("\${_${executableName}_data}")
49838
- ;;
49839
- esac
49840
- done
49841
-
49842
- if [[ -n "\${_${executableName}_file_kind}" ]]; then
49843
- case "\${_${executableName}_file_kind}" in
49844
- directory)
49845
- _files -/ && return 0
49846
- ;;
49847
- path|either)
49848
- _files && return 0
49849
- ;;
49850
- file)
49851
- _files -g '*' && return 0
49852
- ;;
49853
- esac
49854
- fi
49855
-
49856
- if (( \${#_${executableName}_commands[@]} > 0 )); then
49857
- _describe -t commands 'commands' _${executableName}_commands && ret=0
49858
- fi
49859
-
49860
- if (( \${#_${executableName}_options[@]} > 0 )); then
49861
- _describe -t options 'options' _${executableName}_options && ret=0
49862
- fi
49863
-
49864
- if (( \${#_${executableName}_values[@]} > 0 )); then
49865
- compadd -Q -- "\${_${executableName}_values[@]}" && ret=0
49866
- fi
49867
-
49868
- (( ret )) && _default
49869
-
49870
- return ret
49871
- }
49872
-
49873
- # Handle both direct invocation and autoload
49874
- if [[ "\${zsh_eval_context[-1]}" == "loadautofunc" ]]; then
49875
- _${executableName}_dynamic_completions "$@"
49876
- else
49877
- compdef _${executableName}_dynamic_completions ${executableName}
49878
- fi
49879
- ###-end-${executableName}-completions-###
49880
- `;
49769
+ /** @internal */
49770
+ const fromCommand = (cmd) => {
49771
+ const config = toImpl(cmd).config;
49772
+ const flags = [];
49773
+ for (const flag of config.flags) {
49774
+ const singles = extractSingleParams(flag);
49775
+ for (const single of singles) {
49776
+ if (single.kind !== "flag") continue;
49777
+ flags.push({
49778
+ name: single.name,
49779
+ aliases: single.aliases,
49780
+ description: single.description,
49781
+ type: toFlagType(single)
49782
+ });
49783
+ }
49784
+ }
49785
+ const args = [];
49786
+ for (const arg of config.arguments) {
49787
+ const singles = extractSingleParams(arg);
49788
+ const metadata = getParamMetadata(arg);
49789
+ for (const single of singles) {
49790
+ if (single.kind !== "argument") continue;
49791
+ args.push({
49792
+ name: single.name,
49793
+ description: single.description,
49794
+ required: !metadata.isOptional,
49795
+ variadic: metadata.isVariadic,
49796
+ type: toArgumentType(single)
49797
+ });
49798
+ }
49799
+ }
49800
+ const subcommands = cmd.subcommands.map(fromCommand);
49801
+ return {
49802
+ name: cmd.name,
49803
+ description: cmd.description,
49804
+ flags,
49805
+ arguments: args,
49806
+ subcommands
49807
+ };
49881
49808
  };
49882
49809
 
49883
49810
  //#endregion
49884
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/internal/completions/dynamic/core.js
49885
- /**
49886
- * Core dynamic completion functions.
49887
- */
49888
- /**
49889
- * Generate a dynamic completion script for the specified shell.
49890
- * The script will call the CLI at runtime to get completions.
49891
- *
49892
- * @internal
49893
- */
49894
- const generateDynamicCompletion = (executableName, shell, executablePath) => {
49895
- switch (shell) {
49896
- case "bash": return generateDynamicBashCompletion(executableName, executablePath);
49897
- case "zsh": return generateDynamicZshCompletion(executableName, executablePath);
49898
- case "fish": return generateDynamicFishCompletion(executableName, executablePath);
49811
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/internal/completions/bash.js
49812
+ const escapeForBash = (s) => s.replace(/'/g, "'\\''");
49813
+ const sanitizeFunctionName = (s) => s.replace(/[^a-zA-Z0-9_]/g, "_");
49814
+ const flagNamesForWordlist = (flag) => {
49815
+ const names = [`--${flag.name}`];
49816
+ for (const alias of flag.aliases) names.push(alias.length === 1 ? `-${alias}` : `--${alias}`);
49817
+ if (flag.type._tag === "Boolean") names.push(`--no-${flag.name}`);
49818
+ return names;
49819
+ };
49820
+ /**
49821
+ * Build an associative array mapping each flag form to a group index.
49822
+ * At completion time, if any form in a group appears in COMP_WORDS,
49823
+ * all forms in that group are removed from the candidate list.
49824
+ */
49825
+ const buildFlagGroupDeclarations = (flags, lines) => {
49826
+ if (flags.length === 0) return;
49827
+ lines.push(` # Build used-flag filter`);
49828
+ lines.push(` local -A _flag_groups`);
49829
+ let groupIdx = 0;
49830
+ for (const flag of flags) {
49831
+ const forms = flagNamesForWordlist(flag);
49832
+ for (const form of forms) lines.push(` _flag_groups[${form}]=${groupIdx}`);
49833
+ groupIdx++;
49834
+ }
49835
+ lines.push(` local -A _used_groups`);
49836
+ lines.push(` for ((i = 1; i < cword; i++)); do`);
49837
+ lines.push(` local _g="\${_flag_groups[\${words[i]}]:-}"`);
49838
+ lines.push(` [[ -n "$_g" ]] && _used_groups[$_g]=1`);
49839
+ lines.push(` done`);
49840
+ lines.push(` local _filtered_flags=""`);
49841
+ lines.push(` for _f in ${flags.flatMap(flagNamesForWordlist).join(" ")}; do`);
49842
+ lines.push(` local _g="\${_flag_groups[$_f]:-}"`);
49843
+ lines.push(` [[ -z "$_g" || -z "\${_used_groups[$_g]:-}" ]] && _filtered_flags+=" $_f"`);
49844
+ lines.push(` done`);
49845
+ lines.push(``);
49846
+ };
49847
+ const flagValueCompletion = (type) => {
49848
+ switch (type._tag) {
49849
+ case "Boolean": return;
49850
+ case "Choice": return `COMPREPLY=( $(compgen -W '${type.values.join(" ")}' -- "$cur") )`;
49851
+ case "Path":
49852
+ if (type.pathType === "directory") return `COMPREPLY=( $(compgen -d -- "$cur") )`;
49853
+ return `COMPREPLY=( $(compgen -f -- "$cur") )`;
49854
+ default: return;
49899
49855
  }
49900
49856
  };
49901
- /**
49902
- * Check if the current process is a completion request.
49903
- * This checks for the --get-completions flag or COMP_* environment variables.
49904
- *
49905
- * @internal
49906
- */
49907
- const isCompletionRequest = (args) => {
49908
- if (args.includes("--get-completions")) return true;
49909
- if (process.env.COMP_CWORD !== void 0 && process.env.COMP_LINE !== void 0) return true;
49910
- return false;
49857
+ const argCompletion = (type) => {
49858
+ switch (type._tag) {
49859
+ case "Choice": return `COMPREPLY=( $(compgen -W '${type.values.join(" ")}' -- "$cur") )`;
49860
+ case "Path":
49861
+ if (type.pathType === "directory") return `COMPREPLY=( $(compgen -d -- "$cur") )`;
49862
+ return `COMPREPLY=( $(compgen -f -- "$cur") )`;
49863
+ default: return;
49864
+ }
49865
+ };
49866
+ const generateFunction$1 = (descriptor, parentPath, lines) => {
49867
+ const currentPath = [...parentPath, descriptor.name];
49868
+ const funcName = `_${currentPath.map(sanitizeFunctionName).join("_")}`;
49869
+ lines.push(`${funcName}()`);
49870
+ lines.push(`{`);
49871
+ lines.push(` local cur prev words cword`);
49872
+ lines.push(` _init_completion || return`);
49873
+ lines.push(``);
49874
+ const flagsWithValues = descriptor.flags.filter((f) => f.type._tag !== "Boolean");
49875
+ if (flagsWithValues.length > 0) {
49876
+ lines.push(` # Flag value completions`);
49877
+ lines.push(` case "$prev" in`);
49878
+ for (const flag of flagsWithValues) {
49879
+ const longNames = [`--${flag.name}`];
49880
+ for (const alias of flag.aliases) longNames.push(alias.length === 1 ? `-${alias}` : `--${alias}`);
49881
+ const completion = flagValueCompletion(flag.type);
49882
+ if (completion) {
49883
+ lines.push(` ${longNames.join("|")})`);
49884
+ lines.push(` ${completion}`);
49885
+ lines.push(` return`);
49886
+ lines.push(` ;;`);
49887
+ }
49888
+ }
49889
+ lines.push(` esac`);
49890
+ lines.push(``);
49891
+ }
49892
+ if (descriptor.subcommands.length > 0) {
49893
+ lines.push(` # Subcommand dispatch`);
49894
+ lines.push(` local i cmd`);
49895
+ lines.push(` for ((i = 1; i < cword; i++)); do`);
49896
+ lines.push(` case "\${words[i]}" in`);
49897
+ for (const sub of descriptor.subcommands) {
49898
+ const subFuncName = `_${[...currentPath, sub.name].map(sanitizeFunctionName).join("_")}`;
49899
+ lines.push(` ${sub.name})`);
49900
+ lines.push(` ${subFuncName}`);
49901
+ lines.push(` return`);
49902
+ lines.push(` ;;`);
49903
+ }
49904
+ lines.push(` esac`);
49905
+ lines.push(` done`);
49906
+ lines.push(``);
49907
+ }
49908
+ buildFlagGroupDeclarations(descriptor.flags, lines);
49909
+ if (descriptor.flags.length > 0 || descriptor.subcommands.length > 0) {
49910
+ lines.push(` # Complete flags (filtered) and subcommands`);
49911
+ lines.push(` if [[ "$cur" == -* ]]; then`);
49912
+ if (descriptor.flags.length > 0) lines.push(` COMPREPLY=( $(compgen -W "$_filtered_flags" -- "$cur") )`);
49913
+ lines.push(` return`);
49914
+ lines.push(` fi`);
49915
+ lines.push(``);
49916
+ }
49917
+ const argsWithCompletions = descriptor.arguments.filter((a) => argCompletion(a.type) !== void 0);
49918
+ if (argsWithCompletions.length > 0) {
49919
+ lines.push(` # Positional argument completions`);
49920
+ for (const arg of argsWithCompletions) {
49921
+ const comp = argCompletion(arg.type);
49922
+ lines.push(` ${comp}`);
49923
+ lines.push(` return`);
49924
+ }
49925
+ } else if (descriptor.subcommands.length > 0) {
49926
+ const subNames = descriptor.subcommands.map((s) => s.name);
49927
+ lines.push(` COMPREPLY=( $(compgen -W '${subNames.join(" ")}' -- "$cur") )`);
49928
+ }
49929
+ lines.push(`}`);
49930
+ lines.push(``);
49931
+ for (const sub of descriptor.subcommands) generateFunction$1(sub, currentPath, lines);
49932
+ };
49933
+ /** @internal */
49934
+ const generate$3 = (executableName, descriptor) => {
49935
+ const lines = [];
49936
+ const safeName = sanitizeFunctionName(executableName);
49937
+ lines.push(`###-begin-${escapeForBash(executableName)}-completions-###`);
49938
+ lines.push(`#`);
49939
+ lines.push(`# Static completion script for Bash`);
49940
+ lines.push(`#`);
49941
+ lines.push(`# Installation:`);
49942
+ lines.push(`# ${escapeForBash(executableName)} --completions bash >> ~/.bashrc`);
49943
+ lines.push(`#`);
49944
+ lines.push(``);
49945
+ lines.push(`if ! type _init_completion &>/dev/null; then`);
49946
+ lines.push(` _init_completion()`);
49947
+ lines.push(` {`);
49948
+ lines.push(` COMPREPLY=()`);
49949
+ lines.push(` cur="\${COMP_WORDS[COMP_CWORD]}"`);
49950
+ lines.push(` prev="\${COMP_WORDS[COMP_CWORD-1]}"`);
49951
+ lines.push(` words=("\${COMP_WORDS[@]}")`);
49952
+ lines.push(` cword=$COMP_CWORD`);
49953
+ lines.push(` }`);
49954
+ lines.push(`fi`);
49955
+ lines.push(``);
49956
+ generateFunction$1(descriptor, [], lines);
49957
+ lines.push(`complete -F _${safeName} ${escapeForBash(executableName)}`);
49958
+ lines.push(`###-end-${escapeForBash(executableName)}-completions-###`);
49959
+ return lines.join("\n");
49911
49960
  };
49912
49961
 
49913
49962
  //#endregion
49914
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/internal/completions/shared.js
49915
- /** @internal */
49916
- const getSingles = (flags) => flags.flatMap(extractSingleParams).filter((s) => s.kind === "flag").map((s) => {
49917
- const description = s.description;
49918
- const base = {
49919
- name: s.name,
49920
- aliases: s.aliases,
49921
- primitiveTag: s.primitiveType._tag,
49922
- ...s.typeName !== void 0 ? { typeName: s.typeName } : {}
49923
- };
49924
- return typeof description === "string" ? {
49925
- ...base,
49926
- description
49927
- } : base;
49928
- });
49929
-
49930
- //#endregion
49931
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/internal/completions/types.js
49932
- /** @internal */
49933
- const optionRequiresValue = (s) => s.primitiveTag !== "Boolean";
49934
-
49935
- //#endregion
49936
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/internal/completions/dynamic/handler.js
49937
- /**
49938
- * Runtime completion handler for dynamic completion.
49939
- * This processes completion requests from the shell and returns appropriate suggestions.
49940
- */
49941
- /**
49942
- * Extract completion context from environment variables set by the shell.
49943
- *
49944
- * @internal
49945
- */
49946
- const getCompletionContext = () => {
49947
- const cword = process.env.COMP_CWORD;
49948
- const rawLine = process.env.COMP_LINE;
49949
- const point = process.env.COMP_POINT;
49950
- if (!cword) return null;
49951
- const currentIndex = parseInt(cword, 10);
49952
- const markerIndex = process.argv.indexOf("--get-completions");
49953
- const argvWords = markerIndex >= 0 ? process.argv.slice(markerIndex + 1) : [];
49954
- const fallbackLine = rawLine ?? "";
49955
- const fallbackWords = fallbackLine.length > 0 ? fallbackLine.split(/\s+/) : [];
49956
- const words = argvWords.length > 0 ? argvWords : fallbackWords;
49957
- if (words.length === 0 && fallbackLine.length === 0) return null;
49958
- const line = rawLine ?? words.join(" ");
49959
- return {
49960
- words,
49961
- currentWord: words[currentIndex] ?? "",
49962
- currentIndex,
49963
- line,
49964
- point: point ? parseInt(point, 10) : line.length
49965
- };
49963
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/internal/completions/fish.js
49964
+ const escapeFishString = (s) => s.replace(/'/g, "\\'");
49965
+ /**
49966
+ * Build a Fish condition that checks the current subcommand context.
49967
+ *
49968
+ * For root-level completions with subcommands: `__fish_use_subcommand`
49969
+ * For nested commands: verify the parent subcommand is active AND none of its
49970
+ * child subcommands have been entered yet.
49971
+ */
49972
+ const subcommandCondition = (parentPath, childSubcommandNames) => {
49973
+ if (parentPath.length === 0) {
49974
+ if (childSubcommandNames.length > 0) return `__fish_use_subcommand`;
49975
+ return ``;
49976
+ }
49977
+ const parent = parentPath[parentPath.length - 1];
49978
+ if (childSubcommandNames.length > 0) return `__fish_seen_subcommand_from ${parent}; and not __fish_seen_subcommand_from ${childSubcommandNames.join(" ")}`;
49979
+ return `__fish_seen_subcommand_from ${parent}`;
49980
+ };
49981
+ /**
49982
+ * Build a __fish_contains_opt condition that checks whether any form of this
49983
+ * flag has already been typed. Returns the condition string without wrapping
49984
+ * quotes (the caller adds those).
49985
+ */
49986
+ const flagContainsOptCondition = (flag) => {
49987
+ const optArgs = [];
49988
+ for (const alias of flag.aliases) if (alias.length === 1) optArgs.push(`-s ${alias}`);
49989
+ optArgs.push(flag.name);
49990
+ for (const alias of flag.aliases) if (alias.length > 1) optArgs.push(alias);
49991
+ if (flag.type._tag === "Boolean") optArgs.push(`no-${flag.name}`);
49992
+ return `not __fish_contains_opt ${optArgs.join(" ")}`;
49993
+ };
49994
+ const flagCompletionArgs = (flag) => {
49995
+ const args = [`-l ${flag.name}`];
49996
+ for (const alias of flag.aliases) if (alias.length === 1) args.push(`-s ${alias}`);
49997
+ else args.push(`-l ${alias}`);
49998
+ if (flag.description) args.push(`-d '${escapeFishString(flag.description)}'`);
49999
+ const valueArgs = flagValueArgs(flag.type);
50000
+ if (valueArgs) args.push(valueArgs);
50001
+ return args;
49966
50002
  };
49967
- const lookupFlag = (token, flags) => flags.find((flag) => token === `--${flag.name}` || flag.aliases.some((a) => token === (a.length === 1 ? `-${a}` : `--${a}`)));
49968
- const formatAlias = (alias) => {
49969
- if (alias.startsWith("-")) return alias;
49970
- return alias.length === 1 ? `-${alias}` : `--${alias}`;
49971
- };
49972
- const getTypeLabel = (flag) => {
49973
- if (flag.typeName) switch (flag.typeName) {
49974
- case "directory": return "type: directory";
49975
- case "file": return "type: file";
49976
- case "either":
49977
- case "path": return "type: path";
49978
- default: return `type: ${flag.typeName}`;
49979
- }
49980
- switch (flag.primitiveTag) {
49981
- case "Boolean": return "type: boolean";
49982
- case "Integer": return "type: integer";
49983
- case "Float": return "type: number";
49984
- case "Date": return "type: date";
49985
- case "Path": return "type: path";
49986
- default: return;
50003
+ const flagValueArgs = (type) => {
50004
+ switch (type._tag) {
50005
+ case "Boolean": return;
50006
+ case "Choice": return `-r -f -a '${type.values.join(" ")}'`;
50007
+ case "Path":
50008
+ if (type.pathType === "directory") return `-r -F`;
50009
+ return `-r -F`;
50010
+ default: return `-r -f`;
49987
50011
  }
49988
50012
  };
49989
- const buildFlagDescription = (flag) => {
49990
- const parts = [];
49991
- const aliasParts = flag.aliases.map(formatAlias).filter((alias) => alias !== `--${flag.name}`);
49992
- const baseDescription = flag.description ?? `--${flag.name}`;
49993
- if (aliasParts.length > 0) parts.push(`${aliasParts.join(", ")} -- ${baseDescription}`);
49994
- else parts.push(baseDescription);
49995
- const typeLabel = getTypeLabel(flag);
49996
- if (typeLabel) parts.push(typeLabel);
49997
- return parts.join(" — ");
49998
- };
49999
- const addFlagCandidates = (addItem, flag, query, includeAliases) => {
50000
- const description = buildFlagDescription(flag);
50001
- const longForm = `--${flag.name}`;
50002
- if (longForm.startsWith(query)) addItem({
50003
- type: "option",
50004
- value: longForm,
50005
- description
50006
- });
50007
- if (includeAliases) for (const alias of flag.aliases) {
50008
- const token = formatAlias(alias);
50009
- if (token.startsWith(query)) addItem({
50010
- type: "option",
50011
- value: token,
50012
- description
50013
- });
50013
+ const argValueArgs = (type) => {
50014
+ switch (type._tag) {
50015
+ case "Choice": return `-r -f -a '${type.values.join(" ")}'`;
50016
+ case "Path": return `-r -F`;
50017
+ default: return;
50014
50018
  }
50015
50019
  };
50016
- const sanitizeDescription = (description) => description.replace(/\\/g, "\\\\").replace(/\t/g, " ").replace(/\n/g, " ").replace(/:/g, "\\:");
50017
- const generateDynamicCompletions = (rootCmd, context) => {
50018
- const completionFormat = process.env.EFFECT_COMPLETION_FORMAT || (process.env.FISH_COMPLETION ? "fish" : void 0);
50019
- const items = /* @__PURE__ */ new Map();
50020
- const addItem = (item) => {
50021
- const key = `${item.type}|${item.value}`;
50022
- if (!items.has(key)) items.set(key, item);
50023
- };
50024
- if (context.words.length === 0 || context.currentIndex < 1) return [];
50025
- let currentCmd = rootCmd;
50026
- let wordIndex = 1;
50027
- while (wordIndex < context.currentIndex) {
50028
- const word = context.words[wordIndex];
50029
- if (word.startsWith("-")) {
50030
- const eqIndex = word.indexOf("=");
50031
- const optionToken = eqIndex === -1 ? word : word.slice(0, eqIndex);
50032
- const hasInlineValue = eqIndex !== -1;
50033
- if (optionToken.startsWith("-") && !optionToken.startsWith("--") && optionToken.length > 2) {
50034
- wordIndex++;
50035
- continue;
50036
- }
50037
- const matchingFlag = lookupFlag(optionToken, getSingles(toImpl(currentCmd).config.flags));
50038
- wordIndex++;
50039
- if (matchingFlag && optionRequiresValue(matchingFlag) && !hasInlineValue && wordIndex < context.currentIndex) wordIndex++;
50040
- } else {
50041
- const subCmd = currentCmd.subcommands.find((c) => c.name === word);
50042
- if (subCmd) {
50043
- currentCmd = subCmd;
50044
- wordIndex++;
50045
- } else return [];
50046
- }
50047
- }
50048
- const currentWord = context.currentWord;
50049
- const singles = getSingles(toImpl(currentCmd).config.flags);
50050
- const equalIndex = currentWord.indexOf("=");
50051
- if (currentWord.startsWith("-") && equalIndex !== -1) {
50052
- const matchingFlag = lookupFlag(currentWord.slice(0, equalIndex), singles);
50053
- if (matchingFlag && optionRequiresValue(matchingFlag)) {
50054
- const candidateKind = matchingFlag.typeName ?? (matchingFlag.primitiveTag === "Path" ? "path" : void 0);
50055
- const fileKind = candidateKind === "directory" || candidateKind === "file" || candidateKind === "either" || candidateKind === "path" ? candidateKind : void 0;
50056
- if (completionFormat === "zsh" && fileKind) return [`files\t${fileKind}`];
50057
- return [];
50058
- }
50059
- }
50060
- if (currentWord.startsWith("-")) {
50061
- const includeAliases = !currentWord.startsWith("--");
50062
- for (const s of singles) addFlagCandidates(addItem, s, currentWord, includeAliases);
50020
+ const generateCompletions = (executableName, descriptor, parentPath, lines) => {
50021
+ const condition = subcommandCondition(parentPath, descriptor.subcommands.map((s) => s.name));
50022
+ const conditionArg = condition ? `-n '${condition}'` : ``;
50023
+ if (!descriptor.arguments.some((a) => a.type._tag === "Path")) {
50024
+ const parts = [`complete -c ${executableName}`];
50025
+ if (conditionArg) parts.push(conditionArg);
50026
+ parts.push(`-f`);
50027
+ lines.push(parts.join(" "));
50028
+ }
50029
+ for (const sub of descriptor.subcommands) {
50030
+ const parts = [`complete -c ${executableName}`];
50031
+ if (conditionArg) parts.push(conditionArg);
50032
+ parts.push(`-f -a '${escapeFishString(sub.name)}'`);
50033
+ if (sub.description) parts.push(`-d '${escapeFishString(sub.description)}'`);
50034
+ lines.push(parts.join(" "));
50035
+ }
50036
+ for (const flag of descriptor.flags) {
50037
+ const isBoolean = flag.type._tag === "Boolean";
50038
+ const flagCondition = isBoolean ? condition ? `${condition}; and ${flagContainsOptCondition(flag)}` : flagContainsOptCondition(flag) : condition;
50039
+ const flagCondArg = flagCondition ? `-n '${flagCondition}'` : ``;
50040
+ const parts = [`complete -c ${executableName}`];
50041
+ if (flagCondArg) parts.push(flagCondArg);
50042
+ parts.push(...flagCompletionArgs(flag));
50043
+ lines.push(parts.join(" "));
50044
+ if (isBoolean) {
50045
+ const negParts = [`complete -c ${executableName}`];
50046
+ if (flagCondArg) negParts.push(flagCondArg);
50047
+ negParts.push(`-l no-${flag.name}`);
50048
+ if (flag.description) negParts.push(`-d '${escapeFishString(`Disable ${flag.name}`)}'`);
50049
+ lines.push(negParts.join(" "));
50050
+ }
50051
+ }
50052
+ if (descriptor.flags.length > 0) {
50053
+ const notDash = `not string match -q -- "-*" (commandline -ct)`;
50054
+ const bareBase = condition ? `${condition}; and ${notDash}` : notDash;
50055
+ for (const flag of descriptor.flags) {
50056
+ const bareCondition = `${bareBase}; and ${flagContainsOptCondition(flag)}`;
50057
+ const isBoolean = flag.type._tag === "Boolean";
50058
+ const parts = [`complete -c ${executableName}`];
50059
+ parts.push(`-n '${bareCondition}'`);
50060
+ parts.push(`-f -a '--${flag.name}'`);
50061
+ if (flag.description) parts.push(`-d '${escapeFishString(flag.description)}'`);
50062
+ lines.push(parts.join(" "));
50063
+ if (isBoolean) {
50064
+ const negParts = [`complete -c ${executableName}`];
50065
+ negParts.push(`-n '${bareCondition}'`);
50066
+ negParts.push(`-f -a '--no-${flag.name}'`);
50067
+ if (flag.description) negParts.push(`-d '${escapeFishString(`Disable ${flag.name}`)}'`);
50068
+ lines.push(negParts.join(" "));
50069
+ }
50070
+ }
50071
+ }
50072
+ for (const arg of descriptor.arguments) {
50073
+ const valueArg = argValueArgs(arg.type);
50074
+ if (valueArg) {
50075
+ const parts = [`complete -c ${executableName}`];
50076
+ if (conditionArg) parts.push(conditionArg);
50077
+ parts.push(valueArg);
50078
+ if (arg.description) parts.push(`-d '${escapeFishString(arg.description)}'`);
50079
+ lines.push(parts.join(" "));
50080
+ }
50081
+ }
50082
+ for (const sub of descriptor.subcommands) generateCompletions(executableName, sub, [...parentPath, sub.name], lines);
50083
+ };
50084
+ /** @internal */
50085
+ const generate$2 = (executableName, descriptor) => {
50086
+ const lines = [];
50087
+ lines.push(`###-begin-${executableName}-completions-###`);
50088
+ lines.push(`#`);
50089
+ lines.push(`# Static completion script for Fish`);
50090
+ lines.push(`#`);
50091
+ lines.push(`# Installation:`);
50092
+ lines.push(`# ${executableName} --completions fish > ~/.config/fish/completions/${executableName}.fish`);
50093
+ lines.push(`#`);
50094
+ lines.push(``);
50095
+ generateCompletions(executableName, descriptor, [], lines);
50096
+ lines.push(``);
50097
+ lines.push(`###-end-${executableName}-completions-###`);
50098
+ return lines.join("\n");
50099
+ };
50100
+
50101
+ //#endregion
50102
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/internal/completions/zsh.js
50103
+ const escapeZsh = (s) => s.replace(/\\/g, "\\\\").replace(/'/g, "'\\''").replace(/:/g, "\\:");
50104
+ const sanitize = (s) => s.replace(/[^a-zA-Z0-9_]/g, "_");
50105
+ /**
50106
+ * All forms of a flag (--name, -alias, --no-name) for the exclusion group.
50107
+ */
50108
+ const allForms = (flag) => {
50109
+ const forms = [`--${flag.name}`];
50110
+ for (const alias of flag.aliases) forms.push(alias.length === 1 ? `-${alias}` : `--${alias}`);
50111
+ if (flag.type._tag === "Boolean") forms.push(`--no-${flag.name}`);
50112
+ return forms;
50113
+ };
50114
+ const valueAction = (type) => {
50115
+ switch (type._tag) {
50116
+ case "Boolean": return "";
50117
+ case "Choice": return `:value:(${type.values.join(" ")})`;
50118
+ case "Path": return type.pathType === "directory" ? `:directory:_directories` : `:file:_files`;
50119
+ case "Integer": return `:integer:`;
50120
+ case "Float": return `:float:`;
50121
+ case "Date": return `:date:`;
50122
+ default: return `:value:`;
50123
+ }
50124
+ };
50125
+ const argAction = (type) => {
50126
+ switch (type._tag) {
50127
+ case "Choice": return `(${type.values.join(" ")})`;
50128
+ case "Path": return type.pathType === "directory" ? `_directories` : `_files`;
50129
+ default: return ``;
50130
+ }
50131
+ };
50132
+ /**
50133
+ * Produce _arguments optspecs for a single flag. Each spec is a complete,
50134
+ * single-quoted string — no brace expansion, no line continuations.
50135
+ */
50136
+ const flagSpecs = (flag) => {
50137
+ const specs = [];
50138
+ const desc = flag.description ? `[${escapeZsh(flag.description)}]` : "";
50139
+ const action = valueAction(flag.type);
50140
+ const excl = `(${allForms(flag).join(" ")})`;
50141
+ specs.push(`'${excl}--${flag.name}${desc}${action}'`);
50142
+ for (const alias of flag.aliases) {
50143
+ const prefix = alias.length === 1 ? "-" : "--";
50144
+ specs.push(`'${excl}${prefix}${alias}${desc}${action}'`);
50145
+ }
50146
+ if (flag.type._tag === "Boolean") {
50147
+ const negDesc = flag.description ? `[${escapeZsh(`Disable ${flag.name}`)}]` : "";
50148
+ specs.push(`'${excl}--no-${flag.name}${negDesc}'`);
50149
+ }
50150
+ return specs;
50151
+ };
50152
+ const argSpec = (arg) => {
50153
+ const desc = arg.description ? escapeZsh(arg.description) : arg.name;
50154
+ const action = argAction(arg.type);
50155
+ return `'${arg.variadic ? "*" : ""}:${desc}:${action}'`;
50156
+ };
50157
+ const generateFunction = (descriptor, parentPath, lines) => {
50158
+ const currentPath = [...parentPath, descriptor.name];
50159
+ const funcName = `_${currentPath.map(sanitize).join("_")}`;
50160
+ lines.push(`${funcName}() {`);
50161
+ if (descriptor.subcommands.length > 0) {
50162
+ lines.push(` local context state state_descr line`);
50163
+ lines.push(` typeset -A opt_args`);
50164
+ lines.push(``);
50165
+ lines.push(` local -a commands`);
50166
+ lines.push(` commands=(`);
50167
+ for (const sub of descriptor.subcommands) {
50168
+ const desc = sub.description ? escapeZsh(sub.description) : "";
50169
+ lines.push(` '${sub.name}:${desc}'`);
50170
+ }
50171
+ lines.push(` )`);
50172
+ lines.push(``);
50173
+ lines.push(` local -a specs`);
50174
+ lines.push(` specs=(`);
50175
+ for (const flag of descriptor.flags) for (const spec of flagSpecs(flag)) lines.push(` ${spec}`);
50176
+ for (const arg of descriptor.arguments) lines.push(` ${argSpec(arg)}`);
50177
+ lines.push(` '1:command:->command'`);
50178
+ lines.push(` '*::arg:->args'`);
50179
+ lines.push(` )`);
50180
+ lines.push(``);
50181
+ lines.push(` _arguments -C "\${specs[@]}"`);
50182
+ lines.push(``);
50183
+ lines.push(` case "$state" in`);
50184
+ lines.push(` command)`);
50185
+ lines.push(` _describe -t commands 'commands' commands`);
50186
+ lines.push(` ;;`);
50187
+ lines.push(` args)`);
50188
+ lines.push(` case "$words[1]" in`);
50189
+ for (const sub of descriptor.subcommands) {
50190
+ const subFunc = `_${[...currentPath, sub.name].map(sanitize).join("_")}`;
50191
+ lines.push(` ${sub.name})`);
50192
+ lines.push(` ${subFunc}`);
50193
+ lines.push(` ;;`);
50194
+ }
50195
+ lines.push(` esac`);
50196
+ lines.push(` ;;`);
50197
+ lines.push(` esac`);
50063
50198
  } else {
50064
- if (context.currentIndex > 0) {
50065
- const prevWord = context.words[context.currentIndex - 1];
50066
- if (prevWord && prevWord.startsWith("-")) {
50067
- const prevEqIndex = prevWord.indexOf("=");
50068
- const matchingFlag = lookupFlag(prevEqIndex === -1 ? prevWord : prevWord.slice(0, prevEqIndex), singles);
50069
- if (matchingFlag && optionRequiresValue(matchingFlag)) {
50070
- const candidateKind = matchingFlag.typeName ?? (matchingFlag.primitiveTag === "Path" ? "path" : void 0);
50071
- const fileKind = candidateKind === "directory" || candidateKind === "file" || candidateKind === "either" || candidateKind === "path" ? candidateKind : void 0;
50072
- if (completionFormat === "zsh" && fileKind) return [`files\t${fileKind}`];
50073
- return [];
50074
- }
50075
- }
50076
- }
50077
- for (const subCmd of currentCmd.subcommands) if (subCmd.name.startsWith(currentWord)) addItem({
50078
- type: "command",
50079
- value: subCmd.name,
50080
- description: subCmd.description ?? `${subCmd.name} command`
50081
- });
50082
- if (currentCmd.subcommands.length === 0 || currentWord === "") for (const s of singles) addFlagCandidates(addItem, s, currentWord, false);
50083
- }
50084
- const flatItems = Array.from(items.values());
50085
- if (completionFormat === "zsh") return flatItems.map((item) => {
50086
- const payload = item.description !== void 0 ? `${item.value}:${sanitizeDescription(item.description)}` : item.value;
50087
- return `${item.type}\t${payload}`;
50088
- });
50089
- if (completionFormat === "fish") return flatItems.map((item) => {
50090
- return item.description !== void 0 ? `${item.value}\t${item.description}` : item.value;
50091
- });
50092
- return flatItems.map((item) => item.value);
50199
+ const allSpecs = [];
50200
+ for (const flag of descriptor.flags) allSpecs.push(...flagSpecs(flag));
50201
+ for (const arg of descriptor.arguments) allSpecs.push(argSpec(arg));
50202
+ if (allSpecs.length > 0) {
50203
+ lines.push(` local -a specs`);
50204
+ lines.push(` specs=(`);
50205
+ for (const spec of allSpecs) lines.push(` ${spec}`);
50206
+ lines.push(` )`);
50207
+ lines.push(` _arguments "\${specs[@]}"`);
50208
+ }
50209
+ }
50210
+ lines.push(`}`);
50211
+ lines.push(``);
50212
+ for (const sub of descriptor.subcommands) generateFunction(sub, currentPath, lines);
50213
+ };
50214
+ /** @internal */
50215
+ const generate$1 = (executableName, descriptor) => {
50216
+ const lines = [];
50217
+ const safeName = sanitize(executableName);
50218
+ lines.push(`#compdef ${executableName}`);
50219
+ lines.push(`###-begin-${executableName}-completions-###`);
50220
+ lines.push(`#`);
50221
+ lines.push(`# Static completion script for Zsh`);
50222
+ lines.push(`#`);
50223
+ lines.push(`# Installation:`);
50224
+ lines.push(`# ${executableName} --completions zsh > ~/.zsh/completions/_${executableName}`);
50225
+ lines.push(`# then add ~/.zsh/completions to your fpath`);
50226
+ lines.push(`#`);
50227
+ lines.push(``);
50228
+ generateFunction(descriptor, [], lines);
50229
+ lines.push(`# Handle both direct invocation and autoload`);
50230
+ lines.push(`if [[ "\${zsh_eval_context[-1]}" == "loadautofunc" ]]; then`);
50231
+ lines.push(` _${safeName} "$@"`);
50232
+ lines.push(`else`);
50233
+ lines.push(` compdef _${safeName} ${executableName}`);
50234
+ lines.push(`fi`);
50235
+ lines.push(`###-end-${executableName}-completions-###`);
50236
+ return lines.join("\n");
50093
50237
  };
50238
+
50239
+ //#endregion
50240
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/internal/completions/Completions.js
50094
50241
  /**
50095
- * Handle a completion request from the shell.
50096
- * This should be called when the CLI is invoked with --get-completions.
50242
+ * Top-level completions dispatcher.
50243
+ *
50244
+ * Routes to the appropriate shell-specific generator based on the
50245
+ * requested shell type.
50097
50246
  *
50098
50247
  * @internal
50099
50248
  */
50100
- const handleCompletionRequest = (rootCmd) => {
50101
- const context = getCompletionContext();
50102
- if (!context) return;
50103
- const completions = generateDynamicCompletions(rootCmd, context);
50104
- for (const completion of completions) console.log(completion);
50249
+ /** @internal */
50250
+ const generate = (executableName, shell, descriptor) => {
50251
+ switch (shell) {
50252
+ case "bash": return generate$3(executableName, descriptor);
50253
+ case "zsh": return generate$1(executableName, descriptor);
50254
+ case "fish": return generate$2(executableName, descriptor);
50255
+ }
50105
50256
  };
50106
50257
 
50107
50258
  //#endregion
50108
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/internal/lexer.js
50259
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/internal/lexer.js
50109
50260
  /** @internal */
50110
50261
  function lex(argv) {
50111
50262
  const endIndex = argv.indexOf("--");
@@ -50157,7 +50308,7 @@ const lexTokens = (args) => {
50157
50308
  };
50158
50309
 
50159
50310
  //#endregion
50160
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/internal/auto-suggest.js
50311
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/internal/auto-suggest.js
50161
50312
  /**
50162
50313
  * Simple Levenshtein distance implementation (small N, no perf worries)
50163
50314
  */
@@ -50186,7 +50337,7 @@ const suggest = (input, candidates) => {
50186
50337
  };
50187
50338
 
50188
50339
  //#endregion
50189
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/Flag.js
50340
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/Flag.js
50190
50341
  /**
50191
50342
  * Creates a boolean flag that can be enabled or disabled.
50192
50343
  *
@@ -50416,7 +50567,7 @@ const withFallbackConfig = /* @__PURE__ */ dual(2, (self, config) => withFallbac
50416
50567
  const map$3 = /* @__PURE__ */ dual(2, (self, f) => map$4(self, f));
50417
50568
 
50418
50569
  //#endregion
50419
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/internal/builtInFlags.js
50570
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/internal/builtInFlags.js
50420
50571
  /**
50421
50572
  * Built-in options that are automatically available for CLI commands.
50422
50573
  * @since 4.0.0
@@ -50470,7 +50621,7 @@ const completionsFlag = /* @__PURE__ */ choice("completions", [
50470
50621
  ]).pipe(optional, /* @__PURE__ */ map$3((v) => map$14(v, (s) => s === "sh" ? "bash" : s)), /* @__PURE__ */ withDescription$1("Print shell completion script for the given shell"));
50471
50622
 
50472
50623
  //#endregion
50473
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/internal/parser.js
50624
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/internal/parser.js
50474
50625
  /**
50475
50626
  * Parsing Pipeline for CLI Commands
50476
50627
  * ==================================
@@ -50781,7 +50932,7 @@ const scanCommandLevel = (tokens, context) => {
50781
50932
  };
50782
50933
 
50783
50934
  //#endregion
50784
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/cli/Command.js
50935
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/cli/Command.js
50785
50936
  /**
50786
50937
  * @since 4.0.0
50787
50938
  */
@@ -51096,10 +51247,6 @@ const run$4 = /* @__PURE__ */ dual(2, (command, config) => {
51096
51247
  const runWith = (command, config) => {
51097
51248
  const commandImpl = toImpl(command);
51098
51249
  return fnUntraced(function* (args) {
51099
- if (isCompletionRequest(args)) {
51100
- handleCompletionRequest(command);
51101
- return;
51102
- }
51103
51250
  const { tokens, trailingOperands } = lex(args);
51104
51251
  const { completions, help, logLevel, remainder, version } = yield* extractBuiltInOptions(tokens);
51105
51252
  const parsedArgs = yield* parseArgs({
@@ -51113,7 +51260,8 @@ const runWith = (command, config) => {
51113
51260
  return;
51114
51261
  }
51115
51262
  if (completions !== void 0) {
51116
- yield* log(generateDynamicCompletion(command.name, completions));
51263
+ const descriptor = fromCommand(command);
51264
+ yield* log(generate(command.name, completions, descriptor));
51117
51265
  return;
51118
51266
  }
51119
51267
  if (version) {
@@ -51130,7 +51278,7 @@ const runWith = (command, config) => {
51130
51278
  };
51131
51279
 
51132
51280
  //#endregion
51133
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Cache.js
51281
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Cache.js
51134
51282
  /**
51135
51283
  * @since 4.0.0
51136
51284
  */
@@ -51548,7 +51696,7 @@ const invalidate$1 = /* @__PURE__ */ dual(2, (self, key) => sync$1(() => {
51548
51696
  }));
51549
51697
 
51550
51698
  //#endregion
51551
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/FiberHandle.js
51699
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/FiberHandle.js
51552
51700
  /**
51553
51701
  * @since 2.0.0
51554
51702
  */
@@ -51744,7 +51892,7 @@ const runImpl$2 = (self, effect, options) => withFiber((parent) => {
51744
51892
  });
51745
51893
 
51746
51894
  //#endregion
51747
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/FiberMap.js
51895
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/FiberMap.js
51748
51896
  /**
51749
51897
  * @since 2.0.0
51750
51898
  */
@@ -51975,7 +52123,7 @@ const runImpl$1 = (self, key, effect, options) => withFiber((parent) => {
51975
52123
  });
51976
52124
 
51977
52125
  //#endregion
51978
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/FiberSet.js
52126
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/FiberSet.js
51979
52127
  /**
51980
52128
  * @since 2.0.0
51981
52129
  */
@@ -52228,7 +52376,7 @@ const awaitEmpty = (self) => whileLoop({
52228
52376
  });
52229
52377
 
52230
52378
  //#endregion
52231
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/internal/hashMap.js
52379
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/internal/hashMap.js
52232
52380
  /**
52233
52381
  * @since 2.0.0
52234
52382
  */
@@ -52957,7 +53105,7 @@ const every$1 = /* @__PURE__ */ dual(2, (self, predicate) => {
52957
53105
  });
52958
53106
 
52959
53107
  //#endregion
52960
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/HashMap.js
53108
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/HashMap.js
52961
53109
  /**
52962
53110
  * @since 2.0.0
52963
53111
  */
@@ -53762,7 +53910,7 @@ const some = some$1;
53762
53910
  const every = every$1;
53763
53911
 
53764
53912
  //#endregion
53765
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/PrimaryKey.js
53913
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/PrimaryKey.js
53766
53914
  /**
53767
53915
  * The unique identifier used to identify objects that implement the `PrimaryKey` interface.
53768
53916
  *
@@ -53800,7 +53948,7 @@ const symbol$1 = "~effect/interfaces/PrimaryKey";
53800
53948
  const value$1 = (self) => self[symbol$1]();
53801
53949
 
53802
53950
  //#endregion
53803
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/LayerMap.js
53951
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/LayerMap.js
53804
53952
  const TypeId$26 = "~effect/LayerMap";
53805
53953
  /**
53806
53954
  * @since 3.14.0
@@ -53967,7 +54115,7 @@ const Service = () => (id, options) => {
53967
54115
  };
53968
54116
 
53969
54117
  //#endregion
53970
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Logger.js
54118
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Logger.js
53971
54119
  /**
53972
54120
  * @since 2.0.0
53973
54121
  *
@@ -54415,7 +54563,7 @@ const consolePretty = consolePretty$1;
54415
54563
  const tracerLogger = tracerLogger$1;
54416
54564
 
54417
54565
  //#endregion
54418
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Ref.js
54566
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Ref.js
54419
54567
  const RefProto = {
54420
54568
  ["~effect/Ref"]: { _A: identity },
54421
54569
  ...PipeInspectableProto,
@@ -54457,7 +54605,7 @@ const makeUnsafe$2 = (value) => {
54457
54605
  };
54458
54606
 
54459
54607
  //#endregion
54460
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/reactivity/Reactivity.js
54608
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/reactivity/Reactivity.js
54461
54609
  /**
54462
54610
  * @since 4.0.0
54463
54611
  */
@@ -54594,7 +54742,7 @@ const keysToHashes = (keys, f) => {
54594
54742
  };
54595
54743
 
54596
54744
  //#endregion
54597
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/persistence/KeyValueStore.js
54745
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/persistence/KeyValueStore.js
54598
54746
  /**
54599
54747
  * @since 4.0.0
54600
54748
  */
@@ -54738,7 +54886,7 @@ const toSchemaStore = (self, schema) => {
54738
54886
  };
54739
54887
 
54740
54888
  //#endregion
54741
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/persistence/Persistable.js
54889
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/persistence/Persistable.js
54742
54890
  /**
54743
54891
  * @since 4.0.0
54744
54892
  * @category Symbols
@@ -54795,7 +54943,7 @@ const deserializeExit = (self, encoded) => {
54795
54943
  };
54796
54944
 
54797
54945
  //#endregion
54798
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/persistence/Persistence.js
54946
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/persistence/Persistence.js
54799
54947
  /**
54800
54948
  * @since 4.0.0
54801
54949
  */
@@ -54845,7 +54993,7 @@ const layer$17 = /* @__PURE__ */ effect$1(Persistence)(/* @__PURE__ */ gen(funct
54845
54993
  }
54846
54994
  if (!isArrayNonEmpty(primaryKeys)) return [];
54847
54995
  const results = yield* storage.getMany(primaryKeys);
54848
- if (results.length !== primaryKeys.length) return yield* fail$4(new PersistenceError({ message: `Expected ${primaryKeys.length} results but got ${results.length} from backing store` }));
54996
+ if (results.length !== primaryKeys.length) return yield* new PersistenceError({ message: `Expected ${primaryKeys.length} results but got ${results.length} from backing store` });
54849
54997
  const out = new Array(primaryKeys.length);
54850
54998
  let toRemove;
54851
54999
  for (let i = 0; i < results.length; i++) {
@@ -54856,14 +55004,14 @@ const layer$17 = /* @__PURE__ */ effect$1(Persistence)(/* @__PURE__ */ gen(funct
54856
55004
  continue;
54857
55005
  }
54858
55006
  const eff = deserializeExit(key, result);
54859
- const exit$4 = isExit(eff) ? eff : yield* exit(eff);
54860
- if (isFailure$3(exit$4)) {
55007
+ const exit$3 = isExit(eff) ? eff : yield* exit(eff);
55008
+ if (isFailure$3(exit$3)) {
54861
55009
  toRemove ??= [];
54862
55010
  toRemove.push(value$1(key));
54863
55011
  out[i] = void 0;
54864
55012
  continue;
54865
55013
  }
54866
- out[i] = exit$4.value;
55014
+ out[i] = exit$3.value;
54867
55015
  }
54868
55016
  if (toRemove) for (let i = 0; i < toRemove.length; i++) yield* forkIn(storage.remove(toRemove[i]), scope$5);
54869
55017
  return out;
@@ -54879,11 +55027,11 @@ const layer$17 = /* @__PURE__ */ effect$1(Persistence)(/* @__PURE__ */ gen(funct
54879
55027
  const ttl = fromDurationInputUnsafe(timeToLive(value, key));
54880
55028
  if (isZero(ttl)) continue;
54881
55029
  const encoded = serializeExit(key, value);
54882
- const exit$3 = isExit(encoded) ? encoded : yield* exit(encoded);
54883
- if (isFailure$3(exit$3)) return yield* exit$3;
55030
+ const exit$4 = isExit(encoded) ? encoded : yield* exit(encoded);
55031
+ if (isFailure$3(exit$4)) return yield* exit$4;
54884
55032
  encodedEntries.push([
54885
55033
  value$1(key),
54886
- exit$3.value,
55034
+ exit$4.value,
54887
55035
  isFinite$2(ttl) ? ttl : void 0
54888
55036
  ]);
54889
55037
  }
@@ -54972,7 +55120,7 @@ const layerKvs$1 = /* @__PURE__ */ layer$17.pipe(/* @__PURE__ */ provide$3(layer
54972
55120
  const unsafeTtlToExpires = (clock, ttl) => ttl ? clock.currentTimeMillisUnsafe() + toMillis(ttl) : null;
54973
55121
 
54974
55122
  //#endregion
54975
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Runtime.js
55123
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Runtime.js
54976
55124
  /**
54977
55125
  * This module provides utilities for running Effect programs and managing their execution lifecycle.
54978
55126
  *
@@ -55108,7 +55256,7 @@ const makeRunMain = (f) => dual((args) => isEffect(args[0]), (effect, options) =
55108
55256
  });
55109
55257
 
55110
55258
  //#endregion
55111
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/SynchronizedRef.js
55259
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/SynchronizedRef.js
55112
55260
  /**
55113
55261
  * @since 2.0.0
55114
55262
  */
@@ -55135,7 +55283,7 @@ const makeUnsafe$1 = (value) => {
55135
55283
  };
55136
55284
 
55137
55285
  //#endregion
55138
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/ScopedRef.js
55286
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/ScopedRef.js
55139
55287
  /**
55140
55288
  * @since 2.0.0
55141
55289
  */
@@ -55201,7 +55349,7 @@ const set$4 = /* @__PURE__ */ dual(2, /* @__PURE__ */ fnUntraced(function* (self
55201
55349
  }, uninterruptible, (effect, self) => self.backing.semaphore.withPermit(effect)));
55202
55350
 
55203
55351
  //#endregion
55204
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/Stdio.js
55352
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/Stdio.js
55205
55353
  /**
55206
55354
  * @since 4.0.0
55207
55355
  * @category Type IDs
@@ -55222,7 +55370,7 @@ const make$25 = (options) => ({
55222
55370
  });
55223
55371
 
55224
55372
  //#endregion
55225
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/SubscriptionRef.js
55373
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/SubscriptionRef.js
55226
55374
  /**
55227
55375
  * @since 2.0.0
55228
55376
  */
@@ -56731,7 +56879,7 @@ var Mime_default$1 = Mime;
56731
56879
  var src_default = new Mime_default$1(standard_default, other_default)._freeze();
56732
56880
 
56733
56881
  //#endregion
56734
- //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@da_0f197c7933df199ecd1028918eb3097d/node_modules/@effect/platform-node/dist/Mime.js
56882
+ //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@33_1aaa5a67c6d50aed75f7638cecf53d8f/node_modules/@effect/platform-node/dist/Mime.js
56735
56883
  /**
56736
56884
  * @since 1.0.0
56737
56885
  */
@@ -56742,7 +56890,7 @@ var src_default = new Mime_default$1(standard_default, other_default)._freeze();
56742
56890
  var Mime_default = src_default;
56743
56891
 
56744
56892
  //#endregion
56745
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/process/ChildProcessSpawner.js
56893
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/process/ChildProcessSpawner.js
56746
56894
  /**
56747
56895
  * A module providing a generic service interface for spawning child processes.
56748
56896
  *
@@ -56788,7 +56936,7 @@ const makeHandle = (params) => Object.assign(Object.create(HandleProto), params)
56788
56936
  const ChildProcessSpawner = /* @__PURE__ */ Service$1("effect/process/ChildProcessSpawner");
56789
56937
 
56790
56938
  //#endregion
56791
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/process/ChildProcess.js
56939
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/process/ChildProcess.js
56792
56940
  const TypeId$20 = "~effect/unstable/process/ChildProcess";
56793
56941
  const Proto$7 = {
56794
56942
  ...PipeInspectableProto,
@@ -57125,7 +57273,7 @@ const concatTokens = (prevTokens, nextTokens, isSeparated) => isSeparated || pre
57125
57273
  ];
57126
57274
 
57127
57275
  //#endregion
57128
- //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_ea6b23103090c0950fbf265bbf7dbfc3/node_modules/@effect/platform-node-shared/dist/internal/utils.js
57276
+ //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_cd9713d3ca4adb87715074acd80d5891/node_modules/@effect/platform-node-shared/dist/internal/utils.js
57129
57277
  /** @internal */
57130
57278
  const handleErrnoException = (module, method) => (err, [path]) => {
57131
57279
  let reason = "Unknown";
@@ -57163,7 +57311,7 @@ const handleErrnoException = (module, method) => (err, [path]) => {
57163
57311
  };
57164
57312
 
57165
57313
  //#endregion
57166
- //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_ea6b23103090c0950fbf265bbf7dbfc3/node_modules/@effect/platform-node-shared/dist/NodeSink.js
57314
+ //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_cd9713d3ca4adb87715074acd80d5891/node_modules/@effect/platform-node-shared/dist/NodeSink.js
57167
57315
  /**
57168
57316
  * @category constructors
57169
57317
  * @since 1.0.0
@@ -57202,7 +57350,7 @@ const pullIntoWritable = (options) => options.pull.pipe(flatMap$2((chunk) => {
57202
57350
  }) : identity);
57203
57351
 
57204
57352
  //#endregion
57205
- //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_ea6b23103090c0950fbf265bbf7dbfc3/node_modules/@effect/platform-node-shared/dist/NodeStream.js
57353
+ //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_cd9713d3ca4adb87715074acd80d5891/node_modules/@effect/platform-node-shared/dist/NodeStream.js
57206
57354
  /**
57207
57355
  * @since 1.0.0
57208
57356
  */
@@ -57333,7 +57481,7 @@ const readableToPullUnsafe = (options) => {
57333
57481
  const defaultOnError = (error) => new UnknownError(error);
57334
57482
 
57335
57483
  //#endregion
57336
- //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_ea6b23103090c0950fbf265bbf7dbfc3/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js
57484
+ //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_cd9713d3ca4adb87715074acd80d5891/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js
57337
57485
  const toError = (error) => error instanceof globalThis.Error ? error : new globalThis.Error(String(error));
57338
57486
  const toPlatformError = (method, error, command) => {
57339
57487
  const { commands } = flattenCommand(command);
@@ -57736,7 +57884,7 @@ const flattenCommand = (command) => {
57736
57884
  };
57737
57885
 
57738
57886
  //#endregion
57739
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/Cookies.js
57887
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/Cookies.js
57740
57888
  /**
57741
57889
  * @since 4.0.0
57742
57890
  */
@@ -58126,7 +58274,7 @@ const tryDecodeURIComponent = (str) => {
58126
58274
  };
58127
58275
 
58128
58276
  //#endregion
58129
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/Headers.js
58277
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/Headers.js
58130
58278
  /**
58131
58279
  * @since 4.0.0
58132
58280
  */
@@ -58247,7 +58395,7 @@ const CurrentRedactedNames = /* @__PURE__ */ Reference("effect/Headers/CurrentRe
58247
58395
  ] });
58248
58396
 
58249
58397
  //#endregion
58250
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpClientError.js
58398
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpClientError.js
58251
58399
  /**
58252
58400
  * @since 4.0.0
58253
58401
  */
@@ -58386,7 +58534,7 @@ var EmptyBodyError = class extends TaggedError("EmptyBodyError") {
58386
58534
  };
58387
58535
 
58388
58536
  //#endregion
58389
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/UrlParams.js
58537
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/UrlParams.js
58390
58538
  /**
58391
58539
  * @since 4.0.0
58392
58540
  */
@@ -58599,7 +58747,7 @@ const schemaRecord = /* @__PURE__ */ UrlParamsSchema.pipe(/* @__PURE__ */ decode
58599
58747
  })));
58600
58748
 
58601
58749
  //#endregion
58602
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpBody.js
58750
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpBody.js
58603
58751
  /**
58604
58752
  * @since 4.0.0
58605
58753
  */
@@ -58747,7 +58895,7 @@ var Stream = class extends Proto$3 {
58747
58895
  const stream$3 = (body, contentType, contentLength) => new Stream(body, contentType ?? "application/octet-stream", contentLength);
58748
58896
 
58749
58897
  //#endregion
58750
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpClientRequest.js
58898
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpClientRequest.js
58751
58899
  const TypeId$14 = "~effect/http/HttpClientRequest";
58752
58900
  const Proto$2 = {
58753
58901
  [TypeId$14]: TypeId$14,
@@ -58893,7 +59041,7 @@ const setBody = /* @__PURE__ */ dual(2, (self, body) => {
58893
59041
  const bodyUrlParams = /* @__PURE__ */ dual(2, (self, input) => setBody(self, urlParams(fromInput(input))));
58894
59042
 
58895
59043
  //#endregion
58896
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpIncomingMessage.js
59044
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpIncomingMessage.js
58897
59045
  /**
58898
59046
  * @since 4.0.0
58899
59047
  */
@@ -58945,7 +59093,7 @@ const inspect = (self, that) => {
58945
59093
  };
58946
59094
 
58947
59095
  //#endregion
58948
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpClientResponse.js
59096
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpClientResponse.js
58949
59097
  /**
58950
59098
  * @since 4.0.0
58951
59099
  */
@@ -59069,7 +59217,7 @@ var WebHttpClientResponse = class extends Class$3 {
59069
59217
  };
59070
59218
 
59071
59219
  //#endregion
59072
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpMethod.js
59220
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpMethod.js
59073
59221
  /**
59074
59222
  * @since 4.0.0
59075
59223
  */
@@ -59084,7 +59232,7 @@ const allShort = [
59084
59232
  ];
59085
59233
 
59086
59234
  //#endregion
59087
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpTraceContext.js
59235
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpTraceContext.js
59088
59236
  /**
59089
59237
  * @since 4.0.0
59090
59238
  */
@@ -59153,7 +59301,7 @@ const w3c = (headers) => {
59153
59301
  };
59154
59302
 
59155
59303
  //#endregion
59156
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpClient.js
59304
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpClient.js
59157
59305
  const TypeId$11 = "~effect/http/HttpClient";
59158
59306
  /**
59159
59307
  * @since 4.0.0
@@ -59996,7 +60144,7 @@ const httpMethods = [
59996
60144
  const make$17 = make$18;
59997
60145
 
59998
60146
  //#endregion
59999
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/Template.js
60147
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/Template.js
60000
60148
  /**
60001
60149
  * @since 4.0.0
60002
60150
  */
@@ -60046,7 +60194,7 @@ function isSuccess$1(u) {
60046
60194
  }
60047
60195
 
60048
60196
  //#endregion
60049
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpServerResponse.js
60197
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpServerResponse.js
60050
60198
  /**
60051
60199
  * @since 4.0.0
60052
60200
  */
@@ -60149,7 +60297,7 @@ const makeResponse = (options) => {
60149
60297
  };
60150
60298
 
60151
60299
  //#endregion
60152
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpServerRespondable.js
60300
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpServerRespondable.js
60153
60301
  /**
60154
60302
  * @since 4.0.0
60155
60303
  */
@@ -60187,7 +60335,7 @@ const toResponseOrElseDefect = (u, orElse) => {
60187
60335
  };
60188
60336
 
60189
60337
  //#endregion
60190
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpServerError.js
60338
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpServerError.js
60191
60339
  /**
60192
60340
  * @since 4.0.0
60193
60341
  */
@@ -60387,7 +60535,7 @@ const exitResponse = (exit) => {
60387
60535
  };
60388
60536
 
60389
60537
  //#endregion
60390
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/socket/Socket.js
60538
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/socket/Socket.js
60391
60539
  /**
60392
60540
  * @since 4.0.0
60393
60541
  * @category Type IDs
@@ -61520,7 +61668,7 @@ const defaultIsFile = defaultIsFile$1;
61520
61668
  const decodeField = decodeField$1;
61521
61669
 
61522
61670
  //#endregion
61523
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/Multipart.js
61671
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/Multipart.js
61524
61672
  /**
61525
61673
  * @since 4.0.0
61526
61674
  */
@@ -61776,7 +61924,7 @@ const MaxFileSize = /* @__PURE__ */ Reference("effect/http/Multipart/MaxFileSize
61776
61924
  const FieldMimeTypes = /* @__PURE__ */ Reference("effect/http/Multipart/FieldMimeTypes", { defaultValue: /* @__PURE__ */ constant(["application/json"]) });
61777
61925
 
61778
61926
  //#endregion
61779
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpServerRequest.js
61927
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpServerRequest.js
61780
61928
  /**
61781
61929
  * @since 4.0.0
61782
61930
  * @category Type IDs
@@ -61929,7 +62077,7 @@ const toURL = (self) => {
61929
62077
  };
61930
62078
 
61931
62079
  //#endregion
61932
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpMiddleware.js
62080
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpMiddleware.js
61933
62081
  /**
61934
62082
  * @since 4.0.0
61935
62083
  */
@@ -62032,7 +62180,7 @@ const tracer = /* @__PURE__ */ make$11((httpApp) => withFiber((fiber) => {
62032
62180
  }));
62033
62181
 
62034
62182
  //#endregion
62035
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpEffect.js
62183
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpEffect.js
62036
62184
  /**
62037
62185
  * @since 4.0.0
62038
62186
  * @category combinators
@@ -62110,7 +62258,7 @@ const scoped = (effect) => withFiber((fiber) => {
62110
62258
  const PreResponseHandlers = /* @__PURE__ */ Reference("effect/http/HttpEffect/PreResponseHandlers", { defaultValue: () => void 0 });
62111
62259
 
62112
62260
  //#endregion
62113
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/Etag.js
62261
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/Etag.js
62114
62262
  /**
62115
62263
  * @since 4.0.0
62116
62264
  */
@@ -62174,7 +62322,7 @@ const layerWeak = /* @__PURE__ */ succeed$2(Generator)({
62174
62322
  });
62175
62323
 
62176
62324
  //#endregion
62177
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpPlatform.js
62325
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpPlatform.js
62178
62326
  /**
62179
62327
  * @since 4.0.0
62180
62328
  */
@@ -62241,7 +62389,7 @@ const layer$14 = /* @__PURE__ */ effect$1(HttpPlatform)(flatMap$2(FileSystem.asE
62241
62389
  }))).pipe(/* @__PURE__ */ provide$3(layerWeak));
62242
62390
 
62243
62391
  //#endregion
62244
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpServer.js
62392
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpServer.js
62245
62393
  /**
62246
62394
  * @since 4.0.0
62247
62395
  */
@@ -62304,7 +62452,7 @@ const makeTestClient = /* @__PURE__ */ gen(function* () {
62304
62452
  const layerTestClient = /* @__PURE__ */ effect$1(HttpClient)(makeTestClient);
62305
62453
 
62306
62454
  //#endregion
62307
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/HttpRouter.js
62455
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/HttpRouter.js
62308
62456
  /**
62309
62457
  * @since 4.0.0
62310
62458
  */
@@ -66171,7 +66319,7 @@ var import_websocket = /* @__PURE__ */ __toESM(require_websocket(), 1);
66171
66319
  var import_websocket_server = /* @__PURE__ */ __toESM(require_websocket_server(), 1);
66172
66320
 
66173
66321
  //#endregion
66174
- //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_ea6b23103090c0950fbf265bbf7dbfc3/node_modules/@effect/platform-node-shared/dist/NodeFileSystem.js
66322
+ //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_cd9713d3ca4adb87715074acd80d5891/node_modules/@effect/platform-node-shared/dist/NodeFileSystem.js
66175
66323
  /**
66176
66324
  * @since 1.0.0
66177
66325
  */
@@ -66521,7 +66669,7 @@ const makeFileSystem = /* @__PURE__ */ map$8(/* @__PURE__ */ serviceOption(Watch
66521
66669
  const layer$12 = /* @__PURE__ */ effect$1(FileSystem)(makeFileSystem);
66522
66670
 
66523
66671
  //#endregion
66524
- //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@da_0f197c7933df199ecd1028918eb3097d/node_modules/@effect/platform-node/dist/NodeFileSystem.js
66672
+ //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@33_1aaa5a67c6d50aed75f7638cecf53d8f/node_modules/@effect/platform-node/dist/NodeFileSystem.js
66525
66673
  /**
66526
66674
  * @since 1.0.0
66527
66675
  */
@@ -66532,7 +66680,7 @@ const layer$12 = /* @__PURE__ */ effect$1(FileSystem)(makeFileSystem);
66532
66680
  const layer$11 = layer$12;
66533
66681
 
66534
66682
  //#endregion
66535
- //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@da_0f197c7933df199ecd1028918eb3097d/node_modules/@effect/platform-node/dist/NodeHttpIncomingMessage.js
66683
+ //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@33_1aaa5a67c6d50aed75f7638cecf53d8f/node_modules/@effect/platform-node/dist/NodeHttpIncomingMessage.js
66536
66684
  /**
66537
66685
  * @since 1.0.0
66538
66686
  */
@@ -66603,7 +66751,7 @@ var NodeHttpIncomingMessage = class extends Class$3 {
66603
66751
  };
66604
66752
 
66605
66753
  //#endregion
66606
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/http/FetchHttpClient.js
66754
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/http/FetchHttpClient.js
66607
66755
  /**
66608
66756
  * @since 4.0.0
66609
66757
  */
@@ -66650,7 +66798,7 @@ const fetch$1 = /* @__PURE__ */ make$19((request, url, signal, fiber) => {
66650
66798
  const layer$10 = /* @__PURE__ */ layerMergedServices(/* @__PURE__ */ succeed$1(fetch$1));
66651
66799
 
66652
66800
  //#endregion
66653
- //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@da_0f197c7933df199ecd1028918eb3097d/node_modules/@effect/platform-node/dist/NodeHttpPlatform.js
66801
+ //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@33_1aaa5a67c6d50aed75f7638cecf53d8f/node_modules/@effect/platform-node/dist/NodeHttpPlatform.js
66654
66802
  /**
66655
66803
  * @since 1.0.0
66656
66804
  */
@@ -66774,7 +66922,7 @@ var FileStream = class extends Readable {
66774
66922
  };
66775
66923
 
66776
66924
  //#endregion
66777
- //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@da_0f197c7933df199ecd1028918eb3097d/node_modules/@effect/platform-node/dist/NodeMultipart.js
66925
+ //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@33_1aaa5a67c6d50aed75f7638cecf53d8f/node_modules/@effect/platform-node/dist/NodeMultipart.js
66778
66926
  /**
66779
66927
  * @since 1.0.0
66780
66928
  */
@@ -66870,7 +67018,7 @@ function convertError(cause) {
66870
67018
  }
66871
67019
 
66872
67020
  //#endregion
66873
- //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_ea6b23103090c0950fbf265bbf7dbfc3/node_modules/@effect/platform-node-shared/dist/NodePath.js
67021
+ //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_cd9713d3ca4adb87715074acd80d5891/node_modules/@effect/platform-node-shared/dist/NodePath.js
66874
67022
  /**
66875
67023
  * @since 1.0.0
66876
67024
  */
@@ -66922,7 +67070,7 @@ const layer$8 = /* @__PURE__ */ succeed$2(Path$1)({
66922
67070
  });
66923
67071
 
66924
67072
  //#endregion
66925
- //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@da_0f197c7933df199ecd1028918eb3097d/node_modules/@effect/platform-node/dist/NodePath.js
67073
+ //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@33_1aaa5a67c6d50aed75f7638cecf53d8f/node_modules/@effect/platform-node/dist/NodePath.js
66926
67074
  /**
66927
67075
  * @since 1.0.0
66928
67076
  */
@@ -66943,7 +67091,7 @@ const layerPosix = layerPosix$1;
66943
67091
  const layerWin32 = layerWin32$1;
66944
67092
 
66945
67093
  //#endregion
66946
- //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_ea6b23103090c0950fbf265bbf7dbfc3/node_modules/@effect/platform-node-shared/dist/NodeStdio.js
67094
+ //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_cd9713d3ca4adb87715074acd80d5891/node_modules/@effect/platform-node-shared/dist/NodeStdio.js
66947
67095
  /**
66948
67096
  * @since 1.0.0
66949
67097
  */
@@ -66983,7 +67131,7 @@ const layer$6 = /* @__PURE__ */ succeed$2(Stdio, /* @__PURE__ */ make$25({
66983
67131
  }));
66984
67132
 
66985
67133
  //#endregion
66986
- //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@da_0f197c7933df199ecd1028918eb3097d/node_modules/@effect/platform-node/dist/NodeStdio.js
67134
+ //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@33_1aaa5a67c6d50aed75f7638cecf53d8f/node_modules/@effect/platform-node/dist/NodeStdio.js
66987
67135
  /**
66988
67136
  * @since 1.0.0
66989
67137
  */
@@ -66994,7 +67142,7 @@ const layer$6 = /* @__PURE__ */ succeed$2(Stdio, /* @__PURE__ */ make$25({
66994
67142
  const layer$5 = layer$6;
66995
67143
 
66996
67144
  //#endregion
66997
- //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_ea6b23103090c0950fbf265bbf7dbfc3/node_modules/@effect/platform-node-shared/dist/NodeTerminal.js
67145
+ //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_cd9713d3ca4adb87715074acd80d5891/node_modules/@effect/platform-node-shared/dist/NodeTerminal.js
66998
67146
  /**
66999
67147
  * @since 1.0.0
67000
67148
  * @category constructors
@@ -67065,7 +67213,7 @@ function defaultShouldQuit(input) {
67065
67213
  }
67066
67214
 
67067
67215
  //#endregion
67068
- //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@da_0f197c7933df199ecd1028918eb3097d/node_modules/@effect/platform-node/dist/NodeTerminal.js
67216
+ //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@33_1aaa5a67c6d50aed75f7638cecf53d8f/node_modules/@effect/platform-node/dist/NodeTerminal.js
67069
67217
  /**
67070
67218
  * @since 1.0.0
67071
67219
  */
@@ -67081,7 +67229,7 @@ const make$4 = make$5;
67081
67229
  const layer$3 = layer$4;
67082
67230
 
67083
67231
  //#endregion
67084
- //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@da_0f197c7933df199ecd1028918eb3097d/node_modules/@effect/platform-node/dist/NodeServices.js
67232
+ //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@33_1aaa5a67c6d50aed75f7638cecf53d8f/node_modules/@effect/platform-node/dist/NodeServices.js
67085
67233
  /**
67086
67234
  * @since 1.0.0
67087
67235
  * @category layer
@@ -67089,7 +67237,7 @@ const layer$3 = layer$4;
67089
67237
  const layer$2 = /* @__PURE__ */ provideMerge(layer$16, /* @__PURE__ */ mergeAll(layer$11, layer$7, layer$5, layer$3));
67090
67238
 
67091
67239
  //#endregion
67092
- //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@da_0f197c7933df199ecd1028918eb3097d/node_modules/@effect/platform-node/dist/NodeHttpServer.js
67240
+ //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@33_1aaa5a67c6d50aed75f7638cecf53d8f/node_modules/@effect/platform-node/dist/NodeHttpServer.js
67093
67241
  /**
67094
67242
  * @since 1.0.0
67095
67243
  */
@@ -67376,7 +67524,7 @@ const handleCause = (nodeResponse, originalResponse) => (originalCause) => flatM
67376
67524
  });
67377
67525
 
67378
67526
  //#endregion
67379
- //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_ea6b23103090c0950fbf265bbf7dbfc3/node_modules/@effect/platform-node-shared/dist/NodeRuntime.js
67527
+ //#region node_modules/.pnpm/@effect+platform-node-shared@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-_cd9713d3ca4adb87715074acd80d5891/node_modules/@effect/platform-node-shared/dist/NodeRuntime.js
67380
67528
  /**
67381
67529
  * @since 1.0.0
67382
67530
  * @category Run main
@@ -67403,7 +67551,7 @@ const runMain$1 = /* @__PURE__ */ makeRunMain(({ fiber, teardown }) => {
67403
67551
  });
67404
67552
 
67405
67553
  //#endregion
67406
- //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@da_0f197c7933df199ecd1028918eb3097d/node_modules/@effect/platform-node/dist/NodeRuntime.js
67554
+ //#region node_modules/.pnpm/@effect+platform-node@https+++pkg.pr.new+Effect-TS+effect-smol+@effect+platform-node@33_1aaa5a67c6d50aed75f7638cecf53d8f/node_modules/@effect/platform-node/dist/NodeRuntime.js
67407
67555
  /**
67408
67556
  * @since 1.0.0
67409
67557
  */
@@ -67437,7 +67585,7 @@ const runMain$1 = /* @__PURE__ */ makeRunMain(({ fiber, teardown }) => {
67437
67585
  const runMain = runMain$1;
67438
67586
 
67439
67587
  //#endregion
67440
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/persistence/PersistedCache.js
67588
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/persistence/PersistedCache.js
67441
67589
  /**
67442
67590
  * @since 4.0.0
67443
67591
  */
@@ -67486,11 +67634,44 @@ var Project$1 = class extends Class$1("lalph/Project")({
67486
67634
  reviewAgent: Boolean$2
67487
67635
  }) {};
67488
67636
 
67637
+ //#endregion
67638
+ //#region src/shared/lalphDirectory.ts
67639
+ const findProjectRoot = fnUntraced(function* (cwd) {
67640
+ const fs = yield* FileSystem;
67641
+ const pathService = yield* Path$1;
67642
+ let current = cwd;
67643
+ while (true) {
67644
+ if (yield* fs.exists(pathService.join(current, ".git"))) return some$2(current);
67645
+ const parent = pathService.dirname(current);
67646
+ if (parent === current) return none$4();
67647
+ current = parent;
67648
+ }
67649
+ });
67650
+ const resolveLalphDirectory = fnUntraced(function* () {
67651
+ const fs = yield* FileSystem;
67652
+ const pathService = yield* Path$1;
67653
+ const cwd = pathService.resolve(".");
67654
+ if (yield* fs.exists(pathService.join(cwd, ".lalph"))) return cwd;
67655
+ const projectRoot = yield* findProjectRoot(cwd);
67656
+ if (isSome(projectRoot)) {
67657
+ if (yield* fs.exists(pathService.join(projectRoot.value, ".lalph"))) return projectRoot.value;
67658
+ }
67659
+ return cwd;
67660
+ });
67661
+
67489
67662
  //#endregion
67490
67663
  //#region src/Kvs.ts
67491
- const layerKvs = layerFileSystem(".lalph/config").pipe(provide$3(PlatformServices));
67664
+ const layerKvs = unwrap$3(gen(function* () {
67665
+ const pathService = yield* Path$1;
67666
+ const directory = yield* resolveLalphDirectory();
67667
+ return layerFileSystem(pathService.join(directory, ".lalph", "config"));
67668
+ })).pipe(provide$3(PlatformServices));
67492
67669
  var ProjectsKvs = class extends Service()("lalph/ProjectsKvs", {
67493
- lookup: (projectId) => layerFileSystem(`.lalph/projects/${encodeURIComponent(projectId)}`).pipe(orDie$3),
67670
+ lookup: (projectId) => unwrap$3(gen(function* () {
67671
+ const pathService = yield* Path$1;
67672
+ const directory = yield* resolveLalphDirectory();
67673
+ return layerFileSystem(pathService.join(directory, ".lalph", "projects", encodeURIComponent(projectId)));
67674
+ })).pipe(orDie$3),
67494
67675
  dependencies: [PlatformServices]
67495
67676
  }) {};
67496
67677
 
@@ -67577,9 +67758,9 @@ const yellow = (s) => ansiColors.yellow + s + ansiColors.reset;
67577
67758
  const green = (s) => ansiColors.green + s + ansiColors.reset;
67578
67759
  const formatToolName = (name) => name.replace("mcp__", "").replace(/__/g, ":");
67579
67760
  const withDetail = (display, detail) => display + getOrElse$1(detail, () => "");
67580
- const formatBashInput = (input) => pipe(decodeUnknownOption(BashInput)(input), flatMap$5((data) => fromNullishOr$2(data.command)), filter$8((cmd) => cmd.length > 0), map$14((cmd) => dim("$ " + truncate(cmd, 100)) + "\n"));
67581
- const formatFileInput = (input) => pipe(decodeUnknownOption(FileInput)(input), flatMap$5((data) => fromNullishOr$2(data.file_path)), filter$8((path) => path.length > 0), map$14((path) => dim(path) + "\n"));
67582
- const formatPatternInput = (input) => pipe(decodeUnknownOption(PatternInput)(input), flatMap$5((data) => fromNullishOr$2(data.pattern)), filter$8((pattern) => pattern.length > 0), map$14((pattern) => dim(pattern) + "\n"));
67761
+ const formatBashInput = (input) => pipe(decodeUnknownOption(BashInput)(input), flatMap$5((data) => fromNullishOr$2(data.command)), filter$9((cmd) => cmd.length > 0), map$14((cmd) => dim("$ " + truncate(cmd, 100)) + "\n"));
67762
+ const formatFileInput = (input) => pipe(decodeUnknownOption(FileInput)(input), flatMap$5((data) => fromNullishOr$2(data.file_path)), filter$9((path) => path.length > 0), map$14((path) => dim(path) + "\n"));
67763
+ const formatPatternInput = (input) => pipe(decodeUnknownOption(PatternInput)(input), flatMap$5((data) => fromNullishOr$2(data.pattern)), filter$9((pattern) => pattern.length > 0), map$14((pattern) => dim(pattern) + "\n"));
67583
67764
  const formatMcpInput = (input) => {
67584
67765
  if (typeof input !== "object" || input === null) return none$4();
67585
67766
  const data = input;
@@ -67763,7 +67944,7 @@ const CliAgentFromId = Literals(allCliAgents.map((agent) => agent.id)).pipe(deco
67763
67944
  })));
67764
67945
 
67765
67946
  //#endregion
67766
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/reactivity/AsyncResult.js
67947
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/reactivity/AsyncResult.js
67767
67948
  /**
67768
67949
  * @since 4.0.0
67769
67950
  */
@@ -67926,7 +68107,7 @@ const toExit = (self) => {
67926
68107
  };
67927
68108
 
67928
68109
  //#endregion
67929
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/reactivity/AtomRegistry.js
68110
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/reactivity/AtomRegistry.js
67930
68111
  /**
67931
68112
  * @since 4.0.0
67932
68113
  */
@@ -68007,6 +68188,9 @@ const getResult$2 = /* @__PURE__ */ dual((args) => isAtomRegistry(args[0]), (sel
68007
68188
  */
68008
68189
  const mount$1 = /* @__PURE__ */ dual(2, (self, atom) => acquireRelease(sync(() => self.mount(atom)), (release) => sync(release)));
68009
68190
  const constImmediate = { immediate: true };
68191
+ const notifyListener = (listener) => {
68192
+ listener();
68193
+ };
68010
68194
  const SerializableTypeId = "~effect-atom/atom/Atom/Serializable";
68011
68195
  const atomKey = (atom) => SerializableTypeId in atom ? atom[SerializableTypeId].key : atom;
68012
68196
  var RegistryImpl = class {
@@ -68197,10 +68381,10 @@ var NodeImpl = class {
68197
68381
  parents = [];
68198
68382
  previousParents;
68199
68383
  children = [];
68200
- listeners = [];
68384
+ listeners = /* @__PURE__ */ new Set();
68201
68385
  skipInvalidation = false;
68202
68386
  get canBeRemoved() {
68203
- return !this.atom.keepAlive && this.listeners.length === 0 && this.children.length === 0 && this.state !== 0;
68387
+ return !this.atom.keepAlive && this.listeners.size === 0 && this.children.length === 0 && this.state !== 0;
68204
68388
  }
68205
68389
  _value = void 0;
68206
68390
  value() {
@@ -68236,7 +68420,7 @@ var NodeImpl = class {
68236
68420
  this._value = value;
68237
68421
  if (this.skipInvalidation) this.skipInvalidation = false;
68238
68422
  else this.invalidateChildren();
68239
- if (this.listeners.length > 0) if (batchState.phase === BatchPhase.collect) batchState.notify.add(this);
68423
+ if (this.listeners.size > 0) if (batchState.phase === BatchPhase.collect) batchState.notify.add(this);
68240
68424
  else this.notify();
68241
68425
  }
68242
68426
  addParent(parent) {
@@ -68266,7 +68450,7 @@ var NodeImpl = class {
68266
68450
  this.disposeLifetime();
68267
68451
  }
68268
68452
  if (batchState.phase === BatchPhase.collect) batchState.stale.push(this);
68269
- else if (this.atom.lazy && this.listeners.length === 0 && !childrenAreActive(this.children)) {
68453
+ else if (this.atom.lazy && this.listeners.size === 0 && !childrenAreActive(this.children)) {
68270
68454
  this.invalidateChildren();
68271
68455
  this.skipInvalidation = true;
68272
68456
  } else this.value();
@@ -68278,7 +68462,7 @@ var NodeImpl = class {
68278
68462
  for (let i = 0; i < children.length; i++) children[i].invalidate();
68279
68463
  }
68280
68464
  notify() {
68281
- for (let i = 0; i < this.listeners.length; i++) this.listeners[i]();
68465
+ this.listeners.forEach(notifyListener);
68282
68466
  if (batchState.phase === BatchPhase.commit) batchState.notify.delete(this);
68283
68467
  }
68284
68468
  disposeLifetime() {
@@ -68293,7 +68477,7 @@ var NodeImpl = class {
68293
68477
  }
68294
68478
  remove() {
68295
68479
  this.state = NodeState.removed;
68296
- this.listeners = [];
68480
+ this.listeners.clear();
68297
68481
  if (this.lifetime === void 0) return;
68298
68482
  this.disposeLifetime();
68299
68483
  if (this.previousParents === void 0) return;
@@ -68305,14 +68489,8 @@ var NodeImpl = class {
68305
68489
  }
68306
68490
  }
68307
68491
  subscribe(listener) {
68308
- this.listeners.push(listener);
68309
- return () => {
68310
- const index = this.listeners.indexOf(listener);
68311
- if (index !== -1) {
68312
- this.listeners[index] = this.listeners[this.listeners.length - 1];
68313
- this.listeners.pop();
68314
- }
68315
- };
68492
+ this.listeners.add(listener);
68493
+ return () => this.listeners.delete(listener);
68316
68494
  }
68317
68495
  };
68318
68496
  function childrenAreActive(children) {
@@ -68323,7 +68501,7 @@ function childrenAreActive(children) {
68323
68501
  while (current !== void 0) {
68324
68502
  for (let i = 0, len = current.length; i < len; i++) {
68325
68503
  const child = current[i];
68326
- if (!child.atom.lazy || child.listeners.length > 0) return true;
68504
+ if (!child.atom.lazy || child.listeners.size > 0) return true;
68327
68505
  else if (child.children.length > 0) if (stack === void 0) stack = [child.children];
68328
68506
  else stack.push(child.children);
68329
68507
  }
@@ -68331,25 +68509,23 @@ function childrenAreActive(children) {
68331
68509
  }
68332
68510
  return false;
68333
68511
  }
68334
- const disposedError = (atom) => /* @__PURE__ */ new Error(`Cannot use context of disposed Atom: ${atom}`);
68335
68512
  const LifetimeProto = {
68336
68513
  get registry() {
68337
68514
  return this.node.registry;
68338
68515
  },
68339
68516
  addFinalizer(f) {
68340
- if (this.disposed) throw disposedError(this.node.atom);
68517
+ if (this.disposed) return f();
68341
68518
  this.finalizers ??= [];
68342
68519
  this.finalizers.push(f);
68343
68520
  },
68344
68521
  get(atom) {
68345
- if (this.disposed) throw disposedError(this.node.atom);
68522
+ if (this.disposed) return this.node.registry.get(atom);
68346
68523
  const parent = this.node.registry.ensureNode(atom);
68347
68524
  this.node.addParent(parent);
68348
68525
  return parent.value();
68349
68526
  },
68350
68527
  result(atom, options) {
68351
- if (this.disposed) throw disposedError(this.node.atom);
68352
- else if (this.isFn) return this.resultOnce(atom, options);
68528
+ if (this.disposed || this.isFn) return this.resultOnce(atom, options);
68353
68529
  const result = this.get(atom);
68354
68530
  if (options?.suspendOnWaiting && result.waiting) return never$4;
68355
68531
  switch (result._tag) {
@@ -68359,7 +68535,6 @@ const LifetimeProto = {
68359
68535
  }
68360
68536
  },
68361
68537
  resultOnce(atom, options) {
68362
- if (this.disposed) throw disposedError(this.node.atom);
68363
68538
  return callback$1((resume) => {
68364
68539
  const result = this.once(atom);
68365
68540
  if (result._tag !== "Initial" && !(options?.suspendOnWaiting && result.waiting)) return resume(toExit(result));
@@ -68372,18 +68547,16 @@ const LifetimeProto = {
68372
68547
  });
68373
68548
  },
68374
68549
  setResult(atom, value) {
68375
- if (this.disposed) throw disposedError(this.node.atom);
68550
+ if (this.disposed) return never$4;
68376
68551
  this.node.registry.set(atom, value);
68377
68552
  return this.resultOnce(atom, { suspendOnWaiting: true });
68378
68553
  },
68379
68554
  some(atom) {
68380
- if (this.disposed) throw disposedError(this.node.atom);
68381
- else if (this.isFn) return this.someOnce(atom);
68555
+ if (this.disposed || this.isFn) return this.someOnce(atom);
68382
68556
  const result = this.get(atom);
68383
68557
  return result._tag === "None" ? never$4 : succeed$1(result.value);
68384
68558
  },
68385
68559
  someOnce(atom) {
68386
- if (this.disposed) throw disposedError(this.node.atom);
68387
68560
  return callback$1((resume) => {
68388
68561
  const result = this.once(atom);
68389
68562
  if (isSome(result)) return resume(succeed$1(result.value));
@@ -68396,39 +68569,38 @@ const LifetimeProto = {
68396
68569
  });
68397
68570
  },
68398
68571
  once(atom) {
68399
- if (this.disposed) throw disposedError(this.node.atom);
68400
68572
  return this.node.registry.get(atom);
68401
68573
  },
68402
68574
  self() {
68403
- if (this.disposed) throw disposedError(this.node.atom);
68575
+ if (this.disposed) return none$4();
68404
68576
  return this.node.valueOption();
68405
68577
  },
68406
68578
  refresh(atom) {
68407
- if (this.disposed) throw disposedError(this.node.atom);
68579
+ if (this.disposed) return;
68408
68580
  this.node.registry.refresh(atom);
68409
68581
  },
68410
68582
  refreshSelf() {
68411
- if (this.disposed) throw disposedError(this.node.atom);
68583
+ if (this.disposed) return;
68412
68584
  this.node.invalidate();
68413
68585
  },
68414
68586
  mount(atom) {
68415
- if (this.disposed) throw disposedError(this.node.atom);
68587
+ if (this.disposed) return;
68416
68588
  this.addFinalizer(this.node.registry.mount(atom));
68417
68589
  },
68418
68590
  subscribe(atom, f, options) {
68419
- if (this.disposed) throw disposedError(this.node.atom);
68591
+ if (this.disposed) return;
68420
68592
  this.addFinalizer(this.node.registry.subscribe(atom, f, options));
68421
68593
  },
68422
68594
  setSelf(a) {
68423
- if (this.disposed) throw disposedError(this.node.atom);
68595
+ if (this.disposed) return;
68424
68596
  this.node.setValue(a);
68425
68597
  },
68426
68598
  set(atom, value) {
68427
- if (this.disposed) throw disposedError(this.node.atom);
68599
+ if (this.disposed) return;
68428
68600
  this.node.registry.set(atom, value);
68429
68601
  },
68430
68602
  stream(atom, options) {
68431
- if (this.disposed) throw disposedError(this.node.atom);
68603
+ if (this.disposed) return empty$8;
68432
68604
  return callback((queue) => {
68433
68605
  this.subscribe(atom, (value) => offerUnsafe(queue, value), { immediate: !options?.withoutInitialValue });
68434
68606
  });
@@ -68446,7 +68618,7 @@ const LifetimeProto = {
68446
68618
  };
68447
68619
  const makeLifetime = (node) => {
68448
68620
  function get(atom) {
68449
- if (get.disposed) throw disposedError(atom);
68621
+ if (get.disposed) return node.registry.get(atom);
68450
68622
  else if (get.isFn) return node.registry.get(atom);
68451
68623
  const parent = node.registry.ensureNode(atom);
68452
68624
  const value = parent.value();
@@ -68523,7 +68695,7 @@ function batchRebuildNode(node) {
68523
68695
  }
68524
68696
 
68525
68697
  //#endregion
68526
- //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@dad8007_1afc2abeafc738d0078826d9a117e2a5/node_modules/effect/dist/unstable/reactivity/Atom.js
68698
+ //#region node_modules/.pnpm/effect@https+++pkg.pr.new+Effect-TS+effect-smol+effect@33f368f_702201e4bf608a6959aa0638a2452a76/node_modules/effect/dist/unstable/reactivity/Atom.js
68527
68699
  /**
68528
68700
  * @since 4.0.0
68529
68701
  */
@@ -144347,7 +144519,11 @@ const promptForCommandPrefix = fnUntraced(function* (initial) {
144347
144519
 
144348
144520
  //#endregion
144349
144521
  //#region src/Persistence.ts
144350
- const layerPersistence = layerKvs$1.pipe(provide$3(layerFileSystem(".lalph/cache")), provide$3(PlatformServices));
144522
+ const layerPersistence = unwrap$3(gen(function* () {
144523
+ const pathService = yield* Path$1;
144524
+ const directory = yield* resolveLalphDirectory();
144525
+ return layerKvs$1.pipe(provide$3(layerFileSystem(pathService.join(directory, ".lalph", "cache"))));
144526
+ })).pipe(provide$3(PlatformServices));
144351
144527
 
144352
144528
  //#endregion
144353
144529
  //#region src/Linear.ts
@@ -144371,7 +144547,7 @@ var Linear = class extends Service$1()("lalph/Linear", { make: gen(function* ()
144371
144547
  try: () => prev.fetchNext(),
144372
144548
  catch: (cause) => new LinearError({ cause })
144373
144549
  }) : use(f);
144374
- return [connection.nodes, some$2(connection).pipe(filter$8((c) => c.pageInfo.hasNextPage))];
144550
+ return [connection.nodes, some$2(connection).pipe(filter$9((c) => c.pageInfo.hasNextPage))];
144375
144551
  }));
144376
144552
  const cache = yield* make$2({
144377
144553
  storeId: "linear",
@@ -150949,7 +151125,7 @@ var ReviewThreads = class extends Class$1("ReviewThreads")({ nodes: Array$1(Revi
150949
151125
  //#region src/Github/Cli.ts
150950
151126
  var GithubCli = class extends Service$1()("lalph/Github/Cli", { make: gen(function* () {
150951
151127
  const spawner = yield* ChildProcessSpawner;
150952
- const [owner, repo] = (yield* make$24`gh repo view --json nameWithOwner -q ${".nameWithOwner"}`.pipe(string, option$1, flatMap$2(flow(map$14(trim), filter$8(isNonEmpty$1), match$7({
151128
+ const [owner, repo] = (yield* make$24`gh repo view --json nameWithOwner -q ${".nameWithOwner"}`.pipe(string, option$1, flatMap$2(flow(map$14(trim), filter$9(isNonEmpty$1), match$7({
150953
151129
  onNone: () => fail$4(new GithubCliRepoNotFound()),
150954
151130
  onSome: (value) => succeed$1(value)
150955
151131
  }))))).split("/");
@@ -151011,7 +151187,9 @@ var GithubCliRepoNotFound = class extends TaggedError("GithubCliRepoNotFound") {
151011
151187
  message = "GitHub repository not found. Ensure the current directory is inside a git repo with a GitHub remote.";
151012
151188
  };
151013
151189
  const renderReviewComments = (comment, followup) => `<comment author="${comment.author.login}" path="${comment.path}">
151014
- <diffHunk>${comment.diffHunk}</diffHunk>
151190
+ <diffHunk><![CDATA[
151191
+ ${comment.diffHunk}
151192
+ ]]></diffHunk>
151015
151193
  ${comment.originalLine ? `<lineNumber>${comment.originalLine}</lineNumber>` : ""}
151016
151194
  <body>${comment.body}</body>${followup.length > 0 ? `
151017
151195
 
@@ -151325,7 +151503,7 @@ const GithubIssueSource = effect$1(IssueSource, gen(function* () {
151325
151503
  const labelFilter = new ProjectSetting("github.labelFilter", Option(String$1));
151326
151504
  const labelSelect = gen(function* () {
151327
151505
  const label = yield* text$2({ message: "What label do you want to filter issues by? (leave empty for none)" });
151328
- const labelOption = some$2(label.trim()).pipe(filter$8(isNonEmpty$1));
151506
+ const labelOption = some$2(label.trim()).pipe(filter$9(isNonEmpty$1));
151329
151507
  yield* Settings.setProject(labelFilter, some$2(labelOption));
151330
151508
  return labelOption;
151331
151509
  });
@@ -151337,7 +151515,7 @@ const getOrSelectLabel = gen(function* () {
151337
151515
  const autoMergeLabel = new ProjectSetting("github.autoMergeLabel", Option(String$1));
151338
151516
  const autoMergeLabelSelect = gen(function* () {
151339
151517
  const label = yield* text$2({ message: "What label do you want to use for auto-mergable issues? (leave empty for none)" });
151340
- const labelOption = some$2(label.trim()).pipe(filter$8(isNonEmpty$1));
151518
+ const labelOption = some$2(label.trim()).pipe(filter$9(isNonEmpty$1));
151341
151519
  yield* Settings.setProject(autoMergeLabel, some$2(labelOption));
151342
151520
  return labelOption;
151343
151521
  });
@@ -151347,7 +151525,7 @@ const getOrSelectAutoMergeLabel = gen(function* () {
151347
151525
  return yield* autoMergeLabelSelect;
151348
151526
  });
151349
151527
  const PresetMetadata = Struct({ label: NonEmptyString });
151350
- const maybeNextPage = (page, linkHeader) => pipe(fromNullishOr$2(linkHeader), filter$8((_) => _.includes(`rel="next"`)), as$2(page + 1));
151528
+ const maybeNextPage = (page, linkHeader) => pipe(fromNullishOr$2(linkHeader), filter$9((_) => _.includes(`rel="next"`)), as$2(page + 1));
151351
151529
 
151352
151530
  //#endregion
151353
151531
  //#region src/Tracing.ts
@@ -151449,9 +151627,7 @@ const issueSourceRuntime = atomRuntime(CurrentIssueSource.layer.pipe(orDie$3));
151449
151627
  const currentIssuesAtom = family((projectId) => pipe(issueSourceRuntime.atom(fnUntraced(function* (get) {
151450
151628
  const issues = yield* pipe((yield* IssueSource).issues(projectId), withSpan("currentIssuesAtom.refresh"));
151451
151629
  const handle = setTimeout(() => {
151452
- try {
151453
- get.refreshSelf();
151454
- } catch {}
151630
+ get.refreshSelf();
151455
151631
  }, 3e4);
151456
151632
  get.addFinalizer(() => clearTimeout(handle));
151457
151633
  return issues;
@@ -152074,7 +152250,7 @@ const makeExecHelpers = fnUntraced(function* (options) {
152074
152250
  }), raceFirst(stallTimeout));
152075
152251
  return yield* handle.exitCode;
152076
152252
  }, scoped$1);
152077
- const currentBranch = (dir) => make$24({ cwd: dir })`git branch --show-current`.pipe(string, provide, flatMap$2((output) => some$2(output.trim()).pipe(filter$8((b) => b.length > 0), fromOption)));
152253
+ const currentBranch = (dir) => make$24({ cwd: dir })`git branch --show-current`.pipe(string, provide, flatMap$2((output) => some$2(output.trim()).pipe(filter$9((b) => b.length > 0), fromOption)));
152078
152254
  return {
152079
152255
  exec,
152080
152256
  execString,
@@ -152291,7 +152467,7 @@ After making any changes, commit and push them to the same pull request.
152291
152467
  autoMerge: fnUntraced(function* (options) {
152292
152468
  const prd = yield* Prd;
152293
152469
  const worktree = options.worktree;
152294
- let prState = (yield* worktree.viewPrState()).pipe(filter$8((pr) => pr.state === "OPEN"));
152470
+ let prState = (yield* worktree.viewPrState()).pipe(filter$9((pr) => pr.state === "OPEN"));
152295
152471
  yield* log$1("PR state", prState);
152296
152472
  if (isNone(prState)) return yield* new GitFlowError({ message: `No open PR found for auto-merge.` });
152297
152473
  if (options.targetBranch) yield* worktree.exec`gh pr edit --base ${options.targetBranch}`;
@@ -152874,7 +153050,7 @@ const commandSource = make$36("source").pipe(withDescription("Select the issue s
152874
153050
 
152875
153051
  //#endregion
152876
153052
  //#region package.json
152877
- var version = "0.3.21";
153053
+ var version = "0.3.23";
152878
153054
 
152879
153055
  //#endregion
152880
153056
  //#region src/commands/projects/ls.ts
@@ -152962,8 +153138,9 @@ const commandSh = make$36("sh").pipe(withDescription("Launch an interactive shel
152962
153138
  const worktree = yield* Worktree;
152963
153139
  const fs = yield* FileSystem;
152964
153140
  const pathService = yield* Path$1;
152965
- yield* fs.symlink(pathService.resolve(pathService.join(".lalph", "config")), pathService.join(worktree.directory, ".lalph", "config"));
152966
- yield* fs.symlink(pathService.resolve(pathService.join(".lalph", "projects")), pathService.join(worktree.directory, ".lalph", "projects"));
153141
+ const lalphDirectory = yield* resolveLalphDirectory();
153142
+ yield* fs.symlink(pathService.join(lalphDirectory, ".lalph", "config"), pathService.join(worktree.directory, ".lalph", "config"));
153143
+ yield* fs.symlink(pathService.join(lalphDirectory, ".lalph", "projects"), pathService.join(worktree.directory, ".lalph", "projects"));
152967
153144
  yield* make$24(process.env.SHELL || "/bin/bash", [], {
152968
153145
  cwd: worktree.directory,
152969
153146
  stdin: "inherit",