lalph 0.3.31 → 0.3.33

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.12/node_modules/effect/dist/Pipeable.js
47
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/Function.js
107
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/internal/equal.js
376
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/Predicate.js
396
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/Hash.js
1074
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Hash.js
1075
1075
  /**
1076
1076
  * This module provides utilities for hashing values in TypeScript.
1077
1077
  *
@@ -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.12/node_modules/effect/dist/Equal.js
1424
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Equal.js
1425
1425
  /**
1426
1426
  * The unique string identifier for the {@link Equal} interface.
1427
1427
  *
@@ -1692,7 +1692,7 @@ const byReferenceUnsafe = (obj) => {
1692
1692
  };
1693
1693
 
1694
1694
  //#endregion
1695
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Redactable.js
1695
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/Formatter.js
1790
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/Inspectable.js
2133
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/Utils.js
2337
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/internal/core.js
2415
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/core.js
2416
2416
  /** @internal */
2417
2417
  const EffectTypeId$1 = `~effect/Effect`;
2418
2418
  /** @internal */
@@ -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.12/node_modules/effect/dist/Data.js
2815
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/Order.js
3014
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/UndefinedOr.js
3699
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/UndefinedOr.js
3700
3700
  /**
3701
3701
  * @since 4.0.0
3702
3702
  */
@@ -3717,7 +3717,7 @@ const liftThrowable = (f) => (...a) => {
3717
3717
  };
3718
3718
 
3719
3719
  //#endregion
3720
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Duration.js
3720
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Duration.js
3721
3721
  const TypeId$67 = "~effect/time/Duration";
3722
3722
  const bigint0$2 = /* @__PURE__ */ BigInt(0);
3723
3723
  const bigint24 = /* @__PURE__ */ BigInt(24);
@@ -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.12/node_modules/effect/dist/Equivalence.js
4457
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/internal/doNotation.js
4788
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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,7 +4800,7 @@ 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.12/node_modules/effect/dist/internal/option.js
4803
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/option.js
4804
4804
  /**
4805
4805
  * @since 2.0.0
4806
4806
  */
@@ -4872,7 +4872,7 @@ const some$3 = (value) => {
4872
4872
  };
4873
4873
 
4874
4874
  //#endregion
4875
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/result.js
4875
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/result.js
4876
4876
  const TypeId$65 = "~effect/data/Result";
4877
4877
  const CommonProto = {
4878
4878
  [TypeId$65]: {
@@ -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.12/node_modules/effect/dist/Option.js
4957
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/Result.js
5731
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/Filter.js
6094
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.
@@ -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.12/node_modules/effect/dist/internal/array.js
6253
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/Tuple.js
6261
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/Iterable.js
6319
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/Record.js
6533
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/Array.js
6737
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/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.12/node_modules/effect/dist/ServiceMap.js
7675
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/ServiceMap.js
7645
7676
  const ServiceTypeId = "~effect/ServiceMap/Service";
7646
7677
  /**
7647
7678
  * @example
@@ -8145,7 +8176,7 @@ const mergeAll$1 = (...ctxs) => {
8145
8176
  const Reference = Service$1;
8146
8177
 
8147
8178
  //#endregion
8148
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Scheduler.js
8179
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Scheduler.js
8149
8180
  /**
8150
8181
  * @since 4.0.0
8151
8182
  * @category references
@@ -8374,7 +8405,7 @@ var MixedScheduler = class {
8374
8405
  const MaxOpsBeforeYield = /* @__PURE__ */ Reference("effect/Scheduler/MaxOpsBeforeYield", { defaultValue: () => 2048 });
8375
8406
 
8376
8407
  //#endregion
8377
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Tracer.js
8408
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Tracer.js
8378
8409
  /**
8379
8410
  * @since 2.0.0
8380
8411
  * @category tags
@@ -8559,7 +8590,7 @@ const randomHexString = /* @__PURE__ */ function() {
8559
8590
  }();
8560
8591
 
8561
8592
  //#endregion
8562
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/References.js
8593
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/References.js
8563
8594
  /**
8564
8595
  * This module provides a collection of reference implementations for commonly used
8565
8596
  * Effect runtime configuration values. These references allow you to access and
@@ -9022,12 +9053,12 @@ const MinimumLogLevel = /* @__PURE__ */ Reference("effect/References/MinimumLogL
9022
9053
  const CurrentLogSpans = /* @__PURE__ */ Reference("effect/References/CurrentLogSpans", { defaultValue: () => [] });
9023
9054
 
9024
9055
  //#endregion
9025
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/metric.js
9056
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/metric.js
9026
9057
  /** @internal */
9027
9058
  const FiberRuntimeMetricsKey = "effect/observability/Metric/FiberRuntimeMetricsKey";
9028
9059
 
9029
9060
  //#endregion
9030
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/tracer.js
9061
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/tracer.js
9031
9062
  /** @internal */
9032
9063
  const addSpanStackTrace = (options) => {
9033
9064
  if (options?.captureStackTrace === false) return options;
@@ -9058,11 +9089,11 @@ const makeStackCleaner = (line) => (stack) => {
9058
9089
  const spanCleaner = /* @__PURE__ */ makeStackCleaner(3);
9059
9090
 
9060
9091
  //#endregion
9061
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/version.js
9092
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/version.js
9062
9093
  const version$1 = "dev";
9063
9094
 
9064
9095
  //#endregion
9065
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/effect.js
9096
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/effect.js
9066
9097
  /** @internal */
9067
9098
  var Interrupt$1 = class extends ReasonBase {
9068
9099
  fiberId;
@@ -10144,8 +10175,8 @@ const catchTags$1 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, c
10144
10175
  /** @internal */
10145
10176
  const catchReason$1 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, errorTag, reasonTag, f, orElse) => catchIf$1(self, (e) => isTagged(e, errorTag) && hasProperty(e, "reason"), (e) => {
10146
10177
  const reason = e.reason;
10147
- if (isTagged(reason, reasonTag)) return f(reason);
10148
- return orElse ? internalCall(() => orElse(reason)) : fail$7(e);
10178
+ if (isTagged(reason, reasonTag)) return f(reason, e);
10179
+ return orElse ? internalCall(() => orElse(reason, e)) : fail$7(e);
10149
10180
  }));
10150
10181
  /** @internal */
10151
10182
  const catchReasons$1 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self, errorTag, cases, orElse) => {
@@ -10153,8 +10184,8 @@ const catchReasons$1 = /* @__PURE__ */ dual((args) => isEffect$1(args[0]), (self
10153
10184
  return catchIf$1(self, (e) => isTagged(e, errorTag) && hasProperty(e, "reason") && hasProperty(e.reason, "_tag") && isString$1(e.reason._tag), (e) => {
10154
10185
  const reason = e.reason;
10155
10186
  keys ??= Object.keys(cases);
10156
- if (keys.includes(reason._tag)) return internalCall(() => cases[reason._tag](reason));
10157
- return orElse ? internalCall(() => orElse(reason)) : fail$7(e);
10187
+ if (keys.includes(reason._tag)) return internalCall(() => cases[reason._tag](reason, e));
10188
+ return orElse ? internalCall(() => orElse(reason, e)) : fail$7(e);
10158
10189
  });
10159
10190
  });
10160
10191
  /** @internal */
@@ -11482,7 +11513,7 @@ const reportCauseUnsafe = (fiber, cause, defectsOnly) => {
11482
11513
  };
11483
11514
 
11484
11515
  //#endregion
11485
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Exit.js
11516
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Exit.js
11486
11517
  ExitTypeId;
11487
11518
  /**
11488
11519
  * Tests whether an unknown value is an Exit.
@@ -12157,7 +12188,7 @@ const getCause = exitGetCause;
12157
12188
  const findErrorOption$1 = exitFindErrorOption;
12158
12189
 
12159
12190
  //#endregion
12160
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Deferred.js
12191
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Deferred.js
12161
12192
  const DeferredProto = {
12162
12193
  ["~effect/Deferred"]: {
12163
12194
  _A: identity,
@@ -12418,7 +12449,7 @@ const doneUnsafe = (self, effect) => {
12418
12449
  const into = /* @__PURE__ */ dual(2, (self, deferred) => uninterruptibleMask$1((restore) => flatMap$4(exit$1(restore(self)), (exit) => done$1(deferred, exit))));
12419
12450
 
12420
12451
  //#endregion
12421
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Scope.js
12452
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Scope.js
12422
12453
  /**
12423
12454
  * The `Scope` module provides functionality for managing resource lifecycles
12424
12455
  * and cleanup operations in a functional and composable manner.
@@ -12698,7 +12729,7 @@ const closeUnsafe = scopeCloseUnsafe;
12698
12729
  const use$1 = scopeUse;
12699
12730
 
12700
12731
  //#endregion
12701
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Layer.js
12732
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Layer.js
12702
12733
  const TypeId$63 = "~effect/Layer";
12703
12734
  const MemoMapTypeId = "~effect/Layer/MemoMap";
12704
12735
  /**
@@ -13559,7 +13590,7 @@ const orDie$3 = (self) => fromBuildUnsafe((memoMap, scope) => orDie$4(self.build
13559
13590
  const fresh = (self) => fromBuildUnsafe((_, scope) => self.build(makeMemoMapUnsafe(), scope));
13560
13591
 
13561
13592
  //#endregion
13562
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/ExecutionPlan.js
13593
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/ExecutionPlan.js
13563
13594
  /**
13564
13595
  * @since 3.16.0
13565
13596
  * @category Type IDs
@@ -13593,7 +13624,7 @@ const CurrentMetadata$1 = /* @__PURE__ */ Reference("effect/ExecutionPlan/Curren
13593
13624
  }) });
13594
13625
 
13595
13626
  //#endregion
13596
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Cause.js
13627
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Cause.js
13597
13628
  /**
13598
13629
  * Unique brand for `Cause` values, used for runtime type checks via {@link isCause}.
13599
13630
  *
@@ -14606,7 +14637,7 @@ const annotations = causeAnnotations;
14606
14637
  var StackTrace = class extends Service$1()("effect/Cause/StackTrace") {};
14607
14638
 
14608
14639
  //#endregion
14609
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Clock.js
14640
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Clock.js
14610
14641
  /**
14611
14642
  * A reference to the current Clock service in the environment.
14612
14643
  *
@@ -14682,7 +14713,7 @@ const currentTimeMillis = currentTimeMillis$1;
14682
14713
  const currentTimeNanos = currentTimeNanos$1;
14683
14714
 
14684
14715
  //#endregion
14685
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/dateTime.js
14716
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/dateTime.js
14686
14717
  /** @internal */
14687
14718
  const TypeId$60 = "~effect/time/DateTime";
14688
14719
  /** @internal */
@@ -15286,7 +15317,7 @@ const formatIsoOffset$1 = (self) => {
15286
15317
  const formatIsoZoned$1 = (self) => self.zone._tag === "Offset" ? formatIsoOffset$1(self) : `${formatIsoOffset$1(self)}[${self.zone.id}]`;
15287
15318
 
15288
15319
  //#endregion
15289
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Number.js
15320
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Number.js
15290
15321
  /**
15291
15322
  * This module provides utility functions and type class instances for working with the `number` type in TypeScript.
15292
15323
  * It includes functions for basic arithmetic operations.
@@ -15363,7 +15394,7 @@ const Order$4 = Number$6;
15363
15394
  const Equivalence$5 = Number$5;
15364
15395
 
15365
15396
  //#endregion
15366
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/String.js
15397
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/String.js
15367
15398
  /**
15368
15399
  * This module provides utility functions and type class instances for working with the `string` type in TypeScript.
15369
15400
  * It includes functions for basic string manipulation.
@@ -15458,7 +15489,7 @@ const trim = (self) => self.trim();
15458
15489
  const isNonEmpty$1 = (self) => self.length > 0;
15459
15490
 
15460
15491
  //#endregion
15461
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Pull.js
15492
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Pull.js
15462
15493
  /**
15463
15494
  * @since 4.0.0
15464
15495
  */
@@ -15540,7 +15571,7 @@ const matchEffect$1 = /* @__PURE__ */ dual(2, (self, options) => matchCauseEffec
15540
15571
  }));
15541
15572
 
15542
15573
  //#endregion
15543
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Schedule.js
15574
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Schedule.js
15544
15575
  /**
15545
15576
  * This module provides utilities for creating and composing schedules for retrying operations,
15546
15577
  * repeating effects, and implementing various timing strategies.
@@ -16086,13 +16117,13 @@ const while_ = /* @__PURE__ */ dual(2, (self, predicate) => fromStep(map$11(toSt
16086
16117
  const forever$1 = /* @__PURE__ */ spaced(zero$1);
16087
16118
 
16088
16119
  //#endregion
16089
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/layer.js
16120
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/layer.js
16090
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)));
16091
16122
  /** @internal */
16092
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));
16093
16124
 
16094
16125
  //#endregion
16095
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/schedule.js
16126
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/schedule.js
16096
16127
  /** @internal */
