@vibe-kit/grok-cli
Version:
An open-source AI agent that brings the power of Grok directly into your terminal.
39 lines (38 loc) • 1.3 kB
TypeScript
import { ToolResult } from "../types";
interface ChangeOperation {
type: 'keep' | 'remove' | 'add';
lines: string[];
lineNumber?: number;
}
export declare class PatchEditor {
private static readonly CONTEXT_LINES;
private static readonly FUZZ_THRESHOLD;
/**
* Apply a patch using context-based matching similar to OpenCode
*/
applyPatch(filePath: string, operations: ChangeOperation[]): Promise<ToolResult>;
/**
* Create a patch from search/replace with context
*/
createContextualPatch(filePath: string, searchText: string, replaceText: string, contextLines?: number): Promise<ToolResult>;
/**
* Smart string replacement using contextual matching
*/
smartReplace(filePath: string, oldStr: string, newStr: string): Promise<ToolResult>;
private processOperations;
private findContextualMatch;
private findAndKeepLines;
private findAndRemoveLines;
private linesMatch;
private fuzzyMatchLines;
private calculateSimilarity;
private calculateSimilarityInPlace;
private stringSimilarity;
private levenshteinDistance;
private levenshteinDistanceOptimized;
private normalizeForComparison;
private generateUnifiedDiff;
private generateHunks;
private findChanges;
}
export {};