pi-lens 4.4.3 → 4.4.4

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 (143) hide show
  1. package/CHANGELOG.md +281 -0
  2. package/README.md +13 -1
  3. package/dist/{chunk-SS36ZX4J.js → chunk-24AKHFGP.js} +6 -6
  4. package/dist/{chunk-JSQFTSC6.js → chunk-2FN63LPV.js} +11 -11
  5. package/dist/{chunk-5UCAH366.js → chunk-2KXTHF3M.js} +20 -20
  6. package/dist/{chunk-EU63SDCG.js → chunk-3DA2JDOL.js} +367 -281
  7. package/dist/{chunk-RWWYJ623.js → chunk-3KAZU3VR.js} +1 -1
  8. package/dist/chunk-3PTHXJXR.js +28 -0
  9. package/dist/chunk-3QED2P4V.js +31 -0
  10. package/dist/{chunk-N2H3ZPZY.js → chunk-3RKP3FMS.js} +1 -0
  11. package/dist/{chunk-XVF2VVXP.js → chunk-5HSRT26B.js} +2 -2
  12. package/dist/{chunk-MXGY6KPT.js → chunk-5IUSNGOC.js} +15 -15
  13. package/dist/{chunk-EJIUXPBX.js → chunk-5OFV52AM.js} +1 -1
  14. package/dist/{chunk-AW7R2GWG.js → chunk-5VSF4UUQ.js} +12 -7
  15. package/dist/{chunk-6STA6Z7I.js → chunk-5WRPDP2A.js} +18 -18
  16. package/dist/{chunk-YIUAVF7E.js → chunk-6DLWKFEX.js} +35 -34
  17. package/dist/{chunk-WOA4LN2R.js → chunk-7D6L4MTX.js} +2 -2
  18. package/dist/{chunk-GAEGEPOC.js → chunk-7HXE67BN.js} +2 -2
  19. package/dist/chunk-AGSS7277.js +84 -0
  20. package/dist/{chunk-R3PCY3YS.js → chunk-AMERCH6V.js} +13 -13
  21. package/dist/{chunk-WU567RSC.js → chunk-ATKJFDQN.js} +14 -10
  22. package/dist/{chunk-VSSBEUFT.js → chunk-AWSCPCN2.js} +16 -16
  23. package/dist/{chunk-VCHXCQFG.js → chunk-BWD5EPKO.js} +3 -3
  24. package/dist/{chunk-H6MF6EVN.js → chunk-CT4MN5IU.js} +1200 -230
  25. package/dist/{chunk-FCSOVF55.js → chunk-CUHSHSB6.js} +6 -6
  26. package/dist/{chunk-CHOW74WE.js → chunk-CYRKQRPM.js} +7 -10
  27. package/dist/{chunk-Q7DUK4LX.js → chunk-DEL2U6CM.js} +5 -5
  28. package/dist/{chunk-6C7JWPCP.js → chunk-DGUKIYSI.js} +26 -23
  29. package/dist/{chunk-PHDMFAKM.js → chunk-DUO2TU77.js} +2 -2
  30. package/dist/{chunk-MRXKYPCS.js → chunk-EBC36LNN.js} +2 -2
  31. package/dist/{chunk-CSHFH5IN.js → chunk-ED36RF6Y.js} +1 -1
  32. package/dist/{chunk-76MWC2K6.js → chunk-EUXZEFTV.js} +90 -97
  33. package/dist/{chunk-QOZXJ4NA.js → chunk-FM4RDMKT.js} +11 -8
  34. package/dist/{chunk-ACXEQZOU.js → chunk-GAQ7OQG6.js} +31 -28
  35. package/dist/{chunk-XAGLWMJ4.js → chunk-GL5LUMZE.js} +23 -23
  36. package/dist/{chunk-BKE7E7TC.js → chunk-GMX5OS7B.js} +9 -9
  37. package/dist/{chunk-ZHFZWTZV.js → chunk-GSLNCYGG.js} +11 -11
  38. package/dist/{chunk-3W7IEVVL.js → chunk-GSM5UU7A.js} +26 -34
  39. package/dist/{chunk-724UL2TJ.js → chunk-GXFV6MYU.js} +3 -3
  40. package/dist/chunk-HAD7QRQI.js +30 -0
  41. package/dist/{chunk-QOBUHWHX.js → chunk-HRNHZA3N.js} +6 -6
  42. package/dist/{chunk-VWCXW2E7.js → chunk-HWCCCQNX.js} +1 -1
  43. package/dist/{chunk-7DYBLXYA.js → chunk-HYGZEMX6.js} +3 -3
  44. package/dist/chunk-IJYGIDF4.js +186 -0
  45. package/dist/{chunk-4W4VLAPJ.js → chunk-IQWN5JCP.js} +11 -11
  46. package/dist/{chunk-SQ4TVJBR.js → chunk-IUE7SSKV.js} +7 -7
  47. package/dist/{chunk-IBGIOBEE.js → chunk-IWDLU6K3.js} +68 -5
  48. package/dist/{chunk-XCJN5IJU.js → chunk-IYNJ6YPZ.js} +4 -4
  49. package/dist/{chunk-JAU72XNY.js → chunk-J64T55EI.js} +3 -3
  50. package/dist/{chunk-2BBLFX75.js → chunk-J6MPGQTS.js} +5 -5
  51. package/dist/chunk-JORED7EX.js +44 -0
  52. package/dist/{chunk-6SDEP3AJ.js → chunk-JUKMK5Y4.js} +8 -8
  53. package/dist/{chunk-FMSO6RDZ.js → chunk-JW3YWBVB.js} +15 -15
  54. package/dist/{chunk-L3BLXZG7.js → chunk-KAPJINKN.js} +30 -69
  55. package/dist/{chunk-2B73ZPOK.js → chunk-KN35K52N.js} +3 -3
  56. package/dist/{chunk-C34ZXZ7O.js → chunk-KUA4OJ5Y.js} +24 -11
  57. package/dist/chunk-KYUB6QDC.js +72 -0
  58. package/dist/{chunk-67WMNWEE.js → chunk-LLJNQKQW.js} +12 -10
  59. package/dist/chunk-LZSEQW6A.js +57 -0
  60. package/dist/{chunk-ZANLILYD.js → chunk-M2IFVFWU.js} +2 -2
  61. package/dist/chunk-M2UD3LPU.js +88 -0
  62. package/dist/{chunk-XIJZVPD5.js → chunk-MBKQHGA7.js} +15 -15
  63. package/dist/{chunk-P7266HLM.js → chunk-MPNJLASA.js} +2 -2
  64. package/dist/{chunk-6GFRNVYR.js → chunk-MZGQNL3Y.js} +10 -10
  65. package/dist/{chunk-ZWFS3OEF.js → chunk-N5FLEO7W.js} +33 -32
  66. package/dist/{chunk-3JNKMP3B.js → chunk-O4NWQT6I.js} +4 -4
  67. package/dist/{chunk-T6CPIZNT.js → chunk-OHKJ7PQF.js} +33 -32
  68. package/dist/{chunk-VRZP76YM.js → chunk-P63GXC37.js} +4 -1
  69. package/dist/{chunk-XTMJ7XDT.js → chunk-POMLXPMY.js} +1 -1
  70. package/dist/{chunk-QQNQ7SJW.js → chunk-QBFBRV2B.js} +10 -4
  71. package/dist/{chunk-CMMHNUZ2.js → chunk-R3T7CLQ2.js} +60 -38
  72. package/dist/{chunk-23WOO7TX.js → chunk-R7YOCSNV.js} +10 -10
  73. package/dist/{chunk-2CD5RS6M.js → chunk-RKBXZN3A.js} +23 -2
  74. package/dist/{chunk-OCAGUNBC.js → chunk-RKKOYPRA.js} +12 -12
  75. package/dist/{chunk-52FUZI6K.js → chunk-RMLC67LF.js} +1 -1
  76. package/dist/{chunk-XMSXXAHW.js → chunk-ROYSX2S5.js} +2 -2
  77. package/dist/{chunk-M6HSLBWY.js → chunk-RVK72CZX.js} +6507 -7514
  78. package/dist/{chunk-FLKWCIZH.js → chunk-S2HEXIWI.js} +5 -5
  79. package/dist/{chunk-UZ3TUTRV.js → chunk-S67KYG37.js} +1 -1
  80. package/dist/{chunk-VCO24T4L.js → chunk-SD4I7ZO4.js} +14 -14
  81. package/dist/{chunk-Z527N6YQ.js → chunk-SKAMFC7A.js} +12 -12
  82. package/dist/{chunk-MQLUAEOC.js → chunk-SRYEJNES.js} +2 -2
  83. package/dist/{chunk-BRGDSBJE.js → chunk-SYE6T2EB.js} +12 -12
  84. package/dist/{chunk-GXW6K4YJ.js → chunk-T57LYLZT.js} +1 -1
  85. package/dist/{chunk-ZXYDQ3TZ.js → chunk-T7FEBKXN.js} +48 -15
  86. package/dist/{chunk-3EFKIGZN.js → chunk-TIQ2PKDW.js} +3 -3
  87. package/dist/{chunk-QILIYSJF.js → chunk-TLX72JTG.js} +1 -1
  88. package/dist/{chunk-TYM6OUIT.js → chunk-TOY6QKOH.js} +12 -12
  89. package/dist/{chunk-IZSHAIJ7.js → chunk-TRETHTQO.js} +12 -12
  90. package/dist/{chunk-3VPVG5SU.js → chunk-U44DJXQP.js} +10 -6
  91. package/dist/{chunk-PNQDPDRC.js → chunk-UA7ZXYDR.js} +1 -1
  92. package/dist/{chunk-OXXKQCSV.js → chunk-UBOQLVT2.js} +4 -4
  93. package/dist/{chunk-QGQ5CCCG.js → chunk-UMS2MFPZ.js} +2 -2
  94. package/dist/{chunk-QHJ6DQ2R.js → chunk-US7ECLD7.js} +55 -13
  95. package/dist/{chunk-AB3YYG6N.js → chunk-UZ2XCLYS.js} +8 -8
  96. package/dist/chunk-V35JG4JB.js +2667 -0
  97. package/dist/{chunk-N3X6Q4YT.js → chunk-VOOAPROD.js} +3 -3
  98. package/dist/{chunk-SAEFPSB6.js → chunk-W66O5E25.js} +21 -11
  99. package/dist/{chunk-KBG47GHP.js → chunk-WMYE35PX.js} +15 -11
  100. package/dist/{chunk-5NGR67U5.js → chunk-XBJVAEEO.js} +32 -5
  101. package/dist/{chunk-YYOIQFRS.js → chunk-XHJBS436.js} +122 -44
  102. package/dist/{chunk-GBPP5P7X.js → chunk-XTBDCR27.js} +4 -4
  103. package/dist/{chunk-4UNXBNE2.js → chunk-XTFDJI3T.js} +11 -11
  104. package/dist/{chunk-UXGETRP4.js → chunk-XYURS6EN.js} +13 -12
  105. package/dist/{chunk-RPLINGVB.js → chunk-Y6GZHWSJ.js} +6 -6
  106. package/dist/{chunk-2VUQMUMT.js → chunk-YCWYO6TQ.js} +41 -38
  107. package/dist/{chunk-77M37OKR.js → chunk-YH5MVY2U.js} +7 -7
  108. package/dist/{chunk-AOHZU2BM.js → chunk-YNE3RP52.js} +1 -1
  109. package/dist/{chunk-YSZNHOBY.js → chunk-ZHH37KZL.js} +12 -12
  110. package/dist/{chunk-ZGDGW2V3.js → chunk-ZIVJBOO3.js} +2 -2
  111. package/dist/{chunk-RXCOMYPY.js → chunk-ZVUL7QYY.js} +29 -28
  112. package/dist/index.js +11052 -5852
  113. package/dist/mcp/analyze-cli.js +10 -9
  114. package/dist/mcp/cli.js +41 -38
  115. package/dist/mcp/server.js +1120 -474
  116. package/dist/mcp/worker.js +61 -58
  117. package/dist/probes/installer.js +19 -19
  118. package/dist/workers/project-snapshot-persist-worker.js +28 -9
  119. package/dist/workers/review-graph-persist-worker.js +1 -1
  120. package/docs/configuration.md +11 -0
  121. package/docs/engineering-principles.md +32 -0
  122. package/docs/lsp-capability-matrix.md +1 -1
  123. package/docs/lsp-idle-eviction.md +15 -26
  124. package/docs/pi-lens-fixer.md +117 -13
  125. package/docs/pi-lens-merge-policy.md +97 -7
  126. package/docs/pi-lens-monitor.md +8 -2
  127. package/docs/pi-lens-retro.md +4 -1
  128. package/docs/pi-lens-reviewer.md +112 -4
  129. package/docs/pi-lens-subagent.md +22 -14
  130. package/docs/release-qa-baseline.md +3 -1
  131. package/docs/servercapabilities.md +9 -19
  132. package/package.json +7 -5
  133. package/scripts/download-grammars.js +40 -7
  134. package/scripts/lib/latency-log-phases.mjs +95 -0
  135. package/scripts/rpc-load-check.mjs +570 -81
  136. package/dist/chunk-3YN6V5TV.js +0 -85
  137. package/dist/chunk-466Z26MG.js +0 -30
  138. package/dist/chunk-EC47DWFA.js +0 -56
  139. package/dist/chunk-KDERNTCQ.js +0 -28
  140. package/dist/chunk-KSX3TXSZ.js +0 -69
  141. package/dist/chunk-LOP6GRPH.js +0 -31
  142. package/dist/chunk-UOPVJQ4N.js +0 -103
  143. /package/dist/{chunk-FC4RP4I2.js → chunk-6HWVI6MI.js} +0 -0
