harness-dispatch 0.8.0 → 0.10.0

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 (174) hide show
  1. package/CHANGELOG.md +1074 -2
  2. package/README.md +92 -36
  3. package/config.default.yaml +19 -3
  4. package/dist/auth.d.ts.map +1 -1
  5. package/dist/auth.js.map +1 -1
  6. package/dist/billing.d.ts +24 -0
  7. package/dist/billing.d.ts.map +1 -1
  8. package/dist/billing.js +24 -0
  9. package/dist/billing.js.map +1 -1
  10. package/dist/bin.d.ts.map +1 -1
  11. package/dist/bin.js +299 -48
  12. package/dist/bin.js.map +1 -1
  13. package/dist/circuit-breaker.d.ts +9 -1
  14. package/dist/circuit-breaker.d.ts.map +1 -1
  15. package/dist/circuit-breaker.js +15 -1
  16. package/dist/circuit-breaker.js.map +1 -1
  17. package/dist/client-register.d.ts +11 -1
  18. package/dist/client-register.d.ts.map +1 -1
  19. package/dist/client-register.js +15 -6
  20. package/dist/client-register.js.map +1 -1
  21. package/dist/config/coercions.d.ts +5 -0
  22. package/dist/config/coercions.d.ts.map +1 -1
  23. package/dist/config/coercions.js +8 -0
  24. package/dist/config/coercions.js.map +1 -1
  25. package/dist/config/protocol.js.map +1 -1
  26. package/dist/config/validation.d.ts +12 -0
  27. package/dist/config/validation.d.ts.map +1 -1
  28. package/dist/config/validation.js +133 -7
  29. package/dist/config/validation.js.map +1 -1
  30. package/dist/config.d.ts +15 -5
  31. package/dist/config.d.ts.map +1 -1
  32. package/dist/config.js +199 -152
  33. package/dist/config.js.map +1 -1
  34. package/dist/configure-yaml.d.ts +2 -0
  35. package/dist/configure-yaml.d.ts.map +1 -1
  36. package/dist/configure-yaml.js +114 -4
  37. package/dist/configure-yaml.js.map +1 -1
  38. package/dist/dispatch-log.d.ts.map +1 -1
  39. package/dist/dispatch-log.js +3 -1
  40. package/dist/dispatch-log.js.map +1 -1
  41. package/dist/dispatchers/generic-cli.d.ts.map +1 -1
  42. package/dist/dispatchers/generic-cli.js +281 -112
  43. package/dist/dispatchers/generic-cli.js.map +1 -1
  44. package/dist/dispatchers/openai-compatible.d.ts +0 -5
  45. package/dist/dispatchers/openai-compatible.d.ts.map +1 -1
  46. package/dist/dispatchers/openai-compatible.js +150 -83
  47. package/dist/dispatchers/openai-compatible.js.map +1 -1
  48. package/dist/dispatchers/shared/harness-login.d.ts +25 -0
  49. package/dist/dispatchers/shared/harness-login.d.ts.map +1 -0
  50. package/dist/dispatchers/shared/harness-login.js +73 -0
  51. package/dist/dispatchers/shared/harness-login.js.map +1 -0
  52. package/dist/dispatchers/shared/stream-subprocess.d.ts.map +1 -1
  53. package/dist/dispatchers/shared/stream-subprocess.js +71 -58
  54. package/dist/dispatchers/shared/stream-subprocess.js.map +1 -1
  55. package/dist/file-lock.d.ts +29 -1
  56. package/dist/file-lock.d.ts.map +1 -1
  57. package/dist/file-lock.js +53 -20
  58. package/dist/file-lock.js.map +1 -1
  59. package/dist/harness-presets.d.ts +51 -0
  60. package/dist/harness-presets.d.ts.map +1 -0
  61. package/dist/harness-presets.js +154 -0
  62. package/dist/harness-presets.js.map +1 -0
  63. package/dist/http/parse.d.ts +8 -1
  64. package/dist/http/parse.d.ts.map +1 -1
  65. package/dist/http/parse.js +10 -3
  66. package/dist/http/parse.js.map +1 -1
  67. package/dist/http/server.d.ts +2 -0
  68. package/dist/http/server.d.ts.map +1 -1
  69. package/dist/http/server.js +188 -16
  70. package/dist/http/server.js.map +1 -1
  71. package/dist/job-runner.js +6 -0
  72. package/dist/job-runner.js.map +1 -1
  73. package/dist/jobs/context.d.ts +0 -7
  74. package/dist/jobs/context.d.ts.map +1 -1
  75. package/dist/jobs/context.js +95 -7
  76. package/dist/jobs/context.js.map +1 -1
  77. package/dist/jobs/lifecycle.d.ts +100 -0
  78. package/dist/jobs/lifecycle.d.ts.map +1 -0
  79. package/dist/jobs/lifecycle.js +263 -0
  80. package/dist/jobs/lifecycle.js.map +1 -0
  81. package/dist/jobs/read.d.ts +17 -0
  82. package/dist/jobs/read.d.ts.map +1 -0
  83. package/dist/jobs/read.js +103 -0
  84. package/dist/jobs/read.js.map +1 -0
  85. package/dist/jobs/run.d.ts +45 -0
  86. package/dist/jobs/run.d.ts.map +1 -0
  87. package/dist/jobs/run.js +351 -0
  88. package/dist/jobs/run.js.map +1 -0
  89. package/dist/jobs/start.d.ts +9 -0
  90. package/dist/jobs/start.d.ts.map +1 -0
  91. package/dist/jobs/start.js +126 -0
  92. package/dist/jobs/start.js.map +1 -0
  93. package/dist/jobs/store.d.ts.map +1 -1
  94. package/dist/jobs/store.js +13 -3
  95. package/dist/jobs/store.js.map +1 -1
  96. package/dist/jobs/supervisor.d.ts +151 -0
  97. package/dist/jobs/supervisor.d.ts.map +1 -0
  98. package/dist/jobs/supervisor.js +679 -0
  99. package/dist/jobs/supervisor.js.map +1 -0
  100. package/dist/jobs/types.d.ts +8 -1
  101. package/dist/jobs/types.d.ts.map +1 -1
  102. package/dist/jobs.d.ts +15 -218
  103. package/dist/jobs.d.ts.map +1 -1
  104. package/dist/jobs.js +14 -1317
  105. package/dist/jobs.js.map +1 -1
  106. package/dist/leaderboard.d.ts.map +1 -1
  107. package/dist/leaderboard.js +44 -28
  108. package/dist/leaderboard.js.map +1 -1
  109. package/dist/mcp/config-hot-reload.d.ts +14 -3
  110. package/dist/mcp/config-hot-reload.d.ts.map +1 -1
  111. package/dist/mcp/config-hot-reload.js +27 -6
  112. package/dist/mcp/config-hot-reload.js.map +1 -1
  113. package/dist/mcp/dispatcher-factory.d.ts.map +1 -1
  114. package/dist/mcp/dispatcher-factory.js +15 -4
  115. package/dist/mcp/dispatcher-factory.js.map +1 -1
  116. package/dist/mcp/resources.d.ts.map +1 -1
  117. package/dist/mcp/resources.js +3 -2
  118. package/dist/mcp/resources.js.map +1 -1
  119. package/dist/mcp/tool-schemas.d.ts +1 -1
  120. package/dist/mcp/tool-schemas.d.ts.map +1 -1
  121. package/dist/mcp/tool-schemas.js +6 -3
  122. package/dist/mcp/tool-schemas.js.map +1 -1
  123. package/dist/mcp/tools.d.ts +20 -6
  124. package/dist/mcp/tools.d.ts.map +1 -1
  125. package/dist/mcp/tools.js +92 -14
  126. package/dist/mcp/tools.js.map +1 -1
  127. package/dist/mcp-clients.d.ts +9 -0
  128. package/dist/mcp-clients.d.ts.map +1 -1
  129. package/dist/mcp-clients.js +4 -0
  130. package/dist/mcp-clients.js.map +1 -1
  131. package/dist/observability/spans.d.ts.map +1 -1
  132. package/dist/observability/spans.js +10 -2
  133. package/dist/observability/spans.js.map +1 -1
  134. package/dist/quota.d.ts.map +1 -1
  135. package/dist/quota.js +16 -2
  136. package/dist/quota.js.map +1 -1
  137. package/dist/redaction.d.ts +90 -0
  138. package/dist/redaction.d.ts.map +1 -0
  139. package/dist/redaction.js +221 -0
  140. package/dist/redaction.js.map +1 -0
  141. package/dist/route-policy.d.ts +2 -1
  142. package/dist/route-policy.d.ts.map +1 -1
  143. package/dist/route-policy.js +54 -0
  144. package/dist/route-policy.js.map +1 -1
  145. package/dist/router.d.ts +12 -23
  146. package/dist/router.d.ts.map +1 -1
  147. package/dist/router.js +86 -223
  148. package/dist/router.js.map +1 -1
  149. package/dist/safety.d.ts.map +1 -1
  150. package/dist/safety.js +7 -1
  151. package/dist/safety.js.map +1 -1
  152. package/dist/state-dir.d.ts +10 -0
  153. package/dist/state-dir.d.ts.map +1 -1
  154. package/dist/state-dir.js +27 -1
  155. package/dist/state-dir.js.map +1 -1
  156. package/dist/status.d.ts +14 -3
  157. package/dist/status.d.ts.map +1 -1
  158. package/dist/status.js +36 -3
  159. package/dist/status.js.map +1 -1
  160. package/dist/types.d.ts +24 -1
  161. package/dist/types.d.ts.map +1 -1
  162. package/dist/workspace-lock.d.ts +20 -0
  163. package/dist/workspace-lock.d.ts.map +1 -1
  164. package/dist/workspace-lock.js +63 -0
  165. package/dist/workspace-lock.js.map +1 -1
  166. package/dist/workspace-resolve.d.ts +0 -9
  167. package/dist/workspace-resolve.d.ts.map +1 -1
  168. package/dist/workspace-resolve.js +115 -183
  169. package/dist/workspace-resolve.js.map +1 -1
  170. package/dist/workspaces.d.ts +15 -0
  171. package/dist/workspaces.d.ts.map +1 -1
  172. package/dist/workspaces.js +330 -90
  173. package/dist/workspaces.js.map +1 -1
  174. package/package.json +5 -4
