poly-weaver 0.8.1 → 0.9.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.
Files changed (288) hide show
  1. package/README.md +7 -64
  2. package/dist/agents/errors.d.ts +20 -0
  3. package/dist/agents/errors.d.ts.map +1 -0
  4. package/dist/agents/errors.js +26 -0
  5. package/dist/agents/errors.js.map +1 -0
  6. package/dist/agents/implementors/adapter.d.ts +1 -1
  7. package/dist/agents/implementors/adapter.d.ts.map +1 -1
  8. package/dist/agents/implementors/adapter.js +2 -2
  9. package/dist/agents/implementors/adapter.js.map +1 -1
  10. package/dist/agents/implementors/handler.d.ts.map +1 -1
  11. package/dist/agents/implementors/handler.js +2 -1
  12. package/dist/agents/implementors/handler.js.map +1 -1
  13. package/dist/agents/implementors/index.d.ts.map +1 -1
  14. package/dist/agents/implementors/index.js +3 -9
  15. package/dist/agents/implementors/index.js.map +1 -1
  16. package/dist/agents/implementors/prompts.d.ts +4 -9
  17. package/dist/agents/implementors/prompts.d.ts.map +1 -1
  18. package/dist/agents/implementors/prompts.js +10 -16
  19. package/dist/agents/implementors/prompts.js.map +1 -1
  20. package/dist/agents/index.d.ts +2 -0
  21. package/dist/agents/index.d.ts.map +1 -1
  22. package/dist/agents/index.js +4 -0
  23. package/dist/agents/index.js.map +1 -1
  24. package/dist/agents/interviewers/adapter.d.ts +17 -0
  25. package/dist/agents/interviewers/adapter.d.ts.map +1 -0
  26. package/dist/agents/interviewers/adapter.js +111 -0
  27. package/dist/agents/interviewers/adapter.js.map +1 -0
  28. package/dist/agents/interviewers/dsl.d.ts +13 -0
  29. package/dist/agents/interviewers/dsl.d.ts.map +1 -0
  30. package/dist/agents/interviewers/dsl.js +14 -0
  31. package/dist/agents/interviewers/dsl.js.map +1 -0
  32. package/dist/agents/interviewers/handler.d.ts +21 -0
  33. package/dist/agents/interviewers/handler.d.ts.map +1 -0
  34. package/dist/agents/interviewers/handler.js +217 -0
  35. package/dist/agents/interviewers/handler.js.map +1 -0
  36. package/dist/agents/interviewers/index.d.ts +11 -0
  37. package/dist/agents/interviewers/index.d.ts.map +1 -0
  38. package/dist/agents/interviewers/index.js +16 -0
  39. package/dist/agents/interviewers/index.js.map +1 -0
  40. package/dist/agents/interviewers/prompts.d.ts +3 -0
  41. package/dist/agents/interviewers/prompts.d.ts.map +1 -0
  42. package/dist/agents/interviewers/prompts.js +73 -0
  43. package/dist/agents/interviewers/prompts.js.map +1 -0
  44. package/dist/agents/interviewers/types.d.ts +53 -0
  45. package/dist/agents/interviewers/types.d.ts.map +1 -0
  46. package/dist/agents/interviewers/types.js +2 -0
  47. package/dist/agents/interviewers/types.js.map +1 -0
  48. package/dist/agents/planners/adapter.d.ts +1 -1
  49. package/dist/agents/planners/adapter.d.ts.map +1 -1
  50. package/dist/agents/planners/adapter.js +2 -2
  51. package/dist/agents/planners/adapter.js.map +1 -1
  52. package/dist/agents/planners/dsl.d.ts +5 -1
  53. package/dist/agents/planners/dsl.d.ts.map +1 -1
  54. package/dist/agents/planners/handler.d.ts.map +1 -1
  55. package/dist/agents/planners/handler.js +44 -25
  56. package/dist/agents/planners/handler.js.map +1 -1
  57. package/dist/agents/planners/index.d.ts.map +1 -1
  58. package/dist/agents/planners/index.js +3 -9
  59. package/dist/agents/planners/index.js.map +1 -1
  60. package/dist/agents/planners/prompts.d.ts +5 -11
  61. package/dist/agents/planners/prompts.d.ts.map +1 -1
  62. package/dist/agents/planners/prompts.js +15 -22
  63. package/dist/agents/planners/prompts.js.map +1 -1
  64. package/dist/agents/registry.d.ts +2 -1
  65. package/dist/agents/registry.d.ts.map +1 -1
  66. package/dist/agents/registry.js.map +1 -1
  67. package/dist/agents/reviewers/adapter.d.ts +2 -2
  68. package/dist/agents/reviewers/adapter.d.ts.map +1 -1
  69. package/dist/agents/reviewers/adapter.js +4 -4
  70. package/dist/agents/reviewers/adapter.js.map +1 -1
  71. package/dist/agents/reviewers/dsl.d.ts +6 -1
  72. package/dist/agents/reviewers/dsl.d.ts.map +1 -1
  73. package/dist/agents/reviewers/dsl.js.map +1 -1
  74. package/dist/agents/reviewers/handler.d.ts.map +1 -1
  75. package/dist/agents/reviewers/handler.js +24 -6
  76. package/dist/agents/reviewers/handler.js.map +1 -1
  77. package/dist/agents/reviewers/index.d.ts.map +1 -1
  78. package/dist/agents/reviewers/index.js +7 -9
  79. package/dist/agents/reviewers/index.js.map +1 -1
  80. package/dist/agents/reviewers/prompts.d.ts +5 -11
  81. package/dist/agents/reviewers/prompts.d.ts.map +1 -1
  82. package/dist/agents/reviewers/prompts.js +22 -21
  83. package/dist/agents/reviewers/prompts.js.map +1 -1
  84. package/dist/agents/reviewers/types.d.ts +5 -2
  85. package/dist/agents/reviewers/types.d.ts.map +1 -1
  86. package/dist/agents/reviewers/types.js.map +1 -1
  87. package/dist/agents/runner.d.ts +28 -1
  88. package/dist/agents/runner.d.ts.map +1 -1
  89. package/dist/agents/runner.js +140 -22
  90. package/dist/agents/runner.js.map +1 -1
  91. package/dist/agents/simplifiers/adapter.d.ts +1 -1
  92. package/dist/agents/simplifiers/adapter.d.ts.map +1 -1
  93. package/dist/agents/simplifiers/adapter.js +2 -2
  94. package/dist/agents/simplifiers/adapter.js.map +1 -1
  95. package/dist/agents/simplifiers/handler.d.ts.map +1 -1
  96. package/dist/agents/simplifiers/handler.js +2 -1
  97. package/dist/agents/simplifiers/handler.js.map +1 -1
  98. package/dist/agents/simplifiers/index.d.ts.map +1 -1
  99. package/dist/agents/simplifiers/index.js +1 -1
  100. package/dist/agents/simplifiers/index.js.map +1 -1
  101. package/dist/ansi.d.ts.map +1 -1
  102. package/dist/ansi.js +2 -3
  103. package/dist/ansi.js.map +1 -1
  104. package/dist/cli.js +84 -187
  105. package/dist/cli.js.map +1 -1
  106. package/dist/config.d.ts +14 -9
  107. package/dist/config.d.ts.map +1 -1
  108. package/dist/config.js +24 -5
  109. package/dist/config.js.map +1 -1
  110. package/dist/dsl.d.ts +4 -1
  111. package/dist/dsl.d.ts.map +1 -1
  112. package/dist/dsl.js +4 -3
  113. package/dist/dsl.js.map +1 -1
  114. package/dist/dump/collector.d.ts.map +1 -1
  115. package/dist/dump/collector.js +22 -1
  116. package/dist/dump/collector.js.map +1 -1
  117. package/dist/dump/service.d.ts.map +1 -1
  118. package/dist/dump/service.js +1 -0
  119. package/dist/dump/service.js.map +1 -1
  120. package/dist/dump/types.d.ts +38 -0
  121. package/dist/dump/types.d.ts.map +1 -1
  122. package/dist/dump/types.js.map +1 -1
  123. package/dist/flow/built-in/default-factory.d.ts.map +1 -1
  124. package/dist/flow/built-in/default-factory.js +70 -66
  125. package/dist/flow/built-in/default-factory.js.map +1 -1
  126. package/dist/flow/built-in/default.d.ts +1 -1
  127. package/dist/flow/built-in/default.d.ts.map +1 -1
  128. package/dist/flow/built-in/default.js +3 -3
  129. package/dist/flow/built-in/default.js.map +1 -1
  130. package/dist/flow/built-in/default.ts +4 -4
  131. package/dist/flow/custom/AUTHORING.md +54 -54
  132. package/dist/flow/custom/load.d.ts.map +1 -1
  133. package/dist/flow/custom/load.js +0 -1
  134. package/dist/flow/custom/load.js.map +1 -1
  135. package/dist/flow/dsl.d.ts +2 -0
  136. package/dist/flow/dsl.d.ts.map +1 -1
  137. package/dist/flow/dsl.js +2 -0
  138. package/dist/flow/dsl.js.map +1 -1
  139. package/dist/flow/executor.d.ts +2 -1
  140. package/dist/flow/executor.d.ts.map +1 -1
  141. package/dist/flow/executor.js +31 -14
  142. package/dist/flow/executor.js.map +1 -1
  143. package/dist/flow/index.d.ts +1 -2
  144. package/dist/flow/index.d.ts.map +1 -1
  145. package/dist/flow/index.js +1 -2
  146. package/dist/flow/index.js.map +1 -1
  147. package/dist/flow/params.d.ts +19 -2
  148. package/dist/flow/params.d.ts.map +1 -1
  149. package/dist/flow/params.js +70 -1
  150. package/dist/flow/params.js.map +1 -1
  151. package/dist/flow/types.d.ts +33 -3
  152. package/dist/flow/types.d.ts.map +1 -1
  153. package/dist/flow/types.js +6 -0
  154. package/dist/flow/types.js.map +1 -1
  155. package/dist/flow-editor/tui.d.ts.map +1 -1
  156. package/dist/flow-editor/tui.js +10 -8
  157. package/dist/flow-editor/tui.js.map +1 -1
  158. package/dist/flow-editor/validate.d.ts.map +1 -1
  159. package/dist/flow-editor/validate.js +2 -1
  160. package/dist/flow-editor/validate.js.map +1 -1
  161. package/dist/markdown.d.ts +5 -0
  162. package/dist/markdown.d.ts.map +1 -1
  163. package/dist/markdown.js +48 -1
  164. package/dist/markdown.js.map +1 -1
  165. package/dist/orchestrator.d.ts +16 -5
  166. package/dist/orchestrator.d.ts.map +1 -1
  167. package/dist/orchestrator.js +106 -25
  168. package/dist/orchestrator.js.map +1 -1
  169. package/dist/preflight.d.ts +11 -0
  170. package/dist/preflight.d.ts.map +1 -1
  171. package/dist/preflight.js +49 -16
  172. package/dist/preflight.js.map +1 -1
  173. package/dist/preview-panel.d.ts +30 -5
  174. package/dist/preview-panel.d.ts.map +1 -1
  175. package/dist/preview-panel.js +332 -15
  176. package/dist/preview-panel.js.map +1 -1
  177. package/dist/providers/base-completion.d.ts +5 -1
  178. package/dist/providers/base-completion.d.ts.map +1 -1
  179. package/dist/providers/base-completion.js +65 -5
  180. package/dist/providers/base-completion.js.map +1 -1
  181. package/dist/providers/claude/completion-plan-mode.d.ts +1 -1
  182. package/dist/providers/claude/completion-plan-mode.d.ts.map +1 -1
  183. package/dist/providers/claude/completion-plan-mode.js +2 -2
  184. package/dist/providers/claude/completion-plan-mode.js.map +1 -1
  185. package/dist/providers/claude/completion.d.ts +1 -1
  186. package/dist/providers/claude/completion.d.ts.map +1 -1
  187. package/dist/providers/claude/completion.js +2 -2
  188. package/dist/providers/claude/completion.js.map +1 -1
  189. package/dist/providers/claude/strategy.d.ts +2 -4
  190. package/dist/providers/claude/strategy.d.ts.map +1 -1
  191. package/dist/providers/claude/strategy.js +6 -2
  192. package/dist/providers/claude/strategy.js.map +1 -1
  193. package/dist/providers/codex/completion.d.ts +1 -1
  194. package/dist/providers/codex/completion.d.ts.map +1 -1
  195. package/dist/providers/codex/completion.js +2 -2
  196. package/dist/providers/codex/completion.js.map +1 -1
  197. package/dist/providers/codex/strategy.d.ts +2 -4
  198. package/dist/providers/codex/strategy.d.ts.map +1 -1
  199. package/dist/providers/codex/strategy.js +11 -6
  200. package/dist/providers/codex/strategy.js.map +1 -1
  201. package/dist/providers/copilot/completion.d.ts +1 -1
  202. package/dist/providers/copilot/completion.d.ts.map +1 -1
  203. package/dist/providers/copilot/completion.js +2 -2
  204. package/dist/providers/copilot/completion.js.map +1 -1
  205. package/dist/providers/copilot/strategy.d.ts +2 -3
  206. package/dist/providers/copilot/strategy.d.ts.map +1 -1
  207. package/dist/providers/copilot/strategy.js +13 -6
  208. package/dist/providers/copilot/strategy.js.map +1 -1
  209. package/dist/providers/option-catalog.d.ts +8 -0
  210. package/dist/providers/option-catalog.d.ts.map +1 -0
  211. package/dist/providers/option-catalog.js +33 -0
  212. package/dist/providers/option-catalog.js.map +1 -0
  213. package/dist/providers/types.d.ts +8 -3
  214. package/dist/providers/types.d.ts.map +1 -1
  215. package/dist/providers/types.js.map +1 -1
  216. package/dist/providers/version.d.ts.map +1 -1
  217. package/dist/providers/version.js +6 -2
  218. package/dist/providers/version.js.map +1 -1
  219. package/dist/pty/exit.js +1 -1
  220. package/dist/pty/exit.js.map +1 -1
  221. package/dist/pty/spawn.d.ts +1 -0
  222. package/dist/pty/spawn.d.ts.map +1 -1
  223. package/dist/pty/spawn.js +13 -9
  224. package/dist/pty/spawn.js.map +1 -1
  225. package/dist/pty/types.d.ts +5 -1
  226. package/dist/pty/types.d.ts.map +1 -1
  227. package/dist/resume-tui.d.ts +6 -0
  228. package/dist/resume-tui.d.ts.map +1 -1
  229. package/dist/resume-tui.js +27 -12
  230. package/dist/resume-tui.js.map +1 -1
  231. package/dist/session/manifest.d.ts +12 -5
  232. package/dist/session/manifest.d.ts.map +1 -1
  233. package/dist/session/resume.d.ts.map +1 -1
  234. package/dist/session/resume.js +4 -2
  235. package/dist/session/resume.js.map +1 -1
  236. package/dist/startup-tui.d.ts +19 -5
  237. package/dist/startup-tui.d.ts.map +1 -1
  238. package/dist/startup-tui.js +134 -46
  239. package/dist/startup-tui.js.map +1 -1
  240. package/dist/terminal/win32-key-translator.d.ts.map +1 -1
  241. package/dist/terminal/win32-key-translator.js +5 -2
  242. package/dist/terminal/win32-key-translator.js.map +1 -1
  243. package/dist/terminal-input.d.ts.map +1 -1
  244. package/dist/terminal-input.js +9 -6
  245. package/dist/terminal-input.js.map +1 -1
  246. package/dist/user/curate-handler.d.ts.map +1 -1
  247. package/dist/user/curate-handler.js +25 -32
  248. package/dist/user/curate-handler.js.map +1 -1
  249. package/dist/user/curate-prompt.d.ts +1 -1
  250. package/dist/user/dsl.d.ts +1 -0
  251. package/dist/user/dsl.d.ts.map +1 -1
  252. package/dist/user/dsl.js +1 -0
  253. package/dist/user/dsl.js.map +1 -1
  254. package/dist/user/handler.d.ts.map +1 -1
  255. package/dist/user/handler.js +2 -1
  256. package/dist/user/handler.js.map +1 -1
  257. package/dist/user/host-curate-prompt.d.ts.map +1 -1
  258. package/dist/user/host-curate-prompt.js +105 -15
  259. package/dist/user/host-curate-prompt.js.map +1 -1
  260. package/dist/user/host-prompt.d.ts.map +1 -1
  261. package/dist/user/host-prompt.js +13 -5
  262. package/dist/user/host-prompt.js.map +1 -1
  263. package/dist/user/index.d.ts +1 -2
  264. package/dist/user/index.d.ts.map +1 -1
  265. package/dist/user/index.js +1 -2
  266. package/dist/user/index.js.map +1 -1
  267. package/dist/user/plan-pane.d.ts +32 -1
  268. package/dist/user/plan-pane.d.ts.map +1 -1
  269. package/dist/user/plan-pane.js +158 -5
  270. package/dist/user/plan-pane.js.map +1 -1
  271. package/dist/user/prompt.d.ts +9 -6
  272. package/dist/user/prompt.d.ts.map +1 -1
  273. package/dist/user/prompt.js +3 -8
  274. package/dist/user/prompt.js.map +1 -1
  275. package/package.json +1 -1
  276. package/schemas/review-verdict.json +13 -0
  277. package/dist/flow/built-in/why-so-serious-factory.d.ts +0 -16
  278. package/dist/flow/built-in/why-so-serious-factory.d.ts.map +0 -1
  279. package/dist/flow/built-in/why-so-serious-factory.js +0 -187
  280. package/dist/flow/built-in/why-so-serious-factory.js.map +0 -1
  281. package/dist/flow/built-in/why-so-serious.d.ts +0 -17
  282. package/dist/flow/built-in/why-so-serious.d.ts.map +0 -1
  283. package/dist/flow/built-in/why-so-serious.js +0 -23
  284. package/dist/flow/built-in/why-so-serious.js.map +0 -1
  285. package/dist/user/auto-curate-prompt.d.ts +0 -17
  286. package/dist/user/auto-curate-prompt.d.ts.map +0 -1
  287. package/dist/user/auto-curate-prompt.js +0 -22
  288. package/dist/user/auto-curate-prompt.js.map +0 -1
