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
@@ -2,7 +2,7 @@ import { createRequire as __pilensCreateRequire } from "node:module"; const requ
2
2
  import {
3
3
  getGlobalPiLensDir,
4
4
  safeSpawnAsync
5
- } from "./chunk-C34ZXZ7O.js";
5
+ } from "./chunk-KUA4OJ5Y.js";
6
6
  import {
7
7
  createSingleFlight
8
8
  } from "./chunk-BW5KFIQC.js";
@@ -0,0 +1,28 @@
1
+ import { createRequire as __pilensCreateRequire } from "node:module"; const require = __pilensCreateRequire(import.meta.url);
2
+ import {
3
+ GovulncheckClient,
4
+ parseGovulncheckJson
5
+ } from "./chunk-IUE7SSKV.js";
6
+ import "./chunk-S67KYG37.js";
7
+ import "./chunk-TIQ2PKDW.js";
8
+ import "./chunk-3KAZU3VR.js";
9
+ import "./chunk-P63GXC37.js";
10
+ import "./chunk-KUA4OJ5Y.js";
11
+ import "./chunk-BW5KFIQC.js";
12
+ import "./chunk-J6MPGQTS.js";
13
+ import "./chunk-5HSRT26B.js";
14
+ import "./chunk-M2IFVFWU.js";
15
+ import "./chunk-2EECBNC5.js";
16
+ import "./chunk-J64T55EI.js";
17
+ import "./chunk-POMLXPMY.js";
18
+ import "./chunk-JMYYOTQG.js";
19
+ import "./chunk-QBFBRV2B.js";
20
+ import "./chunk-YNE3RP52.js";
21
+ import "./chunk-LJDODBBZ.js";
22
+ import "./chunk-ABBOA7UD.js";
23
+ import "./chunk-3RKP3FMS.js";
24
+ import "./chunk-NXL4FFQQ.js";
25
+ export {
26
+ GovulncheckClient,
27
+ parseGovulncheckJson
28
+ };
@@ -0,0 +1,31 @@
1
+ import { createRequire as __pilensCreateRequire } from "node:module"; const require = __pilensCreateRequire(import.meta.url);
2
+ import {
3
+ calcCyclomaticComplexity,
4
+ functionFactProvider
5
+ } from "./chunk-EUXZEFTV.js";
6
+ import "./chunk-T57LYLZT.js";
7
+ import "./chunk-5W3R6LFT.js";
8
+ import "./chunk-US7ECLD7.js";
9
+ import "./chunk-Z54ZSOBZ.js";
10
+ import "./chunk-GXFV6MYU.js";
11
+ import "./chunk-FM4RDMKT.js";
12
+ import "./chunk-P63GXC37.js";
13
+ import "./chunk-KUA4OJ5Y.js";
14
+ import "./chunk-DUO2TU77.js";
15
+ import "./chunk-J6MPGQTS.js";
16
+ import "./chunk-5HSRT26B.js";
17
+ import "./chunk-M2IFVFWU.js";
18
+ import "./chunk-2EECBNC5.js";
19
+ import "./chunk-J64T55EI.js";
20
+ import "./chunk-POMLXPMY.js";
21
+ import "./chunk-JMYYOTQG.js";
22
+ import "./chunk-QBFBRV2B.js";
23
+ import "./chunk-YNE3RP52.js";
24
+ import "./chunk-LJDODBBZ.js";
25
+ import "./chunk-ABBOA7UD.js";
26
+ import "./chunk-3RKP3FMS.js";
27
+ import "./chunk-NXL4FFQQ.js";
28
+ export {
29
+ calcCyclomaticComplexity,
30
+ functionFactProvider
31
+ };
@@ -2400,5 +2400,6 @@ export {
2400
2400
  UV_WORKSPACE_MEMBERS_DIALECT,
2401
2401
  UV_WORKSPACE_EXCLUDE_DIALECT,
2402
2402
  matchesWorkspaceMemberPattern,
2403
+ normalizeHostToolPath,
2403
2404
  resolveHostToolPath
2404
2405
  };
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-JMYYOTQG.js";
5
5
  import {
6
6
  logLatency
7
- } from "./chunk-QQNQ7SJW.js";
7
+ } from "./chunk-QBFBRV2B.js";
8
8
  import {
9
9
  isAtOrAboveHomeDir,
10
10
  isWindowsPath,
@@ -12,7 +12,7 @@ import {
12
12
  normalizeFilePath,
13
13
  realpathOrResolve,
14
14
  walkUpDirs
15
- } from "./chunk-N2H3ZPZY.js";
15
+ } from "./chunk-3RKP3FMS.js";
16
16
 
