@nxuss/lemma 1.30.1 → 1.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/README.md +34 -0
  2. package/dist/cjs/cloud/scrub/StatelessScrubber.d.ts.map +1 -1
  3. package/dist/cjs/cloud/scrub/StatelessScrubber.js +2 -1
  4. package/dist/cjs/cloud/scrub/StatelessScrubber.js.map +1 -1
  5. package/dist/cjs/mcp/staleBuild.d.ts +13 -0
  6. package/dist/cjs/mcp/staleBuild.d.ts.map +1 -0
  7. package/dist/cjs/mcp/staleBuild.js +55 -0
  8. package/dist/cjs/mcp/staleBuild.js.map +1 -0
  9. package/dist/cjs/mcp/tools/analysis.d.ts.map +1 -1
  10. package/dist/cjs/mcp/tools/analysis.js +8 -4
  11. package/dist/cjs/mcp/tools/analysis.js.map +1 -1
  12. package/dist/cjs/mcp/tools/codenav.d.ts.map +1 -1
  13. package/dist/cjs/mcp/tools/codenav.js +144 -47
  14. package/dist/cjs/mcp/tools/codenav.js.map +1 -1
  15. package/dist/cjs/mcp/tools/context-tools.d.ts.map +1 -1
  16. package/dist/cjs/mcp/tools/context-tools.js +52 -36
  17. package/dist/cjs/mcp/tools/context-tools.js.map +1 -1
  18. package/dist/cjs/mcp/tools/devtools.d.ts.map +1 -1
  19. package/dist/cjs/mcp/tools/devtools.js +124 -33
  20. package/dist/cjs/mcp/tools/devtools.js.map +1 -1
  21. package/dist/cjs/mcp/tools/memory.d.ts.map +1 -1
  22. package/dist/cjs/mcp/tools/memory.js +11 -1
  23. package/dist/cjs/mcp/tools/memory.js.map +1 -1
  24. package/dist/cjs/mcp/tools/misc.d.ts.map +1 -1
  25. package/dist/cjs/mcp/tools/misc.js +20 -2
  26. package/dist/cjs/mcp/tools/misc.js.map +1 -1
  27. package/dist/cjs/mcp/tools/refactor.d.ts.map +1 -1
  28. package/dist/cjs/mcp/tools/refactor.js +234 -104
  29. package/dist/cjs/mcp/tools/refactor.js.map +1 -1
  30. package/dist/cjs/mcp/tools/workspace.d.ts.map +1 -1
  31. package/dist/cjs/mcp/tools/workspace.js +32 -7
  32. package/dist/cjs/mcp/tools/workspace.js.map +1 -1
  33. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  34. package/dist/cjs/mcp/tools.js +21 -0
  35. package/dist/cjs/mcp/tools.js.map +1 -1
  36. package/dist/cjs/mcp/unknownArgs.d.ts +12 -0
  37. package/dist/cjs/mcp/unknownArgs.d.ts.map +1 -0
  38. package/dist/cjs/mcp/unknownArgs.js +24 -0
  39. package/dist/cjs/mcp/unknownArgs.js.map +1 -0
  40. package/dist/cjs/mcp/utils.d.ts +1 -0
  41. package/dist/cjs/mcp/utils.d.ts.map +1 -1
  42. package/dist/cjs/mcp/utils.js +142 -34
  43. package/dist/cjs/mcp/utils.js.map +1 -1
  44. package/dist/cjs/mcp/workspaceShared.d.ts +2 -0
  45. package/dist/cjs/mcp/workspaceShared.d.ts.map +1 -1
  46. package/dist/cjs/mcp/workspaceShared.js +14 -3
  47. package/dist/cjs/mcp/workspaceShared.js.map +1 -1
  48. package/dist/cjs/pr-review/analyzers/QualityGrader.d.ts.map +1 -1
  49. package/dist/cjs/pr-review/analyzers/QualityGrader.js +25 -1
  50. package/dist/cjs/pr-review/analyzers/QualityGrader.js.map +1 -1
  51. package/dist/cjs/security/SemanticScrubber.d.ts.map +1 -1
  52. package/dist/cjs/security/SemanticScrubber.js +54 -1
  53. package/dist/cjs/security/SemanticScrubber.js.map +1 -1
  54. package/dist/cjs/utils/AffectedTests.d.ts.map +1 -1
  55. package/dist/cjs/utils/AffectedTests.js +48 -3
  56. package/dist/cjs/utils/AffectedTests.js.map +1 -1
  57. package/dist/cjs/utils/ContextSqueezer.d.ts +7 -1
  58. package/dist/cjs/utils/ContextSqueezer.d.ts.map +1 -1
  59. package/dist/cjs/utils/ContextSqueezer.js +186 -35
  60. package/dist/cjs/utils/ContextSqueezer.js.map +1 -1
  61. package/dist/cjs/utils/DepGraph.d.ts.map +1 -1
  62. package/dist/cjs/utils/DepGraph.js +52 -21
  63. package/dist/cjs/utils/DepGraph.js.map +1 -1
  64. package/dist/cjs/utils/Eol.d.ts +10 -0
  65. package/dist/cjs/utils/Eol.d.ts.map +1 -0
  66. package/dist/cjs/utils/Eol.js +20 -0
  67. package/dist/cjs/utils/Eol.js.map +1 -0
  68. package/dist/cjs/utils/ImportTreeContext.d.ts.map +1 -1
  69. package/dist/cjs/utils/ImportTreeContext.js +18 -4
  70. package/dist/cjs/utils/ImportTreeContext.js.map +1 -1
  71. package/dist/cjs/utils/PatchMatcher.d.ts +1 -1
  72. package/dist/cjs/utils/PatchMatcher.d.ts.map +1 -1
  73. package/dist/cjs/utils/PatchMatcher.js +47 -1
  74. package/dist/cjs/utils/PatchMatcher.js.map +1 -1
  75. package/dist/cjs/utils/SurgicalASTInsert.d.ts.map +1 -1
  76. package/dist/cjs/utils/SurgicalASTInsert.js +74 -28
  77. package/dist/cjs/utils/SurgicalASTInsert.js.map +1 -1
  78. package/dist/cjs/utils/SymbolSurgicalContext.d.ts.map +1 -1
  79. package/dist/cjs/utils/SymbolSurgicalContext.js +35 -0
  80. package/dist/cjs/utils/SymbolSurgicalContext.js.map +1 -1
  81. package/dist/cjs/utils/TokenBudgetedReader.d.ts.map +1 -1
  82. package/dist/cjs/utils/TokenBudgetedReader.js +51 -37
  83. package/dist/cjs/utils/TokenBudgetedReader.js.map +1 -1
  84. package/dist/cjs/utils/TypeCoverage.d.ts.map +1 -1
  85. package/dist/cjs/utils/TypeCoverage.js +31 -3
  86. package/dist/cjs/utils/TypeCoverage.js.map +1 -1
  87. package/dist/cjs/utils/WorkspaceSearch.d.ts.map +1 -1
  88. package/dist/cjs/utils/WorkspaceSearch.js +0 -0
  89. package/dist/cjs/utils/WorkspaceSearch.js.map +1 -1
  90. package/dist/cjs/utils/churnNoise.d.ts +2 -0
  91. package/dist/cjs/utils/churnNoise.d.ts.map +1 -0
  92. package/dist/cjs/utils/churnNoise.js +23 -0
  93. package/dist/cjs/utils/churnNoise.js.map +1 -0
  94. package/dist/esm/cloud/scrub/StatelessScrubber.d.ts.map +1 -1
  95. package/dist/esm/cloud/scrub/StatelessScrubber.js +2 -1
  96. package/dist/esm/cloud/scrub/StatelessScrubber.js.map +1 -1
  97. package/dist/esm/mcp/staleBuild.d.ts +13 -0
  98. package/dist/esm/mcp/staleBuild.d.ts.map +1 -0
  99. package/dist/esm/mcp/staleBuild.js +48 -0
  100. package/dist/esm/mcp/staleBuild.js.map +1 -0
  101. package/dist/esm/mcp/tools/analysis.d.ts.map +1 -1
  102. package/dist/esm/mcp/tools/analysis.js +8 -4
  103. package/dist/esm/mcp/tools/analysis.js.map +1 -1
  104. package/dist/esm/mcp/tools/codenav.d.ts.map +1 -1
  105. package/dist/esm/mcp/tools/codenav.js +144 -47
  106. package/dist/esm/mcp/tools/codenav.js.map +1 -1
  107. package/dist/esm/mcp/tools/context-tools.d.ts.map +1 -1
  108. package/dist/esm/mcp/tools/context-tools.js +53 -37
  109. package/dist/esm/mcp/tools/context-tools.js.map +1 -1
  110. package/dist/esm/mcp/tools/devtools.d.ts.map +1 -1
  111. package/dist/esm/mcp/tools/devtools.js +124 -33
  112. package/dist/esm/mcp/tools/devtools.js.map +1 -1
  113. package/dist/esm/mcp/tools/memory.d.ts.map +1 -1
  114. package/dist/esm/mcp/tools/memory.js +11 -1
  115. package/dist/esm/mcp/tools/memory.js.map +1 -1
  116. package/dist/esm/mcp/tools/misc.d.ts.map +1 -1
  117. package/dist/esm/mcp/tools/misc.js +20 -2
  118. package/dist/esm/mcp/tools/misc.js.map +1 -1
  119. package/dist/esm/mcp/tools/refactor.d.ts.map +1 -1
  120. package/dist/esm/mcp/tools/refactor.js +234 -104
  121. package/dist/esm/mcp/tools/refactor.js.map +1 -1
  122. package/dist/esm/mcp/tools/workspace.d.ts.map +1 -1
  123. package/dist/esm/mcp/tools/workspace.js +32 -7
  124. package/dist/esm/mcp/tools/workspace.js.map +1 -1
  125. package/dist/esm/mcp/tools.d.ts.map +1 -1
  126. package/dist/esm/mcp/tools.js +21 -0
  127. package/dist/esm/mcp/tools.js.map +1 -1
  128. package/dist/esm/mcp/unknownArgs.d.ts +12 -0
  129. package/dist/esm/mcp/unknownArgs.d.ts.map +1 -0
  130. package/dist/esm/mcp/unknownArgs.js +21 -0
  131. package/dist/esm/mcp/unknownArgs.js.map +1 -0
  132. package/dist/esm/mcp/utils.d.ts +1 -0
  133. package/dist/esm/mcp/utils.d.ts.map +1 -1
  134. package/dist/esm/mcp/utils.js +141 -34
  135. package/dist/esm/mcp/utils.js.map +1 -1
  136. package/dist/esm/mcp/workspaceShared.d.ts +2 -0
  137. package/dist/esm/mcp/workspaceShared.d.ts.map +1 -1
  138. package/dist/esm/mcp/workspaceShared.js +13 -3
  139. package/dist/esm/mcp/workspaceShared.js.map +1 -1
  140. package/dist/esm/pr-review/analyzers/QualityGrader.d.ts.map +1 -1
  141. package/dist/esm/pr-review/analyzers/QualityGrader.js +22 -1
  142. package/dist/esm/pr-review/analyzers/QualityGrader.js.map +1 -1
  143. package/dist/esm/security/SemanticScrubber.d.ts.map +1 -1
  144. package/dist/esm/security/SemanticScrubber.js +54 -1
  145. package/dist/esm/security/SemanticScrubber.js.map +1 -1
  146. package/dist/esm/utils/AffectedTests.d.ts.map +1 -1
  147. package/dist/esm/utils/AffectedTests.js +48 -3
  148. package/dist/esm/utils/AffectedTests.js.map +1 -1
  149. package/dist/esm/utils/ContextSqueezer.d.ts +7 -1
  150. package/dist/esm/utils/ContextSqueezer.d.ts.map +1 -1
  151. package/dist/esm/utils/ContextSqueezer.js +186 -35
  152. package/dist/esm/utils/ContextSqueezer.js.map +1 -1
  153. package/dist/esm/utils/DepGraph.d.ts.map +1 -1
  154. package/dist/esm/utils/DepGraph.js +52 -21
  155. package/dist/esm/utils/DepGraph.js.map +1 -1
  156. package/dist/esm/utils/Eol.d.ts +10 -0
  157. package/dist/esm/utils/Eol.d.ts.map +1 -0
  158. package/dist/esm/utils/Eol.js +16 -0
  159. package/dist/esm/utils/Eol.js.map +1 -0
  160. package/dist/esm/utils/ImportTreeContext.d.ts.map +1 -1
  161. package/dist/esm/utils/ImportTreeContext.js +18 -4
  162. package/dist/esm/utils/ImportTreeContext.js.map +1 -1
  163. package/dist/esm/utils/PatchMatcher.d.ts +1 -1
  164. package/dist/esm/utils/PatchMatcher.d.ts.map +1 -1
  165. package/dist/esm/utils/PatchMatcher.js +47 -1
  166. package/dist/esm/utils/PatchMatcher.js.map +1 -1
  167. package/dist/esm/utils/SurgicalASTInsert.d.ts.map +1 -1
  168. package/dist/esm/utils/SurgicalASTInsert.js +74 -28
  169. package/dist/esm/utils/SurgicalASTInsert.js.map +1 -1
  170. package/dist/esm/utils/SymbolSurgicalContext.d.ts.map +1 -1
  171. package/dist/esm/utils/SymbolSurgicalContext.js +35 -0
  172. package/dist/esm/utils/SymbolSurgicalContext.js.map +1 -1
  173. package/dist/esm/utils/TokenBudgetedReader.d.ts.map +1 -1
  174. package/dist/esm/utils/TokenBudgetedReader.js +51 -37
  175. package/dist/esm/utils/TokenBudgetedReader.js.map +1 -1
  176. package/dist/esm/utils/TypeCoverage.d.ts.map +1 -1
  177. package/dist/esm/utils/TypeCoverage.js +31 -3
  178. package/dist/esm/utils/TypeCoverage.js.map +1 -1
  179. package/dist/esm/utils/WorkspaceSearch.d.ts.map +1 -1
  180. package/dist/esm/utils/WorkspaceSearch.js +0 -0
  181. package/dist/esm/utils/WorkspaceSearch.js.map +1 -1
  182. package/dist/esm/utils/churnNoise.d.ts +2 -0
  183. package/dist/esm/utils/churnNoise.d.ts.map +1 -0
  184. package/dist/esm/utils/churnNoise.js +20 -0
  185. package/dist/esm/utils/churnNoise.js.map +1 -0
  186. package/mcp-server.js +15 -12
  187. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ImportTreeContext.js","sourceRoot":"","sources":["../../../src/utils/ImportTreeContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImportTreeContext.js","sourceRoot":"","sources":["../../../src/utils/ImportTreeContext.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export interface MatchFailure {
14
14
  candidateStartLine?: number;
15
15
  candidates?: MatchResult[];
16
16
  }
