poly-weaver 0.8.0 → 0.8.1

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 (77) hide show
  1. package/dist/agents/implementors/handler.d.ts.map +1 -1
  2. package/dist/agents/implementors/handler.js +2 -1
  3. package/dist/agents/implementors/handler.js.map +1 -1
  4. package/dist/agents/planners/handler.d.ts.map +1 -1
  5. package/dist/agents/planners/handler.js +2 -1
  6. package/dist/agents/planners/handler.js.map +1 -1
  7. package/dist/agents/reviewers/handler.d.ts.map +1 -1
  8. package/dist/agents/reviewers/handler.js +2 -1
  9. package/dist/agents/reviewers/handler.js.map +1 -1
  10. package/dist/agents/runner.d.ts +25 -0
  11. package/dist/agents/runner.d.ts.map +1 -1
  12. package/dist/agents/runner.js +63 -1
  13. package/dist/agents/runner.js.map +1 -1
  14. package/dist/agents/simplifiers/handler.d.ts.map +1 -1
  15. package/dist/agents/simplifiers/handler.js +2 -1
  16. package/dist/agents/simplifiers/handler.js.map +1 -1
  17. package/dist/ansi.d.ts +14 -0
  18. package/dist/ansi.d.ts.map +1 -1
  19. package/dist/ansi.js +15 -0
  20. package/dist/ansi.js.map +1 -1
  21. package/dist/dump/collector.d.ts.map +1 -1
  22. package/dist/dump/collector.js +11 -0
  23. package/dist/dump/collector.js.map +1 -1
  24. package/dist/dump/pty-tail-buffer.d.ts +25 -0
  25. package/dist/dump/pty-tail-buffer.d.ts.map +1 -0
  26. package/dist/dump/pty-tail-buffer.js +48 -0
  27. package/dist/dump/pty-tail-buffer.js.map +1 -0
  28. package/dist/dump/service.d.ts.map +1 -1
  29. package/dist/dump/service.js +2 -0
  30. package/dist/dump/service.js.map +1 -1
  31. package/dist/dump/types.d.ts +8 -0
  32. package/dist/dump/types.d.ts.map +1 -1
  33. package/dist/dump/types.js.map +1 -1
  34. package/dist/flow/executor.d.ts.map +1 -1
  35. package/dist/flow/executor.js +8 -1
  36. package/dist/flow/executor.js.map +1 -1
  37. package/dist/flow/types.d.ts +4 -0
  38. package/dist/flow/types.d.ts.map +1 -1
  39. package/dist/flow/types.js.map +1 -1
  40. package/dist/providers/base-completion.d.ts +18 -0
  41. package/dist/providers/base-completion.d.ts.map +1 -1
  42. package/dist/providers/base-completion.js +29 -0
  43. package/dist/providers/base-completion.js.map +1 -1
  44. package/dist/providers/claude/completion-plan-mode.d.ts +9 -1
  45. package/dist/providers/claude/completion-plan-mode.d.ts.map +1 -1
  46. package/dist/providers/claude/completion-plan-mode.js +53 -2
  47. package/dist/providers/claude/completion-plan-mode.js.map +1 -1
  48. package/dist/providers/claude/plan-mode-pty-monitor.d.ts +51 -0
  49. package/dist/providers/claude/plan-mode-pty-monitor.d.ts.map +1 -0
  50. package/dist/providers/claude/plan-mode-pty-monitor.js +97 -0
  51. package/dist/providers/claude/plan-mode-pty-monitor.js.map +1 -0
  52. package/dist/providers/claude/strategy.d.ts.map +1 -1
  53. package/dist/providers/claude/strategy.js +6 -1
  54. package/dist/providers/claude/strategy.js.map +1 -1
  55. package/dist/providers/codex/plan-mode-activator.d.ts +23 -0
  56. package/dist/providers/codex/plan-mode-activator.d.ts.map +1 -0
  57. package/dist/providers/codex/plan-mode-activator.js +207 -0
  58. package/dist/providers/codex/plan-mode-activator.js.map +1 -0
  59. package/dist/providers/codex/session.d.ts +1 -0
  60. package/dist/providers/codex/session.d.ts.map +1 -1
  61. package/dist/providers/codex/session.js +35 -18
  62. package/dist/providers/codex/session.js.map +1 -1
  63. package/dist/providers/codex/strategy.d.ts +2 -1
  64. package/dist/providers/codex/strategy.d.ts.map +1 -1
  65. package/dist/providers/codex/strategy.js +17 -13
  66. package/dist/providers/codex/strategy.js.map +1 -1
  67. package/dist/providers/copilot/session.d.ts.map +1 -1
  68. package/dist/providers/copilot/session.js +11 -20
  69. package/dist/providers/copilot/session.js.map +1 -1
  70. package/dist/providers/types.d.ts +76 -0
  71. package/dist/providers/types.d.ts.map +1 -1
  72. package/dist/providers/types.js.map +1 -1
  73. package/dist/session/locator.d.ts +15 -0
  74. package/dist/session/locator.d.ts.map +1 -1
  75. package/dist/session/locator.js +46 -27
  76. package/dist/session/locator.js.map +1 -1
  77. package/package.json +1 -1
