@xagent-ai/cli 1.2.0 → 1.2.2
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.
- package/README.md +1 -1
- package/README_CN.md +1 -1
- package/dist/agents.js +164 -164
- package/dist/agents.js.map +1 -1
- package/dist/ai-client.d.ts +4 -6
- package/dist/ai-client.d.ts.map +1 -1
- package/dist/ai-client.js +137 -115
- package/dist/ai-client.js.map +1 -1
- package/dist/auth.js +4 -4
- package/dist/auth.js.map +1 -1
- package/dist/cli.js +184 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.js +3 -3
- package/dist/config.js.map +1 -1
- package/dist/context-compressor.d.ts.map +1 -1
- package/dist/context-compressor.js +65 -81
- package/dist/context-compressor.js.map +1 -1
- package/dist/conversation.d.ts +1 -1
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +5 -31
- package/dist/conversation.js.map +1 -1
- package/dist/memory.d.ts +5 -1
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +77 -37
- package/dist/memory.js.map +1 -1
- package/dist/remote-ai-client.d.ts +1 -8
- package/dist/remote-ai-client.d.ts.map +1 -1
- package/dist/remote-ai-client.js +55 -65
- package/dist/remote-ai-client.js.map +1 -1
- package/dist/retry.d.ts +35 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +166 -0
- package/dist/retry.js.map +1 -0
- package/dist/session.d.ts +0 -5
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +243 -312
- package/dist/session.js.map +1 -1
- package/dist/slash-commands.d.ts +1 -0
- package/dist/slash-commands.d.ts.map +1 -1
- package/dist/slash-commands.js +91 -9
- package/dist/slash-commands.js.map +1 -1
- package/dist/smart-approval.d.ts.map +1 -1
- package/dist/smart-approval.js +18 -17
- package/dist/smart-approval.js.map +1 -1
- package/dist/system-prompt-generator.d.ts.map +1 -1
- package/dist/system-prompt-generator.js +149 -139
- package/dist/system-prompt-generator.js.map +1 -1
- package/dist/theme.d.ts +48 -0
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +254 -0
- package/dist/theme.js.map +1 -1
- package/dist/tools/edit-diff.d.ts +32 -0
- package/dist/tools/edit-diff.d.ts.map +1 -0
- package/dist/tools/edit-diff.js +185 -0
- package/dist/tools/edit-diff.js.map +1 -0
- package/dist/tools/edit.d.ts +11 -0
- package/dist/tools/edit.d.ts.map +1 -0
- package/dist/tools/edit.js +129 -0
- package/dist/tools/edit.js.map +1 -0
- package/dist/tools.d.ts +19 -5
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +979 -631
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +6 -31
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/agents.ts +504 -504
- package/src/ai-client.ts +1559 -1458
- package/src/auth.ts +4 -4
- package/src/cli.ts +195 -1
- package/src/config.ts +3 -3
- package/src/memory.ts +55 -14
- package/src/remote-ai-client.ts +663 -683
- package/src/retry.ts +217 -0
- package/src/session.ts +1736 -1840
- package/src/slash-commands.ts +98 -9
- package/src/smart-approval.ts +626 -625
- package/src/system-prompt-generator.ts +853 -843
- package/src/theme.ts +284 -0
- package/src/tools.ts +390 -70
package/dist/theme.js
CHANGED
|
@@ -1,4 +1,63 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
+
/**
|
|
3
|
+
* Detect if terminal has dark or light background
|
|
4
|
+
* Returns 'dark' for dark backgrounds (default), 'light' for light backgrounds
|
|
5
|
+
*/
|
|
6
|
+
function getTerminalBackground() {
|
|
7
|
+
// Check common environment variables
|
|
8
|
+
const colorfgbg = process.env.COLORFGBG; // e.g., "15;0" (light fg, dark bg)
|
|
9
|
+
const termProgram = process.env.TERM_PROGRAM;
|
|
10
|
+
const termProgramVersion = process.env.TERM_PROGRAM_VERSION;
|
|
11
|
+
// Try to parse COLORFGBG (format: "fg;bg" or "fg;color;bg")
|
|
12
|
+
if (colorfgbg) {
|
|
13
|
+
const parts = colorfgbg.split(';');
|
|
14
|
+
const bg = parts[parts.length - 1];
|
|
15
|
+
// 0-6 are typically dark colors, 7-15 are light
|
|
16
|
+
const bgNum = parseInt(bg, 10);
|
|
17
|
+
if (!isNaN(bgNum)) {
|
|
18
|
+
// Most terminal colors: 0=black, 1=red, 2=green, ... 7=white, 8-15=bright variants
|
|
19
|
+
// For background: 0-6 = dark, 7 = light
|
|
20
|
+
if (bgNum >= 0 && bgNum <= 6)
|
|
21
|
+
return 'dark';
|
|
22
|
+
if (bgNum >= 7)
|
|
23
|
+
return 'light';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
// iTerm2 on macOS can indicate background brightness
|
|
27
|
+
if (termProgram === 'Apple_Terminal' || termProgram === 'iTerm.app') {
|
|
28
|
+
// Apple Terminal and iTerm2 default to dark
|
|
29
|
+
return 'dark';
|
|
30
|
+
}
|
|
31
|
+
// Windows Terminal and VS Code Terminal typically dark
|
|
32
|
+
if (termProgram?.includes('WindowsTerminal') || termProgram?.includes('Code')) {
|
|
33
|
+
return 'dark';
|
|
34
|
+
}
|
|
35
|
+
// Default to dark background (most common for developers)
|
|
36
|
+
return 'dark';
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Mix a color with background to create a transparent effect
|
|
40
|
+
* @param hexColor - The base color in hex format
|
|
41
|
+
* @param opacity - Opacity from 0 (background) to 1 (full color)
|
|
42
|
+
* @param background - Terminal background color ('dark' or 'light')
|
|
43
|
+
*/
|
|
44
|
+
function mixWithBackground(hexColor, opacity, background = 'dark') {
|
|
45
|
+
const hex = hexColor.replace('#', '');
|
|
46
|
+
const r = parseInt(hex.substring(0, 2), 16);
|
|
47
|
+
const g = parseInt(hex.substring(2, 4), 16);
|
|
48
|
+
const b = parseInt(hex.substring(4, 6), 16);
|
|
49
|
+
// Background colors
|
|
50
|
+
const bg = background === 'dark'
|
|
51
|
+
? { r: 0, g: 0, b: 0 } // Black for dark terminals
|
|
52
|
+
: { r: 255, g: 255, b: 255 }; // White for light terminals
|
|
53
|
+
const mr = Math.round(bg.r + (r - bg.r) * opacity);
|
|
54
|
+
const mg = Math.round(bg.g + (g - bg.g) * opacity);
|
|
55
|
+
const mb = Math.round(bg.b + (b - bg.b) * opacity);
|
|
56
|
+
return `#${mr.toString(16).padStart(2, '0')}${mg.toString(16).padStart(2, '0')}${mb.toString(16).padStart(2, '0')}`;
|
|
57
|
+
}
|
|
58
|
+
// Get terminal background once at module load
|
|
59
|
+
const TERMINAL_BG = getTerminalBackground();
|
|
60
|
+
export { TERMINAL_BG, getTerminalBackground, mixWithBackground };
|
|
2
61
|
/**
|
|
3
62
|
* Modern color scheme - using coordinated HSL colors
|
|
4
63
|
*/
|
|
@@ -34,6 +93,12 @@ export const colors = {
|
|
|
34
93
|
// Code block colors
|
|
35
94
|
codeBackground: chalk.hex('#1f2937'), // Gray-800
|
|
36
95
|
codeText: chalk.hex('#e5e7eb'), // Gray-200
|
|
96
|
+
// Diff colors - git-style diff highlighting with transparent backgrounds
|
|
97
|
+
diffAdded: chalk.hex('#10b981'), // Green - added lines
|
|
98
|
+
diffRemoved: chalk.hex('#ef4444'), // Red - removed lines
|
|
99
|
+
diffContext: chalk.hex('#6b7280'), // Gray - context lines
|
|
100
|
+
diffAddedInverse: (text) => chalk.bgHex(mixWithBackground('#10b981', 0.25, TERMINAL_BG)).hex(TERMINAL_BG === 'dark' ? '#e5e7eb' : '#1f2937')(text), // Adaptive green bg
|
|
101
|
+
diffRemovedInverse: (text) => chalk.bgHex(mixWithBackground('#ef4444', 0.25, TERMINAL_BG)).hex(TERMINAL_BG === 'dark' ? '#e5e7eb' : '#1f2937')(text), // Adaptive red bg
|
|
37
102
|
// Gradient colors
|
|
38
103
|
gradient: (text) => {
|
|
39
104
|
const gradientColors = ['#06b6d4', '#8b5cf6', '#ec4899'];
|
|
@@ -379,5 +444,194 @@ export function renderMarkdown(text, maxWidth = 80) {
|
|
|
379
444
|
}
|
|
380
445
|
return result.join('\n');
|
|
381
446
|
}
|
|
447
|
+
/**
|
|
448
|
+
* Parse a single diff line.
|
|
449
|
+
* Format: "+<num> content" or "-<num> content" or " <num> content"
|
|
450
|
+
* Also handles: "+<num>..." for skipped lines
|
|
451
|
+
*/
|
|
452
|
+
function parseDiffLine(line) {
|
|
453
|
+
// Skip empty lines
|
|
454
|
+
if (!line || line.trim() === '')
|
|
455
|
+
return null;
|
|
456
|
+
const firstChar = line[0];
|
|
457
|
+
if (!['+', '-', ' '].includes(firstChar)) {
|
|
458
|
+
// Try to detect if this is a diff-like line with different format
|
|
459
|
+
// e.g., "+ 1 content" (with padding)
|
|
460
|
+
const match = line.match(/^[+\-\s]\s*/);
|
|
461
|
+
if (match) {
|
|
462
|
+
// This looks like a diff line but with unexpected format
|
|
463
|
+
// Extract the content after the prefix
|
|
464
|
+
const afterPrefix = line.slice(match[0].length).trim();
|
|
465
|
+
return { prefix: firstChar, lineNum: '', content: afterPrefix };
|
|
466
|
+
}
|
|
467
|
+
return null;
|
|
468
|
+
}
|
|
469
|
+
// Extract content after the prefix char
|
|
470
|
+
const afterPrefix = line.slice(1).trim();
|
|
471
|
+
// Check for skipped lines marker
|
|
472
|
+
if (afterPrefix === '...') {
|
|
473
|
+
return { prefix: firstChar, lineNum: '', content: '...' };
|
|
474
|
+
}
|
|
475
|
+
// Return the rest as content
|
|
476
|
+
return { prefix: firstChar, lineNum: '', content: afterPrefix };
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Replace tabs with spaces for consistent rendering.
|
|
480
|
+
*/
|
|
481
|
+
function replaceTabs(text) {
|
|
482
|
+
return text.replace(/\t/g, ' ');
|
|
483
|
+
}
|
|
484
|
+
/**
|
|
485
|
+
* Compute word-level diff and render with inverse on changed parts.
|
|
486
|
+
* Uses diffWords which groups whitespace with adjacent words for cleaner highlighting.
|
|
487
|
+
*/
|
|
488
|
+
function renderIntraLineDiff(oldContent, newContent) {
|
|
489
|
+
// Simple word diff without external dependency
|
|
490
|
+
const oldWords = oldContent.split(/(\s+)/);
|
|
491
|
+
const newWords = newContent.split(/(\s+)/);
|
|
492
|
+
let removedLine = '';
|
|
493
|
+
let addedLine = '';
|
|
494
|
+
let i = 0, j = 0;
|
|
495
|
+
while (i < oldWords.length || j < newWords.length) {
|
|
496
|
+
const oldWord = oldWords[i] || '';
|
|
497
|
+
const newWord = newWords[j] || '';
|
|
498
|
+
if (oldWord === newWord) {
|
|
499
|
+
removedLine += oldWord;
|
|
500
|
+
addedLine += newWord;
|
|
501
|
+
i++;
|
|
502
|
+
j++;
|
|
503
|
+
}
|
|
504
|
+
else if (oldWord === '' || oldWord.match(/^\s+$/)) {
|
|
505
|
+
addedLine += newWord;
|
|
506
|
+
j++;
|
|
507
|
+
}
|
|
508
|
+
else if (newWord === '' || newWord.match(/^\s+$/)) {
|
|
509
|
+
removedLine += oldWord;
|
|
510
|
+
i++;
|
|
511
|
+
}
|
|
512
|
+
else {
|
|
513
|
+
// Simple heuristic: show removed with inverse, added with inverse
|
|
514
|
+
removedLine += colors.diffRemovedInverse(oldWord);
|
|
515
|
+
addedLine += colors.diffAddedInverse(newWord);
|
|
516
|
+
i++;
|
|
517
|
+
j++;
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
return { removedLine, addedLine };
|
|
521
|
+
}
|
|
522
|
+
/**
|
|
523
|
+
* Render a diff string with colored lines and intra-line change highlighting.
|
|
524
|
+
* - Context lines: gray
|
|
525
|
+
* - Removed lines: red
|
|
526
|
+
* - Added lines: green
|
|
527
|
+
*/
|
|
528
|
+
export function renderDiff(diffText) {
|
|
529
|
+
if (!diffText)
|
|
530
|
+
return '';
|
|
531
|
+
const lines = diffText.split('\n');
|
|
532
|
+
const result = [];
|
|
533
|
+
let i = 0;
|
|
534
|
+
while (i < lines.length) {
|
|
535
|
+
const line = lines[i];
|
|
536
|
+
const parsed = parseDiffLine(line);
|
|
537
|
+
if (!parsed) {
|
|
538
|
+
result.push(colors.diffContext(line));
|
|
539
|
+
i++;
|
|
540
|
+
continue;
|
|
541
|
+
}
|
|
542
|
+
if (parsed.prefix === '-') {
|
|
543
|
+
// Collect consecutive removed lines
|
|
544
|
+
const removedLines = [];
|
|
545
|
+
while (i < lines.length) {
|
|
546
|
+
const p = parseDiffLine(lines[i]);
|
|
547
|
+
if (!p || p.prefix !== '-')
|
|
548
|
+
break;
|
|
549
|
+
removedLines.push({ lineNum: p.lineNum, content: p.content });
|
|
550
|
+
i++;
|
|
551
|
+
}
|
|
552
|
+
// Collect consecutive added lines
|
|
553
|
+
const addedLines = [];
|
|
554
|
+
while (i < lines.length) {
|
|
555
|
+
const p = parseDiffLine(lines[i]);
|
|
556
|
+
if (!p || p.prefix !== '+')
|
|
557
|
+
break;
|
|
558
|
+
addedLines.push({ lineNum: p.lineNum, content: p.content });
|
|
559
|
+
i++;
|
|
560
|
+
}
|
|
561
|
+
// Intra-line diff for single line modification
|
|
562
|
+
if (removedLines.length === 1 && addedLines.length === 1) {
|
|
563
|
+
const removed = removedLines[0];
|
|
564
|
+
const added = addedLines[0];
|
|
565
|
+
const { removedLine, addedLine } = renderIntraLineDiff(replaceTabs(removed.content), replaceTabs(added.content));
|
|
566
|
+
const textColor = TERMINAL_BG === 'dark' ? '#e5e7eb' : '#1f2937';
|
|
567
|
+
result.push(chalk.bgHex(mixWithBackground('#ef4444', 0.25, TERMINAL_BG)).hex(textColor)(`-${removedLine}`));
|
|
568
|
+
result.push(chalk.bgHex(mixWithBackground('#10b981', 0.25, TERMINAL_BG)).hex(textColor)(`+${addedLine}`));
|
|
569
|
+
}
|
|
570
|
+
else {
|
|
571
|
+
const textColor = TERMINAL_BG === 'dark' ? '#e5e7eb' : '#1f2937';
|
|
572
|
+
for (const removed of removedLines) {
|
|
573
|
+
result.push(chalk.bgHex(mixWithBackground('#ef4444', 0.25, TERMINAL_BG)).hex(textColor)(`-${replaceTabs(removed.content)}`));
|
|
574
|
+
}
|
|
575
|
+
for (const added of addedLines) {
|
|
576
|
+
result.push(chalk.bgHex(mixWithBackground('#10b981', 0.25, TERMINAL_BG)).hex(textColor)(`+${replaceTabs(added.content)}`));
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
else if (parsed.prefix === '+') {
|
|
581
|
+
const textColor = TERMINAL_BG === 'dark' ? '#e5e7eb' : '#1f2937';
|
|
582
|
+
result.push(chalk.bgHex(mixWithBackground('#10b981', 0.25, TERMINAL_BG)).hex(textColor)(`+${replaceTabs(parsed.content)}`));
|
|
583
|
+
i++;
|
|
584
|
+
}
|
|
585
|
+
else {
|
|
586
|
+
result.push(chalk.hex('#374151')(` ${replaceTabs(parsed.content)}`));
|
|
587
|
+
i++;
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
return result.join('\n');
|
|
591
|
+
}
|
|
592
|
+
/**
|
|
593
|
+
* Render a code preview with line numbers and syntax highlighting.
|
|
594
|
+
* Automatically adapts to dark/light terminal backgrounds.
|
|
595
|
+
*/
|
|
596
|
+
export function renderCodePreview(content, options = {}) {
|
|
597
|
+
const { filePath = '', maxLines = 10, indent = '' } = options;
|
|
598
|
+
const lines = content.split('\n');
|
|
599
|
+
const displayLines = lines.slice(0, maxLines);
|
|
600
|
+
const hasMore = lines.length > maxLines;
|
|
601
|
+
const textColor = TERMINAL_BG === 'dark' ? '#e5e7eb' : '#1f2931';
|
|
602
|
+
const bgColor = TERMINAL_BG === 'dark' ? '#1f2937' : '#f3f4f6';
|
|
603
|
+
const codeStyle = chalk.bgHex(bgColor).hex(textColor);
|
|
604
|
+
const lineNumWidth = String(displayLines.length).length;
|
|
605
|
+
const parts = [];
|
|
606
|
+
if (filePath) {
|
|
607
|
+
parts.push(`${indent}${chalk.hex(TERMINAL_BG === 'dark' ? '#22d3ee' : '#0891b2').bold(filePath)}`);
|
|
608
|
+
}
|
|
609
|
+
displayLines.forEach((line, idx) => {
|
|
610
|
+
const lineNum = String(idx + 1).padStart(lineNumWidth, ' ');
|
|
611
|
+
parts.push(`${indent} ${codeStyle(`${lineNum} │ ${line}`)}`);
|
|
612
|
+
});
|
|
613
|
+
if (hasMore) {
|
|
614
|
+
const dotsLine = `${indent} ${chalk.hex(TERMINAL_BG === 'dark' ? '#6b7280' : '#9ca3af').dim('...')}`;
|
|
615
|
+
parts.push(dotsLine);
|
|
616
|
+
}
|
|
617
|
+
return parts.join('\n');
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Render new file content in diff-like style (without line numbers).
|
|
621
|
+
* Uses + prefix for added lines.
|
|
622
|
+
*/
|
|
623
|
+
export function renderLines(content, options = {}) {
|
|
624
|
+
const { maxLines = 20, indent = '' } = options;
|
|
625
|
+
const lines = content.split('\n').slice(0, maxLines);
|
|
626
|
+
const hasMore = content.split('\n').length > maxLines;
|
|
627
|
+
const textColor = TERMINAL_BG === 'dark' ? '#e5e7eb' : '#1f2937';
|
|
628
|
+
const bgColor = mixWithBackground('#10b981', 0.15, TERMINAL_BG);
|
|
629
|
+
const lineStyle = chalk.bgHex(bgColor).hex(textColor);
|
|
630
|
+
const parts = lines.map(line => `${indent}${lineStyle(`+ ${line}`)}`);
|
|
631
|
+
if (hasMore) {
|
|
632
|
+
parts.push(`${indent}${chalk.hex(TERMINAL_BG === 'dark' ? '#6b7280' : '#9ca3af').dim('...')}`);
|
|
633
|
+
}
|
|
634
|
+
return parts.join('\n');
|
|
635
|
+
}
|
|
382
636
|
export default theme;
|
|
383
637
|
//# sourceMappingURL=theme.js.map
|
package/dist/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared diff computation utilities for the edit tool.
|
|
3
|
+
*/
|
|
4
|
+
export declare function detectLineEnding(content: string): "\r\n" | "\n";
|
|
5
|
+
export declare function normalizeToLF(text: string): string;
|
|
6
|
+
export declare function restoreLineEndings(text: string, ending: "\r\n" | "\n"): string;
|
|
7
|
+
export declare function normalizeForFuzzyMatch(text: string): string;
|
|
8
|
+
export interface FuzzyMatchResult {
|
|
9
|
+
found: boolean;
|
|
10
|
+
index: number;
|
|
11
|
+
matchLength: number;
|
|
12
|
+
usedFuzzyMatch: boolean;
|
|
13
|
+
contentForReplacement: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function fuzzyFindText(content: string, oldText: string): FuzzyMatchResult;
|
|
16
|
+
export declare function stripBom(content: string): {
|
|
17
|
+
bom: string;
|
|
18
|
+
text: string;
|
|
19
|
+
};
|
|
20
|
+
export declare function generateDiffString(oldContent: string, newContent: string, contextLines?: number): {
|
|
21
|
+
diff: string;
|
|
22
|
+
firstChangedLine: number | undefined;
|
|
23
|
+
};
|
|
24
|
+
export interface EditDiffResult {
|
|
25
|
+
diff: string;
|
|
26
|
+
firstChangedLine: number | undefined;
|
|
27
|
+
}
|
|
28
|
+
export interface EditDiffError {
|
|
29
|
+
error: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function computeEditDiff(filePath: string, oldText: string, newText: string, cwd: string): Promise<EditDiffResult | EditDiffError>;
|
|
32
|
+
//# sourceMappingURL=edit-diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-diff.d.ts","sourceRoot":"","sources":["../../src/tools/edit-diff.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM/D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE9E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAW3D;AAED,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAiChF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAEvE;AAED,wBAAgB,kBAAkB,CACjC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,SAAI,GACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAoFxD;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,eAAe,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC,CAmDzC"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared diff computation utilities for the edit tool.
|
|
3
|
+
*/
|
|
4
|
+
import * as Diff from "diff";
|
|
5
|
+
import { constants } from "fs";
|
|
6
|
+
import { access, readFile } from "fs/promises";
|
|
7
|
+
import path from "path";
|
|
8
|
+
export function detectLineEnding(content) {
|
|
9
|
+
const crlfIdx = content.indexOf("\r\n");
|
|
10
|
+
const lfIdx = content.indexOf("\n");
|
|
11
|
+
if (lfIdx === -1)
|
|
12
|
+
return "\n";
|
|
13
|
+
if (crlfIdx === -1)
|
|
14
|
+
return "\n";
|
|
15
|
+
return crlfIdx < lfIdx ? "\r\n" : "\n";
|
|
16
|
+
}
|
|
17
|
+
export function normalizeToLF(text) {
|
|
18
|
+
return text.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
|
|
19
|
+
}
|
|
20
|
+
export function restoreLineEndings(text, ending) {
|
|
21
|
+
return ending === "\r\n" ? text.replace(/\n/g, "\r\n") : text;
|
|
22
|
+
}
|
|
23
|
+
export function normalizeForFuzzyMatch(text) {
|
|
24
|
+
return (text
|
|
25
|
+
.split("\n")
|
|
26
|
+
.map((line) => line.trimEnd())
|
|
27
|
+
.join("\n")
|
|
28
|
+
.replace(/[\u2018\u2019\u201A\u201B]/g, "'")
|
|
29
|
+
.replace(/[\u201C\u201D\u201E\u201F]/g, '"')
|
|
30
|
+
.replace(/[\u2010\u2011\u2012\u2013\u2014\u2015\u2212]/g, "-")
|
|
31
|
+
.replace(/[\u00A0\u2002-\u200A\u202F\u205F\u3000]/g, " "));
|
|
32
|
+
}
|
|
33
|
+
export function fuzzyFindText(content, oldText) {
|
|
34
|
+
const exactIndex = content.indexOf(oldText);
|
|
35
|
+
if (exactIndex !== -1) {
|
|
36
|
+
return {
|
|
37
|
+
found: true,
|
|
38
|
+
index: exactIndex,
|
|
39
|
+
matchLength: oldText.length,
|
|
40
|
+
usedFuzzyMatch: false,
|
|
41
|
+
contentForReplacement: content,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
const fuzzyContent = normalizeForFuzzyMatch(content);
|
|
45
|
+
const fuzzyOldText = normalizeForFuzzyMatch(oldText);
|
|
46
|
+
const fuzzyIndex = fuzzyContent.indexOf(fuzzyOldText);
|
|
47
|
+
if (fuzzyIndex === -1) {
|
|
48
|
+
return {
|
|
49
|
+
found: false,
|
|
50
|
+
index: -1,
|
|
51
|
+
matchLength: 0,
|
|
52
|
+
usedFuzzyMatch: false,
|
|
53
|
+
contentForReplacement: content,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
found: true,
|
|
58
|
+
index: fuzzyIndex,
|
|
59
|
+
matchLength: fuzzyOldText.length,
|
|
60
|
+
usedFuzzyMatch: true,
|
|
61
|
+
contentForReplacement: fuzzyContent,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export function stripBom(content) {
|
|
65
|
+
return content.startsWith("\uFEFF") ? { bom: "\uFEFF", text: content.slice(1) } : { bom: "", text: content };
|
|
66
|
+
}
|
|
67
|
+
export function generateDiffString(oldContent, newContent, contextLines = 4) {
|
|
68
|
+
const parts = Diff.diffLines(oldContent, newContent);
|
|
69
|
+
const output = [];
|
|
70
|
+
const oldLines = oldContent.split("\n");
|
|
71
|
+
const newLines = newContent.split("\n");
|
|
72
|
+
const maxLineNum = Math.max(oldLines.length, newLines.length);
|
|
73
|
+
const lineNumWidth = String(maxLineNum).length;
|
|
74
|
+
let oldLineNum = 1;
|
|
75
|
+
let newLineNum = 1;
|
|
76
|
+
let lastWasChange = false;
|
|
77
|
+
let firstChangedLine;
|
|
78
|
+
for (let i = 0; i < parts.length; i++) {
|
|
79
|
+
const part = parts[i];
|
|
80
|
+
const raw = part.value.split("\n");
|
|
81
|
+
if (raw[raw.length - 1] === "") {
|
|
82
|
+
raw.pop();
|
|
83
|
+
}
|
|
84
|
+
if (part.added || part.removed) {
|
|
85
|
+
if (firstChangedLine === undefined) {
|
|
86
|
+
firstChangedLine = newLineNum;
|
|
87
|
+
}
|
|
88
|
+
for (const line of raw) {
|
|
89
|
+
if (part.added) {
|
|
90
|
+
const lineNum = String(newLineNum).padStart(lineNumWidth, " ");
|
|
91
|
+
output.push(`+${lineNum} ${line}`);
|
|
92
|
+
newLineNum++;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
const lineNum = String(oldLineNum).padStart(lineNumWidth, " ");
|
|
96
|
+
output.push(`-${lineNum} ${line}`);
|
|
97
|
+
oldLineNum++;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
lastWasChange = true;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
const nextPartIsChange = i < parts.length - 1 && (parts[i + 1].added || parts[i + 1].removed);
|
|
104
|
+
if (lastWasChange || nextPartIsChange) {
|
|
105
|
+
let linesToShow = raw;
|
|
106
|
+
let skipStart = 0;
|
|
107
|
+
let skipEnd = 0;
|
|
108
|
+
if (!lastWasChange) {
|
|
109
|
+
skipStart = Math.max(0, raw.length - contextLines);
|
|
110
|
+
linesToShow = raw.slice(skipStart);
|
|
111
|
+
}
|
|
112
|
+
if (!nextPartIsChange && linesToShow.length > contextLines) {
|
|
113
|
+
skipEnd = linesToShow.length - contextLines;
|
|
114
|
+
linesToShow = linesToShow.slice(0, contextLines);
|
|
115
|
+
}
|
|
116
|
+
if (skipStart > 0) {
|
|
117
|
+
output.push(` ${"".padStart(lineNumWidth, " ")} ...`);
|
|
118
|
+
oldLineNum += skipStart;
|
|
119
|
+
newLineNum += skipStart;
|
|
120
|
+
}
|
|
121
|
+
for (const line of linesToShow) {
|
|
122
|
+
const lineNum = String(oldLineNum).padStart(lineNumWidth, " ");
|
|
123
|
+
output.push(` ${lineNum} ${line}`);
|
|
124
|
+
oldLineNum++;
|
|
125
|
+
newLineNum++;
|
|
126
|
+
}
|
|
127
|
+
if (skipEnd > 0) {
|
|
128
|
+
output.push(` ${"".padStart(lineNumWidth, " ")} ...`);
|
|
129
|
+
oldLineNum += skipEnd;
|
|
130
|
+
newLineNum += skipEnd;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
oldLineNum += raw.length;
|
|
135
|
+
newLineNum += raw.length;
|
|
136
|
+
}
|
|
137
|
+
lastWasChange = false;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return { diff: output.join("\n"), firstChangedLine };
|
|
141
|
+
}
|
|
142
|
+
export async function computeEditDiff(filePath, oldText, newText, cwd) {
|
|
143
|
+
const absolutePath = path.resolve(cwd, filePath);
|
|
144
|
+
try {
|
|
145
|
+
try {
|
|
146
|
+
await access(absolutePath, constants.R_OK);
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
return { error: `File not found: ${filePath}` };
|
|
150
|
+
}
|
|
151
|
+
const rawContent = await readFile(absolutePath, "utf-8");
|
|
152
|
+
const { text: content } = stripBom(rawContent);
|
|
153
|
+
const normalizedContent = normalizeToLF(content);
|
|
154
|
+
const normalizedOldText = normalizeToLF(oldText);
|
|
155
|
+
const normalizedNewText = normalizeToLF(newText);
|
|
156
|
+
const matchResult = fuzzyFindText(normalizedContent, normalizedOldText);
|
|
157
|
+
if (!matchResult.found) {
|
|
158
|
+
return {
|
|
159
|
+
error: `Could not find the exact text in ${filePath}. The old text must match exactly including all whitespace and newlines.`,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
const fuzzyContent = normalizeForFuzzyMatch(normalizedContent);
|
|
163
|
+
const fuzzyOldText = normalizeForFuzzyMatch(normalizedOldText);
|
|
164
|
+
const occurrences = fuzzyContent.split(fuzzyOldText).length - 1;
|
|
165
|
+
if (occurrences > 1) {
|
|
166
|
+
return {
|
|
167
|
+
error: `Found ${occurrences} occurrences of the text in ${filePath}. The text must be unique. Please provide more context to make it unique.`,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
const baseContent = matchResult.contentForReplacement;
|
|
171
|
+
const newContent = baseContent.substring(0, matchResult.index) +
|
|
172
|
+
normalizedNewText +
|
|
173
|
+
baseContent.substring(matchResult.index + matchResult.matchLength);
|
|
174
|
+
if (baseContent === newContent) {
|
|
175
|
+
return {
|
|
176
|
+
error: `No changes would be made to ${filePath}. The replacement produces identical content.`,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
return generateDiffString(baseContent, newContent);
|
|
180
|
+
}
|
|
181
|
+
catch (err) {
|
|
182
|
+
return { error: err instanceof Error ? err.message : String(err) };
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=edit-diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-diff.js","sourceRoot":"","sources":["../../src/tools/edit-diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Tool } from "../types.js";
|
|
2
|
+
export interface EditToolDetails {
|
|
3
|
+
diff: string;
|
|
4
|
+
firstChangedLine?: number;
|
|
5
|
+
}
|
|
6
|
+
export interface EditOptions {
|
|
7
|
+
cwd?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function createEditTool(options?: EditOptions): Tool;
|
|
10
|
+
export declare const editTool: Tool;
|
|
11
|
+
//# sourceMappingURL=edit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/tools/edit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAYnC,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AA+CD,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAqG1D;AAGD,eAAO,MAAM,QAAQ,MAAmB,CAAC"}
|