takt 0.46.0 → 0.47.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 (552) hide show
  1. package/README.md +55 -2
  2. package/builtins/en/config.yaml +28 -12
  3. package/builtins/en/facets/instructions/findings-manager.md +13 -0
  4. package/builtins/en/facets/instructions/fix.md +9 -4
  5. package/builtins/en/facets/instructions/implement-maintenance.md +3 -32
  6. package/builtins/en/facets/instructions/loop-monitor-reviewers-fix.md +5 -1
  7. package/builtins/en/facets/instructions/plan-test.md +4 -3
  8. package/builtins/en/facets/instructions/review-coding.md +11 -6
  9. package/builtins/en/facets/instructions/review-pure.md +8 -0
  10. package/builtins/en/facets/instructions/review-qa.md +2 -1
  11. package/builtins/en/facets/instructions/review-test.md +2 -1
  12. package/builtins/en/facets/instructions/supervise-maintenance.md +3 -75
  13. package/builtins/en/facets/instructions/supervise.md +8 -68
  14. package/builtins/en/facets/instructions/write-tests-first.md +1 -0
  15. package/builtins/en/facets/knowledge/architecture.md +31 -0
  16. package/builtins/en/facets/knowledge/backend.md +25 -1
  17. package/builtins/en/facets/knowledge/cqrs-es.md +57 -0
  18. package/builtins/en/facets/output-contracts/ai-antipattern-review-finding-contract.md +31 -0
  19. package/builtins/en/facets/output-contracts/architecture-review-finding-contract.md +35 -0
  20. package/builtins/en/facets/output-contracts/coding-review-finding-contract.md +25 -0
  21. package/builtins/en/facets/output-contracts/coding-review.md +11 -4
  22. package/builtins/en/facets/output-contracts/cqrs-es-review-finding-contract.md +31 -0
  23. package/builtins/en/facets/output-contracts/findings-manager.md +45 -0
  24. package/builtins/en/facets/output-contracts/frontend-review-finding-contract.md +30 -0
  25. package/builtins/en/facets/output-contracts/pure-review-finding-contract.md +45 -0
  26. package/builtins/en/facets/output-contracts/pure-review.md +6 -6
  27. package/builtins/en/facets/output-contracts/qa-review-finding-contract.md +35 -0
  28. package/builtins/en/facets/output-contracts/qa-review.md +10 -3
  29. package/builtins/en/facets/output-contracts/security-review-finding-contract.md +36 -0
  30. package/builtins/en/facets/output-contracts/supervisor-validation.md +34 -10
  31. package/builtins/en/facets/output-contracts/terraform-review-finding-contract.md +31 -0
  32. package/builtins/en/facets/output-contracts/testing-review-finding-contract.md +41 -0
  33. package/builtins/en/facets/personas/findings-manager.md +18 -0
  34. package/builtins/en/facets/policies/ai-antipattern.md +31 -0
  35. package/builtins/en/facets/policies/review.md +64 -16
  36. package/builtins/en/facets/policies/testing.md +24 -0
  37. package/builtins/en/workflow-categories.yaml +1 -0
  38. package/builtins/en/workflows/audit-architecture-backend.yaml +8 -0
  39. package/builtins/en/workflows/audit-architecture-dual.yaml +8 -0
  40. package/builtins/en/workflows/audit-architecture-frontend.yaml +8 -0
  41. package/builtins/en/workflows/audit-architecture.yaml +8 -0
  42. package/builtins/en/workflows/audit-e2e.yaml +8 -0
  43. package/builtins/en/workflows/audit-security.yaml +8 -0
  44. package/builtins/en/workflows/audit-unit.yaml +8 -0
  45. package/builtins/en/workflows/auto-improvement-loop.yaml +6 -0
  46. package/builtins/en/workflows/backend-cqrs-mini.yaml +20 -0
  47. package/builtins/en/workflows/backend-cqrs.yaml +39 -1
  48. package/builtins/en/workflows/backend-mini.yaml +20 -0
  49. package/builtins/en/workflows/backend.yaml +39 -1
  50. package/builtins/en/workflows/compound-eye.yaml +8 -0
  51. package/builtins/en/workflows/deep-research.yaml +8 -0
  52. package/builtins/en/workflows/default-draft.yaml +6 -0
  53. package/builtins/en/workflows/default-high.yaml +6 -0
  54. package/builtins/en/workflows/default-mini.yaml +2 -0
  55. package/builtins/en/workflows/default-peer-review.yaml +17 -1
  56. package/builtins/en/workflows/default.yaml +4 -0
  57. package/builtins/en/workflows/draft.yaml +12 -4
  58. package/builtins/en/workflows/dual-cqrs-mini.yaml +20 -0
  59. package/builtins/en/workflows/dual-cqrs.yaml +35 -1
  60. package/builtins/en/workflows/dual-mini.yaml +20 -0
  61. package/builtins/en/workflows/dual.yaml +39 -1
  62. package/builtins/en/workflows/frontend-maintenance.yaml +41 -1
  63. package/builtins/en/workflows/frontend-mini.yaml +20 -0
  64. package/builtins/en/workflows/frontend.yaml +41 -1
  65. package/builtins/en/workflows/magi.yaml +6 -0
  66. package/builtins/en/workflows/peer-review-with-fc.yaml +206 -0
  67. package/builtins/en/workflows/peer-review.yaml +30 -10
  68. package/builtins/en/workflows/research.yaml +6 -0
  69. package/builtins/en/workflows/review-backend-cqrs.yaml +21 -1
  70. package/builtins/en/workflows/review-backend.yaml +19 -1
  71. package/builtins/en/workflows/review-default.yaml +21 -1
  72. package/builtins/en/workflows/review-dual-cqrs.yaml +23 -1
  73. package/builtins/en/workflows/review-dual.yaml +21 -1
  74. package/builtins/en/workflows/review-fix-backend-cqrs.yaml +25 -1
  75. package/builtins/en/workflows/review-fix-backend.yaml +23 -1
  76. package/builtins/en/workflows/review-fix-default.yaml +25 -1
  77. package/builtins/en/workflows/review-fix-dual-cqrs.yaml +27 -1
  78. package/builtins/en/workflows/review-fix-dual.yaml +25 -1
  79. package/builtins/en/workflows/review-fix-frontend.yaml +25 -1
  80. package/builtins/en/workflows/review-fix-takt-default.yaml +33 -1
  81. package/builtins/en/workflows/review-frontend.yaml +21 -1
  82. package/builtins/en/workflows/review-takt-default.yaml +23 -1
  83. package/builtins/en/workflows/takt-default-refresh-all.yaml +30 -0
  84. package/builtins/en/workflows/takt-default-refresh-fast.yaml +30 -0
  85. package/builtins/en/workflows/takt-default-with-fc.yaml +110 -0
  86. package/builtins/en/workflows/takt-default.yaml +9 -3
  87. package/builtins/en/workflows/terraform.yaml +29 -1
  88. package/builtins/ja/config.yaml +28 -12
  89. package/builtins/ja/facets/instructions/findings-manager.md +13 -0
  90. package/builtins/ja/facets/instructions/fix.md +9 -4
  91. package/builtins/ja/facets/instructions/implement-maintenance.md +3 -32
  92. package/builtins/ja/facets/instructions/loop-monitor-reviewers-fix.md +5 -1
  93. package/builtins/ja/facets/instructions/plan-test.md +4 -3
  94. package/builtins/ja/facets/instructions/review-coding.md +11 -6
  95. package/builtins/ja/facets/instructions/review-pure.md +8 -0
  96. package/builtins/ja/facets/instructions/review-qa.md +2 -1
  97. package/builtins/ja/facets/instructions/review-test.md +2 -1
  98. package/builtins/ja/facets/instructions/supervise-maintenance.md +3 -75
  99. package/builtins/ja/facets/instructions/supervise.md +8 -69
  100. package/builtins/ja/facets/instructions/write-tests-first.md +1 -0
  101. package/builtins/ja/facets/knowledge/architecture.md +31 -0
  102. package/builtins/ja/facets/knowledge/backend.md +25 -1
  103. package/builtins/ja/facets/knowledge/cqrs-es.md +31 -0
  104. package/builtins/ja/facets/output-contracts/ai-antipattern-review-finding-contract.md +31 -0
  105. package/builtins/ja/facets/output-contracts/architecture-review-finding-contract.md +35 -0
  106. package/builtins/ja/facets/output-contracts/coding-review-finding-contract.md +25 -0
  107. package/builtins/ja/facets/output-contracts/coding-review.md +11 -4
  108. package/builtins/ja/facets/output-contracts/cqrs-es-review-finding-contract.md +31 -0
  109. package/builtins/ja/facets/output-contracts/findings-manager.md +45 -0
  110. package/builtins/ja/facets/output-contracts/frontend-review-finding-contract.md +30 -0
  111. package/builtins/ja/facets/output-contracts/pure-review-finding-contract.md +45 -0
  112. package/builtins/ja/facets/output-contracts/pure-review.md +6 -6
  113. package/builtins/ja/facets/output-contracts/qa-review-finding-contract.md +35 -0
  114. package/builtins/ja/facets/output-contracts/qa-review.md +10 -3
  115. package/builtins/ja/facets/output-contracts/security-review-finding-contract.md +36 -0
  116. package/builtins/ja/facets/output-contracts/supervisor-validation.md +34 -10
  117. package/builtins/ja/facets/output-contracts/terraform-review-finding-contract.md +31 -0
  118. package/builtins/ja/facets/output-contracts/testing-review-finding-contract.md +41 -0
  119. package/builtins/ja/facets/personas/findings-manager.md +18 -0
  120. package/builtins/ja/facets/policies/ai-antipattern.md +15 -0
  121. package/builtins/ja/facets/policies/review.md +62 -16
  122. package/builtins/ja/facets/policies/testing.md +24 -0
  123. package/builtins/ja/workflow-categories.yaml +1 -0
  124. package/builtins/ja/workflows/audit-architecture-backend.yaml +8 -0
  125. package/builtins/ja/workflows/audit-architecture-dual.yaml +8 -0
  126. package/builtins/ja/workflows/audit-architecture-frontend.yaml +8 -0
  127. package/builtins/ja/workflows/audit-architecture.yaml +8 -0
  128. package/builtins/ja/workflows/audit-e2e.yaml +8 -0
  129. package/builtins/ja/workflows/audit-security.yaml +8 -0
  130. package/builtins/ja/workflows/audit-unit.yaml +8 -0
  131. package/builtins/ja/workflows/auto-improvement-loop.yaml +6 -0
  132. package/builtins/ja/workflows/backend-cqrs-mini.yaml +20 -0
  133. package/builtins/ja/workflows/backend-cqrs.yaml +39 -1
  134. package/builtins/ja/workflows/backend-mini.yaml +20 -0
  135. package/builtins/ja/workflows/backend.yaml +39 -1
  136. package/builtins/ja/workflows/compound-eye.yaml +8 -0
  137. package/builtins/ja/workflows/deep-research.yaml +8 -0
  138. package/builtins/ja/workflows/default-draft.yaml +6 -0
  139. package/builtins/ja/workflows/default-high.yaml +6 -0
  140. package/builtins/ja/workflows/default-mini.yaml +2 -0
  141. package/builtins/ja/workflows/default-peer-review.yaml +17 -1
  142. package/builtins/ja/workflows/default.yaml +4 -0
  143. package/builtins/ja/workflows/draft.yaml +12 -4
  144. package/builtins/ja/workflows/dual-cqrs-mini.yaml +20 -0
  145. package/builtins/ja/workflows/dual-cqrs.yaml +35 -1
  146. package/builtins/ja/workflows/dual-mini.yaml +20 -0
  147. package/builtins/ja/workflows/dual.yaml +39 -1
  148. package/builtins/ja/workflows/frontend-maintenance.yaml +41 -1
  149. package/builtins/ja/workflows/frontend-mini.yaml +20 -0
  150. package/builtins/ja/workflows/frontend.yaml +41 -1
  151. package/builtins/ja/workflows/magi.yaml +6 -0
  152. package/builtins/ja/workflows/peer-review-with-fc.yaml +206 -0
  153. package/builtins/ja/workflows/peer-review.yaml +30 -10
  154. package/builtins/ja/workflows/research.yaml +6 -0
  155. package/builtins/ja/workflows/review-backend-cqrs.yaml +21 -1
  156. package/builtins/ja/workflows/review-backend.yaml +19 -1
  157. package/builtins/ja/workflows/review-default.yaml +21 -1
  158. package/builtins/ja/workflows/review-dual-cqrs.yaml +23 -1
  159. package/builtins/ja/workflows/review-dual.yaml +21 -1
  160. package/builtins/ja/workflows/review-fix-backend-cqrs.yaml +25 -1
  161. package/builtins/ja/workflows/review-fix-backend.yaml +23 -1
  162. package/builtins/ja/workflows/review-fix-default.yaml +25 -1
  163. package/builtins/ja/workflows/review-fix-dual-cqrs.yaml +27 -1
  164. package/builtins/ja/workflows/review-fix-dual.yaml +25 -1
  165. package/builtins/ja/workflows/review-fix-frontend.yaml +25 -1
  166. package/builtins/ja/workflows/review-fix-takt-default.yaml +33 -1
  167. package/builtins/ja/workflows/review-frontend.yaml +21 -1
  168. package/builtins/ja/workflows/review-takt-default.yaml +23 -1
  169. package/builtins/ja/workflows/takt-default-refresh-all.yaml +30 -0
  170. package/builtins/ja/workflows/takt-default-refresh-fast.yaml +30 -0
  171. package/builtins/ja/workflows/takt-default-with-fc.yaml +110 -0
  172. package/builtins/ja/workflows/takt-default.yaml +9 -3
  173. package/builtins/ja/workflows/terraform.yaml +29 -1
  174. package/builtins/skill/references/yaml-schema.md +4 -0
  175. package/builtins/skill-codex/references/yaml-schema.md +4 -0
  176. package/dist/app/cli/routing-inputs.d.ts +1 -0
  177. package/dist/app/cli/routing-inputs.d.ts.map +1 -1
  178. package/dist/app/cli/routing-inputs.js +5 -2
  179. package/dist/app/cli/routing-inputs.js.map +1 -1
  180. package/dist/app/cli/routing.d.ts.map +1 -1
  181. package/dist/app/cli/routing.js +14 -0
  182. package/dist/app/cli/routing.js.map +1 -1
  183. package/dist/commands/repertoire/add.d.ts.map +1 -1
  184. package/dist/commands/repertoire/add.js +45 -4
  185. package/dist/commands/repertoire/add.js.map +1 -1
  186. package/dist/commands/repertoire/remove.d.ts.map +1 -1
  187. package/dist/commands/repertoire/remove.js +19 -3
  188. package/dist/commands/repertoire/remove.js.map +1 -1
  189. package/dist/core/models/config-schemas.d.ts +771 -0
  190. package/dist/core/models/config-schemas.d.ts.map +1 -1
  191. package/dist/core/models/config-schemas.js +6 -0
  192. package/dist/core/models/config-schemas.js.map +1 -1
  193. package/dist/core/models/config-types.d.ts +8 -0
  194. package/dist/core/models/config-types.d.ts.map +1 -1
  195. package/dist/core/models/finding-schemas.d.ts +447 -0
  196. package/dist/core/models/finding-schemas.d.ts.map +1 -0
  197. package/dist/core/models/finding-schemas.js +234 -0
  198. package/dist/core/models/finding-schemas.js.map +1 -0
  199. package/dist/core/models/finding-types.d.ts +146 -0
  200. package/dist/core/models/finding-types.d.ts.map +1 -0
  201. package/dist/core/models/finding-types.js +5 -0
  202. package/dist/core/models/finding-types.js.map +1 -0
  203. package/dist/core/models/index.d.ts +1 -1
  204. package/dist/core/models/index.d.ts.map +1 -1
  205. package/dist/core/models/index.js.map +1 -1
  206. package/dist/core/models/types.d.ts +2 -2
  207. package/dist/core/models/types.d.ts.map +1 -1
  208. package/dist/core/models/workflow-condition-expression.d.ts +3 -0
  209. package/dist/core/models/workflow-condition-expression.d.ts.map +1 -1
  210. package/dist/core/models/workflow-condition-expression.js +223 -4
  211. package/dist/core/models/workflow-condition-expression.js.map +1 -1
  212. package/dist/core/models/workflow-schemas.d.ts +58 -36
  213. package/dist/core/models/workflow-schemas.d.ts.map +1 -1
  214. package/dist/core/models/workflow-schemas.js +11 -6
  215. package/dist/core/models/workflow-schemas.js.map +1 -1
  216. package/dist/core/models/workflow-system-schemas.d.ts.map +1 -1
  217. package/dist/core/models/workflow-system-schemas.js +1 -0
  218. package/dist/core/models/workflow-system-schemas.js.map +1 -1
  219. package/dist/core/models/workflow-types.d.ts +13 -0
  220. package/dist/core/models/workflow-types.d.ts.map +1 -1
  221. package/dist/core/models/workflow-types.js.map +1 -1
  222. package/dist/core/workflow/engine/OptionsBuilder.d.ts +4 -1
  223. package/dist/core/workflow/engine/OptionsBuilder.d.ts.map +1 -1
  224. package/dist/core/workflow/engine/OptionsBuilder.js +21 -8
  225. package/dist/core/workflow/engine/OptionsBuilder.js.map +1 -1
  226. package/dist/core/workflow/engine/ParallelRunner.d.ts +14 -0
  227. package/dist/core/workflow/engine/ParallelRunner.d.ts.map +1 -1
  228. package/dist/core/workflow/engine/ParallelRunner.js +152 -18
  229. package/dist/core/workflow/engine/ParallelRunner.js.map +1 -1
  230. package/dist/core/workflow/engine/StepExecutor.d.ts +4 -2
  231. package/dist/core/workflow/engine/StepExecutor.d.ts.map +1 -1
  232. package/dist/core/workflow/engine/StepExecutor.js +10 -3
  233. package/dist/core/workflow/engine/StepExecutor.js.map +1 -1
  234. package/dist/core/workflow/engine/WorkflowCallExecutor.d.ts +3 -1
  235. package/dist/core/workflow/engine/WorkflowCallExecutor.d.ts.map +1 -1
  236. package/dist/core/workflow/engine/WorkflowCallExecutor.js +23 -5
  237. package/dist/core/workflow/engine/WorkflowCallExecutor.js.map +1 -1
  238. package/dist/core/workflow/engine/WorkflowCallRunner.d.ts +1 -0
  239. package/dist/core/workflow/engine/WorkflowCallRunner.d.ts.map +1 -1
  240. package/dist/core/workflow/engine/WorkflowCallRunner.js +5 -1
  241. package/dist/core/workflow/engine/WorkflowCallRunner.js.map +1 -1
  242. package/dist/core/workflow/engine/WorkflowEngine.d.ts +7 -1
  243. package/dist/core/workflow/engine/WorkflowEngine.d.ts.map +1 -1
  244. package/dist/core/workflow/engine/WorkflowEngine.js +63 -9
  245. package/dist/core/workflow/engine/WorkflowEngine.js.map +1 -1
  246. package/dist/core/workflow/engine/WorkflowEngineSetup.d.ts +3 -0
  247. package/dist/core/workflow/engine/WorkflowEngineSetup.d.ts.map +1 -1
  248. package/dist/core/workflow/engine/WorkflowEngineSetup.js +27 -1
  249. package/dist/core/workflow/engine/WorkflowEngineSetup.js.map +1 -1
  250. package/dist/core/workflow/engine/WorkflowRunLoop.d.ts +10 -7
  251. package/dist/core/workflow/engine/WorkflowRunLoop.d.ts.map +1 -1
  252. package/dist/core/workflow/engine/WorkflowRunLoop.js +63 -33
  253. package/dist/core/workflow/engine/WorkflowRunLoop.js.map +1 -1
  254. package/dist/core/workflow/engine/WorkflowValidator.d.ts.map +1 -1
  255. package/dist/core/workflow/engine/WorkflowValidator.js +78 -1
  256. package/dist/core/workflow/engine/WorkflowValidator.js.map +1 -1
  257. package/dist/core/workflow/engine/team-leader-common.d.ts.map +1 -1
  258. package/dist/core/workflow/engine/team-leader-common.js +11 -0
  259. package/dist/core/workflow/engine/team-leader-common.js.map +1 -1
  260. package/dist/core/workflow/engine/team-leader-part-runner.d.ts.map +1 -1
  261. package/dist/core/workflow/engine/team-leader-part-runner.js +22 -1
  262. package/dist/core/workflow/engine/team-leader-part-runner.js.map +1 -1
  263. package/dist/core/workflow/evaluation/AggregateEvaluator.d.ts.map +1 -1
  264. package/dist/core/workflow/evaluation/AggregateEvaluator.js +7 -4
  265. package/dist/core/workflow/evaluation/AggregateEvaluator.js.map +1 -1
  266. package/dist/core/workflow/evaluation/RuleEvaluator.d.ts +1 -0
  267. package/dist/core/workflow/evaluation/RuleEvaluator.d.ts.map +1 -1
  268. package/dist/core/workflow/evaluation/RuleEvaluator.js +15 -1
  269. package/dist/core/workflow/evaluation/RuleEvaluator.js.map +1 -1
  270. package/dist/core/workflow/evaluation/rule-utils.d.ts +5 -1
  271. package/dist/core/workflow/evaluation/rule-utils.d.ts.map +1 -1
  272. package/dist/core/workflow/evaluation/rule-utils.js +34 -1
  273. package/dist/core/workflow/evaluation/rule-utils.js.map +1 -1
  274. package/dist/core/workflow/evaluation/when-evaluator.d.ts.map +1 -1
  275. package/dist/core/workflow/evaluation/when-evaluator.js +4 -1
  276. package/dist/core/workflow/evaluation/when-evaluator.js.map +1 -1
  277. package/dist/core/workflow/findings/context.d.ts +5 -0
  278. package/dist/core/workflow/findings/context.d.ts.map +1 -0
  279. package/dist/core/workflow/findings/context.js +82 -0
  280. package/dist/core/workflow/findings/context.js.map +1 -0
  281. package/dist/core/workflow/findings/ledger-validation.d.ts +3 -0
  282. package/dist/core/workflow/findings/ledger-validation.d.ts.map +1 -0
  283. package/dist/core/workflow/findings/ledger-validation.js +26 -0
  284. package/dist/core/workflow/findings/ledger-validation.js.map +1 -0
  285. package/dist/core/workflow/findings/manager-output-validation.d.ts +15 -0
  286. package/dist/core/workflow/findings/manager-output-validation.d.ts.map +1 -0
  287. package/dist/core/workflow/findings/manager-output-validation.js +221 -0
  288. package/dist/core/workflow/findings/manager-output-validation.js.map +1 -0
  289. package/dist/core/workflow/findings/manager-runner.d.ts +89 -0
  290. package/dist/core/workflow/findings/manager-runner.d.ts.map +1 -0
  291. package/dist/core/workflow/findings/manager-runner.js +291 -0
  292. package/dist/core/workflow/findings/manager-runner.js.map +1 -0
  293. package/dist/core/workflow/findings/reconciler.d.ts +10 -0
  294. package/dist/core/workflow/findings/reconciler.d.ts.map +1 -0
  295. package/dist/core/workflow/findings/reconciler.js +413 -0
  296. package/dist/core/workflow/findings/reconciler.js.map +1 -0
  297. package/dist/core/workflow/findings/schemas.d.ts +2 -0
  298. package/dist/core/workflow/findings/schemas.d.ts.map +1 -0
  299. package/dist/core/workflow/findings/schemas.js +2 -0
  300. package/dist/core/workflow/findings/schemas.js.map +1 -0
  301. package/dist/core/workflow/findings/store.d.ts +33 -0
  302. package/dist/core/workflow/findings/store.d.ts.map +1 -0
  303. package/dist/core/workflow/findings/store.js +169 -0
  304. package/dist/core/workflow/findings/store.js.map +1 -0
  305. package/dist/core/workflow/findings/types.d.ts +3 -0
  306. package/dist/core/workflow/findings/types.d.ts.map +1 -0
  307. package/dist/core/workflow/findings/types.js +2 -0
  308. package/dist/core/workflow/findings/types.js.map +1 -0
  309. package/dist/core/workflow/instruction/InstructionBuilder.d.ts +1 -0
  310. package/dist/core/workflow/instruction/InstructionBuilder.d.ts.map +1 -1
  311. package/dist/core/workflow/instruction/InstructionBuilder.js +35 -11
  312. package/dist/core/workflow/instruction/InstructionBuilder.js.map +1 -1
  313. package/dist/core/workflow/instruction/ReportInstructionBuilder.d.ts +4 -0
  314. package/dist/core/workflow/instruction/ReportInstructionBuilder.d.ts.map +1 -1
  315. package/dist/core/workflow/instruction/ReportInstructionBuilder.js +22 -1
  316. package/dist/core/workflow/instruction/ReportInstructionBuilder.js.map +1 -1
  317. package/dist/core/workflow/instruction/fenced-json.d.ts +2 -0
  318. package/dist/core/workflow/instruction/fenced-json.d.ts.map +1 -0
  319. package/dist/core/workflow/instruction/fenced-json.js +11 -0
  320. package/dist/core/workflow/instruction/fenced-json.js.map +1 -0
  321. package/dist/core/workflow/instruction/instruction-context.d.ts +8 -0
  322. package/dist/core/workflow/instruction/instruction-context.d.ts.map +1 -1
  323. package/dist/core/workflow/instruction/instruction-context.js.map +1 -1
  324. package/dist/core/workflow/observability/traceDiscovery.d.ts +33 -0
  325. package/dist/core/workflow/observability/traceDiscovery.d.ts.map +1 -0
  326. package/dist/core/workflow/observability/traceDiscovery.js +104 -0
  327. package/dist/core/workflow/observability/traceDiscovery.js.map +1 -0
  328. package/dist/core/workflow/observability/workflowSpans.d.ts +5 -2
  329. package/dist/core/workflow/observability/workflowSpans.d.ts.map +1 -1
  330. package/dist/core/workflow/observability/workflowSpans.js +33 -4
  331. package/dist/core/workflow/observability/workflowSpans.js.map +1 -1
  332. package/dist/core/workflow/phase-runner.d.ts +2 -0
  333. package/dist/core/workflow/phase-runner.d.ts.map +1 -1
  334. package/dist/core/workflow/phase-runner.js.map +1 -1
  335. package/dist/core/workflow/provider-options-trace.d.ts +3 -2
  336. package/dist/core/workflow/provider-options-trace.d.ts.map +1 -1
  337. package/dist/core/workflow/provider-resolution.d.ts +11 -3
  338. package/dist/core/workflow/provider-resolution.d.ts.map +1 -1
  339. package/dist/core/workflow/provider-resolution.js +68 -2
  340. package/dist/core/workflow/provider-resolution.js.map +1 -1
  341. package/dist/core/workflow/report-phase-runner.d.ts.map +1 -1
  342. package/dist/core/workflow/report-phase-runner.js +59 -44
  343. package/dist/core/workflow/report-phase-runner.js.map +1 -1
  344. package/dist/core/workflow/report-writer.d.ts +2 -0
  345. package/dist/core/workflow/report-writer.d.ts.map +1 -0
  346. package/dist/core/workflow/report-writer.js +42 -0
  347. package/dist/core/workflow/report-writer.js.map +1 -0
  348. package/dist/core/workflow/run/run-meta.d.ts +5 -0
  349. package/dist/core/workflow/run/run-meta.d.ts.map +1 -1
  350. package/dist/core/workflow/run/run-meta.js.map +1 -1
  351. package/dist/core/workflow/state/workflow-state-access.d.ts +2 -2
  352. package/dist/core/workflow/state/workflow-state-access.d.ts.map +1 -1
  353. package/dist/core/workflow/state/workflow-state-access.js +17 -2
  354. package/dist/core/workflow/state/workflow-state-access.js.map +1 -1
  355. package/dist/core/workflow/types.d.ts +25 -1
  356. package/dist/core/workflow/types.d.ts.map +1 -1
  357. package/dist/features/analytics/events.d.ts +1 -1
  358. package/dist/features/analytics/events.d.ts.map +1 -1
  359. package/dist/features/analytics/index.d.ts +1 -1
  360. package/dist/features/analytics/index.d.ts.map +1 -1
  361. package/dist/features/analytics/index.js +1 -1
  362. package/dist/features/analytics/index.js.map +1 -1
  363. package/dist/features/analytics/report-parser.d.ts +5 -3
  364. package/dist/features/analytics/report-parser.d.ts.map +1 -1
  365. package/dist/features/analytics/report-parser.js +42 -7
  366. package/dist/features/analytics/report-parser.js.map +1 -1
  367. package/dist/features/pipeline/execute.d.ts.map +1 -1
  368. package/dist/features/pipeline/execute.js +2 -3
  369. package/dist/features/pipeline/execute.js.map +1 -1
  370. package/dist/features/pipeline/steps.d.ts +4 -3
  371. package/dist/features/pipeline/steps.d.ts.map +1 -1
  372. package/dist/features/pipeline/steps.js +46 -8
  373. package/dist/features/pipeline/steps.js.map +1 -1
  374. package/dist/features/repertoire/file-filter.d.ts +3 -3
  375. package/dist/features/repertoire/file-filter.d.ts.map +1 -1
  376. package/dist/features/repertoire/file-filter.js +3 -3
  377. package/dist/features/repertoire/file-filter.js.map +1 -1
  378. package/dist/features/repertoire/pack-summary.d.ts +21 -7
  379. package/dist/features/repertoire/pack-summary.d.ts.map +1 -1
  380. package/dist/features/repertoire/pack-summary.js +156 -24
  381. package/dist/features/repertoire/pack-summary.js.map +1 -1
  382. package/dist/features/repertoire/remove.d.ts +5 -2
  383. package/dist/features/repertoire/remove.d.ts.map +1 -1
  384. package/dist/features/repertoire/remove.js +9 -2
  385. package/dist/features/repertoire/remove.js.map +1 -1
  386. package/dist/features/repertoire/takt-repertoire-config.d.ts +3 -3
  387. package/dist/features/repertoire/takt-repertoire-config.d.ts.map +1 -1
  388. package/dist/features/repertoire/takt-repertoire-config.js +31 -16
  389. package/dist/features/repertoire/takt-repertoire-config.js.map +1 -1
  390. package/dist/features/tasks/add/index.d.ts +1 -0
  391. package/dist/features/tasks/add/index.d.ts.map +1 -1
  392. package/dist/features/tasks/add/index.js +1 -0
  393. package/dist/features/tasks/add/index.js.map +1 -1
  394. package/dist/features/tasks/execute/analyticsEmitter.d.ts +4 -1
  395. package/dist/features/tasks/execute/analyticsEmitter.d.ts.map +1 -1
  396. package/dist/features/tasks/execute/analyticsEmitter.js +30 -3
  397. package/dist/features/tasks/execute/analyticsEmitter.js.map +1 -1
  398. package/dist/features/tasks/execute/runAllTasks.d.ts.map +1 -1
  399. package/dist/features/tasks/execute/runAllTasks.js +2 -2
  400. package/dist/features/tasks/execute/runAllTasks.js.map +1 -1
  401. package/dist/features/tasks/execute/runMeta.d.ts +5 -1
  402. package/dist/features/tasks/execute/runMeta.d.ts.map +1 -1
  403. package/dist/features/tasks/execute/runMeta.js +6 -1
  404. package/dist/features/tasks/execute/runMeta.js.map +1 -1
  405. package/dist/features/tasks/execute/selectAndExecute.d.ts.map +1 -1
  406. package/dist/features/tasks/execute/selectAndExecute.js +12 -0
  407. package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
  408. package/dist/features/tasks/execute/slackSummaryAdapter.d.ts +0 -1
  409. package/dist/features/tasks/execute/slackSummaryAdapter.d.ts.map +1 -1
  410. package/dist/features/tasks/execute/slackSummaryAdapter.js +0 -5
  411. package/dist/features/tasks/execute/slackSummaryAdapter.js.map +1 -1
  412. package/dist/features/tasks/execute/taskExecution.d.ts.map +1 -1
  413. package/dist/features/tasks/execute/taskExecution.js +9 -0
  414. package/dist/features/tasks/execute/taskExecution.js.map +1 -1
  415. package/dist/features/tasks/execute/taskWorkflowExecution.d.ts.map +1 -1
  416. package/dist/features/tasks/execute/taskWorkflowExecution.js +20 -1
  417. package/dist/features/tasks/execute/taskWorkflowExecution.js.map +1 -1
  418. package/dist/features/tasks/execute/traceTaskMetadata.d.ts +20 -0
  419. package/dist/features/tasks/execute/traceTaskMetadata.d.ts.map +1 -0
  420. package/dist/features/tasks/execute/traceTaskMetadata.js +54 -0
  421. package/dist/features/tasks/execute/traceTaskMetadata.js.map +1 -0
  422. package/dist/features/tasks/execute/types.d.ts +13 -1
  423. package/dist/features/tasks/execute/types.d.ts.map +1 -1
  424. package/dist/features/tasks/execute/workflowExecution.d.ts.map +1 -1
  425. package/dist/features/tasks/execute/workflowExecution.js +14 -1
  426. package/dist/features/tasks/execute/workflowExecution.js.map +1 -1
  427. package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts +2 -0
  428. package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts.map +1 -1
  429. package/dist/features/tasks/execute/workflowExecutionBootstrap.js +16 -2
  430. package/dist/features/tasks/execute/workflowExecutionBootstrap.js.map +1 -1
  431. package/dist/features/tasks/execute/workflowExecutionEvents.d.ts +2 -0
  432. package/dist/features/tasks/execute/workflowExecutionEvents.d.ts.map +1 -1
  433. package/dist/features/tasks/execute/workflowExecutionEvents.js +10 -2
  434. package/dist/features/tasks/execute/workflowExecutionEvents.js.map +1 -1
  435. package/dist/features/tasks/execute/workflowExecutionReporting.d.ts +3 -2
  436. package/dist/features/tasks/execute/workflowExecutionReporting.d.ts.map +1 -1
  437. package/dist/features/tasks/execute/workflowExecutionReporting.js +14 -2
  438. package/dist/features/tasks/execute/workflowExecutionReporting.js.map +1 -1
  439. package/dist/features/tasks/index.d.ts +1 -1
  440. package/dist/features/tasks/index.d.ts.map +1 -1
  441. package/dist/features/tasks/index.js.map +1 -1
  442. package/dist/features/tasks/resume/index.d.ts.map +1 -1
  443. package/dist/features/tasks/resume/index.js +5 -0
  444. package/dist/features/tasks/resume/index.js.map +1 -1
  445. package/dist/infra/config/configNormalizers.d.ts +18 -7
  446. package/dist/infra/config/configNormalizers.d.ts.map +1 -1
  447. package/dist/infra/config/configNormalizers.js +46 -13
  448. package/dist/infra/config/configNormalizers.js.map +1 -1
  449. package/dist/infra/config/env/global-current-env-specs.d.ts.map +1 -1
  450. package/dist/infra/config/env/global-current-env-specs.js +1 -0
  451. package/dist/infra/config/env/global-current-env-specs.js.map +1 -1
  452. package/dist/infra/config/env/project-current-env-specs.d.ts.map +1 -1
  453. package/dist/infra/config/env/project-current-env-specs.js +1 -0
  454. package/dist/infra/config/env/project-current-env-specs.js.map +1 -1
  455. package/dist/infra/config/global/globalConfigCore.d.ts.map +1 -1
  456. package/dist/infra/config/global/globalConfigCore.js +2 -1
  457. package/dist/infra/config/global/globalConfigCore.js.map +1 -1
  458. package/dist/infra/config/global/globalConfigSerializer.d.ts.map +1 -1
  459. package/dist/infra/config/global/globalConfigSerializer.js +5 -1
  460. package/dist/infra/config/global/globalConfigSerializer.js.map +1 -1
  461. package/dist/infra/config/loaders/namedResourceResolver.d.ts +18 -0
  462. package/dist/infra/config/loaders/namedResourceResolver.d.ts.map +1 -0
  463. package/dist/infra/config/loaders/namedResourceResolver.js +49 -0
  464. package/dist/infra/config/loaders/namedResourceResolver.js.map +1 -0
  465. package/dist/infra/config/loaders/providerOptionsLookupDirectories.d.ts +13 -0
  466. package/dist/infra/config/loaders/providerOptionsLookupDirectories.d.ts.map +1 -0
  467. package/dist/infra/config/loaders/providerOptionsLookupDirectories.js +61 -0
  468. package/dist/infra/config/loaders/providerOptionsLookupDirectories.js.map +1 -0
  469. package/dist/infra/config/loaders/workflowParser.d.ts.map +1 -1
  470. package/dist/infra/config/loaders/workflowParser.js +64 -3
  471. package/dist/infra/config/loaders/workflowParser.js.map +1 -1
  472. package/dist/infra/config/loaders/workflowPreview.d.ts.map +1 -1
  473. package/dist/infra/config/loaders/workflowPreview.js +8 -3
  474. package/dist/infra/config/loaders/workflowPreview.js.map +1 -1
  475. package/dist/infra/config/loaders/workflowProviderOptionsResolver.d.ts +20 -2
  476. package/dist/infra/config/loaders/workflowProviderOptionsResolver.d.ts.map +1 -1
  477. package/dist/infra/config/loaders/workflowProviderOptionsResolver.js +115 -33
  478. package/dist/infra/config/loaders/workflowProviderOptionsResolver.js.map +1 -1
  479. package/dist/infra/config/loaders/workflowRuleNormalizer.d.ts.map +1 -1
  480. package/dist/infra/config/loaders/workflowRuleNormalizer.js +5 -16
  481. package/dist/infra/config/loaders/workflowRuleNormalizer.js.map +1 -1
  482. package/dist/infra/config/loaders/workflowStepNormalizer.d.ts +3 -2
  483. package/dist/infra/config/loaders/workflowStepNormalizer.d.ts.map +1 -1
  484. package/dist/infra/config/loaders/workflowStepNormalizer.js +33 -12
  485. package/dist/infra/config/loaders/workflowStepNormalizer.js.map +1 -1
  486. package/dist/infra/config/paths.d.ts +4 -0
  487. package/dist/infra/config/paths.d.ts.map +1 -1
  488. package/dist/infra/config/paths.js +13 -0
  489. package/dist/infra/config/paths.js.map +1 -1
  490. package/dist/infra/config/project/projectConfig.d.ts.map +1 -1
  491. package/dist/infra/config/project/projectConfig.js +12 -3
  492. package/dist/infra/config/project/projectConfig.js.map +1 -1
  493. package/dist/infra/config/providerOptions.d.ts +19 -7
  494. package/dist/infra/config/providerOptions.d.ts.map +1 -1
  495. package/dist/infra/config/providerOptions.js +56 -10
  496. package/dist/infra/config/providerOptions.js.map +1 -1
  497. package/dist/infra/config/traced/tracedConfigSchema.d.ts.map +1 -1
  498. package/dist/infra/config/traced/tracedConfigSchema.js +8 -0
  499. package/dist/infra/config/traced/tracedConfigSchema.js.map +1 -1
  500. package/dist/infra/cursor/client.d.ts.map +1 -1
  501. package/dist/infra/cursor/client.js +113 -47
  502. package/dist/infra/cursor/client.js.map +1 -1
  503. package/dist/infra/opencode/client.d.ts.map +1 -1
  504. package/dist/infra/opencode/client.js +21 -0
  505. package/dist/infra/opencode/client.js.map +1 -1
  506. package/dist/infra/opencode/unavailable-tool-loop.d.ts +7 -0
  507. package/dist/infra/opencode/unavailable-tool-loop.d.ts.map +1 -0
  508. package/dist/infra/opencode/unavailable-tool-loop.js +33 -0
  509. package/dist/infra/opencode/unavailable-tool-loop.js.map +1 -0
  510. package/dist/infra/providers/provider-capabilities.d.ts.map +1 -1
  511. package/dist/infra/providers/provider-capabilities.js +0 -1
  512. package/dist/infra/providers/provider-capabilities.js.map +1 -1
  513. package/dist/infra/task/clone-base-branch.d.ts +1 -0
  514. package/dist/infra/task/clone-base-branch.d.ts.map +1 -1
  515. package/dist/infra/task/clone-base-branch.js +22 -14
  516. package/dist/infra/task/clone-base-branch.js.map +1 -1
  517. package/dist/infra/task/clone.d.ts +2 -0
  518. package/dist/infra/task/clone.d.ts.map +1 -1
  519. package/dist/infra/task/clone.js +7 -1
  520. package/dist/infra/task/clone.js.map +1 -1
  521. package/dist/infra/task/index.d.ts +1 -1
  522. package/dist/infra/task/index.d.ts.map +1 -1
  523. package/dist/infra/task/index.js +1 -1
  524. package/dist/infra/task/index.js.map +1 -1
  525. package/dist/infra/task/mapper.d.ts.map +1 -1
  526. package/dist/infra/task/mapper.js +1 -0
  527. package/dist/infra/task/mapper.js.map +1 -1
  528. package/dist/infra/task/taskExecutionSchemas.d.ts +3 -3
  529. package/dist/infra/task/taskRecordSchemas.d.ts +2 -2
  530. package/dist/infra/task/types.d.ts +1 -0
  531. package/dist/infra/task/types.d.ts.map +1 -1
  532. package/dist/shared/prompts/en/perform_phase2_message.md +1 -0
  533. package/dist/shared/prompts/ja/perform_phase2_message.md +1 -0
  534. package/dist/shared/ui/StreamDisplay.js +1 -1
  535. package/dist/shared/ui/StreamDisplay.js.map +1 -1
  536. package/dist/shared/utils/index.d.ts +1 -0
  537. package/dist/shared/utils/index.d.ts.map +1 -1
  538. package/dist/shared/utils/index.js +1 -0
  539. package/dist/shared/utils/index.js.map +1 -1
  540. package/dist/shared/utils/runId.d.ts +2 -0
  541. package/dist/shared/utils/runId.d.ts.map +1 -0
  542. package/dist/shared/utils/runId.js +18 -0
  543. package/dist/shared/utils/runId.js.map +1 -0
  544. package/package.json +24 -12
  545. /package/builtins/en/{workflows/provider-options → provider-options}/edit.yaml +0 -0
  546. /package/builtins/en/{workflows/provider-options → provider-options}/review-files.yaml +0 -0
  547. /package/builtins/en/{workflows/provider-options → provider-options}/review-readonly.yaml +0 -0
  548. /package/builtins/en/{workflows/provider-options → provider-options}/review-web.yaml +0 -0
  549. /package/builtins/ja/{workflows/provider-options → provider-options}/edit.yaml +0 -0
  550. /package/builtins/ja/{workflows/provider-options → provider-options}/review-files.yaml +0 -0
  551. /package/builtins/ja/{workflows/provider-options → provider-options}/review-readonly.yaml +0 -0
  552. /package/builtins/ja/{workflows/provider-options → provider-options}/review-web.yaml +0 -0