17
17
  // dist/clients/workspace-topology.js
18
18
  import * as fs2 from "node:fs";
@@ -1,38 +1,38 @@
1
1
  import { createRequire as __pilensCreateRequire } from "node:module"; const require = __pilensCreateRequire(import.meta.url);
2
2
  import {
3
3
  scannerReportParentDir
4
- } from "./chunk-CSHFH5IN.js";
4
+ } from "./chunk-ED36RF6Y.js";
5
5
  import {
6
6
  getScratchTreeDirNames
7
- } from "./chunk-VCHXCQFG.js";
7
+ } from "./chunk-BWD5EPKO.js";
8
8
  import {
9
9
  SecurityScanClient
10
- } from "./chunk-3EFKIGZN.js";
10
+ } from "./chunk-TIQ2PKDW.js";
11
11
  import {
12
12
  resolveOpengrepConfig
13
- } from "./chunk-VWCXW2E7.js";
14
- import "./chunk-PNQDPDRC.js";
15
- import "./chunk-RWWYJ623.js";
16
- import "./chunk-VRZP76YM.js";
13
+ } from "./chunk-HWCCCQNX.js";
14
+ import "./chunk-UA7ZXYDR.js";
15
+ import "./chunk-3KAZU3VR.js";
16
+ import "./chunk-P63GXC37.js";
17
17
  import {
18
18
  safeSpawnAsync
19
- } from "./chunk-C34ZXZ7O.js";
19
+ } from "./chunk-KUA4OJ5Y.js";
20
20
  import "./chunk-BW5KFIQC.js";
21
- import "./chunk-2BBLFX75.js";
22
- import "./chunk-XVF2VVXP.js";
21
+ import "./chunk-J6MPGQTS.js";
22
+ import "./chunk-5HSRT26B.js";
23
23
  import "./chunk-2EECBNC5.js";
24
24
  import {
25
25
  recordDegradationOnce
26
- } from "./chunk-JAU72XNY.js";
27
- import "./chunk-XTMJ7XDT.js";
26
+ } from "./chunk-J64T55EI.js";
27
+ import "./chunk-POMLXPMY.js";
28
28
  import "./chunk-JMYYOTQG.js";
29
- import "./chunk-QQNQ7SJW.js";
30
- import "./chunk-AOHZU2BM.js";
29
+ import "./chunk-QBFBRV2B.js";
30
+ import "./chunk-YNE3RP52.js";
31
31
  import "./chunk-LJDODBBZ.js";
32
32
  import "./chunk-ABBOA7UD.js";
33
33
  import {
34
34
  realpathOrResolve
35
- } from "./chunk-N2H3ZPZY.js";
35
+ } from "./chunk-3RKP3FMS.js";
36
36
  import "./chunk-NXL4FFQQ.js";
37
37
 
38
38
  // dist/clients/opengrep-client.js
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __pilensCreateRequire } from "node:module"; const require = __pilensCreateRequire(import.meta.url);
2
2
  import {
3
3
  detectFileRole
4
- } from "./chunk-2BBLFX75.js";
4
+ } from "./chunk-J6MPGQTS.js";
5
5
 
6
6
  // dist/clients/collateral-test-role.js
