@deslop/stash 0.1.1090 → 0.1.1091

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.
@@ -3240,9 +3240,9 @@ function Array_(item) {
3240
3240
  /**
3241
3241
  * @since 2.0.0
3242
3242
  */
3243
- const TypeId$39 = "~effect/Option";
3243
+ const TypeId$40 = "~effect/Option";
3244
3244
  const CommonProto$1 = {
3245
- [TypeId$39]: { _A: (_) => _ },
3245
+ [TypeId$40]: { _A: (_) => _ },
3246
3246
  ...PipeInspectableProto,
3247
3247
  [Symbol.iterator]() {
3248
3248
  return new SingleShotGen(this);
@@ -3292,7 +3292,7 @@ const NoneProto = /*#__PURE__*/ Object.assign(/*#__PURE__*/ Object.create(Common
3292
3292
  }
3293
3293
  });
3294
3294
  /** @internal */
3295
- const isOption$1 = (input) => hasProperty(input, TypeId$39);
3295
+ const isOption$1 = (input) => hasProperty(input, TypeId$40);
3296
3296
  /** @internal */
3297
3297
  const isNone$1 = (fa) => fa._tag === "None";
3298
3298
  /** @internal */
@@ -3308,9 +3308,9 @@ SomeImpl.prototype = SomeProto;
3308
3308
  const some$2 = (value) => new SomeImpl(value);
3309
3309
  //#endregion
3310
3310
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/result.js
3311
- const TypeId$38 = "~effect/Result";
3311
+ const TypeId$39 = "~effect/Result";
3312
3312
  const CommonProto = {
3313
- [TypeId$38]: {
3313
+ [TypeId$39]: {
3314
3314
  /* v8 ignore next 2 */
3315
3315
  _A: (_) => _,
3316
3316
  _E: (_) => _
@@ -3361,7 +3361,7 @@ const FailureProto = /*#__PURE__*/ Object.assign(/*#__PURE__*/ Object.create(Com
3361
3361
  }
3362
3362
  });
3363
3363
  /** @internal */
3364
- const isResult$1 = (input) => hasProperty(input, TypeId$38);
3364
+ const isResult$1 = (input) => hasProperty(input, TypeId$39);
3365
3365
  /** @internal */
3366
3366
  const isFailure$2 = (result) => result._tag === "Failure";
3367
3367
  /** @internal */
@@ -3381,6 +3381,8 @@ SuccessImpl.prototype = SuccessProto;
3381
3381
  /** @internal */
3382
3382
  const succeed$9 = (success) => new SuccessImpl(success);
3383
3383
  /** @internal */
3384
+ const getSuccess$1 = (self) => isFailure$2(self) ? none$1 : some$2(self.success);
3385
+ /** @internal */
3384
3386
  const fromOption$3 = /*#__PURE__*/ dual(2, (self, onNone) => isNone$1(self) ? fail$8(onNone()) : succeed$9(self.value));
3385
3387
  //#endregion
3386
3388
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Order.js
@@ -4731,7 +4733,7 @@ const ServiceTypeId = "~effect/Context/Service";
4731
4733
  * @category services
4732
4734
  * @since 4.0.0
4733
4735
  */
4734
- const Service = function() {
4736
+ const Service$1 = function() {
4735
4737
  function KeyClass() {}
4736
4738
  const self = KeyClass;
4737
4739
  Object.setPrototypeOf(self, ServiceProto);
@@ -4752,7 +4754,7 @@ const ServiceProto = {
4752
4754
  .../*#__PURE__*/ Prototype({
4753
4755
  label: "Service",
4754
4756
  evaluate(fiber) {
4755
- return exitSucceed(get$5(fiber.context, this));
4757
+ return exitSucceed(get$6(fiber.context, this));
4756
4758
  }
4757
4759
  }),
4758
4760
  toJSON() {
@@ -4768,15 +4770,15 @@ const ServiceProto = {
4768
4770
  return make$39(this, self);
4769
4771
  },
4770
4772
  use(f) {
4771
- return withFiber$1((fiber) => f(get$5(fiber.context, this)));
4773
+ return withFiber$1((fiber) => f(get$6(fiber.context, this)));
4772
4774
  },
4773
4775
  useSync(f) {
4774
- return withFiber$1((fiber) => exitSucceed(f(get$5(fiber.context, this))));
4776
+ return withFiber$1((fiber) => exitSucceed(f(get$6(fiber.context, this))));
4775
4777
  }
4776
4778
  };
4777
4779
  const cacheKeys = /*#__PURE__*/ new Set();
4778
4780
  const ReferenceTypeId = "~effect/Context/Reference";
4779
- const TypeId$37 = "~effect/Context";
4781
+ const TypeId$38 = "~effect/Context";
4780
4782
  const MaxDepth = 8;
4781
4783
  const FlattenAfterBaseHits = 8;
4782
4784
  const makeImpl$1 = (cacheRoot, base, overlay, depth) => {
@@ -4857,7 +4859,7 @@ const Proto$9 = {
4857
4859
  return flatten$4(this);
4858
4860
  },
4859
4861
  ...PipeInspectableProto,
4860
- [TypeId$37]: { _Services: (_) => _ },
4862
+ [TypeId$38]: { _Services: (_) => _ },
4861
4863
  toJSON() {
4862
4864
  return {
4863
4865
  _id: "Context",
@@ -4913,7 +4915,7 @@ const hasSameCache = (self, that) => self.cacheRoot === that.cacheRoot;
4913
4915
  * @category guards
4914
4916
  * @since 2.0.0
4915
4917
  */
4916
- const isContext = (u) => hasProperty(u, TypeId$37);
4918
+ const isContext = (u) => hasProperty(u, TypeId$38);
4917
4919
  /**
4918
4920
  * Checks whether the provided argument is a `Reference`.
4919
4921
  *
@@ -5132,7 +5134,7 @@ const getUnsafe$1 = /*#__PURE__*/ dual(2, (self, service) => {
5132
5134
  * @category getters
5133
5135
  * @since 2.0.0
5134
5136
  */
5135
- const get$5 = getUnsafe$1;
5137
+ const get$6 = getUnsafe$1;
5136
5138
  const defaultValueCacheKey = "~effect/Context/defaultValue";
5137
5139
  const getDefaultValue = (ref) => {
5138
5140
  if (defaultValueCacheKey in ref) return ref[defaultValueCacheKey];
@@ -5274,6 +5276,41 @@ const mergeAll$3 = (...ctxs) => {
5274
5276
  return makeUnsafe$6(map);
5275
5277
  };
5276
5278
  /**
5279
+ * Returns a new `Context` with the specified service keys removed.
5280
+ *
5281
+ * **When to use**
5282
+ *
5283
+ * Use when you want to remove a denylist of services from a `Context`.
5284
+ *
5285
+ * **Example** (Omitting services from a context)
5286
+ *
5287
+ * ```ts import.meta.vitest
5288
+ * import { Context, Option, pipe } from "effect"
5289
+ *
5290
+ * const Port = Context.Service<{ PORT: number }>("Port")
5291
+ * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
5292
+ *
5293
+ * const someContext = pipe(
5294
+ * Context.make(Port, { PORT: 8080 }),
5295
+ * Context.add(Timeout, { TIMEOUT: 5000 })
5296
+ * )
5297
+ *
5298
+ * const context = pipe(someContext, Context.omit(Timeout))
5299
+ *
5300
+ * Context.getOption(context, Port) // => Option.some({ PORT: 8080 })
5301
+ * Context.getOption(context, Timeout) // => Option.none()
5302
+ * ```
5303
+ *
5304
+ * @see {@link pick} for keeping selected services
5305
+ *
5306
+ * @stability stable
5307
+ * @category filtering
5308
+ * @since 2.0.0
5309
+ */
5310
+ const omit$2 = (...keys) => (self) => withFlat(self, (map) => {
5311
+ for (let i = 0; i < keys.length; i++) map.delete(keys[i].key);
5312
+ });
5313
+ /**
5277
5314
  * Creates a context key with a default value.
5278
5315
  *
5279
5316
  * **When to use**
@@ -5320,10 +5357,10 @@ const mergeAll$3 = (...ctxs) => {
5320
5357
  * @category services
5321
5358
  * @since 3.11.0
5322
5359
  */
5323
- const Reference = Service;
5360
+ const Reference = Service$1;
5324
5361
  //#endregion
5325
5362
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Duration.js
5326
- const TypeId$36 = "~effect/Duration";
5363
+ const TypeId$37 = "~effect/Duration";
5327
5364
  const bigint0$3 = /*#__PURE__*/ BigInt(0);
5328
5365
  const bigint1$2 = /*#__PURE__*/ BigInt(1);
5329
5366
  const bigint2 = /*#__PURE__*/ BigInt(2);
@@ -5408,7 +5445,7 @@ const fromInputUnsafe$1 = (input) => {
5408
5445
  }
5409
5446
  case "object": {
5410
5447
  if (input === null) break;
5411
- if (TypeId$36 in input) return input;
5448
+ if (TypeId$37 in input) return input;
5412
5449
  if (Array.isArray(input)) {
5413
5450
  if (input.length !== 2 || !input.every(isNumber)) return invalid$3(input);
5414
5451
  if (Number.isNaN(input[0]) || Number.isNaN(input[1])) return zero$2;
@@ -5440,7 +5477,7 @@ const zeroDurationValue = {
5440
5477
  const infinityDurationValue = { _tag: "Infinity" };
5441
5478
  const negativeInfinityDurationValue = { _tag: "NegativeInfinity" };
5442
5479
  const DurationProto = {
5443
- [TypeId$36]: TypeId$36,
5480
+ [TypeId$37]: TypeId$37,
5444
5481
  [symbol$2]() {
5445
5482
  switch (this.value._tag) {
5446
5483
  case "Millis": return hash(roundMillisToNanos(this.value.millis));
@@ -5524,7 +5561,7 @@ const make$38 = (input) => {
5524
5561
  * @category guards
5525
5562
  * @since 2.0.0
5526
5563
  */
5527
- const isDuration = (u) => hasProperty(u, TypeId$36);
5564
+ const isDuration = (u) => hasProperty(u, TypeId$37);
5528
5565
  /**
5529
5566
  * Checks whether a Duration is finite (not infinite).
5530
5567
  *
@@ -6399,6 +6436,37 @@ const isFailure$1 = isFailure$2;
6399
6436
  */
6400
6437
  const isSuccess$1 = isSuccess$2;
6401
6438
  /**
6439
+ * Extracts the success value as an `Option`, discarding the failure.
6440
+ *
6441
+ * **When to use**
6442
+ *
6443
+ * Use when you need to extract the success value from a `Result` as an
6444
+ * `Option` and discard failure information.
6445
+ *
6446
+ * **Details**
6447
+ *
6448
+ * - `Success<A>` becomes `Some<A>`
6449
+ * - `Failure<E>` becomes `None`
6450
+ *
6451
+ * **Example** (Extracting the success as an Option)
6452
+ *
6453
+ * ```ts import.meta.vitest
6454
+ * import { Option, Result } from "effect"
6455
+ *
6456
+ * Result.getSuccess(Result.succeed("ok")) // => Option.some("ok")
6457
+ *
6458
+ * Result.getSuccess(Result.fail("err")) // => Option.none()
6459
+ * ```
6460
+ *
6461
+ * @see {@link getFailure} to extract the error instead
6462
+ * @see {@link fromOption} for the reverse conversion
6463
+ *
6464
+ * @stability stable
6465
+ * @category getters
6466
+ * @since 4.0.0
6467
+ */
6468
+ const getSuccess = getSuccess$1;
6469
+ /**
6402
6470
  * Transforms the success channel of a `Result`, leaving the failure channel unchanged.
6403
6471
  *
6404
6472
  * **When to use**
@@ -6880,6 +6948,28 @@ const map$7 = /*#__PURE__*/ dual(2, (self, f) => {
6880
6948
  */
6881
6949
  const keys$1 = (self) => Object.keys(self);
6882
6950
  /**
6951
+ * Adds a new key-value pair or update an existing key's value in a record.
6952
+ *
6953
+ * **Example** (Setting a record value)
6954
+ *
6955
+ * ```ts import.meta.vitest
6956
+ * import { Record } from "effect"
6957
+ *
6958
+ * Record.set("a", 5)({ a: 1, b: 2 }) // => { a: 5, b: 2 }
6959
+ * Record.set("c", 5)({ a: 1, b: 2 }) // => { a: 1, b: 2, c: 5 }
6960
+ * ```
6961
+ *
6962
+ * @stability stable
6963
+ * @category mutations
6964
+ * @since 2.0.0
6965
+ */
6966
+ const set$3 = /*#__PURE__*/ dual(3, (self, key, value) => {
6967
+ return {
6968
+ ...self,
6969
+ [key]: value
6970
+ };
6971
+ });
6972
+ /**
6883
6973
  * Checks whether all the keys and values in one record are also found in another record.
6884
6974
  * Uses the provided equivalence function to compare values.
6885
6975
  *
@@ -6968,7 +7058,7 @@ const makeEquivalence$3 = (equivalence) => {
6968
7058
  * @category constructors
6969
7059
  * @since 4.0.0
6970
7060
  */
6971
- const Array$1 = globalThis.Array;
7061
+ const Array$2 = globalThis.Array;
6972
7062
  /**
6973
7063
  * Converts an `Iterable` to an `Array`.
6974
7064
  *
@@ -6997,7 +7087,7 @@ const Array$1 = globalThis.Array;
6997
7087
  * @category constructors
6998
7088
  * @since 2.0.0
6999
7089
  */
7000
- const fromIterable$6 = (collection) => Array$1.isArray(collection) ? collection : Array$1.from(collection);
7090
+ const fromIterable$6 = (collection) => Array$2.isArray(collection) ? collection : Array$2.from(collection);
7001
7091
  /**
7002
7092
  * Normalizes a value that is either a single element or an array into an array.
7003
7093
  *
@@ -7028,7 +7118,7 @@ const fromIterable$6 = (collection) => Array$1.isArray(collection) ? collection
7028
7118
  * @category constructors
7029
7119
  * @since 3.3.0
7030
7120
  */
7031
- const ensure = (self) => Array$1.isArray(self) ? self : [self];
7121
+ const ensure = (self) => Array$2.isArray(self) ? self : [self];
7032
7122
  /**
7033
7123
  * Pattern-matches on an array, handling empty and non-empty cases separately.
7034
7124
  *
@@ -7169,7 +7259,7 @@ const appendAll$1 = /*#__PURE__*/ dual(2, (self, that) => fromIterable$6(self).c
7169
7259
  * @category guards
7170
7260
  * @since 2.0.0
7171
7261
  */
7172
- const isArray = Array$1.isArray;
7262
+ const isArray = Array$2.isArray;
7173
7263
  /**
7174
7264
  * Checks whether a mutable `Array` is empty, narrowing the type to `[]`.
7175
7265
  *
@@ -7307,7 +7397,7 @@ function isOutOfBounds(i, as) {
7307
7397
  * @category getters
7308
7398
  * @since 2.0.0
7309
7399
  */
7310
- const get$4 = /*#__PURE__*/ dual(2, (self, index) => {
7400
+ const get$5 = /*#__PURE__*/ dual(2, (self, index) => {
7311
7401
  const i = Math.floor(index);
7312
7402
  return isOutOfBounds(i, self) ? none() : some$1(self[i]);
7313
7403
  });
@@ -7368,7 +7458,7 @@ const getUnsafe = /*#__PURE__*/ dual(2, (self, index) => {
7368
7458
  * @category getters
7369
7459
  * @since 2.0.0
7370
7460
  */
7371
- const head = /*#__PURE__*/ get$4(0);
7461
+ const head = /*#__PURE__*/ get$5(0);
7372
7462
  /**
7373
7463
  * Returns the first element of a `NonEmptyReadonlyArray` directly (no `Option`
7374
7464
  * wrapper).
@@ -7667,7 +7757,7 @@ const findLast = /*#__PURE__*/ dual(2, (self, f) => {
7667
7757
  * @category transforming
7668
7758
  * @since 2.0.0
7669
7759
  */
7670
- const reverse = (self) => Array$1.from(self).reverse();
7760
+ const reverse = (self) => Array$2.from(self).reverse();
7671
7761
  /**
7672
7762
  * Sorts an array by the given `Order`, returning a new array.
7673
7763
  *
@@ -7696,7 +7786,7 @@ const reverse = (self) => Array$1.from(self).reverse();
7696
7786
  * @since 2.0.0
7697
7787
  */
7698
7788
  const sort = /*#__PURE__*/ dual(2, (self, O) => {
7699
- const out = Array$1.from(self);
7789
+ const out = Array$2.from(self);
7700
7790
  out.sort(O);
7701
7791
  return out;
7702
7792
  });
@@ -8773,7 +8863,7 @@ var EncodingError = class extends (/*#__PURE__*/ TaggedError$1("EncodingError"))
8773
8863
  * @category encoding
8774
8864
  * @since 4.0.0
8775
8865
  */
8776
- const encode$1 = (input) => typeof input === "string" ? hexEncodeUint8Array(encoder$4.encode(input)) : hexEncodeUint8Array(input);
8866
+ const encode$2 = (input) => typeof input === "string" ? hexEncodeUint8Array(encoder$4.encode(input)) : hexEncodeUint8Array(input);
8777
8867
  /**
8778
8868
  * Generates a random lowercase hexadecimal string, optimized for lengths that
8779
8869
  * are multiples of 8.
@@ -8888,7 +8978,7 @@ const ParentSpanKey = "effect/Tracer/ParentSpan";
8888
8978
  * @category services
8889
8979
  * @since 2.0.0
8890
8980
  */
8891
- var ParentSpan = class extends (/*#__PURE__*/ Service()(ParentSpanKey, { fiberCached: true })) {};
8981
+ var ParentSpan = class extends (/*#__PURE__*/ Service$1()(ParentSpanKey, { fiberCached: true })) {};
8892
8982
  /**
8893
8983
  * Creates a `Tracer` value from a tracer implementation object.
8894
8984
  *
@@ -9492,7 +9582,7 @@ var FiberImpl = class {
9492
9582
  return this._dispatcher ??= this.cache.scheduler.makeDispatcher();
9493
9583
  }
9494
9584
  getRef(ref) {
9495
- return get$5(this.context, ref);
9585
+ return get$6(this.context, ref);
9496
9586
  }
9497
9587
  addObserver(cb) {
9498
9588
  if (this._exit) {
@@ -9650,17 +9740,17 @@ var FiberImpl = class {
9650
9740
  const makeFiberContextCache = (context) => {
9651
9741
  const currentTracer = getOrUndefinedUnsafe(context, TracerKey);
9652
9742
  return {
9653
- scheduler: get$5(context, Scheduler),
9743
+ scheduler: get$6(context, Scheduler),
9654
9744
  tracer: currentTracer,
9655
9745
  tracerContext: currentTracer ? currentTracer["context"] : void 0,
9656
- tracerEnabled: get$5(context, TracerEnabled),
9746
+ tracerEnabled: get$6(context, TracerEnabled),
9657
9747
  span: getOrUndefinedUnsafe(context, ParentSpanKey),
9658
- logLevel: get$5(context, CurrentLogLevel),
9659
- minimumLogLevel: get$5(context, MinimumLogLevel$1),
9660
- stackFrame: get$5(context, CurrentStackFrame),
9748
+ logLevel: get$6(context, CurrentLogLevel),
9749
+ minimumLogLevel: get$6(context, MinimumLogLevel$1),
9750
+ stackFrame: get$6(context, CurrentStackFrame),
9661
9751
  runtimeMetrics: getOrUndefinedUnsafe(context, FiberRuntimeMetricsKey),
9662
- maxOpsBeforeYield: get$5(context, MaxOpsBeforeYield),
9663
- preventYield: get$5(context, PreventSchedulerYield)
9752
+ maxOpsBeforeYield: get$6(context, MaxOpsBeforeYield),
9753
+ preventYield: get$6(context, PreventSchedulerYield)
9664
9754
  };
9665
9755
  };
9666
9756
  const deferredInterruptCont = {
@@ -10445,7 +10535,7 @@ const ScopeTypeId = "~effect/Scope";
10445
10535
  /** @internal */
10446
10536
  const ScopeCloseableTypeId = "~effect/Scope/Closeable";
10447
10537
  /** @internal */
10448
- const scopeTag = /*#__PURE__*/ Service("effect/Scope");
10538
+ const scopeTag = /*#__PURE__*/ Service$1("effect/Scope");
10449
10539
  /** @internal */
10450
10540
  const scopeClose = (self, exit_) => withFiber$1((fiber) => {
10451
10541
  fiberEnterUninterruptibleUnsafe(fiber);
@@ -11139,11 +11229,11 @@ const NoopSpanProto = {
11139
11229
  const noopSpan = (options) => Object.assign(Object.create(NoopSpanProto), options);
11140
11230
  const filterDisablePropagation = (span) => {
11141
11231
  if (!span) return none();
11142
- return get$5(span.annotations, DisablePropagation) ? span._tag === "Span" ? filterDisablePropagation(getOrUndefined$1(span.parent)) : none() : some$1(span);
11232
+ return get$6(span.annotations, DisablePropagation) ? span._tag === "Span" ? filterDisablePropagation(getOrUndefined$1(span.parent)) : none() : some$1(span);
11143
11233
  };
11144
11234
  /** @internal */
11145
11235
  const makeSpanUnsafe = (fiber, name, options) => {
11146
- const disablePropagation = !fiber.cache.tracerEnabled || options?.annotations && get$5(options.annotations, DisablePropagation);
11236
+ const disablePropagation = !fiber.cache.tracerEnabled || options?.annotations && get$6(options.annotations, DisablePropagation);
11147
11237
  const parent = options?.parent !== void 0 ? some$1(options.parent) : options?.root ? none() : filterDisablePropagation(fiber.cache.span);
11148
11238
  let span;
11149
11239
  if (disablePropagation) span = noopSpan({
@@ -11757,7 +11847,7 @@ const isFailure = exitIsFailure;
11757
11847
  const asVoidAll = exitAsVoidAll;
11758
11848
  //#endregion
11759
11849
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Deferred.js
11760
- const TypeId$35 = "~effect/Deferred";
11850
+ const TypeId$36 = "~effect/Deferred";
11761
11851
  /**
11762
11852
  * Checks whether a value is a `Deferred`.
11763
11853
  *
@@ -11770,9 +11860,9 @@ const TypeId$35 = "~effect/Deferred";
11770
11860
  * @category guards
11771
11861
  * @since 4.0.0
11772
11862
  */
11773
- const isDeferred = (u) => hasProperty(u, TypeId$35);
11863
+ const isDeferred = (u) => hasProperty(u, TypeId$36);
11774
11864
  const DeferredProto = {
11775
- [TypeId$35]: {
11865
+ [TypeId$36]: {
11776
11866
  _A: identity,
11777
11867
  _E: identity
11778
11868
  },
@@ -12559,7 +12649,7 @@ const close = scopeClose;
12559
12649
  const closeUnsafe = scopeCloseUnsafe;
12560
12650
  //#endregion
12561
12651
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Layer.js
12562
- const TypeId$34 = "~effect/Layer";
12652
+ const TypeId$35 = "~effect/Layer";
12563
12653
  const MemoMapTypeId = "~effect/Layer/MemoMap";
12564
12654
  const makeMemoMapEntry = (memoMap, layer) => {
12565
12655
  const entry = {
@@ -12581,7 +12671,7 @@ const memoMapObserve = (entry, scope) => {
12581
12671
  return true;
12582
12672
  };
12583
12673
  const LayerProto = {
12584
- [TypeId$34]: {
12674
+ [TypeId$35]: {
12585
12675
  _ROut: identity,
12586
12676
  _E: identity,
12587
12677
  _RIn: identity
@@ -12777,7 +12867,7 @@ const forkMemoMapUnsafe = (parent) => new MemoMapImpl(parent);
12777
12867
  * @category services
12778
12868
  * @since 3.13.0
12779
12869
  */
12780
- var CurrentMemoMap = class CurrentMemoMap extends (/*#__PURE__*/ Service()("effect/Layer/CurrentMemoMap")) {
12870
+ var CurrentMemoMap = class CurrentMemoMap extends (/*#__PURE__*/ Service$1()("effect/Layer/CurrentMemoMap")) {
12781
12871
  static forkOrCreate(self) {
12782
12872
  const current = getOrUndefined(self, CurrentMemoMap);
12783
12873
  return current ? forkMemoMapUnsafe(current) : makeMemoMapUnsafe();
@@ -13205,7 +13295,7 @@ const effectContext = (effect) => fromBuildMemo((_, scope) => provide$3(effect,
13205
13295
  * @since 2.0.0
13206
13296
  */
13207
13297
  const effectDiscard = (effect) => effectContext(as$1(effect, empty$8()));
13208
- const unwrapKey = /*#__PURE__*/ Service("effect/Layer/unwrap");
13298
+ const unwrapKey = /*#__PURE__*/ Service$1("effect/Layer/unwrap");
13209
13299
  /**
13210
13300
  * Unwraps a `Layer` from an `Effect`, flattening the nested structure.
13211
13301
  *
@@ -13241,7 +13331,7 @@ const unwrapKey = /*#__PURE__*/ Service("effect/Layer/unwrap");
13241
13331
  * @category converting
13242
13332
  * @since 4.0.0
13243
13333
  */
13244
- const unwrap$5 = (self) => flatMap$3(effect(unwrapKey)(self), get$5(unwrapKey));
13334
+ const unwrap$5 = (self) => flatMap$3(effect(unwrapKey)(self), get$6(unwrapKey));
13245
13335
  const mergeAllEffect = (layers, memoMap, scope) => {
13246
13336
  const parentScope = forkUnsafe(scope, "parallel");
13247
13337
  return forEach$2(layers, (layer) => layer.build(memoMap, forkUnsafe(parentScope, "sequential")), { concurrency: layers.length }).pipe(map$5((context) => mergeAll$3(...context)));
@@ -14415,7 +14505,7 @@ const reasonAnnotations = reasonAnnotations$1;
14415
14505
  * @category services
14416
14506
  * @since 4.0.0
14417
14507
  */
14418
- var StackTrace = class extends (/*#__PURE__*/ Service()("effect/Cause/StackTrace")) {};
14508
+ var StackTrace = class extends (/*#__PURE__*/ Service$1()("effect/Cause/StackTrace")) {};
14419
14509
  //#endregion
14420
14510
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Clock.js
14421
14511
  /**
@@ -14501,11 +14591,11 @@ const currentTimeMillis = currentTimeMillis$1;
14501
14591
  //#endregion
14502
14592
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/dateTime.js
14503
14593
  /** @internal */
14504
- const TypeId$33 = "~effect/DateTime";
14594
+ const TypeId$34 = "~effect/DateTime";
14505
14595
  /** @internal */
14506
14596
  const TimeZoneTypeId = "~effect/DateTime/TimeZone";
14507
14597
  const Proto$8 = {
14508
- [TypeId$33]: TypeId$33,
14598
+ [TypeId$34]: TypeId$34,
14509
14599
  pipe() {
14510
14600
  return pipeArguments(this, arguments);
14511
14601
  },
@@ -14611,7 +14701,7 @@ const makeZonedProto = (epochMillis, zone, partsUtc) => {
14611
14701
  return self;
14612
14702
  };
14613
14703
  /** @internal */
14614
- const isDateTime$1 = (u) => hasProperty(u, TypeId$33);
14704
+ const isDateTime$1 = (u) => hasProperty(u, TypeId$34);
14615
14705
  /** @internal */
14616
14706
  const isTimeZone = (u) => hasProperty(u, TimeZoneTypeId);
14617
14707
  /** @internal */
@@ -15088,7 +15178,7 @@ const isEmpty$1 = (self) => self.length === 0;
15088
15178
  * @category predicates
15089
15179
  * @since 2.0.0
15090
15180
  */
15091
- const isNonEmpty = (self) => self.length > 0;
15181
+ const isNonEmpty$1 = (self) => self.length > 0;
15092
15182
  /**
15093
15183
  * Returns the JavaScript string length, measured in UTF-16 code units.
15094
15184
  *
@@ -15122,7 +15212,7 @@ const length = (self) => self.length;
15122
15212
  * @category transforming
15123
15213
  * @since 2.0.0
15124
15214
  */
15125
- const split = /*#__PURE__*/ dual(2, (self, separator) => {
15215
+ const split$1 = /*#__PURE__*/ dual(2, (self, separator) => {
15126
15216
  const out = self.split(separator);
15127
15217
  return isArrayNonEmpty$1(out) ? out : [self];
15128
15218
  });
@@ -15474,7 +15564,7 @@ const matchEffect$1 = /*#__PURE__*/ dual(2, (self, options) => matchCauseEffect$
15474
15564
  }));
15475
15565
  //#endregion
15476
15566
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Schedule.js
15477
- const TypeId$32 = "~effect/Schedule";
15567
+ const TypeId$33 = "~effect/Schedule";
15478
15568
  /**
15479
15569
  * Context reference containing metadata for the currently running schedule step.
15480
15570
  *
@@ -15500,7 +15590,7 @@ const CurrentMetadata = /*#__PURE__*/ Reference("effect/Schedule/CurrentMetadata
15500
15590
  elapsedSincePrevious: 0
15501
15591
  }) });
15502
15592
  const ScheduleProto = {
15503
- [TypeId$32]: {
15593
+ [TypeId$33]: {
15504
15594
  _Out: identity,
15505
15595
  _In: identity,
15506
15596
  _Env: identity
@@ -15530,7 +15620,7 @@ const ScheduleProto = {
15530
15620
  * @category guards
15531
15621
  * @since 2.0.0
15532
15622
  */
15533
- const isSchedule = (u) => hasProperty(u, TypeId$32);
15623
+ const isSchedule = (u) => hasProperty(u, TypeId$33);
15534
15624
  /**
15535
15625
  * Creates a Schedule from a step function that returns a Pull.
15536
15626
  *
@@ -20922,7 +21012,7 @@ const catchEager = catchEager$1;
20922
21012
  const fnUntracedEager = fnUntracedEager$1;
20923
21013
  //#endregion
20924
21014
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/net/NetAddress.js
20925
- const TypeId$31 = "~effect/net/NetAddress";
21015
+ const TypeId$32 = "~effect/net/NetAddress";
20926
21016
  const ipv4Value = (self) => self.value;
20927
21017
  const ipv6Words = (self) => self;
20928
21018
  const getMacBytes = (self) => self.bytes;
@@ -20941,7 +21031,7 @@ const getMacBytes = (self) => self.bytes;
20941
21031
  * @since 4.0.0
20942
21032
  */
20943
21033
  var NetAddressError = class extends (/*#__PURE__*/ TaggedError$1("NetAddressError")) {};
20944
- const isAddress = (u) => hasProperty(u, TypeId$31);
21034
+ const isAddress = (u) => hasProperty(u, TypeId$32);
20945
21035
  /**
20946
21036
  * Returns `true` when a value is an IPv4 address.
20947
21037
  *
@@ -21035,7 +21125,7 @@ const isUnixPathAddress = (u) => isAddress(u) && u._tag === "UnixPathAddress";
21035
21125
  const Ipv4Proto = {
21036
21126
  ...BaseProto,
21037
21127
  _tag: "Ipv4Address",
21038
- [TypeId$31]: TypeId$31,
21128
+ [TypeId$32]: TypeId$32,
21039
21129
  [symbol$1](that) {
21040
21130
  return isIpv4Address(that) && ipv4Value(this) === ipv4Value(that);
21041
21131
  },
@@ -21052,7 +21142,7 @@ const Ipv4Proto = {
21052
21142
  const Ipv6Proto = {
21053
21143
  ...BaseProto,
21054
21144
  _tag: "Ipv6Address",
21055
- [TypeId$31]: TypeId$31,
21145
+ [TypeId$32]: TypeId$32,
21056
21146
  [symbol$1](that) {
21057
21147
  if (!isIpv6Address(that)) return false;
21058
21148
  const self = ipv6Words(this);
@@ -21487,7 +21577,7 @@ const isIpv4Mapped = (self) => {
21487
21577
  const InetV4Proto = {
21488
21578
  ...BaseProto,
21489
21579
  _tag: "InetAddressV4",
21490
- [TypeId$31]: TypeId$31,
21580
+ [TypeId$32]: TypeId$32,
21491
21581
  [symbol$1](that) {
21492
21582
  return isInetAddressV4(that) && this.port === that.port && equals$1(this.address, that.address);
21493
21583
  },
@@ -21504,7 +21594,7 @@ const InetV4Proto = {
21504
21594
  const InetV6Proto = {
21505
21595
  ...BaseProto,
21506
21596
  _tag: "InetAddressV6",
21507
- [TypeId$31]: TypeId$31,
21597
+ [TypeId$32]: TypeId$32,
21508
21598
  [symbol$1](that) {
21509
21599
  return isInetAddressV6(that) && this.port === that.port && this.scopeId === that.scopeId && equals$1(this.address, that.address);
21510
21600
  },
@@ -21737,7 +21827,7 @@ const formatUrlUnsafe = (self, scheme = "http") => getOrThrow(formatUrl(self, sc
21737
21827
  const UnixPathProto = {
21738
21828
  ...BaseProto,
21739
21829
  _tag: "UnixPathAddress",
21740
- [TypeId$31]: TypeId$31,
21830
+ [TypeId$32]: TypeId$32,
21741
21831
  [symbol$1](that) {
21742
21832
  return isUnixPathAddress(that) && this.path === that.path;
21743
21833
  },
@@ -22085,7 +22175,7 @@ const formatRecord = (self) => {
22085
22175
  case "PTR": return `PTR ${formatName(self.host)}`;
22086
22176
  case "SOA": return `SOA ${self.primary} ${formatName(self.admin)} ${self.serial} ${toSeconds(self.refresh)} ${toSeconds(self.retry)} ${toSeconds(self.expire)} ${toSeconds(self.minimum)}`;
22087
22177
  case "SRV": return `SRV ${self.priority} ${self.weight} ${self.port} ${self.target}`;
22088
- case "TLSA": return `TLSA ${self.certUsage} ${self.selector} ${self.matchingType} ${encode$1(self.data).toUpperCase()}`;
22178
+ case "TLSA": return `TLSA ${self.certUsage} ${self.selector} ${self.matchingType} ${encode$2(self.data).toUpperCase()}`;
22089
22179
  case "TXT": return `TXT ${self.chunks.map(quote).join(" ")}`;
22090
22180
  }
22091
22181
  };
@@ -22188,7 +22278,7 @@ var DnsError = class extends (/*#__PURE__*/ TaggedError$1("DnsError")) {
22188
22278
  * @category services
22189
22279
  * @since 4.0.0
22190
22280
  */
22191
- var Dns = class extends (/*#__PURE__*/ Service()("effect/net/Dns")) {};
22281
+ var Dns = class extends (/*#__PURE__*/ Service$1()("effect/net/Dns")) {};
22192
22282
  const notFound = (method, hostname, recordType) => fail$3(new DnsError({
22193
22283
  reason: "NotFound",
22194
22284
  method,
@@ -22637,7 +22727,7 @@ const gibibytes = /*#__PURE__*/ unitConstructor("GiB");
22637
22727
  * @stability unstable
22638
22728
  * @since 4.0.0
22639
22729
  */
22640
- const TypeId$29 = "~effect/PlatformError";
22730
+ const TypeId$30 = "~effect/PlatformError";
22641
22731
  /**
22642
22732
  * Error data for an invalid argument passed to a platform API.
22643
22733
  *
@@ -22750,7 +22840,7 @@ var PlatformError = class extends (/*#__PURE__*/ TaggedError$1("PlatformError"))
22750
22840
  *
22751
22841
  * @since 4.0.0
22752
22842
  */
22753
- [TypeId$29] = TypeId$29;
22843
+ [TypeId$30] = TypeId$30;
22754
22844
  get message() {
22755
22845
  return this.reason.message;
22756
22846
  }
@@ -22783,7 +22873,7 @@ const systemError = (options) => new PlatformError(new SystemError(options));
22783
22873
  const badArgument = (options) => new PlatformError(new BadArgument(options));
22784
22874
  //#endregion
22785
22875
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Chunk.js
22786
- const TypeId$28 = "~effect/Chunk";
22876
+ const TypeId$29 = "~effect/Chunk";
22787
22877
  function copy$2(src, srcPos, dest, destPos, len) {
22788
22878
  for (let i = srcPos; i < Math.min(src.length, srcPos + len); i++) dest[destPos + i - srcPos] = src[i];
22789
22879
  return dest;
@@ -22820,7 +22910,7 @@ const makeEquivalence$1 = (isEquivalent) => make$41((self, that) => {
22820
22910
  });
22821
22911
  const _equivalence = /*#__PURE__*/ makeEquivalence$1(equals$1);
22822
22912
  const ChunkProto = {
22823
- [TypeId$28]: { _A: (_) => _ },
22913
+ [TypeId$29]: { _A: (_) => _ },
22824
22914
  toString() {
22825
22915
  return `Chunk(${format$2(toReadonlyArray(this))})`;
22826
22916
  },
@@ -22906,7 +22996,7 @@ const makeChunk = (backing) => {
22906
22996
  * @category guards
22907
22997
  * @since 2.0.0
22908
22998
  */
22909
- const isChunk = (u) => hasProperty(u, TypeId$28);
22999
+ const isChunk = (u) => hasProperty(u, TypeId$29);
22910
23000
  const _empty = /*#__PURE__*/ makeChunk({ _tag: "IEmpty" });
22911
23001
  const copyToArray = (self, array, initial) => {
22912
23002
  switch (self.backing._tag) {
@@ -23306,9 +23396,9 @@ const makeUnsafe$2 = makeLatchUnsafe;
23306
23396
  const make$31 = makeLatch;
23307
23397
  //#endregion
23308
23398
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/MutableRef.js
23309
- const TypeId$27 = "~effect/MutableRef";
23399
+ const TypeId$28 = "~effect/MutableRef";
23310
23400
  const MutableRefProto = {
23311
- [TypeId$27]: TypeId$27,
23401
+ [TypeId$28]: TypeId$28,
23312
23402
  ...PipeInspectableProto,
23313
23403
  toJSON() {
23314
23404
  return {
@@ -23850,7 +23940,7 @@ const remove$2 = (self, value) => filter$1(self, (v) => v !== value);
23850
23940
  * @stability stable
23851
23941
  * @since 2.0.0
23852
23942
  */
23853
- const TypeId$26 = "~effect/PubSub";
23943
+ const TypeId$27 = "~effect/PubSub";
23854
23944
  const SubscriptionTypeId = "~effect/PubSub/Subscription";
23855
23945
  /**
23856
23946
  * Creates a PubSub with a custom atomic implementation and strategy.
@@ -24037,7 +24127,7 @@ const publishUnsafe = /*#__PURE__*/ dual(2, (self, value) => {
24037
24127
  * @since 2.0.0
24038
24128
  */
24039
24129
  const subscribe = (self) => uninterruptible(contextWith((services) => {
24040
- const localScope = get$5(services, Scope);
24130
+ const localScope = get$6(services, Scope);
24041
24131
  const scope = forkUnsafe(self.scope);
24042
24132
  const subscription = makeSubscriptionUnsafe(self.pubsub, self.subscribers, self.strategy, self.ended);
24043
24133
  return addFinalizer$1(scope, unsubscribe(subscription)).pipe(andThen(addFinalizerExit(localScope, (exit) => close(scope, exit))), as(subscription));
@@ -24300,7 +24390,7 @@ var SubscriptionImpl = class {
24300
24390
  }
24301
24391
  };
24302
24392
  var PubSubImpl = class {
24303
- [TypeId$26] = { _A: identity };
24393
+ [TypeId$27] = { _A: identity };
24304
24394
  pubsub;
24305
24395
  subscribers;
24306
24396
  scope;
@@ -24526,7 +24616,7 @@ const emptyReplayWindow = {
24526
24616
  * @stability stable
24527
24617
  * @since 3.8.0
24528
24618
  */
24529
- const TypeId$25 = "~effect/Queue";
24619
+ const TypeId$26 = "~effect/Queue";
24530
24620
  const EnqueueTypeId = "~effect/Queue/Enqueue";
24531
24621
  const DequeueTypeId = "~effect/Queue/Dequeue";
24532
24622
  const variance$1 = {
@@ -24534,7 +24624,7 @@ const variance$1 = {
24534
24624
  _E: identity
24535
24625
  };
24536
24626
  const QueueProto = {
24537
- [TypeId$25]: variance$1,
24627
+ [TypeId$26]: variance$1,
24538
24628
  [EnqueueTypeId]: variance$1,
24539
24629
  [DequeueTypeId]: variance$1,
24540
24630
  ...PipeInspectableProto,
@@ -25689,7 +25779,7 @@ const make$26 = (permits) => sync$2(() => new SemaphoreImpl(permits));
25689
25779
  * @category type IDs
25690
25780
  * @since 4.0.0
25691
25781
  */
25692
- const TypeId$24 = "~effect/Channel";
25782
+ const TypeId$25 = "~effect/Channel";
25693
25783
  /**
25694
25784
  * Checks whether a value is a `Channel`.
25695
25785
  *
@@ -25707,9 +25797,9 @@ const TypeId$24 = "~effect/Channel";
25707
25797
  * @category guards
25708
25798
  * @since 3.5.4
25709
25799
  */
25710
- const isChannel = (u) => hasProperty(u, TypeId$24);
25800
+ const isChannel = (u) => hasProperty(u, TypeId$25);
25711
25801
  const ChannelProto = {
25712
- [TypeId$24]: {
25802
+ [TypeId$25]: {
25713
25803
  _Env: identity,
25714
25804
  _InErr: identity,
25715
25805
  _InElem: identity,
@@ -27658,7 +27748,7 @@ const runFold = /*#__PURE__*/ dual(3, (self, initial, f) => suspend$2(() => {
27658
27748
  const toPullScoped = (self, scope) => toTransform(self)(done(), scope);
27659
27749
  //#endregion
27660
27750
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/stream.js
27661
- const TypeId$23 = "~effect/Stream";
27751
+ const TypeId$24 = "~effect/Stream";
27662
27752
  const streamVariance = {
27663
27753
  _R: identity,
27664
27754
  _E: identity,
@@ -27668,7 +27758,7 @@ const Stream$1 = function(channel) {
27668
27758
  this.channel = channel;
27669
27759
  };
27670
27760
  Stream$1.prototype = {
27671
- [TypeId$23]: streamVariance,
27761
+ [TypeId$24]: streamVariance,
27672
27762
  pipe() {
27673
27763
  return pipeArguments(this, arguments);
27674
27764
  }
@@ -27677,7 +27767,7 @@ Stream$1.prototype = {
27677
27767
  const fromChannel$2 = (channel) => new Stream$1(channel);
27678
27768
  //#endregion
27679
27769
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Sink.js
27680
- const TypeId$22 = "~effect/Sink";
27770
+ const TypeId$23 = "~effect/Sink";
27681
27771
  const endVoid = /*#__PURE__*/ succeed$4([void 0]);
27682
27772
  const sinkVariance = {
27683
27773
  _A: identity,
@@ -27687,7 +27777,7 @@ const sinkVariance = {
27687
27777
  _R: identity
27688
27778
  };
27689
27779
  const SinkProto = {
27690
- [TypeId$22]: sinkVariance,
27780
+ [TypeId$23]: sinkVariance,
27691
27781
  pipe() {
27692
27782
  return pipeArguments(this, arguments);
27693
27783
  }
@@ -27711,7 +27801,7 @@ const SinkProto = {
27711
27801
  * @category guards
27712
27802
  * @since 4.0.0
27713
27803
  */
27714
- const isSink = (u) => hasProperty(u, TypeId$22);
27804
+ const isSink = (u) => hasProperty(u, TypeId$23);
27715
27805
  /**
27716
27806
  * Creates a sink from a `Channel`.
27717
27807
  *
@@ -27946,7 +28036,7 @@ const forEachArray = (f) => fromTransform((upstream) => upstream.pipe(flatMap$2(
27946
28036
  const unwrap$3 = (effect) => fromChannel$1(unwrap$4(map$3(effect, toChannel$1)));
27947
28037
  //#endregion
27948
28038
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/rcRef.js
27949
- const TypeId$21 = "~effect/RcRef";
28039
+ const TypeId$22 = "~effect/RcRef";
27950
28040
  const stateEmpty = { _tag: "Empty" };
27951
28041
  const stateClosed = { _tag: "Closed" };
27952
28042
  const variance = {
@@ -27954,7 +28044,7 @@ const variance = {
27954
28044
  _E: identity
27955
28045
  };
27956
28046
  var RcRefImpl = class {
27957
- [TypeId$21] = variance;
28047
+ [TypeId$22] = variance;
27958
28048
  pipe() {
27959
28049
  return pipeArguments(this, arguments);
27960
28050
  }
@@ -27973,7 +28063,7 @@ var RcRefImpl = class {
27973
28063
  /** @internal */
27974
28064
  const make$25 = (options) => withFiber((fiber) => {
27975
28065
  const context = fiber.context;
27976
- const scope = get$5(context, Scope);
28066
+ const scope = get$6(context, Scope);
27977
28067
  const ref = new RcRefImpl(options.acquire, context, scope, options.idleTimeToLive !== void 0 ? fromInputUnsafe$1(options.idleTimeToLive) : void 0);
27978
28068
  return as(addFinalizerExit(scope, () => {
27979
28069
  const state = ref.state;
@@ -28036,7 +28126,7 @@ const awaitAcquiring = (self, acquiring, restore) => onExit$1(restore(join(acqui
28036
28126
  return interrupt(acquiring.fiber);
28037
28127
  });
28038
28128
  /** @internal */
28039
- const get$3 = (self_) => {
28129
+ const get$4 = (self_) => {
28040
28130
  const self = self_;
28041
28131
  return uninterruptibleMask((restore) => flatMap$2(scope, (scope) => flatMap$2(getState(self, restore), (state) => as(addFinalizerExit(scope, () => release(self, state)), state.value))));
28042
28132
  };
@@ -28154,7 +28244,7 @@ const make$24 = make$25;
28154
28244
  * @category combinators
28155
28245
  * @since 3.5.0
28156
28246
  */
28157
- const get$2 = get$3;
28247
+ const get$3 = get$4;
28158
28248
  //#endregion
28159
28249
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Stream.js
28160
28250
  /**
@@ -28185,7 +28275,7 @@ const get$2 = get$3;
28185
28275
  * @category type IDs
28186
28276
  * @since 4.0.0
28187
28277
  */
28188
- const TypeId$20 = "~effect/Stream";
28278
+ const TypeId$21 = "~effect/Stream";
28189
28279
  /**
28190
28280
  * Checks whether a value is a Stream.
28191
28281
  *
@@ -28202,7 +28292,7 @@ const TypeId$20 = "~effect/Stream";
28202
28292
  * @category guards
28203
28293
  * @since 4.0.0
28204
28294
  */
28205
- const isStream = (u) => hasProperty(u, TypeId$20);
28295
+ const isStream = (u) => hasProperty(u, TypeId$21);
28206
28296
  /**
28207
28297
  * Creates a stream from a array-emitting `Channel`.
28208
28298
  *
@@ -30114,7 +30204,7 @@ const toReadableStreamEffect = /*#__PURE__*/ dual((args) => isStream(args[0]), (
30114
30204
  * @stability unstable
30115
30205
  * @since 4.0.0
30116
30206
  */
30117
- const TypeId$19 = "~effect/FileSystem";
30207
+ const TypeId$20 = "~effect/FileSystem";
30118
30208
  /**
30119
30209
  * Service tag for platform file-system operations.
30120
30210
  *
@@ -30157,7 +30247,7 @@ const TypeId$19 = "~effect/FileSystem";
30157
30247
  * @category services
30158
30248
  * @since 4.0.0
30159
30249
  */
30160
- const FileSystem = /*#__PURE__*/ Service("effect/FileSystem");
30250
+ const FileSystem = /*#__PURE__*/ Service$1("effect/FileSystem");
30161
30251
  /**
30162
30252
  * Creates a FileSystem implementation from a partial implementation.
30163
30253
  *
@@ -30182,7 +30272,7 @@ const FileSystem = /*#__PURE__*/ Service("effect/FileSystem");
30182
30272
  */
30183
30273
  const make$23 = (impl) => FileSystem.of({
30184
30274
  ...impl,
30185
- [TypeId$19]: TypeId$19,
30275
+ [TypeId$20]: TypeId$20,
30186
30276
  exists: (path) => pipe(impl.access(path), as(true), catchTag("PlatformError", (e) => e.reason._tag === "NotFound" ? succeed$4(false) : fail$3(e))),
30187
30277
  readFileString: (path, encoding) => flatMap$2(impl.readFile(path), (_) => try_({
30188
30278
  try: () => new TextDecoder(encoding).decode(_),
@@ -30284,7 +30374,7 @@ const FileTypeId = "~effect/FileSystem/File";
30284
30374
  * @category services
30285
30375
  * @since 4.0.0
30286
30376
  */
30287
- var WatchBackend = class extends (/*#__PURE__*/ Service()("effect/FileSystem/WatchBackend")) {};
30377
+ var WatchBackend = class extends (/*#__PURE__*/ Service$1()("effect/FileSystem/WatchBackend")) {};
30288
30378
  //#endregion
30289
30379
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Path.js
30290
30380
  /**
@@ -30314,7 +30404,7 @@ var WatchBackend = class extends (/*#__PURE__*/ Service()("effect/FileSystem/Wat
30314
30404
  * @category type IDs
30315
30405
  * @since 4.0.0
30316
30406
  */
30317
- const TypeId$18 = "~effect/Path";
30407
+ const TypeId$19 = "~effect/Path";
30318
30408
  /**
30319
30409
  * Service tag for accessing the current `Path` implementation.
30320
30410
  *
@@ -30380,7 +30470,7 @@ const TypeId$18 = "~effect/Path";
30380
30470
  * @category services
30381
30471
  * @since 4.0.0
30382
30472
  */
30383
- const Path$1 = /*#__PURE__*/ Service("effect/Path");
30473
+ const Path$1 = /*#__PURE__*/ Service$1("effect/Path");
30384
30474
  /**
30385
30475
  * Creates a `Path` service from platform path operations.
30386
30476
  *
@@ -30404,7 +30494,7 @@ const Path$1 = /*#__PURE__*/ Service("effect/Path");
30404
30494
  */
30405
30495
  const make$22 = (impl) => Path$1.of({
30406
30496
  ...impl,
30407
- [TypeId$18]: TypeId$18,
30497
+ [TypeId$19]: TypeId$19,
30408
30498
  resolveWithin(root, input) {
30409
30499
  if (impl.parse(input).root !== "") return none();
30410
30500
  const base = impl.resolve(root);
@@ -30500,7 +30590,7 @@ const fromOptionExit = (option) => option._tag === "None" ? missingExit : succee
30500
30590
  * @stability stable
30501
30591
  * @since 4.0.0
30502
30592
  */
30503
- const TypeId$17 = "~effect/SchemaIssue/Issue";
30593
+ const TypeId$18 = "~effect/SchemaIssue/Issue";
30504
30594
  /**
30505
30595
  * Returns `true` if the given value is an {@link Issue}.
30506
30596
  *
@@ -30531,7 +30621,7 @@ const TypeId$17 = "~effect/SchemaIssue/Issue";
30531
30621
  * @since 4.0.0
30532
30622
  */
30533
30623
  function isIssue(u) {
30534
- return hasProperty(u, TypeId$17) && u[TypeId$17] === TypeId$17;
30624
+ return hasProperty(u, TypeId$18) && u[TypeId$18] === TypeId$18;
30535
30625
  }
30536
30626
  /**
30537
30627
  * Returns `true` when an issue contains an input reported by the schema parser.
@@ -30567,7 +30657,7 @@ function hasInput(issue) {
30567
30657
  return Object.hasOwn(issue, "input");
30568
30658
  }
30569
30659
  var IssueNodeImpl = class {
30570
- [TypeId$17] = TypeId$17;
30660
+ [TypeId$18] = TypeId$18;
30571
30661
  constructor(input, options) {
30572
30662
  if (options?.reportInput === true && input !== missing) this.input = input;
30573
30663
  }
@@ -31300,7 +31390,7 @@ const formatIso = formatIso$1;
31300
31390
  * @category encoding
31301
31391
  * @since 4.0.0
31302
31392
  */
31303
- const encode = (input) => encodeBytes(typeof input === "string" ? encoder$2.encode(input) : input);
31393
+ const encode$1 = (input) => encodeBytes(typeof input === "string" ? encoder$2.encode(input) : input);
31304
31394
  /**
31305
31395
  * Decodes a Base64 (RFC 4648) string into bytes safely.
31306
31396
  *
@@ -31327,7 +31417,7 @@ const encode = (input) => encodeBytes(typeof input === "string" ? encoder$2.enco
31327
31417
  * @category decoding
31328
31418
  * @since 4.0.0
31329
31419
  */
31330
- const decode = (str) => {
31420
+ const decode$1 = (str) => {
31331
31421
  const stripped = stripCrlf(str);
31332
31422
  const length = stripped.length;
31333
31423
  if (length % 4 !== 0) return fail$7(new EncodingError({
@@ -31396,6 +31486,120 @@ const getCode = (charCode) => {
31396
31486
  return codes[charCode];
31397
31487
  };
31398
31488
  //#endregion
31489
+ //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/encoding/Base64Url.js
31490
+ /**
31491
+ * URL-safe Base64 encoding and decoding helpers.
31492
+ *
31493
+ * @stability stable
31494
+ * @since 4.0.0
31495
+ */
31496
+ /**
31497
+ * Encodes the given value into an unpadded URL-safe Base64 string.
31498
+ *
31499
+ * **When to use**
31500
+ *
31501
+ * Use to encode text or bytes in contexts that require the URL-safe alphabet.
31502
+ *
31503
+ * **Details**
31504
+ *
31505
+ * String inputs are encoded as UTF-8 bytes before Base64Url encoding.
31506
+ * `Uint8Array` inputs are encoded directly. The output removes `=` padding
31507
+ * and replaces `+` with `-` and `/` with `_`.
31508
+ *
31509
+ * **Example** (Encoding URL-safe Base64)
31510
+ *
31511
+ * ```ts import.meta.vitest
31512
+ * import { Base64Url } from "effect/encoding"
31513
+ *
31514
+ * Base64Url.encode("hello?") // => "aGVsbG8_"
31515
+ *
31516
+ * const bytes = new Uint8Array([72, 101, 108, 108, 111, 63])
31517
+ * Base64Url.encode(bytes) // => "SGVsbG8_"
31518
+ * ```
31519
+ *
31520
+ * @see {@link decode} for decoding URL-safe Base64 to bytes
31521
+ * @see {@link decodeString} for decoding URL-safe Base64 to UTF-8 text
31522
+ *
31523
+ * @stability stable
31524
+ * @category encoding
31525
+ * @since 4.0.0
31526
+ */
31527
+ const encode = (input) => encode$1(input).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
31528
+ /**
31529
+ * Decodes a padded or unpadded URL-safe Base64 string into bytes safely.
31530
+ *
31531
+ * **When to use**
31532
+ *
31533
+ * Use to decode Base64Url text into bytes without throwing on invalid input.
31534
+ *
31535
+ * **Details**
31536
+ *
31537
+ * Returns `Result.succeed` with a `Uint8Array` when decoding succeeds, or
31538
+ * `Result.fail` with an `EncodingError` when the input is not valid
31539
+ * Base64Url. Both padded and unpadded forms are accepted when otherwise valid.
31540
+ *
31541
+ * **Example** (Decoding URL-safe Base64 bytes)
31542
+ *
31543
+ * ```ts import.meta.vitest
31544
+ * import { Result } from "effect"
31545
+ * import { Base64Url } from "effect/encoding"
31546
+ *
31547
+ * Base64Url.decode("SGVsbG8_") // => Result.succeed(new Uint8Array([72, 101, 108, 108, 111, 63]))
31548
+ * ```
31549
+ *
31550
+ * @stability stable
31551
+ * @category decoding
31552
+ * @since 4.0.0
31553
+ */
31554
+ const decode = (str) => {
31555
+ const stripped = str.replace(/[\n\r]/g, "");
31556
+ const length = stripped.length;
31557
+ if (length % 4 === 1) return fail$7(new EncodingError({
31558
+ module: "Base64Url",
31559
+ kind: "Decode",
31560
+ input: stripped,
31561
+ message: `Length should be a multiple of 4, but is ${length}`
31562
+ }));
31563
+ if (!/^[-_A-Z0-9]*?={0,2}$/i.test(stripped)) return fail$7(new EncodingError({
31564
+ module: "Base64Url",
31565
+ kind: "Decode",
31566
+ input: stripped,
31567
+ message: "Invalid input"
31568
+ }));
31569
+ let sanitized = length % 4 === 2 ? `${stripped}==` : length % 4 === 3 ? `${stripped}=` : stripped;
31570
+ sanitized = sanitized.replace(/-/g, "+").replace(/_/g, "/");
31571
+ return decode$1(sanitized);
31572
+ };
31573
+ /**
31574
+ * Decodes a padded or unpadded URL-safe Base64 string into UTF-8 text safely.
31575
+ *
31576
+ * **When to use**
31577
+ *
31578
+ * Use to decode Base64Url text into UTF-8 text without throwing on invalid
31579
+ * input.
31580
+ *
31581
+ * **Details**
31582
+ *
31583
+ * Returns `Result.succeed` with the decoded text when decoding succeeds, or
31584
+ * `Result.fail` with an `EncodingError` when the input is not valid
31585
+ * Base64Url.
31586
+ *
31587
+ * **Example** (Decoding URL-safe Base64 strings)
31588
+ *
31589
+ * ```ts import.meta.vitest
31590
+ * import { Result } from "effect"
31591
+ * import { Base64Url } from "effect/encoding"
31592
+ *
31593
+ * Base64Url.decodeString("aGVsbG8_") // => Result.succeed("hello?")
31594
+ * ```
31595
+ *
31596
+ * @stability stable
31597
+ * @category decoding
31598
+ * @since 4.0.0
31599
+ */
31600
+ const decodeString$1 = (str) => map$8(decode(str), (_) => decoder.decode(_));
31601
+ const decoder = /*#__PURE__*/ new TextDecoder();
31602
+ //#endregion
31399
31603
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/SchemaGetter.js
31400
31604
  const runGetter = (self, input, options) => {
31401
31605
  switch (self._tag) {
@@ -32004,6 +32208,39 @@ function joinKeyValue(options) {
32004
32208
  return transform$1((input) => Object.entries(input).map(([key, value]) => `${key}${keyValueSeparator}${value}`).join(separator));
32005
32209
  }
32006
32210
  /**
32211
+ * Splits a string into an array of strings by a separator.
32212
+ *
32213
+ * **When to use**
32214
+ *
32215
+ * Use when you need a schema getter to split a present encoded string
32216
+ * containing a delimited list, such as CSV values.
32217
+ *
32218
+ * **Details**
32219
+ *
32220
+ * The getter is pure and never fails. It splits by `separator` (default `,`).
32221
+ * An empty string produces an empty array, not `[""]`.
32222
+ *
32223
+ * **Example** (Splitting a comma-separated string)
32224
+ *
32225
+ * ```ts import.meta.vitest
32226
+ * import { Effect, Option, SchemaGetter } from "effect"
32227
+ *
32228
+ * const splitComma = SchemaGetter.split<string>()
32229
+ * const result = Effect.runSync(SchemaGetter.run(splitComma, Option.some("a,b,c"), {}))
32230
+ * result // => Option.some(["a", "b", "c"])
32231
+ * ```
32232
+ *
32233
+ * @see {@link splitKeyValue} when values are key-value pairs
32234
+ *
32235
+ * @stability stable
32236
+ * @category splitting
32237
+ * @since 4.0.0
32238
+ */
32239
+ function split(options) {
32240
+ const separator = options?.separator ?? ",";
32241
+ return transform$1((input) => input === "" ? [] : input.split(separator));
32242
+ }
32243
+ /**
32007
32244
  * Encodes a `Uint8Array` or string to a Base64 string.
32008
32245
  *
32009
32246
  * **Details**
@@ -32029,6 +32266,34 @@ function joinKeyValue(options) {
32029
32266
  * @since 4.0.0
32030
32267
  */
32031
32268
  function encodeBase64() {
32269
+ return transform$1(encode$1);
32270
+ }
32271
+ /**
32272
+ * Encodes a `Uint8Array` or string to a URL-safe Base64 string.
32273
+ *
32274
+ * **Details**
32275
+ *
32276
+ * The getter is pure and never fails.
32277
+ *
32278
+ * **Example** (Encoding to Base64Url)
32279
+ *
32280
+ * ```ts import.meta.vitest
32281
+ * import { Effect, Option, SchemaGetter } from "effect"
32282
+ *
32283
+ * const encode = SchemaGetter.encodeBase64Url<Uint8Array>()
32284
+ * const result = Effect.runSync(SchemaGetter.run(encode, Option.some(new Uint8Array([251, 255])), {}))
32285
+ * result // => Option.some("-_8")
32286
+ * ```
32287
+ *
32288
+ * @see {@link decodeBase64Url} for the inverse operation to `Uint8Array`
32289
+ * @see {@link decodeBase64UrlString} for the inverse operation to `string`
32290
+ * @see {@link encodeBase64} for the standard Base64 variant
32291
+ *
32292
+ * @stability stable
32293
+ * @category encoding
32294
+ * @since 4.0.0
32295
+ */
32296
+ function encodeBase64Url() {
32032
32297
  return transform$1(encode);
32033
32298
  }
32034
32299
  /**
@@ -32056,7 +32321,37 @@ function encodeBase64() {
32056
32321
  * @since 4.0.0
32057
32322
  */
32058
32323
  function decodeBase64() {
32059
- return transformEffect$1((input, options) => mapErrorEager(fromResult(decode(input)), () => new InvalidValue({ expected: "a valid Base64 string" }, input, options)));
32324
+ return transformEffect$1((input, options) => mapErrorEager(fromResult(decode$1(input)), () => new InvalidValue({ expected: "a valid Base64 string" }, input, options)));
32325
+ }
32326
+ /**
32327
+ * Decodes a URL-safe Base64 string to a UTF-8 `string`.
32328
+ *
32329
+ * **Details**
32330
+ *
32331
+ * - Fails with `SchemaIssue.InvalidValue` if the input is not valid Base64Url.
32332
+ *
32333
+ * **Example** (Decoding Base64Url to string)
32334
+ *
32335
+ * ```ts import.meta.vitest
32336
+ * import { Effect, Option, SchemaGetter } from "effect"
32337
+ *
32338
+ * const decode = SchemaGetter.decodeBase64UrlString<string>()
32339
+ * const result = await Effect.runPromise(SchemaGetter.run(decode, Option.some("aGVsbG8"), {}))
32340
+ * result // => Option.some("hello")
32341
+ * ```
32342
+ *
32343
+ * @see {@link decodeBase64Url} to decode to `Uint8Array` instead
32344
+ * @see {@link encodeBase64Url} for the inverse operation
32345
+ *
32346
+ * @stability stable
32347
+ * @category decoding
32348
+ * @since 4.0.0
32349
+ */
32350
+ function decodeBase64UrlString() {
32351
+ return transformEffect$1((input, options) => match$4(decodeString$1(input), {
32352
+ onFailure: () => fail$3(new InvalidValue({ expected: "a valid Base64Url string" }, input, options)),
32353
+ onSuccess: succeed$4
32354
+ }));
32060
32355
  }
32061
32356
  /**
32062
32357
  * Encodes a present string using `encodeURIComponent`.
@@ -32130,9 +32425,9 @@ function decodeUriComponent() {
32130
32425
  * @stability stable
32131
32426
  * @since 2.0.0
32132
32427
  */
32133
- const TypeId$16 = "~effect/BigDecimal";
32428
+ const TypeId$17 = "~effect/BigDecimal";
32134
32429
  const BigDecimalProto = {
32135
- [TypeId$16]: TypeId$16,
32430
+ [TypeId$17]: TypeId$17,
32136
32431
  [symbol$2]() {
32137
32432
  const normalized = normalize(this);
32138
32433
  return combine$2(string$1(String(normalized.value)), number$1(normalized.scale));
@@ -32180,7 +32475,7 @@ const BigDecimalProto = {
32180
32475
  * @category guards
32181
32476
  * @since 2.0.0
32182
32477
  */
32183
- const isBigDecimal = (u) => hasProperty(u, TypeId$16);
32478
+ const isBigDecimal = (u) => hasProperty(u, TypeId$17);
32184
32479
  /**
32185
32480
  * Creates a `BigDecimal` from a `bigint` value and a safe integer scale.
32186
32481
  *
@@ -32425,7 +32720,7 @@ const Middleware = class extends Class$3 {
32425
32720
  return new Middleware(this.encode, this.decode);
32426
32721
  }
32427
32722
  };
32428
- const TypeId$15 = "~effect/SchemaTransformation/Transformation";
32723
+ const TypeId$16 = "~effect/SchemaTransformation/Transformation";
32429
32724
  /**
32430
32725
  * Constructs a bidirectional schema transformation from its decode and encode getters.
32431
32726
  *
@@ -32434,7 +32729,7 @@ const TypeId$15 = "~effect/SchemaTransformation/Transformation";
32434
32729
  * @since 4.0.0
32435
32730
  */
32436
32731
  const Transformation = class extends Class$3 {
32437
- [TypeId$15] = TypeId$15;
32732
+ [TypeId$16] = TypeId$16;
32438
32733
  _tag = "Transformation";
32439
32734
  decode;
32440
32735
  encode;
@@ -32477,7 +32772,7 @@ const Transformation = class extends Class$3 {
32477
32772
  * @since 4.0.0
32478
32773
  */
32479
32774
  function isTransformation(u) {
32480
- return hasProperty(u, TypeId$15) && u[TypeId$15] === TypeId$15;
32775
+ return hasProperty(u, TypeId$16) && u[TypeId$16] === TypeId$16;
32481
32776
  }
32482
32777
  /**
32483
32778
  * Constructs a `Transformation` from an object with `decode` and `encode`
@@ -32881,6 +33176,38 @@ const urlFromString = /*#__PURE__*/ transformEffect({
32881
33176
  */
32882
33177
  const uint8ArrayFromBase64String = /*#__PURE__*/ new Transformation(/*#__PURE__*/ decodeBase64(), /*#__PURE__*/ encodeBase64());
32883
33178
  /**
33179
+ * Decodes a base64 (URL) encoded `string` into a UTF-8 `string` and encodes it back.
33180
+ *
33181
+ * **When to use**
33182
+ *
33183
+ * Use when you need a schema transformation for text data transmitted as Base64
33184
+ * URL-safe strings.
33185
+ *
33186
+ * **Details**
33187
+ *
33188
+ * Decoding parses the Base64 URL string into a UTF-8 string. Encoding writes
33189
+ * the string as a Base64 URL string.
33190
+ *
33191
+ * **Example** (Converting Base64Url to a string)
33192
+ *
33193
+ * ```ts import.meta.vitest
33194
+ * import { Schema, SchemaTransformation } from "effect"
33195
+ *
33196
+ * const schema = Schema.String.pipe(
33197
+ * Schema.decodeTo(Schema.String, SchemaTransformation.stringFromBase64UrlString)
33198
+ * )
33199
+ * Schema.decodeSync(schema)("aGVsbG8") // => "hello"
33200
+ * ```
33201
+ *
33202
+ * @see {@link stringFromBase64String}
33203
+ * @see `Schema.StringFromBase64Url` - a ready-made schema wrapping this transformation.
33204
+ *
33205
+ * @stability stable
33206
+ * @category encoding
33207
+ * @since 4.0.0
33208
+ */
33209
+ const stringFromBase64UrlString = /*#__PURE__*/ new Transformation(/*#__PURE__*/ decodeBase64UrlString(), /*#__PURE__*/ encodeBase64Url());
33210
+ /**
32884
33211
  * Decodes a URI component encoded string into a UTF-8 string and encodes a
32885
33212
  * UTF-8 string into a URI component encoded string.
32886
33213
  *
@@ -33092,9 +33419,9 @@ const Context = class {
33092
33419
  this.annotations = annotations;
33093
33420
  }
33094
33421
  };
33095
- const TypeId$14 = "~effect/Schema";
33422
+ const TypeId$15 = "~effect/Schema";
33096
33423
  var ASTNodeImpl = class {
33097
- [TypeId$14] = TypeId$14;
33424
+ [TypeId$15] = TypeId$15;
33098
33425
  annotations;
33099
33426
  checks;
33100
33427
  encoding;
@@ -35215,7 +35542,7 @@ const make$19 = (spawn) => {
35215
35542
  * @category services
35216
35543
  * @since 4.0.0
35217
35544
  */
35218
- var ChildProcessSpawner = class extends (/*#__PURE__*/ Service()("effect/process/ChildProcessSpawner")) {};
35545
+ var ChildProcessSpawner = class extends (/*#__PURE__*/ Service$1()("effect/process/ChildProcessSpawner")) {};
35219
35546
  //#endregion
35220
35547
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/process/ChildProcess.js
35221
35548
  /**
@@ -35230,7 +35557,7 @@ var ChildProcessSpawner = class extends (/*#__PURE__*/ Service()("effect/process
35230
35557
  * @stability unstable
35231
35558
  * @since 4.0.0
35232
35559
  */
35233
- const TypeId$13 = "~effect/process/ChildProcess";
35560
+ const TypeId$14 = "~effect/process/ChildProcess";
35234
35561
  const Proto$7 = {
35235
35562
  .../*#__PURE__*/ Prototype({
35236
35563
  label: "Command",
@@ -35238,7 +35565,7 @@ const Proto$7 = {
35238
35565
  return getUnsafe$1(fiber.context, ChildProcessSpawner).spawn(this);
35239
35566
  }
35240
35567
  }),
35241
- [TypeId$13]: TypeId$13
35568
+ [TypeId$14]: TypeId$14
35242
35569
  };
35243
35570
  const makeStandardCommand = (command, args, options) => Object.assign(Object.create(Proto$7), {
35244
35571
  _tag: "StandardCommand",
@@ -36210,7 +36537,15 @@ const flattenCommand = (command) => {
36210
36537
  * @stability unstable
36211
36538
  * @since 4.0.0
36212
36539
  */
36213
- const TypeId$12 = "~effect/http/Cookies";
36540
+ const TypeId$13 = "~effect/http/Cookies";
36541
+ /**
36542
+ * Returns `true` when a value is a `Cookies` collection.
36543
+ *
36544
+ * @stability unstable
36545
+ * @category guards
36546
+ * @since 4.0.0
36547
+ */
36548
+ const isCookies = (u) => hasProperty(u, TypeId$13);
36214
36549
  const CookieTypeId = "~effect/http/Cookies/Cookie";
36215
36550
  const CookieErrorTypeId = "~effect/http/Cookies/CookieError";
36216
36551
  /**
@@ -36264,7 +36599,7 @@ var CookiesError = class CookiesError extends (/*#__PURE__*/ TaggedError$1("Cook
36264
36599
  }
36265
36600
  };
36266
36601
  const Proto$6 = {
36267
- [TypeId$12]: TypeId$12,
36602
+ [TypeId$13]: TypeId$13,
36268
36603
  ...BaseProto,
36269
36604
  toJSON() {
36270
36605
  return {
@@ -36432,6 +36767,28 @@ const CookieProto = {
36432
36767
  };
36433
36768
  }
36434
36769
  };
36770
+ /**
36771
+ * Creates a cookie, validating the name, encoded value, domain, path, and finite `maxAge`.
36772
+ *
36773
+ * **Details**
36774
+ *
36775
+ * Returns a `CookiesError` in the `Result` failure channel when validation fails.
36776
+ *
36777
+ * @stability unstable
36778
+ * @category constructors
36779
+ * @since 4.0.0
36780
+ */
36781
+ function makeCookie(name, value, options) {
36782
+ const encodedValue = encodeURIComponent(value);
36783
+ const error = validateCookie(name, encodedValue, options);
36784
+ if (error !== void 0) return fail$7(error);
36785
+ return succeed$8(Object.assign(Object.create(CookieProto), {
36786
+ name,
36787
+ value,
36788
+ valueEncoded: encodedValue,
36789
+ options
36790
+ }));
36791
+ }
36435
36792
  function validateCookie(name, encodedValue, options) {
36436
36793
  if (!cookieNameRegExp.test(name)) return CookiesError.fromReason("InvalidCookieName");
36437
36794
  if (encodedValue && !fieldContentRegExp.test(encodedValue)) return CookiesError.fromReason("InvalidCookieValue");
@@ -36440,6 +36797,34 @@ function validateCookie(name, encodedValue, options) {
36440
36797
  if (options?.maxAge !== void 0 && !isFinite$1(fromInputUnsafe$1(options.maxAge))) return CookiesError.fromReason("CookieInfinityMaxAge");
36441
36798
  }
36442
36799
  /**
36800
+ * Create a new cookie, throwing an error if invalid
36801
+ *
36802
+ * @stability unstable
36803
+ * @category constructors
36804
+ * @since 4.0.0
36805
+ */
36806
+ const makeCookieUnsafe = (name, value, options) => getOrThrow(makeCookie(name, value, options));
36807
+ /**
36808
+ * Creates and adds a cookie by name and value, throwing if the cookie fields are invalid.
36809
+ *
36810
+ * @stability unstable
36811
+ * @category combinators
36812
+ * @since 4.0.0
36813
+ */
36814
+ const setUnsafe = /*#__PURE__*/ dual((args) => isCookies(args[0]), (self, name, value, options) => fromReadonlyRecord(set$3(self.cookies, name, makeCookieUnsafe(name, value, options))));
36815
+ /**
36816
+ * Adds an expired cookie to a Cookies object, throwing an error if invalid
36817
+ *
36818
+ * @stability unstable
36819
+ * @category combinators
36820
+ * @since 4.0.0
36821
+ */
36822
+ const expireCookieUnsafe = /*#__PURE__*/ dual((args) => isCookies(args[0]), (self, name, options) => setUnsafe(self, name, "", {
36823
+ ...options,
36824
+ maxAge: 0,
36825
+ expires: /* @__PURE__ */ new Date(0)
36826
+ }));
36827
+ /**
36443
36828
  * Serializes a cookie into a string.
36444
36829
  *
36445
36830
  * **Details**
@@ -36545,6 +36930,8 @@ const value$1 = (self) => {
36545
36930
  if (redactedRegistry.has(self)) return redactedRegistry.get(self);
36546
36931
  else throw new Error("Unable to get redacted value" + (self.label ? ` with label: "${self.label}"` : ""));
36547
36932
  };
36933
+ /** @internal */
36934
+ const stringOrRedacted = (val) => typeof val === "string" ? val : value$1(val);
36548
36935
  //#endregion
36549
36936
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Redacted.js
36550
36937
  /**
@@ -36560,7 +36947,7 @@ const value$1 = (self) => {
36560
36947
  * @stability stable
36561
36948
  * @since 3.3.0
36562
36949
  */
36563
- const TypeId$11 = "~effect/Redacted";
36950
+ const TypeId$12 = "~effect/Redacted";
36564
36951
  /**
36565
36952
  * Returns `true` if a value is a `Redacted` wrapper.
36566
36953
  *
@@ -36589,7 +36976,7 @@ const TypeId$11 = "~effect/Redacted";
36589
36976
  * @category guards
36590
36977
  * @since 3.3.0
36591
36978
  */
36592
- const isRedacted = (u) => hasProperty(u, TypeId$11);
36979
+ const isRedacted = (u) => hasProperty(u, TypeId$12);
36593
36980
  /**
36594
36981
  * Creates a `Redacted` wrapper for a sensitive value.
36595
36982
  *
@@ -36624,7 +37011,7 @@ const make$16 = (value, options) => {
36624
37011
  return self;
36625
37012
  };
36626
37013
  const Proto$5 = {
36627
- [TypeId$11]: { _A: (_) => _ },
37014
+ [TypeId$12]: { _A: (_) => _ },
36628
37015
  label: void 0,
36629
37016
  ...PipeInspectableProto,
36630
37017
  toJSON() {
@@ -36713,11 +37100,11 @@ const makeEquivalence = (isEquivalent) => make$41((x, y) => isEquivalent(value(x
36713
37100
  * @category type IDs
36714
37101
  * @since 4.0.0
36715
37102
  */
36716
- const TypeId$10 = /*#__PURE__*/ Symbol.for("~effect/http/Headers");
37103
+ const TypeId$11 = /*#__PURE__*/ Symbol.for("~effect/http/Headers");
36717
37104
  const Proto$4 = /*#__PURE__*/ Object.defineProperties(/*#__PURE__*/ Object.create(null), {
36718
- [TypeId$10]: { value: TypeId$10 },
37105
+ [TypeId$11]: { value: TypeId$11 },
36719
37106
  [symbolRedactable]: { value(context) {
36720
- return redact$1(this, get$5(context, CurrentRedactedNames$1));
37107
+ return redact$1(this, get$6(context, CurrentRedactedNames$1));
36721
37108
  } },
36722
37109
  toJSON: { value() {
36723
37110
  return redact$2(this);
@@ -36785,6 +37172,18 @@ const fromInput$1 = (input) => {
36785
37172
  */
36786
37173
  const fromRecordUnsafe = (input) => Object.setPrototypeOf(input, Proto$4);
36787
37174
  /**
37175
+ * Gets a header value by name safely.
37176
+ *
37177
+ * **Details**
37178
+ *
37179
+ * The lookup lowercases the provided header name and returns `Option.none()` when absent.
37180
+ *
37181
+ * @stability unstable
37182
+ * @category combinators
37183
+ * @since 4.0.0
37184
+ */
37185
+ const get$2 = /*#__PURE__*/ dual(2, (self, key) => fromUndefinedOr(self[key.toLowerCase()]));
37186
+ /**
36788
37187
  * Returns a new `Headers` collection with the given header set.
36789
37188
  *
36790
37189
  * **Details**
@@ -37717,7 +38116,7 @@ const unwrap$1 = (value$7) => typeof value$7 === "string" ? value$7 : value(valu
37717
38116
  * @stability unstable
37718
38117
  * @since 4.0.0
37719
38118
  */
37720
- const TypeId$9 = "~effect/http/UrlParams";
38119
+ const TypeId$10 = "~effect/http/UrlParams";
37721
38120
  /**
37722
38121
  * Returns `true` when a value is a `UrlParams` instance.
37723
38122
  *
@@ -37725,17 +38124,17 @@ const TypeId$9 = "~effect/http/UrlParams";
37725
38124
  * @category guards
37726
38125
  * @since 4.0.0
37727
38126
  */
37728
- const isUrlParams = (u) => hasProperty(u, TypeId$9);
38127
+ const isUrlParams = (u) => hasProperty(u, TypeId$10);
37729
38128
  const Proto$3 = {
37730
38129
  ...PipeInspectableProto,
37731
- [TypeId$9]: TypeId$9,
38130
+ [TypeId$10]: TypeId$10,
37732
38131
  [Symbol.iterator]() {
37733
38132
  return this.params[Symbol.iterator]();
37734
38133
  },
37735
38134
  [symbolRedactable](context) {
37736
38135
  return {
37737
38136
  _id: "UrlParams",
37738
- params: Object.fromEntries(redact(this, get$5(context, CurrentRedactedNames)))
38137
+ params: Object.fromEntries(redact(this, get$6(context, CurrentRedactedNames)))
37739
38138
  };
37740
38139
  },
37741
38140
  toJSON() {
@@ -37844,6 +38243,18 @@ const setAll = /*#__PURE__*/ dual(2, (self, input) => {
37844
38243
  return make$14(params);
37845
38244
  });
37846
38245
  /**
38246
+ * Serializes `UrlParams` to a URL query string without a leading question mark.
38247
+ *
38248
+ * **Gotchas**
38249
+ *
38250
+ * The output contains the unwrapped values of `Redacted` parameters.
38251
+ *
38252
+ * @stability unstable
38253
+ * @category converting
38254
+ * @since 4.0.0
38255
+ */
38256
+ const toString = (input) => new URLSearchParams(fromInput(input).params.map(([key, value]) => [key, unwrap$1(value)])).toString();
38257
+ /**
37847
38258
  * Returns the parameter pairs with selected values wrapped in `Redacted`.
37848
38259
  *
37849
38260
  * **Details**
@@ -37936,7 +38347,7 @@ const decodeQueryKey = (key) => {
37936
38347
  return key;
37937
38348
  }
37938
38349
  };
37939
- const currentRedactedNames = () => get$5(globalThis["~effect/Fiber/currentFiber"]?.context ?? empty$8(), CurrentRedactedNames);
38350
+ const currentRedactedNames = () => get$6(globalThis["~effect/Fiber/currentFiber"]?.context ?? empty$8(), CurrentRedactedNames);
37940
38351
  /**
37941
38352
  * Query parameter names or patterns to redact in inspection, spans and errors.
37942
38353
  *
@@ -38401,10 +38812,10 @@ const constructorCompiler = (ast) => resolve(ast).makeEffect;
38401
38812
  //#endregion
38402
38813
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/schema/make.js
38403
38814
  /** @internal */
38404
- const TypeId$8 = "~effect/Schema/Schema";
38815
+ const TypeId$9 = "~effect/Schema/Schema";
38405
38816
  const RebuildOptions = /*#__PURE__*/ Symbol();
38406
38817
  const SchemaProto = {
38407
- [TypeId$8]: TypeId$8,
38818
+ [TypeId$9]: TypeId$9,
38408
38819
  get make() {
38409
38820
  const value = make$13(this);
38410
38821
  Object.defineProperty(this, "make", {
@@ -39781,7 +40192,7 @@ function isSchemaError$1(u) {
39781
40192
  }
39782
40193
  //#endregion
39783
40194
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Schema.js
39784
- const TypeId$7 = TypeId$8;
40195
+ const TypeId$8 = TypeId$9;
39785
40196
  /**
39786
40197
  * Creates a schema for a **parametric** type (a generic container such as
39787
40198
  * `Array<A>`, `Option<A>`, etc.) by accepting a list of type-parameter schemas
@@ -40319,7 +40730,7 @@ const make$11 = make$12;
40319
40730
  * @since 3.10.0
40320
40731
  */
40321
40732
  function isSchema(u) {
40322
- return hasProperty(u, TypeId$7) && u[TypeId$7] === TypeId$7;
40733
+ return hasProperty(u, TypeId$8) && u[TypeId$8] === TypeId$8;
40323
40734
  }
40324
40735
  /**
40325
40736
  * Creates an exact optional key schema for struct fields. Unlike `optional`,
@@ -41503,6 +41914,29 @@ function makeIsMinLength(minLength, minCodePoints, annotations) {
41503
41914
  });
41504
41915
  }
41505
41916
  /**
41917
+ * Validates that a value has at least one element. Works with strings and arrays.
41918
+ * This is equivalent to `isMinLength(1)`.
41919
+ *
41920
+ * **Details**
41921
+ *
41922
+ * JSON Schema:
41923
+ *
41924
+ * This check corresponds to the `minLength: 1` constraint for strings or the
41925
+ * `minItems: 1` constraint for arrays in JSON Schema.
41926
+ *
41927
+ * Arbitrary:
41928
+ *
41929
+ * During arbitrary generation, this applies a `minLength: 1`
41930
+ * constraint to ensure generated strings or arrays are non-empty.
41931
+ *
41932
+ * @stability stable
41933
+ * @category validation
41934
+ * @since 4.0.0
41935
+ */
41936
+ function isNonEmpty(annotations) {
41937
+ return makeIsMinLength(1, 1, annotations);
41938
+ }
41939
+ /**
41506
41940
  * Validates that a value has at most the specified length. Works with strings
41507
41941
  * and arrays.
41508
41942
  *
@@ -41547,6 +41981,15 @@ function normalizeCardinality(value) {
41547
41981
  if (!globalThis.Number.isFinite(value)) throw new globalThis.RangeError(`Expected a finite number, got ${value}`);
41548
41982
  return Math.max(0, Math.floor(value));
41549
41983
  }
41984
+ /**
41985
+ * Schema for non-empty strings. Validates that a string has at least one
41986
+ * character.
41987
+ *
41988
+ * @stability stable
41989
+ * @category schemas
41990
+ * @since 3.10.0
41991
+ */
41992
+ const NonEmptyString = /*#__PURE__*/ String$2.check(/*#__PURE__*/ isNonEmpty());
41550
41993
  const getErrorOptionsKey = (options) => (options?.includeStack === true ? 1 : 0) | (options?.excludeCause === true ? 2 : 0);
41551
41994
  const getErrorOptions = (key) => {
41552
41995
  switch (key) {
@@ -41694,6 +42137,22 @@ globalThis.File;
41694
42137
  globalThis.FormData;
41695
42138
  globalThis.URLSearchParams;
41696
42139
  /**
42140
+ * Decodes a base64 (URL) encoded string into a UTF-8 string.
42141
+ *
42142
+ * **Details**
42143
+ *
42144
+ * Decoding:
42145
+ * - A **valid** base64 (URL) encoded string is decoded as a UTF-8 `string`.
42146
+ *
42147
+ * Encoding:
42148
+ * - A `string` is encoded as a base64 (URL) encoded string.
42149
+ *
42150
+ * @stability stable
42151
+ * @category schemas
42152
+ * @since 3.10.0
42153
+ */
42154
+ const StringFromBase64Url = /*#__PURE__*/ String$2.annotate({ expected: "a base64 (URL) encoded string that will be decoded as a UTF-8 string" }).pipe(/*#__PURE__*/ decodeTo(String$2, stringFromBase64UrlString));
42155
+ /**
41697
42156
  * Decodes a URI component encoded string into a UTF-8 string.
41698
42157
  * Can be used to store data in a URL.
41699
42158
  *
@@ -42255,7 +42714,7 @@ function makeClass(Inherited, identifier, struct$1, annotations, proto) {
42255
42714
  }
42256
42715
  });
42257
42716
  }
42258
- static [TypeId$7] = TypeId$7;
42717
+ static [TypeId$8] = TypeId$8;
42259
42718
  get [ClassTypeId]() {
42260
42719
  return ClassTypeId;
42261
42720
  }
@@ -42655,7 +43114,7 @@ const MutableJson = /*#__PURE__*/ make$11(/*#__PURE__*/ annotate(MutableJson$1,
42655
43114
  * @stability unstable
42656
43115
  * @since 4.0.0
42657
43116
  */
42658
- const TypeId$6 = "~effect/http/HttpClientError";
43117
+ const TypeId$7 = "~effect/http/HttpClientError";
42659
43118
  /**
42660
43119
  * Returns `true` when a value is an `HttpClientError`.
42661
43120
  *
@@ -42663,7 +43122,7 @@ const TypeId$6 = "~effect/http/HttpClientError";
42663
43122
  * @category guards
42664
43123
  * @since 4.0.0
42665
43124
  */
42666
- const isHttpClientError = (u) => hasProperty(u, TypeId$6);
43125
+ const isHttpClientError = (u) => hasProperty(u, TypeId$7);
42667
43126
  /**
42668
43127
  * Error wrapper for HTTP client failures, exposing the failed request and the optional response through its `reason`.
42669
43128
  *
@@ -42685,7 +43144,7 @@ var HttpClientError = class extends (/*#__PURE__*/ TaggedError$1("HttpClientErro
42685
43144
  * @stability unstable
42686
43145
  * @since 4.0.0
42687
43146
  */
42688
- [TypeId$6] = TypeId$6;
43147
+ [TypeId$7] = TypeId$7;
42689
43148
  /**
42690
43149
  * HTTP request associated with the client failure.
42691
43150
  *
@@ -42884,7 +43343,7 @@ var EmptyBodyError = class extends (/*#__PURE__*/ TaggedError$1("EmptyBodyError"
42884
43343
  * @category schemas
42885
43344
  * @since 4.0.0
42886
43345
  */
42887
- var HttpClientErrorSchema = class HttpClientErrorSchema extends (/*#__PURE__*/ Error$1(TypeId$6)({
43346
+ var HttpClientErrorSchema = class HttpClientErrorSchema extends (/*#__PURE__*/ Error$1(TypeId$7)({
42888
43347
  _tag: /*#__PURE__*/ tag("HttpError"),
42889
43348
  kind: /*#__PURE__*/ Literals([
42890
43349
  "EncodeError",
@@ -42919,7 +43378,7 @@ var HttpClientErrorSchema = class HttpClientErrorSchema extends (/*#__PURE__*/ E
42919
43378
  * @category type IDs
42920
43379
  * @since 4.0.0
42921
43380
  */
42922
- const TypeId$5 = "~effect/socket/Socket";
43381
+ const TypeId$6 = "~effect/socket/Socket";
42923
43382
  /**
42924
43383
  * Service tag for bidirectional socket transports.
42925
43384
  *
@@ -42932,7 +43391,7 @@ const TypeId$5 = "~effect/socket/Socket";
42932
43391
  * @category services
42933
43392
  * @since 4.0.0
42934
43393
  */
42935
- const Socket = /*#__PURE__*/ Service("effect/socket/Socket");
43394
+ const Socket = /*#__PURE__*/ Service$1("effect/socket/Socket");
42936
43395
  /**
42937
43396
  * Constructs a `Socket` from a reader acquisition and a scoped writer.
42938
43397
  *
@@ -42947,7 +43406,7 @@ const Socket = /*#__PURE__*/ Service("effect/socket/Socket");
42947
43406
  * @since 4.0.0
42948
43407
  */
42949
43408
  const make$10 = (options) => Socket.of({
42950
- [TypeId$5]: TypeId$5,
43409
+ [TypeId$6]: TypeId$6,
42951
43410
  reader: options.reader,
42952
43411
  writer: options.writer
42953
43412
  });
@@ -43181,7 +43640,7 @@ const closeError = (code, closeReason) => new SocketError({ reason: new SocketCl
43181
43640
  * @category services
43182
43641
  * @since 4.0.0
43183
43642
  */
43184
- var WebSocketConstructor = class extends (/*#__PURE__*/ Service()("@effect/platform/Socket/WebSocketConstructor")) {};
43643
+ var WebSocketConstructor = class extends (/*#__PURE__*/ Service$1()("@effect/platform/Socket/WebSocketConstructor")) {};
43185
43644
  /**
43186
43645
  * Layer that provides `WebSocketConstructor` using `globalThis.WebSocket`.
43187
43646
  * Rejects client options objects, including those with handshake headers.
@@ -43429,7 +43888,7 @@ const layerWebSocket = /*#__PURE__*/ flow(makeWebSocket, /*#__PURE__*/ effect(So
43429
43888
  * @category services
43430
43889
  * @since 4.0.0
43431
43890
  */
43432
- var Collector = class extends (/*#__PURE__*/ Service()("effect/workers/Transferable/Collector")) {};
43891
+ var Collector = class extends (/*#__PURE__*/ Service$1()("effect/workers/Transferable/Collector")) {};
43433
43892
  /**
43434
43893
  * Creates a mutable `Collector` service directly, exposing unsafe synchronous
43435
43894
  * methods for reading, adding, and clearing collected transferables.
@@ -43554,7 +44013,7 @@ function Stream(success, error) {
43554
44013
  * @category services
43555
44014
  * @since 4.0.0
43556
44015
  */
43557
- var ClientAbort = class extends (/*#__PURE__*/ Service()("effect/rpc/RpcSchema/ClientAbort")) {
44016
+ var ClientAbort = class extends (/*#__PURE__*/ Service$1()("effect/rpc/RpcSchema/ClientAbort")) {
43558
44017
  static annotation = /*#__PURE__*/ this.context(true).pipe(/*#__PURE__*/ add(StackTrace, {
43559
44018
  name: "ClientAbort",
43560
44019
  stack: constUndefined,
@@ -43563,7 +44022,7 @@ var ClientAbort = class extends (/*#__PURE__*/ Service()("effect/rpc/RpcSchema/C
43563
44022
  };
43564
44023
  //#endregion
43565
44024
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/rpc/Rpc.js
43566
- const TypeId$4 = "~effect/rpc/Rpc";
44025
+ const TypeId$5 = "~effect/rpc/Rpc";
43567
44026
  /**
43568
44027
  * Represents server-side metadata for the client associated with an RPC request.
43569
44028
  *
@@ -43594,7 +44053,7 @@ var ServerClient = class {
43594
44053
  }
43595
44054
  };
43596
44055
  const Proto$2 = {
43597
- [TypeId$4]: TypeId$4,
44056
+ [TypeId$5]: TypeId$5,
43598
44057
  pipe() {
43599
44058
  return pipeArguments(this, arguments);
43600
44059
  },
@@ -47626,7 +48085,7 @@ const decodeText = (bytes) => (sharedTextDecoder ??= new TextDecoder()).decode(b
47626
48085
  * @category services
47627
48086
  * @since 4.0.0
47628
48087
  */
47629
- var RpcSerialization = class extends (/*#__PURE__*/ Service()("effect/rpc/RpcSerialization")) {};
48088
+ var RpcSerialization = class extends (/*#__PURE__*/ Service$1()("effect/rpc/RpcSerialization")) {};
47630
48089
  /**
47631
48090
  * JSON RPC serialization for whole message payloads. It does not include
47632
48091
  * message framing, so it is intended for transports that frame responses
@@ -47807,7 +48266,7 @@ const withRunClient = (f) => suspend$2(() => {
47807
48266
  * @category type IDs
47808
48267
  * @since 4.0.0
47809
48268
  */
47810
- const TypeId$3 = "~effect/Stdio";
48269
+ const TypeId$4 = "~effect/Stdio";
47811
48270
  /**
47812
48271
  * Service tag for process standard I/O.
47813
48272
  *
@@ -47823,7 +48282,7 @@ const TypeId$3 = "~effect/Stdio";
47823
48282
  * @category services
47824
48283
  * @since 4.0.0
47825
48284
  */
47826
- const Stdio = /*#__PURE__*/ Service(TypeId$3);
48285
+ const Stdio = /*#__PURE__*/ Service$1(TypeId$4);
47827
48286
  /**
47828
48287
  * Creates a `Stdio` service implementation from the provided fields and
47829
48288
  * attaches the `Stdio` type identifier.
@@ -47846,7 +48305,7 @@ const Stdio = /*#__PURE__*/ Service(TypeId$3);
47846
48305
  * @since 4.0.0
47847
48306
  */
47848
48307
  const make$8 = (options) => ({
47849
- [TypeId$3]: TypeId$3,
48308
+ [TypeId$4]: TypeId$4,
47850
48309
  stdinIsTerminal: succeed$4(false),
47851
48310
  stdoutIsTerminal: succeed$4(false),
47852
48311
  stderrIsTerminal: succeed$4(false),
@@ -48353,7 +48812,7 @@ function trieNodeAt(root, path) {
48353
48812
  * @stability stable
48354
48813
  * @since 4.0.0
48355
48814
  */
48356
- const TypeId$2 = "~effect/Config";
48815
+ const TypeId$3 = "~effect/Config";
48357
48816
  /**
48358
48817
  * Returns `true` if `u` is a `Config` instance.
48359
48818
  *
@@ -48375,7 +48834,7 @@ const TypeId$2 = "~effect/Config";
48375
48834
  * @category guards
48376
48835
  * @since 2.0.0
48377
48836
  */
48378
- const isConfig = (u) => hasProperty(u, TypeId$2);
48837
+ const isConfig = (u) => hasProperty(u, TypeId$3);
48379
48838
  /**
48380
48839
  * Represents the error type produced when config loading or validation fails.
48381
48840
  *
@@ -48418,7 +48877,7 @@ const Proto = {
48418
48877
  return this.parse(fiber.getRef(ConfigProvider));
48419
48878
  }
48420
48879
  }),
48421
- [TypeId$2]: TypeId$2,
48880
+ [TypeId$3]: TypeId$3,
48422
48881
  toJSON() {
48423
48882
  return { _id: "Config" };
48424
48883
  }
@@ -48859,6 +49318,16 @@ function succeed(value) {
48859
49318
  function String$1(name) {
48860
49319
  return schema(String$2, name);
48861
49320
  }
49321
+ function Array$1(value, pathOrOptions, options) {
49322
+ const hasPath = isPath(pathOrOptions);
49323
+ const resolvedOptions = hasPath ? options : pathOrOptions;
49324
+ const array = ArraySchema(value);
49325
+ const separator = resolvedOptions?.separator ?? ",";
49326
+ return schema(Union([String$2.pipe(decodeTo(toCodecStringTree(array), {
49327
+ decode: split(resolvedOptions),
49328
+ encode: compose(passthrough$1({ strict: false }), transform$1((input) => input.join(separator)))
49329
+ })), array]), hasPath ? pathOrOptions : void 0);
49330
+ }
48862
49331
  function Record(key, value, pathOrOptions, options) {
48863
49332
  const hasPath = isPath(pathOrOptions);
48864
49333
  const record = Record$1(key, value);
@@ -49059,7 +49528,7 @@ function v7Bytes(timestampMillis, bytes = randomBytes()) {
49059
49528
  * @stability unstable
49060
49529
  * @since 4.0.0
49061
49530
  */
49062
- const TypeId$1 = "~effect/Crypto";
49531
+ const TypeId$2 = "~effect/Crypto";
49063
49532
  /**
49064
49533
  * Service tag for platform cryptography.
49065
49534
  *
@@ -49079,7 +49548,7 @@ const TypeId$1 = "~effect/Crypto";
49079
49548
  * @category services
49080
49549
  * @since 4.0.0
49081
49550
  */
49082
- const Crypto = /*#__PURE__*/ Service("effect/Crypto");
49551
+ const Crypto = /*#__PURE__*/ Service$1("effect/Crypto");
49083
49552
  /**
49084
49553
  * Creates a `Crypto` service from the primitive implementation, deriving the
49085
49554
  * random generator helpers and UUID generation from those primitives.
@@ -49132,7 +49601,7 @@ const make$4 = (impl) => {
49132
49601
  }
49133
49602
  };
49134
49603
  return Crypto.of({
49135
- [TypeId$1]: TypeId$1,
49604
+ [TypeId$2]: TypeId$2,
49136
49605
  randomBytes,
49137
49606
  nextDoubleUnsafe,
49138
49607
  nextIntUnsafe,
@@ -49790,7 +50259,7 @@ const layer$4 = /* @__PURE__ */ succeed$5(Stdio, /*#__PURE__*/ make$8({
49790
50259
  }));
49791
50260
  //#endregion
49792
50261
  //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/Terminal.js
49793
- const TypeId = "~effect/Terminal";
50262
+ const TypeId$1 = "~effect/Terminal";
49794
50263
  const QuitErrorTypeId = "~effect/Terminal/QuitError";
49795
50264
  /**
49796
50265
  * Represents an error that occurs when a user attempts to
@@ -49847,7 +50316,7 @@ const isQuitError = (u) => hasProperty(u, QuitErrorTypeId);
49847
50316
  * @category services
49848
50317
  * @since 4.0.0
49849
50318
  */
49850
- const Terminal = /*#__PURE__*/ Service("effect/Terminal");
50319
+ const Terminal = /*#__PURE__*/ Service$1("effect/Terminal");
49851
50320
  /**
49852
50321
  * Creates a `Terminal` service implementation.
49853
50322
  *
@@ -49869,7 +50338,7 @@ const Terminal = /*#__PURE__*/ Service("effect/Terminal");
49869
50338
  */
49870
50339
  const make$2 = (impl) => Terminal.of({
49871
50340
  ...impl,
49872
- [TypeId]: TypeId
50341
+ [TypeId$1]: TypeId$1
49873
50342
  });
49874
50343
  /**
49875
50344
  * Provides the default process-backed `Terminal` service, ending key input on
@@ -49952,13 +50421,13 @@ const layer$3 = /*#__PURE__*/ effect(Terminal, /*#__PURE__*/ (/* @__PURE__ */ fn
49952
50421
  stdin.on("keypress", handleKeypress);
49953
50422
  if (inputEnded) handleEnd();
49954
50423
  else {
49955
- yield* get$2(rlRef);
50424
+ yield* get$3(rlRef);
49956
50425
  stdin.once("end", handleEnd);
49957
50426
  }
49958
50427
  return queue;
49959
50428
  });
49960
50429
  const readLine = suspend$2(() => poll(lines).pipe(flatMap$2(match$6({
49961
- onNone: () => scoped(andThen(get$2(rlRef), take$1(lines))),
50430
+ onNone: () => scoped(andThen(get$3(rlRef), take$1(lines))),
49962
50431
  onSome: succeed$4
49963
50432
  })), mapError$2(() => new QuitError({}))));
49964
50433
  const display = (prompt) => uninterruptible(callback$1((resume) => {
@@ -50465,6 +50934,114 @@ const layer = (loggers, options) => effect(CurrentLoggers, withFiber$1(fnUntrace
50465
50934
  return currentLoggers;
50466
50935
  })));
50467
50936
  //#endregion
50937
+ //#region ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/rpc/RpcMiddleware.js
50938
+ /**
50939
+ * Middleware services for the unstable RPC runtime.
50940
+ *
50941
+ * A middleware service wraps server handler execution and can also install a
50942
+ * client-side wrapper for generated clients. Its metadata records the services
50943
+ * provided to downstream handlers, the services required by the middleware
50944
+ * implementation, the schema for server-visible failures, the client-only error
50945
+ * type, and whether generated clients must require the matching client layer.
50946
+ *
50947
+ * @stability unstable
50948
+ * @since 4.0.0
50949
+ */
50950
+ /**
50951
+ * The runtime type id used to attach and inspect RPC middleware metadata.
50952
+ *
50953
+ * @stability unstable
50954
+ * @category type IDs
50955
+ * @since 4.0.0
50956
+ */
50957
+ const TypeId = "~effect/rpc/RpcMiddleware";
50958
+ /**
50959
+ * Creates a typed RPC middleware service class, with optional service
50960
+ * requirements, provided services, error schema, and client-side requirement
50961
+ * metadata.
50962
+ *
50963
+ * @stability unstable
50964
+ * @category constructors
50965
+ * @since 4.0.0
50966
+ */
50967
+ const Service = () => (id, options) => {
50968
+ const limit = getStackTraceLimit();
50969
+ let creationError;
50970
+ if (limit !== 0) {
50971
+ setStackTraceLimit(2);
50972
+ creationError = new globalThis.Error();
50973
+ setStackTraceLimit(limit);
50974
+ }
50975
+ function ServiceClass() {}
50976
+ const ServiceClass_ = ServiceClass;
50977
+ Object.setPrototypeOf(ServiceClass, Object.getPrototypeOf(Service$1(id)));
50978
+ ServiceClass.key = id;
50979
+ Object.defineProperty(ServiceClass, "stack", { get() {
50980
+ return creationError?.stack;
50981
+ } });
50982
+ ServiceClass_[TypeId] = TypeId;
50983
+ ServiceClass_.error = options?.error ?? Never;
50984
+ ServiceClass_.requiredForClient = options?.requiredForClient ?? false;
50985
+ return ServiceClass;
50986
+ };
50987
+ /**
50988
+ * Provides the client-side implementation for an RPC middleware service,
50989
+ * capturing the layer's environment and merging it into each middleware
50990
+ * invocation.
50991
+ *
50992
+ * @stability unstable
50993
+ * @category layers
50994
+ * @since 4.0.0
50995
+ */
50996
+ const layerClient = (tag, service) => effectContext(gen(function* () {
50997
+ const services = (yield* context()).pipe(omit$2(Scope));
50998
+ const middleware = isEffect(service) ? yield* service : service;
50999
+ return makeUnsafe$6(/* @__PURE__ */ new Map([[`${tag.key}/Client`, (options) => updateContext(middleware(options), (requestContext) => merge$4(services, requestContext))]]));
51000
+ }));
51001
+ //#endregion
51002
+ //#region ../../packages/auth/src/schema.ts
51003
+ var AuthError = class extends TaggedError()("AuthError", {
51004
+ cause: optional(Defect()),
51005
+ message: String$2
51006
+ }) {};
51007
+ const Session = pipe(StringFromBase64Url, decodeTo(fromJsonString(Struct({
51008
+ expiresAt: Finite,
51009
+ user: Struct({
51010
+ id: NonEmptyString,
51011
+ name: NonEmptyString
51012
+ })
51013
+ }))));
51014
+ const Verification = Struct({
51015
+ key: NonEmptyString,
51016
+ users: ArraySchema(NonEmptyString)
51017
+ });
51018
+ const SignInParams = Struct({ redirect: optionalKey(String$2) });
51019
+ const OAuthFlow = pipe(StringFromBase64Url, decodeTo(fromJsonString(Struct({
51020
+ ...SignInParams.fields,
51021
+ state: NonEmptyString,
51022
+ verifier: NonEmptyString
51023
+ }))));
51024
+ const CallbackParams = Struct({
51025
+ code: NonEmptyString,
51026
+ state: NonEmptyString
51027
+ });
51028
+ const OAuthTokenError = Struct({ error: NonEmptyString });
51029
+ const OAuthTokenResponse = Union([Struct({ access_token: NonEmptyString }), OAuthTokenError]);
51030
+ const GitHubUser = Struct({
51031
+ id: Int,
51032
+ login: NonEmptyString
51033
+ });
51034
+ //#endregion
51035
+ //#region ../../packages/auth/src/lib/utils.ts
51036
+ const AUTH_URL = "https://auth.mp281x.xyz";
51037
+ var CurrentUser = class extends Service$1()("@deslop/auth/lib/utils/CurrentUser") {};
51038
+ var RpcAuth = class RpcAuth extends Service()("@deslop/auth/lib/utils/RpcAuth", { error: AuthError }) {
51039
+ static layerClient = (token) => layerClient(RpcAuth, (options) => flatMap$2(token, (value) => options.next({
51040
+ ...options.request,
51041
+ headers: set$1(options.request.headers, "authorization", `Bearer ${value}`)
51042
+ })));
51043
+ };
51044
+ //#endregion
50468
51045
  //#region src/services/notes/schema.ts
50469
51046
  var NotesError = class extends TaggedError()("NotesError", {
50470
51047
  cause: optional(Defect()),
@@ -50668,6 +51245,6 @@ var RpcContracts = class extends make$7(make$9("notes.watch", {
50668
51245
  }), make$9("notes.remove", {
50669
51246
  error: NotesError,
50670
51247
  payload: Struct({ id: NoteId })
50671
- })) {};
51248
+ })).middleware(RpcAuth) {};
50672
51249
  //#endregion
50673
- export { constPong as $, isPrivate as $a, isNoSuchElementError as $c, combine$1 as $d, last as $i, DisablePropagation as $l, unwrap$1 as $n, makeSpanScoped as $o, toEpochMillis as $r, withFiber as $s, String$2 as $t, make$37 as $u, layer$8 as A, badArgument as Aa, split as Ac, exists as Ad, constUndefined as Af, mapError as Ai, TracerTimingEnabled as Al, make$11 as An, flatMap$2 as Ao, FilterGroup as Ar, serviceOption as As, Boolean$1 as At, headNonEmpty as Au, unwrap as B, nameServerFromInput as Ba, StackTrace as Bc, isNone as Bd, runForEach as Bi, isExit as Bl, toType as Bn, fromResult as Bo, null_ as Br, timeoutOption as Bs, Finite as Bt, prepend$1 as Bu, runMain as C, await_ as Ca, length as Cc, getOrUndefinedUnsafe as Cd, isObject as Cf, groupedWithin as Ci, forkUnsafe as Cl, isGreaterThanOrEqualTo as Cn, delay as Co, toArrayBuffer as Cr, retry as Cs, HttpClientErrorSchema as Ct, flatMap$5 as Cu, QuitError as D, interruptAllAs as Da, replace as Dc, merge$4 as Dd, compose$1 as Df, mapArray as Di, CurrentLogAnnotations as Dl, isPattern as Dn, fail$3 as Do, ChildProcessSpawner as Dr, runSync$1 as Ds, isHttpClientError as Dt, getUnsafe as Du, layer$1 as E, interruptAll as Ea, repeat$2 as Ec, makeUnsafe$6 as Ed, or as Ef, mapAccum as Ei, provide$3 as El, isMinLength as En, exit as Eo, make$18 as Er, runForkWith as Es, TransportError as Et, getSomes as Eu, String$1 as F, zero$1 as Fa, max as Fc, fromNullishOr as Fd, identity as Ff, orDie as Fi, makeUnsafe$5 as Fl, tag as Fn, forever as Fo, Union$1 as Fr, sync as Fs, Defect as Ft, last$1 as Fu, RpcSerialization as G, formatUrlUnsafe as Ga, fail$4 as Gc, match$6 as Gd, succeed$2 as Gi, effectIsExit as Gl, omit as Gn, interruptible as Go, string as Gr, uninterruptible as Gs, MutableJson as Gt, take$3 as Gu, Stdio as H, NetAddressError as Ha, combine as Hc, liftPredicate as Hd, runHead as Hi, isSuccess as Hl, withDecodingDefault as Hn, ignore as Ho, replaceChecks as Hr, transposeOption as Hs, Json as Ht, reverse as Hu, URL$1 as I, Dns as Ia, parse as Ic, fromUndefinedOr as Id, pipe as If, pipeThroughChannel as Ii, die$4 as Il, toCodecJson as In, forkChild as Io, decodeTo$1 as Ir, tap$1 as Is, Duration as It, lastNonEmpty as Iu, layerSchemaBinary as J, ipFromStringUnsafe as Ja, fromReasons as Jc, orElseSome as Jd, tap as Ji, forkUnsafe$1 as Jl, CurrentRedactedNames as Jn, logDebug as Jo, transform as Jr, updateService as Js, Null as Jt, keys$1 as Ju, json as K, inetAddressFromIpString as Ka, filterInterruptors as Kc, none as Kd, suspend as Ki, fiberEnterInterruptibleUnsafe as Kl, getReferenceKey as Kn, isEffect as Ko, toEncoded$1 as Kr, uninterruptibleMask as Ks, Never as Kt, takeRight as Ku, option as L, DnsError as La, round as Lc, getOrElse as Ld, pipeArguments as Lf, provideService as Li, fail$5 as Ll, toCodecStringTree as Ln, forkIn as Lo, isNever as Lr, tapCause as Ls, Error$1 as Lt, map$6 as Lu, Port as M, fromInputUnsafe as Ma, toLowerCase as Mc, flatMap$7 as Md, constant as Mf, mkString as Mi, doneUnsafe as Ml, mutable as Mn, fn as Mo, Objects as Mr, succeed$4 as Ms, Class as Mt, isReadonlyArrayEmpty as Mu, Record as N, gibibytes as Na, trim as Nc, flatMapNullishOr as Nd, dual as Nf, mkUint8Array as Ni, into as Nl, optional as Nn, fnUntraced as No, PropertySignature as Nr, succeedNone as Ns, DateTimeUtc as Nt, isReadonlyArrayNonEmpty as Nu, Terminal as O, interruptAs as Oa, replaceAll as Oc, all$4 as Od, constFalse$1 as Of, mapArrayEffect as Oi, CurrentLogSpans as Ol, isSchema as On, failCause$3 as Oo, Arrays as Or, scope as Os, Any as Ot, groupBy as Ou, Redacted as P, mebibytes as Pa, trimEnd as Pc, flatten$5 as Pd, flow as Pf, onEnd as Pi, isDeferred as Pl, optionalKey as Pn, forEach$1 as Po, Suspend as Pr, suspend$2 as Ps, DateTimeUtcFromString as Pt, join$1 as Pu, constPing as Q, isLoopback as Qa, interruptors as Qc, String$6 as Qd, unwrap$2 as Qi, sync$2 as Ql, setAll as Qn, logWarning as Qo, now as Qr, whileLoop as Qs, Redacted$1 as Qt, headUnsafe as Qu, schema as R, make$33 as Ra, Clock as Rc, getOrNull as Rd, run$1 as Ri, failCause$5 as Rl, toEncoded as Rn, forkScoped as Ro, isOptional as Rr, tapError as Rs, Exit as Rt, match$3 as Ru, make as S, makeUnsafe$2 as Sa, isNonEmpty as Sc, getOrUndefined as Sd, isNotUndefined as Sf, fromReadableStream as Si, closeUnsafe as Sl, is as Sn, contextWith as So, pipeThroughDuplex as Sr, result as Ss, HttpClientError as St, findLast as Su, errorReported as T, interrupt as Ta, padStart as Tc, make$39 as Td, isUndefined as Tf, map$1 as Ti, makeUnsafe$4 as Tl, isMaxLength as Tn, ensuring$2 as To, fromWritable as Tr, runFork as Ts, StatusCodeError as Tt, get$4 as Tu, withRun as U, formatInet as Ua, die$3 as Uc, liftThrowable as Ud, runLast as Ui, succeed$6 as Ul, withDecodingDefaultKey as Un, ignoreCause as Uo, resolveDescription as Ur, tryPromise as Us, Literal as Ut, some as Uu, withDefault as V, domainNameFromStringUnsafe as Va, annotate$1 as Vc, isSome as Vd, runForEachArray as Vi, isFailure as Vl, withConstructorDefault as Vn, gen as Vo, optionalKey$1 as Vr, timeoutOrElse as Vs, Int as Vt, reduce as Vu, withRunClient as W, formatIp as Wa, done as Wc, map$9 as Wd, scan as Wi, ConsoleRef as Wl, isSchemaError$1 as Wn, interrupt$1 as Wo, resolveIdentifier as Wr, try_ as Ws, Literals as Wt, sort as Wu, ResponseDefectEncoded as X, isInetAddressV6 as Xa, hasInterrupts as Xc, toArray as Xd, toReadableStreamEffect as Xi, onExitUnsafe as Xl, fromInput as Xn, logFatal as Xo, encode as Xr, void_$1 as Xs, Number$1 as Xt, toEntries as Xu, RequestId as Y, ipv4ToOctets as Ya, hasDies as Yc, some$1 as Yd, toReadableStream as Yi, makeSpanUnsafe as Yl, empty as Yn, logError as Yo, transformOptional as Yr, useSpan as Ys, NullOr as Yt, map$7 as Yu, constEof as Z, isLinkLocal as Za, hasInterruptsOnly as Zc, Number$5 as Zd, toReadableStreamWith as Zi, reportCauseUnsafe as Zl, redactUrl as Zn, logInfo as Zo, formatIso as Zr, when as Zs, Record$1 as Zt, empty$7 as Zu, Organization as _, shutdownUnsafe as _a, Random as _c, Reference as _d, hash as _f, fromChannel as _i, unwrap$5 as _l, encodeEffect as _n, catchReason$2 as _o, fromSetCookie as _r, provideContext$2 as _s, layerWebSocket as _t, every$1 as _u, FxConversation as a, pipeTo as aa, zipWith as ac, isSuccess$1 as ad, contE as af, catch_ as ai, buildWithMemoMap as al, URL$2 as an, annotateCurrentSpan as ao, empty$2 as ar, matchCauseEffectEager as as, isStreamSchema as at, random as au, LogToStderr as b, publishUnsafe as ba, includes as bc, empty$8 as bd, isNotNull as bf, fromPubSub as bi, addFinalizerExit as bl, encodeUnknownEffect as bn, catch_$2 as bo, toSetCookieHeaders as br, raceFirst as bs, EmptyBodyError as bt, findFirst as bu, GitHubIssue as c, bounded as ca, forever$1 as cc, try_$2 as cd, getStackTraceLimit as cf, die as ci, effectDiscard as cl, Uint8ArrayFromBase64 as cn, asSome as co, isRedactedName$1 as cr, onError as cs, Collector as ct, TaggedError$1 as cu, ImageType as d, failCause$2 as da, min as dc, max$1 as dd, Class$2 as df, fail$1 as di, mergeAll$2 as dl, Unknown as dn, callback$1 as do, set$1 as dr, onInterrupt as ds, Socket as dt, contains as du, fromPull$1 as ea, withFiberSucceed as ec, fail$7 as ed, flip$1 as ef, defaultFormatter as ei, isTimeoutError as el, StringFromUriComponent as en, isUnicast as eo, fromIterable as er, map$3 as es, ServerClient as et, ParentSpan as eu, Note as f, make$27 as fa, passthrough$2 as fc, millis as fd, NodeInspectSymbol as ff, failCause as fi, provide$2 as fl, decodeEffect as fn, catchCause$1 as fo, setAll$1 as fr, option$1 as fs, SocketError as ft, dedupe as fu, OEmbed as g, shutdown as ga, isDoneCause as gc, zero$2 as gd, equals$1 as gf, fromArray as gi, sync$1 as gl, decodeUnknownOption as gn, catchIf as go, empty$3 as gr, provide as gs, fromWebSocket as gt, ensure as gu, NotesError as h, offerUnsafe as ha, catchDone as hc, toMillis as hd, redact$2 as hf, flattenIterable as hi, succeedContext as hl, decodeUnknownEffect as hn, catchFilter$2 as ho, value as hr, promise as hs, SocketReadError as ht, empty$6 as hu, FileType as i, mkUint8Array$1 as ia, withTracerEnabled as ic, isResult as id, contA as if, catchTags as ii, CurrentMemoMap as il, Tuple as in, andThen as io, CurrentRedactedNames$1 as ir, matchCauseEffect as is, getStreamSchemas as it, nativeTracer as iu, Crypto as j, fromInput$2 as ja, startsWith as jc, filter$3 as jd, constVoid as jf, mergeAll as ji, _await as jl, makeFilter as jn, flatMapEager as jo, Literal$1 as jr, sleep as js, BooleanLiterals as jt, isArrayNonEmpty as ju, isQuitError as k, runIn as ka, slice as kc, contains$1 as kd, constTrue as kf, mapEffect as ki, MinimumLogLevel as kl, isSchemaError as kn, filterOrFail as ko, Filter as kr, scoped as ks, ArraySchema as kt, head as ku, GitHubReadme as l, collect as la, fromStep as lc, format$1 as ld, setStackTraceLimit as lf, empty$4 as li, launch as ll, UndefinedOr as ln, asVoid as lo, merge as lr, onExit$1 as ls, makeCollectorUnsafe as lt, taggedEnum as lu, NoteJson as m, offerAll as ma, toStep as mc, seconds as md, format$2 as mf, flatMap as mi, succeed$5 as ml, decodeTo as mn, catchDefect as mo, make$16 as mr, orElseSucceed as ms, SocketOpenError as mt, drop as mu, Capture as n, map$2 as na, withParentSpan as nc, fromOption$2 as nd, Prototype as nf, FileSystem as ni, prettyErrors as nl, TaggedError as nn, acquireRelease as no, fromIterable$2 as nr, mapError$2 as ns, isWrapper as nt, externalSpan as nu, FxStatus as o, make$26 as oa, addDelay as oc, match$4 as od, withFiber$1 as of, concat as oi, effect as ol, URLFromString as on, annotateLogs as oo, fromInput$1 as or, matchEffect as os, spanAttributes as ot, Error$2 as ou, NoteId as p, offer as pa, spaced as pc, parts as pd, toJson as pf, filter as pi, provideMerge as pl, decodeSync as pn, catchCauseIf as po, isRedacted as pr, orDie$2 as ps, SocketErrorReason as pt, dedupeAdjacentWith as pu, layerJson as q, ipFromString as qa, findError as qc, orElse as qd, takeUntil as qi, fiberEnterUninterruptibleUnsafe as ql, encodeUnknownEffect$1 as qn, log as qo, passthrough as qr, updateContext as qs, NonEmptyArray as qt, has$3 as qu, Extraction as r, mapError$1 as ra, withSpan as rc, isFailure$1 as rd, PipeInspectableProto as rf, catchReason as ri, squash as rl, TrueLiterals as rn, all$1 as ro, get as rr, match as rs, ClientAbort as rt, make$36 as ru, GitHubComment as s, makeUnsafe$1 as sa, exponential as sc, succeed$8 as sd, assignProperty as sf, decodeText$1 as si, effectContext as sl, Uint8Array$1 as sn, as as so, fromRecordUnsafe as sr, never$1 as ss, spanName as st, TaggedClass as su, RpcContracts as t, fromTransform$1 as ta, withLogSpan as tc, failVoid as td, mapInput as tf, Path$1 as ti, makeDieReason as tl, Struct as tn, unixPathAddress as to, has as tr, mapEager as ts, exitSchema as tt, Tracer as tu, GitHubRepo as u, end as ua, isSchedule as uc, fromInputUnsafe$1 as ud, BaseProto as uf, ensuring as ui, merge$3 as ul, Union as un, cached as uo, remove$1 as ur, onExitPrimitive as us, CloseEvent as ut, appendAll$1 as uu, Reader as v, take$1 as va, camelToSnake as vc, Service as vd, hasProperty as vf, fromEffect as vi, Scope as vl, encodeSync as vn, catchTag as vo, isEmpty as vr, provideService$2 as vs, layerWebSocketConstructorGlobal as vt, filter$2 as vu, errorExitCode as w, getCurrent as wa, match$1 as wc, getUnsafe$1 as wd, isTagged as wf, limitBytes as wi, make$35 as wl, isInt as wn, die$2 as wo, toUint8Array as wr, retryOrElse as ws, InvalidUrlError as wt, fromIterable$6 as wu, layer as x, unbounded as xa, isEmpty$1 as xc, get$5 as xd, isNotNullish as xf, fromQueue as xi, close as xl, fromJsonString as xn, context as xo, fromReadable as xr, repeat as xs, EncodeError as xt, findFirstIndex as xu, TikTokPage as y, takeAll as ya, endsWith as yc, add as yd, isIterable as yf, fromIterable$5 as yi, addFinalizer$1 as yl, encodeTo as yn, catchTags$1 as yo, parseHeader as yr, provideServiceEffect as ys, DecodeError as yt, filterMap as yu, succeed as z, makeRecordUnsafe as za, Done as zc, getOrUndefined$1 as zd, runCollect as zi, interrupt$2 as zl, toJsonSchemaDocument as zn, fromOption as zo, mapOrSame as zr, timeout as zs, FalseLiterals as zt, of as zu };
51250
+ export { succeed as $, badArgument as $a, split$1 as $c, make$39 as $d, isUndefined as $f, mkString as $i, CurrentLogSpans as $l, toJsonSchemaDocument as $n, flatMap$2 as $o, Suspend as $r, serviceOption as $s, FalseLiterals as $t, groupBy as $u, SignInParams as A, collect as Aa, exponential as Ac, isResult as Ad, Prototype as Af, empty$4 as Ai, buildWithMemoMap as Al, decodeUnknownOption as An, as as Ao, make$16 as Ar, never$1 as As, fromWebSocket as At, random as Au, Terminal as B, takeAll as Ba, Random as Bc, minutes as Bd, NodeInspectSymbol as Bf, fromIterable$5 as Bi, succeedContext as Bl, isMinLength as Bn, catchReason$2 as Bo, fromReadable as Br, provideContext$2 as Bs, TransportError as Bt, empty$6 as Bu, AuthError as C, map$2 as Ca, withFiberSucceed as Cc, headUnsafe as Cd, some$1 as Cf, FileSystem as Ci, interruptors as Cl, UndefinedOr as Cn, isUnicast as Co, get$2 as Cr, map$3 as Cs, makeCollectorUnsafe as Ct, sync$2 as Cu, OAuthTokenError as D, make$26 as Da, withTracerEnabled as Dc, fromOption$2 as Dd, combine$1 as Df, concat as Di, prettyErrors as Dl, decodeSync as Dn, andThen as Do, set$1 as Dr, matchCauseEffect as Ds, SocketErrorReason as Dt, externalSpan as Du, OAuthFlow as E, pipeTo as Ea, withSpan as Ec, failVoid as Ed, String$6 as Ef, catch_ as Ei, makeDieReason as El, decodeEffect as En, all$1 as Eo, remove$1 as Er, match as Es, SocketError as Et, Tracer as Eu, runMain as F, offerAll as Fa, passthrough$2 as Fc, days as Fd, assignProperty as Ff, flatMap as Fi, merge$3 as Fl, fromJsonString as Fn, catchCause$1 as Fo, fromSetCookie as Fr, option$1 as Fs, EncodeError as Ft, appendAll$1 as Fu, Port as G, makeUnsafe$2 as Ga, isNonEmpty$1 as Gc, Reference as Gd, hash as Gf, limitBytes as Gi, addFinalizerExit as Gl, makeFilter as Gn, contextWith as Go, make$18 as Gr, result as Gs, BooleanLiterals as Gt, findFirst as Gu, layer$8 as H, unbounded as Ha, endsWith as Hc, seconds as Hd, format$2 as Hf, fromQueue as Hi, unwrap$5 as Hl, isSchema as Hn, catchTags$1 as Ho, toArrayBuffer as Hr, provideServiceEffect as Hs, Any as Ht, every$1 as Hu, errorExitCode as I, offerUnsafe as Ia, spaced as Ic, format$1 as Id, getStackTraceLimit as If, flattenIterable as Ii, mergeAll$2 as Il, is as In, catchCauseIf as Io, isEmpty as Ir, orDie$2 as Is, HttpClientError as It, contains as Iu, String$1 as J, interrupt as Ja, padStart as Jc, empty$8 as Jd, isNotNull as Jf, mapArray as Ji, forkUnsafe as Jl, optionalKey as Jn, ensuring$2 as Jo, Filter as Jr, runFork as Js, DateTimeUtcFromString as Jt, flatMap$5 as Ju, Record as K, await_ as Ka, length as Kc, Service$1 as Kd, hasProperty as Kf, map$1 as Ki, close as Kl, mutable as Kn, delay as Ko, ChildProcessSpawner as Kr, retry as Ks, Class as Kt, findFirstIndex as Ku, errorReported as L, shutdown as La, toStep as Lc, fromInputUnsafe$1 as Ld, setStackTraceLimit as Lf, fromArray as Li, provide$2 as Ll, isGreaterThanOrEqualTo as Ln, catchDefect as Lo, parseHeader as Lr, orElseSucceed as Ls, HttpClientErrorSchema as Lt, dedupe as Lu, LogToStderr as M, failCause$2 as Ma, fromStep as Mc, match$4 as Md, contA as Mf, fail$1 as Mi, effectContext as Ml, encodeSync as Mn, asVoid as Mo, stringOrRedacted as Mr, onExit$1 as Ms, layerWebSocketConstructorGlobal as Mt, TaggedClass as Mu, layer as N, make$27 as Na, isSchedule as Nc, succeed$8 as Nd, contE as Nf, failCause as Ni, effectDiscard as Nl, encodeTo as Nn, cached as No, empty$3 as Nr, onExitPrimitive as Ns, DecodeError as Nt, TaggedError$1 as Nu, OAuthTokenResponse as O, makeUnsafe$1 as Oa, zipWith as Oc, getSuccess as Od, flip$1 as Of, decodeText$1 as Oi, squash as Ol, decodeTo as On, annotateCurrentSpan as Oo, setAll$1 as Or, matchCauseEffectEager as Os, SocketOpenError as Ot, make$36 as Ou, make as P, offer as Pa, min as Pc, try_$2 as Pd, withFiber$1 as Pf, filter as Pi, launch as Pl, encodeUnknownEffect as Pn, callback$1 as Po, expireCookieUnsafe as Pr, onInterrupt as Ps, EmptyBodyError as Pt, taggedEnum as Pu, schema as Q, runIn as Qa, slice as Qc, getUnsafe$1 as Qd, isTagged as Qf, mergeAll as Qi, CurrentLogAnnotations as Ql, toEncoded as Qn, filterOrFail as Qo, PropertySignature as Qr, scoped as Qs, Exit as Qt, getUnsafe as Qu, layer$1 as R, shutdownUnsafe as Ra, catchDone as Rc, max$1 as Rd, BaseProto as Rf, fromChannel as Ri, provideMerge as Rl, isInt as Rn, catchFilter$2 as Ro, setUnsafe as Rr, promise as Rs, InvalidUrlError as Rt, dedupeAdjacentWith as Ru, RpcAuth as S, fromTransform$1 as Sa, withFiber as Sc, empty$7 as Sd, orElseSome as Sf, Path$1 as Si, hasInterruptsOnly as Sl, Uint8ArrayFromBase64 as Sn, isPrivate as So, fromRecordUnsafe as Sr, makeSpanScoped as Ss, Collector as St, reportCauseUnsafe as Su, GitHubUser as T, mkUint8Array$1 as Ta, withParentSpan as Tc, fail$7 as Td, Number$5 as Tf, catchTags as Ti, isTimeoutError as Tl, Unknown as Tn, acquireRelease as To, merge as Tr, mapError$2 as Ts, Socket as Tt, ParentSpan as Tu, Crypto as U, make$30 as Ua, includes as Uc, toMillis as Ud, redact$2 as Uf, fromReadableStream as Ui, Scope as Ul, isSchemaError as Un, catch_$2 as Uo, toUint8Array as Ur, raceFirst as Us, ArraySchema as Ut, filter$2 as Uu, isQuitError as V, publishUnsafe as Va, camelToSnake as Vc, parts as Vd, toJson as Vf, fromPubSub as Vi, sync$1 as Vl, isPattern as Vn, catchTag as Vo, pipeThroughDuplex as Vr, provideService$2 as Vs, isHttpClientError as Vt, ensure as Vu, Array$1 as W, set$2 as Wa, isEmpty$1 as Wc, zero$2 as Wd, equals$1 as Wf, groupedWithin as Wi, addFinalizer$1 as Wl, make$11 as Wn, context as Wo, fromWritable as Wr, repeat as Ws, Boolean$1 as Wt, filterMap as Wu, all as X, interruptAllAs as Xa, replace as Xc, getOrUndefined as Xd, isNotUndefined as Xf, mapEffect as Xi, makeUnsafe$4 as Xl, toCodecJson as Xn, fail$3 as Xo, Literal$1 as Xr, runSync$1 as Xs, Duration as Xt, get$5 as Xu, URL$1 as Y, interruptAll as Ya, repeat$2 as Yc, get$6 as Yd, isNotNullish as Yf, mapArrayEffect as Yi, make$35 as Yl, tag as Yn, exit as Yo, FilterGroup as Yr, runForkWith as Ys, Defect as Yt, fromIterable$6 as Yu, option as Z, interruptAs as Za, replaceAll as Zc, getOrUndefinedUnsafe as Zd, isObject as Zf, mapError as Zi, provide$3 as Zl, toCodecStringTree as Zn, failCause$3 as Zo, Objects as Zr, scope as Zs, Error$1 as Zt, getSomes as Zu, Organization as _, toReadableStreamEffect as _a, updateService as _c, takeRight as _d, liftThrowable as _f, encode$1 as _i, filterInterruptors as _l, TrueLiterals as _n, ipFromStringUnsafe as _o, fromIterable$2 as _r, logDebug as _s, ClientAbort as _t, fiberEnterInterruptibleUnsafe as _u, FxConversation as a, run$1 as aa, tap$1 as ac, join$1 as ad, filter$3 as af, null_ as ai, parse as al, MutableJson as an, Dns as ao, constVoid as ap, omit as ar, forkChild as as, RpcSerialization as at, isDeferred as au, AUTH_URL as b, last as ba, when as bc, map$7 as bd, none as bf, toEpochMillis as bi, hasDies as bl, URLFromString as bn, isLinkLocal as bo, empty$2 as br, logInfo as bs, spanAttributes as bt, makeSpanUnsafe as bu, GitHubIssue as c, runForEachArray as ca, timeout as cc, map$6 as cd, flatten$5 as cf, resolveDescription as ci, currentTimeMillis as cl, Null as cn, makeRecordUnsafe as co, flow as cp, CurrentRedactedNames as cr, fromOption as cs, layerSchemaBinary as ct, fail$5 as cu, ImageType as d, scan as da, transposeOption as dc, prepend$1 as dd, getOrElse as df, toEncoded$1 as di, StackTrace as dl, Record$1 as dn, NetAddressError as do, pipeArguments as dp, redactUrl as dr, ignore as ds, constEof as dt, isExit as du, mkUint8Array as ea, sleep as ec, head as ed, makeUnsafe$6 as ef, Union$1 as ei, startsWith as el, Finite as en, fromInput$2 as eo, or as ep, toType as er, flatMapEager as es, unwrap as et, MinimumLogLevel as eu, Note as f, succeed$2 as fa, tryPromise as fc, reduce as fd, getOrNull as ff, passthrough as fi, annotate$1 as fl, Redacted$1 as fn, formatInet as fo, setAll as fr, ignoreCause as fs, constPing as ft, isFailure as fu, OEmbed as g, toReadableStream as ga, updateContext as gc, take$3 as gd, liftPredicate as gf, encode as gi, fail$4 as gl, TaggedError as gn, ipFromString as go, has as gr, log as gs, isWrapper as gt, effectIsExit as gu, NotesError as h, tap as ha, uninterruptibleMask as hc, sort as hd, isSome as hf, decode as hi, done as hl, Struct as hn, inetAddressFromIpString as ho, fromIterable as hr, isEffect as hs, exitSchema as ht, ConsoleRef as hu, FileType as i, provideService as ia, sync as ic, isReadonlyArrayNonEmpty as id, exists as if, mapOrSame as ii, max as il, Literals as in, zero$1 as io, constUndefined as ip, isSchemaError$1 as ir, forever as is, withRunClient as it, into as iu, Verification as j, end as ja, forever$1 as jc, isSuccess$1 as jd, PipeInspectableProto as jf, ensuring as ji, effect as jl, encodeEffect as jn, asSome as jo, value as jr, onError as js, layerWebSocket as jt, Error$2 as ju, Session as k, bounded as ka, addDelay as kc, isFailure$1 as kd, mapInput as kf, die as ki, CurrentMemoMap as kl, decodeUnknownEffect as kn, annotateLogs as ko, isRedacted as kr, matchEffect as ks, SocketReadError as kt, nativeTracer as ku, GitHubReadme as l, runHead as la, timeoutOption as lc, match$3 as ld, fromNullishOr as lf, resolveIdentifier as li, Done as ll, NullOr as ln, nameServerFromInput as lo, identity as lp, empty as lr, fromResult as ls, RequestId as lt, failCause$5 as lu, NoteJson as m, takeUntil as ma, uninterruptible as mc, some as md, isNone as mf, transformOptional as mi, die$3 as ml, StringFromUriComponent as mn, formatUrlUnsafe as mo, unwrap$1 as mr, interruptible as ms, ServerClient as mt, succeed$6 as mu, Capture as n, orDie as na, succeedNone as nc, isArrayNonEmpty as nd, all$4 as nf, isNever as ni, trim as nl, Json as nn, gibibytes as no, constFalse$1 as np, withDecodingDefault as nr, fnUntraced as ns, Stdio as nt, _await as nu, FxStatus as o, runCollect as oa, tapCause as oc, last$1 as od, flatMap$7 as of, optionalKey$1 as oi, round as ol, Never as on, DnsError as oo, constant as op, getReferenceKey as or, forkIn as os, json as ot, makeUnsafe$5 as ou, NoteId as p, suspend as pa, try_ as pc, reverse as pd, getOrUndefined$1 as pf, transform as pi, combine as pl, String$2 as pn, formatIp as po, toString as pr, interrupt$1 as ps, constPong as pt, isSuccess as pu, Redacted as q, getCurrent as qa, match$1 as qc, add as qd, isIterable as qf, mapAccum as qi, closeUnsafe as ql, optional as qn, die$2 as qo, Arrays as qr, retryOrElse as qs, DateTimeUtc as qt, findLast as qu, Extraction as r, pipeThroughChannel as ra, suspend$2 as rc, isReadonlyArrayEmpty as rd, contains$1 as rf, isOptional as ri, trimEnd as rl, Literal as rn, mebibytes as ro, constTrue as rp, withDecodingDefaultKey as rr, forEach$1 as rs, withRun as rt, doneUnsafe as ru, GitHubComment as s, runForEach as sa, tapError as sc, lastNonEmpty as sd, flatMapNullishOr as sf, replaceChecks as si, Clock as sl, NonEmptyArray as sn, make$33 as so, dual as sp, encodeUnknownEffect$1 as sr, forkScoped as ss, layerJson as st, die$4 as su, RpcContracts as t, onEnd as ta, succeed$4 as tc, headNonEmpty as td, merge$4 as tf, decodeTo$1 as ti, toLowerCase as tl, Int as tn, fromInputUnsafe as to, compose$1 as tp, withConstructorDefault as tr, fn as ts, withDefault as tt, TracerTimingEnabled as tu, GitHubRepo as u, runLast as ua, timeoutOrElse as uc, of as ud, fromUndefinedOr as uf, string as ui, IllegalArgumentError as ul, Number$1 as un, domainNameFromStringUnsafe as uo, pipe as up, fromInput as ur, gen as us, ResponseDefectEncoded as ut, interrupt$2 as uu, Reader as v, toReadableStreamWith as va, useSpan as vc, has$3 as vd, map$9 as vf, formatIso as vi, findError as vl, Tuple as vn, ipv4ToOctets as vo, get as vr, logError as vs, getStreamSchemas as vt, fiberEnterUninterruptibleUnsafe as vu, CallbackParams as w, mapError$1 as wa, withLogSpan as wc, make$37 as wd, toArray as wf, catchReason as wi, isNoSuchElementError as wl, Union as wn, unixPathAddress as wo, isRedactedName$1 as wr, mapEager as ws, CloseEvent as wt, DisablePropagation as wu, CurrentUser as x, fromPull$1 as xa, whileLoop as xc, toEntries as xd, orElse as xf, defaultFormatter as xi, hasInterrupts as xl, Uint8Array$1 as xn, isLoopback as xo, fromInput$1 as xr, logWarning as xs, spanName as xt, onExitUnsafe as xu, TikTokPage as y, unwrap$2 as ya, void_$1 as yc, keys$1 as yd, match$6 as yf, now as yi, fromReasons as yl, URL$2 as yn, isInetAddressV6 as yo, CurrentRedactedNames$1 as yr, logFatal as ys, isStreamSchema as yt, forkUnsafe$1 as yu, QuitError as z, take$1 as za, isDoneCause as zc, millis as zd, Class$2 as zf, fromEffect as zi, succeed$5 as zl, isMaxLength as zn, catchIf as zo, toSetCookieHeaders as zr, provide as zs, StatusCodeError as zt, drop as zu };