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.
- package/dist/agents/implementors/handler.d.ts.map +1 -1
- package/dist/agents/implementors/handler.js +2 -1
- package/dist/agents/implementors/handler.js.map +1 -1
- package/dist/agents/planners/handler.d.ts.map +1 -1
- package/dist/agents/planners/handler.js +2 -1
- package/dist/agents/planners/handler.js.map +1 -1
- package/dist/agents/reviewers/handler.d.ts.map +1 -1
- package/dist/agents/reviewers/handler.js +2 -1
- package/dist/agents/reviewers/handler.js.map +1 -1
- package/dist/agents/runner.d.ts +25 -0
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +63 -1
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/simplifiers/handler.d.ts.map +1 -1
- package/dist/agents/simplifiers/handler.js +2 -1
- package/dist/agents/simplifiers/handler.js.map +1 -1
- package/dist/ansi.d.ts +14 -0
- package/dist/ansi.d.ts.map +1 -1
- package/dist/ansi.js +15 -0
- package/dist/ansi.js.map +1 -1
- package/dist/dump/collector.d.ts.map +1 -1
- package/dist/dump/collector.js +11 -0
- package/dist/dump/collector.js.map +1 -1
- package/dist/dump/pty-tail-buffer.d.ts +25 -0
- package/dist/dump/pty-tail-buffer.d.ts.map +1 -0
- package/dist/dump/pty-tail-buffer.js +48 -0
- package/dist/dump/pty-tail-buffer.js.map +1 -0
- package/dist/dump/service.d.ts.map +1 -1
- package/dist/dump/service.js +2 -0
- package/dist/dump/service.js.map +1 -1
- package/dist/dump/types.d.ts +8 -0
- package/dist/dump/types.d.ts.map +1 -1
- package/dist/dump/types.js.map +1 -1
- package/dist/flow/executor.d.ts.map +1 -1
- package/dist/flow/executor.js +8 -1
- package/dist/flow/executor.js.map +1 -1
- package/dist/flow/types.d.ts +4 -0
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/flow/types.js.map +1 -1
- package/dist/providers/base-completion.d.ts +18 -0
- package/dist/providers/base-completion.d.ts.map +1 -1
- package/dist/providers/base-completion.js +29 -0
- package/dist/providers/base-completion.js.map +1 -1
- package/dist/providers/claude/completion-plan-mode.d.ts +9 -1
- package/dist/providers/claude/completion-plan-mode.d.ts.map +1 -1
- package/dist/providers/claude/completion-plan-mode.js +53 -2
- package/dist/providers/claude/completion-plan-mode.js.map +1 -1
- package/dist/providers/claude/plan-mode-pty-monitor.d.ts +51 -0
- package/dist/providers/claude/plan-mode-pty-monitor.d.ts.map +1 -0
- package/dist/providers/claude/plan-mode-pty-monitor.js +97 -0
- package/dist/providers/claude/plan-mode-pty-monitor.js.map +1 -0
- package/dist/providers/claude/strategy.d.ts.map +1 -1
- package/dist/providers/claude/strategy.js +6 -1
- package/dist/providers/claude/strategy.js.map +1 -1
- package/dist/providers/codex/plan-mode-activator.d.ts +23 -0
- package/dist/providers/codex/plan-mode-activator.d.ts.map +1 -0
- package/dist/providers/codex/plan-mode-activator.js +207 -0
- package/dist/providers/codex/plan-mode-activator.js.map +1 -0
- package/dist/providers/codex/session.d.ts +1 -0
- package/dist/providers/codex/session.d.ts.map +1 -1
- package/dist/providers/codex/session.js +35 -18
- package/dist/providers/codex/session.js.map +1 -1
- package/dist/providers/codex/strategy.d.ts +2 -1
- package/dist/providers/codex/strategy.d.ts.map +1 -1
- package/dist/providers/codex/strategy.js +17 -13
- package/dist/providers/codex/strategy.js.map +1 -1
- package/dist/providers/copilot/session.d.ts.map +1 -1
- package/dist/providers/copilot/session.js +11 -20
- package/dist/providers/copilot/session.js.map +1 -1
- package/dist/providers/types.d.ts +76 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/session/locator.d.ts +15 -0
- package/dist/session/locator.d.ts.map +1 -1
- package/dist/session/locator.js +46 -27
- package/dist/session/locator.js.map +1 -1
- 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;
|
|
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"}
|
package/dist/dump/service.js
CHANGED
|
@@ -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({
|
package/dist/dump/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,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;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/dump/service.ts"],"names":[],"mappings":"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"}
|
package/dist/dump/types.d.ts
CHANGED
|
@@ -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;
|
package/dist/dump/types.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/dump/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dump/types.ts"],"names":[],"mappings":"
|
|
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;
|
|
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"}
|
package/dist/flow/executor.js
CHANGED
|
@@ -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":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,IAAI,EACJ,UAAU,GAWX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAA0C,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/flow/executor.ts"],"names":[],"mappings":"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"}
|
package/dist/flow/types.d.ts
CHANGED
|
@@ -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. */
|
package/dist/flow/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/flow/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/flow/types.ts"],"names":[],"mappings":"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"}
|
package/dist/flow/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/flow/types.ts"],"names":[],"mappings":"
|
|
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;
|
|
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":"
|
|
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 =
|
|
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
|
-
|
|
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":"
|
|
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"}
|