pi-agent-flow 2.0.1 → 2.0.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.
Files changed (135) hide show
  1. package/README.md +126 -489
  2. package/agents/audit.md +4 -2
  3. package/agents/build.md +3 -2
  4. package/agents/craft.md +3 -3
  5. package/agents/debug.md +4 -3
  6. package/agents/ideas.md +5 -4
  7. package/agents/scout.md +3 -1
  8. package/dist/batch/apply-patch.d.ts +60 -0
  9. package/dist/batch/apply-patch.d.ts.map +1 -0
  10. package/dist/batch/apply-patch.js +477 -0
  11. package/dist/batch/apply-patch.js.map +1 -0
  12. package/dist/batch/batch-bash.d.ts +0 -6
  13. package/dist/batch/batch-bash.d.ts.map +1 -1
  14. package/dist/batch/batch-bash.js +25 -10
  15. package/dist/batch/batch-bash.js.map +1 -1
  16. package/dist/batch/constants.d.ts +33 -4
  17. package/dist/batch/constants.d.ts.map +1 -1
  18. package/dist/batch/constants.js +26 -4
  19. package/dist/batch/constants.js.map +1 -1
  20. package/dist/batch/execute.d.ts +8 -2
  21. package/dist/batch/execute.d.ts.map +1 -1
  22. package/dist/batch/execute.js +221 -66
  23. package/dist/batch/execute.js.map +1 -1
  24. package/dist/batch/fuzzy-edit.d.ts +4 -1
  25. package/dist/batch/fuzzy-edit.d.ts.map +1 -1
  26. package/dist/batch/fuzzy-edit.js +7 -2
  27. package/dist/batch/fuzzy-edit.js.map +1 -1
  28. package/dist/batch/index.d.ts +3 -15
  29. package/dist/batch/index.d.ts.map +1 -1
  30. package/dist/batch/index.js +48 -78
  31. package/dist/batch/index.js.map +1 -1
  32. package/dist/batch/render.d.ts.map +1 -1
  33. package/dist/batch/render.js +30 -7
  34. package/dist/batch/render.js.map +1 -1
  35. package/dist/batch/summary.d.ts.map +1 -1
  36. package/dist/batch/summary.js +4 -0
  37. package/dist/batch/summary.js.map +1 -1
  38. package/dist/core/depth.d.ts +3 -3
  39. package/dist/core/depth.d.ts.map +1 -1
  40. package/dist/core/depth.js +5 -5
  41. package/dist/core/depth.js.map +1 -1
  42. package/dist/core/executor.d.ts +3 -3
  43. package/dist/core/executor.d.ts.map +1 -1
  44. package/dist/core/executor.js +2 -2
  45. package/dist/core/executor.js.map +1 -1
  46. package/dist/core/flow.d.ts +10 -3
  47. package/dist/core/flow.d.ts.map +1 -1
  48. package/dist/core/flow.js +76 -33
  49. package/dist/core/flow.js.map +1 -1
  50. package/dist/core/{delegation.d.ts → transition.d.ts} +8 -8
  51. package/dist/core/{delegation.d.ts.map → transition.d.ts.map} +1 -1
  52. package/dist/core/{delegation.js → transition.js} +12 -12
  53. package/dist/core/{delegation.js.map → transition.js.map} +1 -1
  54. package/dist/flow/auto-warp.d.ts +1 -1
  55. package/dist/flow/auto-warp.js +1 -1
  56. package/dist/flow/continuation.js +2 -2
  57. package/dist/flow/continuation.js.map +1 -1
  58. package/dist/flow/index.d.ts +2 -2
  59. package/dist/flow/index.d.ts.map +1 -1
  60. package/dist/flow/index.js +3 -3
  61. package/dist/flow/index.js.map +1 -1
  62. package/dist/flow/loop-command.d.ts.map +1 -1
  63. package/dist/flow/loop-command.js +3 -0
  64. package/dist/flow/loop-command.js.map +1 -1
  65. package/dist/flow/settings-command.d.ts.map +1 -1
  66. package/dist/flow/settings-command.js +4 -1
  67. package/dist/flow/settings-command.js.map +1 -1
  68. package/dist/flow/warp.d.ts +15 -0
  69. package/dist/flow/warp.d.ts.map +1 -0
  70. package/dist/flow/warp.js +207 -0
  71. package/dist/flow/warp.js.map +1 -0
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +168 -21
  74. package/dist/index.js.map +1 -1
  75. package/dist/snapshot/runner-events.d.ts +5 -0
  76. package/dist/snapshot/runner-events.d.ts.map +1 -1
  77. package/dist/snapshot/runner-events.js +89 -15
  78. package/dist/snapshot/runner-events.js.map +1 -1
  79. package/dist/snapshot/snapshot.d.ts.map +1 -1
  80. package/dist/snapshot/snapshot.js +51 -18
  81. package/dist/snapshot/snapshot.js.map +1 -1
  82. package/dist/steering/flow-prompt.d.ts +2 -2
  83. package/dist/steering/flow-prompt.d.ts.map +1 -1
  84. package/dist/steering/flow-prompt.js +4 -4
  85. package/dist/steering/flow-prompt.js.map +1 -1
  86. package/dist/steering/sliding-prompt.js +6 -6
  87. package/dist/steering/sliding-prompt.js.map +1 -1
  88. package/dist/steering/tool-utils.d.ts +31 -8
  89. package/dist/steering/tool-utils.d.ts.map +1 -1
  90. package/dist/steering/tool-utils.js +63 -30
  91. package/dist/steering/tool-utils.js.map +1 -1
  92. package/dist/tools/ask-user.d.ts +0 -17
  93. package/dist/tools/ask-user.d.ts.map +1 -1
  94. package/dist/tools/ask-user.js +13 -37
  95. package/dist/tools/ask-user.js.map +1 -1
  96. package/dist/tools/timed-bash.d.ts +1 -1
  97. package/dist/tools/timed-bash.d.ts.map +1 -1
  98. package/dist/tools/timed-bash.js +10 -8
  99. package/dist/tools/timed-bash.js.map +1 -1
  100. package/dist/tools/web-tool.d.ts.map +1 -1
  101. package/dist/tools/web-tool.js +11 -13
  102. package/dist/tools/web-tool.js.map +1 -1
  103. package/dist/tui/render-utils.d.ts.map +1 -1
  104. package/dist/tui/render-utils.js +2 -4
  105. package/dist/tui/render-utils.js.map +1 -1
  106. package/dist/tui/render.d.ts +9 -0
  107. package/dist/tui/render.d.ts.map +1 -1
  108. package/dist/tui/render.js +78 -39
  109. package/dist/tui/render.js.map +1 -1
  110. package/dist/tui/scramble/index.d.ts +1 -1
  111. package/dist/tui/scramble/index.d.ts.map +1 -1
  112. package/dist/tui/scramble/index.js +1 -1
  113. package/dist/tui/scramble/index.js.map +1 -1
  114. package/dist/tui/scramble/manager.d.ts +1 -1
  115. package/dist/tui/scramble/manager.d.ts.map +1 -1
  116. package/dist/tui/scramble/manager.js +14 -2
  117. package/dist/tui/scramble/manager.js.map +1 -1
  118. package/dist/tui/scramble/utils.js +1 -1
  119. package/dist/tui/scramble/utils.js.map +1 -1
  120. package/dist/types/flow.d.ts.map +1 -1
  121. package/dist/types/flow.js +11 -2
  122. package/dist/types/flow.js.map +1 -1
  123. package/package.json +2 -2
  124. package/dist/flow/perform-warp.d.ts +0 -28
  125. package/dist/flow/perform-warp.d.ts.map +0 -1
  126. package/dist/flow/perform-warp.js +0 -127
  127. package/dist/flow/perform-warp.js.map +0 -1
  128. package/dist/flow/warp-command.d.ts +0 -8
  129. package/dist/flow/warp-command.d.ts.map +0 -1
  130. package/dist/flow/warp-command.js +0 -144
  131. package/dist/flow/warp-command.js.map +0 -1
  132. package/dist/flow/warp-utils.d.ts +0 -11
  133. package/dist/flow/warp-utils.d.ts.map +0 -1
  134. package/dist/flow/warp-utils.js +0 -187
  135. package/dist/flow/warp-utils.js.map +0 -1