7
7
  function isTestRoleCollateral(filePath) {
@@ -2,32 +2,32 @@ 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
  isTransientDecision,
10
10
  logAvailabilityDecision,
11
11
  startHostStallSampler
12
- } from "./chunk-VRZP76YM.js";
12
+ } from "./chunk-P63GXC37.js";
13
13
  import {
14
14
  createGenerationSource,
15
15
  safeSpawnAsync
16
- } from "./chunk-C34ZXZ7O.js";
16
+ } from "./chunk-KUA4OJ5Y.js";
17
17
  import {
18
18
  getProjectTrustState
19
- } from "./chunk-ZANLILYD.js";
19
+ } from "./chunk-M2IFVFWU.js";
20
20
  import {
21
21
  recordDegradationOnce
22
- } from "./chunk-JAU72XNY.js";
22
+ } from "./chunk-J64T55EI.js";
23
23
  import {
24
24
  logExtension
25
- } from "./chunk-XTMJ7XDT.js";
25
+ } from "./chunk-POMLXPMY.js";
26
26
  import {
27
27
  isAtOrAboveHomeDir,
28
28
  isUnderDir,
29
29
  walkUpDirs
30
- } from "./chunk-N2H3ZPZY.js";
30
+ } from "./chunk-3RKP3FMS.js";
31
31
 
32
32
  // dist/clients/package-manager.js
33
33
  import * as fs from "node:fs";
@@ -300,6 +300,10 @@ function isProjectLocalBinPath(resolvedCommand, cwd) {
300
300
  }
301
301
  return false;
302
302
  }
303
+ function commandSearchReachesProject(cwd) {
304
+ const posix = process.platform !== "win32";
305
+ return (process.env.PATH ?? "").split(path.delimiter).some((entry) => entry === "" ? posix : !path.isAbsolute(entry) || isUnderDir(entry, cwd) || isProjectLocalBinPath(entry, cwd));
306
+ }
303
307
  function expandCandidateNames(tools, windowsExt, isWindows) {
304
308
  return isWindows && windowsExt !== "" ? tools.flatMap((tool) => [`${tool}${windowsExt}`, tool]) : [...tools];
305
309
  }
@@ -358,6 +362,7 @@ export {
358
362
  VENV_BIN_DIRS,
359
363
  localBinPath,
360
364
  isProjectLocalBinPath,
365
+ commandSearchReachesProject,
361
366
  findLocalBinUpwards,
362
367
  findLocalBinsAt,
363
368
  findLocalBinAt,
@@ -9,30 +9,30 @@ import {
9
9
  getDeadCodeClients,
10
10
  parseVultureOutput,
11
11
  stableFindingKey
12
- } from "./chunk-OCAGUNBC.js";
12
+ } from "./chunk-RKKOYPRA.js";
13
13
  import "./chunk-7U2IDNXN.js";
14
- import "./chunk-2CD5RS6M.js";
15
- import "./chunk-UZ3TUTRV.js";
16
- import "./chunk-VCHXCQFG.js";
17
- import "./chunk-PNQDPDRC.js";
18
- import "./chunk-P7266HLM.js";
19
- import "./chunk-AW7R2GWG.js";
20
- import "./chunk-RWWYJ623.js";
21
- import "./chunk-VRZP76YM.js";
22
- import "./chunk-C34ZXZ7O.js";
14
+ import "./chunk-RKBXZN3A.js";
15
+ import "./chunk-S67KYG37.js";
16
+ import "./chunk-BWD5EPKO.js";
17
+ import "./chunk-UA7ZXYDR.js";
18
+ import "./chunk-MPNJLASA.js";
19
+ import "./chunk-5VSF4UUQ.js";
20
+ import "./chunk-3KAZU3VR.js";
21
+ import "./chunk-P63GXC37.js";
22
+ import "./chunk-KUA4OJ5Y.js";
23
23
  import "./chunk-BW5KFIQC.js";
24
- import "./chunk-2BBLFX75.js";
25
- import "./chunk-XVF2VVXP.js";
26
- import "./chunk-ZANLILYD.js";
24
+ import "./chunk-J6MPGQTS.js";
25
+ import "./chunk-5HSRT26B.js";
26
+ import "./chunk-M2IFVFWU.js";
27
27
  import "./chunk-2EECBNC5.js";