16097
16128
  const repeatOrElse$1 = /* @__PURE__ */ dual(3, (self, schedule, orElse) => flatMap$4(toStepWithMetadata(schedule), (step) => {
16098
16129
  let meta = CurrentMetadata.defaultValue();
@@ -16154,7 +16185,7 @@ const buildFromOptions = (options) => {
16154
16185
  };
16155
16186
 
16156
16187
  //#endregion
16157
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/executionPlan.js
16188
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/executionPlan.js
16158
16189
  /** @internal */
16159
16190
  const withExecutionPlan$1 = /* @__PURE__ */ dual(2, (self, plan) => suspend$4(() => {
16160
16191
  let i = 0;
@@ -16213,7 +16244,7 @@ const scheduleFromStep = (step, first) => {
16213
16244
  const scheduleOnce = /* @__PURE__ */ recurs(1);
16214
16245
 
16215
16246
  //#endregion
16216
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Request.js
16247
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Request.js
16217
16248
  const TypeId$58 = "~effect/Request";
16218
16249
  const requestVariance = /* @__PURE__ */ byReferenceUnsafe({
16219
16250
  _E: (_) => _,
@@ -16234,7 +16265,7 @@ const RequestPrototype = {
16234
16265
  const makeEntry = (options) => options;
16235
16266
 
16236
16267
  //#endregion
16237
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/request.js
16268
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/request.js
16238
16269
  /** @internal */
16239
16270
  const request$2 = /* @__PURE__ */ dual(2, (self, resolver) => {
16240
16271
  const withResolver = (resolver) => callback$2((resume) => {
@@ -16303,13 +16334,13 @@ const addEntry = (resolver, request, resume, fiber) => {
16303
16334
  batch = newBatch;
16304
16335
  }
16305
16336
  batchMap.set(key, batch);
16306
- batch.fiber = runFork$1(batch.delayEffect, { scheduler: fiber.currentScheduler });
16337
+ batch.fiber = runForkWith$1(fiber.services)(batch.delayEffect, { scheduler: fiber.currentScheduler });
16307
16338
  }
16308
16339
  batch.entrySet.add(entry);
16309
16340
  batch.entries.add(entry);
16310
16341
  if (batch.resolver.collectWhile(batch.entries)) return entry;
16311
16342
  batch.fiber.interruptUnsafe(fiber.id);
16312
- batch.fiber = runFork$1(runBatch(batch), { scheduler: fiber.currentScheduler });
16343
+ batch.fiber = runForkWith$1(fiber.services)(runBatch(batch), { scheduler: fiber.currentScheduler });
16313
16344
  return entry;
16314
16345
  };
16315
16346
  const removeEntryUnsafe = (resolver, entry) => {
@@ -16334,7 +16365,7 @@ function runBatch(batch) {
16334
16365
  }
16335
16366
 
16336
16367
  //#endregion
16337
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Effect.js
16368
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Effect.js
16338
16369
  const TypeId$57 = EffectTypeId$1;
16339
16370
  /**
16340
16371
  * Tests if a value is an `Effect`.
@@ -22848,7 +22879,7 @@ const catchEager = catchEager$1;
22848
22879
  const fnUntracedEager = fnUntracedEager$1;
22849
22880
 
22850
22881
  //#endregion
22851
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/record.js
22882
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/record.js
22852
22883
  /**
22853
22884
  * @since 4.0.0
22854
22885
  */
@@ -22865,7 +22896,7 @@ function set$10(self, key, value) {
22865
22896
  }
22866
22897
 
22867
22898
  //#endregion
22868
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/schema/annotations.js
22899
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/schema/annotations.js
22869
22900
  /** @internal */
22870
22901
  function resolve$2(ast) {
22871
22902
  return ast.checks ? ast.checks[ast.checks.length - 1].annotations : ast.annotations;
@@ -22884,11 +22915,13 @@ const resolveDescription$1 = /* @__PURE__ */ resolveAt$1("description");
22884
22915
  const resolveBrands = /* @__PURE__ */ resolveAt$1("brands");
22885
22916
  /** @internal */
22886
22917
  const getExpected = /* @__PURE__ */ memoize((ast) => {
22918
+ const identifier = resolveIdentifier$1(ast);
22919
+ if (typeof identifier === "string") return identifier;
22887
22920
  return ast.getExpected(getExpected);
22888
22921
  });
22889
22922
 
22890
22923
  //#endregion
22891
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/RegExp.js
22924
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/RegExp.js
22892
22925
  /**
22893
22926
  * This module provides utility functions for working with RegExp in TypeScript.
22894
22927
  *
@@ -22943,7 +22976,7 @@ const isRegExp = isRegExp$1;
22943
22976
  const escape = (string) => string.replace(/[/\\^$*+?.()|[\]{}]/g, "\\$&");
22944
22977
 
22945
22978
  //#endregion
22946
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/DateTime.js
22979
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/DateTime.js
22947
22980
  TypeId$60;
22948
22981
  TimeZoneTypeId;
22949
22982
  /**
@@ -24512,7 +24545,7 @@ const formatIsoZoned = formatIsoZoned$1;
24512
24545
  const layerCurrentZoneNamed = /* @__PURE__ */ flow(zoneMakeNamedEffect$1, /* @__PURE__ */ effect$1(CurrentTimeZone));
24513
24546
 
24514
24547
  //#endregion
24515
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Encoding.js
24548
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Encoding.js
24516
24549
  /**
24517
24550
  * Encoding & decoding for Base64 (RFC4648), Base64Url, and Hex.
24518
24551
  *
@@ -24846,7 +24879,7 @@ const base64codes = [
24846
24879
  const base64UrlEncodeUint8Array = (data) => base64EncodeUint8Array(data).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
24847
24880
 
24848
24881
  //#endregion
24849
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/redacted.js
24882
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/redacted.js
24850
24883
  /** @internal */
24851
24884
  const redactedRegistry = /* @__PURE__ */ new WeakMap();
24852
24885
  /** @internal */
@@ -24856,7 +24889,7 @@ const value$3 = (self) => {
24856
24889
  };
24857
24890
 
24858
24891
  //#endregion
24859
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Redacted.js
24892
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Redacted.js
24860
24893
  /**
24861
24894
  * The Redacted module provides functionality for handling sensitive information
24862
24895
  * securely within your application. By using the `Redacted` data type, you can
@@ -24939,7 +24972,7 @@ const Proto$20 = {
24939
24972
  const value$2 = value$3;
24940
24973
 
24941
24974
  //#endregion
24942
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/SchemaIssue.js
24975
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/SchemaIssue.js
24943
24976
  const TypeId$55 = "~effect/SchemaIssue/Issue";
24944
24977
  /**
24945
24978
  * Returns `true` if the given value is an {@link Issue}.
@@ -25667,7 +25700,7 @@ function formatOption(actual) {
25667
25700
  }
25668
25701
 
25669
25702
  //#endregion
25670
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/SchemaGetter.js
25703
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/SchemaGetter.js
25671
25704
  /**
25672
25705
  * Composable transformation primitives for the Effect Schema system.
25673
25706
  *
@@ -25876,6 +25909,69 @@ function passthrough$1() {
25876
25909
  return passthrough_$1;
25877
25910
  }
25878
25911
  /**
25912
+ * Creates a getter that handles the case when the input is absent (`Option.None`).
25913
+ *
25914
+ * Use this when:
25915
+ * - You need to provide a fallback or computed value for missing struct keys.
25916
+ * - Building custom "default value" logic more complex than {@link withDefault}.
25917
+ *
25918
+ * Behavior:
25919
+ * - When input is `None`, calls `f` to produce the result.
25920
+ * - When input is `Some`, passes it through unchanged.
25921
+ * - `f` receives the parse options and may return `None` to keep the value absent.
25922
+ *
25923
+ * **Example** (Default timestamp for missing field)
25924
+ *
25925
+ * ```ts
25926
+ * import { SchemaGetter, Effect, Option } from "effect"
25927
+ *
25928
+ * const withTimestamp = SchemaGetter.onNone<number>(() =>
25929
+ * Effect.succeed(Option.some(Date.now()))
25930
+ * )
25931
+ * ```
25932
+ *
25933
+ * See also:
25934
+ * - {@link required} — fails if input is absent
25935
+ * - {@link withDefault} — simpler default value for undefined inputs
25936
+ * - {@link onSome} — handle only present values
25937
+ *
25938
+ * @category Constructors
25939
+ * @since 4.0.0
25940
+ */
25941
+ function onNone(f) {
25942
+ return new Getter((ot, options) => isNone(ot) ? f(options) : succeed$1(ot));
25943
+ }
25944
+ /**
25945
+ * Creates a getter that fails with `MissingKey` if the input is absent (`Option.None`).
25946
+ *
25947
+ * Use this when:
25948
+ * - A struct field must be present in the encoded input.
25949
+ * - You want schema validation to report a missing key error.
25950
+ *
25951
+ * Behavior:
25952
+ * - When input is `None`, fails with `Issue.MissingKey`.
25953
+ * - When input is `Some`, passes it through unchanged.
25954
+ * - Optional `annotations` customize the error message for the missing key.
25955
+ *
25956
+ * **Example** (Required struct field)
25957
+ *
25958
+ * ```ts
25959
+ * import { SchemaGetter } from "effect"
25960
+ *
25961
+ * const mustExist = SchemaGetter.required<string>()
25962
+ * ```
25963
+ *
25964
+ * See also:
25965
+ * - {@link onNone} — provide a fallback instead of failing
25966
+ * - {@link withDefault} — substitute a default for undefined values
25967
+ *
25968
+ * @category Constructors
25969
+ * @since 4.0.0
25970
+ */
25971
+ function required(annotations) {
25972
+ return onNone(() => fail$4(new MissingKey(annotations)));
25973
+ }
25974
+ /**
25879
25975
  * Creates a getter that handles present values (`Option.Some`), passing `None` through.
25880
25976
  *
25881
25977
  * Use this when:
@@ -26016,6 +26112,36 @@ function transformOptional(f) {
26016
26112
  return new Getter((oe) => succeed$1(f(oe)));
26017
26113
  }
26018
26114
  /**
26115
+ * Creates a getter that replaces `undefined` values with a default.
26116
+ *
26117
+ * Use this when:
26118
+ * - A field may be `undefined` in the encoded input and should have a fallback.
26119
+ *
26120
+ * Behavior:
26121
+ * - If the input is `Some(undefined)` or `None`, produces `Some(defaultValue())`.
26122
+ * - If the input is `Some(value)` where value is not `undefined`, passes it through.
26123
+ * - `defaultValue` is called lazily each time a default is needed.
26124
+ *
26125
+ * **Example** (Default value for optional field)
26126
+ *
26127
+ * ```ts
26128
+ * import { SchemaGetter } from "effect"
26129
+ *
26130
+ * const withZero = SchemaGetter.withDefault(() => 0)
26131
+ * // Getter<number, number | undefined>
26132
+ * ```
26133
+ *
26134
+ * See also:
26135
+ * - {@link onNone} — handle only absent keys (not `undefined` values)
26136
+ * - {@link required} — fail instead of providing a default
26137
+ *
26138
+ * @category Constructors
26139
+ * @since 4.0.0
26140
+ */
26141
+ function withDefault$4(defaultValue) {
26142
+ return transformOptional((o) => o.pipe(filter$9(isNotUndefined), orElseSome(defaultValue)));
26143
+ }
26144
+ /**
26019
26145
  * Coerces any value to a `string` using the global `String()` constructor.
26020
26146
  *
26021
26147
  * Use this when:
@@ -26275,7 +26401,7 @@ function collectBracketPathEntries(isLeaf) {
26275
26401
  }
26276
26402
 
26277
26403
  //#endregion
26278
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/BigDecimal.js
26404
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/BigDecimal.js
26279
26405
  /**
26280
26406
  * This module provides utility functions and type class instances for working with the `BigDecimal` type in TypeScript.
26281
26407
  * It includes functions for basic arithmetic operations.
@@ -26692,7 +26818,7 @@ const isZero = (n) => n.value === bigint0;
26692
26818
  const isNegative = (n) => n.value < bigint0;
26693
26819
 
26694
26820
  //#endregion
26695
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/SchemaTransformation.js
26821
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/SchemaTransformation.js
26696
26822
  /**
26697
26823
  * Bidirectional transformations for the Effect Schema system.
26698
26824
  *
@@ -27250,7 +27376,7 @@ const dateTimeUtcFromString = /* @__PURE__ */ transformOrFail({
27250
27376
  });
27251
27377
 
27252
27378
  //#endregion
27253
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/SchemaAST.js
27379
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/SchemaAST.js
27254
27380
  /**
27255
27381
  * Abstract Syntax Tree (AST) representation for Effect schemas.
27256
27382
  *
@@ -27519,7 +27645,7 @@ var Declaration = class Declaration extends Base {
27519
27645
  }
27520
27646
  /** @internal */
27521
27647
  getExpected() {
27522
- const expected = this.annotations?.identifier ?? this.annotations?.expected;
27648
+ const expected = this.annotations?.expected;
27523
27649
  if (typeof expected === "string") return expected;
27524
27650
  return "<Declaration>";
27525
27651
  }
@@ -28009,15 +28135,15 @@ var Arrays = class Arrays extends Base {
28009
28135
  const e = elements[i];
28010
28136
  const value = i < input.length ? some$2(input[i]) : none$4();
28011
28137
  const eff = e.parser(value, options);
28012
- const exit$8 = effectIsExit(eff) ? eff : yield* exit(eff);
28013
- if (exit$8._tag === "Failure") {
28014
- const issueElement = findError(exit$8.cause);
28015
- if (isFailure$4(issueElement)) return yield* exit$8;
28138
+ const exit$9 = effectIsExit(eff) ? eff : yield* exit(eff);
28139
+ if (exit$9._tag === "Failure") {
28140
+ const issueElement = findError(exit$9.cause);
28141
+ if (isFailure$4(issueElement)) return yield* exit$9;
28016
28142
  const issue = new Pointer([i], issueElement.success);
28017
28143
  if (errorsAllOption) if (issues) issues.push(issue);
28018
28144
  else issues = [issue];
28019
28145
  else return yield* fail$4(new Composite(ast, oinput, [issue]));
28020
- } else if (exit$8.value._tag === "Some") output[i] = exit$8.value.value;
28146
+ } else if (exit$9.value._tag === "Some") output[i] = exit$9.value.value;
28021
28147
  else if (!isOptional(e.ast)) {
28022
28148
  const issue = new Pointer([i], new MissingKey(e.ast.context?.annotations));
28023
28149
  if (errorsAllOption) if (issues) issues.push(issue);
@@ -28031,15 +28157,15 @@ var Arrays = class Arrays extends Base {
28031
28157
  const keyAnnotations = head.ast.context?.annotations;
28032
28158
  for (; i < len - tail.length; i++) {
28033
28159
  const eff = head.parser(some$2(input[i]), options);
28034
- const exit$9 = effectIsExit(eff) ? eff : yield* exit(eff);
28035
- if (exit$9._tag === "Failure") {
28036
- const issueRest = findError(exit$9.cause);
28037
- if (isFailure$4(issueRest)) return yield* exit$9;
28160
+ const exit$5 = effectIsExit(eff) ? eff : yield* exit(eff);
28161
+ if (exit$5._tag === "Failure") {
28162
+ const issueRest = findError(exit$5.cause);
28163
+ if (isFailure$4(issueRest)) return yield* exit$5;
28038
28164
  const issue = new Pointer([i], issueRest.success);
28039
28165
  if (errorsAllOption) if (issues) issues.push(issue);
28040
28166
  else issues = [issue];
28041
28167
  else return yield* fail$4(new Composite(ast, oinput, [issue]));
28042
- } else if (exit$9.value._tag === "Some") output[i] = exit$9.value.value;
28168
+ } else if (exit$5.value._tag === "Some") output[i] = exit$5.value.value;
28043
28169
  else {
28044
28170
  const issue = new Pointer([i], new MissingKey(keyAnnotations));
28045
28171
  if (errorsAllOption) if (issues) issues.push(issue);
@@ -28054,15 +28180,15 @@ var Arrays = class Arrays extends Base {
28054
28180
  const tailj = tail[j];
28055
28181
  const keyAnnotations = tailj.ast.context?.annotations;
28056
28182
  const eff = tailj.parser(some$2(input[i]), options);
28057
- const exit$7 = effectIsExit(eff) ? eff : yield* exit(eff);
28058
- if (exit$7._tag === "Failure") {
28059
- const issueRest = findError(exit$7.cause);
28060
- if (isFailure$4(issueRest)) return yield* exit$7;
28183
+ const exit$8 = effectIsExit(eff) ? eff : yield* exit(eff);
28184
+ if (exit$8._tag === "Failure") {
28185
+ const issueRest = findError(exit$8.cause);
28186
+ if (isFailure$4(issueRest)) return yield* exit$8;
28061
28187
  const issue = new Pointer([i], issueRest.success);
28062
28188
  if (errorsAllOption) if (issues) issues.push(issue);
28063
28189
  else issues = [issue];
28064
28190
  else return yield* fail$4(new Composite(ast, oinput, [issue]));
28065
- } else if (exit$7.value._tag === "Some") output[i] = exit$7.value.value;
28191
+ } else if (exit$8.value._tag === "Some") output[i] = exit$8.value.value;
28066
28192
  else {
28067
28193
  const issue = new Pointer([i], new MissingKey(keyAnnotations));
28068
28194
  if (errorsAllOption) if (issues) issues.push(issue);
@@ -28103,7 +28229,7 @@ const isNumberStringRegExp = /* @__PURE__ */ new globalThis.RegExp(`(?:${FINITE_
28103
28229
  * @internal
28104
28230
  */
28105
28231
  function getIndexSignatureKeys(input, parameter) {
28106
- const encoded = toEncoded(parameter);
28232
+ const encoded = toEncoded$1(parameter);
28107
28233
  switch (encoded._tag) {
28108
28234
  case "String": return Object.keys(input);
28109
28235
  case "TemplateLiteral": {
@@ -28283,17 +28409,17 @@ var Objects = class Objects extends Base {
28283
28409
  const p = properties[i];
28284
28410
  const value = Object.hasOwn(input, p.name) ? some$2(input[p.name]) : none$4();
28285
28411
  const eff = p.parser(value, options);
28286
- const exit$5 = effectIsExit(eff) ? eff : yield* exit(eff);
28287
- if (exit$5._tag === "Failure") {
28288
- const issueProp = findError(exit$5.cause);
28289
- if (isFailure$4(issueProp)) return yield* exit$5;
28412
+ const exit$6 = effectIsExit(eff) ? eff : yield* exit(eff);
28413
+ if (exit$6._tag === "Failure") {
28414
+ const issueProp = findError(exit$6.cause);
28415
+ if (isFailure$4(issueProp)) return yield* exit$6;
28290
28416
  const issue = new Pointer([p.name], issueProp.success);
28291
28417
  if (errorsAllOption) {
28292
28418
  if (issues) issues.push(issue);
28293
28419
  else issues = [issue];
28294
28420
  continue;
28295
28421
  } else return yield* fail$4(new Composite(ast, oinput, [issue]));
28296
- } else if (exit$5.value._tag === "Some") set$10(out, p.name, exit$5.value.value);
28422
+ } else if (exit$6.value._tag === "Some") set$10(out, p.name, exit$6.value.value);
28297
28423
  else if (!isOptional(p.type)) {
28298
28424
  const issue = new Pointer([p.name], new MissingKey(p.type.context?.annotations));
28299
28425
  if (errorsAllOption) {
@@ -28464,7 +28590,7 @@ function getIndex(types) {
28464
28590
  if (idx) return idx;
28465
28591
  idx = {};
28466
28592
  for (const a of types) {
28467
- const encoded = toEncoded(a);
28593
+ const encoded = toEncoded$1(a);
28468
28594
  if (isNever(encoded)) continue;
28469
28595
  const types = getCandidateTypes(encoded);
28470
28596
  const sentinels = collectSentinels(encoded);
@@ -28489,7 +28615,7 @@ function getIndex(types) {
28489
28615
  }
28490
28616
  function filterLiterals(input) {
28491
28617
  return (ast) => {
28492
- const encoded = toEncoded(ast);
28618
+ const encoded = toEncoded$1(ast);
28493
28619
  return encoded._tag === "Literal" ? encoded.literal === input : encoded._tag === "UniqueSymbol" ? encoded.symbol === input : true;
28494
28620
  };
28495
28621
  }
@@ -28569,10 +28695,10 @@ var Union$1 = class Union$1 extends Base {
28569
28695
  for (let i = 0; i < candidates.length; i++) {
28570
28696
  const candidate = candidates[i];
28571
28697
  const eff = recur(candidate)(oinput, options);
28572
- const exit$6 = effectIsExit(eff) ? eff : yield* exit(eff);
28573
- if (exit$6._tag === "Failure") {
28574
- const issueResult = findError(exit$6.cause);
28575
- if (isFailure$4(issueResult)) return yield* exit$6;
28698
+ const exit$7 = effectIsExit(eff) ? eff : yield* exit(eff);
28699
+ if (exit$7._tag === "Failure") {
28700
+ const issueResult = findError(exit$7.cause);
28701
+ if (isFailure$4(issueResult)) return yield* exit$7;
28576
28702
  if (issues) issues.push(issueResult.success);
28577
28703
  else issues = [issueResult.success];
28578
28704
  continue;
@@ -28581,7 +28707,7 @@ var Union$1 = class Union$1 extends Base {
28581
28707
  tracking.successes.push(candidate);
28582
28708
  return yield* fail$4(new OneOf(ast, input, tracking.successes));
28583
28709
  }
28584
- tracking.out = exit$6.value;
28710
+ tracking.out = exit$7.value;
28585
28711
  tracking.successes.push(candidate);
28586
28712
  if (!oneOf) break;
28587
28713
  }
@@ -28601,7 +28727,7 @@ var Union$1 = class Union$1 extends Base {
28601
28727
  if (typeof expected === "string") return expected;
28602
28728
  if (this.types.length === 0) return "never";
28603
28729
  const types = this.types.map((type) => {
28604
- const encoded = toEncoded(type);
28730
+ const encoded = toEncoded$1(type);
28605
28731
  switch (encoded._tag) {
28606
28732
  case "Arrays": {
28607
28733
  const literals = encoded.elements.filter(isLiteral);
@@ -29017,10 +29143,10 @@ function isMutable(ast) {
29017
29143
  *
29018
29144
  * @since 4.0.0
29019
29145
  */
29020
- const toType = /* @__PURE__ */ memoize((ast) => {
29021
- if (ast.encoding) return toType(replaceEncoding(ast, void 0));
29146
+ const toType$1 = /* @__PURE__ */ memoize((ast) => {
29147
+ if (ast.encoding) return toType$1(replaceEncoding(ast, void 0));
29022
29148
  const out = ast;
29023
- return out.recur?.(toType) ?? out;
29149
+ return out.recur?.(toType$1) ?? out;
29024
29150
  });
29025
29151
  /**
29026
29152
  * Returns the encoded (wire-format) AST by flipping and then stripping
@@ -29047,8 +29173,8 @@ const toType = /* @__PURE__ */ memoize((ast) => {
29047
29173
  *
29048
29174
  * @since 4.0.0
29049
29175
  */
29050
- const toEncoded = /* @__PURE__ */ memoize((ast) => {
29051
- return toType(flip(ast));
29176
+ const toEncoded$1 = /* @__PURE__ */ memoize((ast) => {
29177
+ return toType$1(flip(ast));
29052
29178
  });
29053
29179
  function flipEncoding(ast, encoding) {
29054
29180
  const links = encoding;
@@ -29287,7 +29413,7 @@ const resolveTitle = resolveTitle$1;
29287
29413
  const resolveDescription = resolveDescription$1;
29288
29414
 
29289
29415
  //#endregion
29290
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Brand.js
29416
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Brand.js
29291
29417
  /**
29292
29418
  * This function returns a `Constructor` that **does not apply any runtime
29293
29419
  * checks**, it just returns the provided value. It can be used to create
@@ -29309,7 +29435,7 @@ function nominal() {
29309
29435
  }
29310
29436
 
29311
29437
  //#endregion
29312
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/PlatformError.js
29438
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/PlatformError.js
29313
29439
  /**
29314
29440
  * @since 4.0.0
29315
29441
  */
@@ -29370,7 +29496,7 @@ const systemError = (options) => new PlatformError(new SystemError(options));
29370
29496
  const badArgument = (options) => new PlatformError(new BadArgument(options));
29371
29497
 
29372
29498
  //#endregion
29373
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Chunk.js
29499
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Chunk.js
29374
29500
  /**
29375
29501
  * The `Chunk` module provides an immutable, high-performance sequence data structure
29376
29502
  * optimized for functional programming patterns. A `Chunk` is a persistent data structure
@@ -30112,7 +30238,7 @@ const reduce$2 = reduce$3;
30112
30238
  const reduceRight = reduceRight$1;
30113
30239
 
30114
30240
  //#endregion
30115
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Fiber.js
30241
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Fiber.js
30116
30242
  `${version$1}`;
30117
30243
  const await_ = fiberAwait;
30118
30244
  /**
@@ -30320,7 +30446,7 @@ const getCurrent = getCurrentFiber;
30320
30446
  const runIn = fiberRunIn;
30321
30447
 
30322
30448
  //#endregion
30323
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Latch.js
30449
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Latch.js
30324
30450
  /**
30325
30451
  * Creates a new Latch unsafely.
30326
30452
  *
@@ -30393,7 +30519,7 @@ const makeUnsafe$9 = makeLatchUnsafe;
30393
30519
  const make$51 = makeLatch;
30394
30520
 
30395
30521
  //#endregion
30396
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/MutableList.js
30522
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/MutableList.js
30397
30523
  /**
30398
30524
  * A unique symbol used to represent an empty result when taking elements from a MutableList.
30399
30525
  * This symbol is returned by `take` when the list is empty, allowing for safe type checking.
@@ -30814,7 +30940,7 @@ const filter$3 = (self, f) => {
30814
30940
  const remove$6 = (self, value) => filter$3(self, (v) => v !== value);
30815
30941
 
30816
30942
  //#endregion
30817
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/MutableRef.js
30943
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/MutableRef.js
30818
30944
  const TypeId$49 = "~effect/MutableRef";
30819
30945
  const MutableRefProto = {
30820
30946
  [TypeId$49]: TypeId$49,
@@ -30899,7 +31025,7 @@ const set$9 = /* @__PURE__ */ dual(2, (self, value) => {
30899
31025
  });
30900
31026
 
30901
31027
  //#endregion
30902
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/PubSub.js
31028
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/PubSub.js
30903
31029
  /**
30904
31030
  * This module provides utilities for working with publish-subscribe (PubSub) systems.
30905
31031
  *
@@ -31133,7 +31259,7 @@ var PubSubImpl = class {
31133
31259
  };
31134
31260
 
31135
31261
  //#endregion
31136
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Queue.js
31262
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Queue.js
31137
31263
  const TypeId$47 = "~effect/Queue";
31138
31264
  const EnqueueTypeId = "~effect/Queue/Enqueue";
31139
31265
  const DequeueTypeId = "~effect/Queue/Dequeue";
@@ -31764,7 +31890,7 @@ const finalize = (self, exit) => {
31764
31890
  };
31765
31891
 
31766
31892
  //#endregion
31767
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/MutableHashMap.js
31893
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/MutableHashMap.js
31768
31894
  const TypeId$46 = "~effect/collections/MutableHashMap";
31769
31895
  const MutableHashMapProto = {
31770
31896
  [TypeId$46]: TypeId$46,
@@ -32131,7 +32257,7 @@ const clear$1 = (self) => {
32131
32257
  const size$2 = (self) => self.backing.size;
32132
32258
 
32133
32259
  //#endregion
32134
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Semaphore.js
32260
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Semaphore.js
32135
32261
  /**
32136
32262
  * Unsafely creates a new Semaphore.
32137
32263
  *
@@ -32206,7 +32332,7 @@ const makeUnsafe$8 = makeSemaphoreUnsafe;
32206
32332
  const make$46 = makeSemaphore;
32207
32333
 
32208
32334
  //#endregion
32209
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Channel.js
32335
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Channel.js
32210
32336
  /**
32211
32337
  * The `Channel` module provides a powerful abstraction for bi-directional communication
32212
32338
  * and streaming operations. A `Channel` is a nexus of I/O operations that supports both
@@ -33553,7 +33679,7 @@ const toPull$1 = /* @__PURE__ */ fnUntraced(function* (self) {
33553
33679
  const toPullScoped = (self, scope) => toTransform(self)(done(), scope);
33554
33680
 
33555
33681
  //#endregion
33556
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/stream.js
33682
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/stream.js
33557
33683
  const TypeId$44 = "~effect/Stream";
33558
33684
  const streamVariance = {
33559
33685
  _R: identity,
@@ -33574,7 +33700,7 @@ const fromChannel$2 = (channel) => {
33574
33700
  };
33575
33701
 
33576
33702
  //#endregion
33577
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Sink.js
33703
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Sink.js
33578
33704
  const TypeId$43 = "~effect/Sink";
33579
33705
  const endVoid = /* @__PURE__ */ succeed$1([void 0]);
33580
33706
  const sinkVariance = {
@@ -33780,7 +33906,7 @@ const forEachArray = (f) => fromTransform((upstream) => upstream.pipe(flatMap$2(
33780
33906
  const unwrap$1 = (effect) => fromChannel$1(unwrap$2(map$8(effect, toChannel$1)));
33781
33907
 
33782
33908
  //#endregion
33783
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/RcMap.js
33909
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/RcMap.js
33784
33910
  /**
33785
33911
  * @since 3.5.0
33786
33912
  */
@@ -33980,7 +34106,7 @@ const invalidate$4 = /* @__PURE__ */ dual(2, /* @__PURE__ */ fnUntraced(function
33980
34106
  }, uninterruptible));
33981
34107
 
33982
34108
  //#endregion
33983
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/rcRef.js
34109
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/rcRef.js
33984
34110
  const TypeId$41 = "~effect/RcRef";
33985
34111
  const stateEmpty = { _tag: "Empty" };
33986
34112
  const stateClosed = { _tag: "Closed" };
@@ -34082,7 +34208,7 @@ const invalidate$3 = (self_) => {
34082
34208
  };
34083
34209
 
34084
34210
  //#endregion
34085
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/RcRef.js
34211
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/RcRef.js
34086
34212
  /**
34087
34213
  * Create an `RcRef` from an acquire `Effect`.
34088
34214
  *
@@ -34157,7 +34283,7 @@ const get$8 = get$9;
34157
34283
  const invalidate$2 = invalidate$3;
34158
34284
 
34159
34285
  //#endregion
34160
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Stream.js
34286
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Stream.js
34161
34287
  /**
34162
34288
  * @since 2.0.0
34163
34289
  */
@@ -34543,11 +34669,11 @@ const fromReadableStream = (options) => fromChannel(fromTransform$1(fnUntraced(f
34543
34669
  */
34544
34670
  const paginate$1 = (s, f) => fromPull(sync(() => {
34545
34671
  let state = s;
34546
- let done$6 = false;
34672
+ let done$7 = false;
34547
34673
  return suspend$3(function loop() {
34548
- if (done$6) return done();
34674
+ if (done$7) return done();
34549
34675
  return flatMap$2(f(state), ([a, s]) => {
34550
- if (isNone(s)) done$6 = true;
34676
+ if (isNone(s)) done$7 = true;
34551
34677
  else state = s.value;
34552
34678
  if (!isReadonlyArrayNonEmpty(a)) return loop();
34553
34679
  return succeed$1(a);
@@ -35328,7 +35454,7 @@ const toReadableStreamWith = /* @__PURE__ */ dual((args) => isStream(args[0]), (
35328
35454
  const toReadableStreamEffect = /* @__PURE__ */ dual((args) => isStream(args[0]), (self, options) => map$8(services(), (context) => toReadableStreamWith(self, context, options)));
35329
35455
 
35330
35456
  //#endregion
35331
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/FileSystem.js
35457
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/FileSystem.js
35332
35458
  /**
35333
35459
  * This module provides a comprehensive file system abstraction that supports both synchronous
35334
35460
  * and asynchronous file operations through Effect. It includes utilities for file I/O, directory
@@ -35551,7 +35677,7 @@ const FileDescriptor = /* @__PURE__ */ nominal();
35551
35677
  var WatchBackend = class extends Service$1()("effect/platform/FileSystem/WatchBackend") {};
35552
35678
 
35553
35679
  //#endregion
35554
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Path.js
35680
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Path.js
35555
35681
  /**
35556
35682
  * @since 4.0.0
35557
35683
  */
@@ -35976,7 +36102,7 @@ const posixImpl = /* @__PURE__ */ Path$1.of({
35976
36102
  });
35977
36103
 
35978
36104
  //#endregion
35979
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/ConfigProvider.js
36105
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/ConfigProvider.js
35980
36106
  /**
35981
36107
  * Creates a `Value` node representing a terminal string leaf.
35982
36108
  *
@@ -36251,7 +36377,7 @@ function trieNodeAt(root, path) {
36251
36377
  }
36252
36378
 
36253
36379
  //#endregion
36254
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/LogLevel.js
36380
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/LogLevel.js
36255
36381
  /**
36256
36382
  * @since 4.0.0
36257
36383
  * @category models
@@ -36352,7 +36478,7 @@ const isGreaterThan$1 = isLogLevelGreaterThan;
36352
36478
  const isLessThan$1 = /* @__PURE__ */ isLessThan$4(Order);
36353
36479
 
36354
36480
  //#endregion
36355
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/hashMap.js
36481
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/hashMap.js
36356
36482
  /**
36357
36483
  * @since 2.0.0
36358
36484
  */
@@ -37081,7 +37207,7 @@ const every$1 = /* @__PURE__ */ dual(2, (self, predicate) => {
37081
37207
  });
37082
37208
 
37083
37209
  //#endregion
37084
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/HashMap.js
37210
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/HashMap.js
37085
37211
  /**
37086
37212
  * @since 2.0.0
37087
37213
  */
@@ -37886,7 +38012,7 @@ const some = some$1;
37886
38012
  const every = every$1;
37887
38013
 
37888
38014
  //#endregion
37889
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Struct.js
38015
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Struct.js
37890
38016
  /**
37891
38017
  * Creates an `Equivalence` for a struct by providing an `Equivalence` for each
37892
38018
  * property. Two structs are equivalent when all their corresponding properties
@@ -37984,7 +38110,7 @@ const makeOrder = Struct$2;
37984
38110
  const lambda = (f) => f;
37985
38111
 
37986
38112
  //#endregion
37987
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/SchemaParser.js
38113
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/SchemaParser.js
37988
38114
  /**
37989
38115
  * @since 4.0.0
37990
38116
  */
@@ -38014,7 +38140,7 @@ const recurDefaults = /* @__PURE__ */ memoize((ast) => {
38014
38140
  * @since 4.0.0
38015
38141
  */
38016
38142
  function makeEffect$1(schema) {
38017
- const parser = run$6(recurDefaults(toType(schema.ast)));
38143
+ const parser = run$6(recurDefaults(toType$1(schema.ast)));
38018
38144
  return (input, options) => {
38019
38145
  return parser(input, options?.parseOptions);
38020
38146
  };
@@ -38038,7 +38164,7 @@ function is$1(schema) {
38038
38164
  }
38039
38165
  /** @internal */
38040
38166
  function _is(ast) {
38041
- const parser = asExit(run$6(toType(ast)));
38167
+ const parser = asExit(run$6(toType$1(ast)));
38042
38168
  return (input) => {
38043
38169
  return isSuccess$3(parser(input, defaultParseOptions));
38044
38170
  };
@@ -38048,7 +38174,7 @@ function _is(ast) {
38048
38174
  * @since 4.0.0
38049
38175
  */
38050
38176
  function asserts$1(schema) {
38051
- const parser = asExit(run$6(toType(schema.ast)));
38177
+ const parser = asExit(run$6(toType$1(schema.ast)));
38052
38178
  return (input) => {
38053
38179
  const exit = parser(input, defaultParseOptions);
38054
38180
  if (isFailure$2(exit)) {
@@ -38222,7 +38348,7 @@ const recur$1 = /* @__PURE__ */ memoize((ast) => {
38222
38348
  });
38223
38349
 
38224
38350
  //#endregion
38225
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/JsonPointer.js
38351
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/JsonPointer.js
38226
38352
  /**
38227
38353
  * Utilities for escaping and unescaping JSON Pointer reference tokens according to RFC 6901.
38228
38354
  *
@@ -38316,7 +38442,7 @@ function escapeToken(token) {
38316
38442
  }
38317
38443
 
38318
38444
  //#endregion
38319
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/schema/schema.js
38445
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/schema/schema.js
38320
38446
  /** @internal */
38321
38447
  const TypeId$37 = "~effect/Schema/Schema";
38322
38448
  const SchemaProto = {
@@ -38345,7 +38471,7 @@ function make$38(ast, options) {
38345
38471
  }
38346
38472
 
38347
38473
  //#endregion
38348
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/schema/to-codec.js
38474
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/schema/to-codec.js
38349
38475
  /** @internal */
38350
38476
  const toCodecJson$1 = /* @__PURE__ */ toCodec((ast) => {
38351
38477
  const out = toCodecJsonBase(ast);
@@ -38359,7 +38485,7 @@ function toCodecJsonBase(ast) {
38359
38485
  case "Declaration": {
38360
38486
  const getLink = ast.annotations?.toCodecJson ?? ast.annotations?.toCodec;
38361
38487
  if (isFunction(getLink)) {
38362
- const link = getLink(isDeclaration(ast) ? ast.typeParameters.map((tp) => make$38(toEncoded(tp))) : []);
38488
+ const link = getLink(isDeclaration(ast) ? ast.typeParameters.map((tp) => make$38(toEncoded$1(tp))) : []);
38363
38489
  const to = toCodecJson$1(link.to);
38364
38490
  return replaceEncoding(ast, to === link.to ? [link] : [new Link(to, link.transformation)]);
38365
38491
  }
@@ -38399,10 +38525,10 @@ function getJsonPriority(ast) {
38399
38525
  function makeReorder(getPriority) {
38400
38526
  return (types) => {
38401
38527
  const indexMap = /* @__PURE__ */ new Map();
38402
- for (let i = 0; i < types.length; i++) indexMap.set(toEncoded(types[i]), i);
38528
+ for (let i = 0; i < types.length; i++) indexMap.set(toEncoded$1(types[i]), i);
38403
38529
  const sortedTypes = [...types].sort((a, b) => {
38404
- a = toEncoded(a);
38405
- b = toEncoded(b);
38530
+ a = toEncoded$1(a);
38531
+ b = toEncoded$1(b);
38406
38532
  const pa = getPriority(a);
38407
38533
  const pb = getPriority(b);
38408
38534
  if (pa !== pb) return pa - pb;
@@ -38415,7 +38541,7 @@ function makeReorder(getPriority) {
38415
38541
  const unknownToNull = /* @__PURE__ */ new Link(null_, /* @__PURE__ */ new Transformation(/* @__PURE__ */ passthrough$1(), /* @__PURE__ */ transform$3(() => null)));
38416
38542
 
38417
38543
  //#endregion
38418
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/internal/schema/representation.js
38544
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/internal/schema/representation.js
38419
38545
  /** @internal */
38420
38546
  function fromAST(ast) {
38421
38547
  const { references, representations: schemas } = fromASTs([ast]);
@@ -38537,7 +38663,7 @@ function fromASTs(asts) {
38537
38663
  function getEncodedSchema(last) {
38538
38664
  const getLink = last.annotations?.toCodecJson ?? last.annotations?.toCodec;
38539
38665
  if (isFunction(getLink)) {
38540
- const link = getLink(last.typeParameters.map((tp) => make$38(toEncoded(tp))));
38666
+ const link = getLink(last.typeParameters.map((tp) => make$38(toEncoded$1(tp))));
38541
38667
  return replaceEncoding(last, [link]);
38542
38668
  }
38543
38669
  return null_;
@@ -39027,7 +39153,7 @@ function getPartPattern(part) {
39027
39153
  }
39028
39154
 
39029
39155
  //#endregion
39030
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Schema.js
39156
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Schema.js
39031
39157
  const TypeId$36 = TypeId$37;
39032
39158
  /**
39033
39159
  * An API for creating schemas for parametric types.
@@ -39329,6 +39455,14 @@ const optionalKey = /* @__PURE__ */ lambda((schema) => make$37(optionalKey$1(sch
39329
39455
  */
39330
39456
  const optional$2 = /* @__PURE__ */ lambda((self) => optionalKey(UndefinedOr(self)));
39331
39457
  /**
39458
+ * @since 4.0.0
39459
+ */
39460
+ const toType = /* @__PURE__ */ lambda((schema) => make$37(toType$1(schema.ast), { schema }));
39461
+ /**
39462
+ * @since 4.0.0
39463
+ */
39464
+ const toEncoded = /* @__PURE__ */ lambda((schema) => make$37(toEncoded$1(schema.ast), { schema }));
39465
+ /**
39332
39466
  * @see {@link Literals} for a schema that represents a union of literals.
39333
39467
  * @see {@link tag} for a schema that represents a literal value that can be
39334
39468
  * used as a discriminator field in tagged unions and has a constructor default.
@@ -40946,7 +41080,7 @@ function fromJsonString(schema) {
40946
41080
  return String$1.annotate({
40947
41081
  expected: "a string that will be decoded as JSON",
40948
41082
  contentMediaType: "application/json",
40949
- contentSchema: toEncoded(schema.ast)
41083
+ contentSchema: toEncoded$1(schema.ast)
40950
41084
  }).pipe(decodeTo(schema, fromJsonString$1));
40951
41085
  }
40952
41086
  /**
@@ -41440,7 +41574,7 @@ function serializerTree(ast, recur, onMissingAnnotation) {
41440
41574
  case "Declaration": {
41441
41575
  const getLink = ast.annotations?.toCodecJson ?? ast.annotations?.toCodec;
41442
41576
  if (isFunction(getLink)) {
41443
- const link = getLink(isDeclaration(ast) ? ast.typeParameters.map((tp) => make$37(recur(toEncoded(tp)))) : []);
41577
+ const link = getLink(isDeclaration(ast) ? ast.typeParameters.map((tp) => make$37(recur(toEncoded$1(tp)))) : []);
41444
41578
  const to = recur(link.to);
41445
41579
  return replaceEncoding(ast, to === link.to ? [link] : [new Link(to, link.transformation)]);
41446
41580
  }
@@ -41502,7 +41636,7 @@ function onSerializerEnsureArray(ast) {
41502
41636
  }
41503
41637
 
41504
41638
  //#endregion
41505
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Config.js
41639
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Config.js
41506
41640
  const TypeId$35 = "~effect/Config";
41507
41641
  /**
41508
41642
  * The error type produced when config loading or validation fails.
@@ -41833,7 +41967,7 @@ const recur = /* @__PURE__ */ fnUntraced(function* (ast, provider, path) {
41833
41967
  function schema(codec, path) {
41834
41968
  const toCodecStringTree$2 = toCodecStringTree(codec);
41835
41969
  const decodeUnknownEffect = decodeUnknownEffect$1(toCodecStringTree$2);
41836
- const toCodecStringTreeEncoded = toEncoded(toCodecStringTree$2.ast);
41970
+ const toCodecStringTreeEncoded = toEncoded$1(toCodecStringTree$2.ast);
41837
41971
  const defaultPath = typeof path === "string" ? [path] : path ?? [];
41838
41972
  return make$36((provider) => {
41839
41973
  const path = provider.prefix ? [...provider.prefix, ...defaultPath] : defaultPath;
@@ -41912,7 +42046,7 @@ const Duration = /* @__PURE__ */ String$1.pipe(/* @__PURE__ */ decodeTo(Duration
41912
42046
  * @category Schema
41913
42047
  * @since 4.0.0
41914
42048
  */
41915
- const LogLevel = /* @__PURE__ */ Literals(values$2);
42049
+ const LogLevel$1 = /* @__PURE__ */ Literals(values$2);
41916
42050
  /**
41917
42051
  * Creates a config that always fails with the given error.
41918
42052
  *
@@ -41994,7 +42128,7 @@ function int(name) {
41994
42128
  }
41995
42129
 
41996
42130
  //#endregion
41997
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/CliError.js
42131
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/CliError.js
41998
42132
  /**
41999
42133
  * @since 4.0.0
42000
42134
  */
@@ -52998,7 +53132,7 @@ var require_dist = /* @__PURE__ */ __commonJSMin$1(((exports) => {
52998
53132
  }));
52999
53133
 
53000
53134
  //#endregion
53001
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/Primitive.js
53135
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/Primitive.js
53002
53136
  var import_ini = /* @__PURE__ */ __toESM(require_ini(), 1);
53003
53137
  var import_toml = /* @__PURE__ */ __toESM(require_toml(), 1);
53004
53138
  var import_dist = /* @__PURE__ */ __toESM(require_dist(), 1);
@@ -53270,7 +53404,7 @@ const getTypeName = (primitive) => {
53270
53404
  const getChoiceKeys = (primitive) => primitive._tag === "Choice" ? primitive.choiceKeys : void 0;
53271
53405
 
53272
53406
  //#endregion
53273
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Terminal.js
53407
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Terminal.js
53274
53408
  const TypeId$33 = "~effect/platform/Terminal";
53275
53409
  const QuitErrorTypeId = "effect/platform/Terminal/QuitError";
53276
53410
  /**
@@ -53308,7 +53442,7 @@ const make$35 = (impl) => Terminal.of({
53308
53442
  });
53309
53443
 
53310
53444
  //#endregion
53311
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/ansi.js
53445
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/internal/ansi.js
53312
53446
  const ESC = "\x1B[";
53313
53447
  const BEL = "\x07";
53314
53448
  const SEP = ";";
@@ -53399,7 +53533,7 @@ const eraseLines = (rows) => {
53399
53533
  };
53400
53534
 
53401
53535
  //#endregion
53402
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/Prompt.js
53536
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/Prompt.js
53403
53537
  /**
53404
53538
  * @since 4.0.0
53405
53539
  */
@@ -54392,7 +54526,7 @@ const entriesToDisplay = (cursor, total, maxVisible) => {
54392
54526
  };
54393
54527
 
54394
54528
  //#endregion
54395
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/Param.js
54529
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/Param.js
54396
54530
  /**
54397
54531
  * @internal
54398
54532
  *
@@ -54726,7 +54860,7 @@ const FLAG_DASH_REGEXP = /^-+/;
54726
54860
  * @since 4.0.0
54727
54861
  * @category combinators
54728
54862
  */
54729
- const withAlias$1 = /* @__PURE__ */ dual(2, (self, alias) => {
54863
+ const withAlias$2 = /* @__PURE__ */ dual(2, (self, alias) => {
54730
54864
  return transformSingle(self, (single) => makeSingle({
54731
54865
  ...single,
54732
54866
  aliases: [...single.aliases, alias.replace(FLAG_DASH_REGEXP, "")]
@@ -55111,7 +55245,7 @@ const getParamMetadata = (param) => {
55111
55245
  };
55112
55246
 
55113
55247
  //#endregion
55114
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/Argument.js
55248
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/Argument.js
55115
55249
  /**
55116
55250
  * Creates a positional path argument.
55117
55251
  *
@@ -55173,7 +55307,7 @@ const withDescription$2 = /* @__PURE__ */ dual(2, (self, description) => withDes
55173
55307
  const withDefault$1 = withDefault$2;
55174
55308
 
55175
55309
  //#endregion
55176
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/CliOutput.js
55310
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/CliOutput.js
55177
55311
  /**
55178
55312
  * Service reference for the CLI output formatter. Provides a default implementation
55179
55313
  * that can be overridden for custom formatting or testing.
@@ -55318,6 +55452,7 @@ const renderTable = (rows, widthCap) => {
55318
55452
  const col = Math.min(Math.max(...rows.map((r) => visualLength(r.left))) + 4, widthCap);
55319
55453
  return rows.map(({ left, right }) => ` ${pad(left, col)}${right}`).join("\n");
55320
55454
  };
55455
+ const formatSubcommandName = (name, alias) => alias ? `${name}, ${alias}` : name;
55321
55456
  /**
55322
55457
  * Internal implementation of help formatting that accepts configurable color functions.
55323
55458
  * @internal
@@ -55361,12 +55496,26 @@ const formatHelpDocImpl = (doc, colors) => {
55361
55496
  sections.push(renderTable(flagRows, 30));
55362
55497
  sections.push("");
55363
55498
  }
55499
+ if (doc.globalFlags && doc.globalFlags.length > 0) {
55500
+ sections.push(colors.bold("GLOBAL FLAGS"));
55501
+ const globalFlagRows = doc.globalFlags.map((flag) => {
55502
+ const names = [];
55503
+ names.push(colors.green(`--${flag.name}`));
55504
+ for (const alias of flag.aliases) names.push(colors.green(alias));
55505
+ return {
55506
+ left: names.join(", ") + (flag.type !== "boolean" ? ` ${colors.dim(flag.type)}` : ""),
55507
+ right: flag.description ?? ""
55508
+ };
55509
+ });
55510
+ sections.push(renderTable(globalFlagRows, 30));
55511
+ sections.push("");
55512
+ }
55364
55513
  if (doc.subcommands && doc.subcommands.length > 0) {
55365
55514
  const ungrouped = doc.subcommands.find((group) => group.group === void 0);
55366
55515
  if (ungrouped) {
55367
55516
  sections.push(colors.bold("SUBCOMMANDS"));
55368
55517
  sections.push(renderTable(ungrouped.commands.map((sub) => ({
55369
- left: colors.cyan(sub.name),
55518
+ left: colors.cyan(formatSubcommandName(sub.name, sub.alias)),
55370
55519
  right: sub.shortDescription ?? sub.description
55371
55520
  })), 20));
55372
55521
  if (doc.subcommands.length > 1) sections.push("");
@@ -55375,7 +55524,7 @@ const formatHelpDocImpl = (doc, colors) => {
55375
55524
  if (group.group === void 0) continue;
55376
55525
  sections.push(colors.bold(`${group.group}:`));
55377
55526
  sections.push(renderTable(group.commands.map((sub) => ({
55378
- left: colors.cyan(sub.name),
55527
+ left: colors.cyan(formatSubcommandName(sub.name, sub.alias)),
55379
55528
  right: sub.shortDescription ?? sub.description
55380
55529
  })), 20));
55381
55530
  sections.push("");
@@ -55401,7 +55550,7 @@ const formatHelpDocImpl = (doc, colors) => {
55401
55550
  };
55402
55551
 
55403
55552
  //#endregion
55404
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Console.js
55553
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Console.js
55405
55554
  /**
55406
55555
  * A reference to the current console service in the Effect system.
55407
55556
  *
@@ -55494,7 +55643,257 @@ const log = (...args) => consoleWith((console) => sync$1(() => {
55494
55643
  }));
55495
55644
 
55496
55645
  //#endregion
55497
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/config.js
55646
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/Flag.js
55647
+ /**
55648
+ * Creates a boolean flag that can be enabled or disabled.
55649
+ *
55650
+ * @example
55651
+ * ```ts
55652
+ * import { Flag } from "effect/unstable/cli"
55653
+ *
55654
+ * const verboseFlag = Flag.boolean("verbose")
55655
+ * // Usage: --verbose (true) or --no-verbose (false)
55656
+ * ```
55657
+ *
55658
+ * @since 4.0.0
55659
+ * @category constructors
55660
+ */
55661
+ const boolean = (name) => boolean$1(flagKind, name);
55662
+ /**
55663
+ * Creates an integer flag that accepts whole number input.
55664
+ *
55665
+ * @example
55666
+ * ```ts
55667
+ * import { Flag } from "effect/unstable/cli"
55668
+ *
55669
+ * const portFlag = Flag.integer("port")
55670
+ * // Usage: --port 8080
55671
+ * ```
55672
+ *
55673
+ * @since 4.0.0
55674
+ * @category constructors
55675
+ */
55676
+ const integer = (name) => integer$1(flagKind, name);
55677
+ /**
55678
+ * Constructs option parameters that represent a choice between several inputs.
55679
+ * Each tuple maps a string flag value to an associated typed value.
55680
+ *
55681
+ * @example
55682
+ * ```ts
55683
+ * import { Flag } from "effect/unstable/cli"
55684
+ *
55685
+ * // simple enum like choice mapping directly to string union
55686
+ * const color = Flag.choice("color", ["red", "green", "blue"])
55687
+ *
55688
+ * // choice with custom value mapping
55689
+ * const logLevel = Flag.choiceWithValue("log-level", [
55690
+ * ["debug", "Debug" as const],
55691
+ * ["info", "Info" as const],
55692
+ * ["error", "Error" as const]
55693
+ * ])
55694
+ * ```
55695
+ *
55696
+ * @since 4.0.0
55697
+ * @category constructors
55698
+ */
55699
+ const choiceWithValue = (name, choices) => choiceWithValue$1(flagKind, name, choices);
55700
+ /**
55701
+ * Simpler variant of `choiceWithValue` which maps each string to itself.
55702
+ *
55703
+ * @since 4.0.0
55704
+ * @category constructors
55705
+ */
55706
+ const choice = (name, choices) => choice$1(flagKind, name, choices);
55707
+ /**
55708
+ * Creates a file path flag that accepts file paths with optional existence validation.
55709
+ *
55710
+ * @example
55711
+ * ```ts
55712
+ * import { Flag } from "effect/unstable/cli"
55713
+ *
55714
+ * // Basic file flag
55715
+ * const inputFlag = Flag.file("input")
55716
+ * // Usage: --input ./data.json
55717
+ *
55718
+ * // File that must exist
55719
+ * const configFlag = Flag.file("config", { mustExist: true })
55720
+ * // Usage: --config ./config.yaml (file must exist)
55721
+ * ```
55722
+ *
55723
+ * @since 4.0.0
55724
+ * @category constructors
55725
+ */
55726
+ const file$1 = (name, options) => file$2(flagKind, name, options);
55727
+ /**
55728
+ * Creates a directory path flag that accepts directory paths with optional existence validation.
55729
+ *
55730
+ * @example
55731
+ * ```ts
55732
+ * import { Flag } from "effect/unstable/cli"
55733
+ *
55734
+ * // Basic directory flag
55735
+ * const outputFlag = Flag.directory("output")
55736
+ * // Usage: --output ./build
55737
+ *
55738
+ * // Directory that must exist
55739
+ * const sourceFlag = Flag.directory("source", { mustExist: true })
55740
+ * // Usage: --source ./src (directory must exist)
55741
+ * ```
55742
+ *
55743
+ * @since 4.0.0
55744
+ * @category constructors
55745
+ */
55746
+ const directory = (name, options) => directory$1(flagKind, name, options);
55747
+ /**
55748
+ * Creates an empty sentinel flag that always fails to parse.
55749
+ * This is useful for creating placeholder flags or for combinators.
55750
+ *
55751
+ * @example
55752
+ * ```ts
55753
+ * import { Flag } from "effect/unstable/cli"
55754
+ *
55755
+ * // Used as a placeholder in flag combinators
55756
+ * const conditionalFlag = true ? Flag.string("value") : Flag.none
55757
+ * ```
55758
+ *
55759
+ * @since 4.0.0
55760
+ * @category constructors
55761
+ */
55762
+ const none = /* @__PURE__ */ none$2(flagKind);
55763
+ /**
55764
+ * Adds an alias to a flag, allowing it to be referenced by multiple names.
55765
+ *
55766
+ * @example
55767
+ * ```ts
55768
+ * import { Flag } from "effect/unstable/cli"
55769
+ *
55770
+ * // Flag can be used as both --verbose and -v
55771
+ * const verboseFlag = Flag.boolean("verbose").pipe(
55772
+ * Flag.withAlias("v")
55773
+ * )
55774
+ *
55775
+ * // Multiple aliases can be chained
55776
+ * const helpFlag = Flag.boolean("help").pipe(
55777
+ * Flag.withAlias("h"),
55778
+ * Flag.withAlias("?")
55779
+ * )
55780
+ * ```
55781
+ *
55782
+ * @since 4.0.0
55783
+ * @category aliasing
55784
+ */
55785
+ const withAlias$1 = /* @__PURE__ */ dual(2, (self, alias) => withAlias$2(self, alias));
55786
+ /**
55787
+ * Adds a description to a flag for help documentation.
55788
+ *
55789
+ * @example
55790
+ * ```ts
55791
+ * import { Flag } from "effect/unstable/cli"
55792
+ *
55793
+ * const portFlag = Flag.integer("port").pipe(
55794
+ * Flag.withDescription("The port number to listen on")
55795
+ * )
55796
+ *
55797
+ * const configFlag = Flag.file("config").pipe(
55798
+ * Flag.withDescription("Path to the configuration file")
55799
+ * )
55800
+ * ```
55801
+ *
55802
+ * @since 4.0.0
55803
+ * @category help documentation
55804
+ */
55805
+ const withDescription$1 = /* @__PURE__ */ dual(2, (self, description) => withDescription$3(self, description));
55806
+ /**
55807
+ * Makes a flag optional, returning an Option type that can be None if not provided.
55808
+ *
55809
+ * @example
55810
+ * ```ts
55811
+ * import { Effect, Option } from "effect"
55812
+ * import { Flag } from "effect/unstable/cli"
55813
+ *
55814
+ * const optionalPort = Flag.optional(Flag.integer("port"))
55815
+ *
55816
+ * const program = Effect.gen(function*() {
55817
+ * const [leftover, port] = yield* optionalPort.parse({
55818
+ * arguments: [],
55819
+ * flags: { "port": ["4000"] }
55820
+ * })
55821
+ * if (Option.isSome(port)) {
55822
+ * console.log("Port specified:", port.value)
55823
+ * } else {
55824
+ * console.log("No port specified, using default")
55825
+ * }
55826
+ * })
55827
+ * ```
55828
+ *
55829
+ * @since 4.0.0
55830
+ * @category optionality
55831
+ */
55832
+ const optional = (param) => optional$1(param);
55833
+ /**
55834
+ * Provides a default value for a flag when it's not specified.
55835
+ *
55836
+ * @example
55837
+ * ```ts
55838
+ * import { Flag } from "effect/unstable/cli"
55839
+ *
55840
+ * const portFlag = Flag.integer("port").pipe(
55841
+ * Flag.withDefault(8080)
55842
+ * )
55843
+ * // If --port is not provided, defaults to 8080
55844
+ *
55845
+ * const hostFlag = Flag.string("host").pipe(
55846
+ * Flag.withDefault("localhost")
55847
+ * )
55848
+ * // If --host is not provided, defaults to "localhost"
55849
+ * ```
55850
+ *
55851
+ * @since 4.0.0
55852
+ * @category optionality
55853
+ */
55854
+ const withDefault = withDefault$2;
55855
+ /**
55856
+ * Adds a fallback config that is loaded when a required flag is missing.
55857
+ *
55858
+ * @example
55859
+ * ```ts
55860
+ * import { Config } from "effect"
55861
+ * import { Flag } from "effect/unstable/cli"
55862
+ *
55863
+ * const verbose = Flag.boolean("verbose").pipe(
55864
+ * Flag.withFallbackConfig(Config.boolean("VERBOSE"))
55865
+ * )
55866
+ * ```
55867
+ *
55868
+ * @since 4.0.0
55869
+ * @category combinators
55870
+ */
55871
+ const withFallbackConfig = /* @__PURE__ */ dual(2, (self, config) => withFallbackConfig$1(self, config));
55872
+ /**
55873
+ * Transforms the parsed value of a flag using a mapping function.
55874
+ *
55875
+ * @example
55876
+ * ```ts
55877
+ * import { Flag } from "effect/unstable/cli"
55878
+ *
55879
+ * // Convert string to uppercase
55880
+ * const nameFlag = Flag.string("name").pipe(
55881
+ * Flag.map((name) => name.toUpperCase())
55882
+ * )
55883
+ *
55884
+ * // Convert port to URL
55885
+ * const urlFlag = Flag.integer("port").pipe(
55886
+ * Flag.map((port) => `http://localhost:${port}`)
55887
+ * )
55888
+ * ```
55889
+ *
55890
+ * @since 4.0.0
55891
+ * @category mapping
55892
+ */
55893
+ const map$1 = /* @__PURE__ */ dual(2, (self, f) => map$2(self, f));
55894
+
55895
+ //#endregion
55896
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/internal/config.js
55498
55897
  const ConfigInternalTypeId = "~effect/cli/Command/Config/Internal";
55499
55898
  /**
55500
55899
  * Parses a Command.Config into a ConfigInternal.
@@ -55564,7 +55963,7 @@ const reconstructTree = (tree, results) => {
55564
55963
  };
55565
55964
 
55566
55965
  //#endregion
55567
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/command.js
55966
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/internal/command.js
55568
55967
  /**
55569
55968
  * Command Implementation
55570
55969
  * ======================
@@ -55594,6 +55993,7 @@ const makeCommand = (options) => {
55594
55993
  const service = options.service ?? Service$1(`${TypeId$30}/${options.name}`);
55595
55994
  const config = options.config;
55596
55995
  const annotations = options.annotations ?? empty$14();
55996
+ const globalFlags = options.globalFlags ?? [];
55597
55997
  const subcommands = options.subcommands ?? [];
55598
55998
  const handle = (input, commandPath) => isNotUndefined(options.handle) ? options.handle(input, commandPath) : fail$4(new ShowHelp({ commandPath }));
55599
55999
  const parse = options.parse ?? fnUntraced(function* (input) {
@@ -55642,6 +56042,7 @@ const makeCommand = (options) => {
55642
56042
  group: group.group,
55643
56043
  commands: map$12(group.commands, (subcommand) => ({
55644
56044
  name: subcommand.name,
56045
+ alias: subcommand.alias,
55645
56046
  shortDescription: subcommand.shortDescription,
55646
56047
  description: subcommand.description ?? ""
55647
56048
  }))
@@ -55662,6 +56063,7 @@ const makeCommand = (options) => {
55662
56063
  name: options.name,
55663
56064
  examples: options.examples ?? [],
55664
56065
  annotations,
56066
+ globalFlags,
55665
56067
  subcommands,
55666
56068
  config,
55667
56069
  service,
@@ -55669,7 +56071,8 @@ const makeCommand = (options) => {
55669
56071
  handle,
55670
56072
  buildHelpDoc,
55671
56073
  ...isNotUndefined(options.description) ? { description: options.description } : {},
55672
- ...isNotUndefined(options.shortDescription) ? { shortDescription: options.shortDescription } : {}
56074
+ ...isNotUndefined(options.shortDescription) ? { shortDescription: options.shortDescription } : {},
56075
+ ...isNotUndefined(options.alias) ? { alias: options.alias } : {}
55673
56076
  });
55674
56077
  };
55675
56078
  /**
@@ -55714,26 +56117,9 @@ const checkForDuplicateFlags = (parent, subcommands) => {
55714
56117
  }
55715
56118
  }
55716
56119
  };
55717
- /**
55718
- * Helper function to get help documentation for a specific command path.
55719
- * Navigates through the command hierarchy to find the right command.
55720
- */
55721
- const getHelpForCommandPath = (command, commandPath) => {
55722
- let currentCommand = command;
55723
- for (let i = 1; i < commandPath.length; i++) {
55724
- const subcommandName = commandPath[i];
55725
- let subcommand = void 0;
55726
- for (const group of currentCommand.subcommands) {
55727
- subcommand = group.commands.find((sub) => sub.name === subcommandName);
55728
- if (subcommand) break;
55729
- }
55730
- if (subcommand) currentCommand = subcommand;
55731
- }
55732
- return toImpl(currentCommand).buildHelpDoc(commandPath);
55733
- };
55734
56120
 
55735
56121
  //#endregion
55736
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/completions/CommandDescriptor.js
56122
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/internal/completions/CommandDescriptor.js
55737
56123
  const toFlagType = (single) => {
55738
56124
  switch (single.primitiveType._tag) {
55739
56125
  case "Boolean": return { _tag: "Boolean" };
@@ -55816,7 +56202,7 @@ const fromCommand = (cmd) => {
55816
56202
  };
55817
56203
 
55818
56204
  //#endregion
55819
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/completions/bash.js
56205
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/internal/completions/bash.js
55820
56206
  const escapeForBash = (s) => s.replace(/'/g, "'\\''");
55821
56207
  const sanitizeFunctionName = (s) => s.replace(/[^a-zA-Z0-9_]/g, "_");
55822
56208
  const flagNamesForWordlist = (flag) => {
@@ -55968,7 +56354,7 @@ const generate$3 = (executableName, descriptor) => {
55968
56354
  };
55969
56355
 
55970
56356
  //#endregion
55971
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/completions/fish.js
56357
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/internal/completions/fish.js
55972
56358
  const escapeFishString = (s) => s.replace(/'/g, "\\'");
55973
56359
  /**
55974
56360
  * Build a Fish condition that checks the current subcommand context.
@@ -56107,7 +56493,7 @@ const generate$2 = (executableName, descriptor) => {
56107
56493
  };
56108
56494
 
56109
56495
  //#endregion
56110
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/completions/zsh.js
56496
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/internal/completions/zsh.js
56111
56497
  const escapeZsh = (s) => s.replace(/\\/g, "\\\\").replace(/'/g, "'\\''").replace(/:/g, "\\:");
56112
56498
  const sanitize = (s) => s.replace(/[^a-zA-Z0-9_]/g, "_");
56113
56499
  /**
@@ -56245,7 +56631,7 @@ const generate$1 = (executableName, descriptor) => {
56245
56631
  };
56246
56632
 
56247
56633
  //#endregion
56248
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/completions/Completions.js
56634
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/internal/completions/Completions.js
56249
56635
  /**
56250
56636
  * Top-level completions dispatcher.
56251
56637
  *
@@ -56264,7 +56650,210 @@ const generate = (executableName, shell, descriptor) => {
56264
56650
  };
56265
56651
 
56266
56652
  //#endregion
56267
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/lexer.js
56653
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/internal/help.js
56654
+ /**
56655
+ * Help Documentation
56656
+ * ================
56657
+ *
56658
+ * Internal helpers for generating help documentation.
56659
+ * Extracted from command.ts to avoid circular dependencies.
56660
+ */
56661
+ const dedupeGlobalFlags = (flags) => {
56662
+ const seen = /* @__PURE__ */ new Set();
56663
+ const deduped = [];
56664
+ for (const flag of flags) {
56665
+ if (seen.has(flag)) continue;
56666
+ seen.add(flag);
56667
+ deduped.push(flag);
56668
+ }
56669
+ return deduped;
56670
+ };
56671
+ /**
56672
+ * Returns the resolved command lineage for the provided path.
56673
+ * Includes the root command as the first element.
56674
+ */
56675
+ const getCommandsForCommandPath = (command, commandPath) => {
56676
+ const commands = [command];
56677
+ let currentCommand = command;
56678
+ for (let i = 1; i < commandPath.length; i++) {
56679
+ const subcommandName = commandPath[i];
56680
+ let subcommand = void 0;
56681
+ for (const group of currentCommand.subcommands) {
56682
+ subcommand = group.commands.find((sub) => sub.name === subcommandName);
56683
+ if (subcommand) break;
56684
+ }
56685
+ if (!subcommand) break;
56686
+ commands.push(subcommand);
56687
+ currentCommand = subcommand;
56688
+ }
56689
+ return commands;
56690
+ };
56691
+ /**
56692
+ * Returns active global flags for a command path.
56693
+ * Built-ins are prepended and declarations are collected root -> leaf.
56694
+ */
56695
+ const getGlobalFlagsForCommandPath = (command, commandPath, builtIns) => {
56696
+ const declared = getCommandsForCommandPath(command, commandPath).flatMap((current) => toImpl(current).globalFlags);
56697
+ return dedupeGlobalFlags([...builtIns, ...declared]);
56698
+ };
56699
+ const collectDeclaredGlobalFlags = (command) => {
56700
+ const collected = [];
56701
+ const visit = (current) => {
56702
+ const impl = toImpl(current);
56703
+ for (const flag of impl.globalFlags) collected.push(flag);
56704
+ for (const group of current.subcommands) for (const subcommand of group.commands) visit(subcommand);
56705
+ };
56706
+ visit(command);
56707
+ return dedupeGlobalFlags(collected);
56708
+ };
56709
+ /**
56710
+ * Returns all global flags declared in a command tree.
56711
+ * Built-ins are prepended and command declarations are deduplicated by identity.
56712
+ */
56713
+ const getGlobalFlagsForCommandTree = (command, builtIns) => dedupeGlobalFlags([...builtIns, ...collectDeclaredGlobalFlags(command)]);
56714
+ /**
56715
+ * Helper function to get help documentation for a specific command path.
56716
+ * Navigates through the command hierarchy to find the right command.
56717
+ * Reads active global flags for the path and includes them in the help doc.
56718
+ */
56719
+ const getHelpForCommandPath = (command, commandPath, builtIns) => gen(function* () {
56720
+ const commands = getCommandsForCommandPath(command, commandPath);
56721
+ const baseDoc = toImpl(commands.length > 0 ? commands[commands.length - 1] : command).buildHelpDoc(commandPath);
56722
+ const flags = getGlobalFlagsForCommandPath(command, commandPath, builtIns);
56723
+ const globalFlagDocs = [];
56724
+ for (const flag of flags) {
56725
+ const singles = extractSingleParams(flag.flag);
56726
+ for (const single of singles) {
56727
+ const formattedAliases = single.aliases.map((alias) => alias.length === 1 ? `-${alias}` : `--${alias}`);
56728
+ globalFlagDocs.push({
56729
+ name: single.name,
56730
+ aliases: formattedAliases,
56731
+ type: single.typeName ?? getTypeName(single.primitiveType),
56732
+ description: single.description,
56733
+ required: false
56734
+ });
56735
+ }
56736
+ }
56737
+ return {
56738
+ ...baseDoc,
56739
+ globalFlags: globalFlagDocs
56740
+ };
56741
+ });
56742
+
56743
+ //#endregion
56744
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/GlobalFlag.js
56745
+ /**
56746
+ * @since 4.0.0
56747
+ */
56748
+ /**
56749
+ * Creates an Action flag that performs a side effect and exits.
56750
+ *
56751
+ * @since 4.0.0
56752
+ * @category constructors
56753
+ */
56754
+ const action = (options) => ({
56755
+ _tag: "Action",
56756
+ flag: options.flag,
56757
+ run: options.run
56758
+ });
56759
+ /**
56760
+ * Creates a Setting flag that configures the command handler's environment.
56761
+ *
56762
+ * @since 4.0.0
56763
+ * @category constructors
56764
+ */
56765
+ const setting = (id) => (options) => {
56766
+ settingIdCounter += 1;
56767
+ const ref = Service$1(`effect/unstable/cli/GlobalFlag/${id}/${settingIdCounter}`);
56768
+ return Object.assign(ref, {
56769
+ _tag: "Setting",
56770
+ id,
56771
+ flag: options.flag
56772
+ });
56773
+ };
56774
+ let settingIdCounter = 0;
56775
+ /**
56776
+ * The `--help` / `-h` global flag.
56777
+ * Shows help documentation for the command.
56778
+ *
56779
+ * @since 4.0.0
56780
+ * @category references
56781
+ */
56782
+ const Help = /* @__PURE__ */ action({
56783
+ flag: /* @__PURE__ */ boolean("help").pipe(/* @__PURE__ */ withAlias$1("h"), /* @__PURE__ */ withDescription$1("Show help information")),
56784
+ run: (_, { command, commandPath }) => gen(function* () {
56785
+ const formatter = yield* Formatter;
56786
+ const helpDoc = yield* getHelpForCommandPath(command, commandPath, BuiltIns);
56787
+ yield* log(formatter.formatHelpDoc(helpDoc));
56788
+ })
56789
+ });
56790
+ /**
56791
+ * The `--version` global flag.
56792
+ * Shows version information for the command.
56793
+ *
56794
+ * @since 4.0.0
56795
+ * @category references
56796
+ */
56797
+ const Version = /* @__PURE__ */ action({
56798
+ flag: /* @__PURE__ */ boolean("version").pipe(/* @__PURE__ */ withDescription$1("Show version information")),
56799
+ run: (_, { command, version }) => gen(function* () {
56800
+ const formatter = yield* Formatter;
56801
+ yield* log(formatter.formatVersion(command.name, version));
56802
+ })
56803
+ });
56804
+ /**
56805
+ * The `--completions` global flag.
56806
+ * Prints shell completion script for the given shell.
56807
+ *
56808
+ * @since 4.0.0
56809
+ * @category references
56810
+ */
56811
+ const Completions = /* @__PURE__ */ action({
56812
+ flag: /* @__PURE__ */ choice("completions", [
56813
+ "bash",
56814
+ "zsh",
56815
+ "fish",
56816
+ "sh"
56817
+ ]).pipe(optional, /* @__PURE__ */ map$1((v) => map$14(v, (s) => s === "sh" ? "bash" : s)), /* @__PURE__ */ withDescription$1("Print shell completion script")),
56818
+ run: (shell, { command }) => gen(function* () {
56819
+ if (isNone(shell)) return;
56820
+ const descriptor = fromCommand(command);
56821
+ yield* log(generate(command.name, shell.value, descriptor));
56822
+ })
56823
+ });
56824
+ /**
56825
+ * The `--log-level` global flag.
56826
+ * Sets the minimum log level for the command.
56827
+ *
56828
+ * @since 4.0.0
56829
+ * @category references
56830
+ */
56831
+ const LogLevel = /* @__PURE__ */ setting("log-level")({ flag: /* @__PURE__ */ choiceWithValue("log-level", [
56832
+ ["all", "All"],
56833
+ ["trace", "Trace"],
56834
+ ["debug", "Debug"],
56835
+ ["info", "Info"],
56836
+ ["warn", "Warn"],
56837
+ ["warning", "Warn"],
56838
+ ["error", "Error"],
56839
+ ["fatal", "Fatal"],
56840
+ ["none", "None"]
56841
+ ]).pipe(optional, /* @__PURE__ */ withDescription$1("Sets the minimum log level")) });
56842
+ /**
56843
+ * Built-in global flags in default precedence order.
56844
+ *
56845
+ * @since 4.0.0
56846
+ * @category references
56847
+ */
56848
+ const BuiltIns = [
56849
+ Help,
56850
+ Version,
56851
+ Completions,
56852
+ LogLevel
56853
+ ];
56854
+
56855
+ //#endregion
56856
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/internal/lexer.js
56268
56857
  /** @internal */
56269
56858
  function lex(argv) {
56270
56859
  const endIndex = argv.indexOf("--");
@@ -56316,7 +56905,7 @@ const lexTokens = (args) => {
56316
56905
  };
56317
56906
 
56318
56907
  //#endregion
56319
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/auto-suggest.js
56908
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/internal/auto-suggest.js
56320
56909
  /**
56321
56910
  * Simple Levenshtein distance implementation (small N, no perf worries)
56322
56911
  */
@@ -56345,311 +56934,7 @@ const suggest = (input, candidates) => {
56345
56934
  };
56346
56935
 
56347
56936
  //#endregion
56348
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/Flag.js
56349
- /**
56350
- * Creates a boolean flag that can be enabled or disabled.
56351
- *
56352
- * @example
56353
- * ```ts
56354
- * import { Flag } from "effect/unstable/cli"
56355
- *
56356
- * const verboseFlag = Flag.boolean("verbose")
56357
- * // Usage: --verbose (true) or --no-verbose (false)
56358
- * ```
56359
- *
56360
- * @since 4.0.0
56361
- * @category constructors
56362
- */
56363
- const boolean = (name) => boolean$1(flagKind, name);
56364
- /**
56365
- * Creates an integer flag that accepts whole number input.
56366
- *
56367
- * @example
56368
- * ```ts
56369
- * import { Flag } from "effect/unstable/cli"
56370
- *
56371
- * const portFlag = Flag.integer("port")
56372
- * // Usage: --port 8080
56373
- * ```
56374
- *
56375
- * @since 4.0.0
56376
- * @category constructors
56377
- */
56378
- const integer = (name) => integer$1(flagKind, name);
56379
- /**
56380
- * Constructs option parameters that represent a choice between several inputs.
56381
- * Each tuple maps a string flag value to an associated typed value.
56382
- *
56383
- * @example
56384
- * ```ts
56385
- * import { Flag } from "effect/unstable/cli"
56386
- *
56387
- * // simple enum like choice mapping directly to string union
56388
- * const color = Flag.choice("color", ["red", "green", "blue"])
56389
- *
56390
- * // choice with custom value mapping
56391
- * const logLevel = Flag.choiceWithValue("log-level", [
56392
- * ["debug", "Debug" as const],
56393
- * ["info", "Info" as const],
56394
- * ["error", "Error" as const]
56395
- * ])
56396
- * ```
56397
- *
56398
- * @since 4.0.0
56399
- * @category constructors
56400
- */
56401
- const choiceWithValue = (name, choices) => choiceWithValue$1(flagKind, name, choices);
56402
- /**
56403
- * Simpler variant of `choiceWithValue` which maps each string to itself.
56404
- *
56405
- * @since 4.0.0
56406
- * @category constructors
56407
- */
56408
- const choice = (name, choices) => choice$1(flagKind, name, choices);
56409
- /**
56410
- * Creates a file path flag that accepts file paths with optional existence validation.
56411
- *
56412
- * @example
56413
- * ```ts
56414
- * import { Flag } from "effect/unstable/cli"
56415
- *
56416
- * // Basic file flag
56417
- * const inputFlag = Flag.file("input")
56418
- * // Usage: --input ./data.json
56419
- *
56420
- * // File that must exist
56421
- * const configFlag = Flag.file("config", { mustExist: true })
56422
- * // Usage: --config ./config.yaml (file must exist)
56423
- * ```
56424
- *
56425
- * @since 4.0.0
56426
- * @category constructors
56427
- */
56428
- const file$1 = (name, options) => file$2(flagKind, name, options);
56429
- /**
56430
- * Creates a directory path flag that accepts directory paths with optional existence validation.
56431
- *
56432
- * @example
56433
- * ```ts
56434
- * import { Flag } from "effect/unstable/cli"
56435
- *
56436
- * // Basic directory flag
56437
- * const outputFlag = Flag.directory("output")
56438
- * // Usage: --output ./build
56439
- *
56440
- * // Directory that must exist
56441
- * const sourceFlag = Flag.directory("source", { mustExist: true })
56442
- * // Usage: --source ./src (directory must exist)
56443
- * ```
56444
- *
56445
- * @since 4.0.0
56446
- * @category constructors
56447
- */
56448
- const directory = (name, options) => directory$1(flagKind, name, options);
56449
- /**
56450
- * Creates an empty sentinel flag that always fails to parse.
56451
- * This is useful for creating placeholder flags or for combinators.
56452
- *
56453
- * @example
56454
- * ```ts
56455
- * import { Flag } from "effect/unstable/cli"
56456
- *
56457
- * // Used as a placeholder in flag combinators
56458
- * const conditionalFlag = true ? Flag.string("value") : Flag.none
56459
- * ```
56460
- *
56461
- * @since 4.0.0
56462
- * @category constructors
56463
- */
56464
- const none = /* @__PURE__ */ none$2(flagKind);
56465
- /**
56466
- * Adds an alias to a flag, allowing it to be referenced by multiple names.
56467
- *
56468
- * @example
56469
- * ```ts
56470
- * import { Flag } from "effect/unstable/cli"
56471
- *
56472
- * // Flag can be used as both --verbose and -v
56473
- * const verboseFlag = Flag.boolean("verbose").pipe(
56474
- * Flag.withAlias("v")
56475
- * )
56476
- *
56477
- * // Multiple aliases can be chained
56478
- * const helpFlag = Flag.boolean("help").pipe(
56479
- * Flag.withAlias("h"),
56480
- * Flag.withAlias("?")
56481
- * )
56482
- * ```
56483
- *
56484
- * @since 4.0.0
56485
- * @category aliasing
56486
- */
56487
- const withAlias = /* @__PURE__ */ dual(2, (self, alias) => withAlias$1(self, alias));
56488
- /**
56489
- * Adds a description to a flag for help documentation.
56490
- *
56491
- * @example
56492
- * ```ts
56493
- * import { Flag } from "effect/unstable/cli"
56494
- *
56495
- * const portFlag = Flag.integer("port").pipe(
56496
- * Flag.withDescription("The port number to listen on")
56497
- * )
56498
- *
56499
- * const configFlag = Flag.file("config").pipe(
56500
- * Flag.withDescription("Path to the configuration file")
56501
- * )
56502
- * ```
56503
- *
56504
- * @since 4.0.0
56505
- * @category help documentation
56506
- */
56507
- const withDescription$1 = /* @__PURE__ */ dual(2, (self, description) => withDescription$3(self, description));
56508
- /**
56509
- * Makes a flag optional, returning an Option type that can be None if not provided.
56510
- *
56511
- * @example
56512
- * ```ts
56513
- * import { Effect, Option } from "effect"
56514
- * import { Flag } from "effect/unstable/cli"
56515
- *
56516
- * const optionalPort = Flag.optional(Flag.integer("port"))
56517
- *
56518
- * const program = Effect.gen(function*() {
56519
- * const [leftover, port] = yield* optionalPort.parse({
56520
- * arguments: [],
56521
- * flags: { "port": ["4000"] }
56522
- * })
56523
- * if (Option.isSome(port)) {
56524
- * console.log("Port specified:", port.value)
56525
- * } else {
56526
- * console.log("No port specified, using default")
56527
- * }
56528
- * })
56529
- * ```
56530
- *
56531
- * @since 4.0.0
56532
- * @category optionality
56533
- */
56534
- const optional = (param) => optional$1(param);
56535
- /**
56536
- * Provides a default value for a flag when it's not specified.
56537
- *
56538
- * @example
56539
- * ```ts
56540
- * import { Flag } from "effect/unstable/cli"
56541
- *
56542
- * const portFlag = Flag.integer("port").pipe(
56543
- * Flag.withDefault(8080)
56544
- * )
56545
- * // If --port is not provided, defaults to 8080
56546
- *
56547
- * const hostFlag = Flag.string("host").pipe(
56548
- * Flag.withDefault("localhost")
56549
- * )
56550
- * // If --host is not provided, defaults to "localhost"
56551
- * ```
56552
- *
56553
- * @since 4.0.0
56554
- * @category optionality
56555
- */
56556
- const withDefault = withDefault$2;
56557
- /**
56558
- * Adds a fallback config that is loaded when a required flag is missing.
56559
- *
56560
- * @example
56561
- * ```ts
56562
- * import { Config } from "effect"
56563
- * import { Flag } from "effect/unstable/cli"
56564
- *
56565
- * const verbose = Flag.boolean("verbose").pipe(
56566
- * Flag.withFallbackConfig(Config.boolean("VERBOSE"))
56567
- * )
56568
- * ```
56569
- *
56570
- * @since 4.0.0
56571
- * @category combinators
56572
- */
56573
- const withFallbackConfig = /* @__PURE__ */ dual(2, (self, config) => withFallbackConfig$1(self, config));
56574
- /**
56575
- * Transforms the parsed value of a flag using a mapping function.
56576
- *
56577
- * @example
56578
- * ```ts
56579
- * import { Flag } from "effect/unstable/cli"
56580
- *
56581
- * // Convert string to uppercase
56582
- * const nameFlag = Flag.string("name").pipe(
56583
- * Flag.map((name) => name.toUpperCase())
56584
- * )
56585
- *
56586
- * // Convert port to URL
56587
- * const urlFlag = Flag.integer("port").pipe(
56588
- * Flag.map((port) => `http://localhost:${port}`)
56589
- * )
56590
- * ```
56591
- *
56592
- * @since 4.0.0
56593
- * @category mapping
56594
- */
56595
- const map$1 = /* @__PURE__ */ dual(2, (self, f) => map$2(self, f));
56596
-
56597
- //#endregion
56598
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/builtInFlags.js
56599
- /**
56600
- * Built-in options that are automatically available for CLI commands.
56601
- * @since 4.0.0
56602
- * @internal
56603
- */
56604
- /**
56605
- * Built-in --log-level option with all Effect LogLevel values.
56606
- * Maps CLI strings to proper LogLevel constants.
56607
- *
56608
- * @since 4.0.0
56609
- * @internal
56610
- */
56611
- const logLevelFlag = /* @__PURE__ */ choiceWithValue("log-level", [
56612
- ["all", "All"],
56613
- ["trace", "Trace"],
56614
- ["debug", "Debug"],
56615
- ["info", "Info"],
56616
- ["warn", "Warn"],
56617
- ["warning", "Warn"],
56618
- ["error", "Error"],
56619
- ["fatal", "Fatal"],
56620
- ["none", "None"]
56621
- ]).pipe(optional, /* @__PURE__ */ withDescription$1("Sets the minimum log level for the command"));
56622
- /**
56623
- * Built-in --help/-h option.
56624
- *
56625
- * @since 4.0.0
56626
- * @internal
56627
- */
56628
- const helpFlag = /* @__PURE__ */ boolean("help").pipe(/* @__PURE__ */ withAlias("h"), /* @__PURE__ */ withDescription$1("Show help information"));
56629
- /**
56630
- * Built-in --version option.
56631
- *
56632
- * @since 4.0.0
56633
- * @internal
56634
- */
56635
- const versionFlag = /* @__PURE__ */ boolean("version").pipe(/* @__PURE__ */ withDescription$1("Show version information"));
56636
- /**
56637
- * Built-in --completions option to print shell completion scripts.
56638
- * Generates a dynamic completion shim that calls the CLI at runtime.
56639
- * Accepts one of: bash | zsh | fish | sh (alias of bash).
56640
- *
56641
- * @since 4.0.0
56642
- * @internal
56643
- */
56644
- const completionsFlag = /* @__PURE__ */ choice("completions", [
56645
- "bash",
56646
- "zsh",
56647
- "fish",
56648
- "sh"
56649
- ]).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"));
56650
-
56651
- //#endregion
56652
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/internal/parser.js
56937
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/internal/parser.js
56653
56938
  /**
56654
56939
  * Parsing Pipeline for CLI Commands
56655
56940
  * ==================================
@@ -56679,25 +56964,6 @@ const completionsFlag = /* @__PURE__ */ choice("completions", [
56679
56964
  /** @internal */
56680
56965
  const getCommandPath = (parsedInput) => parsedInput.subcommand ? [parsedInput.subcommand.name, ...getCommandPath(parsedInput.subcommand.parsedInput)] : [];
56681
56966
  /** @internal */
56682
- const extractBuiltInOptions = (tokens) => gen(function* () {
56683
- const { flagMap, remainder } = consumeKnownFlags(tokens, builtInFlagRegistry);
56684
- const emptyArgs = {
56685
- flags: flagMap,
56686
- arguments: []
56687
- };
56688
- const [, help] = yield* helpFlag.parse(emptyArgs);
56689
- const [, logLevel] = yield* logLevelFlag.parse(emptyArgs);
56690
- const [, version] = yield* versionFlag.parse(emptyArgs);
56691
- const [, completions] = yield* completionsFlag.parse(emptyArgs);
56692
- return {
56693
- help,
56694
- logLevel: getOrUndefined(logLevel),
56695
- version,
56696
- completions: getOrUndefined(completions),
56697
- remainder
56698
- };
56699
- });
56700
- /** @internal */
56701
56967
  const parseArgs = (lexResult, command, commandPath = []) => gen(function* () {
56702
56968
  const { tokens, trailingOperands: afterEndOfOptions } = lexResult;
56703
56969
  const newCommandPath = [...commandPath, command.name];
@@ -56737,6 +57003,7 @@ const makeCursor = (tokens) => {
56737
57003
  /**
56738
57004
  * Creates a registry for O(1) flag lookup by name or alias.
56739
57005
  * @throws Error if duplicate names or aliases are detected (developer error)
57006
+ * @internal
56740
57007
  */
56741
57008
  const createFlagRegistry = (params) => {
56742
57009
  const index = /* @__PURE__ */ new Map();
@@ -56755,10 +57022,20 @@ const createFlagRegistry = (params) => {
56755
57022
  };
56756
57023
  const buildSubcommandIndex = (subcommands) => {
56757
57024
  const index = /* @__PURE__ */ new Map();
56758
- for (const group of subcommands) for (const subcommand of group.commands) index.set(subcommand.name, subcommand);
57025
+ const setKey = (key, command) => {
57026
+ const existing = index.get(key);
57027
+ if (existing && existing !== command) throw new Error(`Duplicate subcommand name/alias "${key}" in command definition (conflicts with "${existing.name}")`);
57028
+ index.set(key, command);
57029
+ };
57030
+ for (const group of subcommands) for (const subcommand of group.commands) {
57031
+ setKey(subcommand.name, subcommand);
57032
+ if (subcommand.alias && subcommand.alias !== subcommand.name) setKey(subcommand.alias, subcommand);
57033
+ }
56759
57034
  return index;
56760
57035
  };
56761
- /** Creates an empty flag map with all known flag names initialized to []. */
57036
+ /** Creates an empty flag map with all known flag names initialized to [].
57037
+ * @internal
57038
+ */
56762
57039
  const createEmptyFlagMap = (params) => Object.fromEntries(params.map((p) => [p.name, []]));
56763
57040
  /**
56764
57041
  * Creates a mutable accumulator for collecting flag values.
@@ -56810,7 +57087,8 @@ const consumeFlagValue = (cursor, token, spec) => {
56810
57087
  /**
56811
57088
  * Consumes known flags from a token stream.
56812
57089
  * Unrecognized tokens are passed through to remainder.
56813
- * Used for both built-in extraction and npm-style parent flag collection.
57090
+ * Used for both global flag extraction and npm-style parent flag collection.
57091
+ * @internal
56814
57092
  */
56815
57093
  const consumeKnownFlags = (tokens, registry) => {
56816
57094
  const flagMap = createEmptyFlagMap(registry.params);
@@ -56834,12 +57112,6 @@ const consumeKnownFlags = (tokens, registry) => {
56834
57112
  remainder
56835
57113
  };
56836
57114
  };
56837
- const builtInFlagRegistry = /* @__PURE__ */ createFlagRegistry([
56838
- .../* @__PURE__ */ extractSingleParams(logLevelFlag),
56839
- .../* @__PURE__ */ extractSingleParams(helpFlag),
56840
- .../* @__PURE__ */ extractSingleParams(versionFlag),
56841
- .../* @__PURE__ */ extractSingleParams(completionsFlag)
56842
- ]);
56843
57115
  const createUnrecognizedFlagError = (token, params, commandPath) => {
56844
57116
  const printable = token._tag === "LongOption" ? `--${token.name}` : `-${token.flag}`;
56845
57117
  const validNames = [];
@@ -56964,7 +57236,7 @@ const scanCommandLevel = (tokens, context) => {
56964
57236
  };
56965
57237
 
56966
57238
  //#endregion
56967
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/cli/Command.js
57239
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/cli/Command.js
56968
57240
  /**
56969
57241
  * @since 4.0.0
56970
57242
  * @category Guards
@@ -57158,7 +57430,9 @@ const withSubcommands = /* @__PURE__ */ dual(2, (self, subcommands) => {
57158
57430
  config: impl.config,
57159
57431
  description: impl.description,
57160
57432
  shortDescription: impl.shortDescription,
57433
+ alias: impl.alias,
57161
57434
  annotations: impl.annotations,
57435
+ globalFlags: impl.globalFlags,
57162
57436
  examples: impl.examples,
57163
57437
  service: impl.service,
57164
57438
  subcommands: normalized.groups,
@@ -57194,6 +57468,19 @@ const withDescription = /* @__PURE__ */ dual(2, (self, description) => makeComma
57194
57468
  ...toImpl(self),
57195
57469
  description
57196
57470
  }));
57471
+ /**
57472
+ * Sets an alias for a command.
57473
+ *
57474
+ * Aliases are accepted as alternate subcommand names during parsing and are
57475
+ * shown in help output as `name, alias`.
57476
+ *
57477
+ * @since 4.0.0
57478
+ * @category combinators
57479
+ */
57480
+ const withAlias = /* @__PURE__ */ dual(2, (self, alias) => makeCommand({
57481
+ ...toImpl(self),
57482
+ alias
57483
+ }));
57197
57484
  const mapHandler = (self, f) => {
57198
57485
  const impl = toImpl(self);
57199
57486
  return makeCommand({
@@ -57238,9 +57525,31 @@ const mapHandler = (self, f) => {
57238
57525
  * @category providing services
57239
57526
  */
57240
57527
  const provide = /* @__PURE__ */ dual((args) => isCommand$1(args[0]), (self, layer, options) => mapHandler(self, (handler, input) => provide$1(handler, typeof layer === "function" ? layer(input) : layer, options)));
57528
+ const getOutOfScopeGlobalFlagErrors = (allFlags, activeFlags, flagMap, commandPath) => {
57529
+ const activeSet = new Set(activeFlags);
57530
+ const errors = [];
57531
+ const seen = /* @__PURE__ */ new Set();
57532
+ for (const flag of allFlags) {
57533
+ if (activeSet.has(flag)) continue;
57534
+ const singles = extractSingleParams(flag.flag);
57535
+ for (const single of singles) {
57536
+ const entries = flagMap[single.name];
57537
+ if (!entries || entries.length === 0) continue;
57538
+ const option = `--${single.name}`;
57539
+ if (seen.has(option)) continue;
57540
+ seen.add(option);
57541
+ errors.push(new UnrecognizedOption({
57542
+ option,
57543
+ suggestions: [],
57544
+ command: commandPath
57545
+ }));
57546
+ }
57547
+ }
57548
+ return errors;
57549
+ };
57241
57550
  const showHelp = (command, commandPath, errors) => gen(function* () {
57242
57551
  const formatter = yield* Formatter;
57243
- const helpDoc = getHelpForCommandPath(command, commandPath);
57552
+ const helpDoc = yield* getHelpForCommandPath(command, commandPath, BuiltIns);
57244
57553
  yield* log(formatter.formatHelpDoc(helpDoc));
57245
57554
  if (errors && errors.length > 0) yield* error(formatter.formatErrors(errors));
57246
57555
  });
@@ -57315,37 +57624,61 @@ const runWith = (command, config) => {
57315
57624
  const commandImpl = toImpl(command);
57316
57625
  return fnUntraced(function* (args) {
57317
57626
  const { tokens, trailingOperands } = lex(args);
57318
- const { completions, help, logLevel, remainder, version } = yield* extractBuiltInOptions(tokens);
57627
+ const allFlags = getGlobalFlagsForCommandTree(command, BuiltIns);
57628
+ const allFlagParams = allFlags.flatMap((f) => extractSingleParams(f.flag));
57629
+ const globalRegistry = createFlagRegistry(allFlagParams.filter(isFlagParam));
57630
+ const { flagMap, remainder } = consumeKnownFlags(tokens, globalRegistry);
57631
+ const emptyArgs = {
57632
+ flags: flagMap,
57633
+ arguments: []
57634
+ };
57319
57635
  const parsedArgs = yield* parseArgs({
57320
57636
  tokens: remainder,
57321
57637
  trailingOperands
57322
57638
  }, command);
57323
57639
  const commandPath = [command.name, ...getCommandPath(parsedArgs)];
57324
- const formatter = yield* Formatter;
57325
- if (help) {
57326
- yield* log(formatter.formatHelpDoc(getHelpForCommandPath(command, commandPath)));
57327
- return;
57328
- }
57329
- if (completions !== void 0) {
57330
- const descriptor = fromCommand(command);
57331
- yield* log(generate(command.name, completions, descriptor));
57332
- return;
57333
- }
57334
- if (version) {
57335
- yield* log(formatter.formatVersion(command.name, config.version));
57640
+ const handlerCtx = {
57641
+ command,
57642
+ commandPath,
57643
+ version: config.version
57644
+ };
57645
+ const activeFlags = getGlobalFlagsForCommandPath(command, commandPath, BuiltIns);
57646
+ const outOfScopeErrors = getOutOfScopeGlobalFlagErrors(allFlags, activeFlags, flagMap, commandPath);
57647
+ if (outOfScopeErrors.length > 0) {
57648
+ const parseErrors = parsedArgs.errors ?? [];
57649
+ return yield* showHelp(command, commandPath, [...outOfScopeErrors, ...parseErrors]);
57650
+ }
57651
+ for (const flag of activeFlags) {
57652
+ if (flag._tag !== "Action") continue;
57653
+ if (!extractSingleParams(flag.flag).some((s) => {
57654
+ const entries = flagMap[s.name];
57655
+ return entries !== void 0 && entries.length > 0;
57656
+ })) continue;
57657
+ const [, value] = yield* flag.flag.parse(emptyArgs);
57658
+ yield* flag.run(value, handlerCtx);
57336
57659
  return;
57337
57660
  }
57338
57661
  if (parsedArgs.errors && parsedArgs.errors.length > 0) return yield* showHelp(command, commandPath, parsedArgs.errors);
57339
57662
  const parseResult = yield* result(commandImpl.parse(parsedArgs));
57340
57663
  if (parseResult._tag === "Failure") return yield* showHelp(command, commandPath, [parseResult.failure]);
57341
- const parsed = parseResult.success;
57342
- const program = commandImpl.handle(parsed, [command.name]);
57343
- yield* logLevel !== void 0 ? provideService(program, MinimumLogLevel, logLevel) : program;
57664
+ let program = commandImpl.handle(parseResult.success, [command.name]);
57665
+ for (const flag of activeFlags) {
57666
+ if (flag._tag !== "Setting") continue;
57667
+ const [, value] = yield* flag.flag.parse(emptyArgs);
57668
+ program = provideService(program, flag, value);
57669
+ }
57670
+ const [, logLevel] = yield* LogLevel.flag.parse(emptyArgs);
57671
+ program = provideService(program, LogLevel, logLevel);
57672
+ const services = match$7(logLevel, {
57673
+ onNone: () => empty$14(),
57674
+ onSome: (level) => make$61(MinimumLogLevel, level)
57675
+ });
57676
+ yield* provideServices(program, services);
57344
57677
  }, catchIf((error) => isCliError(error) && error._tag === "ShowHelp" ? succeed$6(error) : fail$8(error), (error) => showHelp(command, error.commandPath)), catchIf((e) => isQuitError(e) ? succeed$6(e) : fail$8(e), (_) => interrupt$1));
57345
57678
  };
57346
57679
 
57347
57680
  //#endregion
57348
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Cache.js
57681
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Cache.js
57349
57682
  /**
57350
57683
  * @since 4.0.0
57351
57684
  */
@@ -57763,7 +58096,7 @@ const invalidate$1 = /* @__PURE__ */ dual(2, (self, key) => sync$1(() => {
57763
58096
  }));
57764
58097
 
57765
58098
  //#endregion
57766
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/ErrorReporter.js
58099
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/ErrorReporter.js
57767
58100
  /**
57768
58101
  * A `ServiceMap.Reference` holding the set of active `ErrorReporter`s for the
57769
58102
  * current fiber. Defaults to an empty set (no reporting).
@@ -57797,7 +58130,7 @@ const CurrentErrorReporters = CurrentErrorReporters$1;
57797
58130
  const ignore = "~effect/ErrorReporter/ignore";
57798
58131
 
57799
58132
  //#endregion
57800
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/FiberHandle.js
58133
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/FiberHandle.js
57801
58134
  /**
57802
58135
  * @since 2.0.0
57803
58136
  */
@@ -57993,7 +58326,7 @@ const runImpl$2 = (self, effect, options) => withFiber((parent) => {
57993
58326
  });
57994
58327
 
57995
58328
  //#endregion
57996
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/FiberMap.js
58329
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/FiberMap.js
57997
58330
  /**
57998
58331
  * @since 2.0.0
57999
58332
  */
@@ -58224,7 +58557,7 @@ const runImpl$1 = (self, key, effect, options) => withFiber((parent) => {
58224
58557
  });
58225
58558
 
58226
58559
  //#endregion
58227
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/FiberSet.js
58560
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/FiberSet.js
58228
58561
  /**
58229
58562
  * @since 2.0.0
58230
58563
  */
@@ -58477,7 +58810,7 @@ const awaitEmpty = (self) => whileLoop({
58477
58810
  });
58478
58811
 
58479
58812
  //#endregion
58480
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/PrimaryKey.js
58813
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/PrimaryKey.js
58481
58814
  /**
58482
58815
  * The unique identifier used to identify objects that implement the `PrimaryKey` interface.
58483
58816
  *
@@ -58515,7 +58848,7 @@ const symbol$2 = "~effect/interfaces/PrimaryKey";
58515
58848
  const value$1 = (self) => self[symbol$2]();
58516
58849
 
58517
58850
  //#endregion
58518
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/LayerMap.js
58851
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/LayerMap.js
58519
58852
  const TypeId$25 = "~effect/LayerMap";
58520
58853
  /**
58521
58854
  * @since 3.14.0
@@ -58682,7 +59015,7 @@ const Service = () => (id, options) => {
58682
59015
  };
58683
59016
 
58684
59017
  //#endregion
58685
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Logger.js
59018
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Logger.js
58686
59019
  /**
58687
59020
  * @since 2.0.0
58688
59021
  *
@@ -59130,7 +59463,7 @@ const consolePretty = consolePretty$1;
59130
59463
  const tracerLogger = tracerLogger$1;
59131
59464
 
59132
59465
  //#endregion
59133
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Ref.js
59466
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Ref.js
59134
59467
  const RefProto = {
59135
59468
  ["~effect/Ref"]: { _A: identity },
59136
59469
  ...PipeInspectableProto,
@@ -59172,7 +59505,7 @@ const makeUnsafe$2 = (value) => {
59172
59505
  };
59173
59506
 
59174
59507
  //#endregion
59175
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/reactivity/Reactivity.js
59508
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/reactivity/Reactivity.js
59176
59509
  /**
59177
59510
  * @since 4.0.0
59178
59511
  */
@@ -59309,7 +59642,7 @@ const keysToHashes = (keys, f) => {
59309
59642
  };
59310
59643
 
59311
59644
  //#endregion
59312
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/persistence/KeyValueStore.js
59645
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/persistence/KeyValueStore.js
59313
59646
  /**
59314
59647
  * @since 4.0.0
59315
59648
  */
@@ -59453,7 +59786,7 @@ const toSchemaStore = (self, schema) => {
59453
59786
  };
59454
59787
 
59455
59788
  //#endregion
59456
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/persistence/Persistable.js
59789
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/persistence/Persistable.js
59457
59790
  /**
59458
59791
  * @since 4.0.0
59459
59792
  * @category Symbols
@@ -59510,7 +59843,7 @@ const deserializeExit = (self, encoded) => {
59510
59843
  };
59511
59844
 
59512
59845
  //#endregion
59513
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/persistence/Persistence.js
59846
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/persistence/Persistence.js
59514
59847
  /**
59515
59848
  * @since 4.0.0
59516
59849
  */
@@ -59687,7 +60020,7 @@ const layerKvs$1 = /* @__PURE__ */ layer$17.pipe(/* @__PURE__ */ provide$3(layer
59687
60020
  const unsafeTtlToExpires = (clock, ttl) => ttl ? clock.currentTimeMillisUnsafe() + toMillis(ttl) : null;
59688
60021
 
59689
60022
  //#endregion
59690
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/SynchronizedRef.js
60023
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/SynchronizedRef.js
59691
60024
  const TypeId$23 = "~effect/SynchronizedRef";
59692
60025
  const Proto$10 = {
59693
60026
  ...PipeInspectableProto,
@@ -59711,7 +60044,7 @@ const makeUnsafe$1 = (value) => {
59711
60044
  };
59712
60045
 
59713
60046
  //#endregion
59714
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/ScopedRef.js
60047
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/ScopedRef.js
59715
60048
  /**
59716
60049
  * @since 2.0.0
59717
60050
  */
@@ -59777,7 +60110,7 @@ const set$4 = /* @__PURE__ */ dual(2, /* @__PURE__ */ fnUntraced(function* (self
59777
60110
  }, uninterruptible, (effect, self) => self.backing.semaphore.withPermit(effect)));
59778
60111
 
59779
60112
  //#endregion
59780
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Runtime.js
60113
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Runtime.js
59781
60114
  /**
59782
60115
  * This module provides utilities for running Effect programs and managing their execution lifecycle.
59783
60116
  *
@@ -59913,7 +60246,7 @@ const makeRunMain = (f) => dual((args) => isEffect(args[0]), (effect, options) =
59913
60246
  });
59914
60247
 
59915
60248
  //#endregion
59916
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/Stdio.js
60249
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/Stdio.js
59917
60250
  /**
59918
60251
  * @since 4.0.0
59919
60252
  * @category Type IDs
@@ -59934,7 +60267,7 @@ const make$25 = (options) => ({
59934
60267
  });
59935
60268
 
59936
60269
  //#endregion
59937
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/SubscriptionRef.js
60270
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/SubscriptionRef.js
59938
60271
  /**
59939
60272
  * @since 2.0.0
59940
60273
  */
@@ -61440,7 +61773,7 @@ _Mime_extensionToType = /* @__PURE__ */ new WeakMap(), _Mime_typeToExtension = /
61440
61773
  var src_default = new Mime(types, types$1)._freeze();
61441
61774
 
61442
61775
  //#endregion
61443
- //#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
61776
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.15_effect@4.0.0-beta.15_ioredis@5.9.2/node_modules/@effect/platform-node/dist/Mime.js
61444
61777
  /**
61445
61778
  * @since 1.0.0
61446
61779
  */
@@ -61451,7 +61784,7 @@ var src_default = new Mime(types, types$1)._freeze();
61451
61784
  var Mime_default = src_default;
61452
61785
 
61453
61786
  //#endregion
61454
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/process/ChildProcessSpawner.js
61787
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/process/ChildProcessSpawner.js
61455
61788
  /**
61456
61789
  * A module providing a generic service interface for spawning child processes.
61457
61790
  *
@@ -61497,7 +61830,7 @@ const makeHandle = (params) => Object.assign(Object.create(HandleProto), params)
61497
61830
  const ChildProcessSpawner = /* @__PURE__ */ Service$1("effect/process/ChildProcessSpawner");
61498
61831
 
61499
61832
  //#endregion
61500
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/process/ChildProcess.js
61833
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/process/ChildProcess.js
61501
61834
  const TypeId$19 = "~effect/unstable/process/ChildProcess";
61502
61835
  const Proto$7 = {
61503
61836
  ...PipeInspectableProto,
@@ -61834,7 +62167,7 @@ const concatTokens = (prevTokens, nextTokens, isSeparated) => isSeparated || pre
61834
62167
  ];
61835
62168
 
61836
62169
  //#endregion
61837
- //#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
62170
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.15_effect@4.0.0-beta.15/node_modules/@effect/platform-node-shared/dist/internal/utils.js
61838
62171
  /** @internal */
61839
62172
  const handleErrnoException = (module, method) => (err, [path]) => {
61840
62173
  let reason = "Unknown";
@@ -61872,7 +62205,7 @@ const handleErrnoException = (module, method) => (err, [path]) => {
61872
62205
  };
61873
62206
 
61874
62207
  //#endregion
61875
- //#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
62208
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.15_effect@4.0.0-beta.15/node_modules/@effect/platform-node-shared/dist/NodeSink.js
61876
62209
  /**
61877
62210
  * @category constructors
61878
62211
  * @since 1.0.0
@@ -61911,7 +62244,7 @@ const pullIntoWritable = (options) => options.pull.pipe(flatMap$2((chunk) => {
61911
62244
  }) : identity);
61912
62245
 
61913
62246
  //#endregion
61914
- //#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
62247
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.15_effect@4.0.0-beta.15/node_modules/@effect/platform-node-shared/dist/NodeStream.js
61915
62248
  /**
61916
62249
  * @since 1.0.0
61917
62250
  */
@@ -62043,7 +62376,7 @@ const readableToPullUnsafe = (options) => {
62043
62376
  const defaultOnError = (error) => new UnknownError(error);
62044
62377
 
62045
62378
  //#endregion
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/NodeChildProcessSpawner.js
62379
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.15_effect@4.0.0-beta.15/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js
62047
62380
  const toError = (error) => error instanceof globalThis.Error ? error : new globalThis.Error(String(error));
62048
62381
  const toPlatformError = (method, error, command) => {
62049
62382
  const { commands } = flattenCommand(command);
@@ -62386,7 +62719,7 @@ const flattenCommand = (command) => {
62386
62719
  };
62387
62720
 
62388
62721
  //#endregion
62389
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/Cookies.js
62722
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/Cookies.js
62390
62723
  /**
62391
62724
  * @since 4.0.0
62392
62725
  */
@@ -62776,7 +63109,7 @@ const tryDecodeURIComponent = (str) => {
62776
63109
  };
62777
63110
 
62778
63111
  //#endregion
62779
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/Headers.js
63112
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/Headers.js
62780
63113
  /**
62781
63114
  * @since 4.0.0
62782
63115
  */
@@ -62900,7 +63233,7 @@ const CurrentRedactedNames = /* @__PURE__ */ Reference("effect/Headers/CurrentRe
62900
63233
  ] });
62901
63234
 
62902
63235
  //#endregion
62903
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpClientError.js
63236
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpClientError.js
62904
63237
  /**
62905
63238
  * @since 4.0.0
62906
63239
  */
@@ -63039,7 +63372,7 @@ var EmptyBodyError = class extends TaggedError("EmptyBodyError") {
63039
63372
  };
63040
63373
 
63041
63374
  //#endregion
63042
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/UrlParams.js
63375
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/UrlParams.js
63043
63376
  /**
63044
63377
  * @since 4.0.0
63045
63378
  */
@@ -63252,7 +63585,7 @@ const schemaRecord = /* @__PURE__ */ UrlParamsSchema.pipe(/* @__PURE__ */ decode
63252
63585
  })));
63253
63586
 
63254
63587
  //#endregion
63255
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpBody.js
63588
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpBody.js
63256
63589
  /**
63257
63590
  * @since 4.0.0
63258
63591
  */
@@ -63400,7 +63733,7 @@ var Stream = class extends Proto$3 {
63400
63733
  const stream$3 = (body, contentType, contentLength) => new Stream(body, contentType ?? "application/octet-stream", contentLength);
63401
63734
 
63402
63735
  //#endregion
63403
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpClientRequest.js
63736
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpClientRequest.js
63404
63737
  const TypeId$13 = "~effect/http/HttpClientRequest";
63405
63738
  const Proto$2 = {
63406
63739
  [TypeId$13]: TypeId$13,
@@ -63546,7 +63879,7 @@ const setBody = /* @__PURE__ */ dual(2, (self, body) => {
63546
63879
  const bodyUrlParams = /* @__PURE__ */ dual(2, (self, input) => setBody(self, urlParams(fromInput(input))));
63547
63880
 
63548
63881
  //#endregion
63549
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpIncomingMessage.js
63882
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpIncomingMessage.js
63550
63883
  /**
63551
63884
  * @since 4.0.0
63552
63885
  */
@@ -63598,7 +63931,7 @@ const inspect = (self, that) => {
63598
63931
  };
63599
63932
 
63600
63933
  //#endregion
63601
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpClientResponse.js
63934
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpClientResponse.js
63602
63935
  /**
63603
63936
  * @since 4.0.0
63604
63937
  */
@@ -63722,7 +64055,7 @@ var WebHttpClientResponse = class extends Class$3 {
63722
64055
  };
63723
64056
 
63724
64057
  //#endregion
63725
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpMethod.js
64058
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpMethod.js
63726
64059
  /**
63727
64060
  * @since 4.0.0
63728
64061
  */
@@ -63738,7 +64071,7 @@ const allShort = [
63738
64071
  ];
63739
64072
 
63740
64073
  //#endregion
63741
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpTraceContext.js
64074
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpTraceContext.js
63742
64075
  /**
63743
64076
  * @since 4.0.0
63744
64077
  */
@@ -63807,7 +64140,7 @@ const w3c = (headers) => {
63807
64140
  };
63808
64141
 
63809
64142
  //#endregion
63810
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpClient.js
64143
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpClient.js
63811
64144
  const TypeId$10 = "~effect/http/HttpClient";
63812
64145
  /**
63813
64146
  * @since 4.0.0
@@ -64650,7 +64983,7 @@ const httpMethods = [
64650
64983
  const make$17 = make$18;
64651
64984
 
64652
64985
  //#endregion
64653
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/Template.js
64986
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/Template.js
64654
64987
  /**
64655
64988
  * @since 4.0.0
64656
64989
  */
@@ -64700,7 +65033,7 @@ function isSuccess$1(u) {
64700
65033
  }
64701
65034
 
64702
65035
  //#endregion
64703
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpServerResponse.js
65036
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpServerResponse.js
64704
65037
  /**
64705
65038
  * @since 4.0.0
64706
65039
  */
@@ -64804,7 +65137,7 @@ const makeResponse = (options) => {
64804
65137
  };
64805
65138
 
64806
65139
  //#endregion
64807
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpServerRespondable.js
65140
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpServerRespondable.js
64808
65141
  /**
64809
65142
  * @since 4.0.0
64810
65143
  */
@@ -64842,7 +65175,7 @@ const toResponseOrElseDefect = (u, orElse) => {
64842
65175
  };
64843
65176
 
64844
65177
  //#endregion
64845
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpServerError.js
65178
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpServerError.js
64846
65179
  /**
64847
65180
  * @since 4.0.0
64848
65181
  */
@@ -65032,7 +65365,7 @@ const exitResponse = (exit) => {
65032
65365
  };
65033
65366
 
65034
65367
  //#endregion
65035
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/socket/Socket.js
65368
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/socket/Socket.js
65036
65369
  /**
65037
65370
  * @since 4.0.0
65038
65371
  * @category Type IDs
@@ -66168,7 +66501,7 @@ const defaultIsFile = defaultIsFile$1;
66168
66501
  const decodeField = decodeField$1;
66169
66502
 
66170
66503
  //#endregion
66171
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/Multipart.js
66504
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/Multipart.js
66172
66505
  /**
66173
66506
  * @since 4.0.0
66174
66507
  */
@@ -66424,7 +66757,7 @@ const MaxFileSize = /* @__PURE__ */ Reference("effect/http/Multipart/MaxFileSize
66424
66757
  const FieldMimeTypes = /* @__PURE__ */ Reference("effect/http/Multipart/FieldMimeTypes", { defaultValue: /* @__PURE__ */ constant(["application/json"]) });
66425
66758
 
66426
66759
  //#endregion
66427
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpServerRequest.js
66760
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpServerRequest.js
66428
66761
  /**
66429
66762
  * @since 4.0.0
66430
66763
  * @category Type IDs
@@ -66577,12 +66910,12 @@ const toURL = (self) => {
66577
66910
  };
66578
66911
 
66579
66912
  //#endregion
66580
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/internal/preResponseHandler.js
66913
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/internal/preResponseHandler.js
66581
66914
  /** @internal */
66582
66915
  const requestPreResponseHandlers = /* @__PURE__ */ new WeakMap();
66583
66916
 
66584
66917
  //#endregion
66585
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpMiddleware.js
66918
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpMiddleware.js
66586
66919
  /**
66587
66920
  * @since 4.0.0
66588
66921
  */
@@ -66682,7 +67015,7 @@ const tracer = /* @__PURE__ */ make$11((httpApp) => withFiber((fiber) => {
66682
67015
  }));
66683
67016
 
66684
67017
  //#endregion
66685
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpEffect.js
67018
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpEffect.js
66686
67019
  /**
66687
67020
  * @since 4.0.0
66688
67021
  * @category combinators
@@ -66756,7 +67089,7 @@ const scoped = (effect) => withFiber((fiber) => {
66756
67089
  });
66757
67090
 
66758
67091
  //#endregion
66759
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/Etag.js
67092
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/Etag.js
66760
67093
  /**
66761
67094
  * @since 4.0.0
66762
67095
  */
@@ -66820,7 +67153,7 @@ const layerWeak = /* @__PURE__ */ succeed$2(Generator)({
66820
67153
  });
66821
67154
 
66822
67155
  //#endregion
66823
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpPlatform.js
67156
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpPlatform.js
66824
67157
  /**
66825
67158
  * @since 4.0.0
66826
67159
  */
@@ -66887,7 +67220,7 @@ const layer$14 = /* @__PURE__ */ effect$1(HttpPlatform)(flatMap$2(FileSystem.asE
66887
67220
  }))).pipe(/* @__PURE__ */ provide$3(layerWeak));
66888
67221
 
66889
67222
  //#endregion
66890
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpServer.js
67223
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpServer.js
66891
67224
  /**
66892
67225
  * @since 4.0.0
66893
67226
  */
@@ -66950,7 +67283,7 @@ const makeTestClient = /* @__PURE__ */ gen(function* () {
66950
67283
  const layerTestClient = /* @__PURE__ */ effect$1(HttpClient)(makeTestClient);
66951
67284
 
66952
67285
  //#endregion
66953
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/HttpRouter.js
67286
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/HttpRouter.js
66954
67287
  /**
66955
67288
  * @since 4.0.0
66956
67289
  */
@@ -70817,7 +71150,7 @@ var import_websocket = /* @__PURE__ */ __toESM(require_websocket(), 1);
70817
71150
  var import_websocket_server = /* @__PURE__ */ __toESM(require_websocket_server(), 1);
70818
71151
 
70819
71152
  //#endregion
70820
- //#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
71153
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.15_effect@4.0.0-beta.15/node_modules/@effect/platform-node-shared/dist/NodeFileSystem.js
70821
71154
  /**
70822
71155
  * @since 1.0.0
70823
71156
  */
@@ -71074,7 +71407,7 @@ const utimes = /* @__PURE__ */ (() => {
71074
71407
  return (path, atime, mtime) => nodeUtimes(path, atime, mtime);
71075
71408
  })();
71076
71409
  const watchNode = (path) => callback((queue) => acquireRelease(sync(() => {
71077
- const watcher = NFS.watch(path, {}, (event, path) => {
71410
+ const watcher = NFS.watch(path, { recursive: true }, (event, path) => {
71078
71411
  if (!path) return;
71079
71412
  switch (event) {
71080
71413
  case "rename":
@@ -71167,7 +71500,7 @@ const makeFileSystem = /* @__PURE__ */ map$8(/* @__PURE__ */ serviceOption(Watch
71167
71500
  const layer$12 = /* @__PURE__ */ effect$1(FileSystem)(makeFileSystem);
71168
71501
 
71169
71502
  //#endregion
71170
- //#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
71503
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.15_effect@4.0.0-beta.15_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeFileSystem.js
71171
71504
  /**
71172
71505
  * @since 1.0.0
71173
71506
  */
@@ -71178,7 +71511,7 @@ const layer$12 = /* @__PURE__ */ effect$1(FileSystem)(makeFileSystem);
71178
71511
  const layer$11 = layer$12;
71179
71512
 
71180
71513
  //#endregion
71181
- //#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
71514
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.15_effect@4.0.0-beta.15_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeHttpIncomingMessage.js
71182
71515
  /**
71183
71516
  * @since 1.0.0
71184
71517
  */
@@ -71249,7 +71582,7 @@ var NodeHttpIncomingMessage = class extends Class$3 {
71249
71582
  };
71250
71583
 
71251
71584
  //#endregion
71252
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/http/FetchHttpClient.js
71585
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/http/FetchHttpClient.js
71253
71586
  /**
71254
71587
  * @since 4.0.0
71255
71588
  */
@@ -71296,7 +71629,7 @@ const fetch$1 = /* @__PURE__ */ make$19((request, url, signal, fiber) => {
71296
71629
  const layer$10 = /* @__PURE__ */ layerMergedServices(/* @__PURE__ */ succeed$1(fetch$1));
71297
71630
 
71298
71631
  //#endregion
71299
- //#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
71632
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.15_effect@4.0.0-beta.15_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeHttpPlatform.js
71300
71633
  /**
71301
71634
  * @since 1.0.0
71302
71635
  */
@@ -71420,7 +71753,7 @@ var FileStream = class extends Readable {
71420
71753
  };
71421
71754
 
71422
71755
  //#endregion
71423
- //#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
71756
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.15_effect@4.0.0-beta.15_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeMultipart.js
71424
71757
  /**
71425
71758
  * @since 1.0.0
71426
71759
  */
@@ -71516,7 +71849,7 @@ function convertError(cause) {
71516
71849
  }
71517
71850
 
71518
71851
  //#endregion
71519
- //#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
71852
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.15_effect@4.0.0-beta.15/node_modules/@effect/platform-node-shared/dist/NodePath.js
71520
71853
  /**
71521
71854
  * @since 1.0.0
71522
71855
  */
@@ -71568,7 +71901,7 @@ const layer$8 = /* @__PURE__ */ succeed$2(Path$1)({
71568
71901
  });
71569
71902
 
71570
71903
  //#endregion
71571
- //#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
71904
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.15_effect@4.0.0-beta.15_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodePath.js
71572
71905
  /**
71573
71906
  * @since 1.0.0
71574
71907
  */
@@ -71589,7 +71922,7 @@ const layerPosix = layerPosix$1;
71589
71922
  const layerWin32 = layerWin32$1;
71590
71923
 
71591
71924
  //#endregion
71592
- //#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
71925
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.15_effect@4.0.0-beta.15/node_modules/@effect/platform-node-shared/dist/NodeStdio.js
71593
71926
  /**
71594
71927
  * @since 1.0.0
71595
71928
  */
@@ -71629,7 +71962,7 @@ const layer$6 = /* @__PURE__ */ succeed$2(Stdio, /* @__PURE__ */ make$25({
71629
71962
  }));
71630
71963
 
71631
71964
  //#endregion
71632
- //#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
71965
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.15_effect@4.0.0-beta.15_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeStdio.js
71633
71966
  /**
71634
71967
  * @since 1.0.0
71635
71968
  */
@@ -71640,7 +71973,7 @@ const layer$6 = /* @__PURE__ */ succeed$2(Stdio, /* @__PURE__ */ make$25({
71640
71973
  const layer$5 = layer$6;
71641
71974
 
71642
71975
  //#endregion
71643
- //#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
71976
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.15_effect@4.0.0-beta.15/node_modules/@effect/platform-node-shared/dist/NodeTerminal.js
71644
71977
  /**
71645
71978
  * @since 1.0.0
71646
71979
  * @category constructors
@@ -71711,7 +72044,7 @@ function defaultShouldQuit(input) {
71711
72044
  }
71712
72045
 
71713
72046
  //#endregion
71714
- //#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
72047
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.15_effect@4.0.0-beta.15_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeTerminal.js
71715
72048
  /**
71716
72049
  * @since 1.0.0
71717
72050
  */
@@ -71727,7 +72060,7 @@ const make$4 = make$5;
71727
72060
  const layer$3 = layer$4;
71728
72061
 
71729
72062
  //#endregion
71730
- //#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
72063
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.15_effect@4.0.0-beta.15_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeServices.js
71731
72064
  /**
71732
72065
  * @since 1.0.0
71733
72066
  * @category layer
@@ -71735,7 +72068,7 @@ const layer$3 = layer$4;
71735
72068
  const layer$2 = /* @__PURE__ */ provideMerge(layer$16, /* @__PURE__ */ mergeAll(layer$11, layer$7, layer$5, layer$3));
71736
72069
 
71737
72070
  //#endregion
71738
- //#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
72071
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.15_effect@4.0.0-beta.15_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeHttpServer.js
71739
72072
  /**
71740
72073
  * @since 1.0.0
71741
72074
  */
@@ -72026,7 +72359,7 @@ const handleCause = (nodeResponse, originalResponse) => (originalCause) => flatM
72026
72359
  });
72027
72360
 
72028
72361
  //#endregion
72029
- //#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
72362
+ //#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.15_effect@4.0.0-beta.15/node_modules/@effect/platform-node-shared/dist/NodeRuntime.js
72030
72363
  /**
72031
72364
  * @since 1.0.0
72032
72365
  * @category Run main
@@ -72053,7 +72386,7 @@ const runMain$1 = /* @__PURE__ */ makeRunMain(({ fiber, teardown }) => {
72053
72386
  });
72054
72387
 
72055
72388
  //#endregion
72056
- //#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
72389
+ //#region node_modules/.pnpm/@effect+platform-node@4.0.0-beta.15_effect@4.0.0-beta.15_ioredis@5.9.2/node_modules/@effect/platform-node/dist/NodeRuntime.js
72057
72390
  /**
72058
72391
  * @since 1.0.0
72059
72392
  */
@@ -72087,7 +72420,7 @@ const runMain$1 = /* @__PURE__ */ makeRunMain(({ fiber, teardown }) => {
72087
72420
  const runMain = runMain$1;
72088
72421
 
72089
72422
  //#endregion
72090
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/persistence/PersistedCache.js
72423
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/persistence/PersistedCache.js
72091
72424
  /**
72092
72425
  * @since 4.0.0
72093
72426
  */
@@ -72448,7 +72781,7 @@ const CliAgentFromId = Literals(allCliAgents.map((agent) => agent.id)).pipe(deco
72448
72781
  })));
72449
72782
 
72450
72783
  //#endregion
72451
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/reactivity/AsyncResult.js
72784
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/reactivity/AsyncResult.js
72452
72785
  /**
72453
72786
  * @since 4.0.0
72454
72787
  */
@@ -72611,7 +72944,7 @@ const toExit = (self) => {
72611
72944
  };
72612
72945
 
72613
72946
  //#endregion
72614
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/reactivity/AtomRegistry.js
72947
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/reactivity/AtomRegistry.js
72615
72948
  /**
72616
72949
  * @since 4.0.0
72617
72950
  */
@@ -72845,8 +73178,8 @@ var RegistryImpl = class {
72845
73178
  const nodes = this.timeoutBuckets.get(bucket)[0];
72846
73179
  this.timeoutBuckets.delete(bucket);
72847
73180
  nodes.forEach((node) => {
72848
- if (!node.canBeRemoved) return;
72849
73181
  this.nodeTimeoutBucket.delete(node);
73182
+ if (!node.canBeRemoved) return;
72850
73183
  this.nodes.delete(atomKey(node.atom));
72851
73184
  this.onNodeRemoved?.(node);
72852
73185
  this.#currentSweepTTL = node.atom.idleTTL ?? this.defaultIdleTTL;
@@ -73216,7 +73549,7 @@ function batchRebuildNode(node) {
73216
73549
  }
73217
73550
 
73218
73551
  //#endregion
73219
- //#region node_modules/.pnpm/effect@4.0.0-beta.12/node_modules/effect/dist/unstable/reactivity/Atom.js
73552
+ //#region node_modules/.pnpm/effect@4.0.0-beta.15/node_modules/effect/dist/unstable/reactivity/Atom.js
73220
73553
  /**
73221
73554
  * @since 4.0.0
73222
73555
  */
@@ -73807,33 +74140,46 @@ var ProjectSetting = class {
73807
74140
  };
73808
74141
  const selectedCliAgentId = new Setting("selectedCliAgentId", Literals(allCliAgents.map((a) => a.id)));
73809
74142
 
74143
+ //#endregion
74144
+ //#region src/shared/schema.ts
74145
+ const withEncodeDefault = (defaultValue) => (schema) => optionalKey(schema).pipe(decodeTo(toType(schema), {
74146
+ decode: withDefault$4(defaultValue),
74147
+ encode: required()
74148
+ }));
74149
+
73810
74150
  //#endregion
73811
74151
  //#region src/domain/PrdIssue.ts
73812
74152
  var PrdIssue = class PrdIssue extends Class$1("PrdIssue")({
73813
- id: NullOr(String$1).annotate({ description: "The unique identifier of the issue. If null, it is considered a new issue." }),
74153
+ id: NullOr(String$1).annotate({ description: "The unique identifier of the issue. If null, it is considered a new issue." }).pipe(withEncodeDefault(() => null)),
73814
74154
  title: String$1.annotate({ description: "The title of the issue" }),
73815
- description: String$1.annotate({ description: "The description of the issue in markdown format." }),
73816
- priority: Finite.annotate({ description: "The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low." }),
73817
- 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." }),
74155
+ description: String$1.annotate({ description: "The description of the issue in markdown format." }).pipe(withEncodeDefault(() => "")),
74156
+ priority: Finite.annotate({ description: "The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low." }).pipe(withEncodeDefault(() => 3)),
74157
+ 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)),
73818
74158
  state: Literals([
73819
74159
  "backlog",
73820
74160
  "todo",
73821
74161
  "in-progress",
73822
74162
  "in-review",
73823
74163
  "done"
73824
- ]).annotate({ description: "The state of the issue." }),
73825
- 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." }),
73826
- autoMerge: Boolean$2.annotate({ description: "Whether the issue should be auto-merged when complete. Read-only field" })
74164
+ ]).annotate({ description: "The state of the issue." }).pipe(withEncodeDefault(() => "todo")),
74165
+ 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(() => [])),
74166
+ autoMerge: Boolean$2.annotate({ description: "Whether the issue should be auto-merged when complete. Read-only field" }).pipe(withEncodeDefault(() => false))
73827
74167
  }) {
74168
+ static FromInput = Union([String$1, toEncoded(PrdIssue)]).pipe(decodeTo(PrdIssue, {
74169
+ decode: transform$3((s) => typeof s === "string" ? { title: s } : s),
74170
+ encode: passthrough$1()
74171
+ }));
73828
74172
  static Array = Array$1(this);
74173
+ static ArrayFromInput = Array$1(this.FromInput);
73829
74174
  static ArrayFromJson = toCodecJson(this.Array);
74175
+ static ArrayFromJsonInput = toCodecJson(this.ArrayFromInput);
73830
74176
  static arrayToYaml(issues) {
73831
74177
  const json = encodeSync(this.ArrayFromJson)(issues);
73832
74178
  return import_dist.stringify(json, { blockQuote: "literal" });
73833
74179
  }
73834
74180
  static arrayFromYaml(yaml) {
73835
74181
  const json = import_dist.parse(yaml);
73836
- return decodeSync(PrdIssue.ArrayFromJson)(json);
74182
+ return decodeSync(PrdIssue.ArrayFromJsonInput)(json);
73837
74183
  }
73838
74184
  static jsonSchemaDoc = toJsonSchemaDocument(this);
73839
74185
  static jsonSchema = {
@@ -158951,6 +159297,8 @@ After making any changes, commit and push them to the same pull request.
158951
159297
  postWork: () => void_$1,
158952
159298
  autoMerge: fnUntraced(function* (options) {
158953
159299
  const prd = yield* Prd;
159300
+ const source = yield* IssueSource;
159301
+ const projectId = yield* CurrentProjectId;
158954
159302
  const worktree = options.worktree;
158955
159303
  let prState = (yield* worktree.viewPrState()).pipe(filter$9((pr) => pr.state === "OPEN"));
158956
159304
  yield* log$1("PR state", prState);
@@ -158960,7 +159308,15 @@ After making any changes, commit and push them to the same pull request.
158960
159308
  yield* sleep(seconds(3));
158961
159309
  prState = yield* worktree.viewPrState(prState.value.number);
158962
159310
  yield* log$1("PR state after merge", prState);
158963
- if (isSome(prState) && prState.value.state === "MERGED") return;
159311
+ if (isSome(prState) && prState.value.state === "MERGED") {
159312
+ const issue = yield* prd.findById(options.issueId);
159313
+ if (issue && issue.state !== "done") yield* source.updateIssue({
159314
+ projectId,
159315
+ issueId: options.issueId,
159316
+ state: "done"
159317
+ });
159318
+ return;
159319
+ }
158964
159320
  yield* log$1("Flagging unmergable PR");
158965
159321
  yield* prd.flagUnmergable({ issueId: options.issueId });
158966
159322
  yield* worktree.exec`gh pr close -d`;
@@ -159237,11 +159593,11 @@ const runProject = fnUntraced(function* (options) {
159237
159593
  }
159238
159594
  yield* awaitEmpty(fibers);
159239
159595
  }, (effect, options) => annotateLogs(effect, { project: options.project.id }));
159240
- const iterations = integer("iterations").pipe(withDescription$1("Limit how many task iterations run per enabled project (default: unlimited). Use -i 1 to run a single iteration and exit."), withAlias("i"), withDefault(Number.POSITIVE_INFINITY));
159596
+ const iterations = integer("iterations").pipe(withDescription$1("Limit how many task iterations run per enabled project (default: unlimited). Use -i 1 to run a single iteration and exit."), withAlias$1("i"), withDefault(Number.POSITIVE_INFINITY));
159241
159597
  const maxIterationMinutes = integer("max-minutes").pipe(withDescription$1("Timeout an iteration if execution (and review, if enabled) exceeds this many minutes (default: LALPH_MAX_MINUTES or 90)."), withFallbackConfig(int("LALPH_MAX_MINUTES")), withDefault(90));
159242
159598
  const stallMinutes = integer("stall-minutes").pipe(withDescription$1("Fail an iteration if the agent stops responding for this many minutes (default: LALPH_STALL_MINUTES or 5)."), withFallbackConfig(int("LALPH_STALL_MINUTES")), withDefault(5));
159243
- const specsDirectory = directory("specs").pipe(withDescription$1("Directory where plan specs are written and read (default: LALPH_SPECS or .specs)."), withAlias("s"), withFallbackConfig(string$1("LALPH_SPECS")), withDefault(".specs"));
159244
- const verbose = boolean("verbose").pipe(withDescription$1("Increase log output for debugging. Use -v when you need detailed logs."), withAlias("v"));
159599
+ const specsDirectory = directory("specs").pipe(withDescription$1("Directory where plan specs are written and read (default: LALPH_SPECS or .specs)."), withAlias$1("s"), withFallbackConfig(string$1("LALPH_SPECS")), withDefault(".specs"));
159600
+ const verbose = boolean("verbose").pipe(withDescription$1("Increase log output for debugging. Use -v when you need detailed logs."), withAlias$1("v"));
159245
159601
  const commandRoot = make$34("lalph", {
159246
159602
  iterations,
159247
159603
  maxIterationMinutes,
@@ -159388,9 +159744,9 @@ var Editor = class extends Service$1()("lalph/Editor", { make: gen(function* ()
159388
159744
 
159389
159745
  //#endregion
159390
159746
  //#region src/commands/plan.ts
159391
- const dangerous = boolean("dangerous").pipe(withAlias("d"), withDescription$1("Skip permission prompts while generating the specification from your plan"));
159392
- const withNewProject = boolean("new").pipe(withAlias("n"), withDescription$1("Create a new project (via prompts) before starting plan mode"));
159393
- const file = file$1("file", { mustExist: true }).pipe(withAlias("f"), withDescription$1("Read the plan from a markdown file instead of opening an editor"), optional);
159747
+ const dangerous = boolean("dangerous").pipe(withAlias$1("d"), withDescription$1("Skip permission prompts while generating the specification from your plan"));
159748
+ const withNewProject = boolean("new").pipe(withAlias$1("n"), withDescription$1("Create a new project (via prompts) before starting plan mode"));
159749
+ const file = file$1("file", { mustExist: true }).pipe(withAlias$1("f"), withDescription$1("Read the plan from a markdown file instead of opening an editor"), optional);
159394
159750
  const commandPlan = make$34("plan", {
159395
159751
  dangerous,
159396
159752
  withNewProject,
@@ -159524,8 +159880,7 @@ const handler$1 = flow(withHandler(fnUntraced(function* () {
159524
159880
  console.log(`URL: ${created.url}`);
159525
159881
  }).pipe(provide$1([layerProjectIdPrompt, CurrentIssueSource.layer]));
159526
159882
  })), provide(Editor.layer));
159527
- const commandIssue = make$34("issue").pipe(withDescription("Create a new issue in your editor."), handler$1);
159528
- const commandIssueAlias = make$34("i").pipe(withDescription("Alias for 'issue' (create a new issue in your editor)."), handler$1);
159883
+ const commandIssue = make$34("issue").pipe(withDescription("Create a new issue in your editor."), withAlias("i"), handler$1);
159529
159884
 
159530
159885
  //#endregion
159531
159886
  //#region src/commands/edit.ts
@@ -159533,8 +159888,7 @@ const handler = withHandler(fnUntraced(function* () {
159533
159888
  const prd = yield* Prd;
159534
159889
  yield* (yield* Editor).edit(prd.path);
159535
159890
  }, provide$1([Prd.layerLocalProvided.pipe(provideMerge(layerProjectIdPrompt)), Editor.layer])));
159536
- const commandEdit = make$34("edit").pipe(withDescription("Open the selected project's .lalph/prd.yml in your editor."), handler);
159537
- const commandEditAlias = make$34("e").pipe(withDescription("Alias for 'edit' (open the selected project's .lalph/prd.yml in your editor)."), handler);
159891
+ const commandEdit = make$34("edit").pipe(withDescription("Open the selected project's .lalph/prd.yml in your editor."), withAlias("e"), handler);
159538
159892
 
159539
159893
  //#endregion
159540
159894
  //#region src/commands/source.ts
@@ -159542,7 +159896,7 @@ const commandSource = make$34("source").pipe(withDescription("Select the issue s
159542
159896
 
159543
159897
  //#endregion
159544
159898
  //#region package.json
159545
- var version = "0.3.31";
159899
+ var version = "0.3.33";
159546
159900
 
159547
159901
  //#endregion
159548
159902
  //#region src/commands/projects/ls.ts
@@ -159621,8 +159975,7 @@ const subcommands$1 = withSubcommands([
159621
159975
  commandProjectsToggle,
159622
159976
  commandProjectsRm
159623
159977
  ]);
159624
- const commandProjects = make$34("projects").pipe(withDescription("Manage projects and their execution settings (enabled state, concurrency, target branch, git flow, review agent). Use 'ls' to inspect and 'add', 'edit', or 'toggle' to configure."), subcommands$1);
159625
- const commandProjectsAlias = make$34("p").pipe(withDescription("Alias for 'projects'."), subcommands$1);
159978
+ const commandProjects = make$34("projects").pipe(withDescription("Manage projects and their execution settings (enabled state, concurrency, target branch, git flow, review agent). Use 'ls' to inspect and 'add', 'edit', or 'toggle' to configure."), withAlias("p"), subcommands$1);
159626
159979
 
159627
159980
  //#endregion
159628
159981
  //#region src/commands/sh.ts
@@ -159692,8 +160045,7 @@ const subcommands = withSubcommands([
159692
160045
  commandAgentsEdit,
159693
160046
  commandAgentsRm
159694
160047
  ]);
159695
- const commandAgents = make$34("agents").pipe(withDescription("Manage agent presets used to run tasks. Use 'ls' to inspect presets and 'add'/'edit' to configure agents, arguments, and any issue-source options."), subcommands);
159696
- const commandAgentsAlias = make$34("a").pipe(withDescription("Alias for 'agents' (manage agent presets used to run tasks)."), subcommands);
160048
+ const commandAgents = make$34("agents").pipe(withDescription("Manage agent presets used to run tasks. Use 'ls' to inspect presets and 'add'/'edit' to configure agents, arguments, and any issue-source options."), withAlias("a"), subcommands);
159697
160049
 
159698
160050
  //#endregion
159699
160051
  //#region src/cli.ts
@@ -159704,11 +160056,7 @@ commandRoot.pipe(withSubcommands([
159704
160056
  commandSh,
159705
160057
  commandSource,
159706
160058
  commandAgents,
159707
- commandProjects,
159708
- commandAgentsAlias,
159709
- commandEditAlias,
159710
- commandIssueAlias,
159711
- commandProjectsAlias
160059
+ commandProjects
159712
160060
  ]), provide(Settings.layer), provide(TracingLayer), provide(({ verbose }) => {
159713
160061
  if (!verbose) return empty$13;
159714
160062
  const logLevel = succeed$2(MinimumLogLevel, "All");