@@ -7,8 +7,10 @@
7
7
  import * as fs from "node:fs/promises";
8
8
  import * as path from "node:path";
9
9
  import { execFile } from "node:child_process";
10
+ import { withFileMutationQueue } from "@mariozechner/pi-coding-agent";
10
11
  import { MAX_LINES, MAX_BYTES, SAFE_FULL_READ_LIMIT, TARGETED_READ_LINE_LIMIT, MAX_TOTAL_RESULT_LINES, BATCH_READ_MAX_TOTAL_BYTES, RG_SIGNATURES_MAX_FILES, } from "./constants.js";
11
12
  import { normalizeToLF, restoreLineEndings, detectLineEnding, stripBom, applyEdits, levenshtein, validatePath, } from "./fuzzy-edit.js";
13
+ import { applyPatch } from "./apply-patch.js";
12
14
  import { buildFileContextMap } from "./symbols.js";
13
15
  // ---------------------------------------------------------------------------
14
16
  // Read helpers
@@ -123,9 +125,6 @@ export async function suggestSimilarFiles(inputPath, cwd) {
123
125
  return [];
124
126
  }
125
127
  }
126
- // ---------------------------------------------------------------------------
127
- // Error hints
128
- // ---------------------------------------------------------------------------
129
128
  function getErrorHint(error) {
130
129
  if (error.includes("File not found") || error.includes("file not found"))
131
130
  return "Verify the path exists.";
@@ -147,13 +146,23 @@ function getErrorHint(error) {
147
146
  return "Ripgrep crashed or was killed. Try narrowing the search path or adding max-count to limit output.";
148
147
  return "";
149
148
  }
149
+ function isRetryable(error) {
150
+ const transient = [
151
+ "File not found",
152
+ "file not found",
153
+ "ENOENT",
154
+ "no such file",
155
+ "Could not find",
156
+ "occurrences",
157
+ ];
158
+ return transient.some((p) => error.includes(p));
159
+ }
150
160
  // ---------------------------------------------------------------------------
151
161
  // Main execute function
152
162
  // ---------------------------------------------------------------------------
153
- export async function executeOperations(operations, cwd, signal, options = {}) {
163
+ export async function executeOperations(operations, cwd, signal, options = {}, onUpdate) {
154
164
  const results = [];
155
- let failed = false;
156
- const counts = { read: 0, write: 0, edit: 0, delete: 0, rg: 0, error: 0, skipped: 0 };
165
+ const counts = { read: 0, write: 0, edit: 0, delete: 0, rg: 0, patch: 0, bash: 0, error: 0, skipped: 0 };
157
166
  const errors = [];
158
167
  const truncatedFiles = [];
159
168
  const aggregateLimitSkipped = [];
@@ -161,38 +170,72 @@ export async function executeOperations(operations, cwd, signal, options = {}) {
161
170
  let aggregateLinesRead = 0;
162
171
  let aggregateBytesRead = 0;
163
172
  const includeLimitWarnings = options.includeLimitWarnings ?? true;
164
- for (const op of operations) {
173
+ let lastUpdateTime = 0;
174
+ let finalUpdateEmitted = false;
175
+ function emitPartialUpdate() {
176
+ if (!onUpdate)
177
+ return;
178
+ const now = Date.now();
179
+ const isFinal = results.length === operations.length;
180
+ if (!isFinal && now - lastUpdateTime < 100)
181
+ return;
182
+ if (isFinal && finalUpdateEmitted)
183
+ return;
184
+ finalUpdateEmitted = isFinal;
185
+ lastUpdateTime = now;
186
+ const partialSummary = buildSummary(counts, errors, truncatedFiles, aggregateLimitSkipped, aggregateByteLimitSkipped);
187
+ const partialContentText = buildContentText(partialSummary, results);
188
+ onUpdate({
189
+ content: [{ type: "text", text: partialContentText }],
190
+ details: { results: [...results] },
191
+ });
192
+ }
193
+ for (let i = 0; i < operations.length; i++) {
194
+ const op = operations[i];
165
195
  if (signal?.aborted) {
166
- results.push({ op: op.o, path: op.p, status: "skipped", error: "Operation aborted." });
167
- counts.skipped++;
168
- continue;
169
- }
170
- if (failed) {
171
- results.push({ op: op.o, path: op.p, status: "skipped" });
172
- counts.skipped++;
173
- continue;
196
+ for (let j = i; j < operations.length; j++) {
197
+ const r = operations[j];
198
+ results.push({ op: r.o, path: r.p, status: "skipped", error: "Operation aborted.", s: r.s, l: r.l, q: r.q });
199
+ counts.skipped++;
200
+ }
201
+ emitPartialUpdate();
202
+ break;
174
203
  }
175
204
  try {
176
- const resolvedPath = await validatePath(op.p, cwd);
205
+ const { path: resolvedPath, warning: pathWarning } = await validatePath(op.p, cwd);
177
206
  switch (op.o) {
178
207
  case "read": {
179
208
  if (aggregateLinesRead >= MAX_TOTAL_RESULT_LINES) {
209
+ const remainingOps = operations.length - i - 1;
180
210
  results.push({
181
211
  op: "read",
182
212
  path: op.p,
183
213
  status: "skipped",
184
- error: `Skipped: aggregate line limit of ${MAX_TOTAL_RESULT_LINES} already reached. Use separate batch/batch_read calls.`,
214
+ skipped: true,
215
+ reason: "aggregate_line_limit",
216
+ consumed: { lines: aggregateLinesRead, bytes: aggregateBytesRead },
217
+ remainingOps,
218
+ error: `Skipped: aggregate line limit of ${MAX_TOTAL_RESULT_LINES} reached (${aggregateLinesRead} lines consumed). ${remainingOps} remaining operation(s) will still execute. Use separate batch/batch_read calls.`,
219
+ s: op.s,
220
+ l: op.l,
185
221
  });
186
222
  counts.skipped++;
187
223
  aggregateLimitSkipped.push({ path: op.p });
188
224
  break;
189
225
  }
190
226
  if (aggregateBytesRead >= BATCH_READ_MAX_TOTAL_BYTES) {
227
+ const remainingOps = operations.length - i - 1;
191
228
  results.push({
192
229
  op: "read",
193
230
  path: op.p,
194
231
  status: "skipped",
195
- error: `Skipped: aggregate byte limit of ${BATCH_READ_MAX_TOTAL_BYTES} already reached. Use separate batch/batch_read calls.`,
232
+ skipped: true,
233
+ reason: "aggregate_byte_limit",
234
+ consumed: { lines: aggregateLinesRead, bytes: aggregateBytesRead },
235
+ remainingOps,
236
+ error: `Skipped: aggregate byte limit of ${BATCH_READ_MAX_TOTAL_BYTES} reached (${aggregateBytesRead} bytes consumed). ${remainingOps} remaining operation(s) will still execute. Use separate batch/batch_read calls.`,
237
+ s: op.s,
238
+ l: op.l,
196
239
  });
197
240
  counts.skipped++;
198
241
  aggregateByteLimitSkipped.push({ path: op.p });
@@ -262,9 +305,11 @@ export async function executeOperations(operations, cwd, signal, options = {}) {
262
305
  status: "ok",
263
306
  content: finalContent,
264
307
  totalLines: totalFileLines,
265
- warning: safetyWarning,
308
+ warning: [pathWarning, safetyWarning].filter(Boolean).join("\n") || undefined,
266
309
  truncated: finalTruncated || undefined,
267
310
  nextOffset,
311
+ s: op.s,
312
+ l: op.l,
268
313
  });
269
314
  counts.read++;
270
315
  break;
@@ -273,13 +318,16 @@ export async function executeOperations(operations, cwd, signal, options = {}) {
273
318
  if (!op.c && op.c !== "") {
274
319
  throw new Error("c (content) is required for write operations.");
275
320
  }
276
- await fs.mkdir(path.dirname(resolvedPath), { recursive: true });
277
- await fs.writeFile(resolvedPath, op.c, "utf-8");
321
+ await withFileMutationQueue(resolvedPath, async () => {
322
+ await fs.mkdir(path.dirname(resolvedPath), { recursive: true });
323
+ await fs.writeFile(resolvedPath, op.c, "utf-8");
324
+ });
278
325
  results.push({
279
326
  op: "write",
280
327
  path: op.p,
281
328
  status: "ok",
282
329
  bytes: Buffer.byteLength(op.c, "utf-8"),
330
+ warning: pathWarning,
283
331
  });
284
332
  counts.write++;
285
333
  break;
@@ -288,38 +336,45 @@ export async function executeOperations(operations, cwd, signal, options = {}) {
288
336
  if (!op.e || op.e.length === 0) {
289
337
  throw new Error("e (edits) array is required for edit operations.");
290
338
  }
291
- const rawContent = await fs.readFile(resolvedPath, "utf-8");
292
- const { bom, text: contentWithoutBom } = stripBom(rawContent);
293
- const originalEnding = detectLineEnding(contentWithoutBom);
294
- const normalizedContent = normalizeToLF(contentWithoutBom);
295
- const { newContent, blocksChanged } = applyEdits(normalizedContent, op.e, op.p);
296
- const finalContent = bom + restoreLineEndings(newContent, originalEnding);
297
- await fs.writeFile(resolvedPath, finalContent, "utf-8");
339
+ const edits = op.e;
340
+ const blocksChanged = await withFileMutationQueue(resolvedPath, async () => {
341
+ const rawContent = await fs.readFile(resolvedPath, "utf-8");
342
+ const { bom, text: contentWithoutBom } = stripBom(rawContent);
343
+ const originalEnding = detectLineEnding(contentWithoutBom);
344
+ const normalizedContent = normalizeToLF(contentWithoutBom);
345
+ const { newContent, blocksChanged: changed } = applyEdits(normalizedContent, edits, op.p);
346
+ const finalContent = bom + restoreLineEndings(newContent, originalEnding);
347
+ await fs.writeFile(resolvedPath, finalContent, "utf-8");
348
+ return changed;
349
+ });
298
350
  results.push({
299
351
  op: "edit",
300
352
  path: op.p,
301
353
  status: "ok",
302
354
  blocksChanged,
355
+ warning: pathWarning,
303
356
  });
304
357
  counts.edit++;
305
358
  break;
306
359
  }
307
360
  case "delete": {
308
- let stat;
309
- try {
310
- stat = await fs.lstat(resolvedPath);
311
- }
312
- catch (err) {
313
- if (err.code === "ENOENT") {
314
- throw new Error(`File not found: ${op.p}`);
361
+ await withFileMutationQueue(resolvedPath, async () => {
362
+ let stat;
363
+ try {
364
+ stat = await fs.lstat(resolvedPath);
315
365
  }
316
- throw err;
317
- }
318
- if (stat.isDirectory()) {
319
- throw new Error(`Cannot delete directory: ${op.p}. Use a recursive removal tool or delete files individually.`);
320
- }
321
- await fs.unlink(resolvedPath);
322
- results.push({ op: "delete", path: op.p, status: "ok" });
366
+ catch (err) {
367
+ if (err.code === "ENOENT") {
368
+ throw new Error(`File not found: ${op.p}`);
369
+ }
370
+ throw err;
371
+ }
372
+ if (stat.isDirectory()) {
373
+ throw new Error(`Cannot delete directory: ${op.p}. Use a recursive removal tool or delete files individually.`);
374
+ }
375
+ await fs.unlink(resolvedPath);
376
+ });
377
+ results.push({ op: "delete", path: op.p, status: "ok", warning: pathWarning });
323
378
  counts.delete++;
324
379
  break;
325
380
  }
@@ -330,7 +385,7 @@ export async function executeOperations(operations, cwd, signal, options = {}) {
330
385
  }
331
386
  const searchPath = (rgOp.p.startsWith("~") || path.isAbsolute(rgOp.p)) ? resolvedPath : rgOp.p;
332
387
  const args = buildRgArgs({ ...rgOp, p: searchPath });
333
- const matches = await execRg(args, cwd);
388
+ const matches = await execRg(args, cwd, signal);
334
389
  const content = matches.join("\n");
335
390
  // Try to attach enclosing signatures (only when we have line numbers)
336
391
  let enclosingSignatures;
@@ -345,18 +400,46 @@ export async function executeOperations(operations, cwd, signal, options = {}) {
345
400
  content,
346
401
  totalLines: matches.length,
347
402
  enclosingSignatures,
403
+ warning: pathWarning,
404
+ q: rgOp.q,
348
405
  });
349
406
  counts.rg++;
350
407
  break;
351
408
  }
409
+ case "patch": {
410
+ if (!op.c && op.c !== "") {
411
+ throw new Error("c (patch text) is required for patch operations.");
412
+ }
413
+ const { affected, exact } = await applyPatch(op.c, cwd);
414
+ results.push({
415
+ op: "patch",
416
+ path: op.p,
417
+ status: "ok",
418
+ affected,
419
+ exact,
420
+ warning: pathWarning,
421
+ });
422
+ counts.patch++;
423
+ break;
424
+ }
352
425
  default:
353
426
  throw new Error(`Unknown operation type: ${op.o}`);
354
427
  }
355
428
  }
356
429
  catch (err) {
357
- failed = true;
358
- counts.error++;
359
430
  const message = err instanceof Error ? err.message : String(err);
431
+ // Treat mid-flight rg abort as skipped rather than error
432
+ if (message === "Aborted" && signal?.aborted) {
433
+ counts.skipped++;
434
+ results.push({
435
+ op: op.o,
436
+ path: op.p,
437
+ status: "skipped",
438
+ error: "Operation aborted.",
439
+ });
440
+ continue;
441
+ }
442
+ counts.error++;
360
443
  // Enrich file-not-found errors with fuzzy filename suggestions
361
444
  let hint = getErrorHint(message);
362
445
  if (message.includes("File not found") ||
@@ -368,6 +451,8 @@ export async function executeOperations(operations, cwd, signal, options = {}) {
368
451
  hint += ` Did you mean: ${suggestions.join(", ")}?`;
369
452
  }
370
453
  }
454
+ const retryable = isRetryable(message);
455
+ const suggestedFix = hint || undefined;
371
456
  errors.push({ path: op.p, op: op.o, message, hint });
372
457
  results.push({
373
458
  op: op.o,
@@ -375,9 +460,16 @@ export async function executeOperations(operations, cwd, signal, options = {}) {
375
460
  status: "error",
376
461
  error: message,
377
462
  hint,
463
+ retryable,
464
+ suggestedFix,
465
+ s: op.s,
466
+ l: op.l,
467
+ q: op.q,
378
468
  });
379
469
  }
470
+ emitPartialUpdate();
380
471
  }
472
+ emitPartialUpdate();
381
473
  // Build the enhanced summary and content text
382
474
  const summary = buildSummary(counts, errors, truncatedFiles, aggregateLimitSkipped, aggregateByteLimitSkipped);
383
475
  const contentText = buildContentText(summary, results);
@@ -387,37 +479,71 @@ export async function executeOperations(operations, cwd, signal, options = {}) {
387
479
  // Summary / content rendering
388
480
  // ---------------------------------------------------------------------------
389
481
  function buildSummary(counts, errors, truncatedFiles, aggregateLimitSkipped = [], aggregateByteLimitSkipped = []) {
390
- const totalSuccess = counts.read + counts.write + counts.edit + counts.delete + counts.rg;
391
- const totalOps = totalSuccess + counts.error + counts.skipped;
392
482
  const parts = [];
393
- // Build the success breakdown
483
+ // Build success parts from counts
394
484
  const successParts = [];
395
485
  if (counts.read > 0)
396
- successParts.push(`${counts.read} read${counts.read > 1 ? "s" : ""}`);
486
+ successParts.push(`${counts.read} read`);
397
487
  if (counts.write > 0)
398
- successParts.push(`${counts.write} write${counts.write > 1 ? "s" : ""}`);
488
+ successParts.push(`${counts.write} write`);
399
489
  if (counts.edit > 0)
400
- successParts.push(`${counts.edit} edit${counts.edit > 1 ? "s" : ""}`);
490
+ successParts.push(`${counts.edit} edit`);
401
491
  if (counts.delete > 0)
402
- successParts.push(`${counts.delete} delete${counts.delete > 1 ? "s" : ""}`);
492
+ successParts.push(`${counts.delete} delete`);
403
493
  if (counts.rg > 0)
404
- successParts.push(`${counts.rg} rg${counts.rg > 1 ? "s" : ""}`);
405
- if (counts.error === 0) {
406
- // All success
407
- parts.push(`${totalOps} operations: ${successParts.join(", ")}`);
494
+ successParts.push(`${counts.rg} rg`);
495
+ if (counts.patch > 0)
496
+ successParts.push(`${counts.patch} patch`);
497
+ if (counts.bash > 0)
498
+ successParts.push(`${counts.bash} bash`);
499
+ // Build failure parts from errors
500
+ const failedCounts = {};
501
+ for (const err of errors) {
502
+ failedCounts[err.op] = (failedCounts[err.op] || 0) + 1;
503
+ }
504
+ const failedParts = [];
505
+ if (failedCounts.read > 0)
506
+ failedParts.push(`${failedCounts.read} read`);
507
+ if (failedCounts.write > 0)
508
+ failedParts.push(`${failedCounts.write} write`);
509
+ if (failedCounts.edit > 0)
510
+ failedParts.push(`${failedCounts.edit} edit`);
511
+ if (failedCounts.delete > 0)
512
+ failedParts.push(`${failedCounts.delete} delete`);
513
+ if (failedCounts.rg > 0)
514
+ failedParts.push(`${failedCounts.rg} rg`);
515
+ if (failedCounts.patch > 0)
516
+ failedParts.push(`${failedCounts.patch} patch`);
517
+ if (failedCounts.bash > 0)
518
+ failedParts.push(`${failedCounts.bash} bash`);
519
+ const hasSuccess = successParts.length > 0;
520
+ const hasFailure = failedParts.length > 0;
521
+ const hasSkipped = counts.skipped > 0;
522
+ if (!hasFailure) {
523
+ // All success (or skipped)
524
+ const summaryParts = [...successParts];
525
+ if (hasSkipped)
526
+ summaryParts.push(`${counts.skipped} skipped`);
527
+ parts.push(`✔ ${summaryParts.join(", ")}`);
408
528
  }
409
529
  else {
410
- // Mixed success/failure
411
- parts.push(`${counts.error} failed${counts.skipped > 0 ? `, ${counts.skipped} skipped` : ""}`);
412
- if (totalSuccess > 0) {
413
- parts.push(` ${successParts.join(", ")} ok`);
530
+ // Mixed or all failed
531
+ if (hasSuccess) {
532
+ parts.push(`✔ ${successParts.join(", ")} | ✗ ${failedParts.join(", ")}`);
533
+ }
534
+ else {
535
+ parts.push(`✗ ${failedParts.join(", ")}`);
414
536
  }
415
- for (const err of errors) {
416
- const hint = err.hint ?? "";
417
- const hintSuffix = hint ? ` — ${hint}` : "";
418
- parts.push(` ${err.op} ${err.path}: ${err.message}${hintSuffix}`);
537
+ if (hasSkipped) {
538
+ parts.push(`${counts.skipped} skipped`);
419
539
  }
420
540
  }
541
+ // Error details
542
+ for (const err of errors) {
543
+ const hint = err.hint ?? "";
544
+ const hintSuffix = hint ? ` — ${hint}` : "";
545
+ parts.push(` ${err.op} ${err.path}: ${err.message}${hintSuffix}`);
546
+ }
421
547
  // Truncation warnings
422
548
  for (const tf of truncatedFiles) {
423
549
  if (tf.nextOffset) {
@@ -492,6 +618,19 @@ function buildContentText(summary, results) {
492
618
  else if (r.status === "error") {
493
619
  sections.push(`\n--- ${r.op}: ${r.path} ---\nError: ${r.error}`);
494
620
  }
621
+ else if (r.op === "patch" && r.status === "ok") {
622
+ const parts = [];
623
+ if (r.affected?.added.length)
624
+ parts.push(`A ${r.affected.added.join(', ')}`);
625
+ if (r.affected?.modified.length)
626
+ parts.push(`M ${r.affected.modified.join(', ')}`);
627
+ if (r.affected?.deleted.length)
628
+ parts.push(`D ${r.affected.deleted.join(', ')}`);
629
+ sections.push(`\n--- patch: ${r.path} ---\n${parts.join('\n')}`);
630
+ }
631
+ else if (r.status === "skipped") {
632
+ sections.push(`\n--- ${r.op}: ${r.path} ---\n${r.error ?? "Skipped"}`);
633
+ }
495
634
  }
496
635
  return sections.join("");
497
636
  }
@@ -613,9 +752,9 @@ function groupRgMatchesByFile(content, sigMap) {
613
752
  }
614
753
  return out.join("\n");
615
754
  }
616
- function execRg(args, cwd) {
755
+ function execRg(args, cwd, signal) {
617
756
  return new Promise((resolve, reject) => {
618
- execFile("rg", args, { cwd, maxBuffer: 10 * 1024 * 1024 }, (err, stdout, stderr) => {
757
+ const child = execFile("rg", args, { cwd, maxBuffer: 10 * 1024 * 1024 }, (err, stdout, stderr) => {
619
758
  if (err) {
620
759
  // ripgrep exits with code 1 when no matches are found
621
760
  if (err.code === 1) {
@@ -639,6 +778,22 @@ function execRg(args, cwd) {
639
778
  const lines = stdout.split("\n").filter((line) => line.length > 0);
640
779
  resolve(lines);
641
780
  });
781
+ if (signal) {
782
+ const onAbort = () => {
783
+ try {
784
+ child.kill("SIGTERM");
785
+ }
786
+ catch { /* already dead */ }
787
+ reject(new Error("Aborted"));
788
+ };
789
+ if (signal.aborted) {
790
+ onAbort();
791
+ }
792
+ else {
793
+ signal.addEventListener("abort", onAbort, { once: true });
794
+ child.on("close", () => signal.removeEventListener("abort", onAbort));
795
+ }
796
+ }
642
797
  });
643
798
  }
644
799
  //# sourceMappingURL=execute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/batch/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/batch/execute.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,9 @@ export declare function applyEdits(content: string, edits: EditReplacement[], fi
18
18
  };
19
19
  export declare function expandTilde(inputPath: string): string;
20
20
  export declare function isWithinDirectory(child: string, parent: string): boolean;
21
- export declare function validatePath(inputPath: string, cwd: string): Promise<string>;
21
+ export declare function validatePath(inputPath: string, cwd: string): Promise<{
22
+ path: string;
23
+ warning?: string;
24
+ }>;
22
25
  export declare function levenshtein(a: string, b: string): number;
23
26
  //# sourceMappingURL=fuzzy-edit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fuzzy-edit.d.ts","sourceRoot":"","sources":["../../src/batch/fuzzy-edit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAMtD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMxD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAIvE;AA+HD,wBAAgB,UAAU,CACzB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,eAAe,EAAE,EACxB,QAAQ,EAAE,MAAM,GACd;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAyG/C;AAMD,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAYxE;AAED,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGlF;AAMD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAexD"}
1
+ {"version":3,"file":"fuzzy-edit.d.ts","sourceRoot":"","sources":["../../src/batch/fuzzy-edit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAMtD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMxD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAIvE;AA+HD,wBAAgB,UAAU,CACzB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,eAAe,EAAE,EACxB,QAAQ,EAAE,MAAM,GACd;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAyG/C;AAMD,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAYxE;AAED,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAQ9G;AAMD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAexD"}
@@ -230,8 +230,13 @@ export function isWithinDirectory(child, parent) {
230
230
  return child.startsWith(parent + path.sep);
231
231
  }
232
232
  export async function validatePath(inputPath, cwd) {
233
- const expandedPath = expandTilde(inputPath);
234
- return path.resolve(cwd, expandedPath);
233
+ let expandedPath = expandTilde(inputPath);
234
+ if (expandedPath.startsWith("@")) {
235
+ expandedPath = expandedPath.slice(1);
236
+ }
237
+ const resolvedPath = path.resolve(cwd, expandedPath);
238
+ const warning = isWithinDirectory(resolvedPath, cwd) ? undefined : "Path resolves outside cwd — verify this is intentional";
239
+ return { path: resolvedPath, warning };
235
240
  }
236
241
  // ---------------------------------------------------------------------------
237
242
  // Levenshtein distance (used by execute for suggestions)