@@ -4,8 +4,9 @@
4
4
  import { WorkflowConfigRawSchema } from '../../../core/models/index.js';
5
5
  import { resolveLoopMonitorJudgeProviderModel, resolveStepProviderModel } from '../../../core/workflow/provider-resolution.js';
6
6
  import { validateProviderModelCompatibility } from '../../../core/workflow/provider-model-compatibility.js';
7
+ import { isFindingsCondition } from '../../../core/workflow/evaluation/rule-utils.js';
7
8
  import { normalizeRateLimitFallback, normalizeRuntime } from '../configNormalizers.js';
8
- import { resolveSectionMapWithSource, unwrapResolvedSectionMap, } from './resource-resolver.js';
9
+ import { extractPersonaDisplayName, resolvePersona, resolveRefToContent, resolveSectionMapWithSource, unwrapResolvedSectionMap, } from './resource-resolver.js';
9
10
  import { validateWorkflowRuntimePrepare, validateWorkflowCommandGates, } from './workflowNormalizationPolicies.js';
10
11
  import { normalizeLoopMonitors } from './workflowLoopMonitorNormalizer.js';
11
12
  import { normalizeProviderReference, normalizeStepFromRaw } from './workflowStepNormalizer.js';
@@ -31,6 +32,63 @@ function normalizeSubworkflowConfig(raw) {
31
32
  : undefined,
32
33
  };
