@aexol/spectral 0.9.81 → 0.9.82

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 (49) hide show
  1. package/dist/agent/index.js +2 -2
  2. package/dist/memory/tools/compact-context.d.ts.map +1 -1
  3. package/dist/memory/tools/compact-context.js +7 -4
  4. package/dist/sdk/agent-core/harness/agent-harness.js +1 -1
  5. package/dist/sdk/agent-core/harness/types.d.ts +2 -0
  6. package/dist/sdk/agent-core/harness/types.d.ts.map +1 -1
  7. package/dist/sdk/ai/providers/openai-completions.d.ts.map +1 -1
  8. package/dist/sdk/ai/providers/openai-completions.js +435 -92
  9. package/dist/sdk/ai/types.d.ts +4 -0
  10. package/dist/sdk/ai/types.d.ts.map +1 -1
  11. package/dist/sdk/coding-agent/core/agent-session.d.ts +1 -1
  12. package/dist/sdk/coding-agent/core/agent-session.d.ts.map +1 -1
  13. package/dist/sdk/coding-agent/core/agent-session.js +1 -1
  14. package/dist/sdk/coding-agent/core/extensions/runner.d.ts +3 -1
  15. package/dist/sdk/coding-agent/core/extensions/runner.d.ts.map +1 -1
  16. package/dist/sdk/coding-agent/core/extensions/runner.js +6 -2
  17. package/dist/sdk/coding-agent/core/extensions/types.d.ts +2 -0
  18. package/dist/sdk/coding-agent/core/extensions/types.d.ts.map +1 -1
  19. package/dist/sdk/coding-agent/core/sdk.d.ts +2 -2
  20. package/dist/sdk/coding-agent/core/sdk.js +2 -2
  21. package/dist/sdk/coding-agent/core/system-prompt.d.ts.map +1 -1
  22. package/dist/sdk/coding-agent/core/system-prompt.js +22 -4
  23. package/dist/sdk/coding-agent/core/tools/apply-patch.d.ts +27 -0
  24. package/dist/sdk/coding-agent/core/tools/apply-patch.d.ts.map +1 -0
  25. package/dist/sdk/coding-agent/core/tools/apply-patch.js +353 -0
  26. package/dist/sdk/coding-agent/core/tools/edit-diff.d.ts +1 -6
  27. package/dist/sdk/coding-agent/core/tools/edit-diff.d.ts.map +1 -1
  28. package/dist/sdk/coding-agent/core/tools/edit-diff.js +179 -100
  29. package/dist/sdk/coding-agent/core/tools/edit.d.ts.map +1 -1
  30. package/dist/sdk/coding-agent/core/tools/edit.js +9 -5
  31. package/dist/sdk/coding-agent/core/tools/index.d.ts +4 -1
  32. package/dist/sdk/coding-agent/core/tools/index.d.ts.map +1 -1
  33. package/dist/sdk/coding-agent/core/tools/index.js +11 -0
  34. package/dist/sdk/coding-agent/index.d.ts +1 -1
  35. package/dist/sdk/coding-agent/index.d.ts.map +1 -1
  36. package/dist/sdk/coding-agent/index.js +1 -1
  37. package/dist/server/agent-bridge.d.ts.map +1 -1
  38. package/dist/server/agent-bridge.js +274 -54
  39. package/dist/server/handlers/queue.d.ts +3 -11
  40. package/dist/server/handlers/queue.d.ts.map +1 -1
  41. package/dist/server/handlers/queue.js +48 -24
  42. package/dist/server/session-stream.d.ts.map +1 -1
  43. package/dist/server/session-stream.js +43 -9
  44. package/dist/server/storage.d.ts +2 -1
  45. package/dist/server/storage.d.ts.map +1 -1
  46. package/dist/server/storage.js +16 -8
  47. package/dist/server/wire.d.ts +11 -1
  48. package/dist/server/wire.d.ts.map +1 -1
  49. package/package.json +1 -1
@@ -48,123 +48,163 @@ export function normalizeForFuzzyMatch(text) {
48
48
  // U+205F medium math space, U+3000 ideographic space
49
49
  .replace(/[\u00A0\u2002-\u200A\u202F\u205F\u3000]/g, " "));
50
50
  }