@@ -1,23 +1,23 @@
1
1
  import { createRequire as __pilensCreateRequire } from "node:module"; const require = __pilensCreateRequire(import.meta.url);
2
2
  import {
3
3
  resolveToolCwd
4
- } from "./chunk-Q7DUK4LX.js";
4
+ } from "./chunk-DEL2U6CM.js";
5
5
  import {
6
6
  allAvailableGlobalBinDirs,
7
7
  installArgs,
8
8
  pmBinary,
9
9
  resolveNodePackageManager
10
- } from "./chunk-AW7R2GWG.js";
10
+ } from "./chunk-5VSF4UUQ.js";
11
11
  import {
12
12
  probeToolAsync
13
- } from "./chunk-RWWYJ623.js";
13
+ } from "./chunk-3KAZU3VR.js";
14
14
  import {
15
15
  TRANSIENT_MAX_COOLDOWN_MS,
16
16
  classifyProbeFailure,
17
17
  createAvailabilityLatch,
18
18
  logAvailabilityDecision,
19
19
  startHostStallSampler
20
- } from "./chunk-VRZP76YM.js";
20
+ } from "./chunk-P63GXC37.js";
21
21
  import {
22
22
  acquireBoundedPidFileLock,
23
23
  acquireQuarantinePidFileLock,
@@ -33,11 +33,11 @@ import {
33
33
  safeSpawnAsync,
34
34
  startGenerationHeartbeat,
35
35
  tryAcquireGeneration
36
- } from "./chunk-C34ZXZ7O.js";
36
+ } from "./chunk-KUA4OJ5Y.js";
37
37
  import {
38
38
  assertInstallAllowed,
39
39
  projectTrustDenialReason
40
- } from "./chunk-ZANLILYD.js";
40
+ } from "./chunk-M2IFVFWU.js";
41
41
  import {
42
42
  DEFAULT_MAX_OUTPUT_BYTES,
43
43
  createBoundedOutputSink,
@@ -48,23 +48,23 @@ import {
48
48
  getDegradationLedgerGeneration,
49
49
  incrementDegradationCount,
50
50
  recordDegradationOnce
51
- } from "./chunk-JAU72XNY.js";
51
+ } from "./chunk-J64T55EI.js";
52
52
  import {
53
53
  logExtension
54
- } from "./chunk-XTMJ7XDT.js";
54
+ } from "./chunk-POMLXPMY.js";
55
55
  import {
56
56
  createNdjsonLogger,
57
57
  getGlobalPiLensLogDir,
58
58
  getMaxLogSizeMB,
59
59
  isTestMode
60
- } from "./chunk-AOHZU2BM.js";
60
+ } from "./chunk-YNE3RP52.js";
61
61
  import {
62
62
  BoundedLruCache
63
63
  } from "./chunk-ABBOA7UD.js";
