@heyhuynhgiabuu/pi-diff 0.6.0 → 0.6.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.
@@ -39,13 +39,13 @@ export declare function resolveSepStyle(): HunkSeparatorStyle;
39
39
  export declare function getSepStyle(): HunkSeparatorStyle;
40
40
  /**
41
41
  * Generate a hunk separator label for the unified view.
42
- * Returns the full label including spacing, or "···" for empty/default.
42
+ * Returns the full label including spacing, or an empty string when no useful label exists.
43
43
  * If `content` is non-empty, it is used directly (e.g. "───── Edit 2 ─────").
44
44
  */
45
45
  export declare function sepLabelUnified(style: HunkSeparatorStyle, hunkMeta: HunkMeta | undefined, gap: number | null, content?: string): string;
46
46
  /**
47
47
  * Generate a hunk separator label for the split view.
48
- * Wraps the content in "··· ... ···".
48
+ * Returns useful context/gap labels without decorative ellipses.
49
49
  * If `content` is non-empty, it is used directly (e.g. "───── Edit 2 ─────").
50
50
  */
51
51
  export declare function sepLabelSplit(style: HunkSeparatorStyle, hunkMeta: HunkMeta | undefined, gap: number | null, content?: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"AAMA,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACd;AAeD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAyB3D;AA+FD,iEAAiE;AACjE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;AAIpF;;;GAGG;AACH,wBAAgB,eAAe,IAAI,kBAAkB,CAQpD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,kBAAkB,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE,MAAM,GACd,MAAM,CA2BR;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE,MAAM,GACd,MAAM,CA4BR;AASD,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACzB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,SAAS,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,CA8B/D;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAI,GAAG,UAAU,CA2CrF"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"AAMA,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACd;AAeD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAyB3D;AA+FD,iEAAiE;AACjE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;AAIpF;;;GAGG;AACH,wBAAgB,eAAe,IAAI,kBAAkB,CAQpD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,kBAAkB,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE,MAAM,GACd,MAAM,CAyBR;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE,MAAM,GACd,MAAM,CA0BR;AASD,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACzB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,SAAS,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,CA8B/D;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAI,GAAG,UAAU,CA2CrF"}
package/dist/core/diff.js CHANGED
@@ -145,7 +145,7 @@ export function getSepStyle() {
145
145
  }
146
146
  /**
147
147
  * Generate a hunk separator label for the unified view.
148
- * Returns the full label including spacing, or "···" for empty/default.
148
+ * Returns the full label including spacing, or an empty string when no useful label exists.
149
149
  * If `content` is non-empty, it is used directly (e.g. "───── Edit 2 ─────").
150
150
  */