package/README.md CHANGED
@@ -42,28 +42,7 @@ The default flow uses a **two-layered loop** structure:
42
42
  Done
43
43
  ```
44
44
 
45
- In **auto mode** (`--auto`), user review steps are skipped — the reviewer loop alone decides approval. The startup TUI renders a live ASCII flow diagram reflecting the configured mode.
46
-
47
- ### "Why So Serious" workflow
48
-
49
- The **why-so-serious** workflow (selectable via Shift+Tab in the TUI) extends the default flow with two additions:
50
-
51
- 1. **Conditional re-planning** — if the implementation reviewer finds more than 2 issues, a planner step runs before the next implementation attempt to draft a targeted fix plan. When issues are within threshold, the implementor revises normally.
52
- 2. **Simplification pass** — after the implementation loop is approved, a simplifier agent reviews the codebase and produces a simplification plan, which the implementor then applies.
53
-
54
- ```
55
- Default impl loop Why-so-serious impl loop
56
- ──────────────── ────────────────────────
57
- Implement → Review issues > 2 ? → Planner (fix plan)
58
- ↑ rejected │ Implement → Review
59
- └────────────┘ ↑ rejected │
60
- │ approved └────────────┘
61
- ▼ │ approved
62
- Done ▼
63
- Simplifier → Implement
64
-
65
- Done
66
- ```
45
+ The startup TUI renders a live ASCII flow diagram reflecting the selected workflow and parameters.
67
46
 
68
47
  ### Custom flows
69
48
 
@@ -142,48 +121,21 @@ poly-weaver
142
121
 
143
122
  This opens an interactive TUI to configure the task, select providers for each role, and set options before starting the orchestration loop.
144
123
 
145
- You can also pass arguments directly:
124
+ You can seed TUI defaults from a JSON config file:
146
125
 
147
126
  ```bash
