poly-weaver 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -103,7 +103,7 @@ Each agent is a real CLI process (Claude Code, Codex, or GitHub Copilot) running
103
103
 
104
104
  - Node.js 18+
105
105
  - A C++ toolchain for [node-pty](https://github.com/nicktomlin/node-pty):
106
- - **Windows** — Visual Studio Build Tools
106
+ - **Windows** — Visual Studio Build Tools; also Windows Terminal 1.22+ if you run poly-weaver inside Windows Terminal (older builds crash the hosting tab — see [Troubleshooting](#troubleshooting))
107
107
  - **macOS** — Xcode Command Line Tools
108
108
  - **Linux** — `build-essential`
109
109
  - At least one supported AI CLI installed and authenticated:
@@ -194,6 +194,24 @@ poly-weaver create-flow # LLM-assisted custom flow creation
194
194
  poly-weaver modify-flow # Modify an existing custom flow
195
195
  ```
196
196
 
197
+ ## Troubleshooting
198
+
199
+ ### Windows Terminal tab closes when an agent starts (Windows)
200
+
201
+ **Symptom** — the terminal tab hosting `poly-weaver` closes entirely (no stack trace) as soon as the first agent (`claude`, `codex`, …) is launched.
202
+
203
+ **Cause** — Windows Terminal 1.18 ships an `OpenConsole.exe` with a crash at `OpenConsole.exe+0x19efe` on certain PTY sequences. Event Viewer → **Application** logs show `OpenConsole.exe 1.18.2401.30001` faulting with `0xc0000005`, immediately followed by the shell process dying.
204
+
205
+ **Fix** — upgrade Windows Terminal to 1.22 or later:
206
+
207
+ ```
208
+ winget upgrade Microsoft.WindowsTerminal
209
+ ```
210
+
211
+ Fully close all Windows Terminal windows before relaunching; the old `OpenConsole.exe` stays resident until every WT window exits.
212
+
213
+ Poly-weaver 0.4.0 already isolates spawned agents from the OS's ConPTY via node-pty's bundled `useConptyDll`, but the *host* tab still runs Windows Terminal's own OpenConsole, so upgrading WT is required.
214
+
197
215
  ## Architecture
198
216
 
199
217
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAQjE,OAAO,EAAyC,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOjD,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,eAAe,EAGrB,MAAM,iBAAiB,CAAC;AAEzB,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,QAAQ,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,iEAAiE;IACjE,cAAc,CAAC,EAAE;QACf,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,aAAa,CAAC;KACzB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CActE;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EACpC,WAAW,SAAI,GACd,OAAO,CAAC,CAAC,CAAC,CAoBZ;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7D;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB5E;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpE;AAcD,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAmCzF;AAID,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,eAAe,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,YAAY,EACnB,eAAe,CAAC,EAAE,MAAM,IAAI,GAC3B,iBAAiB,CAEnB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,kBAAkB,CAAC,CA+G7B"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAQjE,OAAO,EAAyC,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOjD,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,eAAe,EAGrB,MAAM,iBAAiB,CAAC;AAEzB,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,QAAQ,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,iEAAiE;IACjE,cAAc,CAAC,EAAE;QACf,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,aAAa,CAAC;KACzB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CActE;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EACpC,WAAW,SAAI,GACd,OAAO,CAAC,CAAC,CAAC,CAoBZ;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7D;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB5E;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpE;AAcD,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAmCzF;AAID,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,eAAe,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,YAAY,EACnB,eAAe,CAAC,EAAE,MAAM,IAAI,GAC3B,iBAAiB,CAEnB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,kBAAkB,CAAC,CA6H7B"}
@@ -6,6 +6,7 @@ import { readFile, writeFile, unlink } from "node:fs/promises";
6
6
  import { join } from "node:path";
7
7
  import { AutoUserPrompt, InteractiveUserPrompt } from "./user/prompt.js";
8
8
  import { computeFeatureGates } from "./providers/registry.js";
9
+ import { computePreflightNeeds, ensureProviderVersions } from "./preflight.js";
9
10
  import { UserRoleHandler } from "./user/handler.js";
10
11
  import { dim, reset, cyan } from "./ansi.js";
11
12
  import { MapArtifactStore } from "./flow/artifacts.js";
@@ -134,6 +135,19 @@ export function createUserPromptHandler(auto, gates, onDumpRequested) {
134
135
  * drivers dynamically; structure params shape the flow via build().
135
136
  */
136
137
  export async function orchestrateWithTemplate(opts) {
138
+ // Detect provider CLI versions before computing feature gates. Idempotent
139
+ // when cli.ts already ran preflight; required when programmatic callers
140
+ // (tests, embedders) skip preflight, since `nativePlanFile` and the
141
+ // plan-mode prompt prefix are version-gated on Claude.
142
+ await ensureProviderVersions(computePreflightNeeds({
143
+ planner: String(opts.paramValues.planner),
144
+ reviewer: String(opts.paramValues.reviewer),
145
+ implementor: String(opts.paramValues.implementor),
146
+ simplifier: opts.paramValues.simplifier
147
+ ? String(opts.paramValues.simplifier)
148
+ : undefined,
149
+ planOnly: !!opts.paramValues.planOnly,
150
+ }));
137
151
  const gates = computeFeatureGates(String(opts.paramValues.planner));
138
152
  const onDumpRequested = opts.dumpService
139
153
  ? () => { void opts.dumpService.trigger(); }
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -27,4 +27,15 @@ export declare function runPreflight(opts: {
27
27
  needCodex: boolean;
28
28
  needCopilot: boolean;
29
29
  }): Promise<PreflightResult>;
30
+ /**
31
+ * Ensure all needed provider strategies have their `version` populated.
32
+ *
33
+ * Idempotent: skips strategies whose `version` is already set, and reports
34
+ * no errors for missing CLIs. The orchestrator calls this on entry so that
35
+ * `computeFeatureGates`/`PlanModeConfig` reflect the installed CLI even
36
+ * when the caller bypasses `cli.ts` (tests, embedders). Strict
37
+ * "CLI must be installed" enforcement remains in `runPreflight` —
38
+ * that's still owned by `cli.ts`.
39
+ */
40
+ export declare function ensureProviderVersions(needs: PreflightNeeds): Promise<void>;
30
41
  //# sourceMappingURL=preflight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,cAAc,CAkBjB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB,GAAG,OAAO,CAAC,eAAe,CAAC,CAoE3B"}
1
+ {"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,cAAc,CAkBjB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB,GAAG,OAAO,CAAC,eAAe,CAAC,CAoE3B;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAUjF"}
package/dist/preflight.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { exec, execFile } from "node:child_process";
2
2
  import { promisify } from "node:util";
3
3
  import { parseVersion } from "./providers/version.js";
4
+ import { builtinStrategies, setProviderVersions } from "./providers/registry.js";
4
5
  const execAsync = promisify(exec);
5
6
  const execFileAsync = promisify(execFile);
6
7
  /**
@@ -78,6 +79,28 @@ export async function runPreflight(opts) {
78
79
  versions,
79
80
  };
80
81
  }
82
+ /**
83
+ * Ensure all needed provider strategies have their `version` populated.
84
+ *
85
+ * Idempotent: skips strategies whose `version` is already set, and reports
86
+ * no errors for missing CLIs. The orchestrator calls this on entry so that
87
+ * `computeFeatureGates`/`PlanModeConfig` reflect the installed CLI even
88
+ * when the caller bypasses `cli.ts` (tests, embedders). Strict
89
+ * "CLI must be installed" enforcement remains in `runPreflight` —
90
+ * that's still owned by `cli.ts`.
91
+ */
92
+ export async function ensureProviderVersions(needs) {
93
+ const strategies = builtinStrategies();
94
+ const missing = {
95
+ needClaude: needs.needClaude && !strategies.get("claude")?.version,
96
+ needCodex: needs.needCodex && !strategies.get("codex")?.version,
97
+ needCopilot: needs.needCopilot && !strategies.get("copilot")?.version,
98
+ };
99
+ if (!missing.needClaude && !missing.needCodex && !missing.needCopilot)
100
+ return;
101
+ const { versions } = await runPreflight(missing);
102
+ setProviderVersions(versions);
103
+ }
81
104
  /**
82
105
  * Run `<command> --version`, capture stdout, and parse the version string.
83
106
  * Returns the parsed version string, undefined if CLI ran but version couldn't
@@ -1 +1 @@
1
- {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,30 @@ import { AbstractCompletionDetector } from "../base-completion.js";
11
11
  * the primary signal fires.
12
12
  *
13
13
  * Both signals must agree before the turn is considered complete.
14
+ *
15
+ * **Async-launched tools**: When a tool is launched asynchronously
16
+ * (`Agent` with or without `subagent_type`, `Bash` with
17
+ * `run_in_background: true`, `Monitor`, etc.), the immediate `tool_result`
18
+ * is a launch acknowledgement carrying outer field
19
+ * `toolUseResult.isAsync === true` — *not* a real result. We deliberately
20
+ * do not remove the `tool_use_id` from `pendingToolUses` for these acks.
21
+ * The real resolution arrives later as a `type: "user"` line whose
22
+ * string `message.content` begins with `<task-notification>` and embeds
23
+ * the original `<tool-use-id>`. That message clears the pending set and
24
+ * bumps `lastToolActivityIdx`, forcing the detector to wait for a fresh
25
+ * assistant turn (narrative text or `ExitPlanMode`) before firing.
26
+ *
27
+ * **Plan-exit prefetch fallback (Claude Code ≥ 2.1.74 deferred-tools era)**:
28
+ * Since 2.1.114, `ExitPlanMode` ships as a deferred tool — Claude must call
29
+ * `ToolSearch({query:"select:ExitPlanMode"})` to load its schema before it can
30
+ * call `ExitPlanMode`. Sometimes the PTY stalls after the ToolSearch returns
31
+ * and the real `ExitPlanMode` call never lands. When we observe the full
32
+ * pre-exit pattern (plan-file `Write`/`Edit` resolved **and** the
33
+ * `ExitPlanMode` ToolSearch resolved), we arm a narrow staleness fallback via
34
+ * `isStaleFallbackReady`: the plan artifact is already on disk, so resolving
35
+ * off it is safe. The arm is deliberately narrow to avoid the
36
+ * extended-thinking false-positives that forced removal of the broad
37
+ * staleness fallback (commit `9ccbd83`).
14
38
  */
15
39
  export declare class ClaudeCompletionStrategy extends AbstractCompletionDetector {
16
40
  private readonly exitToolName?;
@@ -18,10 +42,12 @@ export declare class ClaudeCompletionStrategy extends AbstractCompletionDetector
18
42
  private hasTextOutput;
19
43
  private primaryFired;
20
44
  private exitToolCalled;
21
- constructor(pollMs?: number, quietMs?: number, exitToolName?: string | undefined);
45
+ private planExitPrefetchComplete;
46
+ constructor(pollMs?: number, quietMs?: number, exitToolName?: string | undefined, staleFallbackMs?: number);
22
47
  protected analyzeLines(currentLines: SessionLine[]): void;
23
48
  protected isPrimarySignalFired(): boolean;
24
49
  protected shouldShortCircuit(_lines: SessionLine[]): boolean;
50
+ protected isStaleFallbackReady(): boolean;
25
51
  protected shouldSuppressPtyTimerReset(): boolean;
26
52
  protected extractResponse(lines: SessionLine[]): string;
27
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../src/providers/claude/completion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,qBAAa,wBAAyB,SAAQ,0BAA0B;IAUpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IARhC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAS;gBAG7B,MAAM,SAAM,EACZ,OAAO,SAAM,EACI,YAAY,CAAC,EAAE,MAAM,YAAA;IAKxC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAsFzD,SAAS,CAAC,oBAAoB,IAAI,OAAO;cAItB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO;cAIlD,2BAA2B,IAAI,OAAO;IAIzD,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM;CAGxD"}
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../src/providers/claude/completion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAcnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,wBAAyB,SAAQ,0BAA0B;IAWpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAThC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,wBAAwB,CAAS;gBAGvC,MAAM,SAAM,EACZ,OAAO,SAAM,EACI,YAAY,CAAC,EAAE,MAAM,YAAA,EACtC,eAAe,SAAW;IAK5B,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAkMzD,SAAS,CAAC,oBAAoB,IAAI,OAAO;cAItB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO;cAIlD,oBAAoB,IAAI,OAAO;cAI/B,2BAA2B,IAAI,OAAO;IAQzD,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM;CAGxD"}
@@ -1,5 +1,15 @@
1
- import { extractClaudeResponse } from "./session.js";
1
+ import { CLAUDE_PLAN_FILE_PATH_REGEX, extractClaudeResponse } from "./session.js";
2
2
  import { AbstractCompletionDetector } from "../base-completion.js";
3
+ /**
4
+ * Resolution signal for any Claude Code tool launched asynchronously
5
+ * (Agent fork/subagent, Bash with run_in_background, Monitor, etc.).
6
+ * The launch-ack `tool_result` for these arrives with
7
+ * `toolUseResult.isAsync === true` and is intentionally not treated as
8
+ * resolution; the actual completion lands later as a `type: "user"` line
9
+ * whose string `content` matches this regex. Capture group 1 is the
10
+ * original `tool_use_id`.
11
+ */
12
+ const TASK_NOTIFICATION_REGEX = /^<task-notification>[\s\S]*?<tool-use-id>([^<]+)<\/tool-use-id>/;
3
13
  /**
4
14
  * Claude completion detection using the two-signal rule:
5
15
  *
@@ -11,6 +21,30 @@ import { AbstractCompletionDetector } from "../base-completion.js";
11
21
  * the primary signal fires.
12
22
  *
13
23
  * Both signals must agree before the turn is considered complete.
24
+ *
25
+ * **Async-launched tools**: When a tool is launched asynchronously
26
+ * (`Agent` with or without `subagent_type`, `Bash` with
27
+ * `run_in_background: true`, `Monitor`, etc.), the immediate `tool_result`
28
+ * is a launch acknowledgement carrying outer field
29
+ * `toolUseResult.isAsync === true` — *not* a real result. We deliberately
30
+ * do not remove the `tool_use_id` from `pendingToolUses` for these acks.
31
+ * The real resolution arrives later as a `type: "user"` line whose
32
+ * string `message.content` begins with `<task-notification>` and embeds
33
+ * the original `<tool-use-id>`. That message clears the pending set and
34
+ * bumps `lastToolActivityIdx`, forcing the detector to wait for a fresh
35
+ * assistant turn (narrative text or `ExitPlanMode`) before firing.
36
+ *
37
+ * **Plan-exit prefetch fallback (Claude Code ≥ 2.1.74 deferred-tools era)**:
38
+ * Since 2.1.114, `ExitPlanMode` ships as a deferred tool — Claude must call
39
+ * `ToolSearch({query:"select:ExitPlanMode"})` to load its schema before it can
40
+ * call `ExitPlanMode`. Sometimes the PTY stalls after the ToolSearch returns
41
+ * and the real `ExitPlanMode` call never lands. When we observe the full
42
+ * pre-exit pattern (plan-file `Write`/`Edit` resolved **and** the
43
+ * `ExitPlanMode` ToolSearch resolved), we arm a narrow staleness fallback via
44
+ * `isStaleFallbackReady`: the plan artifact is already on disk, so resolving
45
+ * off it is safe. The arm is deliberately narrow to avoid the
46
+ * extended-thinking false-positives that forced removal of the broad
47
+ * staleness fallback (commit `9ccbd83`).
14
48
  */
15
49
  export class ClaudeCompletionStrategy extends AbstractCompletionDetector {
16
50
  exitToolName;
@@ -19,14 +53,16 @@ export class ClaudeCompletionStrategy extends AbstractCompletionDetector {
19
53
  hasTextOutput = false;
20
54
  primaryFired = false;
21
55
  exitToolCalled = false;
22
- constructor(pollMs = 500, quietMs = 500, exitToolName) {
23
- super(pollMs, quietMs);
56
+ planExitPrefetchComplete = false;
57
+ constructor(pollMs = 500, quietMs = 500, exitToolName, staleFallbackMs = Infinity) {
58
+ super(pollMs, quietMs, staleFallbackMs);
24
59
  this.exitToolName = exitToolName;
25
60
  }
26
61
  analyzeLines(currentLines) {
27
62
  this.pendingToolUses.clear();
28
63
  this.hasTextOutput = false;
29
64
  this.exitToolCalled = false;
65
+ this.planExitPrefetchComplete = false;
30
66
  let hasAnyToolUse = false;
31
67
  let lastToolActivityIdx = -1;
32
68
  let lastAssistantTextIdx = -1;
@@ -35,6 +71,19 @@ export class ClaudeCompletionStrategy extends AbstractCompletionDetector {
35
71
  // Claude Code's JSONL writer can append tool_result before the
36
72
  // corresponding tool_use when parallel tool calls are dispatched.
37
73
  const resolvedIds = new Set();
74
+ // Track per-message-id whether stop_reason was "tool_use" and whether a
75
+ // tool_use block has actually been observed for that id. Claude Code's
76
+ // session writer splits multi-block messages across separate JSONL
77
+ // lines (one per content block) and the gap between a text block and
78
+ // the corresponding tool_use block can exceed the quiet-debounce
79
+ // window — observed at 12 s in dump 2026-04-30T09-40-25-745Z.
80
+ const stopReasonToolUseMessages = new Set();
81
+ const messagesWithToolUseBlock = new Set();
82
+ // Track the tool_use IDs that participate in the deferred-ExitPlanMode
83
+ // dance, so we can flip `planExitPrefetchComplete` once both have their
84
+ // matching tool_result.
85
+ const planFileWriteIds = new Set();
86
+ const exitPlanModePrefetchIds = new Set();
38
87
  for (let idx = 0; idx < currentLines.length; idx++) {
39
88
  const line = currentLines[idx];
40
89
  if (line.type === "assistant") {
@@ -42,8 +91,14 @@ export class ClaudeCompletionStrategy extends AbstractCompletionDetector {
42
91
  if (!message?.content)
43
92
  continue;
44
93
  lastAssistantStopReason = message.stop_reason;
94
+ const messageId = message.id;
95
+ if (messageId && message.stop_reason === "tool_use") {
96
+ stopReasonToolUseMessages.add(messageId);
97
+ }
45
98
  for (const block of message.content) {
46
99
  if (block.type === "tool_use" && block.id) {
100
+ if (messageId)
101
+ messagesWithToolUseBlock.add(messageId);
47
102
  // If this is the plan-exit tool, mark it and skip tracking
48
103
  if (this.exitToolName && block.name === this.exitToolName) {
49
104
  this.exitToolCalled = true;
@@ -52,6 +107,18 @@ export class ClaudeCompletionStrategy extends AbstractCompletionDetector {
52
107
  this.pendingToolUses.add(block.id);
53
108
  hasAnyToolUse = true;
54
109
  lastToolActivityIdx = idx;
110
+ // Plan-file Write/Edit — artifact-on-disk half of the dance.
111
+ if ((block.name === "Write" || block.name === "Edit") &&
112
+ typeof block.input?.file_path === "string" &&
113
+ CLAUDE_PLAN_FILE_PATH_REGEX.test(block.input.file_path)) {
114
+ planFileWriteIds.add(block.id);
115
+ }
116
+ // ToolSearch pre-loading the ExitPlanMode schema — the other half.
117
+ if (block.name === "ToolSearch" &&
118
+ typeof block.input?.query === "string" &&
119
+ block.input.query.includes("ExitPlanMode")) {
120
+ exitPlanModePrefetchIds.add(block.id);
121
+ }
55
122
  }
56
123
  if (block.type === "text" && block.text) {
57
124
  this.hasTextOutput = true;
@@ -60,12 +127,33 @@ export class ClaudeCompletionStrategy extends AbstractCompletionDetector {
60
127
  }
61
128
  }
62
129
  else if (line.type === "user") {
63
- // Tool results resolve pending tool uses
64
130
  const message = line.message;
65
131
  if (!message?.content)
66
132
  continue;
133
+ // String content is rare in tool-result lines but is exactly how
134
+ // Claude Code delivers async-tool completion notifications.
135
+ if (typeof message.content === "string") {
136
+ const m = TASK_NOTIFICATION_REGEX.exec(message.content);
137
+ if (m) {
138
+ const id = m[1];
139
+ this.pendingToolUses.delete(id);
140
+ resolvedIds.add(id);
141
+ lastToolActivityIdx = idx;
142
+ }
143
+ continue;
144
+ }
145
+ // Async-launch ack: the outer line carries
146
+ // `toolUseResult.isAsync === true`. Treat as activity but do not
147
+ // resolve — the matching `<task-notification>` will arrive later.
148
+ const tur = line
149
+ .toolUseResult;
150
+ const isAsyncLaunch = !!tur && tur.isAsync === true;
67
151
  for (const block of message.content) {
68
152
  if (block.type === "tool_result" && block.tool_use_id) {
153
+ if (isAsyncLaunch) {
154
+ lastToolActivityIdx = idx;
155
+ continue;
156
+ }
69
157
  this.pendingToolUses.delete(block.tool_use_id);
70
158
  resolvedIds.add(block.tool_use_id);
71
159
  lastToolActivityIdx = idx;
@@ -77,12 +165,49 @@ export class ClaudeCompletionStrategy extends AbstractCompletionDetector {
77
165
  // appeared earlier in the file (before the tool_use line).
78
166
  for (const id of resolvedIds)
79
167
  this.pendingToolUses.delete(id);
80
- // Guard: stop_reason === null (strict) means the API response is still
81
- // streaming content blocks. Suppress primary to avoid false completion
82
- // during the gap between intermediate JSONL lines of the same response.
168
+ // Prefetch is "complete" when both halves of the dance have their
169
+ // matching tool_result order-independent, so this works whether the
170
+ // ToolSearch came before or after the plan-file Write.
171
+ let sawResolvedPlanFileWrite = false;
172
+ for (const id of planFileWriteIds) {
173
+ if (resolvedIds.has(id)) {
174
+ sawResolvedPlanFileWrite = true;
175
+ break;
176
+ }
177
+ }
178
+ let sawResolvedExitPlanModePrefetch = false;
179
+ for (const id of exitPlanModePrefetchIds) {
180
+ if (resolvedIds.has(id)) {
181
+ sawResolvedExitPlanModePrefetch = true;
182
+ break;
183
+ }
184
+ }
185
+ this.planExitPrefetchComplete =
186
+ sawResolvedPlanFileWrite && sawResolvedExitPlanModePrefetch;
187
+ // A message whose stop_reason is "tool_use" is guaranteed to contain at
188
+ // least one tool_use block. If we have not yet observed any tool_use
189
+ // block from such a message, the message is still being written to
190
+ // JSONL and the response is not done.
191
+ let awaitingPromisedToolUse = false;
192
+ for (const id of stopReasonToolUseMessages) {
193
+ if (!messagesWithToolUseBlock.has(id)) {
194
+ awaitingPromisedToolUse = true;
195
+ break;
196
+ }
197
+ }
198
+ // Guard: suppress the primary signal while the response is provably
199
+ // not done.
200
+ // - stop_reason === null → API response still streaming blocks.
201
+ // - stop_reason === "stop_sequence" → synthetic resume responses.
202
+ // - awaitingPromisedToolUse → a message with stop_reason "tool_use"
203
+ // has emitted text but its tool_use block has not yet been written
204
+ // to JSONL (Claude Code splits multi-block messages across lines and
205
+ // the gap can exceed the quiet-debounce window — observed at 12 s
206
+ // in dump 2026-04-30T09-40-25-745Z).
83
207
  // undefined (missing field, e.g. in test data) falls through.
84
208
  const responseIncomplete = lastAssistantStopReason === null ||
85
- lastAssistantStopReason === "stop_sequence";
209
+ lastAssistantStopReason === "stop_sequence" ||
210
+ awaitingPromisedToolUse;
86
211
  // Primary signal:
87
212
  // - the last assistant response is not mid-stream
88
213
  // - no pending tool uses
@@ -102,8 +227,13 @@ export class ClaudeCompletionStrategy extends AbstractCompletionDetector {
102
227
  shouldShortCircuit(_lines) {
103
228
  return this.exitToolCalled && this.pendingToolUses.size === 0;
104
229
  }
230
+ isStaleFallbackReady() {
231
+ return this.planExitPrefetchComplete && this.pendingToolUses.size === 0;
232
+ }
105
233
  shouldSuppressPtyTimerReset() {
106
- return this.primaryFired || (this.exitToolCalled && this.pendingToolUses.size === 0);
234
+ return (this.primaryFired ||
235
+ (this.exitToolCalled && this.pendingToolUses.size === 0) ||
236
+ (this.planExitPrefetchComplete && this.pendingToolUses.size === 0));
107
237
  }
108
238
  extractResponse(lines) {
109
239
  return extractClaudeResponse(lines);
@@ -1 +1 @@
1
- {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/providers/claude/completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/providers/claude/completion.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,13 @@ export declare function encodeClaudeProjectDir(cwd: string): string;
19
19
  * We collect text blocks from the last assistant message sequence.
20
20
  */
21
21
  export declare function extractClaudeResponse(lines: SessionLine[]): string;
22
+ /**
23
+ * Path pattern for Claude's native plan-file location under
24
+ * `~/.claude/plans/`. Shared by `extractClaudePlanFilePath` (artifact
25
+ * extraction) and `ClaudeCompletionStrategy` (completion detection) so the
26
+ * two stay in lockstep.
27
+ */
28
+ export declare const CLAUDE_PLAN_FILE_PATH_REGEX: RegExp;
22
29
  /**
23
30
  * Extract the plan file path from Claude session lines.
24
31
  *
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/providers/claude/session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAM5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAExE;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CA0BlE;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,GAAG,SAAS,CA8BlF;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,iBAAiB,EAAE,CA8CrF;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;gBAEjC,aAAa,CAAC,EAAE,MAAM,MAAM;IAIxC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAKxD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAOnD,eAAe,CACnB,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAOZ,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D,qBAAqB,CACzB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIzB,mBAAmB,CACvB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAIhB,YAAY;CAI3B"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/providers/claude/session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAM5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAExE;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CA0BlE;AAED;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,QAAiC,CAAC;AAE1E;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,GAAG,SAAS,CA4BlF;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,iBAAiB,EAAE,CA8CrF;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;gBAEjC,aAAa,CAAC,EAAE,MAAM,MAAM;IAIxC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAKxD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAOnD,eAAe,CACnB,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAOZ,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D,qBAAqB,CACzB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIzB,mBAAmB,CACvB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAIhB,YAAY;CAI3B"}
@@ -46,6 +46,13 @@ export function extractClaudeResponse(lines) {
46
46
  }
47
47
  return textParts.join("\n");
48
48
  }
49
+ /**
50
+ * Path pattern for Claude's native plan-file location under
51
+ * `~/.claude/plans/`. Shared by `extractClaudePlanFilePath` (artifact
52
+ * extraction) and `ClaudeCompletionStrategy` (completion detection) so the
53
+ * two stay in lockstep.
54
+ */
55
+ export const CLAUDE_PLAN_FILE_PATH_REGEX = /[/\\]\.claude[/\\]plans[/\\]/;
49
56
  /**
50
57
  * Extract the plan file path from Claude session lines.
51
58
  *
@@ -54,7 +61,6 @@ export function extractClaudeResponse(lines) {
54
61
  * (always re-scanned on each run to avoid staleness).
55
62
  */
56
63
  export function extractClaudePlanFilePath(lines) {
57
- const planPathPattern = /[/\\]\.claude[/\\]plans[/\\]/;
58
64
  // Scan in reverse — we want the *last* matching path, so the first
59
65
  // reverse hit lets us return immediately without walking the full list.
60
66
  for (let i = lines.length - 1; i >= 0; i--) {
@@ -71,7 +77,7 @@ export function extractClaudePlanFilePath(lines) {
71
77
  if (block.type === "tool_use" &&
72
78
  (block.name === "Write" || block.name === "Edit") &&
73
79
  typeof block.input?.file_path === "string" &&
74
- planPathPattern.test(block.input.file_path)) {
80
+ CLAUDE_PLAN_FILE_PATH_REGEX.test(block.input.file_path)) {
75
81
  return block.input.file_path;
76
82
  }
77
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/providers/claude/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,eAAe,EAAoB,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAGlC;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAoB;IACxD,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,+DAA+D;IAC/D,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QAExC,MAAM,OAAO,GAAG,IAAI,CAAC,OAER,CAAC;QACd,IAAI,CAAC,OAAO,EAAE,OAAO;YAAE,SAAS;QAEhC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACxC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,mFAAmF;QACnF,8EAA8E;QAC9E,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QACzD,MAAM;IACR,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAoB;IAC5D,MAAM,eAAe,GAAG,8BAA8B,CAAC;IAEvD,mEAAmE;IACnE,wEAAwE;IACxE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QAExC,MAAM,OAAO,GAAG,IAAI,CAAC,OAER,CAAC;QACd,IAAI,CAAC,OAAO,EAAE,OAAO;YAAE,SAAS;QAEhC,mEAAmE;QACnE,wEAAwE;QACxE,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACjC,IACE,KAAK,CAAC,IAAI,KAAK,UAAU;gBACzB,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;gBACjD,OAAO,KAAK,CAAC,KAAK,EAAE,SAAS,KAAK,QAAQ;gBAC1C,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAC3C,CAAC;gBACD,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAoB;IAC9D,MAAM,cAAc,GAAwB,EAAE,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,8BAA8B;IAE7E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAER,CAAC;YACd,IAAI,CAAC,OAAO,EAAE,OAAO;gBAAE,SAAS;YAChC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;oBAC9E,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC;oBACzC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC7B,MAAM,YAAY,GAAG,SAAS;6BAC3B,GAAG,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;6BACvF,MAAM,CAAC,OAAO,CAAC;6BACf,IAAI,CAAC,IAAI,CAAC,CAAC;wBACd,IAAI,YAAY,EAAE,CAAC;4BACjB,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;wBAC1C,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAER,CAAC;YACd,IAAI,CAAC,OAAO,EAAE,OAAO;gBAAE,SAAS;YAChC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;oBACtD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBACpD,IAAI,CAAC,QAAQ;wBAAE,SAAS;oBACxB,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;wBAC9C,CAAC,CAAC,KAAK,CAAC,OAAO;wBACf,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAClC,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC1C,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IACd,aAAa,CAAe;IAE7C,YAAY,aAA4B;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,mBAAmB,CAAC;IAC5D,CAAC;IAED,kBAAkB,CAAC,OAAe,EAAE,SAAiB;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,QAAyB,EACzB,QAAgB;QAEhB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,qBAAqB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,eAAuB;QAC5C,OAAO,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,eAAuB,EACvB,UAAkB;QAElB,OAAO,2BAA2B,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,eAAuB,EACvB,UAAkB;QAElB,OAAO,yBAAyB,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;IACzF,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,eAAuB,EAAE,UAAkB;QACpE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,CAAC;QACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/providers/claude/session.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../src/providers/claude/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,qBAAa,cAAe,YAAW,gBAAgB;IACrD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,iBAAiB;IACrC,QAAQ,CAAC,OAAO,YAAY;IAC5B,QAAQ,CAAC,UAAU,aAAa;IAChC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAA8B;IAC9D,OAAO,EAAE,MAAM,GAAG,SAAS,CAAa;IAExC,IAAI,QAAQ,IAAI,cAAc,CAO7B;IAEK,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAcvE,cAAc,IAAI,wBAAwB;CAG3C"}
1
+ {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../src/providers/claude/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,qBAAa,cAAe,YAAW,gBAAgB;IACrD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,iBAAiB;IACrC,QAAQ,CAAC,OAAO,YAAY;IAC5B,QAAQ,CAAC,UAAU,aAAa;IAChC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAA8B;IAC9D,OAAO,EAAE,MAAM,GAAG,SAAS,CAAa;IAExC,IAAI,QAAQ,IAAI,cAAc,CAO7B;IAEK,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAcvE,cAAc,IAAI,wBAAwB;CAO3C"}
@@ -32,7 +32,11 @@ export class ClaudeStrategy {
32
32
  return args;
33
33
  }
34
34
  createDetector() {
35
- return new ClaudeCompletionStrategy(200, 500, this.planMode.exitToolName);
35
+ // staleFallbackMs = 15s: only armed once the narrow prefetch pattern
36
+ // (plan-file Write + ToolSearch(select:ExitPlanMode)) has been observed,
37
+ // so false positives during extended thinking are impossible by
38
+ // construction — see ClaudeCompletionStrategy.isStaleFallbackReady.
39
+ return new ClaudeCompletionStrategy(200, 500, this.planMode.exitToolName, 15_000);
36
40
  }
37
41
  }
38
42
  //# sourceMappingURL=strategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/providers/claude/strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,aAAa,CAAC;IAC5B,OAAO,GAAG,QAAQ,CAAC;IACnB,UAAU,GAAG,SAAS,CAAC;IACvB,OAAO,GAAmB,IAAI,oBAAoB,EAAE,CAAC;IAC9D,OAAO,GAAuB,SAAS,CAAC;IAExC,IAAI,QAAQ;QACV,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAClD,OAAO;YACL,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB;YAC3D,YAAY,EAAE,cAAc;YAC5B,cAAc,EAAE,MAAM;SACvB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,IAAmB;QACjD,MAAM,IAAI,GAAa;YACrB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,gCAAgC,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;SAChC,CAAC;QACF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC5E,CAAC;CACF"}
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/providers/claude/strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,aAAa,CAAC;IAC5B,OAAO,GAAG,QAAQ,CAAC;IACnB,UAAU,GAAG,SAAS,CAAC;IACvB,OAAO,GAAmB,IAAI,oBAAoB,EAAE,CAAC;IAC9D,OAAO,GAAuB,SAAS,CAAC;IAExC,IAAI,QAAQ;QACV,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAClD,OAAO;YACL,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB;YAC3D,YAAY,EAAE,cAAc;YAC5B,cAAc,EAAE,MAAM;SACvB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,IAAmB;QACjD,MAAM,IAAI,GAAa;YACrB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,gCAAgC,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;SAChC,CAAC;QACF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc;QACZ,qEAAqE;QACrE,yEAAyE;QACzE,gEAAgE;QAChE,oEAAoE;QACpE,OAAO,IAAI,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACpF,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "poly-weaver",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Orchestrates pluggable AI coding agents in an iterative plan-review loop",
5
5
  "license": "MIT",
6
6
  "repository": {