@zhixuan92/multi-model-agent-core 5.1.0 → 5.2.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 (687) hide show
  1. package/dist/bounded-execution/activity-tracker-types.d.ts +30 -15
  2. package/dist/bounded-execution/activity-tracker-types.d.ts.map +1 -1
  3. package/dist/bounded-execution/activity-tracker-types.js.map +1 -1
  4. package/dist/bounded-execution/activity-tracker.d.ts +2 -2
  5. package/dist/bounded-execution/activity-tracker.d.ts.map +1 -1
  6. package/dist/bounded-execution/activity-tracker.js +4 -5
  7. package/dist/bounded-execution/activity-tracker.js.map +1 -1
  8. package/dist/config/schema.d.ts +41 -2
  9. package/dist/config/schema.d.ts.map +1 -1
  10. package/dist/config/schema.js +1 -2
  11. package/dist/config/schema.js.map +1 -1
  12. package/dist/events/task-envelope.d.ts +5 -5
  13. package/dist/events/task-envelope.d.ts.map +1 -1
  14. package/dist/events/task-envelope.js +3 -6
  15. package/dist/events/task-envelope.js.map +1 -1
  16. package/dist/events/telemetry-uploader.d.ts +1 -1
  17. package/dist/events/telemetry-uploader.d.ts.map +1 -1
  18. package/dist/events/to-wire-record.d.ts +1 -1
  19. package/dist/events/to-wire-record.d.ts.map +1 -1
  20. package/dist/events/to-wire-record.js +1 -1
  21. package/dist/events/to-wire-record.js.map +1 -1
  22. package/dist/events/wire-schema.d.ts +34 -11
  23. package/dist/events/wire-schema.d.ts.map +1 -1
  24. package/dist/events/wire-schema.js +8 -8
  25. package/dist/events/wire-schema.js.map +1 -1
  26. package/dist/index.d.ts +13 -18
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +9 -17
  29. package/dist/index.js.map +1 -1
  30. package/dist/providers/agent-resolver.js +1 -1
  31. package/dist/providers/agent-resolver.js.map +1 -1
  32. package/dist/providers/claude-session.d.ts +2 -1
  33. package/dist/providers/claude-session.d.ts.map +1 -1
  34. package/dist/providers/claude-session.js +29 -2
  35. package/dist/providers/claude-session.js.map +1 -1
  36. package/dist/providers/codex-cli-session.d.ts +3 -2
  37. package/dist/providers/codex-cli-session.d.ts.map +1 -1
  38. package/dist/providers/codex-cli-session.js +5 -2
  39. package/dist/providers/codex-cli-session.js.map +1 -1
  40. package/dist/providers/provider-factory.d.ts +2 -2
  41. package/dist/providers/provider-factory.d.ts.map +1 -1
  42. package/dist/providers/provider-factory.js +12 -12
  43. package/dist/providers/provider-factory.js.map +1 -1
  44. package/dist/providers/runner-types.d.ts +3 -16
  45. package/dist/providers/runner-types.d.ts.map +1 -1
  46. package/dist/research/index.d.ts +11 -1
  47. package/dist/research/index.d.ts.map +1 -1
  48. package/dist/research/index.js +8 -1
  49. package/dist/research/index.js.map +1 -1
  50. package/dist/stores/context-block-tool.d.ts +2 -3
  51. package/dist/stores/context-block-tool.d.ts.map +1 -1
  52. package/dist/stores/context-block-tool.js +1 -1
  53. package/dist/stores/context-block-tool.js.map +1 -1
  54. package/dist/stores/project-context-registry.d.ts +0 -9
  55. package/dist/stores/project-context-registry.d.ts.map +1 -1
  56. package/dist/stores/project-context-registry.js +0 -4
  57. package/dist/stores/project-context-registry.js.map +1 -1
  58. package/dist/types/brief-quality-policy.d.ts.map +1 -1
  59. package/dist/types/enums.d.ts +0 -9
  60. package/dist/types/enums.d.ts.map +1 -1
  61. package/dist/types/enums.js +0 -10
  62. package/dist/types/enums.js.map +1 -1
  63. package/dist/types/run-result.d.ts +48 -23
  64. package/dist/types/run-result.d.ts.map +1 -1
  65. package/dist/types/run-result.js +3 -16
  66. package/dist/types/run-result.js.map +1 -1
  67. package/dist/types/stage-stats.d.ts +1 -1
  68. package/dist/types/stage-stats.d.ts.map +1 -1
  69. package/dist/types/stage-stats.js +2 -4
  70. package/dist/types/stage-stats.js.map +1 -1
  71. package/dist/types/task-spec.d.ts +3 -17
  72. package/dist/types/task-spec.d.ts.map +1 -1
  73. package/dist/types.d.ts +1 -1
  74. package/dist/types.d.ts.map +1 -1
  75. package/dist/unified/reviewer-output-parser.d.ts +51 -0
  76. package/dist/unified/reviewer-output-parser.d.ts.map +1 -0
  77. package/dist/unified/reviewer-output-parser.js +39 -0
  78. package/dist/unified/reviewer-output-parser.js.map +1 -0
  79. package/dist/unified/skill-loader.d.ts +9 -0
  80. package/dist/unified/skill-loader.d.ts.map +1 -0
  81. package/dist/unified/skill-loader.js +45 -0
  82. package/dist/unified/skill-loader.js.map +1 -0
  83. package/dist/unified/task-input-schema.d.ts +217 -0
  84. package/dist/unified/task-input-schema.d.ts.map +1 -0
  85. package/dist/unified/task-input-schema.js +35 -0
  86. package/dist/unified/task-input-schema.js.map +1 -0
  87. package/dist/unified/task-registry.d.ts +23 -0
  88. package/dist/unified/task-registry.d.ts.map +1 -0
  89. package/dist/unified/task-registry.js +56 -0
  90. package/dist/unified/task-registry.js.map +1 -0
  91. package/dist/unified/two-phase-pipeline.d.ts +52 -0
  92. package/dist/unified/two-phase-pipeline.d.ts.map +1 -0
  93. package/dist/unified/two-phase-pipeline.js +95 -0
  94. package/dist/unified/two-phase-pipeline.js.map +1 -0
  95. package/dist/unified/type-registry.d.ts +13 -0
  96. package/dist/unified/type-registry.d.ts.map +1 -0
  97. package/dist/unified/type-registry.js +30 -0
  98. package/dist/unified/type-registry.js.map +1 -0
  99. package/dist/unified/worktree-manager.d.ts +43 -0
  100. package/dist/unified/worktree-manager.d.ts.map +1 -0
  101. package/dist/unified/worktree-manager.js +76 -0
  102. package/dist/unified/worktree-manager.js.map +1 -0
  103. package/package.json +5 -117
  104. package/dist/bounded-execution/file-artifact-check.d.ts +0 -7
  105. package/dist/bounded-execution/file-artifact-check.d.ts.map +0 -1
  106. package/dist/bounded-execution/file-artifact-check.js +0 -13
  107. package/dist/bounded-execution/file-artifact-check.js.map +0 -1
  108. package/dist/bounded-execution/progress-events-subscriber.d.ts +0 -33
  109. package/dist/bounded-execution/progress-events-subscriber.d.ts.map +0 -1
  110. package/dist/bounded-execution/progress-events-subscriber.js +0 -59
  111. package/dist/bounded-execution/progress-events-subscriber.js.map +0 -1
  112. package/dist/bounded-execution/progress-watchdog.d.ts +0 -43
  113. package/dist/bounded-execution/progress-watchdog.d.ts.map +0 -1
  114. package/dist/bounded-execution/progress-watchdog.js +0 -170
  115. package/dist/bounded-execution/progress-watchdog.js.map +0 -1
  116. package/dist/bounded-execution/real-diff.d.ts +0 -17
  117. package/dist/bounded-execution/real-diff.d.ts.map +0 -1
  118. package/dist/bounded-execution/real-diff.js +0 -59
  119. package/dist/bounded-execution/real-diff.js.map +0 -1
  120. package/dist/bounded-execution/scope-match.d.ts +0 -7
  121. package/dist/bounded-execution/scope-match.d.ts.map +0 -1
  122. package/dist/bounded-execution/scope-match.js +0 -28
  123. package/dist/bounded-execution/scope-match.js.map +0 -1
  124. package/dist/bounded-execution/stall-watchdog.d.ts +0 -18
  125. package/dist/bounded-execution/stall-watchdog.d.ts.map +0 -1
  126. package/dist/bounded-execution/stall-watchdog.js +0 -134
  127. package/dist/bounded-execution/stall-watchdog.js.map +0 -1
  128. package/dist/bounded-execution/wall-clock-guard.d.ts +0 -12
  129. package/dist/bounded-execution/wall-clock-guard.d.ts.map +0 -1
  130. package/dist/bounded-execution/wall-clock-guard.js +0 -27
  131. package/dist/bounded-execution/wall-clock-guard.js.map +0 -1
  132. package/dist/config/canonical-model-identity.d.ts +0 -9
  133. package/dist/config/canonical-model-identity.d.ts.map +0 -1
  134. package/dist/config/canonical-model-identity.js +0 -54
  135. package/dist/config/canonical-model-identity.js.map +0 -1
  136. package/dist/journal/default-schema.d.ts +0 -2
  137. package/dist/journal/default-schema.d.ts.map +0 -1
  138. package/dist/journal/default-schema.js +0 -27
  139. package/dist/journal/default-schema.js.map +0 -1
  140. package/dist/journal/types.d.ts +0 -22
  141. package/dist/journal/types.d.ts.map +0 -1
  142. package/dist/journal/types.js +0 -5
  143. package/dist/journal/types.js.map +0 -1
  144. package/dist/lifecycle/annotate-parser.d.ts +0 -11
  145. package/dist/lifecycle/annotate-parser.d.ts.map +0 -1
  146. package/dist/lifecycle/annotate-parser.js +0 -74
  147. package/dist/lifecycle/annotate-parser.js.map +0 -1
  148. package/dist/lifecycle/annotate-prompts.d.ts +0 -9
  149. package/dist/lifecycle/annotate-prompts.d.ts.map +0 -1
  150. package/dist/lifecycle/annotate-prompts.js +0 -95
  151. package/dist/lifecycle/annotate-prompts.js.map +0 -1
  152. package/dist/lifecycle/auto-commit.d.ts +0 -3
  153. package/dist/lifecycle/auto-commit.d.ts.map +0 -1
  154. package/dist/lifecycle/auto-commit.js +0 -5
  155. package/dist/lifecycle/auto-commit.js.map +0 -1
  156. package/dist/lifecycle/auto-register-context-block.d.ts +0 -11
  157. package/dist/lifecycle/auto-register-context-block.d.ts.map +0 -1
  158. package/dist/lifecycle/auto-register-context-block.js +0 -18
  159. package/dist/lifecycle/auto-register-context-block.js.map +0 -1
  160. package/dist/lifecycle/build-cancelled-result.d.ts +0 -11
  161. package/dist/lifecycle/build-cancelled-result.d.ts.map +0 -1
  162. package/dist/lifecycle/build-cancelled-result.js +0 -25
  163. package/dist/lifecycle/build-cancelled-result.js.map +0 -1
  164. package/dist/lifecycle/derive-completion.d.ts +0 -28
  165. package/dist/lifecycle/derive-completion.d.ts.map +0 -1
  166. package/dist/lifecycle/derive-completion.js +0 -79
  167. package/dist/lifecycle/derive-completion.js.map +0 -1
  168. package/dist/lifecycle/executor-output-types.d.ts +0 -53
  169. package/dist/lifecycle/executor-output-types.d.ts.map +0 -1
  170. package/dist/lifecycle/executor-output-types.js +0 -2
  171. package/dist/lifecycle/executor-output-types.js.map +0 -1
  172. package/dist/lifecycle/file-confinement-check.d.ts +0 -17
  173. package/dist/lifecycle/file-confinement-check.d.ts.map +0 -1
  174. package/dist/lifecycle/file-confinement-check.js +0 -44
  175. package/dist/lifecycle/file-confinement-check.js.map +0 -1
  176. package/dist/lifecycle/findings-parser.d.ts +0 -18
  177. package/dist/lifecycle/findings-parser.d.ts.map +0 -1
  178. package/dist/lifecycle/findings-parser.js +0 -143
  179. package/dist/lifecycle/findings-parser.js.map +0 -1
  180. package/dist/lifecycle/git-exec.d.ts +0 -62
  181. package/dist/lifecycle/git-exec.d.ts.map +0 -1
  182. package/dist/lifecycle/git-exec.js +0 -135
  183. package/dist/lifecycle/git-exec.js.map +0 -1
  184. package/dist/lifecycle/git-toplevel.d.ts +0 -12
  185. package/dist/lifecycle/git-toplevel.d.ts.map +0 -1
  186. package/dist/lifecycle/git-toplevel.js +0 -52
  187. package/dist/lifecycle/git-toplevel.js.map +0 -1
  188. package/dist/lifecycle/goal-builder.d.ts +0 -35
  189. package/dist/lifecycle/goal-builder.d.ts.map +0 -1
  190. package/dist/lifecycle/goal-builder.js +0 -56
  191. package/dist/lifecycle/goal-builder.js.map +0 -1
  192. package/dist/lifecycle/goal-preconditions.d.ts +0 -21
  193. package/dist/lifecycle/goal-preconditions.d.ts.map +0 -1
  194. package/dist/lifecycle/goal-preconditions.js +0 -33
  195. package/dist/lifecycle/goal-preconditions.js.map +0 -1
  196. package/dist/lifecycle/goal-prompts.d.ts +0 -27
  197. package/dist/lifecycle/goal-prompts.d.ts.map +0 -1
  198. package/dist/lifecycle/goal-prompts.js +0 -204
  199. package/dist/lifecycle/goal-prompts.js.map +0 -1
  200. package/dist/lifecycle/goal-report.d.ts +0 -42
  201. package/dist/lifecycle/goal-report.d.ts.map +0 -1
  202. package/dist/lifecycle/goal-report.js +0 -125
  203. package/dist/lifecycle/goal-report.js.map +0 -1
  204. package/dist/lifecycle/handlers/annotate-stage.d.ts +0 -35
  205. package/dist/lifecycle/handlers/annotate-stage.d.ts.map +0 -1
  206. package/dist/lifecycle/handlers/annotate-stage.js +0 -387
  207. package/dist/lifecycle/handlers/annotate-stage.js.map +0 -1
  208. package/dist/lifecycle/handlers/baseline-handlers.d.ts +0 -12
  209. package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +0 -1
  210. package/dist/lifecycle/handlers/baseline-handlers.js +0 -281
  211. package/dist/lifecycle/handlers/baseline-handlers.js.map +0 -1
  212. package/dist/lifecycle/handlers/enrich-runtime-result.d.ts +0 -3
  213. package/dist/lifecycle/handlers/enrich-runtime-result.d.ts.map +0 -1
  214. package/dist/lifecycle/handlers/enrich-runtime-result.js +0 -239
  215. package/dist/lifecycle/handlers/enrich-runtime-result.js.map +0 -1
  216. package/dist/lifecycle/handlers/implement-stage.d.ts +0 -10
  217. package/dist/lifecycle/handlers/implement-stage.d.ts.map +0 -1
  218. package/dist/lifecycle/handlers/implement-stage.js +0 -228
  219. package/dist/lifecycle/handlers/implement-stage.js.map +0 -1
  220. package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts +0 -13
  221. package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts.map +0 -1
  222. package/dist/lifecycle/handlers/prepare-execution-context-handler.js +0 -61
  223. package/dist/lifecycle/handlers/prepare-execution-context-handler.js.map +0 -1
  224. package/dist/lifecycle/handlers/read-route-implementer.d.ts +0 -52
  225. package/dist/lifecycle/handlers/read-route-implementer.d.ts.map +0 -1
  226. package/dist/lifecycle/handlers/read-route-implementer.js +0 -109
  227. package/dist/lifecycle/handlers/read-route-implementer.js.map +0 -1
  228. package/dist/lifecycle/handlers/register-context-block-handlers.d.ts +0 -4
  229. package/dist/lifecycle/handlers/register-context-block-handlers.d.ts.map +0 -1
  230. package/dist/lifecycle/handlers/register-context-block-handlers.js +0 -35
  231. package/dist/lifecycle/handlers/register-context-block-handlers.js.map +0 -1
  232. package/dist/lifecycle/handlers/review-fix-stage.d.ts +0 -9
  233. package/dist/lifecycle/handlers/review-fix-stage.d.ts.map +0 -1
  234. package/dist/lifecycle/handlers/review-fix-stage.js +0 -75
  235. package/dist/lifecycle/handlers/review-fix-stage.js.map +0 -1
  236. package/dist/lifecycle/handlers/terminal-handlers.d.ts +0 -61
  237. package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +0 -1
  238. package/dist/lifecycle/handlers/terminal-handlers.js +0 -339
  239. package/dist/lifecycle/handlers/terminal-handlers.js.map +0 -1
  240. package/dist/lifecycle/lifecycle-context.d.ts +0 -109
  241. package/dist/lifecycle/lifecycle-context.d.ts.map +0 -1
  242. package/dist/lifecycle/lifecycle-context.js +0 -2
  243. package/dist/lifecycle/lifecycle-context.js.map +0 -1
  244. package/dist/lifecycle/lifecycle-dispatcher.d.ts +0 -35
  245. package/dist/lifecycle/lifecycle-dispatcher.d.ts.map +0 -1
  246. package/dist/lifecycle/lifecycle-dispatcher.js +0 -64
  247. package/dist/lifecycle/lifecycle-dispatcher.js.map +0 -1
  248. package/dist/lifecycle/lifecycle-driver.d.ts +0 -16
  249. package/dist/lifecycle/lifecycle-driver.d.ts.map +0 -1
  250. package/dist/lifecycle/lifecycle-driver.js +0 -334
  251. package/dist/lifecycle/lifecycle-driver.js.map +0 -1
  252. package/dist/lifecycle/merge-stage-stats.d.ts +0 -62
  253. package/dist/lifecycle/merge-stage-stats.d.ts.map +0 -1
  254. package/dist/lifecycle/merge-stage-stats.js +0 -136
  255. package/dist/lifecycle/merge-stage-stats.js.map +0 -1
  256. package/dist/lifecycle/normalize-output-targets.d.ts +0 -2
  257. package/dist/lifecycle/normalize-output-targets.d.ts.map +0 -1
  258. package/dist/lifecycle/normalize-output-targets.js +0 -14
  259. package/dist/lifecycle/normalize-output-targets.js.map +0 -1
  260. package/dist/lifecycle/perform-implementation.d.ts +0 -3
  261. package/dist/lifecycle/perform-implementation.d.ts.map +0 -1
  262. package/dist/lifecycle/perform-implementation.js +0 -371
  263. package/dist/lifecycle/perform-implementation.js.map +0 -1
  264. package/dist/lifecycle/read-only-subtype-spec.d.ts +0 -18
  265. package/dist/lifecycle/read-only-subtype-spec.d.ts.map +0 -1
  266. package/dist/lifecycle/read-only-subtype-spec.js +0 -2
  267. package/dist/lifecycle/read-only-subtype-spec.js.map +0 -1
  268. package/dist/lifecycle/review-verdict-mapping.d.ts +0 -16
  269. package/dist/lifecycle/review-verdict-mapping.d.ts.map +0 -1
  270. package/dist/lifecycle/review-verdict-mapping.js +0 -24
  271. package/dist/lifecycle/review-verdict-mapping.js.map +0 -1
  272. package/dist/lifecycle/shared-compute.d.ts +0 -14
  273. package/dist/lifecycle/shared-compute.d.ts.map +0 -1
  274. package/dist/lifecycle/shared-compute.js +0 -51
  275. package/dist/lifecycle/shared-compute.js.map +0 -1
  276. package/dist/lifecycle/stage-idle-tracker.d.ts +0 -14
  277. package/dist/lifecycle/stage-idle-tracker.d.ts.map +0 -1
  278. package/dist/lifecycle/stage-idle-tracker.js +0 -17
  279. package/dist/lifecycle/stage-idle-tracker.js.map +0 -1
  280. package/dist/lifecycle/stage-io.d.ts +0 -134
  281. package/dist/lifecycle/stage-io.d.ts.map +0 -1
  282. package/dist/lifecycle/stage-io.js +0 -9
  283. package/dist/lifecycle/stage-io.js.map +0 -1
  284. package/dist/lifecycle/stage-labels.d.ts +0 -7
  285. package/dist/lifecycle/stage-labels.d.ts.map +0 -1
  286. package/dist/lifecycle/stage-labels.js +0 -19
  287. package/dist/lifecycle/stage-labels.js.map +0 -1
  288. package/dist/lifecycle/stage-plan-builder.d.ts +0 -4
  289. package/dist/lifecycle/stage-plan-builder.d.ts.map +0 -1
  290. package/dist/lifecycle/stage-plan-builder.js +0 -157
  291. package/dist/lifecycle/stage-plan-builder.js.map +0 -1
  292. package/dist/lifecycle/stage-plan-types.d.ts +0 -131
  293. package/dist/lifecycle/stage-plan-types.d.ts.map +0 -1
  294. package/dist/lifecycle/stage-plan-types.js +0 -28
  295. package/dist/lifecycle/stage-plan-types.js.map +0 -1
  296. package/dist/lifecycle/stage-progression.d.ts +0 -6
  297. package/dist/lifecycle/stage-progression.d.ts.map +0 -1
  298. package/dist/lifecycle/stage-progression.js +0 -100
  299. package/dist/lifecycle/stage-progression.js.map +0 -1
  300. package/dist/lifecycle/task-executor.d.ts +0 -24
  301. package/dist/lifecycle/task-executor.d.ts.map +0 -1
  302. package/dist/lifecycle/task-executor.js +0 -365
  303. package/dist/lifecycle/task-executor.js.map +0 -1
  304. package/dist/lifecycle/task-runner.d.ts +0 -66
  305. package/dist/lifecycle/task-runner.d.ts.map +0 -1
  306. package/dist/lifecycle/task-runner.js +0 -334
  307. package/dist/lifecycle/task-runner.js.map +0 -1
  308. package/dist/lifecycle/tool-category.d.ts +0 -2
  309. package/dist/lifecycle/tool-category.d.ts.map +0 -1
  310. package/dist/lifecycle/tool-category.js +0 -6
  311. package/dist/lifecycle/tool-category.js.map +0 -1
  312. package/dist/lifecycle/tool-config-types.d.ts +0 -32
  313. package/dist/lifecycle/tool-config-types.d.ts.map +0 -1
  314. package/dist/lifecycle/tool-config-types.js +0 -2
  315. package/dist/lifecycle/tool-config-types.js.map +0 -1
  316. package/dist/lifecycle/warm-followup.d.ts +0 -3
  317. package/dist/lifecycle/warm-followup.d.ts.map +0 -1
  318. package/dist/lifecycle/warm-followup.js +0 -16
  319. package/dist/lifecycle/warm-followup.js.map +0 -1
  320. package/dist/lifecycle/worker-output-contract.d.ts +0 -22
  321. package/dist/lifecycle/worker-output-contract.d.ts.map +0 -1
  322. package/dist/lifecycle/worker-output-contract.js +0 -91
  323. package/dist/lifecycle/worker-output-contract.js.map +0 -1
  324. package/dist/lifecycle/write-goal-lock.d.ts +0 -29
  325. package/dist/lifecycle/write-goal-lock.d.ts.map +0 -1
  326. package/dist/lifecycle/write-goal-lock.js +0 -70
  327. package/dist/lifecycle/write-goal-lock.js.map +0 -1
  328. package/dist/providers/assemble-run-result.d.ts +0 -17
  329. package/dist/providers/assemble-run-result.d.ts.map +0 -1
  330. package/dist/providers/assemble-run-result.js +0 -52
  331. package/dist/providers/assemble-run-result.js.map +0 -1
  332. package/dist/providers/skill-resolver.d.ts +0 -17
  333. package/dist/providers/skill-resolver.d.ts.map +0 -1
  334. package/dist/providers/skill-resolver.js +0 -123
  335. package/dist/providers/skill-resolver.js.map +0 -1
  336. package/dist/reporting/batch-persister.d.ts +0 -4
  337. package/dist/reporting/batch-persister.d.ts.map +0 -1
  338. package/dist/reporting/batch-persister.js +0 -11
  339. package/dist/reporting/batch-persister.js.map +0 -1
  340. package/dist/reporting/commit-stage-runner.d.ts +0 -12
  341. package/dist/reporting/commit-stage-runner.d.ts.map +0 -1
  342. package/dist/reporting/commit-stage-runner.js +0 -43
  343. package/dist/reporting/commit-stage-runner.js.map +0 -1
  344. package/dist/reporting/derive-investigate-status.d.ts +0 -15
  345. package/dist/reporting/derive-investigate-status.d.ts.map +0 -1
  346. package/dist/reporting/derive-investigate-status.js +0 -23
  347. package/dist/reporting/derive-investigate-status.js.map +0 -1
  348. package/dist/reporting/extract-fenced-json.d.ts +0 -7
  349. package/dist/reporting/extract-fenced-json.d.ts.map +0 -1
  350. package/dist/reporting/extract-fenced-json.js +0 -17
  351. package/dist/reporting/extract-fenced-json.js.map +0 -1
  352. package/dist/reporting/findings-headline.d.ts +0 -12
  353. package/dist/reporting/findings-headline.d.ts.map +0 -1
  354. package/dist/reporting/findings-headline.js +0 -40
  355. package/dist/reporting/findings-headline.js.map +0 -1
  356. package/dist/reporting/findings-outcome.d.ts +0 -13
  357. package/dist/reporting/findings-outcome.d.ts.map +0 -1
  358. package/dist/reporting/findings-outcome.js +0 -22
  359. package/dist/reporting/findings-outcome.js.map +0 -1
  360. package/dist/reporting/headline-composer.d.ts +0 -29
  361. package/dist/reporting/headline-composer.d.ts.map +0 -1
  362. package/dist/reporting/headline-composer.js +0 -10
  363. package/dist/reporting/headline-composer.js.map +0 -1
  364. package/dist/reporting/headline-templates/delegate.d.ts +0 -3
  365. package/dist/reporting/headline-templates/delegate.d.ts.map +0 -1
  366. package/dist/reporting/headline-templates/delegate.js +0 -42
  367. package/dist/reporting/headline-templates/delegate.js.map +0 -1
  368. package/dist/reporting/headline-templates/execute-plan.d.ts +0 -3
  369. package/dist/reporting/headline-templates/execute-plan.d.ts.map +0 -1
  370. package/dist/reporting/headline-templates/execute-plan.js +0 -26
  371. package/dist/reporting/headline-templates/execute-plan.js.map +0 -1
  372. package/dist/reporting/headline-templates/investigate.d.ts +0 -13
  373. package/dist/reporting/headline-templates/investigate.d.ts.map +0 -1
  374. package/dist/reporting/headline-templates/investigate.js +0 -53
  375. package/dist/reporting/headline-templates/investigate.js.map +0 -1
  376. package/dist/reporting/headline-templates/journal-recall.d.ts +0 -3
  377. package/dist/reporting/headline-templates/journal-recall.d.ts.map +0 -1
  378. package/dist/reporting/headline-templates/journal-recall.js +0 -9
  379. package/dist/reporting/headline-templates/journal-recall.js.map +0 -1
  380. package/dist/reporting/headline-templates/journal.d.ts +0 -3
  381. package/dist/reporting/headline-templates/journal.d.ts.map +0 -1
  382. package/dist/reporting/headline-templates/journal.js +0 -17
  383. package/dist/reporting/headline-templates/journal.js.map +0 -1
  384. package/dist/reporting/headline-templates/research.d.ts +0 -3
  385. package/dist/reporting/headline-templates/research.d.ts.map +0 -1
  386. package/dist/reporting/headline-templates/research.js +0 -22
  387. package/dist/reporting/headline-templates/research.js.map +0 -1
  388. package/dist/reporting/headline-text.d.ts +0 -36
  389. package/dist/reporting/headline-text.d.ts.map +0 -1
  390. package/dist/reporting/headline-text.js +0 -73
  391. package/dist/reporting/headline-text.js.map +0 -1
  392. package/dist/reporting/report-parser-slots/delegate-report.d.ts +0 -8
  393. package/dist/reporting/report-parser-slots/delegate-report.d.ts.map +0 -1
  394. package/dist/reporting/report-parser-slots/delegate-report.js +0 -12
  395. package/dist/reporting/report-parser-slots/delegate-report.js.map +0 -1
  396. package/dist/reporting/report-parser-slots/execute-plan-report.d.ts +0 -11
  397. package/dist/reporting/report-parser-slots/execute-plan-report.d.ts.map +0 -1
  398. package/dist/reporting/report-parser-slots/execute-plan-report.js +0 -7
  399. package/dist/reporting/report-parser-slots/execute-plan-report.js.map +0 -1
  400. package/dist/reporting/report-parser-slots/investigate-report.d.ts +0 -52
  401. package/dist/reporting/report-parser-slots/investigate-report.d.ts.map +0 -1
  402. package/dist/reporting/report-parser-slots/investigate-report.js +0 -307
  403. package/dist/reporting/report-parser-slots/investigate-report.js.map +0 -1
  404. package/dist/reporting/report-parser-slots/journal-report.d.ts +0 -19
  405. package/dist/reporting/report-parser-slots/journal-report.d.ts.map +0 -1
  406. package/dist/reporting/report-parser-slots/journal-report.js +0 -13
  407. package/dist/reporting/report-parser-slots/journal-report.js.map +0 -1
  408. package/dist/reporting/report-parser-slots/no-structured-report.d.ts +0 -10
  409. package/dist/reporting/report-parser-slots/no-structured-report.d.ts.map +0 -1
  410. package/dist/reporting/report-parser-slots/no-structured-report.js +0 -13
  411. package/dist/reporting/report-parser-slots/no-structured-report.js.map +0 -1
  412. package/dist/reporting/report-parser-slots/research-report.d.ts +0 -31
  413. package/dist/reporting/report-parser-slots/research-report.d.ts.map +0 -1
  414. package/dist/reporting/report-parser-slots/research-report.js +0 -50
  415. package/dist/reporting/report-parser-slots/research-report.js.map +0 -1
  416. package/dist/reporting/response-envelope-builder.d.ts +0 -32
  417. package/dist/reporting/response-envelope-builder.d.ts.map +0 -1
  418. package/dist/reporting/response-envelope-builder.js +0 -26
  419. package/dist/reporting/response-envelope-builder.js.map +0 -1
  420. package/dist/reporting/severity.d.ts +0 -62
  421. package/dist/reporting/severity.d.ts.map +0 -1
  422. package/dist/reporting/severity.js +0 -93
  423. package/dist/reporting/severity.js.map +0 -1
  424. package/dist/reporting/structured-report-parser.d.ts +0 -9
  425. package/dist/reporting/structured-report-parser.d.ts.map +0 -1
  426. package/dist/reporting/structured-report-parser.js +0 -8
  427. package/dist/reporting/structured-report-parser.js.map +0 -1
  428. package/dist/reporting/terminal-block-registrar.d.ts +0 -14
  429. package/dist/reporting/terminal-block-registrar.d.ts.map +0 -1
  430. package/dist/reporting/terminal-block-registrar.js +0 -17
  431. package/dist/reporting/terminal-block-registrar.js.map +0 -1
  432. package/dist/reporting/terminal-report-markdown.d.ts +0 -13
  433. package/dist/reporting/terminal-report-markdown.d.ts.map +0 -1
  434. package/dist/reporting/terminal-report-markdown.js +0 -31
  435. package/dist/reporting/terminal-report-markdown.js.map +0 -1
  436. package/dist/research/research-pre-loop.d.ts +0 -22
  437. package/dist/research/research-pre-loop.d.ts.map +0 -1
  438. package/dist/research/research-pre-loop.js +0 -50
  439. package/dist/research/research-pre-loop.js.map +0 -1
  440. package/dist/routing/read-route-criteria.d.ts +0 -36
  441. package/dist/routing/read-route-criteria.d.ts.map +0 -1
  442. package/dist/routing/read-route-criteria.js +0 -71
  443. package/dist/routing/read-route-criteria.js.map +0 -1
  444. package/dist/stores/batch-cache.d.ts +0 -29
  445. package/dist/stores/batch-cache.d.ts.map +0 -1
  446. package/dist/stores/batch-cache.js +0 -89
  447. package/dist/stores/batch-cache.js.map +0 -1
  448. package/dist/stores/batch-registry.d.ts +0 -138
  449. package/dist/stores/batch-registry.d.ts.map +0 -1
  450. package/dist/stores/batch-registry.js +0 -205
  451. package/dist/stores/batch-registry.js.map +0 -1
  452. package/dist/tool-surface/register-all-tools.d.ts +0 -4
  453. package/dist/tool-surface/register-all-tools.d.ts.map +0 -1
  454. package/dist/tool-surface/register-all-tools.js +0 -35
  455. package/dist/tool-surface/register-all-tools.js.map +0 -1
  456. package/dist/tool-surface/tool-surface-registry.d.ts +0 -28
  457. package/dist/tool-surface/tool-surface-registry.d.ts.map +0 -1
  458. package/dist/tool-surface/tool-surface-registry.js +0 -16
  459. package/dist/tool-surface/tool-surface-registry.js.map +0 -1
  460. package/dist/tools/audit/brief-slot.d.ts +0 -15
  461. package/dist/tools/audit/brief-slot.d.ts.map +0 -1
  462. package/dist/tools/audit/brief-slot.js +0 -69
  463. package/dist/tools/audit/brief-slot.js.map +0 -1
  464. package/dist/tools/audit/implementer-criteria.d.ts +0 -62
  465. package/dist/tools/audit/implementer-criteria.d.ts.map +0 -1
  466. package/dist/tools/audit/implementer-criteria.js +0 -121
  467. package/dist/tools/audit/implementer-criteria.js.map +0 -1
  468. package/dist/tools/audit/plan-audit-criteria.d.ts +0 -35
  469. package/dist/tools/audit/plan-audit-criteria.d.ts.map +0 -1
  470. package/dist/tools/audit/plan-audit-criteria.js +0 -159
  471. package/dist/tools/audit/plan-audit-criteria.js.map +0 -1
  472. package/dist/tools/audit/schema.d.ts +0 -61
  473. package/dist/tools/audit/schema.d.ts.map +0 -1
  474. package/dist/tools/audit/schema.js +0 -21
  475. package/dist/tools/audit/schema.js.map +0 -1
  476. package/dist/tools/audit/skill-audit-criteria.d.ts +0 -9
  477. package/dist/tools/audit/skill-audit-criteria.d.ts.map +0 -1
  478. package/dist/tools/audit/skill-audit-criteria.js +0 -52
  479. package/dist/tools/audit/skill-audit-criteria.js.map +0 -1
  480. package/dist/tools/audit/spec-audit-criteria.d.ts +0 -9
  481. package/dist/tools/audit/spec-audit-criteria.d.ts.map +0 -1
  482. package/dist/tools/audit/spec-audit-criteria.js +0 -55
  483. package/dist/tools/audit/spec-audit-criteria.js.map +0 -1
  484. package/dist/tools/audit/subtypes.d.ts +0 -4
  485. package/dist/tools/audit/subtypes.d.ts.map +0 -1
  486. package/dist/tools/audit/subtypes.js +0 -69
  487. package/dist/tools/audit/subtypes.js.map +0 -1
  488. package/dist/tools/audit/tool-config.d.ts +0 -7
  489. package/dist/tools/audit/tool-config.d.ts.map +0 -1
  490. package/dist/tools/audit/tool-config.js +0 -60
  491. package/dist/tools/audit/tool-config.js.map +0 -1
  492. package/dist/tools/criteria-types.d.ts +0 -27
  493. package/dist/tools/criteria-types.d.ts.map +0 -1
  494. package/dist/tools/criteria-types.js +0 -25
  495. package/dist/tools/criteria-types.js.map +0 -1
  496. package/dist/tools/debug/brief-slot.d.ts +0 -15
  497. package/dist/tools/debug/brief-slot.d.ts.map +0 -1
  498. package/dist/tools/debug/brief-slot.js +0 -10
  499. package/dist/tools/debug/brief-slot.js.map +0 -1
  500. package/dist/tools/debug/implementer-criteria.d.ts +0 -45
  501. package/dist/tools/debug/implementer-criteria.d.ts.map +0 -1
  502. package/dist/tools/debug/implementer-criteria.js +0 -97
  503. package/dist/tools/debug/implementer-criteria.js.map +0 -1
  504. package/dist/tools/debug/schema.d.ts +0 -60
  505. package/dist/tools/debug/schema.d.ts.map +0 -1
  506. package/dist/tools/debug/schema.js +0 -17
  507. package/dist/tools/debug/schema.js.map +0 -1
  508. package/dist/tools/debug/subtypes.d.ts +0 -4
  509. package/dist/tools/debug/subtypes.d.ts.map +0 -1
  510. package/dist/tools/debug/subtypes.js +0 -26
  511. package/dist/tools/debug/subtypes.js.map +0 -1
  512. package/dist/tools/debug/tool-config.d.ts +0 -7
  513. package/dist/tools/debug/tool-config.d.ts.map +0 -1
  514. package/dist/tools/debug/tool-config.js +0 -55
  515. package/dist/tools/debug/tool-config.js.map +0 -1
  516. package/dist/tools/delegate/brief-slot.d.ts +0 -20
  517. package/dist/tools/delegate/brief-slot.d.ts.map +0 -1
  518. package/dist/tools/delegate/brief-slot.js +0 -31
  519. package/dist/tools/delegate/brief-slot.js.map +0 -1
  520. package/dist/tools/delegate/implementer-criteria.d.ts +0 -53
  521. package/dist/tools/delegate/implementer-criteria.d.ts.map +0 -1
  522. package/dist/tools/delegate/implementer-criteria.js +0 -99
  523. package/dist/tools/delegate/implementer-criteria.js.map +0 -1
  524. package/dist/tools/delegate/schema.d.ts +0 -70
  525. package/dist/tools/delegate/schema.d.ts.map +0 -1
  526. package/dist/tools/delegate/schema.js +0 -24
  527. package/dist/tools/delegate/schema.js.map +0 -1
  528. package/dist/tools/delegate/tool-config.d.ts +0 -7
  529. package/dist/tools/delegate/tool-config.d.ts.map +0 -1
  530. package/dist/tools/delegate/tool-config.js +0 -47
  531. package/dist/tools/delegate/tool-config.js.map +0 -1
  532. package/dist/tools/execute-plan/barrel.d.ts +0 -2
  533. package/dist/tools/execute-plan/barrel.d.ts.map +0 -1
  534. package/dist/tools/execute-plan/barrel.js +0 -7
  535. package/dist/tools/execute-plan/barrel.js.map +0 -1
  536. package/dist/tools/execute-plan/brief-slot.d.ts +0 -25
  537. package/dist/tools/execute-plan/brief-slot.d.ts.map +0 -1
  538. package/dist/tools/execute-plan/brief-slot.js +0 -124
  539. package/dist/tools/execute-plan/brief-slot.js.map +0 -1
  540. package/dist/tools/execute-plan/implementer-criteria.d.ts +0 -57
  541. package/dist/tools/execute-plan/implementer-criteria.d.ts.map +0 -1
  542. package/dist/tools/execute-plan/implementer-criteria.js +0 -108
  543. package/dist/tools/execute-plan/implementer-criteria.js.map +0 -1
  544. package/dist/tools/execute-plan/plan-extractor.d.ts +0 -21
  545. package/dist/tools/execute-plan/plan-extractor.d.ts.map +0 -1
  546. package/dist/tools/execute-plan/plan-extractor.js +0 -96
  547. package/dist/tools/execute-plan/plan-extractor.js.map +0 -1
  548. package/dist/tools/execute-plan/tool-config.d.ts +0 -68
  549. package/dist/tools/execute-plan/tool-config.d.ts.map +0 -1
  550. package/dist/tools/execute-plan/tool-config.js +0 -58
  551. package/dist/tools/execute-plan/tool-config.js.map +0 -1
  552. package/dist/tools/index.d.ts +0 -8
  553. package/dist/tools/index.d.ts.map +0 -1
  554. package/dist/tools/index.js +0 -14
  555. package/dist/tools/index.js.map +0 -1
  556. package/dist/tools/investigate/brief-slot.d.ts +0 -15
  557. package/dist/tools/investigate/brief-slot.d.ts.map +0 -1
  558. package/dist/tools/investigate/brief-slot.js +0 -9
  559. package/dist/tools/investigate/brief-slot.js.map +0 -1
  560. package/dist/tools/investigate/implementer-criteria.d.ts +0 -52
  561. package/dist/tools/investigate/implementer-criteria.d.ts.map +0 -1
  562. package/dist/tools/investigate/implementer-criteria.js +0 -106
  563. package/dist/tools/investigate/implementer-criteria.js.map +0 -1
  564. package/dist/tools/investigate/schema.d.ts +0 -62
  565. package/dist/tools/investigate/schema.d.ts.map +0 -1
  566. package/dist/tools/investigate/schema.js +0 -13
  567. package/dist/tools/investigate/schema.js.map +0 -1
  568. package/dist/tools/investigate/subtypes.d.ts +0 -4
  569. package/dist/tools/investigate/subtypes.d.ts.map +0 -1
  570. package/dist/tools/investigate/subtypes.js +0 -26
  571. package/dist/tools/investigate/subtypes.js.map +0 -1
  572. package/dist/tools/investigate/tool-config.d.ts +0 -8
  573. package/dist/tools/investigate/tool-config.d.ts.map +0 -1
  574. package/dist/tools/investigate/tool-config.js +0 -68
  575. package/dist/tools/investigate/tool-config.js.map +0 -1
  576. package/dist/tools/journal/recall/brief-slot.d.ts +0 -7
  577. package/dist/tools/journal/recall/brief-slot.d.ts.map +0 -1
  578. package/dist/tools/journal/recall/brief-slot.js +0 -5
  579. package/dist/tools/journal/recall/brief-slot.js.map +0 -1
  580. package/dist/tools/journal/recall/implementer-criteria.d.ts +0 -9
  581. package/dist/tools/journal/recall/implementer-criteria.d.ts.map +0 -1
  582. package/dist/tools/journal/recall/implementer-criteria.js +0 -23
  583. package/dist/tools/journal/recall/implementer-criteria.js.map +0 -1
  584. package/dist/tools/journal/recall/schema.d.ts +0 -54
  585. package/dist/tools/journal/recall/schema.d.ts.map +0 -1
  586. package/dist/tools/journal/recall/schema.js +0 -10
  587. package/dist/tools/journal/recall/schema.js.map +0 -1
  588. package/dist/tools/journal/recall/subtypes.d.ts +0 -4
  589. package/dist/tools/journal/recall/subtypes.d.ts.map +0 -1
  590. package/dist/tools/journal/recall/subtypes.js +0 -25
  591. package/dist/tools/journal/recall/subtypes.js.map +0 -1
  592. package/dist/tools/journal/recall/tool-config.d.ts +0 -8
  593. package/dist/tools/journal/recall/tool-config.d.ts.map +0 -1
  594. package/dist/tools/journal/recall/tool-config.js +0 -46
  595. package/dist/tools/journal/recall/tool-config.js.map +0 -1
  596. package/dist/tools/journal/record/brief-slot.d.ts +0 -15
  597. package/dist/tools/journal/record/brief-slot.d.ts.map +0 -1
  598. package/dist/tools/journal/record/brief-slot.js +0 -28
  599. package/dist/tools/journal/record/brief-slot.js.map +0 -1
  600. package/dist/tools/journal/record/implementer-criteria.d.ts +0 -6
  601. package/dist/tools/journal/record/implementer-criteria.d.ts.map +0 -1
  602. package/dist/tools/journal/record/implementer-criteria.js +0 -20
  603. package/dist/tools/journal/record/implementer-criteria.js.map +0 -1
  604. package/dist/tools/journal/record/schema.d.ts +0 -55
  605. package/dist/tools/journal/record/schema.d.ts.map +0 -1
  606. package/dist/tools/journal/record/schema.js +0 -12
  607. package/dist/tools/journal/record/schema.js.map +0 -1
  608. package/dist/tools/journal/record/tool-config.d.ts +0 -7
  609. package/dist/tools/journal/record/tool-config.d.ts.map +0 -1
  610. package/dist/tools/journal/record/tool-config.js +0 -47
  611. package/dist/tools/journal/record/tool-config.js.map +0 -1
  612. package/dist/tools/read-route-prompt.d.ts +0 -113
  613. package/dist/tools/read-route-prompt.d.ts.map +0 -1
  614. package/dist/tools/read-route-prompt.js +0 -86
  615. package/dist/tools/read-route-prompt.js.map +0 -1
  616. package/dist/tools/register-context-block/schema.d.ts +0 -8
  617. package/dist/tools/register-context-block/schema.d.ts.map +0 -1
  618. package/dist/tools/register-context-block/schema.js +0 -7
  619. package/dist/tools/register-context-block/schema.js.map +0 -1
  620. package/dist/tools/register-context-block/tool-config.d.ts +0 -6
  621. package/dist/tools/register-context-block/tool-config.d.ts.map +0 -1
  622. package/dist/tools/register-context-block/tool-config.js +0 -39
  623. package/dist/tools/register-context-block/tool-config.js.map +0 -1
  624. package/dist/tools/research/brief-slot.d.ts +0 -37
  625. package/dist/tools/research/brief-slot.d.ts.map +0 -1
  626. package/dist/tools/research/brief-slot.js +0 -68
  627. package/dist/tools/research/brief-slot.js.map +0 -1
  628. package/dist/tools/research/implementer-criteria.d.ts +0 -13
  629. package/dist/tools/research/implementer-criteria.d.ts.map +0 -1
  630. package/dist/tools/research/implementer-criteria.js +0 -109
  631. package/dist/tools/research/implementer-criteria.js.map +0 -1
  632. package/dist/tools/research/schema.d.ts +0 -11
  633. package/dist/tools/research/schema.d.ts.map +0 -1
  634. package/dist/tools/research/schema.js +0 -59
  635. package/dist/tools/research/schema.js.map +0 -1
  636. package/dist/tools/research/subtypes.d.ts +0 -4
  637. package/dist/tools/research/subtypes.d.ts.map +0 -1
  638. package/dist/tools/research/subtypes.js +0 -25
  639. package/dist/tools/research/subtypes.js.map +0 -1
  640. package/dist/tools/research/tool-config.d.ts +0 -8
  641. package/dist/tools/research/tool-config.d.ts.map +0 -1
  642. package/dist/tools/research/tool-config.js +0 -48
  643. package/dist/tools/research/tool-config.js.map +0 -1
  644. package/dist/tools/research/two-turn-driver.d.ts +0 -16
  645. package/dist/tools/research/two-turn-driver.d.ts.map +0 -1
  646. package/dist/tools/research/two-turn-driver.js +0 -41
  647. package/dist/tools/research/two-turn-driver.js.map +0 -1
  648. package/dist/tools/retry/brief-slot.d.ts +0 -7
  649. package/dist/tools/retry/brief-slot.d.ts.map +0 -1
  650. package/dist/tools/retry/brief-slot.js +0 -3
  651. package/dist/tools/retry/brief-slot.js.map +0 -1
  652. package/dist/tools/retry/schema.d.ts +0 -53
  653. package/dist/tools/retry/schema.d.ts.map +0 -1
  654. package/dist/tools/retry/schema.js +0 -12
  655. package/dist/tools/retry/schema.js.map +0 -1
  656. package/dist/tools/retry/tool-config.d.ts +0 -7
  657. package/dist/tools/retry/tool-config.d.ts.map +0 -1
  658. package/dist/tools/retry/tool-config.js +0 -79
  659. package/dist/tools/retry/tool-config.js.map +0 -1
  660. package/dist/tools/review/brief-slot.d.ts +0 -11
  661. package/dist/tools/review/brief-slot.d.ts.map +0 -1
  662. package/dist/tools/review/brief-slot.js +0 -23
  663. package/dist/tools/review/brief-slot.js.map +0 -1
  664. package/dist/tools/review/implementer-criteria.d.ts +0 -48
  665. package/dist/tools/review/implementer-criteria.d.ts.map +0 -1
  666. package/dist/tools/review/implementer-criteria.js +0 -108
  667. package/dist/tools/review/implementer-criteria.js.map +0 -1
  668. package/dist/tools/review/schema.d.ts +0 -64
  669. package/dist/tools/review/schema.d.ts.map +0 -1
  670. package/dist/tools/review/schema.js +0 -17
  671. package/dist/tools/review/schema.js.map +0 -1
  672. package/dist/tools/review/subtypes.d.ts +0 -4
  673. package/dist/tools/review/subtypes.d.ts.map +0 -1
  674. package/dist/tools/review/subtypes.js +0 -27
  675. package/dist/tools/review/subtypes.js.map +0 -1
  676. package/dist/tools/review/tool-config.d.ts +0 -7
  677. package/dist/tools/review/tool-config.d.ts.map +0 -1
  678. package/dist/tools/review/tool-config.js +0 -94
  679. package/dist/tools/review/tool-config.js.map +0 -1
  680. package/dist/tools/shared-output.d.ts +0 -56
  681. package/dist/tools/shared-output.d.ts.map +0 -1
  682. package/dist/tools/shared-output.js +0 -33
  683. package/dist/tools/shared-output.js.map +0 -1
  684. package/dist/types/review-policy.d.ts +0 -2
  685. package/dist/types/review-policy.d.ts.map +0 -1
  686. package/dist/types/review-policy.js +0 -2
  687. package/dist/types/review-policy.js.map +0 -1