148
- # Pass a task directly
149
- poly-weaver "Refactor the auth module to use JWT"
150
-
151
- # Read task from a file
152
- poly-weaver task.md
153
-
154
- # Choose providers for each role
155
- poly-weaver "Add unit tests" --planner claude --reviewer copilot --implementor claude
156
-
157
- # Plan only (skip implementation)
158
- poly-weaver "Design a caching layer" --plan-only
159
-
160
- # Fully automated (no user checkpoints)
161
- poly-weaver "Fix the login bug" --auto
162
-
163
- # Opinionless mode — minimal prompts, agent decides the approach
164
- poly-weaver "Refactor the auth module" --opinionless
127
+ poly-weaver --config ./poly-weaver.config.json
165
128
  ```
166
129
 
167
130
  ### CLI options
168
131
 
169
132
  | Option | Description | Default |
170
133
  |---|---|---|
171
- | `[task]` | Task description or path to a `.md`/`.txt` file | _(interactive)_ |
172
- | `--planner <cli>` | Provider for planning (`claude` \| `codex` \| `copilot`) | `claude` |
173
- | `--reviewer <cli>` | Provider for reviewing (`claude` \| `codex` \| `copilot`) | `codex` |
174
- | `--implementor <cli>` | Provider for implementation (`claude` \| `codex` \| `copilot`) | `claude` |
175
- | `--simplifier <cli>` | Provider for simplification (`claude` \| `codex` \| `copilot`) | `claude` |
176
- | `--max-iterations <n>` | Max plan-review cycles | `5` (range: 1–50) |
177
- | `--max-impl-iterations <n>` | Max implementation-review cycles | `5` (range: 1–50) |
178
- | `--auto` | Skip user review phases | `false` |
179
- | `--plan-only` | Stop after plan approval, skip implementation | `false` |
180
- | `--workdir <path>` | Working directory for agent CLIs | current directory |
181
- | `--opinionless` | Use minimal prompts; let agents decide how to plan/review/implement | `false` |
182
- | `--no-yolo` | Run agents without auto-approving permissions | `false` (agents run with permission-skipping) |
183
- | `--workflow <name>` | Workflow template to use | `default` |
184
134
  | `--config <path>` | Path to a JSON config file | _(none)_ |
135
+ | `-h, --help` | Show help | |
136
+ | `-V, --version` | Show version | |
185
137
 
186
- Workflow is selected via `--workflow <name>` or **Shift+Tab** in the TUI. Built-in workflows: `default`, `why-so-serious`. Custom flows are also available (see below).
138
+ Workflow is selected with **Shift+Tab** in the TUI. Built-in workflows: `default`. Custom flows are also available (see below).
187
139
 
188
140
  ### Subcommands
189
141
 
@@ -243,8 +195,7 @@ src/
243
195
  │ ├── inspect.ts # Flow definition introspection utilities
244
196
  │ ├── index.ts # Re-exports
245
197
  │ ├── built-in/
246
- │ │ ├── default.ts # Default two-layered flow template
247
- │ │ └── why-so-serious.ts # Why-so-serious flow template (conditional replan + simplify)
198
+ │ │ └── default.ts # Default two-layered flow template
248
199
  │ └── custom/
249
200
  │ ├── load.ts # Custom flow loader (discovers ~/.poly-weaver/flows/*.mjs)
250
201
  │ ├── index.ts # Re-exports
@@ -307,14 +258,6 @@ src/
307
258
  └── types.ts # PTY-related types
308
259
  ```
