poly-weaver 0.4.3 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/implementors/handler.d.ts.map +1 -1
- package/dist/agents/implementors/handler.js +7 -2
- package/dist/agents/implementors/handler.js.map +1 -1
- package/dist/agents/planners/adapter.d.ts.map +1 -1
- package/dist/agents/planners/adapter.js +1 -0
- package/dist/agents/planners/adapter.js.map +1 -1
- package/dist/agents/planners/handler.d.ts.map +1 -1
- package/dist/agents/planners/handler.js +7 -2
- package/dist/agents/planners/handler.js.map +1 -1
- package/dist/agents/planners/types.d.ts +1 -0
- package/dist/agents/planners/types.d.ts.map +1 -1
- package/dist/agents/reviewers/adapter.d.ts +3 -2
- package/dist/agents/reviewers/adapter.d.ts.map +1 -1
- package/dist/agents/reviewers/adapter.js +14 -2
- package/dist/agents/reviewers/adapter.js.map +1 -1
- package/dist/agents/reviewers/dsl.d.ts +11 -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 +51 -2
- package/dist/agents/reviewers/handler.js.map +1 -1
- package/dist/agents/reviewers/index.d.ts +3 -3
- package/dist/agents/reviewers/index.d.ts.map +1 -1
- package/dist/agents/reviewers/index.js +9 -5
- package/dist/agents/reviewers/index.js.map +1 -1
- package/dist/agents/reviewers/prompts.d.ts +14 -2
- package/dist/agents/reviewers/prompts.d.ts.map +1 -1
- package/dist/agents/reviewers/prompts.js +106 -2
- package/dist/agents/reviewers/prompts.js.map +1 -1
- package/dist/agents/reviewers/types.d.ts +19 -1
- 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 +9 -0
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +2 -1
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/simplifiers/adapter.d.ts.map +1 -1
- package/dist/agents/simplifiers/adapter.js +1 -0
- package/dist/agents/simplifiers/adapter.js.map +1 -1
- package/dist/agents/simplifiers/handler.d.ts.map +1 -1
- package/dist/agents/simplifiers/handler.js +7 -2
- package/dist/agents/simplifiers/handler.js.map +1 -1
- package/dist/cli.js +9 -1
- package/dist/cli.js.map +1 -1
- package/dist/flow/built-in/default.d.ts +1 -0
- package/dist/flow/built-in/default.d.ts.map +1 -1
- package/dist/flow/built-in/default.js +37 -0
- package/dist/flow/built-in/default.js.map +1 -1
- package/dist/flow/built-in/default.ts +43 -0
- package/dist/flow/built-in/why-so-serious.d.ts +1 -0
- package/dist/flow/built-in/why-so-serious.d.ts.map +1 -1
- package/dist/flow/built-in/why-so-serious.js +37 -0
- package/dist/flow/built-in/why-so-serious.js.map +1 -1
- package/dist/flow/diagram.d.ts.map +1 -1
- package/dist/flow/diagram.js +26 -11
- package/dist/flow/diagram.js.map +1 -1
- package/dist/flow/dsl.d.ts +7 -0
- package/dist/flow/dsl.d.ts.map +1 -1
- package/dist/flow/dsl.js +35 -0
- package/dist/flow/dsl.js.map +1 -1
- package/dist/flow/executor.d.ts.map +1 -1
- package/dist/flow/executor.js +17 -0
- package/dist/flow/executor.js.map +1 -1
- package/dist/flow/types.d.ts +17 -0
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/flow/types.js.map +1 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +14 -0
- package/dist/orchestrator.js.map +1 -1
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +8 -1
- package/dist/prompts.js.map +1 -1
- package/dist/providers/claude/completion-plan-mode.d.ts +30 -0
- package/dist/providers/claude/completion-plan-mode.d.ts.map +1 -0
- package/dist/providers/claude/completion-plan-mode.js +151 -0
- package/dist/providers/claude/completion-plan-mode.js.map +1 -0
- package/dist/providers/claude/completion.d.ts +9 -48
- package/dist/providers/claude/completion.d.ts.map +1 -1
- package/dist/providers/claude/completion.js +21 -274
- package/dist/providers/claude/completion.js.map +1 -1
- package/dist/providers/claude/session.d.ts +24 -4
- package/dist/providers/claude/session.d.ts.map +1 -1
- package/dist/providers/claude/session.js +90 -15
- package/dist/providers/claude/session.js.map +1 -1
- package/dist/providers/claude/strategy.d.ts +4 -3
- package/dist/providers/claude/strategy.d.ts.map +1 -1
- package/dist/providers/claude/strategy.js +8 -7
- package/dist/providers/claude/strategy.js.map +1 -1
- package/dist/providers/claude/tool-tracking.d.ts +28 -0
- package/dist/providers/claude/tool-tracking.d.ts.map +1 -0
- package/dist/providers/claude/tool-tracking.js +149 -0
- package/dist/providers/claude/tool-tracking.js.map +1 -0
- package/dist/providers/codex/strategy.d.ts +3 -1
- package/dist/providers/codex/strategy.d.ts.map +1 -1
- package/dist/providers/codex/strategy.js +1 -1
- package/dist/providers/codex/strategy.js.map +1 -1
- package/dist/providers/copilot/strategy.d.ts +3 -1
- package/dist/providers/copilot/strategy.d.ts.map +1 -1
- package/dist/providers/copilot/strategy.js +1 -1
- package/dist/providers/copilot/strategy.js.map +1 -1
- package/dist/providers/invoke.js +1 -1
- package/dist/providers/invoke.js.map +1 -1
- package/dist/providers/types.d.ts +3 -1
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/user/curate-handler.d.ts +32 -0
- package/dist/user/curate-handler.d.ts.map +1 -0
- package/dist/user/curate-handler.js +156 -0
- package/dist/user/curate-handler.js.map +1 -0
- package/dist/user/curate-prompt.d.ts +41 -0
- package/dist/user/curate-prompt.d.ts.map +1 -0
- package/dist/user/curate-prompt.js +473 -0
- package/dist/user/curate-prompt.js.map +1 -0
- 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/index.d.ts +3 -0
- package/dist/user/index.d.ts.map +1 -1
- package/dist/user/index.js +2 -0
- package/dist/user/index.js.map +1 -1
- package/dist/user/prompt.d.ts +11 -0
- package/dist/user/prompt.d.ts.map +1 -1
- package/dist/user/prompt.js +40 -7
- package/dist/user/prompt.js.map +1 -1
- package/package.json +2 -2
|
@@ -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;
|
|
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;AAKjF,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,CAuBZ;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,CAyI7B"}
|
package/dist/orchestrator.js
CHANGED
|
@@ -8,6 +8,8 @@ import { AutoUserPrompt, InteractiveUserPrompt } from "./user/prompt.js";
|
|
|
8
8
|
import { computeFeatureGates } from "./providers/registry.js";
|
|
9
9
|
import { computePreflightNeeds, ensureProviderVersions } from "./preflight.js";
|
|
10
10
|
import { UserRoleHandler } from "./user/handler.js";
|
|
11
|
+
import { CurateVerdictRoleHandler } from "./user/curate-handler.js";
|
|
12
|
+
import { CurateVerdictPrompt } from "./user/curate-prompt.js";
|
|
11
13
|
import { dim, reset, cyan } from "./ansi.js";
|
|
12
14
|
import { MapArtifactStore } from "./flow/artifacts.js";
|
|
13
15
|
import { FlowExecutor } from "./flow/executor.js";
|
|
@@ -53,6 +55,9 @@ export async function runPhaseWithRetries(phaseName, run, maxAttempts = 3) {
|
|
|
53
55
|
}
|
|
54
56
|
catch (err) {
|
|
55
57
|
lastError = err;
|
|
58
|
+
if (err?.noRetry === true) {
|
|
59
|
+
throw err;
|
|
60
|
+
}
|
|
56
61
|
if (attempt < maxAttempts) {
|
|
57
62
|
const msg = err instanceof Error ? err.message : String(err);
|
|
58
63
|
console.warn(`[poly-weaver] ${phaseName} failed (attempt ${attempt}/${maxAttempts}): ${msg}. Retrying...`);
|
|
@@ -176,6 +181,7 @@ export async function orchestrateWithTemplate(opts) {
|
|
|
176
181
|
}));
|
|
177
182
|
}
|
|
178
183
|
handlers.set("user", new UserRoleHandler(handler));
|
|
184
|
+
handlers.set("user:curate-verdict", new CurateVerdictRoleHandler(new CurateVerdictPrompt(onDumpRequested)));
|
|
179
185
|
// Build context
|
|
180
186
|
const ctx = {
|
|
181
187
|
sessionDir,
|
|
@@ -194,6 +200,14 @@ export async function orchestrateWithTemplate(opts) {
|
|
|
194
200
|
if (opts.dumpService) {
|
|
195
201
|
opts.dumpService.init(flow.name, opts.paramValues, workdir, ctx);
|
|
196
202
|
ctx.onStepCompleted = opts.dumpService.onStepCompleted;
|
|
203
|
+
ctx.onInFlightStepFailed = async (err) => {
|
|
204
|
+
// Filter on noRetry so only fail-fast errors (currently
|
|
205
|
+
// ClaudeQACaptureError) auto-trigger a dump. Other planner/
|
|
206
|
+
// reviewer errors continue to retry as before.
|
|
207
|
+
if (err?.noRetry === true) {
|
|
208
|
+
await opts.dumpService.trigger();
|
|
209
|
+
}
|
|
210
|
+
};
|
|
197
211
|
}
|
|
198
212
|
// Execute
|
|
199
213
|
const executor = new FlowExecutor(flow, handlers, opts.statusBar);
|
package/dist/orchestrator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAA0B,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EAAE,mBAAmB,EAAqB,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/prompts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAOpE,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAKxD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE;IACP,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,MAAM,CAmBR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,iBAAiB,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACpG,WAAW,EAAE,MAAM,GAClB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAOpE,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAKxD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE;IACP,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,MAAM,CAmBR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,iBAAiB,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACpG,WAAW,EAAE,MAAM,GAClB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAsCzC"}
|
package/dist/prompts.js
CHANGED
|
@@ -52,7 +52,14 @@ export function appendClarifications(taskContent, entries, startNumber) {
|
|
|
52
52
|
let n = startNumber;
|
|
53
53
|
for (const entry of entries) {
|
|
54
54
|
if (entry.type === "qa") {
|
|
55
|
-
|
|
55
|
+
const lines = [
|
|
56
|
+
`${n}. **Q:** ${entry.clarification.question}`,
|
|
57
|
+
` **A:** ${entry.clarification.answer}`,
|
|
58
|
+
];
|
|
59
|
+
if (entry.clarification.preview) {
|
|
60
|
+
lines.push("", " **Preview:**", "", " ```", ...entry.clarification.preview.split("\n").map((l) => ` ${l}`), " ```");
|
|
61
|
+
}
|
|
62
|
+
parts.push(lines.join("\n"));
|
|
56
63
|
}
|
|
57
64
|
else {
|
|
58
65
|
parts.push(`${n}. ${entry.text}`);
|
package/dist/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAE5E,IAAI,YAAY,GAAkB,IAAI,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,OAIC;IAED,MAAM,KAAK,GAAG,CAAC,mBAAmB,EAAE,EAAE,EAAE,gBAAgB,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAE/E,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CACR,QAAQ,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,QAAQ,OAAO,KAAK,CAAC,WAAW,EAAE,CAClF,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,QAAQ,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,OAAO,CAAC,iBAAiB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,OAAoG,EACpG,WAAmB;IAEnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAEnF,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,0JAA0J,CAAC,CAAC;IACzK,CAAC;IAED,IAAI,CAAC,GAAG,WAAW,CAAC;IACpB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { SessionLine } from "../../session/reader.js";
|
|
2
|
+
import { AbstractCompletionDetector } from "../base-completion.js";
|
|
3
|
+
/**
|
|
4
|
+
* Native Claude plan-mode completion detection.
|
|
5
|
+
*
|
|
6
|
+
* Plan-mode turns resolve only through the ExitPlanMode short-circuit or the
|
|
7
|
+
* deferred-tool prefetch fallback. They never use the primary two-signal text
|
|
8
|
+
* rule used by reviewer/implementor turns.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ClaudePlanModeDetector extends AbstractCompletionDetector {
|
|
11
|
+
private readonly exitToolName;
|
|
12
|
+
private pendingToolUses;
|
|
13
|
+
private pendingNonAsyncToolUses;
|
|
14
|
+
private exitToolCalled;
|
|
15
|
+
private sawResolvedPlanFileWrite;
|
|
16
|
+
private sawResolvedExitPlanModePrefetch;
|
|
17
|
+
private sawResolvedAskUserQuestionPrefetch;
|
|
18
|
+
private lastRelevantToolResultIdx;
|
|
19
|
+
private lastResolvedPlanFileWriteResultIdx;
|
|
20
|
+
private lastToolResultIdx;
|
|
21
|
+
private lastAssistantLineIdx;
|
|
22
|
+
constructor(pollMs?: number, quietMs?: number, exitToolName?: string, staleFallbackMs?: number);
|
|
23
|
+
protected analyzeLines(currentLines: SessionLine[]): void;
|
|
24
|
+
protected isPrimarySignalFired(): boolean;
|
|
25
|
+
protected shouldShortCircuit(_lines: SessionLine[]): boolean;
|
|
26
|
+
protected isStaleFallbackReady(): boolean;
|
|
27
|
+
protected shouldSuppressPtyTimerReset(): boolean;
|
|
28
|
+
protected extractResponse(lines: SessionLine[]): string;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=completion-plan-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion-plan-mode.d.ts","sourceRoot":"","sources":["../../../src/providers/claude/completion-plan-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAOnE;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,0BAA0B;IAelE,OAAO,CAAC,QAAQ,CAAC,YAAY;IAd/B,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,uBAAuB,CAAqB;IACpD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,+BAA+B,CAAS;IAChD,OAAO,CAAC,kCAAkC,CAAS;IACnD,OAAO,CAAC,yBAAyB,CAAM;IACvC,OAAO,CAAC,kCAAkC,CAAM;IAChD,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,oBAAoB,CAAM;gBAGhC,MAAM,SAAM,EACZ,OAAO,SAAM,EACI,YAAY,SAAiB,EAC9C,eAAe,SAAS;IAK1B,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAyDzD,SAAS,CAAC,oBAAoB,IAAI,OAAO;cAItB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO;cAIlD,oBAAoB,IAAI,OAAO;cAoB/B,2BAA2B,IAAI,OAAO;IAOzD,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM;CAGxD"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { AbstractCompletionDetector } from "../base-completion.js";
|
|
2
|
+
import { CLAUDE_PLAN_FILE_PATH_REGEX, extractClaudeResponse, } from "./session.js";
|
|
3
|
+
import { trackPendingToolUses } from "./tool-tracking.js";
|
|
4
|
+
/**
|
|
5
|
+
* Native Claude plan-mode completion detection.
|
|
6
|
+
*
|
|
7
|
+
* Plan-mode turns resolve only through the ExitPlanMode short-circuit or the
|
|
8
|
+
* deferred-tool prefetch fallback. They never use the primary two-signal text
|
|
9
|
+
* rule used by reviewer/implementor turns.
|
|
10
|
+
*/
|
|
11
|
+
export class ClaudePlanModeDetector extends AbstractCompletionDetector {
|
|
12
|
+
exitToolName;
|
|
13
|
+
pendingToolUses = new Set();
|
|
14
|
+
pendingNonAsyncToolUses = new Set();
|
|
15
|
+
exitToolCalled = false;
|
|
16
|
+
sawResolvedPlanFileWrite = false;
|
|
17
|
+
sawResolvedExitPlanModePrefetch = false;
|
|
18
|
+
sawResolvedAskUserQuestionPrefetch = false;
|
|
19
|
+
lastRelevantToolResultIdx = -1;
|
|
20
|
+
lastResolvedPlanFileWriteResultIdx = -1;
|
|
21
|
+
lastToolResultIdx = -1;
|
|
22
|
+
lastAssistantLineIdx = -1;
|
|
23
|
+
constructor(pollMs = 200, quietMs = 500, exitToolName = "ExitPlanMode", staleFallbackMs = 30_000) {
|
|
24
|
+
super(pollMs, quietMs, staleFallbackMs);
|
|
25
|
+
this.exitToolName = exitToolName;
|
|
26
|
+
}
|
|
27
|
+
analyzeLines(currentLines) {
|
|
28
|
+
const tracking = trackPendingToolUses(currentLines, {
|
|
29
|
+
ignoredToolNames: new Set([this.exitToolName]),
|
|
30
|
+
});
|
|
31
|
+
this.pendingToolUses = tracking.pendingToolUses;
|
|
32
|
+
this.pendingNonAsyncToolUses = tracking.pendingNonAsyncToolUses;
|
|
33
|
+
this.exitToolCalled = sawToolUse(currentLines, this.exitToolName);
|
|
34
|
+
this.sawResolvedPlanFileWrite = false;
|
|
35
|
+
this.sawResolvedExitPlanModePrefetch =
|
|
36
|
+
tracking.sawResolvedToolSearchExitPlanModePrefetch;
|
|
37
|
+
this.sawResolvedAskUserQuestionPrefetch =
|
|
38
|
+
tracking.sawResolvedToolSearchAskUserQuestionPrefetch;
|
|
39
|
+
this.lastRelevantToolResultIdx = -1;
|
|
40
|
+
this.lastResolvedPlanFileWriteResultIdx = -1;
|
|
41
|
+
this.lastToolResultIdx = tracking.lastToolResultIdx;
|
|
42
|
+
this.lastAssistantLineIdx = tracking.lastAssistantLineIdx;
|
|
43
|
+
for (const info of tracking.perToolUseInfo.values()) {
|
|
44
|
+
if (info.resolvedResultIdx < 0)
|
|
45
|
+
continue;
|
|
46
|
+
if (info.name !== "ToolSearch") {
|
|
47
|
+
this.lastRelevantToolResultIdx = Math.max(this.lastRelevantToolResultIdx, info.resolvedResultIdx);
|
|
48
|
+
}
|
|
49
|
+
const isPlanFileWrite = (info.name === "Write" || info.name === "Edit") &&
|
|
50
|
+
typeof info.filePath === "string" &&
|
|
51
|
+
CLAUDE_PLAN_FILE_PATH_REGEX.test(info.filePath);
|
|
52
|
+
if (isPlanFileWrite) {
|
|
53
|
+
this.sawResolvedPlanFileWrite = true;
|
|
54
|
+
this.lastResolvedPlanFileWriteResultIdx = Math.max(this.lastResolvedPlanFileWriteResultIdx, info.resolvedResultIdx);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (this.priorLines.length > 0) {
|
|
58
|
+
if (!this.sawResolvedExitPlanModePrefetch) {
|
|
59
|
+
this.sawResolvedExitPlanModePrefetch = didResolvePrefetchFor(this.priorLines, "ExitPlanMode");
|
|
60
|
+
}
|
|
61
|
+
if (!this.sawResolvedAskUserQuestionPrefetch) {
|
|
62
|
+
this.sawResolvedAskUserQuestionPrefetch = didResolvePrefetchFor(this.priorLines, "AskUserQuestion");
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
isPrimarySignalFired() {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
shouldShortCircuit(_lines) {
|
|
70
|
+
return this.exitToolCalled && this.pendingNonAsyncToolUses.size === 0;
|
|
71
|
+
}
|
|
72
|
+
isStaleFallbackReady() {
|
|
73
|
+
if (this.pendingToolUses.size > 0)
|
|
74
|
+
return false;
|
|
75
|
+
if (!this.sawResolvedPlanFileWrite)
|
|
76
|
+
return false;
|
|
77
|
+
if (!this.sawResolvedExitPlanModePrefetch)
|
|
78
|
+
return false;
|
|
79
|
+
if (this.lastRelevantToolResultIdx >= 0 &&
|
|
80
|
+
this.lastResolvedPlanFileWriteResultIdx < this.lastRelevantToolResultIdx) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
if (!this.sawResolvedAskUserQuestionPrefetch)
|
|
84
|
+
return true;
|
|
85
|
+
const startedAssistantTurnAfterLastToolResult = this.lastToolResultIdx >= 0 &&
|
|
86
|
+
this.lastAssistantLineIdx > this.lastToolResultIdx;
|
|
87
|
+
return !startedAssistantTurnAfterLastToolResult;
|
|
88
|
+
}
|
|
89
|
+
shouldSuppressPtyTimerReset() {
|
|
90
|
+
return ((this.exitToolCalled && this.pendingNonAsyncToolUses.size === 0) ||
|
|
91
|
+
this.isStaleFallbackReady());
|
|
92
|
+
}
|
|
93
|
+
extractResponse(lines) {
|
|
94
|
+
return extractClaudeResponse(lines);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
function sawToolUse(lines, toolName) {
|
|
98
|
+
for (const line of lines) {
|
|
99
|
+
if (line.type !== "assistant")
|
|
100
|
+
continue;
|
|
101
|
+
const message = line.message;
|
|
102
|
+
if (!message?.content)
|
|
103
|
+
continue;
|
|
104
|
+
for (const block of message.content) {
|
|
105
|
+
if (block.type === "tool_use" && block.name === toolName) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Scan a slice of session lines for a resolved
|
|
114
|
+
* ToolSearch({query: includes(needle)}) invocation.
|
|
115
|
+
*/
|
|
116
|
+
function didResolvePrefetchFor(lines, needle) {
|
|
117
|
+
const prefetchIds = new Set();
|
|
118
|
+
const resolvedIds = new Set();
|
|
119
|
+
for (const line of lines) {
|
|
120
|
+
if (line.type === "assistant") {
|
|
121
|
+
const message = line.message;
|
|
122
|
+
if (!message?.content)
|
|
123
|
+
continue;
|
|
124
|
+
for (const block of message.content) {
|
|
125
|
+
if (block.type === "tool_use" &&
|
|
126
|
+
block.id &&
|
|
127
|
+
block.name === "ToolSearch" &&
|
|
128
|
+
typeof block.input?.query === "string" &&
|
|
129
|
+
block.input.query.includes(needle)) {
|
|
130
|
+
prefetchIds.add(block.id);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else if (line.type === "user") {
|
|
135
|
+
const message = line.message;
|
|
136
|
+
if (!message?.content || typeof message.content === "string")
|
|
137
|
+
continue;
|
|
138
|
+
for (const block of message.content) {
|
|
139
|
+
if (block.type === "tool_result" && block.tool_use_id) {
|
|
140
|
+
resolvedIds.add(block.tool_use_id);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
for (const id of prefetchIds) {
|
|
146
|
+
if (resolvedIds.has(id))
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=completion-plan-mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion-plan-mode.js","sourceRoot":"","sources":["../../../src/providers/claude/completion-plan-mode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,62 +1,23 @@
|
|
|
1
1
|
import type { SessionLine } from "../../session/reader.js";
|
|
2
2
|
import { AbstractCompletionDetector } from "../base-completion.js";
|
|
3
3
|
/**
|
|
4
|
-
* Claude completion detection using the two-signal rule:
|
|
4
|
+
* Claude completion detection for normal turns using the two-signal rule:
|
|
5
5
|
*
|
|
6
|
-
* 1.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* 1. Track tool_use IDs in assistant messages and mark them resolved when a
|
|
7
|
+
* matching tool_result or async <task-notification> appears.
|
|
8
|
+
* 2. Complete only after pending tools are empty, assistant text exists after
|
|
9
|
+
* the latest tool activity, and the quiet debounce elapses.
|
|
9
10
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
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`).
|
|
38
|
-
*
|
|
39
|
-
* The ToolSearch prefetch is a **session-scoped** fact: once Claude has
|
|
40
|
-
* resolved `ToolSearch(select:ExitPlanMode)` anywhere in the session, the
|
|
41
|
-
* schema stays loaded for every subsequent turn. So the prefetch check
|
|
42
|
-
* inspects both the current turn (`currentLines`) and the pre-resume
|
|
43
|
-
* prefix (`priorLines`). The plan-file Write/Edit half remains
|
|
44
|
-
* **turn-scoped** — iteration N must do its own edit before the fallback
|
|
45
|
-
* arms, so a stale plan from iteration 1 cannot resolve iteration 2
|
|
46
|
-
* before any work happens.
|
|
11
|
+
* This detector deliberately contains no plan-mode behavior. Native plan-mode
|
|
12
|
+
* planner and simplifier turns use ClaudePlanModeDetector instead.
|
|
47
13
|
*/
|
|
48
|
-
export declare class
|
|
49
|
-
private readonly exitToolName?;
|
|
14
|
+
export declare class ClaudePrimaryDetector extends AbstractCompletionDetector {
|
|
50
15
|
private pendingToolUses;
|
|
51
16
|
private hasTextOutput;
|
|
52
17
|
private primaryFired;
|
|
53
|
-
|
|
54
|
-
private planExitPrefetchComplete;
|
|
55
|
-
constructor(pollMs?: number, quietMs?: number, exitToolName?: string | undefined, staleFallbackMs?: number);
|
|
18
|
+
constructor(pollMs?: number, quietMs?: number);
|
|
56
19
|
protected analyzeLines(currentLines: SessionLine[]): void;
|
|
57
20
|
protected isPrimarySignalFired(): boolean;
|
|
58
|
-
protected shouldShortCircuit(_lines: SessionLine[]): boolean;
|
|
59
|
-
protected isStaleFallbackReady(): boolean;
|
|
60
21
|
protected shouldSuppressPtyTimerReset(): boolean;
|
|
61
22
|
protected extractResponse(lines: SessionLine[]): string;
|
|
62
23
|
}
|
|
@@ -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;
|
|
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;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAInE;;;;;;;;;;GAUG;AACH,qBAAa,qBAAsB,SAAQ,0BAA0B;IACnE,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,SAAM,EAAE,OAAO,SAAM;IAIvC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAmBzD,SAAS,CAAC,oBAAoB,IAAI,OAAO;cAItB,2BAA2B,IAAI,OAAO;IAIzD,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM;CAGxD"}
|