UNPKG

@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
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 {};