28
- import "./chunk-JAU72XNY.js";
29
- import "./chunk-XTMJ7XDT.js";
28
+ import "./chunk-J64T55EI.js";
29
+ import "./chunk-POMLXPMY.js";
30
30
  import "./chunk-JMYYOTQG.js";
31
- import "./chunk-QQNQ7SJW.js";
32
- import "./chunk-AOHZU2BM.js";
31
+ import "./chunk-QBFBRV2B.js";
32
+ import "./chunk-YNE3RP52.js";
33
33
  import "./chunk-LJDODBBZ.js";
34
34
  import "./chunk-ABBOA7UD.js";
35
- import "./chunk-N2H3ZPZY.js";
35
+ import "./chunk-3RKP3FMS.js";
36
36
  import "./chunk-NXL4FFQQ.js";
37
37
  export {
38
38
  DEAD_CODE_DELTA_MAX_SHOWN,
@@ -4,77 +4,78 @@ import {
4
4
  } from "./chunk-7U2IDNXN.js";
5
5
  import {
6
6
  formatToolFailure
7
- } from "./chunk-2CD5RS6M.js";
7
+ } from "./chunk-RKBXZN3A.js";
8
8
  import {
9
9
  spawnFailedWithNoOutput
10
- } from "./chunk-UZ3TUTRV.js";
10
+ } from "./chunk-S67KYG37.js";
11
11
  import {
12
12
  createAvailabilityChecker,
13
13
  findManagedNodeToolBinary,
14
14
  getManagedToolEnvironment,
15
15
  resolveAvailableOrInstall
16
- } from "./chunk-YSZNHOBY.js";
17
- import "./chunk-RPLINGVB.js";
18
- import "./chunk-EU63SDCG.js";
19
- import "./chunk-VWCXW2E7.js";
20
- import "./chunk-FCSOVF55.js";
16
+ } from "./chunk-ZHH37KZL.js";
17
+ import "./chunk-Y6GZHWSJ.js";
18
+ import "./chunk-3DA2JDOL.js";
19
+ import "./chunk-HWCCCQNX.js";
20
+ import "./chunk-CUHSHSB6.js";
21
21
  import {
22
22
  canonicalDirectory,
23
23
  listNestedLinkedWorktreeRoots
24
- } from "./chunk-PNQDPDRC.js";
25
- import "./chunk-ZXYDQ3TZ.js";
26
- import "./chunk-724UL2TJ.js";
27
- import "./chunk-QOZXJ4NA.js";
28
- import "./chunk-P7266HLM.js";
29
- import "./chunk-52FUZI6K.js";
30
- import "./chunk-SAEFPSB6.js";
31
- import "./chunk-GAEGEPOC.js";
24
+ } from "./chunk-UA7ZXYDR.js";
25
+ import "./chunk-T7FEBKXN.js";
26
+ import "./chunk-MPNJLASA.js";
27
+ import "./chunk-GXFV6MYU.js";
28
+ import "./chunk-FM4RDMKT.js";
29
+ import "./chunk-RMLC67LF.js";
30
+ import "./chunk-W66O5E25.js";
31
+ import "./chunk-7HXE67BN.js";
32
32
  import "./chunk-Z3CCVDUB.js";
33
33
  import "./chunk-2BEMIWEW.js";
34
+ import "./chunk-IJYGIDF4.js";
34
35
  import {
35
36
  logSessionStart
36
- } from "./chunk-ACXEQZOU.js";
37
- import "./chunk-Q7DUK4LX.js";
37
+ } from "./chunk-GAQ7OQG6.js";
38
+ import "./chunk-DEL2U6CM.js";
38
39
  import {
39
40
  findLocalBinUpwards,
40
41
  localBinPath
41
- } from "./chunk-AW7R2GWG.js";
42
- import "./chunk-RWWYJ623.js";
42
+ } from "./chunk-5VSF4UUQ.js";
43
+ import "./chunk-3KAZU3VR.js";
43
44
  import {
44
45
  createAvailabilityLatch,
45
46
  describeUnavailability
46
- } from "./chunk-VRZP76YM.js";
47
- import "./chunk-QOBUHWHX.js";
48
- import "./chunk-QILIYSJF.js";
49
- import "./chunk-6C7JWPCP.js";
50
- import "./chunk-5NGR67U5.js";
47
+ } from "./chunk-P63GXC37.js";
48
+ import "./chunk-HRNHZA3N.js";
49
+ import "./chunk-TLX72JTG.js";
50
+ import "./chunk-DGUKIYSI.js";
51
+ import "./chunk-XBJVAEEO.js";
51
52
  import {
52
53
  getProjectDataDir,
53
54
  safeSpawnAsync
54
- } from "./chunk-C34ZXZ7O.js";
55
+ } from "./chunk-KUA4OJ5Y.js";
55
56
  import "./chunk-BW5KFIQC.js";
