@stll/oxlint-config 1.6.2 → 1.8.0

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.
Files changed (59) hide show
  1. package/README.md +4 -4
  2. package/dist/cloud-setup-cli.mjs +1 -1
  3. package/dist/consumer-compat-cli.cjs.map +1 -1
  4. package/dist/consumer-compat-cli.mjs.map +1 -1
  5. package/dist/consumer-node-support.mjs +1 -1
  6. package/dist/dependabot.d.cts +23 -7
  7. package/dist/dependabot.d.mts +23 -7
  8. package/dist/engine-support-cli.cjs.map +1 -1
  9. package/dist/engine-support-cli.mjs.map +1 -1
  10. package/dist/engine-support.d.cts +4 -5
  11. package/dist/engine-support.d.mts +4 -5
  12. package/dist/git-tracked-output.cjs.map +1 -1
  13. package/dist/git-tracked-output.mjs.map +1 -1
  14. package/dist/index.d.cts +11 -11
  15. package/dist/index.d.mts +11 -11
  16. package/dist/publish-artifact-syntax.cjs.map +1 -1
  17. package/dist/publish-artifact-syntax.mjs.map +1 -1
  18. package/dist/publish-build-target-nuxt-helper.d.cts +3 -4
  19. package/dist/publish-build-target-nuxt-helper.d.mts +3 -4
  20. package/dist/publish-build-target-vite-dts-helper.d.cts +2 -2
  21. package/dist/publish-build-target-vite-dts-helper.d.mts +2 -2
  22. package/dist/publish-build-target-vite-dts-helper2.cjs +47 -4
  23. package/dist/publish-build-target-vite-dts-helper2.cjs.map +1 -1
  24. package/dist/publish-build-target-vite-dts-helper2.mjs +47 -4
  25. package/dist/publish-build-target-vite-dts-helper2.mjs.map +1 -1
  26. package/dist/publish-contract-cli.cjs +2 -2
  27. package/dist/publish-contract-cli.cjs.map +1 -1
  28. package/dist/publish-contract-cli.mjs +2 -2
  29. package/dist/publish-contract-cli.mjs.map +1 -1
  30. package/dist/quarantine-policy.d.cts +9 -9
  31. package/dist/quarantine-policy.d.mts +9 -9
  32. package/dist/quarantine-policy2.cjs.map +1 -1
  33. package/dist/quarantine-policy2.mjs.map +1 -1
  34. package/dist/toolchain-changed.cjs +1 -3
  35. package/dist/toolchain-changed.cjs.map +1 -1
  36. package/dist/toolchain-changed.mjs +2 -4
  37. package/dist/toolchain-changed.mjs.map +1 -1
  38. package/dist/toolchain-dependabot.cjs +6 -3
  39. package/dist/toolchain-dependabot.cjs.map +1 -1
  40. package/dist/toolchain-dependabot.mjs +7 -4
  41. package/dist/toolchain-dependabot.mjs.map +1 -1
  42. package/dist/toolchain-guard.cjs +11 -4
  43. package/dist/toolchain-guard.cjs.map +1 -1
  44. package/dist/toolchain-guard.mjs +12 -5
  45. package/dist/toolchain-guard.mjs.map +1 -1
  46. package/dist/toolchain-inputs.cjs +159 -17
  47. package/dist/toolchain-inputs.cjs.map +1 -1
  48. package/dist/toolchain-inputs.mjs +148 -18
  49. package/dist/toolchain-inputs.mjs.map +1 -1
  50. package/dist/toolchain-schema.cjs +189 -1
  51. package/dist/toolchain-schema.cjs.map +1 -1
  52. package/dist/toolchain-schema.mjs +177 -3
  53. package/dist/toolchain-schema.mjs.map +1 -1
  54. package/dist/typecheck-parity.cjs.map +1 -1
  55. package/dist/typecheck-parity.mjs.map +1 -1
  56. package/dist/wasi-loader-normalizer-cli.cjs.map +1 -1
  57. package/dist/wasi-loader-normalizer-cli.mjs.map +1 -1
  58. package/package.json +6 -8
  59. package/toolchain.json +66 -19
