lalph 0.3.30 → 0.3.32

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
@@ -44,7 +44,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
44
44
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
45
45
 
46
46
  //#endregion
47
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Pipeable.js
47
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Pipeable.js
48
48
  /**
49
49
  * @since 2.0.0
50
50
  */
@@ -104,7 +104,7 @@ const Class$4 = /* @__PURE__ */ function() {
104
104
  }();
105
105
 
106
106
  //#endregion
107
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Function.js
107
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Function.js
108
108
  /**
109
109
  * Creates a function that can be used in a data-last (aka `pipe`able) or
110
110
  * data-first style.
@@ -373,7 +373,7 @@ function memoize(f) {
373
373
  }
374
374
 
375
375
  //#endregion
376
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/equal.js
376
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/equal.js
377
377
  /** @internal */
378
378
  const getAllObjectKeys = (obj) => {
379
379
  const keys = new Set(Reflect.ownKeys(obj));
@@ -393,7 +393,7 @@ const getAllObjectKeys = (obj) => {
393
393
  const byReferenceInstances = /* @__PURE__ */ new WeakSet();
394
394
 
395
395
  //#endregion
396
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Predicate.js
396
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Predicate.js
397
397
  /**
398
398
  * Predicate and Refinement helpers for runtime checks, filtering, and type narrowing.
399
399
  * This module provides small, pure functions you can combine to decide whether a
@@ -1071,7 +1071,7 @@ function isRegExp$1(input) {
1071
1071
  const or = /* @__PURE__ */ dual(2, (self, that) => (a) => self(a) || that(a));
1072
1072
 
1073
1073
  //#endregion
1074
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Hash.js
1074
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Hash.js
1075
1075
  /**
1076
1076
  * This module provides utilities for hashing values in TypeScript.
1077
1077
  *
@@ -1086,7 +1086,7 @@ const or = /* @__PURE__ */ dual(2, (self, that) => (a) => self(a) || that(a));
1086
1086
  *
1087
1087
  * @since 2.0.0
1088
1088
  */
1089
- const symbol$5 = "~effect/interfaces/Hash";
1089
+ const symbol$6 = "~effect/interfaces/Hash";
1090
1090
  /**
1091
1091
  * Computes a hash value for any given value.
1092
1092
  *
@@ -1138,7 +1138,7 @@ const hash = (self) => {
1138
1138
  if (byReferenceInstances.has(self)) return random(self);
1139
1139
  if (hashCache.has(self)) return hashCache.get(self);
1140
1140
  const h = withVisitedTracking$1(self, () => {
1141
- if (isHash(self)) return self[symbol$5]();
1141
+ if (isHash(self)) return self[symbol$6]();
1142
1142
  else if (typeof self === "function") return random(self);
1143
1143
  else if (Array.isArray(self)) return array(self);
1144
1144
  else if (self instanceof Map) return hashMap(self);
@@ -1253,7 +1253,7 @@ const optimize = (n) => n & 3221225471 | n >>> 1 & 1073741824;
1253
1253
  * @category guards
1254
1254
  * @since 2.0.0
1255
1255
  */
1256
- const isHash = (u) => hasProperty(u, symbol$5);
1256
+ const isHash = (u) => hasProperty(u, symbol$6);
1257
1257
  /**
1258
1258
  * Computes a hash value for a number.
1259
1259
  *
@@ -1421,7 +1421,7 @@ function withVisitedTracking$1(obj, fn) {
1421
1421
  }
1422
1422
 
1423
1423
  //#endregion
1424
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Equal.js
1424
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Equal.js
1425
1425
  /**
1426
1426
  * The unique string identifier for the {@link Equal} interface.
1427
1427
  *
@@ -1459,7 +1459,7 @@ function withVisitedTracking$1(obj, fn) {
1459
1459
  *
1460
1460
  * @since 2.0.0
1461
1461
  */
1462
- const symbol$4 = "~effect/interfaces/Equal";
1462
+ const symbol$5 = "~effect/interfaces/Equal";
1463
1463
  function equals$2() {
1464
1464
  if (arguments.length === 1) return (self) => compareBoth(self, arguments[0]);
1465
1465
  return compareBoth(arguments[0], arguments[1]);
@@ -1505,7 +1505,7 @@ function compareObjects(self, that) {
1505
1505
  const bothEquals = selfIsEqual && thatIsEqual;
1506
1506
  if (typeof self === "function" && !bothEquals) return false;
1507
1507
  return withVisitedTracking(self, that, () => {
1508
- if (bothEquals) return self[symbol$4](that);
1508
+ if (bothEquals) return self[symbol$5](that);
1509
1509
  else if (Array.isArray(self)) {
1510
1510
  if (!Array.isArray(that) || self.length !== that.length) return false;
1511
1511
  return compareArrays(self, that);
@@ -1618,7 +1618,7 @@ const compareSets = /* @__PURE__ */ makeCompareSet(compareBoth);
1618
1618
  * @category guards
1619
1619
  * @since 2.0.0
1620
1620
  */
1621
- const isEqual = (u) => hasProperty(u, symbol$4);
1621
+ const isEqual = (u) => hasProperty(u, symbol$5);
1622
1622
  /**
1623
1623
  * Wraps {@link equals} as an `Equivalence<A>`.
1624
1624
  *
@@ -1692,7 +1692,7 @@ const byReferenceUnsafe = (obj) => {
1692
1692
  };
1693
1693
 
1694
1694
  //#endregion
1695
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Redactable.js
1695
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Redactable.js
1696
1696
  /**
1697
1697
  * @since 4.0.0
1698
1698
  */
@@ -1787,7 +1787,7 @@ const emptyServiceMap$1 = {
1787
1787
  };
1788
1788
 
1789
1789
  //#endregion
1790
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Formatter.js
1790
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Formatter.js
1791
1791
  /**
1792
1792
  * Utilities for converting arbitrary JavaScript values into human-readable
1793
1793
  * strings, with support for circular references, redaction, and common JS
@@ -2130,7 +2130,7 @@ function formatJson$1(input, options) {
2130
2130
  }
2131
2131
 
2132
2132
  //#endregion
2133
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Inspectable.js
2133
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Inspectable.js
2134
2134
  /**
2135
2135
  * This module provides utilities for making values inspectable and debuggable in TypeScript.
2136
2136
  *
@@ -2334,7 +2334,7 @@ var Class$3 = class {
2334
2334
  };
2335
2335
 
2336
2336
  //#endregion
2337
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Utils.js
2337
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Utils.js
2338
2338
  /**
2339
2339
  * @since 2.0.0
2340
2340
  */
@@ -2412,7 +2412,7 @@ const internalCall = isNotOptimizedAway ? standard[InternalTypeId] : forced[Inte
2412
2412
  const genConstructor = function* () {}.constructor;
2413
2413
 
2414
2414
  //#endregion
2415
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/core.js
2415
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/core.js
2416
2416
  /** @internal */
2417
2417
  const EffectTypeId$1 = `~effect/Effect`;
2418
2418
  /** @internal */
@@ -2456,10 +2456,10 @@ const PipeInspectableProto = {
2456
2456
  };
2457
2457
  /** @internal */
2458
2458
  const StructuralProto = {
2459
- [symbol$5]() {
2459
+ [symbol$6]() {
2460
2460
  return structureKeys(this, Object.keys(this));
2461
2461
  },
2462
- [symbol$4](that) {
2462
+ [symbol$5](that) {
2463
2463
  const selfKeys = Object.keys(this);
2464
2464
  const thatKeys = Object.keys(that);
2465
2465
  if (selfKeys.length !== thatKeys.length) return false;
@@ -2531,10 +2531,10 @@ var CauseImpl = class {
2531
2531
  [NodeInspectSymbol]() {
2532
2532
  return this.toJSON();
2533
2533
  }
2534
- [symbol$4](that) {
2534
+ [symbol$5](that) {
2535
2535
  return isCause$1(that) && this.reasons.length === that.reasons.length && this.reasons.every((e, i) => equals$2(e, that.reasons[i]));
2536
2536
  }
2537
- [symbol$5]() {
2537
+ [symbol$6]() {
2538
2538
  return array(this.reasons);
2539
2539
  }
2540
2540
  };
@@ -2593,10 +2593,10 @@ var Fail = class extends ReasonBase {
2593
2593
  error: this.error
2594
2594
  };
2595
2595
  }
2596
- [symbol$4](that) {
2596
+ [symbol$5](that) {
2597
2597
  return isFailReason$1(that) && equals$2(this.error, that.error) && equals$2(this.annotations, that.annotations);
2598
2598
  }
2599
- [symbol$5]() {
2599
+ [symbol$6]() {
2600
2600
  return combine$2(string$4(this._tag))(combine$2(hash(this.error))(hash(this.annotations)));
2601
2601
  }
2602
2602
  };
@@ -2622,10 +2622,10 @@ var Die = class extends ReasonBase {
2622
2622
  defect: this.defect
2623
2623
  };
2624
2624
  }
2625
- [symbol$4](that) {
2625
+ [symbol$5](that) {
2626
2626
  return isDieReason$1(that) && equals$2(this.defect, that.defect) && equals$2(this.annotations, that.annotations);
2627
2627
  }
2628
- [symbol$5]() {
2628
+ [symbol$6]() {
2629
2629
  return combine$2(string$4(this._tag))(combine$2(hash(this.defect))(hash(this.annotations)));
2630
2630
  }
2631
2631
  };
@@ -2682,10 +2682,10 @@ const makeExit = (options) => {
2682
2682
  [options.prop]: this[args]
2683
2683
  };
2684
2684
  },
2685
- [symbol$4](that) {
2685
+ [symbol$5](that) {
2686
2686
  return isExit$1(that) && that._tag === this._tag && equals$2(this[args], that[args]);
2687
2687
  },
2688
- [symbol$5]() {
2688
+ [symbol$6]() {
2689
2689
  return combine$2(string$4(options.op), hash(this[args]));
2690
2690
  }
2691
2691
  };
@@ -2812,7 +2812,7 @@ const done$2 = (value) => {
2812
2812
  };
2813
2813
 
2814
2814
  //#endregion
2815
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Data.js
2815
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Data.js
2816
2816
  /**
2817
2817
  * Base class for immutable data types.
2818
2818
  *
@@ -3011,7 +3011,7 @@ const Error$2 = Error$3;
3011
3011
  const TaggedError = TaggedError$1;
3012
3012
 
3013
3013
  //#endregion
3014
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Order.js
3014
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Order.js
3015
3015
  /**
3016
3016
  * This module provides the `Order` type class for defining total orderings on types.
3017
3017
  * An `Order` is a comparison function that returns `-1` (less than), `0` (equal), or `1` (greater than).
@@ -3696,7 +3696,7 @@ const clamp$2 = (O) => dual(2, (self, options) => min$3(O)(options.maximum, max$
3696
3696
  const isBetween$1 = (O) => dual(2, (self, options) => !isLessThan$4(O)(self, options.minimum) && !isGreaterThan$4(O)(self, options.maximum));
3697
3697
 
3698
3698
  //#endregion
3699
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/UndefinedOr.js
3699
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/UndefinedOr.js
3700
3700
  /**
3701
3701
  * @since 4.0.0
3702
3702
  */
@@ -3717,8 +3717,8 @@ const liftThrowable = (f) => (...a) => {
3717
3717
  };
3718
3718
 
3719
3719
  //#endregion
3720
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Duration.js
3721
- const TypeId$68 = "~effect/time/Duration";
3720
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Duration.js
3721
+ const TypeId$67 = "~effect/time/Duration";
3722
3722
  const bigint0$2 = /* @__PURE__ */ BigInt(0);
3723
3723
  const bigint24 = /* @__PURE__ */ BigInt(24);
3724
3724
  const bigint60 = /* @__PURE__ */ BigInt(60);
@@ -3804,11 +3804,11 @@ const zeroDurationValue = {
3804
3804
  const infinityDurationValue = { _tag: "Infinity" };
3805
3805
  const negativeInfinityDurationValue = { _tag: "NegativeInfinity" };
3806
3806
  const DurationProto = {
3807
- [TypeId$68]: TypeId$68,
3808
- [symbol$5]() {
3807
+ [TypeId$67]: TypeId$67,
3808
+ [symbol$6]() {
3809
3809
  return structure(this.value);
3810
3810
  },
3811
- [symbol$4](that) {
3811
+ [symbol$5](that) {
3812
3812
  return isDuration(that) && equals$1(this, that);
3813
3813
  },
3814
3814
  toString() {
@@ -3881,7 +3881,7 @@ const make$63 = (input) => {
3881
3881
  * @since 2.0.0
3882
3882
  * @category guards
3883
3883
  */
3884
- const isDuration = (u) => hasProperty(u, TypeId$68);
3884
+ const isDuration = (u) => hasProperty(u, TypeId$67);
3885
3885
  /**
3886
3886
  * Checks if a Duration is finite (not infinite).
3887
3887
  *
@@ -4454,7 +4454,7 @@ const format$3 = (self) => {
4454
4454
  };
4455
4455
 
4456
4456
  //#endregion
4457
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Equivalence.js
4457
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Equivalence.js
4458
4458
  /**
4459
4459
  * Creates a custom equivalence relation with an optimized reference equality check.
4460
4460
  *
@@ -4785,7 +4785,7 @@ function Struct$1(fields) {
4785
4785
  }
4786
4786
 
4787
4787
  //#endregion
4788
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/doNotation.js
4788
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/doNotation.js
4789
4789
  /** @internal */
4790
4790
  const let_$2 = (map) => dual(3, (self, name, f) => map(self, (a) => ({
4791
4791
  ...a,
@@ -4800,23 +4800,23 @@ const bind$3 = (map, flatMap) => dual(3, (self, name, f) => flatMap(self, (a) =>
4800
4800
  }))));
4801
4801
 
4802
4802
  //#endregion
4803
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/option.js
4803
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/option.js
4804
4804
  /**
4805
4805
  * @since 2.0.0
4806
4806
  */
4807
- const TypeId$67 = "~effect/data/Option";
4807
+ const TypeId$66 = "~effect/data/Option";
4808
4808
  const CommonProto$1 = {
4809
- [TypeId$67]: { _A: (_) => _ },
4809
+ [TypeId$66]: { _A: (_) => _ },
4810
4810
  ...PipeInspectableProto,
4811
4811
  ...YieldableProto
4812
4812
  };
4813
4813
  const SomeProto = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(CommonProto$1), {
4814
4814
  _tag: "Some",
4815
4815
  _op: "Some",
4816
- [symbol$4](that) {
4816
+ [symbol$5](that) {
4817
4817
  return isOption$1(that) && isSome$1(that) && equals$2(this.value, that.value);
4818
4818
  },
4819
- [symbol$5]() {
4819
+ [symbol$6]() {
4820
4820
  return combine$2(hash(this._tag))(hash(this.value));
4821
4821
  },
4822
4822
  toString() {
@@ -4837,10 +4837,10 @@ const NoneHash = /* @__PURE__ */ hash("None");
4837
4837
  const NoneProto = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(CommonProto$1), {
4838
4838
  _tag: "None",
4839
4839
  _op: "None",
4840
- [symbol$4](that) {
4840
+ [symbol$5](that) {
4841
4841
  return isOption$1(that) && isNone$1(that);
4842
4842
  },
4843
- [symbol$5]() {
4843
+ [symbol$6]() {
4844
4844
  return NoneHash;
4845
4845
  },
4846
4846
  toString() {
@@ -4857,7 +4857,7 @@ const NoneProto = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(Co
4857
4857
  }
4858
4858
  });
4859
4859
  /** @internal */
4860
- const isOption$1 = (input) => hasProperty(input, TypeId$67);
4860
+ const isOption$1 = (input) => hasProperty(input, TypeId$66);
4861
4861
  /** @internal */
4862
4862
  const isNone$1 = (fa) => fa._tag === "None";
4863
4863
  /** @internal */
@@ -4872,10 +4872,10 @@ const some$3 = (value) => {
4872
4872
  };
4873
4873
 
4874
4874
  //#endregion
4875
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/result.js
4876
- const TypeId$66 = "~effect/data/Result";
4875
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/result.js
4876
+ const TypeId$65 = "~effect/data/Result";
4877
4877
  const CommonProto = {
4878
- [TypeId$66]: {
4878
+ [TypeId$65]: {
4879
4879
  _A: (_) => _,
4880
4880
  _E: (_) => _
4881
4881
  },
@@ -4885,10 +4885,10 @@ const CommonProto = {
4885
4885
  const SuccessProto = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(CommonProto), {
4886
4886
  _tag: "Success",
4887
4887
  _op: "Success",
4888
- [symbol$4](that) {
4888
+ [symbol$5](that) {
4889
4889
  return isResult$1(that) && isSuccess$6(that) && equals$2(this.success, that.success);
4890
4890
  },
4891
- [symbol$5]() {
4891
+ [symbol$6]() {
4892
4892
  return combine$2(hash(this._tag))(hash(this.success));
4893
4893
  },
4894
4894
  toString() {
@@ -4908,10 +4908,10 @@ const SuccessProto = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create
4908
4908
  const FailureProto = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(CommonProto), {
4909
4909
  _tag: "Failure",
4910
4910
  _op: "Failure",
4911
- [symbol$4](that) {
4911
+ [symbol$5](that) {
4912
4912
  return isResult$1(that) && isFailure$5(that) && equals$2(this.failure, that.failure);
4913
4913
  },
4914
- [symbol$5]() {
4914
+ [symbol$6]() {
4915
4915
  return combine$2(hash(this._tag))(hash(this.failure));
4916
4916
  },
4917
4917
  toString() {
@@ -4929,7 +4929,7 @@ const FailureProto = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create
4929
4929
  }
4930
4930
  });
4931
4931
  /** @internal */
4932
- const isResult$1 = (input) => hasProperty(input, TypeId$66);
4932
+ const isResult$1 = (input) => hasProperty(input, TypeId$65);
4933
4933
  /** @internal */
4934
4934
  const isFailure$5 = (result) => result._tag === "Failure";
4935
4935
  /** @internal */
@@ -4954,7 +4954,7 @@ const getSuccess$3 = (self) => isFailure$5(self) ? none$5 : some$3(self.success)
4954
4954
  const fromOption$4 = /* @__PURE__ */ dual(2, (self, onNone) => isNone$1(self) ? fail$9(onNone()) : succeed$7(self.value));
4955
4955
 
4956
4956
  //#endregion
4957
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Option.js
4957
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Option.js
4958
4958
  /**
4959
4959
  * Creates an `Option` representing the absence of a value.
4960
4960
  *
@@ -5241,6 +5241,37 @@ const getFailure$1 = getFailure$2;
5241
5241
  */
5242
5242
  const getOrElse$1 = /* @__PURE__ */ dual(2, (self, onNone) => isNone(self) ? onNone() : self.value);
5243
5243
  /**
5244
+ * Returns `Some` of the fallback value if `self` is `None`; otherwise returns
5245
+ * `self`.
5246
+ *
5247
+ * **When to use**
5248
+ *
5249
+ * - Providing a default plain value (not an `Option`) as fallback
5250
+ *
5251
+ * **Behavior**
5252
+ *
5253
+ * - `Some` → returns `self` unchanged
5254
+ * - `None` → calls `onNone()`, wraps result in `Some`, and returns it
5255
+ *
5256
+ * **Example** (Providing a fallback value)
5257
+ *
5258
+ * ```ts
5259
+ * import { Option } from "effect"
5260
+ *
5261
+ * console.log(Option.none().pipe(Option.orElseSome(() => "b")))
5262
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'b' }
5263
+ *
5264
+ * console.log(Option.some("a").pipe(Option.orElseSome(() => "b")))
5265
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
5266
+ * ```
5267
+ *
5268
+ * @see {@link orElse} when the fallback is itself an `Option`
5269
+ *
5270
+ * @category Error handling
5271
+ * @since 2.0.0
5272
+ */
5273
+ const orElseSome = /* @__PURE__ */ dual(2, (self, onNone) => isNone(self) ? some$2(onNone()) : self);
5274
+ /**
5244
5275
  * Converts a nullable value (`null` or `undefined`) into an `Option`.
5245
5276
  *
5246
5277
  * **When to use**
@@ -5697,7 +5728,7 @@ const makeEquivalence$5 = (isEquivalent) => make$62((x, y) => isNone(x) ? isNone
5697
5728
  const liftPredicate = /* @__PURE__ */ dual(2, (b, predicate) => predicate(b) ? some$2(b) : none$4());
5698
5729
 
5699
5730
  //#endregion
5700
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Result.js
5731
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Result.js
5701
5732
  /**
5702
5733
  * Creates a `Result` holding a `Success` value.
5703
5734
  *
@@ -6060,7 +6091,7 @@ const getOrThrow$1 = /* @__PURE__ */ getOrThrowWith(identity);
6060
6091
  const succeedNone$2 = /* @__PURE__ */ succeed$6(none$5);
6061
6092
 
6062
6093
  //#endregion
6063
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Filter.js
6094
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Filter.js
6064
6095
  /**
6065
6096
  * Applies a filter, predicate, or refinement to an input and returns a boxed
6066
6097
  * result. Extra arguments are forwarded to the function.
@@ -6161,7 +6192,7 @@ const bigint = /* @__PURE__ */ fromPredicate(isBigInt);
6161
6192
  * @since 4.0.0
6162
6193
  * @category Constructors
6163
6194
  */
6164
- const symbol$3 = /* @__PURE__ */ fromPredicate(isSymbol);
6195
+ const symbol$4 = /* @__PURE__ */ fromPredicate(isSymbol);
6165
6196
  /**
6166
6197
  * A predefined filter that only passes through Date objects.
6167
6198
  *
@@ -6219,7 +6250,7 @@ const toOption = (self) => (input) => {
6219
6250
  };
6220
6251
 
6221
6252
  //#endregion
6222
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/array.js
6253
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/array.js
6223
6254
  /**
6224
6255
  * @since 2.0.0
6225
6256
  */
@@ -6227,7 +6258,7 @@ const toOption = (self) => (input) => {
6227
6258
  const isArrayNonEmpty$1 = (self) => self.length > 0;
6228
6259
 
6229
6260
  //#endregion
6230
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Tuple.js
6261
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Tuple.js
6231
6262
  /**
6232
6263
  * Creates an `Equivalence` for tuples by comparing corresponding elements
6233
6264
  * using the provided per-position `Equivalence`s. Two tuples are equivalent
@@ -6285,7 +6316,7 @@ const makeEquivalence$4 = Tuple$1;
6285
6316
  const makeOrder$2 = Tuple$2;
6286
6317
 
6287
6318
  //#endregion
6288
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Iterable.js
6319
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Iterable.js
6289
6320
  /**
6290
6321
  * Return the number of elements in a `Iterable`.
6291
6322
  *
@@ -6499,7 +6530,7 @@ const filter$8 = /* @__PURE__ */ dual(2, (self, predicate) => ({ [Symbol.iterato
6499
6530
  } }));
6500
6531
 
6501
6532
  //#endregion
6502
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Record.js
6533
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Record.js
6503
6534
  /**
6504
6535
  * Creates a new, empty record.
6505
6536
  *
@@ -6703,7 +6734,7 @@ const makeEquivalence$3 = (equivalence) => {
6703
6734
  };
6704
6735
 
6705
6736
  //#endregion
6706
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Array.js
6737
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Array.js
6707
6738
  /**
6708
6739
  * Utilities for working with immutable arrays (and non-empty arrays) in a
6709
6740
  * functional style. All functions treat arrays as immutable — they return new
@@ -7641,7 +7672,7 @@ const dedupeWith = /* @__PURE__ */ dual(2, (self, isEquivalent) => {
7641
7672
  const join$3 = /* @__PURE__ */ dual(2, (self, sep) => fromIterable$4(self).join(sep));
7642
7673
 
7643
7674
  //#endregion
7644
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/ServiceMap.js
7675
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/ServiceMap.js
7645
7676
  const ServiceTypeId = "~effect/ServiceMap/Service";
7646
7677
  /**
7647
7678
  * @example
@@ -7724,7 +7755,7 @@ const ServiceProto = {
7724
7755
  }
7725
7756
  };
7726
7757
  const ReferenceTypeId = "~effect/ServiceMap/Reference";
7727
- const TypeId$65 = "~effect/ServiceMap";
7758
+ const TypeId$64 = "~effect/ServiceMap";
7728
7759
  /**
7729
7760
  * @example
7730
7761
  * ```ts
@@ -7748,7 +7779,7 @@ const makeUnsafe$14 = (mapUnsafe) => {
7748
7779
  };
7749
7780
  const Proto$23 = {
7750
7781
  ...PipeInspectableProto,
7751
- [TypeId$65]: { _Services: (_) => _ },
7782
+ [TypeId$64]: { _Services: (_) => _ },
7752
7783
  toJSON() {
7753
7784
  return {
7754
7785
  _id: "ServiceMap",
@@ -7758,12 +7789,12 @@ const Proto$23 = {
7758
7789
  }))
7759
7790
  };
7760
7791
  },
7761
- [symbol$4](that) {
7792
+ [symbol$5](that) {
7762
7793
  if (!isServiceMap(that) || this.mapUnsafe.size !== that.mapUnsafe.size) return false;
7763
7794
  for (const k of this.mapUnsafe.keys()) if (!that.mapUnsafe.has(k) || !equals$2(this.mapUnsafe.get(k), that.mapUnsafe.get(k))) return false;
7764
7795
  return true;
7765
7796
  },
7766
- [symbol$5]() {
7797
+ [symbol$6]() {
7767
7798
  return number$2(this.mapUnsafe.size);
7768
7799
  }
7769
7800
  };
@@ -7781,7 +7812,7 @@ const Proto$23 = {
7781
7812
  * @since 4.0.0
7782
7813
  * @category Guards
7783
7814
  */
7784
- const isServiceMap = (u) => hasProperty(u, TypeId$65);
7815
+ const isServiceMap = (u) => hasProperty(u, TypeId$64);
7785
7816
  /**
7786
7817
  * Checks if the provided argument is a `Reference`.
7787
7818
  *
@@ -7868,16 +7899,6 @@ const add$3 = /* @__PURE__ */ dual(3, (self, key, service) => {
7868
7899
  return makeUnsafe$14(map);
7869
7900
  });
7870
7901
  /**
7871
- * @since 4.0.0
7872
- * @category Adders
7873
- */
7874
- const addOrOmit = /* @__PURE__ */ dual(3, (self, key, service) => {
7875
- const map = new Map(self.mapUnsafe);
7876
- if (service._tag === "None") map.delete(key.key);
7877
- else map.set(key.key, service.value);
7878
- return makeUnsafe$14(map);
7879
- });
7880
- /**
7881
7902
  * Get a service from the context that corresponds to the given key, or
7882
7903
  * use the fallback value.
7883
7904
  *
@@ -8155,7 +8176,7 @@ const mergeAll$1 = (...ctxs) => {
8155
8176
  const Reference = Service$1;
8156
8177
 
8157
8178
  //#endregion
8158
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Scheduler.js
8179
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Scheduler.js
8159
8180
  /**
8160
8181
  * @since 4.0.0
8161
8182
  * @category references
@@ -8384,7 +8405,7 @@ var MixedScheduler = class {
8384
8405
  const MaxOpsBeforeYield = /* @__PURE__ */ Reference("effect/Scheduler/MaxOpsBeforeYield", { defaultValue: () => 2048 });
8385
8406
 
8386
8407
  //#endregion
8387
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Tracer.js
8408
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Tracer.js
8388
8409
  /**
8389
8410
  * @since 2.0.0
8390
8411
  * @category tags
@@ -8569,7 +8590,7 @@ const randomHexString = /* @__PURE__ */ function() {
8569
8590
  }();
8570
8591
 
8571
8592
  //#endregion
8572
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/References.js
8593
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/References.js
8573
8594
  /**
8574
8595
  * This module provides a collection of reference implementations for commonly used
8575
8596
  * Effect runtime configuration values. These references allow you to access and
@@ -9032,12 +9053,12 @@ const MinimumLogLevel = /* @__PURE__ */ Reference("effect/References/MinimumLogL
9032
9053
  const CurrentLogSpans = /* @__PURE__ */ Reference("effect/References/CurrentLogSpans", { defaultValue: () => [] });
9033
9054
 
9034
9055
  //#endregion
9035
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/metric.js
9056
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/metric.js
9036
9057
  /** @internal */
9037
9058
  const FiberRuntimeMetricsKey = "effect/observability/Metric/FiberRuntimeMetricsKey";
9038
9059
 
9039
9060
  //#endregion
9040
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/tracer.js
9061
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/tracer.js
9041
9062
  /** @internal */
9042
9063
  const addSpanStackTrace = (options) => {
9043
9064
  if (options?.captureStackTrace === false) return options;
@@ -9068,11 +9089,11 @@ const makeStackCleaner = (line) => (stack) => {
9068
9089
  const spanCleaner = /* @__PURE__ */ makeStackCleaner(3);
9069
9090
 
9070
9091
  //#endregion
9071
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/version.js
9092
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/version.js
9072
9093
  const version$1 = "dev";
9073
9094
 
9074
9095
  //#endregion
9075
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/effect.js
9096
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/effect.js
9076
9097
  /** @internal */
9077
9098
  var Interrupt$1 = class extends ReasonBase {
9078
9099
  fiberId;
@@ -9089,10 +9110,10 @@ var Interrupt$1 = class extends ReasonBase {
9089
9110
  fiberId: this.fiberId
9090
9111
  };
9091
9112
  }
9092
- [symbol$4](that) {
9113
+ [symbol$5](that) {
9093
9114
  return isInterruptReason$1(that) && this.fiberId === that.fiberId && this.annotations === that.annotations;
9094
9115
  }
9095
- [symbol$5]() {
9116
+ [symbol$6]() {
9096
9117
  return combine$2(string$4(`${this._tag}:${this.fiberId}`))(random(this.annotations));
9097
9118
  }
9098
9119
  };
@@ -9226,6 +9247,7 @@ const causePrettyErrors = (self) => {
9226
9247
  Error.stackTraceLimit = prevStackLimit;
9227
9248
  return errors;
9228
9249
  };
9250
+ /** @internal */
9229
9251
  const causePrettyError = (original, annotations) => {
9230
9252
  const kind = typeof original;
9231
9253
  let error;
@@ -9313,17 +9335,30 @@ const fiberIdStore = { id: 0 };
9313
9335
  /** @internal */
9314
9336
  const getCurrentFiber = () => globalThis[currentFiberTypeId];
9315
9337
  const keepAlive$1 = /* @__PURE__ */ (() => {
9338
+ let isAvailable;
9339
+ const start = () => {
9340
+ if (isAvailable === true) return setInterval(constVoid, 2147483647);
9341
+ else if (isAvailable === false) return void 0;
9342
+ try {
9343
+ const running = setInterval(constVoid, 2147483647);
9344
+ isAvailable = true;
9345
+ return running;
9346
+ } catch {
9347
+ isAvailable = false;
9348
+ return;
9349
+ }
9350
+ };
9316
9351
  let count = 0;
9317
9352
  let running = void 0;
9318
9353
  return {
9319
9354
  increment() {
9320
9355
  count++;
9321
- running ??= globalThis.setInterval(constVoid, 2147483647);
9356
+ if (running === void 0) running = start();
9322
9357
  },
9323
9358
  decrement() {
9324
9359
  count--;
9325
9360
  if (count === 0 && running !== void 0) {
9326
- globalThis.clearInterval(running);
9361
+ clearInterval(running);
9327
9362
  running = void 0;
9328
9363
  }
9329
9364
  }
@@ -9557,8 +9592,10 @@ const fiberJoinAll = (self) => callback$2((resume) => {
9557
9592
  /** @internal */
9558
9593
  const fiberInterrupt = (self) => withFiber$1((fiber) => fiberInterruptAs(self, fiber.id));
9559
9594
  /** @internal */
9560
- const fiberInterruptAs = /* @__PURE__ */ dual(2, (self, fiberId) => withFiber$1((parent) => {
9561
- self.interruptUnsafe(fiberId, fiberStackAnnotations(parent));
9595
+ const fiberInterruptAs = /* @__PURE__ */ dual((args) => hasProperty(args[0], FiberTypeId), (self, fiberId, annotations) => withFiber$1((parent) => {
9596
+ let ann = fiberStackAnnotations(parent);
9597
+ ann = ann && annotations ? merge$4(ann, annotations) : ann ?? annotations;
9598
+ self.interruptUnsafe(fiberId, ann);
9562
9599
  return asVoid$2(fiberAwait(self));
9563
9600
  }));
9564
9601
  /** @internal */
@@ -10020,25 +10057,16 @@ const updateServices$1 = /* @__PURE__ */ dual(2, (self, f) => withFiber$1((fiber
10020
10057
  const nextServices = f(prev);
10021
10058
  if (prev === nextServices) return self;
10022
10059
  fiber.setServices(nextServices);
10023
- const newServices = /* @__PURE__ */ new Map();
10024
- for (const [key, value] of fiber.services.mapUnsafe) if (!prev.mapUnsafe.has(key) || value !== prev.mapUnsafe.get(key)) newServices.set(key, value);
10025
10060
  return onExitPrimitive$1(self, () => {
10026
- const map = new Map(fiber.services.mapUnsafe);
10027
- for (const [key, value] of newServices) {
10028
- if (value !== map.get(key)) continue;
10029
- if (prev.mapUnsafe.has(key)) map.set(key, prev.mapUnsafe.get(key));
10030
- else map.delete(key);
10031
- }
10032
- fiber.setServices(makeUnsafe$14(map));
10061
+ fiber.setServices(prev);
10033
10062
  });
10034
10063
  }));
10035
10064
  /** @internal */
10036
- const updateService$1 = /* @__PURE__ */ dual(3, (self, service, f) => withFiber$1((fiber) => {
10037
- const prev = getUnsafe$5(fiber.services, service);
10065
+ const updateService$1 = /* @__PURE__ */ dual(3, (self, service, f) => updateServices$1(self, (s) => {
10066
+ const prev = getUnsafe$5(s, service);
10038
10067
  const next = f(prev);
10039
- if (prev === next) return self;
10040
- fiber.setServices(add$3(fiber.services, service, next));
10041
- return onExit$3(self, () => sync$1(() => fiber.setServices(add$3(fiber.services, service, prev))));
10068
+ if (prev === next) return s;
10069
+ return add$3(s, service, next);
10042
10070
  }));
10043
10071
  /** @internal */
10044
10072
  const services$1 = () => getServiceMap;
@@ -10055,11 +10083,9 @@ const provideService$1 = function() {
10055
10083
  if (arguments.length === 1) return dual(2, (self, impl) => provideServiceImpl(self, arguments[0], impl));
10056
10084
  return dual(3, (self, service, impl) => provideServiceImpl(self, service, impl)).apply(this, arguments);
10057
10085
  };
10058
- const provideServiceImpl = (self, service, implementation) => withFiber$1((fiber) => {
10059
- const prev = getOption(fiber.services, service);
10060
- if (prev._tag === "Some" && prev.value === implementation) return self;
10061
- fiber.setServices(add$3(fiber.services, service, implementation));
10062
- return onExit$3(self, () => sync$1(() => fiber.setServices(addOrOmit(fiber.services, service, prev))));
10086
+ const provideServiceImpl = (self, service, implementation) => updateServices$1(self, (s) => {
10087
+ if (s.mapUnsafe.get(service.key) === implementation) return s;
10088
+ return add$3(s, service, implementation);
10063
10089
  });
10064
10090
  /** @internal */
10065
10091
  const provideServiceEffect$1 = /* @__PURE__ */ dual(3, (self, service, acquire) => flatMap$4(acquire, (implementation) => provideService$1(self, service, implementation)));
@@ -10180,7 +10206,7 @@ const orElseSucceed$1 = /* @__PURE__ */ dual(2, (self, f) => catch_$2(self, (_)
10180
10206
  /** @internal */
10181
10207
  const eventually$1 = (self) => catch_$2(self, (_) => flatMap$4(yieldNow$1, () => eventually$1(self)));
10182
10208
  /** @internal */
10183
- const ignore$1 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, options) => {
10209
+ const ignore$2 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, options) => {
10184
10210
  if (!options?.log) return matchEffect$2(self, {
10185
10211
  onFailure: (_) => void_$3,
10186
10212
  onSuccess: (_) => void_$3
@@ -10397,11 +10423,11 @@ const scope$1 = /* @__PURE__ */ scopeTag.asEffect();
10397
10423
  const provideScope = /* @__PURE__ */ provideService$1(scopeTag);
10398
10424
  /** @internal */
10399
10425
  const scoped$2 = (self) => withFiber$1((fiber) => {
10400
- const prev = getOption(fiber.services, scopeTag);
10426
+ const prev = fiber.services;
10401
10427
  const scope = scopeMakeUnsafe();
10402
10428
  fiber.setServices(add$3(fiber.services, scopeTag, scope));
10403
10429
  return onExitPrimitive$1(self, (exit) => {
10404
- fiber.setServices(addOrOmit(fiber.services, scopeTag, prev));
10430
+ fiber.setServices(prev);
10405
10431
  return scopeCloseUnsafe(scope, exit);
10406
10432
  });
10407
10433
  });
@@ -10549,6 +10575,11 @@ const all$1 = (arg, options) => {
10549
10575
  /** @internal */
10550
10576
  const partition$1 = /* @__PURE__ */ dual((args) => isIterable(args[0]) && !isEffect$1(args[0]), (elements, f, options) => map$11(forEach$4(elements, (a, i) => result$1(f(a, i)), options), (results) => partitionMap(results, identity)));
10551
10577
  /** @internal */
10578
+ const validate$1 = /* @__PURE__ */ dual((args) => isIterable(args[0]) && !isEffect$1(args[0]), (elements, f, options) => flatMap$4(partition$1(elements, f, { concurrency: options?.concurrency }), ([excluded, satisfying]) => {
10579
+ if (isArrayNonEmpty(excluded)) return fail$7(excluded);
10580
+ return options?.discard ? void_$3 : succeed$5(satisfying);
10581
+ }));
10582
+ /** @internal */
10552
10583
  const whileLoop$1 = /* @__PURE__ */ makePrimitive$1({
10553
10584
  op: "While",
10554
10585
  [contA](value, fiber) {
@@ -11213,6 +11244,31 @@ const CurrentLoggers$1 = /* @__PURE__ */ Reference("effect/Loggers/CurrentLogger
11213
11244
  /** @internal */
11214
11245
  const LogToStderr$1 = /* @__PURE__ */ Reference("effect/Logger/LogToStderr", { defaultValue: constFalse });
11215
11246
  /** @internal */
11247
+ const annotateLogsScoped$1 = function() {
11248
+ const entries = typeof arguments[0] === "string" ? [[arguments[0], arguments[1]]] : Object.entries(arguments[0]);
11249
+ return uninterruptible$1(withFiber$1((fiber) => {
11250
+ const prev = fiber.getRef(CurrentLogAnnotations);
11251
+ const next = { ...prev };
11252
+ for (let i = 0; i < entries.length; i++) {
11253
+ const [key, value] = entries[i];
11254
+ next[key] = value;
11255
+ }
11256
+ fiber.setServices(add$3(fiber.services, CurrentLogAnnotations, next));
11257
+ return scopeAddFinalizerExit(getUnsafe$5(fiber.services, scopeTag), (_) => {
11258
+ const current = fiber.getRef(CurrentLogAnnotations);
11259
+ const next = { ...current };
11260
+ for (let i = 0; i < entries.length; i++) {
11261
+ const [key, value] = entries[i];
11262
+ if (current[key] !== value) continue;
11263
+ if (key in prev) next[key] = prev[key];
11264
+ else delete next[key];
11265
+ }
11266
+ fiber.setServices(add$3(fiber.services, CurrentLogAnnotations, next));
11267
+ return void_$3;
11268
+ });
11269
+ }));
11270
+ };
11271
+ /** @internal */
11216
11272
  const LoggerTypeId = "~effect/Logger";
11217
11273
  const LoggerProto = {
11218
11274
  [LoggerTypeId]: {
@@ -11436,9 +11492,28 @@ function interruptChildrenPatch() {
11436
11492
  }
11437
11493
  /** @internal */
11438
11494
  const undefined_$2 = /* @__PURE__ */ succeed$5(void 0);
11495
+ /** @internal */
11496
+ const CurrentErrorReporters$1 = /* @__PURE__ */ Reference("effect/ErrorReporter/CurrentErrorReporters", { defaultValue: () => /* @__PURE__ */ new Set() });
11497
+ /** @internal */
11498
+ const withErrorReporting$1 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, options) => onError$1(self, (cause) => withFiber$1((fiber) => {
11499
+ reportCauseUnsafe(fiber, cause, options?.defectsOnly);
11500
+ return void_$3;
11501
+ })));
11502
+ /** @internal */
11503
+ const reportCauseUnsafe = (fiber, cause, defectsOnly) => {
11504
+ const reporters = fiber.getRef(CurrentErrorReporters$1);
11505
+ if (reporters.size === 0) return;
11506
+ if (defectsOnly && !hasDies$2(cause)) return;
11507
+ const opts = {
11508
+ cause,
11509
+ fiber,
11510
+ timestamp: fiber.getRef(ClockRef).currentTimeNanosUnsafe()
11511
+ };
11512
+ reporters.forEach((reporter) => reporter.report(opts));
11513
+ };
11439
11514
 
11440
11515
  //#endregion
11441
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Exit.js
11516
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Exit.js
11442
11517
  ExitTypeId;
11443
11518
  /**
11444
11519
  * Tests whether an unknown value is an Exit.
@@ -12113,7 +12188,7 @@ const getCause = exitGetCause;
12113
12188
  const findErrorOption$1 = exitFindErrorOption;
12114
12189
 
12115
12190
  //#endregion
12116
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Deferred.js
12191
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Deferred.js
12117
12192
  const DeferredProto = {
12118
12193
  ["~effect/Deferred"]: {
12119
12194
  _A: identity,
@@ -12374,7 +12449,7 @@ const doneUnsafe = (self, effect) => {
12374
12449
  const into = /* @__PURE__ */ dual(2, (self, deferred) => uninterruptibleMask$1((restore) => flatMap$4(exit$1(restore(self)), (exit) => done$1(deferred, exit))));
12375
12450
 
12376
12451
  //#endregion
12377
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Scope.js
12452
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Scope.js
12378
12453
  /**
12379
12454
  * The `Scope` module provides functionality for managing resource lifecycles
12380
12455
  * and cleanup operations in a functional and composable manner.
@@ -12654,8 +12729,8 @@ const closeUnsafe = scopeCloseUnsafe;
12654
12729
  const use$1 = scopeUse;
12655
12730
 
12656
12731
  //#endregion
12657
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Layer.js
12658
- const TypeId$64 = "~effect/Layer";
12732
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Layer.js
12733
+ const TypeId$63 = "~effect/Layer";
12659
12734
  const MemoMapTypeId = "~effect/Layer/MemoMap";
12660
12735
  /**
12661
12736
  * Returns `true` if the specified value is a `Layer`, `false` otherwise.
@@ -12680,9 +12755,9 @@ const MemoMapTypeId = "~effect/Layer/MemoMap";
12680
12755
  * @since 2.0.0
12681
12756
  * @category getters
12682
12757
  */
12683
- const isLayer = (u) => hasProperty(u, TypeId$64);
12758
+ const isLayer = (u) => hasProperty(u, TypeId$63);
12684
12759
  const LayerProto = {
12685
- [TypeId$64]: {
12760
+ [TypeId$63]: {
12686
12761
  _ROut: identity,
12687
12762
  _E: identity,
12688
12763
  _RIn: identity
@@ -13515,14 +13590,14 @@ const orDie$3 = (self) => fromBuildUnsafe((memoMap, scope) => orDie$4(self.build
13515
13590
  const fresh = (self) => fromBuildUnsafe((_, scope) => self.build(makeMemoMapUnsafe(), scope));
13516
13591
 
13517
13592
  //#endregion
13518
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/ExecutionPlan.js
13593
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/ExecutionPlan.js
13519
13594
  /**
13520
13595
  * @since 3.16.0
13521
13596
  * @category Type IDs
13522
13597
  */
13523
- const TypeId$63 = "~effect/ExecutionPlan";
13598
+ const TypeId$62 = "~effect/ExecutionPlan";
13524
13599
  const Proto$22 = {
13525
- [TypeId$63]: TypeId$63,
13600
+ [TypeId$62]: TypeId$62,
13526
13601
  get withRequirements() {
13527
13602
  const self = this;
13528
13603
  return servicesWith$1((services) => succeed$5(makeProto$1(self.steps.map((step) => ({
@@ -13549,14 +13624,14 @@ const CurrentMetadata$1 = /* @__PURE__ */ Reference("effect/ExecutionPlan/Curren
13549
13624
  }) });
13550
13625
 
13551
13626
  //#endregion
13552
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Cause.js
13627
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Cause.js
13553
13628
  /**
13554
13629
  * Unique brand for `Cause` values, used for runtime type checks via {@link isCause}.
13555
13630
  *
13556
13631
  * @since 2.0.0
13557
13632
  * @category symbols
13558
13633
  */
13559
- const TypeId$62 = CauseTypeId;
13634
+ const TypeId$61 = CauseTypeId;
13560
13635
  /**
13561
13636
  * Unique brand for `Reason` values, used for runtime type checks via {@link isReason}.
13562
13637
  *
@@ -14549,9 +14624,20 @@ const reasonAnnotations = reasonAnnotations$1;
14549
14624
  * @since 4.0.0
14550
14625
  */
14551
14626
  const annotations = causeAnnotations;
14627
+ /**
14628
+ * `ServiceMap` key for the stack frame captured at the point of failure.
14629
+ *
14630
+ * The runtime annotates every reason with this when a stack frame is
14631
+ * available. Retrieve it via
14632
+ * `ServiceMap.get(Cause.reasonAnnotations(reason), Cause.StackTrace)`.
14633
+ *
14634
+ * @category annotations
14635
+ * @since 4.0.0
14636
+ */
14637
+ var StackTrace = class extends Service$1()("effect/Cause/StackTrace") {};
14552
14638
 
14553
14639
  //#endregion
14554
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Clock.js
14640
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Clock.js
14555
14641
  /**
14556
14642
  * A reference to the current Clock service in the environment.
14557
14643
  *
@@ -14627,13 +14713,13 @@ const currentTimeMillis = currentTimeMillis$1;
14627
14713
  const currentTimeNanos = currentTimeNanos$1;
14628
14714
 
14629
14715
  //#endregion
14630
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/dateTime.js
14716
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/dateTime.js
14631
14717
  /** @internal */
14632
- const TypeId$61 = "~effect/time/DateTime";
14718
+ const TypeId$60 = "~effect/time/DateTime";
14633
14719
  /** @internal */
14634
14720
  const TimeZoneTypeId = "~effect/time/DateTime/TimeZone";
14635
14721
  const Proto$21 = {
14636
- [TypeId$61]: TypeId$61,
14722
+ [TypeId$60]: TypeId$60,
14637
14723
  pipe() {
14638
14724
  return pipeArguments(this, arguments);
14639
14725
  },
@@ -14647,10 +14733,10 @@ const Proto$21 = {
14647
14733
  const ProtoUtc = {
14648
14734
  ...Proto$21,
14649
14735
  _tag: "Utc",
14650
- [symbol$5]() {
14736
+ [symbol$6]() {
14651
14737
  return number$2(this.epochMillis);
14652
14738
  },
14653
- [symbol$4](that) {
14739
+ [symbol$5](that) {
14654
14740
  return isDateTime$1(that) && that._tag === "Utc" && this.epochMillis === that.epochMillis;
14655
14741
  },
14656
14742
  toString() {
@@ -14660,10 +14746,10 @@ const ProtoUtc = {
14660
14746
  const ProtoZoned = {
14661
14747
  ...Proto$21,
14662
14748
  _tag: "Zoned",
14663
- [symbol$5]() {
14749
+ [symbol$6]() {
14664
14750
  return combine$2(number$2(this.epochMillis))(hash(this.zone));
14665
14751
  },
14666
- [symbol$4](that) {
14752
+ [symbol$5](that) {
14667
14753
  return isDateTime$1(that) && that._tag === "Zoned" && this.epochMillis === that.epochMillis && equals$2(this.zone, that.zone);
14668
14754
  },
14669
14755
  toString() {
@@ -14679,10 +14765,10 @@ const ProtoTimeZone = {
14679
14765
  const ProtoTimeZoneNamed = {
14680
14766
  ...ProtoTimeZone,
14681
14767
  _tag: "Named",
14682
- [symbol$5]() {
14768
+ [symbol$6]() {
14683
14769
  return string$4(`Named:${this.id}`);
14684
14770
  },
14685
- [symbol$4](that) {
14771
+ [symbol$5](that) {
14686
14772
  return isTimeZone$1(that) && that._tag === "Named" && this.id === that.id;
14687
14773
  },
14688
14774
  toString() {
@@ -14699,10 +14785,10 @@ const ProtoTimeZoneNamed = {
14699
14785
  const ProtoTimeZoneOffset = {
14700
14786
  ...ProtoTimeZone,
14701
14787
  _tag: "Offset",
14702
- [symbol$5]() {
14788
+ [symbol$6]() {
14703
14789
  return string$4(`Offset:${this.offset}`);
14704
14790
  },
14705
- [symbol$4](that) {
14791
+ [symbol$5](that) {
14706
14792
  return isTimeZone$1(that) && that._tag === "Offset" && this.offset === that.offset;
14707
14793
  },
14708
14794
  toString() {
@@ -14739,7 +14825,7 @@ const makeZonedProto = (epochMillis, zone, partsUtc) => {
14739
14825
  return self;
14740
14826
  };
14741
14827
  /** @internal */
14742
- const isDateTime$1 = (u) => hasProperty(u, TypeId$61);
14828
+ const isDateTime$1 = (u) => hasProperty(u, TypeId$60);
14743
14829
  const isDateTimeArgs = (args) => isDateTime$1(args[0]);
14744
14830
  /** @internal */
14745
14831
  const isTimeZone$1 = (u) => hasProperty(u, TimeZoneTypeId);
@@ -15231,7 +15317,7 @@ const formatIsoOffset$1 = (self) => {
15231
15317
  const formatIsoZoned$1 = (self) => self.zone._tag === "Offset" ? formatIsoOffset$1(self) : `${formatIsoOffset$1(self)}[${self.zone.id}]`;
15232
15318
 
15233
15319
  //#endregion
15234
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Number.js
15320
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Number.js
15235
15321
  /**
15236
15322
  * This module provides utility functions and type class instances for working with the `number` type in TypeScript.
15237
15323
  * It includes functions for basic arithmetic operations.
@@ -15308,7 +15394,7 @@ const Order$4 = Number$6;
15308
15394
  const Equivalence$5 = Number$5;
15309
15395
 
15310
15396
  //#endregion
15311
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/String.js
15397
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/String.js
15312
15398
  /**
15313
15399
  * This module provides utility functions and type class instances for working with the `string` type in TypeScript.
15314
15400
  * It includes functions for basic string manipulation.
@@ -15403,7 +15489,7 @@ const trim = (self) => self.trim();
15403
15489
  const isNonEmpty$1 = (self) => self.length > 0;
15404
15490
 
15405
15491
  //#endregion
15406
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Pull.js
15492
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Pull.js
15407
15493
  /**
15408
15494
  * @since 4.0.0
15409
15495
  */
@@ -15485,7 +15571,7 @@ const matchEffect$1 = /* @__PURE__ */ dual(2, (self, options) => matchCauseEffec
15485
15571
  }));
15486
15572
 
15487
15573
  //#endregion
15488
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Schedule.js
15574
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Schedule.js
15489
15575
  /**
15490
15576
  * This module provides utilities for creating and composing schedules for retrying operations,
15491
15577
  * repeating effects, and implementing various timing strategies.
@@ -15517,7 +15603,7 @@ const matchEffect$1 = /* @__PURE__ */ dual(2, (self, options) => matchCauseEffec
15517
15603
  *
15518
15604
  * @since 2.0.0
15519
15605
  */
15520
- const TypeId$60 = "~effect/Schedule";
15606
+ const TypeId$59 = "~effect/Schedule";
15521
15607
  /**
15522
15608
  * @since 4.0.0
15523
15609
  * @category Metadata
@@ -15533,7 +15619,7 @@ const CurrentMetadata = /* @__PURE__ */ Reference("effect/Schedule/CurrentMetada
15533
15619
  elapsedSincePrevious: 0
15534
15620
  }) });
15535
15621
  const ScheduleProto = {
15536
- [TypeId$60]: {
15622
+ [TypeId$59]: {
15537
15623
  _Out: identity,
15538
15624
  _In: identity,
15539
15625
  _Env: identity
@@ -15561,7 +15647,7 @@ const ScheduleProto = {
15561
15647
  * @since 2.0.0
15562
15648
  * @category guards
15563
15649
  */
15564
- const isSchedule = (u) => hasProperty(u, TypeId$60);
15650
+ const isSchedule = (u) => hasProperty(u, TypeId$59);
15565
15651
  /**
15566
15652
  * Creates a Schedule from a step function that returns a Pull.
15567
15653
  *
@@ -16031,13 +16117,13 @@ const while_ = /* @__PURE__ */ dual(2, (self, predicate) => fromStep(map$11(toSt
16031
16117
  const forever$1 = /* @__PURE__ */ spaced(zero$1);
16032
16118
 
16033
16119
  //#endregion
16034
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/layer.js
16120
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/layer.js
16035
16121
  const provideLayer = (self, layer, options) => scopedWith$1((scope) => flatMap$4(options?.local ? buildWithMemoMap(layer, makeMemoMapUnsafe(), scope) : buildWithScope(layer, scope), (context) => provideServices$1(self, context)));
16036
16122
  /** @internal */
16037
16123
  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));
16038
16124
 
16039
16125
  //#endregion
16040
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/schedule.js
16126
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/schedule.js
16041
16127
  /** @internal */
16042
16128
  const repeatOrElse$1 = /* @__PURE__ */ dual(3, (self, schedule, orElse) => flatMap$4(toStepWithMetadata(schedule), (step) => {
16043
16129
  let meta = CurrentMetadata.defaultValue();
@@ -16099,7 +16185,7 @@ const buildFromOptions = (options) => {
16099
16185
  };
16100
16186
 
16101
16187
  //#endregion
16102
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/executionPlan.js
16188
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/executionPlan.js
16103
16189
  /** @internal */
16104
16190
  const withExecutionPlan$1 = /* @__PURE__ */ dual(2, (self, plan) => suspend$4(() => {
16105
16191
  let i = 0;
@@ -16158,8 +16244,8 @@ const scheduleFromStep = (step, first) => {
16158
16244
  const scheduleOnce = /* @__PURE__ */ recurs(1);
16159
16245
 
16160
16246
  //#endregion
16161
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Request.js
16162
- const TypeId$59 = "~effect/Request";
16247
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Request.js
16248
+ const TypeId$58 = "~effect/Request";
16163
16249
  const requestVariance = /* @__PURE__ */ byReferenceUnsafe({
16164
16250
  _E: (_) => _,
16165
16251
  _A: (_) => _,
@@ -16170,7 +16256,7 @@ const requestVariance = /* @__PURE__ */ byReferenceUnsafe({
16170
16256
  */
16171
16257
  const RequestPrototype = {
16172
16258
  ...StructuralProto,
16173
- [TypeId$59]: requestVariance
16259
+ [TypeId$58]: requestVariance
16174
16260
  };
16175
16261
  /**
16176
16262
  * @since 2.0.0
@@ -16179,7 +16265,7 @@ const RequestPrototype = {
16179
16265
  const makeEntry = (options) => options;
16180
16266
 
16181
16267
  //#endregion
16182
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/request.js
16268
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/request.js
16183
16269
  /** @internal */
16184
16270
  const request$2 = /* @__PURE__ */ dual(2, (self, resolver) => {
16185
16271
  const withResolver = (resolver) => callback$2((resume) => {
@@ -16279,8 +16365,8 @@ function runBatch(batch) {
16279
16365
  }
16280
16366
 
16281
16367
  //#endregion
16282
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Effect.js
16283
- const TypeId$58 = EffectTypeId$1;
16368
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Effect.js
16369
+ const TypeId$57 = EffectTypeId$1;
16284
16370
  /**
16285
16371
  * Tests if a value is an `Effect`.
16286
16372
  *
@@ -16295,7 +16381,7 @@ const TypeId$58 = EffectTypeId$1;
16295
16381
  * @since 2.0.0
16296
16382
  * @category Guards
16297
16383
  */
16298
- const isEffect = (u) => typeof u === "object" && u !== null && TypeId$58 in u;
16384
+ const isEffect = (u) => typeof u === "object" && u !== null && TypeId$57 in u;
16299
16385
  /**
16300
16386
  * Combines multiple effects into one, returning results based on the input
16301
16387
  * structure.
@@ -16476,6 +16562,42 @@ const all = all$1;
16476
16562
  */
16477
16563
  const partition = partition$1;
16478
16564
  /**
16565
+ * Applies an effectful function to each element and accumulates all failures.
16566
+ *
16567
+ * This function always evaluates every element. If at least one effect fails,
16568
+ * all failures are returned as a non-empty array and successes are discarded.
16569
+ * If all effects succeed, it returns all collected successes.
16570
+ *
16571
+ * Use `discard: true` to ignore successful values while still validating all
16572
+ * elements.
16573
+ *
16574
+ * @example
16575
+ * ```ts
16576
+ * import { Effect } from "effect"
16577
+ *
16578
+ * const program = Effect.validate([0, 1, 2, 3], (n) =>
16579
+ * n % 2 === 0 ? Effect.fail(`${n} is even`) : Effect.succeed(n)
16580
+ * )
16581
+ *
16582
+ * Effect.runPromiseExit(program).then(console.log)
16583
+ * // {
16584
+ * // _id: 'Exit',
16585
+ * // _tag: 'Failure',
16586
+ * // cause: {
16587
+ * // _id: 'Cause',
16588
+ * // reasons: [
16589
+ * // { _id: 'Reason', _tag: 'Fail', error: '0 is even' },
16590
+ * // { _id: 'Reason', _tag: 'Fail', error: '2 is even' }
16591
+ * // ]
16592
+ * // }
16593
+ * // }
16594
+ * ```
16595
+ *
16596
+ * @since 4.0.0
16597
+ * @category Error Accumulation
16598
+ */
16599
+ const validate = validate$1;
16600
+ /**
16479
16601
  * Executes an effectful operation for each element in an `Iterable`.
16480
16602
  *
16481
16603
  * **Details**
@@ -18798,7 +18920,7 @@ const sandbox = sandbox$1;
18798
18920
  * @since 2.0.0
18799
18921
  * @category Error Handling
18800
18922
  */
18801
- const ignore = ignore$1;
18923
+ const ignore$1 = ignore$2;
18802
18924
  /**
18803
18925
  * Ignores the effect's failure cause, including defects and interruptions.
18804
18926
  *
@@ -18850,6 +18972,16 @@ const ignoreCause = ignoreCause$1;
18850
18972
  */
18851
18973
  const withExecutionPlan = withExecutionPlan$1;
18852
18974
  /**
18975
+ * Runs an effect and reports any errors to the configured `ErrorReporter`s.
18976
+ *
18977
+ * If the `defectsOnly` option is set to `true`, only defects (unrecoverable
18978
+ * errors) will be reported, while regular failures will be ignored.
18979
+ *
18980
+ * @since 4.0.0
18981
+ * @category Error Handling
18982
+ */
18983
+ const withErrorReporting = withErrorReporting$1;
18984
+ /**
18853
18985
  * Replaces the original failure with a success value, ensuring the effect
18854
18986
  * cannot fail.
18855
18987
  *
@@ -22428,6 +22560,32 @@ const annotateLogs = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (effect
22428
22560
  return newAnnotations;
22429
22561
  }));
22430
22562
  /**
22563
+ * Adds log annotations to the current scope.
22564
+ *
22565
+ * This differs from `annotateLogs`, which only annotates a specific effect.
22566
+ * `annotateLogsScoped` updates annotations for the entire current `Scope` and
22567
+ * restores the previous annotations when the scope closes.
22568
+ *
22569
+ * @example
22570
+ * ```ts
22571
+ * import { Effect } from "effect"
22572
+ *
22573
+ * const program = Effect.scoped(
22574
+ * Effect.gen(function*() {
22575
+ * yield* Effect.log("before")
22576
+ * yield* Effect.annotateLogsScoped({ requestId: "req-123" })
22577
+ * yield* Effect.log("inside scope")
22578
+ * })
22579
+ * )
22580
+ *
22581
+ * Effect.runPromise(program)
22582
+ * ```
22583
+ *
22584
+ * @since 4.0.0
22585
+ * @category Logging
22586
+ */
22587
+ const annotateLogsScoped = annotateLogsScoped$1;
22588
+ /**
22431
22589
  * Adds a span to each log line in this effect.
22432
22590
  *
22433
22591
  * @example
@@ -22721,7 +22879,7 @@ const catchEager = catchEager$1;
22721
22879
  const fnUntracedEager = fnUntracedEager$1;
22722
22880
 
22723
22881
  //#endregion
22724
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/record.js
22882
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/record.js
22725
22883
  /**
22726
22884
  * @since 4.0.0
22727
22885
  */
@@ -22738,7 +22896,7 @@ function set$10(self, key, value) {
22738
22896
  }
22739
22897
 
22740
22898
  //#endregion
22741
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/schema/annotations.js
22899
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/schema/annotations.js
22742
22900
  /** @internal */
22743
22901
  function resolve$2(ast) {
22744
22902
  return ast.checks ? ast.checks[ast.checks.length - 1].annotations : ast.annotations;
@@ -22761,7 +22919,7 @@ const getExpected = /* @__PURE__ */ memoize((ast) => {
22761
22919
  });
22762
22920
 
22763
22921
  //#endregion
22764
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/RegExp.js
22922
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/RegExp.js
22765
22923
  /**
22766
22924
  * This module provides utility functions for working with RegExp in TypeScript.
22767
22925
  *
@@ -22816,8 +22974,8 @@ const isRegExp = isRegExp$1;
22816
22974
  const escape = (string) => string.replace(/[/\\^$*+?.()|[\]{}]/g, "\\$&");
22817
22975
 
22818
22976
  //#endregion
22819
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/DateTime.js
22820
- TypeId$61;
22977
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/DateTime.js
22978
+ TypeId$60;
22821
22979
  TimeZoneTypeId;
22822
22980
  /**
22823
22981
  * @since 3.6.0
@@ -24385,7 +24543,7 @@ const formatIsoZoned = formatIsoZoned$1;
24385
24543
  const layerCurrentZoneNamed = /* @__PURE__ */ flow(zoneMakeNamedEffect$1, /* @__PURE__ */ effect$1(CurrentTimeZone));
24386
24544
 
24387
24545
  //#endregion
24388
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Encoding.js
24546
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Encoding.js
24389
24547
  /**
24390
24548
  * Encoding & decoding for Base64 (RFC4648), Base64Url, and Hex.
24391
24549
  *
@@ -24719,7 +24877,7 @@ const base64codes = [
24719
24877
  const base64UrlEncodeUint8Array = (data) => base64EncodeUint8Array(data).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
24720
24878
 
24721
24879
  //#endregion
24722
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/redacted.js
24880
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/redacted.js
24723
24881
  /** @internal */
24724
24882
  const redactedRegistry = /* @__PURE__ */ new WeakMap();
24725
24883
  /** @internal */
@@ -24729,7 +24887,7 @@ const value$3 = (self) => {
24729
24887
  };
24730
24888
 
24731
24889
  //#endregion
24732
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Redacted.js
24890
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Redacted.js
24733
24891
  /**
24734
24892
  * The Redacted module provides functionality for handling sensitive information
24735
24893
  * securely within your application. By using the `Redacted` data type, you can
@@ -24738,7 +24896,7 @@ const value$3 = (self) => {
24738
24896
  *
24739
24897
  * @since 3.3.0
24740
24898
  */
24741
- const TypeId$57 = "~effect/data/Redacted";
24899
+ const TypeId$56 = "~effect/data/Redacted";
24742
24900
  /**
24743
24901
  * @example
24744
24902
  * ```ts
@@ -24754,7 +24912,7 @@ const TypeId$57 = "~effect/data/Redacted";
24754
24912
  * @since 3.3.0
24755
24913
  * @category refinements
24756
24914
  */
24757
- const isRedacted = (u) => hasProperty(u, TypeId$57);
24915
+ const isRedacted = (u) => hasProperty(u, TypeId$56);
24758
24916
  /**
24759
24917
  * This function creates a `Redacted<A>` instance from a given value `A`,
24760
24918
  * securely hiding its content.
@@ -24776,7 +24934,7 @@ const make$55 = (value, options) => {
24776
24934
  return self;
24777
24935
  };
24778
24936
  const Proto$20 = {
24779
- [TypeId$57]: { _A: (_) => _ },
24937
+ [TypeId$56]: { _A: (_) => _ },
24780
24938
  label: void 0,
24781
24939
  ...PipeInspectableProto,
24782
24940
  toJSON() {
@@ -24785,10 +24943,10 @@ const Proto$20 = {
24785
24943
  toString() {
24786
24944
  return `<redacted${isString$1(this.label) ? ":" + this.label : ""}>`;
24787
24945
  },
24788
- [symbol$5]() {
24946
+ [symbol$6]() {
24789
24947
  return hash(redactedRegistry.get(this));
24790
24948
  },
24791
- [symbol$4](that) {
24949
+ [symbol$5](that) {
24792
24950
  return isRedacted(that) && equals$2(redactedRegistry.get(this), redactedRegistry.get(that));
24793
24951
  }
24794
24952
  };
@@ -24812,8 +24970,8 @@ const Proto$20 = {
24812
24970
  const value$2 = value$3;
24813
24971
 
24814
24972
  //#endregion
24815
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/SchemaIssue.js
24816
- const TypeId$56 = "~effect/SchemaIssue/Issue";
24973
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/SchemaIssue.js
24974
+ const TypeId$55 = "~effect/SchemaIssue/Issue";
24817
24975
  /**
24818
24976
  * Returns `true` if the given value is an {@link Issue}.
24819
24977
  *
@@ -24844,10 +25002,10 @@ const TypeId$56 = "~effect/SchemaIssue/Issue";
24844
25002
  * @since 4.0.0
24845
25003
  */
24846
25004
  function isIssue(u) {
24847
- return hasProperty(u, TypeId$56);
25005
+ return hasProperty(u, TypeId$55);
24848
25006
  }
24849
25007
  var Base$1 = class {
24850
- [TypeId$56] = TypeId$56;
25008
+ [TypeId$55] = TypeId$55;
24851
25009
  toString() {
24852
25010
  return defaultFormatter$1(this);
24853
25011
  }
@@ -25540,7 +25698,7 @@ function formatOption(actual) {
25540
25698
  }
25541
25699
 
25542
25700
  //#endregion
25543
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/SchemaGetter.js
25701
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/SchemaGetter.js
25544
25702
  /**
25545
25703
  * Composable transformation primitives for the Effect Schema system.
25546
25704
  *
@@ -25749,6 +25907,69 @@ function passthrough$1() {
25749
25907
  return passthrough_$1;
25750
25908
  }
25751
25909
  /**
25910
+ * Creates a getter that handles the case when the input is absent (`Option.None`).
25911
+ *
25912
+ * Use this when:
25913
+ * - You need to provide a fallback or computed value for missing struct keys.
25914
+ * - Building custom "default value" logic more complex than {@link withDefault}.
25915
+ *
25916
+ * Behavior:
25917
+ * - When input is `None`, calls `f` to produce the result.
25918
+ * - When input is `Some`, passes it through unchanged.
25919
+ * - `f` receives the parse options and may return `None` to keep the value absent.
25920
+ *
25921
+ * **Example** (Default timestamp for missing field)
25922
+ *
25923
+ * ```ts
25924
+ * import { SchemaGetter, Effect, Option } from "effect"
25925
+ *
25926
+ * const withTimestamp = SchemaGetter.onNone<number>(() =>
25927
+ * Effect.succeed(Option.some(Date.now()))
25928
+ * )
25929
+ * ```
25930
+ *
25931
+ * See also:
25932
+ * - {@link required} — fails if input is absent
25933
+ * - {@link withDefault} — simpler default value for undefined inputs
25934
+ * - {@link onSome} — handle only present values
25935
+ *
25936
+ * @category Constructors
25937
+ * @since 4.0.0
25938
+ */
25939
+ function onNone(f) {
25940
+ return new Getter((ot, options) => isNone(ot) ? f(options) : succeed$1(ot));
25941
+ }
25942
+ /**
25943
+ * Creates a getter that fails with `MissingKey` if the input is absent (`Option.None`).
25944
+ *
25945
+ * Use this when:
25946
+ * - A struct field must be present in the encoded input.
25947
+ * - You want schema validation to report a missing key error.
25948
+ *
25949
+ * Behavior:
25950
+ * - When input is `None`, fails with `Issue.MissingKey`.
25951
+ * - When input is `Some`, passes it through unchanged.
25952
+ * - Optional `annotations` customize the error message for the missing key.
25953
+ *
25954
+ * **Example** (Required struct field)
25955
+ *
25956
+ * ```ts
25957
+ * import { SchemaGetter } from "effect"
25958
+ *
25959
+ * const mustExist = SchemaGetter.required<string>()
25960
+ * ```
25961
+ *
25962
+ * See also:
25963
+ * - {@link onNone} — provide a fallback instead of failing
25964
+ * - {@link withDefault} — substitute a default for undefined values
25965
+ *
25966
+ * @category Constructors
25967
+ * @since 4.0.0
25968
+ */
25969
+ function required(annotations) {
25970
+ return onNone(() => fail$4(new MissingKey(annotations)));
25971
+ }
25972
+ /**
25752
25973
  * Creates a getter that handles present values (`Option.Some`), passing `None` through.
25753
25974
  *
25754
25975
  * Use this when:
@@ -25889,6 +26110,36 @@ function transformOptional(f) {
25889
26110
  return new Getter((oe) => succeed$1(f(oe)));
25890
26111
  }
25891
26112
  /**
26113
+ * Creates a getter that replaces `undefined` values with a default.
26114
+ *
26115
+ * Use this when:
26116
+ * - A field may be `undefined` in the encoded input and should have a fallback.
26117
+ *
26118
+ * Behavior:
26119
+ * - If the input is `Some(undefined)` or `None`, produces `Some(defaultValue())`.
26120
+ * - If the input is `Some(value)` where value is not `undefined`, passes it through.
26121
+ * - `defaultValue` is called lazily each time a default is needed.
26122
+ *
26123
+ * **Example** (Default value for optional field)
26124
+ *
26125
+ * ```ts
26126
+ * import { SchemaGetter } from "effect"
26127
+ *
26128
+ * const withZero = SchemaGetter.withDefault(() => 0)
26129
+ * // Getter<number, number | undefined>
26130
+ * ```
26131
+ *
26132
+ * See also:
26133
+ * - {@link onNone} — handle only absent keys (not `undefined` values)
26134
+ * - {@link required} — fail instead of providing a default
26135
+ *
26136
+ * @category Constructors
26137
+ * @since 4.0.0
26138
+ */
26139
+ function withDefault$4(defaultValue) {
26140
+ return transformOptional((o) => o.pipe(filter$9(isNotUndefined), orElseSome(defaultValue)));
26141
+ }
26142
+ /**
25892
26143
  * Coerces any value to a `string` using the global `String()` constructor.
25893
26144
  *
25894
26145
  * Use this when:
@@ -26148,7 +26399,7 @@ function collectBracketPathEntries(isLeaf) {
26148
26399
  }
26149
26400
 
26150
26401
  //#endregion
26151
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/BigDecimal.js
26402
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/BigDecimal.js
26152
26403
  /**
26153
26404
  * This module provides utility functions and type class instances for working with the `BigDecimal` type in TypeScript.
26154
26405
  * It includes functions for basic arithmetic operations.
@@ -26165,14 +26416,14 @@ function collectBracketPathEntries(isLeaf) {
26165
26416
  * @since 2.0.0
26166
26417
  */
26167
26418
  const FINITE_INT_REGEXP = /^[+-]?\d+$/;
26168
- const TypeId$55 = "~effect/BigDecimal";
26419
+ const TypeId$54 = "~effect/BigDecimal";
26169
26420
  const BigDecimalProto = {
26170
- [TypeId$55]: TypeId$55,
26171
- [symbol$5]() {
26421
+ [TypeId$54]: TypeId$54,
26422
+ [symbol$6]() {
26172
26423
  const normalized = normalize(this);
26173
26424
  return combine$2(hash(normalized.value), number$2(normalized.scale));
26174
26425
  },
26175
- [symbol$4](that) {
26426
+ [symbol$5](that) {
26176
26427
  return isBigDecimal(that) && equals(this, that);
26177
26428
  },
26178
26429
  toString() {
@@ -26208,7 +26459,7 @@ const BigDecimalProto = {
26208
26459
  * @since 2.0.0
26209
26460
  * @category guards
26210
26461
  */
26211
- const isBigDecimal = (u) => hasProperty(u, TypeId$55);
26462
+ const isBigDecimal = (u) => hasProperty(u, TypeId$54);
26212
26463
  /**
26213
26464
  * Creates a `BigDecimal` from a `bigint` value and a scale.
26214
26465
  *
@@ -26565,7 +26816,7 @@ const isZero = (n) => n.value === bigint0;
26565
26816
  const isNegative = (n) => n.value < bigint0;
26566
26817
 
26567
26818
  //#endregion
26568
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/SchemaTransformation.js
26819
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/SchemaTransformation.js
26569
26820
  /**
26570
26821
  * Bidirectional transformations for the Effect Schema system.
26571
26822
  *
@@ -26649,7 +26900,7 @@ const isNegative = (n) => n.value < bigint0;
26649
26900
  *
26650
26901
  * @since 4.0.0
26651
26902
  */
26652
- const TypeId$54 = "~effect/SchemaTransformation/Transformation";
26903
+ const TypeId$53 = "~effect/SchemaTransformation/Transformation";
26653
26904
  /**
26654
26905
  * A bidirectional transformation between a decoded type `T` and an encoded
26655
26906
  * type `E`, built from a pair of `Getter`s.
@@ -26691,7 +26942,7 @@ const TypeId$54 = "~effect/SchemaTransformation/Transformation";
26691
26942
  * @since 4.0.0
26692
26943
  */
26693
26944
  var Transformation = class Transformation {
26694
- [TypeId$54] = TypeId$54;
26945
+ [TypeId$53] = TypeId$53;
26695
26946
  _tag = "Transformation";
26696
26947
  decode;
26697
26948
  encode;
@@ -26735,7 +26986,7 @@ var Transformation = class Transformation {
26735
26986
  * @since 4.0.0
26736
26987
  */
26737
26988
  function isTransformation(u) {
26738
- return hasProperty(u, TypeId$54);
26989
+ return hasProperty(u, TypeId$53);
26739
26990
  }
26740
26991
  /**
26741
26992
  * Constructs a `Transformation` from an object with `decode` and `encode`
@@ -27123,7 +27374,7 @@ const dateTimeUtcFromString = /* @__PURE__ */ transformOrFail({
27123
27374
  });
27124
27375
 
27125
27376
  //#endregion
27126
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/SchemaAST.js
27377
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/SchemaAST.js
27127
27378
  /**
27128
27379
  * Abstract Syntax Tree (AST) representation for Effect schemas.
27129
27380
  *
@@ -27213,7 +27464,7 @@ function makeGuard(tag) {
27213
27464
  * @since 4.0.0
27214
27465
  */
27215
27466
  function isAST(u) {
27216
- return hasProperty(u, TypeId$53) && u[TypeId$53] === TypeId$53;
27467
+ return hasProperty(u, TypeId$52) && u[TypeId$52] === TypeId$52;
27217
27468
  }
27218
27469
  /**
27219
27470
  * Narrows an {@link AST} to {@link Declaration}.
@@ -27317,7 +27568,7 @@ var Context = class {
27317
27568
  this.annotations = annotations;
27318
27569
  }
27319
27570
  };
27320
- const TypeId$53 = "~effect/Schema";
27571
+ const TypeId$52 = "~effect/Schema";
27321
27572
  /**
27322
27573
  * Abstract base class for all {@link AST} node variants.
27323
27574
  *
@@ -27338,7 +27589,7 @@ const TypeId$53 = "~effect/Schema";
27338
27589
  * @since 4.0.0
27339
27590
  */
27340
27591
  var Base = class {
27341
- [TypeId$53] = TypeId$53;
27592
+ [TypeId$52] = TypeId$52;
27342
27593
  annotations;
27343
27594
  checks;
27344
27595
  encoding;
@@ -27775,7 +28026,7 @@ var Symbol$2 = class extends Base {
27775
28026
  *
27776
28027
  * @since 4.0.0
27777
28028
  */
27778
- const symbol$2 = /* @__PURE__ */ new Symbol$2();
28029
+ const symbol$3 = /* @__PURE__ */ new Symbol$2();
27779
28030
  /**
27780
28031
  * AST node matching any `bigint` value.
27781
28032
  *
@@ -27920,25 +28171,28 @@ var Arrays = class Arrays extends Base {
27920
28171
  else return yield* fail$4(new Composite(ast, oinput, [issue]));
27921
28172
  }
27922
28173
  }
27923
- for (let j = 0; j < tail.length; j++) if (len < i + 1) continue;
27924
- else {
27925
- const tailj = tail[j];
27926
- const keyAnnotations = tailj.ast.context?.annotations;
27927
- const eff = tailj.parser(some$2(input[i]), options);
27928
- const exit$7 = effectIsExit(eff) ? eff : yield* exit(eff);
27929
- if (exit$7._tag === "Failure") {
27930
- const issueRest = findError(exit$7.cause);
27931
- if (isFailure$4(issueRest)) return yield* exit$7;
27932
- const issue = new Pointer([i], issueRest.success);
27933
- if (errorsAllOption) if (issues) issues.push(issue);
27934
- else issues = [issue];
27935
- else return yield* fail$4(new Composite(ast, oinput, [issue]));
27936
- } else if (exit$7.value._tag === "Some") output[i] = exit$7.value.value;
28174
+ for (let j = 0; j < tail.length; j++) {
28175
+ i += j;
28176
+ if (len < i) continue;
27937
28177
  else {
27938
- const issue = new Pointer([i], new MissingKey(keyAnnotations));
27939
- if (errorsAllOption) if (issues) issues.push(issue);
27940
- else issues = [issue];
27941
- else return yield* fail$4(new Composite(ast, oinput, [issue]));
28178
+ const tailj = tail[j];
28179
+ const keyAnnotations = tailj.ast.context?.annotations;
28180
+ const eff = tailj.parser(some$2(input[i]), options);
28181
+ const exit$7 = effectIsExit(eff) ? eff : yield* exit(eff);
28182
+ if (exit$7._tag === "Failure") {
28183
+ const issueRest = findError(exit$7.cause);
28184
+ if (isFailure$4(issueRest)) return yield* exit$7;
28185
+ const issue = new Pointer([i], issueRest.success);
28186
+ if (errorsAllOption) if (issues) issues.push(issue);
28187
+ else issues = [issue];
28188
+ else return yield* fail$4(new Composite(ast, oinput, [issue]));
28189
+ } else if (exit$7.value._tag === "Some") output[i] = exit$7.value.value;
28190
+ else {
28191
+ const issue = new Pointer([i], new MissingKey(keyAnnotations));
28192
+ if (errorsAllOption) if (issues) issues.push(issue);
28193
+ else issues = [issue];
28194
+ else return yield* fail$4(new Composite(ast, oinput, [issue]));
28195
+ }
27942
28196
  }
27943
28197
  }
27944
28198
  } else for (let i = elementLen; i <= len - 1; i++) {
@@ -27973,7 +28227,7 @@ const isNumberStringRegExp = /* @__PURE__ */ new globalThis.RegExp(`(?:${FINITE_
27973
28227
  * @internal
27974
28228
  */
27975
28229
  function getIndexSignatureKeys(input, parameter) {
27976
- const encoded = toEncoded(parameter);
28230
+ const encoded = toEncoded$1(parameter);
27977
28231
  switch (encoded._tag) {
27978
28232
  case "String": return Object.keys(input);
27979
28233
  case "TemplateLiteral": {
@@ -28334,7 +28588,7 @@ function getIndex(types) {
28334
28588
  if (idx) return idx;
28335
28589
  idx = {};
28336
28590
  for (const a of types) {
28337
- const encoded = toEncoded(a);
28591
+ const encoded = toEncoded$1(a);
28338
28592
  if (isNever(encoded)) continue;
28339
28593
  const types = getCandidateTypes(encoded);
28340
28594
  const sentinels = collectSentinels(encoded);
@@ -28359,7 +28613,7 @@ function getIndex(types) {
28359
28613
  }
28360
28614
  function filterLiterals(input) {
28361
28615
  return (ast) => {
28362
- const encoded = toEncoded(ast);
28616
+ const encoded = toEncoded$1(ast);
28363
28617
  return encoded._tag === "Literal" ? encoded.literal === input : encoded._tag === "UniqueSymbol" ? encoded.symbol === input : true;
28364
28618
  };
28365
28619
  }
@@ -28471,7 +28725,7 @@ var Union$1 = class Union$1 extends Base {
28471
28725
  if (typeof expected === "string") return expected;
28472
28726
  if (this.types.length === 0) return "never";
28473
28727
  const types = this.types.map((type) => {
28474
- const encoded = toEncoded(type);
28728
+ const encoded = toEncoded$1(type);
28475
28729
  switch (encoded._tag) {
28476
28730
  case "Arrays": {
28477
28731
  const literals = encoded.elements.filter(isLiteral);
@@ -28887,10 +29141,10 @@ function isMutable(ast) {
28887
29141
  *
28888
29142
  * @since 4.0.0
28889
29143
  */
28890
- const toType = /* @__PURE__ */ memoize((ast) => {
28891
- if (ast.encoding) return toType(replaceEncoding(ast, void 0));
29144
+ const toType$1 = /* @__PURE__ */ memoize((ast) => {
29145
+ if (ast.encoding) return toType$1(replaceEncoding(ast, void 0));
28892
29146
  const out = ast;
28893
- return out.recur?.(toType) ?? out;
29147
+ return out.recur?.(toType$1) ?? out;
28894
29148
  });
28895
29149
  /**
28896
29150
  * Returns the encoded (wire-format) AST by flipping and then stripping
@@ -28917,8 +29171,8 @@ const toType = /* @__PURE__ */ memoize((ast) => {
28917
29171
  *
28918
29172
  * @since 4.0.0
28919
29173
  */
28920
- const toEncoded = /* @__PURE__ */ memoize((ast) => {
28921
- return toType(flip(ast));
29174
+ const toEncoded$1 = /* @__PURE__ */ memoize((ast) => {
29175
+ return toType$1(flip(ast));
28922
29176
  });
28923
29177
  function flipEncoding(ast, encoding) {
28924
29178
  const links = encoding;
@@ -29157,7 +29411,7 @@ const resolveTitle = resolveTitle$1;
29157
29411
  const resolveDescription = resolveDescription$1;
29158
29412
 
29159
29413
  //#endregion
29160
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Brand.js
29414
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Brand.js
29161
29415
  /**
29162
29416
  * This function returns a `Constructor` that **does not apply any runtime
29163
29417
  * checks**, it just returns the provided value. It can be used to create
@@ -29179,11 +29433,11 @@ function nominal() {
29179
29433
  }
29180
29434
 
29181
29435
  //#endregion
29182
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/PlatformError.js
29436
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/PlatformError.js
29183
29437
  /**
29184
29438
  * @since 4.0.0
29185
29439
  */
29186
- const TypeId$52 = "~effect/platform/PlatformError";
29440
+ const TypeId$51 = "~effect/platform/PlatformError";
29187
29441
  /**
29188
29442
  * @since 4.0.0
29189
29443
  * @category Models
@@ -29223,7 +29477,7 @@ var PlatformError = class extends TaggedError("PlatformError") {
29223
29477
  /**
29224
29478
  * @since 4.0.0
29225
29479
  */
29226
- [TypeId$52] = TypeId$52;
29480
+ [TypeId$51] = TypeId$51;
29227
29481
  get message() {
29228
29482
  return this.reason.message;
29229
29483
  }
@@ -29240,7 +29494,7 @@ const systemError = (options) => new PlatformError(new SystemError(options));
29240
29494
  const badArgument = (options) => new PlatformError(new BadArgument(options));
29241
29495
 
29242
29496
  //#endregion
29243
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Chunk.js
29497
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Chunk.js
29244
29498
  /**
29245
29499
  * The `Chunk` module provides an immutable, high-performance sequence data structure
29246
29500
  * optimized for functional programming patterns. A `Chunk` is a persistent data structure
@@ -29311,7 +29565,7 @@ const badArgument = (options) => new PlatformError(new BadArgument(options));
29311
29565
  *
29312
29566
  * @since 2.0.0
29313
29567
  */
29314
- const TypeId$51 = "~effect/collections/Chunk";
29568
+ const TypeId$50 = "~effect/collections/Chunk";
29315
29569
  function copy$1(src, srcPos, dest, destPos, len) {
29316
29570
  for (let i = srcPos; i < Math.min(src.length, srcPos + len); i++) dest[destPos + i - srcPos] = src[i];
29317
29571
  return dest;
@@ -29340,7 +29594,7 @@ const emptyArray = [];
29340
29594
  const makeEquivalence$1 = (isEquivalent) => make$62((self, that) => self.length === that.length && toReadonlyArray(self).every((value, i) => isEquivalent(value, getUnsafe$4(that, i))));
29341
29595
  const _equivalence = /* @__PURE__ */ makeEquivalence$1(equals$2);
29342
29596
  const ChunkProto = {
29343
- [TypeId$51]: { _A: (_) => _ },
29597
+ [TypeId$50]: { _A: (_) => _ },
29344
29598
  toString() {
29345
29599
  return `Chunk(${format$4(toReadonlyArray(this))})`;
29346
29600
  },
@@ -29353,10 +29607,10 @@ const ChunkProto = {
29353
29607
  [NodeInspectSymbol]() {
29354
29608
  return this.toJSON();
29355
29609
  },
29356
- [symbol$4](that) {
29610
+ [symbol$5](that) {
29357
29611
  return isChunk(that) && _equivalence(this, that);
29358
29612
  },
29359
- [symbol$5]() {
29613
+ [symbol$6]() {
29360
29614
  return array(toReadonlyArray(this));
29361
29615
  },
29362
29616
  [Symbol.iterator]() {
@@ -29425,7 +29679,7 @@ const makeChunk = (backing) => {
29425
29679
  * @category constructors
29426
29680
  * @since 2.0.0
29427
29681
  */
29428
- const isChunk = (u) => hasProperty(u, TypeId$51);
29682
+ const isChunk = (u) => hasProperty(u, TypeId$50);
29429
29683
  const _empty = /* @__PURE__ */ makeChunk({ _tag: "IEmpty" });
29430
29684
  /**
29431
29685
  * Creates an empty `Chunk`.
@@ -29982,7 +30236,7 @@ const reduce$2 = reduce$3;
29982
30236
  const reduceRight = reduceRight$1;
29983
30237
 
29984
30238
  //#endregion
29985
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Fiber.js
30239
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Fiber.js
29986
30240
  `${version$1}`;
29987
30241
  const await_ = fiberAwait;
29988
30242
  /**
@@ -30190,7 +30444,7 @@ const getCurrent = getCurrentFiber;
30190
30444
  const runIn = fiberRunIn;
30191
30445
 
30192
30446
  //#endregion
30193
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Latch.js
30447
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Latch.js
30194
30448
  /**
30195
30449
  * Creates a new Latch unsafely.
30196
30450
  *
@@ -30263,7 +30517,7 @@ const makeUnsafe$9 = makeLatchUnsafe;
30263
30517
  const make$51 = makeLatch;
30264
30518
 
30265
30519
  //#endregion
30266
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/MutableList.js
30520
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/MutableList.js
30267
30521
  /**
30268
30522
  * A unique symbol used to represent an empty result when taking elements from a MutableList.
30269
30523
  * This symbol is returned by `take` when the list is empty, allowing for safe type checking.
@@ -30684,10 +30938,10 @@ const filter$3 = (self, f) => {
30684
30938
  const remove$6 = (self, value) => filter$3(self, (v) => v !== value);
30685
30939
 
30686
30940
  //#endregion
30687
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/MutableRef.js
30688
- const TypeId$50 = "~effect/MutableRef";
30941
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/MutableRef.js
30942
+ const TypeId$49 = "~effect/MutableRef";
30689
30943
  const MutableRefProto = {
30690
- [TypeId$50]: TypeId$50,
30944
+ [TypeId$49]: TypeId$49,
30691
30945
  ...PipeInspectableProto,
30692
30946
  toJSON() {
30693
30947
  return {
@@ -30769,7 +31023,7 @@ const set$9 = /* @__PURE__ */ dual(2, (self, value) => {
30769
31023
  });
30770
31024
 
30771
31025
  //#endregion
30772
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/PubSub.js
31026
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/PubSub.js
30773
31027
  /**
30774
31028
  * This module provides utilities for working with publish-subscribe (PubSub) systems.
30775
31029
  *
@@ -30800,7 +31054,7 @@ const set$9 = /* @__PURE__ */ dual(2, (self, value) => {
30800
31054
  *
30801
31055
  * @since 2.0.0
30802
31056
  */
30803
- const TypeId$49 = "~effect/PubSub";
31057
+ const TypeId$48 = "~effect/PubSub";
30804
31058
  const SubscriptionTypeId = "~effect/PubSub/Subscription";
30805
31059
  /**
30806
31060
  * Publishes a message to the `PubSub`, returning whether the message was published
@@ -30982,7 +31236,7 @@ var SubscriptionImpl = class {
30982
31236
  }
30983
31237
  };
30984
31238
  var PubSubImpl = class {
30985
- [TypeId$49] = { _A: identity };
31239
+ [TypeId$48] = { _A: identity };
30986
31240
  pubsub;
30987
31241
  subscribers;
30988
31242
  scope;
@@ -31003,8 +31257,8 @@ var PubSubImpl = class {
31003
31257
  };
31004
31258
 
31005
31259
  //#endregion
31006
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Queue.js
31007
- const TypeId$48 = "~effect/Queue";
31260
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Queue.js
31261
+ const TypeId$47 = "~effect/Queue";
31008
31262
  const EnqueueTypeId = "~effect/Queue/Enqueue";
31009
31263
  const DequeueTypeId = "~effect/Queue/Dequeue";
31010
31264
  const variance$1 = {
@@ -31012,7 +31266,7 @@ const variance$1 = {
31012
31266
  _E: identity
31013
31267
  };
31014
31268
  const QueueProto = {
31015
- [TypeId$48]: variance$1,
31269
+ [TypeId$47]: variance$1,
31016
31270
  [EnqueueTypeId]: variance$1,
31017
31271
  [DequeueTypeId]: variance$1,
31018
31272
  ...PipeInspectableProto,
@@ -31634,10 +31888,10 @@ const finalize = (self, exit) => {
31634
31888
  };
31635
31889
 
31636
31890
  //#endregion
31637
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/MutableHashMap.js
31638
- const TypeId$47 = "~effect/collections/MutableHashMap";
31891
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/MutableHashMap.js
31892
+ const TypeId$46 = "~effect/collections/MutableHashMap";
31639
31893
  const MutableHashMapProto = {
31640
- [TypeId$47]: TypeId$47,
31894
+ [TypeId$46]: TypeId$46,
31641
31895
  [Symbol.iterator]() {
31642
31896
  return this.backing[Symbol.iterator]();
31643
31897
  },
@@ -32001,7 +32255,7 @@ const clear$1 = (self) => {
32001
32255
  const size$2 = (self) => self.backing.size;
32002
32256
 
32003
32257
  //#endregion
32004
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Semaphore.js
32258
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Semaphore.js
32005
32259
  /**
32006
32260
  * Unsafely creates a new Semaphore.
32007
32261
  *
@@ -32076,7 +32330,7 @@ const makeUnsafe$8 = makeSemaphoreUnsafe;
32076
32330
  const make$46 = makeSemaphore;
32077
32331
 
32078
32332
  //#endregion
32079
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Channel.js
32333
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Channel.js
32080
32334
  /**
32081
32335
  * The `Channel` module provides a powerful abstraction for bi-directional communication
32082
32336
  * and streaming operations. A `Channel` is a nexus of I/O operations that supports both
@@ -32135,7 +32389,7 @@ const make$46 = makeSemaphore;
32135
32389
  *
32136
32390
  * @since 2.0.0
32137
32391
  */
32138
- const TypeId$46 = "~effect/Channel";
32392
+ const TypeId$45 = "~effect/Channel";
32139
32393
  /**
32140
32394
  * Tests if a value is a `Channel`.
32141
32395
  *
@@ -32151,9 +32405,9 @@ const TypeId$46 = "~effect/Channel";
32151
32405
  * @category guards
32152
32406
  * @since 3.5.4
32153
32407
  */
32154
- const isChannel = (u) => hasProperty(u, TypeId$46);
32408
+ const isChannel = (u) => hasProperty(u, TypeId$45);
32155
32409
  const ChannelProto = {
32156
- [TypeId$46]: {
32410
+ [TypeId$45]: {
32157
32411
  _Env: identity,
32158
32412
  _InErr: identity,
32159
32413
  _InElem: identity,
@@ -33423,15 +33677,15 @@ const toPull$1 = /* @__PURE__ */ fnUntraced(function* (self) {
33423
33677
  const toPullScoped = (self, scope) => toTransform(self)(done(), scope);
33424
33678
 
33425
33679
  //#endregion
33426
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/stream.js
33427
- const TypeId$45 = "~effect/Stream";
33680
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/stream.js
33681
+ const TypeId$44 = "~effect/Stream";
33428
33682
  const streamVariance = {
33429
33683
  _R: identity,
33430
33684
  _E: identity,
33431
33685
  _A: identity
33432
33686
  };
33433
33687
  const StreamProto = {
33434
- [TypeId$45]: streamVariance,
33688
+ [TypeId$44]: streamVariance,
33435
33689
  pipe() {
33436
33690
  return pipeArguments(this, arguments);
33437
33691
  }
@@ -33444,8 +33698,8 @@ const fromChannel$2 = (channel) => {
33444
33698
  };
33445
33699
 
33446
33700
  //#endregion
33447
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Sink.js
33448
- const TypeId$44 = "~effect/Sink";
33701
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Sink.js
33702
+ const TypeId$43 = "~effect/Sink";
33449
33703
  const endVoid = /* @__PURE__ */ succeed$1([void 0]);
33450
33704
  const sinkVariance = {
33451
33705
  _A: identity,
@@ -33455,7 +33709,7 @@ const sinkVariance = {
33455
33709
  _R: identity
33456
33710
  };
33457
33711
  const SinkProto = {
33458
- [TypeId$44]: sinkVariance,
33712
+ [TypeId$43]: sinkVariance,
33459
33713
  pipe() {
33460
33714
  return pipeArguments(this, arguments);
33461
33715
  }
@@ -33477,7 +33731,7 @@ const SinkProto = {
33477
33731
  * @since 2.0.0
33478
33732
  * @category guards
33479
33733
  */
33480
- const isSink = (u) => hasProperty(u, TypeId$44);
33734
+ const isSink = (u) => hasProperty(u, TypeId$43);
33481
33735
  /**
33482
33736
  * Creates a sink from a `Channel`.
33483
33737
  *
@@ -33650,13 +33904,13 @@ const forEachArray = (f) => fromTransform((upstream) => upstream.pipe(flatMap$2(
33650
33904
  const unwrap$1 = (effect) => fromChannel$1(unwrap$2(map$8(effect, toChannel$1)));
33651
33905
 
33652
33906
  //#endregion
33653
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/RcMap.js
33907
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/RcMap.js
33654
33908
  /**
33655
33909
  * @since 3.5.0
33656
33910
  */
33657
- const TypeId$43 = "~effect/RcMap";
33911
+ const TypeId$42 = "~effect/RcMap";
33658
33912
  const makeUnsafe$7 = (options) => ({
33659
- [TypeId$43]: TypeId$43,
33913
+ [TypeId$42]: TypeId$42,
33660
33914
  lookup: options.lookup,
33661
33915
  services: options.services,
33662
33916
  scope: options.scope,
@@ -33850,8 +34104,8 @@ const invalidate$4 = /* @__PURE__ */ dual(2, /* @__PURE__ */ fnUntraced(function
33850
34104
  }, uninterruptible));
33851
34105
 
33852
34106
  //#endregion
33853
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/rcRef.js
33854
- const TypeId$42 = "~effect/RcRef";
34107
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/rcRef.js
34108
+ const TypeId$41 = "~effect/RcRef";
33855
34109
  const stateEmpty = { _tag: "Empty" };
33856
34110
  const stateClosed = { _tag: "Closed" };
33857
34111
  const variance = {
@@ -33859,7 +34113,7 @@ const variance = {
33859
34113
  _E: identity
33860
34114
  };
33861
34115
  var RcRefImpl = class {
33862
- [TypeId$42] = variance;
34116
+ [TypeId$41] = variance;
33863
34117
  pipe() {
33864
34118
  return pipeArguments(this, arguments);
33865
34119
  }
@@ -33952,7 +34206,7 @@ const invalidate$3 = (self_) => {
33952
34206
  };
33953
34207
 
33954
34208
  //#endregion
33955
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/RcRef.js
34209
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/RcRef.js
33956
34210
  /**
33957
34211
  * Create an `RcRef` from an acquire `Effect`.
33958
34212
  *
@@ -34027,11 +34281,11 @@ const get$8 = get$9;
34027
34281
  const invalidate$2 = invalidate$3;
34028
34282
 
34029
34283
  //#endregion
34030
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Stream.js
34284
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Stream.js
34031
34285
  /**
34032
34286
  * @since 2.0.0
34033
34287
  */
34034
- const TypeId$41 = "~effect/Stream";
34288
+ const TypeId$40 = "~effect/Stream";
34035
34289
  /**
34036
34290
  * Checks whether a value is a Stream.
34037
34291
  *
@@ -34055,7 +34309,7 @@ const TypeId$41 = "~effect/Stream";
34055
34309
  * @since 2.0.0
34056
34310
  * @category Guards
34057
34311
  */
34058
- const isStream = (u) => hasProperty(u, TypeId$41);
34312
+ const isStream = (u) => hasProperty(u, TypeId$40);
34059
34313
  /**
34060
34314
  * The default chunk size used by Stream constructors and combinators.
34061
34315
  *
@@ -35198,7 +35452,7 @@ const toReadableStreamWith = /* @__PURE__ */ dual((args) => isStream(args[0]), (
35198
35452
  const toReadableStreamEffect = /* @__PURE__ */ dual((args) => isStream(args[0]), (self, options) => map$8(services(), (context) => toReadableStreamWith(self, context, options)));
35199
35453
 
35200
35454
  //#endregion
35201
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/FileSystem.js
35455
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/FileSystem.js
35202
35456
  /**
35203
35457
  * This module provides a comprehensive file system abstraction that supports both synchronous
35204
35458
  * and asynchronous file operations through Effect. It includes utilities for file I/O, directory
@@ -35236,7 +35490,7 @@ const toReadableStreamEffect = /* @__PURE__ */ dual((args) => isStream(args[0]),
35236
35490
  *
35237
35491
  * @since 4.0.0
35238
35492
  */
35239
- const TypeId$40 = "~effect/platform/FileSystem";
35493
+ const TypeId$39 = "~effect/platform/FileSystem";
35240
35494
  /**
35241
35495
  * Creates a `Size` from various numeric input types.
35242
35496
  *
@@ -35325,7 +35579,7 @@ const FileSystem = /* @__PURE__ */ Service$1("effect/platform/FileSystem");
35325
35579
  */
35326
35580
  const make$42 = (impl) => FileSystem.of({
35327
35581
  ...impl,
35328
- [TypeId$40]: TypeId$40,
35582
+ [TypeId$39]: TypeId$39,
35329
35583
  exists: (path) => pipe(impl.access(path), as(true), catchTag("PlatformError", (e) => e.reason._tag === "NotFound" ? succeed$1(false) : fail$4(e))),
35330
35584
  readFileString: (path, encoding) => flatMap$2(impl.readFile(path), (_) => try_({
35331
35585
  try: () => new TextDecoder(encoding).decode(_),
@@ -35421,14 +35675,14 @@ const FileDescriptor = /* @__PURE__ */ nominal();
35421
35675
  var WatchBackend = class extends Service$1()("effect/platform/FileSystem/WatchBackend") {};
35422
35676
 
35423
35677
  //#endregion
35424
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Path.js
35678
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Path.js
35425
35679
  /**
35426
35680
  * @since 4.0.0
35427
35681
  */
35428
35682
  /**
35429
35683
  * @since 4.0.0
35430
35684
  */
35431
- const TypeId$39 = "~effect/platform/Path";
35685
+ const TypeId$38 = "~effect/platform/Path";
35432
35686
  /**
35433
35687
  * @since 4.0.0
35434
35688
  * @category tag
@@ -35620,7 +35874,7 @@ function encodePathChars(filepath) {
35620
35874
  return filepath;
35621
35875
  }
35622
35876
  const posixImpl = /* @__PURE__ */ Path$1.of({
35623
- [TypeId$39]: TypeId$39,
35877
+ [TypeId$38]: TypeId$38,
35624
35878
  resolve,
35625
35879
  normalize(path) {
35626
35880
  if (path.length === 0) return ".";
@@ -35846,7 +36100,7 @@ const posixImpl = /* @__PURE__ */ Path$1.of({
35846
36100
  });
35847
36101
 
35848
36102
  //#endregion
35849
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/ConfigProvider.js
36103
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/ConfigProvider.js
35850
36104
  /**
35851
36105
  * Creates a `Value` node representing a terminal string leaf.
35852
36106
  *
@@ -36121,7 +36375,7 @@ function trieNodeAt(root, path) {
36121
36375
  }
36122
36376
 
36123
36377
  //#endregion
36124
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/LogLevel.js
36378
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/LogLevel.js
36125
36379
  /**
36126
36380
  * @since 4.0.0
36127
36381
  * @category models
@@ -36222,7 +36476,7 @@ const isGreaterThan$1 = isLogLevelGreaterThan;
36222
36476
  const isLessThan$1 = /* @__PURE__ */ isLessThan$4(Order);
36223
36477
 
36224
36478
  //#endregion
36225
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/hashMap.js
36479
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/hashMap.js
36226
36480
  /**
36227
36481
  * @since 2.0.0
36228
36482
  */
@@ -36257,7 +36511,7 @@ function mergeLeaves(edit, shift, hash1, node1, hash2, node2) {
36257
36511
  const bit1 = bitpos(hash1, shift);
36258
36512
  const bit2 = bitpos(hash2, shift);
36259
36513
  if (bit1 === bit2) return new IndexedNode(edit, bit1, [mergeLeaves(edit, shift + SHIFT, hash1, node1, hash2, node2)]);
36260
- return new IndexedNode(edit, bit1 | bit2, bit1 < bit2 ? [node1, node2] : [node2, node1]);
36514
+ return new IndexedNode(edit, bit1 | bit2, bit1 >>> 0 < bit2 >>> 0 ? [node1, node2] : [node2, node1]);
36261
36515
  }
36262
36516
  /** @internal */
36263
36517
  var Node = class {
@@ -36333,7 +36587,7 @@ var LeafNode = class LeafNode extends Node {
36333
36587
  const newBit = bitpos(hash, shift);
36334
36588
  const existingBit = bitpos(this.hash, shift);
36335
36589
  if (newBit === existingBit) return new IndexedNode(edit, newBit, [this.set(edit, shift + SHIFT, hash, key, value, added)]);
36336
- return new IndexedNode(edit, newBit | existingBit, newBit < existingBit ? [new LeafNode(edit, hash, key, value), this] : [this, new LeafNode(edit, hash, key, value)]);
36590
+ return new IndexedNode(edit, newBit | existingBit, newBit >>> 0 < existingBit >>> 0 ? [new LeafNode(edit, hash, key, value), this] : [this, new LeafNode(edit, hash, key, value)]);
36337
36591
  }
36338
36592
  remove(_edit, _shift, hash, key, removed) {
36339
36593
  if (this.hash === hash && equals$2(this.key, key)) {
@@ -36673,7 +36927,7 @@ var HashMapImpl = class {
36673
36927
  [Symbol.iterator]() {
36674
36928
  return this._root.iterator();
36675
36929
  }
36676
- [symbol$4](that) {
36930
+ [symbol$5](that) {
36677
36931
  if (isHashMap$1(that)) {
36678
36932
  const thatImpl = that;
36679
36933
  if (this.size !== thatImpl.size) return false;
@@ -36685,7 +36939,7 @@ var HashMapImpl = class {
36685
36939
  }
36686
36940
  return false;
36687
36941
  }
36688
- [symbol$5]() {
36942
+ [symbol$6]() {
36689
36943
  let hash$4 = string$4("HashMap");
36690
36944
  for (const [key, value] of this) hash$4 = hash$4 ^ hash(key) + hash(value);
36691
36945
  return hash$4;
@@ -36720,9 +36974,9 @@ const fromIterable$2 = (entries) => {
36720
36974
  let size = 0;
36721
36975
  const added = { value: false };
36722
36976
  for (const [key, value] of entries) {
36723
- const hash$2 = hash(key);
36977
+ const hash$1 = hash(key);
36724
36978
  added.value = false;
36725
- root = root.set(NaN, 0, hash$2, key, value, added);
36979
+ root = root.set(NaN, 0, hash$1, key, value, added);
36726
36980
  if (added.value) size++;
36727
36981
  }
36728
36982
  return new HashMapImpl(false, 0, root, size);
@@ -36759,10 +37013,10 @@ const hasBy$1 = /* @__PURE__ */ dual(2, (self, predicate) => {
36759
37013
  /** @internal */
36760
37014
  const set$7 = /* @__PURE__ */ dual(3, (self, key, value) => {
36761
37015
  const impl = self;
36762
- const hash$3 = hash(key);
37016
+ const hash$2 = hash(key);
36763
37017
  const added = { value: false };
36764
37018
  const edit = impl._editable ? impl._edit : NaN;
36765
- const newRoot = impl._root.set(edit, 0, hash$3, key, value, added);
37019
+ const newRoot = impl._root.set(edit, 0, hash$2, key, value, added);
36766
37020
  if (impl._editable) {
36767
37021
  impl._root = newRoot;
36768
37022
  if (added.value) impl._size++;
@@ -36867,10 +37121,10 @@ const union$1 = /* @__PURE__ */ dual(2, (self, that) => {
36867
37121
  /** @internal */
36868
37122
  const remove$4 = /* @__PURE__ */ dual(2, (self, key) => {
36869
37123
  const impl = self;
36870
- const hash$1 = hash(key);
37124
+ const hash$3 = hash(key);
36871
37125
  const removed = { value: false };
36872
37126
  const edit = impl._editable ? impl._edit : NaN;
36873
- const newRoot = impl._root.remove(edit, 0, hash$1, key, removed);
37127
+ const newRoot = impl._root.remove(edit, 0, hash$3, key, removed);
36874
37128
  if (!removed.value) return self;
36875
37129
  if (impl._editable) {
36876
37130
  impl._root = newRoot ?? emptyNode;
@@ -36951,7 +37205,7 @@ const every$1 = /* @__PURE__ */ dual(2, (self, predicate) => {
36951
37205
  });
36952
37206
 
36953
37207
  //#endregion
36954
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/HashMap.js
37208
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/HashMap.js
36955
37209
  /**
36956
37210
  * @since 2.0.0
36957
37211
  */
@@ -37756,7 +38010,7 @@ const some = some$1;
37756
38010
  const every = every$1;
37757
38011
 
37758
38012
  //#endregion
37759
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Struct.js
38013
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Struct.js
37760
38014
  /**
37761
38015
  * Creates an `Equivalence` for a struct by providing an `Equivalence` for each
37762
38016
  * property. Two structs are equivalent when all their corresponding properties
@@ -37854,7 +38108,7 @@ const makeOrder = Struct$2;
37854
38108
  const lambda = (f) => f;
37855
38109
 
37856
38110
  //#endregion
37857
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/SchemaParser.js
38111
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/SchemaParser.js
37858
38112
  /**
37859
38113
  * @since 4.0.0
37860
38114
  */
@@ -37884,7 +38138,7 @@ const recurDefaults = /* @__PURE__ */ memoize((ast) => {
37884
38138
  * @since 4.0.0
37885
38139
  */
37886
38140
  function makeEffect$1(schema) {
37887
- const parser = run$6(recurDefaults(toType(schema.ast)));
38141
+ const parser = run$6(recurDefaults(toType$1(schema.ast)));
37888
38142
  return (input, options) => {
37889
38143
  return parser(input, options?.parseOptions);
37890
38144
  };
@@ -37908,7 +38162,7 @@ function is$1(schema) {
37908
38162
  }
37909
38163
  /** @internal */
37910
38164
  function _is(ast) {
37911
- const parser = asExit(run$6(toType(ast)));
38165
+ const parser = asExit(run$6(toType$1(ast)));
37912
38166
  return (input) => {
37913
38167
  return isSuccess$3(parser(input, defaultParseOptions));
37914
38168
  };
@@ -37918,7 +38172,7 @@ function _is(ast) {
37918
38172
  * @since 4.0.0
37919
38173
  */
37920
38174
  function asserts$1(schema) {
37921
- const parser = asExit(run$6(toType(schema.ast)));
38175
+ const parser = asExit(run$6(toType$1(schema.ast)));
37922
38176
  return (input) => {
37923
38177
  const exit = parser(input, defaultParseOptions);
37924
38178
  if (isFailure$2(exit)) {
@@ -38092,7 +38346,7 @@ const recur$1 = /* @__PURE__ */ memoize((ast) => {
38092
38346
  });
38093
38347
 
38094
38348
  //#endregion
38095
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/JsonPointer.js
38349
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/JsonPointer.js
38096
38350
  /**
38097
38351
  * Utilities for escaping and unescaping JSON Pointer reference tokens according to RFC 6901.
38098
38352
  *
@@ -38186,11 +38440,11 @@ function escapeToken(token) {
38186
38440
  }
38187
38441
 
38188
38442
  //#endregion
38189
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/schema/schema.js
38443
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/schema/schema.js
38190
38444
  /** @internal */
38191
- const TypeId$38 = "~effect/Schema/Schema";
38445
+ const TypeId$37 = "~effect/Schema/Schema";
38192
38446
  const SchemaProto = {
38193
- [TypeId$38]: TypeId$38,
38447
+ [TypeId$37]: TypeId$37,
38194
38448
  pipe() {
38195
38449
  return pipeArguments(this, arguments);
38196
38450
  },
@@ -38215,7 +38469,7 @@ function make$38(ast, options) {
38215
38469
  }
38216
38470
 
38217
38471
  //#endregion
38218
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/schema/to-codec.js
38472
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/schema/to-codec.js
38219
38473
  /** @internal */
38220
38474
  const toCodecJson$1 = /* @__PURE__ */ toCodec((ast) => {
38221
38475
  const out = toCodecJsonBase(ast);
@@ -38229,7 +38483,7 @@ function toCodecJsonBase(ast) {
38229
38483
  case "Declaration": {
38230
38484
  const getLink = ast.annotations?.toCodecJson ?? ast.annotations?.toCodec;
38231
38485
  if (isFunction(getLink)) {
38232
- const link = getLink(isDeclaration(ast) ? ast.typeParameters.map((tp) => make$38(toEncoded(tp))) : []);
38486
+ const link = getLink(isDeclaration(ast) ? ast.typeParameters.map((tp) => make$38(toEncoded$1(tp))) : []);
38233
38487
  const to = toCodecJson$1(link.to);
38234
38488
  return replaceEncoding(ast, to === link.to ? [link] : [new Link(to, link.transformation)]);
38235
38489
  }
@@ -38269,10 +38523,10 @@ function getJsonPriority(ast) {
38269
38523
  function makeReorder(getPriority) {
38270
38524
  return (types) => {
38271
38525
  const indexMap = /* @__PURE__ */ new Map();
38272
- for (let i = 0; i < types.length; i++) indexMap.set(toEncoded(types[i]), i);
38526
+ for (let i = 0; i < types.length; i++) indexMap.set(toEncoded$1(types[i]), i);
38273
38527
  const sortedTypes = [...types].sort((a, b) => {
38274
- a = toEncoded(a);
38275
- b = toEncoded(b);
38528
+ a = toEncoded$1(a);
38529
+ b = toEncoded$1(b);
38276
38530
  const pa = getPriority(a);
38277
38531
  const pb = getPriority(b);
38278
38532
  if (pa !== pb) return pa - pb;
@@ -38285,7 +38539,7 @@ function makeReorder(getPriority) {
38285
38539
  const unknownToNull = /* @__PURE__ */ new Link(null_, /* @__PURE__ */ new Transformation(/* @__PURE__ */ passthrough$1(), /* @__PURE__ */ transform$3(() => null)));
38286
38540
 
38287
38541
  //#endregion
38288
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/internal/schema/representation.js
38542
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/schema/representation.js
38289
38543
  /** @internal */
38290
38544
  function fromAST(ast) {
38291
38545
  const { references, representations: schemas } = fromASTs([ast]);
@@ -38407,7 +38661,7 @@ function fromASTs(asts) {
38407
38661
  function getEncodedSchema(last) {
38408
38662
  const getLink = last.annotations?.toCodecJson ?? last.annotations?.toCodec;
38409
38663
  if (isFunction(getLink)) {
38410
- const link = getLink(last.typeParameters.map((tp) => make$38(toEncoded(tp))));
38664
+ const link = getLink(last.typeParameters.map((tp) => make$38(toEncoded$1(tp))));
38411
38665
  return replaceEncoding(last, [link]);
38412
38666
  }
38413
38667
  return null_;
@@ -38897,8 +39151,8 @@ function getPartPattern(part) {
38897
39151
  }
38898
39152
 
38899
39153
  //#endregion
38900
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Schema.js
38901
- const TypeId$37 = TypeId$38;
39154
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Schema.js
39155
+ const TypeId$36 = TypeId$37;
38902
39156
  /**
38903
39157
  * An API for creating schemas for parametric types.
38904
39158
  *
@@ -39147,7 +39401,7 @@ const make$37 = make$38;
39147
39401
  * @since 4.0.0
39148
39402
  */
39149
39403
  function isSchema(u) {
39150
- return hasProperty(u, TypeId$37) && u[TypeId$37] === TypeId$37;
39404
+ return hasProperty(u, TypeId$36) && u[TypeId$36] === TypeId$36;
39151
39405
  }
39152
39406
  /**
39153
39407
  * Creates an exact optional key schema for struct fields. Unlike `optional`,
@@ -39199,6 +39453,14 @@ const optionalKey = /* @__PURE__ */ lambda((schema) => make$37(optionalKey$1(sch
39199
39453
  */
39200
39454
  const optional$2 = /* @__PURE__ */ lambda((self) => optionalKey(UndefinedOr(self)));
39201
39455
  /**
39456
+ * @since 4.0.0
39457
+ */
39458
+ const toType = /* @__PURE__ */ lambda((schema) => make$37(toType$1(schema.ast), { schema }));
39459
+ /**
39460
+ * @since 4.0.0
39461
+ */
39462
+ const toEncoded = /* @__PURE__ */ lambda((schema) => make$37(toEncoded$1(schema.ast), { schema }));
39463
+ /**
39202
39464
  * @see {@link Literals} for a schema that represents a union of literals.
39203
39465
  * @see {@link tag} for a schema that represents a literal value that can be
39204
39466
  * used as a discriminator field in tagged unions and has a constructor default.
@@ -39265,7 +39527,7 @@ const Boolean$2 = /* @__PURE__ */ make$37(boolean$3);
39265
39527
  *
39266
39528
  * @since 4.0.0
39267
39529
  */
39268
- const Symbol$1 = /* @__PURE__ */ make$37(symbol$2);
39530
+ const Symbol$1 = /* @__PURE__ */ make$37(symbol$3);
39269
39531
  /**
39270
39532
  * A schema for all bigints.
39271
39533
  *
@@ -40816,7 +41078,7 @@ function fromJsonString(schema) {
40816
41078
  return String$1.annotate({
40817
41079
  expected: "a string that will be decoded as JSON",
40818
41080
  contentMediaType: "application/json",
40819
- contentSchema: toEncoded(schema.ast)
41081
+ contentSchema: toEncoded$1(schema.ast)
40820
41082
  }).pipe(decodeTo(schema, fromJsonString$1));
40821
41083
  }
40822
41084
  /**
@@ -41169,7 +41431,7 @@ function makeClass(Inherited, identifier, struct$1, annotations) {
41169
41431
  toString() {
41170
41432
  return `${identifier}(${format$4({ ...this })})`;
41171
41433
  }
41172
- static [TypeId$37] = TypeId$37;
41434
+ static [TypeId$36] = TypeId$36;
41173
41435
  get [ClassTypeId]() {
41174
41436
  return ClassTypeId;
41175
41437
  }
@@ -41310,7 +41572,7 @@ function serializerTree(ast, recur, onMissingAnnotation) {
41310
41572
  case "Declaration": {
41311
41573
  const getLink = ast.annotations?.toCodecJson ?? ast.annotations?.toCodec;
41312
41574
  if (isFunction(getLink)) {
41313
- const link = getLink(isDeclaration(ast) ? ast.typeParameters.map((tp) => make$37(recur(toEncoded(tp)))) : []);
41575
+ const link = getLink(isDeclaration(ast) ? ast.typeParameters.map((tp) => make$37(recur(toEncoded$1(tp)))) : []);
41314
41576
  const to = recur(link.to);
41315
41577
  return replaceEncoding(ast, to === link.to ? [link] : [new Link(to, link.transformation)]);
41316
41578
  }
@@ -41372,8 +41634,8 @@ function onSerializerEnsureArray(ast) {
41372
41634
  }
41373
41635
 
41374
41636
  //#endregion
41375
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Config.js
41376
- const TypeId$36 = "~effect/Config";
41637
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Config.js
41638
+ const TypeId$35 = "~effect/Config";
41377
41639
  /**
41378
41640
  * The error type produced when config loading or validation fails.
41379
41641
  *
@@ -41410,7 +41672,7 @@ var ConfigError = class {
41410
41672
  const Proto$18 = {
41411
41673
  ...PipeInspectableProto,
41412
41674
  ...YieldableProto,
41413
- [TypeId$36]: TypeId$36,
41675
+ [TypeId$35]: TypeId$35,
41414
41676
  asEffect() {
41415
41677
  return flatMap$2(ConfigProvider.asEffect(), (provider) => this.parse(provider));
41416
41678
  },
@@ -41703,9 +41965,12 @@ const recur = /* @__PURE__ */ fnUntraced(function* (ast, provider, path) {
41703
41965
  function schema(codec, path) {
41704
41966
  const toCodecStringTree$2 = toCodecStringTree(codec);
41705
41967
  const decodeUnknownEffect = decodeUnknownEffect$1(toCodecStringTree$2);
41706
- const toCodecStringTreeEncoded = toEncoded(toCodecStringTree$2.ast);
41968
+ const toCodecStringTreeEncoded = toEncoded$1(toCodecStringTree$2.ast);
41707
41969
  const defaultPath = typeof path === "string" ? [path] : path ?? [];
41708
- return make$36((provider) => recur(toCodecStringTreeEncoded, provider, defaultPath).pipe(flatMapEager((tree) => decodeUnknownEffect(tree).pipe(mapErrorEager((issue) => new SchemaError(defaultPath.length > 0 ? new Pointer(defaultPath, issue) : issue)))), mapErrorEager((cause) => new ConfigError(cause))));
41970
+ return make$36((provider) => {
41971
+ const path = provider.prefix ? [...provider.prefix, ...defaultPath] : defaultPath;
41972
+ return recur(toCodecStringTreeEncoded, provider, defaultPath).pipe(flatMapEager((tree) => decodeUnknownEffect(tree).pipe(mapErrorEager((issue) => new SchemaError(path.length > 0 ? new Pointer(path, issue) : issue)))), mapErrorEager((cause) => new ConfigError(cause)));
41973
+ });
41709
41974
  }
41710
41975
  /** @internal */
41711
41976
  const TrueValues = /* @__PURE__ */ Literals([
@@ -41861,7 +42126,7 @@ function int(name) {
41861
42126
  }
41862
42127
 
41863
42128
  //#endregion
41864
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/CliError.js
42129
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/CliError.js
41865
42130
  /**
41866
42131
  * @since 4.0.0
41867
42132
  */
@@ -41869,7 +42134,7 @@ function int(name) {
41869
42134
  * @since 4.0.0
41870
42135
  * @category type id
41871
42136
  */
41872
- const TypeId$35 = "~effect/cli/CliError";
42137
+ const TypeId$34 = "~effect/cli/CliError";
41873
42138
  /**
41874
42139
  * Type guard to check if a value is a CLI error.
41875
42140
  *
@@ -41899,7 +42164,7 @@ const TypeId$35 = "~effect/cli/CliError";
41899
42164
  * @since 4.0.0
41900
42165
  * @category guards
41901
42166
  */
41902
- const isCliError = (u) => hasProperty(u, TypeId$35);
42167
+ const isCliError = (u) => hasProperty(u, TypeId$34);
41903
42168
  /**
41904
42169
  * Error thrown when an unrecognized option is encountered.
41905
42170
  *
@@ -41932,7 +42197,7 @@ const isCliError = (u) => hasProperty(u, TypeId$35);
41932
42197
  * @since 4.0.0
41933
42198
  * @category models
41934
42199
  */
41935
- var UnrecognizedOption = class extends ErrorClass(`${TypeId$35}/UnrecognizedOption`)({
42200
+ var UnrecognizedOption = class extends ErrorClass(`${TypeId$34}/UnrecognizedOption`)({
41936
42201
  _tag: /* @__PURE__ */ tag("UnrecognizedOption"),
41937
42202
  option: String$1,
41938
42203
  command: /* @__PURE__ */ optional$2(/* @__PURE__ */ Array$1(String$1)),
@@ -41941,7 +42206,7 @@ var UnrecognizedOption = class extends ErrorClass(`${TypeId$35}/UnrecognizedOpti
41941
42206
  /**
41942
42207
  * @since 4.0.0
41943
42208
  */
41944
- [TypeId$35] = TypeId$35;
42209
+ [TypeId$34] = TypeId$34;
41945
42210
  /**
41946
42211
  * @since 4.0.0
41947
42212
  */
@@ -41971,7 +42236,7 @@ var UnrecognizedOption = class extends ErrorClass(`${TypeId$35}/UnrecognizedOpti
41971
42236
  * @since 4.0.0
41972
42237
  * @category models
41973
42238
  */
41974
- var DuplicateOption = class extends ErrorClass(`${TypeId$35}/DuplicateOption`)({
42239
+ var DuplicateOption = class extends ErrorClass(`${TypeId$34}/DuplicateOption`)({
41975
42240
  _tag: /* @__PURE__ */ tag("DuplicateOption"),
41976
42241
  option: String$1,
41977
42242
  parentCommand: String$1,
@@ -41980,7 +42245,7 @@ var DuplicateOption = class extends ErrorClass(`${TypeId$35}/DuplicateOption`)({
41980
42245
  /**
41981
42246
  * @since 4.0.0
41982
42247
  */
41983
- [TypeId$35] = TypeId$35;
42248
+ [TypeId$34] = TypeId$34;
41984
42249
  /**
41985
42250
  * @since 4.0.0
41986
42251
  */
@@ -42017,14 +42282,14 @@ var DuplicateOption = class extends ErrorClass(`${TypeId$35}/DuplicateOption`)({
42017
42282
  * @since 4.0.0
42018
42283
  * @category models
42019
42284
  */
42020
- var MissingOption = class extends ErrorClass(`${TypeId$35}/MissingOption`)({
42285
+ var MissingOption = class extends ErrorClass(`${TypeId$34}/MissingOption`)({
42021
42286
  _tag: /* @__PURE__ */ tag("MissingOption"),
42022
42287
  option: String$1
42023
42288
  }) {
42024
42289
  /**
42025
42290
  * @since 4.0.0
42026
42291
  */
42027
- [TypeId$35] = TypeId$35;
42292
+ [TypeId$34] = TypeId$34;
42028
42293
  /**
42029
42294
  * @since 4.0.0
42030
42295
  */
@@ -42060,14 +42325,14 @@ var MissingOption = class extends ErrorClass(`${TypeId$35}/MissingOption`)({
42060
42325
  * @since 4.0.0
42061
42326
  * @category models
42062
42327
  */
42063
- var MissingArgument = class extends ErrorClass(`${TypeId$35}/MissingArgument`)({
42328
+ var MissingArgument = class extends ErrorClass(`${TypeId$34}/MissingArgument`)({
42064
42329
  _tag: /* @__PURE__ */ tag("MissingArgument"),
42065
42330
  argument: String$1
42066
42331
  }) {
42067
42332
  /**
42068
42333
  * @since 4.0.0
42069
42334
  */
42070
- [TypeId$35] = TypeId$35;
42335
+ [TypeId$34] = TypeId$34;
42071
42336
  /**
42072
42337
  * @since 4.0.0
42073
42338
  */
@@ -42108,7 +42373,7 @@ var MissingArgument = class extends ErrorClass(`${TypeId$35}/MissingArgument`)({
42108
42373
  * @since 4.0.0
42109
42374
  * @category models
42110
42375
  */
42111
- var InvalidValue = class extends ErrorClass(`${TypeId$35}/InvalidValue`)({
42376
+ var InvalidValue = class extends ErrorClass(`${TypeId$34}/InvalidValue`)({
42112
42377
  _tag: /* @__PURE__ */ tag("InvalidValue"),
42113
42378
  option: String$1,
42114
42379
  value: String$1,
@@ -42118,7 +42383,7 @@ var InvalidValue = class extends ErrorClass(`${TypeId$35}/InvalidValue`)({
42118
42383
  /**
42119
42384
  * @since 4.0.0
42120
42385
  */
42121
- [TypeId$35] = TypeId$35;
42386
+ [TypeId$34] = TypeId$34;
42122
42387
  /**
42123
42388
  * @since 4.0.0
42124
42389
  */
@@ -42162,7 +42427,7 @@ var InvalidValue = class extends ErrorClass(`${TypeId$35}/InvalidValue`)({
42162
42427
  * @since 4.0.0
42163
42428
  * @category models
42164
42429
  */
42165
- var UnknownSubcommand = class extends ErrorClass(`${TypeId$35}/UnknownSubcommand`)({
42430
+ var UnknownSubcommand = class extends ErrorClass(`${TypeId$34}/UnknownSubcommand`)({
42166
42431
  _tag: /* @__PURE__ */ tag("UnknownSubcommand"),
42167
42432
  subcommand: String$1,
42168
42433
  parent: /* @__PURE__ */ optional$2(/* @__PURE__ */ Array$1(String$1)),
@@ -42171,7 +42436,7 @@ var UnknownSubcommand = class extends ErrorClass(`${TypeId$35}/UnknownSubcommand
42171
42436
  /**
42172
42437
  * @since 4.0.0
42173
42438
  */
42174
- [TypeId$35] = TypeId$35;
42439
+ [TypeId$34] = TypeId$34;
42175
42440
  /**
42176
42441
  * @since 4.0.0
42177
42442
  */
@@ -42218,14 +42483,14 @@ var UnknownSubcommand = class extends ErrorClass(`${TypeId$35}/UnknownSubcommand
42218
42483
  * @since 4.0.0
42219
42484
  * @category models
42220
42485
  */
42221
- var ShowHelp = class extends ErrorClass(`${TypeId$35}/ShowHelp`)({
42486
+ var ShowHelp = class extends ErrorClass(`${TypeId$34}/ShowHelp`)({
42222
42487
  _tag: /* @__PURE__ */ tag("ShowHelp"),
42223
42488
  commandPath: /* @__PURE__ */ Array$1(String$1)
42224
42489
  }) {
42225
42490
  /**
42226
42491
  * @since 4.0.0
42227
42492
  */
42228
- [TypeId$35] = TypeId$35;
42493
+ [TypeId$34] = TypeId$34;
42229
42494
  /**
42230
42495
  * @since 4.0.0
42231
42496
  */
@@ -42268,14 +42533,14 @@ var ShowHelp = class extends ErrorClass(`${TypeId$35}/ShowHelp`)({
42268
42533
  * @since 4.0.0
42269
42534
  * @category models
42270
42535
  */
42271
- var UserError = class extends ErrorClass(`${TypeId$35}/UserError`)({
42536
+ var UserError = class extends ErrorClass(`${TypeId$34}/UserError`)({
42272
42537
  _tag: /* @__PURE__ */ tag("UserError"),
42273
42538
  cause: Defect
42274
42539
  }) {
42275
42540
  /**
42276
42541
  * @since 4.0.0
42277
42542
  */
42278
- [TypeId$35] = TypeId$35;
42543
+ [TypeId$34] = TypeId$34;
42279
42544
  };
42280
42545
 
42281
42546
  //#endregion
@@ -52865,7 +53130,7 @@ var require_dist = /* @__PURE__ */ __commonJSMin$1(((exports) => {
52865
53130
  }));
52866
53131
 
52867
53132
  //#endregion
52868
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/Primitive.js
53133
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/Primitive.js
52869
53134
  var import_ini = /* @__PURE__ */ __toESM(require_ini(), 1);
52870
53135
  var import_toml = /* @__PURE__ */ __toESM(require_toml(), 1);
52871
53136
  var import_dist = /* @__PURE__ */ __toESM(require_dist(), 1);
@@ -53137,8 +53402,8 @@ const getTypeName = (primitive) => {
53137
53402
  const getChoiceKeys = (primitive) => primitive._tag === "Choice" ? primitive.choiceKeys : void 0;
53138
53403
 
53139
53404
  //#endregion
53140
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Terminal.js
53141
- const TypeId$34 = "~effect/platform/Terminal";
53405
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Terminal.js
53406
+ const TypeId$33 = "~effect/platform/Terminal";
53142
53407
  const QuitErrorTypeId = "effect/platform/Terminal/QuitError";
53143
53408
  /**
53144
53409
  * A `QuitError` represents an error that occurs when a user attempts to
@@ -53171,11 +53436,11 @@ const Terminal = /* @__PURE__ */ Service$1("effect/platform/Terminal");
53171
53436
  */
53172
53437
  const make$35 = (impl) => Terminal.of({
53173
53438
  ...impl,
53174
- [TypeId$34]: TypeId$34
53439
+ [TypeId$33]: TypeId$33
53175
53440
  });
53176
53441
 
53177
53442
  //#endregion
53178
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/internal/ansi.js
53443
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/ansi.js
53179
53444
  const ESC = "\x1B[";
53180
53445
  const BEL = "\x07";
53181
53446
  const SEP = ";";
@@ -53266,11 +53531,11 @@ const eraseLines = (rows) => {
53266
53531
  };
53267
53532
 
53268
53533
  //#endregion
53269
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/Prompt.js
53534
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/Prompt.js
53270
53535
  /**
53271
53536
  * @since 4.0.0
53272
53537
  */
53273
- const TypeId$33 = "~effect/cli/Prompt";
53538
+ const TypeId$32 = "~effect/cli/Prompt";
53274
53539
  const defaultFigures = {
53275
53540
  arrowUp: "↑",
53276
53541
  arrowDown: "↓",
@@ -53491,7 +53756,7 @@ const toggle = (options) => {
53491
53756
  };
53492
53757
  const proto = {
53493
53758
  ...YieldableProto,
53494
- [TypeId$33]: { _Output: (_) => _ },
53759
+ [TypeId$32]: { _Output: (_) => _ },
53495
53760
  asEffect() {
53496
53761
  return run$5(this);
53497
53762
  },
@@ -54259,7 +54524,7 @@ const entriesToDisplay = (cursor, total, maxVisible) => {
54259
54524
  };
54260
54525
 
54261
54526
  //#endregion
54262
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/Param.js
54527
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/Param.js
54263
54528
  /**
54264
54529
  * @internal
54265
54530
  *
@@ -54272,7 +54537,7 @@ const entriesToDisplay = (cursor, total, maxVisible) => {
54272
54537
  *
54273
54538
  * @since 4.0.0
54274
54539
  */
54275
- const TypeId$32 = "~effect/cli/Param";
54540
+ const TypeId$31 = "~effect/cli/Param";
54276
54541
  /**
54277
54542
  * Kind discriminator for positional argument parameters.
54278
54543
  *
@@ -54288,7 +54553,7 @@ const argumentKind = "argument";
54288
54553
  */
54289
54554
  const flagKind = "flag";
54290
54555
  const Proto$16 = {
54291
- [TypeId$32]: { _A: identity },
54556
+ [TypeId$31]: { _A: identity },
54292
54557
  pipe() {
54293
54558
  return pipeArguments(this, arguments);
54294
54559
  }
@@ -54312,7 +54577,7 @@ const Proto$16 = {
54312
54577
  * @since 4.0.0
54313
54578
  * @category refinements
54314
54579
  */
54315
- const isParam = (u) => hasProperty(u, TypeId$32);
54580
+ const isParam = (u) => hasProperty(u, TypeId$31);
54316
54581
  /**
54317
54582
  * Type guard to check if a Single param is a flag (not an argument).
54318
54583
  *
@@ -54978,7 +55243,7 @@ const getParamMetadata = (param) => {
54978
55243
  };
54979
55244
 
54980
55245
  //#endregion
54981
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/Argument.js
55246
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/Argument.js
54982
55247
  /**
54983
55248
  * Creates a positional path argument.
54984
55249
  *
@@ -55040,7 +55305,7 @@ const withDescription$2 = /* @__PURE__ */ dual(2, (self, description) => withDes
55040
55305
  const withDefault$1 = withDefault$2;
55041
55306
 
55042
55307
  //#endregion
55043
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/CliOutput.js
55308
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/CliOutput.js
55044
55309
  /**
55045
55310
  * Service reference for the CLI output formatter. Provides a default implementation
55046
55311
  * that can be overridden for custom formatting or testing.
@@ -55229,12 +55494,38 @@ const formatHelpDocImpl = (doc, colors) => {
55229
55494
  sections.push("");
55230
55495
  }
55231
55496
  if (doc.subcommands && doc.subcommands.length > 0) {
55232
- sections.push(colors.bold("SUBCOMMANDS"));
55233
- const subcommandRows = doc.subcommands.map((sub) => ({
55234
- left: colors.cyan(sub.name),
55235
- right: sub.description
55236
- }));
55237
- sections.push(renderTable(subcommandRows, 20));
55497
+ const ungrouped = doc.subcommands.find((group) => group.group === void 0);
55498
+ if (ungrouped) {
55499
+ sections.push(colors.bold("SUBCOMMANDS"));
55500
+ sections.push(renderTable(ungrouped.commands.map((sub) => ({
55501
+ left: colors.cyan(sub.name),
55502
+ right: sub.shortDescription ?? sub.description
55503
+ })), 20));
55504
+ if (doc.subcommands.length > 1) sections.push("");
55505
+ }
55506
+ for (const group of doc.subcommands) {
55507
+ if (group.group === void 0) continue;
55508
+ sections.push(colors.bold(`${group.group}:`));
55509
+ sections.push(renderTable(group.commands.map((sub) => ({
55510
+ left: colors.cyan(sub.name),
55511
+ right: sub.shortDescription ?? sub.description
55512
+ })), 20));
55513
+ sections.push("");
55514
+ }
55515
+ }
55516
+ if (doc.examples && doc.examples.length > 0) {
55517
+ sections.push(colors.bold("EXAMPLES"));
55518
+ let first = true;
55519
+ let previousHadDescription = false;
55520
+ for (const example of doc.examples) {
55521
+ if (example.description) {
55522
+ if (!first) sections.push("");
55523
+ sections.push(` ${colors.dim(`# ${example.description}`)}`);
55524
+ } else if (previousHadDescription) sections.push("");
55525
+ sections.push(` ${colors.cyan(example.command)}`);
55526
+ first = false;
55527
+ previousHadDescription = !!example.description;
55528
+ }
55238
55529
  sections.push("");
55239
55530
  }
55240
55531
  if (sections[sections.length - 1] === "") sections.pop();
@@ -55242,7 +55533,7 @@ const formatHelpDocImpl = (doc, colors) => {
55242
55533
  };
55243
55534
 
55244
55535
  //#endregion
55245
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Console.js
55536
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Console.js
55246
55537
  /**
55247
55538
  * A reference to the current console service in the Effect system.
55248
55539
  *
@@ -55335,7 +55626,7 @@ const log = (...args) => consoleWith((console) => sync$1(() => {
55335
55626
  }));
55336
55627
 
55337
55628
  //#endregion
55338
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/internal/config.js
55629
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/config.js
55339
55630
  const ConfigInternalTypeId = "~effect/cli/Command/Config/Internal";
55340
55631
  /**
55341
55632
  * Parses a Command.Config into a ConfigInternal.
@@ -55405,7 +55696,7 @@ const reconstructTree = (tree, results) => {
55405
55696
  };
55406
55697
 
55407
55698
  //#endregion
55408
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/internal/command.js
55699
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/command.js
55409
55700
  /**
55410
55701
  * Command Implementation
55411
55702
  * ======================
@@ -55413,7 +55704,7 @@ const reconstructTree = (tree, results) => {
55413
55704
  * Internal implementation details for CLI commands.
55414
55705
  * Public API is in ../Command.ts
55415
55706
  */
55416
- const TypeId$31 = "~effect/cli/Command";
55707
+ const TypeId$30 = "~effect/cli/Command";
55417
55708
  /**
55418
55709
  * Casts a Command to its internal implementation.
55419
55710
  * For use by internal modules that need access to config, parse, handle, etc.
@@ -55432,8 +55723,10 @@ const Proto$15 = {
55432
55723
  * Internal command constructor. Only accepts already-parsed ConfigInternal.
55433
55724
  */
55434
55725
  const makeCommand = (options) => {
55435
- const service = options.service ?? Service$1(`${TypeId$31}/${options.name}`);
55726
+ const service = options.service ?? Service$1(`${TypeId$30}/${options.name}`);
55436
55727
  const config = options.config;
55728
+ const annotations = options.annotations ?? empty$14();
55729
+ const subcommands = options.subcommands ?? [];
55437
55730
  const handle = (input, commandPath) => isNotUndefined(options.handle) ? options.handle(input, commandPath) : fail$4(new ShowHelp({ commandPath }));
55438
55731
  const parse = options.parse ?? fnUntraced(function* (input) {
55439
55732
  const values = yield* parseParams({
@@ -55457,8 +55750,7 @@ const makeCommand = (options) => {
55457
55750
  });
55458
55751
  }
55459
55752
  let usage = commandPath.length > 0 ? commandPath.join(" ") : options.name;
55460
- const subcommands = options.subcommands ?? [];
55461
- if (subcommands.length > 0) usage += " <subcommand>";
55753
+ if (subcommands.some((group) => group.commands.length > 0)) usage += " <subcommand>";
55462
55754
  usage += " [flags]";
55463
55755
  for (const arg of args) {
55464
55756
  const argName = arg.variadic ? `<${arg.name}...>` : `<${arg.name}>`;
@@ -55477,28 +55769,39 @@ const makeCommand = (options) => {
55477
55769
  });
55478
55770
  }
55479
55771
  }
55480
- const subcommandDocs = subcommands.map((sub) => ({
55481
- name: sub.name,
55482
- description: sub.description ?? ""
55483
- }));
55772
+ const subcommandDocs = [];
55773
+ for (const group of subcommands) subcommandDocs.push({
55774
+ group: group.group,
55775
+ commands: map$12(group.commands, (subcommand) => ({
55776
+ name: subcommand.name,
55777
+ shortDescription: subcommand.shortDescription,
55778
+ description: subcommand.description ?? ""
55779
+ }))
55780
+ });
55781
+ const examples = options.examples ?? [];
55484
55782
  return {
55485
55783
  description: options.description ?? "",
55486
55784
  usage,
55487
55785
  flags,
55786
+ annotations,
55488
55787
  ...args.length > 0 && { args },
55489
- ...subcommandDocs.length > 0 && { subcommands: subcommandDocs }
55788
+ ...subcommandDocs.length > 0 && { subcommands: subcommandDocs },
55789
+ ...examples.length > 0 && { examples }
55490
55790
  };
55491
55791
  };
55492
55792
  return Object.assign(Object.create(Proto$15), {
55493
- [TypeId$31]: TypeId$31,
55793
+ [TypeId$30]: TypeId$30,
55494
55794
  name: options.name,
55495
- subcommands: options.subcommands ?? [],
55795
+ examples: options.examples ?? [],
55796
+ annotations,
55797
+ subcommands,
55496
55798
  config,
55497
55799
  service,
55498
55800
  parse,
55499
55801
  handle,
55500
55802
  buildHelpDoc,
55501
- ...isNotUndefined(options.description) ? { description: options.description } : {}
55803
+ ...isNotUndefined(options.description) ? { description: options.description } : {},
55804
+ ...isNotUndefined(options.shortDescription) ? { shortDescription: options.shortDescription } : {}
55502
55805
  });
55503
55806
  };
55504
55807
  /**
@@ -55551,14 +55854,18 @@ const getHelpForCommandPath = (command, commandPath) => {
55551
55854
  let currentCommand = command;
55552
55855
  for (let i = 1; i < commandPath.length; i++) {
55553
55856
  const subcommandName = commandPath[i];
55554
- const subcommand = currentCommand.subcommands.find((sub) => sub.name === subcommandName);
55857
+ let subcommand = void 0;
55858
+ for (const group of currentCommand.subcommands) {
55859
+ subcommand = group.commands.find((sub) => sub.name === subcommandName);
55860
+ if (subcommand) break;
55861
+ }
55555
55862
  if (subcommand) currentCommand = subcommand;
55556
55863
  }
55557
55864
  return toImpl(currentCommand).buildHelpDoc(commandPath);
55558
55865
  };
55559
55866
 
55560
55867
  //#endregion
55561
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/internal/completions/CommandDescriptor.js
55868
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/completions/CommandDescriptor.js
55562
55869
  const toFlagType = (single) => {
55563
55870
  switch (single.primitiveType._tag) {
55564
55871
  case "Boolean": return { _tag: "Boolean" };
@@ -55629,10 +55936,11 @@ const fromCommand = (cmd) => {
55629
55936
  });
55630
55937
  }
55631
55938
  }
55632
- const subcommands = cmd.subcommands.map(fromCommand);
55939
+ const subcommands = [];
55940
+ for (const group of cmd.subcommands) for (const subcommand of group.commands) subcommands.push(fromCommand(subcommand));
55633
55941
  return {
55634
55942
  name: cmd.name,
55635
- description: cmd.description,
55943
+ description: cmd.shortDescription ?? cmd.description,
55636
55944
  flags,
55637
55945
  arguments: args,
55638
55946
  subcommands
@@ -55640,7 +55948,7 @@ const fromCommand = (cmd) => {
55640
55948
  };
55641
55949
 
55642
55950
  //#endregion
55643
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/internal/completions/bash.js
55951
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/completions/bash.js
55644
55952
  const escapeForBash = (s) => s.replace(/'/g, "'\\''");
55645
55953
  const sanitizeFunctionName = (s) => s.replace(/[^a-zA-Z0-9_]/g, "_");
55646
55954
  const flagNamesForWordlist = (flag) => {
@@ -55792,7 +56100,7 @@ const generate$3 = (executableName, descriptor) => {
55792
56100
  };
55793
56101
 
55794
56102
  //#endregion
55795
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/internal/completions/fish.js
56103
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/completions/fish.js
55796
56104
  const escapeFishString = (s) => s.replace(/'/g, "\\'");
55797
56105
  /**
55798
56106
  * Build a Fish condition that checks the current subcommand context.
@@ -55931,7 +56239,7 @@ const generate$2 = (executableName, descriptor) => {
55931
56239
  };
55932
56240
 
55933
56241
  //#endregion
55934
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/internal/completions/zsh.js
56242
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/completions/zsh.js
55935
56243
  const escapeZsh = (s) => s.replace(/\\/g, "\\\\").replace(/'/g, "'\\''").replace(/:/g, "\\:");
55936
56244
  const sanitize = (s) => s.replace(/[^a-zA-Z0-9_]/g, "_");
55937
56245
  /**
@@ -56069,7 +56377,7 @@ const generate$1 = (executableName, descriptor) => {
56069
56377
  };
56070
56378
 
56071
56379
  //#endregion
56072
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/internal/completions/Completions.js
56380
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/completions/Completions.js
56073
56381
  /**
56074
56382
  * Top-level completions dispatcher.
56075
56383
  *
@@ -56088,7 +56396,7 @@ const generate = (executableName, shell, descriptor) => {
56088
56396
  };
56089
56397
 
56090
56398
  //#endregion
56091
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/internal/lexer.js
56399
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/lexer.js
56092
56400
  /** @internal */
56093
56401
  function lex(argv) {
56094
56402
  const endIndex = argv.indexOf("--");
@@ -56140,7 +56448,7 @@ const lexTokens = (args) => {
56140
56448
  };
56141
56449
 
56142
56450
  //#endregion
56143
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/internal/auto-suggest.js
56451
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/auto-suggest.js
56144
56452
  /**
56145
56453
  * Simple Levenshtein distance implementation (small N, no perf worries)
56146
56454
  */
@@ -56169,7 +56477,7 @@ const suggest = (input, candidates) => {
56169
56477
  };
56170
56478
 
56171
56479
  //#endregion
56172
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/Flag.js
56480
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/Flag.js
56173
56481
  /**
56174
56482
  * Creates a boolean flag that can be enabled or disabled.
56175
56483
  *
@@ -56419,7 +56727,7 @@ const withFallbackConfig = /* @__PURE__ */ dual(2, (self, config) => withFallbac
56419
56727
  const map$1 = /* @__PURE__ */ dual(2, (self, f) => map$2(self, f));
56420
56728
 
56421
56729
  //#endregion
56422
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/internal/builtInFlags.js
56730
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/builtInFlags.js
56423
56731
  /**
56424
56732
  * Built-in options that are automatically available for CLI commands.
56425
56733
  * @since 4.0.0
@@ -56473,7 +56781,7 @@ const completionsFlag = /* @__PURE__ */ choice("completions", [
56473
56781
  ]).pipe(optional, /* @__PURE__ */ map$1((v) => map$14(v, (s) => s === "sh" ? "bash" : s)), /* @__PURE__ */ withDescription$1("Print shell completion script for the given shell"));
56474
56782
 
56475
56783
  //#endregion
56476
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/internal/parser.js
56784
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/parser.js
56477
56785
  /**
56478
56786
  * Parsing Pipeline for CLI Commands
56479
56787
  * ==================================
@@ -56577,7 +56885,11 @@ const createFlagRegistry = (params) => {
56577
56885
  index
56578
56886
  };
56579
56887
  };
56580
- const buildSubcommandIndex = (subcommands) => new Map(subcommands.map((sub) => [sub.name, sub]));
56888
+ const buildSubcommandIndex = (subcommands) => {
56889
+ const index = /* @__PURE__ */ new Map();
56890
+ for (const group of subcommands) for (const subcommand of group.commands) index.set(subcommand.name, subcommand);
56891
+ return index;
56892
+ };
56581
56893
  /** Creates an empty flag map with all known flag names initialized to []. */
56582
56894
  const createEmptyFlagMap = (params) => Object.fromEntries(params.map((p) => [p.name, []]));
56583
56895
  /**
@@ -56716,7 +57028,7 @@ const resolveFirstValue = (value, cursor, context, state) => {
56716
57028
  };
56717
57029
  }
56718
57030
  if (!(toImpl(command).config.arguments.length > 0) && subIndex.size > 0) {
56719
- const suggestions = suggest(value, command.subcommands.map((s) => s.name));
57031
+ const suggestions = suggest(value, Array.from(subIndex.keys()));
56720
57032
  state.errors.push(new UnknownSubcommand({
56721
57033
  subcommand: value,
56722
57034
  parent: commandPath,
@@ -56784,15 +57096,12 @@ const scanCommandLevel = (tokens, context) => {
56784
57096
  };
56785
57097
 
56786
57098
  //#endregion
56787
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/cli/Command.js
56788
- /**
56789
- * @since 4.0.0
56790
- */
57099
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/Command.js
56791
57100
  /**
56792
57101
  * @since 4.0.0
56793
57102
  * @category Guards
56794
57103
  */
56795
- const isCommand$1 = (u) => hasProperty(u, TypeId$31);
57104
+ const isCommand$1 = (u) => hasProperty(u, TypeId$30);
56796
57105
  /**
56797
57106
  * Creates a Command from a name, optional config, optional handler function, and optional description.
56798
57107
  *
@@ -56881,6 +57190,40 @@ const withHandler = /* @__PURE__ */ dual(2, (self, handler) => makeCommand({
56881
57190
  ...toImpl(self),
56882
57191
  handle: handler
56883
57192
  }));
57193
+ const normalizeSubcommandEntries = (entries) => {
57194
+ const flat = [];
57195
+ const grouped = /* @__PURE__ */ new Map();
57196
+ const addToGroup = (group, command) => {
57197
+ flat.push(command);
57198
+ const existing = grouped.get(group);
57199
+ if (existing) existing.push(command);
57200
+ else grouped.set(group, [command]);
57201
+ };
57202
+ for (const entry of entries) {
57203
+ if (isCommand$1(entry)) {
57204
+ addToGroup(void 0, entry);
57205
+ continue;
57206
+ }
57207
+ for (const command of entry.commands) addToGroup(entry.group, command);
57208
+ }
57209
+ const groups = [];
57210
+ const ungroupedCommands = grouped.get(void 0);
57211
+ if (ungroupedCommands && ungroupedCommands.length > 0) groups.push({
57212
+ group: void 0,
57213
+ commands: ungroupedCommands
57214
+ });
57215
+ for (const [group, commands] of grouped) {
57216
+ if (group === void 0) continue;
57217
+ groups.push({
57218
+ group,
57219
+ commands
57220
+ });
57221
+ }
57222
+ return {
57223
+ flat,
57224
+ groups
57225
+ };
57226
+ };
56884
57227
  /**
56885
57228
  * Adds subcommands to a command, creating a hierarchical command structure.
56886
57229
  *
@@ -56918,9 +57261,10 @@ const withHandler = /* @__PURE__ */ dual(2, (self, handler) => makeCommand({
56918
57261
  * @category combinators
56919
57262
  */
56920
57263
  const withSubcommands = /* @__PURE__ */ dual(2, (self, subcommands) => {
56921
- checkForDuplicateFlags(self, subcommands);
57264
+ const normalized = normalizeSubcommandEntries(subcommands);
57265
+ checkForDuplicateFlags(self, normalized.flat);
56922
57266
  const impl = toImpl(self);
56923
- const byName = new Map(subcommands.map((s) => [s.name, toImpl(s)]));
57267
+ const byName = new Map(normalized.flat.map((s) => [s.name, toImpl(s)]));
56924
57268
  const parse = fnUntraced(function* (raw) {
56925
57269
  const parent = yield* impl.parse(raw);
56926
57270
  if (!raw.subcommand) return parent;
@@ -56945,8 +57289,11 @@ const withSubcommands = /* @__PURE__ */ dual(2, (self, subcommands) => {
56945
57289
  name: impl.name,
56946
57290
  config: impl.config,
56947
57291
  description: impl.description,
57292
+ shortDescription: impl.shortDescription,
57293
+ annotations: impl.annotations,
57294
+ examples: impl.examples,
56948
57295
  service: impl.service,
56949
- subcommands,
57296
+ subcommands: normalized.groups,
56950
57297
  parse,
56951
57298
  handle
56952
57299
  });
@@ -57130,11 +57477,11 @@ const runWith = (command, config) => {
57130
57477
  };
57131
57478
 
57132
57479
  //#endregion
57133
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Cache.js
57480
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Cache.js
57134
57481
  /**
57135
57482
  * @since 4.0.0
57136
57483
  */
57137
- const TypeId$30 = "~effect/Cache";
57484
+ const TypeId$29 = "~effect/Cache";
57138
57485
  /**
57139
57486
  * Creates a cache with dynamic time-to-live based on the result and key.
57140
57487
  *
@@ -57262,7 +57609,7 @@ const make$33 = (options) => makeWith$1({
57262
57609
  });
57263
57610
  const Proto$14 = {
57264
57611
  ...PipeInspectableProto,
57265
- [TypeId$30]: TypeId$30,
57612
+ [TypeId$29]: TypeId$29,
57266
57613
  toJSON() {
57267
57614
  return {
57268
57615
  _id: "Cache",
@@ -57548,11 +57895,45 @@ const invalidate$1 = /* @__PURE__ */ dual(2, (self, key) => sync$1(() => {
57548
57895
  }));
57549
57896
 
57550
57897
  //#endregion
57551
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/FiberHandle.js
57898
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/ErrorReporter.js
57899
+ /**
57900
+ * A `ServiceMap.Reference` holding the set of active `ErrorReporter`s for the
57901
+ * current fiber. Defaults to an empty set (no reporting).
57902
+ *
57903
+ * Prefer {@link layer} to configure reporters via the `Layer` API. Use this
57904
+ * reference directly only when you need low-level control (e.g. reading the
57905
+ * current reporters or swapping them inside a `FiberRef`).
57906
+ *
57907
+ * @since 4.0.0
57908
+ * @category References
57909
+ */
57910
+ const CurrentErrorReporters = CurrentErrorReporters$1;
57911
+ /**
57912
+ * Symbol key used to mark an error as unreportable.
57913
+ *
57914
+ * Set this property to `true` on any error class to prevent it from being
57915
+ * forwarded to reporters. Useful for expected errors such as HTTP 404s.
57916
+ *
57917
+ * @example
57918
+ * ```ts
57919
+ * import { Data, ErrorReporter } from "effect"
57920
+ *
57921
+ * class NotFoundError extends Data.TaggedError("NotFoundError")<{}> {
57922
+ * readonly [ErrorReporter.ignore] = true
57923
+ * }
57924
+ * ```
57925
+ *
57926
+ * @since 4.0.0
57927
+ * @category Annotations
57928
+ */
57929
+ const ignore = "~effect/ErrorReporter/ignore";
57930
+
57931
+ //#endregion
57932
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/FiberHandle.js
57552
57933
  /**
57553
57934
  * @since 2.0.0
57554
57935
  */
57555
- const TypeId$29 = "~effect/FiberHandle";
57936
+ const TypeId$28 = "~effect/FiberHandle";
57556
57937
  /**
57557
57938
  * @example
57558
57939
  * ```ts
@@ -57569,9 +57950,9 @@ const TypeId$29 = "~effect/FiberHandle";
57569
57950
  * @since 2.0.0
57570
57951
  * @category refinements
57571
57952
  */
57572
- const isFiberHandle = (u) => hasProperty(u, TypeId$29);
57953
+ const isFiberHandle = (u) => hasProperty(u, TypeId$28);
57573
57954
  const Proto$13 = {
57574
- [TypeId$29]: TypeId$29,
57955
+ [TypeId$28]: TypeId$28,
57575
57956
  ...PipeInspectableProto,
57576
57957
  toJSON() {
57577
57958
  return {
@@ -57744,11 +58125,11 @@ const runImpl$2 = (self, effect, options) => withFiber((parent) => {
57744
58125
  });
57745
58126
 
57746
58127
  //#endregion
57747
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/FiberMap.js
58128
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/FiberMap.js
57748
58129
  /**
57749
58130
  * @since 2.0.0
57750
58131
  */
57751
- const TypeId$28 = "~effect/FiberMap";
58132
+ const TypeId$27 = "~effect/FiberMap";
57752
58133
  /**
57753
58134
  * @example
57754
58135
  * ```ts
@@ -57766,9 +58147,9 @@ const TypeId$28 = "~effect/FiberMap";
57766
58147
  * @since 2.0.0
57767
58148
  * @category refinements
57768
58149
  */
57769
- const isFiberMap = (u) => hasProperty(u, TypeId$28);
58150
+ const isFiberMap = (u) => hasProperty(u, TypeId$27);
57770
58151
  const Proto$12 = {
57771
- [TypeId$28]: TypeId$28,
58152
+ [TypeId$27]: TypeId$27,
57772
58153
  [Symbol.iterator]() {
57773
58154
  if (this.state._tag === "Closed") return empty$17();
57774
58155
  return this.state.backing[Symbol.iterator]();
@@ -57975,11 +58356,11 @@ const runImpl$1 = (self, key, effect, options) => withFiber((parent) => {
57975
58356
  });
57976
58357
 
57977
58358
  //#endregion
57978
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/FiberSet.js
58359
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/FiberSet.js
57979
58360
  /**
57980
58361
  * @since 2.0.0
57981
58362
  */
57982
- const TypeId$27 = "~effect/FiberSet";
58363
+ const TypeId$26 = "~effect/FiberSet";
57983
58364
  /**
57984
58365
  * Checks if a value is a FiberSet.
57985
58366
  *
@@ -57997,9 +58378,9 @@ const TypeId$27 = "~effect/FiberSet";
57997
58378
  * })
57998
58379
  * ```
57999
58380
  */
58000
- const isFiberSet = (u) => hasProperty(u, TypeId$27);
58381
+ const isFiberSet = (u) => hasProperty(u, TypeId$26);
58001
58382
  const Proto$11 = {
58002
- [TypeId$27]: TypeId$27,
58383
+ [TypeId$26]: TypeId$26,
58003
58384
  [Symbol.iterator]() {
58004
58385
  if (this.state._tag === "Closed") return empty$17();
58005
58386
  return this.state.backing[Symbol.iterator]();
@@ -58228,13 +58609,13 @@ const awaitEmpty = (self) => whileLoop({
58228
58609
  });
58229
58610
 
58230
58611
  //#endregion
58231
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/PrimaryKey.js
58612
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/PrimaryKey.js
58232
58613
  /**
58233
58614
  * The unique identifier used to identify objects that implement the `PrimaryKey` interface.
58234
58615
  *
58235
58616
  * @since 2.0.0
58236
58617
  */
58237
- const symbol$1 = "~effect/interfaces/PrimaryKey";
58618
+ const symbol$2 = "~effect/interfaces/PrimaryKey";
58238
58619
  /**
58239
58620
  * Extracts the string value from a `PrimaryKey`.
58240
58621
  *
@@ -58263,11 +58644,11 @@ const symbol$1 = "~effect/interfaces/PrimaryKey";
58263
58644
  * @category accessors
58264
58645
  * @since 2.0.0
58265
58646
  */
58266
- const value$1 = (self) => self[symbol$1]();
58647
+ const value$1 = (self) => self[symbol$2]();
58267
58648
 
58268
58649
  //#endregion
58269
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/LayerMap.js
58270
- const TypeId$26 = "~effect/LayerMap";
58650
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/LayerMap.js
58651
+ const TypeId$25 = "~effect/LayerMap";
58271
58652
  /**
58272
58653
  * @since 3.14.0
58273
58654
  * @category Constructors
@@ -58318,7 +58699,7 @@ const make$29 = /* @__PURE__ */ fnUntraced(function* (lookup, options) {
58318
58699
  idleTimeToLive: options?.idleTimeToLive
58319
58700
  });
58320
58701
  return identity({
58321
- [TypeId$26]: TypeId$26,
58702
+ [TypeId$25]: TypeId$25,
58322
58703
  rcMap,
58323
58704
  get: (key) => effectServices(get$10(rcMap, key)),
58324
58705
  services: (key) => get$10(rcMap, key),
@@ -58433,7 +58814,7 @@ const Service = () => (id, options) => {
58433
58814
  };
58434
58815
 
58435
58816
  //#endregion
58436
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Logger.js
58817
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Logger.js
58437
58818
  /**
58438
58819
  * @since 2.0.0
58439
58820
  *
@@ -58881,7 +59262,7 @@ const consolePretty = consolePretty$1;
58881
59262
  const tracerLogger = tracerLogger$1;
58882
59263
 
58883
59264
  //#endregion
58884
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Ref.js
59265
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Ref.js
58885
59266
  const RefProto = {
58886
59267
  ["~effect/Ref"]: { _A: identity },
58887
59268
  ...PipeInspectableProto,
@@ -58923,7 +59304,7 @@ const makeUnsafe$2 = (value) => {
58923
59304
  };
58924
59305
 
58925
59306
  //#endregion
58926
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/reactivity/Reactivity.js
59307
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/reactivity/Reactivity.js
58927
59308
  /**
58928
59309
  * @since 4.0.0
58929
59310
  */
@@ -59060,11 +59441,11 @@ const keysToHashes = (keys, f) => {
59060
59441
  };
59061
59442
 
59062
59443
  //#endregion
59063
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/persistence/KeyValueStore.js
59444
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/persistence/KeyValueStore.js
59064
59445
  /**
59065
59446
  * @since 4.0.0
59066
59447
  */
59067
- const TypeId$25 = "~effect/persistence/KeyValueStore";
59448
+ const TypeId$24 = "~effect/persistence/KeyValueStore";
59068
59449
  const ErrorTypeId$1 = "~effect/persistence/KeyValueStore/KeyValueStoreError";
59069
59450
  /**
59070
59451
  * @since 4.0.0
@@ -59086,7 +59467,7 @@ const KeyValueStore = /* @__PURE__ */ Service$1("effect/persistence/KeyValueStor
59086
59467
  * @category constructors
59087
59468
  */
59088
59469
  const make$26 = (options) => KeyValueStore.of({
59089
- [TypeId$25]: TypeId$25,
59470
+ [TypeId$24]: TypeId$24,
59090
59471
  has: (key) => map$8(options.get(key), isNotUndefined),
59091
59472
  isEmpty: map$8(options.size, (size) => size === 0),
59092
59473
  modify: (key, f) => flatMap$2(options.get(key), (o) => {
@@ -59204,12 +59585,12 @@ const toSchemaStore = (self, schema) => {
59204
59585
  };
59205
59586
 
59206
59587
  //#endregion
59207
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/persistence/Persistable.js
59588
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/persistence/Persistable.js
59208
59589
  /**
59209
59590
  * @since 4.0.0
59210
59591
  * @category Symbols
59211
59592
  */
59212
- const symbol = "~effect/persistence/Persistable";
59593
+ const symbol$1 = "~effect/persistence/Persistable";
59213
59594
  /**
59214
59595
  * @since 4.0.0
59215
59596
  * @category Constructors
@@ -59221,10 +59602,10 @@ const Class = () => (tag, options) => {
59221
59602
  }
59222
59603
  Persistable.prototype = {
59223
59604
  ...RequestPrototype,
59224
- [symbol$1]() {
59605
+ [symbol$2]() {
59225
59606
  return options.primaryKey(this);
59226
59607
  },
59227
- [symbol]: {
59608
+ [symbol$1]: {
59228
59609
  success: options.success ?? Void,
59229
59610
  error: options.error ?? Never
59230
59611
  }
@@ -59238,7 +59619,7 @@ const Class = () => (tag, options) => {
59238
59619
  const exitSchema = (self) => {
59239
59620
  let schema = exitSchemaCache.get(self);
59240
59621
  if (schema) return schema;
59241
- schema = Exit(self[symbol].success, self[symbol].error, Defect);
59622
+ schema = Exit(self[symbol$1].success, self[symbol$1].error, Defect);
59242
59623
  exitSchemaCache.set(self, schema);
59243
59624
  return schema;
59244
59625
  };
@@ -59261,7 +59642,7 @@ const deserializeExit = (self, encoded) => {
59261
59642
  };
59262
59643
 
59263
59644
  //#endregion
59264
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/persistence/Persistence.js
59645
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/persistence/Persistence.js
59265
59646
  /**
59266
59647
  * @since 4.0.0
59267
59648
  */
@@ -59379,7 +59760,7 @@ const layerBackingKvs = /* @__PURE__ */ effect$1(BackingPersistence)(/* @__PURE_
59379
59760
  const parsed = JSON.parse(str);
59380
59761
  if (!Array.isArray(parsed)) return undefined_$1;
59381
59762
  const [value, expires] = parsed;
59382
- if (expires !== null && expires <= clock.currentTimeMillisUnsafe()) return as(ignore(store.remove(key)), void 0);
59763
+ if (expires !== null && expires <= clock.currentTimeMillisUnsafe()) return as(ignore$1(store.remove(key)), void 0);
59383
59764
  return succeed$1(value);
59384
59765
  } catch (cause) {
59385
59766
  return fail$4(new PersistenceError({
@@ -59438,11 +59819,11 @@ const layerKvs$1 = /* @__PURE__ */ layer$17.pipe(/* @__PURE__ */ provide$3(layer
59438
59819
  const unsafeTtlToExpires = (clock, ttl) => ttl ? clock.currentTimeMillisUnsafe() + toMillis(ttl) : null;
59439
59820
 
59440
59821
  //#endregion
59441
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/SynchronizedRef.js
59442
- const TypeId$24 = "~effect/SynchronizedRef";
59822
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/SynchronizedRef.js
59823
+ const TypeId$23 = "~effect/SynchronizedRef";
59443
59824
  const Proto$10 = {
59444
59825
  ...PipeInspectableProto,
59445
- [TypeId$24]: TypeId$24,
59826
+ [TypeId$23]: TypeId$23,
59446
59827
  toJSON() {
59447
59828
  return {
59448
59829
  _id: "SynchronizedRef",
@@ -59462,14 +59843,14 @@ const makeUnsafe$1 = (value) => {
59462
59843
  };
59463
59844
 
59464
59845
  //#endregion
59465
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/ScopedRef.js
59846
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/ScopedRef.js
59466
59847
  /**
59467
59848
  * @since 2.0.0
59468
59849
  */
59469
- const TypeId$23 = "~effect/ScopedRef";
59850
+ const TypeId$22 = "~effect/ScopedRef";
59470
59851
  const Proto$9 = {
59471
59852
  ...PipeInspectableProto,
59472
- [TypeId$23]: TypeId$23,
59853
+ [TypeId$22]: TypeId$22,
59473
59854
  toJSON() {
59474
59855
  return {
59475
59856
  _id: "ScopedRef",
@@ -59528,7 +59909,7 @@ const set$4 = /* @__PURE__ */ dual(2, /* @__PURE__ */ fnUntraced(function* (self
59528
59909
  }, uninterruptible, (effect, self) => self.backing.semaphore.withPermit(effect)));
59529
59910
 
59530
59911
  //#endregion
59531
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Runtime.js
59912
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Runtime.js
59532
59913
  /**
59533
59914
  * This module provides utilities for running Effect programs and managing their execution lifecycle.
59534
59915
  *
@@ -59664,40 +60045,40 @@ const makeRunMain = (f) => dual((args) => isEffect(args[0]), (effect, options) =
59664
60045
  });
59665
60046
 
59666
60047
  //#endregion
59667
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/Stdio.js
60048
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Stdio.js
59668
60049
  /**
59669
60050
  * @since 4.0.0
59670
60051
  * @category Type IDs
59671
60052
  */
59672
- const TypeId$22 = "~effect/Stdio";
60053
+ const TypeId$21 = "~effect/Stdio";
59673
60054
  /**
59674
60055
  * @since 4.0.0
59675
60056
  * @category Services
59676
60057
  */
59677
- const Stdio = /* @__PURE__ */ Service$1(TypeId$22);
60058
+ const Stdio = /* @__PURE__ */ Service$1(TypeId$21);
59678
60059
  /**
59679
60060
  * @since 4.0.0
59680
60061
  * @category Constructors
59681
60062
  */
59682
60063
  const make$25 = (options) => ({
59683
- [TypeId$22]: TypeId$22,
60064
+ [TypeId$21]: TypeId$21,
59684
60065
  ...options
59685
60066
  });
59686
60067
 
59687
60068
  //#endregion
59688
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/SubscriptionRef.js
60069
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/SubscriptionRef.js
59689
60070
  /**
59690
60071
  * @since 2.0.0
59691
60072
  */
59692
- const TypeId$21 = "~effect/SubscriptionRef";
60073
+ const TypeId$20 = "~effect/SubscriptionRef";
59693
60074
  /**
59694
60075
  * @since 4.0.0
59695
60076
  * @category guards
59696
60077
  */
59697
- const isSubscriptionRef = (u) => typeof u === "object" && u != null && TypeId$21 in u;
60078
+ const isSubscriptionRef = (u) => typeof u === "object" && u != null && TypeId$20 in u;
59698
60079
  const Proto$8 = {
59699
60080
  ...PipeInspectableProto,
59700
- [TypeId$21]: { _A: identity },
60081
+ [TypeId$20]: { _A: identity },
59701
60082
  toJSON() {
59702
60083
  return {
59703
60084
  _id: "SubscriptionRef",
@@ -61191,7 +61572,7 @@ _Mime_extensionToType = /* @__PURE__ */ new WeakMap(), _Mime_typeToExtension = /
61191
61572
  var src_default = new Mime(types, types$1)._freeze();
61192
61573
 
61193
61574
  //#endregion
61194
- //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.10_effect@4.0.0-beta.10_ioredis@5.9.2/node_modules/@effect/platform-node/dist/Mime.js
61575
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.12_effect@4.0.0-beta.12_ioredis@5.9.2/node_modules/@effect/platform-node/dist/Mime.js
61195
61576
  /**
61196
61577
  * @since 1.0.0
61197
61578
  */
@@ -61202,7 +61583,7 @@ var src_default = new Mime(types, types$1)._freeze();
61202
61583
  var Mime_default = src_default;
61203
61584
 
61204
61585
  //#endregion
61205
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/process/ChildProcessSpawner.js
61586
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/process/ChildProcessSpawner.js
61206
61587
  /**
61207
61588
  * A module providing a generic service interface for spawning child processes.
61208
61589
  *
@@ -61248,12 +61629,12 @@ const makeHandle = (params) => Object.assign(Object.create(HandleProto), params)
61248
61629
  const ChildProcessSpawner = /* @__PURE__ */ Service$1("effect/process/ChildProcessSpawner");
61249
61630
 
61250
61631
  //#endregion
61251
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/process/ChildProcess.js
61252
- const TypeId$20 = "~effect/unstable/process/ChildProcess";
61632
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/process/ChildProcess.js
61633
+ const TypeId$19 = "~effect/unstable/process/ChildProcess";
61253
61634
  const Proto$7 = {
61254
61635
  ...PipeInspectableProto,
61255
61636
  ...YieldableProto,
61256
- [TypeId$20]: TypeId$20,
61637
+ [TypeId$19]: TypeId$19,
61257
61638
  asEffect() {
61258
61639
  return spawn(this);
61259
61640
  }
@@ -61264,7 +61645,7 @@ const Proto$7 = {
61264
61645
  * @since 4.0.0
61265
61646
  * @category Guards
61266
61647
  */
61267
- const isCommand = (u) => hasProperty(u, TypeId$20);
61648
+ const isCommand = (u) => hasProperty(u, TypeId$19);
61268
61649
  const makeStandardCommand = (command, args, options) => Object.assign(Object.create(Proto$7), {
61269
61650
  _tag: "StandardCommand",
61270
61651
  command,
@@ -61585,7 +61966,7 @@ const concatTokens = (prevTokens, nextTokens, isSeparated) => isSeparated || pre
61585
61966
  ];
61586
61967
 
61587
61968
  //#endregion
61588
- //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.10_effect@4.0.0-beta.10/node_modules/@effect/platform-node-shared/dist/internal/utils.js
61969
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.12_effect@4.0.0-beta.12/node_modules/@effect/platform-node-shared/dist/internal/utils.js
61589
61970
  /** @internal */
61590
61971
  const handleErrnoException = (module, method) => (err, [path]) => {
61591
61972
  let reason = "Unknown";
@@ -61623,7 +62004,7 @@ const handleErrnoException = (module, method) => (err, [path]) => {
61623
62004
  };
61624
62005
 
61625
62006
  //#endregion
61626
- //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.10_effect@4.0.0-beta.10/node_modules/@effect/platform-node-shared/dist/NodeSink.js
62007
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.12_effect@4.0.0-beta.12/node_modules/@effect/platform-node-shared/dist/NodeSink.js
61627
62008
  /**
61628
62009
  * @category constructors
61629
62010
  * @since 1.0.0
@@ -61662,7 +62043,7 @@ const pullIntoWritable = (options) => options.pull.pipe(flatMap$2((chunk) => {
61662
62043
  }) : identity);
61663
62044
 
61664
62045
  //#endregion
61665
- //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.10_effect@4.0.0-beta.10/node_modules/@effect/platform-node-shared/dist/NodeStream.js
62046
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.12_effect@4.0.0-beta.12/node_modules/@effect/platform-node-shared/dist/NodeStream.js
61666
62047
  /**
61667
62048
  * @since 1.0.0
61668
62049
  */
@@ -61794,7 +62175,7 @@ const readableToPullUnsafe = (options) => {
61794
62175
  const defaultOnError = (error) => new UnknownError(error);
61795
62176
 
61796
62177
  //#endregion
61797
- //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.10_effect@4.0.0-beta.10/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js
62178
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.12_effect@4.0.0-beta.12/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js
61798
62179
  const toError = (error) => error instanceof globalThis.Error ? error : new globalThis.Error(String(error));
61799
62180
  const toPlatformError = (method, error, command) => {
61800
62181
  const { commands } = flattenCommand(command);
@@ -62020,10 +62401,10 @@ const make$23 = /* @__PURE__ */ gen(function* () {
62020
62401
  const killWithTimeout = withTimeout(childProcess, cmd, cmd.options);
62021
62402
  if (exited) {
62022
62403
  const [code] = yield* _await(exitSignal);
62023
- if (code !== 0 && isNotNull(code)) return yield* ignore(killWithTimeout(killProcessGroup));
62404
+ if (code !== 0 && isNotNull(code)) return yield* ignore$1(killWithTimeout(killProcessGroup));
62024
62405
  return yield* void_$1;
62025
62406
  }
62026
- return yield* killWithTimeout((command, childProcess, signal) => catch_$1(killProcessGroup(command, childProcess, signal), () => killProcess(command, childProcess, signal))).pipe(andThen(_await(exitSignal)), ignore);
62407
+ return yield* killWithTimeout((command, childProcess, signal) => catch_$1(killProcessGroup(command, childProcess, signal), () => killProcess(command, childProcess, signal))).pipe(andThen(_await(exitSignal)), ignore$1);
62027
62408
  }));
62028
62409
  const pid = ProcessId(childProcess.pid);
62029
62410
  const stdin = yield* setupChildStdin(cmd, childProcess, stdinConfig);
@@ -62137,16 +62518,16 @@ const flattenCommand = (command) => {
62137
62518
  };
62138
62519
 
62139
62520
  //#endregion
62140
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/Cookies.js
62521
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/Cookies.js
62141
62522
  /**
62142
62523
  * @since 4.0.0
62143
62524
  */
62144
- const TypeId$19 = "~effect/http/Cookies";
62525
+ const TypeId$18 = "~effect/http/Cookies";
62145
62526
  /**
62146
62527
  * @since 4.0.0
62147
62528
  * @category refinements
62148
62529
  */
62149
- const isCookies = (u) => hasProperty(u, TypeId$19);
62530
+ const isCookies = (u) => hasProperty(u, TypeId$18);
62150
62531
  /**
62151
62532
  * @since 4.0.0
62152
62533
  * @category Schemas
@@ -62220,7 +62601,7 @@ var CookiesError = class CookiesError extends TaggedError("CookieError") {
62220
62601
  }
62221
62602
  };
62222
62603
  const Proto$6 = {
62223
- [TypeId$19]: TypeId$19,
62604
+ [TypeId$18]: TypeId$18,
62224
62605
  ...BaseProto,
62225
62606
  toJSON() {
62226
62607
  return {
@@ -62527,7 +62908,7 @@ const tryDecodeURIComponent = (str) => {
62527
62908
  };
62528
62909
 
62529
62910
  //#endregion
62530
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/Headers.js
62911
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/Headers.js
62531
62912
  /**
62532
62913
  * @since 4.0.0
62533
62914
  */
@@ -62537,21 +62918,24 @@ const tryDecodeURIComponent = (str) => {
62537
62918
  * @since 4.0.0
62538
62919
  * @category type ids
62539
62920
  */
62540
- const TypeId$18 = /* @__PURE__ */ Symbol.for("~effect/http/Headers");
62541
- const Proto$5 = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), BaseProto, {
62542
- [TypeId$18]: TypeId$18,
62543
- [symbolRedactable](context) {
62921
+ const TypeId$17 = /* @__PURE__ */ Symbol.for("~effect/http/Headers");
62922
+ const Proto$5 = /* @__PURE__ */ Object.create(null);
62923
+ Object.defineProperties(Proto$5, {
62924
+ [TypeId$17]: { value: TypeId$17 },
62925
+ [symbolRedactable]: { value(context) {
62544
62926
  return redact(this, get$12(context, CurrentRedactedNames));
62545
- },
62546
- toJSON() {
62927
+ } },
62928
+ toJSON: { value() {
62547
62929
  return redact$1(this);
62548
- },
62549
- [symbol$4](that) {
62930
+ } },
62931
+ [symbol$5]: { value(that) {
62550
62932
  return Equivalence$1(this, that);
62551
- },
62552
- [symbol$5]() {
62933
+ } },
62934
+ [symbol$6]: { value() {
62553
62935
  return structure(this);
62554
- }
62936
+ } },
62937
+ toString: { value: BaseProto.toString },
62938
+ [NodeInspectSymbol]: { value: BaseProto[NodeInspectSymbol] }
62555
62939
  });
62556
62940
  const make$22 = (input) => Object.assign(Object.create(Proto$5), input);
62557
62941
  /**
@@ -62648,16 +63032,16 @@ const CurrentRedactedNames = /* @__PURE__ */ Reference("effect/Headers/CurrentRe
62648
63032
  ] });
62649
63033
 
62650
63034
  //#endregion
62651
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpClientError.js
63035
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpClientError.js
62652
63036
  /**
62653
63037
  * @since 4.0.0
62654
63038
  */
62655
- const TypeId$17 = "~effect/http/HttpClientError";
63039
+ const TypeId$16 = "~effect/http/HttpClientError";
62656
63040
  /**
62657
63041
  * @since 4.0.0
62658
63042
  * @category guards
62659
63043
  */
62660
- const isHttpClientError = (u) => hasProperty(u, TypeId$17);
63044
+ const isHttpClientError = (u) => hasProperty(u, TypeId$16);
62661
63045
  /**
62662
63046
  * @since 4.0.0
62663
63047
  * @category error
@@ -62673,7 +63057,7 @@ var HttpClientError = class extends TaggedError("HttpClientError") {
62673
63057
  /**
62674
63058
  * @since 4.0.0
62675
63059
  */
62676
- [TypeId$17] = TypeId$17;
63060
+ [TypeId$16] = TypeId$16;
62677
63061
  /**
62678
63062
  * @since 4.0.0
62679
63063
  */
@@ -62787,19 +63171,19 @@ var EmptyBodyError = class extends TaggedError("EmptyBodyError") {
62787
63171
  };
62788
63172
 
62789
63173
  //#endregion
62790
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/UrlParams.js
63174
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/UrlParams.js
62791
63175
  /**
62792
63176
  * @since 4.0.0
62793
63177
  */
62794
- const TypeId$16 = "~effect/http/UrlParams";
63178
+ const TypeId$15 = "~effect/http/UrlParams";
62795
63179
  /**
62796
63180
  * @since 4.0.0
62797
63181
  * @category Guards
62798
63182
  */
62799
- const isUrlParams = (u) => hasProperty(u, TypeId$16);
63183
+ const isUrlParams = (u) => hasProperty(u, TypeId$15);
62800
63184
  const Proto$4 = {
62801
63185
  ...PipeInspectableProto,
62802
- [TypeId$16]: TypeId$16,
63186
+ [TypeId$15]: TypeId$15,
62803
63187
  [Symbol.iterator]() {
62804
63188
  return this.params[Symbol.iterator]();
62805
63189
  },
@@ -62809,10 +63193,10 @@ const Proto$4 = {
62809
63193
  params: Object.fromEntries(this.params)
62810
63194
  };
62811
63195
  },
62812
- [symbol$4](that) {
63196
+ [symbol$5](that) {
62813
63197
  return Equivalence(this, that);
62814
63198
  },
62815
- [symbol$5]() {
63199
+ [symbol$6]() {
62816
63200
  return array(this.params.flat());
62817
63201
  }
62818
63202
  };
@@ -63000,11 +63384,11 @@ const schemaRecord = /* @__PURE__ */ UrlParamsSchema.pipe(/* @__PURE__ */ decode
63000
63384
  })));
63001
63385
 
63002
63386
  //#endregion
63003
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpBody.js
63387
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpBody.js
63004
63388
  /**
63005
63389
  * @since 4.0.0
63006
63390
  */
63007
- const TypeId$15 = "~effect/http/HttpBody";
63391
+ const TypeId$14 = "~effect/http/HttpBody";
63008
63392
  const HttpBodyErrorTypeId = "~effect/http/HttpBody/HttpBodyError";
63009
63393
  /**
63010
63394
  * @since 4.0.0
@@ -63017,9 +63401,9 @@ var HttpBodyError = class extends TaggedError("HttpBodyError") {
63017
63401
  [HttpBodyErrorTypeId] = HttpBodyErrorTypeId;
63018
63402
  };
63019
63403
  var Proto$3 = class {
63020
- [TypeId$15];
63404
+ [TypeId$14];
63021
63405
  constructor() {
63022
- this[TypeId$15] = TypeId$15;
63406
+ this[TypeId$14] = TypeId$14;
63023
63407
  }
63024
63408
  [NodeInspectSymbol]() {
63025
63409
  return this.toJSON();
@@ -63148,10 +63532,10 @@ var Stream = class extends Proto$3 {
63148
63532
  const stream$3 = (body, contentType, contentLength) => new Stream(body, contentType ?? "application/octet-stream", contentLength);
63149
63533
 
63150
63534
  //#endregion
63151
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpClientRequest.js
63152
- const TypeId$14 = "~effect/http/HttpClientRequest";
63535
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpClientRequest.js
63536
+ const TypeId$13 = "~effect/http/HttpClientRequest";
63153
63537
  const Proto$2 = {
63154
- [TypeId$14]: TypeId$14,
63538
+ [TypeId$13]: TypeId$13,
63155
63539
  ...BaseProto,
63156
63540
  toJSON() {
63157
63541
  return {
@@ -63294,7 +63678,7 @@ const setBody = /* @__PURE__ */ dual(2, (self, body) => {
63294
63678
  const bodyUrlParams = /* @__PURE__ */ dual(2, (self, input) => setBody(self, urlParams(fromInput(input))));
63295
63679
 
63296
63680
  //#endregion
63297
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpIncomingMessage.js
63681
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpIncomingMessage.js
63298
63682
  /**
63299
63683
  * @since 4.0.0
63300
63684
  */
@@ -63302,7 +63686,7 @@ const bodyUrlParams = /* @__PURE__ */ dual(2, (self, input) => setBody(self, url
63302
63686
  * @since 4.0.0
63303
63687
  * @category Type IDs
63304
63688
  */
63305
- const TypeId$13 = "~effect/http/HttpIncomingMessage";
63689
+ const TypeId$12 = "~effect/http/HttpIncomingMessage";
63306
63690
  /**
63307
63691
  * @since 4.0.0
63308
63692
  * @category schema
@@ -63346,7 +63730,7 @@ const inspect = (self, that) => {
63346
63730
  };
63347
63731
 
63348
63732
  //#endregion
63349
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpClientResponse.js
63733
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpClientResponse.js
63350
63734
  /**
63351
63735
  * @since 4.0.0
63352
63736
  */
@@ -63354,7 +63738,7 @@ const inspect = (self, that) => {
63354
63738
  * @since 4.0.0
63355
63739
  * @category Type IDs
63356
63740
  */
63357
- const TypeId$12 = "~effect/http/HttpClientResponse";
63741
+ const TypeId$11 = "~effect/http/HttpClientResponse";
63358
63742
  /**
63359
63743
  * @since 4.0.0
63360
63744
  * @category constructors
@@ -63370,16 +63754,16 @@ const filterStatusOk$1 = (self) => self.status >= 200 && self.status < 300 ? suc
63370
63754
  description: "non 2xx status code"
63371
63755
  }) }));
63372
63756
  var WebHttpClientResponse = class extends Class$3 {
63373
- [TypeId$13];
63374
63757
  [TypeId$12];
63758
+ [TypeId$11];
63375
63759
  request;
63376
63760
  source;
63377
63761
  constructor(request, source) {
63378
63762
  super();
63379
63763
  this.request = request;
63380
63764
  this.source = source;
63381
- this[TypeId$13] = TypeId$13;
63382
63765
  this[TypeId$12] = TypeId$12;
63766
+ this[TypeId$11] = TypeId$11;
63383
63767
  }
63384
63768
  toJSON() {
63385
63769
  return inspect(this, {
@@ -63470,7 +63854,7 @@ var WebHttpClientResponse = class extends Class$3 {
63470
63854
  };
63471
63855
 
63472
63856
  //#endregion
63473
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpMethod.js
63857
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpMethod.js
63474
63858
  /**
63475
63859
  * @since 4.0.0
63476
63860
  */
@@ -63486,7 +63870,7 @@ const allShort = [
63486
63870
  ];
63487
63871
 
63488
63872
  //#endregion
63489
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpTraceContext.js
63873
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpTraceContext.js
63490
63874
  /**
63491
63875
  * @since 4.0.0
63492
63876
  */
@@ -63555,8 +63939,8 @@ const w3c = (headers) => {
63555
63939
  };
63556
63940
 
63557
63941
  //#endregion
63558
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpClient.js
63559
- const TypeId$11 = "~effect/http/HttpClient";
63942
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpClient.js
63943
+ const TypeId$10 = "~effect/http/HttpClient";
63560
63944
  /**
63561
63945
  * @since 4.0.0
63562
63946
  * @category tags
@@ -63588,7 +63972,7 @@ const makeWith = (postprocess, preprocess) => {
63588
63972
  return self;
63589
63973
  };
63590
63974
  const Proto$1 = {
63591
- [TypeId$11]: TypeId$11,
63975
+ [TypeId$10]: TypeId$10,
63592
63976
  pipe() {
63593
63977
  return pipeArguments(this, arguments);
63594
63978
  },
@@ -63744,8 +64128,8 @@ var InterruptibleResponse = class {
63744
64128
  this.original = original;
63745
64129
  this.controller = controller;
63746
64130
  }
64131
+ [TypeId$11] = TypeId$11;
63747
64132
  [TypeId$12] = TypeId$12;
63748
- [TypeId$13] = TypeId$13;
63749
64133
  applyInterrupt(effect) {
63750
64134
  return suspend$3(() => {
63751
64135
  responseRegistry.unregister(this.original);
@@ -64398,7 +64782,7 @@ const httpMethods = [
64398
64782
  const make$17 = make$18;
64399
64783
 
64400
64784
  //#endregion
64401
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/Template.js
64785
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/Template.js
64402
64786
  /**
64403
64787
  * @since 4.0.0
64404
64788
  */
@@ -64448,15 +64832,15 @@ function isSuccess$1(u) {
64448
64832
  }
64449
64833
 
64450
64834
  //#endregion
64451
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpServerResponse.js
64835
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpServerResponse.js
64452
64836
  /**
64453
64837
  * @since 4.0.0
64454
64838
  */
64455
- const TypeId$10 = "~effect/http/HttpServerResponse";
64839
+ const TypeId$9 = "~effect/http/HttpServerResponse";
64456
64840
  /**
64457
64841
  * @since 4.0.0
64458
64842
  */
64459
- const isHttpServerResponse = (u) => hasProperty(u, TypeId$10);
64843
+ const isHttpServerResponse = (u) => hasProperty(u, TypeId$9);
64460
64844
  /**
64461
64845
  * @since 4.0.0
64462
64846
  * @category constructors
@@ -64523,7 +64907,8 @@ const stream$2 = (body, options) => {
64523
64907
  };
64524
64908
  const Proto = {
64525
64909
  ...PipeInspectableProto,
64526
- [TypeId$10]: TypeId$10,
64910
+ [TypeId$9]: TypeId$9,
64911
+ [ignore]: true,
64527
64912
  toJSON() {
64528
64913
  return {
64529
64914
  _id: "HttpServerResponse",
@@ -64551,7 +64936,7 @@ const makeResponse = (options) => {
64551
64936
  };
64552
64937
 
64553
64938
  //#endregion
64554
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpServerRespondable.js
64939
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpServerRespondable.js
64555
64940
  /**
64556
64941
  * @since 4.0.0
64557
64942
  */
@@ -64559,12 +64944,12 @@ const makeResponse = (options) => {
64559
64944
  * @since 4.0.0
64560
64945
  * @category Type IDs
64561
64946
  */
64562
- const TypeId$9 = "~effect/http/HttpServerRespondable";
64947
+ const symbol = "~effect/http/HttpServerRespondable";
64563
64948
  /**
64564
64949
  * @since 4.0.0
64565
64950
  * @category guards
64566
64951
  */
64567
- const isRespondable = (u) => hasProperty(u, TypeId$9);
64952
+ const isRespondable = (u) => hasProperty(u, symbol);
64568
64953
  const badRequest = /* @__PURE__ */ empty({ status: 400 });
64569
64954
  const notFound = /* @__PURE__ */ empty({ status: 404 });
64570
64955
  /**
@@ -64573,7 +64958,7 @@ const notFound = /* @__PURE__ */ empty({ status: 404 });
64573
64958
  */
64574
64959
  const toResponseOrElse = (u, orElse) => {
64575
64960
  if (isHttpServerResponse(u)) return succeed$1(u);
64576
- else if (isRespondable(u)) return catchCause$1(u[TypeId$9](), () => succeed$1(orElse));
64961
+ else if (isRespondable(u)) return catchCause$1(u[symbol](), () => succeed$1(orElse));
64577
64962
  else if (isSchemaError(u)) return succeed$1(badRequest);
64578
64963
  else if (isNoSuchElementError(u)) return succeed$1(notFound);
64579
64964
  return succeed$1(orElse);
@@ -64584,12 +64969,12 @@ const toResponseOrElse = (u, orElse) => {
64584
64969
  */
64585
64970
  const toResponseOrElseDefect = (u, orElse) => {
64586
64971
  if (isHttpServerResponse(u)) return succeed$1(u);
64587
- else if (isRespondable(u)) return catchCause$1(u[TypeId$9](), () => succeed$1(orElse));
64972
+ else if (isRespondable(u)) return catchCause$1(u[symbol](), () => succeed$1(orElse));
64588
64973
  return succeed$1(orElse);
64589
64974
  };
64590
64975
 
64591
64976
  //#endregion
64592
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpServerError.js
64977
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpServerError.js
64593
64978
  /**
64594
64979
  * @since 4.0.0
64595
64980
  */
@@ -64606,31 +64991,19 @@ var HttpServerError = class extends TaggedError("HttpServerError") {
64606
64991
  });
64607
64992
  else super(props);
64608
64993
  }
64609
- /**
64610
- * @since 4.0.0
64611
- */
64612
64994
  [TypeId$8] = TypeId$8;
64613
- /**
64614
- * @since 4.0.0
64615
- */
64616
64995
  stack = `${this.name}: ${this.message}`;
64617
- /**
64618
- * @since 4.0.0
64619
- */
64620
64996
  get request() {
64621
64997
  return this.reason.request;
64622
64998
  }
64623
- /**
64624
- * @since 4.0.0
64625
- */
64626
64999
  get response() {
64627
65000
  return "response" in this.reason ? this.reason.response : void 0;
64628
65001
  }
64629
- /**
64630
- * @since 4.0.0
64631
- */
64632
- [TypeId$9]() {
64633
- return this.reason[TypeId$9]();
65002
+ [symbol]() {
65003
+ return this.reason[symbol]();
65004
+ }
65005
+ get [ignore]() {
65006
+ return this.reason[ignore] ?? false;
64634
65007
  }
64635
65008
  get message() {
64636
65009
  return this.reason.message;
@@ -64644,7 +65017,7 @@ var RequestParseError = class extends TaggedError("RequestParseError") {
64644
65017
  /**
64645
65018
  * @since 4.0.0
64646
65019
  */
64647
- [TypeId$9]() {
65020
+ [symbol]() {
64648
65021
  return succeed$1(empty({ status: 400 }));
64649
65022
  }
64650
65023
  get methodAndUrl() {
@@ -64659,12 +65032,10 @@ var RequestParseError = class extends TaggedError("RequestParseError") {
64659
65032
  * @category error
64660
65033
  */
64661
65034
  var RouteNotFound = class extends TaggedError("RouteNotFound") {
64662
- /**
64663
- * @since 4.0.0
64664
- */
64665
- [TypeId$9]() {
65035
+ [symbol]() {
64666
65036
  return succeed$1(empty({ status: 404 }));
64667
65037
  }
65038
+ [ignore] = true;
64668
65039
  get methodAndUrl() {
64669
65040
  return `${this.request.method} ${this.request.url}`;
64670
65041
  }
@@ -64680,7 +65051,7 @@ var InternalError = class extends TaggedError("InternalError") {
64680
65051
  /**
64681
65052
  * @since 4.0.0
64682
65053
  */
64683
- [TypeId$9]() {
65054
+ [symbol]() {
64684
65055
  return succeed$1(empty({ status: 500 }));
64685
65056
  }
64686
65057
  get methodAndUrl() {
@@ -64695,10 +65066,7 @@ var InternalError = class extends TaggedError("InternalError") {
64695
65066
  * @category error
64696
65067
  */
64697
65068
  var ResponseError = class extends TaggedError("ResponseError") {
64698
- /**
64699
- * @since 4.0.0
64700
- */
64701
- [TypeId$9]() {
65069
+ [symbol]() {
64702
65070
  return succeed$1(empty({ status: 500 }));
64703
65071
  }
64704
65072
  get methodAndUrl() {
@@ -64714,6 +65082,17 @@ var ResponseError = class extends TaggedError("ResponseError") {
64714
65082
  * @category error
64715
65083
  */
64716
65084
  var ServeError = class extends TaggedError("ServeError") {};
65085
+ /**
65086
+ * @since 4.0.0
65087
+ * @category Annotations
65088
+ */
65089
+ var ClientAbort = class extends Service$1()("effect/http/HttpServerError/ClientAbort") {
65090
+ static annotation = /* @__PURE__ */ this.serviceMap(true).pipe(/* @__PURE__ */ add$3(StackTrace, {
65091
+ name: "ClientAbort",
65092
+ stack: constUndefined,
65093
+ parent: void 0
65094
+ }));
65095
+ };
64717
65096
  const formatRequestMessage = (reason, description, info) => {
64718
65097
  const prefix = `${reason} (${info})`;
64719
65098
  return description ? `${prefix}: ${description}` : prefix;
@@ -64721,40 +65100,36 @@ const formatRequestMessage = (reason, description, info) => {
64721
65100
  /**
64722
65101
  * @since 4.0.0
64723
65102
  */
64724
- const clientAbortFiberId = -499;
64725
- /**
64726
- * @since 4.0.0
64727
- */
64728
65103
  const causeResponse = (cause) => {
64729
65104
  let response;
64730
65105
  let effect = succeedInternalServerError;
64731
65106
  const failures = [];
64732
- let interrupt;
65107
+ let interrupts = [];
64733
65108
  let isClientInterrupt = false;
64734
65109
  for (let i = 0; i < cause.reasons.length; i++) {
64735
- const f = cause.reasons[i];
64736
- switch (f._tag) {
65110
+ const reason = cause.reasons[i];
65111
+ switch (reason._tag) {
64737
65112
  case "Fail":
64738
- effect = toResponseOrElse(f.error, internalServerError);
64739
- failures.push(f);
65113
+ effect = toResponseOrElse(reason.error, internalServerError);
65114
+ failures.push(reason);
64740
65115
  break;
64741
65116
  case "Die":
64742
- if (isHttpServerResponse(f.defect)) response = f.defect;
65117
+ if (isHttpServerResponse(reason.defect)) response = reason.defect;
64743
65118
  else {
64744
- effect = toResponseOrElseDefect(f.defect, internalServerError);
64745
- failures.push(f);
65119
+ effect = toResponseOrElseDefect(reason.defect, internalServerError);
65120
+ failures.push(reason);
64746
65121
  }
64747
65122
  break;
64748
65123
  case "Interrupt":
64749
- isClientInterrupt = isClientInterrupt || f.fiberId === clientAbortFiberId;
65124
+ isClientInterrupt = reason.annotations.has(ClientAbort.key);
64750
65125
  if (failures.length > 0) break;
64751
- interrupt = f;
65126
+ interrupts.push(reason);
64752
65127
  break;
64753
65128
  }
64754
65129
  }
64755
65130
  if (response) return succeed$1([response, fromReasons(failures)]);
64756
- else if (interrupt && failures.length === 0) {
64757
- failures.push(isClientInterrupt ? makeInterruptReason(clientAbortFiberId) : interrupt);
65131
+ else if (interrupts.length > 0 && failures.length === 0) {
65132
+ failures.push(...interrupts);
64758
65133
  effect = isClientInterrupt ? clientAbortError : serverAbortError;
64759
65134
  }
64760
65135
  return mapEager(effect, (response) => {
@@ -64789,7 +65164,7 @@ const exitResponse = (exit) => {
64789
65164
  };
64790
65165
 
64791
65166
  //#endregion
64792
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/socket/Socket.js
65167
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/socket/Socket.js
64793
65168
  /**
64794
65169
  * @since 4.0.0
64795
65170
  * @category Type IDs
@@ -65925,7 +66300,7 @@ const defaultIsFile = defaultIsFile$1;
65925
66300
  const decodeField = decodeField$1;
65926
66301
 
65927
66302
  //#endregion
65928
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/Multipart.js
66303
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/Multipart.js
65929
66304
  /**
65930
66305
  * @since 4.0.0
65931
66306
  */
@@ -66181,7 +66556,7 @@ const MaxFileSize = /* @__PURE__ */ Reference("effect/http/Multipart/MaxFileSize
66181
66556
  const FieldMimeTypes = /* @__PURE__ */ Reference("effect/http/Multipart/FieldMimeTypes", { defaultValue: /* @__PURE__ */ constant(["application/json"]) });
66182
66557
 
66183
66558
  //#endregion
66184
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpServerRequest.js
66559
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpServerRequest.js
66185
66560
  /**
66186
66561
  * @since 4.0.0
66187
66562
  * @category Type IDs
@@ -66207,7 +66582,7 @@ const schemaSearchParams = (schema, options) => {
66207
66582
  };
66208
66583
  var ServerRequestImpl$1 = class ServerRequestImpl$1 extends Class$3 {
66209
66584
  [TypeId$5];
66210
- [TypeId$13];
66585
+ [TypeId$12];
66211
66586
  source;
66212
66587
  url;
66213
66588
  headersOverride;
@@ -66215,7 +66590,7 @@ var ServerRequestImpl$1 = class ServerRequestImpl$1 extends Class$3 {
66215
66590
  constructor(source, url, headersOverride, remoteAddressOverride) {
66216
66591
  super();
66217
66592
  this[TypeId$5] = TypeId$5;
66218
- this[TypeId$13] = TypeId$13;
66593
+ this[TypeId$12] = TypeId$12;
66219
66594
  this.source = source;
66220
66595
  this.url = url;
66221
66596
  this.headersOverride = headersOverride;
@@ -66334,7 +66709,12 @@ const toURL = (self) => {
66334
66709
  };
66335
66710
 
66336
66711
  //#endregion
66337
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpMiddleware.js
66712
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/internal/preResponseHandler.js
66713
+ /** @internal */
66714
+ const requestPreResponseHandlers = /* @__PURE__ */ new WeakMap();
66715
+
66716
+ //#endregion
66717
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpMiddleware.js
66338
66718
  /**
66339
66719
  * @since 4.0.0
66340
66720
  */
@@ -66401,10 +66781,10 @@ const tracer = /* @__PURE__ */ make$11((httpApp) => withFiber((fiber) => {
66401
66781
  parent: fromHeaders(request.headers),
66402
66782
  kind: "server"
66403
66783
  });
66404
- const prevSpan = getOption(fiber.services, ParentSpan);
66784
+ const prevServices = fiber.services;
66405
66785
  fiber.setServices(add$3(fiber.services, ParentSpan, span));
66406
66786
  return onExitPrimitive(httpApp, (exit) => {
66407
- fiber.setServices(addOrOmit(fiber.services, ParentSpan, prevSpan));
66787
+ fiber.setServices(prevServices);
66408
66788
  const endTime = fiber.getRef(Clock).currentTimeNanosUnsafe();
66409
66789
  fiber.currentScheduler.scheduleTask(() => {
66410
66790
  const url = toURL(request);
@@ -66434,7 +66814,7 @@ const tracer = /* @__PURE__ */ make$11((httpApp) => withFiber((fiber) => {
66434
66814
  }));
66435
66815
 
66436
66816
  //#endregion
66437
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpEffect.js
66817
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpEffect.js
66438
66818
  /**
66439
66819
  * @since 4.0.0
66440
66820
  * @category combinators
@@ -66442,8 +66822,9 @@ const tracer = /* @__PURE__ */ make$11((httpApp) => withFiber((fiber) => {
66442
66822
  const toHandled = (self, handleResponse, middleware) => {
66443
66823
  const handleCause = (cause) => flatMapEager(causeResponse(cause), ([response, cause]) => {
66444
66824
  const fiber = getCurrent();
66825
+ reportCauseUnsafe(fiber, cause);
66445
66826
  const request = getUnsafe$5(fiber.services, HttpServerRequest);
66446
- const handler = fiber.getRef(PreResponseHandlers);
66827
+ const handler = requestPreResponseHandlers.get(request);
66447
66828
  const cont = cause.reasons.length === 0 ? succeed$1(response) : failCause$2(cause);
66448
66829
  if (handler === void 0) {
66449
66830
  request[handledSymbol] = true;
@@ -66458,7 +66839,7 @@ const toHandled = (self, handleResponse, middleware) => {
66458
66839
  onSuccess: (response) => {
66459
66840
  const fiber = getCurrent();
66460
66841
  const request = getUnsafe$5(fiber.services, HttpServerRequest);
66461
- const handler = fiber.getRef(PreResponseHandlers);
66842
+ const handler = requestPreResponseHandlers.get(request);
66462
66843
  if (handler === void 0) {
66463
66844
  request[handledSymbol] = true;
66464
66845
  return mapEager(handleResponse(request, response), () => response);
@@ -66473,11 +66854,16 @@ const toHandled = (self, handleResponse, middleware) => {
66473
66854
  const withMiddleware = middleware === void 0 ? tracer(responded) : matchCauseEffect(tracer(middleware(responded)), {
66474
66855
  onFailure(cause) {
66475
66856
  const fiber = getCurrent();
66857
+ reportCauseUnsafe(fiber, cause);
66476
66858
  const request = getUnsafe$5(fiber.services, HttpServerRequest);
66477
66859
  if (handledSymbol in request) return void_$1;
66478
66860
  return matchCauseEffectEager(causeResponse(cause), {
66479
- onFailure: (_cause) => handleResponse(request, empty({ status: 500 })),
66480
- onSuccess: ([response]) => handleResponse(request, response)
66861
+ onFailure(_) {
66862
+ return handleResponse(request, empty({ status: 500 }));
66863
+ },
66864
+ onSuccess([response]) {
66865
+ return handleResponse(request, response);
66866
+ }
66481
66867
  });
66482
66868
  },
66483
66869
  onSuccess(response) {
@@ -66492,22 +66878,17 @@ const handledSymbol = /* @__PURE__ */ Symbol.for("effect/http/HttpEffect/handled
66492
66878
  const scopeEjected = /* @__PURE__ */ Symbol.for("effect/http/HttpEffect/scopeEjected");
66493
66879
  const scoped = (effect) => withFiber((fiber) => {
66494
66880
  const scope = makeUnsafe$12();
66495
- const prev = getOption(fiber.services, Scope);
66881
+ const prevServices = fiber.services;
66496
66882
  fiber.setServices(add$3(fiber.services, Scope, scope));
66497
66883
  return onExitPrimitive(effect, (exit) => {
66498
- fiber.setServices(addOrOmit(fiber.services, Scope, prev));
66884
+ fiber.setServices(prevServices);
66499
66885
  if (scopeEjected in scope) return void 0;
66500
66886
  return closeUnsafe(scope, exit);
66501
66887
  }, true);
66502
66888
  });
66503
- /**
66504
- * @since 4.0.0
66505
- * @category Pre-response handlers
66506
- */
66507
- const PreResponseHandlers = /* @__PURE__ */ Reference("effect/http/HttpEffect/PreResponseHandlers", { defaultValue: () => void 0 });
66508
66889
 
66509
66890
  //#endregion
66510
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/Etag.js
66891
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/Etag.js
66511
66892
  /**
66512
66893
  * @since 4.0.0
66513
66894
  */
@@ -66571,7 +66952,7 @@ const layerWeak = /* @__PURE__ */ succeed$2(Generator)({
66571
66952
  });
66572
66953
 
66573
66954
  //#endregion
66574
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpPlatform.js
66955
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpPlatform.js
66575
66956
  /**
66576
66957
  * @since 4.0.0
66577
66958
  */
@@ -66638,7 +67019,7 @@ const layer$14 = /* @__PURE__ */ effect$1(HttpPlatform)(flatMap$2(FileSystem.asE
66638
67019
  }))).pipe(/* @__PURE__ */ provide$3(layerWeak));
66639
67020
 
66640
67021
  //#endregion
66641
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpServer.js
67022
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpServer.js
66642
67023
  /**
66643
67024
  * @since 4.0.0
66644
67025
  */
@@ -66701,7 +67082,7 @@ const makeTestClient = /* @__PURE__ */ gen(function* () {
66701
67082
  const layerTestClient = /* @__PURE__ */ effect$1(HttpClient)(makeTestClient);
66702
67083
 
66703
67084
  //#endregion
66704
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/HttpRouter.js
67085
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpRouter.js
66705
67086
  /**
66706
67087
  * @since 4.0.0
66707
67088
  */
@@ -70568,7 +70949,7 @@ var import_websocket = /* @__PURE__ */ __toESM(require_websocket(), 1);
70568
70949
  var import_websocket_server = /* @__PURE__ */ __toESM(require_websocket_server(), 1);
70569
70950
 
70570
70951
  //#endregion
70571
- //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.10_effect@4.0.0-beta.10/node_modules/@effect/platform-node-shared/dist/NodeFileSystem.js
70952
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.12_effect@4.0.0-beta.12/node_modules/@effect/platform-node-shared/dist/NodeFileSystem.js
70572
70953
  /**
70573
70954
  * @since 1.0.0
70574
70955
  */
@@ -70918,7 +71299,7 @@ const makeFileSystem = /* @__PURE__ */ map$8(/* @__PURE__ */ serviceOption(Watch
70918
71299
  const layer$12 = /* @__PURE__ */ effect$1(FileSystem)(makeFileSystem);
70919
71300
 
70920
71301
  //#endregion
70921
- //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.10_effect@4.0.0-beta.10_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeFileSystem.js
71302
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.12_effect@4.0.0-beta.12_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeFileSystem.js
70922
71303
  /**
70923
71304
  * @since 1.0.0
70924
71305
  */
@@ -70929,7 +71310,7 @@ const layer$12 = /* @__PURE__ */ effect$1(FileSystem)(makeFileSystem);
70929
71310
  const layer$11 = layer$12;
70930
71311
 
70931
71312
  //#endregion
70932
- //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.10_effect@4.0.0-beta.10_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeHttpIncomingMessage.js
71313
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.12_effect@4.0.0-beta.12_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeHttpIncomingMessage.js
70933
71314
  /**
70934
71315
  * @since 1.0.0
70935
71316
  */
@@ -70941,13 +71322,13 @@ var NodeHttpIncomingMessage = class extends Class$3 {
70941
71322
  /**
70942
71323
  * @since 1.0.0
70943
71324
  */
70944
- [TypeId$13];
71325
+ [TypeId$12];
70945
71326
  source;
70946
71327
  onError;
70947
71328
  remoteAddressOverride;
70948
71329
  constructor(source, onError, remoteAddressOverride) {
70949
71330
  super();
70950
- this[TypeId$13] = TypeId$13;
71331
+ this[TypeId$12] = TypeId$12;
70951
71332
  this.source = source;
70952
71333
  this.onError = onError;
70953
71334
  this.remoteAddressOverride = remoteAddressOverride;
@@ -71000,7 +71381,7 @@ var NodeHttpIncomingMessage = class extends Class$3 {
71000
71381
  };
71001
71382
 
71002
71383
  //#endregion
71003
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/http/FetchHttpClient.js
71384
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/FetchHttpClient.js
71004
71385
  /**
71005
71386
  * @since 4.0.0
71006
71387
  */
@@ -71047,7 +71428,7 @@ const fetch$1 = /* @__PURE__ */ make$19((request, url, signal, fiber) => {
71047
71428
  const layer$10 = /* @__PURE__ */ layerMergedServices(/* @__PURE__ */ succeed$1(fetch$1));
71048
71429
 
71049
71430
  //#endregion
71050
- //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.10_effect@4.0.0-beta.10_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeHttpPlatform.js
71431
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.12_effect@4.0.0-beta.12_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeHttpPlatform.js
71051
71432
  /**
71052
71433
  * @since 1.0.0
71053
71434
  */
@@ -71171,7 +71552,7 @@ var FileStream = class extends Readable {
71171
71552
  };
71172
71553
 
71173
71554
  //#endregion
71174
- //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.10_effect@4.0.0-beta.10_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeMultipart.js
71555
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.12_effect@4.0.0-beta.12_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeMultipart.js
71175
71556
  /**
71176
71557
  * @since 1.0.0
71177
71558
  */
@@ -71267,7 +71648,7 @@ function convertError(cause) {
71267
71648
  }
71268
71649
 
71269
71650
  //#endregion
71270
- //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.10_effect@4.0.0-beta.10/node_modules/@effect/platform-node-shared/dist/NodePath.js
71651
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.12_effect@4.0.0-beta.12/node_modules/@effect/platform-node-shared/dist/NodePath.js
71271
71652
  /**
71272
71653
  * @since 1.0.0
71273
71654
  */
@@ -71292,7 +71673,7 @@ const toFileUrl = (path) => try_({
71292
71673
  * @category Layers
71293
71674
  */
71294
71675
  const layerPosix$1 = /* @__PURE__ */ succeed$2(Path$1)({
71295
- [TypeId$39]: TypeId$39,
71676
+ [TypeId$38]: TypeId$38,
71296
71677
  ...Path.posix,
71297
71678
  fromFileUrl,
71298
71679
  toFileUrl
@@ -71302,7 +71683,7 @@ const layerPosix$1 = /* @__PURE__ */ succeed$2(Path$1)({
71302
71683
  * @category Layers
71303
71684
  */
71304
71685
  const layerWin32$1 = /* @__PURE__ */ succeed$2(Path$1)({
71305
- [TypeId$39]: TypeId$39,
71686
+ [TypeId$38]: TypeId$38,
71306
71687
  ...Path.win32,
71307
71688
  fromFileUrl,
71308
71689
  toFileUrl
@@ -71312,14 +71693,14 @@ const layerWin32$1 = /* @__PURE__ */ succeed$2(Path$1)({
71312
71693
  * @category Layers
71313
71694
  */
71314
71695
  const layer$8 = /* @__PURE__ */ succeed$2(Path$1)({
71315
- [TypeId$39]: TypeId$39,
71696
+ [TypeId$38]: TypeId$38,
71316
71697
  ...Path,
71317
71698
  fromFileUrl,
71318
71699
  toFileUrl
71319
71700
  });
71320
71701
 
71321
71702
  //#endregion
71322
- //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.10_effect@4.0.0-beta.10_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodePath.js
71703
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.12_effect@4.0.0-beta.12_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodePath.js
71323
71704
  /**
71324
71705
  * @since 1.0.0
71325
71706
  */
@@ -71340,7 +71721,7 @@ const layerPosix = layerPosix$1;
71340
71721
  const layerWin32 = layerWin32$1;
71341
71722
 
71342
71723
  //#endregion
71343
- //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.10_effect@4.0.0-beta.10/node_modules/@effect/platform-node-shared/dist/NodeStdio.js
71724
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.12_effect@4.0.0-beta.12/node_modules/@effect/platform-node-shared/dist/NodeStdio.js
71344
71725
  /**
71345
71726
  * @since 1.0.0
71346
71727
  */
@@ -71380,7 +71761,7 @@ const layer$6 = /* @__PURE__ */ succeed$2(Stdio, /* @__PURE__ */ make$25({
71380
71761
  }));
71381
71762
 
71382
71763
  //#endregion
71383
- //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.10_effect@4.0.0-beta.10_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeStdio.js
71764
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.12_effect@4.0.0-beta.12_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeStdio.js
71384
71765
  /**
71385
71766
  * @since 1.0.0
71386
71767
  */
@@ -71391,7 +71772,7 @@ const layer$6 = /* @__PURE__ */ succeed$2(Stdio, /* @__PURE__ */ make$25({
71391
71772
  const layer$5 = layer$6;
71392
71773
 
71393
71774
  //#endregion
71394
- //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.10_effect@4.0.0-beta.10/node_modules/@effect/platform-node-shared/dist/NodeTerminal.js
71775
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.12_effect@4.0.0-beta.12/node_modules/@effect/platform-node-shared/dist/NodeTerminal.js
71395
71776
  /**
71396
71777
  * @since 1.0.0
71397
71778
  * @category constructors
@@ -71462,7 +71843,7 @@ function defaultShouldQuit(input) {
71462
71843
  }
71463
71844
 
71464
71845
  //#endregion
71465
- //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.10_effect@4.0.0-beta.10_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeTerminal.js
71846
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.12_effect@4.0.0-beta.12_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeTerminal.js
71466
71847
  /**
71467
71848
  * @since 1.0.0
71468
71849
  */
@@ -71478,7 +71859,7 @@ const make$4 = make$5;
71478
71859
  const layer$3 = layer$4;
71479
71860
 
71480
71861
  //#endregion
71481
- //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.10_effect@4.0.0-beta.10_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeServices.js
71862
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.12_effect@4.0.0-beta.12_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeServices.js
71482
71863
  /**
71483
71864
  * @since 1.0.0
71484
71865
  * @category layer
@@ -71486,7 +71867,7 @@ const layer$3 = layer$4;
71486
71867
  const layer$2 = /* @__PURE__ */ provideMerge(layer$16, /* @__PURE__ */ mergeAll(layer$11, layer$7, layer$5, layer$3));
71487
71868
 
71488
71869
  //#endregion
71489
- //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.10_effect@4.0.0-beta.10_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeHttpServer.js
71870
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.12_effect@4.0.0-beta.12_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeHttpServer.js
71490
71871
  /**
71491
71872
  * @since 1.0.0
71492
71873
  */
@@ -71552,15 +71933,16 @@ const make$3 = /* @__PURE__ */ fnUntraced(function* (evaluate, options) {
71552
71933
  */
71553
71934
  const makeHandler = (httpEffect, options) => {
71554
71935
  const handled = toHandled(httpEffect, handleResponse, options.middleware);
71555
- return map$8(services(), (services) => {
71556
- return function handler(nodeRequest, nodeResponse) {
71936
+ return withFiber((parent) => {
71937
+ const services = parent.services;
71938
+ return succeed$1(function handler(nodeRequest, nodeResponse) {
71557
71939
  const map = new Map(services.mapUnsafe);
71558
71940
  map.set(HttpServerRequest.key, new ServerRequestImpl(nodeRequest, nodeResponse));
71559
71941
  const fiber = runIn(runForkWith(makeUnsafe$14(map))(handled), options.scope);
71560
71942
  nodeResponse.on("close", () => {
71561
- if (!nodeResponse.writableEnded) fiber.interruptUnsafe(clientAbortFiberId);
71943
+ if (!nodeResponse.writableEnded) fiber.interruptUnsafe(parent.id, ClientAbort.annotation);
71562
71944
  });
71563
- };
71945
+ });
71564
71946
  });
71565
71947
  };
71566
71948
  /**
@@ -71569,26 +71951,29 @@ const makeHandler = (httpEffect, options) => {
71569
71951
  */
71570
71952
  const makeUpgradeHandler = (lazyWss, httpEffect, options) => {
71571
71953
  const handledApp = toHandled(httpEffect, handleResponse, options.middleware);
71572
- return map$8(services(), (services) => function handler(nodeRequest, socket, head) {
71573
- let nodeResponse_ = void 0;
71574
- const nodeResponse = () => {
71575
- if (nodeResponse_ === void 0) {
71576
- nodeResponse_ = new Http.ServerResponse(nodeRequest);
71577
- nodeResponse_.assignSocket(socket);
71578
- nodeResponse_.on("finish", () => {
71579
- socket.end();
71580
- });
71581
- }
71582
- return nodeResponse_;
71583
- };
71584
- const upgradeEffect = fromWebSocket(flatMap$2(lazyWss, (wss) => acquireRelease(callback$1((resume) => wss.handleUpgrade(nodeRequest, socket, head, (ws) => {
71585
- resume(succeed$1(ws));
71586
- })), (ws) => sync(() => ws.close()))));
71587
- const map = new Map(services.mapUnsafe);
71588
- map.set(HttpServerRequest.key, new ServerRequestImpl(nodeRequest, nodeResponse, upgradeEffect));
71589
- const fiber = runIn(runForkWith(makeUnsafe$14(map))(handledApp), options.scope);
71590
- socket.on("close", () => {
71591
- if (!socket.writableEnded) fiber.interruptUnsafe(clientAbortFiberId);
71954
+ return withFiber((parent) => {
71955
+ const services = parent.services;
71956
+ return succeed$1(function handler(nodeRequest, socket, head) {
71957
+ let nodeResponse_ = void 0;
71958
+ const nodeResponse = () => {
71959
+ if (nodeResponse_ === void 0) {
71960
+ nodeResponse_ = new Http.ServerResponse(nodeRequest);
71961
+ nodeResponse_.assignSocket(socket);
71962
+ nodeResponse_.on("finish", () => {
71963
+ socket.end();
71964
+ });
71965
+ }
71966
+ return nodeResponse_;
71967
+ };
71968
+ const upgradeEffect = fromWebSocket(flatMap$2(lazyWss, (wss) => acquireRelease(callback$1((resume) => wss.handleUpgrade(nodeRequest, socket, head, (ws) => {
71969
+ resume(succeed$1(ws));
71970
+ })), (ws) => sync(() => ws.close()))));
71971
+ const map = new Map(services.mapUnsafe);
71972
+ map.set(HttpServerRequest.key, new ServerRequestImpl(nodeRequest, nodeResponse, upgradeEffect));
71973
+ const fiber = runIn(runForkWith(makeUnsafe$14(map))(handledApp), options.scope);
71974
+ socket.on("close", () => {
71975
+ if (!socket.writableEnded) fiber.interruptUnsafe(parent.id, ClientAbort.annotation);
71976
+ });
71592
71977
  });
71593
71978
  });
71594
71979
  };
@@ -71773,7 +72158,7 @@ const handleCause = (nodeResponse, originalResponse) => (originalCause) => flatM
71773
72158
  });
71774
72159
 
71775
72160
  //#endregion
71776
- //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.10_effect@4.0.0-beta.10/node_modules/@effect/platform-node-shared/dist/NodeRuntime.js
72161
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.12_effect@4.0.0-beta.12/node_modules/@effect/platform-node-shared/dist/NodeRuntime.js
71777
72162
  /**
71778
72163
  * @since 1.0.0
71779
72164
  * @category Run main
@@ -71800,7 +72185,7 @@ const runMain$1 = /* @__PURE__ */ makeRunMain(({ fiber, teardown }) => {
71800
72185
  });
71801
72186
 
71802
72187
  //#endregion
71803
- //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.10_effect@4.0.0-beta.10_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeRuntime.js
72188
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.12_effect@4.0.0-beta.12_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeRuntime.js
71804
72189
  /**
71805
72190
  * @since 1.0.0
71806
72191
  */
@@ -71834,7 +72219,7 @@ const runMain$1 = /* @__PURE__ */ makeRunMain(({ fiber, teardown }) => {
71834
72219
  const runMain = runMain$1;
71835
72220
 
71836
72221
  //#endregion
71837
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/persistence/PersistedCache.js
72222
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/persistence/PersistedCache.js
71838
72223
  /**
71839
72224
  * @since 4.0.0
71840
72225
  */
@@ -72195,7 +72580,7 @@ const CliAgentFromId = Literals(allCliAgents.map((agent) => agent.id)).pipe(deco
72195
72580
  })));
72196
72581
 
72197
72582
  //#endregion
72198
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/reactivity/AsyncResult.js
72583
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/reactivity/AsyncResult.js
72199
72584
  /**
72200
72585
  * @since 4.0.0
72201
72586
  */
@@ -72212,7 +72597,7 @@ const ResultProto = {
72212
72597
  pipe() {
72213
72598
  return pipeArguments(this, arguments);
72214
72599
  },
72215
- [symbol$4](that) {
72600
+ [symbol$5](that) {
72216
72601
  if (this._tag !== that._tag || this.waiting !== that.waiting) return false;
72217
72602
  switch (this._tag) {
72218
72603
  case "Initial": return true;
@@ -72220,7 +72605,7 @@ const ResultProto = {
72220
72605
  case "Failure": return equals$2(this.cause, that.cause);
72221
72606
  }
72222
72607
  },
72223
- [symbol$5]() {
72608
+ [symbol$6]() {
72224
72609
  const tagHash = string$4(`${this._tag}:${this.waiting}`);
72225
72610
  if (this._tag === "Initial") return tagHash;
72226
72611
  return combine$2(tagHash)(this._tag === "Success" ? hash(this.value) : hash(this.cause));
@@ -72358,7 +72743,7 @@ const toExit = (self) => {
72358
72743
  };
72359
72744
 
72360
72745
  //#endregion
72361
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/reactivity/AtomRegistry.js
72746
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/reactivity/AtomRegistry.js
72362
72747
  /**
72363
72748
  * @since 4.0.0
72364
72749
  */
@@ -72450,6 +72835,8 @@ var RegistryImpl = class {
72450
72835
  defaultIdleTTL;
72451
72836
  scheduler;
72452
72837
  schedulerAsync;
72838
+ onNodeAdded;
72839
+ onNodeRemoved;
72453
72840
  constructor(initialValues, scheduleTask, timeoutResolution, defaultIdleTTL) {
72454
72841
  this[TypeId$1] = TypeId$1;
72455
72842
  this.scheduler = new MixedScheduler("sync", scheduleTask);
@@ -72513,6 +72900,7 @@ var RegistryImpl = class {
72513
72900
  if (node === void 0) {
72514
72901
  node = this.createNode(atom);
72515
72902
  this.nodes.set(key, node);
72903
+ this.onNodeAdded?.(node);
72516
72904
  } else if (this.atomHasTtl(atom)) this.removeNodeTimeout(node);
72517
72905
  if (typeof key === "string" && this.preloadedSerializable.has(key)) {
72518
72906
  const encoded = this.preloadedSerializable.get(key);
@@ -72546,6 +72934,7 @@ var RegistryImpl = class {
72546
72934
  else {
72547
72935
  this.nodes.delete(atomKey(node.atom));
72548
72936
  node.remove();
72937
+ this.onNodeRemoved?.(node);
72549
72938
  }
72550
72939
  }
72551
72940
  setNodeTimeout(node) {
@@ -72556,6 +72945,7 @@ var RegistryImpl = class {
72556
72945
  if (idleTTL <= 0) {
72557
72946
  this.nodes.delete(atomKey(node.atom));
72558
72947
  node.remove();
72948
+ this.onNodeRemoved?.(node);
72559
72949
  return;
72560
72950
  }
72561
72951
  }
@@ -72590,6 +72980,7 @@ var RegistryImpl = class {
72590
72980
  if (!node.canBeRemoved) return;
72591
72981
  this.nodeTimeoutBucket.delete(node);
72592
72982
  this.nodes.delete(atomKey(node.atom));
72983
+ this.onNodeRemoved?.(node);
72593
72984
  this.#currentSweepTTL = node.atom.idleTTL ?? this.defaultIdleTTL;
72594
72985
  node.remove();
72595
72986
  this.#currentSweepTTL = null;
@@ -72599,7 +72990,10 @@ var RegistryImpl = class {
72599
72990
  this.timeoutBuckets.forEach(([, handle]) => clearTimeout(handle));
72600
72991
  this.timeoutBuckets.clear();
72601
72992
  this.nodeTimeoutBucket.clear();
72602
- this.nodes.forEach((node) => node.remove());
72993
+ this.nodes.forEach((node) => {
72994
+ node.remove();
72995
+ this.onNodeRemoved?.(node);
72996
+ });
72603
72997
  this.nodes.clear();
72604
72998
  }
72605
72999
  dispose() {
@@ -72634,6 +73028,14 @@ var NodeImpl = class {
72634
73028
  children = [];
72635
73029
  listeners = /* @__PURE__ */ new Set();
72636
73030
  skipInvalidation = false;
73031
+ currentState() {
73032
+ switch (this.state) {
73033
+ case NodeState.uninitialized: return "uninitialized";
73034
+ case NodeState.stale: return "stale";
73035
+ case NodeState.valid: return "valid";
73036
+ default: return "removed";
73037
+ }
73038
+ }
72637
73039
  get canBeRemoved() {
72638
73040
  return !this.atom.keepAlive && this.listeners.size === 0 && this.children.length === 0 && this.state !== 0;
72639
73041
  }
@@ -72946,7 +73348,7 @@ function batchRebuildNode(node) {
72946
73348
  }
72947
73349
 
72948
73350
  //#endregion
72949
- //#region node_modules/.pnpm/effect@4.0.0-beta.10/node_modules/effect/dist/unstable/reactivity/Atom.js
73351
+ //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/reactivity/Atom.js
72950
73352
  /**
72951
73353
  * @since 4.0.0
72952
73354
  */
@@ -73469,7 +73871,7 @@ var Settings = class Settings extends Service$1()("lalph/Settings", { make: gen(
73469
73871
  const s = toSchemaStore(store, setting.schema);
73470
73872
  const setCache = set$5(cache, setting, value);
73471
73873
  const update = match$7(value, {
73472
- onNone: () => ignore(s.remove(setting.name)),
73874
+ onNone: () => ignore$1(s.remove(setting.name)),
73473
73875
  onSome: (v) => orDie$2(s.set(setting.name, v))
73474
73876
  });
73475
73877
  return reactivity.mutation([`settings:${setting.name}`], andThen(update, setCache));
@@ -73491,7 +73893,7 @@ var Settings = class Settings extends Service$1()("lalph/Settings", { make: gen(
73491
73893
  setting
73492
73894
  }, value);
73493
73895
  const update = match$7(value, {
73494
- onNone: () => ignore(s.remove(setting.name)),
73896
+ onNone: () => ignore$1(s.remove(setting.name)),
73495
73897
  onSome: (v) => orDie$2(s.set(setting.name, v))
73496
73898
  });
73497
73899
  yield* reactivity.mutation([`settings.${projectId}:${setting.name}`], andThen(update, setCache));
@@ -73537,33 +73939,46 @@ var ProjectSetting = class {
73537
73939
  };
73538
73940
  const selectedCliAgentId = new Setting("selectedCliAgentId", Literals(allCliAgents.map((a) => a.id)));
73539
73941
 
73942
+ //#endregion
73943
+ //#region src/shared/schema.ts
73944
+ const withEncodeDefault = (defaultValue) => (schema) => optionalKey(schema).pipe(decodeTo(toType(schema), {
73945
+ decode: withDefault$4(defaultValue),
73946
+ encode: required()
73947
+ }));
73948
+
73540
73949
  //#endregion
73541
73950
  //#region src/domain/PrdIssue.ts
73542
73951
  var PrdIssue = class PrdIssue extends Class$1("PrdIssue")({
73543
- id: NullOr(String$1).annotate({ description: "The unique identifier of the issue. If null, it is considered a new issue." }),
73952
+ id: NullOr(String$1).annotate({ description: "The unique identifier of the issue. If null, it is considered a new issue." }).pipe(withEncodeDefault(() => null)),
73544
73953
  title: String$1.annotate({ description: "The title of the issue" }),
73545
- description: String$1.annotate({ description: "The description of the issue in markdown format." }),
73546
- priority: Finite.annotate({ description: "The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low." }),
73547
- estimate: NullOr(Finite).annotate({ description: "The estimate of the issue in points. Null if no estimate is set. Roughly 1 point = 1 hour of work." }),
73954
+ description: String$1.annotate({ description: "The description of the issue in markdown format." }).pipe(withEncodeDefault(() => "")),
73955
+ priority: Finite.annotate({ description: "The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low." }).pipe(withEncodeDefault(() => 3)),
73956
+ estimate: NullOr(Finite).annotate({ description: "The estimate of the issue in points. Null if no estimate is set. Roughly 1 point = 1 hour of work." }).pipe(withEncodeDefault(() => null)),
73548
73957
  state: Literals([
73549
73958
  "backlog",
73550
73959
  "todo",
73551
73960
  "in-progress",
73552
73961
  "in-review",
73553
73962
  "done"
73554
- ]).annotate({ description: "The state of the issue." }),
73555
- blockedBy: Array$1(String$1).annotate({ description: "An array of issue IDs that block this issue. These issues must be completed before this issue can be worked on." }),
73556
- autoMerge: Boolean$2.annotate({ description: "Whether the issue should be auto-merged when complete. Read-only field" })
73963
+ ]).annotate({ description: "The state of the issue." }).pipe(withEncodeDefault(() => "todo")),
73964
+ blockedBy: Array$1(String$1).annotate({ description: "An array of issue IDs that block this issue. These issues must be completed before this issue can be worked on." }).pipe(withEncodeDefault(() => [])),
73965
+ autoMerge: Boolean$2.annotate({ description: "Whether the issue should be auto-merged when complete. Read-only field" }).pipe(withEncodeDefault(() => false))
73557
73966
  }) {
73967
+ static FromInput = Union([String$1, toEncoded(PrdIssue)]).pipe(decodeTo(PrdIssue, {
73968
+ decode: transform$3((s) => typeof s === "string" ? { title: s } : s),
73969
+ encode: passthrough$1()
73970
+ }));
73558
73971
  static Array = Array$1(this);
73972
+ static ArrayFromInput = Array$1(this.FromInput);
73559
73973
  static ArrayFromJson = toCodecJson(this.Array);
73974
+ static ArrayFromJsonInput = toCodecJson(this.ArrayFromInput);
73560
73975
  static arrayToYaml(issues) {
73561
73976
  const json = encodeSync(this.ArrayFromJson)(issues);
73562
73977
  return import_dist.stringify(json, { blockQuote: "literal" });
73563
73978
  }
73564
73979
  static arrayFromYaml(yaml) {
73565
73980
  const json = import_dist.parse(yaml);
73566
- return decodeSync(PrdIssue.ArrayFromJson)(json);
73981
+ return decodeSync(PrdIssue.ArrayFromJsonInput)(json);
73567
73982
  }
73568
73983
  static jsonSchemaDoc = toJsonSchemaDocument(this);
73569
73984
  static jsonSchema = {
@@ -150907,7 +151322,7 @@ const LinearIssueSource = effect$1(IssueSource, gen(function* () {
150907
151322
  issueId: blockerIssueId,
150908
151323
  relatedIssueId: linearIssue.id,
150909
151324
  type: IssueRelationType.Blocks
150910
- })).pipe(ignore);
151325
+ })).pipe(ignore$1);
150911
151326
  }, {
150912
151327
  concurrency: 5,
150913
151328
  discard: true
@@ -150945,8 +151360,8 @@ const LinearIssueSource = effect$1(IssueSource, gen(function* () {
150945
151360
  issueId: blockerIssueId,
150946
151361
  relatedIssueId: issueId,
150947
151362
  type: IssueRelationType.Blocks
150948
- })).pipe(ignore), { concurrency: 5 });
150949
- yield* forEach$3(toRemove, (relation) => linear.use((c) => c.deleteIssueRelation(relation.id)).pipe(ignore), { concurrency: 5 });
151363
+ })).pipe(ignore$1), { concurrency: 5 });
151364
+ yield* forEach$3(toRemove, (relation) => linear.use((c) => c.deleteIssueRelation(relation.id)).pipe(ignore$1), { concurrency: 5 });
150950
151365
  }, mapError$2((cause) => new IssueSourceError({ cause }))),
150951
151366
  cancelIssue: fnUntraced(function* (_project, issueId) {
150952
151367
  const linearIssueId = identifierMap.get(issueId);
@@ -157828,7 +158243,7 @@ var CurrentIssueSource = class CurrentIssueSource extends Service$1()("lalph/Cur
157828
158243
  const services$2 = yield* services();
157829
158244
  const refresh = set$4(ref, build$1).pipe(provideServices(services$2));
157830
158245
  const proxy = IssueSource.of({
157831
- issues: (projectId) => get$4(ref).pipe(flatMap$2((source) => source.issues(projectId)), tapErrorTag("IssueSourceError", (e) => logWarning("Rebuilding issue source due to error", fail$5(e)).pipe(andThen(ignore(refresh)))), retry$1(refreshSchedule)),
158246
+ issues: (projectId) => get$4(ref).pipe(flatMap$2((source) => source.issues(projectId)), tapErrorTag("IssueSourceError", (e) => logWarning("Rebuilding issue source due to error", fail$5(e)).pipe(andThen(ignore$1(refresh)))), retry$1(refreshSchedule)),
157832
158247
  createIssue: (projectId, options) => get$4(ref).pipe(flatMap$2((source) => source.createIssue(projectId, options))),
157833
158248
  updateIssue: (options) => get$4(ref).pipe(flatMap$2((source) => source.updateIssue(options))),
157834
158249
  cancelIssue: (projectId, issueId) => get$4(ref).pipe(flatMap$2((source) => source.cancelIssue(projectId, issueId))),
@@ -158554,7 +158969,7 @@ var Prd = class extends Service$1()("lalph/Prd", { make: gen(function* () {
158554
158969
  setAutoMerge
158555
158970
  };
158556
158971
  }
158557
- yield* addFinalizer(() => ignore(fs.remove(prdFile)));
158972
+ yield* addFinalizer(() => ignore$1(fs.remove(prdFile)));
158558
158973
  yield* fs.writeFileString(prdFile, PrdIssue.arrayToYaml(yield* getCurrentIssues));
158559
158974
  const updatedIssues = /* @__PURE__ */ new Map();
158560
158975
  const sync$2 = gen(function* () {
@@ -158597,7 +159012,7 @@ var Prd = class extends Service$1()("lalph/Prd", { make: gen(function* () {
158597
159012
  if (currentYaml === nextYaml) return;
158598
159013
  yield* fs.writeFileString(prdFile, nextYaml);
158599
159014
  }, scoped$1, withSpan("Prd.updateSync"), run$3(updateSyncHandle, { onlyIfMissing: true }), syncSemaphore.withPermitsIfAvailable(1));
158600
- yield* fs.watch(lalphDir).pipe(debounce(50), runForEach((_) => clear(updateSyncHandle).pipe(andThen(ignore(sync$2)))), retry$1(forever$1), forkScoped);
159015
+ yield* fs.watch(lalphDir).pipe(debounce(50), runForEach((_) => clear(updateSyncHandle).pipe(andThen(ignore$1(sync$2)))), retry$1(forever$1), forkScoped);
158601
159016
  yield* toStreamResult(registry, currentIssuesAtom(projectId)).pipe(runForEach(updateSync), forkScoped);
158602
159017
  const findById = fnUntraced(function* (issueId) {
158603
159018
  return (yield* getCurrentIssues).find((i) => i.id === issueId) ?? null;
@@ -158844,7 +159259,7 @@ const run = fnUntraced(function* (options) {
158844
159259
  if (!currentBranchName) return;
158845
159260
  yield* worktree.exec`git checkout --detach ${currentBranchName}`;
158846
159261
  yield* worktree.exec`git branch -D ${currentBranchName}`;
158847
- }, ignore()));
159262
+ }, ignore$1()));
158848
159263
  let taskId = void 0;
158849
159264
  yield* addFinalizer(fnUntraced(function* (exit) {
158850
159265
  if (exit._tag === "Success") return;
@@ -158854,7 +159269,7 @@ const run = fnUntraced(function* (options) {
158854
159269
  state: "todo"
158855
159270
  });
158856
159271
  else yield* (yield* Prd).revertUpdatedIssues;
158857
- }, ignore()));
159272
+ }, ignore$1()));
158858
159273
  registry.update(currentWorker.state, (s) => s.transitionTo(WorkerStatus.ChoosingTask()));
158859
159274
  const chosenTask = yield* agentChooser({
158860
159275
  stallTimeout: options.stallTimeout,
@@ -159166,7 +159581,7 @@ const plan = fnUntraced(function* (options) {
159166
159581
  specsDirectory: options.specsDirectory,
159167
159582
  preset
159168
159583
  });
159169
- if (!worktree.inExisting) yield* pipe(fs.copy(pathService.join(worktree.directory, options.specsDirectory), options.specsDirectory, { overwrite: true }), ignore);
159584
+ if (!worktree.inExisting) yield* pipe(fs.copy(pathService.join(worktree.directory, options.specsDirectory), options.specsDirectory, { overwrite: true }), ignore$1);
159170
159585
  }, scoped$1, provide$1([
159171
159586
  PromptGen.layer,
159172
159587
  Prd.layerProvided,
@@ -159198,7 +159613,7 @@ const commitAndPushSpecification = fnUntraced(function* (options) {
159198
159613
  parsed.remote,
159199
159614
  `HEAD:${parsed.branch}`
159200
159615
  ]);
159201
- }, ignore({ log: "Warn" }));
159616
+ }, ignore$1({ log: "Warn" }));
159202
159617
  const PlanDetails = fromJsonString(Struct({ specification: String$1 }));
159203
159618
 
159204
159619
  //#endregion
@@ -159272,7 +159687,7 @@ const commandSource = make$34("source").pipe(withDescription("Select the issue s
159272
159687
 
159273
159688
  //#endregion
159274
159689
  //#region package.json
159275
- var version = "0.3.30";
159690
+ var version = "0.3.32";
159276
159691
 
159277
159692
  //#endregion
159278
159693
  //#region src/commands/projects/ls.ts