@@ -22,7 +22,7 @@ import { existsSync } from "node:fs";
22
22
  import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
23
23
  import path from "node:path";
24
24
  import { promisify } from "node:util";
25
- import { eolDigest, EXCLUDED_DIRS, GIT_ENV, isUnderOrEqual, workspacesBase } from "./workspaces.js";
25
+ import { eolDigest, GIT_ENV, isUnderOrEqual, workspacesBase } from "./workspaces.js";
26
26
  const execFile = promisify(execFileCb);
27
27
  /** Patches are read into memory and returned over MCP, so they are bounded. */
28
28
  export const MAX_PATCH_BYTES = 2 * 1024 * 1024;
@@ -102,6 +102,17 @@ async function gitDiff(args, cwd) {
102
102
  : "";
103
103
  throw new Error(`git could not produce a patch for this workspace: ${failure}.${hint}`);
104
104
  }
105
+ // The cap firing reads as gibberish otherwise. `maxBuffer` surfaces as
106
+ // `stdout maxBuffer length exceeded` with no mention of patches, limits,
107
+ // or the fact that the work is safe and still on disk — for a user whose
108
+ // agent simply changed a lot. Same wording as the copy path's own bound,
109
+ // so the two policies explain the same limit the same way.
110
+ if (err?.code === "ERR_CHILD_PROCESS_STDIO_MAXBUFFER") {
111
+ throw new Error(`This workspace's changes exceed the ${Math.floor(MAX_PATCH_BYTES / (1024 * 1024))}MB ` +
112
+ `patch limit, so a patch cannot be returned. Nothing has been applied and nothing ` +
113
+ `has been deleted — the work is still in ${cwd}, where you can copy out what you ` +
114
+ `need or diff it by hand.`);
115
+ }
105
116
  throw err;