17
- export declare function reindentReplacement(replaceContent: string, searchContent: string, matchedFirstLine: string): string;
17
+ export declare function reindentReplacement(replaceContent: string, searchContent: string, matchedFirstLine: string, matchedBlock?: string[]): string;
18
18
  export declare function buildLineDiff(searchLines: string[], candidateLines: string[], maxLines?: number): string;
19
19
  export declare function findMatch(content: string, searchContent: string): MatchResult[] | MatchFailure;
20
20
  //# sourceMappingURL=PatchMatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PatchMatcher.d.ts","sourceRoot":"","sources":["../../../src/utils/PatchMatcher.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,uBAAuB,GAAG,iBAAiB,GAAG,OAAO,CAAC;AAE5F,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IAId,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;CAC5B;AA8CD,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAkBnH;AAsFD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,QAAQ,SAAK,GAAG,MAAM,CA2BpG;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,YAAY,CAgC9F"}
1
+ {"version":3,"file":"PatchMatcher.d.ts","sourceRoot":"","sources":["../../../src/utils/PatchMatcher.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,uBAAuB,GAAG,iBAAiB,GAAG,OAAO,CAAC;AAE5F,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IAId,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;CAC5B;AAgED,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,MAAM,CA4CR;AAsFD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,QAAQ,SAAK,GAAG,MAAM,CA2BpG;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,YAAY,CAgC9F"}
@@ -42,10 +42,56 @@ function similarity(a, b) {
42
42
  // Reapply the indentation delta observed on the first matched line to every line
43
43
  // of the replacement block, so the patch doesn't collapse to the search block's
44
44
  // (possibly stale/compacted) indentation.
45
- export function reindentReplacement(replaceContent, searchContent, matchedFirstLine) {
45
+ /** Tabs or spaces, judged from the first indented line; null when nothing is indented. */
46
+ function indentStyleOf(lines) {
47
+ for (const l of lines) {
48
+ if (l.trim() === "")
49
+ continue;
50
+ if (l.startsWith("\t"))
51
+ return "tab";
52
+ if (l.startsWith(" "))
53
+ return "space";
54
+ }
55
+ return null;
56
+ }
57
+ /** Width of one indentation level in spaces: the smallest gap between distinct indents (4 if unknown). */
58
+ function spaceIndentUnit(lines) {
59
+ const widths = [...new Set(lines.filter((l) => l.trim() !== "").map((l) => leadingWhitespace(l).length))].sort((a, b) => a - b);
60
+ let unit = Infinity;
61
+ for (let i = 1; i < widths.length; i++)
62
+ unit = Math.min(unit, widths[i] - widths[i - 1]);
63
+ return Number.isFinite(unit) && unit > 0 ? unit : 4;
64
+ }
65
+ export function reindentReplacement(replaceContent, searchContent, matchedFirstLine, matchedBlock) {
46
66
  const searchFirstLine = searchContent.split("\n")[0] ?? "";
47
67
  const searchIndent = leadingWhitespace(searchFirstLine);
48
68
  const matchedIndent = leadingWhitespace(matchedFirstLine);
69
+ // A tab-indented file patched from a 4-space block (or the reverse): the indent delta cannot be
70
+ // a character count, since one tab is one character and one level. Convert level by level, so
71
+ // the replacement uses the file's own indentation character.
72
+ const searchLines = searchContent.split("\n");
73
+ const sStyle = indentStyleOf(searchLines);
74
+ const mStyle = indentStyleOf(matchedBlock ?? [matchedFirstLine]);
75
+ if (sStyle && mStyle && sStyle !== mStyle) {
76
+ const replaceLines = replaceContent.split("\n");
77
+ const unitS = sStyle === "space" ? spaceIndentUnit([...searchLines, ...replaceLines]) : 1;
78
+ const unitM = mStyle === "space" ? spaceIndentUnit(matchedBlock ?? [matchedFirstLine]) : 1;
79
+ const unit = (c) => (c === "tab" ? "\t" : " ");
80
+ const base = searchIndent.length;
81
+ return replaceLines
82
+ .map((line) => {
83
+ if (line.trim() === "")
84
+ return line;
85
+ const levels = Math.round((leadingWhitespace(line).length - base) / unitS);
86
+ const body = line.replace(/^[ \t]*/, "");
87
+ const step = unit(mStyle).repeat(unitM);
88
+ if (levels >= 0)
89
+ return matchedIndent + step.repeat(levels) + body;
90
+ const cut = Math.min(matchedIndent.length, -levels * unitM);
91
+ return matchedIndent.slice(0, matchedIndent.length - cut) + body;
92
+ })
93
+ .join("\n");
94
+ }
49
95
  if (searchIndent === matchedIndent)
50
96
  return replaceContent;
51
97
  const delta = matchedIndent.length - searchIndent.length;
@@ -1 +1 @@
1
- {"version":3,"file":"PatchMatcher.js","sourceRoot":"","sources":["../../../src/utils/PatchMatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PatchMatcher.js","sourceRoot":"","sources":["../../../src/utils/PatchMatcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SurgicalASTInsert.d.ts","sourceRoot":"","sources":["../../../src/utils/SurgicalASTInsert.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC;CACtB;AAuBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAqG1F"}
1
+ {"version":3,"file":"SurgicalASTInsert.d.ts","sourceRoot":"","sources":["../../../src/utils/SurgicalASTInsert.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC;CACtB;AAsCD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAqI1F"}
@@ -10,6 +10,7 @@
10
10
  import fs from 'fs';
11
11
  import * as ts from 'typescript';
12
12
  import { safeResolvePath } from '../mcp/utils.js';
13
+ import { withFileEol } from './Eol.js';
13
14
  /**
14
15
  * Finds a class or interface node by name.
15
16
  */
@@ -31,6 +32,19 @@ function findTargetContainer(sourceFile, name) {
31
32
  walk(sourceFile);
32
33
  return result;
33
34
  }
35
+ /** Removes the indentation shared by every non-empty line, so callers may pass code already indented or not. */
36
+ function dedent(code) {
37
+ const lines = code.replace(/\s+$/, '').split('\n');
38
+ const indents = lines.filter((l) => l.trim() !== '').map((l) => l.match(/^[ \t]*/)[0].length);
39
+ // The first line often arrives with its indentation while the rest are relative; measure it too.
40
+ const min = indents.length ? Math.min(...indents) : 0;
41
+ return lines.map((l) => l.slice(Math.min(min, l.match(/^[ \t]*/)[0].length))).join('\n');
42
+ }
43
+ /** Whitespace at the start of the line that contains `index`. */
44
+ function lineIndentAt(src, index) {
45
+ const lineStart = src.lastIndexOf('\n', index - 1) + 1;
46
+ return src.slice(lineStart).match(/^[ \t]*/)[0];
47
+ }
34
48
  /**
35
49
  * Core orchestrator for Surgical AST insertion.
36
50
  */
@@ -42,7 +56,14 @@ export function surgicalASTInsert(workspaceRoot, options) {
42
56
  const src = fs.readFileSync(resolved, 'utf8');
43
57
  const sf = ts.createSourceFile(resolved, src, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
44
58
  const position = options.insertPosition || 'after';
45
- let insertIndex = -1;
59
+ const body = dedent(options.codeToInsert);
60
+ const indented = (indent) => body.split('\n').map((l) => (l === '' ? l : indent + l)).join('\n');
61
+ // `text` is spliced in at `index`. Every case builds exactly the whitespace it needs, instead
62
+ // of guessing an indent from the line before the cursor: that guess left trailing spaces after
63
+ // the preceding `}`, glued members together with no blank line, and left a stray blank line
64
+ // before a class's closing brace.
65
+ let index = -1;
66
+ let text = '';
46
67
  // Case A: Inserting inside a Class or Interface container
47
68
  if (options.symbolName) {
48
69
  const container = findTargetContainer(sf, options.symbolName);
@@ -50,7 +71,11 @@ export function surgicalASTInsert(workspaceRoot, options) {
50
71
  throw new Error(`Target container class/interface "${options.symbolName}" not found in file.`);
51
72
  }
52
73
  const members = container.members;
53
- // Find anchor index among container members
74
+ // NodeArray.pos sits right after the opening brace; indexOf('{') would also match one in generics.
75
+ const openBrace = container.members.pos - 1;
76
+ const memberIndent = members.length > 0
77
+ ? lineIndentAt(src, members[0].getStart())
78
+ : lineIndentAt(src, container.getStart()) + ' ';
54
79
  let anchorIndex = -1;
55
80
  if (options.anchorSymbol) {
56
81
  anchorIndex = members.findIndex(m => {
@@ -67,17 +92,27 @@ export function surgicalASTInsert(workspaceRoot, options) {
67
92
  }
68
93
  if (anchorIndex !== -1 && (position === 'after' || position === 'before')) {
69
94
  const anchorNode = members[anchorIndex];
70
- insertIndex = position === 'after' ? anchorNode.getEnd() : anchorNode.getStart();
95
+ if (position === 'after') {
96
+ index = anchorNode.getEnd();
97
+ text = '\n\n' + memberIndent + indented(memberIndent).slice(memberIndent.length);
98
+ }
99
+ else {
100
+ index = anchorNode.getStart();
101
+ text = indented(memberIndent).slice(memberIndent.length) + '\n\n' + memberIndent;
102
+ }
71
103
  }
72
- else if (position === 'start' || members.length === 0) {
73
- // Find open brace `{` index
74
- const openBraceIndex = src.indexOf('{', container.getStart());
75
- insertIndex = openBraceIndex + 1;
104
+ else if (members.length === 0) {
105
+ index = openBrace + 1;
106
+ text = '\n' + indented(memberIndent) + '\n' + lineIndentAt(src, container.getStart());
107
+ }
108
+ else if (position === 'start') {
109
+ index = openBrace + 1;
110
+ text = '\n' + indented(memberIndent) + '\n';
76
111
  }
77
112
  else {
78
- // default to end of container (right before closing brace `}`)
79
- const closeBraceIndex = container.getEnd() - 1;
80
- insertIndex = closeBraceIndex;
113
+ // default: after the last member, leaving the closing brace untouched
114
+ index = members[members.length - 1].getEnd();
115
+ text = '\n\n' + indented(memberIndent);
81
116
  }
82
117
  }
83
118
  // Case B: Inserting at file/module scope
@@ -101,33 +136,44 @@ export function surgicalASTInsert(workspaceRoot, options) {
101
136
  }
102
137
  }
103
138
  if (anchorNode && (position === 'after' || position === 'before')) {
104
- insertIndex = position === 'after' ? anchorNode.getEnd() : anchorNode.getStart();
139
+ if (position === 'after') {
140
+ index = anchorNode.getEnd();
141
+ text = '\n\n' + body;
142
+ }
143
+ else {
144
+ index = anchorNode.getStart();
145
+ text = body + '\n\n';
146
+ }
105
147
  }
106
148
  else if (position === 'start') {
107
- insertIndex = 0;
149
+ index = 0;
150
+ text = body + '\n\n';
108
151
  }
109
152
  else {
110
153
  // default: append to end of file
111
- insertIndex = src.length;
154
+ index = src.length;
155
+ text = (src.endsWith('\n') ? '\n' : '\n\n') + body + '\n';
112
156
  }
113
157
  }
114
- if (insertIndex === -1) {
158
+ if (index === -1) {
115
159
  throw new Error('Could not resolve suitable insertion index.');
116
160
  }
117
- // Formatting insert block with appropriate indentation
118
- // Look at the line of insertIndex to guess base indentation
119
- const linesBefore = src.substring(0, insertIndex).split('\n');
120
- const lastLine = linesBefore[linesBefore.length - 1] || '';
121
- const indentMatch = lastLine.match(/^\s*/);
122
- const baseIndent = indentMatch ? indentMatch[0] : ' ';
123
- // Apply indentation to code to insert
124
- const indentedCode = options.codeToInsert
125
- .split('\n')
126
- .map((line, idx) => (idx === 0 ? line : baseIndent + line))
127
- .join('\n');
128
- // Splice string
129
- const output = src.substring(0, insertIndex) + '\n' + baseIndent + indentedCode + '\n' + src.substring(insertIndex);
130
- // Write file
161
+ // `text` is built with \n; a CRLF file takes it with \r\n so the file does not end up with a mix.
162
+ const output = src.substring(0, index) + withFileEol(src, text) + src.substring(index);
163
+ // Refuse to write a patch that introduces syntax errors. The insert is purely textual, so a
164
+ // misplaced anchor (e.g. a method spliced after a class's closing brace) used to be written
165
+ // to disk and reported as a success, leaving the caller to discover a broken file later.
166
+ const syntaxErrors = (code) => ts.transpileModule(code, {
167
+ reportDiagnostics: true,
168
+ fileName: resolved,
169
+ compilerOptions: { target: ts.ScriptTarget.Latest },
170
+ }).diagnostics?.filter((d) => d.category === ts.DiagnosticCategory.Error).length ?? 0;
171
+ if (syntaxErrors(output) > syntaxErrors(src)) {
172
+ throw new Error('Insertion would introduce syntax errors, so nothing was written. ' +
173
+ (options.symbolName
174
+ ? 'Check anchorSymbol/insertPosition and that codeToInsert is valid at that position.'
175
+ : 'No symbolName was given, so the code targeted file scope; pass symbolName to insert inside a class/interface.'));
176
+ }
131
177
  fs.writeFileSync(resolved, output, 'utf8');
132
178
  return resolved;
133
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SurgicalASTInsert.js","sourceRoot":"","sources":["../../../src/utils/SurgicalASTInsert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SurgicalASTInsert.js","sourceRoot":"","sources":["../../../src/utils/SurgicalASTInsert.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SymbolSurgicalContext.d.ts","sourceRoot":"","sources":["../../../src/utils/SymbolSurgicalContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAmLD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAS5D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,qBAAqB,CAmDvB"}
1
+ {"version":3,"file":"SymbolSurgicalContext.d.ts","sourceRoot":"","sources":["../../../src/utils/SymbolSurgicalContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAoND;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAS5D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,qBAAqB,CAmDvB"}
@@ -14,7 +14,42 @@ import { safeResolvePath } from '../mcp/utils.js';
14
14
  /**
15
15
  * Traverses AST to find the node defining the specified symbol name.
16
16
  */
17
+ function memberName(m) {
18
+ return m.name && (ts.isIdentifier(m.name) || ts.isStringLiteral(m.name)) ? m.name.text : undefined;
19
+ }
20
+ /**
21
+ * Finds a class/interface member. `Class.member` pins the container; a bare name matches the
22
+ * first member with that name anywhere in the file. Top-level lookups used to be the only
23
+ * option, so asking for a method — the unit an edit actually targets — failed with "not found"
24
+ * and the only way to get context was to pull the whole class.
25
+ */
26
+ function findMemberNode(sourceFile, name) {
27
+ const dot = name.indexOf('.');
28
+ const container = dot > 0 ? name.slice(0, dot) : undefined;
29
+ const member = dot > 0 ? name.slice(dot + 1) : name;
30
+ let found = null;
31
+ function walk(node) {
32
+ if (found)
33
+ return;
34
+ if ((ts.isClassDeclaration(node) || ts.isInterfaceDeclaration(node)) && node.name &&
35
+ (!container || node.name.text === container)) {
36
+ const hit = node.members.find((m) => memberName(m) === member);
37
+ if (hit) {
38
+ found = hit;
39
+ return;
40
+ }
41
+ }
42
+ ts.forEachChild(node, walk);
43
+ }
44
+ walk(sourceFile);
45
+ return found;
46
+ }
17
47
  function findSymbolNode(sourceFile, name) {
48
+ if (name.includes('.'))
49
+ return findMemberNode(sourceFile, name);
50
+ return findTopLevelSymbolNode(sourceFile, name) ?? findMemberNode(sourceFile, name);
51
+ }
52
+ function findTopLevelSymbolNode(sourceFile, name) {
18
53
  let targetNode = null;
19
54
  function walk(node) {
20
55
  if (targetNode)
@@ -1 +1 @@
1
- {"version":3,"file":"SymbolSurgicalContext.js","sourceRoot":"","sources":["../../../src/utils/SymbolSurgicalContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SymbolSurgicalContext.js","sourceRoot":"","sources":["../../../src/utils/SymbolSurgicalContext.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TokenBudgetedReader.d.ts","sourceRoot":"","sources":["../../../src/utils/TokenBudgetedReader.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzE;AAgFD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAW,EAClB,SAAS,GAAE,MAAa,GACvB,uBAAuB,CAgDzB"}
1
+ {"version":3,"file":"TokenBudgetedReader.d.ts","sourceRoot":"","sources":["../../../src/utils/TokenBudgetedReader.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzE;AAgFD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAW,EAClB,SAAS,GAAE,MAAa,GACvB,uBAAuB,CAyDzB"}
@@ -4,46 +4,51 @@ import * as ts from 'typescript';
4
4
  function estimateTokens(text) {
5
5
  return Math.ceil(text.length / 4);
6
6
  }
7
+ // A class bigger than this is offered method by method, so a query can pick the one method it
8
+ // needs instead of forcing the whole class (or nothing) into the budget.
9
+ const SPLIT_CLASS_TOKENS = 600;
7
10
  function extractSections(filePath, content) {
8
11
  const sections = [];
9
12
  const lines = content.split('\n');
10
13
  try {
11
14
  const sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true);
12
- function visit(node) {
13
- if (ts.isFunctionDeclaration(node) ||
14
- ts.isMethodDeclaration(node) ||
15
- ts.isArrowFunction(node) ||
16
- ts.isFunctionExpression(node) ||
17
- ts.isClassDeclaration(node) ||
18
- ts.isInterfaceDeclaration(node) ||
19
- ts.isTypeAliasDeclaration(node) ||
20
- ts.isEnumDeclaration(node) ||
21
- ts.isVariableStatement(node)) {
22
- const start = sourceFile.getLineAndCharacterOfPosition(node.getStart()).line;
23
- const end = sourceFile.getLineAndCharacterOfPosition(node.getEnd()).line;
24
- const name = ts.isFunctionDeclaration(node) || ts.isClassDeclaration(node) ||
25
- ts.isInterfaceDeclaration(node) || ts.isTypeAliasDeclaration(node) || ts.isEnumDeclaration(node)
26
- ? node.name?.getText(sourceFile) || '(anonymous)'
27
- : ts.isVariableStatement(node)
28
- ? node.declarationList.declarations[0]?.name.getText(sourceFile) || '(const)'
29
- : '(method)';
30
- const kind = ts.isFunctionDeclaration(node) || ts.isArrowFunction(node) || ts.isFunctionExpression(node) ? 'function'
31
- : ts.isClassDeclaration(node) ? 'class'
32
- : ts.isInterfaceDeclaration(node) ? 'interface'
33
- : ts.isTypeAliasDeclaration(node) ? 'type'
34
- : ts.isEnumDeclaration(node) ? 'enum'
35
- : ts.isVariableStatement(node) ? 'const'
36
- : 'method';
37
- sections.push({
38
- start,
39
- end: Math.min(end, lines.length - 1),
40
- text: lines.slice(start, end + 1).join('\n'),
41
- label: `${kind} ${name}`,
42
- });
15
+ const push = (node, label) => {
16
+ const start = sourceFile.getLineAndCharacterOfPosition(node.getStart()).line;
17
+ const end = Math.min(sourceFile.getLineAndCharacterOfPosition(node.getEnd()).line, lines.length - 1);
18
+ sections.push({ start, end, text: lines.slice(start, end + 1).join('\n'), label });
19
+ };
20
+ // Top-level statements only. Recursing into every node offered the locals of a function
21
+ // (`let raw = ''`) as sections next to the function that already contains them, so the same
22
+ // lines were returned twice and the budget was spent on fragments with no context.
23
+ for (const node of sourceFile.statements) {
24
+ if (ts.isFunctionDeclaration(node)) {
25
+ push(node, `function ${node.name?.getText(sourceFile) || '(anonymous)'}`);
26
+ }
27
+ else if (ts.isClassDeclaration(node)) {
28
+ const className = node.name?.getText(sourceFile) || '(anonymous)';
29
+ if (estimateTokens(node.getText(sourceFile)) > SPLIT_CLASS_TOKENS) {
30
+ for (const member of node.members) {
31
+ const memberName = member.name?.getText(sourceFile) ?? (ts.isConstructorDeclaration(member) ? 'constructor' : '(member)');
32
+ push(member, `method ${className}.${memberName}`);
33
+ }
34
+ }
35
+ else {
36
+ push(node, `class ${className}`);
37
+ }
38
+ }
39
+ else if (ts.isInterfaceDeclaration(node)) {
40
+ push(node, `interface ${node.name.getText(sourceFile)}`);
41
+ }
42
+ else if (ts.isTypeAliasDeclaration(node)) {
43
+ push(node, `type ${node.name.getText(sourceFile)}`);
44
+ }
45
+ else if (ts.isEnumDeclaration(node)) {
46
+ push(node, `enum ${node.name.getText(sourceFile)}`);
47
+ }
48
+ else if (ts.isVariableStatement(node)) {
49
+ push(node, `const ${node.declarationList.declarations[0]?.name.getText(sourceFile) || '(const)'}`);
43
50
  }
44
- ts.forEachChild(node, visit);
45
51
  }
46
- visit(sourceFile);
47
52
  }
48
53
  catch { }
49
54
  if (sections.length === 0) {
@@ -92,10 +97,19 @@ export function readTokenBudgeted(filePath, projectRoot, query = '', maxTokens =
92
97
  const selected = [];
93
98
  let tokensUsed = 0;
94
99
  for (const s of scored) {
95
- if (tokensUsed + s.tokens > maxTokens && selected.length >= 2)
96
- continue;
97
- selected.push(s);
98
- tokensUsed += s.tokens;
100
+ const remaining = maxTokens - tokensUsed;
101
+ if (s.tokens <= remaining) {
102
+ selected.push(s);
103
+ tokensUsed += s.tokens;
104
+ }
105
+ else if (selected.length === 0) {
106
+ // The budget is a hard ceiling. The best section used to be taken whole even when it was
107
+ // many times the budget (a 5,000-token function against a 150-token budget); cut it to fit.
108
+ const keepChars = Math.max(0, remaining * 4 - 24); // room for the 18-char marker below
109
+ const text = `${s.text.slice(0, keepChars)}\n/* …truncated */`;
110
+ selected.push({ ...s, text, tokens: estimateTokens(text), label: `${s.label} (truncated)` });
111
+ tokensUsed += estimateTokens(text);
112
+ }
99
113
  if (tokensUsed >= maxTokens)
100
114
  break;
101
115
  }