309
260
 
310
- ### Opinionless mode
311
-
312
- By default, poly-weaver prompts include prescriptive criteria for each role — evaluation rubrics for reviewers, structural requirements for planners, step-by-step instructions for implementors.
313
-
314
- With `--opinionless`, prompts are stripped to the structural minimum: file path references and the verdict output schema. The agent decides how to approach its role. The verdict schema is also simplified — each issue only requires a `description`, with `category` and `severity` left to the agent's discretion.
315
-
316
- This is useful when the AI agent has its own strong conventions, or when you want to compare agent behavior with and without prescriptive guidance.
317
-
318
261
  ### Troubleshooting dump
319
262
 
320
263
  Press **Ctrl+]** at any time during an interactive session to capture a full snapshot of the current session state. The dump is written to:
@@ -0,0 +1,20 @@
1
+ export type AgentExitFailureMode = "failed-to-launch" | "exited-at-startup" | "crashed-mid-conversation";
2
+ export declare class AgentExitError extends Error {
3
+ readonly code: "AGENT_EXIT";
4
+ readonly failureMode: AgentExitFailureMode;
5
+ readonly exitCode: number | null;
6
+ readonly signal?: string;
7
+ readonly smokingGunLine?: string;
8
+ constructor(opts: {
9
+ failureMode: AgentExitFailureMode;
10
+ exitCode: number | null;
11
+ signal?: string;
12
+ smokingGunLine?: string;
13
+ message?: string;
14
+ });
15
+ }
16
+ export declare function classifyAgentFailure(state: {
17
+ spawnFailed: boolean;
18
+ activationObserved: boolean;
19
+ }): AgentExitFailureMode;
20
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/agents/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAC5B,kBAAkB,GAClB,mBAAmB,GACnB,0BAA0B,CAAC;AAE/B,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAU;IACtC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;gBAErB,IAAI,EAAE;QAChB,WAAW,EAAE,oBAAoB,CAAC;QAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;CAaF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,GAAG,oBAAoB,CAIvB"}
@@ -0,0 +1,26 @@
1
+ export class AgentExitError extends Error {
2
+ code = "AGENT_EXIT";
3
+ failureMode;
4
+ exitCode;
5
+ signal;
6
+ smokingGunLine;
7
+ constructor(opts) {
8
+ const exitPart = opts.exitCode == null ? "exit=null" : `exit=${opts.exitCode}`;
9
+ const signalPart = opts.signal ? `, signal=${opts.signal}` : "";
10
+ super(opts.message ??
11
+ `Agent process failed [${opts.failureMode}, ${exitPart}${signalPart}]`);
12
+ this.name = "AgentExitError";
13
+ this.failureMode = opts.failureMode;
14
+ this.exitCode = opts.exitCode;
15
+ this.signal = opts.signal;
16
+ this.smokingGunLine = opts.smokingGunLine;
17
+ }
18
+ }
19
+ export function classifyAgentFailure(state) {
20
+ if (state.spawnFailed)
21
+ return "failed-to-launch";
22
+ if (state.activationObserved)
23
+ return "crashed-mid-conversation";
24
+ return "exited-at-startup";
25
+ }
26
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/agents/errors.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,IAAI,GAAG,YAAqB,CAAC;IAC7B,WAAW,CAAuB;IAClC,QAAQ,CAAgB;IACxB,MAAM,CAAU;IAChB,cAAc,CAAU;IAEjC,YAAY,IAMX;QACC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,KAAK,CACH,IAAI,CAAC,OAAO;YACV,yBAAyB,IAAI,CAAC,WAAW,KAAK,QAAQ,GAAG,UAAU,GAAG,CACzE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAAC,KAGpC;IACC,IAAI,KAAK,CAAC,WAAW;QAAE,OAAO,kBAAkB,CAAC;IACjD,IAAI,KAAK,CAAC,kBAAkB;QAAE,OAAO,0BAA0B,CAAC;IAChE,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
@@ -9,7 +9,7 @@ type ImplementorRunOptions = {
9
9
  export declare function selectImplementorPrompt(planFile: string, opts: ImplementorRunOptions, prompts?: ImplementorPromptSet): string;
10
10
  export declare class ImplementorAdapter extends BaseAdapter implements ImplementorDriver {
11
11
  private readonly prompts?;
12
- constructor(strategy: ProviderStrategy, workdir: string, prompts?: ImplementorPromptSet | undefined, yolo?: boolean);
12
+ constructor(strategy: ProviderStrategy, workdir: string, prompts?: ImplementorPromptSet | undefined, yolo?: boolean, model?: string, effort?: string);
13
13
  run(planFile: string, opts?: ImplementorRunOptions): Promise<ImplementResult>;
14
14
  }
15
15
  export {};
@@ -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;IAKV,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,eAAe,CAAC;CAgB5B"}
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;IAKX,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,eAAe,CAAC;CAgB5B"}
@@ -14,8 +14,8 @@ export function selectImplementorPrompt(planFile, opts, prompts = defaultImpleme
14
14
  }
15
15
  export class ImplementorAdapter extends BaseAdapter {
16
16
  prompts;
17
- constructor(strategy, workdir, prompts, yolo) {
18
- super(strategy, workdir, yolo);
17
+ constructor(strategy, workdir, prompts, yolo, model, effort) {
18
+ super(strategy, workdir, yolo, model, effort);
19
19
  this.prompts = prompts;
20
20
  }
21
21
  async run(planFile, opts = {}) {
@@ -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;QAEd,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAHd,YAAO,GAAP,OAAO,CAAuB;IAIjD,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;SACtC,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
+ {"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;QAEf,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAL7B,YAAO,GAAP,OAAO,CAAuB;IAMjD,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;SACtC,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;AAG7B,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;CAiEvB"}
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;AAG7B,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;CAkEvB"}
@@ -1,4 +1,4 @@
1
- import { bindSessionReporter, bindDriverRuntime, bindPtyBufferReporter } from "../runner.js";
1
+ import { bindSessionReporter, bindDriverRuntime, bindPtyBufferReporter, bindAttemptFailureReporter } from "../runner.js";
2
2
  export class ImplementorRoleHandler {
3
3
  driver;
4
4
  /** Tracks the last execution mode per step ID for session invalidation. */
@@ -43,6 +43,7 @@ export class ImplementorRoleHandler {
43
43
  }
44
44
  bindSessionReporter(this.driver, ctx.lastStepSessionFilePaths);
45
45
  bindPtyBufferReporter(this.driver, ctx);
46
+ bindAttemptFailureReporter(this.driver, ctx);
46
47
  bindDriverRuntime(this.driver, { output: ctx.output, terminalHost: ctx.terminalHost });
47
48
  const implResult = await retry("implementor", async (attempt) => {
48
49
  return this.driver.run(planFile, {
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/implementors/handler.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE7F,MAAM,OAAO,sBAAsB;IAIb;IAHpB,2EAA2E;IACnE,cAAc,GAAG,IAAI,GAAG,EAAoC,CAAC;IAErE,YAAoB,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAEjD,KAAK,CAAC,OAAO,CACX,IAAc,EACd,GAAgB,EAChB,KAAc;QAEd,kDAAkD;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;YAC1C,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,WAAW,GACf,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAElD,MAAM,OAAO,GAAG,IAAiB,CAAC;QAClC,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,QAAgB,CAAC;QACrB,IAAI,YAAgC,CAAC;QACrC,IAAI,eAAmC,CAAC;QAExC,IAAI,cAAc,EAAE,CAAC;YACnB,mEAAmE;YACnE,QAAQ,GAAG,cAAc,CAAC;YAC1B,YAAY,GAAG,SAAS,CAAC;YACzB,eAAe,GAAG,SAAS,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,gDAAgD;YAChD,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACpF,QAAQ,GAAG,YAAY,CAAC;YACxB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO;gBACxC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,YAAY,GAAG,eAAe,EAAE,IAAI,CAAC;YAErC,8EAA8E;YAC9E,eAAe,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,CAAC;gBACjE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;gBAChC,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;QAED,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAyB,CAAC,CAAC;QAChE,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QAEvF,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE;gBAC/B,eAAe,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;gBAC5D,YAAY,EAAE,YAAY,IAAI,SAAS;gBACvC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aAC9C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;YAC/B,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAE9C,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACzB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/implementors/handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMtD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,iBAAiB,CAAC;AAexG,eAAO,MAAM,gBAAgB,EAA2B,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAC/G,eAAO,MAAQ,eAAe,uDAAE,gBAAgB,gBAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMtD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,iBAAiB,CAAC;AAiBxG,eAAO,MAAM,gBAAgB,EAA2B,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAC/G,eAAO,MAAQ,eAAe,uDAAE,gBAAgB,gBAAQ,CAAC"}
@@ -1,19 +1,13 @@
1
1
  import { ImplementorAdapter } from "./adapter.js";
2
2
  import { ImplementorRoleHandler } from "./handler.js";
3
3
  import { createRoleModule } from "../registry.js";
4
- import { minimalImplementorPrompts } from "./prompts.js";
4
+ import { defaultImplementorPrompts } from "./prompts.js";
5
5
  export { implement } from "./dsl.js";
6
6
  export { ImplementorRoleHandler } from "./handler.js";
7
7
  const mod = createRoleModule({
8
8
  roleName: "implementor",
9
- fromFactory: (factory, workdir, opts) => {
10
- const prompts = opts?.opinionless ? minimalImplementorPrompts : undefined;
11
- return factory(workdir, prompts);
12
- },
13
- fromProvider: (strategy, workdir, opts) => {
14
- const prompts = opts?.opinionless ? minimalImplementorPrompts : undefined;
15
- return new ImplementorAdapter(strategy, workdir, prompts, opts?.yolo);
16
- },
9
+ fromFactory: (factory, workdir) => factory(workdir, defaultImplementorPrompts),
10
+ fromProvider: (strategy, workdir, opts) => new ImplementorAdapter(strategy, workdir, defaultImplementorPrompts, opts?.yolo, opts?.model, opts?.effort),
17
11
  toHandler: (driver) => new ImplementorRoleHandler(driver),
18
12
  });
19
13
  export const registerProvider = mod.registerProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/implementors/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAoB,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAKtD,MAAM,GAAG,GAAG,gBAAgB,CAAwC;IAClE,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,OAAO,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,OAAO,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IACD,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,sBAAsB,CAAC,MAAM,CAAC;CAC1D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,gBAA0E,CAAC;AAC/G,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/implementors/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAKtD,MAAM,GAAG,GAAG,gBAAgB,CAAwC;IAClE,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,yBAAyB,CAAC;IAC9E,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CACxC,IAAI,kBAAkB,CACpB,QAAQ,EACR,OAAO,EACP,yBAAyB,EACzB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,MAAM,CACb;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,sBAAsB,CAAC,MAAM,CAAC;CAC1D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,gBAA0E,CAAC;AAC/G,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC"}
@@ -1,12 +1,7 @@
1
1
  import type { ImplementorPromptSet } from "./types.js";
2
- export declare function buildMinimalImplementorPrompt(planFile: string): string;
3
- export declare function buildMinimalImplementorRevisionPrompt(planFile: string, feedbackFile: string): string;
4
- export declare function buildMinimalImplementorResumeRevisionPrompt(feedbackFile: string): string;
5
- export declare function buildMinimalImplementorChangePlanPrompt(planFile: string): string;
6
- export declare const buildImplementorPrompt: typeof buildMinimalImplementorPrompt;
7
- export declare const buildImplementorRevisionPrompt: typeof buildMinimalImplementorRevisionPrompt;
8
- export declare const buildImplementorResumeRevisionPrompt: typeof buildMinimalImplementorResumeRevisionPrompt;
9
- export declare const buildImplementorChangePlanPrompt: typeof buildMinimalImplementorChangePlanPrompt;
10
- export declare const minimalImplementorPrompts: ImplementorPromptSet;
2
+ export declare function buildImplementorPrompt(planFile: string): string;
3
+ export declare function buildImplementorRevisionPrompt(planFile: string, feedbackFile: string): string;
4
+ export declare function buildImplementorResumeRevisionPrompt(feedbackFile: string): string;
5
+ export declare function buildImplementorChangePlanPrompt(planFile: string): string;
11
6
  export declare const defaultImplementorPrompts: ImplementorPromptSet;
12
7
  //# 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;AAIvD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMtE;AAED,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,MAAM,CAOR;AAED,wBAAgB,2CAA2C,CACzD,YAAY,EAAE,MAAM,GACnB,MAAM,CAMR;AAED,wBAAgB,uCAAuC,CACrD,QAAQ,EAAE,MAAM,GACf,MAAM,CAMR;AAID,eAAO,MAAM,sBAAsB,sCAAgC,CAAC;AACpE,eAAO,MAAM,8BAA8B,8CAAwC,CAAC;AACpF,eAAO,MAAM,oCAAoC,oDAA8C,CAAC;AAChG,eAAO,MAAM,gCAAgC,gDAA0C,CAAC;AAIxF,eAAO,MAAM,yBAAyB,EAAE,oBAKvC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,oBAAgD,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;AAIvD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,MAAM,CAOR;AAED,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,MAAM,GACnB,MAAM,CAMR;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,MAAM,GACf,MAAM,CAMR;AAID,eAAO,MAAM,yBAAyB,EAAE,oBAKvC,CAAC"}
@@ -1,12 +1,12 @@
1
- // ── Minimal implementor prompts ──
2
- export function buildMinimalImplementorPrompt(planFile) {
1
+ // ── Implementor prompts ──
2
+ export function buildImplementorPrompt(planFile) {
3
3
  return [
4
4
  `Read the approved implementation plan: ${planFile}`,
5
5
  "",
6
6
  "Implement the plan by making code changes in the working directory.",
7
7
  ].join("\n");
8
8
  }
9
- export function buildMinimalImplementorRevisionPrompt(planFile, feedbackFile) {
9
+ export function buildImplementorRevisionPrompt(planFile, feedbackFile) {
10
10
  return [
11
11
  `Read the approved implementation plan: ${planFile}`,
12
12
  `Read the review feedback: ${feedbackFile}`,
@@ -14,31 +14,25 @@ export function buildMinimalImplementorRevisionPrompt(planFile, feedbackFile) {
14
14
  "Revise your implementation to address the feedback.",
15
15
  ].join("\n");
16
16
  }
17
- export function buildMinimalImplementorResumeRevisionPrompt(feedbackFile) {
17
+ export function buildImplementorResumeRevisionPrompt(feedbackFile) {
18
18
  return [
19
19
  `Read the new review feedback: ${feedbackFile}`,
20
20
  "",
21
21
  "Revise your implementation accordingly.",
22
22
  ].join("\n");
23
23
  }
24
- export function buildMinimalImplementorChangePlanPrompt(planFile) {
24
+ export function buildImplementorChangePlanPrompt(planFile) {
25
25
  return [
26
26
  `Read the change plan: ${planFile}`,
27
27
  "",
28
28
  "Apply the changes to the working directory.",
29
29
  ].join("\n");
30
30
  }
31
- // ─── Opinion-mode implementor prompts (aliased to minimal for now) ──────
32
- export const buildImplementorPrompt = buildMinimalImplementorPrompt;
33
- export const buildImplementorRevisionPrompt = buildMinimalImplementorRevisionPrompt;
34
- export const buildImplementorResumeRevisionPrompt = buildMinimalImplementorResumeRevisionPrompt;
35
- export const buildImplementorChangePlanPrompt = buildMinimalImplementorChangePlanPrompt;
36
31
  // ─── Prompt set exports ──────────────────────────────────────────────────
37
- export const minimalImplementorPrompts = {
38
- initial: buildMinimalImplementorPrompt,
39
- revision: buildMinimalImplementorRevisionPrompt,
40
- resumeRevision: buildMinimalImplementorResumeRevisionPrompt,
41
- changePlan: buildMinimalImplementorChangePlanPrompt,
32
+ export const defaultImplementorPrompts = {
33
+ initial: buildImplementorPrompt,
34
+ revision: buildImplementorRevisionPrompt,
35
+ resumeRevision: buildImplementorResumeRevisionPrompt,
36
+ changePlan: buildImplementorChangePlanPrompt,
42
37
  };
43
- export const defaultImplementorPrompts = minimalImplementorPrompts;
44
38
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agents/implementors/prompts.ts"],"names":[],"mappings":"AAEA,oCAAoC;AAEpC,MAAM,UAAU,6BAA6B,CAAC,QAAgB;IAC5D,OAAO;QACL,0CAA0C,QAAQ,EAAE;QACpD,EAAE;QACF,qEAAqE;KACtE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,QAAgB,EAChB,YAAoB;IAEpB,OAAO;QACL,0CAA0C,QAAQ,EAAE;QACpD,6BAA6B,YAAY,EAAE;QAC3C,EAAE;QACF,qDAAqD;KACtD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,2CAA2C,CACzD,YAAoB;IAEpB,OAAO;QACL,iCAAiC,YAAY,EAAE;QAC/C,EAAE;QACF,yCAAyC;KAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,QAAgB;IAEhB,OAAO;QACL,yBAAyB,QAAQ,EAAE;QACnC,EAAE;QACF,6CAA6C;KAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,2EAA2E;AAE3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;AACpE,MAAM,CAAC,MAAM,8BAA8B,GAAG,qCAAqC,CAAC;AACpF,MAAM,CAAC,MAAM,oCAAoC,GAAG,2CAA2C,CAAC;AAChG,MAAM,CAAC,MAAM,gCAAgC,GAAG,uCAAuC,CAAC;AAExF,4EAA4E;AAE5E,MAAM,CAAC,MAAM,yBAAyB,GAAyB;IAC7D,OAAO,EAAE,6BAA6B;IACtC,QAAQ,EAAE,qCAAqC;IAC/C,cAAc,EAAE,2CAA2C;IAC3D,UAAU,EAAE,uCAAuC;CACpD,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAyB,yBAAyB,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agents/implementors/prompts.ts"],"names":[],"mappings":"AAEA,4BAA4B;AAE5B,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,OAAO;QACL,0CAA0C,QAAQ,EAAE;QACpD,EAAE;QACF,qEAAqE;KACtE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,QAAgB,EAChB,YAAoB;IAEpB,OAAO;QACL,0CAA0C,QAAQ,EAAE;QACpD,6BAA6B,YAAY,EAAE;QAC3C,EAAE;QACF,qDAAqD;KACtD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,YAAoB;IAEpB,OAAO;QACL,iCAAiC,YAAY,EAAE;QAC/C,EAAE;QACF,yCAAyC;KAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,QAAgB;IAEhB,OAAO;QACL,yBAAyB,QAAQ,EAAE;QACnC,EAAE;QACF,6CAA6C;KAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,4EAA4E;AAE5E,MAAM,CAAC,MAAM,yBAAyB,GAAyB;IAC7D,OAAO,EAAE,sBAAsB;IAC/B,QAAQ,EAAE,8BAA8B;IACxC,cAAc,EAAE,oCAAoC;IACpD,UAAU,EAAE,gCAAgC;CAC7C,CAAC"}
@@ -2,10 +2,12 @@ import "./planners/index.js";
2
2
  import "./reviewers/index.js";
3
3
  import "./implementors/index.js";
4
4
  import "./simplifiers/index.js";
5
+ import "./interviewers/index.js";
5
6
  export { plan } from "./planners/index.js";
6
7
  export { review } from "./reviewers/index.js";
7
8
  export { implement } from "./implementors/index.js";
8
9
  export { simplify } from "./simplifiers/index.js";
10
+ export { interviewer } from "./interviewers/index.js";
9
11
  export { createHandler, availableDriversForRole } from "./registry.js";
10
12
  export type { HandlerOpts } from "./registry.js";
11
13
  export declare function registerBuiltinProviders(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AACA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAShC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACvE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,wBAAgB,wBAAwB,IAAI,IAAI,CAO/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AACA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,yBAAyB,CAAC;AAUjC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACvE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,wBAAgB,wBAAwB,IAAI,IAAI,CAQ/C"}
@@ -3,16 +3,19 @@ import "./planners/index.js";
3
3
  import "./reviewers/index.js";
4
4
  import "./implementors/index.js";
5
5
  import "./simplifiers/index.js";
6
+ import "./interviewers/index.js";
6
7
  import { builtinStrategies } from "../providers/registry.js";
7
8
  import * as planners from "./planners/index.js";
8
9
  import * as reviewers from "./reviewers/index.js";
9
10
  import * as implementors from "./implementors/index.js";
10
11
  import * as simplifiers from "./simplifiers/index.js";
12
+ import * as interviewers from "./interviewers/index.js";
11
13
  // Re-export DSL helpers and registry
12
14
  export { plan } from "./planners/index.js";
13
15
  export { review } from "./reviewers/index.js";
14
16
  export { implement } from "./implementors/index.js";
15
17
  export { simplify } from "./simplifiers/index.js";
18
+ export { interviewer } from "./interviewers/index.js";
16
19
  export { createHandler, availableDriversForRole } from "./registry.js";
17
20
  export function registerBuiltinProviders() {
18
21
  for (const [name, strategy] of builtinStrategies()) {
@@ -20,6 +23,7 @@ export function registerBuiltinProviders() {
20
23
  reviewers.registerProvider(name, strategy);
21
24
  implementors.registerProvider(name, strategy);
22
25
  simplifiers.registerProvider(name, strategy);
26
+ interviewers.registerProvider(name, strategy);
23
27
  }
24
28
  }
25
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,OAAO,qBAAqB,CAAC;AAC7B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AAEtD,qCAAqC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGvE,MAAM,UAAU,wBAAwB;IACtC,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,iBAAiB,EAAE,EAAE,CAAC;QACnD,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9C,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,OAAO,qBAAqB,CAAC;AAC7B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,yBAAyB,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AAExD,qCAAqC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGvE,MAAM,UAAU,wBAAwB;IACtC,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,iBAAiB,EAAE,EAAE,CAAC;QACnD,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9C,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { ProviderStrategy } from "../../providers/types.js";
2
+ import { BaseAdapter } from "../runner.js";
3
+ import type { InterviewerDriver, InterviewerLiveSidecarMeta, InterviewerPromptSet, InterviewerRunOpts, InterviewResult } from "./types.js";
4
+ export declare class InterviewerAdapter extends BaseAdapter implements InterviewerDriver {
5
+ private readonly prompts;
6
+ private pendingSidecarWrite;
7
+ constructor(strategy: ProviderStrategy, workdir: string, prompts?: InterviewerPromptSet, yolo?: boolean, model?: string, effort?: string);
8
+ run(opts: InterviewerRunOpts): Promise<InterviewResult>;
9
+ resolveCurrentSessionId(): Promise<string | undefined>;
10
+ predictSessionFile(sessionId: string): string | undefined;
11
+ setLiveSidecar(sidecarPath: string, meta: InterviewerLiveSidecarMeta): void;
12
+ flushPendingSidecar(): Promise<void>;
13
+ private writeSidecar;
14
+ private buildPrompt;
15
+ private buildFreshFallbackPrompt;
16
+ }
17
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
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,EACjB,0BAA0B,EAE1B,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,qBAAa,kBAAmB,SAAQ,WAAY,YAAW,iBAAiB;IAM5E,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,mBAAmB,CAA4B;gBAGrD,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;IAKX,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,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,GAAG,IAAI;IAYrE,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;YAS5B,YAAY;IAsB1B,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,wBAAwB;CAWjC"}
@@ -0,0 +1,111 @@
1
+ import { writeFile } from "node:fs/promises";
2
+ import { BaseAdapter } from "../runner.js";
3
+ import { defaultInterviewerPrompts } from "./prompts.js";
4
+ export class InterviewerAdapter extends BaseAdapter {
5
+ prompts;
6
+ pendingSidecarWrite;
7
+ constructor(strategy, workdir, prompts = defaultInterviewerPrompts, yolo, model, effort) {
8
+ super(strategy, workdir, yolo, model, effort);
9
+ this.prompts = prompts;
10
+ }
11
+ async run(opts) {
12
+ const prompt = this.buildPrompt(opts.mode, opts);
13
+ const freshFallbackPrompt = opts.resumeSessionId
14
+ ? this.buildFreshFallbackPrompt(opts)
15
+ : undefined;
16
+ const result = await this.runAgent({
17
+ prompt,
18
+ workdir: this.workdir,
19
+ resumeSessionId: opts.resumeSessionId,
20
+ // Prefer the handler-supplied path (set when the handler resolved
21
+ // resumeSessionId from a sidecar/snapshot in a fresh process — at
22
+ // that point this.sessionFilePath is undefined).
23
+ sessionFilePath: opts.resumeSessionFilePath ?? this.sessionFilePath,
24
+ freshFallbackPrompt,
25
+ completionMarkerFile: opts.markerFile,
26
+ });
27
+ return {
28
+ sessionId: result.sessionId,
29
+ sessionFilePath: this.sessionFilePath,
30
+ rawText: result.responseText,
31
+ agentUsed: this.name,
32
+ };
33
+ }
34
+ async resolveCurrentSessionId() {
35
+ if (this.sessionId)
36
+ return this.sessionId;
37
+ if (!this.sessionFilePath)
38
+ return undefined;
39
+ try {
40
+ return await this.strategy.session.extractSessionId(this.sessionFilePath);
41
+ }
42
+ catch {
43
+ return undefined;
44
+ }
45
+ }
46
+ predictSessionFile(sessionId) {
47
+ return this.strategy.session.predictSessionFile?.(this.workdir, sessionId);
48
+ }
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
+ buildPrompt(mode, opts) {
83
+ switch (mode) {
84
+ case "initial":
85
+ return this.prompts.initial(opts.taskFile, opts.specFile, opts.markerFile);
86
+ case "continue":
87
+ return this.prompts.continueInterview(opts.specFile, opts.markerFile);
88
+ case "retry-missing-spec":
89
+ return this.prompts.retryMissingSpec(opts.specFile, opts.markerFile);
90
+ case "revise":
91
+ if (!opts.feedbackFile) {
92
+ throw new Error("InterviewerAdapter: revise mode requires feedbackFile");
93
+ }
94
+ return this.prompts.revise(opts.feedbackFile, opts.specFile, opts.markerFile);
95
+ case "rehydrate":
96
+ return this.prompts.rehydrate(opts.taskFile, opts.specFile, opts.markerFile, opts.feedbackFile);
97
+ }
98
+ }
99
+ // Fresh-fallback is intentionally mode-agnostic: it branches on
100
+ // `feedbackFile` only. The runner replays this prompt when the resumed
101
+ // session cannot be reattached — the new fresh provider conversation has
102
+ // no history of the original briefing, so it must receive a self-contained
103
+ // `initial` or `rehydrate` regardless of which mode the handler chose.
104
+ buildFreshFallbackPrompt(opts) {
105
+ if (opts.feedbackFile) {
106
+ return this.prompts.rehydrate(opts.taskFile, opts.specFile, opts.markerFile, opts.feedbackFile);
107
+ }
108
+ return this.prompts.initial(opts.taskFile, opts.specFile, opts.markerFile);
109
+ }
110
+ }
111
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/interviewers/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type WhenCondition, type PhaseLabelSpec } from "../../flow/dsl.js";
2
+ import type { AgentStep } from "../../flow/types.js";
3
+ export declare function interviewer(opts: {
4
+ driver: string;
5
+ reads: Record<string, string>;
6
+ writes: Record<string, string>;
7
+ id?: string;
8
+ sessionShareKey?: string;
9
+ when?: WhenCondition;
10
+ whenLabel?: string;
11
+ phaseLabel?: PhaseLabelSpec;
12
+ }): AgentStep;
13
+ //# sourceMappingURL=dsl.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,14 @@
1
+ import { agentStep } from "../../flow/dsl.js";
2
+ export function interviewer(opts) {
3
+ return agentStep("interviewer", {
4
+ feedbackToTask: false,
5
+ idPrefix: "interview",
6
+ phaseLabel: "🎤 Interviewing...",
7
+ }, {
8
+ ...opts,
9
+ sessionShareKey: opts.sessionShareKey ?? "interviewer",
10
+ reuseSessionOnRetry: true,
11
+ restoreSessionIdsOnResume: true,
12
+ });
13
+ }
14
+ //# sourceMappingURL=dsl.js.map
@@ -0,0 +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,IAS3B;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"}