codesift-mcp 0.15.3 → 0.15.5

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 (176) hide show
  1. package/dist/cli/help.js +1 -1
  2. package/dist/cli/hooks/pre-tool-use.d.ts.map +1 -1
  3. package/dist/cli/hooks/pre-tool-use.js +8 -5
  4. package/dist/cli/hooks/pre-tool-use.js.map +1 -1
  5. package/dist/cli/hooks/shared.d.ts +1 -1
  6. package/dist/cli/hooks/shared.d.ts.map +1 -1
  7. package/dist/cli/hooks/shared.js +30 -2
  8. package/dist/cli/hooks/shared.js.map +1 -1
  9. package/dist/cli/service.d.ts +11 -0
  10. package/dist/cli/service.d.ts.map +1 -1
  11. package/dist/cli/service.js +17 -1
  12. package/dist/cli/service.js.map +1 -1
  13. package/dist/formatters-core.d.ts +1 -0
  14. package/dist/formatters-core.d.ts.map +1 -1
  15. package/dist/formatters-core.js +10 -1
  16. package/dist/formatters-core.js.map +1 -1
  17. package/dist/instructions.d.ts +17 -0
  18. package/dist/instructions.d.ts.map +1 -1
  19. package/dist/instructions.js +35 -0
  20. package/dist/instructions.js.map +1 -1
  21. package/dist/parser/parse-cache.d.ts.map +1 -1
  22. package/dist/parser/parse-cache.js +36 -1
  23. package/dist/parser/parse-cache.js.map +1 -1
  24. package/dist/register-tool-groups/analysis.d.ts.map +1 -1
  25. package/dist/register-tool-groups/analysis.js +10 -1
  26. package/dist/register-tool-groups/analysis.js.map +1 -1
  27. package/dist/register-tool-groups/core/index.d.ts.map +1 -1
  28. package/dist/register-tool-groups/core/index.js +26 -3
  29. package/dist/register-tool-groups/core/index.js.map +1 -1
  30. package/dist/register-tool-groups/core/meta.d.ts.map +1 -1
  31. package/dist/register-tool-groups/core/meta.js +23 -1
  32. package/dist/register-tool-groups/core/meta.js.map +1 -1
  33. package/dist/register-tool-groups/core/search.d.ts +15 -0
  34. package/dist/register-tool-groups/core/search.d.ts.map +1 -1
  35. package/dist/register-tool-groups/core/search.js +60 -2
  36. package/dist/register-tool-groups/core/search.js.map +1 -1
  37. package/dist/register-tool-groups/core/symbols.d.ts.map +1 -1
  38. package/dist/register-tool-groups/core/symbols.js +13 -2
  39. package/dist/register-tool-groups/core/symbols.js.map +1 -1
  40. package/dist/register-tools/discovery.d.ts +22 -5
  41. package/dist/register-tools/discovery.d.ts.map +1 -1
  42. package/dist/register-tools/discovery.js +95 -9
  43. package/dist/register-tools/discovery.js.map +1 -1
  44. package/dist/register-tools/runtime.d.ts +8 -0
  45. package/dist/register-tools/runtime.d.ts.map +1 -1
  46. package/dist/register-tools/runtime.js +10 -0
  47. package/dist/register-tools/runtime.js.map +1 -1
  48. package/dist/register-tools.d.ts +1 -1
  49. package/dist/register-tools.d.ts.map +1 -1
  50. package/dist/register-tools.js +13 -6
  51. package/dist/register-tools.js.map +1 -1
  52. package/dist/server-helpers/repo-resolution.d.ts.map +1 -1
  53. package/dist/server-helpers/repo-resolution.js +23 -3
  54. package/dist/server-helpers/repo-resolution.js.map +1 -1
  55. package/dist/server-helpers/response-hints.d.ts +1 -4
  56. package/dist/server-helpers/response-hints.d.ts.map +1 -1
  57. package/dist/server-helpers/response-hints.js +44 -1
  58. package/dist/server-helpers/response-hints.js.map +1 -1
  59. package/dist/server-helpers.d.ts.map +1 -1
  60. package/dist/server-helpers.js +20 -0
  61. package/dist/server-helpers.js.map +1 -1
  62. package/dist/server.d.ts +1 -0
  63. package/dist/server.d.ts.map +1 -1
  64. package/dist/server.js +37 -2
  65. package/dist/server.js.map +1 -1
  66. package/dist/storage/registry.d.ts +14 -0
  67. package/dist/storage/registry.d.ts.map +1 -1
  68. package/dist/storage/registry.js +33 -6
  69. package/dist/storage/registry.js.map +1 -1
  70. package/dist/storage/usage-tracker.d.ts.map +1 -1
  71. package/dist/storage/usage-tracker.js +54 -2
  72. package/dist/storage/usage-tracker.js.map +1 -1
  73. package/dist/tools/diff-tools.d.ts.map +1 -1
  74. package/dist/tools/diff-tools.js +3 -0
  75. package/dist/tools/diff-tools.js.map +1 -1
  76. package/dist/tools/git-tree-guard.d.ts +23 -0
  77. package/dist/tools/git-tree-guard.d.ts.map +1 -0
  78. package/dist/tools/git-tree-guard.js +33 -0
  79. package/dist/tools/git-tree-guard.js.map +1 -0
  80. package/dist/tools/impact-tools.d.ts.map +1 -1
  81. package/dist/tools/impact-tools.js +2 -0
  82. package/dist/tools/impact-tools.js.map +1 -1
  83. package/dist/tools/index-tools/file-indexer.d.ts +2 -0
  84. package/dist/tools/index-tools/file-indexer.d.ts.map +1 -1
  85. package/dist/tools/index-tools/file-indexer.js +30 -3
  86. package/dist/tools/index-tools/file-indexer.js.map +1 -1
  87. package/dist/tools/index-tools/folder-indexer.d.ts.map +1 -1
  88. package/dist/tools/index-tools/folder-indexer.js +54 -2
  89. package/dist/tools/index-tools/folder-indexer.js.map +1 -1
  90. package/dist/tools/index-tools/parse.d.ts +9 -0
  91. package/dist/tools/index-tools/parse.d.ts.map +1 -1
  92. package/dist/tools/index-tools/parse.js +9 -2
  93. package/dist/tools/index-tools/parse.js.map +1 -1
  94. package/dist/tools/index-tools/state.d.ts +26 -0
  95. package/dist/tools/index-tools/state.d.ts.map +1 -1
  96. package/dist/tools/index-tools/state.js +46 -0
  97. package/dist/tools/index-tools/state.js.map +1 -1
  98. package/dist/tools/index-tools/worktree-seed.d.ts +3 -0
  99. package/dist/tools/index-tools/worktree-seed.d.ts.map +1 -1
  100. package/dist/tools/index-tools/worktree-seed.js +11 -3
  101. package/dist/tools/index-tools/worktree-seed.js.map +1 -1
  102. package/dist/tools/nest-guard-tools.d.ts +8 -0
  103. package/dist/tools/nest-guard-tools.d.ts.map +1 -1
  104. package/dist/tools/nest-guard-tools.js +7 -1
  105. package/dist/tools/nest-guard-tools.js.map +1 -1
  106. package/dist/tools/nest-pipeline-tools.d.ts.map +1 -1
  107. package/dist/tools/nest-pipeline-tools.js +5 -1
  108. package/dist/tools/nest-pipeline-tools.js.map +1 -1
  109. package/dist/tools/outline-tools.d.ts +4 -1
  110. package/dist/tools/outline-tools.d.ts.map +1 -1
  111. package/dist/tools/outline-tools.js +41 -4
  112. package/dist/tools/outline-tools.js.map +1 -1
  113. package/dist/tools/review-diff/constants.d.ts +9 -0
  114. package/dist/tools/review-diff/constants.d.ts.map +1 -1
  115. package/dist/tools/review-diff/constants.js +9 -0
  116. package/dist/tools/review-diff/constants.js.map +1 -1
  117. package/dist/tools/review-diff/orchestrator.d.ts.map +1 -1
  118. package/dist/tools/review-diff/orchestrator.js +35 -2
  119. package/dist/tools/review-diff/orchestrator.js.map +1 -1
  120. package/dist/tools/review-diff/types.d.ts +5 -0
  121. package/dist/tools/review-diff/types.d.ts.map +1 -1
  122. package/dist/tools/route-tools/file-sources.d.ts.map +1 -1
  123. package/dist/tools/route-tools/file-sources.js +8 -1
  124. package/dist/tools/route-tools/file-sources.js.map +1 -1
  125. package/dist/tools/route-tools/hono.d.ts.map +1 -1
  126. package/dist/tools/route-tools/hono.js +18 -4
  127. package/dist/tools/route-tools/hono.js.map +1 -1
  128. package/dist/tools/route-tools/laravel.js +1 -1
  129. package/dist/tools/route-tools/laravel.js.map +1 -1
  130. package/dist/tools/route-tools/mermaid-call-chain.d.ts.map +1 -1
  131. package/dist/tools/route-tools/mermaid-call-chain.js +9 -1
  132. package/dist/tools/route-tools/mermaid-call-chain.js.map +1 -1
  133. package/dist/tools/route-tools/nest.js +2 -2
  134. package/dist/tools/route-tools/nest.js.map +1 -1
  135. package/dist/tools/route-tools/next-trace.d.ts.map +1 -1
  136. package/dist/tools/route-tools/next-trace.js +16 -1
  137. package/dist/tools/route-tools/next-trace.js.map +1 -1
  138. package/dist/tools/route-tools/next.d.ts.map +1 -1
  139. package/dist/tools/route-tools/next.js +10 -3
  140. package/dist/tools/route-tools/next.js.map +1 -1
  141. package/dist/tools/route-tools/route-mermaid.d.ts.map +1 -1
  142. package/dist/tools/route-tools/route-mermaid.js +7 -1
  143. package/dist/tools/route-tools/route-mermaid.js.map +1 -1
  144. package/dist/tools/route-tools/spring-kotlin.d.ts.map +1 -1
  145. package/dist/tools/route-tools/spring-kotlin.js +4 -1
  146. package/dist/tools/route-tools/spring-kotlin.js.map +1 -1
  147. package/dist/tools/route-tools/trace-route.d.ts.map +1 -1
  148. package/dist/tools/route-tools/trace-route.js +12 -4
  149. package/dist/tools/route-tools/trace-route.js.map +1 -1
  150. package/dist/tools/route-tools/yii2.d.ts.map +1 -1
  151. package/dist/tools/route-tools/yii2.js +14 -9
  152. package/dist/tools/route-tools/yii2.js.map +1 -1
  153. package/dist/tools/secret-tools.d.ts +7 -0
  154. package/dist/tools/secret-tools.d.ts.map +1 -1
  155. package/dist/tools/secret-tools.js +56 -2
  156. package/dist/tools/secret-tools.js.map +1 -1
  157. package/dist/tools/symbol-reference-tools.d.ts +17 -0
  158. package/dist/tools/symbol-reference-tools.d.ts.map +1 -1
  159. package/dist/tools/symbol-reference-tools.js +19 -0
  160. package/dist/tools/symbol-reference-tools.js.map +1 -1
  161. package/dist/tools/test-impact-tools.d.ts +3 -0
  162. package/dist/tools/test-impact-tools.d.ts.map +1 -1
  163. package/dist/tools/test-impact-tools.js +25 -3
  164. package/dist/tools/test-impact-tools.js.map +1 -1
  165. package/dist/utils/import-graph/python-php-edge-collectors.d.ts +9 -1
  166. package/dist/utils/import-graph/python-php-edge-collectors.d.ts.map +1 -1
  167. package/dist/utils/import-graph/python-php-edge-collectors.js +22 -5
  168. package/dist/utils/import-graph/python-php-edge-collectors.js.map +1 -1
  169. package/dist/utils/import-graph/source-edge-collector.d.ts.map +1 -1
  170. package/dist/utils/import-graph/source-edge-collector.js +7 -2
  171. package/dist/utils/import-graph/source-edge-collector.js.map +1 -1
  172. package/dist/utils/python-imports.d.ts +20 -0
  173. package/dist/utils/python-imports.d.ts.map +1 -1
  174. package/dist/utils/python-imports.js +52 -0
  175. package/dist/utils/python-imports.js.map +1 -1
  176. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"next.js","sourceRoot":"","sources":["../../../src/tools/route-tools/next.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"next.js","sourceRoot":"","sources":["../../../src/tools/route-tools/next.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"route-mermaid.d.ts","sourceRoot":"","sources":["../../../src/tools/route-tools/route-mermaid.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA2CnD,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAY/D"}
1
+ {"version":3,"file":"route-mermaid.d.ts","sourceRoot":"","sources":["../../../src/tools/route-tools/route-mermaid.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAiDnD,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAY/D"}
@@ -1,6 +1,12 @@
1
1
  import { appendTracedCalls } from "./mermaid-call-chain.js";
2
2
  function mermaidText(value) {
3
- return value.replace(/[\r\n]+/g, " ");
3
+ // Newlines were the only thing escaped, but Mermaid also breaks on quotes and bracket/brace
4
+ // characters — and route labels are full of them (`/users/{id}`, `[slug]`). A single such path
5
+ // corrupted the whole diagram, which fails as unparseable output rather than as a wrong label.
6
+ return value
7
+ .replace(/[\r\n]+/g, " ")
8
+ .replace(/"/g, "'")
9
+ .replace(/[[\]{}()<>;#|]/g, "_");
4
10
  }
5
11
  function appendRequest(lines, result, method) {
6
12
  if (result.middleware?.applies) {
@@ -1 +1 @@
1
- {"version":3,"file":"route-mermaid.js","sourceRoot":"","sources":["../../../src/tools/route-tools/route-mermaid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-mermaid.js","sourceRoot":"","sources":["../../../src/tools/route-tools/route-mermaid.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spring-kotlin.d.ts","sourceRoot":"","sources":["../../../src/tools/route-tools/spring-kotlin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAqE/C,4EAA4E;AAC5E,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,EAAE,CAAC,CAGzB"}
1
+ {"version":3,"file":"spring-kotlin.d.ts","sourceRoot":"","sources":["../../../src/tools/route-tools/spring-kotlin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAwE/C,4EAA4E;AAC5E,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,EAAE,CAAC,CAGzB"}
@@ -39,7 +39,10 @@ function scanMapping(context, mapping) {
39
39
  function scanSpringFile(index, file, source, searchPath) {
40
40
  if (!/@(?:RestController|Controller)\b/.test(source))
41
41
  return [];
42
- const classPrefix = /@RequestMapping\s*\(\s*(?:value\s*=\s*)?["']([^"']*)["']/
42
+ // `.exec(source)` took the FIRST @RequestMapping anywhere in the file. A method-level mapping
43
+ // declared above the class annotation therefore became the prefix for every route in it. Anchor
44
+ // on the one that actually precedes the class declaration.
45
+ const classPrefix = /@RequestMapping\s*\(\s*(?:value\s*=\s*)?["']([^"']*)["'][\s\S]{0,400}?\bclass\b/
43
46
  .exec(source)?.[1] ?? "";
44
47
  const context = { index, file, source, classPrefix, searchPath };
45
48
  return MAPPINGS.flatMap((mapping) => scanMapping(context, mapping));
@@ -1 +1 @@
1
- {"version":3,"file":"spring-kotlin.js","sourceRoot":"","sources":["../../../src/tools/route-tools/spring-kotlin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,QAAQ,GAAG;IACf,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE;IAC3C,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE;IAC7C,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE;IAC3C,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE;IACjD,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE;CAChD,CAAC;AAUF,SAAS,WAAW,CAClB,OAA0B,EAC1B,OAAgC;IAEhC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,MAAM,CACxB,IAAI,OAAO,CAAC,UAAU,6FAA6F,EACnH,GAAG,CACJ,CAAC;IACF,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,GAAG,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC;YAAE,SAAS;QAE/C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAC/B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,CAC1E,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,MAAM;gBACZ,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;gBACrB,CAAC,CAAC;oBACE,EAAE,EAAE,GAAG,IAAI,IAAI,YAAY,EAAE;oBAC7B,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,QAAQ;oBACd,IAAI;oBACJ,UAAU,EAAE,CAAC;oBACb,QAAQ,EAAE,CAAC;iBACsB;YACvC,IAAI;YACJ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,eAAe;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,cAAc,CACrB,KAAgB,EAChB,IAAY,EACZ,MAAc,EACd,UAAkB;IAElB,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhE,MAAM,WAAW,GAAG,0DAA0D;SAC3E,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IACjE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAAgB,EAChB,UAAkB;IAElB,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAC9F,CAAC"}
1
+ {"version":3,"file":"spring-kotlin.js","sourceRoot":"","sources":["../../../src/tools/route-tools/spring-kotlin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"trace-route.d.ts","sourceRoot":"","sources":["../../../src/tools/route-tools/trace-route.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAgB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAqCjE,oFAAoF;AACpF,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAChC,OAAO,CAAC,gBAAgB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBjD"}
1
+ {"version":3,"file":"trace-route.d.ts","sourceRoot":"","sources":["../../../src/tools/route-tools/trace-route.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAgB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAyCjE,oFAAoF;AACpF,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAChC,OAAO,CAAC,gBAAgB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA0BjD"}
@@ -23,9 +23,12 @@ function traceHandlerCalls(index, handlers) {
23
23
  const fullSymbol = index.symbols.find((symbol) => symbol.file === handler.symbol.file &&
24
24
  symbol.name === handler.symbol.name &&
25
25
  symbol.start_line === handler.symbol.start_line);
26
- if (!fullSymbol)
27
- continue;
28
- appendCallTree(buildCallTree(fullSymbol, adjacency, "callees", 3), 0, accumulator);
26
+ // Synthetic handlers (framework files with no extracted symbol) carry start_line 1 and never
27
+ // match a real symbol, so this used to `continue` — the route came back with an EMPTY call
28
+ // chain and nothing saying why. Falling back to the handler's own symbol keeps the handler
29
+ // itself in the chain; it simply has no callees to walk.
30
+ const startSymbol = fullSymbol ?? handler.symbol;
31
+ appendCallTree(buildCallTree(startSymbol, adjacency, "callees", 3), 0, accumulator);
29
32
  }
30
33
  return accumulator;
31
34
  }
@@ -39,11 +42,16 @@ export async function traceRoute(repo, path, outputFormat) {
39
42
  return { path, handlers: [], call_chain: [], db_calls: [] };
40
43
  }
41
44
  const { callChain, calleeSymbols } = traceHandlerCalls(index, handlers);
45
+ // Handlers in one file (GET + POST) walk overlapping callee trees, so the same symbol arrived
46
+ // once per handler that reached it and findDbCalls — which does not dedupe either — emitted the
47
+ // same database call several times. Deduped by identity, not by name: two distinct symbols may
48
+ // share a name.
49
+ const uniqueCallees = [...new Map(calleeSymbols.map((s) => [`${s.file}:${s.name}:${s.start_line}`, s])).values()];
42
50
  const result = {
43
51
  path,
44
52
  handlers,
45
53
  call_chain: callChain,
46
- db_calls: findDbCalls(calleeSymbols),
54
+ db_calls: findDbCalls(uniqueCallees),
47
55
  };
48
56
  await enrichNextjsTrace(result, index, handlers, calleeSymbols);
49
57
  return outputFormat === "mermaid"
@@ -1 +1 @@
1
- {"version":3,"file":"trace-route.js","sourceRoot":"","sources":["../../../src/tools/route-tools/trace-route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trace-route.js","sourceRoot":"","sources":["../../../src/tools/route-tools/trace-route.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"yii2.d.ts","sourceRoot":"","sources":["../../../src/tools/route-tools/yii2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAuE/C,8EAA8E;AAC9E,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,EAAE,CAAC,CAWzB"}
1
+ {"version":3,"file":"yii2.d.ts","sourceRoot":"","sources":["../../../src/tools/route-tools/yii2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA4E/C,8EAA8E;AAC9E,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,EAAE,CAAC,CAWzB"}
@@ -41,19 +41,24 @@ function configRuleHandler(index, route, method) {
41
41
  return handler ? { ...handler, method } : null;
42
42
  }
43
43
  async function findYii2HandlersFromConfig(index, searchPath) {
44
- const [config] = await readIndexedFiles(index, (path) => /config\/web\.php$/.test(path));
45
- if (!config)
44
+ // `const [config] = ...` took the FIRST config/web.php and ignored the rest. A Yii2 application
45
+ // template has one per app (frontend, backend, console), so every route defined outside whichever
46
+ // file the walker happened to return first was invisible.
47
+ const configs = await readIndexedFiles(index, (path) => /config\/web\.php$/.test(path));
48
+ if (configs.length === 0)
46
49
  return [];
47
50
  const normalizedSearch = searchPath.replace(/^\/|\/$/g, "").toLowerCase();
48
51
  const pattern = /['"](?:(GET|POST|PUT|DELETE|PATCH)\s+)?([^'"]+)['"]\s*=>\s*['"]([^'"]+)['"]/g;
49
52
  const handlers = [];
50
- for (const match of config.source.matchAll(pattern)) {
51
- const rulePath = match[2].replace(/<\w+(?::[^>]+)?>/g, "[param]").toLowerCase();
52
- if (!matchPath(rulePath, normalizedSearch))
53
- continue;
54
- const handler = configRuleHandler(index, match[3], match[1]?.toUpperCase() ?? "GET");
55
- if (handler)
56
- handlers.push(handler);
53
+ for (const config of configs) {
54
+ for (const match of config.source.matchAll(pattern)) {
55
+ const rulePath = match[2].replace(/<\w+(?::[^>]+)?>/g, "[param]").toLowerCase();
56
+ if (!matchPath(rulePath, normalizedSearch))
57
+ continue;
58
+ const handler = configRuleHandler(index, match[3], match[1]?.toUpperCase() ?? "GET");
59
+ if (handler)
60
+ handlers.push(handler);
61
+ }
57
62
  }
58
63
  return handlers;
59
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"yii2.js","sourceRoot":"","sources":["../../../src/tools/route-tools/yii2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yii2.js","sourceRoot":"","sources":["../../../src/tools/route-tools/yii2.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,13 @@ export interface ScanSecretsResult {
17
17
  scan_coverage: "none" | "partial" | "full";
18
18
  files_failed?: number;
19
19
  partial_failure?: boolean;
20
+ /** Set when the cap hid findings. Absent means `findings` is everything that matched. */
21
+ truncated?: boolean;
22
+ /** How many matched in total, when more matched than were returned. */
23
+ total_findings?: number;
24
+ /** Set when the walk did not finish: the remaining files were never looked at. */
25
+ stopped_early?: "aborted" | "budget";
26
+ hint?: string;
20
27
  }
21
28
  /**
22
29
  * Scan all indexed files in a repo for secrets.
@@ -1 +1 @@
1
- {"version":3,"file":"secret-tools.d.ts","sourceRoot":"","sources":["../../src/tools/secret-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,aAAa,EACb,SAAS,EACT,UAAU,EACV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE7E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACvD,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,GACA,OAAO,CAAC,iBAAiB,CAAC,CA2F5B"}
1
+ {"version":3,"file":"secret-tools.d.ts","sourceRoot":"","sources":["../../src/tools/secret-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,aAAa,EACb,SAAS,EACT,UAAU,EACV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE7E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,yFAAyF;IACzF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAcD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACvD,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,GACA,OAAO,CAAC,iBAAiB,CAAC,CAqI5B"}
@@ -8,11 +8,19 @@
8
8
  * - Inline allowlist via `// codesift:allow-secret`
9
9
  */
10
10
  import { join } from "node:path";
11
+ import { currentAbortSignal } from "../server-helpers/request-context.js";
11
12
  import picomatch from "picomatch";
12
13
  import { getCodeIndex } from "./index-tools.js";
13
14
  import { getSecretCache, isMissingFileError, scanFileForSecrets, severityAtLeast, shouldSkipFile, } from "./secret-scan-shared.js";
14
15
  export { SEVERITY_MAP, classifyContext, enrichWithSymbolContext, getSecretCache, getSeverity, isAllowlisted, isDocFile, maskSecret, offsetToLine, onFileChanged, onFileDeleted, resetSecretCache, scanFileForSecrets, } from "./secret-scan-shared.js";
15
16
  import { isTestFile } from "../utils/test-file.js";
17
+ /**
18
+ * Wall-clock ceiling for the file walk.
19
+ *
20
+ * 60s sits inside the 90s client-facing tool timeout, so the scan reports a partial result itself
21
+ * rather than being cut off by a timeout that does not actually stop it.
22
+ */
23
+ const SCAN_BUDGET_MS = 60_000;
16
24
  // ---------------------------------------------------------------------------
17
25
  // Main handler
18
26
  // ---------------------------------------------------------------------------
@@ -39,9 +47,27 @@ export async function scanSecrets(repo, options) {
39
47
  let allFindings = [];
40
48
  let filesScanned = 0;
41
49
  let filesFailed = 0;
50
+ // The scan walked every indexed file with no ceiling and no abort check. Measured on this repo:
51
+ // 27.9 seconds and 10,533 findings, of which 200 were kept — telemetry puts the p90 at 23.4s.
52
+ //
53
+ // The tool-level timeout above it is not a stop: it answers `timed_out` and lets the loop run on,
54
+ // which is how this tool reached 5.1 HOURS against a 90-second budget (see
55
+ // RequestContext.abortSignal). For a secret scanner that is worse than slow — the abandoned scan
56
+ // competes for the same disk as the narrower retry the agent issues after giving up.
57
+ const abortSignal = currentAbortSignal();
58
+ const scanDeadline = Date.now() + SCAN_BUDGET_MS;
59
+ let stoppedEarly = null;
42
60
  const filesWithSecrets = new Set();
43
61
  const fileMatcher = filePattern ? picomatch(filePattern) : null;
44
62
  for (const file of index.files) {
63
+ if (abortSignal?.aborted) {
64
+ stoppedEarly = "aborted";
65
+ break;
66
+ }
67
+ if (Date.now() > scanDeadline) {
68
+ stoppedEarly = "budget";
69
+ break;
70
+ }
45
71
  // Skip if file pattern doesn't match
46
72
  if (fileMatcher && !fileMatcher(file.path))
47
73
  continue;
@@ -72,8 +98,13 @@ export async function scanSecrets(repo, options) {
72
98
  console.warn(`[codesift] Secret scan failed for ${file.path}: ${message}`);
73
99
  }
74
100
  }
75
- // Cap results
76
- if (allFindings.length > maxResults) {
101
+ // Cap results — and SAY SO. Truncating in silence made "findings: 200" read as "there are 200",
102
+ // which for a security tool is the one misreading that matters: a repo with 500 leaked keys
103
+ // reported the same number as a repo with exactly 200, and nothing in the response distinguished
104
+ // them. The default cap is 200, so any repo at or above it looked identical.
105
+ const totalFindings = allFindings.length;
106
+ const truncated = totalFindings > maxResults;
107
+ if (truncated) {
77
108
  allFindings = allFindings.slice(0, maxResults);
78
109
  }
79
110
  // Determine scan coverage
@@ -82,8 +113,31 @@ export async function scanSecrets(repo, options) {
82
113
  if (repoCache && repoCache.size > 0) {
83
114
  scanCoverage = repoCache.size >= index.files.length ? "full" : "partial";
84
115
  }
116
+ // A scan that stopped early is NOT full, whatever the cache says. "No secrets found" from a scan
117
+ // that never reached the rest of the repo is a false all-clear, which is the one wrong answer a
118
+ // secret scanner must never give.
119
+ if (stoppedEarly)
120
+ scanCoverage = filesScanned > 0 ? "partial" : "none";
85
121
  return {
86
122
  findings: allFindings,
123
+ ...(truncated
124
+ ? {
125
+ truncated: true,
126
+ total_findings: totalFindings,
127
+ hint: `Showing ${maxResults} of ${totalFindings} findings. Raise max_results, or narrow the `
128
+ + "scan with file_pattern / severity / min_confidence — the rest are NOT clean.",
129
+ }
130
+ : {}),
131
+ ...(stoppedEarly
132
+ ? {
133
+ stopped_early: stoppedEarly,
134
+ hint: stoppedEarly === "aborted"
135
+ ? `Scan ABORTED after ${filesScanned} of ${index.files.length} files (client timed out). `
136
+ + "The unscanned files are NOT known to be clean — narrow with file_pattern and re-run."
137
+ : `Scan stopped at the ${SCAN_BUDGET_MS}ms budget after ${filesScanned} of ${index.files.length} files. `
138
+ + "The unscanned files are NOT known to be clean — narrow with file_pattern, or raise scan_budget_ms.",
139
+ }
140
+ : {}),
87
141
  files_scanned: filesScanned,
88
142
  files_with_secrets: filesWithSecrets.size,
89
143
  scan_coverage: scanCoverage,
@@ -1 +1 @@
1
- {"version":3,"file":"secret-tools.js","sourceRoot":"","sources":["../../src/tools/secret-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secret-tools.js","sourceRoot":"","sources":["../../src/tools/secret-tools.ts"],"names":[],"mappings":"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"}
@@ -34,5 +34,22 @@ export declare function findReferencesBatch(repo: string, symbolNames: string[],
34
34
  * Find references to a symbol name across indexed files.
35
35
  * Matches whole words only using word-boundary regex.
36
36
  */
37
+ /**
38
+ * Is this reference only a mention inside a comment?
39
+ *
40
+ * find_references matches text, so a symbol named in a comment or a docblock comes back beside its
41
+ * real callers. Measured over 8 symbols in this repo: 45 of 314 references (14%) were comment
42
+ * mentions, and for one heavily-documented symbol 21 of 50 (42%).
43
+ *
44
+ * Tokens are the smaller half of the problem. The result is capped at max_refs (50 by default), so
45
+ * comment mentions CONSUME THE CAP — an agent asking who calls a symbol can be shown 21 prose
46
+ * mentions and 29 callers, with the rest silently past the limit. Filtering first means the cap
47
+ * spends itself on code.
48
+ *
49
+ * Line-anchored on purpose. `foo(); // see wrapTool` starts with code and stays; only a line whose
50
+ * first non-space characters open a comment is dropped. A `/* … *\/` body without leading stars is
51
+ * therefore kept — a false negative, which is the safe direction for a filter that removes.
52
+ */
53
+ export declare function isCommentOnlyReference(context: string): boolean;
37
54
  export declare function findReferences(repo: string, symbolName: string, filePattern?: string): Promise<Reference[]>;
38
55
  //# sourceMappingURL=symbol-reference-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-reference-tools.d.ts","sourceRoot":"","sources":["../../src/tools/symbol-reference-tools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAU7C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAqB;IACpC,8FAA8F;IAC9F,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6FAA6F;IAC7F,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CA6FtC;AAiGD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,SAAS,EAAE,CAAC,CAyDtB"}
1
+ {"version":3,"file":"symbol-reference-tools.d.ts","sourceRoot":"","sources":["../../src/tools/symbol-reference-tools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAU7C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAqB;IACpC,8FAA8F;IAC9F,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6FAA6F;IAC7F,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CA6FtC;AAiGD;;;GAGG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,SAAS,EAAE,CAAC,CAyDtB"}
@@ -192,6 +192,25 @@ async function findReferencesWithRipgrep(root, symbolName, maxResults, filePatte
192
192
  * Find references to a symbol name across indexed files.
193
193
  * Matches whole words only using word-boundary regex.
194
194
  */
195
+ /**
196
+ * Is this reference only a mention inside a comment?
197
+ *
198
+ * find_references matches text, so a symbol named in a comment or a docblock comes back beside its
199
+ * real callers. Measured over 8 symbols in this repo: 45 of 314 references (14%) were comment
200
+ * mentions, and for one heavily-documented symbol 21 of 50 (42%).
201
+ *
202
+ * Tokens are the smaller half of the problem. The result is capped at max_refs (50 by default), so
203
+ * comment mentions CONSUME THE CAP — an agent asking who calls a symbol can be shown 21 prose
204
+ * mentions and 29 callers, with the rest silently past the limit. Filtering first means the cap
205
+ * spends itself on code.
206
+ *
207
+ * Line-anchored on purpose. `foo(); // see wrapTool` starts with code and stays; only a line whose
208
+ * first non-space characters open a comment is dropped. A `/* … *\/` body without leading stars is
209
+ * therefore kept — a false negative, which is the safe direction for a filter that removes.
210
+ */
211
+ export function isCommentOnlyReference(context) {
212
+ return /^\s*(\/\/|\/\*|\*|#)/.test(context);
213
+ }
195
214
  export async function findReferences(repo, symbolName, filePattern) {
196
215
  // Try LSP first (type-safe, no false positives)
197
216
  if (!filePattern) {
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-reference-tools.js","sourceRoot":"","sources":["../../src/tools/symbol-reference-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"symbol-reference-tools.js","sourceRoot":"","sources":["../../src/tools/symbol-reference-tools.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export interface TestImpactResult {
6
6
  }>;
7
7
  suggested_command: string;
8
8
  changed_files: string[];
9
+ /** How many tests matched before the cap — present only when the list was cut. */
10
+ total_affected?: number;
9
11
  }
10
12
  /**
11
13
  * Compute a confidence score for a test file based on naming convention match
@@ -25,5 +27,6 @@ export declare function matchTestFile(prodFile: string, testFiles: string[]): st
25
27
  export declare function testImpactAnalysis(repo: string, options?: {
26
28
  since?: string;
27
29
  until?: string;
30
+ max_tests?: number;
28
31
  }): Promise<TestImpactResult>;
29
32
  //# sourceMappingURL=test-impact-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-impact-tools.d.ts","sourceRoot":"","sources":["../../src/tools/test-impact-tools.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACpF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CA0BlF;AAMD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C,OAAO,CAAC,gBAAgB,CAAC,CAoG3B"}
1
+ {"version":3,"file":"test-impact-tools.d.ts","sourceRoot":"","sources":["../../src/tools/test-impact-tools.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACpF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqBD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CA0BlF;AAMD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D,OAAO,CAAC,gBAAgB,CAAC,CA6G3B"}
@@ -4,6 +4,20 @@ import { getCodeIndex } from "./index-tools.js";
4
4
  import { impactAnalysis } from "./impact-tools.js";
5
5
  import { computeCoChangePairs } from "./coupling-tools.js";
6
6
  import { isTestFileStrict as isTestFile } from "../utils/test-file.js";
7
+ /**
8
+ * Ceiling on the returned test list.
9
+ *
10
+ * Nothing bounded it: telemetry over 33 calls shows a 3,150-token median against a **272,637-token
11
+ * maximum** — by far the largest single response in the corpus, and past any context window.
12
+ *
13
+ * The cap also fixes the suggested command rather than only shortening it. That command inlines
14
+ * every path (measured: 8,140 B for 207 tests at `since: HEAD~30`), so at a few thousand tests it
15
+ * would exceed ARG_MAX and fail to run — a command that cannot be executed is not a suggestion.
16
+ *
17
+ * Safe to cut here because the list is already sorted by confidence descending, so the cap keeps
18
+ * the tests most likely to matter and drops the weakest matches.
19
+ */
20
+ const DEFAULT_MAX_AFFECTED_TESTS = 100;
7
21
  // ---------------------------------------------------------------------------
8
22
  // Pure helpers
9
23
  // ---------------------------------------------------------------------------
@@ -128,12 +142,20 @@ export async function testImpactAnalysis(repo, options) {
128
142
  }
129
143
  // Sort by confidence descending
130
144
  affectedTests.sort((a, b) => b.confidence - a.confidence);
131
- // 7. Detect test runner
132
- const suggested_command = buildSuggestedCommand(index.root, affectedTests.map((t) => t.test_file));
145
+ const rawMax = options?.max_tests;
146
+ const maxTests = typeof rawMax === "number" && Number.isFinite(rawMax) && rawMax > 0
147
+ ? Math.floor(rawMax)
148
+ : DEFAULT_MAX_AFFECTED_TESTS;
149
+ const totalAffected = affectedTests.length;
150
+ const shownTests = totalAffected > maxTests ? affectedTests.slice(0, maxTests) : affectedTests;
151
+ // Built from the SHOWN set, not the full one: a command naming tests the caller was not given is
152
+ // both larger and less honest than one naming the tests it was.
153
+ const suggested_command = buildSuggestedCommand(index.root, shownTests.map((t) => t.test_file));
133
154
  return {
134
- affected_tests: affectedTests,
155
+ affected_tests: shownTests,
135
156
  suggested_command,
136
157
  changed_files: result.changed_files,
158
+ ...(totalAffected > maxTests ? { total_affected: totalAffected } : {}),
137
159
  };
138
160
  }
139
161
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"test-impact-tools.js","sourceRoot":"","sources":["../../src/tools/test-impact-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-impact-tools.js","sourceRoot":"","sources":["../../src/tools/test-impact-tools.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,13 @@
1
1
  import type { CodeIndex } from "../../types.js";
2
2
  import type { AddImportEdge, PythonImportContext } from "./types.js";
3
3
  export declare function collectPhpEdges(index: CodeIndex, filePath: string, source: string, normalizedPaths: Map<string, string>, addEdge: AddImportEdge): Promise<void>;
4
- export declare function collectPythonEdges(filePath: string, source: string, context: PythonImportContext, addEdge: AddImportEdge): Promise<void>;
4
+ /**
5
+ * Returns whether the AST path handled the file. On `false` the caller runs the regex fallback —
6
+ * previously there was none, so a parser failure deleted every import edge in the file silently.
7
+ */
8
+ export declare function collectPythonEdges(filePath: string, source: string, context: PythonImportContext, addEdge: AddImportEdge): Promise<{
9
+ astHandled: boolean;
10
+ }>;
11
+ /** Regex-derived Python edges, resolved through the SAME resolver the AST path uses. */
12
+ export declare function collectPythonRegexEdges(filePath: string, source: string, context: PythonImportContext, addEdge: AddImportEdge): void;
5
13
  //# sourceMappingURL=python-php-edge-collectors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"python-php-edge-collectors.d.ts","sourceRoot":"","sources":["../../../src/utils/import-graph/python-php-edge-collectors.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAErE,wBAAsB,eAAe,CACnC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAef;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
1
+ {"version":3,"file":"python-php-edge-collectors.d.ts","sourceRoot":"","sources":["../../../src/utils/import-graph/python-php-edge-collectors.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAErE,wBAAsB,eAAe,CACnC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CAiClC;AAED,wFAAwF;AACxF,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,aAAa,GACrB,IAAI,CAaN"}