64
64
  import {
65
65
  findLocalToolConfig,
66
66
  isFullyQualified
67
- } from "./chunk-N2H3ZPZY.js";
67
+ } from "./chunk-3RKP3FMS.js";
68
68
  import {
69
69
  __require
70
70
  } from "./chunk-NXL4FFQQ.js";
@@ -734,8 +734,8 @@ var TOOLS = [
734
734
  checkCommand: "jscpd",
735
735
  checkArgs: ["--version"],
736
736
  installStrategy: "npm",
737
- packageName: "jscpd@5.4.0",
738
- // v5.4.0 is the repository's exact devDependency; the v4 packaging defect that required the older v5.0.12 pin is gone, and parseReport() reads the unchanged clone-report fields.
737
+ packageName: "jscpd@5.4.1",
738
+ // v5.4.1 is the repository's exact devDependency; the v4 packaging defect that required the older v5.0.12 pin is gone, and parseReport() reads the unchanged clone-report fields.
739
739
  binaryName: "jscpd"
740
740
  },
741
741
  // Structural search and dead code detection
@@ -894,8 +894,8 @@ var TOOLS = [
894
894
  id: "helm",
895
895
  name: "Helm",
896
896
  checkCommand: "helm",
897
- // intended: version --short — unverified against real binary (shape 16), do not wire until probed
898
- checkArgs: ["--version"],
897
+ // Probed against helm 4.3.0: `--version` exits 1 ("unknown flag"), `version --short` exits 0.
898
+ checkArgs: ["version", "--short"],
899
899
  installStrategy: "github",
900
900
  binaryName: "helm",
901
901
  github: {
@@ -1229,8 +1229,8 @@ var TOOLS = [
1229
1229
  id: "spotbugs",
1230
1230
  name: "SpotBugs",
1231
1231
  checkCommand: "spotbugs",
1232
- // intended: -version — unverified against real binary (shape 16), do not wire until probed
1233
- checkArgs: ["--version"],
1232
+ // Probed against spotbugs 4.10.2 (JRE 21): `--version` exits 1 ("Unknown option"), `-version` prints 4.10.2.
1233
+ checkArgs: ["-version"],
1234
1234
  installStrategy: "archive",
1235
1235
  binaryName: "spotbugs",
1236
1236
  archive: {
@@ -1501,7 +1501,7 @@ var TOOLS = [
1501
1501
  id: "gitleaks",
1502
1502
  name: "gitleaks",
1503
1503
  checkCommand: "gitleaks",
1504
- // intended: version — unverified against real binary (shape 16), do not wire until probed
1504
+ // Probed against gitleaks 8.30.1: `--version` exits 0.
1505
1505
  checkArgs: ["--version"],
1506
1506
  installStrategy: "github",
1507
1507
  binaryName: "gitleaks",
@@ -1606,7 +1606,7 @@ var TOOLS = [
1606
1606
  id: "terraform-ls",
1607
1607
  name: "terraform-ls",
1608
1608
  checkCommand: "terraform-ls",
1609
- // intended: version — unverified against real binary (shape 16), do not wire until probed
1609
+ // Probed against terraform-ls 0.39.0: `--version` exits 0.
1610
1610
  checkArgs: ["--version"],
1611
1611
  installStrategy: "github",
1612
1612
  binaryName: "terraform-ls",
@@ -2377,16 +2377,16 @@ var lastInstallResolutionId = /* @__PURE__ */ new Map();
2377
2377
  function wasLastResolveTransient(toolId) {
2378
2378
  return lastResolveTransient.get(toolId) ?? false;
2379
2379
  }
2380
- async function getToolPath(toolId) {
2380
+ async function getToolPath(toolId, opts) {
2381
2381
  let sawTransient = false;
2382
2382
  const markTransient = () => {
2383
2383
  sawTransient = true;
2384
2384
  };
2385
- const result = await getToolPathResolved(toolId, markTransient);
2385
+ const result = await getToolPathResolved(toolId, markTransient, opts?.storeOnly === true);
2386
2386
  lastResolveTransient.set(toolId, sawTransient);
2387
2387
  return result;
2388
2388
  }
2389
- async function getToolPathResolved(toolId, onTransient) {
2389
+ async function getToolPathResolved(toolId, onTransient, storeOnly) {
2390
2390
  const tool = TOOLS.find((t) => t.id === toolId);
2391
2391
  if (!tool)
2392
2392
  return void 0;
@@ -2445,6 +2445,9 @@ async function getToolPathResolved(toolId, onTransient) {
2445
2445
  if (githubPath)
2446
2446
  return githubPath;
2447
2447
  }
2448
+ if (storeOnly) {
2449
+ return tool.installStrategy === "pip" ? findPipUserToolPath(tool.binaryName || tool.id, onTransient, tool.checkArgs, getToolVerificationTimeout(tool), true) : void 0;
2450
+ }
2448
2451
  if (await isCommandAvailable(tool.checkCommand)) {
2449
2452
  if (packageEntryVerification(tool) !== void 0)
2450
2453
  return tool.checkCommand;
@@ -2587,12 +2590,12 @@ async function getNpmGlobalBinCandidates(onTransient) {
2587
2590
  }
2588
2591
  return dirs;
2589
2592
  }
2590
- async function findPipUserToolPath(binaryName, onTransient, verificationArgs = ["--version"], verificationTimeoutMs = 1e4) {
2593
+ async function findPipUserToolPath(binaryName, onTransient, verificationArgs = ["--version"], verificationTimeoutMs = 1e4, piLensPrefixesOnly = false) {
2591
2594
  const isWindows = installerPlatform() === "win32";
2592
2595
  const userBaseCandidates = [
2593
2596
  path3.join(getGlobalPiLensDir(), "pip-tools"),
2594
2597
  path3.join(getGlobalPiLensDir(), "pip-user"),
2595
- ...await getPythonUserBaseCandidates()
2598
+ ...piLensPrefixesOnly ? [] : await getPythonUserBaseCandidates()
2596
2599
  ];
2597
2600
  for (const userBase of userBaseCandidates) {
2598
2601
  const scriptDirs = [pipScriptsDir(userBase, installerPlatform())];
@@ -4057,7 +4060,7 @@ async function stampInstallResolution(toolId) {
4057
4060
  return;
4058
4061
  try {
4059
4062
  const resolutionId = lastInstallResolutionId.get(toolId);
4060
- const refresh = await import("./chunk-5UCAH366.js");
4063
+ const refresh = await import("./chunk-2KXTHF3M.js");
4061
4064
  await refresh.stampManagedToolInstall(toolId, resolutionId);
4062
4065
  } catch {
4063
4066
  }
@@ -4070,7 +4073,7 @@ async function finishInstallAttempt(toolId, ok, startedAt) {
4070
4073
  if (ok) {
4071
4074
  resetSafeSpawnWindowsCommandCache();
4072
4075
  try {
4073
- const { resetMadgeManagedPathMemo } = await import("./chunk-EC47DWFA.js");
4076
+ const { resetMadgeManagedPathMemo } = await import("./chunk-LZSEQW6A.js");
4074
4077
  resetMadgeManagedPathMemo();
4075
4078
  } catch (err) {
4076
4079
  logSessionStart(`auto-install ${toolId}: madge memo reset failed: ${err.message}`);
@@ -4100,7 +4103,7 @@ async function installTool(toolId, ownsLock) {
4100
4103
  return false;
4101
4104
  const npmPath = await installNpmTool(tool.id, tool.packageName, tool.binaryName, tool.checkArgs, getToolVerificationTimeout(tool), packageEntryVerification(tool), ownsLock);
4102
4105
  if (npmPath !== void 0) {
4103
- await import("./chunk-5UCAH366.js").then((m) => m.stampManagedToolInstalled(tool.id, tool.packageName)).catch(() => {
4106
+ await import("./chunk-2KXTHF3M.js").then((m) => m.stampManagedToolInstalled(tool.id, tool.packageName)).catch(() => {
4104
4107
  });
4105
4108
  }
4106
4109
  return finishInstallAttempt(tool.id, npmPath !== void 0, startedAt);
@@ -4470,13 +4473,13 @@ function resolveDerivedHashiCorpReleaseAsset(toolId, tagName, platform, arch) {
4470
4473
  }
4471
4474
 
4472
4475
  export {
4473
- commitDurableStore,
4474
- commitDurableStoreAsync,
4475
4476
  findLocalZizmorConfig,
4476
4477
  isZizmorAuditTarget,
4477
4478
  resetZizmorTokenAvailability,
4478
4479
  resolveZizmorGitHubToken,
4479
4480
  logSessionStart,
4481
+ commitDurableStore,
4482
+ commitDurableStoreAsync,
4480
4483
  getManagedToolsDir,
4481
4484
  TOOLS,
4482
4485
  getToolVerificationTimeout,
@@ -8,36 +8,36 @@ import {
8
8
  isExcludedTestTarget,
9
9
  isRunnerErrorResult,
10
10
  stripWrapperArgs
11
- } from "./chunk-VCO24T4L.js";
12
- import "./chunk-FC4RP4I2.js";
13
- import "./chunk-FCSOVF55.js";
14
- import "./chunk-PNQDPDRC.js";
15
- import "./chunk-P7266HLM.js";
11
+ } from "./chunk-SD4I7ZO4.js";
12
+ import "./chunk-6HWVI6MI.js";
13
+ import "./chunk-CUHSHSB6.js";
14
+ import "./chunk-UA7ZXYDR.js";
15
+ import "./chunk-MPNJLASA.js";
16
16
  import "./chunk-Z3CCVDUB.js";
17
- import "./chunk-Q7DUK4LX.js";
18
- import "./chunk-AW7R2GWG.js";
19
- import "./chunk-RWWYJ623.js";
20
- import "./chunk-VRZP76YM.js";
21
- import "./chunk-QOBUHWHX.js";
22
- import "./chunk-QILIYSJF.js";
23
- import "./chunk-6C7JWPCP.js";
24
- import "./chunk-5NGR67U5.js";
25
- import "./chunk-C34ZXZ7O.js";
17
+ import "./chunk-DEL2U6CM.js";
18
+ import "./chunk-5VSF4UUQ.js";
19
+ import "./chunk-3KAZU3VR.js";
20
+ import "./chunk-P63GXC37.js";
21
+ import "./chunk-HRNHZA3N.js";
22
+ import "./chunk-TLX72JTG.js";
23
+ import "./chunk-DGUKIYSI.js";
24
+ import "./chunk-XBJVAEEO.js";
25
+ import "./chunk-KUA4OJ5Y.js";
26
26
  import "./chunk-BW5KFIQC.js";
27
27
  import "./chunk-QYF5S6P6.js";
28
- import "./chunk-PHDMFAKM.js";
29
- import "./chunk-2BBLFX75.js";
30
- import "./chunk-XVF2VVXP.js";
31
- import "./chunk-ZANLILYD.js";
28
+ import "./chunk-DUO2TU77.js";
29
+ import "./chunk-J6MPGQTS.js";
30
+ import "./chunk-5HSRT26B.js";
31
+ import "./chunk-M2IFVFWU.js";
32
32
  import "./chunk-2EECBNC5.js";
33
- import "./chunk-JAU72XNY.js";
34
- import "./chunk-XTMJ7XDT.js";
33
+ import "./chunk-J64T55EI.js";
34
+ import "./chunk-POMLXPMY.js";
35
35
  import "./chunk-JMYYOTQG.js";
36
- import "./chunk-QQNQ7SJW.js";
37
- import "./chunk-AOHZU2BM.js";
36
+ import "./chunk-QBFBRV2B.js";
37
+ import "./chunk-YNE3RP52.js";
38
38
  import "./chunk-LJDODBBZ.js";
39
39
  import "./chunk-ABBOA7UD.js";
40
- import "./chunk-N2H3ZPZY.js";
40
+ import "./chunk-3RKP3FMS.js";
41
41
  import "./chunk-NXL4FFQQ.js";
42
42
  export {
43
43
  MAX_CANONICAL_ROOT_MEMO_ENTRIES,
@@ -7,20 +7,20 @@ import {
7
7
  loadCallGraph,
8
8
  parseSymbolKey,
9
9
  saveCallGraph
10
- } from "./chunk-WOA4LN2R.js";
10
+ } from "./chunk-7D6L4MTX.js";
11
11
  import "./chunk-3MED75HT.js";
12
- import "./chunk-C34ZXZ7O.js";
13
- import "./chunk-2BBLFX75.js";
14
- import "./chunk-XVF2VVXP.js";
12
+ import "./chunk-KUA4OJ5Y.js";
13
+ import "./chunk-J6MPGQTS.js";
14
+ import "./chunk-5HSRT26B.js";
15
15
  import "./chunk-2EECBNC5.js";
16
- import "./chunk-JAU72XNY.js";
17
- import "./chunk-XTMJ7XDT.js";
16
+ import "./chunk-J64T55EI.js";
17
+ import "./chunk-POMLXPMY.js";
18
18
  import "./chunk-JMYYOTQG.js";
19
- import "./chunk-QQNQ7SJW.js";
20
- import "./chunk-AOHZU2BM.js";
19
+ import "./chunk-QBFBRV2B.js";
20
+ import "./chunk-YNE3RP52.js";
21
21
  import "./chunk-LJDODBBZ.js";
22
22
  import "./chunk-ABBOA7UD.js";
23
- import "./chunk-N2H3ZPZY.js";
23
+ import "./chunk-3RKP3FMS.js";
24
24
  import "./chunk-NXL4FFQQ.js";
25
25
  export {
26
26
  CALL_GRAPH_CACHE_VERSION,
@@ -12,22 +12,22 @@ import {
12
12
  isStartupScanVerdictFresh,
13
13
  resolveStartupScanContext,
14
14
  resolveStartupScanContextAsync
15
- } from "./chunk-3VPVG5SU.js";
16
- import "./chunk-GAEGEPOC.js";
17
- import "./chunk-5NGR67U5.js";
18
- import "./chunk-C34ZXZ7O.js";
15
+ } from "./chunk-U44DJXQP.js";
16
+ import "./chunk-7HXE67BN.js";
17
+ import "./chunk-XBJVAEEO.js";
18
+ import "./chunk-KUA4OJ5Y.js";
19
19
  import "./chunk-QYF5S6P6.js";
20
- import "./chunk-2BBLFX75.js";
21
- import "./chunk-XVF2VVXP.js";
20
+ import "./chunk-J6MPGQTS.js";
21
+ import "./chunk-5HSRT26B.js";
22
22
  import "./chunk-2EECBNC5.js";
23
- import "./chunk-JAU72XNY.js";
24
- import "./chunk-XTMJ7XDT.js";
23
+ import "./chunk-J64T55EI.js";
24
+ import "./chunk-POMLXPMY.js";
25
25
  import "./chunk-JMYYOTQG.js";
26
- import "./chunk-QQNQ7SJW.js";
27
- import "./chunk-AOHZU2BM.js";
26
+ import "./chunk-QBFBRV2B.js";
27
+ import "./chunk-YNE3RP52.js";
28
28
  import "./chunk-LJDODBBZ.js";
29
29
  import "./chunk-ABBOA7UD.js";
30
- import "./chunk-N2H3ZPZY.js";
30
+ import "./chunk-3RKP3FMS.js";
31
31
  import "./chunk-NXL4FFQQ.js";
32
32
  export {
33
33
  MAX_STARTUP_SCAN_ENTRIES,
@@ -1,10 +1,10 @@
1
1
  import { createRequire as __pilensCreateRequire } from "node:module"; const require = __pilensCreateRequire(import.meta.url);
2
2
  import {
3
3
  tryLazyInstallForFormatter
4
- } from "./chunk-OXXKQCSV.js";
4
+ } from "./chunk-UBOQLVT2.js";
5
5
  import {
6
6
  stripAnsi
7
- } from "./chunk-FC4RP4I2.js";
7
+ } from "./chunk-6HWVI6MI.js";
8
8
  import {
9
9
  OXFMT_SUPPORTED_EXTENSIONS,
10
10
  findPSScriptAnalyzerConfigPath,
@@ -46,59 +46,59 @@ import {
46
46
  hasTerraformConfig,
47
47
  hasVitePlusConfig,
48
48
  stripGradleCommentsAndStrings
49
- } from "./chunk-RPLINGVB.js";
50
- import {
51
- load
52
- } from "./chunk-QOZXJ4NA.js";
49
+ } from "./chunk-Y6GZHWSJ.js";
53
50
  import {
54
51
  readTextFileOrUndefined,
55
52
  resolveCargoPackageEdition
56
- } from "./chunk-P7266HLM.js";
53
+ } from "./chunk-MPNJLASA.js";
54
+ import {
55
+ load
56
+ } from "./chunk-FM4RDMKT.js";
57
57
  import {
58
58
  getToolPath
59
- } from "./chunk-ACXEQZOU.js";
59
+ } from "./chunk-GAQ7OQG6.js";
60
60
  import {
61
61
  resolveToolCwd
62
- } from "./chunk-Q7DUK4LX.js";
62
+ } from "./chunk-DEL2U6CM.js";
63
63
  import {
64
64
  VENDOR_BIN_DIRS,
65
65
  VENV_BIN_DIRS,
66
66
  findGlobalBinary,
67
67
  findLocalBinUpwards,
68
68
  localBinPath
69
- } from "./chunk-AW7R2GWG.js";
69
+ } from "./chunk-5VSF4UUQ.js";
70
70
  import {
71
71
  getIsolatedNpxSpawnOptions,
72
72
  probeToolAsync
73
- } from "./chunk-RWWYJ623.js";
73
+ } from "./chunk-3KAZU3VR.js";
74
74
  import {
75
75
  classifyProbeFailure,
76
76
  createAvailabilityLatch,
77
77
  logAvailabilityDecision,
78
78
  startHostStallSampler
79
- } from "./chunk-VRZP76YM.js";
79
+ } from "./chunk-P63GXC37.js";
80
80
  import {
81
81
  createGenerationSource,
82
82
  safeSpawnAsync
83
- } from "./chunk-C34ZXZ7O.js";
83
+ } from "./chunk-KUA4OJ5Y.js";
84
84
  import {
85
85
  TERRAGRUNT_FILENAMES
86
- } from "./chunk-PHDMFAKM.js";
86
+ } from "./chunk-DUO2TU77.js";
87
87
  import {
88
88
  assertInstallAllowed
89
- } from "./chunk-ZANLILYD.js";
89
+ } from "./chunk-M2IFVFWU.js";
90
90
  import {
91
91
  compareOrdinal,
92
92
  getDegradationLedgerGeneration,
93
93
  incrementDegradationCount,
94
94
  recordDegradationOnce
95
- } from "./chunk-JAU72XNY.js";
95
+ } from "./chunk-J64T55EI.js";
96
96
  import {
97
97
  logExtension
98
- } from "./chunk-XTMJ7XDT.js";
98
+ } from "./chunk-POMLXPMY.js";
99
99
  import {
100
100
  logLatency
101
- } from "./chunk-QQNQ7SJW.js";
101
+ } from "./chunk-QBFBRV2B.js";
102
102
  import {
103
103
  BoundedFifoMap,
104
104
  BoundedLruCache
@@ -108,7 +108,7 @@ import {
108
108
  findNearestMarkerRoot,
109
109
  normalizeMapKey,
110
110
  toPosix
111
- } from "./chunk-N2H3ZPZY.js";
111
+ } from "./chunk-3RKP3FMS.js";
112
112
 
113
113
  // dist/clients/formatters.js
114
114
  import { AsyncLocalStorage } from "node:async_hooks";
@@ -316,7 +316,7 @@ function detectIndentation(content) {
316
316
  return hasDetectableIndentation(content) ? void 0 : DEFAULT_INDENTATION;
317
317
  }
318
318
  if (tabs > spaceCounts.length)
319
- return { style: "tab", width: 1 };
319
+ return { style: "tab" };
320
320
  if (spaceCounts.length > tabs) {
321
321
  const minimum = Math.min(...spaceCounts);
322
322
  const gcd = spaceCounts.reduce((unit, count) => greatestCommonDivisor(unit, count), 0);
@@ -1503,29 +1503,21 @@ async function indentationArgs(filePath, tool, cwd) {
1503
1503
  });
1504
1504
  return null;
1505
1505
  }
1506
+ const tab = indentation.style === "tab";
1506
1507
  if (tool === "shfmt")
1507
- return indentation.style === "tab" ? ["-i", "0"] : ["-i", String(indentation.width)];
1508
+ return tab ? ["-i", "0"] : ["-i", String(indentation.width)];
1508
1509
  if (tool === "prettier") {
1509
- return [
1510
- indentation.style === "tab" ? "--use-tabs" : "--no-use-tabs",
1511
- "--tab-width",
1512
- String(indentation.width)
1513
- ];
1510
+ return tab ? ["--use-tabs"] : ["--no-use-tabs", "--tab-width", String(indentation.width)];
1514
1511
  }
1515
1512
  if (tool === "ruff") {
1516
- return [
1513
+ return tab ? ["--config", "format.indent-style='tab'"] : [
1517
1514
  "--config",
1518
1515
  `indent-width=${indentation.width}`,
1519
1516
  "--config",
1520
- `format.indent-style='${indentation.style}'`
1517
+ "format.indent-style='space'"
1521
1518
  ];
1522
1519
  }
1523
- return [
1524
- "--indent-style",
1525
- indentation.style,
1526
- "--indent-width",
1527
- String(indentation.width)
1528
- ];
1520
+ return tab ? ["--indent-style", "tab"] : ["--indent-style", "space", "--indent-width", String(indentation.width)];
1529
1521
  }
1530
1522
  function resolveFormatterCwd(absolutePath, formatterName, homeDir = os2.homedir()) {
1531
1523
  return resolveToolCwd("formatter", formatterName ?? "unknown", absolutePath, {
@@ -1,13 +1,13 @@
1
1
  import { createRequire as __pilensCreateRequire } from "node:module"; const require = __pilensCreateRequire(import.meta.url);
2
2
  import {
3
3
  getGlobalPiLensDir
4
- } from "./chunk-C34ZXZ7O.js";
4
+ } from "./chunk-KUA4OJ5Y.js";
5
5
  import {
6
6
  SPECIAL_FILENAMES
7
- } from "./chunk-PHDMFAKM.js";
7
+ } from "./chunk-DUO2TU77.js";
8
8
  import {
9
9
  getTurnId
10
- } from "./chunk-AOHZU2BM.js";
10
+ } from "./chunk-YNE3RP52.js";
11
11
  import {
12
12
  BoundedFifoMap
13
13
  } from "./chunk-ABBOA7UD.js";
@@ -0,0 +1,30 @@
1
+ import { createRequire as __pilensCreateRequire } from "node:module"; const require = __pilensCreateRequire(import.meta.url);
2
+ import {
3
+ importFactProvider,
4
+ importFactsApplyTo
5
+ } from "./chunk-IYNJ6YPZ.js";
6
+ import "./chunk-T57LYLZT.js";
7
+ import "./chunk-US7ECLD7.js";
8
+ import "./chunk-Z54ZSOBZ.js";
9
+ import "./chunk-GXFV6MYU.js";
10
+ import "./chunk-FM4RDMKT.js";
11
+ import "./chunk-P63GXC37.js";
12
+ import "./chunk-KUA4OJ5Y.js";
13
+ import "./chunk-DUO2TU77.js";
14
+ import "./chunk-J6MPGQTS.js";
15
+ import "./chunk-5HSRT26B.js";
16
+ import "./chunk-M2IFVFWU.js";
17
+ import "./chunk-2EECBNC5.js";
18
+ import "./chunk-J64T55EI.js";
19
+ import "./chunk-POMLXPMY.js";
20
+ import "./chunk-JMYYOTQG.js";
21
+ import "./chunk-QBFBRV2B.js";
22
+ import "./chunk-YNE3RP52.js";
23
+ import "./chunk-LJDODBBZ.js";
24
+ import "./chunk-ABBOA7UD.js";
25
+ import "./chunk-3RKP3FMS.js";
26
+ import "./chunk-NXL4FFQQ.js";
27
+ export {
28
+ importFactProvider,
29
+ importFactsApplyTo
30
+ };
@@ -1,14 +1,14 @@
1
1
  import { createRequire as __pilensCreateRequire } from "node:module"; const require = __pilensCreateRequire(import.meta.url);
2
2
  import {
3
3
  getSourceFiles
4
- } from "./chunk-QILIYSJF.js";
4
+ } from "./chunk-TLX72JTG.js";
5
5
  import {
6
6
  readDirEntriesSafe,
7
7
  shouldRecurseIntoDir
8
- } from "./chunk-5NGR67U5.js";
8
+ } from "./chunk-XBJVAEEO.js";
9
9
  import {
10
10
  getProjectIgnoreMatcher
11
- } from "./chunk-C34ZXZ7O.js";
11
+ } from "./chunk-KUA4OJ5Y.js";
12
12
  import {
13
13
  CODE_KINDS,
14
14
  DOTNET_CSHARP_ROOT_MARKERS,
@@ -17,18 +17,18 @@ import {
17
17
  LEAN_ROOT_MARKERS,
18
18
  TERRAGRUNT_FILENAMES,
19
19
  detectFileKind
20
- } from "./chunk-PHDMFAKM.js";
20
+ } from "./chunk-DUO2TU77.js";
21
21
  import {
22
22
  findNearestDirWithAnyBasename,
23
23
  registerWorkspaceTopologyReset
24
- } from "./chunk-XVF2VVXP.js";
24
+ } from "./chunk-5HSRT26B.js";
25
25
  import {
26
26
  BoundedLruCache
27
27
  } from "./chunk-ABBOA7UD.js";
28
28
  import {
29
29
  direntsHaveMarkerGlobMatch,
30
30
  normalizeMapKey
31
- } from "./chunk-N2H3ZPZY.js";
31
+ } from "./chunk-3RKP3FMS.js";
32
32
 