151
151
  export function sepLabelUnified(style, hunkMeta, gap, content) {
@@ -155,24 +155,23 @@ export function sepLabelUnified(style, hunkMeta, gap, content) {
155
155
  const ctx = hunkMeta?.context;
156
156
  switch (style) {
157
157
  case "simple":
158
- return "···";
158
+ return "";
159
159
  case "gap":
160
160
  if (gap && gap > 0)
161
161
  return ` ${gap} unmodified lines `;
162
- return "···";
162
+ return "";
163
163
  case "context":
164
164
  if (ctx)
165
165
  return ` ${ctx} `;
166
166
  if (gap && gap > 0)
167
167
  return ` ${gap} unmodified lines `;
168
- return "···";
169
- case "metadata": {
170
- if (!hunkMeta)
171
- return "···";
172
- const hdr = `@@ -${hunkMeta.oldStart},${hunkMeta.oldLines} +${hunkMeta.newStart},${hunkMeta.newLines} @@`;
173
- const label = ctx ? `${hdr} ${ctx}` : hdr;
174
- return ` ${label} `;
175
- }
168
+ return "";
169
+ case "metadata":
170
+ if (ctx)
171
+ return ` ${ctx} `;
172
+ if (gap && gap > 0)
173
+ return ` +${gap} lines `;
174
+ return "";
176
175
  case "auto":
177
176
  default:
178
177
  if (ctx && gap && gap > 0)
@@ -181,12 +180,12 @@ export function sepLabelUnified(style, hunkMeta, gap, content) {
181
180
  return ` ${ctx} `;
182
181
  if (gap && gap > 0)
183
182
  return ` +${gap} lines `;
184
- return "···";
183
+ return "";
185
184
  }
186
185
  }
187
186
  /**
188
187
  * Generate a hunk separator label for the split view.
189
- * Wraps the content in "··· ... ···".
188
+ * Returns useful context/gap labels without decorative ellipses.
190
189
  * If `content` is non-empty, it is used directly (e.g. "───── Edit 2 ─────").
191
190
  */
192
191
  export function sepLabelSplit(style, hunkMeta, gap, content) {
@@ -196,35 +195,34 @@ export function sepLabelSplit(style, hunkMeta, gap, content) {
196
195
  const ctx = hunkMeta?.context;
197
196
  switch (style) {
198
197
  case "simple":
199
- return "···";
198
+ return "";
200
199
  case "gap":
201
200
  if (gap && gap > 0)
202
- return `··· ${gap} lines ···`;
203
- return "···";
201
+ return ` ${gap} lines `;
202
+ return "";
204
203
  case "context":
205
204
  if (ctx && gap && gap > 0)
206
- return `··· ${ctx} — ${gap} lines ···`;
205
+ return ` ${ctx} — ${gap} lines `;
207
206
  if (ctx)
208
- return `··· ${ctx} ···`;
207
+ return ` ${ctx} `;
209
208
  if (gap && gap > 0)
210
- return `··· ${gap} lines ···`;
211
- return "···";
212
- case "metadata": {
213
- if (!hunkMeta)
214
- return "···";
215
- const hdr = `@@ -${hunkMeta.oldStart},${hunkMeta.oldLines} +${hunkMeta.newStart},${hunkMeta.newLines} @@`;
216
- const content = ctx ? `${hdr} ${ctx}` : hdr;
217
- return `··· ${content} ···`;
218
- }
209
+ return ` ${gap} lines `;
210
+ return "";
211
+ case "metadata":
212
+ if (ctx)
213
+ return ` ${ctx} `;
214
+ if (gap && gap > 0)
215
+ return ` ${gap} lines `;
216
+ return "";
219
217
  case "auto":
220
218
  default:
221
219
  if (ctx && gap && gap > 0)
222
- return `··· ${ctx} — +${gap} lines ···`;
220
+ return ` ${ctx} — +${gap} lines `;
223
221
  if (ctx)
224
- return `··· ${ctx} ···`;
222
+ return ` ${ctx} `;
225
223
  if (gap && gap > 0)
226
- return `··· +${gap} lines ···`;
227
- return "···";
224
+ return ` +${gap} lines `;
225
+ return "";
228
226
  }
229
227
  }
230
228
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Cascading text replacement engine for LLM edit tools.
3
+ *
4
+ * When an LLM calls the edit tool with oldString + newString, the oldString
5
+ * often doesn't match exactly due to:
6
+ * - Whitespace differences (indentation, trailing spaces)
7
+ * - Escape sequences (LLMs escaping \n, \t, quotes in tool call params)
8
+ * - Minor formatting drift (tabs vs spaces, trimmed lines)
9
+ *
10
+ * This module provides a cascade of replacer strategies, each progressively
11
+ * more lenient. The first strategy that finds exactly one match wins.
12
+ * If multiple candidates exist for a fuzzy strategy, we reject (safety first).
13
+ *
14
+ * Design inspired by OpenCode's edit tool (anomalyco/opencode) and
15
+ * Cline's diff-apply evals, but restructured for independent use.
16
+ */
17
+ export interface ReplaceResult {
18
+ /** The resulting content after replacement (unchanged if no match). */
19
+ content: string;
20
+ /** Whether a replacement was made. */
21
+ changed: boolean;
22
+ /** Name of the replacer strategy that matched, or "none". */
23
+ strategy: string;
24
+ /** Number of occurrences replaced (only when changed=true). */
25
+ count: number;
26
+ }
27
+ /**
28
+ * Replace oldString with newString in content using a cascade of matching
29
+ * strategies. Tries exact match first, then progressively relaxes matching
30
+ * rules. If no strategy finds a match, returns unchanged content.
31
+ *
32
+ * Safety: if a fuzzy strategy finds multiple candidates, it is skipped
33
+ * (we never auto-pick among ambiguous matches). Only exact matches
34
+ * (SimpleReplacer) are allowed to match multiple occurrences, and only
35
+ * when replaceAll=true.
36
+ *
37
+ * @param content - The full file content to edit.
38
+ * @param oldString - The text to find and replace.
39
+ * @param newString - The replacement text.
40
+ * @param options.replaceAll - When true, replace ALL non-overlapping
41
+ * occurrences. Only safe for exact matches (simple replacer).
42
+ * @returns ReplaceResult with the new content and match strategy info.
43
+ */
44
+ export declare function replace(content: string, oldString: string, newString: string, options?: {
45
+ replaceAll?: boolean;
46
+ }): ReplaceResult;
47
+ //# sourceMappingURL=replace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replace.d.ts","sourceRoot":"","sources":["../../src/core/replace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,MAAM,WAAW,aAAa;IAC7B,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;CACd;AAwZD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CACtB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,aAAa,CAqFf"}