@savvy-web/silk 3.0.0 → 3.0.1

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.
@@ -436,7 +436,7 @@ const trimTrailingSlashes = (s) => {
436
436
  };
437
437
 
438
438
  //#endregion
439
- //#region ../../node_modules/.pnpm/@effected+glob@0.1.0_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/limits.js
439
+ //#region ../../node_modules/.pnpm/@effected+glob@0.1.1_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/limits.js
440
440
  /** Hard cap on pattern length. Upstream minimatch's MAX_PATTERN_LENGTH (64KB). */
441
441
  const MAX_PATTERN_LENGTH = 1024 * 64;
442
442
  /** Default brace-expansion output budget. Upstream brace-expansion's EXPANSION_MAX. */
@@ -471,7 +471,7 @@ const assertCap = (name, value) => {
471
471
  };
472
472
 
473
473
  //#endregion
474
- //#region ../../node_modules/.pnpm/@effected+glob@0.1.0_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/unescape.js
474
+ //#region ../../node_modules/.pnpm/@effected+glob@0.1.1_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/unescape.js
475
475
  /**
476
476
  * Un-escape a string that has been escaped with `escape`.
477
477
  *
@@ -495,12 +495,12 @@ const unescapePattern = (s, { windowsPathsNoEscape = false, magicalBraces = true
495
495
  };
496
496
 
497
497
  //#endregion
498
- //#region ../../node_modules/.pnpm/@effected+glob@0.1.0_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/types.js
498
+ //#region ../../node_modules/.pnpm/@effected+glob@0.1.1_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/types.js
499
499
  /** The globstar marker in a compiled pattern set. */
500
500
  const GLOBSTAR = Symbol("globstar **");
501
501
 
502
502
  //#endregion