@@ -1,95 +0,0 @@
1
- // packages/core/src/lifecycle/annotate-prompts.ts
2
- //
3
- // Two LLM prompt builders for the annotate stage (write route + read route).
4
- // Both produce transcript-only prompts that ask for a JSON judgment matching
5
- // AnnotatePayload. Helpers serialize upstream state without raw file contents
6
- // or secrets (spec §15.2).
7
- import { reviewPayload } from './stage-plan-types.js';
8
- export function annotatePromptWrite(state) {
9
- const ctx = serializeWriteContext(state);
10
- return `You are the annotator for a code-change task. Read the structured outputs from each prior stage and produce a single JSON judgment.
11
-
12
- Input (truncated for budget):
13
- \`\`\`json
14
- ${JSON.stringify(ctx, null, 2)}
15
- \`\`\`
16
-
17
- Rules:
18
- 1. Emit ONLY a JSON code block with these exact fields: completed (boolean), message (string, 1-3 sentences), findings (array passed through from upstream — you may dedupe identical entries and re-categorize severity ONLY; never invent new findings), summary, filesChanged, commitSha.
19
- 2. Set completed=true ONLY IF (the system applies these gates after your proposal):
20
- - implement stage advanced; AND
21
- - review is approved OR (changes_required + rework applied + no unaddressed findings) OR reviewPolicy=none; AND
22
- - commit gate kind is 'committed' or 'no_op'.
23
- Worker self-assessment is recorded in telemetry but does not gate completion.
24
- 3. If completed=false, message must name a specific blocking gate or finding ID AND suggest a recovery action.
25
- 4. filesChanged and commitSha must come from commit.payload if it committed, else [] and null. Do not invent them.
26
-
27
- Output the JSON block now.`;
28
- }
29
- export function annotatePromptRead(state) {
30
- const ctx = serializeReadContext(state);
31
- return `You are the annotator for a read-only investigation task. Read the structured output from the implement stage and produce a single JSON judgment.
32
-
33
- Input:
34
- \`\`\`json
35
- ${JSON.stringify(ctx, null, 2)}
36
- \`\`\`
37
-
38
- Rules:
39
- 1. Emit ONLY a JSON code block with these exact fields: completed (boolean), message (string, 1-3 sentences), findings (array passed through from implement.findings; dedupe identical entries and may re-categorize severity — never invent new findings), summary, filesChanged (must be []), commitSha (must be null).
40
- 2. Set completed=true ONLY IF: implement.workerSelfAssessment === 'done' AND (criteriaSucceeded.length > 0 OR criteriaErrors.length === 0).
41
- 3. If completed=false, message must name a specific blocking criterion error or note that the worker self-assessed as failed, AND suggest a recovery action.
42
- 4. Findings count is NOT a completion signal — empty findings on a read route means "I investigated and found nothing wrong," which is a valid completion when (2) holds.
43
-
44
- Output the JSON block now.`;
45
- }
46
- // ───── helpers ─────
47
- export function serializeWriteContext(state) {
48
- const last = state.lastRunResult ?? null;
49
- return {
50
- task: { id: state.task?.id ?? null, brief: { title: state.task?.brief?.title ?? null, body: (state.task?.brief?.body ?? '').slice(0, 2000) } },
51
- route: state.route,
52
- implement: last ? {
53
- workerSelfAssessment: last.workerStatus ?? null,
54
- summary: (last.summary ?? '').slice(0, 1000),
55
- filesChanged: last.filesChanged ?? [],
56
- } : null,
57
- review: {
58
- verdict: reviewPayload(state).verdict ?? null,
59
- // reviewPayload already folds evidence into each finding's `text`, so the
60
- // returned shape is { source, text } with no `evidence` field to strip.
61
- findings: reviewPayload(state).findings,
62
- },
63
- rework: {
64
- applied: state.reworkApplied ?? false,
65
- error: state.reworkError ?? null,
66
- unaddressedFindingIds: last?.unaddressedFindingIds ?? [],
67
- },
68
- commit: {
69
- committed: state.gates?.commit?.payload?.kind === 'committed',
70
- skipReason: (state.gates?.commit?.payload?.kind === 'no_op'
71
- ? state.gates?.commit?.payload?.reason ?? null
72
- : null),
73
- sha: last?.commitSha ?? null,
74
- },
75
- };
76
- }
77
- export function serializeReadContext(state) {
78
- const last = state.lastRunResult ?? null;
79
- return {
80
- task: { id: state.task?.id ?? null, brief: { title: state.task?.brief?.title ?? null, body: (state.task?.brief?.body ?? '').slice(0, 2000) } },
81
- route: state.route,
82
- implement: last ? {
83
- workerSelfAssessment: last.workerStatus ?? null,
84
- summary: (last.summary ?? '').slice(0, 1000),
85
- findings: stripEvidence(last.findings ?? []),
86
- citations: last.citations ?? [],
87
- criteriaSucceeded: last.criteriaSucceeded ?? [],
88
- criteriaErrors: last.criteriaErrors ?? [],
89
- } : null,
90
- };
91
- }
92
- export function stripEvidence(items) {
93
- return items.map(i => ({ ...i, evidence: undefined }));
94
- }
95
- //# sourceMappingURL=annotate-prompts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotate-prompts.js","sourceRoot":"","sources":["../../src/lifecycle/annotate-prompts.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { CommitFields } from '../reporting/structured-report.js';
2
- export declare function composeCommitMessage(c: CommitFields): string;
3
- //# sourceMappingURL=auto-commit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-commit.d.ts","sourceRoot":"","sources":["../../src/lifecycle/auto-commit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEtE,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAG5D"}
@@ -1,5 +0,0 @@
1
- export function composeCommitMessage(c) {
2
- const subject = `${c.type}${c.scope ? `(${c.scope})` : ''}: ${c.subject}`;
3
- return c.body ? `${subject}\n\n${c.body}` : subject;
4
- }
5
- //# sourceMappingURL=auto-commit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-commit.js","sourceRoot":"","sources":["../../src/lifecycle/auto-commit.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,CAAe;IAClD,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAC1E,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACtD,CAAC"}
@@ -1,11 +0,0 @@
1
- import type { RuntimeRunResult } from '../types.js';
2
- import type { ContextBlockStore } from '../stores/context-block-tool.js';
3
- /**
4
- * Register usable task outputs as a combined context block.
5
- *
6
- * Inlined identically in 4 executors (execute-plan, verify, debug, audit).
7
- * Promoted here so the generic task executor and remaining per-tool
8
- * executors share a single implementation.
9
- */
10
- export declare function autoRegisterContextBlock(results: RuntimeRunResult[], store: ContextBlockStore | undefined): string | undefined;
11
- //# sourceMappingURL=auto-register-context-block.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-register-context-block.d.ts","sourceRoot":"","sources":["../../src/lifecycle/auto-register-context-block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,KAAK,EAAE,iBAAiB,GAAG,SAAS,GACnC,MAAM,GAAG,SAAS,CAOpB"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Register usable task outputs as a combined context block.
3
- *
4
- * Inlined identically in 4 executors (execute-plan, verify, debug, audit).
5
- * Promoted here so the generic task executor and remaining per-tool
6
- * executors share a single implementation.
7
- */
8
- export function autoRegisterContextBlock(results, store) {
9
- if (!store)
10
- return undefined;
11
- const usable = results.filter(r => !r.outputIsDiagnostic && r.output.trim().length > 0);
12
- if (usable.length === 0)
13
- return undefined;
14
- const combined = usable.map(r => r.output).join('\n\n---\n\n');
15
- const { id } = store.register(combined);
16
- return id;
17
- }
18
- //# sourceMappingURL=auto-register-context-block.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-register-context-block.js","sourceRoot":"","sources":["../../src/lifecycle/auto-register-context-block.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAA2B,EAC3B,KAAoC;IAEpC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -1,11 +0,0 @@
1
- import type { RuntimeRunResult } from '../types/run-result.js';
2
- /**
3
- * Builds a cancelled-not-started result envelope. Used by the grouped
4
- * dispatcher to fill slots for tasks that never began because the batch
5
- * was aborted mid-group. Reuses workerStatus 'failed' to preserve the
6
- * existing WorkerStatus enum and asyncDispatch.detectFailure logic; the
7
- * 'cancelled' errorCode is the distinguishing field for consumers that
8
- * care.
9
- */
10
- export declare function buildCancelledResult(): RuntimeRunResult;
11
- //# sourceMappingURL=build-cancelled-result.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-cancelled-result.d.ts","sourceRoot":"","sources":["../../src/lifecycle/build-cancelled-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CAevD"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Builds a cancelled-not-started result envelope. Used by the grouped
3
- * dispatcher to fill slots for tasks that never began because the batch
4
- * was aborted mid-group. Reuses workerStatus 'failed' to preserve the
5
- * existing WorkerStatus enum and asyncDispatch.detectFailure logic; the
6
- * 'cancelled' errorCode is the distinguishing field for consumers that
7
- * care.
8
- */
9
- export function buildCancelledResult() {
10
- return {
11
- output: '',
12
- status: 'error',
13
- usage: { inputTokens: 0, outputTokens: 0, cachedReadTokens: 0, cachedNonReadTokens: 0 },
14
- turns: 0,
15
- filesWritten: [],
16
- outputIsDiagnostic: false,
17
- escalationLog: [],
18
- durationMs: 0,
19
- workerStatus: 'failed',
20
- errorCode: 'cancelled',
21
- actualCostUSD: 0,
22
- directoriesListed: [],
23
- };
24
- }
25
- //# sourceMappingURL=build-cancelled-result.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-cancelled-result.js","sourceRoot":"","sources":["../../src/lifecycle/build-cancelled-result.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE;QACvF,KAAK,EAAE,CAAC;QACR,YAAY,EAAE,EAAE;QAChB,kBAAkB,EAAE,KAAK;QACzB,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,QAAQ;QACtB,SAAS,EAAE,WAAW;QACtB,aAAa,EAAE,CAAC;QAChB,iBAAiB,EAAE,EAAE;KACF,CAAC;AACxB,CAAC"}
@@ -1,28 +0,0 @@
1
- import type { RouteName } from '../lifecycle/stage-io.js';
2
- export interface CompletionInputs {
3
- route: RouteName;
4
- implementOutcome: 'advance' | 'skip' | 'halt' | undefined;
5
- reviewPolicy: 'full' | 'quality_only' | 'diff_only' | 'none';
6
- reviewVerdict: 'approved' | 'concerns' | 'changes_required' | 'annotated' | 'error' | 'skipped' | undefined;
7
- reviewSubResults?: Array<{
8
- name: 'spec' | 'quality';
9
- verdict: string;
10
- }>;
11
- reworkApplied: boolean | undefined;
12
- reworkError: string | undefined;
13
- unaddressedFindingIds: string[] | undefined;
14
- commitKind: 'committed' | 'no_op' | undefined;
15
- criteriaSucceeded: string[] | undefined;
16
- /** Goal mode (write routes): commits in baseSha..HEAD. When defined, the
17
- * goal branch applies — completion = implement advanced AND ≥1 commit
18
- * (the agent self-commits; there is no MMA review verdict / commit gate). */
19
- goalCommitCount?: number;
20
- }
21
- export interface CompletionResult {
22
- completed: boolean;
23
- reasons: string[];
24
- }
25
- export declare function deriveCompletion(inputs: CompletionInputs): CompletionResult;
26
- import type { LifecycleState } from './stage-plan-types.js';
27
- export declare function extractCompletionInputs(state: LifecycleState): CompletionInputs;
28
- //# sourceMappingURL=derive-completion.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derive-completion.d.ts","sourceRoot":"","sources":["../../src/lifecycle/derive-completion.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAM1D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,gBAAgB,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1D,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,WAAW,GAAG,MAAM,CAAC;IAC7D,aAAa,EAAE,UAAU,GAAG,UAAU,GAAG,kBAAkB,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IAC5G,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,qBAAqB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C,UAAU,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;IAC9C,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC;;kFAE8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAwC3E;AAMD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB,CA2B/E"}
@@ -1,79 +0,0 @@
1
- // Pure completion-judgment function. Single source of truth for determining
2
- // when a task has reached a terminal completion state. Used by:
3
- // - annotator gate (lifecycle/annotate-parser.ts)
4
- // - envelope seal (lifecycle/handlers/terminal-handlers.ts)
5
- //
6
- // Inputs are objective lifecycle signals — NOT worker self-assessment.
7
- // Worker self-assessment is logged in telemetry separately, never gates
8
- // completion.
9
- const READ_ROUTES = new Set([
10
- 'audit', 'review', 'debug', 'investigate', 'explore', 'research', 'journal-recall',
11
- ]);
12
- export function deriveCompletion(inputs) {
13
- const reasons = [];
14
- // 1. Implementer must have advanced
15
- const implementOk = inputs.implementOutcome === 'advance';
16
- if (!implementOk)
17
- reasons.push('implement did not advance');
18
- // 2. Route-specific completion
19
- if (READ_ROUTES.has(inputs.route)) {
20
- const criteriaOk = (inputs.criteriaSucceeded ?? []).length > 0;
21
- if (!criteriaOk)
22
- reasons.push('no successful criteria');
23
- return { completed: implementOk && criteriaOk, reasons };
24
- }
25
- // 3a. Goal-mode write routes: the agent self-commits and there is no MMA
26
- // review verdict / commit gate. Completion = implementer advanced AND at
27
- // least one commit landed in baseSha..HEAD (mirrors the status truth table:
28
- // failed only on zero commits).
29
- if (inputs.goalCommitCount !== undefined) {
30
- const committed = inputs.goalCommitCount > 0;
31
- if (!committed)
32
- reasons.push('no commits landed');
33
- return { completed: implementOk && committed, reasons };
34
- }
35
- // 3. Write routes (legacy non-goal): review + commit must pass
36
- const reviewOk = inputs.reviewPolicy === 'none' ||
37
- inputs.reviewVerdict === 'approved' ||
38
- (inputs.reviewVerdict === 'changes_required' &&
39
- inputs.reworkApplied === true &&
40
- inputs.reworkError === undefined &&
41
- (inputs.unaddressedFindingIds ?? []).length === 0);
42
- if (!reviewOk)
43
- reasons.push('review did not pass');
44
- const commitOk = inputs.commitKind === 'committed' ||
45
- inputs.commitKind === 'no_op';
46
- if (!commitOk)
47
- reasons.push('commit did not complete');
48
- return { completed: implementOk && reviewOk && commitOk, reasons };
49
- }
50
- import { reviewPayload } from './stage-plan-types.js';
51
- export function extractCompletionInputs(state) {
52
- const last = state.lastRunResult;
53
- // commitKind sources, in priority order:
54
- // 1. gates.commit.payload.kind — populated by the commit handler (committed / no_op)
55
- // 2. gates.commit.outcome === 'skip' — populated by the lifecycle driver
56
- // when shouldRun returned false (e.g., "no files changed"). That is a
57
- // legitimate no-op for completion purposes.
58
- const commitGate = state.gates?.commit;
59
- let commitKind = commitGate?.payload?.kind;
60
- if (commitKind === undefined && commitGate?.outcome === 'skip') {
61
- commitKind = 'no_op';
62
- }
63
- return {
64
- route: state.route,
65
- implementOutcome: state.gates?.implement?.outcome,
66
- reviewPolicy: state.reviewPolicy,
67
- reviewVerdict: reviewPayload(state).verdict,
68
- reviewSubResults: state.reviewSubResults,
69
- reworkApplied: state.reworkApplied,
70
- reworkError: state.reworkError,
71
- unaddressedFindingIds: state.unaddressedFindingIds ?? last?.unaddressedFindingIds,
72
- commitKind,
73
- criteriaSucceeded: last?.criteriaSucceeded,
74
- ...(state.goalCommitCount !== undefined && {
75
- goalCommitCount: state.goalCommitCount,
76
- }),
77
- };
78
- }
79
- //# sourceMappingURL=derive-completion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derive-completion.js","sourceRoot":"","sources":["../../src/lifecycle/derive-completion.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- import type { RuntimeRunResult, ReviewVerdict } from '../types.js';
2
- import type { NotApplicable } from '../reporting/not-applicable.js';
3
- /** Aggregate timing metrics for a `delegate_tasks` batch. */
4
- export interface BatchTimings {
5
- wallClockMs: number;
6
- sumOfTaskMs: number;
7
- estimatedParallelSavingsMs: number;
8
- }
9
- /** Aggregate completion counts for a `delegate_tasks` batch. */
10
- export interface BatchProgress {
11
- totalTasks: number;
12
- completedTasks: number;
13
- incompleteTasks: number;
14
- failedTasks: number;
15
- successPercent: number;
16
- }
17
- /** Aggregate cost metrics for a `delegate_tasks` batch. */
18
- export interface BatchAggregateCost {
19
- totalActualCostUSD: number;
20
- totalCostDeltaVsMainUSD: number;
21
- }
22
- /**
23
- * Uniform output envelope returned by every executor.
24
- * Required shape for GET /batch/:id?taskIndex=N slicing (see spec §6.5).
25
- *
26
- * All 7 top-level envelope fields are required. Fields that are not
27
- * applicable for a given executor or code path are set to NotApplicable
28
- * via `notApplicable(reason)` rather than being omitted. Additional
29
- * passthrough fields (batchId, contextBlockId, etc.) are preserved
30
- * alongside the envelope.
31
- */
32
- export interface ExecutorOutput {
33
- headline: string;
34
- results: RuntimeRunResult[] | NotApplicable;
35
- batchTimings: BatchTimings | NotApplicable;
36
- costSummary: BatchAggregateCost | NotApplicable;
37
- structuredReport: Record<string, unknown> | NotApplicable;
38
- error: {
39
- code: string;
40
- message: string;
41
- details?: unknown;
42
- } | NotApplicable;
43
- batchId: string;
44
- contextBlockId?: string;
45
- wallClockMs?: number;
46
- mainModel?: string | null;
47
- specReviewVerdict?: ReviewVerdict;
48
- qualityReviewVerdict?: ReviewVerdict;
49
- roundsUsed?: number;
50
- /** Effective dispatch mode used for this batch ('serial' | 'parallel'). */
51
- dispatchMode?: import('./tool-config-types.js').DispatchMode;
52
- }
53
- //# sourceMappingURL=executor-output-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor-output-types.d.ts","sourceRoot":"","sources":["../../src/lifecycle/executor-output-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,6DAA6D;AAC7D,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,0BAA0B,EAAE,MAAM,CAAA;CACnC;AAED,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,uBAAuB,EAAE,MAAM,CAAA;CAChC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,EAAE,GAAG,aAAa,CAAC;IAC5C,YAAY,EAAE,YAAY,GAAG,aAAa,CAAC;IAC3C,WAAW,EAAE,kBAAkB,GAAG,aAAa,CAAC;IAChD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,CAAC;IAC1D,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,aAAa,CAAC;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,oBAAoB,CAAC,EAAE,aAAa,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,OAAO,wBAAwB,EAAE,YAAY,CAAC;CAC9D"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=executor-output-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor-output-types.js","sourceRoot":"","sources":["../../src/lifecycle/executor-output-types.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- /**
2
- * Returns the subset of worker-reported written paths that resolve OUTSIDE cwd.
3
- *
4
- * Used at task finalization to hard-fail tasks whose writes escaped the confined
5
- * working directory — e.g. a worker that wrote into the daemon's startup cwd or a
6
- * sibling git worktree instead of the dispatched `?cwd=`. The escape is detected
7
- * from the worker-reported write log (NOT the git diff), because the defining
8
- * symptom is that git-in-cwd shows clean while the worker actually wrote elsewhere.
9
- *
10
- * Containment is checked against the realpath'd cwd so a symlinked file inside cwd
11
- * that points outside cwd is caught. Paths that don't exist on disk (already
12
- * deleted, or never actually created) fall back to lexical resolution — still
13
- * flagged if they resolve outside cwd. Relative paths are resolved against cwd and
14
- * are therefore inside by construction.
15
- */
16
- export declare function findEscapedWrites(filesWritten: readonly string[], cwd: string): string[];
17
- //# sourceMappingURL=file-confinement-check.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-confinement-check.d.ts","sourceRoot":"","sources":["../../src/lifecycle/file-confinement-check.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAwBxF"}
@@ -1,44 +0,0 @@
1
- import { realpathSync } from 'node:fs';
2
- import { resolve, sep } from 'node:path';
3
- /**
4
- * Returns the subset of worker-reported written paths that resolve OUTSIDE cwd.
5
- *
6
- * Used at task finalization to hard-fail tasks whose writes escaped the confined
7
- * working directory — e.g. a worker that wrote into the daemon's startup cwd or a
8
- * sibling git worktree instead of the dispatched `?cwd=`. The escape is detected
9
- * from the worker-reported write log (NOT the git diff), because the defining
10
- * symptom is that git-in-cwd shows clean while the worker actually wrote elsewhere.
11
- *
12
- * Containment is checked against the realpath'd cwd so a symlinked file inside cwd
13
- * that points outside cwd is caught. Paths that don't exist on disk (already
14
- * deleted, or never actually created) fall back to lexical resolution — still
15
- * flagged if they resolve outside cwd. Relative paths are resolved against cwd and
16
- * are therefore inside by construction.
17
- */
18
- export function findEscapedWrites(filesWritten, cwd) {
19
- if (filesWritten.length === 0)
20
- return [];
21
- let cwdReal;
22
- try {
23
- cwdReal = realpathSync(resolve(cwd));
24
- }
25
- catch {
26
- cwdReal = resolve(cwd);
27
- }
28
- const escaped = [];
29
- for (const p of filesWritten) {
30
- const abs = resolve(cwdReal, p);
31
- let real;
32
- try {
33
- real = realpathSync(abs);
34
- }
35
- catch {
36
- real = abs;
37
- }
38
- if (real !== cwdReal && !real.startsWith(cwdReal + sep)) {
39
- escaped.push(p);
40
- }
41
- }
42
- return escaped;
43
- }
44
- //# sourceMappingURL=file-confinement-check.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-confinement-check.js","sourceRoot":"","sources":["../../src/lifecycle/file-confinement-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAA+B,EAAE,GAAW;IAC5E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAChC,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,18 +0,0 @@
1
- import type { FindingsOutcomeKind } from '../reporting/findings-outcome.js';
2
- export interface Finding {
3
- id?: string;
4
- severity: 'critical' | 'high' | 'medium' | 'low';
5
- category: string;
6
- claim: string;
7
- evidence?: string;
8
- suggestion?: string;
9
- source?: 'implementer' | 'reviewer';
10
- }
11
- export interface FindingsParseResult {
12
- findings: Finding[];
13
- outcome: FindingsOutcomeKind;
14
- }
15
- type WarnSink = (event: string, data: Record<string, unknown>) => void;
16
- export declare function parseFindings(text: string, criterionId: string, legalOutcomes?: readonly FindingsOutcomeKind[], warnSink?: WarnSink): FindingsParseResult;
17
- export {};
18
- //# sourceMappingURL=findings-parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findings-parser.d.ts","sourceRoot":"","sources":["../../src/lifecycle/findings-parser.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAgB5E,MAAM,WAAW,OAAO;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAED,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAIvE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,aAAa,GAAE,SAAS,mBAAmB,EAAyC,EACpF,QAAQ,GAAE,QAAmB,GAC5B,mBAAmB,CA8HrB"}
@@ -1,143 +0,0 @@
1
- // v4.4.x — extracts structured findings from one read-route criterion
2
- // turn. Worker emits `## Finding N:` blocks per the format spec; this
3
- // parser converts them into StructuredReport.findings[] entries.
4
- //
5
- // Tolerant by design: LLMs vary heading level (## vs ###), heading noun
6
- // (Finding/Issue/Concern), terminator (colon/period/none), bullet marker
7
- // (- vs *), and bold wrapping (**Severity:**). Strict canonical format is
8
- // preferred, but the parser recovers from common drift so a worker mistake
9
- // becomes a degraded-but-usable result rather than silent data loss.
10
- // `## Finding 1:` (canonical) plus tolerated drift:
11
- // - heading level 2–4 (##, ###, ####)
12
- // - noun: Finding | Issue | Concern (singular only; reviewers use "Concern")
13
- // - optional space, optional bold (**Finding 1:**)
14
- // - terminator: `:`, `.`, `)`, or end-of-line
15
- // Uses [ \t]* (horizontal whitespace) so the regex doesn't cross newlines —
16
- // `\s*` matches newlines and would let `(.*)` consume the following bullet line.
17
- const FINDING_HEADING_RE = /^#{2,4}[ \t]*\**[ \t]*(?:Finding|Issue|Concern)[ \t]+(\d+)\**[ \t]*[:.)]?[ \t]*(.*)$/im;
18
- // Same shape but per-line for the block-splitter (no /m needed when matched line-by-line).
19
- const FINDING_HEADING_LINE_RE = /^#{2,4}[ \t]*\**[ \t]*(?:Finding|Issue|Concern)[ \t]+\d+\b/i;
20
- // `- Severity: high` plus tolerated drift: * bullet, **bold:**, no bullet at all.
21
- const bulletRe = (label) => new RegExp(`^(?:[-*][ \\t]+)?\\**[ \\t]*${label}[ \\t]*\\**[ \\t]*:[ \\t]*(.+)$`, 'im');
22
- const SEVERITY_VALUES = new Set(['critical', 'high', 'medium', 'low']);
23
- export function parseFindings(text, criterionId, legalOutcomes = ['found', 'clean', 'not_applicable'], warnSink = () => { }) {
24
- if (!text || text.trim().length === 0) {
25
- return { findings: [], outcome: 'clean' };
26
- }
27
- const blocks = [];
28
- const lines = text.split('\n');
29
- let current = [];
30
- for (const line of lines) {
31
- if (FINDING_HEADING_LINE_RE.test(line)) {
32
- if (current.length > 0)
33
- blocks.push(current.join('\n'));
34
- current = [line];
35
- }
36
- else if (current.length > 0) {
37
- current.push(line);
38
- }
39
- }
40
- if (current.length > 0)
41
- blocks.push(current.join('\n'));
42
- const findings = [];
43
- for (const block of blocks) {
44
- const headingMatch = block.match(FINDING_HEADING_RE);
45
- const headingNum = headingMatch?.[1] ?? '?';
46
- const headingInline = headingMatch?.[2]?.trim() ?? '';
47
- const headingText = `Finding ${headingNum}: ${headingInline}`;
48
- // Claim can come from a `- Claim:` bullet (reviewer format) OR the inline
49
- // text on the heading line (legacy worker format).
50
- let claim = block.match(bulletRe('Claim'))?.[1]?.trim() ?? '';
51
- if (!claim)
52
- claim = headingInline;
53
- if (claim.startsWith('[N/A]'))
54
- continue;
55
- // A finding with no claim text at all is useless downstream — drop it
56
- // and surface a warning so the operator can spot worker-emission drift.
57
- if (!claim || claim.trim().length === 0) {
58
- warnSink('findings_parser_drop', {
59
- route: criterionId,
60
- droppedFindingHeading: headingText,
61
- reasonCode: 'empty_claim',
62
- });
63
- continue;
64
- }
65
- // Emit warning if claim is empty, but continue processing with empty claim
66
- if (!claim || claim.trim().length === 0) {
67
- warnSink('findings_parser_drop', {
68
- route: criterionId,
69
- droppedFindingHeading: headingText,
70
- reasonCode: 'empty_claim',
71
- });
72
- continue;
73
- }
74
- const sevRaw = block.match(bulletRe('Severity'))?.[1]?.trim().split(/\s+/)[0]?.toLowerCase();
75
- // Emit warning if Severity is missing, but continue with default
76
- if (!sevRaw) {
77
- warnSink('findings_parser_drop', {
78
- route: criterionId,
79
- droppedFindingHeading: headingText,
80
- reasonCode: 'missing_core_bullet',
81
- });
82
- }
83
- // Emit warning if Severity is invalid, but continue with default
84
- const severity = (sevRaw && SEVERITY_VALUES.has(sevRaw))
85
- ? sevRaw
86
- : 'medium';
87
- if (sevRaw && !SEVERITY_VALUES.has(sevRaw)) {
88
- warnSink('findings_parser_drop', {
89
- route: criterionId,
90
- droppedFindingHeading: headingText,
91
- reasonCode: 'invalid_severity',
92
- });
93
- }
94
- const category = block.match(bulletRe('Category'))?.[1]?.trim().split(/\s+/)[0] ?? criterionId;
95
- const evidence = (block.match(bulletRe('Evidence'))?.[1] ?? block.match(bulletRe('Issue'))?.[1])?.trim();
96
- const suggestion = (block.match(bulletRe('Suggestion'))?.[1] ?? block.match(bulletRe('Fix'))?.[1])?.trim();
97
- // Drop for investigate routes if Evidence contains no file:line citation
98
- // ANYWHERE. Workers naturally write `In [src/foo.ts:42] the function …` or
99
- // wrap citations in markdown links — both forms now pass; only evidence
100
- // that is pure prose with no path:line gets dropped.
101
- if (criterionId.startsWith('investigate-') && evidence && !/[\w./-]+:\d+/.test(evidence)) {
102
- warnSink('findings_parser_drop', {
103
- route: criterionId,
104
- droppedFindingHeading: headingText,
105
- reasonCode: 'invalid_evidence_format',
106
- });
107
- continue;
108
- }
109
- const f = { severity, category, claim };
110
- if (evidence)
111
- f.evidence = evidence;
112
- if (suggestion)
113
- f.suggestion = suggestion;
114
- findings.push(f);
115
- }
116
- // Extract outcome. Canonical: `## Outcome\nfound`. Tolerated drift:
117
- // `## Outcome: found` (inline), `### Outcome\nfound` (heading level),
118
- // `**Outcome:** found` (bold bullet), `Outcome: found` (no heading).
119
- // Whichever form, value must be one of the legal-outcome enum literals.
120
- let outcome = findings.length > 0 ? 'found' : 'clean';
121
- // Horizontal-whitespace only on the heading line; newline before the value
122
- // on the next line is explicit. Three alternatives covered:
123
- // 1. `## Outcome\nfound` (heading + next-line value)
124
- // 2. `## Outcome: found` (heading + inline value)
125
- // 3. `Outcome: found` (bullet/bold/plain, no heading)
126
- const OUTCOME_LINE_RE = /^(?:#{2,4}[ \t]*\**[ \t]*Outcome\**[ \t]*[:.]?[ \t]*(\w*)[ \t]*\n[ \t]*(\w*)|(?:[-*][ \t]+)?\**[ \t]*Outcome[ \t]*\**[ \t]*:[ \t]*(\w+))/im;
127
- const m = text.match(OUTCOME_LINE_RE);
128
- if (m) {
129
- const raw = (m[1] || m[2] || m[3] || '').trim().toLowerCase();
130
- if (raw === 'found' || raw === 'clean' || raw === 'not_applicable') {
131
- outcome = raw;
132
- }
133
- // empty / unrecognized → keep the inferred outcome from findings.length
134
- }
135
- // Honor the route's legal-outcome set: if the worker declared a value that's
136
- // illegal for this criterion (e.g. 'not_applicable' on an issue-hunting
137
- // route), fall back to the inferred outcome rather than emit garbage.
138
- if (!legalOutcomes.includes(outcome)) {
139
- outcome = findings.length > 0 ? 'found' : (legalOutcomes[0] ?? 'clean');
140
- }
141
- return { findings, outcome };
142
- }
143
- //# sourceMappingURL=findings-parser.js.map