poly-weaver 0.8.0 → 0.8.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 +7 -64
- package/dist/agents/errors.d.ts +20 -0
- package/dist/agents/errors.d.ts.map +1 -0
- package/dist/agents/errors.js +26 -0
- package/dist/agents/errors.js.map +1 -0
- package/dist/agents/implementors/handler.d.ts.map +1 -1
- package/dist/agents/implementors/handler.js +3 -1
- package/dist/agents/implementors/handler.js.map +1 -1
- package/dist/agents/implementors/index.d.ts.map +1 -1
- package/dist/agents/implementors/index.js +3 -9
- package/dist/agents/implementors/index.js.map +1 -1
- package/dist/agents/implementors/prompts.d.ts +4 -9
- package/dist/agents/implementors/prompts.d.ts.map +1 -1
- package/dist/agents/implementors/prompts.js +10 -16
- package/dist/agents/implementors/prompts.js.map +1 -1
- package/dist/agents/index.d.ts +2 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +4 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/interviewers/adapter.d.ts +17 -0
- package/dist/agents/interviewers/adapter.d.ts.map +1 -0
- package/dist/agents/interviewers/adapter.js +111 -0
- package/dist/agents/interviewers/adapter.js.map +1 -0
- package/dist/agents/interviewers/dsl.d.ts +13 -0
- package/dist/agents/interviewers/dsl.d.ts.map +1 -0
- package/dist/agents/interviewers/dsl.js +14 -0
- package/dist/agents/interviewers/dsl.js.map +1 -0
- package/dist/agents/interviewers/handler.d.ts +21 -0
- package/dist/agents/interviewers/handler.d.ts.map +1 -0
- package/dist/agents/interviewers/handler.js +217 -0
- package/dist/agents/interviewers/handler.js.map +1 -0
- package/dist/agents/interviewers/index.d.ts +11 -0
- package/dist/agents/interviewers/index.d.ts.map +1 -0
- package/dist/agents/interviewers/index.js +16 -0
- package/dist/agents/interviewers/index.js.map +1 -0
- package/dist/agents/interviewers/prompts.d.ts +3 -0
- package/dist/agents/interviewers/prompts.d.ts.map +1 -0
- package/dist/agents/interviewers/prompts.js +73 -0
- package/dist/agents/interviewers/prompts.js.map +1 -0
- package/dist/agents/interviewers/types.d.ts +53 -0
- package/dist/agents/interviewers/types.d.ts.map +1 -0
- package/dist/agents/interviewers/types.js +2 -0
- package/dist/agents/interviewers/types.js.map +1 -0
- package/dist/agents/planners/dsl.d.ts +5 -1
- package/dist/agents/planners/dsl.d.ts.map +1 -1
- package/dist/agents/planners/handler.d.ts.map +1 -1
- package/dist/agents/planners/handler.js +45 -25
- package/dist/agents/planners/handler.js.map +1 -1
- package/dist/agents/planners/index.d.ts.map +1 -1
- package/dist/agents/planners/index.js +3 -9
- package/dist/agents/planners/index.js.map +1 -1
- package/dist/agents/planners/prompts.d.ts +5 -11
- package/dist/agents/planners/prompts.d.ts.map +1 -1
- package/dist/agents/planners/prompts.js +15 -22
- package/dist/agents/planners/prompts.js.map +1 -1
- package/dist/agents/registry.d.ts +0 -1
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js.map +1 -1
- package/dist/agents/reviewers/adapter.d.ts +1 -1
- package/dist/agents/reviewers/adapter.d.ts.map +1 -1
- package/dist/agents/reviewers/adapter.js +2 -2
- package/dist/agents/reviewers/adapter.js.map +1 -1
- package/dist/agents/reviewers/dsl.d.ts +6 -1
- package/dist/agents/reviewers/dsl.d.ts.map +1 -1
- package/dist/agents/reviewers/dsl.js.map +1 -1
- package/dist/agents/reviewers/handler.d.ts.map +1 -1
- package/dist/agents/reviewers/handler.js +22 -5
- package/dist/agents/reviewers/handler.js.map +1 -1
- package/dist/agents/reviewers/index.d.ts.map +1 -1
- package/dist/agents/reviewers/index.js +6 -8
- package/dist/agents/reviewers/index.js.map +1 -1
- package/dist/agents/reviewers/prompts.d.ts +5 -11
- package/dist/agents/reviewers/prompts.d.ts.map +1 -1
- package/dist/agents/reviewers/prompts.js +13 -19
- package/dist/agents/reviewers/prompts.js.map +1 -1
- package/dist/agents/reviewers/types.d.ts +4 -2
- package/dist/agents/reviewers/types.d.ts.map +1 -1
- package/dist/agents/reviewers/types.js.map +1 -1
- package/dist/agents/runner.d.ts +46 -0
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +192 -20
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/simplifiers/handler.d.ts.map +1 -1
- package/dist/agents/simplifiers/handler.js +3 -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/cli.js +85 -186
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +3 -6
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -5
- package/dist/config.js.map +1 -1
- package/dist/dsl.d.ts +3 -0
- package/dist/dsl.d.ts.map +1 -1
- package/dist/dsl.js +4 -3
- package/dist/dsl.js.map +1 -1
- package/dist/dump/collector.d.ts.map +1 -1
- package/dist/dump/collector.js +32 -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 +3 -0
- package/dist/dump/service.js.map +1 -1
- package/dist/dump/types.d.ts +46 -0
- package/dist/dump/types.d.ts.map +1 -1
- package/dist/dump/types.js.map +1 -1
- package/dist/flow/built-in/default-factory.d.ts.map +1 -1
- package/dist/flow/built-in/default-factory.js +60 -64
- package/dist/flow/built-in/default-factory.js.map +1 -1
- package/dist/flow/built-in/default.d.ts +1 -1
- package/dist/flow/built-in/default.d.ts.map +1 -1
- package/dist/flow/built-in/default.js +1 -1
- package/dist/flow/built-in/default.js.map +1 -1
- package/dist/flow/built-in/default.ts +2 -2
- package/dist/flow/custom/AUTHORING.md +54 -54
- package/dist/flow/custom/load.d.ts.map +1 -1
- package/dist/flow/custom/load.js +0 -1
- package/dist/flow/custom/load.js.map +1 -1
- package/dist/flow/dsl.d.ts +2 -0
- package/dist/flow/dsl.d.ts.map +1 -1
- package/dist/flow/dsl.js +2 -0
- package/dist/flow/dsl.js.map +1 -1
- package/dist/flow/executor.d.ts +2 -1
- package/dist/flow/executor.d.ts.map +1 -1
- package/dist/flow/executor.js +39 -15
- package/dist/flow/executor.js.map +1 -1
- package/dist/flow/index.d.ts +1 -2
- package/dist/flow/index.d.ts.map +1 -1
- package/dist/flow/index.js +1 -2
- package/dist/flow/index.js.map +1 -1
- package/dist/flow/types.d.ts +28 -2
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/flow/types.js +6 -0
- package/dist/flow/types.js.map +1 -1
- package/dist/markdown.d.ts +5 -0
- package/dist/markdown.d.ts.map +1 -1
- package/dist/markdown.js +48 -1
- package/dist/markdown.js.map +1 -1
- package/dist/orchestrator.d.ts +15 -4
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +82 -23
- package/dist/orchestrator.js.map +1 -1
- package/dist/preflight.d.ts +11 -0
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +49 -16
- package/dist/preflight.js.map +1 -1
- package/dist/preview-panel.d.ts +11 -3
- package/dist/preview-panel.d.ts.map +1 -1
- package/dist/preview-panel.js +26 -2
- package/dist/preview-panel.js.map +1 -1
- package/dist/providers/base-completion.d.ts +23 -1
- package/dist/providers/base-completion.d.ts.map +1 -1
- package/dist/providers/base-completion.js +93 -4
- 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 +54 -3
- package/dist/providers/claude/completion-plan-mode.js.map +1 -1
- package/dist/providers/claude/completion.d.ts +1 -1
- package/dist/providers/claude/completion.d.ts.map +1 -1
- package/dist/providers/claude/completion.js +2 -2
- package/dist/providers/claude/completion.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 +2 -4
- package/dist/providers/claude/strategy.d.ts.map +1 -1
- package/dist/providers/claude/strategy.js +7 -2
- package/dist/providers/claude/strategy.js.map +1 -1
- package/dist/providers/codex/completion.d.ts +1 -1
- package/dist/providers/codex/completion.d.ts.map +1 -1
- package/dist/providers/codex/completion.js +2 -2
- package/dist/providers/codex/completion.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 +3 -4
- package/dist/providers/codex/strategy.d.ts.map +1 -1
- package/dist/providers/codex/strategy.js +19 -15
- package/dist/providers/codex/strategy.js.map +1 -1
- package/dist/providers/copilot/completion.d.ts +1 -1
- package/dist/providers/copilot/completion.d.ts.map +1 -1
- package/dist/providers/copilot/completion.js +2 -2
- package/dist/providers/copilot/completion.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/copilot/strategy.d.ts +2 -3
- package/dist/providers/copilot/strategy.d.ts.map +1 -1
- package/dist/providers/copilot/strategy.js +7 -3
- package/dist/providers/copilot/strategy.js.map +1 -1
- package/dist/providers/types.d.ts +82 -3
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/providers/version.d.ts.map +1 -1
- package/dist/providers/version.js +6 -2
- package/dist/providers/version.js.map +1 -1
- package/dist/pty/exit.js +1 -1
- package/dist/pty/exit.js.map +1 -1
- package/dist/pty/spawn.d.ts +1 -0
- package/dist/pty/spawn.d.ts.map +1 -1
- package/dist/pty/spawn.js +13 -9
- package/dist/pty/spawn.js.map +1 -1
- package/dist/pty/types.d.ts +5 -1
- package/dist/pty/types.d.ts.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/dist/session/manifest.d.ts +12 -5
- package/dist/session/manifest.d.ts.map +1 -1
- package/dist/session/resume.d.ts.map +1 -1
- package/dist/session/resume.js +4 -2
- package/dist/session/resume.js.map +1 -1
- package/dist/startup-tui.d.ts +10 -5
- package/dist/startup-tui.d.ts.map +1 -1
- package/dist/startup-tui.js +60 -27
- package/dist/startup-tui.js.map +1 -1
- package/dist/user/curate-handler.d.ts.map +1 -1
- package/dist/user/curate-handler.js +25 -32
- package/dist/user/curate-handler.js.map +1 -1
- package/dist/user/curate-prompt.d.ts +1 -1
- package/dist/user/dsl.d.ts +1 -0
- package/dist/user/dsl.d.ts.map +1 -1
- package/dist/user/dsl.js +1 -0
- package/dist/user/dsl.js.map +1 -1
- package/dist/user/handler.d.ts.map +1 -1
- package/dist/user/handler.js +2 -1
- package/dist/user/handler.js.map +1 -1
- package/dist/user/host-curate-prompt.js +1 -1
- package/dist/user/host-curate-prompt.js.map +1 -1
- package/dist/user/host-prompt.js +2 -2
- package/dist/user/host-prompt.js.map +1 -1
- package/dist/user/index.d.ts +1 -2
- package/dist/user/index.d.ts.map +1 -1
- package/dist/user/index.js +1 -2
- package/dist/user/index.js.map +1 -1
- package/dist/user/plan-pane.d.ts +7 -1
- package/dist/user/plan-pane.d.ts.map +1 -1
- package/dist/user/plan-pane.js +16 -4
- package/dist/user/plan-pane.js.map +1 -1
- package/dist/user/prompt.d.ts +7 -6
- package/dist/user/prompt.d.ts.map +1 -1
- package/dist/user/prompt.js +0 -8
- package/dist/user/prompt.js.map +1 -1
- package/package.json +1 -1
- package/dist/flow/built-in/why-so-serious-factory.d.ts +0 -16
- package/dist/flow/built-in/why-so-serious-factory.d.ts.map +0 -1
- package/dist/flow/built-in/why-so-serious-factory.js +0 -187
- package/dist/flow/built-in/why-so-serious-factory.js.map +0 -1
- package/dist/flow/built-in/why-so-serious.d.ts +0 -17
- package/dist/flow/built-in/why-so-serious.d.ts.map +0 -1
- package/dist/flow/built-in/why-so-serious.js +0 -23
- package/dist/flow/built-in/why-so-serious.js.map +0 -1
- package/dist/user/auto-curate-prompt.d.ts +0 -17
- package/dist/user/auto-curate-prompt.d.ts.map +0 -1
- package/dist/user/auto-curate-prompt.js +0 -22
- package/dist/user/auto-curate-prompt.js.map +0 -1
package/dist/preflight.js
CHANGED
|
@@ -1,29 +1,52 @@
|
|
|
1
1
|
import { exec, execFile } from "node:child_process";
|
|
2
2
|
import { promisify } from "node:util";
|
|
3
|
-
import { parseVersion } from "./providers/version.js";
|
|
3
|
+
import { compareVersions, parseVersion } from "./providers/version.js";
|
|
4
4
|
import { builtinStrategies, setProviderVersions } from "./providers/registry.js";
|
|
5
5
|
const execAsync = promisify(exec);
|
|
6
6
|
const execFileAsync = promisify(execFile);
|
|
7
7
|
/**
|
|
8
8
|
* Compute which CLI tools are needed based on the driver configuration.
|
|
9
9
|
* Shared by cli.ts and sanity-check.ts to avoid duplicating the logic.
|
|
10
|
+
*
|
|
11
|
+
* `interviewer` is checked only when defined, for flows that do not declare
|
|
12
|
+
* one.
|
|
10
13
|
*/
|
|
11
14
|
export function computePreflightNeeds(opts) {
|
|
15
|
+
const check = (cli) => opts.planner === cli ||
|
|
16
|
+
opts.reviewer === cli ||
|
|
17
|
+
(!opts.planOnly && opts.implementor === cli) ||
|
|
18
|
+
(!opts.planOnly && opts.simplifier === cli) ||
|
|
19
|
+
(opts.interviewer !== undefined && opts.interviewer === cli);
|
|
12
20
|
return {
|
|
13
|
-
needClaude:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
(!opts.planOnly && opts.simplifier === "claude"),
|
|
17
|
-
needCodex: opts.planner === "codex" ||
|
|
18
|
-
opts.reviewer === "codex" ||
|
|
19
|
-
(!opts.planOnly && opts.implementor === "codex") ||
|
|
20
|
-
(!opts.planOnly && opts.simplifier === "codex"),
|
|
21
|
-
needCopilot: opts.planner === "copilot" ||
|
|
22
|
-
opts.reviewer === "copilot" ||
|
|
23
|
-
(!opts.planOnly && opts.implementor === "copilot") ||
|
|
24
|
-
(!opts.planOnly && opts.simplifier === "copilot"),
|
|
21
|
+
needClaude: check("claude"),
|
|
22
|
+
needCodex: check("codex"),
|
|
23
|
+
needCopilot: check("copilot"),
|
|
25
24
|
};
|
|
26
25
|
}
|
|
26
|
+
export function validateCopilotVersion(version) {
|
|
27
|
+
if (!version) {
|
|
28
|
+
return {
|
|
29
|
+
ok: false,
|
|
30
|
+
error: "Could not detect GitHub Copilot CLI version.\n" +
|
|
31
|
+
"Poly-weaver only runs on Copilot CLI < 1.0.35 or >= 1.0.51.\n" +
|
|
32
|
+
"To upgrade on Windows: winget upgrade GitHub.Copilot\n" +
|
|
33
|
+
"For other platforms: https://docs.github.com/copilot/github-copilot-in-the-cli",
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const unsupported = compareVersions(version, "1.0.35") >= 0 &&
|
|
37
|
+
compareVersions(version, "1.0.50") <= 0;
|
|
38
|
+
if (unsupported) {
|
|
39
|
+
return {
|
|
40
|
+
ok: false,
|
|
41
|
+
error: `GitHub Copilot CLI version ${version} is not supported by poly-weaver.\n` +
|
|
42
|
+
"Reason: this CLI version range has incompatible session-ID flags.\n" +
|
|
43
|
+
"Supported versions: < 1.0.35 or >= 1.0.51.\n" +
|
|
44
|
+
"To upgrade on Windows: winget upgrade GitHub.Copilot\n" +
|
|
45
|
+
"For other platforms: https://docs.github.com/copilot/github-copilot-in-the-cli",
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return { ok: true, version };
|
|
49
|
+
}
|
|
27
50
|
/**
|
|
28
51
|
* Run preflight checks to verify required CLIs and dependencies are available.
|
|
29
52
|
*/
|
|
@@ -67,8 +90,14 @@ export async function runPreflight(opts) {
|
|
|
67
90
|
errors.push("GitHub Copilot CLI not found. Install it:\n" +
|
|
68
91
|
" winget install GitHub.CopilotCLI");
|
|
69
92
|
}
|
|
70
|
-
else
|
|
71
|
-
|
|
93
|
+
else {
|
|
94
|
+
const validation = validateCopilotVersion(version);
|
|
95
|
+
if (validation.ok) {
|
|
96
|
+
versions.set("copilot", validation.version);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
errors.push(validation.error);
|
|
100
|
+
}
|
|
72
101
|
}
|
|
73
102
|
}));
|
|
74
103
|
}
|
|
@@ -98,7 +127,11 @@ export async function ensureProviderVersions(needs) {
|
|
|
98
127
|
};
|
|
99
128
|
if (!missing.needClaude && !missing.needCodex && !missing.needCopilot)
|
|
100
129
|
return;
|
|
101
|
-
const
|
|
130
|
+
const result = await runPreflight(missing);
|
|
131
|
+
if (missing.needCopilot && !result.versions.has("copilot")) {
|
|
132
|
+
throw new Error(result.errors.join("\n\n") || "Could not detect GitHub Copilot CLI version.");
|
|
133
|
+
}
|
|
134
|
+
const { versions } = result;
|
|
102
135
|
setProviderVersions(versions);
|
|
103
136
|
}
|
|
104
137
|
/**
|
package/dist/preflight.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}
|
package/dist/preview-panel.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { TuiInputEvent, TaskEditor } from "./startup-tui.js";
|
|
2
|
-
import type { FlowParamValues, FlowStep, FlowTemplate } from "./flow/types.js";
|
|
2
|
+
import type { FlowParam, FlowParamValues, FlowStep, FlowTemplate } from "./flow/types.js";
|
|
3
3
|
export type SelectField = {
|
|
4
4
|
kind: "select";
|
|
5
5
|
label: string;
|
|
@@ -8,6 +8,7 @@ export type SelectField = {
|
|
|
8
8
|
value: string;
|
|
9
9
|
expanded: boolean;
|
|
10
10
|
expandedIndex: number;
|
|
11
|
+
hidden?: boolean;
|
|
11
12
|
};
|
|
12
13
|
export type NumberField = {
|
|
13
14
|
kind: "number";
|
|
@@ -18,12 +19,14 @@ export type NumberField = {
|
|
|
18
19
|
max: number;
|
|
19
20
|
editing: boolean;
|
|
20
21
|
editBuffer: string;
|
|
22
|
+
hidden?: boolean;
|
|
21
23
|
};
|
|
22
24
|
export type ToggleField = {
|
|
23
25
|
kind: "toggle";
|
|
24
26
|
label: string;
|
|
25
27
|
key: string;
|
|
26
28
|
value: boolean;
|
|
29
|
+
hidden?: boolean;
|
|
27
30
|
};
|
|
28
31
|
export type ConfigField = SelectField | NumberField | ToggleField;
|
|
29
32
|
export declare const LABEL_WIDTH = 28;
|
|
@@ -31,10 +34,15 @@ export declare const FLOW_LABEL_ROWS = 1;
|
|
|
31
34
|
export declare const DIAGRAM_PADDING = 4;
|
|
32
35
|
/**
|
|
33
36
|
* Build ConfigField[] from template params. Does NOT include
|
|
34
|
-
* orthogonal toggles (yolo
|
|
35
|
-
* append those separately if needed.
|
|
37
|
+
* orthogonal toggles (yolo) — callers append those separately if needed.
|
|
36
38
|
*/
|
|
37
39
|
export declare function buildFieldsForTemplate(template: FlowTemplate, defaults: Record<string, unknown>, existingFields?: ConfigField[]): ConfigField[];
|
|
40
|
+
/**
|
|
41
|
+
* Mutate `field.hidden` in place based on each template param's
|
|
42
|
+
* `visibleWhen` predicate. Fields without a matching param (e.g.
|
|
43
|
+
* orthogonal toggles like `yolo`) are left untouched.
|
|
44
|
+
*/
|
|
45
|
+
export declare function recomputeHiddenFlags(fields: ConfigField[], params: readonly FlowParam[]): void;
|
|
38
46
|
export declare function configRowCount(fields: ConfigField[]): number;
|
|
39
47
|
export declare function extractFlowValues(fields: ConfigField[], template: FlowTemplate): FlowParamValues;
|
|
40
48
|
export declare function diagramWidth(flow: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-panel.d.ts","sourceRoot":"","sources":["../src/preview-panel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGlE,OAAO,KAAK,EAAsD,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"preview-panel.d.ts","sourceRoot":"","sources":["../src/preview-panel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGlE,OAAO,KAAK,EAAsD,SAAS,EAAkB,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAK9K,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAIlE,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,eAAe,IAAI,CAAC;AAIjC;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,cAAc,CAAC,EAAE,WAAW,EAAE,GAC7B,WAAW,EAAE,CAkDf;AAID;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EAAE,EACrB,MAAM,EAAE,SAAS,SAAS,EAAE,GAC3B,IAAI,CAaN;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAU5D;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EAAE,EACrB,QAAQ,EAAE,YAAY,GACrB,eAAe,CAOjB;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE,EAC3B,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,GACjB,MAAM,CAGR;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAMtE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAOzD;AAID;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EAAE,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,aAAa,GACnB,OAAO,CA6CT;AAuED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,aAAa,GACnB,OAAO,CA2DT;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,OAAO,EACxB,IAAI,EAAE,MAAM,GACX,MAAM,EAAE,CA8CV;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAsCD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,WAAW,EAAE,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,GACpB;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CA2BhD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,MAAM,GACX,MAAM,EAAE,CAmBV;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,WAAW,EAAE,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,OAAO,EAClB,aAAa,CAAC,EAAE,eAAe,GAC9B,MAAM,CASR"}
|
package/dist/preview-panel.js
CHANGED
|
@@ -8,8 +8,7 @@ export const DIAGRAM_PADDING = 4;
|
|
|
8
8
|
// ─── Field Building ──────────────────────────────────────────────────────
|
|
9
9
|
/**
|
|
10
10
|
* Build ConfigField[] from template params. Does NOT include
|
|
11
|
-
* orthogonal toggles (yolo
|
|
12
|
-
* append those separately if needed.
|
|
11
|
+
* orthogonal toggles (yolo) — callers append those separately if needed.
|
|
13
12
|
*/
|
|
14
13
|
export function buildFieldsForTemplate(template, defaults, existingFields) {
|
|
15
14
|
const fields = [];
|
|
@@ -60,9 +59,32 @@ export function buildFieldsForTemplate(template, defaults, existingFields) {
|
|
|
60
59
|
return fields;
|
|
61
60
|
}
|
|
62
61
|
// ─── Field Utilities ─────────────────────────────────────────────────────
|
|
62
|
+
/**
|
|
63
|
+
* Mutate `field.hidden` in place based on each template param's
|
|
64
|
+
* `visibleWhen` predicate. Fields without a matching param (e.g.
|
|
65
|
+
* orthogonal toggles like `yolo`) are left untouched.
|
|
66
|
+
*/
|
|
67
|
+
export function recomputeHiddenFlags(fields, params) {
|
|
68
|
+
const fieldsByKey = new Map(fields.map((f) => [f.key, f]));
|
|
69
|
+
const snapshot = {};
|
|
70
|
+
for (const param of params) {
|
|
71
|
+
const field = fieldsByKey.get(param.key);
|
|
72
|
+
snapshot[param.key] = field?.value ?? param.default;
|
|
73
|
+
}
|
|
74
|
+
for (const param of params) {
|
|
75
|
+
if (!param.visibleWhen)
|
|
76
|
+
continue;
|
|
77
|
+
const field = fieldsByKey.get(param.key);
|
|
78
|
+
if (!field)
|
|
79
|
+
continue;
|
|
80
|
+
field.hidden = !param.visibleWhen(snapshot);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
63
83
|
export function configRowCount(fields) {
|
|
64
84
|
let rows = 0;
|
|
65
85
|
for (const f of fields) {
|
|
86
|
+
if (f.hidden)
|
|
87
|
+
continue;
|
|
66
88
|
rows += 1;
|
|
67
89
|
if (f.kind === "select" && f.expanded) {
|
|
68
90
|
rows += f.options.length;
|
|
@@ -287,6 +309,8 @@ export function renderConfigFields(fields, focusedIndex, isConfigFocused, cols)
|
|
|
287
309
|
const configDim = !isConfigFocused;
|
|
288
310
|
for (let i = 0; i < fields.length; i++) {
|
|
289
311
|
const field = fields[i];
|
|
312
|
+
if (field.hidden)
|
|
313
|
+
continue;
|
|
290
314
|
const focused = isConfigFocused && focusedIndex === i;
|
|
291
315
|
const indicator = focused ? `${bold}▸${reset}` : `${dim}·${reset}`;
|
|
292
316
|
const labelStr = field.label.padEnd(LABEL_WIDTH);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-panel.js","sourceRoot":"","sources":["../src/preview-panel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"preview-panel.js","sourceRoot":"","sources":["../src/preview-panel.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,8 @@ export declare abstract class AbstractCompletionDetector implements CompletionDe
|
|
|
23
23
|
private readonly pollMs;
|
|
24
24
|
private readonly quietMs;
|
|
25
25
|
private readonly staleFallbackMs;
|
|
26
|
+
protected readonly markerFile?: string | undefined;
|
|
27
|
+
private readonly onActivation?;
|
|
26
28
|
private disposed;
|
|
27
29
|
private pollTimer;
|
|
28
30
|
private resolve;
|
|
@@ -30,6 +32,7 @@ export declare abstract class AbstractCompletionDetector implements CompletionDe
|
|
|
30
32
|
private lastFileSize;
|
|
31
33
|
private sessionFile;
|
|
32
34
|
private lineOffset;
|
|
35
|
+
private activationFired;
|
|
33
36
|
protected lastDataTime: number;
|
|
34
37
|
/** Tracks the last time the session file grew (independent of PTY data). */
|
|
35
38
|
protected lastFileGrowthTime: number;
|
|
@@ -43,7 +46,7 @@ export declare abstract class AbstractCompletionDetector implements CompletionDe
|
|
|
43
46
|
* keep turn-scoped state derived from `lastParsedLines`.
|
|
44
47
|
*/
|
|
45
48
|
protected priorLines: SessionLine[];
|
|
46
|
-
constructor(pollMs?: number, quietMs?: number, staleFallbackMs?: number);
|
|
49
|
+
constructor(pollMs?: number, quietMs?: number, staleFallbackMs?: number, markerFile?: string | undefined, onActivation?: (() => void) | undefined);
|
|
47
50
|
start(sessionFile: string, lineOffset?: number): Promise<string>;
|
|
48
51
|
onPtyData(_data: string): void;
|
|
49
52
|
dispose(): void;
|
|
@@ -65,6 +68,24 @@ export declare abstract class AbstractCompletionDetector implements CompletionDe
|
|
|
65
68
|
* the task is done (e.g., Codex, Copilot).
|
|
66
69
|
*/
|
|
67
70
|
protected shouldSuppressPtyTimerReset(): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Return true when a secondary completion signal has corroborated readiness
|
|
73
|
+
* (e.g. PTY-rendered dialog + JSONL artifact agree). Resolves immediately
|
|
74
|
+
* — no quiet-debounce wait, no stale-fallback wait. Default: false.
|
|
75
|
+
*
|
|
76
|
+
* Order in the no-growth branch: primary > secondary > stale.
|
|
77
|
+
*
|
|
78
|
+
* MUST be a pure predicate — no side effects. Use
|
|
79
|
+
* `onSecondarySignalResolved()` for observability hooks that should fire
|
|
80
|
+
* exactly once when the secondary arm actually wins.
|
|
81
|
+
*/
|
|
82
|
+
protected isSecondarySignalReady(): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Invoked exactly once when the secondary-signal arm resolves the run,
|
|
85
|
+
* immediately before `dispose()` and `resolve()`. Default: no-op.
|
|
86
|
+
* Subclasses override to emit observability logs.
|
|
87
|
+
*/
|
|
88
|
+
protected onSecondarySignalResolved(): void;
|
|
68
89
|
/**
|
|
69
90
|
* Return true when relaxed completion conditions are met, enabling the
|
|
70
91
|
* staleness fallback. The fallback resolves when the session file has not
|
|
@@ -76,5 +97,6 @@ export declare abstract class AbstractCompletionDetector implements CompletionDe
|
|
|
76
97
|
*/
|
|
77
98
|
protected isStaleFallbackReady(): boolean;
|
|
78
99
|
private poll;
|
|
100
|
+
private fireActivationIfNeeded;
|
|
79
101
|
}
|
|
80
102
|
//# sourceMappingURL=base-completion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-completion.d.ts","sourceRoot":"","sources":["../../src/providers/base-completion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-completion.d.ts","sourceRoot":"","sources":["../../src/providers/base-completion.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;GAkBG;AACH,8BAAsB,0BAA2B,YAAW,kBAAkB;IAyB1E,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IA5BhC,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;IACvB,OAAO,CAAC,eAAe,CAAS;IAEhC,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,EACxB,UAAU,CAAC,EAAE,MAAM,YAAA,EACrB,YAAY,CAAC,GAAE,MAAM,IAAI,aAAA;IAG5C,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB3D,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;IAuGlB,OAAO,CAAC,sBAAsB;CAS/B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { stat } from "node:fs/promises";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
2
3
|
import { readSessionFile } from "../session/reader.js";
|
|
3
4
|
/**
|
|
4
5
|
* Base class for completion detectors that share the same poll-based lifecycle:
|
|
@@ -23,6 +24,8 @@ export class AbstractCompletionDetector {
|
|
|
23
24
|
pollMs;
|
|
24
25
|
quietMs;
|
|
25
26
|
staleFallbackMs;
|
|
27
|
+
markerFile;
|
|
28
|
+
onActivation;
|
|
26
29
|
disposed = false;
|
|
27
30
|
pollTimer = null;
|
|
28
31
|
resolve = null;
|
|
@@ -30,6 +33,7 @@ export class AbstractCompletionDetector {
|
|
|
30
33
|
lastFileSize = 0;
|
|
31
34
|
sessionFile = "";
|
|
32
35
|
lineOffset = 0;
|
|
36
|
+
activationFired = false;
|
|
33
37
|
lastDataTime = 0;
|
|
34
38
|
/** Tracks the last time the session file grew (independent of PTY data). */
|
|
35
39
|
lastFileGrowthTime = 0;
|
|
@@ -43,14 +47,17 @@ export class AbstractCompletionDetector {
|
|
|
43
47
|
* keep turn-scoped state derived from `lastParsedLines`.
|
|
44
48
|
*/
|
|
45
49
|
priorLines = [];
|
|
46
|
-
constructor(pollMs = 500, quietMs = 500, staleFallbackMs = Infinity) {
|
|
50
|
+
constructor(pollMs = 500, quietMs = 500, staleFallbackMs = Infinity, markerFile, onActivation) {
|
|
47
51
|
this.pollMs = pollMs;
|
|
48
52
|
this.quietMs = quietMs;
|
|
49
53
|
this.staleFallbackMs = staleFallbackMs;
|
|
54
|
+
this.markerFile = markerFile;
|
|
55
|
+
this.onActivation = onActivation;
|
|
50
56
|
}
|
|
51
57
|
start(sessionFile, lineOffset = 0) {
|
|
52
58
|
this.sessionFile = sessionFile;
|
|
53
59
|
this.lineOffset = lineOffset;
|
|
60
|
+
this.activationFired = false;
|
|
54
61
|
this.lastDataTime = Date.now();
|
|
55
62
|
this.lastFileGrowthTime = Date.now();
|
|
56
63
|
return new Promise((resolve, reject) => {
|
|
@@ -89,6 +96,26 @@ export class AbstractCompletionDetector {
|
|
|
89
96
|
shouldSuppressPtyTimerReset() {
|
|
90
97
|
return false;
|
|
91
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Return true when a secondary completion signal has corroborated readiness
|
|
101
|
+
* (e.g. PTY-rendered dialog + JSONL artifact agree). Resolves immediately
|
|
102
|
+
* — no quiet-debounce wait, no stale-fallback wait. Default: false.
|
|
103
|
+
*
|
|
104
|
+
* Order in the no-growth branch: primary > secondary > stale.
|
|
105
|
+
*
|
|
106
|
+
* MUST be a pure predicate — no side effects. Use
|
|
107
|
+
* `onSecondarySignalResolved()` for observability hooks that should fire
|
|
108
|
+
* exactly once when the secondary arm actually wins.
|
|
109
|
+
*/
|
|
110
|
+
isSecondarySignalReady() {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Invoked exactly once when the secondary-signal arm resolves the run,
|
|
115
|
+
* immediately before `dispose()` and `resolve()`. Default: no-op.
|
|
116
|
+
* Subclasses override to emit observability logs.
|
|
117
|
+
*/
|
|
118
|
+
onSecondarySignalResolved() { }
|
|
92
119
|
/**
|
|
93
120
|
* Return true when relaxed completion conditions are met, enabling the
|
|
94
121
|
* staleness fallback. The fallback resolves when the session file has not
|
|
@@ -105,20 +132,70 @@ export class AbstractCompletionDetector {
|
|
|
105
132
|
async poll() {
|
|
106
133
|
if (this.disposed)
|
|
107
134
|
return;
|
|
135
|
+
// ── Universal marker authority ───────────────────────────────────
|
|
136
|
+
// When markerFile is configured, its on-disk existence is the ONLY
|
|
137
|
+
// completion signal. We check it at the top of every tick BEFORE
|
|
138
|
+
// any provider-specific path runs, so post-marker session-file
|
|
139
|
+
// growth, PTY chatter, or pending tool_uses cannot delay or
|
|
140
|
+
// prevent completion. If the marker is configured but absent, every
|
|
141
|
+
// other resolve point is suppressed below.
|
|
142
|
+
if (this.markerFile) {
|
|
143
|
+
let markerPresent = false;
|
|
144
|
+
try {
|
|
145
|
+
markerPresent = existsSync(this.markerFile);
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
/* defensive — treat as absent */
|
|
149
|
+
}
|
|
150
|
+
if (markerPresent) {
|
|
151
|
+
// Best-effort refresh of lastParsedLines so extractResponse sees
|
|
152
|
+
// the latest content; ignore read failures.
|
|
153
|
+
try {
|
|
154
|
+
const s = await stat(this.sessionFile);
|
|
155
|
+
if (s.size !== this.lastFileSize) {
|
|
156
|
+
const lines = await readSessionFile(this.sessionFile);
|
|
157
|
+
this.lastFileSize = s.size;
|
|
158
|
+
this.priorLines = this.lineOffset > 0 ? lines.slice(0, this.lineOffset) : [];
|
|
159
|
+
this.lastParsedLines = lines.slice(this.lineOffset);
|
|
160
|
+
this.fireActivationIfNeeded();
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
/* best-effort */
|
|
165
|
+
}
|
|
166
|
+
const text = this.extractResponse(this.lastParsedLines);
|
|
167
|
+
this.dispose();
|
|
168
|
+
this.resolve?.(text);
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
// Marker absent → fall through to update lastParsedLines / state, but
|
|
172
|
+
// every existing resolve path is gated by `!this.markerFile` below.
|
|
173
|
+
}
|
|
108
174
|
try {
|
|
109
175
|
const s = await stat(this.sessionFile);
|
|
110
176
|
if (s.size === this.lastFileSize) {
|
|
111
177
|
// No new data — check if quiet debounce has passed and primary signal is ready
|
|
112
|
-
if (this.
|
|
178
|
+
if (!this.markerFile &&
|
|
179
|
+
this.isPrimarySignalFired() &&
|
|
113
180
|
Date.now() - this.lastDataTime >= this.quietMs) {
|
|
114
181
|
const text = this.extractResponse(this.lastParsedLines);
|
|
115
182
|
this.dispose();
|
|
116
183
|
this.resolve?.(text);
|
|
117
184
|
}
|
|
185
|
+
// Secondary signal: corroborating evidence outside the JSONL (e.g.,
|
|
186
|
+
// PTY-rendered dialog + matching JSONL artifact) resolves immediately,
|
|
187
|
+
// without waiting for the quiet debounce or the stale-fallback timer.
|
|
188
|
+
else if (!this.markerFile && this.isSecondarySignalReady()) {
|
|
189
|
+
const text = this.extractResponse(this.lastParsedLines);
|
|
190
|
+
this.onSecondarySignalResolved();
|
|
191
|
+
this.dispose();
|
|
192
|
+
this.resolve?.(text);
|
|
193
|
+
}
|
|
118
194
|
// Staleness fallback: resolve when the primary signal can't fire (e.g.,
|
|
119
195
|
// missing end_turn JSONL entry) but relaxed conditions are met and the
|
|
120
196
|
// session file has been quiet for staleFallbackMs.
|
|
121
|
-
else if (this.
|
|
197
|
+
else if (!this.markerFile &&
|
|
198
|
+
this.staleFallbackMs < Infinity &&
|
|
122
199
|
this.isStaleFallbackReady() &&
|
|
123
200
|
Date.now() - this.lastFileGrowthTime >= this.staleFallbackMs) {
|
|
124
201
|
const text = this.extractResponse(this.lastParsedLines);
|
|
@@ -135,9 +212,10 @@ export class AbstractCompletionDetector {
|
|
|
135
212
|
this.lastFileGrowthTime = Date.now();
|
|
136
213
|
this.priorLines = this.lineOffset > 0 ? lines.slice(0, this.lineOffset) : [];
|
|
137
214
|
this.lastParsedLines = lines.slice(this.lineOffset);
|
|
215
|
+
this.fireActivationIfNeeded();
|
|
138
216
|
this.analyzeLines(this.lastParsedLines);
|
|
139
217
|
// Allow providers to short-circuit (e.g. Codex on task_complete)
|
|
140
|
-
if (this.shouldShortCircuit(this.lastParsedLines)) {
|
|
218
|
+
if (!this.markerFile && this.shouldShortCircuit(this.lastParsedLines)) {
|
|
141
219
|
const text = this.extractResponse(this.lastParsedLines);
|
|
142
220
|
this.dispose();
|
|
143
221
|
this.resolve?.(text);
|
|
@@ -147,5 +225,16 @@ export class AbstractCompletionDetector {
|
|
|
147
225
|
// File might not exist yet — keep polling
|
|
148
226
|
}
|
|
149
227
|
}
|
|
228
|
+
fireActivationIfNeeded() {
|
|
229
|
+
if (this.activationFired || this.lastParsedLines.length === 0)
|
|
230
|
+
return;
|
|
231
|
+
this.activationFired = true;
|
|
232
|
+
try {
|
|
233
|
+
this.onActivation?.();
|
|
234
|
+
}
|
|
235
|
+
catch {
|
|
236
|
+
/* consumer diagnostics hook must not break polling */
|
|
237
|
+
}
|
|
238
|
+
}
|
|
150
239
|
}
|
|
151
240
|
//# sourceMappingURL=base-completion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-completion.js","sourceRoot":"","sources":["../../src/providers/base-completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;
|
|
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, onActivation?: () => void);
|
|
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,EACtD,YAAY,CAAC,EAAE,MAAM,IAAI;IAKlB,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"}
|