56
57
  import "./chunk-QYF5S6P6.js";
57
- import "./chunk-PHDMFAKM.js";
58
- import "./chunk-2BBLFX75.js";
59
- import "./chunk-XVF2VVXP.js";
60
- import "./chunk-ZANLILYD.js";
58
+ import "./chunk-DUO2TU77.js";
59
+ import "./chunk-J6MPGQTS.js";
60
+ import "./chunk-5HSRT26B.js";
61
+ import "./chunk-M2IFVFWU.js";
61
62
  import "./chunk-2EECBNC5.js";
62
63
  import {
63
64
  incrementDegradationCount
64
- } from "./chunk-JAU72XNY.js";
65
+ } from "./chunk-J64T55EI.js";
65
66
  import {
66
67
  createSubsystemLogger
67
- } from "./chunk-XTMJ7XDT.js";
68
+ } from "./chunk-POMLXPMY.js";
68
69
  import "./chunk-JMYYOTQG.js";
69
- import "./chunk-QQNQ7SJW.js";
70
- import "./chunk-AOHZU2BM.js";
70
+ import "./chunk-QBFBRV2B.js";
71
+ import "./chunk-YNE3RP52.js";
71
72
  import "./chunk-LJDODBBZ.js";
72
73
  import "./chunk-ABBOA7UD.js";
73
74
  import {
74
75
  findNearestMarkerRoot,
75
76
  normalizeEphemeralMapKey,
76
77
  normalizeFilePath
77
- } from "./chunk-N2H3ZPZY.js";
78
+ } from "./chunk-3RKP3FMS.js";
78
79
  import "./chunk-NXL4FFQQ.js";
79
80
 
80
81
  // dist/clients/knip-client.js
@@ -4,14 +4,14 @@ import {
4
4
  } from "./chunk-3MED75HT.js";
5
5
  import {
6
6
  getProjectDataDir
7
- } from "./chunk-C34ZXZ7O.js";
7
+ } from "./chunk-KUA4OJ5Y.js";
8
8
  import {
9
9
  writeFileAtomic
10
10
  } from "./chunk-2EECBNC5.js";
11
11
  import {
12
12
  normalizeMapKey,
13
13
  toProjectRelativePath
14
- } from "./chunk-N2H3ZPZY.js";
14
+ } from "./chunk-3RKP3FMS.js";
15
15
 
16
16
  // dist/clients/call-graph.js
17
17
  import * as fs from "node:fs";
@@ -1,11 +1,11 @@
1
1
  import { createRequire as __pilensCreateRequire } from "node:module"; const require = __pilensCreateRequire(import.meta.url);
2
2
  import {
3
3
  loadPiLensProjectConfig
4
- } from "./chunk-2BBLFX75.js";
4
+ } from "./chunk-J6MPGQTS.js";
5
5
  import {
6
6
  lazyEnvNumber,
7
7
  toPositiveFinite
8
- } from "./chunk-AOHZU2BM.js";
8
+ } from "./chunk-YNE3RP52.js";
9
9
 
10
10
  // dist/clients/project-scale.js
11
11
  var DEFAULT_PROJECT_SCALE_BASE = 2e3;