@@ -0,0 +1,48 @@
1
+ import { STRIP_ALL_ANSI_RE } from "../ansi.js";
2
+ const DEFAULT_CAPACITY_BYTES = 256 * 1024;
3
+ /**
4
+ * Byte-faithful ring buffer that retains the latest N bytes of PTY output.
5
+ *
6
+ * node-pty delivers `string` (UTF-8 decoded) chunks; this buffer re-encodes
7
+ * each chunk as UTF-8 bytes so the stored tail is byte-identical to the
8
+ * underlying PTY stream. Capacity is enforced in bytes — mid-codepoint
9
+ * splits at the head are tolerated and surface as U+FFFD when the tail is
10
+ * decoded for the .txt artifact.
11
+ */
12
+ export class PtyTailBuffer {
13
+ capacityBytes;
14
+ chunks = [];
15
+ byteSize = 0;
16
+ constructor(capacityBytes = DEFAULT_CAPACITY_BYTES) {
17
+ this.capacityBytes = capacityBytes;
18
+ }
19
+ append(chunk) {
20
+ if (chunk.length === 0)
21
+ return;
22
+ const buf = Buffer.from(chunk, "utf-8");
23
+ this.chunks.push(buf);
24
+ this.byteSize += buf.length;
25
+ this.trim();
26
+ }
27
+ trim() {
28
+ while (this.byteSize > this.capacityBytes && this.chunks.length > 0) {
29
+ const head = this.chunks[0];
30
+ if (this.byteSize - head.length >= this.capacityBytes) {
31
+ this.chunks.shift();
32
+ this.byteSize -= head.length;
33
+ }
34
+ else {
35
+ const dropBytes = this.byteSize - this.capacityBytes;
36
+ this.chunks[0] = head.subarray(dropBytes);
37
+ this.byteSize -= dropBytes;
38
+ break;
39
+ }
40
+ }
41
+ }
42
+ snapshot() {
43
+ const raw = Buffer.concat(this.chunks, this.byteSize);
44
+ const stripped = raw.toString("utf-8").replace(STRIP_ALL_ANSI_RE, "");
45
+ return { raw, stripped };
46
+ }
47
+ }
48
+ //# sourceMappingURL=pty-tail-buffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pty-tail-buffer.js","sourceRoot":"","sources":["../../src/dump/pty-tail-buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAS/C,MAAM,sBAAsB,GAAG,GAAG,GAAG,IAAI,CAAC;AAE1C;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAa;IAIK;IAHrB,MAAM,GAAa,EAAE,CAAC;IACtB,QAAQ,GAAG,CAAC,CAAC;IAErB,YAA6B,gBAAgB,sBAAsB;QAAtC,kBAAa,GAAb,aAAa,CAAyB;IAAG,CAAC;IAEvE,MAAM,CAAC,KAAa;QAClB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,IAAI;QACV,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC;gBAC3B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ;QACN,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACtE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/dump/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAA4C,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7G,qBAAa,WAAW;IAapB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAb7B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,WAAW,CAA8B;IAEjD,OAAO,CAAC,MAAM,CAAC,WAAW,CAAQ;gBAGf,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,SAAS,YAAA;IAGxC;;;OAGG;IACH,IAAI,CACF,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,WAAW,EAChB,WAAW,CAAC,EAAE,eAAe,GAC5B,IAAI;IAQP,QAAQ,CAAC,eAAe,GAAI,QAAQ,UAAU,KAAG,IAAI,CAEnD;IAEF,uEAAuE;IACvE,OAAO,CAAC,eAAe;IAKjB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA6C/B"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/dump/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAA4C,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7G,qBAAa,WAAW;IAapB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAb7B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,WAAW,CAA8B;IAEjD,OAAO,CAAC,MAAM,CAAC,WAAW,CAAQ;gBAGf,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,SAAS,YAAA;IAGxC;;;OAGG;IACH,IAAI,CACF,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,WAAW,EAChB,WAAW,CAAC,EAAE,eAAe,GAC5B,IAAI;IAQP,QAAQ,CAAC,eAAe,GAAI,QAAQ,UAAU,KAAG,IAAI,CAEnD;IAEF,uEAAuE;IACvE,OAAO,CAAC,eAAe;IAKjB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA+C/B"}
@@ -49,6 +49,7 @@ export class DumpService {
49
49
  // Append in-flight step if one is currently executing
50
50
  const inflight = this.ctx.inFlightStep;
51
51
  if (inflight) {
52
+ const ptyTailSnapshot = inflight.ptyTailBuffer?.snapshot();
52
53
  steps.push({
53
54
  seq: inflight.seq,
54
55
  stepId: inflight.stepId,
@@ -59,6 +60,7 @@ export class DumpService {
59
60
  outputs: this.snapshotOutputs(inflight.writes),
60
61
  sessionFilePaths: this.ctx.lastStepSessionFilePaths ?? [],
61
62
  inFlight: true,
63
+ ...(ptyTailSnapshot && { ptyTailSnapshot }),
62
64
  });
63
65
  }
64
66
  const result = await collectDump({
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/dump/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/dump/service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAgE,MAAM,YAAY,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,OAAO,WAAW;IAaH;IACA;IAbX,KAAK,GAAiB,EAAE,CAAC;IACzB,IAAI,GAAG,KAAK,CAAC;IACb,eAAe,GAAG,CAAC,CAAC;IACpB,GAAG,CAA0B;IAC7B,OAAO,GAAG,EAAE,CAAC;IACb,QAAQ,GAAG,EAAE,CAAC;IACd,UAAU,GAA4B,EAAE,CAAC;IACzC,WAAW,CAA8B;IAEzC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;IAElC,YACmB,OAAe,EACf,SAAqB;QADrB,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAY;IACrC,CAAC;IAEJ;;;OAGG;IACH,IAAI,CACF,QAAgB,EAChB,UAAmC,EACnC,OAAe,EACf,GAAgB,EAChB,WAA6B;QAE7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEQ,eAAe,GAAG,CAAC,MAAkB,EAAQ,EAAE;QACtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,uEAAuE;IAC/D,eAAe,CAAC,MAA8B;QACpD,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACzB,OAAO,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,WAAW;YAAE,OAAO;QAC9E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,GAAG;gBAAE,OAAO;YAEtB,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAE9B,sDAAsD;YACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;YACvC,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC;oBACT,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC9C,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE;oBACzD,QAAQ,EAAE,IAAI;oBACd,GAAG,CAAC,eAAe,IAAI,EAAE,eAAe,EAAE,CAAC;iBAC5C,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;gBAC/B,KAAK;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,iBAAiB,EAAE,IAAI,CAAC,OAAO;gBAC/B,SAAS,EAAE;oBACT,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe;oBACzC,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;iBAC5D;gBACD,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;aAC3D,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACpF,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { ArtifactStore } from "../flow/types.js";
2
+ import type { PtyTailSnapshot } from "./pty-tail-buffer.js";
2
3
  export interface ArtifactSnapshot {
3
4
  artifactName: string;
4
5
  file?: string;
@@ -16,6 +17,8 @@ export interface StepRecord {
16
17
  outputs: Record<string, ArtifactSnapshot>;
17
18
  sessionFilePaths: string[];
18
19
  inFlight?: boolean;
20
+ /** Byte-faithful snapshot of the latest PTY output for this step's run. */
21
+ ptyTailSnapshot?: PtyTailSnapshot;
19
22
  }
20
23
  export interface DumpStepEntry {
21
24
  seq: number;
@@ -27,6 +30,11 @@ export interface DumpStepEntry {
27
30
  outputs: Record<string, string>;
28
31
  sessions: string[];
29
32
  inFlight?: boolean;
33
+ /** Relative paths under the step dir for the PTY tail artifacts. */
34
+ pty?: {
35
+ raw: string;
36
+ stripped: string;
37
+ };
30
38
  }
31
39
  export interface ResumedFromInfo {
32
40
  sessionId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dump/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,SAAS,EAAE,aAAa,GACvB,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAclC;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC1C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACxD,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAC/E,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dump/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,SAAS,EAAE,aAAa,GACvB,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAclC;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC1C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,GAAG,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACxD,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAC/E,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dump/types.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,iBAAiB,CAC/B,OAA+B,EAC/B,SAAwB;IAExB,MAAM,MAAM,GAAqC,EAAE,CAAC;IACpD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,GAAG;gBACd,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;aAClF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dump/types.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,iBAAiB,CAC/B,OAA+B,EAC/B,SAAwB;IAExB,MAAM,MAAM,GAAqC,EAAE,CAAC;IACpD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,GAAG;gBACd,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;aAClF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/flow/executor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAKL,KAAK,cAAc,EAGnB,KAAK,WAAW,EAGhB,KAAK,cAAc,EAEpB,MAAM,YAAY,CAAC;AAQpB,qBAAa,YAAY;IAKrB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS,CAAC;IANpB,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,OAAO,CAAK;gBAGV,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,SAAS,YAAA;IAGzB,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAIhC,YAAY;YAsBZ,WAAW;YA6HX,WAAW;YAeX,eAAe;IAqD7B;;;OAGG;YACW,mBAAmB;IAoDjC,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,uBAAuB;CAQhC"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/flow/executor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAKL,KAAK,cAAc,EAGnB,KAAK,WAAW,EAGhB,KAAK,cAAc,EAEpB,MAAM,YAAY,CAAC;AASpB,qBAAa,YAAY;IAKrB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS,CAAC;IANpB,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,OAAO,CAAK;gBAGV,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,SAAS,YAAA;IAGzB,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAIhC,YAAY;YAsBZ,WAAW;YAqIX,WAAW;YAeX,eAAe;IAqD7B;;;OAGG;YACW,mBAAmB;IAoDjC,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,uBAAuB;CAQhC"}
@@ -94,6 +94,7 @@ export class FlowExecutor {
94
94
  };
95
95
  }
96
96
  let signal;
97
+ let ptyTailSnapshot;
97
98
  try {
98
99
  signal = await handler.execute(step, ctx, (name, fn) => runPhaseWithRetries(name, fn, 3, ctx.output));
99
100
  }
@@ -112,8 +113,13 @@ export class FlowExecutor {
112
113
  throw err;
113
114
  }
114
115
  finally {
115
- if (dumpActive)
116
+ if (dumpActive) {
117
+ // Snapshot the PTY tail buffer *before* clearing inFlightStep so the
118
+ // completed StepRecord below carries the same byte-faithful tail
119
+ // that the in-flight dump-trigger path would have captured.
120
+ ptyTailSnapshot = ctx.inFlightStep?.ptyTailBuffer?.snapshot();
116
121
  ctx.inFlightStep = undefined;
122
+ }
117
123
  }
118
124
  ctx.previousStepRole = step.role;
119
125
  // Producer metadata must be stamped BEFORE onStepCompleted fires, so the
@@ -146,6 +152,7 @@ export class FlowExecutor {
146
152
  inputs: inputSnapshots,
147
153
  outputs: outputSnapshots,
148
154
  sessionFilePaths: ctx.lastStepSessionFilePaths ?? [],
155
+ ...(ptyTailSnapshot && { ptyTailSnapshot }),
149
156
  };
150
157
  await ctx.onStepCompleted(record);
151
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/flow/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/flow/executor.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { StatusBar } from "../status-bar.js";
2
2
  import type { ArtifactSnapshot, StepRecord } from "../dump/types.js";
3
3
  import type { OrchestrationOutput } from "../terminal/output.js";
4
4
  import type { SessionStepEntry } from "../session/manifest.js";
5
+ import type { PtyTailBuffer } from "../dump/pty-tail-buffer.js";
5
6
  /**
6
7
  * Well-known artifact name for the user's task description.
7
8
  * Seeded by the orchestrator before any flow step runs;
@@ -49,6 +50,9 @@ export interface InFlightStep {
49
50
  phaseLabel: string;
50
51
  inputs: Record<string, ArtifactSnapshot>;
51
52
  writes: Record<string, string>;
53
+ /** PTY tail buffer for the in-flight driver run; populated by
54
+ * `bindPtyBufferReporter` once the runner creates the buffer. */
55
+ ptyTailBuffer?: PtyTailBuffer;
52
56
  }
53
57
  export interface StepContext {
54
58
  /** Root of the session temp directory. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/flow/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/flow/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/flow/types.ts"],"names":[],"mappings":"AAKA,2EAA2E;AAE3E;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,MAAe,CAAC;AA2IpC;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/flow/types.ts"],"names":[],"mappings":"AAMA,2EAA2E;AAE3E;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,MAAe,CAAC;AA8IpC;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACnE,CAAC"}
@@ -65,6 +65,24 @@ export declare abstract class AbstractCompletionDetector implements CompletionDe
65
65
  * the task is done (e.g., Codex, Copilot).
66
66
  */
67
67
  protected shouldSuppressPtyTimerReset(): boolean;
68
+ /**
69
+ * Return true when a secondary completion signal has corroborated readiness
70
+ * (e.g. PTY-rendered dialog + JSONL artifact agree). Resolves immediately
71
+ * — no quiet-debounce wait, no stale-fallback wait. Default: false.
72
+ *
73
+ * Order in the no-growth branch: primary > secondary > stale.
74
+ *
75
+ * MUST be a pure predicate — no side effects. Use
76
+ * `onSecondarySignalResolved()` for observability hooks that should fire
77
+ * exactly once when the secondary arm actually wins.
78
+ */
79
+ protected isSecondarySignalReady(): boolean;
80
+ /**
81
+ * Invoked exactly once when the secondary-signal arm resolves the run,
82
+ * immediately before `dispose()` and `resolve()`. Default: no-op.
83
+ * Subclasses override to emit observability logs.
84
+ */
85
+ protected onSecondarySignalResolved(): void;
68
86
  /**
69
87
  * Return true when relaxed completion conditions are met, enabling the
70
88
  * staleness fallback. The fallback resolves when the session file has not
@@ -1 +1 @@
1
- {"version":3,"file":"base-completion.d.ts","sourceRoot":"","sources":["../../src/providers/base-completion.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;GAkBG;AACH,8BAAsB,0BAA2B,YAAW,kBAAkB;IAwB1E,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAzBlC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,UAAU,CAAK;IAEvB,SAAS,CAAC,YAAY,SAAK;IAC3B,4EAA4E;IAC5E,SAAS,CAAC,kBAAkB,SAAK;IACjC,SAAS,CAAC,eAAe,EAAE,WAAW,EAAE,CAAM;IAC9C;;;;;;;OAOG;IACH,SAAS,CAAC,UAAU,EAAE,WAAW,EAAE,CAAM;gBAGtB,MAAM,SAAM,EACZ,OAAO,SAAM,EACb,eAAe,SAAW;IAG7C,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB3D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B,OAAO,IAAI,IAAI;IAUf,qEAAqE;IACrE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI;IAE3D,2EAA2E;IAC3E,SAAS,CAAC,QAAQ,CAAC,oBAAoB,IAAI,OAAO;IAElD,iEAAiE;IACjE,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM;IAEhE;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO;IAI5D;;;;OAIG;IACH,SAAS,CAAC,2BAA2B,IAAI,OAAO;IAIhD;;;;;;;;OAQG;IACH,SAAS,CAAC,oBAAoB,IAAI,OAAO;YAM3B,IAAI;CAmDnB"}
1
+ {"version":3,"file":"base-completion.d.ts","sourceRoot":"","sources":["../../src/providers/base-completion.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;GAkBG;AACH,8BAAsB,0BAA2B,YAAW,kBAAkB;IAwB1E,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAzBlC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,UAAU,CAAK;IAEvB,SAAS,CAAC,YAAY,SAAK;IAC3B,4EAA4E;IAC5E,SAAS,CAAC,kBAAkB,SAAK;IACjC,SAAS,CAAC,eAAe,EAAE,WAAW,EAAE,CAAM;IAC9C;;;;;;;OAOG;IACH,SAAS,CAAC,UAAU,EAAE,WAAW,EAAE,CAAM;gBAGtB,MAAM,SAAM,EACZ,OAAO,SAAM,EACb,eAAe,SAAW;IAG7C,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB3D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B,OAAO,IAAI,IAAI;IAUf,qEAAqE;IACrE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI;IAE3D,2EAA2E;IAC3E,SAAS,CAAC,QAAQ,CAAC,oBAAoB,IAAI,OAAO;IAElD,iEAAiE;IACjE,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM;IAEhE;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO;IAI5D;;;;OAIG;IACH,SAAS,CAAC,2BAA2B,IAAI,OAAO;IAIhD;;;;;;;;;;OAUG;IACH,SAAS,CAAC,sBAAsB,IAAI,OAAO;IAI3C;;;;OAIG;IACH,SAAS,CAAC,yBAAyB,IAAI,IAAI;IAE3C;;;;;;;;OAQG;IACH,SAAS,CAAC,oBAAoB,IAAI,OAAO;YAM3B,IAAI;CA4DnB"}
@@ -89,6 +89,26 @@ export class AbstractCompletionDetector {
89
89
  shouldSuppressPtyTimerReset() {
90
90
  return false;
91
91
  }
92
+ /**
93
+ * Return true when a secondary completion signal has corroborated readiness
94
+ * (e.g. PTY-rendered dialog + JSONL artifact agree). Resolves immediately
95
+ * — no quiet-debounce wait, no stale-fallback wait. Default: false.
96
+ *
97
+ * Order in the no-growth branch: primary > secondary > stale.
98
+ *
99
+ * MUST be a pure predicate — no side effects. Use
100
+ * `onSecondarySignalResolved()` for observability hooks that should fire
101
+ * exactly once when the secondary arm actually wins.
102
+ */
103
+ isSecondarySignalReady() {
104
+ return false;
105
+ }
106
+ /**
107
+ * Invoked exactly once when the secondary-signal arm resolves the run,
108
+ * immediately before `dispose()` and `resolve()`. Default: no-op.
109
+ * Subclasses override to emit observability logs.
110
+ */
111
+ onSecondarySignalResolved() { }
92
112
  /**
93
113
  * Return true when relaxed completion conditions are met, enabling the
94
114
  * staleness fallback. The fallback resolves when the session file has not
@@ -115,6 +135,15 @@ export class AbstractCompletionDetector {
115
135
  this.dispose();
116
136
  this.resolve?.(text);
117
137
  }
138
+ // Secondary signal: corroborating evidence outside the JSONL (e.g.,
139
+ // PTY-rendered dialog + matching JSONL artifact) resolves immediately,
140
+ // without waiting for the quiet debounce or the stale-fallback timer.
141
+ else if (this.isSecondarySignalReady()) {
142
+ const text = this.extractResponse(this.lastParsedLines);
143
+ this.onSecondarySignalResolved();
144
+ this.dispose();
145
+ this.resolve?.(text);
146
+ }
118
147
  // Staleness fallback: resolve when the primary signal can't fire (e.g.,
119
148
  // missing end_turn JSONL entry) but relaxed conditions are met and the
120
149
  // session file has been quiet for staleFallbackMs.
@@ -1 +1 @@
1
- {"version":3,"file":"base-completion.js","sourceRoot":"","sources":["../../src/providers/base-completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-completion.js","sourceRoot":"","sources":["../../src/providers/base-completion.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { SessionLine } from "../../session/reader.js";
2
2
  import { AbstractCompletionDetector } from "../base-completion.js";
3
+ import type { ClaudePlanModePtyMonitor } from "./plan-mode-pty-monitor.js";
3
4
  /**
4
5
  * Native Claude plan-mode completion detection.
5
6
  *
@@ -9,6 +10,7 @@ import { AbstractCompletionDetector } from "../base-completion.js";
9
10
  */
10
11
  export declare class ClaudePlanModeDetector extends AbstractCompletionDetector {
11
12
  private readonly exitToolName;
13
+ private readonly ptyMonitor?;
12
14
  private pendingToolUses;
13
15
  private pendingNonAsyncToolUses;
14
16
  private exitToolCalled;
@@ -17,12 +19,18 @@ export declare class ClaudePlanModeDetector extends AbstractCompletionDetector {
17
19
  private sawResolvedAskUserQuestionPrefetch;
18
20
  private lastRelevantToolResultIdx;
19
21
  private lastResolvedPlanFileWriteResultIdx;
22
+ private lastResolvedPlanFileWritePath;
20
23
  private lastToolResultIdx;
21
24
  private lastAssistantLineIdx;
22
- constructor(pollMs?: number, quietMs?: number, exitToolName?: string, staleFallbackMs?: number);
25
+ constructor(pollMs?: number, quietMs?: number, exitToolName?: string, staleFallbackMs?: number, ptyMonitor?: ClaudePlanModePtyMonitor | undefined);
26
+ onPtyData(data: string): void;
27
+ dispose(): void;
23
28
  protected analyzeLines(currentLines: SessionLine[]): void;
24
29
  protected isPrimarySignalFired(): boolean;
25
30
  protected shouldShortCircuit(_lines: SessionLine[]): boolean;
31
+ protected isSecondarySignalReady(): boolean;
32
+ protected onSecondarySignalResolved(): void;
33
+ private resolvedPlanFileBasename;
26
34
  protected isStaleFallbackReady(): boolean;
27
35
  protected shouldSuppressPtyTimerReset(): boolean;
28
36
  protected extractResponse(lines: SessionLine[]): string;
@@ -1 +1 @@
1
- {"version":3,"file":"completion-plan-mode.d.ts","sourceRoot":"","sources":["../../../src/providers/claude/completion-plan-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAOnE;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,0BAA0B;IAelE,OAAO,CAAC,QAAQ,CAAC,YAAY;IAd/B,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,uBAAuB,CAAqB;IACpD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,+BAA+B,CAAS;IAChD,OAAO,CAAC,kCAAkC,CAAS;IACnD,OAAO,CAAC,yBAAyB,CAAM;IACvC,OAAO,CAAC,kCAAkC,CAAM;IAChD,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,oBAAoB,CAAM;gBAGhC,MAAM,SAAM,EACZ,OAAO,SAAM,EACI,YAAY,SAAiB,EAC9C,eAAe,SAAS;IAK1B,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAiEzD,SAAS,CAAC,oBAAoB,IAAI,OAAO;cAItB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO;cAIlD,oBAAoB,IAAI,OAAO;cAoB/B,2BAA2B,IAAI,OAAO;IAOzD,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM;CAGxD"}
1
+ {"version":3,"file":"completion-plan-mode.d.ts","sourceRoot":"","sources":["../../../src/providers/claude/completion-plan-mode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAKnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAG3E;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,0BAA0B;IAgBlE,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAjB9B,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,uBAAuB,CAAqB;IACpD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,+BAA+B,CAAS;IAChD,OAAO,CAAC,kCAAkC,CAAS;IACnD,OAAO,CAAC,yBAAyB,CAAM;IACvC,OAAO,CAAC,kCAAkC,CAAM;IAChD,OAAO,CAAC,6BAA6B,CAAqB;IAC1D,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,oBAAoB,CAAM;gBAGhC,MAAM,SAAM,EACZ,OAAO,SAAM,EACI,YAAY,SAAiB,EAC9C,eAAe,SAAU,EACR,UAAU,CAAC,EAAE,wBAAwB,YAAA;IAK/C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK7B,OAAO,IAAI,IAAI;IAKxB,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAkEzD,SAAS,CAAC,oBAAoB,IAAI,OAAO;cAItB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO;cAIlD,sBAAsB,IAAI,OAAO;cA4BjC,yBAAyB,IAAI,IAAI;IAOpD,OAAO,CAAC,wBAAwB;cAMb,oBAAoB,IAAI,OAAO;cAoB/B,2BAA2B,IAAI,OAAO;IAQzD,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM;CAGxD"}
@@ -1,3 +1,4 @@
1
+ import { posix as posixPath } from "node:path";
1
2
  import { AbstractCompletionDetector } from "../base-completion.js";
2
3
  import { CLAUDE_PLAN_FILE_PATH_REGEX, extractClaudeResponse, } from "./session.js";
3
4
  import { trackPendingToolUses } from "./tool-tracking.js";
@@ -10,6 +11,7 @@ import { trackPendingToolUses } from "./tool-tracking.js";
10
11
  */
11
12
  export class ClaudePlanModeDetector extends AbstractCompletionDetector {
12
13
  exitToolName;
14
+ ptyMonitor;
13
15
  pendingToolUses = new Set();
14
16
  pendingNonAsyncToolUses = new Set();
15
17
  exitToolCalled = false;
@@ -18,11 +20,21 @@ export class ClaudePlanModeDetector extends AbstractCompletionDetector {
18
20
  sawResolvedAskUserQuestionPrefetch = false;
19
21
  lastRelevantToolResultIdx = -1;
20
22
  lastResolvedPlanFileWriteResultIdx = -1;
23
+ lastResolvedPlanFileWritePath;
21
24
  lastToolResultIdx = -1;
22
25
  lastAssistantLineIdx = -1;
23
- constructor(pollMs = 200, quietMs = 500, exitToolName = "ExitPlanMode", staleFallbackMs = 30_000) {
26
+ constructor(pollMs = 200, quietMs = 500, exitToolName = "ExitPlanMode", staleFallbackMs = 180_000, ptyMonitor) {
24
27
  super(pollMs, quietMs, staleFallbackMs);
25
28
  this.exitToolName = exitToolName;
29
+ this.ptyMonitor = ptyMonitor;
30
+ }
31
+ onPtyData(data) {
32
+ super.onPtyData(data);
33
+ this.ptyMonitor?.feed(data);
34
+ }
35
+ dispose() {
36
+ this.ptyMonitor?.dispose();
37
+ super.dispose();
26
38
  }
27
39
  analyzeLines(currentLines) {
28
40
  const tracking = trackPendingToolUses(currentLines, {
@@ -38,6 +50,7 @@ export class ClaudePlanModeDetector extends AbstractCompletionDetector {
38
50
  tracking.sawResolvedToolSearchAskUserQuestionPrefetch;
39
51
  this.lastRelevantToolResultIdx = -1;
40
52
  this.lastResolvedPlanFileWriteResultIdx = -1;
53
+ this.lastResolvedPlanFileWritePath = undefined;
41
54
  this.lastToolResultIdx = tracking.lastToolResultIdx;
42
55
  this.lastAssistantLineIdx = tracking.lastAssistantLineIdx;
43
56
  for (const info of tracking.perToolUseInfo.values()) {
@@ -57,7 +70,10 @@ export class ClaudePlanModeDetector extends AbstractCompletionDetector {
57
70
  CLAUDE_PLAN_FILE_PATH_REGEX.test(info.filePath);
58
71
  if (isPlanFileWrite) {
59
72
  this.sawResolvedPlanFileWrite = true;
60
- this.lastResolvedPlanFileWriteResultIdx = Math.max(this.lastResolvedPlanFileWriteResultIdx, info.resolvedResultIdx);
73
+ if (info.resolvedResultIdx >= this.lastResolvedPlanFileWriteResultIdx) {
74
+ this.lastResolvedPlanFileWriteResultIdx = info.resolvedResultIdx;
75
+ this.lastResolvedPlanFileWritePath = info.filePath;
76
+ }
61
77
  }
62
78
  }
63
79
  if (this.priorLines.length > 0) {
@@ -75,6 +91,40 @@ export class ClaudePlanModeDetector extends AbstractCompletionDetector {
75
91
  shouldShortCircuit(_lines) {
76
92
  return this.exitToolCalled && this.pendingNonAsyncToolUses.size === 0;
77
93
  }
94
+ isSecondarySignalReady() {
95
+ if (!this.ptyMonitor)
96
+ return false;
97
+ const jsonlBase = this.resolvedPlanFileBasename();
98
+ if (!jsonlBase)
99
+ return false;
100
+ const match = this.ptyMonitor.scanCurrent();
101
+ if (!match)
102
+ return false;
103
+ // Basename equality AND-gate — load-bearing false-positive guard.
104
+ // `lastResolvedPlanFileWritePath` is derived strictly from `lastParsedLines`
105
+ // (current turn), so a prior-turn screen replay with a different plan
106
+ // filename cannot match a current-turn JSONL artifact.
107
+ if (jsonlBase !== match.footerBasename)
108
+ return false;
109
+ // Ordering invariant — identical to `isStaleFallbackReady`'s guard.
110
+ // The latest plan-file write must be ≥ latest non-ToolSearch /
111
+ // non-plan-self-read tool result, so a stale earlier-in-turn write
112
+ // followed by other tool work cannot fire this arm.
113
+ if (this.lastRelevantToolResultIdx >= 0 &&
114
+ this.lastResolvedPlanFileWriteResultIdx < this.lastRelevantToolResultIdx) {
115
+ return false;
116
+ }
117
+ return true;
118
+ }
119
+ onSecondarySignalResolved() {
120
+ const basename = this.resolvedPlanFileBasename() ?? "<unknown>";
121
+ console.error(`[poly-weaver] Claude plan-mode secondary signal fired (basename=${basename})`);
122
+ }
123
+ resolvedPlanFileBasename() {
124
+ return this.lastResolvedPlanFileWritePath
125
+ ? posixPath.basename(this.lastResolvedPlanFileWritePath.replace(/\\/g, "/"))
126
+ : undefined;
127
+ }
78
128
  isStaleFallbackReady() {
79
129
  if (this.pendingToolUses.size > 0)
80
130
  return false;
@@ -94,6 +144,7 @@ export class ClaudePlanModeDetector extends AbstractCompletionDetector {
94
144
  }
95
145
  shouldSuppressPtyTimerReset() {
96
146
  return ((this.exitToolCalled && this.pendingNonAsyncToolUses.size === 0) ||
147
+ this.isSecondarySignalReady() ||
97
148
  this.isStaleFallbackReady());
98
149
  }
99
150
  extractResponse(lines) {
@@ -1 +1 @@
1
- {"version":3,"file":"completion-plan-mode.js","sourceRoot":"","sources":["../../../src/providers/claude/completion-plan-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion-plan-mode.js","sourceRoot":"","sources":["../../../src/providers/claude/completion-plan-mode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Header line that Claude renders above the plan-preview dialog (full line
3
+ * collapsed by VT row-join — whitespace tolerated). Stable since 2.1.74.
4
+ */
5
+ export declare const HEADER_V1: RegExp;
6
+ /**
7
+ * Footer line — the dialog's right-hand "ctrl-g to edit in <editor> · path"
8
+ * affordance. The basename capture group `([^\\/\s]+?\.md)` returns just
9
+ * the trailing plan-file segment (works on both Windows backslash and POSIX
10
+ * forward-slash paths the FOOTER may render).
11
+ */
12
+ export declare const FOOTER_V1: RegExp;
13
+ export interface PlanModePtyPattern {
14
+ header: RegExp;
15
+ footer: RegExp;
16
+ }
17
+ /**
18
+ * Resolve the highest-precedence pattern entry whose `minVersion` is
19
+ * satisfied by `version`. Returns `null` when `version` is undefined or
20
+ * predates every entry — callers degrade gracefully to JSONL-only
21
+ * completion detection.
22
+ */
23
+ export declare function getPlanModePtyPattern(version: string | undefined): PlanModePtyPattern | null;
24
+ export interface PlanModePtyMatch {
25
+ /** Basename of the plan file captured by FOOTER's `([^\\/\s]+?\.md)` group. */
26
+ footerBasename: string;
27
+ }
28
+ /**
29
+ * VT-backed pattern detector that watches the Claude plan-preview dialog.
30
+ *
31
+ * The monitor captures every post-spawn byte into a headless `VirtualTerminal`
32
+ * (no latching, no activation gate) and is queried on demand from the
33
+ * detector's poll loop. The "current turn" boundary lives on the JSONL side
34
+ * (via the detector's basename equality + ordering guards), not on the PTY
35
+ * side, so prior-turn screen replays from a resumed session cannot falsely
36
+ * resolve the current turn unless the current turn's JSONL independently
37
+ * agrees.
38
+ */
39
+ export declare class ClaudePlanModePtyMonitor {
40
+ private readonly patterns;
41
+ private readonly vt;
42
+ private disposed;
43
+ private feedSeq;
44
+ private lastScanSeq;
45
+ private lastScanResult;
46
+ constructor(patterns: PlanModePtyPattern);
47
+ feed(data: string): void;
48
+ scanCurrent(): PlanModePtyMatch | null;
49
+ dispose(): void;
50
+ }
51
+ //# sourceMappingURL=plan-mode-pty-monitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-mode-pty-monitor.d.ts","sourceRoot":"","sources":["../../../src/providers/claude/plan-mode-pty-monitor.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,SAAS,QAC8F,CAAC;AAErH;;;;;GAKG;AACH,eAAO,MAAM,SAAS,QACoE,CAAC;AAY3F,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,kBAAkB,GAAG,IAAI,CAS3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAC;CACxB;AAKD;;;;;;;;;;GAUG;AACH,qBAAa,wBAAwB;IAUvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IATrC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAyC;IAC5D,OAAO,CAAC,QAAQ,CAAS;IAIzB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,cAAc,CAAiC;gBAE1B,QAAQ,EAAE,kBAAkB;IAEzD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMxB,WAAW,IAAI,gBAAgB,GAAG,IAAI;IAoBtC,OAAO,IAAI,IAAI;CAKhB"}