503
- //#region ../../node_modules/.pnpm/@effected+glob@0.1.0_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/escape.js
503
+ //#region ../../node_modules/.pnpm/@effected+glob@0.1.1_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/escape.js
504
504
  /**
505
505
  * Escape all magic characters in a glob pattern.
506
506
  *
@@ -519,14 +519,14 @@ const escapePattern = (s, { windowsPathsNoEscape = false, magicalBraces = false
519
519
  };
520
520
 
521
521
  //#endregion
522
- //#region ../../node_modules/.pnpm/@effected+glob@0.1.0_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/assertValidPattern.js
522
+ //#region ../../node_modules/.pnpm/@effected+glob@0.1.1_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/assertValidPattern.js
523
523
  const assertValidPattern = (pattern) => {
524
524
  if (typeof pattern !== "string") throw new TypeError("invalid pattern");
525
525
  if (pattern.length > 65536) throw new GuardExceeded("PatternTooLong", MAX_PATTERN_LENGTH, pattern.length);
526
526
  };
527
527
 
528
528
  //#endregion
529
- //#region ../../node_modules/.pnpm/@effected+glob@0.1.0_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/braceExpressions.js
529
+ //#region ../../node_modules/.pnpm/@effected+glob@0.1.1_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/braceExpressions.js
530
530
  const posixClasses = {
531
531
  "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
532
532
  "[:alpha:]": ["\\p{L}\\p{Nl}", true],
@@ -650,7 +650,7 @@ const parseClass = (glob, position) => {
650
650
  };
651
651
 
652
652
  //#endregion
653
- //#region ../../node_modules/.pnpm/@effected+glob@0.1.0_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/ast.js
653
+ //#region ../../node_modules/.pnpm/@effected+glob@0.1.1_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/ast.js
654
654
  const types = /* @__PURE__ */ new Set([
655
655
  "!",
656
656
  "?",
@@ -1168,7 +1168,7 @@ var AST = class AST {
1168
1168
  };
1169
1169
 
1170
1170
  //#endregion
1171
- //#region ../../node_modules/.pnpm/@effected+glob@0.1.0_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/balancedMatch.js
1171
+ //#region ../../node_modules/.pnpm/@effected+glob@0.1.1_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/balancedMatch.js
1172
1172
  const maybeMatch = (reg, str) => {
1173
1173
  const m = str.match(reg);
1174
1174
  return m ? m[0] : null;
@@ -1227,7 +1227,7 @@ const range = (a, b, str) => {
1227
1227
  };
1228
1228
 
1229
1229
  //#endregion
1230
- //#region ../../node_modules/.pnpm/@effected+glob@0.1.0_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/braceExpansion.js
1230
+ //#region ../../node_modules/.pnpm/@effected+glob@0.1.1_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/braceExpansion.js
1231
1231
  const escSlash = `\0SLASH${Math.random()}\0`;
1232
1232
  const escOpen = `\0OPEN${Math.random()}\0`;
1233
1233
  const escClose = `\0CLOSE${Math.random()}\0`;
@@ -1375,7 +1375,7 @@ function expand_(str, max, isTopInput, depth) {
1375
1375
  }
1376
1376
 
1377
1377
  //#endregion
1378
- //#region ../../node_modules/.pnpm/@effected+glob@0.1.0_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/minimatch.js
1378
+ //#region ../../node_modules/.pnpm/@effected+glob@0.1.1_effect@4.0.0-beta.98/node_modules/@effected/glob/internal/minimatch.js
1379
1379
  const starDotExtRE = /^\*+([^+@!?*[(]*)$/;
1380
1380
  const starDotExtTest = (ext) => (f) => !f.startsWith(".") && f.endsWith(ext);
1381
1381
  const starDotExtTestDot = (ext) => (f) => f.endsWith(ext);
@@ -1947,7 +1947,7 @@ var Minimatch = class {
1947
1947
  };
1948
1948
 
1949
1949
  //#endregion
1950
- //#region ../../node_modules/.pnpm/@effected+glob@0.1.0_effect@4.0.0-beta.98/node_modules/@effected/glob/GlobPattern.js
1950
+ //#region ../../node_modules/.pnpm/@effected+glob@0.1.1_effect@4.0.0-beta.98/node_modules/@effected/glob/GlobPattern.js
1951
1951
  /**
1952
1952
  * Typed failure raised when a glob pattern trips a compile-time guard:
1953
1953
  * over-length, brace-expansion budget exhaustion, or nesting past the depth
@@ -2127,6 +2127,17 @@ var GlobPattern = class GlobPattern extends Schema.Class("GlobPattern")(Schema.S
2127
2127
  * `""` when the first segment carries magic. New API with no upstream
2128
2128
  * analogue, designed for the workspaces enumerator; well-defined for
2129
2129
  * default-options patterns.
2130
+ *
2131
+ * @remarks
2132
+ * Meaningful for **non-negated** patterns only. For a negated pattern
2133
+ * ({@link GlobPattern.negated}), the prefix is still computed from the inner
2134
+ * pattern, but {@link GlobPattern.matches} inverts the result — so the
2135
+ * pattern can match paths *outside* this prefix. A consumer that bounds
2136
+ * traversal to `enumerationPrefix` (e.g. a walker's descent) will
2137
+ * under-enumerate against a negated pattern; guard on `negated` and do not
2138
+ * use `enumerationPrefix` as the traversal root there — enumerate from `cwd`
2139
+ * or another encompassing root instead. The inversion is not the getter's
2140
+ * semantics to express — check `negated` at the call site.
2130
2141
  */
2131
2142
  get enumerationPrefix() {
2132
2143
  const set = this.#engineOf().set;
@@ -2154,6 +2165,11 @@ var GlobPattern = class GlobPattern extends Schema.Class("GlobPattern")(Schema.S
2154
2165
  * a globstar, or a magic segment followed by more segments. The enumerator
2155
2166
  * uses this to decide between a single-level read and a bounded recursive
2156
2167
  * descent (the issue-#62 fix, end to end).
2168
+ *
2169
+ * @remarks
2170
+ * Like {@link GlobPattern.enumerationPrefix}, this reads the inner pattern
2171
+ * and does not account for whole-pattern negation; guard on
2172
+ * {@link GlobPattern.negated} at the call site.
2157
2173
  */
2158
2174
  get crossesSegments() {
2159
2175
  return this.#engineOf().set.some((row) => {
@@ -2184,7 +2200,7 @@ var GlobPattern = class GlobPattern extends Schema.Class("GlobPattern")(Schema.S
2184
2200
  };
2185
2201
 
2186
2202
  //#endregion
2187
- //#region ../../node_modules/.pnpm/@effected+glob@0.1.0_effect@4.0.0-beta.98/node_modules/@effected/glob/GlobSet.js
2203
+ //#region ../../node_modules/.pnpm/@effected+glob@0.1.1_effect@4.0.0-beta.98/node_modules/@effected/glob/GlobSet.js
2188
2204
  const exclusionTarget = (pattern) => pattern.startsWith("!") ? pattern.slice(1) : void 0;
2189
2205
  const allCompileUnderDefaults = (patterns) => {
2190
2206
  for (const pattern of patterns) {
@@ -2313,7 +2329,7 @@ var GlobSet = class GlobSet extends Schema.Class("GlobSet")(Schema.Struct({ patt
2313
2329
  };
2314
2330
 
2315
2331
  //#endregion
2316
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/BunExtension.js
2332
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/BunExtension.js
2317
2333
  /**
2318
2334
  * Extension data specific to bun lockfiles, attached to `Lockfile.extension`
2319
2335
  * when the format is `"bun"`.
@@ -4130,7 +4146,7 @@ const IntegrityHash = Object.assign(brandedIntegrity, {
4130
4146
  });
4131
4147
 
4132
4148
  //#endregion
4133
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/ImporterDependency.js
4149
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/ImporterDependency.js
4134
4150
  /**
4135
4151
  * One declared dependency of one workspace importer, as the lockfile records it.
4136
4152
  *
@@ -4159,7 +4175,7 @@ var ImporterDependency = class extends Schema.Class("ImporterDependency")({
4159
4175
  }) {};
4160
4176
 
4161
4177
  //#endregion
4162
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/LockfileImporter.js
4178
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/LockfileImporter.js
4163
4179
  /**
4164
4180
  * One workspace importer's declared dependencies, as the lockfile records them.
4165
4181
  *
@@ -4184,7 +4200,7 @@ var LockfileImporter = class extends Schema.Class("LockfileImporter")({
4184
4200
  }) {};
4185
4201
 
4186
4202
  //#endregion
4187
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/ResolvedPackage.js
4203
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/ResolvedPackage.js
4188
4204
  const EMPTY_DEPENDENCIES = {};
4189
4205
  /**
4190
4206
  * A package resolved from a lockfile.
@@ -4220,7 +4236,7 @@ var ResolvedPackage = class extends Schema.Class("ResolvedPackage")({
4220
4236
  }) {};
4221
4237
 
4222
4238
  //#endregion
4223
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/WorkspaceDependency.js
4239
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/WorkspaceDependency.js
4224
4240
  /**
4225
4241
  * A directed dependency edge between two workspace packages as recorded in
4226
4242
  * the lockfile.
@@ -4243,7 +4259,7 @@ var WorkspaceDependency = class extends Schema.Class("WorkspaceDependency")({
4243
4259
  }) {};
4244
4260
 
4245
4261
  //#endregion
4246
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/PnpmExtension.js
4262
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/PnpmExtension.js
4247
4263
  /**
4248
4264
  * Extension data specific to pnpm lockfiles, attached to `Lockfile.extension`
4249
4265
  * when the format is `"pnpm"`.
@@ -4269,7 +4285,7 @@ var PnpmExtension = class extends Schema.Class("PnpmExtension")({
4269
4285
  }) {};
4270
4286
 
4271
4287
  //#endregion
4272
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/LockfileFormat.js
4288
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/LockfileFormat.js
4273
4289
  /**
4274
4290
  * The lockfile formats this package parses: bun's `bun.lock` (JSONC), npm's
4275
4291
  * `package-lock.json` (v2/v3 JSON), pnpm's `pnpm-lock.yaml` and yarn Berry's
@@ -4304,7 +4320,7 @@ const FILENAMES = {
4304
4320
  const filenameFor = (format) => FILENAMES[format];
4305
4321
 
4306
4322
  //#endregion
4307
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/internal/shared.js
4323
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/internal/shared.js
4308
4324
  /**
4309
4325
  * The four dependency sections of a manifest, in a stable order — the shared
4310
4326
  * dependency-sections table (v3's `DEP_SECTIONS`). Each entry is both the
@@ -5972,7 +5988,7 @@ var JsoncModifier = class {
5972
5988
  };
5973
5989
 
5974
5990
  //#endregion
5975
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/internal/bun.js
5991
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/internal/bun.js
5976
5992
  const DepRecord$2 = Schema.optionalKey(Schema.Record(Schema.String, Schema.String));
5977
5993
  const BunWorkspaceEntry = Schema.Struct({
5978
5994
  name: Schema.optionalKey(Schema.String),
@@ -6066,7 +6082,7 @@ const toFields$3 = (raw) => Effect.gen(function* () {
6066
6082
  });
6067
6083
 
6068
6084
  //#endregion
6069
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/internal/npm.js
6085
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/internal/npm.js
6070
6086
  const DepRecord$1 = Schema.optionalKey(Schema.Record(Schema.String, Schema.String));
6071
6087
  const NpmPackageEntry = Schema.Struct({
6072
6088
  name: Schema.optionalKey(Schema.String),
@@ -6165,7 +6181,7 @@ const toFields$2 = (raw) => Effect.gen(function* () {
6165
6181
  });
6166
6182
 
6167
6183
  //#endregion
6168
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/YamlNode.js
6184
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/YamlNode.js
6169
6185
  /**
6170
6186
  * YAML scalar presentation styles.
6171
6187
  *
@@ -6558,7 +6574,7 @@ function nodeToValue(node, anchors, budget, counting = false) {
6558
6574
  }
6559
6575
 
6560
6576
  //#endregion
6561
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/diagnostics.js
6577
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/diagnostics.js
6562
6578
  /** Error codes emitted by the lexer stage. */
6563
6579
  const YAML_LEX_ERROR_CODES = [
6564
6580
  "UnexpectedCharacter",
@@ -6637,7 +6653,7 @@ function isFatalCode(code) {
6637
6653
  }
6638
6654
 
6639
6655
  //#endregion
6640
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/YamlDiagnostic.js
6656
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/YamlDiagnostic.js
6641
6657
  /**
6642
6658
  * Error codes emitted by the lexer stage.
6643
6659
  *
@@ -6759,7 +6775,7 @@ function lineChar(text, offset) {
6759
6775
  }
6760
6776
 
6761
6777
  //#endregion
6762
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/anchors.js
6778
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/anchors.js
6763
6779
  /**
6764
6780
  * Check if a pending anchor is being applied to an alias node (invalid in YAML 1.2 §3.2.2).
6765
6781
  * Aliases represent references to existing anchored nodes and cannot have their own anchors.
@@ -6853,7 +6869,7 @@ function collectAnchors(node, anchors) {
6853
6869
  }
6854
6870
 
6855
6871
  //#endregion
6856
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/lexer.js
6872
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/lexer.js
6857
6873
  /**
6858
6874
  * Create a new YAML scanner for the given source text.
6859
6875
  *
@@ -7811,7 +7827,7 @@ function lexAll(text) {
7811
7827
  }
7812
7828
 
7813
7829
  //#endregion
7814
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/cst-parser.js
7830
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/cst-parser.js
7815
7831
  /**
7816
7832
  * Hardening: cap CST nesting so hostile inputs cannot overflow the stack
7817
7833
  * while the tree is being BUILT. Set slightly above the composer's
@@ -8524,7 +8540,7 @@ function parseCSTAll(text) {
8524
8540
  }
8525
8541
 
8526
8542
  //#endregion
8527
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/state.js
8543
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/state.js
8528
8544
  let lineStartsText;
8529
8545
  let lineStartsCache = [];
8530
8546
  function getLineStarts(text) {
@@ -8631,7 +8647,7 @@ function exitNesting(state) {
8631
8647
  }
8632
8648
 
8633
8649
  //#endregion
8634
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/tags.js
8650
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/tags.js
8635
8651
  /**
8636
8652
  * Resolve a tag shorthand using the document's %TAG directives.
8637
8653
  * For example, with `%TAG !! tag:example.com,2000:app/`, the tag `!!int`
@@ -8718,7 +8734,7 @@ function validateTagHandlesInDocument(docCst, state) {
8718
8734
  }
8719
8735
 
8720
8736
  //#endregion
8721
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/scalars.js
8737
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/scalars.js
8722
8738
  const NULL_RE$1 = /^(?:null|Null|NULL|~)$/;
8723
8739
  const TRUE_RE$1 = /^(?:true|True|TRUE)$/;
8724
8740
  const FALSE_RE$1 = /^(?:false|False|FALSE)$/;
@@ -9597,7 +9613,7 @@ function shouldPreserveRaw(rawValue, value) {
9597
9613
  }
9598
9614
 
9599
9615
  //#endregion
9600
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/block.js
9616
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/block.js
9601
9617
  /**
9602
9618
  * Compose a block map from its CST children, with an optional external first key.
9603
9619
  *
@@ -10746,7 +10762,7 @@ function composeFlatBlockMap(children, startIdx, parentCst, state, externalFirst
10746
10762
  }
10747
10763
 
10748
10764
  //#endregion
10749
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/flow.js
10765
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/flow.js
10750
10766
  /**
10751
10767
  * Validate that flow collection entries are separated by commas.
10752
10768
  *
@@ -11139,7 +11155,7 @@ function composeFlowSeqInner(cst, state, meta, parentBlockColumn) {
11139
11155
  }
11140
11156
 
11141
11157
  //#endregion
11142
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/document.js
11158
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/composer/document.js
11143
11159
  /** The flow-composer dispatch wired into every state this module creates. */
11144
11160
  const FLOW = {
11145
11161
  composeFlowMap,
@@ -11806,7 +11822,92 @@ function composeAllDocuments(text, options) {
11806
11822
  }
11807
11823
 
11808
11824
  //#endregion
11809
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/fold.js
11825
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/fold.js
11826
+ /**
11827
+ * Column-based line folding for a single logical scalar line (YAML 1.2 flow
11828
+ * folding, §7.3 / §8.2.1). Breaks the content at "safe" single-space
11829
+ * boundaries — a space whose neighbours are both non-space — so each inserted
11830
+ * line break is a *semantically transparent* fold: on read, a lone break
11831
+ * between non-empty lines at the same indent folds back to a single space, and
11832
+ * the leading indentation of continuation lines is absorbed as separation
11833
+ * whitespace. The original space at the break point is consumed, replaced by
11834
+ * the break, so no content whitespace is added or lost.
11835
+ *
11836
+ * Continuation lines are prefixed with `indent`. `indentAtStart` is the column
11837
+ * the first line begins at (its content is already `indentAtStart` columns in),
11838
+ * used only to budget the first line; it is approximate because the caller's
11839
+ * exact column (after a `key: ` prefix, say) is not known here.
11840
+ *
11841
+ * Only breaks where a break is safe. When no safe break point exists before the
11842
+ * width limit, the line overflows unwrapped rather than corrupting the value —
11843
+ * width folding is a best-effort presentation concern, never a correctness one.
11844
+ * A non-positive `lineWidth` (the default) returns the text unchanged.
11845
+ */
11846
+ function foldScalarLine(text, indent, lineWidth, indentAtStart) {
11847
+ if (lineWidth <= 0) return text;
11848
+ const contentWidth = Math.max(1, lineWidth - indent.length);
11849
+ let end = Math.max(1, lineWidth - indentAtStart);
11850
+ const folds = [];
11851
+ let split;
11852
+ let prev;
11853
+ for (let i = 0; i < text.length; i++) {
11854
+ const ch = text[i];
11855
+ if (ch === " " && prev !== void 0 && prev !== " ") {
11856
+ const next = text[i + 1];
11857
+ if (next !== void 0 && next !== " ") split = i;
11858
+ }
11859
+ if (i >= end && split !== void 0) {
11860
+ folds.push(split);
11861
+ end = split + contentWidth;
11862
+ split = void 0;
11863
+ }
11864
+ prev = ch;
11865
+ }
11866
+ if (folds.length === 0) return text;
11867
+ let result = text.slice(0, folds[0]);
11868
+ for (let f = 0; f < folds.length; f++) {
11869
+ const fold = folds[f];
11870
+ const sliceEnd = folds[f + 1] ?? text.length;
11871
+ result += `\n${indent}${text.slice(fold + 1, sliceEnd)}`;
11872
+ }
11873
+ return result;
11874
+ }
11875
+ /**
11876
+ * Apply {@link foldScalarLine} to an already-rendered scalar according to its
11877
+ * style, inferred from the leading character:
11878
+ *
11879
+ * - `|` block-literal — returned unchanged; literal blocks preserve bytes by
11880
+ * definition and must never be folded.
11881
+ * - `>` block-folded — each base-indent body content line is folded; blank
11882
+ * lines and more-indented lines (which the reader treats as literal breaks)
11883
+ * are left untouched.
11884
+ * - `"` double-quoted — the inner content is folded; breaking only at content
11885
+ * spaces means no `\`-escaped continuations are needed.
11886
+ * - `'` single-quoted — returned unchanged (out of scope for width folding).
11887
+ * - otherwise plain — folded directly.
11888
+ *
11889
+ * `indent` is one indentation level (the continuation prefix); `lineWidth` is
11890
+ * the target column. A non-positive `lineWidth` returns the text unchanged.
11891
+ */
11892
+ function foldRenderedScalar(rendered, indent, lineWidth) {
11893
+ if (lineWidth <= 0 || rendered.length === 0) return rendered;
11894
+ const first = rendered[0];
11895
+ if (first === "|" || first === "'") return rendered;
11896
+ if (first === ">") {
11897
+ const lines = rendered.split("\n");
11898
+ const out = [lines[0]];
11899
+ for (let i = 1; i < lines.length; i++) {
11900
+ const line = lines[i];
11901
+ if (line.length > indent.length && line.startsWith(indent) && line[indent.length] !== " " && line[indent.length] !== " ") {
11902
+ const content = line.slice(indent.length);
11903
+ out.push(indent + foldScalarLine(content, indent, lineWidth, indent.length));
11904
+ } else out.push(line);
11905
+ }
11906
+ return out.join("\n");
11907
+ }
11908
+ if (first === "\"") return `"${foldScalarLine(rendered.slice(1, -1), indent, lineWidth, indent.length + 1)}"`;
11909
+ return foldScalarLine(rendered, indent, lineWidth, indent.length);
11910
+ }
11810
11911
  /**
11811
11912
  * C0 control characters (except TAB) that must be escaped in double-quoted scalars.
11812
11913
  */
@@ -11958,7 +12059,7 @@ function renderBlockFolded(s, indent) {
11958
12059
  }
11959
12060
 
11960
12061
  //#endregion
11961
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/stringifier.js
12062
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/internal/stringifier.js
11962
12063
  /**
11963
12064
  * Thrown by the stringifier on its failure paths (circular references). The
11964
12065
  * facade catches this and materializes the public stringify error.
@@ -12194,7 +12295,7 @@ function detectCircular(value, seen) {
12194
12295
  function createContext(options) {
12195
12296
  return {
12196
12297
  indent: options?.indent ?? 2,
12197
- lineWidth: options?.lineWidth ?? 80,
12298
+ lineWidth: options?.lineWidth ?? 0,
12198
12299
  defaultScalarStyle: options?.defaultScalarStyle ?? "plain",
12199
12300
  defaultCollectionStyle: options?.defaultCollectionStyle ?? "block",
12200
12301
  sortKeys: options?.sortKeys ?? false,
@@ -12210,13 +12311,17 @@ function createContext(options) {
12210
12311
  * responsible for prepending the appropriate indentation prefix to each line.
12211
12312
  * This avoids double-indentation when embedding nested collections.
12212
12313
  */
12213
- function stringifyLines(value, ctx, depth) {
12314
+ function stringifyLines(value, ctx, depth, allowFold = true) {
12214
12315
  if (depth > 256) throw new StringifyDepthExceeded();
12215
12316
  if (value === null || value === void 0) return ["null"];
12216
12317
  if (typeof value === "boolean") return [value ? "true" : "false"];
12217
12318
  if (typeof value === "number") return [renderNumber(value)];
12218
12319
  if (typeof value === "bigint") return [value.toString()];
12219
- if (typeof value === "string") return renderString(value, ctx.defaultScalarStyle, " ".repeat(ctx.indent), false, ctx.forceDefaultStyles).split("\n");
12320
+ if (typeof value === "string") {
12321
+ const indentStr = " ".repeat(ctx.indent);
12322
+ const rendered = renderString(value, ctx.defaultScalarStyle, indentStr, false, ctx.forceDefaultStyles);
12323
+ return (allowFold && ctx.lineWidth > 0 ? foldRenderedScalar(rendered, indentStr, ctx.lineWidth) : rendered).split("\n");
12324
+ }
12220
12325
  if (Array.isArray(value)) {
12221
12326
  detectCircular(value, ctx.seen);
12222
12327
  ctx.seen.add(value);
@@ -12242,7 +12347,7 @@ function stringifyLines(value, ctx, depth) {
12242
12347
  */
12243
12348
  function stringifyArrayLines(arr, ctx, depth) {
12244
12349
  if (arr.length === 0) return ["[]"];
12245
- if (ctx.defaultCollectionStyle === "flow") return [`[${arr.map((item) => stringifyLines(item, ctx, depth + 1).join(" ")).join(", ")}]`];
12350
+ if (ctx.defaultCollectionStyle === "flow") return [`[${arr.map((item) => stringifyLines(item, ctx, depth + 1, false).join(" ")).join(", ")}]`];
12246
12351
  const pad = " ".repeat(ctx.indent);
12247
12352
  const lines = [];
12248
12353
  for (const item of arr) {
@@ -12250,7 +12355,7 @@ function stringifyArrayLines(arr, ctx, depth) {
12250
12355
  if (itemLines.length === 1) lines.push(`- ${itemLines[0]}`);
12251
12356
  else {
12252
12357
  const first = itemLines[0];
12253
- if (first.startsWith("|") || first.startsWith(">")) {
12358
+ if (first.startsWith("|") || first.startsWith(">") || typeof item === "string") {
12254
12359
  lines.push(`- ${first}`);
12255
12360
  for (let i = 1; i < itemLines.length; i++) lines.push(itemLines[i]);
12256
12361
  } else {
@@ -12280,7 +12385,7 @@ function stringifyObjectLines(obj, ctx, depth) {
12280
12385
  if (keys.length === 0) return ["{}"];
12281
12386
  if (ctx.sortKeys) keys.sort();
12282
12387
  if (ctx.defaultCollectionStyle === "flow") return [`{${keys.map((k) => {
12283
- return `${renderString(k, "plain", "")}: ${stringifyLines(obj[k], ctx, depth + 1).join(" ")}`;
12388
+ return `${renderString(k, "plain", "")}: ${stringifyLines(obj[k], ctx, depth + 1, false).join(" ")}`;
12284
12389
  }).join(", ")}}`];
12285
12390
  const renderKey = (k) => k.includes("\n") ? renderDoubleQuoted(k, ctx.forceDefaultStyles) : renderString(k, "plain", "");
12286
12391
  const pad = " ".repeat(ctx.indent);
@@ -12292,7 +12397,7 @@ function stringifyObjectLines(obj, ctx, depth) {
12292
12397
  if (valLines.length === 1 && !isBlockCollection(val, ctx)) lines.push(`${keyStr}: ${valLines[0]}`);
12293
12398
  else {
12294
12399
  const first = valLines[0];
12295
- if (first.startsWith("|") || first.startsWith(">")) {
12400
+ if (first.startsWith("|") || first.startsWith(">") || typeof val === "string") {
12296
12401
  lines.push(`${keyStr}: ${first}`);
12297
12402
  for (let i = 1; i < valLines.length; i++) lines.push(valLines[i]);
12298
12403
  } else if (Array.isArray(val) && val.length > 0) {
@@ -12319,7 +12424,7 @@ function stringifyValue(value, options) {
12319
12424
  }
12320
12425
 
12321
12426
  //#endregion
12322
- //#region ../../node_modules/.pnpm/@effected+yaml@0.2.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/Yaml.js
12427
+ //#region ../../node_modules/.pnpm/@effected+yaml@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/yaml/Yaml.js
12323
12428
  /**
12324
12429
  * Options controlling parse behavior. All fields are omissible; absent fields
12325
12430
  * resolve to `strict` `true`, `maxAliasCount` `100` (the alias-based
@@ -12347,11 +12452,18 @@ var YamlParseOptions = class extends Schema.Class("YamlParseOptions")({
12347
12452
  }) {};
12348
12453
  /**
12349
12454
  * Options controlling stringify behavior. All fields are omissible; absent
12350
- * fields resolve to `indent` `2`, `lineWidth` `80`, `defaultScalarStyle`
12455
+ * fields resolve to `indent` `2`, `lineWidth` `0`, `defaultScalarStyle`
12351
12456
  * `"plain"`, `defaultCollectionStyle` `"block"`, `sortKeys` `false`,
12352
12457
  * `indentSequences` `false`, `finalNewline` `true` and `forceDefaultStyles`
12353
12458
  * `false`.
12354
12459
  *
12460
+ * `lineWidth` controls column-based scalar folding. The default `0` (and any
12461
+ * value `<= 0`) never wraps, emitting byte-identical output to the historic
12462
+ * no-fold behavior; a positive value folds long plain, double-quoted and
12463
+ * block-folded (`>`) scalars at approximately that column, inserting only
12464
+ * semantically transparent line breaks. Block-literal (`|`) content is never
12465
+ * folded — literal blocks preserve their bytes by definition.
12466
+ *
12355
12467
  * `indentSequences` controls the presentation of block sequences nested under
12356
12468
  * a mapping key: `false` (the default) emits them at the key's column — the
12357
12469
  * kit's byte-compatible legacy form — while `true` indents them one level,
@@ -12377,6 +12489,11 @@ var YamlParseOptions = class extends Schema.Class("YamlParseOptions")({
12377
12489
  */
12378
12490
  var YamlStringifyOptions = class extends Schema.Class("YamlStringifyOptions")({
12379
12491
  indent: Schema.optionalKey(Schema.Number),
12492
+ /**
12493
+ * Column at which to fold long scalars. Default `0` (and any value `<= 0`)
12494
+ * never wraps; a positive value folds plain, double-quoted and block-folded
12495
+ * (`>`) scalars at approximately that column, never block-literal (`|`).
12496
+ */
12380
12497
  lineWidth: Schema.optionalKey(Schema.Number),
12381
12498
  defaultScalarStyle: Schema.optionalKey(ScalarStyle),
12382
12499
  defaultCollectionStyle: Schema.optionalKey(CollectionStyle),
@@ -12436,6 +12553,89 @@ const toStringifyInput = (options) => options === void 0 ? {} : {
12436
12553
  };
12437
12554
  const toDiagnostics = (text, records) => records.map((r) => YamlDiagnostic.fromRaw(r, text));
12438
12555
  /**
12556
+ * Build the fatal {@link YamlParseError} for an alias-expansion "billion
12557
+ * laughs" blow-up. The offending expansion has no source span, so the
12558
+ * diagnostic carries zero offsets.
12559
+ */
12560
+ const aliasCountExceededError = (message, text) => new YamlParseError({
12561
+ diagnostics: [YamlDiagnostic.make({
12562
+ code: "AliasCountExceeded",
12563
+ message,
12564
+ offset: 0,
12565
+ length: 0,
12566
+ line: 0,
12567
+ character: 0
12568
+ })],
12569
+ input: text
12570
+ });
12571
+ /**
12572
+ * Map an internal stringifier throw to its typed {@link YamlStringifyError},
12573
+ * or return `undefined` for any other defect (which the caller re-throws).
12574
+ * Shared by the Effect and synchronous stringify paths so both surface the
12575
+ * hardening guards (circular reference, nesting-depth cap) identically.
12576
+ */
12577
+ const stringifyDefectToError = (defect, value) => {
12578
+ if (defect instanceof StringifyFailure) return new YamlStringifyError({
12579
+ diagnostics: [YamlDiagnostic.make({
12580
+ code: "CircularReference",
12581
+ message: defect.reason,
12582
+ offset: 0,
12583
+ length: 0,
12584
+ line: 0,
12585
+ character: 0
12586
+ })],
12587
+ value
12588
+ });
12589
+ if (defect instanceof StringifyDepthExceeded) return new YamlStringifyError({
12590
+ diagnostics: [YamlDiagnostic.make({
12591
+ code: "NestingDepthExceeded",
12592
+ message: defect.message,
12593
+ offset: 0,
12594
+ length: 0,
12595
+ line: 0,
12596
+ character: 0
12597
+ })],
12598
+ value
12599
+ });
12600
+ };
12601
+ /**
12602
+ * Synchronous single-document parse returning a {@link Result}. The pure
12603
+ * engine bypasses the Effect runtime entirely: the composer, the failure
12604
+ * collection and the alias-expansion budget all run inline, and every failure
12605
+ * mode (fatal diagnostics, duplicate keys, a "billion laughs" blow-up) yields
12606
+ * a `Failure` carrying a typed {@link YamlParseError} — never a throw.
12607
+ */
12608
+ const parseSyncImpl = (text, options) => {
12609
+ const doc = composeFirstDocument(text, toParseInput(options));
12610
+ const failures = failureRecords(doc, options?.uniqueKeys ?? true);
12611
+ if (failures.length > 0) return Result.fail(new YamlParseError({
12612
+ diagnostics: toDiagnostics(text, failures),
12613
+ input: text
12614
+ }));
12615
+ const anchors = /* @__PURE__ */ new Map();
12616
+ try {
12617
+ return Result.succeed(nodeToJsValue(doc.contents, anchors, options?.maxAliasCount ?? 100));
12618
+ } catch (defect) {
12619
+ if (defect instanceof AliasExpansionBudgetExceeded) return Result.fail(aliasCountExceededError(defect.message, text));
12620
+ throw defect;
12621
+ }
12622
+ };
12623
+ /**
12624
+ * Synchronous stringify returning a {@link Result}. Mirrors {@link Yaml.stringify}
12625
+ * without the Effect wrapper: a circular reference or a value nested past the
12626
+ * recursion budget yields a `Failure` carrying a typed {@link YamlStringifyError},
12627
+ * never a thrown defect.
12628
+ */
12629
+ const stringifySyncImpl = (value, options) => {
12630
+ try {
12631
+ return Result.succeed(stringifyValue(value, toStringifyInput(options)));
12632
+ } catch (defect) {
12633
+ const error = stringifyDefectToError(defect, value);
12634
+ if (error !== void 0) return Result.fail(error);
12635
+ throw defect;
12636
+ }
12637
+ };
12638
+ /**
12439
12639
  * Collect the raw diagnostics that make a composed document a parse failure:
12440
12640
  * every fatal-code error, plus DuplicateKey warnings promoted to errors when
12441
12641
  * `uniqueKeys` is in force (the v3 `parse` contract). Order preserved:
@@ -12455,45 +12655,15 @@ const failureRecords = (doc, uniqueKeys) => {
12455
12655
  const extractDocumentValue = (contents, anchors, maxAliasCount, text) => Effect.try({
12456
12656
  try: () => nodeToJsValue(contents, anchors, maxAliasCount),
12457
12657
  catch: (defect) => {
12458
- if (defect instanceof AliasExpansionBudgetExceeded) return new YamlParseError({
12459
- diagnostics: [YamlDiagnostic.make({
12460
- code: "AliasCountExceeded",
12461
- message: defect.message,
12462
- offset: 0,
12463
- length: 0,
12464
- line: 0,
12465
- character: 0
12466
- })],
12467
- input: text
12468
- });
12658
+ if (defect instanceof AliasExpansionBudgetExceeded) return aliasCountExceededError(defect.message, text);
12469
12659
  throw defect;
12470
12660
  }
12471
12661
  });
12472
12662
  const stringifyOrFail = (value, options) => Effect.try({
12473
12663
  try: () => stringifyValue(value, toStringifyInput(options)),
12474
12664
  catch: (defect) => {
12475
- if (defect instanceof StringifyFailure) return new YamlStringifyError({
12476
- diagnostics: [YamlDiagnostic.make({
12477
- code: "CircularReference",
12478
- message: defect.reason,
12479
- offset: 0,
12480
- length: 0,
12481
- line: 0,
12482
- character: 0
12483
- })],
12484
- value
12485
- });
12486
- if (defect instanceof StringifyDepthExceeded) return new YamlStringifyError({
12487
- diagnostics: [YamlDiagnostic.make({
12488
- code: "NestingDepthExceeded",
12489
- message: defect.message,
12490
- offset: 0,
12491
- length: 0,
12492
- line: 0,
12493
- character: 0
12494
- })],
12495
- value
12496
- });
12665
+ const error = stringifyDefectToError(defect, value);
12666
+ if (error !== void 0) return error;
12497
12667
  throw defect;
12498
12668
  }
12499
12669
  });
@@ -12581,6 +12751,63 @@ var Yaml = class Yaml {
12581
12751
  return yield* stringifyOrFail(value, options);
12582
12752
  });
12583
12753
  /**
12754
+ * Synchronous single-document parse, returning a {@link Result} instead of
12755
+ * an `Effect`. A pure escape hatch for config-time callers that cannot
12756
+ * `await` an Effect (a `vitest.config.ts` is the motivating case): it runs
12757
+ * the same engine as {@link Yaml.parse} inline.
12758
+ *
12759
+ * Preserves the package contract — malformed and adversarial input fails
12760
+ * typed, never as a defect. Fatal diagnostics, duplicate keys and a
12761
+ * "billion laughs" alias-expansion blow-up all yield a `Failure` carrying a
12762
+ * {@link YamlParseError}; the method never throws.
12763
+ *
12764
+ * @example
12765
+ * ```ts
12766
+ * import { Yaml } from "@effected/yaml";
12767
+ * import { Result } from "effect";
12768
+ *
12769
+ * const result = Yaml.parseSync("name: Alice\nage: 30");
12770
+ * if (Result.isSuccess(result)) {
12771
+ * result.success; // { name: "Alice", age: 30 }
12772
+ * } else {
12773
+ * result.failure; // YamlParseError
12774
+ * }
12775
+ * ```
12776
+ *
12777
+ * @public
12778
+ */
12779
+ static parseSync(text, options) {
12780
+ return parseSyncImpl(text, options);
12781
+ }
12782
+ /**
12783
+ * Synchronous stringify, returning a {@link Result} instead of an `Effect`.
12784
+ * The pure counterpart to {@link Yaml.stringify} for config-time callers
12785
+ * that cannot `await`.
12786
+ *
12787
+ * Preserves the package contract — a circular reference (`CircularReference`)
12788
+ * or a value nested past the recursion budget (`NestingDepthExceeded`)
12789
+ * yields a `Failure` carrying a {@link YamlStringifyError} rather than a
12790
+ * thrown stack-overflow defect; the method never throws.
12791
+ *
12792
+ * @example
12793
+ * ```ts
12794
+ * import { Yaml } from "@effected/yaml";
12795
+ * import { Result } from "effect";
12796
+ *
12797
+ * const result = Yaml.stringifySync({ name: "Alice" });
12798
+ * if (Result.isFailure(result)) {
12799
+ * result.failure; // YamlStringifyError
12800
+ * } else {
12801
+ * result.success; // "name: Alice\n"
12802
+ * }
12803
+ * ```
12804
+ *
12805
+ * @public
12806
+ */
12807
+ static stringifySync(value, options) {
12808
+ return stringifySyncImpl(value, options);
12809
+ }
12810
+ /**
12584
12811
  * Strip comments from YAML text. Without `replaceCh`, comment characters
12585
12812
  * are removed (line breaks are kept, so line numbers stay stable); with a
12586
12813
  * `replaceCh` (e.g. `" "`), each comment character is replaced instead,
@@ -12760,7 +12987,7 @@ function deepEqualValues(a, b) {
12760
12987
  }
12761
12988
 
12762
12989
  //#endregion
12763
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/internal/documents.js
12990
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/internal/documents.js
12764
12991
  /**
12765
12992
  * An empty YAML document composes to `null` (`Yaml.parseAll("")` is `[null]`,
12766
12993
  * and the trailing document of an env-only `pnpm-lock.yaml` is `null` too).
@@ -12831,7 +13058,7 @@ const selectSoleDocument = (content) => Effect.gen(function* () {
12831
13058
  });
12832
13059
 
12833
13060
  //#endregion
12834
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/internal/pnpm.js
13061
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/internal/pnpm.js
12835
13062
  const PnpmImporterDeps = Schema.optionalKey(Schema.Record(Schema.String, Schema.Struct({
12836
13063
  specifier: Schema.String,
12837
13064
  version: Schema.String
@@ -12958,7 +13185,7 @@ const toFields$1 = (raw) => Effect.gen(function* () {
12958
13185
  });
12959
13186
 
12960
13187
  //#endregion
12961
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/internal/yarn.js
13188
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/internal/yarn.js
12962
13189
  const YarnLockfileRaw = Schema.Record(Schema.String, Schema.Unknown);
12963
13190
  const DepRecord = Schema.optionalKey(Schema.Record(Schema.String, Schema.String));
12964
13191
  const YarnEntry = Schema.Struct({
@@ -13082,7 +13309,7 @@ const cleanYarnDeps = (deps) => {
13082
13309
  };
13083
13310
 
13084
13311
  //#endregion
13085
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/Lockfile.js
13312
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/Lockfile.js
13086
13313
  const EMPTY_IMPORTERS = [];
13087
13314
  /**
13088
13315
  * Failure of `Lockfile.parse`: the given content is not a valid lockfile of
@@ -13327,7 +13554,7 @@ var Lockfile = class Lockfile extends Schema.Class("Lockfile")({
13327
13554
  };
13328
13555
 
13329
13556
  //#endregion
13330
- //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.2_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_6d706c7cbff31434036042c49619c450/node_modules/@effected/lockfiles/LockfileIntegrity.js
13557
+ //#region ../../node_modules/.pnpm/@effected+lockfiles@0.1.3_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+npm@0.2_2bd071ae657036cda4f0e368b3590d06/node_modules/@effected/lockfiles/LockfileIntegrity.js
13331
13558
  /**
13332
13559
  * The minimal manifest shape {@link LockfileIntegrity.compare} checks a
13333
13560
  * lockfile against: a package name plus the four optional dependency maps.
@@ -15301,7 +15528,7 @@ var Package = class Package extends Schema.Class("Package")({
15301
15528
  };
15302
15529
 
15303
15530
  //#endregion
15304
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/WorkspacePackage.js
15531
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/WorkspacePackage.js
15305
15532
  const EMPTY$1 = Object.freeze(Object.create(null));
15306
15533
  const EMPTY_MANIFEST = Object.freeze(Object.create(null));
15307
15534
  /**
@@ -15564,7 +15791,7 @@ var WorkspacePackage = class WorkspacePackage extends Schema.Class("WorkspacePac
15564
15791
  };
15565
15792
 
15566
15793
  //#endregion
15567
- //#region ../../node_modules/.pnpm/@effected+walker@0.2.0_@effected+glob@0.1.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/walker/Descend.js
15794
+ //#region ../../node_modules/.pnpm/@effected+walker@0.2.1_@effected+glob@0.1.1_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/walker/Descend.js
15568
15795
  /**
15569
15796
  * Typed failure raised by {@link descend}: a directory mid-walk was unreadable
15570
15797
  * (under `onUnreadable: "fail"`), or the walk descended past `maxDepth`. Depth
@@ -15700,7 +15927,7 @@ const descend = Effect.fn("Walker.descend")(function* (pattern, options) {
15700
15927
  });
15701
15928
 
15702
15929
  //#endregion
15703
- //#region ../../node_modules/.pnpm/@effected+walker@0.2.0_@effected+glob@0.1.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/walker/Walker.js
15930
+ //#region ../../node_modules/.pnpm/@effected+walker@0.2.1_@effected+glob@0.1.1_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/walker/Walker.js
15704
15931
  /**
15705
15932
  * Ascend from `start` toward the filesystem root, yielding each directory,
15706
15933
  * nearest first.
@@ -15791,7 +16018,7 @@ const Walker$1 = {
15791
16018
  };
15792
16019
 
15793
16020
  //#endregion
15794
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/WorkspaceRoot.js
16021
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/WorkspaceRoot.js
15795
16022
  /**
15796
16023
  * The marker filenames {@link WorkspaceRoot} probes for, in priority order.
15797
16024
  *
@@ -15877,7 +16104,7 @@ var WorkspaceRoot = class WorkspaceRoot extends Context.Service()("@effected/wor
15877
16104
  };
15878
16105
 
15879
16106
  //#endregion
15880
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/internal/limits.js
16107
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/internal/limits.js
15881
16108
  /**
15882
16109
  * Hard ceiling on directories the enumerator will visit for one pattern set.
15883
16110
  * Guards the pathological case a depth cap alone does not: a wide, shallow
@@ -15896,7 +16123,7 @@ const MAX_ENUMERATION_ENTRIES = 1e5;
15896
16123
  const PRUNED_DIRECTORIES = /* @__PURE__ */ new Set([".git", "node_modules"]);
15897
16124
 
15898
16125
  //#endregion
15899
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/internal/traverse.js
16126
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/internal/traverse.js
15900
16127
  /** Directory names never descended into. */
15901
16128
  const isPruned = (entry) => PRUNED_DIRECTORIES.has(entry);
15902
16129
  /** Join root-relative POSIX segments; `""` is the root itself. */
@@ -15987,7 +16214,7 @@ var Traversal = class {
15987
16214
  };
15988
16215
 
15989
16216
  //#endregion
15990
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/internal/enumerate.js
16217
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/internal/enumerate.js
15991
16218
  /** Strip a trailing slash from `GlobPattern.enumerationPrefix` to get a relative directory. */
15992
16219
  const baseOf = (pattern) => pattern.enumerationPrefix.replace(/\/$/, "");
15993
16220
  /**
@@ -16058,7 +16285,7 @@ const enumerate = (root, globs, options) => Effect.gen(function* () {
16058
16285
  });
16059
16286
 
16060
16287
  //#endregion
16061
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/internal/patterns.js
16288
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/internal/patterns.js
16062
16289
  const stringsOf = (value) => Array.isArray(value) ? value.filter((entry) => typeof entry === "string") : void 0;
16063
16290
  /** The `packages:` list of a `pnpm-workspace.yaml` document. Total on a parsed document. */
16064
16291
  const pnpmPatternsOf = (document) => {
@@ -16116,7 +16343,7 @@ const readPatterns = (root) => Effect.gen(function* () {
16116
16343
  });
16117
16344
 
16118
16345
  //#endregion
16119
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/WorkspaceDiscovery.js
16346
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/WorkspaceDiscovery.js
16120
16347
  /**
16121
16348
  * Raised when a workspace member's `package.json` cannot be read, parsed, or
16122
16349
  * used — it is missing, malformed, or lacks a `name` or `version`.
@@ -16446,7 +16673,7 @@ var WorkspaceDiscovery = class WorkspaceDiscovery extends Context.Service()("@ef
16446
16673
  const isStringRecord$2 = (value) => value !== null && typeof value === "object" && !Array.isArray(value) && Object.values(value).every((entry) => typeof entry === "string");
16447
16674
 
16448
16675
  //#endregion
16449
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/DependencyGraph.js
16676
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/DependencyGraph.js
16450
16677
  /**
16451
16678
  * Raised when the workspace dependency graph cannot be topologically ordered
16452
16679
  * because it contains a cycle.
@@ -16682,7 +16909,7 @@ const kahn = (edges) => {
16682
16909
  };
16683
16910
 
16684
16911
  //#endregion
16685
- //#region ../../node_modules/.pnpm/@effected+git@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/git/GitCommand.js
16912
+ //#region ../../node_modules/.pnpm/@effected+git@0.4.0_effect@4.0.0-beta.98/node_modules/@effected/git/GitCommand.js
16686
16913
  /**
16687
16914
  * Builds a `git` `ChildProcess.StandardCommand` with the argv this package
16688
16915
  * classifies against.
@@ -17102,7 +17329,7 @@ const GitCommand = {
17102
17329
  };
17103
17330
 
17104
17331
  //#endregion
17105
- //#region ../../node_modules/.pnpm/@effected+git@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/git/internal/run.js
17332
+ //#region ../../node_modules/.pnpm/@effected+git@0.4.0_effect@4.0.0-beta.98/node_modules/@effected/git/internal/run.js
17106
17333
  /**
17107
17334
  * Spawns `command` and collects its stdout, stderr, and exit code as a single
17108
17335
  * triple.
@@ -17130,7 +17357,7 @@ const runCollected = (command) => Effect.scoped(Effect.gen(function* () {
17130
17357
  }));
17131
17358
 
17132
17359
  //#endregion
17133
- //#region ../../node_modules/.pnpm/@effected+git@0.3.0_effect@4.0.0-beta.98/node_modules/@effected/git/Git.js
17360
+ //#region ../../node_modules/.pnpm/@effected+git@0.4.0_effect@4.0.0-beta.98/node_modules/@effected/git/Git.js
17134
17361
  /** git's own ceiling: a run that has not answered in 30s is not going to. */
17135
17362
  const GIT_TIMEOUT = Duration.seconds(30);
17136
17363
  /**
@@ -17142,11 +17369,22 @@ const GIT_TIMEOUT = Duration.seconds(30);
17142
17369
  * `exitCode` and `stderr` are populated when git actually ran. `detail`
17143
17370
  * carries a human-readable explanation of an absorbed spawn-level
17144
17371
  * `PlatformError` or a per-run timeout — the two cases where git never
17145
- * produced an exit code at all.
17372
+ * produced an exit code at all. {@link GitCommandError.kind | `kind`}
17373
+ * discriminates a pre-spawn guard rejection (`"refused"`) from a genuine git
17374
+ * failure (`"failed"`) structurally, so composed retry/fallback logic never has
17375
+ * to parse the prose in `message` or `detail`.
17146
17376
  *
17147
17377
  * @public
17148
17378
  */
17149
17379
  var GitCommandError = class extends Schema.TaggedErrorClass()("GitCommandError", {
17380
+ /**
17381
+ * Discriminates a pre-spawn guard rejection from a genuine git failure.
17382
+ * `"refused"` — a pre-spawn guard (an option-like ref) rejected the
17383
+ * invocation and no process was ever spawned. `"failed"` — git actually ran
17384
+ * and exited non-zero, or the spawn/IO itself failed. Composed retry/fallback
17385
+ * logic routes on this instead of matching `detail` prose.
17386
+ */
17387
+ kind: Schema.Literals(["refused", "failed"]),
17150
17388
  /** The argument vector, without the leading `git`. */
17151
17389
  args: Schema.Array(Schema.String),
17152
17390
  /** The working directory the command ran in. */
@@ -17265,6 +17503,7 @@ const classify = (cwd, args, outcome, kind) => {
17265
17503
  return {
17266
17504
  _tag: "failure",
17267
17505
  error: GitCommandError.make({
17506
+ kind: "failed",
17268
17507
  args,
17269
17508
  cwd,
17270
17509
  stderr: "",
@@ -17286,6 +17525,7 @@ const classify = (cwd, args, outcome, kind) => {
17286
17525
  return {
17287
17526
  _tag: "failure",
17288
17527
  error: GitCommandError.make({
17528
+ kind: "failed",
17289
17529
  args,
17290
17530
  cwd,
17291
17531
  exitCode,
@@ -17306,6 +17546,7 @@ const runClassified = (command, cwd, kind) => {
17306
17546
  orElse: () => Effect.succeed({
17307
17547
  _tag: "failure",
17308
17548
  error: GitCommandError.make({
17549
+ kind: "failed",
17309
17550
  args,
17310
17551
  cwd,
17311
17552
  stderr: "",
@@ -17496,6 +17737,7 @@ const parseStatus = (output) => {
17496
17737
  const rejectOptionLikeRefs = (cwd, refs) => {
17497
17738
  const offending = refs.find((ref) => ref.startsWith("-"));
17498
17739
  return offending === void 0 ? Effect.void : Effect.fail(new GitCommandError({
17740
+ kind: "refused",
17499
17741
  args: [offending],
17500
17742
  cwd,
17501
17743
  stderr: "",
@@ -17757,11 +17999,10 @@ const make = (spawner) => {
17757
17999
  remote,
17758
18000
  ref: options.ref
17759
18001
  });
17760
- yield* rejectOptionLikeRefs(cwd, [remote, options.ref]);
17761
18002
  return yield* fetch(cwd, {
17762
18003
  ...options,
17763
18004
  tag: true
17764
- }).pipe(Effect.catchTag(["UnknownRefError", "GitCommandError"], () => fetch(cwd, options)));
18005
+ }).pipe(Effect.catchTag(["UnknownRefError", "GitCommandError"], (error) => error._tag === "GitCommandError" && error.kind === "refused" ? Effect.fail(error) : fetch(cwd, options)));
17765
18006
  }),
17766
18007
  submoduleUpdate: Effect.fn("Git.submoduleUpdate")(function* (cwd, options) {
17767
18008
  const init = options?.init ?? false;
@@ -18034,7 +18275,7 @@ var Git = class extends Context.Service()("@effected/git/Git") {
18034
18275
  };
18035
18276
 
18036
18277
  //#endregion
18037
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/ChangeDetector.js
18278
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/ChangeDetector.js
18038
18279
  /**
18039
18280
  * Which git refs to compare, and whether to fold in the working tree.
18040
18281
  *
@@ -18316,7 +18557,7 @@ function resolveFromCatalog(catalogs, wantedDependency) {
18316
18557
  }
18317
18558
 
18318
18559
  //#endregion
18319
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/internal/catalogs.js
18560
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/internal/catalogs.js
18320
18561
  /** Project a pnpm-workspace manifest's `catalog` / `catalogs` fields into a `Catalogs` map. */
18321
18562
  const inlineCatalogs = (manifest) => {
18322
18563
  if (manifest.catalog === void 0 && manifest.catalogs === void 0) return {};
@@ -18381,7 +18622,7 @@ const rangeOf = (catalogs, dependency, specifier) => {
18381
18622
  };
18382
18623
 
18383
18624
  //#endregion
18384
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/ConfigDependencyHooks.js
18625
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/ConfigDependencyHooks.js
18385
18626
  /** Whether `value` is a non-null, non-array object. */
18386
18627
  const isObject$2 = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
18387
18628
  /**
@@ -18527,7 +18768,7 @@ var ConfigDependencyHooks = class ConfigDependencyHooks extends Context.Service(
18527
18768
  };
18528
18769
 
18529
18770
  //#endregion
18530
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/PackageManagerName.js
18771
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/PackageManagerName.js
18531
18772
  /**
18532
18773
  * The four package managers this package understands.
18533
18774
  *
@@ -18770,7 +19011,7 @@ var PackageManagerDetector = class PackageManagerDetector extends Context.Servic
18770
19011
  };
18771
19012
 
18772
19013
  //#endregion
18773
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/LockfileReader.js
19014
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/LockfileReader.js
18774
19015
  /**
18775
19016
  * Raised when the workspace's lockfile cannot be read off disk.
18776
19017
  *
@@ -18881,7 +19122,7 @@ var LockfileReader = class LockfileReader extends Context.Service()("@effected/w
18881
19122
  };
18882
19123
 
18883
19124
  //#endregion
18884
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/Publishability.js
19125
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/Publishability.js
18885
19126
  /** The public npm registry, used when `publishConfig.registry` says nothing. */
18886
19127
  const DEFAULT_REGISTRY = "https://registry.npmjs.org/";
18887
19128
  /**
@@ -18982,7 +19223,7 @@ var PublishabilityDetector = class PublishabilityDetector extends Context.Servic
18982
19223
  };
18983
19224
 
18984
19225
  //#endregion
18985
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/WorkspaceCatalogs.js
19226
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/WorkspaceCatalogs.js
18986
19227
  /**
18987
19228
  * An immutable, fully-normalized catalog collection — the one catalog
18988
19229
  * resolution semantic in the package.
@@ -19367,7 +19608,7 @@ var WorkspaceCatalogs = class WorkspaceCatalogs extends Context.Service()("@effe
19367
19608
  };
19368
19609
 
19369
19610
  //#endregion
19370
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/WorkspaceStateSnapshot.js
19611
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/WorkspaceStateSnapshot.js
19371
19612
  const EMPTY = Object.freeze(Object.create(null));
19372
19613
  const DependencyMap = Schema.Record(Schema.String, Schema.String).pipe(Schema.withDecodingDefaultKey(Effect.succeed(EMPTY)), Schema.withConstructorDefault(Effect.succeed(EMPTY)));
19373
19614
  /**
@@ -19533,7 +19774,7 @@ var WorkspaceStateSnapshot = class extends Schema.Class("WorkspaceStateSnapshot"
19533
19774
  };
19534
19775
 
19535
19776
  //#endregion
19536
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/WorkspaceSnapshots.js
19777
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/WorkspaceSnapshots.js
19537
19778
  /** Whether `value` is a non-null, non-array object. */
19538
19779
  const isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
19539
19780
  /** Whether every value in a record is a string — a usable dependency map. */
@@ -19726,7 +19967,7 @@ var WorkspaceSnapshots = class WorkspaceSnapshots extends Context.Service()("@ef
19726
19967
  };
19727
19968
 
19728
19969
  //#endregion
19729
- //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.0_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__@effected+semver_f24913ec85acd149a637ef72d71f35a5/node_modules/@effected/workspaces/Workspaces.js
19970
+ //#region ../../node_modules/.pnpm/@effected+workspaces@0.3.1_@effected+jsonc@0.2.0_effect@4.0.0-beta.98__effect@4.0.0-beta.98/node_modules/@effected/workspaces/Workspaces.js
19730
19971
  /**
19731
19972
  * Every service that needs only a filesystem: root, package-manager detection,
19732
19973
  * discovery, lockfile reading, catalogs and publishability.