@@ -0,0 +1,84 @@
1
+ import { createRequire as __pilensCreateRequire } from "node:module"; const require = __pilensCreateRequire(import.meta.url);
2
+ import {
3
+ normalizeHostToolPath,
4
+ normalizeMapKey
5
+ } from "./chunk-3RKP3FMS.js";
6
+
7
+ // dist/clients/content-stamp.js
8
+ import { createHash } from "node:crypto";
9
+ import * as fs from "node:fs";
10
+ var CONTENT_HASH_MAX_BYTES = 4 * 1024 * 1024;
11
+ function hashContentBytes(bytes) {
12
+ return createHash("sha256").update(bytes).digest("hex");
13
+ }
14
+ function hashFileBytes(filePath) {
15
+ return hashContentBytes(fs.readFileSync(filePath));
16
+ }
17
+
18
+ // dist/clients/dispatch/runner-context.js
19
+ import * as fs2 from "node:fs";
20
+ import * as path from "node:path";
21
+ function resolveAgainstAncestors(cwd, filePath) {
22
+ filePath = normalizeHostToolPath(filePath);
23
+ if (path.isAbsolute(filePath)) {
24
+ return path.resolve(filePath);
25
+ }
26
+ const normalizedRelative = filePath.replace(/\\/g, "/");
27
+ const cwdBaseName = path.basename(path.resolve(cwd)).replace(/\\/g, "/");
28
+ if (cwdBaseName && (normalizedRelative === cwdBaseName || normalizedRelative.startsWith(`${cwdBaseName}/`))) {
29
+ const trimmedRelative = normalizedRelative === cwdBaseName ? "" : normalizedRelative.slice(cwdBaseName.length + 1);
30
+ const trimmedCandidate = trimmedRelative ? path.resolve(cwd, trimmedRelative) : path.resolve(cwd);
31
+ if (fs2.existsSync(trimmedCandidate)) {
32
+ return trimmedCandidate;
33
+ }
34
+ }
35
+ const directCandidate = path.resolve(cwd, filePath);
36
+ if (fs2.existsSync(directCandidate)) {
37
+ return directCandidate;
38
+ }
39
+ let current = path.resolve(cwd);
40
+ const { root } = path.parse(current);
41
+ while (current !== root) {
42
+ const parent = path.dirname(current);
43
+ if (parent === current)
44
+ break;
45
+ const candidate = path.resolve(parent, filePath);
46
+ if (fs2.existsSync(candidate)) {
47
+ return candidate;
48
+ }
49
+ current = parent;
50
+ }
51
+ return directCandidate;
52
+ }
53
+ function resolveRunnerPath(cwd, filePath) {
54
+ return normalizeMapKey(resolveAgainstAncestors(cwd, filePath));
55
+ }
56
+ function toRunnerDisplayPath(cwd, filePath) {
57
+ const cwdKey = normalizeMapKey(path.resolve(cwd));
58
+ const fileKey = resolveRunnerPath(cwd, filePath);
59
+ const relative2 = path.relative(cwdKey, fileKey).replace(/\\/g, "/");
60
+ if (relative2 && relative2 !== "." && !relative2.startsWith("../")) {
61
+ return relative2;
62
+ }
63
+ return fileKey;
64
+ }
65
+
66
+ // dist/clients/freshness.js
67
+ var MTIME_DRIFT_TOLERANCE_MS = 50;
68
+ function freshnessFromMtime(input) {
69
+ const tolerance = input.toleranceMs ?? MTIME_DRIFT_TOLERANCE_MS;
70
+ if (input.mtimeMs === void 0) {
71
+ return { verdict: "indeterminate", reason: "no-mtime-evidence" };
72
+ }
73
+ return input.mtimeMs > input.referenceMs + tolerance ? { verdict: "stale", reason: "modified-after-reference" } : { verdict: "fresh" };
74
+ }
75
+
76
+ export {
77
+ CONTENT_HASH_MAX_BYTES,
78
+ hashContentBytes,
79
+ hashFileBytes,
80
+ resolveRunnerPath,
81
+ toRunnerDisplayPath,
82
+ MTIME_DRIFT_TOLERANCE_MS,
83
+ freshnessFromMtime
84
+ };
@@ -8,24 +8,24 @@ import {
8
8
  getDefaultStartupTools,
9
9
  resolveLanguageRootForFile,
10
10
  rootMarkersForFile
11
- } from "./chunk-QOBUHWHX.js";
12
- import "./chunk-QILIYSJF.js";
13
- import "./chunk-6C7JWPCP.js";
14
- import "./chunk-5NGR67U5.js";
15
- import "./chunk-C34ZXZ7O.js";
11
+ } from "./chunk-HRNHZA3N.js";
12
+ import "./chunk-TLX72JTG.js";
13
+ import "./chunk-DGUKIYSI.js";
14
+ import "./chunk-XBJVAEEO.js";
15
+ import "./chunk-KUA4OJ5Y.js";
16
16
  import "./chunk-QYF5S6P6.js";
