poly-weaver 0.10.4 → 0.10.6
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/adapter.d.ts.map +1 -1
- package/dist/agents/implementors/adapter.js +4 -0
- package/dist/agents/implementors/adapter.js.map +1 -1
- package/dist/agents/implementors/handler.d.ts.map +1 -1
- package/dist/agents/implementors/handler.js +20 -11
- package/dist/agents/implementors/handler.js.map +1 -1
- package/dist/agents/interviewers/adapter.d.ts +1 -5
- package/dist/agents/interviewers/adapter.d.ts.map +1 -1
- package/dist/agents/interviewers/adapter.js +0 -35
- package/dist/agents/interviewers/adapter.js.map +1 -1
- package/dist/agents/interviewers/handler.d.ts.map +1 -1
- package/dist/agents/interviewers/handler.js +2 -1
- package/dist/agents/interviewers/handler.js.map +1 -1
- package/dist/agents/interviewers/types.d.ts +3 -5
- package/dist/agents/interviewers/types.d.ts.map +1 -1
- package/dist/agents/planners/adapter.d.ts.map +1 -1
- package/dist/agents/planners/adapter.js +4 -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 +36 -21
- package/dist/agents/planners/handler.js.map +1 -1
- package/dist/agents/reviewers/adapter.d.ts +3 -3
- package/dist/agents/reviewers/adapter.d.ts.map +1 -1
- package/dist/agents/reviewers/adapter.js +21 -11
- package/dist/agents/reviewers/adapter.js.map +1 -1
- package/dist/agents/reviewers/handler.d.ts.map +1 -1
- package/dist/agents/reviewers/handler.js +51 -39
- package/dist/agents/reviewers/handler.js.map +1 -1
- package/dist/agents/reviewers/index.d.ts +3 -3
- package/dist/agents/reviewers/index.js +7 -7
- package/dist/agents/reviewers/index.js.map +1 -1
- package/dist/agents/reviewers/prompts.d.ts +1 -1
- package/dist/agents/reviewers/prompts.d.ts.map +1 -1
- package/dist/agents/reviewers/prompts.js +38 -8
- package/dist/agents/reviewers/prompts.js.map +1 -1
- package/dist/agents/reviewers/types.d.ts +5 -11
- 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 +14 -0
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +65 -0
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/session-resume.d.ts +32 -0
- package/dist/agents/session-resume.d.ts.map +1 -0
- package/dist/agents/session-resume.js +81 -0
- package/dist/agents/session-resume.js.map +1 -0
- package/dist/agents/simplifiers/handler.d.ts.map +1 -1
- package/dist/agents/simplifiers/handler.js +24 -13
- package/dist/agents/simplifiers/handler.js.map +1 -1
- package/dist/flow/dsl.js +1 -1
- package/dist/flow/dsl.js.map +1 -1
- package/dist/flow/executor.d.ts.map +1 -1
- package/dist/flow/executor.js +3 -0
- package/dist/flow/executor.js.map +1 -1
- package/dist/flow/params.d.ts.map +1 -1
- package/dist/flow/params.js +38 -15
- package/dist/flow/params.js.map +1 -1
- package/dist/flow/types.d.ts +6 -0
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/flow/types.js.map +1 -1
- package/dist/preview-panel.d.ts.map +1 -1
- package/dist/preview-panel.js +30 -5
- package/dist/preview-panel.js.map +1 -1
- package/dist/providers/claude/completion-plan-mode.js +1 -1
- package/dist/providers/claude/completion-plan-mode.js.map +1 -1
- package/dist/providers/claude/plan-mode-pty-monitor.d.ts +22 -11
- package/dist/providers/claude/plan-mode-pty-monitor.d.ts.map +1 -1
- package/dist/providers/claude/plan-mode-pty-monitor.js +34 -12
- package/dist/providers/claude/plan-mode-pty-monitor.js.map +1 -1
- package/dist/providers/option-catalog.d.ts +2 -2
- package/dist/providers/option-catalog.d.ts.map +1 -1
- package/dist/providers/option-catalog.js +49 -5
- package/dist/providers/option-catalog.js.map +1 -1
- package/dist/providers/version.d.ts +1 -1
- package/dist/providers/version.d.ts.map +1 -1
- package/dist/providers/version.js +25 -4
- package/dist/providers/version.js.map +1 -1
- package/dist/session/manifest.d.ts +9 -11
- package/dist/session/manifest.d.ts.map +1 -1
- package/dist/session/restore.d.ts.map +1 -1
- package/dist/session/restore.js +4 -5
- package/dist/session/restore.js.map +1 -1
- package/dist/user/host-curate-prompt.d.ts +1 -1
- package/dist/user/host-curate-prompt.js +7 -7
- package/dist/user/host-curate-prompt.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,KAAK,qBAAqB,GAAG;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,qBAAqB,EAC3B,OAAO,GAAE,oBAAgD,GACxD,MAAM,CAWR;AAED,qBAAa,kBAAmB,SAAQ,WAAY,YAAW,iBAAiB;IAI5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAFzB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACE,OAAO,CAAC,EAAE,oBAAoB,YAAA,EAC/C,IAAI,CAAC,EAAE,OAAO,EACd,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM;IAKtB,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,KAAK,qBAAqB,GAAG;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,qBAAqB,EAC3B,OAAO,GAAE,oBAAgD,GACxD,MAAM,CAWR;AAED,qBAAa,kBAAmB,SAAQ,WAAY,YAAW,iBAAiB;IAI5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAFzB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACE,OAAO,CAAC,EAAE,oBAAoB,YAAA,EAC/C,IAAI,CAAC,EAAE,OAAO,EACd,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM;IAKtB,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,eAAe,CAAC;CAwB5B"}
|
|
@@ -20,11 +20,15 @@ export class ImplementorAdapter extends BaseAdapter {
|
|
|
20
20
|
}
|
|
21
21
|
async run(planFile, opts = {}) {
|
|
22
22
|
const prompt = selectImplementorPrompt(planFile, opts, this.prompts);
|
|
23
|
+
const freshFallbackPrompt = opts.resumeSessionId
|
|
24
|
+
? selectImplementorPrompt(planFile, { ...opts, resumeSessionId: undefined }, this.prompts)
|
|
25
|
+
: undefined;
|
|
23
26
|
const result = await this.runAgent({
|
|
24
27
|
prompt,
|
|
25
28
|
workdir: this.workdir,
|
|
26
29
|
resumeSessionId: opts.resumeSessionId,
|
|
27
30
|
sessionFilePath: this.sessionFilePath,
|
|
31
|
+
freshFallbackPrompt,
|
|
28
32
|
});
|
|
29
33
|
return {
|
|
30
34
|
sessionId: result.sessionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/implementors/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAQzD,MAAM,UAAU,uBAAuB,CACrC,QAAgB,EAChB,IAA2B,EAC3B,UAAgC,yBAAyB;IAEzD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IAI9B;IAHnB,YACE,QAA0B,EAC1B,OAAe,EACE,OAA8B,EAC/C,IAAc,EACd,KAAc,EACd,MAAe,EACf,iBAA0B;QAE1B,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QANhD,YAAO,GAAP,OAAO,CAAuB;IAOjD,CAAC;IAED,KAAK,CAAC,GAAG,CACP,QAAgB,EAChB,OAA8B,EAAE;QAEhC,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;YACjC,MAAM;YACN,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,eAAe,EAAE,IAAI,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/implementors/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAQzD,MAAM,UAAU,uBAAuB,CACrC,QAAgB,EAChB,IAA2B,EAC3B,UAAgC,yBAAyB;IAEzD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IAI9B;IAHnB,YACE,QAA0B,EAC1B,OAAe,EACE,OAA8B,EAC/C,IAAc,EACd,KAAc,EACd,MAAe,EACf,iBAA0B;QAE1B,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QANhD,YAAO,GAAP,OAAO,CAAuB;IAOjD,CAAC;IAED,KAAK,CAAC,GAAG,CACP,QAAgB,EAChB,OAA8B,EAAE;QAEhC,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe;YAC9C,CAAC,CAAC,uBAAuB,CACrB,QAAQ,EACR,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,EACvC,IAAI,CAAC,OAAO,CACb;YACH,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;YACjC,MAAM;YACN,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,mBAAmB;SACpB,CAAC,CAAC;QAEH,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,YAAY;YAC5B,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAc7B,qBAAa,sBAAuB,YAAW,WAAW;IAI5C,OAAO,CAAC,MAAM;IAH1B,2EAA2E;IAC3E,OAAO,CAAC,cAAc,CAA+C;gBAEjD,MAAM,EAAE,iBAAiB;IAEvC,OAAO,CACX,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,UAAU,CAAC;CAkFvB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { bindAttemptFailureReporter, bindDriverRuntime, bindPtyBufferReporter, bindSessionReporter, flushDriverSidecar, } from "../runner.js";
|
|
2
|
+
import { bindStepLiveSidecar, cleanupStepLiveSidecar, resolveResumeSessionId, } from "../session-resume.js";
|
|
2
3
|
export class ImplementorRoleHandler {
|
|
3
4
|
driver;
|
|
4
5
|
/** Tracks the last execution mode per step ID for session invalidation. */
|
|
@@ -15,7 +16,8 @@ export class ImplementorRoleHandler {
|
|
|
15
16
|
const lastMode = this.lastModeByStep.get(step.id);
|
|
16
17
|
const stepAny = step;
|
|
17
18
|
const sessionKey = stepAny.sessionShareKey ?? step.id;
|
|
18
|
-
|
|
19
|
+
const boundaryFired = stepAny.sessionBoundary?.(ctx) === true;
|
|
20
|
+
if (boundaryFired) {
|
|
19
21
|
ctx.sessionIds.delete(sessionKey);
|
|
20
22
|
}
|
|
21
23
|
let planFile;
|
|
@@ -37,21 +39,27 @@ export class ImplementorRoleHandler {
|
|
|
37
39
|
? ctx.artifacts.get(step.reads.verdict) : undefined;
|
|
38
40
|
feedbackFile = verdictArtifact?.file;
|
|
39
41
|
// Resume only if previous invocation was also in normal mode (or first time).
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
: undefined;
|
|
42
|
+
const normalMode = lastMode === undefined || lastMode === "normal";
|
|
43
|
+
resumeSessionId = await resolveResumeSessionId(ctx, stepAny, this.driver, sessionKey, normalMode ? ctx.sessionIds.get(sessionKey) : undefined, boundaryFired, normalMode);
|
|
43
44
|
}
|
|
44
45
|
bindSessionReporter(this.driver, ctx.lastStepSessionFilePaths);
|
|
45
46
|
bindPtyBufferReporter(this.driver, ctx);
|
|
46
47
|
bindAttemptFailureReporter(this.driver, ctx);
|
|
47
48
|
bindDriverRuntime(this.driver, { output: ctx.output, terminalHost: ctx.terminalHost });
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
const sidecarPath = bindStepLiveSidecar(this.driver, ctx, sessionKey, stepAny.driver);
|
|
50
|
+
let implResult;
|
|
51
|
+
try {
|
|
52
|
+
implResult = await retry("implementor", async (attempt) => {
|
|
53
|
+
return this.driver.run(planFile, {
|
|
54
|
+
resumeSessionId: attempt === 1 ? resumeSessionId : undefined,
|
|
55
|
+
feedbackFile: feedbackFile ?? undefined,
|
|
56
|
+
changePlan: revisePlanFile ? true : undefined,
|
|
57
|
+
});
|
|
53
58
|
});
|
|
54
|
-
}
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
await flushDriverSidecar(this.driver);
|
|
62
|
+
}
|
|
55
63
|
// Record session file for dump
|
|
56
64
|
if (implResult.sessionFilePath) {
|
|
57
65
|
ctx.lastStepSessionFilePaths?.push(implResult.sessionFilePath);
|
|
@@ -60,6 +68,7 @@ export class ImplementorRoleHandler {
|
|
|
60
68
|
if (implResult.sessionId) {
|
|
61
69
|
ctx.sessionIds.set(sessionKey, implResult.sessionId);
|
|
62
70
|
}
|
|
71
|
+
await cleanupStepLiveSidecar(sidecarPath);
|
|
63
72
|
return { kind: "continue" };
|
|
64
73
|
}
|
|
65
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/implementors/handler.ts"],"names":[],"mappings":"AASA,OAAO,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/implementors/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import type { ProviderStrategy } from "../../providers/types.js";
|
|
2
2
|
import { BaseAdapter } from "../runner.js";
|
|
3
|
-
import type { InterviewerDriver,
|
|
3
|
+
import type { InterviewerDriver, InterviewerPromptSet, InterviewerRunOpts, InterviewResult } from "./types.js";
|
|
4
4
|
export declare class InterviewerAdapter extends BaseAdapter implements InterviewerDriver {
|
|
5
5
|
private readonly prompts;
|
|
6
|
-
private pendingSidecarWrite;
|
|
7
6
|
constructor(strategy: ProviderStrategy, workdir: string, prompts?: InterviewerPromptSet, yolo?: boolean, model?: string, effort?: string, sessionFileWaitMs?: number);
|
|
8
7
|
run(opts: InterviewerRunOpts): Promise<InterviewResult>;
|
|
9
8
|
resolveCurrentSessionId(): Promise<string | undefined>;
|
|
10
9
|
predictSessionFile(sessionId: string): string | undefined;
|
|
11
|
-
setLiveSidecar(sidecarPath: string, meta: InterviewerLiveSidecarMeta): void;
|
|
12
|
-
flushPendingSidecar(): Promise<void>;
|
|
13
|
-
private writeSidecar;
|
|
14
10
|
private buildPrompt;
|
|
15
11
|
private buildFreshFallbackPrompt;
|
|
16
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EACV,iBAAiB,EAEjB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,qBAAa,kBAAmB,SAAQ,WAAY,YAAW,iBAAiB;IAI5E,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFxB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACE,OAAO,GAAE,oBAAgD,EAC1E,IAAI,CAAC,EAAE,OAAO,EACd,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM;IAKtB,GAAG,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;IA0BvD,uBAAuB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAU5D,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIzD,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,wBAAwB;CAWjC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { writeFile } from "node:fs/promises";
|
|
2
1
|
import { BaseAdapter } from "../runner.js";
|
|
3
2
|
import { defaultInterviewerPrompts } from "./prompts.js";
|
|
4
3
|
export class InterviewerAdapter extends BaseAdapter {
|
|
5
4
|
prompts;
|
|
6
|
-
pendingSidecarWrite;
|
|
7
5
|
constructor(strategy, workdir, prompts = defaultInterviewerPrompts, yolo, model, effort, sessionFileWaitMs) {
|
|
8
6
|
super(strategy, workdir, yolo, model, effort, sessionFileWaitMs);
|
|
9
7
|
this.prompts = prompts;
|
|
@@ -46,39 +44,6 @@ export class InterviewerAdapter extends BaseAdapter {
|
|
|
46
44
|
predictSessionFile(sessionId) {
|
|
47
45
|
return this.strategy.session.predictSessionFile?.(this.workdir, sessionId);
|
|
48
46
|
}
|
|
49
|
-
setLiveSidecar(sidecarPath, meta) {
|
|
50
|
-
const previous = this.sessionFileCallback;
|
|
51
|
-
this.sessionFileCallback = (path) => {
|
|
52
|
-
previous?.(path);
|
|
53
|
-
const prior = this.pendingSidecarWrite ?? Promise.resolve();
|
|
54
|
-
this.pendingSidecarWrite = prior.then(() => this.writeSidecar(sidecarPath, meta, path));
|
|
55
|
-
void this.pendingSidecarWrite.catch(() => { });
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
async flushPendingSidecar() {
|
|
59
|
-
if (!this.pendingSidecarWrite)
|
|
60
|
-
return;
|
|
61
|
-
try {
|
|
62
|
-
await this.pendingSidecarWrite;
|
|
63
|
-
}
|
|
64
|
-
catch {
|
|
65
|
-
/* best-effort */
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
async writeSidecar(sidecarPath, meta, sessionFilePath) {
|
|
69
|
-
try {
|
|
70
|
-
const sessionId = await this.strategy.session.extractSessionId(sessionFilePath);
|
|
71
|
-
await writeFile(sidecarPath, JSON.stringify({
|
|
72
|
-
sessionId,
|
|
73
|
-
driver: meta.driver,
|
|
74
|
-
sessionKey: meta.sessionKey,
|
|
75
|
-
lastUpdated: new Date().toISOString(),
|
|
76
|
-
}), "utf8");
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
/* best-effort */
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
47
|
buildPrompt(mode, opts) {
|
|
83
48
|
switch (mode) {
|
|
84
49
|
case "initial":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/interviewers/adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/interviewers/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,QAAQ,EACR,OAAO,EACP,WAAW,EACX,WAAW,EACX,UAAU,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,YAAY,CAAC;AAEpB,0EAA0E;AAC1E,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,OAAO,EAAE,MAAM;CAI5B;AAoCD,qBAAa,sBAAuB,YAAW,WAAW;IAC5C,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAEvC,OAAO,CACX,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,UAAU,CAAC;IAwHtB;;;;;;OAMG;YACW,qBAAqB;IAuDnC,OAAO,CAAC,oCAAoC;CAsB7C"}
|
|
@@ -2,6 +2,7 @@ import { existsSync } from "node:fs";
|
|
|
2
2
|
import { readFile, rm } from "node:fs/promises";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { bindSessionReporter, bindDriverRuntime, bindPtyBufferReporter, bindAttemptFailureReporter } from "../runner.js";
|
|
5
|
+
import { liveSidecarPath } from "../session-resume.js";
|
|
5
6
|
/** Thrown by the validation step inside the retry closure — retryable. */
|
|
6
7
|
export class InterviewerValidationError extends Error {
|
|
7
8
|
constructor(message) {
|
|
@@ -63,7 +64,7 @@ export class InterviewerRoleHandler {
|
|
|
63
64
|
terminalHost: ctx.terminalHost,
|
|
64
65
|
});
|
|
65
66
|
const sidecarPath = ctx.persistentDir
|
|
66
|
-
?
|
|
67
|
+
? liveSidecarPath(ctx.persistentDir, sessionKey)
|
|
67
68
|
: undefined;
|
|
68
69
|
if (sidecarPath) {
|
|
69
70
|
this.driver.setLiveSidecar(sidecarPath, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/interviewers/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/interviewers/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { LiveSidecarMeta } from "../runner.js";
|
|
1
2
|
/**
|
|
2
3
|
* Modes the handler can drive the interviewer into. The adapter selects
|
|
3
4
|
* the prompt by mode; freshFallbackPrompt selection (see adapter) handles
|
|
@@ -11,10 +12,7 @@ export interface InterviewerPromptSet {
|
|
|
11
12
|
revise: (feedbackFile: string, specFile: string, markerFile: string) => string;
|
|
12
13
|
rehydrate: (taskFile: string, specFile: string, markerFile: string, feedbackFile: string | undefined) => string;
|
|
13
14
|
}
|
|
14
|
-
export
|
|
15
|
-
driver: string;
|
|
16
|
-
sessionKey: string;
|
|
17
|
-
}
|
|
15
|
+
export type InterviewerLiveSidecarMeta = LiveSidecarMeta;
|
|
18
16
|
export interface InterviewerRunOpts {
|
|
19
17
|
mode: InterviewerMode;
|
|
20
18
|
taskFile: string;
|
|
@@ -44,7 +42,7 @@ export interface InterviewerDriver {
|
|
|
44
42
|
/** Resolve session id even if `run()` threw — delegates to provider extractSessionId. */
|
|
45
43
|
resolveCurrentSessionId(): Promise<string | undefined>;
|
|
46
44
|
/** Register sidecar destination. Adapter chains the write into its existing callback. */
|
|
47
|
-
setLiveSidecar(sidecarPath: string, meta:
|
|
45
|
+
setLiveSidecar(sidecarPath: string, meta: LiveSidecarMeta): void;
|
|
48
46
|
/** Await any in-flight sidecar write (called by handler `finally` so Ctrl+C can't lose it). */
|
|
49
47
|
flushPendingSidecar(): Promise<void>;
|
|
50
48
|
/** Optional: predict the on-disk session file path for an id. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,UAAU,GACV,oBAAoB,GACpB,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5E,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IACpE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IACnE,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/E,SAAS,EAAE,CACT,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GAAG,SAAS,KAC7B,MAAM,CAAC;CACb;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,UAAU,GACV,oBAAoB,GACpB,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5E,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IACpE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IACnE,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/E,SAAS,EAAE,CACT,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GAAG,SAAS,KAC7B,MAAM,CAAC;CACb;AAED,MAAM,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACxD,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;IACnC,yFAAyF;IACzF,uBAAuB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACvD,yFAAyF;IACzF,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IACjE,+FAA+F;IAC/F,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,iEAAiE;IACjE,kBAAkB,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/agents/planners/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,KAAK,iBAAiB,GAAG;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,EACvB,OAAO,GAAE,gBAAwC,GAChD,MAAM,CAmCR;AAED,qBAAa,cAAe,SAAQ,WAAY,YAAW,aAAa;IAIpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAFzB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACE,OAAO,CAAC,EAAE,gBAAgB,YAAA,EAC3C,IAAI,CAAC,EAAE,OAAO,EACd,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM;IAKtB,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/agents/planners/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,KAAK,iBAAiB,GAAG;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,EACvB,OAAO,GAAE,gBAAwC,GAChD,MAAM,CAmCR;AAED,qBAAa,cAAe,SAAQ,WAAY,YAAW,aAAa;IAIpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAFzB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACE,OAAO,CAAC,EAAE,gBAAgB,YAAA,EAC3C,IAAI,CAAC,EAAE,OAAO,EACd,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM;IAKtB,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,UAAU,CAAC;CA6DvB"}
|
|
@@ -31,11 +31,15 @@ export class PlannerAdapter extends BaseAdapter {
|
|
|
31
31
|
: opts;
|
|
32
32
|
const rawPrompt = selectPlannerPrompt(taskFile, promptOpts, this.prompts);
|
|
33
33
|
const prompt = this.applyPlanModePrompt(rawPrompt);
|
|
34
|
+
const freshFallbackPrompt = opts.resumeSessionId
|
|
35
|
+
? this.applyPlanModePrompt(selectPlannerPrompt(taskFile, { ...promptOpts, resumeSessionId: undefined }, this.prompts))
|
|
36
|
+
: undefined;
|
|
34
37
|
const result = await this.runAgent({
|
|
35
38
|
prompt,
|
|
36
39
|
workdir: this.workdir,
|
|
37
40
|
resumeSessionId: opts.resumeSessionId,
|
|
38
41
|
sessionFilePath: this.sessionFilePath,
|
|
42
|
+
freshFallbackPrompt,
|
|
39
43
|
permissionFlags: planMode.permissionFlags,
|
|
40
44
|
promptPrefix: planMode.argPrefix,
|
|
41
45
|
planMode: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/planners/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAWrD,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,IAAuB,EACvB,UAA4B,qBAAqB;IAEjD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,qDAAqD;QACrD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,OAAO,OAAO,CAAC,kBAAkB,CAC/B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,CACpB,CAAC;YACJ,CAAC;YACD,OAAO,OAAO,CAAC,YAAY,CACzB,QAAQ,EACR,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,CACpB,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,cAAc,CAC3B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,IAAI,UAAU,EACjC,IAAI,CAAC,cAAc,CACpB,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CACrB,QAAQ,EACR,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,IAAI,UAAU,EACjC,IAAI,CAAC,cAAc,CACpB,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,WAAW;IAI1B;IAHnB,YACE,QAA0B,EAC1B,OAAe,EACE,OAA0B,EAC3C,IAAc,EACd,KAAc,EACd,MAAe,EACf,iBAA0B;QAE1B,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QANhD,YAAO,GAAP,OAAO,CAAmB;IAO7C,CAAC;IAED,KAAK,CAAC,GAAG,CACP,QAAgB,EAChB,IAAuB;QAEvB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEnC,+EAA+E;QAC/E,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc;YACxC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE;YACxC,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/planners/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/agents/planners/handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/agents/planners/handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAmB7B,qBAAa,kBAAmB,YAAW,WAAW;IAGxC,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,WAAW,CAAK;gBAEJ,MAAM,EAAE,aAAa;IAEnC,OAAO,CACX,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,UAAU,CAAC;CAgIvB"}
|
|
@@ -3,7 +3,8 @@ import { join } from "node:path";
|
|
|
3
3
|
import { appendClarifications } from "../../prompts.js";
|
|
4
4
|
import { readPlanFromContract, removeFileIfExists, } from "../../orchestrator.js";
|
|
5
5
|
import { TASK, } from "../../flow/types.js";
|
|
6
|
-
import {
|
|
6
|
+
import { bindAttemptFailureReporter, bindDriverRuntime, bindPtyBufferReporter, bindSessionReporter, flushDriverSidecar, } from "../runner.js";
|
|
7
|
+
import { bindStepLiveSidecar, cleanupStepLiveSidecar, resolveResumeSessionId, } from "../session-resume.js";
|
|
7
8
|
/** Return the plan file path for a given version (1-based). */
|
|
8
9
|
function planFileForVersion(root, version) {
|
|
9
10
|
return join(root, `plan-v${version}.md`);
|
|
@@ -26,17 +27,21 @@ export class PlannerRoleHandler {
|
|
|
26
27
|
const feedbackSource = feedbackFile
|
|
27
28
|
? verdictArtifact?.meta?.source
|
|
28
29
|
: undefined;
|
|
29
|
-
const prevPlanFile =
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
const prevPlanFile = ctx.artifacts.getFile(step.writes.plan);
|
|
31
|
+
if (this.planVersion === 0) {
|
|
32
|
+
const restoredVersion = ctx.artifacts.getMeta(step.writes.plan, "version");
|
|
33
|
+
if (restoredVersion != null && restoredVersion > 0)
|
|
34
|
+
this.planVersion = restoredVersion;
|
|
35
|
+
}
|
|
32
36
|
this.planVersion++;
|
|
33
37
|
const outputPlanFile = planFileForVersion(ctx.sessionDir, this.planVersion);
|
|
34
38
|
const stepAny = step;
|
|
35
39
|
const sessionKey = stepAny.sessionShareKey ?? step.id;
|
|
36
|
-
|
|
40
|
+
const boundaryFired = stepAny.sessionBoundary?.(ctx) === true;
|
|
41
|
+
if (boundaryFired) {
|
|
37
42
|
ctx.sessionIds.delete(sessionKey);
|
|
38
43
|
}
|
|
39
|
-
const resumeSessionId = ctx.sessionIds.get(sessionKey);
|
|
44
|
+
const resumeSessionId = await resolveResumeSessionId(ctx, stepAny, this.driver, sessionKey, ctx.sessionIds.get(sessionKey), boundaryFired);
|
|
40
45
|
// implReplan is the "impl-review revising the plan" case: a planner step
|
|
41
46
|
// whose task input is remapped to something other than TASK (and whose
|
|
42
47
|
// input is therefore not the original task). Spec-driven planning still
|
|
@@ -47,21 +52,30 @@ export class PlannerRoleHandler {
|
|
|
47
52
|
bindPtyBufferReporter(this.driver, ctx);
|
|
48
53
|
bindAttemptFailureReporter(this.driver, ctx);
|
|
49
54
|
bindDriverRuntime(this.driver, { output: ctx.output, terminalHost: ctx.terminalHost });
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
55
|
+
const sidecarPath = bindStepLiveSidecar(this.driver, ctx, sessionKey, stepAny.driver);
|
|
56
|
+
let planResult;
|
|
57
|
+
let planText;
|
|
58
|
+
let actualPlanFile;
|
|
59
|
+
try {
|
|
60
|
+
({ planResult, planText, actualPlanFile } = await retry("planner", async (attempt) => {
|
|
61
|
+
if (attempt > 1)
|
|
62
|
+
await removeFileIfExists(outputPlanFile);
|
|
63
|
+
const planResult = await this.driver.run(specFile, {
|
|
64
|
+
outputPlanFile,
|
|
65
|
+
resumeSessionId: attempt === 1 ? resumeSessionId : undefined,
|
|
66
|
+
planFile: feedbackSource ? prevPlanFile : undefined,
|
|
67
|
+
feedbackFile: feedbackSource ? feedbackFile : undefined,
|
|
68
|
+
feedbackSource,
|
|
69
|
+
implReplan,
|
|
70
|
+
});
|
|
71
|
+
const actualPlanFile = planResult.planFilePath ?? outputPlanFile;
|
|
72
|
+
const planText = await readPlanFromContract(actualPlanFile);
|
|
73
|
+
return { planResult, planText, actualPlanFile };
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
await flushDriverSidecar(this.driver);
|
|
78
|
+
}
|
|
65
79
|
// Record session file for dump
|
|
66
80
|
if (planResult.sessionFilePath) {
|
|
67
81
|
ctx.lastStepSessionFilePaths?.push(planResult.sessionFilePath);
|
|
@@ -109,6 +123,7 @@ export class PlannerRoleHandler {
|
|
|
109
123
|
}
|
|
110
124
|
}
|
|
111
125
|
}
|
|
126
|
+
await cleanupStepLiveSidecar(sidecarPath);
|
|
112
127
|
return { kind: "continue" };
|
|
113
128
|
}
|
|
114
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/planners/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,IAAI,GAOL,MAAM,qBAAqB,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/planners/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { ReviewerDriver, ReviewResult, ReviewPromptBuilder, ReviewerRunOpts,
|
|
1
|
+
import type { ReviewerDriver, ReviewResult, ReviewPromptBuilder, ReviewerRunOpts, FreshRevisionReviewPromptBuilder } from "./types.js";
|
|
2
2
|
import type { ProviderStrategy } from "../../providers/types.js";
|
|
3
3
|
import { BaseAdapter } from "../runner.js";
|
|
4
4
|
export declare class ReviewerAdapter extends BaseAdapter implements ReviewerDriver {
|
|
5
5
|
private readonly promptBuilder;
|
|
6
6
|
private readonly resumePromptBuilder?;
|
|
7
|
-
private readonly
|
|
8
|
-
constructor(strategy: ProviderStrategy, workdir: string, promptBuilder?: ReviewPromptBuilder, resumePromptBuilder?: ReviewPromptBuilder | undefined,
|
|
7
|
+
private readonly freshRevisionPromptBuilder?;
|
|
8
|
+
constructor(strategy: ProviderStrategy, workdir: string, promptBuilder?: ReviewPromptBuilder, resumePromptBuilder?: ReviewPromptBuilder | undefined, freshRevisionPromptBuilder?: FreshRevisionReviewPromptBuilder | undefined, yolo?: boolean, model?: string, effort?: string, sessionFileWaitMs?: number);
|
|
9
9
|
run(baselineFile: string, planFile: string, opts: ReviewerRunOpts): Promise<ReviewResult>;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/agents/reviewers/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,gCAAgC,EACjC,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/agents/reviewers/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,gCAAgC,EACjC,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAmC3C,qBAAa,eAAgB,SAAQ,WAAY,YAAW,cAAc;IAItE,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC;gBAJ5C,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACE,aAAa,GAAE,mBAAyC,EACxD,mBAAmB,CAAC,EAAE,mBAAmB,YAAA,EACzC,0BAA0B,CAAC,EAAE,gCAAgC,YAAA,EAC9E,IAAI,CAAC,EAAE,OAAO,EACd,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM;IAKtB,GAAG,CACP,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,YAAY,CAAC;CAuDzB"}
|
|
@@ -1,26 +1,36 @@
|
|
|
1
1
|
import { selectReviewerPromptBuilder } from "./types.js";
|
|
2
2
|
import { BaseAdapter } from "../runner.js";
|
|
3
3
|
import { buildReviewerPrompt } from "./prompts.js";
|
|
4
|
+
async function selectFreshReviewerPrompt(promptBuilder, freshRevisionPromptBuilder, baselineFile, planFile, outputVerdictFile, opts) {
|
|
5
|
+
// The builder branches on decisionsInline internally, so passing it through
|
|
6
|
+
// (undefined when absent) covers both the with- and without-decisions cases.
|
|
7
|
+
if (freshRevisionPromptBuilder && opts.prevVerdictText) {
|
|
8
|
+
return freshRevisionPromptBuilder(baselineFile, planFile, outputVerdictFile, opts.prevVerdictText, opts.verdictSource, opts.decisionsInline, opts.baselineKind);
|
|
9
|
+
}
|
|
10
|
+
return promptBuilder(baselineFile, planFile, outputVerdictFile, opts.userDecisionsFile, opts.decisionsInline, opts.baselineKind, opts.userFeedbackFile);
|
|
11
|
+
}
|
|
4
12
|
export class ReviewerAdapter extends BaseAdapter {
|
|
5
13
|
promptBuilder;
|
|
6
14
|
resumePromptBuilder;
|
|
7
|
-
|
|
8
|
-
constructor(strategy, workdir, promptBuilder = buildReviewerPrompt, resumePromptBuilder,
|
|
15
|
+
freshRevisionPromptBuilder;
|
|
16
|
+
constructor(strategy, workdir, promptBuilder = buildReviewerPrompt, resumePromptBuilder, freshRevisionPromptBuilder, yolo, model, effort, sessionFileWaitMs) {
|
|
9
17
|
super(strategy, workdir, yolo, model, effort, sessionFileWaitMs);
|
|
10
18
|
this.promptBuilder = promptBuilder;
|
|
11
19
|
this.resumePromptBuilder = resumePromptBuilder;
|
|
12
|
-
this.
|
|
20
|
+
this.freshRevisionPromptBuilder = freshRevisionPromptBuilder;
|
|
13
21
|
}
|
|
14
22
|
async run(baselineFile, planFile, opts) {
|
|
15
|
-
|
|
16
|
-
|
|
23
|
+
let prompt;
|
|
24
|
+
if (opts.resumeSessionId) {
|
|
25
|
+
const builder = selectReviewerPromptBuilder(this.promptBuilder, this.resumePromptBuilder, opts.resumeSessionId);
|
|
26
|
+
prompt = await builder(baselineFile, planFile, opts.outputVerdictFile, opts.userDecisionsFile, opts.decisionsInline, opts.baselineKind, opts.userFeedbackFile);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
prompt = await selectFreshReviewerPrompt(this.promptBuilder, this.freshRevisionPromptBuilder, baselineFile, planFile, opts.outputVerdictFile, opts);
|
|
30
|
+
}
|
|
17
31
|
let freshFallbackPrompt;
|
|
18
|
-
if (
|
|
19
|
-
opts.
|
|
20
|
-
opts.decisionsInline &&
|
|
21
|
-
opts.planText &&
|
|
22
|
-
opts.prevVerdictText) {
|
|
23
|
-
freshFallbackPrompt = await this.freshFallbackPromptBuilder(opts.planText, opts.prevVerdictText, opts.decisionsInline, opts.outputVerdictFile);
|
|
32
|
+
if (opts.resumeSessionId) {
|
|
33
|
+
freshFallbackPrompt = await selectFreshReviewerPrompt(this.promptBuilder, this.freshRevisionPromptBuilder, baselineFile, planFile, opts.outputVerdictFile, opts);
|
|
24
34
|
}
|
|
25
35
|
const result = await this.runAgent({
|
|
26
36
|
prompt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/reviewers/adapter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAI3B;IACA;IACA;IALnB,YACE,QAA0B,EAC1B,OAAe,EACE,gBAAqC,mBAAmB,EACxD,mBAAyC,EACzC,0BAA6D,EAC9E,IAAc,EACd,KAAc,EACd,MAAe,EACf,iBAA0B;QAE1B,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QARhD,kBAAa,GAAb,aAAa,CAA2C;QACxD,wBAAmB,GAAnB,mBAAmB,CAAsB;QACzC,+BAA0B,GAA1B,0BAA0B,CAAmC;IAOhF,CAAC;IAED,KAAK,CAAC,GAAG,CACP,YAAoB,EACpB,QAAgB,EAChB,IAAqB;QAErB,MAAM,OAAO,GAAG,2BAA2B,CACzC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,CACrB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/reviewers/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/agents/reviewers/handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAOjD,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/agents/reviewers/handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAOjD,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAc7B,qBAAa,mBAAoB,YAAW,WAAW;IACzC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAEpC,OAAO,CACX,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,UAAU,CAAC;CAiJvB"}
|