33
34
  }
35
+ function normalizeFindingContractConfig(raw, workflowDir, sections, context) {
36
+ if (!raw) {
37
+ return undefined;
38
+ }
39
+ const { personaSpec, personaPath } = resolvePersona(raw.manager.persona, sections, workflowDir, context);
40
+ const instruction = resolveRefToContent(raw.manager.instruction, sections.resolvedInstructionsWithSource ?? sections.resolvedInstructions, workflowDir, 'instructions', context);
41
+ const outputContract = resolveRefToContent(raw.manager.output_contract, sections.resolvedReportFormatsWithSource ?? sections.resolvedReportFormats, workflowDir, 'output-contracts', context);
42
+ if (!personaSpec) {
43
+ throw new Error('Configuration error: finding_contract.manager.persona is required');
44
+ }
45
+ if (!instruction) {
46
+ throw new Error(`Configuration error: failed to resolve finding_contract.manager.instruction "${raw.manager.instruction}"`);
47
+ }
48
+ if (!outputContract) {
49
+ throw new Error(`Configuration error: failed to resolve finding_contract.manager.output_contract "${raw.manager.output_contract}"`);
50
+ }
51
+ return {
52
+ ledgerPath: raw.ledger_path,
53
+ rawFindingsPath: raw.raw_findings_path,
54
+ manager: {
55
+ persona: personaSpec,
56
+ personaDisplayName: personaPath ? extractPersonaDisplayName(personaPath) : personaSpec,
57
+ ...(personaPath ? { personaPath } : {}),
58
+ instruction,
59
+ outputContract,
60
+ },
61
+ };
62
+ }
63
+ function validateFindingsRulesRequireContract(steps, loopMonitors, findingContract) {
64
+ if (findingContract) {
65
+ return;
66
+ }
67
+ for (const step of steps) {
68
+ for (const rule of step.rules ?? []) {
69
+ if (rule.isAiCondition || !isFindingsCondition(rule.condition)) {
70
+ continue;
71
+ }
72
+ throw new Error(`Configuration error: step "${step.name}" uses findings.* rule but finding_contract is not configured`);
73
+ }
74
+ for (const subStep of step.parallel ?? []) {
75
+ for (const rule of subStep.rules ?? []) {
76
+ if (rule.isAiCondition || !isFindingsCondition(rule.condition)) {
77
+ continue;
78
+ }
79
+ throw new Error(`Configuration error: parallel sub-step "${subStep.name}" in step "${step.name}" uses findings.* rule but finding_contract is not configured`);
80
+ }
81
+ }
82
+ }
83
+ for (const monitor of loopMonitors ?? []) {
84
+ for (const rule of monitor.judge.rules) {
85
+ if (!isFindingsCondition(rule.condition)) {
86
+ continue;
87
+ }
88
+ throw new Error('Configuration error: loop_monitor judge uses findings.* rule but finding_contract is not configured');
89
+ }
90
+ }
91
+ }
34
92
  export function normalizeWorkflowConfig(raw, workflowDir, context, projectOverrides, globalOverrides, workflowRuntimePreparePolicy, workflowArpeggioPolicy, workflowMcpServersPolicy, callableArgs, callableArgPolicy, callableArgMode = 'runtime', workflowCommandGatesPolicy) {
35
93
  const parsedRaw = WorkflowConfigRawSchema.parse(raw);
36
94
  const callableDiscovery = callableArgMode === 'discovery'
@@ -60,8 +118,8 @@ export function normalizeWorkflowConfig(raw, workflowDir, context, projectOverri
60
118
  const workflowRuntime = normalizeRuntime(parsed.workflow_config?.runtime);
61
119
  validateWorkflowRuntimePrepare(workflowRuntime, workflowRuntimePreparePolicy);
62
120
  validateWorkflowCommandGates(parsed.steps, workflowCommandGatesPolicy);
63
- const normalizedWorkflowProvider = normalizeProviderReference(parsed.workflow_config?.provider, parsed.workflow_config?.model, parsed.workflow_config?.provider_options, workflowDir);
64
- const steps = parsed.steps.map((step) => normalizeStepFromRaw(step, workflowDir, sections, parsed.schemas, normalizedWorkflowProvider.provider, normalizedWorkflowProvider.model, normalizedWorkflowProvider.providerOptions, undefined, context, projectOverrides, globalOverrides, workflowArpeggioPolicy, workflowMcpServersPolicy));
121
+ const normalizedWorkflowProvider = normalizeProviderReference(parsed.workflow_config?.provider, parsed.workflow_config?.model, parsed.workflow_config?.provider_options, workflowDir, context);
122
+ const steps = parsed.steps.map((step) => normalizeStepFromRaw(step, workflowDir, sections, parsed.schemas, normalizedWorkflowProvider.provider, normalizedWorkflowProvider.model, undefined, normalizedWorkflowProvider.providerOptions, undefined, true, true, context, projectOverrides, globalOverrides, workflowArpeggioPolicy, workflowMcpServersPolicy));
65
123
  const loopMonitors = normalizeLoopMonitors(parsed.loop_monitors, workflowDir, sections, context);
66
124
  for (const monitor of loopMonitors ?? []) {
67
125
  const triggeringStep = steps.find((step) => step.name === monitor.cycle[monitor.cycle.length - 1]);
@@ -83,10 +141,13 @@ export function normalizeWorkflowConfig(raw, workflowDir, context, projectOverri
83
141
  modelFieldName: 'Configuration error: loop_monitors.judge.model',
84
142
  });
85
143
  }
144
+ const findingContract = normalizeFindingContractConfig(parsed.finding_contract, workflowDir, sections, context);
145
+ validateFindingsRulesRequireContract(steps, loopMonitors, findingContract);
86
146
  return {
87
147
  name: parsed.name,
88
148
  description: parsed.description,
89
149
  subworkflow: normalizeSubworkflowConfig(parsed.subworkflow),
150
+ findingContract,
90
151
  schemas: parsed.schemas,
91
152
  provider: normalizedWorkflowProvider.provider,
92
153
  model: normalizedWorkflowProvider.model,
@@ -1 +1 @@
1
- {"version":3,"file":"workflowParser.js","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflowParser.js","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowParser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAQxE,OAAO,EAAE,oCAAoC,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAC/H,OAAO,EAAE,kCAAkC,EAAE,MAAM,wDAAwD,CAAC;AAC5G,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EACL,4BAA4B,GAE7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,uCAAuC,EAAE,MAAM,oCAAoC,CAAC;AAE7F,SAAS,0BAA0B,CACjC,GAAoE;IAEpE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,GAAG,CAAC,MAAM;YAChB,CAAC,CAAC,MAAM,CAAC,WAAW,CAClB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;gBAChD,IAAI;gBACJ;oBACE,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,KAAK,CAAC,UAAU;oBAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC,CACH;YACD,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CACrC,GAAyE,EACzE,WAAmB,EACnB,QAA0B,EAC1B,OAAgC;IAEhC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACzG,MAAM,WAAW,GAAG,mBAAmB,CACrC,GAAG,CAAC,OAAO,CAAC,WAAW,EACvB,QAAQ,CAAC,8BAA8B,IAAI,QAAQ,CAAC,oBAAoB,EACxE,WAAW,EACX,cAAc,EACd,OAAO,CACR,CAAC;IACF,MAAM,cAAc,GAAG,mBAAmB,CACxC,GAAG,CAAC,OAAO,CAAC,eAAe,EAC3B,QAAQ,CAAC,+BAA+B,IAAI,QAAQ,CAAC,qBAAqB,EAC1E,WAAW,EACX,kBAAkB,EAClB,OAAO,CACR,CAAC;IACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,gFAAgF,GAAG,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;IAC9H,CAAC;IACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,oFAAoF,GAAG,CAAC,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC;IACtI,CAAC;IAED,OAAO;QACL,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,eAAe,EAAE,GAAG,CAAC,iBAAiB;QACtC,OAAO,EAAE;YACP,OAAO,EAAE,WAAW;YACpB,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;YACtF,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,WAAW;YACX,cAAc;SACf;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC,CAC3C,KAA8B,EAC9B,YAAsD,EACtD,eAAkD;IAElD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/D,SAAS;YACX,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,IAAI,+DAA+D,CAAC,CAAC;QAC1H,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC1C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/D,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,2CAA2C,OAAO,CAAC,IAAI,cAAc,IAAI,CAAC,IAAI,+DAA+D,CAC9I,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,SAAS;YACX,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qGAAqG,CAAC,CAAC;QACzH,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,GAAY,EACZ,WAAmB,EACnB,OAAgC,EAChC,gBAAoC,EACpC,eAAmC,EACnC,4BAA2D,EAC3D,sBAA+C,EAC/C,wBAAmD,EACnD,YAAgD,EAChD,iBAAmD,EACnD,kBAA2C,SAAS,EACpD,0BAAuD;IAEvD,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,iBAAiB,GAAG,eAAe,KAAK,WAAW;QACvD,CAAC,CAAC,uCAAuC,CAAC,SAAS,CAAC;QACpD,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,4BAA4B,CACzC,iBAAiB,CAAC,GAAG,EACrB;QACE,IAAI,EAAE,iBAAiB,CAAC,YAAY,IAAI,YAAY;QACpD,SAAS,EAAE,iBAAiB;QAC5B,WAAW;QACX,OAAO;KACR,CACF,CAAC;IACF,MAAM,0BAA0B,GAAG,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACzG,MAAM,2BAA2B,GAAG,2BAA2B,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC5G,MAAM,8BAA8B,GAAG,2BAA2B,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IACrH,MAAM,+BAA+B,GAAG,2BAA2B,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC5H,MAAM,QAAQ,GAAqB;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,gBAAgB,EAAE,wBAAwB,CAAC,0BAA0B,CAAC;QACtE,0BAA0B;QAC1B,iBAAiB,EAAE,wBAAwB,CAAC,2BAA2B,CAAC;QACxE,2BAA2B;QAC3B,oBAAoB,EAAE,wBAAwB,CAAC,8BAA8B,CAAC;QAC9E,8BAA8B;QAC9B,qBAAqB,EAAE,wBAAwB,CAAC,+BAA+B,CAAC;QAChF,+BAA+B;KAChC,CAAC;IAEF,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC1E,8BAA8B,CAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC;IAC9E,4BAA4B,CAAC,MAAM,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;IACvE,MAAM,0BAA0B,GAAG,0BAA0B,CAC3D,MAAM,CAAC,eAAe,EAAE,QAAQ,EAChC,MAAM,CAAC,eAAe,EAAE,KAAK,EAC7B,MAAM,CAAC,eAAe,EAAE,gBAAgB,EACxC,WAAW,EACX,OAAO,CACR,CAAC;IACF,MAAM,KAAK,GAAmB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACtD,oBAAoB,CAClB,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,MAAM,CAAC,OAAO,EACd,0BAA0B,CAAC,QAAQ,EACnC,0BAA0B,CAAC,KAAK,EAChC,SAAS,EACT,0BAA0B,CAAC,eAAe,EAC1C,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,wBAAwB,CACzB,CACF,CAAC;IAEF,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjG,KAAK,MAAM,OAAO,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;QACzC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QACD,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;YACtD,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,0BAA0B,CAAC,QAAQ;YAC7C,KAAK,EAAE,0BAA0B,CAAC,KAAK;SACxC,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,oCAAoC,CAAC;YAC7D,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,cAAc;YACd,QAAQ,EAAE,sBAAsB,CAAC,QAAQ;YACzC,KAAK,EAAE,sBAAsB,CAAC,KAAK;SACpC,CAAC,CAAC;QACH,kCAAkC,CAChC,iBAAiB,CAAC,QAAQ,EAC1B,iBAAiB,CAAC,KAAK,EACvB;YACE,cAAc,EAAE,gDAAgD;SACjE,CACF,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,8BAA8B,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChH,oCAAoC,CAAC,KAAK,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IAE3E,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,0BAA0B,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3D,eAAe;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,0BAA0B,CAAC,QAAQ;QAC7C,KAAK,EAAE,0BAA0B,CAAC,KAAK;QACvC,eAAe,EAAE,0BAA0B,CAAC,eAAe;QAC3D,iBAAiB,EAAE,0BAA0B,CAAC,MAAM,CAAC,mBAAmB,CAAC;QACzE,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,QAAQ,CAAC,gBAAgB;QACnC,SAAS,EAAE,QAAQ,CAAC,iBAAiB;QACrC,YAAY,EAAE,QAAQ,CAAC,oBAAoB;QAC3C,aAAa,EAAE,QAAQ,CAAC,qBAAqB;QAC7C,KAAK;QACL,WAAW,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI;QAClD,QAAQ,EAAE,MAAM,CAAC,SAAS;QAC1B,YAAY;QACZ,eAAe,EAAE,MAAM,CAAC,gBAAgB;KACzC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflowPreview.d.ts","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowPreview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,+BAA+B,CAAC;AAoBnG,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAyID,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,SAAa,GACrB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,CAgBA"}
1
+ {"version":3,"file":"workflowPreview.d.ts","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowPreview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,+BAA+B,CAAC;AAqBnG,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AA6ID,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,SAAa,GACrB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,CAgBA"}
@@ -3,7 +3,7 @@ import { assertProviderResolvedForCapabilitySensitiveOptions, resolveAllowedTool
3
3
  import { createLogger, getErrorMessage } from '../../../shared/utils/index.js';
4
4
  import { resolveWorkflowConfigValues } from '../resolveWorkflowConfigValue.js';
5
5
  import { resolveProviderOptionsWithTrace } from '../resolveConfigValue.js';
6
- import { resolveEffectiveProviderOptions, resolvePersonaProviderOptions, } from '../providerOptions.js';
6
+ import { resolveEffectiveProviderOptions, resolveDirectStepProviderOptions, mergeStepProviderOptionsLayers, } from '../providerOptions.js';
7
7
  import { loadPersonaPromptFromPath } from './agentLoader.js';
8
8
  import { loadWorkflowByIdentifier } from './workflowResolver.js';
9
9
  const log = createLogger('workflow-preview');
@@ -32,23 +32,28 @@ function readStepPersona(step, projectCwd) {
32
32
  }
33
33
  }
34
34
  function resolvePreviewProviderResolution(projectCwd) {
35
- const { provider, model, personaProviders, } = resolveWorkflowConfigValues(projectCwd, ['provider', 'model', 'personaProviders']);
35
+ const { provider, model, personaProviders, providerRouting, } = resolveWorkflowConfigValues(projectCwd, ['provider', 'model', 'personaProviders', 'providerRouting']);
36
36
  const { value: providerOptions, source: providerOptionsSource, originResolver: providerOptionsOriginResolver, } = resolveProviderOptionsWithTrace(projectCwd);
37
37
  return {
38
38
  provider,
39
39
  model,
40
40
  personaProviders,
41
+ providerRouting,
41
42
  providerOptions,
42
43
  providerOptionsSource,
43
44
  providerOptionsOriginResolver,
44
45
  };
45
46
  }
46
47
  function resolvePreviewAllowedTools(step, resolution) {
47
- const mergedProviderOptions = resolveEffectiveProviderOptions(resolution.providerOptionsSource, resolution.providerOptionsOriginResolver, resolution.providerOptions, step.providerOptions, resolvePersonaProviderOptions(resolution.personaProviders, step.personaDisplayName));
48
+ const mergedProviderOptions = resolveEffectiveProviderOptions(resolution.providerOptionsSource, resolution.providerOptionsOriginResolver, resolution.providerOptions, resolveDirectStepProviderOptions(step), mergeStepProviderOptionsLayers(step, {
49
+ providerRouting: resolution.providerRouting,
50
+ personaProviders: resolution.personaProviders,
51
+ }));
48
52
  const resolvedProvider = resolveStepProviderModel({
49
53
  step,
50
54
  provider: resolution.provider,
51
55
  model: resolution.model,
56
+ providerRouting: resolution.providerRouting,
52
57
  personaProviders: resolution.personaProviders,
53
58
  }).provider;
54
59
  assertProviderResolvedForCapabilitySensitiveOptions(resolvedProvider, {
@@ -1 +1 @@
1
- {"version":3,"file":"workflowPreview.js","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowPreview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflowPreview.js","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowPreview.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,25 @@
1
1
  import type { StepProviderOptions } from '../../../core/models/workflow-types.js';
2
+ import type { FacetResolutionContext } from './workflowPackageScope.js';
3
+ import { type ScopedProviderOptionsCandidateDirs } from './providerOptionsLookupDirectories.js';
2
4
  type RawWorkflowProviderOptions = Record<string, unknown> & {
3
- $ref?: string;
5
+ extends?: string;
4
6
  };
5
- export declare function resolveWorkflowProviderOptions(raw: RawWorkflowProviderOptions | undefined, workflowDir: string): StepProviderOptions | undefined;
7
+ interface ProviderOptionsResolutionScope {
8
+ context?: FacetResolutionContext;
9
+ candidateDirs?: readonly string[];
10
+ scopedCandidateDirs?: ScopedProviderOptionsCandidateDirs;
11
+ }
12
+ export interface ProviderOptionsFileAccess {
13
+ exists(path: string): boolean;
14
+ readText(path: string): string;
15
+ realpath(path: string): string;
16
+ isSymlink?(path: string): boolean;
17
+ }
18
+ export interface WorkflowProviderOptionsResolutionHost extends ProviderOptionsResolutionScope {
19
+ rootDir: string;
20
+ fileAccess?: ProviderOptionsFileAccess;
21
+ }
22
+ export declare function resolveWorkflowProviderOptions(raw: RawWorkflowProviderOptions | undefined, workflowDir: string, context?: FacetResolutionContext): StepProviderOptions | undefined;
23
+ export declare function resolveWorkflowProviderOptionsWithHost(raw: RawWorkflowProviderOptions | undefined, workflowDir: string, host: WorkflowProviderOptionsResolutionHost): StepProviderOptions | undefined;
6
24
  export {};
7
25
  //# sourceMappingURL=workflowProviderOptionsResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflowProviderOptionsResolver.d.ts","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowProviderOptionsResolver.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAGlF,KAAK,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAsDF,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,0BAA0B,GAAG,SAAS,EAC3C,WAAW,EAAE,MAAM,GAClB,mBAAmB,GAAG,SAAS,CAEjC"}
1
+ {"version":3,"file":"workflowProviderOptionsResolver.d.ts","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowProviderOptionsResolver.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAGlF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAIL,KAAK,kCAAkC,EACxC,MAAM,uCAAuC,CAAC;AAE/C,KAAK,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AASF,UAAU,8BAA8B;IACtC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,mBAAmB,CAAC,EAAE,kCAAkC,CAAC;CAC1D;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,qCAAsC,SAAQ,8BAA8B;IAC3F,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,yBAAyB,CAAC;CACxC;AA+ID,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,0BAA0B,GAAG,SAAS,EAC3C,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,mBAAmB,GAAG,SAAS,CAKjC;AAED,wBAAgB,sCAAsC,CACpD,GAAG,EAAE,0BAA0B,GAAG,SAAS,EAC3C,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,qCAAqC,GAC1C,mBAAmB,GAAG,SAAS,CAajC"}
@@ -1,68 +1,150 @@
1
- import { existsSync, readFileSync, realpathSync } from 'node:fs';
2
- import { dirname, isAbsolute, relative, resolve } from 'node:path';
1
+ import * as fs from 'node:fs';
2
+ import { dirname, isAbsolute, resolve } from 'node:path';
3
+ import { isScopeRef } from 'faceted-prompting';
3
4
  import { parse as parseYaml } from 'yaml';
4
5
  import { z } from 'zod/v4';
5
6
  import { StepProviderOptionsObjectSchema } from '../../../core/models/schema-base.js';
7
+ import { isPathInside } from '../../../shared/utils/index.js';
6
8
  import { mergeProviderOptions, normalizeProviderOptions } from '../providerOptions.js';
9
+ import { buildProviderOptionsLookupDirs, resolveProviderOptionsByName, resolveProviderOptionsScopeRef, } from './providerOptionsLookupDirectories.js';
10
+ const nodeFileAccess = {
11
+ exists: (path) => fs.existsSync(path),
12
+ readText: (path) => fs.readFileSync(path, 'utf-8'),
13
+ realpath: (path) => fs.realpathSync(path),
14
+ isSymlink: (path) => fs.lstatSync(path).isSymbolicLink(),
15
+ };
7
16
  function isRecord(value) {
8
17
  return typeof value === 'object' && value !== null && !Array.isArray(value);
9
18
  }
10
- function removeProviderOptionsRef(raw) {
19
+ function removeProviderOptionsExtends(raw) {
11
20
  const inline = { ...raw };
12
- delete inline.$ref;
21
+ delete inline.extends;
13
22
  return Object.keys(inline).length > 0 ? inline : undefined;
14
23
  }
15
- const ProviderOptionsWithRefSchema = StepProviderOptionsObjectSchema.extend({
16
- $ref: z.string().min(1).optional(),
17
- });
18
- function isPathInsideDirectory(path, directory) {
19
- const relativePath = relative(directory, path);
20
- return relativePath === '' || (!relativePath.startsWith('..') && !isAbsolute(relativePath));
24
+ const ProviderOptionsWithExtendsSchema = StepProviderOptionsObjectSchema.extend({
25
+ extends: z.string().min(1).optional(),
26
+ }).strict();
27
+ function isProviderOptionsExtendsPath(ref) {
28
+ return ref.startsWith('./')
29
+ || ref.startsWith('../')
30
+ || ref.startsWith('/')
31
+ || ref.startsWith('~')
32
+ || ref.includes('/')
33
+ || ref.includes('\\')
34
+ || ref.endsWith('.yaml')
35
+ || ref.endsWith('.yml');
21
36
  }
22
- function resolveProviderOptionsRefPath(ref, currentDir, rootDir) {
37
+ function requireProviderOptionsContext(ref, context) {
38
+ if (!context) {
39
+ throw new Error(`Configuration error: provider_options.extends requires workflow loader context to resolve named resource: ${ref}`);
40
+ }
41
+ return context;
42
+ }
43
+ function resolvePathLikeProviderOptionsExtends(ref, currentDir, rootDir, fileAccess) {
23
44
  if (isAbsolute(ref)) {
24
- throw new Error(`Configuration error: provider_options.$ref must be a relative path inside the workflow directory: ${ref}`);
45
+ throw new Error(`Configuration error: provider_options.extends must be a relative path inside the workflow directory: ${ref}`);
25
46
  }
26
47
  const refPath = resolve(currentDir, ref);
27
48
  const resolvedRootDir = resolve(rootDir);
28
- if (!isPathInsideDirectory(refPath, resolvedRootDir)) {
29
- throw new Error(`Configuration error: provider_options.$ref must stay inside the workflow directory: ${ref}`);
49
+ if (!isPathInside(resolvedRootDir, refPath)) {
50
+ throw new Error(`Configuration error: provider_options.extends must stay inside the workflow directory: ${ref}`);
51
+ }
52
+ if (!fileAccess.exists(refPath)) {
53
+ throw new Error(`Configuration error: provider_options.extends not found: ${ref}`);
30
54
  }
31
- if (!existsSync(refPath)) {
32
- throw new Error(`Configuration error: provider_options.$ref not found: ${ref}`);
55
+ const realRootDir = fileAccess.realpath(rootDir);
56
+ const realRefPath = fileAccess.realpath(refPath);
57
+ if (!isPathInside(realRootDir, realRefPath)) {
58
+ throw new Error(`Configuration error: provider_options.extends must stay inside the workflow directory: ${ref}`);
33
59
  }
34
- const realRootDir = realpathSync(rootDir);
35
- const realRefPath = realpathSync(refPath);
36
- if (!isPathInsideDirectory(realRefPath, realRootDir)) {
37
- throw new Error(`Configuration error: provider_options.$ref must stay inside the workflow directory: ${ref}`);
60
+ return { path: refPath, realPath: realRefPath, kind: 'path' };
61
+ }
62
+ function getProviderOptionsCandidateDirs(scope, ref) {
63
+ if (scope.candidateDirs) {
64
+ return scope.candidateDirs;
38
65
  }
39
- return { path: refPath, realPath: realRefPath };
66
+ const context = requireProviderOptionsContext(ref, scope.context);
67
+ return buildProviderOptionsLookupDirs(context);
68
+ }
69
+ function resolveProviderOptionsByNameExtends(name, candidateDirs, fileAccess) {
70
+ const resolved = resolveProviderOptionsByName(name, candidateDirs, fileAccess);
71
+ return resolved
72
+ ? {
73
+ path: resolved.path,
74
+ realPath: fileAccess.realpath(resolved.path),
75
+ kind: 'name',
76
+ candidateDirs: candidateDirs.slice(resolved.sourceLayerIndex),
77
+ }
78
+ : undefined;
79
+ }
80
+ function resolveProviderOptionsScopeRefPath(ref, context, fileAccess, scopedCandidateDirs) {
81
+ const resolved = resolveProviderOptionsScopeRef(ref, context, fileAccess, scopedCandidateDirs);
82
+ return resolved
83
+ ? {
84
+ path: resolved.path,
85
+ realPath: fileAccess.realpath(resolved.path),
86
+ kind: 'scope',
87
+ candidateDirs: [resolved.candidateDir],
88
+ }
89
+ : undefined;
90
+ }
91
+ function resolveProviderOptionsExtendsPath(ref, currentDir, rootDir, scope, fileAccess) {
92
+ if (isScopeRef(ref)) {
93
+ const resolved = resolveProviderOptionsScopeRefPath(ref, requireProviderOptionsContext(ref, scope.context), fileAccess, scope.scopedCandidateDirs);
94
+ if (!resolved) {
95
+ throw new Error(`Configuration error: provider_options.extends not found: ${ref}`);
96
+ }
97
+ return resolved;
98
+ }
99
+ if (isProviderOptionsExtendsPath(ref)) {
100
+ return resolvePathLikeProviderOptionsExtends(ref, currentDir, rootDir, fileAccess);
101
+ }
102
+ const candidateDirs = getProviderOptionsCandidateDirs(scope, ref);
103
+ const resolved = resolveProviderOptionsByNameExtends(ref, candidateDirs, fileAccess);
104
+ if (!resolved) {
105
+ throw new Error(`Configuration error: provider_options.extends not found: ${ref}`);
106
+ }
107
+ return resolved;
108
+ }
109
+ export function resolveWorkflowProviderOptions(raw, workflowDir, context) {
110
+ return resolveWorkflowProviderOptionsWithHost(raw, workflowDir, {
111
+ rootDir: workflowDir,
112
+ context,
113
+ });
40
114
  }
41
- export function resolveWorkflowProviderOptions(raw, workflowDir) {
42
- return resolveWorkflowProviderOptionsFromDir(raw, workflowDir, workflowDir, new Set());
115
+ export function resolveWorkflowProviderOptionsWithHost(raw, workflowDir, host) {
116
+ return resolveWorkflowProviderOptionsFromDir(raw, workflowDir, host.rootDir, {
117
+ context: host.context,
118
+ candidateDirs: host.candidateDirs,
119
+ scopedCandidateDirs: host.scopedCandidateDirs,
120
+ }, host.fileAccess ?? nodeFileAccess, new Set());
43
121
  }
44
- function resolveWorkflowProviderOptionsFromDir(raw, currentDir, rootDir, seenRefs) {
122
+ function resolveWorkflowProviderOptionsFromDir(raw, currentDir, rootDir, scope, fileAccess, seenRefs) {
45
123
  if (!raw) {
46
124
  return undefined;
47
125
  }
48
- const parsedRaw = ProviderOptionsWithRefSchema.parse(raw);
49
- const ref = parsedRaw.$ref;
126
+ const parsedRaw = ProviderOptionsWithExtendsSchema.parse(raw);
127
+ const ref = parsedRaw.extends;
50
128
  if (ref === undefined) {
51
129
  return normalizeProviderOptions(parsedRaw);
52
130
  }
53
- const refPath = resolveProviderOptionsRefPath(ref, currentDir, rootDir);
131
+ const refPath = resolveProviderOptionsExtendsPath(ref, currentDir, rootDir, scope, fileAccess);
54
132
  if (seenRefs.has(refPath.realPath)) {
55
- throw new Error(`Configuration error: provider_options.$ref contains a circular reference: ${ref}`);
133
+ throw new Error(`Configuration error: provider_options.extends contains a circular reference: ${ref}`);
56
134
  }
57
- const referencedRaw = parseYaml(readFileSync(refPath.path, 'utf-8'));
135
+ const referencedRaw = parseYaml(fileAccess.readText(refPath.path));
58
136
  if (!isRecord(referencedRaw)) {
59
- throw new Error(`Configuration error: provider_options.$ref must point to a YAML object: ${ref}`);
137
+ throw new Error(`Configuration error: provider_options.extends must point to a YAML object: ${ref}`);
60
138
  }
61
- const parsedReferencedRaw = ProviderOptionsWithRefSchema.parse(referencedRaw);
139
+ const parsedReferencedRaw = ProviderOptionsWithExtendsSchema.parse(referencedRaw);
62
140
  const nextSeenRefs = new Set(seenRefs);
63
141
  nextSeenRefs.add(refPath.realPath);
64
- const referencedOptions = resolveWorkflowProviderOptionsFromDir(parsedReferencedRaw, dirname(refPath.path), rootDir, nextSeenRefs);
65
- const inlineOptions = normalizeProviderOptions(removeProviderOptionsRef(parsedRaw));
142
+ const referencedOptions = resolveWorkflowProviderOptionsFromDir(parsedReferencedRaw, dirname(refPath.path), refPath.kind === 'path' ? rootDir : dirname(refPath.path), {
143
+ context: scope.context,
144
+ candidateDirs: refPath.candidateDirs ?? scope.candidateDirs,
145
+ scopedCandidateDirs: scope.scopedCandidateDirs,
146
+ }, fileAccess, nextSeenRefs);
147
+ const inlineOptions = normalizeProviderOptions(removeProviderOptionsExtends(parsedRaw));
66
148
  return mergeProviderOptions(referencedOptions, inlineOptions);
67
149
  }
68
150
  //# sourceMappingURL=workflowProviderOptionsResolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflowProviderOptionsResolver.js","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowProviderOptionsResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflowProviderOptionsResolver.js","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowProviderOptionsResolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflowRuleNormalizer.d.ts","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowRuleNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAqBlE,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,YAAY,CA4Cf"}
1
+ {"version":3,"file":"workflowRuleNormalizer.d.ts","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowRuleNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAOlE,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,YAAY,CA+Cf"}
@@ -1,18 +1,4 @@
1
- import { parseAggregateConditionExpression, parseAiConditionExpression, } from '../../../core/models/workflow-condition-expression.js';
2
- function parseAggregateConditions(argsText) {
3
- const conditions = [];
4
- const regex = /"([^"]+)"/g;
5
- let match;
6
- while ((match = regex.exec(argsText)) !== null) {
7
- if (match[1]) {
8
- conditions.push(match[1]);
9
- }
10
- }
11
- if (conditions.length === 0) {
12
- throw new Error(`Invalid aggregate condition format: ${argsText}`);
13
- }
14
- return conditions;
15
- }
1
+ import { parseAggregateConditionArgs, parseAggregateConditionExpression, parseAiConditionExpression, } from '../../../core/models/workflow-condition-expression.js';
16
2
  export function normalizeRule(rule) {
17
3
  const condition = rule.condition ?? rule.when;
18
4
  if (!condition) {
@@ -34,7 +20,7 @@ export function normalizeRule(rule) {
34
20
  }
35
21
  const aggregateExpression = parseAggregateConditionExpression(condition);
36
22
  if (aggregateExpression) {
37
- const conditions = parseAggregateConditions(aggregateExpression.argsText);
23
+ const conditions = parseAggregateConditionArgs(aggregateExpression.argsText);
38
24
  return {
39
25
  condition,
40
26
  next,
@@ -45,6 +31,9 @@ export function normalizeRule(rule) {
45
31
  isAggregateCondition: true,
46
32
  aggregateType: aggregateExpression.type,
47
33
  aggregateConditionText: conditions.length === 1 ? conditions[0] : conditions,
34
+ ...(aggregateExpression.guardCondition !== undefined
35
+ ? { aggregateGuardCondition: aggregateExpression.guardCondition }
36
+ : {}),
48
37
  };
49
38
  }
50
39
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"workflowRuleNormalizer.js","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowRuleNormalizer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,uDAAuD,CAAC;AAE/D,SAAS,wBAAwB,CAAC,QAAgB;IAChD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,YAAY,CAAC;IAC3B,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAQ7B;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;YACL,SAAS;YACT,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,iBAAiB,EAAE,IAAI,CAAC,mBAAmB;YAC3C,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,aAAa,EAAE,IAAI;YACnB,eAAe,EAAE,YAAY,CAAC,IAAI;SACnC,CAAC;IACJ,CAAC;IAED,MAAM,mBAAmB,GAAG,iCAAiC,CAAC,SAAS,CAAC,CAAC;IACzE,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,wBAAwB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC1E,OAAO;YACL,SAAS;YACT,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,iBAAiB,EAAE,IAAI,CAAC,mBAAmB;YAC3C,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,oBAAoB,EAAE,IAAI;YAC1B,aAAa,EAAE,mBAAmB,CAAC,IAAI;YACvC,sBAAsB,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,UAAU;SAC9E,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS;QACT,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,MAAM;QACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,iBAAiB,EAAE,IAAI,CAAC,mBAAmB;QAC3C,eAAe,EAAE,IAAI,CAAC,gBAAgB;KACvC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workflowRuleNormalizer.js","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowRuleNormalizer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,uDAAuD,CAAC;AAE/D,MAAM,UAAU,aAAa,CAAC,IAQ7B;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;YACL,SAAS;YACT,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,iBAAiB,EAAE,IAAI,CAAC,mBAAmB;YAC3C,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,aAAa,EAAE,IAAI;YACnB,eAAe,EAAE,YAAY,CAAC,IAAI;SACnC,CAAC;IACJ,CAAC;IAED,MAAM,mBAAmB,GAAG,iCAAiC,CAAC,SAAS,CAAC,CAAC;IACzE,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,2BAA2B,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC7E,OAAO;YACL,SAAS;YACT,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,iBAAiB,EAAE,IAAI,CAAC,mBAAmB;YAC3C,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,oBAAoB,EAAE,IAAI;YAC1B,aAAa,EAAE,mBAAmB,CAAC,IAAI;YACvC,sBAAsB,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,UAAU;YAC7E,GAAG,CAAC,mBAAmB,CAAC,cAAc,KAAK,SAAS;gBAClD,CAAC,CAAC,EAAE,uBAAuB,EAAE,mBAAmB,CAAC,cAAc,EAAE;gBACjE,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS;QACT,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,MAAM;QACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,iBAAiB,EAAE,IAAI,CAAC,mBAAmB;QAC3C,eAAe,EAAE,IAAI,CAAC,gBAAgB;KACvC,CAAC;AACJ,CAAC"}
@@ -5,12 +5,13 @@ import type { StepProviderOptions } from '../../../core/models/workflow-types.js
5
5
  import { type FacetResolutionContext, type WorkflowSections } from './resource-resolver.js';
6
6
  type RawStep = z.output<typeof WorkflowStepRawSchema>;
7
7
  type RawProviderReference = RawStep['provider'];
8
- export declare function normalizeProviderReference(provider: RawProviderReference, model: RawStep['model'], providerOptions: RawStep['provider_options'], workflowDir: string): {
8
+ export declare function normalizeProviderReference(provider: RawProviderReference, model: RawStep['model'], providerOptions: RawStep['provider_options'], workflowDir: string, context?: FacetResolutionContext): {
9
9
  provider: WorkflowStep['provider'];
10
10
  model: WorkflowStep['model'];
11
11
  providerOptions: StepProviderOptions | undefined;
12
12
  providerSpecified: boolean;
13
+ modelSpecified: boolean;
13
14
  };
14
- export declare function normalizeStepFromRaw(step: RawStep, workflowDir: string, sections: WorkflowSections, workflowSchemas: Record<string, string> | undefined, inheritedProvider?: WorkflowStep['provider'], inheritedModel?: WorkflowStep['model'], inheritedProviderOptions?: WorkflowStep['providerOptions'], inheritedAllowGitCommit?: boolean, context?: FacetResolutionContext, projectOverrides?: WorkflowOverrides, globalOverrides?: WorkflowOverrides, workflowArpeggioPolicy?: WorkflowArpeggioConfig, workflowMcpServersPolicy?: WorkflowMcpServersConfig): WorkflowStep;
15
+ export declare function normalizeStepFromRaw(step: RawStep, workflowDir: string, sections: WorkflowSections, workflowSchemas: Record<string, string> | undefined, inheritedProvider?: WorkflowStep['provider'], inheritedModel?: WorkflowStep['model'], inheritedDirectProviderOptions?: WorkflowStep['providerOptions'], inheritedWorkflowProviderOptions?: WorkflowStep['providerOptions'], inheritedAllowGitCommit?: boolean, inheritedProviderIsWorkflowFallback?: boolean, inheritedModelIsWorkflowFallback?: boolean, context?: FacetResolutionContext, projectOverrides?: WorkflowOverrides, globalOverrides?: WorkflowOverrides, workflowArpeggioPolicy?: WorkflowArpeggioConfig, workflowMcpServersPolicy?: WorkflowMcpServersConfig): WorkflowStep;
15
16
  export {};
16
17
  //# sourceMappingURL=workflowStepNormalizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflowStepNormalizer.d.ts","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowStepNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAIV,YAAY,EACZ,qBAAqB,EACtB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAChI,OAAO,KAAK,EACV,mBAAmB,EAEpB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAMtB,MAAM,wBAAwB,CAAC;AAYhC,KAAK,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACtD,KAAK,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAIhD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,EACvB,eAAe,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAC5C,WAAW,EAAE,MAAM,GAClB;IACD,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACnC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC7B,eAAe,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACjD,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAwBA;AAoDD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,gBAAgB,EAC1B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACnD,iBAAiB,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,EAC5C,cAAc,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,EACtC,wBAAwB,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAC1D,uBAAuB,CAAC,EAAE,OAAO,EACjC,OAAO,CAAC,EAAE,sBAAsB,EAChC,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,eAAe,CAAC,EAAE,iBAAiB,EACnC,sBAAsB,CAAC,EAAE,sBAAsB,EAC/C,wBAAwB,CAAC,EAAE,wBAAwB,GAClD,YAAY,CAiLd"}
1
+ {"version":3,"file":"workflowStepNormalizer.d.ts","sourceRoot":"","sources":["../../../../src/infra/config/loaders/workflowStepNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAIV,YAAY,EACZ,qBAAqB,EACtB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAChI,OAAO,KAAK,EACV,mBAAmB,EAEpB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAMtB,MAAM,wBAAwB,CAAC;AAYhC,KAAK,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACtD,KAAK,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAIhD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,EACvB,eAAe,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAC5C,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,sBAAsB,GAC/B;IACD,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACnC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC7B,eAAe,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACjD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;CACzB,CA2BA;AAuDD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,gBAAgB,EAC1B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACnD,iBAAiB,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,EAC5C,cAAc,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,EACtC,8BAA8B,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAChE,gCAAgC,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAClE,uBAAuB,CAAC,EAAE,OAAO,EACjC,mCAAmC,UAAQ,EAC3C,gCAAgC,UAAsC,EACtE,OAAO,CAAC,EAAE,sBAAsB,EAChC,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,eAAe,CAAC,EAAE,iBAAiB,EACnC,sBAAsB,CAAC,EAAE,sBAAsB,EAC/C,wBAAwB,CAAC,EAAE,wBAAwB,GAClD,YAAY,CA0Md"}