@foldkit/devtools-mcp 0.13.1 → 0.13.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/server.js CHANGED
@@ -5358,8 +5358,8 @@ var require_contains = __commonJS({
5358
5358
  var codegen_1 = require_codegen();
5359
5359
  var util_1 = require_util();
5360
5360
  var error3 = {
5361
- message: ({ params: { min: min7, max: max7 } }) => max7 === void 0 ? (0, codegen_1.str)`must contain at least ${min7} valid item(s)` : (0, codegen_1.str)`must contain at least ${min7} and no more than ${max7} valid item(s)`,
5362
- params: ({ params: { min: min7, max: max7 } }) => max7 === void 0 ? (0, codegen_1._)`{minContains: ${min7}}` : (0, codegen_1._)`{minContains: ${min7}, maxContains: ${max7}}`
5361
+ message: ({ params: { min: min8, max: max8 } }) => max8 === void 0 ? (0, codegen_1.str)`must contain at least ${min8} valid item(s)` : (0, codegen_1.str)`must contain at least ${min8} and no more than ${max8} valid item(s)`,
5362
+ params: ({ params: { min: min8, max: max8 } }) => max8 === void 0 ? (0, codegen_1._)`{minContains: ${min8}}` : (0, codegen_1._)`{minContains: ${min8}, maxContains: ${max8}}`
5363
5363
  };
5364
5364
  var def = {
5365
5365
  keyword: "contains",
@@ -5370,40 +5370,40 @@ var require_contains = __commonJS({
5370
5370
  error: error3,
5371
5371
  code(cxt) {
5372
5372
  const { gen: gen5, schema, parentSchema, data, it } = cxt;
5373
- let min7;
5374
- let max7;
5373
+ let min8;
5374
+ let max8;
5375
5375
  const { minContains, maxContains } = parentSchema;
5376
5376
  if (it.opts.next) {
5377
- min7 = minContains === void 0 ? 1 : minContains;
5378
- max7 = maxContains;
5377
+ min8 = minContains === void 0 ? 1 : minContains;
5378
+ max8 = maxContains;
5379
5379
  } else {
5380
- min7 = 1;
5380
+ min8 = 1;
5381
5381
  }
5382
5382
  const len = gen5.const("len", (0, codegen_1._)`${data}.length`);
5383
- cxt.setParams({ min: min7, max: max7 });
5384
- if (max7 === void 0 && min7 === 0) {
5383
+ cxt.setParams({ min: min8, max: max8 });
5384
+ if (max8 === void 0 && min8 === 0) {
5385
5385
  (0, util_1.checkStrictMode)(it, `"minContains" == 0 without "maxContains": "contains" keyword ignored`);
5386
5386
  return;
5387
5387
  }
5388
- if (max7 !== void 0 && min7 > max7) {
5388
+ if (max8 !== void 0 && min8 > max8) {
5389
5389
  (0, util_1.checkStrictMode)(it, `"minContains" > "maxContains" is always invalid`);
5390
5390
  cxt.fail();
5391
5391
  return;
5392
5392
  }
5393
5393
  if ((0, util_1.alwaysValidSchema)(it, schema)) {
5394
- let cond = (0, codegen_1._)`${len} >= ${min7}`;
5395
- if (max7 !== void 0)
5396
- cond = (0, codegen_1._)`${cond} && ${len} <= ${max7}`;
5394
+ let cond = (0, codegen_1._)`${len} >= ${min8}`;
5395
+ if (max8 !== void 0)
5396
+ cond = (0, codegen_1._)`${cond} && ${len} <= ${max8}`;
5397
5397
  cxt.pass(cond);
5398
5398
  return;
5399
5399
  }
5400
5400
  it.items = true;
5401
5401
  const valid = gen5.name("valid");
5402
- if (max7 === void 0 && min7 === 1) {
5402
+ if (max8 === void 0 && min8 === 1) {
5403
5403
  validateItems(valid, () => gen5.if(valid, () => gen5.break()));
5404
- } else if (min7 === 0) {
5404
+ } else if (min8 === 0) {
5405
5405
  gen5.let(valid, true);
5406
- if (max7 !== void 0)
5406
+ if (max8 !== void 0)
5407
5407
  gen5.if((0, codegen_1._)`${data}.length > 0`, validateItemsWithCount);
5408
5408
  } else {
5409
5409
  gen5.let(valid, false);
@@ -5428,14 +5428,14 @@ var require_contains = __commonJS({
5428
5428
  }
5429
5429
  function checkLimits(count2) {
5430
5430
  gen5.code((0, codegen_1._)`${count2}++`);
5431
- if (max7 === void 0) {
5432
- gen5.if((0, codegen_1._)`${count2} >= ${min7}`, () => gen5.assign(valid, true).break());
5431
+ if (max8 === void 0) {
5432
+ gen5.if((0, codegen_1._)`${count2} >= ${min8}`, () => gen5.assign(valid, true).break());
5433
5433
  } else {
5434
- gen5.if((0, codegen_1._)`${count2} > ${max7}`, () => gen5.assign(valid, false).break());
5435
- if (min7 === 1)
5434
+ gen5.if((0, codegen_1._)`${count2} > ${max8}`, () => gen5.assign(valid, false).break());
5435
+ if (min8 === 1)
5436
5436
  gen5.assign(valid, true);
5437
5437
  else
5438
- gen5.if((0, codegen_1._)`${count2} >= ${min7}`, () => gen5.assign(valid, true));
5438
+ gen5.if((0, codegen_1._)`${count2} >= ${min8}`, () => gen5.assign(valid, true));
5439
5439
  }
5440
5440
  }
5441
5441
  }
@@ -6681,7 +6681,7 @@ var require_formats = __commonJS({
6681
6681
  if (!matches)
6682
6682
  return false;
6683
6683
  const hr = +matches[1];
6684
- const min7 = +matches[2];
6684
+ const min8 = +matches[2];
6685
6685
  const sec = +matches[3];
6686
6686
  const tz = matches[4];
6687
6687
  const tzSign = matches[5] === "-" ? -1 : 1;
@@ -6689,9 +6689,9 @@ var require_formats = __commonJS({
6689
6689
  const tzM = +(matches[7] || 0);
6690
6690
  if (tzH > 23 || tzM > 59 || strictTimeZone && !tz)
6691
6691
  return false;
6692
- if (hr <= 23 && min7 <= 59 && sec < 60)
6692
+ if (hr <= 23 && min8 <= 59 && sec < 60)
6693
6693
  return true;
6694
- const utcMin = min7 - tzM * tzSign;
6694
+ const utcMin = min8 - tzM * tzSign;
6695
6695
  const utcHr = hr - tzH * tzSign - (utcMin < 0 ? 1 : 0);
6696
6696
  return (utcHr === 23 || utcHr === -1) && (utcMin === 59 || utcMin === -1) && sec < 61;
6697
6697
  };
@@ -10575,7 +10575,7 @@ var require_websocket_server = __commonJS({
10575
10575
  }
10576
10576
  });
10577
10577
 
10578
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Pipeable.js
10578
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Pipeable.js
10579
10579
  var pipeArguments = (self, args2) => {
10580
10580
  switch (args2.length) {
10581
10581
  case 0:
@@ -10619,7 +10619,7 @@ var Class = /* @__PURE__ */ (function() {
10619
10619
  return PipeableBase;
10620
10620
  })();
10621
10621
 
10622
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Function.js
10622
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Function.js
10623
10623
  var dual = function(arity, body) {
10624
10624
  if (typeof arity === "function") {
10625
10625
  return function() {
@@ -10682,7 +10682,7 @@ function memoize(f) {
10682
10682
  };
10683
10683
  }
10684
10684
 
10685
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Array.js
10685
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Array.js
10686
10686
  var Array_exports = {};
10687
10687
  __export(Array_exports, {
10688
10688
  Array: () => Array2,
@@ -10820,7 +10820,7 @@ __export(Array_exports, {
10820
10820
  zipWith: () => zipWith2
10821
10821
  });
10822
10822
 
10823
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/equal.js
10823
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/equal.js
10824
10824
  var getAllObjectKeys = (obj) => {
10825
10825
  const keys4 = new Set(Reflect.ownKeys(obj));
10826
10826
  if (obj.constructor === Object) return keys4;
@@ -10843,7 +10843,7 @@ var getAllObjectKeys = (obj) => {
10843
10843
  };
10844
10844
  var byReferenceInstances = /* @__PURE__ */ new WeakSet();
10845
10845
 
10846
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Predicate.js
10846
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Predicate.js
10847
10847
  function isString(input) {
10848
10848
  return typeof input === "string";
10849
10849
  }
@@ -10901,7 +10901,7 @@ function isIterable(input) {
10901
10901
  return hasProperty(input, Symbol.iterator) || isString(input);
10902
10902
  }
10903
10903
 
10904
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Hash.js
10904
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Hash.js
10905
10905
  var symbol = "~effect/interfaces/Hash";
10906
10906
  var hash = (self) => {
10907
10907
  switch (typeof self) {
@@ -11020,7 +11020,7 @@ function withVisitedTracking(obj, fn3) {
11020
11020
  return result5;
11021
11021
  }
11022
11022
 
11023
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Equal.js
11023
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Equal.js
11024
11024
  var symbol2 = "~effect/interfaces/Equal";
11025
11025
  function equals() {
11026
11026
  if (arguments.length === 1) {
@@ -11202,7 +11202,7 @@ var byReferenceUnsafe = (obj) => {
11202
11202
  return obj;
11203
11203
  };
11204
11204
 
11205
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Reducer.js
11205
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Reducer.js
11206
11206
  function make(combine2, initialValue, combineAll2) {
11207
11207
  return {
11208
11208
  combine: combine2,
@@ -11217,7 +11217,7 @@ function make(combine2, initialValue, combineAll2) {
11217
11217
  };
11218
11218
  }
11219
11219
 
11220
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Equivalence.js
11220
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Equivalence.js
11221
11221
  var make2 = (isEquivalent) => (self, that) => self === that || isEquivalent(self, that);
11222
11222
  var isStrictEquivalent = (x, y) => x === y;
11223
11223
  var strictEqual = () => isStrictEquivalent;
@@ -11231,10 +11231,10 @@ function Array_(item) {
11231
11231
  });
11232
11232
  }
11233
11233
 
11234
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/array.js
11234
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/array.js
11235
11235
  var isArrayNonEmpty = (self) => self.length > 0;
11236
11236
 
11237
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/doNotation.js
11237
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/doNotation.js
11238
11238
  var let_ = (map15) => dual(3, (self, name, f) => map15(self, (a) => ({
11239
11239
  ...a,
11240
11240
  [name]: f(a)
@@ -11247,7 +11247,7 @@ var bind = (map15, flatMap8) => dual(3, (self, name, f) => flatMap8(self, (a) =>
11247
11247
  [name]: b
11248
11248
  }))));
11249
11249
 
11250
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Option.js
11250
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Option.js
11251
11251
  var Option_exports = {};
11252
11252
  __export(Option_exports, {
11253
11253
  Do: () => Do,
@@ -11312,7 +11312,7 @@ __export(Option_exports, {
11312
11312
  zipWith: () => zipWith
11313
11313
  });
11314
11314
 
11315
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Combiner.js
11315
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Combiner.js
11316
11316
  function make3(combine2) {
11317
11317
  return {
11318
11318
  combine: combine2
@@ -11325,7 +11325,7 @@ function max(order) {
11325
11325
  return make3((self, that) => order(self, that) === 1 ? self : that);
11326
11326
  }
11327
11327
 
11328
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Redactable.js
11328
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Redactable.js
11329
11329
  var symbolRedactable = /* @__PURE__ */ Symbol.for("~effect/Redactable");
11330
11330
  var isRedactable = (u) => hasProperty(u, symbolRedactable);
11331
11331
  function redact(u) {
@@ -11344,7 +11344,7 @@ var emptyContext = {
11344
11344
  }
11345
11345
  };
11346
11346
 
11347
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Formatter.js
11347
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Formatter.js
11348
11348
  function format(input, options) {
11349
11349
  const space = options?.space ?? 0;
11350
11350
  const seen = /* @__PURE__ */ new WeakSet();
@@ -11443,7 +11443,7 @@ function formatJson(input, options) {
11443
11443
  }, options?.space);
11444
11444
  }
11445
11445
 
11446
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Inspectable.js
11446
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Inspectable.js
11447
11447
  var NodeInspectSymbol = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom");
11448
11448
  var toJson = (input) => {
11449
11449
  try {
@@ -11507,7 +11507,7 @@ var Class2 = class {
11507
11507
  }
11508
11508
  };
11509
11509
 
11510
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Utils.js
11510
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Utils.js
11511
11511
  var SingleShotGen = class _SingleShotGen {
11512
11512
  called = false;
11513
11513
  self;
@@ -11567,7 +11567,7 @@ var pickInternalCall = () => {
11567
11567
  };
11568
11568
  var internalCall = /* @__PURE__ */ pickInternalCall();
11569
11569
 
11570
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/core.js
11570
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/core.js
11571
11571
  var EffectTypeId = `~effect/Effect`;
11572
11572
  var ExitTypeId = `~effect/Exit`;
11573
11573
  var effectVariance = {
@@ -11610,7 +11610,7 @@ var StructuralProto = {
11610
11610
  const thatKeys = Object.keys(that);
11611
11611
  if (selfKeys.length !== thatKeys.length) return false;
11612
11612
  for (let i = 0; i < selfKeys.length; i++) {
11613
- if (selfKeys[i] !== thatKeys[i] && !equals(this[selfKeys[i]], that[selfKeys[i]])) {
11613
+ if (selfKeys[i] !== thatKeys[i] || !equals(this[selfKeys[i]], that[selfKeys[i]])) {
11614
11614
  return false;
11615
11615
  }
11616
11616
  }
@@ -11928,7 +11928,7 @@ var done = (value5) => {
11928
11928
  return exitFail(Done(value5));
11929
11929
  };
11930
11930
 
11931
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/option.js
11931
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/option.js
11932
11932
  var TypeId = "~effect/data/Option";
11933
11933
  var CommonProto = {
11934
11934
  [TypeId]: {
@@ -11994,7 +11994,7 @@ var some = (value5) => {
11994
11994
  return a;
11995
11995
  };
11996
11996
 
11997
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/result.js
11997
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/result.js
11998
11998
  var TypeId2 = "~effect/data/Result";
11999
11999
  var CommonProto2 = {
12000
12000
  [TypeId2]: {
@@ -12064,7 +12064,7 @@ var getFailure = (self) => isSuccess(self) ? none : some(self.failure);
12064
12064
  var getSuccess = (self) => isFailure(self) ? none : some(self.success);
12065
12065
  var fromOption = /* @__PURE__ */ dual(2, (self, onNone) => isNone(self) ? fail(onNone()) : succeed(self.value));
12066
12066
 
12067
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Order.js
12067
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Order.js
12068
12068
  function make4(compare) {
12069
12069
  return (self, that) => self === that ? 0 : compare(self, that);
12070
12070
  }
@@ -12112,7 +12112,7 @@ var max2 = (O) => dual(2, (self, that) => self === that || O(self, that) > -1 ?
12112
12112
  var clamp = (O) => dual(2, (self, options) => min2(O)(options.maximum, max2(O)(options.minimum, self)));
12113
12113
  var isBetween = (O) => dual(2, (self, options) => !isLessThan(O)(self, options.minimum) && !isGreaterThan(O)(self, options.maximum));
12114
12114
 
12115
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Option.js
12115
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Option.js
12116
12116
  var none2 = () => none;
12117
12117
  var some2 = some;
12118
12118
  var isOption2 = isOption;
@@ -12290,7 +12290,7 @@ function makeReducerFailFast(reducer2) {
12290
12290
  });
12291
12291
  }
12292
12292
 
12293
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Result.js
12293
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Result.js
12294
12294
  var succeed2 = succeed;
12295
12295
  var fail2 = fail;
12296
12296
  var fromOption2 = fromOption;
@@ -12332,10 +12332,10 @@ var all2 = (input) => {
12332
12332
  return succeed2(out);
12333
12333
  };
12334
12334
 
12335
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Tuple.js
12335
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Tuple.js
12336
12336
  var make5 = (...elements) => elements;
12337
12337
 
12338
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Iterable.js
12338
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Iterable.js
12339
12339
  var findFirst = /* @__PURE__ */ dual(2, (self, f) => {
12340
12340
  let i = 0;
12341
12341
  for (const a of self) {
@@ -12378,7 +12378,7 @@ var filter2 = /* @__PURE__ */ dual(2, (self, predicate) => ({
12378
12378
  }
12379
12379
  }));
12380
12380
 
12381
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Record.js
12381
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Record.js
12382
12382
  var empty = () => ({});
12383
12383
  var isEmptyRecord = (self) => Object.keys(self).length === 0;
12384
12384
  var collect = /* @__PURE__ */ dual(2, (self, f) => {
@@ -12409,14 +12409,14 @@ var filter3 = /* @__PURE__ */ dual(2, (self, predicate) => {
12409
12409
  });
12410
12410
  var keys = (self) => Object.keys(self);
12411
12411
 
12412
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Array.js
12412
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Array.js
12413
12413
  var Array2 = globalThis.Array;
12414
12414
  var make6 = (...elements) => elements;
12415
12415
  var allocate = (n) => new Array2(n);
12416
12416
  var makeBy = /* @__PURE__ */ dual(2, (n, f) => {
12417
- const max7 = Math.max(1, Math.floor(n));
12418
- const out = new Array2(max7);
12419
- for (let i = 0; i < max7; i++) {
12417
+ const max8 = Math.max(1, Math.floor(n));
12418
+ const out = new Array2(max8);
12419
+ for (let i = 0; i < max8; i++) {
12420
12420
  out[i] = f(i);
12421
12421
  }
12422
12422
  return out;
@@ -13038,7 +13038,7 @@ var countBy = /* @__PURE__ */ dual(2, (self, f) => {
13038
13038
  return count2;
13039
13039
  });
13040
13040
 
13041
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/BigDecimal.js
13041
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/BigDecimal.js
13042
13042
  var FINITE_INT_REGEXP = /^[+-]?\d+$/;
13043
13043
  var TypeId3 = "~effect/BigDecimal";
13044
13044
  var BigDecimalProto = {
@@ -13267,17 +13267,17 @@ var floor = /* @__PURE__ */ dual(isBigDecimalArgs, (self, scale2 = 0) => {
13267
13267
  return truncated;
13268
13268
  });
13269
13269
 
13270
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Boolean.js
13270
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Boolean.js
13271
13271
  var Boolean2 = globalThis.Boolean;
13272
13272
  var ReducerOr = /* @__PURE__ */ make((a, b) => a || b, false);
13273
13273
 
13274
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Effectable.js
13274
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Effectable.js
13275
13275
  var Prototype2 = (options) => makePrimitiveProto({
13276
13276
  op: options.label,
13277
13277
  [evaluate]: options.evaluate
13278
13278
  });
13279
13279
 
13280
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/stackTraceLimit.js
13280
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/stackTraceLimit.js
13281
13281
  var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
13282
13282
  var ObjectPrototypeHasOwnProperty = Object.prototype.hasOwnProperty;
13283
13283
  var ObjectIsExtensible = Object.isExtensible;
@@ -13297,7 +13297,7 @@ var setStackTraceLimit = (value5) => {
13297
13297
  }
13298
13298
  };
13299
13299
 
13300
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Context.js
13300
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Context.js
13301
13301
  var ServiceTypeId = "~effect/Context/Service";
13302
13302
  var Service = function() {
13303
13303
  const prevLimit = getStackTraceLimit();
@@ -13401,12 +13401,7 @@ var make8 = (key, service3) => makeUnsafe(/* @__PURE__ */ new Map([[key.key, ser
13401
13401
  var add = /* @__PURE__ */ dual(3, (self, key, service3) => withMapUnsafe(self, (map15) => {
13402
13402
  map15.set(key.key, service3);
13403
13403
  }));
13404
- var getOrElse3 = /* @__PURE__ */ dual(3, (self, key, orElse4) => {
13405
- if (self.mapUnsafe.has(key.key)) {
13406
- return self.mapUnsafe.get(key.key);
13407
- }
13408
- return isReference(key) ? getDefaultValue(key) : orElse4();
13409
- });
13404
+ var getOrUndefined2 = /* @__PURE__ */ dual(2, (self, key) => self.mapUnsafe.get(key.key));
13410
13405
  var getUnsafe2 = /* @__PURE__ */ dual(2, (self, service3) => {
13411
13406
  if (!self.mapUnsafe.has(service3.key)) {
13412
13407
  if (ReferenceTypeId in service3) return getDefaultValue(service3);
@@ -13479,7 +13474,7 @@ var withMapUnsafe = (self, f) => {
13479
13474
  };
13480
13475
  var Reference = Service;
13481
13476
 
13482
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Duration.js
13477
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Duration.js
13483
13478
  var Duration_exports = {};
13484
13479
  __export(Duration_exports, {
13485
13480
  CombinerMax: () => CombinerMax,
@@ -13995,14 +13990,14 @@ var parts = (self) => {
13995
13990
  const a = neg ? -n : n;
13996
13991
  const ms = a / bigint1e6;
13997
13992
  const sec = ms / bigint1e3;
13998
- const min7 = sec / bigint60;
13999
- const hr = min7 / bigint60;
13993
+ const min8 = sec / bigint60;
13994
+ const hr = min8 / bigint60;
14000
13995
  const d = hr / bigint24;
14001
13996
  const sign2 = neg ? -1 : 1;
14002
13997
  return {
14003
13998
  days: sign2 * Number(d),
14004
13999
  hours: sign2 * Number(hr % bigint24),
14005
- minutes: sign2 * Number(min7 % bigint60),
14000
+ minutes: sign2 * Number(min8 % bigint60),
14006
14001
  seconds: sign2 * Number(sec % bigint60),
14007
14002
  millis: sign2 * Number(ms % bigint1e3),
14008
14003
  nanos: sign2 * Number(a % bigint1e6)
@@ -14047,7 +14042,7 @@ var ReducerSum = /* @__PURE__ */ make(sum2, zero2);
14047
14042
  var CombinerMax = /* @__PURE__ */ max(Order2);
14048
14043
  var CombinerMin = /* @__PURE__ */ min(Order2);
14049
14044
 
14050
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Filter.js
14045
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Filter.js
14051
14046
  var composePassthrough = /* @__PURE__ */ dual(2, (left, right) => (input) => {
14052
14047
  const leftOut = left(input);
14053
14048
  if (isFailure2(leftOut)) return fail2(input);
@@ -14056,7 +14051,7 @@ var composePassthrough = /* @__PURE__ */ dual(2, (left, right) => (input) => {
14056
14051
  return rightOut;
14057
14052
  });
14058
14053
 
14059
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Scheduler.js
14054
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Scheduler.js
14060
14055
  var Scheduler = /* @__PURE__ */ Reference("effect/Scheduler", {
14061
14056
  defaultValue: () => new MixedScheduler()
14062
14057
  });
@@ -14181,7 +14176,7 @@ var PreventSchedulerYield = /* @__PURE__ */ Reference("effect/Scheduler/PreventS
14181
14176
  defaultValue: () => false
14182
14177
  });
14183
14178
 
14184
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Tracer.js
14179
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Tracer.js
14185
14180
  var ParentSpanKey = "effect/Tracer/ParentSpan";
14186
14181
  var ParentSpan = class extends (/* @__PURE__ */ Service()(ParentSpanKey)) {
14187
14182
  };
@@ -14261,10 +14256,10 @@ var randomHexString = /* @__PURE__ */ (function() {
14261
14256
  };
14262
14257
  })();
14263
14258
 
14264
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/metric.js
14259
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/metric.js
14265
14260
  var FiberRuntimeMetricsKey = "effect/observability/Metric/FiberRuntimeMetricsKey";
14266
14261
 
14267
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/references.js
14262
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/references.js
14268
14263
  var CurrentConcurrency = /* @__PURE__ */ Reference("effect/References/CurrentConcurrency", {
14269
14264
  defaultValue: () => "unbounded"
14270
14265
  });
@@ -14299,7 +14294,7 @@ var CurrentLogSpans = /* @__PURE__ */ Reference("effect/References/CurrentLogSpa
14299
14294
  defaultValue: () => []
14300
14295
  });
14301
14296
 
14302
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/tracer.js
14297
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/tracer.js
14303
14298
  var addSpanStackTrace = (options) => {
14304
14299
  if (options?.captureStackTrace === false) {
14305
14300
  return options;
@@ -14330,10 +14325,10 @@ var makeStackCleaner = (line) => (stack) => {
14330
14325
  };
14331
14326
  var spanCleaner = /* @__PURE__ */ makeStackCleaner(3);
14332
14327
 
14333
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/version.js
14328
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/version.js
14334
14329
  var version = "dev";
14335
14330
 
14336
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/effect.js
14331
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/effect.js
14337
14332
  var Interrupt = class extends ReasonBase {
14338
14333
  fiberId;
14339
14334
  constructor(fiberId3, annotations = constEmptyAnnotations) {
@@ -14432,7 +14427,7 @@ var causeSquash = (self) => {
14432
14427
  }
14433
14428
  return new globalThis.Error("Empty cause");
14434
14429
  };
14435
- var causePrettyErrors = (self) => {
14430
+ var causePrettyErrors = (self, options) => {
14436
14431
  const errors = [];
14437
14432
  const interrupts = [];
14438
14433
  if (self.reasons.length === 0) return errors;
@@ -14443,7 +14438,7 @@ var causePrettyErrors = (self) => {
14443
14438
  interrupts.push(failure);
14444
14439
  continue;
14445
14440
  }
14446
- errors.push(causePrettyError(failure._tag === "Die" ? failure.defect : failure.error, failure.annotations));
14441
+ errors.push(causePrettyError(failure._tag === "Die" ? failure.defect : failure.error, failure.annotations, options));
14447
14442
  }
14448
14443
  if (errors.length === 0) {
14449
14444
  const cause = new Error("The fiber was interrupted by:");
@@ -14454,12 +14449,12 @@ var causePrettyErrors = (self) => {
14454
14449
  });
14455
14450
  error3.name = "InterruptError";
14456
14451
  error3.stack = `${error3.name}: ${error3.message}`;
14457
- errors.push(causePrettyError(error3, interrupts[0].annotations));
14452
+ errors.push(causePrettyError(error3, interrupts[0].annotations, options));
14458
14453
  }
14459
14454
  setStackTraceLimit(prevStackLimit);
14460
14455
  return errors;
14461
14456
  };
14462
- var causePrettyError = (original, annotations) => {
14457
+ var causePrettyError = (original, annotations, options) => {
14463
14458
  const kind = typeof original;
14464
14459
  let error3;
14465
14460
  if (original && kind === "object") {
@@ -14475,6 +14470,9 @@ var causePrettyError = (original, annotations) => {
14475
14470
  const stack = `${error3.name}: ${error3.message}`;
14476
14471
  error3.stack = annotations ? addStackAnnotations(stack, annotations) : stack;
14477
14472
  }
14473
+ if (options?.includeCauseInStack) {
14474
+ error3.stack = renderPrettyError(error3);
14475
+ }
14478
14476
  for (const key of Object.keys(original)) {
14479
14477
  if (!(key in error3)) {
14480
14478
  ;
@@ -14552,9 +14550,10 @@ var currentStackTrace = (frame) => {
14552
14550
  }
14553
14551
  return out.join("\n");
14554
14552
  };
14555
- var causePretty = (cause) => causePrettyErrors(cause).map((e) => e.cause ? `${e.stack} {
14553
+ var causePretty = (cause) => causePrettyErrors(cause).map(renderPrettyError).join("\n");
14554
+ var renderPrettyError = (e) => e.cause ? `${e.stack} {
14556
14555
  ${renderErrorCause(e.cause, " ")}
14557
- }` : e.stack).join("\n");
14556
+ }` : e.stack;
14558
14557
  var renderErrorCause = (cause, prefix) => {
14559
14558
  const lines = cause.stack.split("\n");
14560
14559
  let stack = `${prefix}[cause]: ${lines[0]}`;
@@ -14873,10 +14872,7 @@ var suspend = /* @__PURE__ */ makePrimitive({
14873
14872
  return this[args]();
14874
14873
  }
14875
14874
  });
14876
- var fromOption4 = /* @__PURE__ */ match({
14877
- onNone: () => fail3(new NoSuchElementError("Effect.fromOption: Option.none")),
14878
- onSome: succeed3
14879
- });
14875
+ var fromOption4 = /* @__PURE__ */ dual((args2) => args2.length >= 2 || isOption2(args2[0]), (option6, onNone) => isNone2(option6) ? fail3(onNone ? onNone() : new NoSuchElementError("Effect.fromOption: Option.none")) : succeed3(option6.value));
14880
14876
  var fromResult = /* @__PURE__ */ match2({
14881
14877
  onFailure: fail3,
14882
14878
  onSuccess: succeed3
@@ -15292,6 +15288,7 @@ var updateService = /* @__PURE__ */ dual(3, (self, service3, f) => updateContext
15292
15288
  var context = () => getContext;
15293
15289
  var getContext = /* @__PURE__ */ withFiber((fiber3) => succeed3(fiber3.context));
15294
15290
  var contextWith = (f) => withFiber((fiber3) => f(fiber3.context));
15291
+ var setContext = /* @__PURE__ */ dual(2, (self, context4) => updateContext(self, constant(context4)));
15295
15292
  var provideContext = /* @__PURE__ */ dual(2, (self, context4) => {
15296
15293
  if (effectIsExit(self)) return self;
15297
15294
  return updateContext(self, merge2(context4));
@@ -16736,7 +16733,7 @@ var reportCauseUnsafe = (fiber3, cause, defectsOnly) => {
16736
16733
  reporters.forEach((reporter) => reporter.report(opts));
16737
16734
  };
16738
16735
 
16739
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Cause.js
16736
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Cause.js
16740
16737
  var isCause2 = isCause;
16741
16738
  var isReason = isCauseReason;
16742
16739
  var isFailReason2 = isFailReason;
@@ -16752,7 +16749,7 @@ var isDone2 = isDone;
16752
16749
  var done2 = done;
16753
16750
  var IllegalArgumentError2 = IllegalArgumentError;
16754
16751
 
16755
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Effect.js
16752
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Effect.js
16756
16753
  var Effect_exports = {};
16757
16754
  __export(Effect_exports, {
16758
16755
  Do: () => Do4,
@@ -16913,8 +16910,8 @@ __export(Effect_exports, {
16913
16910
  runSyncExitWith: () => runSyncExitWith2,
16914
16911
  runSyncWith: () => runSyncWith2,
16915
16912
  sandbox: () => sandbox2,
16916
- satisfiesErrorType: () => satisfiesErrorType2,
16917
- satisfiesServicesType: () => satisfiesServicesType2,
16913
+ satisfiesErrorType: () => satisfiesErrorType,
16914
+ satisfiesServicesType: () => satisfiesServicesType,
16918
16915
  satisfiesSuccessType: () => satisfiesSuccessType,
16919
16916
  schedule: () => schedule,
16920
16917
  scheduleFrom: () => scheduleFrom2,
@@ -16923,6 +16920,7 @@ __export(Effect_exports, {
16923
16920
  scopedWith: () => scopedWith2,
16924
16921
  service: () => service2,
16925
16922
  serviceOption: () => serviceOption2,
16923
+ setContext: () => setContext2,
16926
16924
  sleep: () => sleep2,
16927
16925
  spanAnnotations: () => spanAnnotations2,
16928
16926
  spanLinks: () => spanLinks2,
@@ -16982,7 +16980,7 @@ __export(Effect_exports, {
16982
16980
  zipWith: () => zipWith4
16983
16981
  });
16984
16982
 
16985
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Exit.js
16983
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Exit.js
16986
16984
  var Exit_exports = {};
16987
16985
  __export(Exit_exports, {
16988
16986
  asVoid: () => asVoid3,
@@ -17041,7 +17039,7 @@ var getSuccess3 = exitGetSuccess;
17041
17039
  var getCause = exitGetCause;
17042
17040
  var findErrorOption2 = exitFindErrorOption;
17043
17041
 
17044
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Deferred.js
17042
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Deferred.js
17045
17043
  var Deferred_exports = {};
17046
17044
  __export(Deferred_exports, {
17047
17045
  await: () => _await,
@@ -17125,16 +17123,16 @@ var doneUnsafe = (self, effect) => {
17125
17123
  };
17126
17124
  var into = /* @__PURE__ */ dual(2, (self, deferred) => uninterruptibleMask((restore) => flatMap4(exit(restore(self)), (exit3) => done3(deferred, exit3))));
17127
17125
 
17128
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/References.js
17126
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/References.js
17129
17127
  var CurrentLogAnnotations2 = CurrentLogAnnotations;
17130
17128
  var CurrentLogSpans2 = CurrentLogSpans;
17131
17129
 
17132
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Scope.js
17130
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Scope.js
17133
17131
  var makeUnsafe3 = scopeMakeUnsafe;
17134
17132
  var forkUnsafe2 = scopeForkUnsafe;
17135
17133
  var close = scopeClose;
17136
17134
 
17137
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Layer.js
17135
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Layer.js
17138
17136
  var TypeId7 = "~effect/Layer";
17139
17137
  var MemoMapTypeId = "~effect/Layer/MemoMap";
17140
17138
  var memoMapReuse = (entry, scope3) => {
@@ -17207,11 +17205,15 @@ var MemoMapImpl = class {
17207
17205
  }
17208
17206
  };
17209
17207
  var makeMemoMapUnsafe = () => new MemoMapImpl();
17210
- var CurrentMemoMap = class extends (/* @__PURE__ */ Service()("effect/Layer/CurrentMemoMap")) {
17211
- static getOrCreate = /* @__PURE__ */ getOrElse3(this, makeMemoMapUnsafe);
17208
+ var forkMemoMapUnsafe = (parent) => new MemoMapImpl(parent);
17209
+ var CurrentMemoMap = class _CurrentMemoMap extends (/* @__PURE__ */ Service()("effect/Layer/CurrentMemoMap")) {
17210
+ static forkOrCreate(self) {
17211
+ const current = getOrUndefined2(self, _CurrentMemoMap);
17212
+ return current ? forkMemoMapUnsafe(current) : makeMemoMapUnsafe();
17213
+ }
17212
17214
  };
17213
17215
  var buildWithMemoMap = /* @__PURE__ */ dual(3, (self, memoMap, scope3) => provideService(map5(self.build(memoMap, scope3), add(CurrentMemoMap, memoMap)), CurrentMemoMap, memoMap));
17214
- var buildWithScope = /* @__PURE__ */ dual(2, (self, scope3) => withFiber((fiber3) => buildWithMemoMap(self, CurrentMemoMap.getOrCreate(fiber3.context), scope3)));
17216
+ var buildWithScope = /* @__PURE__ */ dual(2, (self, scope3) => withFiber((fiber3) => buildWithMemoMap(self, CurrentMemoMap.forkOrCreate(fiber3.context), scope3)));
17215
17217
  var succeedContext = (context4) => fromBuildUnsafe(constant(succeed3(context4)));
17216
17218
  var mergeAllEffect = (layers, memoMap, scope3) => {
17217
17219
  const parentScope = forkUnsafe2(scope3, "parallel");
@@ -17223,7 +17225,7 @@ var mergeAll2 = (...layers) => fromBuild((memoMap, scope3) => mergeAllEffect(lay
17223
17225
  var provideWith = (self, that, f) => fromBuild((memoMap, scope3) => flatMap4(Array.isArray(that) ? mergeAllEffect(that, memoMap, scope3) : that.build(memoMap, scope3), (context4) => self.build(memoMap, scope3).pipe(provideContext(context4), map5((merged) => f(merged, context4)))));
17224
17226
  var provide2 = /* @__PURE__ */ dual(2, (self, that) => provideWith(self, that, identity));
17225
17227
 
17226
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/ExecutionPlan.js
17228
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/ExecutionPlan.js
17227
17229
  var TypeId8 = "~effect/ExecutionPlan";
17228
17230
  var Proto2 = {
17229
17231
  [TypeId8]: TypeId8,
@@ -17250,29 +17252,16 @@ var CurrentMetadata = /* @__PURE__ */ Reference("effect/ExecutionPlan/CurrentMet
17250
17252
  })
17251
17253
  });
17252
17254
 
17253
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Schedule.js
17255
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Schedule.js
17254
17256
  var Schedule_exports = {};
17255
17257
  __export(Schedule_exports, {
17256
17258
  CurrentMetadata: () => CurrentMetadata2,
17257
17259
  addDelay: () => addDelay,
17258
17260
  andThen: () => andThen3,
17259
17261
  andThenResult: () => andThenResult,
17260
- both: () => both,
17261
- bothLeft: () => bothLeft,
17262
- bothRight: () => bothRight,
17263
- bothWith: () => bothWith,
17264
- collectInputs: () => collectInputs,
17265
- collectOutputs: () => collectOutputs,
17266
- collectWhile: () => collectWhile,
17267
17262
  cron: () => cron,
17268
- delays: () => delays,
17269
17263
  duration: () => duration,
17270
17264
  during: () => during,
17271
- either: () => either,
17272
- eitherLeft: () => eitherLeft,
17273
- eitherRight: () => eitherRight,
17274
- eitherWith: () => eitherWith,
17275
- elapsed: () => elapsed,
17276
17265
  exponential: () => exponential,
17277
17266
  fibonacci: () => fibonacci,
17278
17267
  fixed: () => fixed,
@@ -17283,29 +17272,23 @@ __export(Schedule_exports, {
17283
17272
  isSchedule: () => isSchedule,
17284
17273
  jittered: () => jittered,
17285
17274
  map: () => map8,
17275
+ max: () => max5,
17276
+ min: () => min5,
17286
17277
  modifyDelay: () => modifyDelay,
17287
17278
  passthrough: () => passthrough,
17288
17279
  recurs: () => recurs,
17289
- reduce: () => reduce2,
17290
- satisfiesErrorType: () => satisfiesErrorType,
17291
- satisfiesInputType: () => satisfiesInputType,
17292
- satisfiesOutputType: () => satisfiesOutputType,
17293
- satisfiesServicesType: () => satisfiesServicesType,
17294
17280
  setInputType: () => setInputType,
17295
17281
  spaced: () => spaced,
17296
- take: () => take2,
17297
17282
  tap: () => tap3,
17298
- tapInput: () => tapInput,
17299
- tapOutput: () => tapOutput,
17300
17283
  toStep: () => toStep,
17301
17284
  toStepWithMetadata: () => toStepWithMetadata,
17302
17285
  toStepWithSleep: () => toStepWithSleep,
17303
- unfold: () => unfold2,
17286
+ upTo: () => upTo,
17304
17287
  while: () => while_,
17305
17288
  windowed: () => windowed
17306
17289
  });
17307
17290
 
17308
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Data.js
17291
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Data.js
17309
17292
  var Class3 = class extends Class {
17310
17293
  constructor(props) {
17311
17294
  super();
@@ -17316,7 +17299,7 @@ var Class3 = class extends Class {
17316
17299
  };
17317
17300
  var TaggedError2 = TaggedError;
17318
17301
 
17319
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/dateTime.js
17302
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/dateTime.js
17320
17303
  var TypeId9 = "~effect/time/DateTime";
17321
17304
  var TimeZoneTypeId = "~effect/time/DateTime/TimeZone";
17322
17305
  var Proto3 = {
@@ -17722,7 +17705,7 @@ var formatIsoOffset = (self) => {
17722
17705
  };
17723
17706
  var formatIsoZoned = (self) => self.zone._tag === "Offset" ? formatIsoOffset(self) : `${formatIsoOffset(self)}[${self.zone.id}]`;
17724
17707
 
17725
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Number.js
17708
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Number.js
17726
17709
  var Number3 = globalThis.Number;
17727
17710
  var Order4 = Number2;
17728
17711
  var remainder = /* @__PURE__ */ dual(2, (self, divisor) => {
@@ -17746,12 +17729,12 @@ function decimalCount(n) {
17746
17729
  var ReducerMax = /* @__PURE__ */ make((a, b) => Math.max(a, b), -Infinity);
17747
17730
  var ReducerMin = /* @__PURE__ */ make((a, b) => Math.min(a, b), Infinity);
17748
17731
 
17749
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/String.js
17732
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/String.js
17750
17733
  var String2 = globalThis.String;
17751
17734
  var trim = (self) => self.trim();
17752
17735
  var isNonEmpty = (self) => self.length > 0;
17753
17736
 
17754
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Cron.js
17737
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Cron.js
17755
17738
  var TypeId10 = "~effect/time/Cron";
17756
17739
  function toPojo(cron2) {
17757
17740
  return {
@@ -17770,7 +17753,7 @@ var CronProto = {
17770
17753
  return isCron(that) && equals4(this, that);
17771
17754
  },
17772
17755
  [symbol]() {
17773
- return pipe(hash(this.tz), combine(array(fromIterable2(this.seconds))), combine(array(fromIterable2(this.minutes))), combine(array(fromIterable2(this.hours))), combine(array(fromIterable2(this.days))), combine(array(fromIterable2(this.months))), combine(array(fromIterable2(this.weekdays))));
17756
+ return pipe(hash(this.tz), combine(hash(this.and)), combine(array(fromIterable2(this.seconds))), combine(array(fromIterable2(this.minutes))), combine(array(fromIterable2(this.hours))), combine(array(fromIterable2(this.days))), combine(array(fromIterable2(this.months))), combine(array(fromIterable2(this.weekdays))));
17774
17757
  },
17775
17758
  toObject() {
17776
17759
  return {
@@ -17807,6 +17790,7 @@ var make13 = (values3) => {
17807
17790
  o.days = new Set(sort(values3.days, Order4));
17808
17791
  o.months = new Set(sort(values3.months, Order4));
17809
17792
  o.weekdays = new Set(sort(values3.weekdays, Order4));
17793
+ o.and = values3.and === true;
17810
17794
  o.tz = fromUndefinedOr(values3.tz);
17811
17795
  const seconds2 = Array.from(o.seconds);
17812
17796
  const minutes2 = Array.from(o.minutes);
@@ -17878,7 +17862,7 @@ var CronParseError = class extends (/* @__PURE__ */ TaggedError2("CronParseError
17878
17862
  [CronParseErrorTypeId] = CronParseErrorTypeId;
17879
17863
  };
17880
17864
  var parse = (cron2, tz) => {
17881
- const segments = cron2.split(" ").filter(isNonEmpty);
17865
+ const segments = cron2.trim().split(/\s+/).filter(isNonEmpty);
17882
17866
  if (segments.length !== 5 && segments.length !== 6) {
17883
17867
  return fail2(new CronParseError({
17884
17868
  message: `Invalid number of segments in cron expression`,
@@ -17901,7 +17885,24 @@ var parse = (cron2, tz) => {
17901
17885
  days: parseSegment(days2, dayOptions),
17902
17886
  months: parseSegment(months, monthOptions),
17903
17887
  weekdays: parseSegment(weekdays, weekdayOptions)
17904
- }).pipe(map2(make13));
17888
+ }).pipe(map2(({
17889
+ tz: tz2,
17890
+ seconds: seconds3,
17891
+ minutes: minutes3,
17892
+ hours: hours3,
17893
+ days: days3,
17894
+ months: months2,
17895
+ weekdays: weekdays2
17896
+ }) => make13({
17897
+ tz: tz2,
17898
+ seconds: seconds3.values,
17899
+ minutes: minutes3.values,
17900
+ hours: hours3.values,
17901
+ days: days3.values,
17902
+ months: months2.values,
17903
+ weekdays: weekdays2.values,
17904
+ and: (days3.wildcard || weekdays2.wildcard) && days3.values.size !== 0 && weekdays2.values.size !== 0
17905
+ })));
17905
17906
  };
17906
17907
  var daysInMonth = (date6) => new Date(Date.UTC(date6.getUTCFullYear(), date6.getUTCMonth() + 1, 0)).getUTCDate();
17907
17908
  var next = (cron2, now2) => {
@@ -17976,50 +17977,61 @@ var stepCron = (cron2, now2, direction) => {
17976
17977
  }
17977
17978
  }
17978
17979
  if (cron2.weekdays.size !== 0 || cron2.days.size !== 0) {
17979
- let a = reverse2 ? -Infinity : Infinity;
17980
- let b = reverse2 ? -Infinity : Infinity;
17981
- if (cron2.weekdays.size !== 0) {
17982
- const currentWeekday = current.getUTCDay();
17983
- const nextWeekday = table2.weekday[currentWeekday];
17984
- if (nextWeekday === void 0) {
17985
- a = reverse2 ? currentWeekday - 7 + boundary.weekday : 7 - currentWeekday + boundary.weekday;
17986
- } else {
17987
- a = nextWeekday - currentWeekday;
17980
+ if (cron2.and) {
17981
+ const matchesDay = cron2.days.size === 0 || cron2.days.has(current.getUTCDate());
17982
+ const matchesWeekday = cron2.weekdays.size === 0 || cron2.weekdays.has(current.getUTCDay());
17983
+ if (!matchesDay || !matchesWeekday) {
17984
+ current.setUTCDate(current.getUTCDate() + tick);
17985
+ current.setUTCHours(boundary.hour, boundary.minute, boundary.second);
17986
+ adjustDst(current);
17987
+ continue;
17988
17988
  }
17989
- }
17990
- if (cron2.days.size !== 0 && a !== 0) {
17991
- const currentDay = current.getUTCDate();
17992
- const nextDay = table2.day[currentDay];
17993
- if (nextDay === void 0) {
17994
- if (reverse2) {
17995
- const prevMonthDays = daysInMonth(new Date(Date.UTC(current.getUTCFullYear(), current.getUTCMonth(), 0)));
17996
- b = -(currentDay + (prevMonthDays - boundary.day));
17989
+ } else {
17990
+ let a = reverse2 ? -Infinity : Infinity;
17991
+ let b = reverse2 ? -Infinity : Infinity;
17992
+ if (cron2.weekdays.size !== 0) {
17993
+ const currentWeekday = current.getUTCDay();
17994
+ const nextWeekday = table2.weekday[currentWeekday];
17995
+ if (nextWeekday === void 0) {
17996
+ a = reverse2 ? currentWeekday - 7 + boundary.weekday : 7 - currentWeekday + boundary.weekday;
17997
17997
  } else {
17998
+ a = nextWeekday - currentWeekday;
17999
+ }
18000
+ }
18001
+ if (cron2.days.size !== 0 && a !== 0) {
18002
+ const currentDay = current.getUTCDate();
18003
+ const nextDay = table2.day[currentDay];
18004
+ if (nextDay === void 0) {
18005
+ if (reverse2) {
18006
+ const prevMonthDays = daysInMonth(new Date(Date.UTC(current.getUTCFullYear(), current.getUTCMonth(), 0)));
18007
+ b = -(currentDay + (prevMonthDays - boundary.day));
18008
+ } else {
18009
+ b = daysInMonth(current) - currentDay + boundary.day;
18010
+ }
18011
+ } else if (!reverse2 && nextDay > daysInMonth(current)) {
17998
18012
  b = daysInMonth(current) - currentDay + boundary.day;
18013
+ } else {
18014
+ b = nextDay - currentDay;
17999
18015
  }
18000
- } else if (!reverse2 && nextDay > daysInMonth(current)) {
18001
- b = daysInMonth(current) - currentDay + boundary.day;
18002
- } else {
18003
- b = nextDay - currentDay;
18004
18016
  }
18005
- }
18006
- const addDays = reverse2 ? Math.max(a, b) : Math.min(a, b);
18007
- if (addDays !== 0) {
18008
- current.setUTCDate(current.getUTCDate() + addDays);
18009
- current.setUTCHours(boundary.hour, boundary.minute, boundary.second);
18010
- adjustDst(current);
18011
- continue;
18017
+ const addDays = reverse2 ? Math.max(a, b) : Math.min(a, b);
18018
+ if (addDays !== 0) {
18019
+ current.setUTCDate(current.getUTCDate() + addDays);
18020
+ current.setUTCHours(boundary.hour, boundary.minute, boundary.second);
18021
+ adjustDst(current);
18022
+ continue;
18023
+ }
18012
18024
  }
18013
18025
  }
18014
18026
  if (cron2.months.size !== 0) {
18015
18027
  const currentMonth = current.getUTCMonth() + 1;
18016
18028
  const nextMonth = table2.month[currentMonth];
18017
18029
  const clampBoundaryDay = (targetMonthIndex) => {
18018
- if (cron2.days.size !== 0) {
18030
+ if (cron2.days.size !== 0 && cron2.weekdays.size === 0) {
18019
18031
  return boundary.day;
18020
18032
  }
18021
18033
  const maxDayInMonth = daysInMonth(new Date(Date.UTC(current.getUTCFullYear(), targetMonthIndex + 1, 0)));
18022
- return Math.min(boundary.day, maxDayInMonth);
18034
+ return reverse2 ? maxDayInMonth : 1;
18023
18035
  };
18024
18036
  if (nextMonth === void 0) {
18025
18037
  current.setUTCFullYear(current.getUTCFullYear() + tick);
@@ -18042,7 +18054,7 @@ var stepCron = (cron2, now2, direction) => {
18042
18054
  });
18043
18055
  return toDateUtc(result5);
18044
18056
  };
18045
- var Equivalence4 = /* @__PURE__ */ make2((self, that) => restrictionsEquals(self.seconds, that.seconds) && restrictionsEquals(self.minutes, that.minutes) && restrictionsEquals(self.hours, that.hours) && restrictionsEquals(self.days, that.days) && restrictionsEquals(self.months, that.months) && restrictionsEquals(self.weekdays, that.weekdays));
18057
+ var Equivalence4 = /* @__PURE__ */ make2((self, that) => self.and === that.and && restrictionsEquals(self.seconds, that.seconds) && restrictionsEquals(self.minutes, that.minutes) && restrictionsEquals(self.hours, that.hours) && restrictionsEquals(self.days, that.days) && restrictionsEquals(self.months, that.months) && restrictionsEquals(self.weekdays, that.weekdays));
18046
18058
  var restrictionsArrayEquals = /* @__PURE__ */ Array_(/* @__PURE__ */ strictEqual());
18047
18059
  var restrictionsEquals = (self, that) => restrictionsArrayEquals(fromIterable2(self), fromIterable2(that));
18048
18060
  var equals4 = /* @__PURE__ */ dual(2, (self, that) => Equivalence4(self, that));
@@ -18082,7 +18094,8 @@ var monthOptions = {
18082
18094
  };
18083
18095
  var weekdayOptions = {
18084
18096
  min: 0,
18085
- max: 6,
18097
+ max: 7,
18098
+ normalize: (value5) => value5 === 7 ? 0 : value5,
18086
18099
  aliases: {
18087
18100
  sun: 0,
18088
18101
  mon: 1,
@@ -18094,14 +18107,17 @@ var weekdayOptions = {
18094
18107
  }
18095
18108
  };
18096
18109
  var parseSegment = (input, options) => {
18097
- const capacity = options.max - options.min + 1;
18098
18110
  const values3 = /* @__PURE__ */ new Set();
18099
18111
  const fields = input.split(",");
18100
- for (const field of fields) {
18101
- const [raw, step] = splitStep(field);
18102
- if (raw === "*" && step === void 0) {
18103
- return succeed2(/* @__PURE__ */ new Set());
18104
- }
18112
+ const first = splitStep(fields[0]);
18113
+ const wildcard = first[0] === "*";
18114
+ const normalize2 = options.normalize ?? ((value5) => value5);
18115
+ const add4 = wildcard && (first[1] === void 0 || first[1] === 1) ? constVoid : (value5) => {
18116
+ values3.add(normalize2(value5));
18117
+ };
18118
+ for (let index2 = 0; index2 < fields.length; index2++) {
18119
+ const field = fields[index2];
18120
+ const [raw, step] = index2 === 0 ? first : splitStep(field);
18105
18121
  if (step !== void 0) {
18106
18122
  if (!Number.isInteger(step)) {
18107
18123
  return fail2(new CronParseError({
@@ -18123,8 +18139,11 @@ var parseSegment = (input, options) => {
18123
18139
  }
18124
18140
  }
18125
18141
  if (raw === "*") {
18142
+ if (index2 === 0 && (step === void 0 || step === 1)) {
18143
+ continue;
18144
+ }
18126
18145
  for (let i = options.min; i <= options.max; i += step ?? 1) {
18127
- values3.add(i);
18146
+ add4(i);
18128
18147
  }
18129
18148
  } else {
18130
18149
  const [left, right] = splitRange(raw, options.aliases);
@@ -18141,7 +18160,9 @@ var parseSegment = (input, options) => {
18141
18160
  }));
18142
18161
  }
18143
18162
  if (right === void 0) {
18144
- values3.add(left);
18163
+ for (let i = left; i <= (step === void 0 ? left : options.max); i += step ?? 1) {
18164
+ add4(i);
18165
+ }
18145
18166
  } else {
18146
18167
  if (!Number.isInteger(right)) {
18147
18168
  return fail2(new CronParseError({
@@ -18162,20 +18183,21 @@ var parseSegment = (input, options) => {
18162
18183
  }));
18163
18184
  }
18164
18185
  for (let i = left; i <= right; i += step ?? 1) {
18165
- values3.add(i);
18186
+ add4(i);
18166
18187
  }
18167
18188
  }
18168
18189
  }
18169
- if (values3.size >= capacity) {
18170
- return succeed2(/* @__PURE__ */ new Set());
18171
- }
18172
18190
  }
18173
- return succeed2(values3);
18191
+ return succeed2({
18192
+ values: values3,
18193
+ wildcard
18194
+ });
18174
18195
  };
18175
18196
  var splitStep = (input) => {
18176
18197
  const separator = input.indexOf("/");
18177
18198
  if (separator !== -1) {
18178
- return [input.slice(0, separator), Number(input.slice(separator + 1))];
18199
+ const step = input.slice(separator + 1);
18200
+ return [input.slice(0, separator), decimalRegex.test(step) ? Number(step) : NaN];
18179
18201
  }
18180
18202
  return [input, void 0];
18181
18203
  };
@@ -18187,10 +18209,11 @@ var splitRange = (input, aliases) => {
18187
18209
  return [aliasOrValue(input, aliases), void 0];
18188
18210
  };
18189
18211
  function aliasOrValue(field, aliases) {
18190
- return aliases?.[field.toLocaleLowerCase()] ?? Number(field);
18212
+ return aliases?.[field.toLocaleLowerCase()] ?? (decimalRegex.test(field) ? Number(field) : NaN);
18191
18213
  }
18214
+ var decimalRegex = /^\d+$/;
18192
18215
 
18193
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/random.js
18216
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/random.js
18194
18217
  var Random = /* @__PURE__ */ Reference("effect/Random", {
18195
18218
  defaultValue: () => ({
18196
18219
  nextIntUnsafe() {
@@ -18202,7 +18225,7 @@ var Random = /* @__PURE__ */ Reference("effect/Random", {
18202
18225
  })
18203
18226
  });
18204
18227
 
18205
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Pull.js
18228
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Pull.js
18206
18229
  var catchDone = /* @__PURE__ */ dual(2, (effect, f) => catchCauseFilter(effect, filterDoneLeftover, (l) => f(l)));
18207
18230
  var filterDone = /* @__PURE__ */ composePassthrough(findError2, (e) => isDone2(e) ? succeed2(e) : fail2(e));
18208
18231
  var filterDoneLeftover = /* @__PURE__ */ composePassthrough(findError2, (e) => isDone2(e) ? succeed2(e.value) : fail2(e));
@@ -18214,7 +18237,7 @@ var matchEffect2 = /* @__PURE__ */ dual(2, (self, options) => matchCauseEffect(s
18214
18237
  }
18215
18238
  }));
18216
18239
 
18217
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Schedule.js
18240
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Schedule.js
18218
18241
  var TypeId11 = "~effect/Schedule";
18219
18242
  var randomNext = /* @__PURE__ */ Random.useSync((random2) => random2.nextDoubleUnsafe());
18220
18243
  var CurrentMetadata2 = /* @__PURE__ */ Reference("effect/Schedule/CurrentMetadata", {
@@ -18251,7 +18274,7 @@ var metadataFn = () => {
18251
18274
  let start;
18252
18275
  return (now2, input) => {
18253
18276
  if (start === void 0) start = now2;
18254
- const elapsed2 = now2 - start;
18277
+ const elapsed = now2 - start;
18255
18278
  const elapsedSincePrevious = previous === void 0 ? 0 : now2 - previous;
18256
18279
  previous = now2;
18257
18280
  return {
@@ -18259,7 +18282,7 @@ var metadataFn = () => {
18259
18282
  attempt: ++n,
18260
18283
  start,
18261
18284
  now: now2,
18262
- elapsed: elapsed2,
18285
+ elapsed,
18263
18286
  elapsedSincePrevious
18264
18287
  };
18265
18288
  };
@@ -18282,13 +18305,19 @@ var toStepWithMetadata = (schedule2) => clockWith((clock) => map5(toStep(schedul
18282
18305
  });
18283
18306
  }));
18284
18307
  var toStepWithSleep = (schedule2) => map5(toStepWithMetadata(schedule2), (step) => (input) => map5(step(input), (meta3) => meta3.output));
18285
- var addDelay = /* @__PURE__ */ dual(2, (self, f) => modifyDelay(self, (output, delay3) => map5(f(output), (d) => sum2(fromInputUnsafe(d), fromInputUnsafe(delay3)))));
18286
- var andThen3 = /* @__PURE__ */ dual(2, (self, other) => map8(andThenResult(self, other), (result5) => succeed3(merge(result5))));
18308
+ var addDelay = /* @__PURE__ */ dual(2, (self, f) => modifyDelay(self, (metadata) => map5(f(metadata), (d) => sum2(fromInputUnsafe(d), metadata.duration))));
18309
+ var andThen3 = /* @__PURE__ */ dual(2, (self, other) => map8(andThenResult(self, other), ({
18310
+ output
18311
+ }) => succeed3(merge(output))));
18287
18312
  var andThenResult = /* @__PURE__ */ dual(2, (self, other) => fromStep(sync(() => {
18288
18313
  let currentSide = 0;
18289
18314
  let currentStep;
18290
- const left = map8(self, succeed2);
18291
- const right = map8(other, fail2);
18315
+ const left = map8(self, ({
18316
+ output
18317
+ }) => fail2(output));
18318
+ const right = map8(other, ({
18319
+ output
18320
+ }) => succeed2(output));
18292
18321
  return function recur5(now2, input) {
18293
18322
  if (currentStep) return currentStep(now2, input);
18294
18323
  return toStep(currentSide === 0 ? left : right).pipe(flatMap4((step) => {
@@ -18305,45 +18334,70 @@ var andThenResult = /* @__PURE__ */ dual(2, (self, other) => fromStep(sync(() =>
18305
18334
  }));
18306
18335
  };
18307
18336
  })));
18308
- var both = /* @__PURE__ */ dual(2, (self, other) => bothWith(self, other, (left, right) => [left, right]));
18309
- var bothLeft = /* @__PURE__ */ dual(2, (self, other) => bothWith(self, other, (output) => output));
18310
- var bothRight = /* @__PURE__ */ dual(2, (self, other) => bothWith(self, other, (_, output) => output));
18311
- var bothWith = /* @__PURE__ */ dual(3, (self, other, combine2) => fromStep(map5(zip2(toStep(self), toStep(other)), ([stepLeft, stepRight]) => (now2, input) => matchEffect2(stepLeft(now2, input), {
18312
- onSuccess: (leftResult) => stepRight(now2, input).pipe(map5((rightResult) => [combine2(leftResult[0], rightResult[0]), max4(leftResult[1], rightResult[1])]), catchDone((rightDone) => done2(combine2(leftResult[0], rightDone)))),
18313
- onDone: (leftDone) => stepRight(now2, input).pipe(flatMap4((rightResult) => done2(combine2(leftDone, rightResult[0]))), catchDone((rightDone) => done2(combine2(leftDone, rightDone)))),
18337
+ var max5 = (schedules) => fromStep(map5(all3(schedules.map(toStep)), (steps) => (now2, input) => flatMap4(forEach2(steps, (step) => matchEffect2(step(now2, input), {
18338
+ onSuccess: (result5) => succeed3(result5[1]),
18339
+ onDone: () => undefined_,
18314
18340
  onFailure: failCause
18315
- }))));
18316
- var collectInputs = (self) => collectWhile(passthrough(self), () => succeed3(true));
18317
- var collectOutputs = (self) => collectWhile(self, () => succeed3(true));
18318
- var collectWhile = /* @__PURE__ */ dual(2, (self, predicate) => reduce2(while_(self, predicate), () => [], (outputs, output) => {
18319
- outputs.push(output);
18320
- return outputs;
18321
- }));
18341
+ })), (results) => {
18342
+ const duration4 = maxDuration(results);
18343
+ if (duration4 === void 0) {
18344
+ return done2(zero2);
18345
+ }
18346
+ return succeed3([duration4, duration4]);
18347
+ })));
18348
+ var maxDuration = (results) => {
18349
+ let max8 = results[0];
18350
+ for (let i = 1; i < results.length; i++) {
18351
+ max8 = results[i] && max8 && max4(max8, results[i]);
18352
+ if (max8 === void 0) break;
18353
+ }
18354
+ return max8;
18355
+ };
18322
18356
  var cron = (expression, tz) => {
18323
18357
  const parsed = isCron(expression) ? succeed2(expression) : parse(expression, tz);
18324
- return fromStep(map5(fromResult(parsed), (cron2) => (now2, _) => sync(() => {
18325
- const next2 = next(cron2, now2).getTime();
18326
- const duration4 = millis(next2 - now2);
18327
- return [duration4, duration4];
18328
- })));
18358
+ return fromStep(map5(fromResult(parsed), (cron2) => (now2, _) => {
18359
+ if (now2 === Number.POSITIVE_INFINITY) {
18360
+ return done2(zero2);
18361
+ }
18362
+ return sync(() => {
18363
+ const next2 = next(cron2, now2).getTime();
18364
+ const duration4 = millis(next2 - now2);
18365
+ return [duration4, duration4];
18366
+ });
18367
+ }));
18329
18368
  };
18330
- var delays = (self) => fromStep(map5(toStep(self), (step) => (now2, input) => catchDone(map5(step(now2, input), ([_, duration4]) => [duration4, duration4]), (_) => done2(zero2))));
18331
18369
  var duration = (durationInput) => {
18332
18370
  const duration4 = fromInputUnsafe(durationInput);
18333
18371
  return fromStepWithMetadata(succeed3((meta3) => meta3.attempt === 1 ? succeed3([duration4, duration4]) : done2(zero2)));
18334
18372
  };
18335
- var during = (duration4) => while_(elapsed, ({
18336
- output
18337
- }) => succeed3(isLessThanOrEqualTo2(output, fromInputUnsafe(duration4))));
18338
- var either = /* @__PURE__ */ dual(2, (self, other) => eitherWith(self, other, (left, right) => [left, right]));
18339
- var eitherLeft = /* @__PURE__ */ dual(2, (self, other) => eitherWith(self, other, (output) => output));
18340
- var eitherRight = /* @__PURE__ */ dual(2, (self, other) => eitherWith(self, other, (_, output) => output));
18341
- var eitherWith = /* @__PURE__ */ dual(3, (self, other, combine2) => fromStep(map5(zip2(toStep(self), toStep(other)), ([stepLeft, stepRight]) => (now2, input) => matchEffect2(stepLeft(now2, input), {
18342
- onSuccess: (leftResult) => stepRight(now2, input).pipe(map5((rightResult) => [combine2(leftResult[0], rightResult[0]), min4(leftResult[1], rightResult[1])]), catchDone((rightDone) => succeed3([combine2(leftResult[0], rightDone), leftResult[1]]))),
18343
- onFailure: failCause,
18344
- onDone: (leftDone) => stepRight(now2, input).pipe(map5((rightResult) => [combine2(leftDone, rightResult[0]), rightResult[1]]), catchDone((rightDone) => done2(combine2(leftDone, rightDone))))
18345
- }))));
18346
- var elapsed = /* @__PURE__ */ fromStepWithMetadata(/* @__PURE__ */ succeed3((meta3) => succeed3([millis(meta3.elapsed), zero2])));
18373
+ var during = (duration4) => {
18374
+ const durationMillis = toMillis(duration4);
18375
+ return fromStepWithMetadata(succeed3((meta3) => {
18376
+ const elapsed = millis(meta3.elapsed);
18377
+ return meta3.elapsed > durationMillis ? succeed3([elapsed, zero2]) : done2(elapsed);
18378
+ }));
18379
+ };
18380
+ var min5 = (schedules) => fromStep(map5(all3(schedules.map(toStep)), (steps) => (now2, input) => flatMap4(forEach2(steps, (step) => matchEffect2(step(now2, input), {
18381
+ onSuccess: (result5) => succeed3(result5[1]),
18382
+ onDone: () => undefined_,
18383
+ onFailure: failCause
18384
+ })), (results) => {
18385
+ const duration4 = minDuration(results);
18386
+ if (duration4 === void 0) {
18387
+ return done2(zero2);
18388
+ }
18389
+ return succeed3([duration4, duration4]);
18390
+ })));
18391
+ var minDuration = (results) => {
18392
+ let min8 = void 0;
18393
+ for (let i = 0; i < results.length; i++) {
18394
+ const duration4 = results[i];
18395
+ if (duration4 !== void 0) {
18396
+ min8 = min8 === void 0 ? duration4 : min4(min8, duration4);
18397
+ }
18398
+ }
18399
+ return min8;
18400
+ };
18347
18401
  var exponential = (base2, factor = 2) => {
18348
18402
  const baseMillis = toMillis(fromInputUnsafe(base2));
18349
18403
  return fromStepWithMetadata(succeed3((meta3) => {
@@ -18387,25 +18441,42 @@ var fixed = (interval) => {
18387
18441
  });
18388
18442
  }));
18389
18443
  };
18390
- var map8 = /* @__PURE__ */ dual(2, (self, f) => {
18391
- const handle = matchEffect2({
18444
+ var map8 = /* @__PURE__ */ dual(2, (self, f) => fromStep(map5(toStep(self), (step) => {
18445
+ const meta3 = metadataFn();
18446
+ return (now2, input) => matchEffect2(step(now2, input), {
18392
18447
  onSuccess: ([output, duration4]) => {
18393
- const result5 = f(output);
18448
+ const result5 = f({
18449
+ ...meta3(now2, input),
18450
+ output,
18451
+ duration: duration4
18452
+ });
18394
18453
  if (!isEffect(result5)) return succeed3([result5, duration4]);
18395
18454
  return map5(result5, (output2) => [output2, duration4]);
18396
18455
  },
18397
18456
  onFailure: failCause,
18398
18457
  onDone: (output) => {
18399
- const result5 = f(output);
18458
+ const result5 = f({
18459
+ ...meta3(now2, input),
18460
+ output,
18461
+ duration: zero2
18462
+ });
18400
18463
  if (!isEffect(result5)) return done2(result5);
18401
18464
  return flatMap4(result5, done2);
18402
18465
  }
18403
18466
  });
18404
- return fromStep(map5(toStep(self), (step) => (now2, input) => handle(step(now2, input))));
18405
- });
18406
- var modifyDelay = /* @__PURE__ */ dual(2, (self, f) => fromStep(map5(toStep(self), (step) => (now2, input) => flatMap4(step(now2, input), ([output, delay3]) => map5(f(output, delay3), (delay4) => [output, fromInputUnsafe(delay4)])))));
18407
- var jittered = (self) => modifyDelay(self, (_, delay3) => map5(randomNext, (random2) => {
18408
- const millis2 = toMillis(fromInputUnsafe(delay3));
18467
+ })));
18468
+ var modifyDelay = /* @__PURE__ */ dual(2, (self, f) => fromStep(map5(toStep(self), (step) => {
18469
+ const meta3 = metadataFn();
18470
+ return (now2, input) => flatMap4(step(now2, input), ([output, duration4]) => map5(f({
18471
+ ...meta3(now2, input),
18472
+ output,
18473
+ duration: duration4
18474
+ }), (replacement) => [output, fromInputUnsafe(replacement)]));
18475
+ })));
18476
+ var jittered = (self) => modifyDelay(self, ({
18477
+ duration: duration4
18478
+ }) => map5(randomNext, (random2) => {
18479
+ const millis2 = toMillis(duration4);
18409
18480
  return millis(millis2 * 0.8 * (1 - random2) + millis2 * 1.2 * random2);
18410
18481
  }));
18411
18482
  var passthrough = (self) => fromStep(map5(toStep(self), (step) => (now2, input) => matchEffect2(step(now2, input), {
@@ -18416,27 +18487,6 @@ var passthrough = (self) => fromStep(map5(toStep(self), (step) => (now2, input)
18416
18487
  var recurs = (times2) => while_(forever2, ({
18417
18488
  attempt
18418
18489
  }) => succeed3(attempt <= times2));
18419
- var reduce2 = /* @__PURE__ */ dual(3, (self, initial, combine2) => fromStep(map5(toStep(self), (step) => {
18420
- let state = initial();
18421
- return (now2, input) => matchEffect2(step(now2, input), {
18422
- onSuccess([output, delay3]) {
18423
- const next2 = combine2(state, output);
18424
- if (!isEffect(next2)) {
18425
- state = next2;
18426
- return succeed3([next2, delay3]);
18427
- }
18428
- return map5(next2, (nextState) => {
18429
- state = nextState;
18430
- return [nextState, delay3];
18431
- });
18432
- },
18433
- onFailure: failCause,
18434
- onDone(output) {
18435
- const next2 = combine2(state, output);
18436
- return isEffect(next2) ? flatMap4(next2, done2) : done2(next2);
18437
- }
18438
- });
18439
- })));
18440
18490
  var spaced = (duration4) => {
18441
18491
  const decoded = fromInputUnsafe(duration4);
18442
18492
  return fromStepWithMetadata(succeed3((meta3) => succeed3([meta3.attempt - 1, decoded])));
@@ -18449,19 +18499,13 @@ var tap3 = /* @__PURE__ */ dual(2, (self, f) => fromStep(map5(toStep(self), (ste
18449
18499
  duration: duration4
18450
18500
  }));
18451
18501
  })));
18452
- var tapInput = /* @__PURE__ */ dual(2, (self, f) => fromStep(map5(toStep(self), (step) => (now2, input) => andThen2(f(input), step(now2, input)))));
18453
- var tapOutput = /* @__PURE__ */ dual(2, (self, f) => fromStep(map5(toStep(self), (step) => (now2, input) => tap2(step(now2, input), ([output]) => f(output)))));
18454
- var take2 = /* @__PURE__ */ dual(2, (self, n) => while_(self, ({
18455
- attempt
18456
- }) => succeed3(attempt <= n)));
18457
- var unfold2 = (initial, next2) => fromStep(sync(() => {
18458
- let state = initial;
18459
- return constant(map5(suspend(() => next2(state)), (nextState) => {
18460
- const prev = state;
18461
- state = nextState;
18462
- return [prev, zero2];
18463
- }));
18464
- }));
18502
+ var upTo = /* @__PURE__ */ dual(2, (self, options) => {
18503
+ const duration4 = options.duration === void 0 ? void 0 : fromInputUnsafe(options.duration);
18504
+ return while_(self, ({
18505
+ attempt,
18506
+ elapsed
18507
+ }) => succeed3((options.times === void 0 || attempt <= options.times) && (duration4 === void 0 || isLessThanOrEqualTo2(millis(elapsed), duration4))));
18508
+ });
18465
18509
  var while_ = /* @__PURE__ */ dual(2, (self, predicate) => fromStep(map5(toStep(self), (step) => {
18466
18510
  const meta3 = metadataFn();
18467
18511
  return (now2, input) => flatMap4(step(now2, input), (result5) => {
@@ -18481,17 +18525,13 @@ var windowed = (interval) => {
18481
18525
  var forever2 = /* @__PURE__ */ spaced(zero2);
18482
18526
  var constIdentity = /* @__PURE__ */ fromStep(/* @__PURE__ */ succeed3((_now, input) => succeed3([input, zero2])));
18483
18527
  var identity_ = () => constIdentity;
18484
- var satisfiesInputType = () => (self) => self;
18485
18528
  var setInputType = () => (self) => self;
18486
- var satisfiesOutputType = () => (self) => self;
18487
- var satisfiesErrorType = () => (self) => self;
18488
- var satisfiesServicesType = () => (self) => self;
18489
18529
 
18490
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/layer.js
18530
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/layer.js
18491
18531
  var provideLayer = (self, layer, options) => scopedWith((scope3) => flatMap4(options?.local ? buildWithMemoMap(layer, makeMemoMapUnsafe(), scope3) : buildWithScope(layer, scope3), (context4) => provideContext(self, context4)));
18492
18532
  var provide3 = /* @__PURE__ */ dual((args2) => isEffect(args2[0]), (self, source, options) => isContext(source) ? provideContext(self, source) : provideLayer(self, Array.isArray(source) ? mergeAll2(...source) : source, options));
18493
18533
 
18494
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/schedule.js
18534
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/schedule.js
18495
18535
  var repeatOrElse = /* @__PURE__ */ dual(3, (self, schedule2, orElse4) => flatMap4(toStepWithMetadata(schedule2), (step) => {
18496
18536
  let meta3 = CurrentMetadata2.defaultValue();
18497
18537
  return catch_(forever(tap2(flatMap4(suspend(() => provideService(self, CurrentMetadata2, meta3)), step), (meta_) => sync(() => {
@@ -18562,7 +18602,7 @@ var buildFromOptions = (options) => {
18562
18602
  return schedule2;
18563
18603
  };
18564
18604
 
18565
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/executionPlan.js
18605
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/executionPlan.js
18566
18606
  var withExecutionPlan = /* @__PURE__ */ dual(2, (self, plan) => suspend(() => {
18567
18607
  let i = 0;
18568
18608
  let meta3 = {
@@ -18621,7 +18661,7 @@ var scheduleFromStep = (step, first) => {
18621
18661
  };
18622
18662
  var scheduleOnce = /* @__PURE__ */ recurs(1);
18623
18663
 
18624
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Request.js
18664
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Request.js
18625
18665
  var TypeId12 = "~effect/Request";
18626
18666
  var requestVariance = /* @__PURE__ */ byReferenceUnsafe({
18627
18667
  /* c8 ignore next */
@@ -18637,7 +18677,7 @@ var RequestPrototype = {
18637
18677
  };
18638
18678
  var makeEntry = (options) => options;
18639
18679
 
18640
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/request.js
18680
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/request.js
18641
18681
  var request = /* @__PURE__ */ dual(2, (self, resolver) => {
18642
18682
  const withResolver = (resolver2) => callback((resume) => {
18643
18683
  const entry = addEntry(resolver2, self, resume, getCurrentFiber());
@@ -18730,7 +18770,7 @@ var removeEntryUnsafe = (resolver, entry) => {
18730
18770
  if (entry.uninterruptible) return;
18731
18771
  const batchMap = pendingBatches.get(resolver);
18732
18772
  if (!batchMap) return;
18733
- const key = resolver.batchKey(entry.request);
18773
+ const key = resolver.batchKey(entry);
18734
18774
  const batch = batchMap.get(key);
18735
18775
  if (!batch) return;
18736
18776
  batch.entries.delete(entry);
@@ -18747,7 +18787,7 @@ function runBatch(batch) {
18747
18787
  return batch.run;
18748
18788
  }
18749
18789
 
18750
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Metric.js
18790
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Metric.js
18751
18791
  var CurrentMetricAttributesKey = "effect/Metric/CurrentMetricAttributes";
18752
18792
  var CurrentMetricAttributes = /* @__PURE__ */ Reference(CurrentMetricAttributesKey, {
18753
18793
  defaultValue: () => ({})
@@ -18850,7 +18890,7 @@ function attributesToRecord(attributes) {
18850
18890
  return attributes;
18851
18891
  }
18852
18892
 
18853
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Effect.js
18893
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Effect.js
18854
18894
  var TypeId14 = EffectTypeId;
18855
18895
  var isEffect2 = isEffect;
18856
18896
  var all4 = all3;
@@ -18966,6 +19006,7 @@ var context2 = context;
18966
19006
  var contextWith2 = contextWith;
18967
19007
  var provide4 = provide3;
18968
19008
  var provideContext2 = provideContext;
19009
+ var setContext2 = setContext;
18969
19010
  var service2 = service;
18970
19011
  var serviceOption2 = serviceOption;
18971
19012
  var updateContext2 = updateContext;
@@ -19191,8 +19232,8 @@ var effectify = (fn3, onError3, onSyncError) => (...args2) => callback2((resume)
19191
19232
  }
19192
19233
  });
19193
19234
  var satisfiesSuccessType = () => (effect) => effect;
19194
- var satisfiesErrorType2 = () => (effect) => effect;
19195
- var satisfiesServicesType2 = () => (effect) => effect;
19235
+ var satisfiesErrorType = () => (effect) => effect;
19236
+ var satisfiesServicesType = () => (effect) => effect;
19196
19237
  var mapEager2 = mapEager;
19197
19238
  var mapErrorEager2 = mapErrorEager;
19198
19239
  var mapBothEager2 = mapBothEager;
@@ -19200,7 +19241,7 @@ var flatMapEager2 = flatMapEager;
19200
19241
  var catchEager2 = catchEager;
19201
19242
  var fnUntracedEager2 = fnUntracedEager;
19202
19243
 
19203
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/record.js
19244
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/record.js
19204
19245
  function set(self, key, value5) {
19205
19246
  if (key === "__proto__") {
19206
19247
  Object.defineProperty(self, key, {
@@ -19215,7 +19256,7 @@ function set(self, key, value5) {
19215
19256
  return self;
19216
19257
  }
19217
19258
 
19218
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/schema/annotations.js
19259
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/schema/annotations.js
19219
19260
  function resolve(ast) {
19220
19261
  return ast.checks ? ast.checks[ast.checks.length - 1].annotations : ast.annotations;
19221
19262
  }
@@ -19231,7 +19272,7 @@ var getExpected = /* @__PURE__ */ memoize((ast) => {
19231
19272
  return ast.getExpected(getExpected);
19232
19273
  });
19233
19274
 
19234
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/redacted.js
19275
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/redacted.js
19235
19276
  var redactedRegistry = /* @__PURE__ */ new WeakMap();
19236
19277
  var value = (self) => {
19237
19278
  if (redactedRegistry.has(self)) {
@@ -19241,7 +19282,7 @@ var value = (self) => {
19241
19282
  }
19242
19283
  };
19243
19284
 
19244
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Redacted.js
19285
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Redacted.js
19245
19286
  var TypeId15 = "~effect/data/Redacted";
19246
19287
  var isRedacted = (u) => hasProperty(u, TypeId15);
19247
19288
  var make14 = (value5, options) => {
@@ -19274,7 +19315,7 @@ var Proto4 = {
19274
19315
  var value2 = value;
19275
19316
  var makeEquivalence4 = (isEquivalent) => make2((x, y) => isEquivalent(value2(x), value2(y)));
19276
19317
 
19277
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/SchemaIssue.js
19318
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/SchemaIssue.js
19278
19319
  var TypeId16 = "~effect/SchemaIssue/Issue";
19279
19320
  function isIssue(u) {
19280
19321
  return hasProperty(u, TypeId16);
@@ -19666,7 +19707,7 @@ function redact2(issue2) {
19666
19707
  }
19667
19708
  }
19668
19709
 
19669
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/schema/cause.js
19710
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/schema/cause.js
19670
19711
  function getSchemaIssue(cause) {
19671
19712
  let issue2;
19672
19713
  for (const reason of cause.reasons) {
@@ -19687,7 +19728,7 @@ function getSchemaIssueOrThrow(cause, message) {
19687
19728
  return issue2;
19688
19729
  }
19689
19730
 
19690
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/DateTime.js
19731
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/DateTime.js
19691
19732
  var isDateTime2 = isDateTime;
19692
19733
  var isTimeZone2 = isTimeZone;
19693
19734
  var isTimeZoneOffset2 = isTimeZoneOffset;
@@ -19711,7 +19752,7 @@ var toEpochMillis2 = toEpochMillis;
19711
19752
  var formatIso2 = formatIso;
19712
19753
  var formatIsoZoned2 = formatIsoZoned;
19713
19754
 
19714
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Encoding.js
19755
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Encoding.js
19715
19756
  var EncodingErrorTypeId = "~effect/encoding/EncodingError";
19716
19757
  var EncodingError = class extends (/* @__PURE__ */ TaggedError2("EncodingError")) {
19717
19758
  /**
@@ -19881,7 +19922,7 @@ var fromHexChar = (byte) => {
19881
19922
  };
19882
19923
  var bytesToHex = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "0a", "0b", "0c", "0d", "0e", "0f", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "1a", "1b", "1c", "1d", "1e", "1f", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "2a", "2b", "2c", "2d", "2e", "2f", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "3a", "3b", "3c", "3d", "3e", "3f", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "4a", "4b", "4c", "4d", "4e", "4f", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "5a", "5b", "5c", "5d", "5e", "5f", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "6a", "6b", "6c", "6d", "6e", "6f", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "7a", "7b", "7c", "7d", "7e", "7f", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "8a", "8b", "8c", "8d", "8e", "8f", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "9a", "9b", "9c", "9d", "9e", "9f", "a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "aa", "ab", "ac", "ad", "ae", "af", "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", "b8", "b9", "ba", "bb", "bc", "bd", "be", "bf", "c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8", "c9", "ca", "cb", "cc", "cd", "ce", "cf", "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "da", "db", "dc", "dd", "de", "df", "e0", "e1", "e2", "e3", "e4", "e5", "e6", "e7", "e8", "e9", "ea", "eb", "ec", "ed", "ee", "ef", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "fa", "fb", "fc", "fd", "fe", "ff"];
19883
19924
 
19884
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/SchemaGetter.js
19925
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/SchemaGetter.js
19885
19926
  var Getter = class _Getter extends Class {
19886
19927
  run;
19887
19928
  constructor(run2) {
@@ -20153,7 +20194,7 @@ function collectBracketPathEntries(isLeaf) {
20153
20194
  };
20154
20195
  }
20155
20196
 
20156
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/SchemaTransformation.js
20197
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/SchemaTransformation.js
20157
20198
  var Middleware = class _Middleware {
20158
20199
  _tag = "Middleware";
20159
20200
  decode;
@@ -20211,6 +20252,7 @@ function passthrough3() {
20211
20252
  var numberFromString = /* @__PURE__ */ new Transformation(/* @__PURE__ */ Number4(), /* @__PURE__ */ String3());
20212
20253
  var bigintFromString = /* @__PURE__ */ new Transformation(/* @__PURE__ */ BigInt3(), /* @__PURE__ */ String3());
20213
20254
  var dateFromString = /* @__PURE__ */ new Transformation(/* @__PURE__ */ Date3(), /* @__PURE__ */ transform(formatDate));
20255
+ var dateFromMillis = /* @__PURE__ */ new Transformation(/* @__PURE__ */ Date3(), /* @__PURE__ */ transform((date6) => date6.getTime()));
20214
20256
  var durationFromString = /* @__PURE__ */ transformOrFail2({
20215
20257
  decode: (s) => match(fromInput(s), {
20216
20258
  onNone: () => fail6(new InvalidValue(some2(s), {
@@ -20391,7 +20433,7 @@ var dateTimeZonedFromString = /* @__PURE__ */ transformOrFail2({
20391
20433
  encode: (zoned) => succeed6(formatIsoZoned2(zoned))
20392
20434
  });
20393
20435
 
20394
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/SchemaAST.js
20436
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/SchemaAST.js
20395
20437
  function makeGuard(tag4) {
20396
20438
  return (ast) => ast._tag === tag4;
20397
20439
  }
@@ -20515,7 +20557,7 @@ var Void = class extends Base2 {
20515
20557
  _tag = "Void";
20516
20558
  /** @internal */
20517
20559
  getParser() {
20518
- return fromConst(this, void 0);
20560
+ return fromAnyToConst(void 0);
20519
20561
  }
20520
20562
  /** @internal */
20521
20563
  toCodecJson() {
@@ -21293,7 +21335,6 @@ function getCandidateTypes(ast) {
21293
21335
  case "Null":
21294
21336
  return ["null"];
21295
21337
  case "Undefined":
21296
- case "Void":
21297
21338
  return ["undefined"];
21298
21339
  case "String":
21299
21340
  case "TemplateLiteral":
@@ -21874,6 +21915,10 @@ function fromConst(ast, value5) {
21874
21915
  return oinput.value === value5 ? succeed7 : fail6(new InvalidType(ast, oinput));
21875
21916
  };
21876
21917
  }
21918
+ function fromAnyToConst(value5) {
21919
+ const succeed7 = succeedSome2(value5);
21920
+ return (oinput) => oinput._tag === "None" ? succeedNone2 : succeed7;
21921
+ }
21877
21922
  function fromRefinement(ast, refinement) {
21878
21923
  return (oinput) => {
21879
21924
  if (oinput._tag === "None") {
@@ -22043,6 +22088,7 @@ function runChecks(checks, s) {
22043
22088
  }
22044
22089
  var ClassTypeId = "~effect/Schema/Class";
22045
22090
  var STRUCTURAL_ANNOTATION_KEY = "~structural";
22091
+ var resolveIdentifier2 = resolveIdentifier;
22046
22092
  function isJson(u) {
22047
22093
  const onPath = /* @__PURE__ */ new Set();
22048
22094
  const validated = /* @__PURE__ */ new Set();
@@ -22120,7 +22166,7 @@ var StringTree = /* @__PURE__ */ new Declaration([], () => (input, ast) => isStr
22120
22166
  });
22121
22167
  var unknownToStringTree = /* @__PURE__ */ new Link(StringTree, /* @__PURE__ */ passthrough3());
22122
22168
 
22123
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Chunk.js
22169
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Chunk.js
22124
22170
  var TypeId19 = "~effect/collections/Chunk";
22125
22171
  function copy2(src, srcPos, dest, destPos, len) {
22126
22172
  for (let i = srcPos; i < Math.min(src.length, srcPos + len); i++) {
@@ -22304,7 +22350,7 @@ var getUnsafe3 = /* @__PURE__ */ dual(2, (self, index2) => {
22304
22350
  });
22305
22351
  var size = (self) => self.length;
22306
22352
 
22307
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Fiber.js
22353
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Fiber.js
22308
22354
  var Fiber_exports = {};
22309
22355
  __export(Fiber_exports, {
22310
22356
  await: () => await_,
@@ -22332,7 +22378,7 @@ var isFiber = (u) => hasProperty(u, FiberTypeId);
22332
22378
  var getCurrent = getCurrentFiber;
22333
22379
  var runIn = fiberRunIn;
22334
22380
 
22335
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/MutableRef.js
22381
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/MutableRef.js
22336
22382
  var TypeId21 = "~effect/MutableRef";
22337
22383
  var MutableRefProto = {
22338
22384
  [TypeId21]: TypeId21,
@@ -22354,7 +22400,7 @@ var set2 = /* @__PURE__ */ dual(2, (self, value5) => {
22354
22400
  return self;
22355
22401
  });
22356
22402
 
22357
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Schema.js
22403
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Schema.js
22358
22404
  var Schema_exports = {};
22359
22405
  __export(Schema_exports, {
22360
22406
  Any: () => Any2,
@@ -22372,6 +22418,7 @@ __export(Schema_exports, {
22372
22418
  Chunk: () => Chunk,
22373
22419
  Class: () => Class4,
22374
22420
  Date: () => Date4,
22421
+ DateFromMillis: () => DateFromMillis,
22375
22422
  DateFromString: () => DateFromString,
22376
22423
  DateTimeUtc: () => DateTimeUtc,
22377
22424
  DateTimeUtcFromDate: () => DateTimeUtcFromDate,
@@ -22632,7 +22679,7 @@ __export(Schema_exports, {
22632
22679
  withDecodingDefaultTypeKey: () => withDecodingDefaultTypeKey
22633
22680
  });
22634
22681
 
22635
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/HashMap.js
22682
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/HashMap.js
22636
22683
  var HashMap_exports = {};
22637
22684
  __export(HashMap_exports, {
22638
22685
  beginMutation: () => beginMutation2,
@@ -22662,7 +22709,7 @@ __export(HashMap_exports, {
22662
22709
  modifyAt: () => modifyAt2,
22663
22710
  modifyHash: () => modifyHash2,
22664
22711
  mutate: () => mutate3,
22665
- reduce: () => reduce4,
22712
+ reduce: () => reduce3,
22666
22713
  remove: () => remove3,
22667
22714
  removeMany: () => removeMany2,
22668
22715
  set: () => set4,
@@ -22675,7 +22722,7 @@ __export(HashMap_exports, {
22675
22722
  values: () => values2
22676
22723
  });
22677
22724
 
22678
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/hashMap.js
22725
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/hashMap.js
22679
22726
  var HashMapTypeId = "~effect/collections/HashMap";
22680
22727
  var SHIFT = 5;
22681
22728
  var BUCKET_SIZE = 1 << SHIFT;
@@ -23454,7 +23501,7 @@ var forEach4 = /* @__PURE__ */ dual(2, (self, f) => {
23454
23501
  f(value5, key);
23455
23502
  }
23456
23503
  });
23457
- var reduce3 = /* @__PURE__ */ dual(3, (self, zero3, f) => {
23504
+ var reduce2 = /* @__PURE__ */ dual(3, (self, zero3, f) => {
23458
23505
  let result5 = zero3;
23459
23506
  for (const [key, value5] of self) {
23460
23507
  result5 = f(result5, value5, key);
@@ -23514,7 +23561,7 @@ var every2 = /* @__PURE__ */ dual(2, (self, predicate) => {
23514
23561
  return true;
23515
23562
  });
23516
23563
 
23517
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/HashMap.js
23564
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/HashMap.js
23518
23565
  var isHashMap2 = isHashMap;
23519
23566
  var empty7 = empty6;
23520
23567
  var make20 = make19;
@@ -23546,7 +23593,7 @@ var setMany2 = setMany;
23546
23593
  var map11 = map10;
23547
23594
  var flatMap7 = flatMap6;
23548
23595
  var forEach5 = forEach4;
23549
- var reduce4 = reduce3;
23596
+ var reduce3 = reduce2;
23550
23597
  var filter8 = filter7;
23551
23598
  var compact2 = compact;
23552
23599
  var filterMap6 = filterMap5;
@@ -23554,7 +23601,7 @@ var findFirst6 = findFirst5;
23554
23601
  var some5 = some4;
23555
23602
  var every3 = every2;
23556
23603
 
23557
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/hashSet.js
23604
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/hashSet.js
23558
23605
  var HashSetTypeId = "~effect/collections/HashSet";
23559
23606
  var HashSetProto = {
23560
23607
  [symbol]() {
@@ -23608,12 +23655,12 @@ var every4 = (self, predicate) => {
23608
23655
  return true;
23609
23656
  };
23610
23657
 
23611
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/HashSet.js
23658
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/HashSet.js
23612
23659
  var fromIterable7 = fromIterable6;
23613
23660
  var isHashSet2 = isHashSet;
23614
23661
  var size5 = size4;
23615
23662
 
23616
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Struct.js
23663
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Struct.js
23617
23664
  var pick = /* @__PURE__ */ dual(2, (self, keys4) => {
23618
23665
  return buildStruct(self, (k, v) => keys4.includes(k) ? [k, v] : void 0);
23619
23666
  });
@@ -23656,7 +23703,7 @@ function makeCombiner(combiners, options) {
23656
23703
  });
23657
23704
  }
23658
23705
 
23659
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/UndefinedOr.js
23706
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/UndefinedOr.js
23660
23707
  function makeReducer2(combiner2) {
23661
23708
  return make((self, that) => {
23662
23709
  if (self === void 0) return that;
@@ -23665,7 +23712,7 @@ function makeReducer2(combiner2) {
23665
23712
  }, void 0);
23666
23713
  }
23667
23714
 
23668
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/errors.js
23715
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/errors.js
23669
23716
  function errorWithPath(message, path) {
23670
23717
  if (path.length > 0) {
23671
23718
  message += `
@@ -23674,7 +23721,7 @@ function errorWithPath(message, path) {
23674
23721
  return new Error(message);
23675
23722
  }
23676
23723
 
23677
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/schema/arbitrary.js
23724
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/schema/arbitrary.js
23678
23725
  var arbitraryMemoMap = /* @__PURE__ */ new WeakMap();
23679
23726
  var suspendDepthIdentifierMap = /* @__PURE__ */ new WeakMap();
23680
23727
  var emptyRecursionStack = [];
@@ -23734,14 +23781,14 @@ function appendObjectEntries(out, entries3) {
23734
23781
  ...o
23735
23782
  })));
23736
23783
  }
23737
- var max6 = /* @__PURE__ */ makeReducer2(ReducerMax);
23738
- var min6 = /* @__PURE__ */ makeReducer2(ReducerMin);
23784
+ var max7 = /* @__PURE__ */ makeReducer2(ReducerMax);
23785
+ var min7 = /* @__PURE__ */ makeReducer2(ReducerMin);
23739
23786
  var or = /* @__PURE__ */ makeReducer2(ReducerOr);
23740
23787
  var concat = /* @__PURE__ */ makeReducer2(/* @__PURE__ */ makeReducerConcat());
23741
23788
  var combiner = /* @__PURE__ */ makeCombiner({
23742
23789
  integer: or,
23743
- maxLength: min6,
23744
- minLength: max6,
23790
+ maxLength: min7,
23791
+ minLength: max7,
23745
23792
  noInfinity: or,
23746
23793
  noNaN: or,
23747
23794
  patterns: concat,
@@ -23887,13 +23934,13 @@ function objectWithOptionalCount(fc, pss, orderedNames, requiredKeys, optionalNa
23887
23934
  return out;
23888
23935
  });
23889
23936
  }
23890
- function toRangeConstraints(ordered, min7, max7, error3) {
23937
+ function toRangeConstraints(ordered, min8, max8, error3) {
23891
23938
  const out = {};
23892
23939
  if (ordered?.minimum !== void 0) {
23893
- out.min = min7(ordered.minimum, ordered.exclusiveMinimum === true);
23940
+ out.min = min8(ordered.minimum, ordered.exclusiveMinimum === true);
23894
23941
  }
23895
23942
  if (ordered?.maximum !== void 0) {
23896
- out.max = max7(ordered.maximum, ordered.exclusiveMaximum === true);
23943
+ out.max = max8(ordered.maximum, ordered.exclusiveMaximum === true);
23897
23944
  }
23898
23945
  if (out.min !== void 0 && out.max !== void 0 && out.min > out.max) {
23899
23946
  throw arbitraryError(error3);
@@ -24408,7 +24455,7 @@ function base(ast, path) {
24408
24455
  }
24409
24456
  }
24410
24457
 
24411
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/SchemaParser.js
24458
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/SchemaParser.js
24412
24459
  var recurDefaults = /* @__PURE__ */ memoize((ast) => {
24413
24460
  switch (ast._tag) {
24414
24461
  case "Declaration": {
@@ -24683,7 +24730,7 @@ var recur2 = /* @__PURE__ */ memoize((ast) => {
24683
24730
  };
24684
24731
  });
24685
24732
 
24686
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/schema/equivalence.js
24733
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/schema/equivalence.js
24687
24734
  var toEquivalence = /* @__PURE__ */ memoize((ast) => {
24688
24735
  return recur3(ast, []);
24689
24736
  });
@@ -24805,7 +24852,7 @@ function recur3(ast, path) {
24805
24852
  }
24806
24853
  }
24807
24854
 
24808
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/JsonPointer.js
24855
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/JsonPointer.js
24809
24856
  function escapeToken(token) {
24810
24857
  return token.replace(/~/g, "~0").replace(/\//g, "~1");
24811
24858
  }
@@ -24813,11 +24860,11 @@ function unescapeToken(token) {
24813
24860
  return token.replace(/~1/g, "/").replace(/~0/g, "~");
24814
24861
  }
24815
24862
 
24816
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/RegExp.js
24863
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/RegExp.js
24817
24864
  var RegExp2 = globalThis.RegExp;
24818
24865
  var escape2 = (string7) => string7.replace(/[/\\^$*+?.()|[\]{}]/g, "\\$&");
24819
24866
 
24820
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/schema/schema.js
24867
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/schema/schema.js
24821
24868
  var TypeId22 = "~effect/Schema/Schema";
24822
24869
  var SchemaProto = {
24823
24870
  [TypeId22]: TypeId22,
@@ -24901,7 +24948,7 @@ function makeReorder(getPriority) {
24901
24948
  };
24902
24949
  }
24903
24950
 
24904
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/schema/representation.js
24951
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/schema/representation.js
24905
24952
  function fromAST(ast) {
24906
24953
  const {
24907
24954
  references,
@@ -25734,7 +25781,7 @@ function getPartPattern(part) {
25734
25781
  }
25735
25782
  }
25736
25783
 
25737
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/JsonPatch.js
25784
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/JsonPatch.js
25738
25785
  function get5(oldValue, newValue) {
25739
25786
  if (Object.is(oldValue, newValue)) return [];
25740
25787
  const patches = [];
@@ -25963,7 +26010,7 @@ function rebuildFromStack(stack, newParent) {
25963
26010
  return acc;
25964
26011
  }
25965
26012
 
25966
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/JsonSchema.js
26013
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/JsonSchema.js
25967
26014
  var RE_DEFS = /^#\/\$defs(?=\/|$)/;
25968
26015
  function toDocumentDraft07(document) {
25969
26016
  return {
@@ -26078,7 +26125,7 @@ function walk_object(value5, walk) {
26078
26125
  return out;
26079
26126
  }
26080
26127
 
26081
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Optic.js
26128
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Optic.js
26082
26129
  function makeIso(get7, set8) {
26083
26130
  return make24(new IsoNode(get7, set8));
26084
26131
  }
@@ -26492,7 +26539,7 @@ function id() {
26492
26539
  return identityIso;
26493
26540
  }
26494
26541
 
26495
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/testing/FastCheck.js
26542
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/testing/FastCheck.js
26496
26543
  var FastCheck_exports = {};
26497
26544
  __export(FastCheck_exports, {
26498
26545
  Arbitrary: () => Arbitrary,
@@ -26982,7 +27029,7 @@ function uniformInt(rng, from, to) {
26982
27029
  return uniformLargeIntInternal(rng, from, to, rangeSize);
26983
27030
  }
26984
27031
 
26985
- // ../../node_modules/.pnpm/fast-check@4.8.0/node_modules/fast-check/lib/fast-check.js
27032
+ // ../../node_modules/.pnpm/fast-check@4.9.0/node_modules/fast-check/lib/fast-check.js
26986
27033
  var SharedFootPrint = /* @__PURE__ */ Symbol.for("fast-check/PreconditionFailure");
26987
27034
  var PreconditionFailure = class extends Error {
26988
27035
  constructor(interruptExecution = false) {
@@ -27329,17 +27376,37 @@ var ChainArbitrary = class extends Arbitrary {
27329
27376
  return context4 !== null && context4 !== void 0 && typeof context4 === "object" && "originalBias" in context4 && "originalValue" in context4 && "originalContext" in context4 && "stoppedForOriginal" in context4 && "chainedArbitrary" in context4 && "chainedContext" in context4 && "clonedMrng" in context4;
27330
27377
  }
27331
27378
  };
27379
+ function mapperWithCloneIfNeeded(v, mapper) {
27380
+ const sourceValue = v.value;
27381
+ const mappedValue = mapper(sourceValue);
27382
+ if (v.hasToBeCloned && (typeof mappedValue === "object" && mappedValue !== null || typeof mappedValue === "function") && Object.isExtensible(mappedValue) && !hasCloneMethod(mappedValue)) Object.defineProperty(mappedValue, cloneMethod, { get: () => () => mapperWithCloneIfNeeded(v, mapper)[0] });
27383
+ return [mappedValue, sourceValue];
27384
+ }
27385
+ function valueMapper(v, mapper) {
27386
+ const [mappedValue, sourceValue] = mapperWithCloneIfNeeded(v, mapper);
27387
+ return new Value(mappedValue, {
27388
+ originalValue: sourceValue,
27389
+ originalContext: v.context
27390
+ });
27391
+ }
27332
27392
  var MapArbitrary = class extends Arbitrary {
27333
27393
  constructor(arb, mapper, unmapper) {
27334
27394
  super();
27335
27395
  this.arb = arb;
27336
27396
  this.mapper = mapper;
27337
27397
  this.unmapper = unmapper;
27338
- this.bindValueMapper = (v) => this.valueMapper(v);
27398
+ this.bindValueMapper = (v) => valueMapper(v, mapper);
27339
27399
  }
27340
27400
  generate(mrng, biasFactor) {
27341
27401
  const g = this.arb.generate(mrng, biasFactor);
27342
- return this.valueMapper(g);
27402
+ if (!g.hasToBeCloned) {
27403
+ const sourceValue = g.value;
27404
+ return new Value(this.mapper(sourceValue), {
27405
+ originalValue: sourceValue,
27406
+ originalContext: g.context
27407
+ });
27408
+ }
27409
+ return valueMapper(g, this.mapper);
27343
27410
  }
27344
27411
  canShrinkWithoutContext(value5) {
27345
27412
  if (this.unmapper !== void 0) try {
@@ -27358,19 +27425,6 @@ var MapArbitrary = class extends Arbitrary {
27358
27425
  }
27359
27426
  return Stream.nil();
27360
27427
  }
27361
- mapperWithCloneIfNeeded(v) {
27362
- const sourceValue = v.value;
27363
- const mappedValue = this.mapper(sourceValue);
27364
- if (v.hasToBeCloned && (typeof mappedValue === "object" && mappedValue !== null || typeof mappedValue === "function") && Object.isExtensible(mappedValue) && !hasCloneMethod(mappedValue)) Object.defineProperty(mappedValue, cloneMethod, { get: () => () => this.mapperWithCloneIfNeeded(v)[0] });
27365
- return [mappedValue, sourceValue];
27366
- }
27367
- valueMapper(v) {
27368
- const [mappedValue, sourceValue] = this.mapperWithCloneIfNeeded(v);
27369
- return new Value(mappedValue, {
27370
- originalValue: sourceValue,
27371
- originalContext: v.context
27372
- });
27373
- }
27374
27428
  isSafeContext(context4) {
27375
27429
  return context4 !== null && context4 !== void 0 && typeof context4 === "object" && "originalValue" in context4 && "originalContext" in context4;
27376
27430
  }
@@ -27863,38 +27917,38 @@ function makeLazy2(producer) {
27863
27917
  }
27864
27918
  var safeArrayIsArray$4 = Array.isArray;
27865
27919
  var safeObjectDefineProperty$3 = Object.defineProperty;
27866
- function tupleMakeItCloneable(vs, values3) {
27920
+ function tupleMakeItCloneable(vs, ctxs, values3) {
27867
27921
  return safeObjectDefineProperty$3(vs, cloneMethod, { value: () => {
27868
27922
  const cloned = [];
27869
- for (let idx = 0; idx !== values3.length; ++idx) safePush(cloned, values3[idx].value);
27870
- tupleMakeItCloneable(cloned, values3);
27923
+ for (let idx = 0; idx !== values3.length; ++idx) {
27924
+ let current = values3[idx];
27925
+ if (current === void 0) current = new Value(vs[idx], ctxs[idx]);
27926
+ safePush(cloned, current.value);
27927
+ }
27928
+ tupleMakeItCloneable(cloned, ctxs, values3);
27871
27929
  return cloned;
27872
27930
  } });
27873
27931
  }
27874
- function tupleWrapper(values3) {
27875
- let cloneable = false;
27876
- const vs = [];
27877
- const ctxs = [];
27878
- for (let idx = 0; idx !== values3.length; ++idx) {
27879
- const v = values3[idx];
27880
- cloneable = cloneable || v.hasToBeCloned;
27881
- safePush(vs, v.value);
27882
- safePush(ctxs, v.context);
27883
- }
27884
- if (cloneable) tupleMakeItCloneable(vs, values3);
27885
- return new Value(vs, ctxs);
27886
- }
27887
27932
  function tupleShrink(arbs, value5, context4) {
27888
27933
  const shrinks = [];
27889
27934
  const safeContext = safeArrayIsArray$4(context4) ? context4 : [];
27890
27935
  for (let idx = 0; idx !== arbs.length; ++idx) safePush(shrinks, makeLazy2(() => arbs[idx].shrink(value5[idx], safeContext[idx]).map((v) => {
27891
- const nextValues = safeMap(value5, (v2, idx2) => new Value(cloneIfNeeded(v2), safeContext[idx2]));
27892
- return [
27893
- ...safeSlice(nextValues, 0, idx),
27894
- v,
27895
- ...safeSlice(nextValues, idx + 1)
27896
- ];
27897
- }).map(tupleWrapper)));
27936
+ let cloneable = false;
27937
+ const vs = [];
27938
+ const ctxs = [];
27939
+ const mapped = [];
27940
+ for (let nestedIdx = 0; nestedIdx !== arbs.length; ++nestedIdx) {
27941
+ const nestedV = nestedIdx === idx ? v : new Value(cloneIfNeeded(value5[nestedIdx]), safeContext[nestedIdx]);
27942
+ if (nestedV.hasToBeCloned) {
27943
+ cloneable = true;
27944
+ mapped[nestedIdx] = nestedV;
27945
+ }
27946
+ safePush(vs, nestedV.value);
27947
+ safePush(ctxs, nestedV.context);
27948
+ }
27949
+ if (cloneable) tupleMakeItCloneable(vs, ctxs, mapped);
27950
+ return new Value(vs, ctxs);
27951
+ })));
27898
27952
  return Stream.nil().join(...shrinks);
27899
27953
  }
27900
27954
  var TupleArbitrary = class extends Arbitrary {
@@ -27907,9 +27961,21 @@ var TupleArbitrary = class extends Arbitrary {
27907
27961
  }
27908
27962
  }
27909
27963
  generate(mrng, biasFactor) {
27964
+ let cloneable = false;
27965
+ const vs = [];
27966
+ const ctxs = [];
27910
27967
  const mapped = [];
27911
- for (let idx = 0; idx !== this.arbs.length; ++idx) safePush(mapped, this.arbs[idx].generate(mrng, biasFactor));
27912
- return tupleWrapper(mapped);
27968
+ for (let idx = 0; idx !== this.arbs.length; ++idx) {
27969
+ const v = this.arbs[idx].generate(mrng, biasFactor);
27970
+ if (v.hasToBeCloned) {
27971
+ cloneable = true;
27972
+ mapped[idx] = v;
27973
+ }
27974
+ safePush(vs, v.value);
27975
+ safePush(ctxs, v.context);
27976
+ }
27977
+ if (cloneable) tupleMakeItCloneable(vs, ctxs, mapped);
27978
+ return new Value(vs, ctxs);
27913
27979
  }
27914
27980
  canShrinkWithoutContext(value5) {
27915
27981
  if (!safeArrayIsArray$4(value5) || value5.length !== this.arbs.length) return false;
@@ -28480,7 +28546,8 @@ function stringifyInternal(value5, previousValues, getAsyncContent) {
28480
28546
  if (typeof className === "string") {
28481
28547
  const typedArray2 = value5;
28482
28548
  if (typedArray2.buffer.detached) return `${className}.from(/*detached ArrayBuffer*/)`;
28483
- return `${className}.from(${stringifyInternal(safeArrayFrom(typedArray2.values()), currentValues, getAsyncContent)})`;
28549
+ const valuesFromTypedArr = typedArray2.values();
28550
+ return `${className}.from(${stringifyInternal(safeArrayFrom(valuesFromTypedArr), currentValues, getAsyncContent)})`;
28484
28551
  }
28485
28552
  break;
28486
28553
  }
@@ -28821,16 +28888,16 @@ var Random2 = class Random3 {
28821
28888
  nextBoolean() {
28822
28889
  return uniformInt(this.internalRng, 0, 1) === 1;
28823
28890
  }
28824
- nextInt(min7, max7) {
28825
- return uniformInt(this.internalRng, min7 === void 0 ? MIN_INT : min7, max7 === void 0 ? MAX_INT : max7);
28891
+ nextInt(min8, max8) {
28892
+ return uniformInt(this.internalRng, min8 === void 0 ? MIN_INT : min8, max8 === void 0 ? MAX_INT : max8);
28826
28893
  }
28827
28894
  /**
28828
28895
  * Generate a random bigint between min (included) and max (included)
28829
28896
  * @param min - Minimal bigint value
28830
28897
  * @param max - Maximal bigint value
28831
28898
  */
28832
- nextBigInt(min7, max7) {
28833
- return uniformBigInt(this.internalRng, min7, max7);
28899
+ nextBigInt(min8, max8) {
28900
+ return uniformBigInt(this.internalRng, min8, max8);
28834
28901
  }
28835
28902
  /**
28836
28903
  * Generate a random floating point number between 0.0 (included) and 1.0 (excluded)
@@ -28883,7 +28950,7 @@ function pathWalk(path, initialProducers, shrink) {
28883
28950
  }
28884
28951
  return values3;
28885
28952
  }
28886
- var safeObjectAssign$5 = Object.assign;
28953
+ var safeObjectAssign$6 = Object.assign;
28887
28954
  function formatHints(hints) {
28888
28955
  if (hints.length === 1) return `Hint: ${hints[0]}`;
28889
28956
  return hints.map((h2, idx) => `Hint (${idx + 1}): ${h2}`).join("\n");
@@ -29013,7 +29080,7 @@ async function asyncDefaultReportMessage(out) {
29013
29080
  function buildError(errorMessage, out) {
29014
29081
  if (out.runConfiguration.includeErrorInReport) throw new SError(errorMessage);
29015
29082
  const error3 = new SError(errorMessage, { cause: out.errorInstance });
29016
- if (!("cause" in error3)) safeObjectAssign$5(error3, { cause: out.errorInstance });
29083
+ if (!("cause" in error3)) safeObjectAssign$6(error3, { cause: out.errorInstance });
29017
29084
  return error3;
29018
29085
  }
29019
29086
  function throwIfFailed(out) {
@@ -29117,7 +29184,7 @@ function statistics(generator, classify, params) {
29117
29184
  const longestPercent = data.map((i) => i[1].length).reduce((p, c) => Math.max(p, c), 0);
29118
29185
  for (const item of data) qParams.logger(`${item[0].padEnd(longestName, ".")}..${item[1].padStart(longestPercent, ".")}`);
29119
29186
  }
29120
- var safeObjectAssign$4 = Object.assign;
29187
+ var safeObjectAssign$5 = Object.assign;
29121
29188
  function buildGeneratorValue(mrng, biasFactor, computePreBuiltValues, arbitraryCache) {
29122
29189
  const preBuiltValues = computePreBuiltValues();
29123
29190
  let localMrng = mrng.clone();
@@ -29151,7 +29218,7 @@ function buildGeneratorValue(mrng, biasFactor, computePreBuiltValues, arbitraryC
29151
29218
  const memoedValueFunction = (arb, ...args2) => {
29152
29219
  return valueFunction(arbitraryCache(arb, args2));
29153
29220
  };
29154
- return new Value(safeObjectAssign$4(memoedValueFunction, {
29221
+ return new Value(safeObjectAssign$5(memoedValueFunction, {
29155
29222
  values() {
29156
29223
  return safeMap(context4.history, (c) => c.value);
29157
29224
  },
@@ -29246,39 +29313,39 @@ function bigIntLogLike(v) {
29246
29313
  if (v === SBigInt2(0)) return SBigInt2(0);
29247
29314
  return SBigInt2(SString(v).length);
29248
29315
  }
29249
- function biasNumericRange(min7, max7, logLike) {
29250
- if (min7 === max7) return [{
29251
- min: min7,
29252
- max: max7
29316
+ function biasNumericRange(min8, max8, logLike) {
29317
+ if (min8 === max8) return [{
29318
+ min: min8,
29319
+ max: max8
29253
29320
  }];
29254
- if (min7 < 0 && max7 > 0) {
29255
- const logMin = logLike(-min7);
29256
- const logMax = logLike(max7);
29321
+ if (min8 < 0 && max8 > 0) {
29322
+ const logMin = logLike(-min8);
29323
+ const logMax = logLike(max8);
29257
29324
  return [
29258
29325
  {
29259
29326
  min: -logMin,
29260
29327
  max: logMax
29261
29328
  },
29262
29329
  {
29263
- min: max7 - logMax,
29264
- max: max7
29330
+ min: max8 - logMax,
29331
+ max: max8
29265
29332
  },
29266
29333
  {
29267
- min: min7,
29268
- max: min7 + logMin
29334
+ min: min8,
29335
+ max: min8 + logMin
29269
29336
  }
29270
29337
  ];
29271
29338
  }
29272
- const logGap = logLike(max7 - min7);
29339
+ const logGap = logLike(max8 - min8);
29273
29340
  const arbCloseToMin = {
29274
- min: min7,
29275
- max: min7 + logGap
29341
+ min: min8,
29342
+ max: min8 + logGap
29276
29343
  };
29277
29344
  const arbCloseToMax = {
29278
- min: max7 - logGap,
29279
- max: max7
29345
+ min: max8 - logGap,
29346
+ max: max8
29280
29347
  };
29281
- return min7 < 0 ? [arbCloseToMax, arbCloseToMin] : [arbCloseToMin, arbCloseToMax];
29348
+ return min8 < 0 ? [arbCloseToMax, arbCloseToMin] : [arbCloseToMin, arbCloseToMax];
29282
29349
  }
29283
29350
  var safeMathCeil = Math.ceil;
29284
29351
  var safeMathFloor$5 = Math.floor;
@@ -29314,37 +29381,31 @@ var safeMathSign = Math.sign;
29314
29381
  var safeNumberIsInteger$6 = Number.isInteger;
29315
29382
  var safeObjectIs$6 = Object.is;
29316
29383
  var IntegerArbitrary = class IntegerArbitrary2 extends Arbitrary {
29317
- constructor(min7, max7) {
29384
+ constructor(min8, max8) {
29318
29385
  super();
29319
- this.min = min7;
29320
- this.max = max7;
29386
+ this.min = min8;
29387
+ this.max = max8;
29388
+ this.ranges = biasNumericRange(min8, max8, integerLogLike);
29321
29389
  }
29322
29390
  generate(mrng, biasFactor) {
29323
- const range2 = this.computeGenerateRange(mrng, biasFactor);
29391
+ if (biasFactor === void 0 || mrng.nextInt(1, biasFactor) !== 1) return new Value(mrng.nextInt(this.min, this.max), void 0);
29392
+ const ranges = this.ranges;
29393
+ if (ranges.length === 1) {
29394
+ const range3 = ranges[0];
29395
+ return new Value(mrng.nextInt(range3.min, range3.max), void 0);
29396
+ }
29397
+ const id2 = mrng.nextInt(-2 * (ranges.length - 1), ranges.length - 2);
29398
+ const range2 = id2 < 0 ? ranges[0] : ranges[id2 + 1];
29324
29399
  return new Value(mrng.nextInt(range2.min, range2.max), void 0);
29325
29400
  }
29326
29401
  canShrinkWithoutContext(value5) {
29327
29402
  return typeof value5 === "number" && safeNumberIsInteger$6(value5) && !safeObjectIs$6(value5, -0) && this.min <= value5 && value5 <= this.max;
29328
29403
  }
29329
29404
  shrink(current, context4) {
29330
- if (!IntegerArbitrary2.isValidContext(current, context4)) return shrinkInteger(current, this.defaultTarget(), true);
29405
+ if (!IntegerArbitrary2.isValidContext(current, context4)) return shrinkInteger(current, this.min <= 0 && this.max >= 0 ? 0 : this.min < 0 ? this.max : this.min, true);
29331
29406
  if (this.isLastChanceTry(current, context4)) return Stream.of(new Value(context4, void 0));
29332
29407
  return shrinkInteger(current, context4, false);
29333
29408
  }
29334
- defaultTarget() {
29335
- if (this.min <= 0 && this.max >= 0) return 0;
29336
- return this.min < 0 ? this.max : this.min;
29337
- }
29338
- computeGenerateRange(mrng, biasFactor) {
29339
- if (biasFactor === void 0 || mrng.nextInt(1, biasFactor) !== 1) return {
29340
- min: this.min,
29341
- max: this.max
29342
- };
29343
- const ranges = biasNumericRange(this.min, this.max, integerLogLike);
29344
- if (ranges.length === 1) return ranges[0];
29345
- const id2 = mrng.nextInt(-2 * (ranges.length - 1), ranges.length - 2);
29346
- return id2 < 0 ? ranges[0] : ranges[id2 + 1];
29347
- }
29348
29409
  isLastChanceTry(current, context4) {
29349
29410
  if (current > 0) return current === context4 + 1 && current > this.min;
29350
29411
  if (current < 0) return current === context4 - 1 && current < this.max;
@@ -29397,7 +29458,7 @@ var NoopSlicedGenerator = class {
29397
29458
  }
29398
29459
  };
29399
29460
  var safeMathMin$5 = Math.min;
29400
- var safeMathMax$3 = Math.max;
29461
+ var safeMathMax$2 = Math.max;
29401
29462
  var SlicedBasedGenerator = class {
29402
29463
  constructor(arb, mrng, slices, biasFactor) {
29403
29464
  this.arb = arb;
@@ -29431,7 +29492,7 @@ var SlicedBasedGenerator = class {
29431
29492
  const rangeBoundaryA = this.mrng.nextInt(0, slice.length - 1);
29432
29493
  const rangeBoundaryB = this.mrng.nextInt(0, slice.length - 1);
29433
29494
  this.nextIndexInSlice = safeMathMin$5(rangeBoundaryA, rangeBoundaryB);
29434
- this.lastIndexInSlice = safeMathMax$3(rangeBoundaryA, rangeBoundaryB);
29495
+ this.lastIndexInSlice = safeMathMax$2(rangeBoundaryA, rangeBoundaryB);
29435
29496
  return new Value(slice[this.nextIndexInSlice++], void 0);
29436
29497
  }
29437
29498
  };
@@ -29441,7 +29502,6 @@ function buildSlicedGenerator(arb, mrng, slices, biasFactor) {
29441
29502
  }
29442
29503
  var safeMathFloor$4 = Math.floor;
29443
29504
  var safeMathLog$1 = Math.log;
29444
- var safeMathMax$2 = Math.max;
29445
29505
  var safeArrayIsArray$2 = Array.isArray;
29446
29506
  function biasedMaxLength(minLength, maxLength) {
29447
29507
  if (minLength === maxLength) return minLength;
@@ -29461,6 +29521,7 @@ var ArrayArbitrary = class ArrayArbitrary2 extends Arbitrary {
29461
29521
  max: maxGeneratedLength
29462
29522
  });
29463
29523
  this.depthContext = getDepthContextFor(depthIdentifier);
29524
+ this.cachedBiasedMaxLength = biasedMaxLength(minLength, maxGeneratedLength);
29464
29525
  }
29465
29526
  preFilter(tab) {
29466
29527
  if (this.setBuilder === void 0) return tab;
@@ -29489,7 +29550,8 @@ var ArrayArbitrary = class ArrayArbitrary2 extends Arbitrary {
29489
29550
  return s.getData();
29490
29551
  }
29491
29552
  safeGenerateNItemsNoDuplicates(setBuilder, N2, mrng, biasFactorItems) {
29492
- const depthImpact = safeMathMax$2(0, N2 - biasedMaxLength(this.minLength, this.maxGeneratedLength));
29553
+ const depthImpact = N2 - this.cachedBiasedMaxLength;
29554
+ if (depthImpact <= 0) return this.generateNItemsNoDuplicates(setBuilder, N2, mrng, biasFactorItems);
29493
29555
  this.depthContext.depth += depthImpact;
29494
29556
  try {
29495
29557
  return this.generateNItemsNoDuplicates(setBuilder, N2, mrng, biasFactorItems);
@@ -29505,7 +29567,8 @@ var ArrayArbitrary = class ArrayArbitrary2 extends Arbitrary {
29505
29567
  return items2;
29506
29568
  }
29507
29569
  safeGenerateNItems(N2, mrng, biasFactorItems) {
29508
- const depthImpact = safeMathMax$2(0, N2 - biasedMaxLength(this.minLength, this.maxGeneratedLength));
29570
+ const depthImpact = N2 - this.cachedBiasedMaxLength;
29571
+ if (depthImpact <= 0) return this.generateNItems(N2, mrng, biasFactorItems);
29509
29572
  this.depthContext.depth += depthImpact;
29510
29573
  try {
29511
29574
  return this.generateNItems(N2, mrng, biasFactorItems);
@@ -29533,30 +29596,26 @@ var ArrayArbitrary = class ArrayArbitrary2 extends Arbitrary {
29533
29596
  });
29534
29597
  }
29535
29598
  generate(mrng, biasFactor) {
29536
- const biasMeta = this.applyBias(mrng, biasFactor);
29537
- const targetSize = biasMeta.size;
29538
- const items2 = this.setBuilder !== void 0 ? this.safeGenerateNItemsNoDuplicates(this.setBuilder, targetSize, mrng, biasMeta.biasFactorItems) : this.safeGenerateNItems(targetSize, mrng, biasMeta.biasFactorItems);
29539
- return this.wrapper(items2, false, void 0, 0);
29540
- }
29541
- applyBias(mrng, biasFactor) {
29542
- if (biasFactor === void 0) return { size: this.lengthArb.generate(mrng, void 0).value };
29543
- if (this.minLength === this.maxGeneratedLength) return {
29544
- size: this.lengthArb.generate(mrng, void 0).value,
29545
- biasFactorItems: biasFactor
29546
- };
29547
- if (mrng.nextInt(1, biasFactor) !== 1) return { size: this.lengthArb.generate(mrng, void 0).value };
29548
- if (mrng.nextInt(1, biasFactor) !== 1 || this.minLength === this.maxGeneratedLength) return {
29549
- size: this.lengthArb.generate(mrng, void 0).value,
29550
- biasFactorItems: biasFactor
29551
- };
29552
- const maxBiasedLength = biasedMaxLength(this.minLength, this.maxGeneratedLength);
29553
- return {
29554
- size: integer({
29599
+ let targetSize;
29600
+ let biasFactorItems;
29601
+ if (biasFactor === void 0) targetSize = this.lengthArb.generate(mrng, void 0).value;
29602
+ else if (this.minLength === this.maxGeneratedLength) {
29603
+ targetSize = this.lengthArb.generate(mrng, void 0).value;
29604
+ biasFactorItems = biasFactor;
29605
+ } else if (mrng.nextInt(1, biasFactor) !== 1) targetSize = this.lengthArb.generate(mrng, void 0).value;
29606
+ else if (mrng.nextInt(1, biasFactor) !== 1) {
29607
+ targetSize = this.lengthArb.generate(mrng, void 0).value;
29608
+ biasFactorItems = biasFactor;
29609
+ } else {
29610
+ const maxBiasedLength = this.cachedBiasedMaxLength;
29611
+ targetSize = integer({
29555
29612
  min: this.minLength,
29556
29613
  max: maxBiasedLength
29557
- }).generate(mrng, void 0).value,
29558
- biasFactorItems: biasFactor
29559
- };
29614
+ }).generate(mrng, void 0).value;
29615
+ biasFactorItems = biasFactor;
29616
+ }
29617
+ const items2 = this.setBuilder !== void 0 ? this.safeGenerateNItemsNoDuplicates(this.setBuilder, targetSize, mrng, biasFactorItems) : this.safeGenerateNItems(targetSize, mrng, biasFactorItems);
29618
+ return this.wrapper(items2, false, void 0, 0);
29560
29619
  }
29561
29620
  canShrinkWithoutContext(value5) {
29562
29621
  if (!safeArrayIsArray$2(value5) || this.minLength > value5.length || value5.length > this.maxLength) return false;
@@ -29668,7 +29727,8 @@ function maxGeneratedLengthFromSizeForArbitrary(size6, minLength, maxLength, spe
29668
29727
  const { baseSize: defaultSize = DefaultSize, defaultSizeToMaxWhenMaxSpecified } = readConfigureGlobal() || {};
29669
29728
  const definedSize = size6 !== void 0 ? size6 : specifiedMaxLength && defaultSizeToMaxWhenMaxSpecified ? "max" : defaultSize;
29670
29729
  if (definedSize === "max") return maxLength;
29671
- return safeMathMin$4(maxLengthFromMinLength(minLength, relativeSizeToSize(definedSize, defaultSize)), maxLength);
29730
+ const finalSize = relativeSizeToSize(definedSize, defaultSize);
29731
+ return safeMathMin$4(maxLengthFromMinLength(minLength, finalSize), maxLength);
29672
29732
  }
29673
29733
  function depthBiasFromSizeForArbitrary(depthSizeOrSize, specifiedMaxDepth) {
29674
29734
  if (typeof depthSizeOrSize === "number") return 1 / depthSizeOrSize;
@@ -29727,10 +29787,10 @@ function shrinkBigInt(current, target, tryTargetAsap) {
29727
29787
  return realGap > 0 ? stream(shrinkDecr()) : stream(shrinkIncr());
29728
29788
  }
29729
29789
  var BigIntArbitrary = class BigIntArbitrary2 extends Arbitrary {
29730
- constructor(min7, max7) {
29790
+ constructor(min8, max8) {
29731
29791
  super();
29732
- this.min = min7;
29733
- this.max = max7;
29792
+ this.min = min8;
29793
+ this.max = max8;
29734
29794
  }
29735
29795
  generate(mrng, biasFactor) {
29736
29796
  const range2 = this.computeGenerateRange(mrng, biasFactor);
@@ -29775,11 +29835,11 @@ function buildCompleteBigIntConstraints(constraints) {
29775
29835
  const DefaultPow = 256;
29776
29836
  const DefaultMin = SBigInt2(-1) << SBigInt2(DefaultPow - 1);
29777
29837
  const DefaultMax = (SBigInt2(1) << SBigInt2(DefaultPow - 1)) - SBigInt2(1);
29778
- const min7 = constraints.min;
29779
- const max7 = constraints.max;
29838
+ const min8 = constraints.min;
29839
+ const max8 = constraints.max;
29780
29840
  return {
29781
- min: min7 !== void 0 ? min7 : DefaultMin - (max7 !== void 0 && max7 < SBigInt2(0) ? max7 * max7 : SBigInt2(0)),
29782
- max: max7 !== void 0 ? max7 : DefaultMax + (min7 !== void 0 && min7 > SBigInt2(0) ? min7 * min7 : SBigInt2(0))
29841
+ min: min8 !== void 0 ? min8 : DefaultMin - (max8 !== void 0 && max8 < SBigInt2(0) ? max8 * max8 : SBigInt2(0)),
29842
+ max: max8 !== void 0 ? max8 : DefaultMax + (min8 !== void 0 && min8 > SBigInt2(0) ? min8 * min8 : SBigInt2(0))
29783
29843
  };
29784
29844
  }
29785
29845
  function extractBigIntConstraints(args2) {
@@ -30229,12 +30289,17 @@ var safeObjectPrototype$1 = Object.prototype;
30229
30289
  var safeReflectOwnKeys = Reflect.ownKeys;
30230
30290
  function keyValuePairsToObjectMapper(definition) {
30231
30291
  const obj = definition[1] ? safeObjectCreate$5(null) : {};
30232
- for (const keyValue of definition[0]) safeObjectDefineProperty$2(obj, keyValue[0], {
30233
- enumerable: true,
30234
- configurable: true,
30235
- writable: true,
30236
- value: keyValue[1]
30237
- });
30292
+ const keyValues = definition[0];
30293
+ for (let idx = 0; idx !== keyValues.length; ++idx) {
30294
+ const key = keyValues[idx][0];
30295
+ if (key === "__proto__") safeObjectDefineProperty$2(obj, key, {
30296
+ enumerable: true,
30297
+ configurable: true,
30298
+ writable: true,
30299
+ value: keyValues[idx][1]
30300
+ });
30301
+ else obj[key] = keyValues[idx][1];
30302
+ }
30238
30303
  return obj;
30239
30304
  }
30240
30305
  function isValidPropertyNameFilter(descriptor) {
@@ -30280,11 +30345,12 @@ var FrequencyArbitrary = class FrequencyArbitrary2 extends Arbitrary {
30280
30345
  if (currentWeight < 0) throw new Error(`${label} expects weights to be superior or equal to 0`);
30281
30346
  }
30282
30347
  if (totalWeight <= 0) throw new Error(`${label} expects the sum of weights to be strictly superior to 0`);
30283
- return new FrequencyArbitrary2(warbs, {
30348
+ const sanitizedConstraints = {
30284
30349
  depthBias: depthBiasFromSizeForArbitrary(constraints.depthSize, constraints.maxDepth !== void 0),
30285
30350
  maxDepth: constraints.maxDepth !== void 0 ? constraints.maxDepth : safePositiveInfinity$7,
30286
30351
  withCrossShrink: !!constraints.withCrossShrink
30287
- }, getDepthContextFor(constraints.depthIdentifier));
30352
+ };
30353
+ return new FrequencyArbitrary2(warbs, sanitizedConstraints, getDepthContextFor(constraints.depthIdentifier));
30288
30354
  }
30289
30355
  constructor(warbs, constraints, context4) {
30290
30356
  super();
@@ -30408,10 +30474,10 @@ function oneof(...args2) {
30408
30474
  }
30409
30475
  var safeNumberIsInteger$3 = Number.isInteger;
30410
30476
  function nat(arg) {
30411
- const max7 = typeof arg === "number" ? arg : arg && arg.max !== void 0 ? arg.max : 2147483647;
30412
- if (max7 < 0) throw new Error("fc.nat value should be greater than or equal to 0");
30413
- if (!safeNumberIsInteger$3(max7)) throw new Error("fc.nat maximum value should be an integer");
30414
- return new IntegerArbitrary(0, max7);
30477
+ const max8 = typeof arg === "number" ? arg : arg && arg.max !== void 0 ? arg.max : 2147483647;
30478
+ if (max8 < 0) throw new Error("fc.nat value should be greater than or equal to 0");
30479
+ if (!safeNumberIsInteger$3(max8)) throw new Error("fc.nat maximum value should be an integer");
30480
+ return new IntegerArbitrary(0, max8);
30415
30481
  }
30416
30482
  var safeObjectIs$2 = Object.is;
30417
30483
  function buildDichotomyEntries(entries3) {
@@ -30430,14 +30496,14 @@ function buildDichotomyEntries(entries3) {
30430
30496
  return dichotomyEntries;
30431
30497
  }
30432
30498
  function findDichotomyEntry(dichotomyEntries, choiceIndex) {
30433
- let min7 = 0;
30434
- let max7 = dichotomyEntries.length;
30435
- while (max7 - min7 > 1) {
30436
- const mid = ~~((min7 + max7) / 2);
30437
- if (choiceIndex < dichotomyEntries[mid].from) max7 = mid;
30438
- else min7 = mid;
30499
+ let min8 = 0;
30500
+ let max8 = dichotomyEntries.length;
30501
+ while (max8 - min8 > 1) {
30502
+ const mid = ~~((min8 + max8) / 2);
30503
+ if (choiceIndex < dichotomyEntries[mid].from) max8 = mid;
30504
+ else min8 = mid;
30439
30505
  }
30440
- return dichotomyEntries[min7];
30506
+ return dichotomyEntries[min8];
30441
30507
  }
30442
30508
  function indexToMappedConstantMapperFor(entries3) {
30443
30509
  const dichotomyEntries = buildDichotomyEntries(entries3);
@@ -31615,18 +31681,18 @@ function intersectGraphemeRanges(rangesA, rangesB) {
31615
31681
  if (rangeAMax < rangeBMin) cursorA += 1;
31616
31682
  else if (rangeBMax < rangeAMin) cursorB += 1;
31617
31683
  else {
31618
- let min7 = safeMathMax$1(rangeAMin, rangeBMin);
31619
- const max7 = safeMathMin$2(rangeAMax, rangeBMax);
31684
+ let min8 = safeMathMax$1(rangeAMin, rangeBMin);
31685
+ const max8 = safeMathMin$2(rangeAMax, rangeBMax);
31620
31686
  if (mergedRanges.length >= 1) {
31621
31687
  const lastMergedRange = mergedRanges[mergedRanges.length - 1];
31622
- if ((lastMergedRange.length === 1 ? lastMergedRange[0] : lastMergedRange[1]) + 1 === min7) {
31623
- min7 = lastMergedRange[0];
31688
+ if ((lastMergedRange.length === 1 ? lastMergedRange[0] : lastMergedRange[1]) + 1 === min8) {
31689
+ min8 = lastMergedRange[0];
31624
31690
  safePop$1(mergedRanges);
31625
31691
  }
31626
31692
  }
31627
- safePush(mergedRanges, min7 === max7 ? [min7] : [min7, max7]);
31628
- if (rangeAMax <= max7) cursorA += 1;
31629
- if (rangeBMax <= max7) cursorB += 1;
31693
+ safePush(mergedRanges, min8 === max8 ? [min8] : [min8, max8]);
31694
+ if (rangeAMax <= max8) cursorA += 1;
31695
+ if (rangeBMax <= max8) cursorB += 1;
31630
31696
  }
31631
31697
  }
31632
31698
  return mergedRanges;
@@ -31913,7 +31979,7 @@ var INDEX_NEGATIVE_INFINITY$1 = -INDEX_POSITIVE_INFINITY$1 - SBigInt2(1);
31913
31979
  var num2Pow52 = 4503599627370496;
31914
31980
  var big2Pow52Mask = SBigInt2(4503599627370495);
31915
31981
  var big2Pow53 = SBigInt2("9007199254740992");
31916
- var f64 = new Float64Array(1);
31982
+ var f64 = /* @__PURE__ */ new Float64Array(1);
31917
31983
  var u32$1 = new Uint32Array(f64.buffer, f64.byteOffset);
31918
31984
  function bitCastDoubleToUInt64(f) {
31919
31985
  f64[0] = f;
@@ -31959,13 +32025,13 @@ var safeObjectIs$1 = Object.is;
31959
32025
  var safeNegativeInfinity$5 = Number.NEGATIVE_INFINITY;
31960
32026
  var safePositiveInfinity$5 = Number.POSITIVE_INFINITY;
31961
32027
  function refineConstraintsForFloatingOnly(constraints, maxValue, maxNonIntegerValue2, onlyIntegersAfterThisValue2) {
31962
- const { noDefaultInfinity = false, minExcluded = false, maxExcluded = false, min: min7 = noDefaultInfinity ? -maxValue : safeNegativeInfinity$5, max: max7 = noDefaultInfinity ? maxValue : safePositiveInfinity$5 } = constraints;
31963
- const effectiveMin = minExcluded ? min7 < -maxNonIntegerValue2 ? -onlyIntegersAfterThisValue2 : Math.max(min7, -maxNonIntegerValue2) : min7 === safeNegativeInfinity$5 ? Math.max(min7, -onlyIntegersAfterThisValue2) : Math.max(min7, -maxNonIntegerValue2);
31964
- const effectiveMax = maxExcluded ? max7 > maxNonIntegerValue2 ? onlyIntegersAfterThisValue2 : Math.min(max7, maxNonIntegerValue2) : max7 === safePositiveInfinity$5 ? Math.min(max7, onlyIntegersAfterThisValue2) : Math.min(max7, maxNonIntegerValue2);
32028
+ const { noDefaultInfinity = false, minExcluded = false, maxExcluded = false, min: min8 = noDefaultInfinity ? -maxValue : safeNegativeInfinity$5, max: max8 = noDefaultInfinity ? maxValue : safePositiveInfinity$5 } = constraints;
32029
+ const effectiveMin = minExcluded ? min8 < -maxNonIntegerValue2 ? -onlyIntegersAfterThisValue2 : Math.max(min8, -maxNonIntegerValue2) : min8 === safeNegativeInfinity$5 ? Math.max(min8, -onlyIntegersAfterThisValue2) : Math.max(min8, -maxNonIntegerValue2);
32030
+ const effectiveMax = maxExcluded ? max8 > maxNonIntegerValue2 ? onlyIntegersAfterThisValue2 : Math.min(max8, maxNonIntegerValue2) : max8 === safePositiveInfinity$5 ? Math.min(max8, onlyIntegersAfterThisValue2) : Math.min(max8, maxNonIntegerValue2);
31965
32031
  return {
31966
32032
  noDefaultInfinity: false,
31967
- minExcluded: minExcluded || (min7 !== safeNegativeInfinity$5 || minExcluded) && safeNumberIsInteger$2(effectiveMin),
31968
- maxExcluded: maxExcluded || (max7 !== safePositiveInfinity$5 || maxExcluded) && safeNumberIsInteger$2(effectiveMax),
32033
+ minExcluded: minExcluded || (min8 !== safeNegativeInfinity$5 || minExcluded) && safeNumberIsInteger$2(effectiveMin),
32034
+ maxExcluded: maxExcluded || (max8 !== safePositiveInfinity$5 || maxExcluded) && safeNumberIsInteger$2(effectiveMax),
31969
32035
  min: safeObjectIs$1(effectiveMin, -0) ? 0 : effectiveMin,
31970
32036
  max: safeObjectIs$1(effectiveMax, 0) ? -0 : effectiveMax,
31971
32037
  noNaN: constraints.noNaN || false
@@ -31984,7 +32050,7 @@ function doubleOnlyMapper(value5) {
31984
32050
  }
31985
32051
  function doubleOnlyUnmapper(value5) {
31986
32052
  if (typeof value5 !== "number") throw new Error("Unsupported type");
31987
- return value5 === safePositiveInfinity$4 ? onlyIntegersAfterThisValue$1 : value5 === safeNegativeInfinity$4 ? -onlyIntegersAfterThisValue$1 : value5;
32053
+ return value5 === safePositiveInfinity$4 ? onlyIntegersAfterThisValue$1 : value5 === safeNegativeInfinity$4 ? -4503599627370496 : value5;
31988
32054
  }
31989
32055
  var safeNumberIsInteger$1 = Number.isInteger;
31990
32056
  var safeNumberIsNaN$1 = Number.isNaN;
@@ -32004,10 +32070,10 @@ function numberIsNotInteger$1(value5) {
32004
32070
  return !safeNumberIsInteger$1(value5);
32005
32071
  }
32006
32072
  function anyDouble(constraints) {
32007
- const { noDefaultInfinity = false, noNaN = false, minExcluded = false, maxExcluded = false, min: min7 = noDefaultInfinity ? -safeMaxValue$1 : safeNegativeInfinity$3, max: max7 = noDefaultInfinity ? safeMaxValue$1 : safePositiveInfinity$3 } = constraints;
32008
- const minIndexRaw = safeDoubleToIndex(min7, "min");
32073
+ const { noDefaultInfinity = false, noNaN = false, minExcluded = false, maxExcluded = false, min: min8 = noDefaultInfinity ? -safeMaxValue$1 : safeNegativeInfinity$3, max: max8 = noDefaultInfinity ? safeMaxValue$1 : safePositiveInfinity$3 } = constraints;
32074
+ const minIndexRaw = safeDoubleToIndex(min8, "min");
32009
32075
  const minIndex = minExcluded ? minIndexRaw + SBigInt2(1) : minIndexRaw;
32010
- const maxIndexRaw = safeDoubleToIndex(max7, "max");
32076
+ const maxIndexRaw = safeDoubleToIndex(max8, "max");
32011
32077
  const maxIndex = maxExcluded ? maxIndexRaw - SBigInt2(1) : maxIndexRaw;
32012
32078
  if (maxIndex < minIndex) throw new Error("fc.double constraints.min must be smaller or equal to constraints.max");
32013
32079
  if (noNaN) return bigInt2({
@@ -32039,7 +32105,7 @@ var safeMathImul = Math.imul;
32039
32105
  var MAX_VALUE_32 = 2 ** 127 * (1 + (2 ** 23 - 1) / 2 ** 23);
32040
32106
  var INDEX_POSITIVE_INFINITY = 2139095040;
32041
32107
  var INDEX_NEGATIVE_INFINITY = -2139095041;
32042
- var f32 = new Float32Array(1);
32108
+ var f32 = /* @__PURE__ */ new Float32Array(1);
32043
32109
  var u32 = new Uint32Array(f32.buffer, f32.byteOffset);
32044
32110
  function bitCastFloatToUInt32(f) {
32045
32111
  f32[0] = f;
@@ -32093,7 +32159,7 @@ function floatOnlyMapper(value5) {
32093
32159
  }
32094
32160
  function floatOnlyUnmapper(value5) {
32095
32161
  if (typeof value5 !== "number") throw new Error("Unsupported type");
32096
- return value5 === safePositiveInfinity$1 ? onlyIntegersAfterThisValue : value5 === safeNegativeInfinity$1 ? -onlyIntegersAfterThisValue : value5;
32162
+ return value5 === safePositiveInfinity$1 ? onlyIntegersAfterThisValue : value5 === safeNegativeInfinity$1 ? -8388608 : value5;
32097
32163
  }
32098
32164
  var safeNumberIsInteger = Number.isInteger;
32099
32165
  var safeNumberIsNaN = Number.isNaN;
@@ -32114,10 +32180,10 @@ function numberIsNotInteger(value5) {
32114
32180
  return !safeNumberIsInteger(value5);
32115
32181
  }
32116
32182
  function anyFloat(constraints) {
32117
- const { noDefaultInfinity = false, noNaN = false, minExcluded = false, maxExcluded = false, min: min7 = noDefaultInfinity ? -MAX_VALUE_32 : safeNegativeInfinity, max: max7 = noDefaultInfinity ? MAX_VALUE_32 : safePositiveInfinity } = constraints;
32118
- const minIndexRaw = safeFloatToIndex(min7, "min");
32183
+ const { noDefaultInfinity = false, noNaN = false, minExcluded = false, maxExcluded = false, min: min8 = noDefaultInfinity ? -MAX_VALUE_32 : safeNegativeInfinity, max: max8 = noDefaultInfinity ? MAX_VALUE_32 : safePositiveInfinity } = constraints;
32184
+ const minIndexRaw = safeFloatToIndex(min8, "min");
32119
32185
  const minIndex = minExcluded ? minIndexRaw + 1 : minIndexRaw;
32120
- const maxIndexRaw = safeFloatToIndex(max7, "max");
32186
+ const maxIndexRaw = safeFloatToIndex(max8, "max");
32121
32187
  const maxIndex = maxExcluded ? maxIndexRaw - 1 : maxIndexRaw;
32122
32188
  if (minIndex > maxIndex) throw new Error("fc.float constraints.min must be smaller or equal to constraints.max");
32123
32189
  if (noNaN) return integer({
@@ -32457,7 +32523,7 @@ function noShrink(arb) {
32457
32523
  if (stableObjectGetPrototypeOf(arb) === NoShrinkArbitrary.prototype && arb.generate === NoShrinkArbitrary.prototype.generate && arb.canShrinkWithoutContext === NoShrinkArbitrary.prototype.canShrinkWithoutContext && arb.shrink === NoShrinkArbitrary.prototype.shrink) return arb;
32458
32524
  return new NoShrinkArbitrary(arb);
32459
32525
  }
32460
- var safeObjectAssign$3 = Object.assign;
32526
+ var safeObjectAssign$4 = Object.assign;
32461
32527
  var safeObjectKeys$3 = Object.keys;
32462
32528
  function buildCompareFunctionArbitrary(cmp) {
32463
32529
  return tuple2(noShrink(integer()), noShrink(integer({
@@ -32473,7 +32539,7 @@ function buildCompareFunctionArbitrary(cmp) {
32473
32539
  recorded[`[${reprA},${reprB}]`] = val;
32474
32540
  return val;
32475
32541
  };
32476
- return safeObjectAssign$3(f, {
32542
+ return safeObjectAssign$4(f, {
32477
32543
  toString: () => {
32478
32544
  const seenValues = safeObjectKeys$3(recorded).sort().map((k) => `${k} => ${stringify(recorded[k])}`).map((line) => `/* ${escapeForMultilineComments(line)} */`);
32479
32545
  return `function(a, b) {
@@ -32491,15 +32557,15 @@ function buildCompareFunctionArbitrary(cmp) {
32491
32557
  return producer();
32492
32558
  });
32493
32559
  }
32494
- var safeObjectAssign$2 = Object.assign;
32560
+ var safeObjectAssign$3 = Object.assign;
32495
32561
  function compareBooleanFunc() {
32496
- return buildCompareFunctionArbitrary(safeObjectAssign$2((hA, hB) => hA < hB, { toString() {
32562
+ return buildCompareFunctionArbitrary(safeObjectAssign$3((hA, hB) => hA < hB, { toString() {
32497
32563
  return "(hA, hB) => hA < hB";
32498
32564
  } }));
32499
32565
  }
32500
- var safeObjectAssign$1 = Object.assign;
32566
+ var safeObjectAssign$2 = Object.assign;
32501
32567
  function compareFunc() {
32502
- return buildCompareFunctionArbitrary(safeObjectAssign$1((hA, hB) => hA - hB, { toString() {
32568
+ return buildCompareFunctionArbitrary(safeObjectAssign$2((hA, hB) => hA - hB, { toString() {
32503
32569
  return "(hA, hB) => hA - hB";
32504
32570
  } }));
32505
32571
  }
@@ -32797,7 +32863,7 @@ function initialPoolForEntityGraph(keys4, constraints) {
32797
32863
  if (!canHaveAtLeastOneItem(keys4, constraints)) throw new SError("Contraints on pool must accept at least one entity, maxLength cannot sum to 0");
32798
32864
  return tuple2(...keys4.map((key) => array3(constant2(key), constraints[key]))).map((values3) => safeFlat(values3)).filter((names) => names.length > 0);
32799
32865
  }
32800
- var safeObjectAssign = Object.assign;
32866
+ var safeObjectAssign$1 = Object.assign;
32801
32867
  var safeObjectCreate$4 = Object.create;
32802
32868
  var safeObjectDefineProperty$1 = Object.defineProperty;
32803
32869
  var safeObjectGetPrototypeOf = Object.getPrototypeOf;
@@ -32819,7 +32885,7 @@ function unlinkedToLinkedEntitiesMapper(unlinkedEntities, producedLinks) {
32819
32885
  const unlinkedEntitiesForName = unlinkedEntities[name];
32820
32886
  const linkedEntitiesForName = [];
32821
32887
  for (const unlinkedEntity of unlinkedEntitiesForName) {
32822
- const linkedEntity = safeObjectAssign(safeObjectCreate$4(safeObjectGetPrototypeOf(unlinkedEntity)), unlinkedEntity);
32888
+ const linkedEntity = safeObjectAssign$1(safeObjectCreate$4(safeObjectGetPrototypeOf(unlinkedEntity)), unlinkedEntity);
32823
32889
  linkedEntitiesForName.push(linkedEntity);
32824
32890
  }
32825
32891
  linkedEntities[name] = linkedEntitiesForName;
@@ -32839,7 +32905,7 @@ function unlinkedToLinkedEntitiesMapper(unlinkedEntities, producedLinks) {
32839
32905
  writable: false,
32840
32906
  value: () => {
32841
32907
  const unlinkedEntity = unlinkedEntities[name][entityIndex];
32842
- const entity = safeObjectAssign(safeObjectCreate$4(safeObjectGetPrototypeOf(unlinkedEntity)), unlinkedEntity);
32908
+ const entity = safeObjectAssign$1(safeObjectCreate$4(safeObjectGetPrototypeOf(unlinkedEntity)), unlinkedEntity);
32843
32909
  for (const prop in entityLinksForInstance) {
32844
32910
  const propValue = entityLinksForInstance[prop];
32845
32911
  entity[prop] = propValue.index === void 0 ? void 0 : typeof propValue.index === "number" ? withReferenceStringifiedValue(propValue.type, propValue.index) : safeMap(propValue.index, (index2) => withReferenceStringifiedValue(propValue.type, index2));
@@ -32890,6 +32956,7 @@ function buildInversedRelationsMapping(relations) {
32890
32956
  if (inversedRelations.size !== foundInversedRelations) throw new SError(`Some inverse relationships could not be matched with their corresponding forward relationships`);
32891
32957
  return inversedRelations;
32892
32958
  }
32959
+ var safeObjectAssign = Object.assign;
32893
32960
  var safeObjectCreate$3 = Object.create;
32894
32961
  function produceLinkUnitaryIndexArbitrary(strategy, currentIndexIfSameType, countInTargetType) {
32895
32962
  switch (strategy) {
@@ -32907,128 +32974,196 @@ function produceLinkUnitaryIndexArbitrary(strategy, currentIndexIfSameType, coun
32907
32974
  }));
32908
32975
  }
32909
32976
  }
32910
- function computeLinkIndex(arity, strategy, currentIndexIfSameType, countInTargetType, currentEntityDepth, mrng, biasFactor) {
32977
+ function buildLinkIndexArbitrary(arity, strategy, currentIndexIfSameType, countInTargetType, currentEntityDepth) {
32911
32978
  const linkArbitrary = produceLinkUnitaryIndexArbitrary(strategy, currentIndexIfSameType, countInTargetType);
32912
32979
  switch (arity) {
32913
32980
  case "0-1":
32914
32981
  return option3(linkArbitrary, {
32915
32982
  nil: void 0,
32916
32983
  depthIdentifier: currentEntityDepth
32917
- }).generate(mrng, biasFactor).value;
32984
+ });
32918
32985
  case "1":
32919
- return linkArbitrary.generate(mrng, biasFactor).value;
32986
+ return linkArbitrary;
32920
32987
  case "many": {
32921
32988
  let randomUnicity = 0;
32922
- const values3 = option3(uniqueArray(linkArbitrary, {
32989
+ return option3(uniqueArray(linkArbitrary, {
32923
32990
  depthIdentifier: currentEntityDepth,
32924
32991
  selector: (v) => v === countInTargetType ? v + ++randomUnicity : v,
32925
32992
  minLength: 1
32926
32993
  }), {
32927
32994
  nil: [],
32928
32995
  depthIdentifier: currentEntityDepth
32929
- }).generate(mrng, biasFactor).value;
32930
- let offset = 0;
32931
- return safeMap(values3, (v) => v === countInTargetType ? v + offset++ : v);
32996
+ }).map((values3) => {
32997
+ let offset = 0;
32998
+ return safeMap(values3, (v) => v === countInTargetType ? v + offset++ : v);
32999
+ });
32932
33000
  }
32933
33001
  }
32934
33002
  }
32935
- var OnTheFlyLinksForEntityGraphArbitrary = class extends Arbitrary {
32936
- constructor(relations, defaultEntities) {
32937
- super();
32938
- this.relations = relations;
32939
- this.defaultEntities = defaultEntities;
32940
- const nonExclusiveEntities = new SSet();
32941
- const exclusiveEntities = new SSet();
32942
- for (const name in relations) {
32943
- const relationsForName = relations[name];
32944
- for (const fieldName in relationsForName) {
32945
- const relation = relationsForName[fieldName];
32946
- if (relation.arity === "inverse") continue;
32947
- if (relation.strategy === "exclusive") {
32948
- if (safeHas(nonExclusiveEntities, relation.type)) throw new SError(`Cannot mix exclusive with other strategies for type ${SString(relation.type)}`);
32949
- safeAdd(exclusiveEntities, relation.type);
32950
- } else {
32951
- if (safeHas(exclusiveEntities, relation.type)) throw new SError(`Cannot mix exclusive with other strategies for type ${SString(relation.type)}`);
32952
- safeAdd(nonExclusiveEntities, relation.type);
32953
- }
32954
- if (relation.strategy === "successor" && relation.type !== name) throw new SError(`Cannot mix types for the strategy successor`);
32955
- if (relation.strategy === "successor" && relation.arity === "1") throw new SError(`Cannot use an arity of 1 for the strategy successor`);
32956
- }
32957
- }
32958
- this.inversedRelations = buildInversedRelationsMapping(relations);
33003
+ function createEmptyLinksInstanceFor(relations, targetType) {
33004
+ const emptyLinksInstance = safeObjectCreate$3(null);
33005
+ const relationsForType = relations[targetType];
33006
+ for (const name in relationsForType) {
33007
+ const relation = relationsForType[name];
33008
+ if (relation.arity === "inverse") emptyLinksInstance[name] = {
33009
+ type: relation.type,
33010
+ index: []
33011
+ };
32959
33012
  }
32960
- createEmptyLinksInstanceFor(targetType) {
32961
- const emptyLinksInstance = safeObjectCreate$3(null);
32962
- const relationsForType = this.relations[targetType];
32963
- for (const name in relationsForType) {
32964
- const relation = relationsForType[name];
32965
- if (relation.arity === "inverse") emptyLinksInstance[name] = {
32966
- type: relation.type,
32967
- index: []
33013
+ return emptyLinksInstance;
33014
+ }
33015
+ function assertAcceptableRelations(relations) {
33016
+ const nonExclusiveEntities = new SSet();
33017
+ const exclusiveEntities = new SSet();
33018
+ for (const name in relations) {
33019
+ const relationsForName = relations[name];
33020
+ for (const fieldName in relationsForName) {
33021
+ const relation = relationsForName[fieldName];
33022
+ if (relation.arity === "inverse") continue;
33023
+ if (relation.strategy === "exclusive") {
33024
+ if (safeHas(nonExclusiveEntities, relation.type)) throw new SError(`Cannot mix exclusive with other strategies for type ${SString(relation.type)}`);
33025
+ safeAdd(exclusiveEntities, relation.type);
33026
+ } else {
33027
+ if (safeHas(exclusiveEntities, relation.type)) throw new SError(`Cannot mix exclusive with other strategies for type ${SString(relation.type)}`);
33028
+ safeAdd(nonExclusiveEntities, relation.type);
33029
+ }
33030
+ if (relation.strategy === "successor" && relation.type !== name) throw new SError(`Cannot mix types for the strategy successor`);
33031
+ if (relation.strategy === "successor" && relation.arity === "1") throw new SError(`Cannot use an arity of 1 for the strategy successor`);
33032
+ }
33033
+ }
33034
+ }
33035
+ function draftNextProductionState(state, offset) {
33036
+ const { producedLinks, toBeProducedEntities } = state;
33037
+ const nextIndex = state.nextIndex + offset;
33038
+ const newProducedLinks = safeObjectAssign(safeObjectCreate$3(null), producedLinks);
33039
+ function getOrCreateProducedLinksFor(type3) {
33040
+ if (newProducedLinks[type3] === producedLinks[type3]) newProducedLinks[type3] = safeSlice(producedLinks[type3]);
33041
+ return newProducedLinks[type3];
33042
+ }
33043
+ function getOrCreateLinksFor(type3, indexInType) {
33044
+ const producedLinksForType = getOrCreateProducedLinksFor(type3);
33045
+ if (producedLinksForType[indexInType] === producedLinks[type3][indexInType]) producedLinksForType[indexInType] = safeObjectAssign(safeObjectCreate$3(null), producedLinks[type3][indexInType]);
33046
+ return producedLinksForType[indexInType];
33047
+ }
33048
+ function getOrCreateRelationFor(type3, indexInType, property2) {
33049
+ const links = getOrCreateLinksFor(type3, indexInType);
33050
+ const originalEntity = producedLinks[type3][indexInType];
33051
+ if (originalEntity !== void 0 && links[property2] === originalEntity[property2]) {
33052
+ const sharedRelation = links[property2];
33053
+ links[property2] = {
33054
+ type: sharedRelation.type,
33055
+ index: typeof sharedRelation.index === "object" ? safeSlice(sharedRelation.index) : sharedRelation.index
32968
33056
  };
32969
33057
  }
32970
- return emptyLinksInstance;
33058
+ return links[property2];
32971
33059
  }
32972
- generate(mrng, biasFactor) {
32973
- const producedLinks = safeObjectCreate$3(null);
32974
- for (const name in this.relations) producedLinks[name] = [];
32975
- const toBeProducedEntities = [];
32976
- for (const name of this.defaultEntities) {
32977
- safePush(toBeProducedEntities, {
32978
- type: name,
32979
- indexInType: producedLinks[name].length,
32980
- depth: 0
33060
+ let newToBeProducedEntities = void 0;
33061
+ const toBeProduced = toBeProducedEntities[nextIndex];
33062
+ return {
33063
+ setOutboundLink: (name, value5) => {
33064
+ const currentLinks = getOrCreateLinksFor(toBeProduced.type, toBeProduced.indexInType);
33065
+ currentLinks[name] = value5;
33066
+ },
33067
+ enqueueNewEntity: (relations, targetType) => {
33068
+ const producedLinksInTargetType = getOrCreateProducedLinksFor(targetType);
33069
+ const newEntityIndexInType = producedLinksInTargetType.length;
33070
+ if (newToBeProducedEntities === void 0) newToBeProducedEntities = safeSlice(toBeProducedEntities);
33071
+ safePush(newToBeProducedEntities, {
33072
+ type: targetType,
33073
+ indexInType: newEntityIndexInType,
33074
+ depth: toBeProduced.depth + 1
32981
33075
  });
32982
- safePush(producedLinks[name], this.createEmptyLinksInstanceFor(name));
32983
- }
32984
- let lastTreatedEntities = -1;
32985
- while (++lastTreatedEntities < toBeProducedEntities.length) {
32986
- const currentEntity = toBeProducedEntities[lastTreatedEntities];
32987
- const currentRelations = this.relations[currentEntity.type];
32988
- const currentLinks = producedLinks[currentEntity.type][currentEntity.indexInType];
32989
- const currentEntityDepth = createDepthIdentifier();
32990
- currentEntityDepth.depth = currentEntity.depth;
32991
- for (const name in currentRelations) {
32992
- const relation = currentRelations[name];
32993
- if (relation.arity === "inverse") continue;
32994
- const targetType = relation.type;
32995
- const producedLinksInTargetType = producedLinks[targetType];
32996
- const countInTargetType = producedLinksInTargetType.length;
32997
- const linkOrLinks = computeLinkIndex(relation.arity, relation.strategy || "any", targetType === currentEntity.type ? currentEntity.indexInType : void 0, producedLinksInTargetType.length, currentEntityDepth, mrng, biasFactor);
32998
- currentLinks[name] = {
32999
- type: targetType,
33000
- index: linkOrLinks
33001
- };
33002
- const links = linkOrLinks === void 0 ? [] : typeof linkOrLinks === "number" ? [linkOrLinks] : linkOrLinks;
33003
- for (const link2 of links) {
33004
- if (link2 >= countInTargetType) {
33005
- safePush(toBeProducedEntities, {
33006
- type: targetType,
33007
- indexInType: link2,
33008
- depth: currentEntity.depth + 1
33009
- });
33010
- safePush(producedLinksInTargetType, this.createEmptyLinksInstanceFor(targetType));
33011
- }
33012
- const inversed = safeMapGet(this.inversedRelations, relation);
33013
- if (inversed !== void 0) {
33014
- const knownInversedLinks = producedLinksInTargetType[link2][inversed.property].index;
33015
- safePush(knownInversedLinks, currentEntity.indexInType);
33016
- }
33017
- }
33018
- }
33019
- }
33020
- toBeProducedEntities.length = 0;
33021
- return new Value(producedLinks, void 0);
33022
- }
33023
- canShrinkWithoutContext(_value) {
33024
- return false;
33025
- }
33026
- shrink(_value, _context) {
33027
- return Stream.nil();
33076
+ safePush(producedLinksInTargetType, createEmptyLinksInstanceFor(relations, targetType));
33077
+ return newEntityIndexInType;
33078
+ },
33079
+ appendBackReference: (targetType, indexInType, property2) => {
33080
+ const knownInversedLinks = getOrCreateRelationFor(targetType, indexInType, property2).index;
33081
+ safePush(knownInversedLinks, toBeProduced.indexInType);
33082
+ },
33083
+ commit: () => ({
33084
+ producedLinks: newProducedLinks,
33085
+ toBeProducedEntities: newToBeProducedEntities !== void 0 ? newToBeProducedEntities : toBeProducedEntities,
33086
+ nextIndex: nextIndex + 1
33087
+ })
33088
+ };
33089
+ }
33090
+ function buildInitialProductionState(relations, defaultEntities) {
33091
+ const producedLinks = safeObjectCreate$3(null);
33092
+ for (const name in relations) producedLinks[name] = [];
33093
+ const toBeProducedEntities = [];
33094
+ for (const name of defaultEntities) {
33095
+ safePush(toBeProducedEntities, {
33096
+ type: name,
33097
+ indexInType: producedLinks[name].length,
33098
+ depth: 0
33099
+ });
33100
+ safePush(producedLinks[name], createEmptyLinksInstanceFor(relations, name));
33028
33101
  }
33029
- };
33102
+ return {
33103
+ producedLinks,
33104
+ toBeProducedEntities,
33105
+ nextIndex: 0
33106
+ };
33107
+ }
33108
+ function buildEntityStepArbitrary(relations, inversedRelations, lastState, offset) {
33109
+ const lastProducedLinks = lastState.producedLinks;
33110
+ const currentEntity = lastState.toBeProducedEntities[lastState.nextIndex + offset];
33111
+ const currentRelations = relations[currentEntity.type];
33112
+ const currentEntityDepth = createDepthIdentifier();
33113
+ currentEntityDepth.depth = currentEntity.depth;
33114
+ const subArbitraries = [];
33115
+ const linkContexts = [];
33116
+ for (const name in currentRelations) {
33117
+ const relation = currentRelations[name];
33118
+ if (relation.arity === "inverse") continue;
33119
+ const targetType = relation.type;
33120
+ const countInTargetType = lastProducedLinks[targetType].length;
33121
+ safePush(subArbitraries, buildLinkIndexArbitrary(relation.arity, relation.strategy || "any", targetType === currentEntity.type ? currentEntity.indexInType : void 0, countInTargetType, currentEntityDepth));
33122
+ safePush(linkContexts, {
33123
+ name,
33124
+ relation,
33125
+ sentinelLinkIndex: countInTargetType
33126
+ });
33127
+ }
33128
+ if (subArbitraries.length === 0) return;
33129
+ return tuple2(...subArbitraries).map((results) => {
33130
+ const state = draftNextProductionState(lastState, offset);
33131
+ for (let resultIndex = 0; resultIndex !== results.length; ++resultIndex) {
33132
+ const linkOrLinks = results[resultIndex];
33133
+ const { name, relation, sentinelLinkIndex } = linkContexts[resultIndex];
33134
+ const effectiveLinks = [];
33135
+ const links = linkOrLinks === void 0 ? [] : typeof linkOrLinks === "number" ? [linkOrLinks] : linkOrLinks;
33136
+ for (const link2 of links) {
33137
+ let newEntityIndexInType;
33138
+ if (link2 >= sentinelLinkIndex) newEntityIndexInType = state.enqueueNewEntity(relations, relation.type);
33139
+ else newEntityIndexInType = link2;
33140
+ safePush(effectiveLinks, newEntityIndexInType);
33141
+ const inversed = safeMapGet(inversedRelations, relation);
33142
+ if (inversed !== void 0) state.appendBackReference(relation.type, newEntityIndexInType, inversed.property);
33143
+ }
33144
+ state.setOutboundLink(name, {
33145
+ type: relation.type,
33146
+ index: linkOrLinks === void 0 ? void 0 : typeof linkOrLinks === "number" ? effectiveLinks[0] : effectiveLinks
33147
+ });
33148
+ }
33149
+ return state.commit();
33150
+ });
33151
+ }
33030
33152
  function onTheFlyLinksForEntityGraph(relations, defaultEntities) {
33031
- return new OnTheFlyLinksForEntityGraphArbitrary(relations, defaultEntities);
33153
+ assertAcceptableRelations(relations);
33154
+ const inversedRelations = buildInversedRelationsMapping(relations);
33155
+ return chainUntil(constant2(buildInitialProductionState(relations, defaultEntities)), (state) => {
33156
+ if (state.nextIndex >= state.toBeProducedEntities.length) return;
33157
+ let offset = 0;
33158
+ let next2 = void 0;
33159
+ while (next2 === void 0 && state.nextIndex + offset < state.toBeProducedEntities.length) {
33160
+ next2 = buildEntityStepArbitrary(relations, inversedRelations, state, offset);
33161
+ offset += 1;
33162
+ }
33163
+ return next2;
33164
+ }).map((state) => {
33165
+ return state.producedLinks;
33166
+ });
33032
33167
  }
33033
33168
  var safeObjectKeys$1 = Object.keys;
33034
33169
  var safeObjectGetOwnPropertySymbols$1 = Object.getOwnPropertySymbols;
@@ -33050,15 +33185,19 @@ var safeObjectGetOwnPropertyNames = Object.getOwnPropertyNames;
33050
33185
  var safeObjectGetOwnPropertySymbols = Object.getOwnPropertySymbols;
33051
33186
  function buildValuesAndSeparateKeysToObjectMapper(keys4, noKeyValue2) {
33052
33187
  return function valuesAndSeparateKeysToObjectMapper(definition) {
33053
- const obj = definition[1] ? safeObjectCreate$2(null) : {};
33188
+ const obj = definition[definition.length - 1] ? safeObjectCreate$2(null) : {};
33054
33189
  for (let idx = 0; idx !== keys4.length; ++idx) {
33055
- const valueWrapper = definition[0][idx];
33056
- if (valueWrapper !== noKeyValue2) safeObjectDefineProperty(obj, keys4[idx], {
33057
- value: valueWrapper,
33058
- configurable: true,
33059
- enumerable: true,
33060
- writable: true
33061
- });
33190
+ const valueWrapper = definition[idx];
33191
+ if (valueWrapper !== noKeyValue2) {
33192
+ const key = keys4[idx];
33193
+ if (key === "__proto__") safeObjectDefineProperty(obj, key, {
33194
+ value: valueWrapper,
33195
+ configurable: true,
33196
+ enumerable: true,
33197
+ writable: true
33198
+ });
33199
+ else obj[key] = valueWrapper;
33200
+ }
33062
33201
  }
33063
33202
  return obj;
33064
33203
  };
@@ -33083,7 +33222,7 @@ function buildValuesAndSeparateKeysToObjectUnmapper(keys4, noKeyValue2) {
33083
33222
  const namePropertiesCount = safeObjectGetOwnPropertyNames(value5).length;
33084
33223
  const symbolPropertiesCount = safeObjectGetOwnPropertySymbols(value5).length;
33085
33224
  if (extractedPropertiesCount !== namePropertiesCount + symbolPropertiesCount) throw new Error("Incompatible instance received: should not contain extra properties");
33086
- return [extractedValues, hasNullPrototype];
33225
+ return [...extractedValues, hasNullPrototype];
33087
33226
  };
33088
33227
  }
33089
33228
  var noKeyValue = /* @__PURE__ */ Symbol("no-key");
@@ -33096,7 +33235,7 @@ function buildPartialRecordArbitrary(recordModel, requiredKeys, noNullPrototype)
33096
33235
  if (requiredKeys === void 0 || safeIndexOf(requiredKeys, k) !== -1) safePush(arbs, requiredArbitrary);
33097
33236
  else safePush(arbs, option3(requiredArbitrary, { nil: noKeyValue }));
33098
33237
  }
33099
- return tuple2(tuple2(...arbs), noNullPrototype ? constant2(false) : boolean2()).map(buildValuesAndSeparateKeysToObjectMapper(keys4, noKeyValue), buildValuesAndSeparateKeysToObjectUnmapper(keys4, noKeyValue));
33238
+ return tuple2(...arbs, noNullPrototype ? constant2(false) : boolean2()).map(buildValuesAndSeparateKeysToObjectMapper(keys4, noKeyValue), buildValuesAndSeparateKeysToObjectUnmapper(keys4, noKeyValue));
33100
33239
  }
33101
33240
  function record2(recordModel, constraints) {
33102
33241
  const noNullPrototype = constraints !== void 0 && !!constraints.noNullPrototype;
@@ -33375,13 +33514,13 @@ function float64Array(constraints = {}) {
33375
33514
  }
33376
33515
  function typedIntArrayArbitraryArbitraryBuilder(constraints, defaultMin, defaultMax, TypedArrayClass, arbitraryBuilder) {
33377
33516
  const generatorName = TypedArrayClass.name;
33378
- const { min: min7 = defaultMin, max: max7 = defaultMax, ...arrayConstraints } = constraints;
33379
- if (min7 > max7) throw new Error(`Invalid range passed to ${generatorName}: min must be lower than or equal to max`);
33380
- if (min7 < defaultMin) throw new Error(`Invalid min value passed to ${generatorName}: min must be greater than or equal to ${defaultMin}`);
33381
- if (max7 > defaultMax) throw new Error(`Invalid max value passed to ${generatorName}: max must be lower than or equal to ${defaultMax}`);
33517
+ const { min: min8 = defaultMin, max: max8 = defaultMax, ...arrayConstraints } = constraints;
33518
+ if (min8 > max8) throw new Error(`Invalid range passed to ${generatorName}: min must be lower than or equal to max`);
33519
+ if (min8 < defaultMin) throw new Error(`Invalid min value passed to ${generatorName}: min must be greater than or equal to ${defaultMin}`);
33520
+ if (max8 > defaultMax) throw new Error(`Invalid max value passed to ${generatorName}: max must be lower than or equal to ${defaultMax}`);
33382
33521
  return array3(arbitraryBuilder({
33383
- min: min7,
33384
- max: max7
33522
+ min: min8,
33523
+ max: max8
33385
33524
  }), arrayConstraints).map((data) => TypedArrayClass.from(data), (value5) => {
33386
33525
  if (!(value5 instanceof TypedArrayClass)) throw new Error("Invalid type");
33387
33526
  return [...value5];
@@ -33437,15 +33576,15 @@ var WithShrinkFromOtherArbitrary = class extends Arbitrary {
33437
33576
  return this.shrinkerArbitrary.shrink(value5, context4.shrinkerContext).map(toShrinkerValue);
33438
33577
  }
33439
33578
  };
33440
- function restrictedIntegerArbitraryBuilder(min7, maxGenerated, max7) {
33579
+ function restrictedIntegerArbitraryBuilder(min8, maxGenerated, max8) {
33441
33580
  const generatorArbitrary = integer({
33442
- min: min7,
33581
+ min: min8,
33443
33582
  max: maxGenerated
33444
33583
  });
33445
- if (maxGenerated === max7) return generatorArbitrary;
33584
+ if (maxGenerated === max8) return generatorArbitrary;
33446
33585
  return new WithShrinkFromOtherArbitrary(generatorArbitrary, integer({
33447
- min: min7,
33448
- max: max7
33586
+ min: min8,
33587
+ max: max8
33449
33588
  }));
33450
33589
  }
33451
33590
  var safeMathMin$1 = Math.min;
@@ -33698,7 +33837,8 @@ var StreamArbitrary = class extends Arbitrary {
33698
33837
  yield value5;
33699
33838
  }
33700
33839
  };
33701
- return safeObjectDefineProperties(new Stream(g(this.arb, mrng.clone())), {
33840
+ const s = new Stream(g(this.arb, mrng.clone()));
33841
+ return safeObjectDefineProperties(s, {
33702
33842
  toString: { value: () => prettyPrint(numSeenValues, seenValues !== null ? seenValues.map(stringify) : void 0) },
33703
33843
  [toStringMethod]: { value: () => prettyPrint(numSeenValues, seenValues !== null ? seenValues.map(stringify) : void 0) },
33704
33844
  [asyncToStringMethod]: { value: async () => prettyPrint(numSeenValues, seenValues !== null ? await Promise.all(seenValues.map(asyncStringify)) : void 0) },
@@ -33942,7 +34082,8 @@ function uintToBase32StringUnmapper(value5) {
33942
34082
  let accumulated = 0;
33943
34083
  let power = 1;
33944
34084
  for (let index2 = value5.length - 1; index2 >= 0; --index2) {
33945
- const numericForChar = decodeSymbolLookupTable[value5[index2]];
34085
+ const char = value5[index2];
34086
+ const numericForChar = decodeSymbolLookupTable[char];
33946
34087
  if (numericForChar === void 0) throw new SError("Unsupported type");
33947
34088
  accumulated += numericForChar * power;
33948
34089
  power *= 32;
@@ -33984,10 +34125,10 @@ function numberToPaddedEightUnmapper(value5) {
33984
34125
  if (value5 !== numberToPaddedEightMapper(n)) throw new Error("Unsupported value: invalid content");
33985
34126
  return n;
33986
34127
  }
33987
- function buildPaddedNumberArbitrary(min7, max7) {
34128
+ function buildPaddedNumberArbitrary(min8, max8) {
33988
34129
  return integer({
33989
- min: min7,
33990
- max: max7
34130
+ min: min8,
34131
+ max: max8
33991
34132
  }).map(numberToPaddedEightMapper, numberToPaddedEightUnmapper);
33992
34133
  }
33993
34134
  function paddedEightsToUuidMapper(t) {
@@ -34110,7 +34251,9 @@ function webSegment(constraints = {}) {
34110
34251
  });
34111
34252
  }
34112
34253
  function segmentsToPathMapper(segments) {
34113
- return safeJoin(safeMap(segments, (v) => `/${v}`), "");
34254
+ let path = "";
34255
+ for (let index2 = 0; index2 !== segments.length; ++index2) path += "/" + segments[index2];
34256
+ return path;
34114
34257
  }
34115
34258
  function segmentsToPathUnmapper(value5) {
34116
34259
  if (typeof value5 !== "string") throw new Error("Incompatible value received: type");
@@ -34483,7 +34626,8 @@ async function asyncModelRun(s, cmds) {
34483
34626
  await internalAsyncModelRun(s, cmds);
34484
34627
  }
34485
34628
  async function scheduledModelRun(scheduler2, s, cmds) {
34486
- const out = internalAsyncModelRun(s, scheduleCommands(scheduler2, cmds), scheduler2.schedule(Promise.resolve(), "startModel"));
34629
+ const scheduledCommands = scheduleCommands(scheduler2, cmds);
34630
+ const out = internalAsyncModelRun(s, scheduledCommands, scheduler2.schedule(Promise.resolve(), "startModel"));
34487
34631
  await scheduler2.waitFor(out);
34488
34632
  await scheduler2.waitAll();
34489
34633
  }
@@ -35929,6 +36073,11 @@ var spaceChars = [..." \r\n\v\f"];
35929
36073
  var newLineChars = [..."\r\n"];
35930
36074
  var terminatorChars = [...""];
35931
36075
  var newLineAndTerminatorChars = [...newLineChars, ...terminatorChars];
36076
+ var wordCharsSet = new SSet(wordChars);
36077
+ var digitCharsSet = new SSet(digitChars);
36078
+ var spaceCharsSet = new SSet(spaceChars);
36079
+ var terminatorCharsSet = new SSet(terminatorChars);
36080
+ var newLineAndTerminatorCharsSet = new SSet(newLineAndTerminatorChars);
35932
36081
  var defaultChar = () => string3({
35933
36082
  unit: "grapheme-ascii",
35934
36083
  minLength: 1,
@@ -35944,21 +36093,21 @@ function toMatchingArbitrary(astNode, constraints, flags) {
35944
36093
  case "\\w":
35945
36094
  return constantFrom(...wordChars);
35946
36095
  case "\\W":
35947
- return defaultChar().filter((c) => safeIndexOf(wordChars, c) === -1);
36096
+ return defaultChar().filter((c) => !safeHas(wordCharsSet, c));
35948
36097
  case "\\d":
35949
36098
  return constantFrom(...digitChars);
35950
36099
  case "\\D":
35951
- return defaultChar().filter((c) => safeIndexOf(digitChars, c) === -1);
36100
+ return defaultChar().filter((c) => !safeHas(digitCharsSet, c));
35952
36101
  case "\\s":
35953
36102
  return constantFrom(...spaceChars);
35954
36103
  case "\\S":
35955
- return defaultChar().filter((c) => safeIndexOf(spaceChars, c) === -1);
36104
+ return defaultChar().filter((c) => !safeHas(spaceCharsSet, c));
35956
36105
  case "\\b":
35957
36106
  case "\\B":
35958
36107
  throw new SError(`Meta character ${astNode.value} not implemented yet!`);
35959
36108
  case ".": {
35960
- const forbiddenChars = flags.dotAll ? terminatorChars : newLineAndTerminatorChars;
35961
- return defaultChar().filter((c) => safeIndexOf(forbiddenChars, c) === -1);
36109
+ const forbiddenChars = flags.dotAll ? terminatorCharsSet : newLineAndTerminatorCharsSet;
36110
+ return defaultChar().filter((c) => !safeHas(forbiddenChars, c));
35962
36111
  }
35963
36112
  }
35964
36113
  if (astNode.symbol === void 0) throw new SError(`Unexpected undefined symbol received for non-meta Char! Received: ${stringify(astNode)}`);
@@ -35997,8 +36146,22 @@ function toMatchingArbitrary(astNode, constraints, flags) {
35997
36146
  }
35998
36147
  case "Quantifier":
35999
36148
  throw new SError(`Wrongly defined AST tree, Quantifier nodes not supposed to be scanned!`);
36000
- case "Alternative":
36001
- return tuple2(...safeMap(astNode.expressions, (n) => toMatchingArbitrary(n, constraints, flags))).map((vs) => safeJoin(vs, ""));
36149
+ case "Alternative": {
36150
+ const childrenArbitraries = [];
36151
+ let pendingAggregatedValue = "";
36152
+ for (const n of astNode.expressions) if (n.type === "Char" && n.kind !== "meta" && n.symbol !== void 0) pendingAggregatedValue += n.symbol;
36153
+ else if (flags.multiline || n.type !== "Assertion" || n.kind !== "^" && n.kind !== "$") {
36154
+ if (pendingAggregatedValue !== "") {
36155
+ safePush(childrenArbitraries, constant2(pendingAggregatedValue));
36156
+ pendingAggregatedValue = "";
36157
+ }
36158
+ safePush(childrenArbitraries, toMatchingArbitrary(n, constraints, flags));
36159
+ }
36160
+ if (pendingAggregatedValue !== "") safePush(childrenArbitraries, constant2(pendingAggregatedValue));
36161
+ if (childrenArbitraries.length === 0) return constant2("");
36162
+ if (childrenArbitraries.length === 1) return childrenArbitraries[0];
36163
+ return tuple2(...childrenArbitraries).map((vs) => safeJoin(vs, ""));
36164
+ }
36002
36165
  case "CharacterClass":
36003
36166
  if (astNode.negative) {
36004
36167
  const childrenArbitraries = safeMap(astNode.expressions, (n) => toMatchingArbitrary(n, constraints, flags));
@@ -36006,11 +36169,11 @@ function toMatchingArbitrary(astNode, constraints, flags) {
36006
36169
  }
36007
36170
  return oneof(...safeMap(astNode.expressions, (n) => toMatchingArbitrary(n, constraints, flags)));
36008
36171
  case "ClassRange": {
36009
- const min7 = astNode.from.codePoint;
36010
- const max7 = astNode.to.codePoint;
36172
+ const min8 = astNode.from.codePoint;
36173
+ const max8 = astNode.to.codePoint;
36011
36174
  return integer({
36012
- min: min7,
36013
- max: max7
36175
+ min: min8,
36176
+ max: max8
36014
36177
  }).map((n) => safeStringFromCodePoint(n), (c) => {
36015
36178
  if (typeof c !== "string") throw new SError("Invalid type");
36016
36179
  if ([...c].length !== 1) throw new SError("Invalid length");
@@ -36019,8 +36182,19 @@ function toMatchingArbitrary(astNode, constraints, flags) {
36019
36182
  }
36020
36183
  case "Group":
36021
36184
  return toMatchingArbitrary(astNode.expression, constraints, flags);
36022
- case "Disjunction":
36023
- return oneof(astNode.left !== null ? toMatchingArbitrary(astNode.left, constraints, flags) : constant2(""), astNode.right !== null ? toMatchingArbitrary(astNode.right, constraints, flags) : constant2(""));
36185
+ case "Disjunction": {
36186
+ const stack = [astNode.left, astNode.right];
36187
+ const branches = [];
36188
+ for (let i = 0; i !== stack.length; ++i) {
36189
+ const node = stack[i];
36190
+ if (node === null) safePush(branches, constant2(""));
36191
+ else if (node.type === "Disjunction") {
36192
+ safePush(stack, node.left);
36193
+ safePush(stack, node.right);
36194
+ } else safePush(branches, toMatchingArbitrary(node, constraints, flags));
36195
+ }
36196
+ return oneof(...branches);
36197
+ }
36024
36198
  case "Assertion":
36025
36199
  if (astNode.kind === "^" || astNode.kind === "$") {
36026
36200
  if (flags.multiline) if (astNode.kind === "^") return oneof(constant2(""), tuple2(string3({ unit: defaultChar() }), constantFrom(...newLineChars)).map((t) => `${t[0]}${t[1]}`, (value5) => {
@@ -36122,10 +36296,10 @@ function limitShrink(arbitrary, maxShrinks) {
36122
36296
  return new LimitedShrinkArbitrary(arbitrary, maxShrinks);
36123
36297
  }
36124
36298
  var __type = "module";
36125
- var __version = "4.8.0";
36126
- var __commitHash = "c0da76fbcf6470339ad7bb2f0dfcebee06ede56c";
36299
+ var __version = "4.9.0";
36300
+ var __commitHash = "0d3c2547dce556f72413607849377530d18ea283";
36127
36301
 
36128
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Schema.js
36302
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Schema.js
36129
36303
  var TypeId23 = TypeId22;
36130
36304
  function declareConstructor() {
36131
36305
  return (typeParameters, run2, annotations) => {
@@ -38368,6 +38542,7 @@ var Date4 = /* @__PURE__ */ instanceOf(globalThis.Date, {
38368
38542
  toArbitrary: () => (fc, ctx) => fc.date(dateArbitraryConstraints(ctx?.constraint, ctx?.constraint?.ordered?.order === Date2 ? ctx.constraint.ordered : void 0))
38369
38543
  });
38370
38544
  var DateFromString = /* @__PURE__ */ DateString.pipe(/* @__PURE__ */ decodeTo2(Date4, dateFromString));
38545
+ var DateFromMillis = /* @__PURE__ */ Number6.pipe(/* @__PURE__ */ decodeTo2(Date4, dateFromMillis));
38371
38546
  var DateValid = /* @__PURE__ */ Date4.check(/* @__PURE__ */ isDateValid());
38372
38547
  var Duration = /* @__PURE__ */ declare(isDuration, {
38373
38548
  typeConstructor: {
@@ -38467,23 +38642,23 @@ function bigDecimalValueConstraintsAtScale(ordered, scale2) {
38467
38642
  return constraints;
38468
38643
  }
38469
38644
  function bigDecimalScaleConstraints(ordered) {
38470
- const max7 = bigDecimalMaxScale(ordered);
38471
- if (bigDecimalValueConstraintsAtScale(ordered, max7) === void 0) {
38645
+ const max8 = bigDecimalMaxScale(ordered);
38646
+ if (bigDecimalValueConstraintsAtScale(ordered, max8) === void 0) {
38472
38647
  throw new globalThis.Error(bigDecimalInvalidOrderedConstraintsError);
38473
38648
  }
38474
- let min7 = 0;
38475
- let high = max7;
38476
- while (min7 < high) {
38477
- const scale2 = min7 + Math.floor((high - min7) / 2);
38649
+ let min8 = 0;
38650
+ let high = max8;
38651
+ while (min8 < high) {
38652
+ const scale2 = min8 + Math.floor((high - min8) / 2);
38478
38653
  if (bigDecimalValueConstraintsAtScale(ordered, scale2) === void 0) {
38479
- min7 = scale2 + 1;
38654
+ min8 = scale2 + 1;
38480
38655
  } else {
38481
38656
  high = scale2;
38482
38657
  }
38483
38658
  }
38484
38659
  return {
38485
- min: min7,
38486
- max: max7
38660
+ min: min8,
38661
+ max: max8
38487
38662
  };
38488
38663
  }
38489
38664
  var BigDecimal = /* @__PURE__ */ declare(isBigDecimal, {
@@ -38519,7 +38694,10 @@ var BigDecimal = /* @__PURE__ */ declare(isBigDecimal, {
38519
38694
  var BigDecimalFromString = /* @__PURE__ */ BigDecimalString.pipe(/* @__PURE__ */ decodeTo2(BigDecimal, bigDecimalFromString));
38520
38695
  var UnknownFromJsonString = /* @__PURE__ */ fromJsonString2(Unknown2);
38521
38696
  function fromJsonString2(schema) {
38697
+ const identifier2 = resolveIdentifier2(schema.ast);
38522
38698
  return String5.annotate({
38699
+ // Give the transport wrapper its own name so the decoded payload keeps its identifier.
38700
+ identifier: identifier2 === void 0 ? void 0 : `${identifier2}JsonString`,
38523
38701
  expected: "a string that will be decoded as JSON",
38524
38702
  contentMediaType: "application/json",
38525
38703
  contentSchema: toEncoded(schema.ast)
@@ -38811,19 +38989,22 @@ var DateTimeZoned = /* @__PURE__ */ declare((u) => isDateTime2(u) && isZoned2(u)
38811
38989
  });
38812
38990
  var DateTimeZonedFromString = /* @__PURE__ */ DateTimeZonedString.pipe(/* @__PURE__ */ decodeTo2(DateTimeZoned, dateTimeZonedFromString));
38813
38991
  var immerable = /* @__PURE__ */ globalThis.Symbol.for("immer-draftable");
38992
+ var payloadToken = {};
38814
38993
  function makeClass(Inherited, identifier2, struct2, annotations, proto) {
38815
38994
  const getClassSchema = getClassSchemaFactory(struct2, identifier2, annotations);
38816
38995
  const ClassTypeId2 = getClassTypeId(identifier2);
38817
38996
  const out = class extends Inherited {
38818
38997
  constructor(...[input, options]) {
38819
- input = input ?? {};
38820
- const validated = struct2.make(input, options);
38821
- super({
38822
- ...input,
38823
- ...validated
38824
- }, {
38998
+ const internalOptions = options;
38999
+ const payload = internalOptions?.["~payload"];
39000
+ const value5 = payload?.token === payloadToken ? payload.value : struct2.make(input ?? {}, options);
39001
+ super(value5, {
38825
39002
  ...options,
38826
- disableChecks: true
39003
+ disableChecks: true,
39004
+ "~payload": {
39005
+ token: payloadToken,
39006
+ value: value5
39007
+ }
38827
39008
  });
38828
39009
  }
38829
39010
  static [TypeId23] = TypeId23;
@@ -39433,7 +39614,7 @@ function resolveAnnotationsKey(schema) {
39433
39614
  return schema.ast.context?.annotations;
39434
39615
  }
39435
39616
 
39436
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Console.js
39617
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Console.js
39437
39618
  var Console_exports = {};
39438
39619
  __export(Console_exports, {
39439
39620
  Console: () => Console,
@@ -39530,7 +39711,7 @@ var withTime = /* @__PURE__ */ dual((args2) => isEffect(args2[0]), (self, label)
39530
39711
  console2.timeEnd(label);
39531
39712
  }))));
39532
39713
 
39533
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Match.js
39714
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Match.js
39534
39715
  var Match_exports = {};
39535
39716
  __export(Match_exports, {
39536
39717
  any: () => any3,
@@ -39572,7 +39753,7 @@ __export(Match_exports, {
39572
39753
  withReturnType: () => withReturnType2
39573
39754
  });
39574
39755
 
39575
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/internal/matcher.js
39756
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/internal/matcher.js
39576
39757
  var TypeId24 = "~effect/match/Match/Matcher";
39577
39758
  var TypeMatcherProto = {
39578
39759
  [TypeId24]: {
@@ -39825,7 +40006,7 @@ var exhaustive = (self) => {
39825
40006
  };
39826
40007
  };
39827
40008
 
39828
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Match.js
40009
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Match.js
39829
40010
  var type2 = type;
39830
40011
  var value4 = value3;
39831
40012
  var valueTags2 = valueTags;
@@ -39864,7 +40045,7 @@ var result4 = result3;
39864
40045
  var option5 = option4;
39865
40046
  var exhaustive2 = exhaustive;
39866
40047
 
39867
- // ../../node_modules/.pnpm/effect@4.0.0-beta.88/node_modules/effect/dist/Ref.js
40048
+ // ../../node_modules/.pnpm/effect@4.0.0-beta.97/node_modules/effect/dist/Ref.js
39868
40049
  var Ref_exports = {};
39869
40050
  __export(Ref_exports, {
39870
40051
  get: () => get6,
@@ -41367,24 +41548,24 @@ var ZodString = class _ZodString2 extends ZodType {
41367
41548
  return !!this._def.checks.find((ch) => ch.kind === "base64url");
41368
41549
  }
41369
41550
  get minLength() {
41370
- let min7 = null;
41551
+ let min8 = null;
41371
41552
  for (const ch of this._def.checks) {
41372
41553
  if (ch.kind === "min") {
41373
- if (min7 === null || ch.value > min7)
41374
- min7 = ch.value;
41554
+ if (min8 === null || ch.value > min8)
41555
+ min8 = ch.value;
41375
41556
  }
41376
41557
  }
41377
- return min7;
41558
+ return min8;
41378
41559
  }
41379
41560
  get maxLength() {
41380
- let max7 = null;
41561
+ let max8 = null;
41381
41562
  for (const ch of this._def.checks) {
41382
41563
  if (ch.kind === "max") {
41383
- if (max7 === null || ch.value < max7)
41384
- max7 = ch.value;
41564
+ if (max8 === null || ch.value < max8)
41565
+ max8 = ch.value;
41385
41566
  }
41386
41567
  }
41387
- return max7;
41568
+ return max8;
41388
41569
  }
41389
41570
  };
41390
41571
  ZodString.create = (params) => {
@@ -41588,43 +41769,43 @@ var ZodNumber = class _ZodNumber extends ZodType {
41588
41769
  });
41589
41770
  }
41590
41771
  get minValue() {
41591
- let min7 = null;
41772
+ let min8 = null;
41592
41773
  for (const ch of this._def.checks) {
41593
41774
  if (ch.kind === "min") {
41594
- if (min7 === null || ch.value > min7)
41595
- min7 = ch.value;
41775
+ if (min8 === null || ch.value > min8)
41776
+ min8 = ch.value;
41596
41777
  }
41597
41778
  }
41598
- return min7;
41779
+ return min8;
41599
41780
  }
41600
41781
  get maxValue() {
41601
- let max7 = null;
41782
+ let max8 = null;
41602
41783
  for (const ch of this._def.checks) {
41603
41784
  if (ch.kind === "max") {
41604
- if (max7 === null || ch.value < max7)
41605
- max7 = ch.value;
41785
+ if (max8 === null || ch.value < max8)
41786
+ max8 = ch.value;
41606
41787
  }
41607
41788
  }
41608
- return max7;
41789
+ return max8;
41609
41790
  }
41610
41791
  get isInt() {
41611
41792
  return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util.isInteger(ch.value));
41612
41793
  }
41613
41794
  get isFinite() {
41614
- let max7 = null;
41615
- let min7 = null;
41795
+ let max8 = null;
41796
+ let min8 = null;
41616
41797
  for (const ch of this._def.checks) {
41617
41798
  if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") {
41618
41799
  return true;
41619
41800
  } else if (ch.kind === "min") {
41620
- if (min7 === null || ch.value > min7)
41621
- min7 = ch.value;
41801
+ if (min8 === null || ch.value > min8)
41802
+ min8 = ch.value;
41622
41803
  } else if (ch.kind === "max") {
41623
- if (max7 === null || ch.value < max7)
41624
- max7 = ch.value;
41804
+ if (max8 === null || ch.value < max8)
41805
+ max8 = ch.value;
41625
41806
  }
41626
41807
  }
41627
- return Number.isFinite(min7) && Number.isFinite(max7);
41808
+ return Number.isFinite(min8) && Number.isFinite(max8);
41628
41809
  }
41629
41810
  };
41630
41811
  ZodNumber.create = (params) => {
@@ -41779,24 +41960,24 @@ var ZodBigInt = class _ZodBigInt extends ZodType {
41779
41960
  });
41780
41961
  }
41781
41962
  get minValue() {
41782
- let min7 = null;
41963
+ let min8 = null;
41783
41964
  for (const ch of this._def.checks) {
41784
41965
  if (ch.kind === "min") {
41785
- if (min7 === null || ch.value > min7)
41786
- min7 = ch.value;
41966
+ if (min8 === null || ch.value > min8)
41967
+ min8 = ch.value;
41787
41968
  }
41788
41969
  }
41789
- return min7;
41970
+ return min8;
41790
41971
  }
41791
41972
  get maxValue() {
41792
- let max7 = null;
41973
+ let max8 = null;
41793
41974
  for (const ch of this._def.checks) {
41794
41975
  if (ch.kind === "max") {
41795
- if (max7 === null || ch.value < max7)
41796
- max7 = ch.value;
41976
+ if (max8 === null || ch.value < max8)
41977
+ max8 = ch.value;
41797
41978
  }
41798
41979
  }
41799
- return max7;
41980
+ return max8;
41800
41981
  }
41801
41982
  };
41802
41983
  ZodBigInt.create = (params) => {
@@ -41913,24 +42094,24 @@ var ZodDate = class _ZodDate extends ZodType {
41913
42094
  });
41914
42095
  }
41915
42096
  get minDate() {
41916
- let min7 = null;
42097
+ let min8 = null;
41917
42098
  for (const ch of this._def.checks) {
41918
42099
  if (ch.kind === "min") {
41919
- if (min7 === null || ch.value > min7)
41920
- min7 = ch.value;
42100
+ if (min8 === null || ch.value > min8)
42101
+ min8 = ch.value;
41921
42102
  }
41922
42103
  }
41923
- return min7 != null ? new Date(min7) : null;
42104
+ return min8 != null ? new Date(min8) : null;
41924
42105
  }
41925
42106
  get maxDate() {
41926
- let max7 = null;
42107
+ let max8 = null;
41927
42108
  for (const ch of this._def.checks) {
41928
42109
  if (ch.kind === "max") {
41929
- if (max7 === null || ch.value < max7)
41930
- max7 = ch.value;
42110
+ if (max8 === null || ch.value < max8)
42111
+ max8 = ch.value;
41931
42112
  }
41932
42113
  }
41933
- return max7 != null ? new Date(max7) : null;
42114
+ return max8 != null ? new Date(max8) : null;
41934
42115
  }
41935
42116
  };
41936
42117
  ZodDate.create = (params) => {
@@ -54620,7 +54801,7 @@ var buildTools = (wsClient) => [
54620
54801
  },
54621
54802
  {
54622
54803
  name: "foldkit_dispatch_message",
54623
- description: "Dispatch a Message into a Foldkit runtime's message queue, as if the application itself produced it. Requires the runtime to have configured DevToolsConfig.Message; without it, dispatch is rejected. Call `foldkit_get_message_schema` with no arguments to enumerate the variants, then with `variant_tag` to learn one variant's exact payload shape, before constructing the Message object. The runtime decodes the payload and returns a clean error if it doesn't match.",
54804
+ description: "Dispatch a Message into a Foldkit runtime, as if the application itself produced it. Requires the runtime to have configured DevToolsConfig.Message; without it, dispatch is rejected. Call `foldkit_get_message_schema` with no arguments to enumerate the variants, then with `variant_tag` to learn one variant's exact payload shape, before constructing the Message object. The runtime decodes the payload and returns a clean error if it doesn't match.",
54624
54805
  inputSchema: toInputSchema(DispatchMessageInput),
54625
54806
  handle: runRuntimeTool(
54626
54807
  DispatchMessageInput,
@@ -54664,7 +54845,7 @@ var encodeRequestFrameToJson = Schema_exports.encodeUnknownSync(
54664
54845
  var generateRequestId = () => `req-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
54665
54846
  var reconnectSchedule = Schedule_exports.exponential(INITIAL_RECONNECT_DELAY).pipe(
54666
54847
  Schedule_exports.modifyDelay(
54667
- (_output, delay3) => Effect_exports.succeed(Duration_exports.min(delay3, MAX_RECONNECT_DELAY))
54848
+ ({ duration: duration4 }) => Effect_exports.succeed(Duration_exports.min(duration4, MAX_RECONNECT_DELAY))
54668
54849
  )
54669
54850
  );
54670
54851
  var attemptOpen = (url2) => Effect_exports.callback((resume) => {