@@ -1144,6 +1144,8 @@ NODE_DIR="/opt/stll-cloud/node/$NODE_VERSION"
1144
1144
  BUN_DIR="/opt/stll-cloud/bun/$BUN_VERSION"
1145
1145
  export PATH="$NODE_DIR/bin:$BUN_DIR:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
1146
1146
  BUN_CACHE="/var/cache/stll-cloud/bun/$OUTPUT_UID"
1147
+ DEPENDENCY_STATE_ROOT=/var/lib/stll-cloud
1148
+ DEPENDENCY_STAMP="$DEPENDENCY_STATE_ROOT/dependencies-$(printf '%s' "$REPO_ROOT" | sha256sum | cut -d' ' -f1).sha256"
1147
1149
  @ENV_ASSIGNMENTS@
1148
1150
  [[ -f "$REPO_ROOT/.node-version" && ! -L "$REPO_ROOT/.node-version" ]] || fail 'A regular root .node-version is required'
1149
1151
  [[ "$(awk 'NF { if (++count > 1 || NF != 1) exit 1; value=$1 } END { if (count != 1) exit 1; print value }' "$REPO_ROOT/.node-version")" == "$NODE_VERSION" ]] || fail 'Node selector changed; regenerate cloud-setup.sh'
@@ -1186,16 +1188,18 @@ verify_bun_routes() {
1186
1188
  [[ -n "$minimal_path" ]] || minimal_path=/usr/local/bin:/usr/bin:/bin
1187
1189
  root_mise="$(printenv STLL_CLOUD_TEST_ROOT_MISE || true)"
1188
1190
  [[ -n "$root_mise" ]] || root_mise=/root/.local/share/mise
1189
- bun_route 'the setup PATH' env PATH="$PATH" sh
1190
- bun_route 'sh -c' sh
1191
+ # An absolute shell: a PATH entry such as a user-writable mise shims
1192
+ # directory must never supply the program that root runs.
1193
+ bun_route 'the setup PATH' env PATH="$PATH" /bin/sh
1194
+ bun_route 'sh -c' /bin/sh
1191
1195
  bun_route 'bash -lc' "$login_shell" -l
1192
- bun_route 'the minimal system PATH' env -i PATH="$minimal_path" sh
1196
+ bun_route 'the minimal system PATH' env -i PATH="$minimal_path" /bin/sh
1193
1197
  configured_mise="$(printenv MISE_DATA_DIR || true)"
1194
1198
  for mise_root in "$configured_mise" "$OUTPUT_HOME/.local/share/mise" "$root_mise"; do
1195
1199
  [[ -n "$mise_root" ]] || continue
1196
1200
  shims="$mise_root/shims"
1197
1201
  [[ -d "$shims" ]] || continue
1198
- bun_route "mise shims PATH $shims" env PATH="$shims:$PATH" sh
1202
+ bun_route "mise shims PATH $shims" env PATH="$shims:$PATH" /bin/sh
1199
1203
  done
1200
1204
  }
