poly-weaver 0.14.7 → 0.15.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/README.md +24 -1
- package/dist/agents/implementors/adapter.d.ts +4 -0
- package/dist/agents/implementors/adapter.d.ts.map +1 -1
- package/dist/agents/implementors/adapter.js +4 -4
- package/dist/agents/implementors/adapter.js.map +1 -1
- package/dist/agents/implementors/dsl.d.ts +2 -0
- package/dist/agents/implementors/dsl.d.ts.map +1 -1
- package/dist/agents/implementors/dsl.js.map +1 -1
- package/dist/agents/implementors/handler.d.ts.map +1 -1
- package/dist/agents/implementors/handler.js +10 -0
- package/dist/agents/implementors/handler.js.map +1 -1
- package/dist/agents/implementors/prompts.d.ts +5 -4
- package/dist/agents/implementors/prompts.d.ts.map +1 -1
- package/dist/agents/implementors/prompts.js +44 -7
- package/dist/agents/implementors/prompts.js.map +1 -1
- package/dist/agents/implementors/types.d.ts +8 -4
- package/dist/agents/implementors/types.d.ts.map +1 -1
- package/dist/agents/interviewers/adapter.d.ts +2 -0
- package/dist/agents/interviewers/adapter.d.ts.map +1 -1
- package/dist/agents/interviewers/adapter.js +39 -6
- package/dist/agents/interviewers/adapter.js.map +1 -1
- package/dist/agents/interviewers/dsl.d.ts +1 -0
- package/dist/agents/interviewers/dsl.d.ts.map +1 -1
- package/dist/agents/interviewers/dsl.js.map +1 -1
- package/dist/agents/interviewers/handler.d.ts +2 -1
- package/dist/agents/interviewers/handler.d.ts.map +1 -1
- package/dist/agents/interviewers/handler.js +106 -9
- package/dist/agents/interviewers/handler.js.map +1 -1
- package/dist/agents/interviewers/index.js +1 -1
- package/dist/agents/interviewers/index.js.map +1 -1
- package/dist/agents/interviewers/prompts.d.ts.map +1 -1
- package/dist/agents/interviewers/prompts.js +150 -0
- package/dist/agents/interviewers/prompts.js.map +1 -1
- package/dist/agents/interviewers/types.d.ts +9 -1
- package/dist/agents/interviewers/types.d.ts.map +1 -1
- package/dist/agents/planners/adapter.d.ts +2 -0
- package/dist/agents/planners/adapter.d.ts.map +1 -1
- package/dist/agents/planners/adapter.js +3 -3
- package/dist/agents/planners/adapter.js.map +1 -1
- package/dist/agents/planners/dsl.d.ts +1 -0
- package/dist/agents/planners/dsl.d.ts.map +1 -1
- package/dist/agents/planners/dsl.js.map +1 -1
- package/dist/agents/planners/handler.d.ts.map +1 -1
- package/dist/agents/planners/handler.js +6 -1
- package/dist/agents/planners/handler.js.map +1 -1
- package/dist/agents/planners/prompts.d.ts +3 -3
- package/dist/agents/planners/prompts.d.ts.map +1 -1
- package/dist/agents/planners/prompts.js +76 -4
- package/dist/agents/planners/prompts.js.map +1 -1
- package/dist/agents/planners/types.d.ts +5 -3
- package/dist/agents/planners/types.d.ts.map +1 -1
- package/dist/agents/registry.d.ts +1 -1
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +2 -2
- package/dist/agents/registry.js.map +1 -1
- package/dist/agents/reviewers/adapter.d.ts.map +1 -1
- package/dist/agents/reviewers/adapter.js +5 -1
- package/dist/agents/reviewers/adapter.js.map +1 -1
- package/dist/agents/reviewers/dsl.d.ts +4 -0
- 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 +15 -1
- package/dist/agents/reviewers/handler.js.map +1 -1
- package/dist/agents/reviewers/prompts.d.ts +7 -7
- package/dist/agents/reviewers/prompts.d.ts.map +1 -1
- package/dist/agents/reviewers/prompts.js +196 -19
- package/dist/agents/reviewers/prompts.js.map +1 -1
- package/dist/agents/reviewers/types.d.ts +10 -0
- 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 +4 -2
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +1 -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/dsl.d.ts +1 -0
- package/dist/agents/simplifiers/dsl.d.ts.map +1 -1
- package/dist/agents/simplifiers/dsl.js +1 -0
- package/dist/agents/simplifiers/dsl.js.map +1 -1
- package/dist/agents/simplifiers/handler.d.ts.map +1 -1
- package/dist/agents/simplifiers/handler.js +2 -0
- package/dist/agents/simplifiers/handler.js.map +1 -1
- package/dist/agents/simplifiers/prompts.js +29 -2
- package/dist/agents/simplifiers/prompts.js.map +1 -1
- package/dist/agents/simplifiers/types.d.ts +2 -0
- package/dist/agents/simplifiers/types.d.ts.map +1 -1
- package/dist/agents/simplify-protection.d.ts +6 -0
- package/dist/agents/simplify-protection.d.ts.map +1 -0
- package/dist/agents/simplify-protection.js +12 -0
- package/dist/agents/simplify-protection.js.map +1 -0
- package/dist/cli.js +3 -3
- package/dist/cli.js.map +1 -1
- package/dist/dsl.d.ts +2 -0
- package/dist/dsl.d.ts.map +1 -1
- package/dist/dsl.js +2 -2
- package/dist/dsl.js.map +1 -1
- package/dist/flow/built-in/default-factory.d.ts.map +1 -1
- package/dist/flow/built-in/default-factory.js +55 -11
- package/dist/flow/built-in/default-factory.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 +1 -0
- package/dist/flow/built-in/default.js.map +1 -1
- package/dist/flow/built-in/default.ts +2 -0
- package/dist/flow/built-in/simplify-factory.d.ts.map +1 -1
- package/dist/flow/built-in/simplify-factory.js +4 -0
- package/dist/flow/built-in/simplify-factory.js.map +1 -1
- package/dist/flow/custom/AUTHORING.md +8 -88
- 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/params.d.ts +2 -1
- package/dist/flow/params.d.ts.map +1 -1
- package/dist/flow/params.js +8 -2
- package/dist/flow/params.js.map +1 -1
- package/dist/flow/types.d.ts +25 -0
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/flow/types.js +11 -0
- package/dist/flow/types.js.map +1 -1
- package/dist/managed-spec.d.ts +32 -0
- package/dist/managed-spec.d.ts.map +1 -0
- package/dist/managed-spec.js +258 -0
- package/dist/managed-spec.js.map +1 -0
- package/dist/offscreen/agent-viewer.d.ts +2 -1
- package/dist/offscreen/agent-viewer.d.ts.map +1 -1
- package/dist/offscreen/agent-viewer.js +63 -19
- package/dist/offscreen/agent-viewer.js.map +1 -1
- package/dist/offscreen/controller.d.ts +14 -3
- package/dist/offscreen/controller.d.ts.map +1 -1
- package/dist/offscreen/controller.js +82 -17
- package/dist/offscreen/controller.js.map +1 -1
- package/dist/offscreen/resolve.d.ts.map +1 -1
- package/dist/offscreen/resolve.js +14 -3
- package/dist/offscreen/resolve.js.map +1 -1
- package/dist/offscreen/split-inquiry.d.ts +10 -1
- package/dist/offscreen/split-inquiry.d.ts.map +1 -1
- package/dist/offscreen/split-inquiry.js +156 -12
- package/dist/offscreen/split-inquiry.js.map +1 -1
- package/dist/orchestrator.d.ts +5 -0
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +85 -5
- package/dist/orchestrator.js.map +1 -1
- package/dist/providers/types.d.ts +2 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/session/manifest.d.ts +9 -0
- package/dist/session/manifest.d.ts.map +1 -1
- package/dist/session/session-store.d.ts +2 -1
- package/dist/session/session-store.d.ts.map +1 -1
- package/dist/session/session-store.js +49 -3
- package/dist/session/session-store.js.map +1 -1
- package/dist/startup-tui.d.ts +1 -0
- package/dist/startup-tui.d.ts.map +1 -1
- package/dist/startup-tui.js +6 -2
- package/dist/startup-tui.js.map +1 -1
- package/dist/terminal/host.d.ts +1 -0
- package/dist/terminal/host.d.ts.map +1 -1
- package/dist/terminal/host.js +3 -0
- package/dist/terminal/host.js.map +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 +15 -0
- package/dist/user/handler.js.map +1 -1
- package/dist/user/host-curate-prompt.d.ts.map +1 -1
- package/dist/user/host-curate-prompt.js +2 -0
- package/dist/user/host-curate-prompt.js.map +1 -1
- package/dist/user/host-prompt.d.ts.map +1 -1
- package/dist/user/host-prompt.js +264 -13
- package/dist/user/host-prompt.js.map +1 -1
- package/dist/user/plan-pane.d.ts +1 -1
- package/dist/user/plan-pane.d.ts.map +1 -1
- package/dist/user/plan-pane.js +7 -1
- package/dist/user/plan-pane.js.map +1 -1
- package/dist/user/prompt.d.ts +9 -0
- package/dist/user/prompt.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -62,7 +62,30 @@ poly-weaver --config <path-to-config.json>
|
|
|
62
62
|
| `-h, --help` | Show help | |
|
|
63
63
|
| `-V, --version` | Show version | |
|
|
64
64
|
|
|
65
|
-
Workflow is selected with **Shift+Tab** in the TUI. Built-in workflows
|
|
65
|
+
Workflow is selected with **Shift+Tab** in the TUI. Built-in workflows are
|
|
66
|
+
`default`, `simplify`, and `crosscheck`. Custom flows remain available as
|
|
67
|
+
deprecated compatibility behavior.
|
|
68
|
+
|
|
69
|
+
### Managed poly-spec mode
|
|
70
|
+
|
|
71
|
+
The built-in `default` workflow has an optional **Manage Spec with poly-weaver**
|
|
72
|
+
toggle. On a fresh run it defaults on when the working directory contains
|
|
73
|
+
`.poly-spec/`, and defaults off otherwise. When enabled, the interviewer owns a
|
|
74
|
+
repository-managed **Iteration Spec** under `.poly-spec/iterations/pending/`
|
|
75
|
+
plus a session-local **Iteration Rationale**. The Iteration Spec is the
|
|
76
|
+
authoritative requirements source for planning, review, and implementation; the
|
|
77
|
+
Iteration Rationale is supporting context.
|
|
78
|
+
|
|
79
|
+
Plan Only sessions stop after the accepted plan and are terminal. In managed
|
|
80
|
+
mode they leave the Iteration Spec pending; later work may continue it, but must
|
|
81
|
+
start a new workflow and approve a new plan.
|
|
82
|
+
|
|
83
|
+
Managed sessions resume only interrupted active work. Resume re-reads the
|
|
84
|
+
current worktree Iteration Spec path recorded in the session manifest, so
|
|
85
|
+
repository edits to `.poly-spec/iterations/pending/*.md` remain authoritative.
|
|
86
|
+
At terminal completion of a non-Plan-Only managed run, the Iteration Spec moves
|
|
87
|
+
to `.poly-spec/iterations/applied/` as immutable history; applied placement does
|
|
88
|
+
not imply implementation-review approval.
|
|
66
89
|
|
|
67
90
|
## License
|
|
68
91
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ImplementorDriver, ImplementResult, ImplementorPromptSet } from "./types.js";
|
|
2
|
+
import type { SimplifyProtectionState } from "../simplify-protection.js";
|
|
2
3
|
import type { ProviderStrategy } from "../../providers/types.js";
|
|
3
4
|
import { BaseAdapter } from "../runner.js";
|
|
4
5
|
type ImplementorRunOptions = {
|
|
@@ -6,6 +7,9 @@ type ImplementorRunOptions = {
|
|
|
6
7
|
feedbackFile?: string;
|
|
7
8
|
changePlan?: boolean;
|
|
8
9
|
snapshotFile?: string;
|
|
10
|
+
managedSpecFile?: string;
|
|
11
|
+
explanationFile?: string;
|
|
12
|
+
simplifyProtection?: SimplifyProtectionState;
|
|
9
13
|
};
|
|
10
14
|
export declare function selectImplementorPrompt(planFile: string, opts: ImplementorRunOptions, prompts?: ImplementorPromptSet): string;
|
|
11
15
|
export declare class ImplementorAdapter extends BaseAdapter implements ImplementorDriver {
|
|
@@ -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;IACrB,YAAY,CAAC,EAAE,MAAM,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,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,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;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,uBAAuB,CAAC;CAC9C,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,qBAAqB,EAC3B,OAAO,GAAE,oBAAgD,GACxD,MAAM,CAoCR;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"}
|
|
@@ -2,15 +2,15 @@ import { BaseAdapter } from "../runner.js";
|
|
|
2
2
|
import { defaultImplementorPrompts } from "./prompts.js";
|
|
3
3
|
export function selectImplementorPrompt(planFile, opts, prompts = defaultImplementorPrompts) {
|
|
4
4
|
if (opts.changePlan) {
|
|
5
|
-
return prompts.changePlan(planFile, opts.snapshotFile);
|
|
5
|
+
return prompts.changePlan(planFile, opts.snapshotFile, opts.managedSpecFile, opts.explanationFile, opts.simplifyProtection);
|
|
6
6
|
}
|
|
7
7
|
if (opts.feedbackFile) {
|
|
8
8
|
if (opts.resumeSessionId) {
|
|
9
|
-
return prompts.resumeRevision(opts.feedbackFile, opts.snapshotFile);
|
|
9
|
+
return prompts.resumeRevision(opts.feedbackFile, opts.snapshotFile, opts.managedSpecFile, opts.explanationFile, opts.simplifyProtection);
|
|
10
10
|
}
|
|
11
|
-
return prompts.revision(planFile, opts.feedbackFile, opts.snapshotFile);
|
|
11
|
+
return prompts.revision(planFile, opts.feedbackFile, opts.snapshotFile, opts.managedSpecFile, opts.explanationFile, opts.simplifyProtection);
|
|
12
12
|
}
|
|
13
|
-
return prompts.initial(planFile, opts.snapshotFile);
|
|
13
|
+
return prompts.initial(planFile, opts.snapshotFile, opts.managedSpecFile, opts.explanationFile, opts.simplifyProtection);
|
|
14
14
|
}
|
|
15
15
|
export class ImplementorAdapter extends BaseAdapter {
|
|
16
16
|
prompts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/implementors/adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/implementors/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAYzD,MAAM,UAAU,uBAAuB,CACrC,QAAgB,EAChB,IAA2B,EAC3B,UAAgC,yBAAyB;IAEzD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,UAAU,CACvB,QAAQ,EACR,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,cAAc,CAC3B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,CACxB,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CACrB,QAAQ,EACR,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CACpB,QAAQ,EACR,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,CACxB,CAAC;AACJ,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":"dsl.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,GAAG,SAAS,CAMZ"}
|
|
1
|
+
{"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,GAAG,SAAS,CAMZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dsl.js","sourceRoot":"","sources":["../../../src/agents/implementors/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,MAAM,mBAAmB,CAAC;AAGnE,MAAM,UAAU,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"dsl.js","sourceRoot":"","sources":["../../../src/agents/implementors/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,MAAM,mBAAmB,CAAC;AAGnE,MAAM,UAAU,SAAS,CAAC,IASzB;IACC,OAAO,SAAS,CAAC,aAAa,EAAE;QAC9B,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,oBAAoB;KACjC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -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;AAe7B,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;CA+FvB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { bindAttemptFailureReporter, bindDriverRuntime, bindPtyBufferReporter, bindSessionReporter, flushDriverSidecar, } from "../runner.js";
|
|
2
|
+
import { resolveSimplifyProtectionState } from "../simplify-protection.js";
|
|
2
3
|
import { bindStepLiveSidecar, cleanupStepLiveSidecar, resolveResumeSessionId, } from "../session-resume.js";
|
|
3
4
|
export class ImplementorRoleHandler {
|
|
4
5
|
driver;
|
|
@@ -26,6 +27,12 @@ export class ImplementorRoleHandler {
|
|
|
26
27
|
const snapshotFile = step.reads.snapshot
|
|
27
28
|
? ctx.artifacts.getFile(step.reads.snapshot)
|
|
28
29
|
: undefined;
|
|
30
|
+
const managedSpecFile = step.managedSpec && step.reads.spec
|
|
31
|
+
? ctx.artifacts.getFile(step.reads.spec)
|
|
32
|
+
: undefined;
|
|
33
|
+
const explanationFile = step.managedSpec && step.reads.explanation
|
|
34
|
+
? ctx.artifacts.getFile(step.reads.explanation)
|
|
35
|
+
: undefined;
|
|
29
36
|
if (revisePlanFile) {
|
|
30
37
|
// Pure plan follower: fresh session avoids prior-mode context contaminating the resume.
|
|
31
38
|
planFile = revisePlanFile;
|
|
@@ -58,6 +65,9 @@ export class ImplementorRoleHandler {
|
|
|
58
65
|
feedbackFile: feedbackFile ?? undefined,
|
|
59
66
|
changePlan: revisePlanFile ? true : undefined,
|
|
60
67
|
snapshotFile,
|
|
68
|
+
managedSpecFile,
|
|
69
|
+
explanationFile,
|
|
70
|
+
simplifyProtection: await resolveSimplifyProtectionState(step, ctx),
|
|
61
71
|
});
|
|
62
72
|
});
|
|
63
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/implementors/handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/implementors/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { ImplementorPromptSet } from "./types.js";
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
2
|
+
import type { SimplifyProtectionState } from "../simplify-protection.js";
|
|
3
|
+
export declare function buildImplementorPrompt(planFile: string, snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState): string;
|
|
4
|
+
export declare function buildImplementorRevisionPrompt(planFile: string, feedbackFile: string, snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState): string;
|
|
5
|
+
export declare function buildImplementorResumeRevisionPrompt(feedbackFile: string, _snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState): string;
|
|
6
|
+
export declare function buildImplementorChangePlanPrompt(planFile: string, snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState): string;
|
|
6
7
|
export declare const defaultImplementorPrompts: ImplementorPromptSet;
|
|
7
8
|
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AA+DzE,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,GAC3C,MAAM,CAeR;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,GAC3C,MAAM,CAsBR;AAED,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,GAC3C,MAAM,CAaR;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,GAC3C,MAAM,CAmBR;AAID,eAAO,MAAM,yBAAyB,EAAE,oBAKvC,CAAC"}
|
|
@@ -4,36 +4,73 @@ const SNAPSHOT_GUIDANCE = "Preserve those pre-existing changes unless the approv
|
|
|
4
4
|
function appendSnapshotContext(lines, snapshotFile) {
|
|
5
5
|
appendPreSessionSnapshotReference(lines, snapshotFile, SNAPSHOT_GUIDANCE);
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
function appendManagedSpecContext(lines, managedSpecFile, explanationFile) {
|
|
8
|
+
if (!managedSpecFile)
|
|
9
|
+
return;
|
|
10
|
+
lines.push(`Read the managed Iteration Spec: ${managedSpecFile}`, ...(explanationFile ? [`Read the supporting Iteration Rationale: ${explanationFile}`] : []));
|
|
11
|
+
}
|
|
12
|
+
function appendManagedSpecObligation(lines, managedSpecFile) {
|
|
13
|
+
if (!managedSpecFile)
|
|
14
|
+
return;
|
|
15
|
+
lines.push("", "## Repository specification", "", "The approved plan includes implementation and repository-specification work under .poly-spec/. Complete both.", "", "## Execution requirements", "", "- Follow the approved plan, including its Iteration Spec and repository-specification application.", "- Make the planned changes in the working directory.", "- Preserve pre-existing work unless the approved plan requires modifying it.");
|
|
16
|
+
}
|
|
17
|
+
function appendSimplifyProtection(lines, simplifyProtection) {
|
|
18
|
+
if (!simplifyProtection)
|
|
19
|
+
return;
|
|
20
|
+
lines.push("", "## Simplify protection", "", "- Implement only changes that preserve all observable behavior.", "- Behavior changes, including changes characterized as improvements, are outside simplify scope.", "- If an approved-plan item would change observable behavior, do not implement it; surface the conflict instead.");
|
|
21
|
+
if (simplifyProtection.repositorySpecDetected) {
|
|
22
|
+
lines.push("- `.poly-spec/` exists in the selected working directory and contains repository specifications.", "- Treat current `.poly-spec` specifications as authoritative for behavior.", "- Do not edit any file under `.poly-spec/`.", "- If an approved-plan item would edit `.poly-spec/` or conflict with current repository specifications, do not implement it; surface the conflict instead.");
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function buildImplementorPrompt(planFile, snapshotFile, managedSpecFile, explanationFile, simplifyProtection) {
|
|
8
26
|
const lines = [
|
|
9
27
|
`Read the approved implementation plan: ${planFile}`,
|
|
10
28
|
];
|
|
29
|
+
appendManagedSpecContext(lines, managedSpecFile, explanationFile);
|
|
11
30
|
appendSnapshotContext(lines, snapshotFile);
|
|
12
|
-
lines.push("",
|
|
31
|
+
lines.push("", managedSpecFile
|
|
32
|
+
? "Implement the plan by making changes in the working directory."
|
|
33
|
+
: "Implement the plan by making code changes in the working directory.");
|
|
34
|
+
appendSimplifyProtection(lines, simplifyProtection);
|
|
35
|
+
appendManagedSpecObligation(lines, managedSpecFile);
|
|
13
36
|
return lines.join("\n");
|
|
14
37
|
}
|
|
15
|
-
export function buildImplementorRevisionPrompt(planFile, feedbackFile, snapshotFile) {
|
|
38
|
+
export function buildImplementorRevisionPrompt(planFile, feedbackFile, snapshotFile, managedSpecFile, explanationFile, simplifyProtection) {
|
|
16
39
|
const lines = [
|
|
17
40
|
`Read the approved implementation plan: ${planFile}`,
|
|
18
|
-
`Read the review feedback: ${feedbackFile}`,
|
|
19
41
|
];
|
|
42
|
+
appendManagedSpecContext(lines, managedSpecFile, explanationFile);
|
|
43
|
+
lines.push(`Read the review feedback: ${feedbackFile}`);
|
|
20
44
|
appendSnapshotContext(lines, snapshotFile);
|
|
21
45
|
lines.push("", "Revise your implementation to address the feedback.");
|
|
46
|
+
appendSimplifyProtection(lines, simplifyProtection);
|
|
47
|
+
if (managedSpecFile) {
|
|
48
|
+
lines.push("", "The approved plan and feedback cover both implementation and repository-specification work under .poly-spec/. Complete both.", "Preserve pre-existing work unless the approved plan requires modifying it.");
|
|
49
|
+
}
|
|
22
50
|
return lines.join("\n");
|
|
23
51
|
}
|
|
24
|
-
export function buildImplementorResumeRevisionPrompt(feedbackFile, _snapshotFile) {
|
|
52
|
+
export function buildImplementorResumeRevisionPrompt(feedbackFile, _snapshotFile, managedSpecFile, explanationFile, simplifyProtection) {
|
|
25
53
|
const lines = [
|
|
26
54
|
`Read the new review feedback: ${feedbackFile}`,
|
|
27
55
|
];
|
|
28
|
-
lines
|
|
56
|
+
appendManagedSpecContext(lines, managedSpecFile, explanationFile);
|
|
57
|
+
lines.push("", managedSpecFile
|
|
58
|
+
? "Revise your implementation accordingly. Re-check and complete both the implementation and repository-specification application required by the approved plan."
|
|
59
|
+
: "Revise your implementation accordingly.");
|
|
60
|
+
appendSimplifyProtection(lines, simplifyProtection);
|
|
29
61
|
return lines.join("\n");
|
|
30
62
|
}
|
|
31
|
-
export function buildImplementorChangePlanPrompt(planFile, snapshotFile) {
|
|
63
|
+
export function buildImplementorChangePlanPrompt(planFile, snapshotFile, managedSpecFile, explanationFile, simplifyProtection) {
|
|
32
64
|
const lines = [
|
|
33
65
|
`Read the change plan: ${planFile}`,
|
|
34
66
|
];
|
|
67
|
+
appendManagedSpecContext(lines, managedSpecFile, explanationFile);
|
|
35
68
|
appendSnapshotContext(lines, snapshotFile);
|
|
36
69
|
lines.push("", "Apply the changes to the working directory.");
|
|
70
|
+
appendSimplifyProtection(lines, simplifyProtection);
|
|
71
|
+
if (managedSpecFile) {
|
|
72
|
+
lines.push("", "The change plan covers both implementation and repository-specification work under .poly-spec/. Complete both.", "Preserve pre-existing work unless the approved plan requires modifying it.");
|
|
73
|
+
}
|
|
37
74
|
return lines.join("\n");
|
|
38
75
|
}
|
|
39
76
|
// ─── Prompt set exports ──────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agents/implementors/prompts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agents/implementors/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import type { SimplifyProtectionState } from "../simplify-protection.js";
|
|
1
2
|
export type ImplementorPromptSet = {
|
|
2
|
-
initial: (planFile: string, snapshotFile?: string) => string;
|
|
3
|
-
revision: (planFile: string, feedbackFile: string, snapshotFile?: string) => string;
|
|
4
|
-
resumeRevision: (feedbackFile: string, snapshotFile?: string) => string;
|
|
5
|
-
changePlan: (planFile: string, snapshotFile?: string) => string;
|
|
3
|
+
initial: (planFile: string, snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState) => string;
|
|
4
|
+
revision: (planFile: string, feedbackFile: string, snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState) => string;
|
|
5
|
+
resumeRevision: (feedbackFile: string, snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState) => string;
|
|
6
|
+
changePlan: (planFile: string, snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState) => string;
|
|
6
7
|
};
|
|
7
8
|
export interface ImplementorDriver {
|
|
8
9
|
readonly name: string;
|
|
@@ -12,6 +13,9 @@ export interface ImplementorDriver {
|
|
|
12
13
|
feedbackFile?: string;
|
|
13
14
|
changePlan?: boolean;
|
|
14
15
|
snapshotFile?: string;
|
|
16
|
+
managedSpecFile?: string;
|
|
17
|
+
explanationFile?: string;
|
|
18
|
+
simplifyProtection?: SimplifyProtectionState;
|
|
15
19
|
}): Promise<ImplementResult>;
|
|
16
20
|
/** Get the session ID for resume/correlation. */
|
|
17
21
|
getSessionId(): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,CACP,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,KACzC,MAAM,CAAC;IACZ,QAAQ,EAAE,CACR,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,KACzC,MAAM,CAAC;IACZ,cAAc,EAAE,CACd,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,KACzC,MAAM,CAAC;IACZ,UAAU,EAAE,CACV,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,KACzC,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,4FAA4F;IAC5F,GAAG,CACD,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;QACL,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,kBAAkB,CAAC,EAAE,uBAAuB,CAAC;KAC9C,GACA,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B,iDAAiD;IACjD,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC"}
|
|
@@ -6,6 +6,8 @@ export declare class InterviewerAdapter extends BaseAdapter implements Interview
|
|
|
6
6
|
constructor(strategy: ProviderStrategy, workdir: string, prompts?: InterviewerPromptSet, yolo?: boolean, model?: string, effort?: string, sessionFileWaitMs?: number);
|
|
7
7
|
run(opts: InterviewerRunOpts): Promise<InterviewResult>;
|
|
8
8
|
private buildPrompt;
|
|
9
|
+
private buildManagedPrompt;
|
|
9
10
|
private buildFreshFallbackPrompt;
|
|
11
|
+
private managedPolySpecRoot;
|
|
10
12
|
}
|
|
11
13
|
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -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":"AACA,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;IA0B7D,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,kBAAkB;IAqD1B,OAAO,CAAC,wBAAwB;IAiChC,OAAO,CAAC,mBAAmB;CAG5B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
1
2
|
import { BaseAdapter } from "../runner.js";
|
|
2
3
|
import { defaultInterviewerPrompts } from "./prompts.js";
|
|
3
4
|
export class InterviewerAdapter extends BaseAdapter {
|
|
@@ -20,7 +21,7 @@ export class InterviewerAdapter extends BaseAdapter {
|
|
|
20
21
|
// that point this.sessionFilePath is undefined).
|
|
21
22
|
sessionFilePath: opts.resumeSessionFilePath ?? this.sessionFilePath,
|
|
22
23
|
freshFallbackPrompt,
|
|
23
|
-
|
|
24
|
+
completionSignalFile: opts.markerFile,
|
|
24
25
|
});
|
|
25
26
|
return {
|
|
26
27
|
sessionId: result.sessionId,
|
|
@@ -30,6 +31,9 @@ export class InterviewerAdapter extends BaseAdapter {
|
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
33
|
buildPrompt(mode, opts) {
|
|
34
|
+
if (opts.managedSpec) {
|
|
35
|
+
return this.buildManagedPrompt(mode, opts);
|
|
36
|
+
}
|
|
33
37
|
switch (mode) {
|
|
34
38
|
case "initial":
|
|
35
39
|
return this.prompts.initial(opts.taskFile, opts.specFile, opts.markerFile);
|
|
@@ -37,6 +41,8 @@ export class InterviewerAdapter extends BaseAdapter {
|
|
|
37
41
|
return this.prompts.continueInterview(opts.specFile, opts.markerFile);
|
|
38
42
|
case "retry-missing-spec":
|
|
39
43
|
return this.prompts.retryMissingSpec(opts.specFile, opts.markerFile);
|
|
44
|
+
case "retry-managed-output":
|
|
45
|
+
throw new Error("InterviewerAdapter: retry-managed-output requires managedSpec");
|
|
40
46
|
case "revise":
|
|
41
47
|
if (!opts.feedbackFile) {
|
|
42
48
|
throw new Error("InterviewerAdapter: revise mode requires feedbackFile");
|
|
@@ -46,16 +52,43 @@ export class InterviewerAdapter extends BaseAdapter {
|
|
|
46
52
|
return this.prompts.rehydrate(opts.taskFile, opts.specFile, opts.markerFile, opts.feedbackFile);
|
|
47
53
|
}
|
|
48
54
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
buildManagedPrompt(mode, opts) {
|
|
56
|
+
const polySpecRoot = this.managedPolySpecRoot();
|
|
57
|
+
switch (mode) {
|
|
58
|
+
case "initial":
|
|
59
|
+
return this.prompts.managedInitial(opts.taskFile, opts.specFile, opts.markerFile, polySpecRoot, opts.currentIterationFile);
|
|
60
|
+
case "continue":
|
|
61
|
+
return this.prompts.managedContinue(opts.specFile, opts.markerFile, polySpecRoot, opts.currentIterationFile);
|
|
62
|
+
case "retry-missing-spec":
|
|
63
|
+
case "retry-managed-output":
|
|
64
|
+
return this.prompts.managedRetryInvalidOutput(opts.specFile, opts.markerFile, opts.validationError ?? "managed output was invalid", polySpecRoot, opts.currentIterationFile);
|
|
65
|
+
case "revise":
|
|
66
|
+
if (!opts.feedbackFile) {
|
|
67
|
+
throw new Error("InterviewerAdapter: revise mode requires feedbackFile");
|
|
68
|
+
}
|
|
69
|
+
return this.prompts.managedRevise(opts.feedbackFile, opts.specFile, opts.markerFile, polySpecRoot, opts.currentIterationFile);
|
|
70
|
+
case "rehydrate":
|
|
71
|
+
return this.prompts.managedRehydrate(opts.taskFile, opts.specFile, opts.markerFile, opts.feedbackFile, polySpecRoot, opts.currentIterationFile);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// Fresh-fallback is intentionally self-contained. The runner replays this
|
|
75
|
+
// prompt when the resumed session cannot be reattached; managed mode uses a
|
|
76
|
+
// before/after-notification split so unnotified drafts are never adopted.
|
|
54
77
|
buildFreshFallbackPrompt(opts) {
|
|
78
|
+
if (opts.managedSpec) {
|
|
79
|
+
const polySpecRoot = this.managedPolySpecRoot();
|
|
80
|
+
if (opts.feedbackFile || opts.currentIterationFile) {
|
|
81
|
+
return this.prompts.managedRehydrate(opts.taskFile, opts.specFile, opts.markerFile, opts.feedbackFile, polySpecRoot, opts.currentIterationFile);
|
|
82
|
+
}
|
|
83
|
+
return this.prompts.managedInitial(opts.taskFile, opts.specFile, opts.markerFile, polySpecRoot, opts.currentIterationFile, true);
|
|
84
|
+
}
|
|
55
85
|
if (opts.feedbackFile) {
|
|
56
86
|
return this.prompts.rehydrate(opts.taskFile, opts.specFile, opts.markerFile, opts.feedbackFile);
|
|
57
87
|
}
|
|
58
88
|
return this.prompts.initial(opts.taskFile, opts.specFile, opts.markerFile);
|
|
59
89
|
}
|
|
90
|
+
managedPolySpecRoot() {
|
|
91
|
+
return join(this.workdir, ".poly-spec");
|
|
92
|
+
}
|
|
60
93
|
}
|
|
61
94
|
//# sourceMappingURL=adapter.js.map
|
|
@@ -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":"dsl.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,GAAG,SAAS,CAeZ"}
|
|
1
|
+
{"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,GAAG,SAAS,CAeZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dsl.js","sourceRoot":"","sources":["../../../src/agents/interviewers/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2C,MAAM,mBAAmB,CAAC;AAGvF,MAAM,UAAU,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"dsl.js","sourceRoot":"","sources":["../../../src/agents/interviewers/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2C,MAAM,mBAAmB,CAAC;AAGvF,MAAM,UAAU,WAAW,CAAC,IAU3B;IACC,OAAO,SAAS,CACd,aAAa,EACb;QACE,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,oBAAoB;KACjC,EACD;QACE,GAAG,IAAI;QACP,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,aAAa;QACtD,mBAAmB,EAAE,IAAI;QACzB,yBAAyB,EAAE,IAAI;KAChC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -6,7 +6,8 @@ export declare class InterviewerValidationError extends Error {
|
|
|
6
6
|
}
|
|
7
7
|
export declare class InterviewerRoleHandler implements RoleHandler {
|
|
8
8
|
private driver;
|
|
9
|
-
|
|
9
|
+
private readonly workdir;
|
|
10
|
+
constructor(driver: InterviewerDriver, workdir?: string);
|
|
10
11
|
execute(step: BaseStep, ctx: StepContext, retry: RetryFn): Promise<StepSignal>;
|
|
11
12
|
/**
|
|
12
13
|
* If a prior interviewer session exists (sidecar > snapshot) and its
|
|
@@ -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":"AAMA,OAAO,KAAK,EAEV,QAAQ,EACR,OAAO,EACP,WAAW,EACX,WAAW,EACX,UAAU,EACX,MAAM,qBAAqB,CAAC;AAK7B,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,YAAY,CAAC;AAEpB,0EAA0E;AAC1E,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,OAAO,EAAE,MAAM;CAI5B;AAyBD,qBAAa,sBAAuB,YAAW,WAAW;IAEtD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADhB,MAAM,EAAE,iBAAiB,EAChB,OAAO,GAAE,MAAsB;IAG5C,OAAO,CACX,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,UAAU,CAAC;IAiNtB;;;;;;OAMG;YACW,qBAAqB;IAuDnC,OAAO,CAAC,oCAAoC;CAsB7C"}
|