harness-dispatch 0.7.9 → 0.8.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 (107) hide show
  1. package/CHANGELOG.md +657 -1
  2. package/README.md +25 -4
  3. package/config.default.yaml +30 -2
  4. package/dist/auth.d.ts +29 -0
  5. package/dist/auth.d.ts.map +1 -1
  6. package/dist/auth.js +58 -5
  7. package/dist/auth.js.map +1 -1
  8. package/dist/bin.d.ts.map +1 -1
  9. package/dist/bin.js +404 -20
  10. package/dist/bin.js.map +1 -1
  11. package/dist/breaker-store.d.ts +25 -1
  12. package/dist/breaker-store.d.ts.map +1 -1
  13. package/dist/breaker-store.js +193 -25
  14. package/dist/breaker-store.js.map +1 -1
  15. package/dist/client-register.d.ts +147 -0
  16. package/dist/client-register.d.ts.map +1 -0
  17. package/dist/client-register.js +380 -0
  18. package/dist/client-register.js.map +1 -0
  19. package/dist/config/validation.d.ts +29 -0
  20. package/dist/config/validation.d.ts.map +1 -1
  21. package/dist/config/validation.js +88 -0
  22. package/dist/config/validation.js.map +1 -1
  23. package/dist/config.d.ts.map +1 -1
  24. package/dist/config.js +55 -2
  25. package/dist/config.js.map +1 -1
  26. package/dist/dispatch-log.d.ts +14 -0
  27. package/dist/dispatch-log.d.ts.map +1 -1
  28. package/dist/dispatch-log.js +3 -0
  29. package/dist/dispatch-log.js.map +1 -1
  30. package/dist/dispatchers/openai-compatible.d.ts +20 -4
  31. package/dist/dispatchers/openai-compatible.d.ts.map +1 -1
  32. package/dist/dispatchers/openai-compatible.js +145 -17
  33. package/dist/dispatchers/openai-compatible.js.map +1 -1
  34. package/dist/http/answer-stream.d.ts +52 -0
  35. package/dist/http/answer-stream.d.ts.map +1 -0
  36. package/dist/http/answer-stream.js +47 -0
  37. package/dist/http/answer-stream.js.map +1 -0
  38. package/dist/http/parse.d.ts.map +1 -1
  39. package/dist/http/parse.js +41 -0
  40. package/dist/http/parse.js.map +1 -1
  41. package/dist/http/server.d.ts.map +1 -1
  42. package/dist/http/server.js +102 -9
  43. package/dist/http/server.js.map +1 -1
  44. package/dist/jobs/store.d.ts.map +1 -1
  45. package/dist/jobs/store.js +45 -4
  46. package/dist/jobs/store.js.map +1 -1
  47. package/dist/jobs.d.ts +24 -0
  48. package/dist/jobs.d.ts.map +1 -1
  49. package/dist/jobs.js +101 -1
  50. package/dist/jobs.js.map +1 -1
  51. package/dist/mcp/config-hot-reload.d.ts.map +1 -1
  52. package/dist/mcp/config-hot-reload.js +10 -0
  53. package/dist/mcp/config-hot-reload.js.map +1 -1
  54. package/dist/mcp/near-miss-guard.d.ts +45 -0
  55. package/dist/mcp/near-miss-guard.d.ts.map +1 -0
  56. package/dist/mcp/near-miss-guard.js +98 -0
  57. package/dist/mcp/near-miss-guard.js.map +1 -0
  58. package/dist/mcp/server.d.ts.map +1 -1
  59. package/dist/mcp/server.js +36 -0
  60. package/dist/mcp/server.js.map +1 -1
  61. package/dist/mcp/tool-schemas.d.ts.map +1 -1
  62. package/dist/mcp/tool-schemas.js +21 -4
  63. package/dist/mcp/tool-schemas.js.map +1 -1
  64. package/dist/mcp/tools.d.ts +22 -0
  65. package/dist/mcp/tools.d.ts.map +1 -1
  66. package/dist/mcp/tools.js +38 -0
  67. package/dist/mcp/tools.js.map +1 -1
  68. package/dist/mcp-clients.d.ts +63 -0
  69. package/dist/mcp-clients.d.ts.map +1 -0
  70. package/dist/mcp-clients.js +117 -0
  71. package/dist/mcp-clients.js.map +1 -0
  72. package/dist/near-miss.d.ts +63 -0
  73. package/dist/near-miss.d.ts.map +1 -0
  74. package/dist/near-miss.js +132 -0
  75. package/dist/near-miss.js.map +1 -0
  76. package/dist/quota.d.ts +31 -1
  77. package/dist/quota.d.ts.map +1 -1
  78. package/dist/quota.js +68 -6
  79. package/dist/quota.js.map +1 -1
  80. package/dist/route-policy.d.ts +10 -0
  81. package/dist/route-policy.d.ts.map +1 -1
  82. package/dist/route-policy.js +20 -2
  83. package/dist/route-policy.js.map +1 -1
  84. package/dist/router.d.ts +61 -2
  85. package/dist/router.d.ts.map +1 -1
  86. package/dist/router.js +156 -29
  87. package/dist/router.js.map +1 -1
  88. package/dist/safety.d.ts.map +1 -1
  89. package/dist/safety.js +31 -1
  90. package/dist/safety.js.map +1 -1
  91. package/dist/status.d.ts +30 -21
  92. package/dist/status.d.ts.map +1 -1
  93. package/dist/status.js +152 -8
  94. package/dist/status.js.map +1 -1
  95. package/dist/types.d.ts +25 -1
  96. package/dist/types.d.ts.map +1 -1
  97. package/dist/working-dir.d.ts.map +1 -1
  98. package/dist/working-dir.js +16 -0
  99. package/dist/working-dir.js.map +1 -1
  100. package/dist/workspace-resolve.d.ts.map +1 -1
  101. package/dist/workspace-resolve.js +119 -15
  102. package/dist/workspace-resolve.js.map +1 -1
  103. package/dist/workspaces.d.ts +83 -0
  104. package/dist/workspaces.d.ts.map +1 -1
  105. package/dist/workspaces.js +288 -15
  106. package/dist/workspaces.js.map +1 -1
  107. package/package.json +1 -1
