harness-engineering-agent 0.1.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 (327) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +191 -0
  3. package/dist/config/config-defaults.d.ts +32 -0
  4. package/dist/config/config-defaults.d.ts.map +1 -0
  5. package/dist/config/config-defaults.js +32 -0
  6. package/dist/config/config-defaults.js.map +1 -0
  7. package/dist/config/config-errors.d.ts +7 -0
  8. package/dist/config/config-errors.d.ts.map +1 -0
  9. package/dist/config/config-errors.js +11 -0
  10. package/dist/config/config-errors.js.map +1 -0
  11. package/dist/config/config-file.d.ts +3 -0
  12. package/dist/config/config-file.d.ts.map +1 -0
  13. package/dist/config/config-file.js +31 -0
  14. package/dist/config/config-file.js.map +1 -0
  15. package/dist/config/config-merge.d.ts +8 -0
  16. package/dist/config/config-merge.d.ts.map +1 -0
  17. package/dist/config/config-merge.js +50 -0
  18. package/dist/config/config-merge.js.map +1 -0
  19. package/dist/config/config-schema.d.ts +135 -0
  20. package/dist/config/config-schema.d.ts.map +1 -0
  21. package/dist/config/config-schema.js +94 -0
  22. package/dist/config/config-schema.js.map +1 -0
  23. package/dist/config/config-types.d.ts +21 -0
  24. package/dist/config/config-types.d.ts.map +1 -0
  25. package/dist/config/config-types.js +2 -0
  26. package/dist/config/config-types.js.map +1 -0
  27. package/dist/config/harness-config.d.ts +6 -0
  28. package/dist/config/harness-config.d.ts.map +1 -0
  29. package/dist/config/harness-config.js +4 -0
  30. package/dist/config/harness-config.js.map +1 -0
  31. package/dist/config/index.d.ts +2 -0
  32. package/dist/config/index.d.ts.map +1 -0
  33. package/dist/config/index.js +2 -0
  34. package/dist/config/index.js.map +1 -0
  35. package/dist/config/load-harness-config.d.ts +9 -0
  36. package/dist/config/load-harness-config.d.ts.map +1 -0
  37. package/dist/config/load-harness-config.js +25 -0
  38. package/dist/config/load-harness-config.js.map +1 -0
  39. package/dist/controller/agent-output.d.ts +21 -0
  40. package/dist/controller/agent-output.d.ts.map +1 -0
  41. package/dist/controller/agent-output.js +75 -0
  42. package/dist/controller/agent-output.js.map +1 -0
  43. package/dist/controller/agent-session.d.ts +49 -0
  44. package/dist/controller/agent-session.d.ts.map +1 -0
  45. package/dist/controller/agent-session.js +220 -0
  46. package/dist/controller/agent-session.js.map +1 -0
  47. package/dist/controller/contracts.d.ts +65 -0
  48. package/dist/controller/contracts.d.ts.map +1 -0
  49. package/dist/controller/contracts.js +2 -0
  50. package/dist/controller/contracts.js.map +1 -0
  51. package/dist/controller/errors.d.ts +23 -0
  52. package/dist/controller/errors.d.ts.map +1 -0
  53. package/dist/controller/errors.js +37 -0
  54. package/dist/controller/errors.js.map +1 -0
  55. package/dist/controller/evidence-factory.d.ts +15 -0
  56. package/dist/controller/evidence-factory.d.ts.map +1 -0
  57. package/dist/controller/evidence-factory.js +38 -0
  58. package/dist/controller/evidence-factory.js.map +1 -0
  59. package/dist/controller/failure-analysis.d.ts +36 -0
  60. package/dist/controller/failure-analysis.d.ts.map +1 -0
  61. package/dist/controller/failure-analysis.js +175 -0
  62. package/dist/controller/failure-analysis.js.map +1 -0
  63. package/dist/controller/failure-factory.d.ts +85 -0
  64. package/dist/controller/failure-factory.d.ts.map +1 -0
  65. package/dist/controller/failure-factory.js +124 -0
  66. package/dist/controller/failure-factory.js.map +1 -0
  67. package/dist/controller/graph-validator.d.ts +4 -0
  68. package/dist/controller/graph-validator.d.ts.map +1 -0
  69. package/dist/controller/graph-validator.js +102 -0
  70. package/dist/controller/graph-validator.js.map +1 -0
  71. package/dist/controller/index.d.ts +15 -0
  72. package/dist/controller/index.d.ts.map +1 -0
  73. package/dist/controller/index.js +11 -0
  74. package/dist/controller/index.js.map +1 -0
  75. package/dist/controller/repair-loop.d.ts +42 -0
  76. package/dist/controller/repair-loop.d.ts.map +1 -0
  77. package/dist/controller/repair-loop.js +385 -0
  78. package/dist/controller/repair-loop.js.map +1 -0
  79. package/dist/controller/report-factory.d.ts +4 -0
  80. package/dist/controller/report-factory.d.ts.map +1 -0
  81. package/dist/controller/report-factory.js +107 -0
  82. package/dist/controller/report-factory.js.map +1 -0
  83. package/dist/controller/role-prompts.d.ts +8 -0
  84. package/dist/controller/role-prompts.d.ts.map +1 -0
  85. package/dist/controller/role-prompts.js +35 -0
  86. package/dist/controller/role-prompts.js.map +1 -0
  87. package/dist/controller/run-controller.d.ts +3 -0
  88. package/dist/controller/run-controller.d.ts.map +1 -0
  89. package/dist/controller/run-controller.js +291 -0
  90. package/dist/controller/run-controller.js.map +1 -0
  91. package/dist/controller/run-persistence.d.ts +15 -0
  92. package/dist/controller/run-persistence.d.ts.map +1 -0
  93. package/dist/controller/run-persistence.js +83 -0
  94. package/dist/controller/run-persistence.js.map +1 -0
  95. package/dist/controller/run-state.d.ts +61 -0
  96. package/dist/controller/run-state.d.ts.map +1 -0
  97. package/dist/controller/run-state.js +151 -0
  98. package/dist/controller/run-state.js.map +1 -0
  99. package/dist/controller/task-agent-output.d.ts +70 -0
  100. package/dist/controller/task-agent-output.d.ts.map +1 -0
  101. package/dist/controller/task-agent-output.js +256 -0
  102. package/dist/controller/task-agent-output.js.map +1 -0
  103. package/dist/controller/task-agent-schemas.d.ts +217 -0
  104. package/dist/controller/task-agent-schemas.d.ts.map +1 -0
  105. package/dist/controller/task-agent-schemas.js +171 -0
  106. package/dist/controller/task-agent-schemas.js.map +1 -0
  107. package/dist/controller/task-executor.d.ts +15 -0
  108. package/dist/controller/task-executor.d.ts.map +1 -0
  109. package/dist/controller/task-executor.js +751 -0
  110. package/dist/controller/task-executor.js.map +1 -0
  111. package/dist/controller/task-paths.d.ts +3 -0
  112. package/dist/controller/task-paths.d.ts.map +1 -0
  113. package/dist/controller/task-paths.js +20 -0
  114. package/dist/controller/task-paths.js.map +1 -0
  115. package/dist/controller/task-retry.d.ts +24 -0
  116. package/dist/controller/task-retry.d.ts.map +1 -0
  117. package/dist/controller/task-retry.js +42 -0
  118. package/dist/controller/task-retry.js.map +1 -0
  119. package/dist/controller/worktree-eligibility.d.ts +15 -0
  120. package/dist/controller/worktree-eligibility.d.ts.map +1 -0
  121. package/dist/controller/worktree-eligibility.js +38 -0
  122. package/dist/controller/worktree-eligibility.js.map +1 -0
  123. package/dist/controller/worktree-scheduler.d.ts +72 -0
  124. package/dist/controller/worktree-scheduler.d.ts.map +1 -0
  125. package/dist/controller/worktree-scheduler.js +142 -0
  126. package/dist/controller/worktree-scheduler.js.map +1 -0
  127. package/dist/domain/agent-result.d.ts +83 -0
  128. package/dist/domain/agent-result.d.ts.map +1 -0
  129. package/dist/domain/agent-result.js +44 -0
  130. package/dist/domain/agent-result.js.map +1 -0
  131. package/dist/domain/evidence.d.ts +97 -0
  132. package/dist/domain/evidence.d.ts.map +1 -0
  133. package/dist/domain/evidence.js +85 -0
  134. package/dist/domain/evidence.js.map +1 -0
  135. package/dist/domain/failure.d.ts +121 -0
  136. package/dist/domain/failure.d.ts.map +1 -0
  137. package/dist/domain/failure.js +72 -0
  138. package/dist/domain/failure.js.map +1 -0
  139. package/dist/domain/index.d.ts +19 -0
  140. package/dist/domain/index.d.ts.map +1 -0
  141. package/dist/domain/index.js +10 -0
  142. package/dist/domain/index.js.map +1 -0
  143. package/dist/domain/report.d.ts +904 -0
  144. package/dist/domain/report.d.ts.map +1 -0
  145. package/dist/domain/report.js +90 -0
  146. package/dist/domain/report.js.map +1 -0
  147. package/dist/domain/requirement.d.ts +10 -0
  148. package/dist/domain/requirement.d.ts.map +1 -0
  149. package/dist/domain/requirement.js +12 -0
  150. package/dist/domain/requirement.js.map +1 -0
  151. package/dist/domain/run.d.ts +857 -0
  152. package/dist/domain/run.d.ts.map +1 -0
  153. package/dist/domain/run.js +129 -0
  154. package/dist/domain/run.js.map +1 -0
  155. package/dist/domain/shared.d.ts +60 -0
  156. package/dist/domain/shared.d.ts.map +1 -0
  157. package/dist/domain/shared.js +66 -0
  158. package/dist/domain/shared.js.map +1 -0
  159. package/dist/domain/task.d.ts +316 -0
  160. package/dist/domain/task.d.ts.map +1 -0
  161. package/dist/domain/task.js +116 -0
  162. package/dist/domain/task.js.map +1 -0
  163. package/dist/index.d.ts +15 -0
  164. package/dist/index.d.ts.map +1 -0
  165. package/dist/index.js +15 -0
  166. package/dist/index.js.map +1 -0
  167. package/dist/path/workspace-path.d.ts +6 -0
  168. package/dist/path/workspace-path.d.ts.map +1 -0
  169. package/dist/path/workspace-path.js +36 -0
  170. package/dist/path/workspace-path.js.map +1 -0
  171. package/dist/plugin/create-harness-plugin.d.ts +40 -0
  172. package/dist/plugin/create-harness-plugin.d.ts.map +1 -0
  173. package/dist/plugin/create-harness-plugin.js +169 -0
  174. package/dist/plugin/create-harness-plugin.js.map +1 -0
  175. package/dist/plugin/harness-agent-config.d.ts +6 -0
  176. package/dist/plugin/harness-agent-config.d.ts.map +1 -0
  177. package/dist/plugin/harness-agent-config.js +130 -0
  178. package/dist/plugin/harness-agent-config.js.map +1 -0
  179. package/dist/plugin/harness-chat-hook.d.ts +27 -0
  180. package/dist/plugin/harness-chat-hook.d.ts.map +1 -0
  181. package/dist/plugin/harness-chat-hook.js +72 -0
  182. package/dist/plugin/harness-chat-hook.js.map +1 -0
  183. package/dist/plugin/harness-chat-parts.d.ts +10 -0
  184. package/dist/plugin/harness-chat-parts.d.ts.map +1 -0
  185. package/dist/plugin/harness-chat-parts.js +36 -0
  186. package/dist/plugin/harness-chat-parts.js.map +1 -0
  187. package/dist/plugin/harness-chat-protocol.d.ts +9 -0
  188. package/dist/plugin/harness-chat-protocol.d.ts.map +1 -0
  189. package/dist/plugin/harness-chat-protocol.js +23 -0
  190. package/dist/plugin/harness-chat-protocol.js.map +1 -0
  191. package/dist/plugin/harness-coordinator.d.ts +33 -0
  192. package/dist/plugin/harness-coordinator.d.ts.map +1 -0
  193. package/dist/plugin/harness-coordinator.js +188 -0
  194. package/dist/plugin/harness-coordinator.js.map +1 -0
  195. package/dist/plugin/harness-intake-prompt.d.ts +2 -0
  196. package/dist/plugin/harness-intake-prompt.d.ts.map +1 -0
  197. package/dist/plugin/harness-intake-prompt.js +52 -0
  198. package/dist/plugin/harness-intake-prompt.js.map +1 -0
  199. package/dist/plugin/harness-intent.d.ts +72 -0
  200. package/dist/plugin/harness-intent.d.ts.map +1 -0
  201. package/dist/plugin/harness-intent.js +82 -0
  202. package/dist/plugin/harness-intent.js.map +1 -0
  203. package/dist/plugin/harness-parent-session-dispatcher.d.ts +46 -0
  204. package/dist/plugin/harness-parent-session-dispatcher.d.ts.map +1 -0
  205. package/dist/plugin/harness-parent-session-dispatcher.js +33 -0
  206. package/dist/plugin/harness-parent-session-dispatcher.js.map +1 -0
  207. package/dist/plugin/harness-requirement.d.ts +4 -0
  208. package/dist/plugin/harness-requirement.d.ts.map +1 -0
  209. package/dist/plugin/harness-requirement.js +37 -0
  210. package/dist/plugin/harness-requirement.js.map +1 -0
  211. package/dist/session/contracts.d.ts +178 -0
  212. package/dist/session/contracts.d.ts.map +1 -0
  213. package/dist/session/contracts.js +28 -0
  214. package/dist/session/contracts.js.map +1 -0
  215. package/dist/session/fake-session-adapter.d.ts +22 -0
  216. package/dist/session/fake-session-adapter.d.ts.map +1 -0
  217. package/dist/session/fake-session-adapter.js +238 -0
  218. package/dist/session/fake-session-adapter.js.map +1 -0
  219. package/dist/session/fake-session-errors.d.ts +23 -0
  220. package/dist/session/fake-session-errors.d.ts.map +1 -0
  221. package/dist/session/fake-session-errors.js +37 -0
  222. package/dist/session/fake-session-errors.js.map +1 -0
  223. package/dist/session/harness-agent-names.d.ts +51 -0
  224. package/dist/session/harness-agent-names.d.ts.map +1 -0
  225. package/dist/session/harness-agent-names.js +98 -0
  226. package/dist/session/harness-agent-names.js.map +1 -0
  227. package/dist/session/index.d.ts +9 -0
  228. package/dist/session/index.d.ts.map +1 -0
  229. package/dist/session/index.js +9 -0
  230. package/dist/session/index.js.map +1 -0
  231. package/dist/session/opencode-session-adapter.d.ts +9 -0
  232. package/dist/session/opencode-session-adapter.d.ts.map +1 -0
  233. package/dist/session/opencode-session-adapter.js +243 -0
  234. package/dist/session/opencode-session-adapter.js.map +1 -0
  235. package/dist/session/opencode-session-client.d.ts +58 -0
  236. package/dist/session/opencode-session-client.d.ts.map +1 -0
  237. package/dist/session/opencode-session-client.js +17 -0
  238. package/dist/session/opencode-session-client.js.map +1 -0
  239. package/dist/session/opencode-session-errors.d.ts +15 -0
  240. package/dist/session/opencode-session-errors.d.ts.map +1 -0
  241. package/dist/session/opencode-session-errors.js +19 -0
  242. package/dist/session/opencode-session-errors.js.map +1 -0
  243. package/dist/session/opencode-session-prompts.d.ts +12 -0
  244. package/dist/session/opencode-session-prompts.d.ts.map +1 -0
  245. package/dist/session/opencode-session-prompts.js +16 -0
  246. package/dist/session/opencode-session-prompts.js.map +1 -0
  247. package/dist/store/filesystem-run-store-io.d.ts +9 -0
  248. package/dist/store/filesystem-run-store-io.d.ts.map +1 -0
  249. package/dist/store/filesystem-run-store-io.js +85 -0
  250. package/dist/store/filesystem-run-store-io.js.map +1 -0
  251. package/dist/store/filesystem-run-store.d.ts +16 -0
  252. package/dist/store/filesystem-run-store.d.ts.map +1 -0
  253. package/dist/store/filesystem-run-store.js +286 -0
  254. package/dist/store/filesystem-run-store.js.map +1 -0
  255. package/dist/store/index.d.ts +5 -0
  256. package/dist/store/index.d.ts.map +1 -0
  257. package/dist/store/index.js +4 -0
  258. package/dist/store/index.js.map +1 -0
  259. package/dist/store/run-event.d.ts +786 -0
  260. package/dist/store/run-event.d.ts.map +1 -0
  261. package/dist/store/run-event.js +24 -0
  262. package/dist/store/run-event.js.map +1 -0
  263. package/dist/store/run-store-errors.d.ts +38 -0
  264. package/dist/store/run-store-errors.d.ts.map +1 -0
  265. package/dist/store/run-store-errors.js +62 -0
  266. package/dist/store/run-store-errors.js.map +1 -0
  267. package/dist/tools/context7-client.d.ts +22 -0
  268. package/dist/tools/context7-client.d.ts.map +1 -0
  269. package/dist/tools/context7-client.js +108 -0
  270. package/dist/tools/context7-client.js.map +1 -0
  271. package/dist/tools/grep-app-client.d.ts +21 -0
  272. package/dist/tools/grep-app-client.d.ts.map +1 -0
  273. package/dist/tools/grep-app-client.js +136 -0
  274. package/dist/tools/grep-app-client.js.map +1 -0
  275. package/dist/tools/harness-research-tools.d.ts +21 -0
  276. package/dist/tools/harness-research-tools.d.ts.map +1 -0
  277. package/dist/tools/harness-research-tools.js +101 -0
  278. package/dist/tools/harness-research-tools.js.map +1 -0
  279. package/dist/tools/lsp-client.d.ts +32 -0
  280. package/dist/tools/lsp-client.d.ts.map +1 -0
  281. package/dist/tools/lsp-client.js +234 -0
  282. package/dist/tools/lsp-client.js.map +1 -0
  283. package/dist/tools/lsp-json-rpc.d.ts +13 -0
  284. package/dist/tools/lsp-json-rpc.d.ts.map +1 -0
  285. package/dist/tools/lsp-json-rpc.js +98 -0
  286. package/dist/tools/lsp-json-rpc.js.map +1 -0
  287. package/dist/verification/command-policy.d.ts +11 -0
  288. package/dist/verification/command-policy.d.ts.map +1 -0
  289. package/dist/verification/command-policy.js +262 -0
  290. package/dist/verification/command-policy.js.map +1 -0
  291. package/dist/verification/contracts.d.ts +82 -0
  292. package/dist/verification/contracts.d.ts.map +1 -0
  293. package/dist/verification/contracts.js +6 -0
  294. package/dist/verification/contracts.js.map +1 -0
  295. package/dist/verification/fake-process-runner.d.ts +16 -0
  296. package/dist/verification/fake-process-runner.d.ts.map +1 -0
  297. package/dist/verification/fake-process-runner.js +28 -0
  298. package/dist/verification/fake-process-runner.js.map +1 -0
  299. package/dist/verification/index.d.ts +6 -0
  300. package/dist/verification/index.d.ts.map +1 -0
  301. package/dist/verification/index.js +5 -0
  302. package/dist/verification/index.js.map +1 -0
  303. package/dist/verification/node-process-runner.d.ts +12 -0
  304. package/dist/verification/node-process-runner.d.ts.map +1 -0
  305. package/dist/verification/node-process-runner.js +103 -0
  306. package/dist/verification/node-process-runner.js.map +1 -0
  307. package/dist/verification/verification-runner.d.ts +3 -0
  308. package/dist/verification/verification-runner.d.ts.map +1 -0
  309. package/dist/verification/verification-runner.js +101 -0
  310. package/dist/verification/verification-runner.js.map +1 -0
  311. package/dist/workspace/git-baseline.d.ts +63 -0
  312. package/dist/workspace/git-baseline.d.ts.map +1 -0
  313. package/dist/workspace/git-baseline.js +53 -0
  314. package/dist/workspace/git-baseline.js.map +1 -0
  315. package/dist/workspace/git-workspace-adapter.d.ts +43 -0
  316. package/dist/workspace/git-workspace-adapter.d.ts.map +1 -0
  317. package/dist/workspace/git-workspace-adapter.js +279 -0
  318. package/dist/workspace/git-workspace-adapter.js.map +1 -0
  319. package/dist/workspace/git-worktree-adapter.d.ts +45 -0
  320. package/dist/workspace/git-worktree-adapter.d.ts.map +1 -0
  321. package/dist/workspace/git-worktree-adapter.js +104 -0
  322. package/dist/workspace/git-worktree-adapter.js.map +1 -0
  323. package/dist/workspace/index.d.ts +7 -0
  324. package/dist/workspace/index.d.ts.map +1 -0
  325. package/dist/workspace/index.js +4 -0
  326. package/dist/workspace/index.js.map +1 -0
  327. package/package.json +45 -0