106
117
  }
107
118
  }
@@ -169,6 +180,31 @@ export async function buildWorkspacePatch(run) {
169
180
  // `add -A -N` registers untracked files as intent-to-add so they appear in
170
181
  // the diff as additions. It touches only the throwaway worktree's index.
171
182
  await git(["add", "-A", "-N"], root).catch(() => undefined);
183
+ // ...but it obeys .gitignore, and `changedFiles` does not — it comes from
184
+ // a filesystem fingerprint. So an agent that wrote a gitignored file (a
185
+ // `.env`, a local config) had that file REPORTED as changed and applied,
186
+ // and silently left behind: the patch never carried it. An acceptance pass
187
+ // measured `applied: true` naming two files with only one in the diff.
188
+ //
189
+ // It compounds: the "already applied" guard needs every recorded change
190
+ // present in the project, so it never fires, and the next apply refuses
191
+ // with "changed since dispatch" — blaming the user for the first apply's
192
+ // own writes, the exact misleading refusal an earlier fix removed.
193
+ //
194
+ // Force-add EXACTLY the paths already recorded as changed, never `-f -A`.
195
+ // The recorded list comes from a fingerprint that skips node_modules,
196
+ // dist, build and friends (EXCLUDED_DIRS), so it stays bounded; a blanket
197
+ // force-add would sweep whole ignored trees into the patch.
198
+ //
199
+ // This also makes the two policies agree: a `copy` patch is built per file
200
+ // from this same list and has always carried ignored files.
201
+ const ignoredCandidates = (run.changedFiles ?? [])
202
+ .filter((c) => c.kind !== "deleted")
203
+ .map((c) => c.path);
204
+ for (let i = 0; i < ignoredCandidates.length; i += 100) {
205
+ const batch = ignoredCandidates.slice(i, i + 100);
206
+ await git(["add", "-N", "--force", "--", ...batch], root).catch(() => undefined);
207
+ }
172
208
  return gitDiff(["diff", "--binary", run.baseCommit, "--"], root);
173
209
  }