package/dist/types.d.ts CHANGED
@@ -462,6 +462,16 @@ export interface RouterConfig {
462
462
  * unnoticed forever.
463
463
  */
464
464
  configWarnings?: readonly string[];
465
+ /**
466
+ * Set when a hot reload FAILED and this config is the previously loaded one
467
+ * still in effect — so the file on disk is not the file being routed on.
468
+ *
469
+ * Carried here because it has to reach `status`. The failure was reported on
470
+ * stderr only, which no MCP client and no HTTP caller ever sees, and the
471
+ * comment at the throw site described the bug as "nothing on stderr and
472
+ * nothing in status" while closing only the first half.
473
+ */
474
+ reloadError?: string;
465
475
  }
466
476
  export interface RoutingDecision {
467
477
  service: string;
@@ -535,9 +545,23 @@ export interface RouteHints {
535
545
  /** Per-call dispatch timeout override in milliseconds. See ServiceConfig.timeoutMs. */
536
546
  timeoutMs?: number;
537
547
  }
538
- export type DispatcherEvent = {
548
+ export type DispatcherEvent =
549
+ /**
550
+ * `text: true` means the chunk is the ANSWER, safe to show a user as it
551
+ * arrives. Without it the chunk is raw process output, which for an
552
+ * event-driven harness is protocol JSONL.
553
+ *
554
+ * The distinction exists because the HTTP streaming path forwarded every
555
+ * stdout chunk into `delta.content`, so an OpenAI-compatible client
556
+ * concatenating deltas received Codex protocol frames and internal thread
557
+ * ids instead of the answer — while the non-streaming call on the same
558
+ * endpoint returned the parsed result. Only the dispatcher knows which of
559
+ * the two it is producing.
560
+ */
561
+ {
539
562
  type: "stdout";
540
563
  chunk: string;
564
+ text?: boolean;
541
565
  } | {
542
566
  type: "stderr";
543
567
  chunk: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"working-dir.d.ts","sourceRoot":"","sources":["../src/working-dir.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAUhF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,kBAAkB,CAK/E;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAOlF"}
1
+ {"version":3,"file":"working-dir.d.ts","sourceRoot":"","sources":["../src/working-dir.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CA2BhF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,kBAAkB,CAK/E;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAOlF"}
@@ -7,6 +7,7 @@
7
7
  * callers can surface a visible warning instead of failing quietly.
8
8
  */
9
9
  import { statSync } from "node:fs";
10
+ import path from "node:path";
10
11
  /**
11
12
  * Reject a workingDir that cannot possibly work, at the boundary.
12
13
  *
@@ -22,6 +23,21 @@ import { statSync } from "node:fs";
22
23
  export function validateWorkingDir(input) {
23
24
  if (input === undefined || input === "")
24
25
  return undefined;
26
+ // A relative path is resolved against THIS process's cwd — the server's, not
27
+ // the caller's — which is the silent wrong-directory execution described
28
+ // above, only harder to spot: `../..` exists, so every check passed and the
29
+ // dispatch ran somewhere nobody chose. `defaulted` stays false in that case,
30
+ // so even the warning for an omitted value does not fire. An acceptance pass
31
+ // ran a real dispatch this way.
32
+ //
33
+ // The caller and the server are different processes with different working
34
+ // directories — a caller cannot know what a relative path will mean here, so
35
+ // there is no correct relative value to accept.
36
+ if (!path.isAbsolute(input)) {
37
+ return (`workingDir must be an absolute path, got ${input} — a relative path resolves ` +
38
+ `against the server's own directory, not yours, so it would run somewhere ` +
39
+ `neither of us chose.`);
40
+ }
25
41
  let stats;
26
42
  try {
27
43
  stats = statSync(input);
@@ -1 +1 @@
1
- {"version":3,"file":"working-dir.js","sourceRoot":"","sources":["../src/working-dir.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAOnC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAyB;IAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1D,IAAI,KAA8B,CAAC;IACnC,IAAI,CAAC;QACH,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,8BAA8B,KAAK,EAAE,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;QAAE,OAAO,kCAAkC,KAAK,EAAE,CAAC;IAC3E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACxC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA4B;IAC5D,IAAI,CAAC,QAAQ,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,CACL,yEAAyE;QACzE,IAAI,QAAQ,CAAC,UAAU,yDAAyD;QAChF,+CAA+C,CAChD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"working-dir.js","sourceRoot":"","sources":["../src/working-dir.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAyB;IAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1D,6EAA6E;IAC7E,yEAAyE;IACzE,4EAA4E;IAC5E,6EAA6E;IAC7E,6EAA6E;IAC7E,gCAAgC;IAChC,EAAE;IACF,2EAA2E;IAC3E,6EAA6E;IAC7E,gDAAgD;IAChD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CACL,4CAA4C,KAAK,8BAA8B;YAC/E,2EAA2E;YAC3E,sBAAsB,CACvB,CAAC;IACJ,CAAC;IACD,IAAI,KAA8B,CAAC;IACnC,IAAI,CAAC;QACH,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,8BAA8B,KAAK,EAAE,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;QAAE,OAAO,kCAAkC,KAAK,EAAE,CAAC;IAC3E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACxC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA4B;IAC5D,IAAI,CAAC,QAAQ,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,CACL,yEAAyE;QACzE,IAAI,QAAQ,CAAC,UAAU,yDAAyD;QAChF,+CAA+C,CAChD,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-resolve.d.ts","sourceRoot":"","sources":["../src/workspace-resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK/C,+EAA+E;AAC/E,eAAO,MAAM,eAAe,QAAkB,CAAC;AAE/C,iFAAiF;AACjF,eAAO,MAAM,eAAe,QAAS,CAAC;AA2FtC,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,GAAG,GAAG,IAAI,YAAY,CAE/E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA0F5E;AAkTD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAyC9F;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/B,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;CAC7C;AAED,0EAA0E;AAC1E,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,WAAW,CAAC,CAiBtB;AA6CD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,YAAY,EACjB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,OAAO,CAAC,WAAW,CAAC,CA8MtB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,YAAY,EACjB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,OAAO,CAAC,aAAa,CAAC,CA6DxB;AAED,0DAA0D;AAC1D,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAM7E"}
1
+ {"version":3,"file":"workspace-resolve.d.ts","sourceRoot":"","sources":["../src/workspace-resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK/C,+EAA+E;AAC/E,eAAO,MAAM,eAAe,QAAkB,CAAC;AAE/C,iFAAiF;AACjF,eAAO,MAAM,eAAe,QAAS,CAAC;AAoHtC,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,GAAG,GAAG,IAAI,YAAY,CAE/E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA0F5E;AAuUD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAyC9F;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/B,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;CAC7C;AAED,0EAA0E;AAC1E,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,WAAW,CAAC,CAiBtB;AA+DD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,YAAY,EACjB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,OAAO,CAAC,WAAW,CAAC,CAsPtB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,YAAY,EACjB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,OAAO,CAAC,aAAa,CAAC,CA6DxB;AAED,0DAA0D;AAC1D,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAM7E"}
@@ -22,19 +22,42 @@ 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 } from "./workspaces.js";
25
+ import { eolDigest, EXCLUDED_DIRS, 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;
29
29
  /** How much of a patch is returned inline before it is truncated for display. */
30
30
  export const MAX_PATCH_CHARS = 60_000;
31
+ /**
32
+ * ENOENT from spawning git means git is not on PATH, and saying so is the
33
+ * whole remedy. It surfaced as raw errno text — `spawn git ENOENT` — from
34
+ * `workspace diff`, `workspace apply` and a `git_worktree` dispatch, in a
35
+ * module that elsewhere goes to some trouble to explain a long-path failure.
36
+ */
37
+ function describeGitSpawnFailure(err) {
38
+ const code = err?.code;
39
+ if (code !== "ENOENT")
40
+ return undefined;
41
+ return new Error("git is required for isolated workspaces but was not found on PATH. Install git, or " +
42
+ "use workspace_policy: shared / shared_locked, which need no git. `doctor` reports " +
43
+ "whether git was found.");
44
+ }
31
45
  async function git(args, cwd) {
32
- const { stdout } = await execFile("git", args, {
33
- cwd,
34
- windowsHide: true,
35
- maxBuffer: MAX_PATCH_BYTES,
36
- });
37
- return String(stdout);
46
+ try {
47
+ const { stdout } = await execFile("git", args, {
48
+ cwd,
49
+ windowsHide: true,
50
+ env: GIT_ENV,
51
+ maxBuffer: MAX_PATCH_BYTES,
52
+ });
53
+ return String(stdout);
54
+ }
55
+ catch (err) {
56
+ // Rethrown unchanged when it is anything else — gitDiff below reads `code`
57
+ // and `stderr` off the original to tell "differences found" from a real
58
+ // failure, and would lose both.
59
+ throw describeGitSpawnFailure(err) ?? err;
60
+ }
38
61
  }
39
62
  /**
40
63
  * `git diff` exits 1 when there ARE differences; that is success, not failure.
@@ -91,6 +114,7 @@ async function gitBoth(args, cwd) {
91
114
  const { stdout, stderr } = await execFile("git", args, {
92
115
  cwd,
93
116
  windowsHide: true,
117
+ env: GIT_ENV,
94
118
  maxBuffer: MAX_PATCH_BYTES,
95
119
  });
96
120
  return `${String(stdout)}\n${String(stderr)}`;
@@ -352,11 +376,34 @@ async function projectBaseFor(run) {
352
376
  */
353
377
  async function projectMovedSince(run, changed) {
354
378
  const base = await projectBaseFor(run);
379
+ const workspace = isolatedRoot(run);
355
380
  const moved = [];
356
381
  for (const change of changed) {
357
- if (change.baseHash === undefined)
358
- continue; // added: no base to compare
359
382
  const inProject = path.join(base, change.path);
383
+ if (change.baseHash === undefined) {
384
+ // An ADDED file has no baseHash because it did not exist when the
385
+ // dispatch started — and that ABSENCE is its base. Skipping it here
386
+ // meant the whole check was off for exactly the changes that create new
387
+ // files: the user writes and COMMITS their own version of a path the
388
+ // agent also created, and apply overwrites it reporting `applied: true`.
389
+ // Verbatim the failure this function's own comment says it fixed, live
390
+ // for one of the three change kinds. Reproduced by an acceptance pass.
391
+ //
392
+ // Matching content is not a conflict — it is a re-apply, and the empty
393
+ // patch path below cannot catch every one of those.
394
+ if (change.kind !== "added")
395
+ continue;
396
+ const [inProj, inWs] = await Promise.all([
397
+ readFile(inProject).catch(() => null),
398
+ readFile(path.join(workspace, change.path)).catch(() => null),
399
+ ]);
400
+ if (inProj === null)
401
+ continue; // Still absent: the base holds.
402
+ if (inWs !== null && normaliseEol(inProj) === normaliseEol(inWs))
403
+ continue;
404
+ moved.push(`${change.path} (created since dispatch)`);
405
+ continue;
406
+ }
360
407
  const current = await readFile(inProject).catch(() => null);
361
408
  if (current === null) {
362
409
  // Gone from the project. For a deletion that is the outcome we wanted;
@@ -595,14 +642,33 @@ export async function workspaceDiff(jobId, jobDir, run) {
595
642
  async function dirtyPaths(dir) {
596
643
  try {
597
644
  const out = await git(["status", "--porcelain"], dir);
645
+ // Porcelain paths are relative to the REPOSITORY ROOT, not to the
646
+ // directory git ran in. Resolving them against `dir` was right only when
647
+ // the dispatch happened at the repo root: from a subdirectory,
648
+ // `<repo>/ws` resolved as `<repo>/pkg/ws`, matched nothing, and the
649
+ // workspaces directory read as the user's uncommitted work again —
650
+ // refusing every apply on a pristine tree, which is the exact defect the
651
+ // filter below was added to fix, surviving one level over. Only the
652
+ // literal-name check masked it at the default name. An acceptance pass
653
+ // reproduced it from a subdirectory.
654
+ const root = (await repoRoot(dir)) ?? dir;
598
655
  return out
599
656
  .split("\n")
600
657
  .map((l) => l.trim())
601
658
  .filter(Boolean)
602
659
  .filter((line) => {
603
660
  // Porcelain lines are "XY path"; the path may be quoted.
604
- const p = line.slice(2).trim().replace(/^"|"$/g, "").replace(/\\/g, "/");
605
- return !p.split("/").includes(".harness-dispatch");
661
+ const raw = line.slice(2).trim().replace(/^"|"$/g, "");
662
+ const p = raw.replace(/\\/g, "/");
663
+ if (p.split("/").includes(".harness-dispatch"))
664
+ return false;
665
+ // The CONFIGURED workspaces root, not just the legacy hard-coded name.
666
+ // Only the fixed name was filtered, so the documented override —
667
+ // HARNESS_DISPATCH_WORKSPACES_DIR pointed inside the project, which
668
+ // README recommends for reflinks — left its own directory showing as
669
+ // an untracked change and made this refusal fire on every apply, on a
670
+ // pristine tree. An acceptance pass reproduced it end to end.
671
+ return !isUnderOrEqual(path.resolve(root, raw), workspacesBase());
606
672
  });
607
673
  }
608
674
  catch {
@@ -684,6 +750,36 @@ export async function applyWorkspace(jobId, jobDir, run, opts = {}) {
684
750
  };
685
751
  }
686
752
  const target = run.originalWorkingDir;
753
+ // Already applied — asked here, not only on the empty-patch path above.
754
+ //
755
+ // That branch is unreachable for `git_worktree`: its patch is
756
+ // `git diff <baseCommit>` inside the worktree, which does not change when
757
+ // the project changes, so it is never empty. A `copy` patch is rebuilt
758
+ // against the project and does empty out, which is why the bug was invisible
759
+ // there. So a second apply of the same worktree job fell through to the
760
+ // conflict check, which saw the file differ from its recorded base — the
761
+ // difference the FIRST apply had just made — and told the user their own
762
+ // successful apply was someone else's newer work, pointing them at
763
+ // `force: true`. Reproduced by an acceptance pass; `ux-walkthrough.md` Flow 6
764
+ // step 6 says both policies answer "already applied", and only one did.
765
+ //
766
+ // Safe against a real collision: this fires only when the project matches
767
+ // the WORKSPACE for every recorded change, i.e. this job's work is already
768
+ // the current state. Two jobs touching one file still differ from each
769
+ // other's workspace, so they fall through to the conflict check as before.
770
+ if (run.changedFiles !== undefined && run.changedFiles.length > 0) {
771
+ const notLanded = await changesNotInProject(run, run.changedFiles);
772
+ 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
+ };
781
+ }
782
+ }
687
783
  // Has the project moved under this patch? Checked BEFORE the dirty check,
688
784
  // because it catches the case the dirty check cannot: a change that has been
689
785
  // COMMITTED since the dispatch started leaves `git status` clean, and
@@ -700,10 +796,18 @@ export async function applyWorkspace(jobId, jobDir, run, opts = {}) {
700
796
  patchPath: diff.patchPath,
701
797
  message: `Refused: ${moved.length} file(s) this patch touches have changed in ${target} since ` +
702
798
  `the dispatch started (${moved.join(", ")}). The agent worked from the older version, ` +
703
- `so applying would overwrite that newer work rather than merge with it — and unlike a ` +
704
- `worktree patch there is no common commit for git to merge against. Review the patch ` +
705
- `at ${diff.patchPath}, re-run the task against the current tree with retry_job, or ` +
706
- `re-run with force: true to overwrite.`,
799
+ `so applying would overwrite that newer work rather than merge with it. ` +
800
+ // Said only where it is true. This clause read "unlike a worktree
801
+ // patch there is no common commit for git to merge against" on every
802
+ // refusal including the ones handling a worktree patch, which does
803
+ // have one. An acceptance pass caught it describing the opposite of
804
+ // the policy it was refusing.
805
+ (run.policy === "copy"
806
+ ? `A copy patch has no common commit for git to merge against, so there is no ` +
807
+ `three-way merge to fall back on. `
808
+ : "") +
809
+ `Review the patch at ${diff.patchPath}, re-run the task against the current tree ` +
810
+ `with retry_job, or re-run with force: true to overwrite.`,
707
811
  };
708
812
  }
709
813
  }
@@ -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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"}
@@ -11,6 +11,76 @@ export interface PreparedWorkspace {
11
11
  }
12
12
  export declare function workspacePolicyFor(svc: ServiceConfig, safetyProfile: SafetyProfile | undefined, requestedPolicy?: WorkspacePolicy): WorkspacePolicy;
13
13
  export declare function isIsolatedWorkspacePolicy(policy: WorkspacePolicy): boolean;
14
+ /**
15
+ * Exported for tests, which must build run directories with the SAME function
16
+ * that makes real ones rather than by hand.
17
+ *
18
+ * Three separate tests in this repo used a hand-written name the product
19
+ * cannot generate — run directories with four-character suffixes where a real
20
+ * one has eight hex — and each therefore asserted something about an input
21
+ * that never occurs. Two of them passed while the bug they claimed to cover
22
+ * was live. A fixture is only evidence if it is the thing.
23
+ */
24
+ export declare function workspaceRunId(routeName: string): string;
25
+ /**
26
+ * Isolated workspaces live OUTSIDE the project, for both policies.
27
+ *
28
+ * `copy` used to put its workspace at `<project>/.harness-dispatch/workspaces/`
29
+ * — inside the very directory it was isolating from. That one decision
30
+ * produced a defect in every acceptance pass of the 0.6 series, because
31
+ * `git diff --no-index <project> <copy>` then walks into the copy while
32
+ * scanning the project:
33
+ *
34
+ * - a file the agent CREATED appeared on both sides with identical content,
35
+ * so rename detection paired them and emitted nothing at all (0.6.3);
36
+ * - SIBLING workspaces from other jobs, retained for 24h by design, leaked
37
+ * in as deletions — so applying one job's patch emptied another job's
38
+ * workspace, destroying the only copy of a second delegate's work, and
39
+ * then offered to delete the user's own files (0.6.6 acceptance, BLOCK);
40
+ * - the project root had to be stripped out of the patch text, which
41
+ * silently rewrote CONTENT lines that happened to contain that path.
42
+ *
43
+ * Each was fixed with a filter, and each filter turned out to have a gap. The
44
+ * copy being nested is the shared cause, so it is the thing that changes here.
45
+ * git_worktree already lived out of tree — which is exactly why none of the
46
+ * above ever affected it — and both now use one root.
47
+ *
48
+ * The trade is copy-on-write: COPYFILE_FICLONE only reflinks within a
49
+ * filesystem, so a temp dir on another volume falls back to a real copy. That
50
+ * is a bounded, measurable cost; silently losing a delegate's work is not.
51
+ * HARNESS_DISPATCH_WORKSPACES_DIR overrides it for anyone who wants the
52
+ * workspaces on the project's volume.
53
+ */
54
+ /**
55
+ * The directory all per-project workspace roots hang off.
56
+ *
57
+ * Exported because the apply-time dirty check has to know it too: with the
58
+ * override pointed inside the project — which README recommends, to keep the
59
+ * copy on one volume for reflinks — the workspaces directory is itself an
60
+ * untracked change, so `apply` refused on an otherwise pristine tree, every
61
+ * time. The same "feature blocked by its own leftovers" the recursion guard
62
+ * above was written for, one step further along.
63
+ */
64
+ export declare function workspacesBase(): string;
65
+ /** Exported for tests, for the same reason as `workspaceRunId`. */
66
+ export declare function workspaceRootFor(originalWorkingDir: string): string;
67
+ /**
68
+ * Never copy the workspace area into itself.
69
+ *
70
+ * shouldExclude covers ONE hard-coded path, which is fine for the default
71
+ * (workspaces live outside the project) and catastrophic for the override that
72
+ * README and the 0.7.0 notes actively recommend: point
73
+ * HARNESS_DISPATCH_WORKSPACES_DIR at a directory inside the project — to keep
74
+ * the copy on the same volume, where a reflink is possible — and the copy
75
+ * walks into the workspace it is currently writing. Measured on a six-file
76
+ * project: 201 levels of nesting and an 11,800-character path before the run
77
+ * was killed, all of it inside the user's project.
78
+ *
79
+ * Compared as resolved absolute paths, so it does not matter how the override
80
+ * was spelled, and it covers the whole workspaces root rather than this run's
81
+ * directory alone — a sibling run's workspace is no more copyable than our own.
82
+ */
83
+ export declare function isUnderOrEqual(candidate: string, root: string): boolean;
14
84
  /**
15
85
  * The digest WorkspaceFileChange.baseHash carries. Exported so the apply-time
16
86
  * divergence check computes it exactly the same way — two spellings of "same
@@ -32,6 +102,19 @@ export declare function eolDigest(data: Buffer): string;
32
102
  * rather than silently honoured or silently dropped.
33
103
  */
34
104
  export declare function escapedFiles(files: string[], originalWorkingDir: string): string[];
105
+ /**
106
+ * Decline git's OPTIONAL locks.
107
+ *
108
+ * git runs background maintenance, which creates and removes
109
+ * `.git/objects/maintenance.lock` underneath whatever else is reading the
110
+ * repository. A CI leg failed with `stat '.../maintenance.lock': No such file
111
+ * or directory` from an ordinary diff — the lock vanished mid-command. We only
112
+ * ever ask git to read, or to apply a patch we already hold, so declining
113
+ * optional locks costs nothing and removes a race we do not control.
114
+ */
115
+ export declare const GIT_ENV: {
116
+ GIT_OPTIONAL_LOCKS: string;
117
+ };
35
118
  export declare function prepareWorkspace(opts: {
36
119
  routeName: string;
37
120
  policy: WorkspacePolicy;
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../src/workspaces.ts"],"names":[],"mappings":"AAiBA,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;AAyUD;;;;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;AAsLD,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":"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"}