1201
1205
  replace_image_buns() {
@@ -1222,7 +1226,8 @@ replace_image_buns() {
1222
1226
  [[ -d "$candidate" ]] && continue
1223
1227
  [[ "$(readlink -f -- "$candidate")" == "$(readlink -f -- "$BUN_DIR/bun")" ]] || ln -sfnT -- "$BUN_DIR/bun" "$candidate"
1224
1228
  done
1225
- done < <(printf '%s' "$PATH" | tr : '\n')
1229
+ # The trailing newline lets read return the last PATH entry too.
1230
+ done < <(printf '%s\n' "$PATH" | tr : '\n')
1226
1231
  }
1227
1232
  install_runtimes() (
1228
1233
  if [[ ! -s /etc/ssl/certs/ca-certificates.crt ]]; then
@@ -1262,7 +1267,6 @@ install_runtimes() (
1262
1267
  ln -sfnT -- "$NODE_DIR/bin/npx" /usr/local/bin/npx
1263
1268
  ln -sfnT -- "$BUN_DIR/bun" /usr/local/bin/bun
1264
1269
  replace_image_buns
1265
- verify_bun_routes
1266
1270
  )
1267
1271
 
1268
1272
  dependency_install() {
@@ -1301,6 +1305,48 @@ process.stdout.write([...hosts].sort().join(","));
1301
1305
  network_run "$download_hosts" 240 runuser -u "$OUTPUT_USER" -- env HOME="$OUTPUT_HOME" BUN_INSTALL_CACHE_DIR="$BUN_CACHE" PATH="$PATH" BUN_CONFIG_HTTP_IDLE_TIMEOUT=20 "$BUN_DIR/bun" @INSTALL_ARGS@
1302
1306
  }
1303
1307
 
1308
+ dependency_hash() {
1309
+ [[ -f bun.lock && ! -L bun.lock ]] || fail 'A regular root bun.lock is required'
1310
+ sha256sum -- bun.lock | cut -d ' ' -f1
1311
+ }
1312
+ prepare_dependency_state() {
1313
+ [[ ! -L "$DEPENDENCY_STATE_ROOT" ]] || fail 'Dependency state root must not be a symlink'
1314
+ if [[ -e "$DEPENDENCY_STATE_ROOT" ]]; then
1315
+ [[ -d "$DEPENDENCY_STATE_ROOT" && "$(stat -c '%u:%a' "$DEPENDENCY_STATE_ROOT")" == 0:755 ]] || fail 'Invalid dependency state root'
1316
+ else
1317
+ install -d -m 755 -o root -g root "$DEPENDENCY_STATE_ROOT"
1318
+ fi
1319
+ [[ ! -L "$DEPENDENCY_STAMP" ]] || fail 'Dependency stamp must not be a symlink'
1320
+ if [[ -e "$DEPENDENCY_STAMP" ]]; then
1321
+ [[ -f "$DEPENDENCY_STAMP" && "$(stat -c '%u:%a' "$DEPENDENCY_STAMP")" == 0:644 ]] || fail 'Invalid dependency stamp'
1322
+ fi
1323
+ }
1324
+ write_dependency_stamp() {
1325
+ local temporary
1326
+ prepare_dependency_state
1327
+ temporary="$(mktemp "$DEPENDENCY_STATE_ROOT/.dependencies.XXXXXX")"
1328
+ chmod 644 "$temporary"
1329
+ dependency_hash > "$temporary"
1330
+ mv -f -- "$temporary" "$DEPENDENCY_STAMP"
1331
+ }
1332
+ install_dependencies() {
1333
+ prepare_dependency_state
1334
+ rm -f -- "$DEPENDENCY_STAMP"
1335
+ dependency_install
1336
+ write_dependency_stamp
1337
+ }
1338
+ sync_dependencies() {
1339
+ local expected installed=''
1340
+ prepare_dependency_state
1341
+ expected="$(dependency_hash)"
1342
+ if [[ -f "$DEPENDENCY_STAMP" ]]; then IFS= read -r installed < "$DEPENDENCY_STAMP" || true; fi
1343
+ # The stamp describes an installation; without node_modules there is none.
1344
+ [[ "$installed" == "$expected" && -d "$REPO_ROOT/node_modules" ]] && return
1345
+ rm -f -- "$DEPENDENCY_STAMP"
1346
+ dependency_install || fail 'bun.lock mismatch; dependency installation failed'
1347
+ write_dependency_stamp
1348
+ }
1349
+
1304
1350
  @SERVICE_INSTALL@
1305
1351
  @SERVICE_START@
1306
1352
 
@@ -1319,13 +1365,16 @@ if [[ "$MODE" == install ]]; then
1319
1365
  step services install_services
1320
1366
  step tools install_tools
1321
1367
  step shell install_shell_environment
1322
- step dependencies dependency_install
1368
+ # Login routes read the installed profile, so they are checked after it.
1369
+ step routes verify_bun_routes
1370
+ step dependencies install_dependencies
1323
1371
  @PREPARE_STEP@
1324
1372
  exit 0
1325
1373
  fi
1326
1374
  @ENV_INITIALIZE@
1327
1375
  start_environment() {
1328
1376
  step runtime-check runtime_ready
1377
+ step dependencies sync_dependencies
1329
1378
  step tool-check verify_tools
1330
1379
  step shell install_shell_environment
1331
1380
  step shell-check verify_shell_environment
@@ -1391,6 +1440,39 @@ emit_session_environment() {
1391
1440
  }
1392
1441
  `;
1393
1442
  const shellQuote = (value) => `'${value.replaceAll("'", "'\\''")}'`;
1443
+ const renderWasmBindgenLockValidation = (version) => `[[ -f 'Cargo.lock' && ! -L 'Cargo.lock' ]] && awk -v expected=${shellQuote(version)} '${String.raw`
1444
+ function validate_package() {
1445
+ if (in_package && name == "wasm-bindgen") {
1446
+ count++
1447
+ if (version != expected) mismatch = 1
1448
+ }
1449
+ }
1450
+ /^\[\[package\]\][[:space:]]*$/ {
1451
+ validate_package()
1452
+ in_package = 1
1453
+ name = ""
1454
+ version = ""
1455
+ next
1456
+ }
1457
+ /^\[/ {
1458
+ validate_package()
1459
+ in_package = 0
1460
+ next
1461
+ }
1462
+ in_package && /^[[:space:]]*name[[:space:]]*=/ {
1463
+ name = $0
1464
+ sub(/^[^=]*=[[:space:]]*"/, "", name)
1465
+ sub(/"[[:space:]]*$/, "", name)
1466
+ }
1467
+ in_package && /^[[:space:]]*version[[:space:]]*=/ {
1468
+ version = $0
1469
+ sub(/^[^=]*=[[:space:]]*"/, "", version)
1470
+ sub(/"[[:space:]]*$/, "", version)
1471
+ }
1472
+ END {
1473
+ validate_package()
1474
+ exit !(count >= 1 && !mismatch)
1475
+ }`}' 'Cargo.lock' || fail 'Cargo.lock wasm-bindgen version changed; regenerate cloud-setup.sh'`;
1394
1476
  const renderPrepare = (prepare, files) => {
1395
1477
  if (prepare === void 0) return "";
1396
1478
  const manifest = files["package.json"];
@@ -1429,16 +1511,12 @@ const generateCloudSetup = ({ policy, cloud, nodeVersion, files = {}, rustExcept
1429
1511
  bunVersion: policy.bun,
1430
1512
  rust: toolchains.rust
1431
1513
  })],
1432
- ["@INPUT_VALIDATION@", [
1433
- "rust-toolchain.toml",
1434
- "rust-toolchain",
1435
- ...selected.tools?.["wasm-bindgen-cli"] === void 0 ? [] : ["Cargo.lock"]
1436
- ].flatMap((file) => {
1514
+ ["@INPUT_VALIDATION@", ["rust-toolchain.toml", "rust-toolchain"].flatMap((file) => {
1437
1515
  const content = files[file];
1438
1516
  if (content === void 0) return [`[[ ! -e ${shellQuote(file)} && ! -L ${shellQuote(file)} ]] || fail ${shellQuote(`${file} appeared; regenerate cloud-setup.sh`)}`];
1439
1517
  const hash = createHash("sha256").update(content).digest("hex");
1440
1518
  return [`[[ -f ${shellQuote(file)} && ! -L ${shellQuote(file)} ]] && [[ "$(sha256sum -- ${shellQuote(file)} | cut -d ' ' -f1)" == ${shellQuote(hash)} ]] || fail ${shellQuote(`${file} changed; regenerate cloud-setup.sh`)}`];
1441
- }).join("\n")],
1519
+ }).concat(selected.tools?.["wasm-bindgen-cli"] === void 0 ? [] : [renderWasmBindgenLockValidation(selected.tools["wasm-bindgen-cli"])]).join("\n")],
1442
1520
  ["@BUN@", policy.bun],
1443
1521
  ["@NODE@", exactNode],
1444
1522
  ["@ENV_ASSIGNMENTS@", selected.envFile === void 0 ? "" : `ENV_FILE=${shellQuote(selected.envFile)}\nENV_MARKER=${shellQuote(cloudEnvironmentMarker)}`],
@@ -1489,7 +1567,7 @@ const releasedSessionStartHook = (script) => ({
1489
1567
  fi`
1490
1568
  }]
1491
1569
  });
1492
- const sessionStartHook = (script) => ({
1570
+ const releasedTemporaryFileHook = (script) => ({
1493
1571
  matcher: "",
1494
1572
  hooks: [{
1495
1573
  type: "command",
@@ -1530,6 +1608,52 @@ $cloud_shell_exports"
1530
1608
  fi`
1531
1609
  }]
1532
1610
  });
1611
+ const sessionStartHook = (script) => ({
1612
+ matcher: "",
1613
+ hooks: [{
1614
+ type: "command",
1615
+ command: `if [ "\${CLAUDE_CODE_REMOTE:-}" = "true" ]; then
1616
+ cloud_setup_incomplete() {
1617
+ printf '%s\\n' 'Cloud setup could not establish a verified session environment. From the repository root, run bash .agents/cloud-setup.sh install and then bash .agents/cloud-setup.sh start. Do not assume pinned tools or services are ready until start succeeds.'
1618
+ printf '%s\\n' "cloud-setup: $1" >&2
1619
+ exit 0
1620
+ }
1621
+ if [ -n "\${CLAUDE_ENV_FILE:-}" ]; then
1622
+ cloud_session_exports="$(${script} session)" || cloud_setup_incomplete 'startup failed; run install'
1623
+ else
1624
+ ${script} start >&2 || cloud_setup_incomplete 'startup failed; run install'
1625
+ exit 0
1626
+ fi
1627
+ if [ -n "\${CLAUDE_ENV_FILE:-}" ]; then
1628
+ if [ ! -s ${cloudShellProfilePath} ]; then
1629
+ cloud_setup_incomplete 'cloud shell profile is unavailable; run install'
1630
+ fi
1631
+ cloud_shell_exports="$(cat ${cloudShellProfilePath})" || cloud_setup_incomplete 'cloud shell profile could not be read; run install'
1632
+ [ -n "$cloud_shell_exports" ] || cloud_setup_incomplete 'cloud shell profile is unavailable; run install'
1633
+ if [ -e "$CLAUDE_ENV_FILE" ] || [ -L "$CLAUDE_ENV_FILE" ]; then
1634
+ [ -f "$CLAUDE_ENV_FILE" ] && [ ! -L "$CLAUDE_ENV_FILE" ] || cloud_setup_incomplete 'session environment must be a regular file; check its path and rerun start'
1635
+ fi
1636
+ cloud_env_snapshot="\${CLAUDE_ENV_FILE}.stll-cloud"
1637
+ case "$cloud_env_snapshot" in
1638
+ *"'"*) cloud_setup_incomplete 'session environment path must not contain a single quote; check its path and rerun start' ;;
1639
+ esac
1640
+ if [ -n "$cloud_session_exports" ]; then
1641
+ cloud_session_exports="$cloud_session_exports
1642
+ $cloud_shell_exports"
1643
+ else
1644
+ cloud_session_exports="$cloud_shell_exports"
1645
+ fi
1646
+ cloud_env_temporary="$(umask 077; mktemp "\${cloud_env_snapshot}.XXXXXX")" || cloud_setup_incomplete 'session environment could not be prepared; check its write access and rerun start'
1647
+ printf '%s\\n' "$cloud_session_exports" > "$cloud_env_temporary" || { rm -f -- "$cloud_env_temporary"; cloud_setup_incomplete 'session environment could not be prepared; check its write access and rerun start'; }
1648
+ mv -f -- "$cloud_env_temporary" "$cloud_env_snapshot" || { rm -f -- "$cloud_env_temporary"; cloud_setup_incomplete 'session environment could not be persisted; check its write access and rerun start'; }
1649
+ cloud_env_source=". '$cloud_env_snapshot'"
1650
+ if [ ! -f "$CLAUDE_ENV_FILE" ] || ! grep -Fqx -- "$cloud_env_source" "$CLAUDE_ENV_FILE"; then
1651
+ printf '\\n%s\\n' "$cloud_env_source" >> "$CLAUDE_ENV_FILE" || cloud_setup_incomplete 'session environment could not be persisted; check its write access and rerun start'
1652
+ fi
1653
+ fi
1654
+ fi`
1655
+ }]
1656
+ });
1533
1657
  const currentMainSessionStartHook = (script) => ({
1534
1658
  matcher: "",
1535
1659
  hooks: [{
@@ -1556,7 +1680,8 @@ const cloudSessionStartHook = sessionStartHook(`bash "$CLAUDE_PROJECT_DIR/${clou
1556
1680
  const previousCloudSessionStartHooks = [
1557
1681
  releasedSessionStartHook(`bash ${cloudSetupPath}`),
1558
1682
  releasedSessionStartHook(`bash "$CLAUDE_PROJECT_DIR/${cloudSetupPath}"`),
1559
- currentMainSessionStartHook(`bash "$CLAUDE_PROJECT_DIR/${cloudSetupPath}"`)
1683
+ currentMainSessionStartHook(`bash "$CLAUDE_PROJECT_DIR/${cloudSetupPath}"`),
1684
+ releasedTemporaryFileHook(`bash "$CLAUDE_PROJECT_DIR/${cloudSetupPath}"`)
1560
1685
  ];
1561
1686
  const cloudAttribution = {
1562
1687
  commit: "",
@@ -1834,17 +1959,22 @@ const isDockerDefinitionPath = (file) => {
1834
1959
  if (/\.(?:[cm]?[jt]sx?|mdx?|rst|txt|html?|py|rs|go|java|sh|c|cc|cpp|cxx|h|hpp|cs|rb|php|swift|kt|css|scss)$/i.test(name)) return false;
1835
1960
  return /^(?:[^./]+\.)*(?:dockerfile|containerfile)(?:\.[^./]+)*$/i.test(name);
1836
1961
  };
1962
+ const isFormatterConfigPath = (file) => {
1963
+ const name = file.split("/").at(-1) ?? "";
1964
+ return /^\.oxfmtrc(?:\.jsonc?)?$/.test(name) || /^oxfmt\.config\.[cm]?[jt]s$/.test(name) || /^\.prettierrc(?:\.[^/]+)?$/.test(name) || /^prettier\.config\.[cm]?[jt]s$/.test(name) || name === ".prettierignore" || /^biome\.jsonc?$/.test(name) || /^\.?dprint\.jsonc?$/.test(name);
1965
+ };
1966
+ const isLefthookConfigPath = (file) => /^\.?lefthook(?:-local)?\.ya?ml$/.test(file);
1837
1967
  /** Executable shell files may have no suffix; the interpreter is then their discriminator. */
1838
1968
  const isShellScript = (file, text = "") => !excludedInputPath(file) && (/\.(?:sh|bash|zsh)$/.test(file) || /^#![ \t]*(?:\/(?:[^ \t\r\n]+\/)*(?:bash|dash|ksh|zsh|sh)|\/usr\/bin\/env[ \t]+(?:-S[ \t]+)?(?:bash|dash|ksh|zsh|sh))(?=[ \t\r\n]|$)/.test(text));
1839
1969
  /** Lockfiles establish ecosystem presence without reading their dependency graphs. */
1840
1970
  const toolchainInputKind = (file, text = "") => {
1841
- if (file === "bunfig.toml" || file === ".agents/cloud-setup.sh" || file === ".claude/settings.json" || file === "Cargo.lock") return "config";
1971
+ if (file === "bunfig.toml" || file === ".agents/cloud-setup.sh" || file === ".claude/settings.json" || file === "Cargo.lock" || file === ".changeset/config.json" || isLefthookConfigPath(file)) return "config";
1842
1972
  if (githubAutomationFileKind(file) !== void 0) return "config";
1843
1973
  if (excludedInputPath(file)) return void 0;
1844
- if (dependabotManifestEcosystem(file) !== void 0 || pythonDependencyManifestKind(file) === "pipfile-lock" || javascriptDependencyLockfiles.some((name) => file.split("/").at(-1) === name) || /(?:^|\/)uv\.lock$/.test(file)) return "presence";
1974
+ if (dependabotManifestEcosystem(file) !== void 0 || pythonDependencyManifestKind(file) === "pipfile-lock" || javascriptDependencyLockfiles.some((name) => file.split("/").at(-1) === name) || /(?:^|\/)uv\.lock$/.test(file) || isFormatterConfigPath(file)) return "presence";
1845
1975
  if (githubAutomationFileKind(file) !== void 0 || isShellScript(file, text) || /(?:^|\/)ci-service-images\.json$/.test(file) || isMiseConfigPath(file) || isPythonDependencyManifest(file) || isDockerDefinitionPath(file) || isComposeDefinitionPath(file) || isKubernetesDefinitionPath(file) || /(?:^|\/)(?:package\.json|consumer-compat\.json|pnpm-workspace\.yaml|stll-toolchain\.json|\.bun-version|\.node-version|\.nvmrc|\.python-version|rust-toolchain(?:\.toml)?|\.tool-versions|\.?mise\.toml|uv\.toml|\.uv\.toml|\.github\/dependabot\.ya?ml|Cargo\.toml)$/.test(file)) return "config";
1846
1976
  };
1847
1977
  //#endregion
1848
- export { nodePolicyValid as C, parseCloudSetup as E, generateCloudSetup as S, nodeSupportRangeMatches as T, cloudSessionStartFix as _, isMiseConfigPath as a, mergeCloudClaudeSettings as b, javascriptDependencyLockfiles as c, containerDocumentImages as d, isComposeDefinitionPath as f, cloudClaudeSettingsPath as g, cloudAttributionFix as h, isDockerDefinitionPath as i, pythonDependencyManifestKind as l, workspaceContains as m, githubAutomationFileKind as n, isPythonDependencyManifest as o, isKubernetesDefinitionPath as p, isDependabotGithubActionsPath as r, isShellScript as s, dependabotManifestEcosystem as t, toolchainInputKind as u, hasCloudAttribution as v, nodeSelectorMatches as w, cloudSetupPath as x, hasCloudSessionStartHook as y };
1978
+ export { cloudSetupPath as C, nodeSupportRangeMatches as D, nodeSelectorMatches as E, parseCloudSetup as O, mergeCloudClaudeSettings as S, nodePolicyValid as T, cloudAttributionFix as _, isFormatterConfigPath as a, hasCloudAttribution as b, isPythonDependencyManifest as c, pythonDependencyManifestKind as d, toolchainInputKind as f, workspaceContains as g, isKubernetesDefinitionPath as h, isDockerDefinitionPath as i, isShellScript as l, isComposeDefinitionPath as m, githubAutomationFileKind as n, isLefthookConfigPath as o, containerDocumentImages as p, isDependabotGithubActionsPath as r, isMiseConfigPath as s, dependabotManifestEcosystem as t, javascriptDependencyLockfiles as u, cloudClaudeSettingsPath as v, generateCloudSetup as w, hasCloudSessionStartHook as x, cloudSessionStartFix as y };
1849
1979
 
1850
1980
  //# sourceMappingURL=toolchain-inputs.mjs.map