174
210
  // A copy patch is built FILE BY FILE, from the list of what the agent
@@ -199,40 +235,22 @@ export async function buildWorkspacePatch(run) {
199
235
  if (run.changedFiles !== undefined) {
200
236
  return buildCopyPatchFromChanges(run, root, run.changedFiles);
201
237
  }
202
- // Fallback for a job recorded before changedFiles existed. Kept rather than
203
- // refusing so an upgrade cannot strand an in-flight job; those records age
204
- // out with the workspace inside a day.
205
- //
206
- // The paths are handed to git in POSIX form deliberately. Given a Windows
207
- // path, git quotes the whole filename and escapes the separators as `\\`,
208
- // so the emitted header reads `"a/C:\\Users\\..."` and any attempt to
209
- // normalise that afterwards has to understand C-string escaping. Passing
210
- // forward slashes means git emits a plain unquoted path that simple prefix
211
- // stripping can handle.
212
- const origPosix = toPosix(run.originalWorkingDir);
213
- const isoPosix = toPosix(root);
214
- // --no-renames, and it is load-bearing rather than cosmetic.
238
+ // A job recorded before `changedFiles` existed cannot be patched safely, and
239
+ // can no longer exist: the field has been written since 2026-07-13 and an
240
+ // isolated workspace is pruned after a day, so any run without it is older
241
+ // than its own workspace. This used to fall back to `git diff --no-index`
242
+ // over the whole directory pair, with ~170 lines of path normalisation and
243
+ // section filtering to undo the damage that comparison does machinery that
244
+ // no input could reach any more, whose own comment still described the copy
245
+ // as living inside the project, which stopped being true in 0.7.0.
215
246
  //
216
- // The copy lives INSIDE the project, so a file the agent CREATED appears on
217
- // both sides of the comparison with identical content: once as
218
- // `.harness-dispatch/.../workspace/notes.txt` while git scans the project,
219
- // and once as `notes.txt` inside the copy. Rename detection paired the two
220
- // and emitted NOTHING AT ALL for that file no deletion, no addition — so
221
- // the patch came back empty, `apply` reported "the agent changed nothing"
222
- // beside its own list saying the file was added, and `discard` then deleted
223
- // the only copy of the work. A MODIFIED file was unaffected, which is why
224
- // this survived three releases of the feature.
225
- //
226
- // Disabling rename detection emits the deletion and the addition separately;
227
- // dropSectionsUnder was already written to strip the former and keep the
228
- // latter. Nothing else here wants renames: a patch that says "rename" only
229
- // applies cleanly if the source path is where the patch thinks it is, and on
230
- // this comparison it never is.
231
- const raw = await gitDiff(["diff", "--no-index", "--no-renames", "--binary", "--", origPosix, isoPosix], path.dirname(run.originalWorkingDir));
232
- // Order matters: the workspace itself is filtered out on ABSOLUTE paths,
233
- // before normalisation collapses them.
234
- const withoutWorkspace = dropSectionsUnder(raw, toPosix(run.workspaceRoot ?? ""));
235
- return dropExcludedSections(normaliseNoIndexPaths(withoutWorkspace, origPosix, isoPosix));
247
+ // Refusing matches what the `git_worktree` branch above already does for its
248
+ // own equivalent case, and is the safe direction: the alternative is emitting
249
+ // a patch from an untested path.
250
+ throw new Error("This copy job predates changed-file recording, so a safe patch cannot be " +
251
+ "produced diffing the whole directory pair could report files the copy " +
252
+ "never included as deletions. Inspect it by hand at " +
253
+ `${root}, or re-run the dispatch.`);
236
254
  }