17
- import "./chunk-PHDMFAKM.js";
18
- import "./chunk-2BBLFX75.js";
19
- import "./chunk-XVF2VVXP.js";
17
+ import "./chunk-DUO2TU77.js";
18
+ import "./chunk-J6MPGQTS.js";
19
+ import "./chunk-5HSRT26B.js";
20
20
  import "./chunk-2EECBNC5.js";
21
- import "./chunk-JAU72XNY.js";
22
- import "./chunk-XTMJ7XDT.js";
21
+ import "./chunk-J64T55EI.js";
22
+ import "./chunk-POMLXPMY.js";
23
23
  import "./chunk-JMYYOTQG.js";
24
- import "./chunk-QQNQ7SJW.js";
25
- import "./chunk-AOHZU2BM.js";
24
+ import "./chunk-QBFBRV2B.js";
25
+ import "./chunk-YNE3RP52.js";
26
26
  import "./chunk-LJDODBBZ.js";
27
27
  import "./chunk-ABBOA7UD.js";
28
- import "./chunk-N2H3ZPZY.js";
28
+ import "./chunk-3RKP3FMS.js";
29
29
  import "./chunk-NXL4FFQQ.js";
30
30
  export {
31
31
  SUPPORTED_FILE_KINDS,
@@ -17,6 +17,7 @@ import {
17
17
  getLastWordIndexSerializeWork,
18
18
  getWordIndexBuildStatus,
19
19
  getWordIndexWireBytes,
20
+ notifyWordIndexPublished,
20
21
  parseWordIndexQuery,
21
22
  recordPersistedWordIndexWireBytes,
22
23
  refreshWordIndexIncrementally,
@@ -26,6 +27,7 @@ import {
26
27
  scheduleWordIndexPersist,
27
28
  searchWordIndex,
28
29
  serializeWordIndex,
30
+ setWordIndexPublishedListener,
29
31
  splitIdentifier,
30
32
  tokenizeLine,
31
33
  triggerBackgroundWordIndexBuild,
@@ -34,21 +36,21 @@ import {
34
36
  updateWordIndexDocumentForEdit,
35
37
  wordIndexKey,
36
38
  wordIndexPostingHits
37
- } from "./chunk-SAEFPSB6.js";
38
- import "./chunk-GAEGEPOC.js";
39
+ } from "./chunk-W66O5E25.js";
40
+ import "./chunk-7HXE67BN.js";
39
41
  import "./chunk-Z3CCVDUB.js";
40
42
  import "./chunk-BW5KFIQC.js";
41
43
  import "./chunk-QYF5S6P6.js";
42
- import "./chunk-PHDMFAKM.js";
43
- import "./chunk-2BBLFX75.js";
44
- import "./chunk-XVF2VVXP.js";
45
- import "./chunk-JAU72XNY.js";
46
- import "./chunk-XTMJ7XDT.js";
44
+ import "./chunk-DUO2TU77.js";
45
+ import "./chunk-J6MPGQTS.js";
46
+ import "./chunk-5HSRT26B.js";
47
+ import "./chunk-J64T55EI.js";
48
+ import "./chunk-POMLXPMY.js";
47
49
  import "./chunk-JMYYOTQG.js";
48
- import "./chunk-QQNQ7SJW.js";
49
- import "./chunk-AOHZU2BM.js";
50
+ import "./chunk-QBFBRV2B.js";
51
+ import "./chunk-YNE3RP52.js";
50
52
  import "./chunk-ABBOA7UD.js";
51
- import "./chunk-N2H3ZPZY.js";
53
+ import "./chunk-3RKP3FMS.js";
52
54
  import "./chunk-NXL4FFQQ.js";
53
55
  export {
54
56
  WORD_INDEX_FORMAT_VERSION,
@@ -68,6 +70,7 @@ export {
68
70
  getLastWordIndexSerializeWork,
69
71
  getWordIndexBuildStatus,
70
72
  getWordIndexWireBytes,
73
+ notifyWordIndexPublished,
71
74
  parseWordIndexQuery,
72
75
  recordPersistedWordIndexWireBytes,
73
76
  refreshWordIndexIncrementally,
@@ -77,6 +80,7 @@ export {
77
80
  scheduleWordIndexPersist,
78
81
  searchWordIndex,
79
82
  serializeWordIndex,
83
+ setWordIndexPublishedListener,
80
84
  splitIdentifier,
81
85
  tokenizeLine,
82
86
  triggerBackgroundWordIndexBuild,
@@ -1,8 +1,8 @@
1
1
  import { createRequire as __pilensCreateRequire } from "node:module"; const require = __pilensCreateRequire(import.meta.url);
2
2
  import {
3
3
  calcCyclomaticComplexity
4
- } from "./chunk-76MWC2K6.js";
5
- import "./chunk-GXW6K4YJ.js";
4
+ } from "./chunk-EUXZEFTV.js";
5
+ import "./chunk-T57LYLZT.js";
6
6
  import "./chunk-5W3R6LFT.js";
7
7
  import {
8
8
  firstChildOfType,
@@ -11,27 +11,27 @@ import {
11
11
  resolveTreeSitterLanguage,
12
12
  walk,
13
13
  withTreeSitterRoot
14
- } from "./chunk-QHJ6DQ2R.js";
14
+ } from "./chunk-US7ECLD7.js";
15
15
  import "./chunk-Z54ZSOBZ.js";
16
- import "./chunk-724UL2TJ.js";
17
- import "./chunk-QOZXJ4NA.js";
18
- import "./chunk-VRZP76YM.js";
19
- import "./chunk-C34ZXZ7O.js";
20
- import "./chunk-PHDMFAKM.js";
21
- import "./chunk-2BBLFX75.js";
22
- import "./chunk-XVF2VVXP.js";
23
- import "./chunk-ZANLILYD.js";
16
+ import "./chunk-GXFV6MYU.js";
17
+ import "./chunk-FM4RDMKT.js";
18
+ import "./chunk-P63GXC37.js";
19
+ import "./chunk-KUA4OJ5Y.js";
20
+ import "./chunk-DUO2TU77.js";
21
+ import "./chunk-J6MPGQTS.js";
22
+ import "./chunk-5HSRT26B.js";
23
+ import "./chunk-M2IFVFWU.js";
24
24
  import "./chunk-2EECBNC5.js";
25
- import "./chunk-JAU72XNY.js";
25
+ import "./chunk-J64T55EI.js";
26
26
  import {
27
27
  createSubsystemLogger
28
- } from "./chunk-XTMJ7XDT.js";
28
+ } from "./chunk-POMLXPMY.js";
29
29
  import "./chunk-JMYYOTQG.js";
30
- import "./chunk-QQNQ7SJW.js";
31
- import "./chunk-AOHZU2BM.js";
30
+ import "./chunk-QBFBRV2B.js";
31
+ import "./chunk-YNE3RP52.js";
32
32
  import "./chunk-LJDODBBZ.js";
33
33
  import "./chunk-ABBOA7UD.js";
34
- import "./chunk-N2H3ZPZY.js";
34
+ import "./chunk-3RKP3FMS.js";
35
35
  import "./chunk-NXL4FFQQ.js";
36
36
 
37
37
  // dist/clients/complexity-client.js