51
- function allIndexes(content, search) {
52
- const indexes = [];
53
- if (search.length === 0)
54
- return indexes;
55
- let index = content.indexOf(search);
56
- while (index !== -1) {
57
- indexes.push(index);
58
- index = content.indexOf(search, index + 1);
51
+ function findExactMatches(content, oldText) {
52
+ const matches = [];
53
+ let searchFrom = 0;
54
+ while (searchFrom <= content.length) {
55
+ const index = content.indexOf(oldText, searchFrom);
56
+ if (index === -1)
57
+ break;
58
+ matches.push({ index, matchLength: oldText.length, strategy: "exact" });
59
+ searchFrom = index + Math.max(oldText.length, 1);
59
60
  }
60
- return indexes;
61
- }
62
- function isTrimmedHorizontalWhitespace(char) {
63
- return /[\t\f\v \u00A0\u2002-\u200A\u202F\u205F\u3000]/u.test(char);
61
+ return matches;
64
62
  }
65
- function normalizeTrimEndWithMap(text) {
66
- const out = [];
67
- const map = [];
68
- let lineStart = 0;
69
- for (let i = 0; i <= text.length; i++) {
70
- if (i !== text.length && text[i] !== "\n")
63
+ function buildNormalizedIndexMap(text) {
64
+ let normalized = "";
65
+ const originalIndexByNormalizedIndex = [];
66
+ let lastWasCarriageReturn = false;
67
+ for (let i = 0; i < text.length; i++) {
68
+ const char = text[i];
69
+ if (char === "\r") {
70
+ normalized += "\n";
71
+ originalIndexByNormalizedIndex.push(i);
72
+ lastWasCarriageReturn = true;
71
73
  continue;
72
- let lineEnd = i;
73
- while (lineEnd > lineStart && isTrimmedHorizontalWhitespace(text[lineEnd - 1])) {
74
- lineEnd--;
75
74
  }
76
- for (let j = lineStart; j < lineEnd; j++) {
77
- out.push(text[j]);
78
- map.push(j);
75
+ if (char === "\n" && lastWasCarriageReturn) {
76
+ lastWasCarriageReturn = false;
77
+ continue;
79
78
  }
80
- if (i < text.length) {
81
- out.push("\n");
82
- map.push(i);
79
+ lastWasCarriageReturn = false;
80
+ const normalizedChar = normalizeForFuzzyMatch(char);
81
+ for (let j = 0; j < normalizedChar.length; j++) {
82
+ originalIndexByNormalizedIndex.push(i);
83
83
  }
84
- lineStart = i + 1;
84
+ normalized += normalizedChar;
85
85
  }
86
- return { text: out.join(""), map };
86
+ return { normalized, originalIndexByNormalizedIndex };
87
+ }
88
+ function normalizedMatchToOriginalRange(text, map, index, matchLength) {
89
+ const originalStart = map[index] ?? text.length;
90
+ const nextNormalizedIndex = index + matchLength;
91
+ const originalEnd = nextNormalizedIndex < map.length ? map[nextNormalizedIndex] : text.length;
92
+ return { index: originalStart, matchLength: originalEnd - originalStart };
87
93
  }
88
94
  function dedupeMatches(matches) {
89
95
  const seen = new Set();
90
- return matches.filter((match) => {
96
+ const result = [];
97
+ for (const match of matches) {
91
98
  const key = `${match.index}:${match.matchLength}`;
92
99
  if (seen.has(key))
93
- return false;
100
+ continue;
94
101
  seen.add(key);
95
- return true;
96
- });
102
+ result.push(match);
103
+ }
104
+ return result;
97
105
  }
98
- function findTrimEndMatches(content, oldText) {
99
- const normalizedContent = normalizeTrimEndWithMap(content);
100
- const normalizedOldText = normalizeTrimEndWithMap(oldText).text;
101
- return allIndexes(normalizedContent.text, normalizedOldText).map((index) => {
102
- const normalizedEnd = index + normalizedOldText.length;
103
- const start = normalizedContent.map[index] ?? 0;
104
- const end = normalizedEnd >= normalizedContent.map.length
105
- ? content.length
106
- : (normalizedContent.map[normalizedEnd - 1] ?? start) + 1;
107
- return { index: start, matchLength: Math.max(0, end - start), usedFuzzyMatch: true };
108
- });
106
+ function findNormalizedTextMatches(content, oldText) {
107
+ const { normalized, originalIndexByNormalizedIndex } = buildNormalizedIndexMap(content);
108
+ const normalizedOldText = buildNormalizedIndexMap(oldText).normalized;
109
+ if (normalizedOldText.length === 0)
110
+ return [];
111
+ const matches = [];
112
+ let searchFrom = 0;
113
+ while (searchFrom <= normalized.length) {
114
+ const normalizedIndex = normalized.indexOf(normalizedOldText, searchFrom);
115
+ if (normalizedIndex === -1)
116
+ break;
117
+ const range = normalizedMatchToOriginalRange(content, originalIndexByNormalizedIndex, normalizedIndex, normalizedOldText.length);
118
+ matches.push({
119
+ index: range.index,
120
+ matchLength: range.matchLength,
121
+ strategy: "normalized",
122
+ });
123
+ searchFrom = normalizedIndex + normalizedOldText.length;
124
+ }
125
+ return dedupeMatches(matches);
109
126
  }
110
- function getLineRanges(content) {
111
- const ranges = [];
127
+ function splitLinesWithOffsets(text) {
128
+ const lines = [];
112
129
  let start = 0;
113
- for (let i = 0; i <= content.length; i++) {
114
- if (i !== content.length && content[i] !== "\n")
115
- continue;
116
- const endWithNewline = i < content.length ? i + 1 : i;
117
- ranges.push({ start, endNoNewline: i, endWithNewline, text: content.slice(start, i) });
118
- start = i + 1;
130
+ while (start <= text.length) {
131
+ const newlineIndex = text.indexOf("\n", start);
132
+ if (newlineIndex === -1) {
133
+ lines.push({
134
+ text: text.slice(start),
135
+ start,
136
+ end: text.length,
137
+ lineEndEnd: text.length,
138
+ });
139
+ break;
140
+ }
141
+ lines.push({
142
+ text: text.slice(start, newlineIndex),
143
+ start,
144
+ end: newlineIndex,
145
+ lineEndEnd: newlineIndex + 1,
146
+ });
147
+ start = newlineIndex + 1;
148
+ if (start === text.length) {
149
+ lines.push({ text: "", start, end: start, lineEndEnd: start });
150
+ break;
151
+ }
119
152
  }
120
- return ranges;
153
+ return lines;
121
154
  }
122
- function findTrimmedLineMatches(content, oldText) {
123
- const hasTrailingNewline = oldText.endsWith("\n");
124
- const oldLines = (hasTrailingNewline ? oldText.slice(0, -1) : oldText).split("\n");
125
- if (oldLines.length === 0 || (oldLines.length === 1 && oldLines[0].trim().length === 0))
155
+ function getComparableLines(text) {
156
+ const lines = splitLinesWithOffsets(text);
157
+ const includeTrailingNewline = text.endsWith("\n");
158
+ return {
159
+ lines: includeTrailingNewline ? lines.slice(0, -1) : lines,
160
+ includeTrailingNewline,
161
+ };
162
+ }
163
+ function normalizeFlexibleLine(line) {
164
+ return normalizeForFuzzyMatch(line).trim();
165
+ }
166
+ function findLineTrimmedMatches(content, oldText) {
167
+ const old = getComparableLines(oldText);
168
+ if (old.lines.length === 0)
126
169
  return [];
127
- const normalizedOldLines = oldLines.map((line) => normalizeForFuzzyMatch(line).trim());
128
- const contentLines = getLineRanges(content);
170
+ const oldLines = old.lines.map((line) => normalizeFlexibleLine(line.text));
171
+ const contentLines = splitLinesWithOffsets(content);
129
172
  const matches = [];
130
- for (let i = 0; i <= contentLines.length - oldLines.length; i++) {
131
- let matched = true;
132
- for (let j = 0; j < oldLines.length; j++) {
133
- const contentLine = normalizeForFuzzyMatch(contentLines[i + j].text).trim();
134
- if (contentLine !== normalizedOldLines[j]) {
135
- matched = false;
173
+ for (let startLine = 0; startLine <= contentLines.length - oldLines.length; startLine++) {
174
+ let found = true;
175
+ for (let offset = 0; offset < oldLines.length; offset++) {
176
+ if (normalizeFlexibleLine(contentLines[startLine + offset].text) !== oldLines[offset]) {
177
+ found = false;
136
178
  break;
137
179
  }
138
180
  }
139
- if (!matched)
181
+ if (!found)
140
182
  continue;
141
- const start = contentLines[i].start;
142
- const lastLine = contentLines[i + oldLines.length - 1];
143
- const end = hasTrailingNewline ? lastLine.endWithNewline : lastLine.endNoNewline;
144
- matches.push({ index: start, matchLength: end - start, usedFuzzyMatch: true });
183
+ const firstLine = contentLines[startLine];
184
+ const lastLine = contentLines[startLine + oldLines.length - 1];
185
+ if (old.includeTrailingNewline && lastLine.lineEndEnd === lastLine.end)
186
+ continue;
187
+ const start = firstLine.start;
188
+ const end = old.includeTrailingNewline ? lastLine.lineEndEnd : lastLine.end;
189
+ matches.push({
190
+ index: start,
191
+ matchLength: end - start,
192
+ strategy: "line-trimmed",
193
+ });
145
194
  }
146
- return matches;
195
+ return dedupeMatches(matches);
147
196
  }
148
197
  function findTextMatches(content, oldText) {
149
- const exactMatches = allIndexes(content, oldText).map((index) => ({
150
- index,
151
- matchLength: oldText.length,
152
- usedFuzzyMatch: false,
153
- }));
198
+ const exactMatches = findExactMatches(content, oldText);
154
199
  if (exactMatches.length > 0)
155
200
  return exactMatches;
156
- const trimEndMatches = findTrimEndMatches(content, oldText);
157
- if (trimEndMatches.length > 0)
158
- return dedupeMatches(trimEndMatches);
159
- return dedupeMatches(findTrimmedLineMatches(content, oldText));
201
+ const lineTrimmedMatches = findLineTrimmedMatches(content, oldText);
202
+ if (lineTrimmedMatches.length > 0)
203
+ return lineTrimmedMatches;
204
+ return findNormalizedTextMatches(content, oldText);
160
205
  }
161
- /**
162
- * Find oldText in content, trying exact match first, then tolerant whitespace matching.
163
- * Fuzzy matches still return indexes into the original content, so replacements preserve
164
- * untouched text outside the matched span.
165
- */
166
206
  export function fuzzyFindText(content, oldText) {
167
- const match = findTextMatches(content, oldText)[0];
207
+ const [match] = findTextMatches(content, oldText);
168
208
  if (!match) {
169
209
  return {
170
210
  found: false,
@@ -178,22 +218,61 @@ export function fuzzyFindText(content, oldText) {
178
218
  found: true,
179
219
  index: match.index,
180
220
  matchLength: match.matchLength,
181
- usedFuzzyMatch: match.usedFuzzyMatch,
221
+ usedFuzzyMatch: match.strategy !== "exact",
182
222
  contentForReplacement: content,
183
223
  };
184
224
  }
225
+ function leadingWhitespace(line) {
226
+ return line.match(/^[\t ]*/)?.[0] ?? "";
227
+ }
228
+ function firstNonBlankLine(lines) {
229
+ return lines.find((line) => line.trim().length > 0);
230
+ }
231
+ function adaptIndentationFlexibleReplacement(oldText, newText, matchedText) {
232
+ const oldLines = oldText.split("\n");
233
+ const newLines = newText.split("\n");
234
+ const matchedLines = matchedText.split("\n");
235
+ const oldBaseLine = firstNonBlankLine(oldLines);
236
+ const matchedBaseLine = firstNonBlankLine(matchedLines);
237
+ if (!oldBaseLine || !matchedBaseLine)
238
+ return newText;
239
+ const oldBaseIndent = leadingWhitespace(oldBaseLine);
240
+ const matchedBaseIndent = leadingWhitespace(matchedBaseLine);
241
+ if (oldBaseIndent === matchedBaseIndent)
242
+ return newText;
243
+ return newLines
244
+ .map((line, index) => {
245
+ if (line.trim().length === 0)
246
+ return line;
247
+ const oldLine = oldLines[index];
248
+ const matchedLine = matchedLines[index];
249
+ if (oldLine !== undefined && matchedLine !== undefined) {
250
+ const oldLineIndent = leadingWhitespace(oldLine);
251
+ const matchedLineIndent = leadingWhitespace(matchedLine);
252
+ if (line.startsWith(oldLineIndent))
253
+ return `${matchedLineIndent}${line.slice(oldLineIndent.length)}`;
254
+ }
255
+ if (oldBaseIndent.length === 0)
256
+ return `${matchedBaseIndent}${line}`;
257
+ return line.startsWith(oldBaseIndent) ? `${matchedBaseIndent}${line.slice(oldBaseIndent.length)}` : line;
258
+ })
259
+ .join("\n");
260
+ }
261
+ function prepareReplacementText(match, oldText, newText, baseContent) {
262
+ if (match.strategy !== "line-trimmed")
263
+ return newText;
264
+ return adaptIndentationFlexibleReplacement(oldText, newText, baseContent.slice(match.index, match.index + match.matchLength));
265
+ }
185
266
  /** Strip UTF-8 BOM if present, return both the BOM (if any) and the text without it */
186
267
  export function stripBom(content) {
187
268
  return content.startsWith("\uFEFF") ? { bom: "\uFEFF", text: content.slice(1) } : { bom: "", text: content };
188
269
  }
189
- function countOccurrences(content, oldText) {
190
- return findTextMatches(content, oldText).length;
191
- }
192
270
  function getNotFoundError(path, editIndex, totalEdits) {
271
+ const guidance = "Re-read the file and retry with the smallest unique oldText copied from the current file; edits are matched against the original file, not sequentially.";
193
272
  if (totalEdits === 1) {
194
- return new Error(`Could not find the exact text in ${path}. The old text must match exactly including all whitespace and newlines.`);
273
+ return new Error(`Could not find the exact text in ${path}. The old text must match the current file, including whitespace and newlines. ${guidance}`);
195
274
  }
196
- return new Error(`Could not find edits[${editIndex}] in ${path}. The oldText must match exactly including all whitespace and newlines.`);
275
+ return new Error(`Could not find edits[${editIndex}] in ${path}. The oldText must match the current file, including whitespace and newlines. ${guidance}`);
197
276
  }
198
277
  function getDuplicateError(path, editIndex, totalEdits, occurrences) {
199
278
  if (totalEdits === 1) {
@@ -235,19 +314,19 @@ export function applyEditsToNormalizedContent(normalizedContent, edits, path) {
235
314
  const matchedEdits = [];
236
315
  for (let i = 0; i < normalizedEdits.length; i++) {
237
316
  const edit = normalizedEdits[i];
238
- const matchResult = fuzzyFindText(baseContent, edit.oldText);
239
- if (!matchResult.found) {
317
+ const matches = findTextMatches(baseContent, edit.oldText);
318
+ if (matches.length === 0) {
240
319
  throw getNotFoundError(path, i, normalizedEdits.length);
241
320
  }
242
- const occurrences = countOccurrences(baseContent, edit.oldText);
243
- if (occurrences > 1) {
244
- throw getDuplicateError(path, i, normalizedEdits.length, occurrences);
321
+ if (matches.length > 1) {
322
+ throw getDuplicateError(path, i, normalizedEdits.length, matches.length);
245
323
  }
324
+ const match = matches[0];
246
325
  matchedEdits.push({
247
326
  editIndex: i,
248
- matchIndex: matchResult.index,
249
- matchLength: matchResult.matchLength,
250
- newText: edit.newText,
327
+ matchIndex: match.index,
328
+ matchLength: match.matchLength,
329
+ newText: prepareReplacementText(match, edit.oldText, edit.newText, baseContent),
251
330
  });
252
331
  }
253
332
  matchedEdits.sort((a, b) => a.matchIndex - b.matchIndex);
@@ -1 +1 @@
1
- {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/coding-agent/core/tools/edit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA6B7D,QAAA,MAAM,UAAU;;;;;;EASf,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AAMtD,MAAM,WAAW,eAAe;IAC/B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,qCAAqC;IACrC,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,8BAA8B;IAC9B,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,4DAA4D;IAC5D,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAQD,MAAM,WAAW,eAAe;IAC/B,oEAAoE;IACpE,UAAU,CAAC,EAAE,cAAc,CAAC;CAC5B;AAoFD,wBAAgB,wBAAwB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,eAAe,GACvB,cAAc,CAAC,OAAO,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC,CAkIhE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,OAAO,UAAU,CAAC,CAEnG"}
1
+ {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/coding-agent/core/tools/edit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA6B7D,QAAA,MAAM,UAAU;;;;;;EASf,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AAMtD,MAAM,WAAW,eAAe;IAC/B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,qCAAqC;IACrC,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,8BAA8B;IAC9B,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,4DAA4D;IAC5D,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAQD,MAAM,WAAW,eAAe;IAC/B,oEAAoE;IACpE,UAAU,CAAC,EAAE,cAAc,CAAC;CAC5B;AAoFD,wBAAgB,wBAAwB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,eAAe,GACvB,cAAc,CAAC,OAAO,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC,CAsIhE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,OAAO,UAAU,CAAC,CAEnG"}
@@ -82,13 +82,17 @@ export function createEditToolDefinition(cwd, options) {
82
82
  return {
83
83
  name: "edit",
84
84
  label: "edit",
85
- description: "Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.",
86
- promptSnippet: "Make precise file edits with exact text replacement, including multiple disjoint edits in one call",
85
+ description: "Edit a single file using targeted text replacement. Prefer apply_patch for manual code edits when that tool is available; use edit for small exact replacements only. Prefer copying edits[].oldText from a fresh read of the current file. Every oldText must identify one unique, non-overlapping region of the original file snapshot for this tool call. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.",
86
+ promptSnippet: "Make precise file edits with targeted text replacement, including multiple disjoint edits in one call",
87
87
  promptGuidelines: [
88
- "Use edit for precise changes (edits[].oldText must match exactly)",
89
- "When changing multiple separate locations in one file, use one edit call with multiple entries in edits[] instead of multiple edit calls",
90
- "Each edits[].oldText is matched against the original file, not after earlier edits are applied. Do not emit overlapping or nested edits. Merge nearby changes into one edit.",
88
+ "Prefer apply_patch for manual code edits when that tool is available, especially with OpenAI/GPT/Codex models; use edit only for small exact replacements where edits[].oldText is copied from the latest file contents.",
89
+ "Read or re-read the target file immediately before risky edits, especially after another tool or agent may have changed it.",
90
+ "Never use edit from memory or from stale snippets. oldText must be copied byte-for-byte from the latest read output, including indentation, blank lines, comments, and punctuation.",
91
+ "When changing multiple separate locations in one file, use one edit call with multiple entries in edits[] instead of multiple edit calls.",
92
+ "Each edits[].oldText is matched against the original file snapshot for that edit call, not after earlier edits are applied. Do not emit sequential edits where a later oldText depends on an earlier replacement.",
93
+ "Do not emit overlapping or nested edits. If edits touch the same block or nearby lines, merge them into one edit.",
91
94
  "Keep edits[].oldText as small as possible while still being unique in the file. Do not pad with large unchanged regions.",
95
+ "If edit reports that oldText was not found, stop and re-read the file before retrying; do not retry the same oldText.",
92
96
  ],
93
97
  parameters: editSchema,
94
98
  prepareArguments: prepareEditArguments,
@@ -1,4 +1,5 @@
1
1
  export { type BashOperations, type BashSpawnContext, type BashSpawnHook, type BashToolDetails, type BashToolInput, type BashToolOptions, createBashTool, createBashToolDefinition, createLocalBashOperations, } from "./bash.js";
2
+ export { createApplyPatchTool, createApplyPatchToolDefinition, type ApplyPatchOperations, type ApplyPatchToolDetails, type ApplyPatchToolInput, type ApplyPatchToolOptions, } from "./apply-patch.js";
2
3
  export { createEditTool, createEditToolDefinition, type EditOperations, type EditToolDetails, type EditToolInput, type EditToolOptions, } from "./edit.js";
3
4
  export { withFileMutationQueue } from "./file-mutation-queue.js";
4
5
  export { createFindTool, createFindToolDefinition, type FindOperations, type FindToolDetails, type FindToolInput, type FindToolOptions, } from "./find.js";
@@ -9,6 +10,7 @@ export { DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, formatSize, type TruncationOption
9
10
  export { createWriteTool, createWriteToolDefinition, type WriteOperations, type WriteToolInput, type WriteToolOptions, } from "./write.js";
10
11
  import type { AgentTool } from "../../../agent-core/index.js";
11
12
  import type { ToolDefinition } from "../extensions/types.js";
13
+ import { type ApplyPatchToolOptions } from "./apply-patch.js";
12
14
  import { type BashToolOptions } from "./bash.js";
13
15
  import { type EditToolOptions } from "./edit.js";
14
16
  import { type FindToolOptions } from "./find.js";
@@ -18,13 +20,14 @@ import { type ReadToolOptions } from "./read.js";
18
20
  import { type WriteToolOptions } from "./write.js";
19
21
  export type Tool = AgentTool<any>;
20
22
  export type ToolDef = ToolDefinition<any, any>;
21
- export type ToolName = "read" | "bash" | "edit" | "write" | "grep" | "find" | "ls";
23
+ export type ToolName = "read" | "bash" | "edit" | "apply_patch" | "write" | "grep" | "find" | "ls";
22
24
  export declare const allToolNames: Set<ToolName>;
23
25
  export interface ToolsOptions {
24
26
  read?: ReadToolOptions;
25
27
  bash?: BashToolOptions;
26
28
  write?: WriteToolOptions;
27
29
  edit?: EditToolOptions;
30
+ applyPatch?: ApplyPatchToolOptions;
28
31
  grep?: GrepToolOptions;
29
32
  find?: FindToolOptions;
30
33
  ls?: LsToolOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/coding-agent/core/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/coding-agent/core/tools/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export { createBashTool, createBashToolDefinition, createLocalBashOperations, } from "./bash.js";
2
+ export { createApplyPatchTool, createApplyPatchToolDefinition, } from "./apply-patch.js";
2
3
  export { createEditTool, createEditToolDefinition, } from "./edit.js";
3
4
  export { withFileMutationQueue } from "./file-mutation-queue.js";
4
5
  export { createFindTool, createFindToolDefinition, } from "./find.js";
@@ -7,6 +8,7 @@ export { createLsTool, createLsToolDefinition, } from "./ls.js";
7
8
  export { createReadTool, createReadToolDefinition, } from "./read.js";
8
9
  export { DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, formatSize, truncateHead, truncateLine, truncateTail, } from "./truncate.js";
9
10
  export { createWriteTool, createWriteToolDefinition, } from "./write.js";
11
+ import { createApplyPatchTool, createApplyPatchToolDefinition } from "./apply-patch.js";
10
12
  import { createBashTool, createBashToolDefinition } from "./bash.js";
11
13
  import { createEditTool, createEditToolDefinition } from "./edit.js";
12
14
  import { createFindTool, createFindToolDefinition } from "./find.js";
@@ -18,6 +20,7 @@ export const allToolNames = new Set([
18
20
  "read",
19
21
  "bash",
20
22
  "edit",
23
+ "apply_patch",
21
24
  "write",
22
25
  "grep",
23
26
  "find",
@@ -31,6 +34,8 @@ export function createToolDefinition(toolName, cwd, options) {
31
34
  return createBashToolDefinition(cwd, options?.bash);
32
35
  case "edit":
33
36
  return createEditToolDefinition(cwd, options?.edit);
37
+ case "apply_patch":
38
+ return createApplyPatchToolDefinition(cwd, options?.applyPatch);
34
39
  case "write":
35
40
  return createWriteToolDefinition(cwd, options?.write);
36
41
  case "grep":
@@ -51,6 +56,8 @@ export function createTool(toolName, cwd, options) {
51
56
  return createBashTool(cwd, options?.bash);
52
57
  case "edit":
53
58
  return createEditTool(cwd, options?.edit);
59
+ case "apply_patch":
60
+ return createApplyPatchTool(cwd, options?.applyPatch);
54
61
  case "write":
55
62
  return createWriteTool(cwd, options?.write);
56
63
  case "grep":
@@ -68,6 +75,7 @@ export function createCodingToolDefinitions(cwd, options) {
68
75
  createReadToolDefinition(cwd, options?.read),
69
76
  createBashToolDefinition(cwd, options?.bash),
70
77
  createEditToolDefinition(cwd, options?.edit),
78
+ createApplyPatchToolDefinition(cwd, options?.applyPatch),
71
79
  createWriteToolDefinition(cwd, options?.write),
72
80
  ];
73
81
  }
@@ -84,6 +92,7 @@ export function createAllToolDefinitions(cwd, options) {
84
92
  read: createReadToolDefinition(cwd, options?.read),
85
93
  bash: createBashToolDefinition(cwd, options?.bash),
86
94
  edit: createEditToolDefinition(cwd, options?.edit),
95
+ apply_patch: createApplyPatchToolDefinition(cwd, options?.applyPatch),
87
96
  write: createWriteToolDefinition(cwd, options?.write),
88
97
  grep: createGrepToolDefinition(cwd, options?.grep),
89
98
  find: createFindToolDefinition(cwd, options?.find),
@@ -95,6 +104,7 @@ export function createCodingTools(cwd, options) {
95
104
  createReadTool(cwd, options?.read),
96
105
  createBashTool(cwd, options?.bash),
97
106
  createEditTool(cwd, options?.edit),
107
+ createApplyPatchTool(cwd, options?.applyPatch),
98
108
  createWriteTool(cwd, options?.write),
99
109
  ];
100
110
  }
@@ -111,6 +121,7 @@ export function createAllTools(cwd, options) {
111
121
  read: createReadTool(cwd, options?.read),
112
122
  bash: createBashTool(cwd, options?.bash),
113
123
  edit: createEditTool(cwd, options?.edit),
124
+ apply_patch: createApplyPatchTool(cwd, options?.applyPatch),
114
125
  write: createWriteTool(cwd, options?.write),
115
126
  grep: createGrepTool(cwd, options?.grep),
116
127
  find: createFindTool(cwd, options?.find),
@@ -16,7 +16,7 @@ export { type BranchSummaryEntry, buildSessionContext, type CompactionEntry, CUR
16
16
  export { type CompactionSettings, type ImageSettings, type PackageSource, type RetrySettings, SettingsManager, } from "./core/settings-manager.js";
17
17
  export { formatSkillsForPrompt, type LoadSkillsFromDirOptions, type LoadSkillsResult, loadSkills, loadSkillsFromDir, type Skill, type SkillFrontmatter, } from "./core/skills.js";
18
18
  export { createSyntheticSourceInfo } from "./core/source-info.js";
19
- export { type BashOperations, type BashSpawnContext, type BashSpawnHook, type BashToolDetails, type BashToolInput, type BashToolOptions, createBashToolDefinition, createEditToolDefinition, createFindToolDefinition, createGrepToolDefinition, createLocalBashOperations, createLsToolDefinition, createReadToolDefinition, createWriteToolDefinition, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, type EditOperations, type EditToolDetails, type EditToolInput, type EditToolOptions, type FindOperations, type FindToolDetails, type FindToolInput, type FindToolOptions, formatSize, type GrepOperations, type GrepToolDetails, type GrepToolInput, type GrepToolOptions, type LsOperations, type LsToolDetails, type LsToolInput, type LsToolOptions, type ReadOperations, type ReadToolDetails, type ReadToolInput, type ReadToolOptions, type ToolsOptions, type TruncationOptions, type TruncationResult, truncateHead, truncateLine, truncateTail, type WriteOperations, type WriteToolInput, type WriteToolOptions, withFileMutationQueue, } from "./core/tools/index.js";
19
+ export { type BashOperations, type BashSpawnContext, type BashSpawnHook, type BashToolDetails, type BashToolInput, type BashToolOptions, createApplyPatchToolDefinition, createBashToolDefinition, createEditToolDefinition, createFindToolDefinition, createGrepToolDefinition, createLocalBashOperations, createLsToolDefinition, createReadToolDefinition, createWriteToolDefinition, type ApplyPatchOperations, type ApplyPatchToolDetails, type ApplyPatchToolInput, type ApplyPatchToolOptions, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, type EditOperations, type EditToolDetails, type EditToolInput, type EditToolOptions, type FindOperations, type FindToolDetails, type FindToolInput, type FindToolOptions, formatSize, type GrepOperations, type GrepToolDetails, type GrepToolInput, type GrepToolOptions, type LsOperations, type LsToolDetails, type LsToolInput, type LsToolOptions, type ReadOperations, type ReadToolDetails, type ReadToolInput, type ReadToolOptions, type ToolsOptions, type TruncationOptions, type TruncationResult, truncateHead, truncateLine, truncateTail, type WriteOperations, type WriteToolInput, type WriteToolOptions, withFileMutationQueue, } from "./core/tools/index.js";
20
20
  export { RpcClient, type RpcClientOptions, type RpcCommand, type RpcEventListener, type RpcResponse, type RpcSessionState, runRpcMode, } from "./modes/index.js";
21
21
  export type { ModelInfo } from "./modes/rpc/rpc-client.js";
22
22
  export type { PrintModeOptions } from "./modes/print-mode.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sdk/coding-agent/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sdk/coding-agent/index.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export { SettingsManager, } from "./core/settings-manager.js";
26
26
  export { formatSkillsForPrompt, loadSkills, loadSkillsFromDir, } from "./core/skills.js";
27
27
  export { createSyntheticSourceInfo } from "./core/source-info.js";
28
28
  // Tools
29
- export { createBashToolDefinition, createEditToolDefinition, createFindToolDefinition, createGrepToolDefinition, createLocalBashOperations, createLsToolDefinition, createReadToolDefinition, createWriteToolDefinition, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, formatSize, truncateHead, truncateLine, truncateTail, withFileMutationQueue, } from "./core/tools/index.js";
29
+ export { createApplyPatchToolDefinition, createBashToolDefinition, createEditToolDefinition, createFindToolDefinition, createGrepToolDefinition, createLocalBashOperations, createLsToolDefinition, createReadToolDefinition, createWriteToolDefinition, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, formatSize, truncateHead, truncateLine, truncateTail, withFileMutationQueue, } from "./core/tools/index.js";
30
30
  // Main entry point
31
31
  // main.ts removed (interactive-only, not used in SDK mode)
32
32
  // Run modes for programmatic SDK usage
@@ -1 +1 @@
1
- {"version":3,"file":"agent-bridge.d.ts","sourceRoot":"","sources":["../../src/server/agent-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAaH,OAAO,EAQL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,8BAA8B,CAAC;AAStC,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAYrF,OAAO,EACL,kBAAkB,IAAI,yBAAyB,EAEhD,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG3E,UAAU,4BAA4B;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CACpC;AAkBD,sEAAsE;AACtE,MAAM,MAAM,oBAAoB,GAAG,OAAO,yBAAyB,CAAC;AAmCpE,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACnC;;;;;OAKG;IACH,0BAA0B,EAAE,CAAC,GAAG,EAAE;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACrB,KAAK,IAAI,CAAC;IACX;;;OAGG;IACH,yBAAyB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB;;;;OAIG;IACH,cAAc,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC9C;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IAC1C;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAwXD,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,OAAO,CAAC,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAAC,CAAiB;IACvC;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,sFAAsF;IACtF,OAAO,CAAC,iBAAiB,CAQT;IAChB,OAAO,CAAC,WAAW,CAA0E;IAC7F,OAAO,CAAC,mBAAmB,CAA+B;IAC1D;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAAuB;gBAEjC,IAAI,EAAE,kBAAkB;IAIpC;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoS5B,OAAO,CAAC,4BAA4B;IASpC;;;;;OAKG;YACW,qBAAqB;IAcnC;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;YAI7B,oBAAoB;IAmBlC;;;;;;;;;;;;OAYG;IACH;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,0BAA0B;IA6GlC;;;;;;;;;;;;;;;OAeG;IACH;;;;;;;;OAQG;IACH,wBAAwB,IAAI,MAAM,GAAG,SAAS;IAI9C;;;;OAIG;IACH,eAAe,IAAI;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS;IAIvG,gBAAgB,IAAI,KAAK,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IAgBF,iBAAiB,IAAI;QACnB,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,CAAC;QACtE,QAAQ,EAAE;YACR,QAAQ,EAAE,OAAO,CAAC;YAClB,UAAU,EAAE,OAAO,CAAC;YACpB,UAAU,EAAE,OAAO,CAAC;YACpB,MAAM,EAAE,OAAO,CAAC;SACjB,CAAC;KACH;IAYD,OAAO,CAAC,iBAAiB;IAsBnB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IA6DpE;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,iCAAiC;IAmBzC;;;;;;OAMG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAoBpD;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BrE;;;;;;;;OAQG;IACG,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,4BAA4B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAYzF,OAAO,IAAI,IAAI;IA0Bf;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,sBAAsB;IAkD9B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,EAAE,iBAAiB,GAAG,IAAI;CAmYzC"}
1
+ {"version":3,"file":"agent-bridge.d.ts","sourceRoot":"","sources":["../../src/server/agent-bridge.ts"],"names":[],"mappings":"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"}