237
255
  /** git's own name for "this side does not exist", accepted on Windows too. */
238
256
  const NULL_PATH = "/dev/null";
@@ -249,6 +267,7 @@ const NULL_PATH = "/dev/null";
249
267
  */
250
268
  async function buildCopyPatchFromChanges(run, workspace, changes) {
251
269
  const sections = [];
270
+ let total = 0;
252
271
  for (const change of changes) {
253
272
  const rel = change.path.split(path.sep).join("/");
254
273
  const projectFile = path.join(run.originalWorkingDir, change.path);
@@ -296,6 +315,17 @@ async function buildCopyPatchFromChanges(run, workspace, changes) {
296
315
  raw = await gitDiff(["diff", "--no-index", "--no-renames", "--binary", "--", left, right], path.dirname(run.originalWorkingDir));
297
316
  }
298
317
  catch (err) {
318
+ // The size refusal names a DIRECTORY, and `git()` only knows the cwd it
319
+ // was handed — which on this path is the parent of the user's project,
320
+ // not the workspace. So it told the reader their work was somewhere it
321
+ // is not. Re-raised here, where `run` is in scope, with the same wording
322
+ // the accumulation check below uses.
323
+ if (err instanceof Error && err.message.includes("patch limit")) {
324
+ throw new Error(`This workspace's changes exceed the ${Math.floor(MAX_PATCH_BYTES / (1024 * 1024))}MB ` +
325
+ `patch limit (${rel} alone is over it), so a patch cannot be returned. Nothing has ` +
326
+ `been applied and nothing has been deleted — the work is still in ` +
327
+ `${isolatedRoot(run)}, where you can copy out what you need or diff it by hand.`);
328
+ }
299
329
  // An unreadable file must not silently shrink the patch — that is the
300
330
  // failure mode this whole area keeps producing.
301
331
  throw new Error(`could not diff ${rel} for this workspace: ${err instanceof Error ? err.message : String(err)}`);
@@ -303,6 +333,19 @@ async function buildCopyPatchFromChanges(run, workspace, changes) {
303
333
  if (raw.trim() === "")
304
334
  continue;
305
335
  sections.push(rewriteSectionHeaders(raw, rel));
336
+ total += sections[sections.length - 1].length;
337
+ // MAX_PATCH_BYTES documents itself as bounding patches because they are
338
+ // "read into memory and returned over MCP" — and it did, for the worktree
339
+ // path, where it is an execFile maxBuffer. This path concatenates per file
340
+ // and had no bound at all, so the guarantee held for one policy and not
341
+ // the other. Refuse with the same limit and say where the work still is,
342
+ // rather than building a patch too large to hand back.
343
+ if (total > MAX_PATCH_BYTES) {
344
+ throw new Error(`This workspace's changes exceed the ${Math.floor(MAX_PATCH_BYTES / (1024 * 1024))}MB ` +
345
+ `patch limit, so a patch cannot be returned. Nothing has been applied and nothing ` +
346
+ `has been deleted — the work is still in ${isolatedRoot(run)}, where you can copy ` +
347
+ `out what you need or diff it by hand.`);
348
+ }
306
349
  }
307
350
  return sections.join("");
308
351
  }
@@ -469,142 +512,9 @@ async function changesNotInProject(run, changed) {
469
512
  }
470
513
  return missing;
471
514
  }
472
- /**
473
- * Drop patch sections for files inside the workspace directory itself.
474
- *
475
- * A `copy` workspace lives INSIDE the project (.harness-dispatch/workspaces/),
476
- * so `git diff --no-index <project> <copy>` walks into the copy while
477
- * scanning the project and reports the copy's own files as project files.
478
- * Normalisation then rewrites those paths — they contain the isolated root as
479
- * a substring — down to the same names as the real ones, producing a patch
480
- * with two conflicting sections per file: a spurious deletion of the copy's
481
- * version, and the genuine edit.
482
- *
483
- * Observed live: `app.js` appeared twice, once "deleted file mode" and once
484
- * modified. Applying that would have deleted the file it was meant to update.
485
- * It never showed up in unit tests because the fixtures put the copy outside
486
- * the project, which is not where the product puts it.
487
- */
488
- function dropSectionsUnder(patch, absRoot) {
489
- if (!patch || !absRoot)
490
- return patch;
491
- const lines = patch.split("\n");
492
- // Section-wise, because the leaked entries cannot be told from legitimate
493
- // ones by their header alone. A file the agent ADDED and a copy-of-the-copy
494
- // artefact both carry the isolated root on BOTH sides of `diff --git` — the
495
- // difference is direction. The artefacts are always deletions (the file
496
- // exists under the workspace while scanning the project, and has no
497
- // counterpart inside the copy, which excludes its own workspace directory),
498
- // and a real addition is always `--- /dev/null`. Filtering on the header
499
- // alone dropped every genuine change too, and produced an empty patch.
500
- const sections = [];
501
- let current = [];
502
- for (const line of lines) {
503
- if (line.startsWith("diff --git ") && current.length > 0) {
504
- sections.push(current);
505
- current = [];
506
- }
507
- current.push(line);
508
- }
509
- if (current.length > 0)
510
- sections.push(current);
511
- const kept = sections.filter((section) => {
512
- const header = section[0] ?? "";
513
- if (!header.startsWith("diff --git "))
514
- return true;
515
- const underWorkspace = header.includes(`${absRoot}/`);
516
- if (!underWorkspace)
517
- return true;
518
- const isDeletion = section.some((l) => l.startsWith("+++ /dev/null"));
519
- return !isDeletion;
520
- });
521
- return kept.map((s) => s.join("\n")).join("\n");
522
- }
523
- /**
524
- * Remove patch sections for paths the COPY never contained.
525
- *
526
- * copyTree skips .git, node_modules and friends, so a plain directory diff
527
- * reports every one of those files as deleted — and applying that patch would
528
- * delete the user's repository. The exclusion set is imported from
529
- * workspaces.ts rather than restated here: two lists would drift, and the
530
- * failure mode of drifting is destroying a .git directory.
531
- *
532
- * Only the `copy` policy needs this. A worktree diff is bounded by a real
533
- * commit, so it never sees these paths at all.
534
- */
535
- function dropExcludedSections(patch) {
536
- if (!patch)
537
- return patch;
538
- const out = [];
539
- let skipping = false;
540
- for (const line of patch.split("\n")) {
541
- if (line.startsWith("diff --git ")) {
542
- const rel = /^diff --git a\/(\S+)/.exec(line)?.[1] ?? "";
543
- const top = rel.split("/")[0] ?? "";
544
- skipping = EXCLUDED_DIRS.has(top);
545
- }
546
- if (!skipping)
547
- out.push(line);
548
- }
549
- return out.join("\n");
550
- }
551
515
  function toPosix(p) {
552
516
  return p.replace(/\\/g, "/").replace(/\/+$/, "");
553
517
  }
554
- /**
555
- * Rewrite `git diff --no-index` headers so the patch is repo-relative.
556
- *
557
- * --no-index emits the absolute paths it was given (`--- a/C:/long/path/...`),
558
- * which applies nowhere but this machine. Rewriting them to a/<rel> and
559
- * b/<rel> makes the patch portable and applicable with -p1, which is what
560
- * every other git patch in the world expects.
561
- */
562
- export function normaliseNoIndexPaths(patch, origRoot, isoRoot) {
563
- if (!patch)
564
- return patch;
565
- // Longest first: when one root is a prefix of the other, stripping the
566
- // shorter one first would leave a fragment of the longer behind.
567
- const roots = [origRoot, isoRoot].sort((a, b) => b.length - a.length);
568
- // HEADER LINES ONLY, and "header" is decided by POSITION, not by prefix.
569
- //
570
- // This used to run over every line in the patch, including `+` and `-`
571
- // content, so a file that mentioned its own absolute path had that path
572
- // deleted from its text on the way through: a delegate wrote
573
- // `const dataDir = "C:/…/hd-acc/data"` and the project received
574
- // `const dataDir = "data"`, reported as a clean apply. Env files, tsconfig
575
- // paths, docker volumes and fixtures all routinely contain the project path.
576
- //
577
- // Matching on prefixes alone is not enough either: an ADDED line whose own
578
- // text starts with "++ " arrives as "+++ ", and a `git diff` of a patch file
579
- // is not a hypothetical in this repo. Everything from `@@` to the next
580
- // section is content, full stop.
581
- let inHunk = false;
582
- return patch
583
- .split("\n")
584
- .map((line) => {
585
- if (line.startsWith("diff --git "))
586
- inHunk = false;
587
- else if (line.startsWith("@@"))
588
- inHunk = true;
589
- if (inHunk)
590
- return line;
591
- let out = line;
592
- for (const r of roots) {
593
- // The a/ and b/ prefixes are rebuilt explicitly rather than left to a
594
- // blanket strip, because a POSIX root already starts with "/": git
595
- // emits `a//tmp/proj/app.js`, and removing "/tmp/proj/" from that
596
- // leaves "aapp.js" — the prefix eaten, the patch unusable. A Windows
597
- // root starts with a drive letter, so the blanket version worked
598
- // there and this only failed on POSIX, in CI.
599
- out = out.split(`a${r}/`).join("a/").split(`b${r}/`).join("b/");
600
- out = out.split(`a/${r}/`).join("a/").split(`b/${r}/`).join("b/");
601
- // Anything left over (e.g. a bare path in a "similarity index" line).
602
- out = out.split(`${r}/`).join("");
603
- }
604
- return out;
605
- })
606
- .join("\n");
607
- }
608
518
  /** Build the patch, cache it next to the job, and return it (bounded). */
609
519
  export async function workspaceDiff(jobId, jobDir, run) {
610
520
  const patch = await buildWorkspacePatch(run);
@@ -686,6 +596,26 @@ function diffPathLists(before, after) {
686
596
  const seen = new Set(before);
687
597
  return after.filter((line) => !seen.has(line)).map((line) => line.slice(2).trim());
688
598
  }
599
+ /**
600
+ * The "nothing left to apply" answer, given from both places that can reach it.
601
+ *
602
+ * Two call sites: the empty-patch branch, and the explicit check further down
603
+ * that exists because a `git_worktree` patch never empties out. They were
604
+ * written out separately and had to say the same thing by hand — and this
605
+ * message is the one a caller reads to decide whether their work landed, so
606
+ * the two drifting apart is exactly the confusion the second site was added
607
+ * to fix.
608
+ */
609
+ function alreadyApplied(jobId, patchPath, changedCount) {
610
+ return {
611
+ jobId,
612
+ applied: false,
613
+ patchPath,
614
+ message: `Already applied: the project already matches the workspace for all ` +
615
+ `${changedCount} changed file(s), so there is nothing left to apply. ` +
616
+ `Use action: "discard" to clean up the workspace.`,
617
+ };
618
+ }
689
619
  /**
690
620
  * Apply the agent's work into the real project.
691
621
  *
@@ -723,14 +653,7 @@ export async function applyWorkspace(jobId, jobDir, run, opts = {}) {
723
653
  // reading a handful of named files.
724
654
  const missing = await changesNotInProject(run, changed);
725
655
  if (missing.length === 0) {
726
- return {
727
- jobId,
728
- applied: false,
729
- patchPath: diff.patchPath,
730
- message: `Already applied: the project already matches the workspace for all ` +
731
- `${changed.length} changed file(s), so there is nothing left to apply. ` +
732
- `Use action: "discard" to clean up the workspace.`,
733
- };
656
+ return alreadyApplied(jobId, diff.patchPath, changed.length);
734
657
  }
735
658
  return {
736
659
  jobId,
@@ -770,14 +693,7 @@ export async function applyWorkspace(jobId, jobDir, run, opts = {}) {
770
693
  if (run.changedFiles !== undefined && run.changedFiles.length > 0) {
771
694
  const notLanded = await changesNotInProject(run, run.changedFiles);
772
695
  if (notLanded.length === 0) {
773
- return {
774
- jobId,
775
- applied: false,
776
- patchPath: diff.patchPath,
777
- message: `Already applied: the project already matches the workspace for all ` +
778
- `${run.changedFiles.length} changed file(s), so there is nothing left to apply. ` +
779
- `Use action: "discard" to clean up the workspace.`,
780
- };
696
+ return alreadyApplied(jobId, diff.patchPath, run.changedFiles.length);
781
697
  }
782
698
  }
783
699
  // Has the project moved under this patch? Checked BEFORE the dirty check,
@@ -941,6 +857,22 @@ export async function discardWorkspace(jobId, run, opts = {}) {
941
857
  return { jobId, discarded: false, message: "This job has no isolated workspace to discard." };
942
858
  }
943
859
  if (!existsSync(root)) {
860
+ // The directory is gone, but git may still have the worktree REGISTERED.
861
+ // This function's own docblock says worktrees must be removed through git
862
+ // for exactly that reason, and this early return skipped the block that
863
+ // does it — so a workspace that aged out of retention, or that someone
864
+ // deleted by hand, left `.git/worktrees/<name>` in the user's repo
865
+ // permanently. Reproduced: `git worktree list` still showing the path,
866
+ // marked `prunable`, after discard answered `discarded: true`.
867
+ //
868
+ // Prune rather than `worktree remove`: the directory is already gone, so
869
+ // remove has nothing to act on, and prune is precisely the "forget
870
+ // registrations whose directories vanished" operation. Best-effort — a
871
+ // non-repo or a missing git binary must not turn a successful discard
872
+ // into a failure.
873
+ if (run.policy === "git_worktree") {
874
+ await git(["worktree", "prune"], run.originalWorkingDir).catch(() => undefined);
875
+ }
944
876
  return { jobId, discarded: true, message: `Already gone: ${root}` };
945
877
  }
946
878
  // Refuse to destroy the only copy of work the project does not have.
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-resolve.js","sourceRoot":"","sources":["../src/workspace-resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-resolve.js","sourceRoot":"","sources":["../src/workspace-resolve.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,21 @@ export declare function workspaceRunId(routeName: string): string;
64
64
  export declare function workspacesBase(): string;
65
65
  /** Exported for tests, for the same reason as `workspaceRunId`. */
66
66
  export declare function workspaceRootFor(originalWorkingDir: string): string;
67
+ /**
68
+ * Re-check, immediately before a destructive or bulk operation, that a
69
+ * directory verified earlier is still the one we verified.
70
+ *
71
+ * The old code validated once at the start of a dispatch and then trusted the
72
+ * path string for everything that followed. This is the narrow version of that
73
+ * trust: it costs one `lstat` and it turns "checked minutes ago" into "checked
74
+ * a syscall ago".
75
+ */
76
+ export declare function assertStillOurs(dir: string): Promise<void>;
77
+ /**
78
+ * Create and verify every segment from the anchor down to `root`, and return
79
+ * the verified path.
80
+ */
81
+ export declare function prepareVerifiedRoot(root: string): Promise<string>;
67
82
  /**
68
83
  * Never copy the workspace area into itself.
69
84
  *
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../src/workspaces.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,aAAa,EAEb,eAAe,EAEhB,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,aAAa,aAcxB,CAAC;AAoBH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACzD;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,eAAe,CAAC,EAAE,eAAe,GAChC,eAAe,CAIjB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAE1E;AAMD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGxD;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAKvC;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAYnE;AAoQD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAMvE;AA+ID;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI9C;AA8DD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,EAAE,CAUlF;AAkJD;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO;;CAA8C,CAAC;AA2InE,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAU7B"}
1
+ {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../src/workspaces.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,aAAa,EAEb,eAAe,EAEhB,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,aAAa,aAcxB,CAAC;AAoBH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACzD;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,eAAe,CAAC,EAAE,eAAe,GAChC,eAAe,CAIjB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAE1E;AAMD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGxD;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAKvC;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAYnE;AA2HD;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhE;AA2ED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgCvE;AAuRD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAMvE;AA+ID;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI9C;AA8DD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,EAAE,CAUlF;AAgJD;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO;;CAA8C,CAAC;AAwInE,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAU7B"}