33
33
  // dist/clients/language-profile.js
34
34
  import * as fs from "node:fs";
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __pilensCreateRequire } from "node:module"; const require = __pilensCreateRequire(import.meta.url);
2
2
  import {
3
3
  findLocalToolConfig
4
- } from "./chunk-N2H3ZPZY.js";
4
+ } from "./chunk-3RKP3FMS.js";
5
5
 
6
6
  // dist/clients/opengrep-config.js
7
7
  import * as path from "node:path";
@@ -2,16 +2,16 @@ import { createRequire as __pilensCreateRequire } from "node:module"; const requ
2
2
  import {
3
3
  createAvailabilityProbeFlight,
4
4
  probeToolAsync
5
- } from "./chunk-RWWYJ623.js";
5
+ } from "./chunk-3KAZU3VR.js";
6
6
  import {
7
7
  classifyProbeFailure,
8
8
  createAvailabilityLatch,
9
9
  logAvailabilityDecision,
10
10
  startHostStallSampler
11
- } from "./chunk-VRZP76YM.js";
11
+ } from "./chunk-P63GXC37.js";
12
12
  import {
13
13
  createGenerationSource
14
- } from "./chunk-C34ZXZ7O.js";
14
+ } from "./chunk-KUA4OJ5Y.js";
15
15
  import {
16
16
  createSingleFlight
17
17
  } from "./chunk-BW5KFIQC.js";