@@ -0,0 +1,65 @@
1
+ import type { Report, Requirement, Run, RunId } from "../domain/index.js";
2
+ import type { SessionAdapter } from "../session/index.js";
3
+ import type { RunStore } from "../store/index.js";
4
+ import type { VerificationRunner } from "../verification/index.js";
5
+ import type { GitWorktreeAdapter, WorkspaceAdapter, WorkspacePolicy } from "../workspace/index.js";
6
+ export type ControllerClock = {
7
+ readonly now: () => Date;
8
+ };
9
+ export type ControllerIdSource = {
10
+ readonly createRunId: () => RunId;
11
+ readonly createEventId: (label: string) => string;
12
+ readonly createMessageId: (label: string) => string;
13
+ readonly createEvidenceId: (label: string) => string;
14
+ readonly createFailureId: (label: string) => string;
15
+ readonly createAgentResultId: (label: string) => string;
16
+ };
17
+ export type RequirementInput = Omit<Requirement, "schemaVersion">;
18
+ export declare const RUN_BUDGET_KINDS: readonly ["intake", "planner", "task", "repair", "overall"];
19
+ export type RunBudgetKind = (typeof RUN_BUDGET_KINDS)[number];
20
+ export type RunActor = {
21
+ readonly id: string;
22
+ readonly type: "user";
23
+ };
24
+ export type PauseRunInput = {
25
+ readonly runId: RunId;
26
+ readonly actor: RunActor;
27
+ readonly reason: string;
28
+ };
29
+ export type AnswerRunInput = {
30
+ readonly runId: RunId;
31
+ readonly questionId: string;
32
+ readonly answer: string;
33
+ readonly actor: RunActor;
34
+ };
35
+ export type WaiveRunInput = {
36
+ readonly runId: RunId;
37
+ readonly requirementId: string;
38
+ readonly actor: RunActor;
39
+ readonly reason: string;
40
+ readonly residualRisk: string;
41
+ };
42
+ export type CreateRunControllerOptions = {
43
+ readonly store: RunStore;
44
+ readonly sessionAdapter: SessionAdapter;
45
+ readonly verificationRunner: VerificationRunner;
46
+ readonly clock: ControllerClock;
47
+ readonly ids: ControllerIdSource;
48
+ readonly workingDirectory: string;
49
+ readonly maxRunAttempts: number;
50
+ readonly workspacePolicy?: WorkspacePolicy;
51
+ readonly workspaceAdapter?: WorkspaceAdapter;
52
+ readonly workspaceAdapterFactory?: (workingDirectory: string) => WorkspaceAdapter;
53
+ readonly worktreeAdapter?: GitWorktreeAdapter;
54
+ };
55
+ export interface RunController {
56
+ start(input: RequirementInput): Promise<Run>;
57
+ status(runId: RunId): Promise<Run>;
58
+ pause(input: PauseRunInput): Promise<Run>;
59
+ answer(input: AnswerRunInput): Promise<Run>;
60
+ resume(runId: RunId): Promise<Run>;
61
+ cancel(runId: RunId): Promise<Run>;
62
+ waive(input: WaiveRunInput): Promise<Run>;
63
+ report(runId: RunId): Promise<Report>;
64
+ }
65
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/controller/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAElG,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,KAAK,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACjD,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACnD,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACpD,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACnD,QAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CACxD,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;AAEjE,eAAO,MAAM,gBAAgB,6DAA8D,CAAA;AAE3F,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7D,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;IAC/C,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAA;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAC5C,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,gBAAgB,CAAA;IACjF,QAAQ,CAAC,eAAe,CAAC,EAAE,kBAAkB,CAAA;CAC9C,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC5C,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAClC,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACzC,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3C,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAClC,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACzC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACtC"}
@@ -0,0 +1,2 @@
1
+ export const RUN_BUDGET_KINDS = ["intake", "planner", "task", "repair", "overall"];
2
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/controller/contracts.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAA"}
@@ -0,0 +1,23 @@
1
+ export declare class GraphValidationError extends Error {
2
+ readonly issues: readonly string[];
3
+ readonly name = "GraphValidationError";
4
+ constructor(issues: readonly string[]);
5
+ }
6
+ export declare class AgentRunFailedError extends Error {
7
+ readonly role: string;
8
+ readonly message: string;
9
+ readonly name = "AgentRunFailedError";
10
+ constructor(role: string, message: string);
11
+ }
12
+ export declare class AgentOutputParseError extends Error {
13
+ readonly role: string;
14
+ readonly reason: string;
15
+ readonly name = "AgentOutputParseError";
16
+ constructor(role: string, reason: string, options?: ErrorOptions);
17
+ }
18
+ export declare class RunCancellationError extends Error {
19
+ readonly runId: string;
20
+ readonly name = "RunCancellationError";
21
+ constructor(runId: string);
22
+ }
23
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/controller/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAqB,SAAQ,KAAK;IAGjC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE;IAF9C,QAAQ,CAAC,IAAI,0BAAyB;gBAEjB,MAAM,EAAE,SAAS,MAAM,EAAE;CAG/C;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAI1C,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM;IAJ1B,QAAQ,CAAC,IAAI,yBAAwB;gBAG1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM;CAI3B;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAI5C,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM;IAJzB,QAAQ,CAAC,IAAI,2BAA0B;gBAG5B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,YAAY;CAIzB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAGjC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAFlC,QAAQ,CAAC,IAAI,0BAAyB;gBAEjB,KAAK,EAAE,MAAM;CAGnC"}
@@ -0,0 +1,37 @@
1
+ export class GraphValidationError extends Error {
2
+ issues;
3
+ name = "GraphValidationError";
4
+ constructor(issues) {
5
+ super(`task graph rejected: ${issues.join("; ")}`);
6
+ this.issues = issues;
7
+ }
8
+ }
9
+ export class AgentRunFailedError extends Error {
10
+ role;
11
+ message;
12
+ name = "AgentRunFailedError";
13
+ constructor(role, message) {
14
+ super(`${role} agent failed: ${message}`);
15
+ this.role = role;
16
+ this.message = message;
17
+ }
18
+ }
19
+ export class AgentOutputParseError extends Error {
20
+ role;
21
+ reason;
22
+ name = "AgentOutputParseError";
23
+ constructor(role, reason, options) {
24
+ super(`${role} agent returned invalid JSON: ${reason}`, options);
25
+ this.role = role;
26
+ this.reason = reason;
27
+ }
28
+ }
29
+ export class RunCancellationError extends Error {
30
+ runId;
31
+ name = "RunCancellationError";
32
+ constructor(runId) {
33
+ super(`run ${runId} was cancelled`);
34
+ this.runId = runId;
35
+ }
36
+ }
37
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/controller/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAGxB;IAFZ,IAAI,GAAG,sBAAsB,CAAA;IAEtC,YAAqB,MAAyB;QAC5C,KAAK,CAAC,wBAAwB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAD/B,WAAM,GAAN,MAAM,CAAmB;IAE9C,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAIjC;IACA;IAJF,IAAI,GAAG,qBAAqB,CAAA;IAErC,YACW,IAAY,EACZ,OAAe;QAExB,KAAK,CAAC,GAAG,IAAI,kBAAkB,OAAO,EAAE,CAAC,CAAA;QAHhC,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAQ;IAG1B,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAInC;IACA;IAJF,IAAI,GAAG,uBAAuB,CAAA;IAEvC,YACW,IAAY,EACZ,MAAc,EACvB,OAAsB;QAEtB,KAAK,CAAC,GAAG,IAAI,iCAAiC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;QAJvD,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;IAIzB,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAGxB;IAFZ,IAAI,GAAG,sBAAsB,CAAA;IAEtC,YAAqB,KAAa;QAChC,KAAK,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAA;QADhB,UAAK,GAAL,KAAK,CAAQ;IAElC,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ import { type Evidence, type RunId, type Task } from "../domain/index.js";
2
+ import { type VerificationRunRecord } from "../verification/index.js";
3
+ import type { ControllerIdSource } from "./contracts.js";
4
+ export declare const createEvidence: (input: {
5
+ readonly ids: ControllerIdSource;
6
+ readonly runId: RunId;
7
+ readonly task: Task;
8
+ readonly record: VerificationRunRecord;
9
+ readonly label: string;
10
+ readonly kind?: Evidence["kind"];
11
+ readonly summary?: string;
12
+ readonly changedPaths?: readonly string[];
13
+ readonly acceptanceCriterionIds?: readonly string[];
14
+ }) => Evidence;
15
+ //# sourceMappingURL=evidence-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-factory.d.ts","sourceRoot":"","sources":["../../src/controller/evidence-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,KAAK,EAEV,KAAK,IAAI,EACV,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAA+B,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAClG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExD,eAAO,MAAM,cAAc,GAAI,OAAO;IACpC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACpD,KAAG,QACmF,CAAA"}
@@ -0,0 +1,38 @@
1
+ import { EvidenceSchema, redactEvidenceSummary, } from "../domain/index.js";
2
+ import { VerificationExecutionStatus } from "../verification/index.js";
3
+ export const createEvidence = (input) => createEvidenceFromSummary(input, input.summary ?? input.record.output.stdout.summary);
4
+ const createEvidenceFromSummary = (input, rawSummary) => {
5
+ const sanitized = redactEvidenceSummary(rawSummary);
6
+ return EvidenceSchema.parse({
7
+ schemaVersion: "1.0.0",
8
+ evidenceId: input.ids.createEvidenceId(input.label),
9
+ taskId: input.task.taskId,
10
+ runId: input.runId,
11
+ kind: input.kind ?? "verification",
12
+ summary: sanitized.summary,
13
+ summaryDigest: sanitized.summaryDigest,
14
+ redaction: sanitized.redaction,
15
+ verificationCommand: input.record.command,
16
+ changedPaths: input.changedPaths ?? [],
17
+ outcome: {
18
+ status: createOutcomeStatus(input.record),
19
+ exitCode: input.record.exitCode,
20
+ durationMs: input.record.durationMs,
21
+ outputDigest: input.record.output.stdout.digest,
22
+ outputRef: input.record.output.stdout.reference,
23
+ },
24
+ relatedRequirementIds: input.task.requirementIds,
25
+ relatedTaskIds: [input.task.taskId],
26
+ acceptanceCriterionIds: input.acceptanceCriterionIds ?? [],
27
+ });
28
+ };
29
+ const createOutcomeStatus = (record) => {
30
+ switch (record.status) {
31
+ case VerificationExecutionStatus.passed:
32
+ return "passed";
33
+ case VerificationExecutionStatus.failed:
34
+ case VerificationExecutionStatus.timedOut:
35
+ return "failed";
36
+ }
37
+ };
38
+ //# sourceMappingURL=evidence-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-factory.js","sourceRoot":"","sources":["../../src/controller/evidence-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAEd,qBAAqB,GAEtB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,2BAA2B,EAA8B,MAAM,0BAA0B,CAAA;AAGlG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAU9B,EAAY,EAAE,CACb,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAEvF,MAAM,yBAAyB,GAAG,CAChC,KAA2C,EAC3C,UAAkB,EACR,EAAE;IACZ,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAA;IACnD,OAAO,cAAc,CAAC,KAAK,CAAC;QAC1B,aAAa,EAAE,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC;QACnD,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;QACzB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,cAAc;QAClC,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;QACzC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE;QACtC,OAAO,EAAE;YACP,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC;YACzC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;YAC/B,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;YACnC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;YAC/C,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS;SAChD;QACD,qBAAqB,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc;QAChD,cAAc,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;QACnC,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,IAAI,EAAE;KAC3D,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,MAA6B,EAAuB,EAAE;IACjF,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,2BAA2B,CAAC,MAAM;YACrC,OAAO,QAAQ,CAAA;QACjB,KAAK,2BAA2B,CAAC,MAAM,CAAC;QACxC,KAAK,2BAA2B,CAAC,QAAQ;YACvC,OAAO,QAAQ,CAAA;IACnB,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,36 @@
1
+ import { AgentResultSchema, type Evidence, type Failure, type Task } from "../domain/index.js";
2
+ import type { CreateRunControllerOptions } from "./contracts.js";
3
+ import type { PlannedRun } from "./run-state.js";
4
+ import type { FailureAnalyzerOutput } from "./task-agent-schemas.js";
5
+ type FailureAnalysisContext = {
6
+ readonly options: CreateRunControllerOptions;
7
+ readonly run: PlannedRun;
8
+ readonly task: Task;
9
+ readonly attempt: number;
10
+ readonly sourceFailure: Failure;
11
+ readonly evidence: readonly Evidence[];
12
+ readonly analysis: FailureAnalyzerOutput;
13
+ };
14
+ export type FailureAnalysisResolution = {
15
+ readonly nextStatus: "executing";
16
+ readonly taskStatus: "failed";
17
+ readonly failure: Failure;
18
+ readonly result: ReturnType<typeof AgentResultSchema.parse>;
19
+ readonly eventType: "task.repair.requested";
20
+ readonly eventPayload: {
21
+ readonly taskId: Task["taskId"];
22
+ readonly attempt: number;
23
+ readonly action: "repair";
24
+ readonly failureId: Failure["failureId"];
25
+ };
26
+ } | {
27
+ readonly nextStatus: "clarification_required" | "evidence_gap" | "paused" | "failed";
28
+ readonly taskStatus: "blocked" | "paused" | "failed";
29
+ readonly failure: Failure;
30
+ readonly result: ReturnType<typeof AgentResultSchema.parse>;
31
+ readonly eventType: "task.clarification.required" | "task.blocked" | "task.failed";
32
+ readonly eventPayload: Record<string, string | number | readonly string[]>;
33
+ };
34
+ export declare const resolveFailureAnalysis: (context: FailureAnalysisContext) => FailureAnalysisResolution;
35
+ export {};
36
+ //# sourceMappingURL=failure-analysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failure-analysis.d.ts","sourceRoot":"","sources":["../../src/controller/failure-analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAC9F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAOhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAEpE,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAA;IAC5C,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,CAAA;IACtC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,yBAAyB,GACjC;IACE,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC3D,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAA;IAC3C,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;QACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;KACzC,CAAA;CACF,GACD;IACE,QAAQ,CAAC,UAAU,EAAE,wBAAwB,GAAG,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACpF,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACpD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC3D,QAAQ,CAAC,SAAS,EAAE,6BAA6B,GAAG,cAAc,GAAG,aAAa,CAAA;IAClF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,CAAA;CAC3E,CAAA;AAEL,eAAO,MAAM,sBAAsB,GACjC,SAAS,sBAAsB,KAC9B,yBAuLF,CAAA"}
@@ -0,0 +1,175 @@
1
+ import { AgentResultSchema } from "../domain/index.js";
2
+ import { createContextGapFailure, createDependencyBlockedFailure, createImplementationFailure, createRequirementAmbiguityFailure, } from "./failure-factory.js";
3
+ export const resolveFailureAnalysis = (context) => {
4
+ const evidenceIds = context.evidence.map((item) => item.evidenceId);
5
+ const resultId = context.options.ids.createAgentResultId(`failure-analyzer-${context.task.taskId}-${context.attempt}`);
6
+ switch (context.analysis.action) {
7
+ case "repair": {
8
+ const failure = createImplementationFailure({
9
+ failureId: context.options.ids.createFailureId(`${context.task.taskId}-${context.attempt}-repair`),
10
+ runId: context.run.runId,
11
+ taskId: context.task.taskId,
12
+ summary: context.analysis.summary,
13
+ detail: context.sourceFailure.detail,
14
+ recoveryPlan: "Prepare a bounded repair task after explicit controller approval.",
15
+ ...(evidenceIds[0] === undefined ? {} : { failingEvidenceId: evidenceIds[0] }),
16
+ });
17
+ const result = AgentResultSchema.parse({
18
+ schemaVersion: "1.0.0",
19
+ resultId,
20
+ runId: context.run.runId,
21
+ taskId: context.task.taskId,
22
+ role: "failure-analyzer",
23
+ status: "failed",
24
+ summary: context.analysis.summary,
25
+ evidenceIds,
26
+ failureId: failure.failureId,
27
+ });
28
+ return {
29
+ nextStatus: "executing",
30
+ taskStatus: "failed",
31
+ failure,
32
+ result,
33
+ eventType: "task.repair.requested",
34
+ eventPayload: {
35
+ taskId: context.task.taskId,
36
+ attempt: context.attempt,
37
+ action: "repair",
38
+ failureId: failure.failureId,
39
+ },
40
+ };
41
+ }
42
+ case "clarify": {
43
+ if (context.analysis.category === "context-gap") {
44
+ const failure = createContextGapFailure({
45
+ failureId: context.options.ids.createFailureId(`${context.task.taskId}-${context.attempt}-context-gap`),
46
+ runId: context.run.runId,
47
+ taskId: context.task.taskId,
48
+ relatedEvidenceIds: evidenceIds,
49
+ summary: context.analysis.summary,
50
+ detail: context.sourceFailure.detail,
51
+ recoveryPlan: "Collect the missing context before retrying the task.",
52
+ missingContext: context.analysis.missingContext,
53
+ });
54
+ const result = AgentResultSchema.parse({
55
+ schemaVersion: "1.0.0",
56
+ resultId,
57
+ runId: context.run.runId,
58
+ taskId: context.task.taskId,
59
+ role: "failure-analyzer",
60
+ status: "evidence_gap",
61
+ summary: context.analysis.summary,
62
+ evidenceIds,
63
+ missingEvidenceKinds: ["artifact-summary"],
64
+ });
65
+ return {
66
+ nextStatus: "evidence_gap",
67
+ taskStatus: "blocked",
68
+ failure,
69
+ result,
70
+ eventType: "task.clarification.required",
71
+ eventPayload: {
72
+ taskId: context.task.taskId,
73
+ attempt: context.attempt,
74
+ missingContext: context.analysis.missingContext,
75
+ },
76
+ };
77
+ }
78
+ const questionId = `question-${context.run.runId}-${context.task.taskId}-${context.attempt}`;
79
+ const failure = createRequirementAmbiguityFailure({
80
+ failureId: context.options.ids.createFailureId(`${context.task.taskId}-${context.attempt}-requirement-ambiguity`),
81
+ runId: context.run.runId,
82
+ taskId: context.task.taskId,
83
+ relatedEvidenceIds: evidenceIds,
84
+ summary: context.analysis.summary,
85
+ detail: context.sourceFailure.detail,
86
+ recoveryPlan: "Answer the blocking requirement question before continuing.",
87
+ blockingQuestionId: questionId,
88
+ });
89
+ const result = AgentResultSchema.parse({
90
+ schemaVersion: "1.0.0",
91
+ resultId,
92
+ runId: context.run.runId,
93
+ taskId: context.task.taskId,
94
+ role: "failure-analyzer",
95
+ status: "blocked",
96
+ summary: context.analysis.summary,
97
+ evidenceIds,
98
+ blockingReason: questionId,
99
+ });
100
+ return {
101
+ nextStatus: "clarification_required",
102
+ taskStatus: "blocked",
103
+ failure,
104
+ result,
105
+ eventType: "task.clarification.required",
106
+ eventPayload: {
107
+ taskId: context.task.taskId,
108
+ attempt: context.attempt,
109
+ blockingQuestionId: questionId,
110
+ },
111
+ };
112
+ }
113
+ case "wait": {
114
+ const failure = createDependencyBlockedFailure({
115
+ failureId: context.options.ids.createFailureId(`${context.task.taskId}-${context.attempt}-dependency-blocked`),
116
+ runId: context.run.runId,
117
+ taskId: context.task.taskId,
118
+ relatedEvidenceIds: evidenceIds,
119
+ summary: context.analysis.summary,
120
+ detail: context.sourceFailure.detail,
121
+ recoveryPlan: "Wait until the blocking dependency becomes available.",
122
+ blockedDependency: context.analysis.blockedDependency,
123
+ });
124
+ const result = AgentResultSchema.parse({
125
+ schemaVersion: "1.0.0",
126
+ resultId,
127
+ runId: context.run.runId,
128
+ taskId: context.task.taskId,
129
+ role: "failure-analyzer",
130
+ status: "blocked",
131
+ summary: context.analysis.summary,
132
+ evidenceIds,
133
+ blockingReason: context.analysis.blockedDependency,
134
+ });
135
+ return {
136
+ nextStatus: "paused",
137
+ taskStatus: "paused",
138
+ failure,
139
+ result,
140
+ eventType: "task.blocked",
141
+ eventPayload: {
142
+ taskId: context.task.taskId,
143
+ attempt: context.attempt,
144
+ blockedDependency: context.analysis.blockedDependency,
145
+ },
146
+ };
147
+ }
148
+ case "terminate": {
149
+ const result = AgentResultSchema.parse({
150
+ schemaVersion: "1.0.0",
151
+ resultId,
152
+ runId: context.run.runId,
153
+ taskId: context.task.taskId,
154
+ role: "failure-analyzer",
155
+ status: "failed",
156
+ summary: context.analysis.summary,
157
+ evidenceIds,
158
+ failureId: context.sourceFailure.failureId,
159
+ });
160
+ return {
161
+ nextStatus: "failed",
162
+ taskStatus: "failed",
163
+ failure: context.sourceFailure,
164
+ result,
165
+ eventType: "task.failed",
166
+ eventPayload: {
167
+ taskId: context.task.taskId,
168
+ attempt: context.attempt,
169
+ failureId: context.sourceFailure.failureId,
170
+ },
171
+ };
172
+ }
173
+ }
174
+ };
175
+ //# sourceMappingURL=failure-analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failure-analysis.js","sourceRoot":"","sources":["../../src/controller/failure-analysis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import { type Failure, type RunId, type TaskId } from "../domain/index.js";
2
+ export declare const createModelFailure: (input: {
3
+ readonly failureId: string;
4
+ readonly runId: RunId;
5
+ readonly taskId: TaskId;
6
+ readonly provider: string;
7
+ readonly summary: string;
8
+ readonly detail: string;
9
+ readonly recoveryPlan: string;
10
+ }) => Failure;
11
+ export declare const createImplementationFailure: (input: {
12
+ readonly failureId: string;
13
+ readonly runId: RunId;
14
+ readonly taskId: TaskId;
15
+ readonly failingEvidenceId?: string;
16
+ readonly rootCauseFingerprint?: string;
17
+ readonly summary: string;
18
+ readonly detail: string;
19
+ readonly recoveryPlan: string;
20
+ }) => Failure;
21
+ export declare const createVerificationEnvironmentFailure: (input: {
22
+ readonly failureId: string;
23
+ readonly runId: RunId;
24
+ readonly taskId: TaskId;
25
+ readonly commandName: string;
26
+ readonly detail: string;
27
+ }) => Failure;
28
+ export declare const createAcceptanceFailure: (input: {
29
+ readonly failureId: string;
30
+ readonly runId: RunId;
31
+ readonly taskId: TaskId;
32
+ readonly failingEvidenceId: string;
33
+ readonly summary: string;
34
+ readonly detail: string;
35
+ readonly recoveryPlan: string;
36
+ }) => Failure;
37
+ export declare const createContextGapFailure: (input: {
38
+ readonly failureId: string;
39
+ readonly runId: RunId;
40
+ readonly taskId: TaskId;
41
+ readonly relatedEvidenceIds: readonly string[];
42
+ readonly summary: string;
43
+ readonly detail: string;
44
+ readonly recoveryPlan: string;
45
+ readonly missingContext: readonly string[];
46
+ }) => Failure;
47
+ export declare const createRequirementAmbiguityFailure: (input: {
48
+ readonly failureId: string;
49
+ readonly runId: RunId;
50
+ readonly taskId: TaskId;
51
+ readonly relatedEvidenceIds: readonly string[];
52
+ readonly summary: string;
53
+ readonly detail: string;
54
+ readonly recoveryPlan: string;
55
+ readonly blockingQuestionId: string;
56
+ }) => Failure;
57
+ export declare const createDependencyBlockedFailure: (input: {
58
+ readonly failureId: string;
59
+ readonly runId: RunId;
60
+ readonly taskId: TaskId;
61
+ readonly relatedEvidenceIds: readonly string[];
62
+ readonly summary: string;
63
+ readonly detail: string;
64
+ readonly recoveryPlan: string;
65
+ readonly blockedDependency: string;
66
+ }) => Failure;
67
+ export declare const createScopeDriftFailure: (input: {
68
+ readonly failureId: string;
69
+ readonly runId: RunId;
70
+ readonly taskId: TaskId;
71
+ readonly driftedPaths: readonly string[];
72
+ readonly summary: string;
73
+ readonly detail: string;
74
+ readonly recoveryPlan: string;
75
+ }) => Failure;
76
+ export declare const createMergeConflictFailure: (input: {
77
+ readonly failureId: string;
78
+ readonly runId: RunId;
79
+ readonly taskId: TaskId;
80
+ readonly conflictingPaths: readonly string[];
81
+ readonly summary: string;
82
+ readonly detail: string;
83
+ readonly recoveryPlan: string;
84
+ }) => Failure;
85
+ //# sourceMappingURL=failure-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failure-factory.d.ts","sourceRoot":"","sources":["../../src/controller/failure-factory.ts"],"names":[],"mappings":"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"}