agent-pipeline 0.1.0 → 0.1.2

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 (331) hide show
  1. package/CLAUDE.md +4 -3
  2. package/{license → LICENSE} +1 -1
  3. package/README.md +120 -55
  4. package/dist/cli/commands/agent/info.js +1 -1
  5. package/dist/cli/commands/agent/info.js.map +1 -1
  6. package/dist/cli/commands/agent/list.js +1 -1
  7. package/dist/cli/commands/agent/list.js.map +1 -1
  8. package/dist/cli/commands/agent/pull.d.ts +1 -0
  9. package/dist/cli/commands/agent/pull.d.ts.map +1 -1
  10. package/dist/cli/commands/agent/pull.js +67 -44
  11. package/dist/cli/commands/agent/pull.js.map +1 -1
  12. package/dist/cli/commands/cleanup.d.ts +4 -0
  13. package/dist/cli/commands/cleanup.d.ts.map +1 -1
  14. package/dist/cli/commands/cleanup.js +197 -37
  15. package/dist/cli/commands/cleanup.js.map +1 -1
  16. package/dist/cli/commands/history.d.ts.map +1 -1
  17. package/dist/cli/commands/history.js +3 -22
  18. package/dist/cli/commands/history.js.map +1 -1
  19. package/dist/cli/commands/hooks.d.ts +10 -0
  20. package/dist/cli/commands/hooks.d.ts.map +1 -0
  21. package/dist/cli/commands/hooks.js +88 -0
  22. package/dist/cli/commands/hooks.js.map +1 -0
  23. package/dist/cli/commands/init.d.ts +1 -6
  24. package/dist/cli/commands/init.d.ts.map +1 -1
  25. package/dist/cli/commands/init.js +169 -88
  26. package/dist/cli/commands/init.js.map +1 -1
  27. package/dist/cli/commands/loop-context.d.ts +2 -0
  28. package/dist/cli/commands/loop-context.d.ts.map +1 -0
  29. package/dist/cli/commands/loop-context.js +88 -0
  30. package/dist/cli/commands/loop-context.js.map +1 -0
  31. package/dist/cli/commands/pipeline/create.d.ts.map +1 -1
  32. package/dist/cli/commands/pipeline/create.js +156 -68
  33. package/dist/cli/commands/pipeline/create.js.map +1 -1
  34. package/dist/cli/commands/run.d.ts +1 -1
  35. package/dist/cli/commands/run.d.ts.map +1 -1
  36. package/dist/cli/commands/run.js +29 -5
  37. package/dist/cli/commands/run.js.map +1 -1
  38. package/dist/cli/commands/schema.d.ts +9 -0
  39. package/dist/cli/commands/schema.d.ts.map +1 -0
  40. package/dist/cli/commands/schema.js +541 -0
  41. package/dist/cli/commands/schema.js.map +1 -0
  42. package/dist/cli/commands/status.d.ts.map +1 -1
  43. package/dist/cli/commands/status.js +0 -6
  44. package/dist/cli/commands/status.js.map +1 -1
  45. package/dist/cli/help/index.d.ts +6 -0
  46. package/dist/cli/help/index.d.ts.map +1 -0
  47. package/dist/cli/help/index.js +538 -0
  48. package/dist/cli/help/index.js.map +1 -0
  49. package/dist/cli/help/types.d.ts +22 -0
  50. package/dist/cli/help/types.d.ts.map +1 -0
  51. package/dist/cli/help/types.js +2 -0
  52. package/dist/cli/help/types.js.map +1 -0
  53. package/dist/cli/hooks.d.ts +5 -1
  54. package/dist/cli/hooks.d.ts.map +1 -1
  55. package/dist/cli/hooks.js +106 -12
  56. package/dist/cli/hooks.js.map +1 -1
  57. package/dist/cli/templates/agents/code-review-agents/code-reviewer.md +46 -0
  58. package/dist/cli/templates/agents/code-review-agents/memory-doc-updater.md +189 -0
  59. package/dist/cli/templates/agents/code-review-agents/quality-checker.md +52 -0
  60. package/dist/cli/templates/agents/frontend-agents/brutalist_purist.md +563 -0
  61. package/dist/cli/templates/agents/frontend-agents/cyberpunk_hacker.md +824 -0
  62. package/dist/cli/templates/agents/frontend-agents/frontend-pipeline-ref.md +32 -0
  63. package/dist/cli/templates/agents/frontend-agents/indie_game_dev.md +715 -0
  64. package/dist/cli/templates/agents/frontend-agents/luxury_editorial.md +628 -0
  65. package/dist/cli/templates/agents/frontend-agents/product_owner.md +159 -0
  66. package/dist/cli/templates/agents/frontend-agents/retro_90s_webmaster.md +385 -0
  67. package/dist/cli/templates/agents/frontend-agents/showcase.md +362 -0
  68. package/dist/cli/templates/agents/frontend-agents/swiss_modernist.md +716 -0
  69. package/dist/cli/templates/agents/loop-agents/socratic-explorer.md +91 -0
  70. package/dist/cli/templates/instructions/handover.md +40 -0
  71. package/dist/cli/templates/instructions/loop.md +39 -0
  72. package/dist/cli/templates/pipelines/front-end-parallel-example.yml +81 -0
  73. package/dist/cli/templates/pipelines/loop-example.yml +25 -0
  74. package/dist/cli/templates/pipelines/post-commit-example.yml +49 -58
  75. package/dist/cli/templates/schema/pipeline-config.schema.json +400 -0
  76. package/dist/cli/templates/schema/pipeline-config.schema.yaml +302 -0
  77. package/dist/cli/utils/agent-importer.d.ts +1 -0
  78. package/dist/cli/utils/agent-importer.d.ts.map +1 -1
  79. package/dist/cli/utils/agent-importer.js +67 -0
  80. package/dist/cli/utils/agent-importer.js.map +1 -1
  81. package/dist/cli/utils/interactive-prompts.d.ts +4 -0
  82. package/dist/cli/utils/interactive-prompts.d.ts.map +1 -1
  83. package/dist/cli/utils/interactive-prompts.js +59 -13
  84. package/dist/cli/utils/interactive-prompts.js.map +1 -1
  85. package/dist/config/pipeline-loader.d.ts +4 -1
  86. package/dist/config/pipeline-loader.d.ts.map +1 -1
  87. package/dist/config/pipeline-loader.js +58 -0
  88. package/dist/config/pipeline-loader.js.map +1 -1
  89. package/dist/config/schema.d.ts +64 -35
  90. package/dist/config/schema.d.ts.map +1 -1
  91. package/dist/core/abort-controller.d.ts +16 -0
  92. package/dist/core/abort-controller.d.ts.map +1 -0
  93. package/dist/core/abort-controller.js +52 -0
  94. package/dist/core/abort-controller.js.map +1 -0
  95. package/dist/core/agent-query-runner.d.ts +0 -1
  96. package/dist/core/agent-query-runner.d.ts.map +1 -1
  97. package/dist/core/agent-query-runner.js +0 -22
  98. package/dist/core/agent-query-runner.js.map +1 -1
  99. package/dist/core/agent-runtimes/claude-code-headless-runtime.d.ts +5 -1
  100. package/dist/core/agent-runtimes/claude-code-headless-runtime.d.ts.map +1 -1
  101. package/dist/core/agent-runtimes/claude-code-headless-runtime.js +127 -12
  102. package/dist/core/agent-runtimes/claude-code-headless-runtime.js.map +1 -1
  103. package/dist/core/agent-runtimes/claude-sdk-runtime.d.ts +0 -2
  104. package/dist/core/agent-runtimes/claude-sdk-runtime.d.ts.map +1 -1
  105. package/dist/core/agent-runtimes/claude-sdk-runtime.js +1 -22
  106. package/dist/core/agent-runtimes/claude-sdk-runtime.js.map +1 -1
  107. package/dist/core/agent-runtimes/codex-headless-runtime.d.ts +27 -0
  108. package/dist/core/agent-runtimes/codex-headless-runtime.d.ts.map +1 -0
  109. package/dist/core/agent-runtimes/codex-headless-runtime.js +623 -0
  110. package/dist/core/agent-runtimes/codex-headless-runtime.js.map +1 -0
  111. package/dist/core/agent-runtimes/openai-compatible-runtime.d.ts +17 -0
  112. package/dist/core/agent-runtimes/openai-compatible-runtime.d.ts.map +1 -0
  113. package/dist/core/agent-runtimes/openai-compatible-runtime.js +231 -0
  114. package/dist/core/agent-runtimes/openai-compatible-runtime.js.map +1 -0
  115. package/dist/core/branch-manager.d.ts +3 -1
  116. package/dist/core/branch-manager.d.ts.map +1 -1
  117. package/dist/core/branch-manager.js +11 -1
  118. package/dist/core/branch-manager.js.map +1 -1
  119. package/dist/core/git-manager.d.ts +17 -1
  120. package/dist/core/git-manager.d.ts.map +1 -1
  121. package/dist/core/git-manager.js +147 -3
  122. package/dist/core/git-manager.js.map +1 -1
  123. package/dist/core/group-execution-orchestrator.d.ts +4 -13
  124. package/dist/core/group-execution-orchestrator.d.ts.map +1 -1
  125. package/dist/core/group-execution-orchestrator.js +53 -142
  126. package/dist/core/group-execution-orchestrator.js.map +1 -1
  127. package/dist/core/handover-manager.d.ts +24 -0
  128. package/dist/core/handover-manager.d.ts.map +1 -0
  129. package/dist/core/handover-manager.js +214 -0
  130. package/dist/core/handover-manager.js.map +1 -0
  131. package/dist/core/instruction-loader.d.ts +23 -0
  132. package/dist/core/instruction-loader.d.ts.map +1 -0
  133. package/dist/core/instruction-loader.js +123 -0
  134. package/dist/core/instruction-loader.js.map +1 -0
  135. package/dist/core/loop-state-manager.d.ts +12 -7
  136. package/dist/core/loop-state-manager.d.ts.map +1 -1
  137. package/dist/core/loop-state-manager.js +49 -3
  138. package/dist/core/loop-state-manager.js.map +1 -1
  139. package/dist/core/parallel-executor.d.ts +8 -3
  140. package/dist/core/parallel-executor.d.ts.map +1 -1
  141. package/dist/core/parallel-executor.js +90 -16
  142. package/dist/core/parallel-executor.js.map +1 -1
  143. package/dist/core/pipeline-finalizer.d.ts +12 -4
  144. package/dist/core/pipeline-finalizer.d.ts.map +1 -1
  145. package/dist/core/pipeline-finalizer.js +244 -33
  146. package/dist/core/pipeline-finalizer.js.map +1 -1
  147. package/dist/core/pipeline-initializer.d.ts +13 -5
  148. package/dist/core/pipeline-initializer.d.ts.map +1 -1
  149. package/dist/core/pipeline-initializer.js +53 -25
  150. package/dist/core/pipeline-initializer.js.map +1 -1
  151. package/dist/core/pipeline-runner.d.ts +15 -1
  152. package/dist/core/pipeline-runner.d.ts.map +1 -1
  153. package/dist/core/pipeline-runner.js +434 -64
  154. package/dist/core/pipeline-runner.js.map +1 -1
  155. package/dist/core/pr-creator.d.ts +0 -1
  156. package/dist/core/pr-creator.d.ts.map +1 -1
  157. package/dist/core/pr-creator.js +12 -4
  158. package/dist/core/pr-creator.js.map +1 -1
  159. package/dist/core/stage-executor.d.ts +19 -11
  160. package/dist/core/stage-executor.d.ts.map +1 -1
  161. package/dist/core/stage-executor.js +151 -178
  162. package/dist/core/stage-executor.js.map +1 -1
  163. package/dist/core/types/agent-runtime.d.ts +3 -2
  164. package/dist/core/types/agent-runtime.d.ts.map +1 -1
  165. package/dist/core/worktree-manager.d.ts +21 -0
  166. package/dist/core/worktree-manager.d.ts.map +1 -0
  167. package/dist/core/worktree-manager.js +133 -0
  168. package/dist/core/worktree-manager.js.map +1 -0
  169. package/dist/index.js +147 -112
  170. package/dist/index.js.map +1 -1
  171. package/dist/notifications/notification-manager.d.ts +1 -0
  172. package/dist/notifications/notification-manager.d.ts.map +1 -1
  173. package/dist/notifications/notification-manager.js +17 -3
  174. package/dist/notifications/notification-manager.js.map +1 -1
  175. package/dist/notifications/notifiers/local-notifier.d.ts.map +1 -1
  176. package/dist/notifications/notifiers/local-notifier.js +5 -2
  177. package/dist/notifications/notifiers/local-notifier.js.map +1 -1
  178. package/dist/notifications/notifiers/slack-notifier.d.ts.map +1 -1
  179. package/dist/notifications/notifiers/slack-notifier.js +39 -8
  180. package/dist/notifications/notifiers/slack-notifier.js.map +1 -1
  181. package/dist/notifications/types.d.ts +1 -1
  182. package/dist/notifications/types.d.ts.map +1 -1
  183. package/dist/ui/components/execution-group.d.ts.map +1 -1
  184. package/dist/ui/components/execution-group.js +1 -1
  185. package/dist/ui/components/execution-group.js.map +1 -1
  186. package/dist/ui/components/interactive-summary.d.ts +9 -0
  187. package/dist/ui/components/interactive-summary.d.ts.map +1 -0
  188. package/dist/ui/components/interactive-summary.js +166 -0
  189. package/dist/ui/components/interactive-summary.js.map +1 -0
  190. package/dist/ui/components/keyboard-hints.d.ts +12 -0
  191. package/dist/ui/components/keyboard-hints.d.ts.map +1 -0
  192. package/dist/ui/components/keyboard-hints.js +13 -0
  193. package/dist/ui/components/keyboard-hints.js.map +1 -0
  194. package/dist/ui/components/live-timer.d.ts +9 -0
  195. package/dist/ui/components/live-timer.d.ts.map +1 -0
  196. package/dist/ui/components/live-timer.js +25 -0
  197. package/dist/ui/components/live-timer.js.map +1 -0
  198. package/dist/ui/components/loop-iteration-history.d.ts +8 -0
  199. package/dist/ui/components/loop-iteration-history.d.ts.map +1 -0
  200. package/dist/ui/components/loop-iteration-history.js +106 -0
  201. package/dist/ui/components/loop-iteration-history.js.map +1 -0
  202. package/dist/ui/components/loop-session-summary.d.ts +9 -0
  203. package/dist/ui/components/loop-session-summary.d.ts.map +1 -0
  204. package/dist/ui/components/loop-session-summary.js +39 -0
  205. package/dist/ui/components/loop-session-summary.js.map +1 -0
  206. package/dist/ui/components/stage-row.d.ts +0 -1
  207. package/dist/ui/components/stage-row.d.ts.map +1 -1
  208. package/dist/ui/components/stage-row.js +5 -15
  209. package/dist/ui/components/stage-row.js.map +1 -1
  210. package/dist/ui/components/status-badge.d.ts.map +1 -1
  211. package/dist/ui/components/status-badge.js +1 -0
  212. package/dist/ui/components/status-badge.js.map +1 -1
  213. package/dist/ui/pipeline-ui.d.ts +1 -0
  214. package/dist/ui/pipeline-ui.d.ts.map +1 -1
  215. package/dist/ui/pipeline-ui.js +22 -18
  216. package/dist/ui/pipeline-ui.js.map +1 -1
  217. package/dist/utils/error-factory.d.ts.map +1 -1
  218. package/dist/utils/error-factory.js +10 -2
  219. package/dist/utils/error-factory.js.map +1 -1
  220. package/dist/utils/pipeline-formatter.d.ts +8 -2
  221. package/dist/utils/pipeline-formatter.d.ts.map +1 -1
  222. package/dist/utils/pipeline-formatter.js +30 -26
  223. package/dist/utils/pipeline-formatter.js.map +1 -1
  224. package/dist/utils/pipeline-logger.d.ts +19 -0
  225. package/dist/utils/pipeline-logger.d.ts.map +1 -0
  226. package/dist/utils/pipeline-logger.js +80 -0
  227. package/dist/utils/pipeline-logger.js.map +1 -0
  228. package/dist/utils/platform-opener.d.ts +4 -0
  229. package/dist/utils/platform-opener.d.ts.map +1 -0
  230. package/dist/utils/platform-opener.js +52 -0
  231. package/dist/utils/platform-opener.js.map +1 -0
  232. package/dist/validators/agent-validator.d.ts +10 -0
  233. package/dist/validators/agent-validator.d.ts.map +1 -0
  234. package/dist/validators/agent-validator.js +87 -0
  235. package/dist/validators/agent-validator.js.map +1 -0
  236. package/dist/validators/dag-validator.d.ts +9 -0
  237. package/dist/validators/dag-validator.d.ts.map +1 -0
  238. package/dist/validators/dag-validator.js +51 -0
  239. package/dist/validators/dag-validator.js.map +1 -0
  240. package/dist/validators/environment-validator.d.ts +9 -0
  241. package/dist/validators/environment-validator.d.ts.map +1 -0
  242. package/dist/validators/environment-validator.js +35 -0
  243. package/dist/validators/environment-validator.js.map +1 -0
  244. package/dist/validators/execution-validator.d.ts +8 -0
  245. package/dist/validators/execution-validator.d.ts.map +1 -0
  246. package/dist/validators/execution-validator.js +51 -0
  247. package/dist/validators/execution-validator.js.map +1 -0
  248. package/dist/validators/git-validator.d.ts +13 -0
  249. package/dist/validators/git-validator.d.ts.map +1 -0
  250. package/dist/validators/git-validator.js +135 -0
  251. package/dist/validators/git-validator.js.map +1 -0
  252. package/dist/validators/notification-validator.d.ts +8 -0
  253. package/dist/validators/notification-validator.d.ts.map +1 -0
  254. package/dist/validators/notification-validator.js +27 -0
  255. package/dist/validators/notification-validator.js.map +1 -0
  256. package/dist/validators/pipeline-validator.d.ts +3 -26
  257. package/dist/validators/pipeline-validator.d.ts.map +1 -1
  258. package/dist/validators/pipeline-validator.js +5 -515
  259. package/dist/validators/pipeline-validator.js.map +1 -1
  260. package/dist/validators/retry-validator.d.ts +9 -0
  261. package/dist/validators/retry-validator.d.ts.map +1 -0
  262. package/dist/validators/retry-validator.js +34 -0
  263. package/dist/validators/retry-validator.js.map +1 -0
  264. package/dist/validators/runtime-validator.d.ts +9 -0
  265. package/dist/validators/runtime-validator.d.ts.map +1 -0
  266. package/dist/validators/runtime-validator.js +82 -0
  267. package/dist/validators/runtime-validator.js.map +1 -0
  268. package/dist/validators/structure-validator.d.ts +8 -0
  269. package/dist/validators/structure-validator.d.ts.map +1 -0
  270. package/dist/validators/structure-validator.js +39 -0
  271. package/dist/validators/structure-validator.js.map +1 -0
  272. package/dist/validators/types.d.ts +19 -0
  273. package/dist/validators/types.d.ts.map +1 -0
  274. package/dist/validators/types.js +2 -0
  275. package/dist/validators/types.js.map +1 -0
  276. package/dist/validators/validation-orchestrator.d.ts +9 -0
  277. package/dist/validators/validation-orchestrator.d.ts.map +1 -0
  278. package/dist/validators/validation-orchestrator.js +43 -0
  279. package/dist/validators/validation-orchestrator.js.map +1 -0
  280. package/package.json +18 -12
  281. package/dist/cli/commands/install.d.ts +0 -2
  282. package/dist/cli/commands/install.d.ts.map +0 -1
  283. package/dist/cli/commands/install.js +0 -15
  284. package/dist/cli/commands/install.js.map +0 -1
  285. package/dist/cli/commands/uninstall.d.ts +0 -2
  286. package/dist/cli/commands/uninstall.d.ts.map +0 -1
  287. package/dist/cli/commands/uninstall.js +0 -6
  288. package/dist/cli/commands/uninstall.js.map +0 -1
  289. package/dist/cli/templates/agents/cleanup-reporter.md +0 -107
  290. package/dist/cli/templates/agents/code-reducer.md +0 -51
  291. package/dist/cli/templates/agents/code-reviewer.md +0 -34
  292. package/dist/cli/templates/agents/context-reducer.md +0 -94
  293. package/dist/cli/templates/agents/dependency-auditor.md +0 -127
  294. package/dist/cli/templates/agents/detective-empath.md +0 -26
  295. package/dist/cli/templates/agents/detective-linguist.md +0 -26
  296. package/dist/cli/templates/agents/detective-logician.md +0 -26
  297. package/dist/cli/templates/agents/detective-skeptic.md +0 -26
  298. package/dist/cli/templates/agents/detective-statistician.md +0 -26
  299. package/dist/cli/templates/agents/doc-updater.md +0 -30
  300. package/dist/cli/templates/agents/judge.md +0 -27
  301. package/dist/cli/templates/agents/memory-updater.md +0 -72
  302. package/dist/cli/templates/agents/quality-checker.md +0 -32
  303. package/dist/cli/templates/agents/security-auditor.md +0 -32
  304. package/dist/cli/templates/agents/storyteller.md +0 -26
  305. package/dist/cli/templates/agents/summary.md +0 -32
  306. package/dist/cli/templates/agents/synthesizer.md +0 -26
  307. package/dist/cli/templates/pipelines/large-pipeline-example.yml +0 -178
  308. package/dist/cli/templates/pipelines/post-merge-example.yml +0 -78
  309. package/dist/cli/templates/pipelines/pre-commit-example.yml +0 -41
  310. package/dist/cli/templates/pipelines/pre-push-example.yml +0 -51
  311. package/dist/cli/templates/pipelines/test-pipeline.yml +0 -90
  312. package/dist/config/project-config-loader.d.ts +0 -11
  313. package/dist/config/project-config-loader.d.ts.map +0 -1
  314. package/dist/config/project-config-loader.js +0 -100
  315. package/dist/config/project-config-loader.js.map +0 -1
  316. package/dist/core/condition-evaluator.d.ts +0 -16
  317. package/dist/core/condition-evaluator.d.ts.map +0 -1
  318. package/dist/core/condition-evaluator.js +0 -121
  319. package/dist/core/condition-evaluator.js.map +0 -1
  320. package/dist/core/context-reducer.d.ts +0 -15
  321. package/dist/core/context-reducer.d.ts.map +0 -1
  322. package/dist/core/context-reducer.js +0 -224
  323. package/dist/core/context-reducer.js.map +0 -1
  324. package/dist/core/output-storage-manager.d.ts +0 -14
  325. package/dist/core/output-storage-manager.d.ts.map +0 -1
  326. package/dist/core/output-storage-manager.js +0 -68
  327. package/dist/core/output-storage-manager.js.map +0 -1
  328. package/dist/core/output-tool-builder.d.ts +0 -6
  329. package/dist/core/output-tool-builder.d.ts.map +0 -1
  330. package/dist/core/output-tool-builder.js +0 -50
  331. package/dist/core/output-tool-builder.js.map +0 -1
@@ -1,121 +0,0 @@
1
- export class ConditionEvaluator {
2
- evaluate(condition, state) {
3
- try {
4
- const expression = this.extractExpression(condition);
5
- const context = this.buildContext(state);
6
- return this.evaluateExpression(expression, context);
7
- }
8
- catch (error) {
9
- console.error(`❌ Condition evaluation failed: ${condition}`);
10
- console.error(` Error: ${error instanceof Error ? error.message : String(error)}`);
11
- return false;
12
- }
13
- }
14
- extractExpression(condition) {
15
- const match = condition.match(/\{\{\s*(.+?)\s*\}\}/);
16
- if (!match) {
17
- throw new Error(`Invalid condition syntax: ${condition}. Expected {{ expression }}`);
18
- }
19
- return match[1].trim();
20
- }
21
- buildContext(state) {
22
- const context = {
23
- stages: {}
24
- };
25
- for (const stage of state.stages) {
26
- if (stage.status === 'success' && stage.extractedData) {
27
- context.stages[stage.stageName] = {
28
- status: stage.status,
29
- outputs: stage.extractedData,
30
- duration: stage.duration,
31
- commitSha: stage.commitSha
32
- };
33
- }
34
- }
35
- return context;
36
- }
37
- evaluateExpression(expression, context) {
38
- let safeExpression = expression;
39
- const propertyPattern = /stages\.[\w\-]+(?:\.[\w\-]+)*/g;
40
- const properties = expression.match(propertyPattern) || [];
41
- for (const prop of properties) {
42
- const value = this.resolveProperty(prop, context);
43
- safeExpression = safeExpression.replace(new RegExp(this.escapeRegExp(prop), 'g'), JSON.stringify(value));
44
- }
45
- return this.parseAndEvaluate(safeExpression);
46
- }
47
- resolveProperty(path, context) {
48
- const parts = path.split('.');
49
- let current = context;
50
- for (const part of parts) {
51
- if (current === undefined || current === null) {
52
- return undefined;
53
- }
54
- current = current[part];
55
- }
56
- return current;
57
- }
58
- escapeRegExp(str) {
59
- return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
60
- }
61
- parseAndEvaluate(expression) {
62
- if (expression.includes('||')) {
63
- const parts = expression.split('||').map(p => p.trim());
64
- return parts.some(part => this.parseAndEvaluate(part));
65
- }
66
- if (expression.includes('&&')) {
67
- const parts = expression.split('&&').map(p => p.trim());
68
- return parts.every(part => this.parseAndEvaluate(part));
69
- }
70
- const comparisonMatch = expression.match(/^(.+?)\s*(==|!=|>=|<=|>|<)\s*(.+)$/);
71
- if (comparisonMatch) {
72
- const [, left, operator, right] = comparisonMatch;
73
- const leftValue = this.parseValue(left.trim());
74
- const rightValue = this.parseValue(right.trim());
75
- switch (operator) {
76
- case '==':
77
- return leftValue == rightValue;
78
- case '!=':
79
- return leftValue != rightValue;
80
- case '>':
81
- return Number(leftValue) > Number(rightValue);
82
- case '<':
83
- return Number(leftValue) < Number(rightValue);
84
- case '>=':
85
- return Number(leftValue) >= Number(rightValue);
86
- case '<=':
87
- return Number(leftValue) <= Number(rightValue);
88
- }
89
- }
90
- if (expression === 'true')
91
- return true;
92
- if (expression === 'false')
93
- return false;
94
- const value = this.parseValue(expression);
95
- if (value === undefined || value === null)
96
- return false;
97
- return Boolean(value);
98
- }
99
- parseValue(str) {
100
- str = str.trim();
101
- try {
102
- return JSON.parse(str);
103
- }
104
- catch {
105
- return str;
106
- }
107
- }
108
- validateSyntax(condition) {
109
- try {
110
- this.extractExpression(condition);
111
- return { valid: true };
112
- }
113
- catch (error) {
114
- return {
115
- valid: false,
116
- error: error instanceof Error ? error.message : String(error)
117
- };
118
- }
119
- }
120
- }
121
- //# sourceMappingURL=condition-evaluator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"condition-evaluator.js","sourceRoot":"","sources":["../../src/core/condition-evaluator.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { GitManager } from './git-manager.js';
2
- import { AgentRuntime } from './types/agent-runtime.js';
3
- import { PipelineState, AgentStageConfig, StageExecution, ContextReductionConfig } from '../config/schema.js';
4
- export declare class ContextReducer {
5
- private repoPath;
6
- private runtime;
7
- constructor(_gitManager: GitManager, repoPath: string, _runId: string, providedRuntime?: AgentRuntime);
8
- shouldReduce(tokenCount: number, config: ContextReductionConfig): boolean;
9
- runReduction(pipelineState: PipelineState, upcomingStage: AgentStageConfig, reducerAgentPath: string): Promise<StageExecution>;
10
- applyReduction(pipelineState: PipelineState, reducerOutput: StageExecution): PipelineState;
11
- private buildReducerContext;
12
- private runReducerAgent;
13
- private resolveAgentPath;
14
- }
15
- //# sourceMappingURL=context-reducer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-reducer.d.ts","sourceRoot":"","sources":["../../src/core/context-reducer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAyB,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,sBAAsB,EAAuB,MAAM,qBAAqB,CAAC;AAEnI,qBAAa,cAAc;IAKvB,OAAO,CAAC,QAAQ;IAJlB,OAAO,CAAC,OAAO,CAAe;gBAG5B,WAAW,EAAE,UAAU,EACf,QAAQ,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,YAAY;IAsBhC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO;IAQnE,YAAY,CAChB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,gBAAgB,EAC/B,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,cAAc,CAAC;IA+E1B,cAAc,CACZ,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,cAAc,GAC5B,aAAa;YA2BF,mBAAmB;YA4GnB,eAAe;IA0D7B,OAAO,CAAC,gBAAgB;CAMzB"}
@@ -1,224 +0,0 @@
1
- import * as fs from 'fs/promises';
2
- import { AgentRuntimeRegistry } from './agent-runtime-registry.js';
3
- export class ContextReducer {
4
- repoPath;
5
- runtime;
6
- constructor(_gitManager, repoPath, _runId, providedRuntime) {
7
- this.repoPath = repoPath;
8
- if (providedRuntime) {
9
- this.runtime = providedRuntime;
10
- console.log(` Context reducer using provided runtime: ${providedRuntime.type}`);
11
- }
12
- else {
13
- try {
14
- this.runtime = AgentRuntimeRegistry.getRuntime('claude-code-headless');
15
- console.log(` Context reducer using default runtime: claude-code-headless`);
16
- }
17
- catch (error) {
18
- console.warn(` ⚠️ claude-code-headless not available, falling back to claude-sdk`);
19
- this.runtime = AgentRuntimeRegistry.getRuntime('claude-sdk');
20
- }
21
- }
22
- }
23
- shouldReduce(tokenCount, config) {
24
- const threshold = config.triggerThreshold || config.maxTokens * 0.9;
25
- return tokenCount >= threshold;
26
- }
27
- async runReduction(pipelineState, upcomingStage, reducerAgentPath) {
28
- const execution = {
29
- stageName: '__context_reducer__',
30
- status: 'running',
31
- startTime: new Date().toISOString(),
32
- retryAttempt: 0,
33
- maxRetries: 0
34
- };
35
- try {
36
- const reducerContext = await this.buildReducerContext(pipelineState, upcomingStage);
37
- const systemPrompt = await fs.readFile(reducerAgentPath, 'utf-8');
38
- const claudeAgentOptions = {};
39
- const globalSettings = pipelineState.pipelineConfig.runtime?.options;
40
- if (globalSettings?.model)
41
- claudeAgentOptions.model = globalSettings.model;
42
- if (globalSettings?.maxTurns !== undefined)
43
- claudeAgentOptions.maxTurns = globalSettings.maxTurns;
44
- if (globalSettings?.maxThinkingTokens !== undefined)
45
- claudeAgentOptions.maxThinkingTokens = globalSettings.maxThinkingTokens;
46
- console.log(`🤖 Running context-reducer agent...`);
47
- const result = await this.runReducerAgent(reducerContext, systemPrompt, pipelineState.pipelineConfig.settings?.permissionMode || 'acceptEdits', claudeAgentOptions);
48
- execution.agentOutput = result.textOutput;
49
- execution.extractedData = result.extractedData;
50
- execution.status = 'success';
51
- execution.endTime = new Date().toISOString();
52
- if (execution.endTime) {
53
- const start = new Date(execution.startTime).getTime();
54
- const end = new Date(execution.endTime).getTime();
55
- const elapsedSeconds = (end - start) / 1000;
56
- execution.duration = elapsedSeconds > 0 ? elapsedSeconds : 0.001;
57
- }
58
- console.log(`✅ Context reduction completed (${execution.duration?.toFixed(1)}s)`);
59
- return execution;
60
- }
61
- catch (error) {
62
- execution.status = 'failed';
63
- execution.endTime = new Date().toISOString();
64
- const errorMsg = error instanceof Error ? error.message : String(error);
65
- execution.error = {
66
- message: errorMsg,
67
- timestamp: new Date().toISOString(),
68
- suggestion: 'Context reduction failed. Continuing with full context.'
69
- };
70
- console.error(`❌ Context reducer failed: ${errorMsg}`);
71
- console.log(` Continuing with full context...`);
72
- return execution;
73
- }
74
- }
75
- applyReduction(pipelineState, reducerOutput) {
76
- if (reducerOutput.status === 'failed') {
77
- return pipelineState;
78
- }
79
- const contextWindow = pipelineState.pipelineConfig.settings?.contextReduction?.contextWindow || 3;
80
- const recentStages = pipelineState.stages.slice(-contextWindow);
81
- const reducedState = {
82
- ...pipelineState,
83
- stages: [
84
- reducerOutput,
85
- ...recentStages
86
- ]
87
- };
88
- return reducedState;
89
- }
90
- async buildReducerContext(pipelineState, upcomingStage) {
91
- let upcomingAgentContent = '';
92
- try {
93
- const agentPath = this.resolveAgentPath(upcomingStage.agent);
94
- upcomingAgentContent = await fs.readFile(agentPath, 'utf-8');
95
- }
96
- catch (error) {
97
- console.warn(`⚠️ Could not read upcoming agent file: ${upcomingStage.agent}`);
98
- upcomingAgentContent = 'Agent file not available';
99
- }
100
- const previousStagesContext = pipelineState.stages
101
- .filter(s => s.status === 'success')
102
- .map(s => {
103
- const outputs = s.extractedData
104
- ? JSON.stringify(s.extractedData, null, 2)
105
- : 'No outputs';
106
- return `
107
- ### ${s.stageName}
108
- - **Status:** ${s.status}
109
- - **Duration:** ${s.duration?.toFixed(1)}s
110
- - **Commit:** ${s.commitSha || 'No commit'}
111
- - **Outputs:**
112
- \`\`\`json
113
- ${outputs}
114
- \`\`\`
115
- - **Agent Response:**
116
- ${s.agentOutput || 'No response'}
117
- `.trim();
118
- })
119
- .join('\n\n');
120
- const context = `
121
- # Context Reduction Task
122
-
123
- ## Pipeline Configuration
124
-
125
- **Pipeline Name:** ${pipelineState.pipelineConfig.name}
126
- **Run ID:** ${pipelineState.runId}
127
- **Trigger:** ${pipelineState.trigger.type}
128
- **Total Stages Executed:** ${pipelineState.stages.length}
129
-
130
- ## Upcoming Stage
131
-
132
- **Stage Name:** ${upcomingStage.name}
133
- **Agent File:** ${upcomingStage.agent}
134
-
135
- ### Agent Definition (What the next agent needs):
136
- \`\`\`markdown
137
- ${upcomingAgentContent}
138
- \`\`\`
139
-
140
- ## Previous Stages (Full Verbose Outputs)
141
-
142
- ${previousStagesContext}
143
-
144
- ## Your Task
145
-
146
- Analyze all previous stage outputs and create a concise summary that:
147
-
148
- 1. **Preserves ALL information** that the upcoming agent might need (read its definition above)
149
- 2. **Keeps critical metrics** - Numbers, severity levels, counts, scores
150
- 3. **Preserves important decisions** - What was done, what was found, what was changed
151
- 4. **Removes redundant information** - Verbose details, repeated info, implementation specifics
152
- 5. **Reduces token count by 70-80%** while maintaining semantic completeness
153
-
154
- ## Output Instructions
155
-
156
- Use the report_outputs tool with this structure:
157
-
158
- \`\`\`javascript
159
- report_outputs({
160
- outputs: {
161
- summary: "High-level overview of all previous stages (2-3 sentences)",
162
- critical_findings: [
163
- "Finding 1 that upcoming agent needs to know",
164
- "Finding 2 relevant to next stage",
165
- "Finding 3 with key metrics"
166
- ],
167
- metrics: {
168
- "stage_name": {
169
- "key_metric": value,
170
- "another_metric": value
171
- }
172
- },
173
- stage_summaries: {
174
- "stage-1": "One sentence summary of stage-1",
175
- "stage-2": "One sentence summary of stage-2"
176
- }
177
- }
178
- })
179
- \`\`\`
180
-
181
- Focus on what the **upcoming agent needs to know**, not what previous agents did in detail.
182
- `.trim();
183
- return context;
184
- }
185
- async runReducerAgent(userPrompt, systemPrompt, permissionMode = 'acceptEdits', claudeAgentOptions) {
186
- const timeout = 900000;
187
- const runQuery = async () => {
188
- try {
189
- const request = {
190
- systemPrompt,
191
- userPrompt,
192
- options: {
193
- timeout: timeout / 1000,
194
- permissionMode,
195
- model: claudeAgentOptions?.model || 'haiku',
196
- maxTurns: claudeAgentOptions?.maxTurns,
197
- maxThinkingTokens: claudeAgentOptions?.maxThinkingTokens
198
- }
199
- };
200
- const result = await this.runtime.execute(request);
201
- return {
202
- textOutput: result.textOutput,
203
- extractedData: result.extractedData
204
- };
205
- }
206
- catch (error) {
207
- const errorMsg = error instanceof Error ? error.message : String(error);
208
- console.warn(` ⚠️ Context reducer runtime failed: ${errorMsg}`);
209
- throw new Error(`Runtime execution failed: ${errorMsg}`);
210
- }
211
- };
212
- return Promise.race([
213
- runQuery(),
214
- new Promise((_, reject) => setTimeout(() => reject(new Error('Context reducer timeout')), timeout))
215
- ]);
216
- }
217
- resolveAgentPath(agentPath) {
218
- if (agentPath.startsWith('/')) {
219
- return agentPath;
220
- }
221
- return `${this.repoPath}/${agentPath}`;
222
- }
223
- }
224
- //# sourceMappingURL=context-reducer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-reducer.js","sourceRoot":"","sources":["../../src/core/context-reducer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAGlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,MAAM,OAAO,cAAc;IAKf;IAJF,OAAO,CAAe;IAE9B,YACE,WAAuB,EACf,QAAgB,EACxB,MAAc,EACd,eAA8B;QAFtB,aAAQ,GAAR,QAAQ,CAAQ;QAMxB,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,8CAA8C,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;YAChF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;gBACtF,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAKD,YAAY,CAAC,UAAkB,EAAE,MAA8B;QAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;QACpE,OAAO,UAAU,IAAI,SAAS,CAAC;IACjC,CAAC;IAKD,KAAK,CAAC,YAAY,CAChB,aAA4B,EAC5B,aAA+B,EAC/B,gBAAwB;QAExB,MAAM,SAAS,GAAmB;YAChC,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,CAAC;SACd,CAAC;QAEF,IAAI,CAAC;YAEH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACnD,aAAa,EACb,aAAa,CACd,CAAC;YAGF,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAGlE,MAAM,kBAAkB,GAInB,EAAE,CAAC;YAER,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,OAAO,EAAE,OAAmD,CAAC;YACjH,IAAI,cAAc,EAAE,KAAK;gBAAE,kBAAkB,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;YAC3E,IAAI,cAAc,EAAE,QAAQ,KAAK,SAAS;gBAAE,kBAAkB,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;YAClG,IAAI,cAAc,EAAE,iBAAiB,KAAK,SAAS;gBAAE,kBAAkB,CAAC,iBAAiB,GAAG,cAAc,CAAC,iBAAiB,CAAC;YAG7H,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CACvC,cAAc,EACd,YAAY,EACZ,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,IAAI,aAAa,EACtE,kBAAkB,CACnB,CAAC;YAEF,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;YAC1C,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;YAC/C,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;YAC7B,SAAS,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAG7C,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;gBACtD,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;gBAClD,MAAM,cAAc,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;gBAC5C,SAAS,CAAC,QAAQ,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;YACnE,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAElF,OAAO,SAAS,CAAC;QAEnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC5B,SAAS,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAE7C,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,SAAS,CAAC,KAAK,GAAG;gBAChB,OAAO,EAAE,QAAQ;gBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,UAAU,EAAE,yDAAyD;aACtE,CAAC;YAEF,OAAO,CAAC,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAElD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAKD,cAAc,CACZ,aAA4B,EAC5B,aAA6B;QAG7B,IAAI,aAAa,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,aAAa,CAAC;QACvB,CAAC;QAGD,MAAM,aAAa,GAAG,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,aAAa,IAAI,CAAC,CAAC;QAClG,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;QAGhE,MAAM,YAAY,GAAkB;YAClC,GAAG,aAAa;YAChB,MAAM,EAAE;gBAEN,aAAa;gBAEb,GAAG,YAAY;aAChB;SACF,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC;IAKO,KAAK,CAAC,mBAAmB,CAC/B,aAA4B,EAC5B,aAA+B;QAG/B,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7D,oBAAoB,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,2CAA2C,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/E,oBAAoB,GAAG,0BAA0B,CAAC;QACpD,CAAC;QAGD,MAAM,qBAAqB,GAAG,aAAa,CAAC,MAAM;aAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;aACnC,GAAG,CAAC,CAAC,CAAC,EAAE;YACP,MAAM,OAAO,GAAG,CAAC,CAAC,aAAa;gBAC7B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1C,CAAC,CAAC,YAAY,CAAC;YAEjB,OAAO;MACT,CAAC,CAAC,SAAS;gBACD,CAAC,CAAC,MAAM;kBACN,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;gBACxB,CAAC,CAAC,SAAS,IAAI,WAAW;;;EAGxC,OAAO;;;EAGP,CAAC,CAAC,WAAW,IAAI,aAAa;SACvB,CAAC,IAAI,EAAE,CAAC;QACX,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAGhB,MAAM,OAAO,GAAG;;;;;qBAKC,aAAa,CAAC,cAAc,CAAC,IAAI;cACxC,aAAa,CAAC,KAAK;eAClB,aAAa,CAAC,OAAO,CAAC,IAAI;6BACZ,aAAa,CAAC,MAAM,CAAC,MAAM;;;;kBAItC,aAAa,CAAC,IAAI;kBAClB,aAAa,CAAC,KAAK;;;;EAInC,oBAAoB;;;;;EAKpB,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwClB,CAAC,IAAI,EAAE,CAAC;QAET,OAAO,OAAO,CAAC;IACjB,CAAC;IAKO,KAAK,CAAC,eAAe,CAC3B,UAAkB,EAClB,YAAoB,EACpB,iBAA2E,aAAa,EACxF,kBAIE;QAKF,MAAM,OAAO,GAAG,MAAM,CAAC;QAEvB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC;gBAEH,MAAM,OAAO,GAA0B;oBACrC,YAAY;oBACZ,UAAU;oBACV,OAAO,EAAE;wBACP,OAAO,EAAE,OAAO,GAAG,IAAI;wBACvB,cAAc;wBACd,KAAK,EAAE,kBAAkB,EAAE,KAAK,IAAI,OAAO;wBAC3C,QAAQ,EAAE,kBAAkB,EAAE,QAAQ;wBACtC,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB;qBACzD;iBACF,CAAC;gBAGF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEnD,OAAO;oBACL,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;iBACpC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxE,OAAO,CAAC,IAAI,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC;gBAGnE,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,OAAO,CAAC,IAAI,CAAC;YAClB,QAAQ,EAAE;YACV,IAAI,OAAO,CACT,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,EAAE,OAAO,CAAC,CACvF;SACF,CAAC,CAAC;IACL,CAAC;IAKO,gBAAgB,CAAC,SAAiB;QACxC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;IACzC,CAAC;CACF"}
@@ -1,14 +0,0 @@
1
- import { StageExecution } from '../config/schema.js';
2
- export declare class OutputStorageManager {
3
- private outputDir;
4
- constructor(repoPath: string, runId: string);
5
- saveStageOutputs(stageName: string, structuredData: Record<string, unknown> | undefined, rawText: string): Promise<{
6
- structured: string;
7
- raw: string;
8
- }>;
9
- saveChangedFiles(files: string[]): Promise<string>;
10
- savePipelineSummary(stages: StageExecution[]): Promise<string>;
11
- readStageOutput(stageName: string): Promise<Record<string, unknown> | null>;
12
- compressFileList(files: string[]): string;
13
- }
14
- //# sourceMappingURL=output-storage-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output-storage-manager.d.ts","sourceRoot":"","sources":["../../src/core/output-storage-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,SAAS,CAAS;gBAGxB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM;IAYT,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACnD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IA6BzC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAclD,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B9D,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAgBjF,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;CAsB1C"}
@@ -1,68 +0,0 @@
1
- import * as fs from 'fs/promises';
2
- import * as path from 'path';
3
- export class OutputStorageManager {
4
- outputDir;
5
- constructor(repoPath, runId) {
6
- this.outputDir = path.join(repoPath, '.agent-pipeline', 'outputs', runId);
7
- }
8
- async saveStageOutputs(stageName, structuredData, rawText) {
9
- await fs.mkdir(this.outputDir, { recursive: true });
10
- const structuredPath = path.join(this.outputDir, `${stageName}-output.json`);
11
- const rawPath = path.join(this.outputDir, `${stageName}-raw.md`);
12
- if (structuredData) {
13
- await fs.writeFile(structuredPath, JSON.stringify(structuredData, null, 2), 'utf-8');
14
- }
15
- await fs.writeFile(rawPath, rawText, 'utf-8');
16
- return {
17
- structured: structuredPath,
18
- raw: rawPath
19
- };
20
- }
21
- async saveChangedFiles(files) {
22
- await fs.mkdir(this.outputDir, { recursive: true });
23
- const filepath = path.join(this.outputDir, 'changed-files.txt');
24
- await fs.writeFile(filepath, files.join('\n'), 'utf-8');
25
- return filepath;
26
- }
27
- async savePipelineSummary(stages) {
28
- await fs.mkdir(this.outputDir, { recursive: true });
29
- const summary = stages.map(s => ({
30
- name: s.stageName,
31
- status: s.status,
32
- duration: s.duration,
33
- commitSha: s.commitSha,
34
- extractedData: s.extractedData
35
- }));
36
- const filepath = path.join(this.outputDir, 'pipeline-summary.json');
37
- await fs.writeFile(filepath, JSON.stringify(summary, null, 2), 'utf-8');
38
- return filepath;
39
- }
40
- async readStageOutput(stageName) {
41
- const filepath = path.join(this.outputDir, `${stageName}-output.json`);
42
- try {
43
- const content = await fs.readFile(filepath, 'utf-8');
44
- return JSON.parse(content);
45
- }
46
- catch {
47
- return null;
48
- }
49
- }
50
- compressFileList(files) {
51
- if (files.length === 0)
52
- return 'No files changed';
53
- if (files.length <= 5)
54
- return files.join('\n');
55
- const dirCounts = new Map();
56
- for (const file of files) {
57
- const dir = path.dirname(file);
58
- dirCounts.set(dir, (dirCounts.get(dir) || 0) + 1);
59
- }
60
- const sorted = Array.from(dirCounts.entries())
61
- .sort((a, b) => b[1] - a[1]);
62
- const topDirs = sorted.slice(0, 5)
63
- .map(([dir, count]) => `${dir}/ (${count})`)
64
- .join(', ');
65
- return `Changed ${files.length} files in: ${topDirs}${sorted.length > 5 ? '...' : ''}`;
66
- }
67
- }
68
- //# sourceMappingURL=output-storage-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output-storage-manager.js","sourceRoot":"","sources":["../../src/core/output-storage-manager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export declare class OutputToolBuilder {
2
- private static mcpServer;
3
- static getMcpServer(): import("@anthropic-ai/claude-agent-sdk").McpSdkServerConfigWithInstance;
4
- static buildOutputInstructions(outputKeys?: string[]): string;
5
- }
6
- //# sourceMappingURL=output-tool-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output-tool-builder.d.ts","sourceRoot":"","sources":["../../src/core/output-tool-builder.ts"],"names":[],"mappings":"AASA,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAsD;IAM9E,MAAM,CAAC,YAAY;IAkCnB,MAAM,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;CAyB9D"}
@@ -1,50 +0,0 @@
1
- import { tool, createSdkMcpServer } from '@anthropic-ai/claude-agent-sdk';
2
- import { z } from 'zod';
3
- export class OutputToolBuilder {
4
- static mcpServer = null;
5
- static getMcpServer() {
6
- if (!this.mcpServer) {
7
- const reportTool = tool('report_outputs', 'Report stage outputs for the next pipeline stage. Call this tool when you complete your task to pass data to subsequent stages.', {
8
- outputs: z.record(z.string(), z.unknown()).describe('Stage outputs as key-value pairs')
9
- }, async (_args) => {
10
- return {
11
- content: [{
12
- type: 'text',
13
- text: 'Stage outputs recorded successfully. Your outputs will be available to the next pipeline stage.'
14
- }]
15
- };
16
- });
17
- this.mcpServer = createSdkMcpServer({
18
- name: 'pipeline-outputs',
19
- version: '1.0.0',
20
- tools: [reportTool]
21
- });
22
- }
23
- return this.mcpServer;
24
- }
25
- static buildOutputInstructions(outputKeys) {
26
- if (!outputKeys || outputKeys.length === 0) {
27
- return '';
28
- }
29
- return `
30
- ## Reporting Outputs
31
-
32
- When you complete your task, use the \`report_outputs\` tool to pass data to the next pipeline stage.
33
-
34
- **Expected outputs:**
35
- ${outputKeys.map(key => `- \`${key}\`: Value for ${key}`).join('\n')}
36
-
37
- **Example:**
38
- \`\`\`
39
- report_outputs({
40
- "outputs": {
41
- ${outputKeys.map(key => `"${key}": <your-value-here>`).join(',\n ')}
42
- }
43
- })
44
- \`\`\`
45
-
46
- **Important:** Call this tool even if your outputs are empty. Use appropriate data types (numbers, strings, booleans, objects, arrays).
47
- `.trim();
48
- }
49
- }
50
- //# sourceMappingURL=output-tool-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output-tool-builder.js","sourceRoot":"","sources":["../../src/core/output-tool-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAC,SAAS,GAAiD,IAAI,CAAC;IAM9E,MAAM,CAAC,YAAY;QACjB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,UAAU,GAAG,IAAI,CACrB,gBAAgB,EAChB,iIAAiI,EACjI;gBAEE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;aACxF,EACD,KAAK,EAAE,KAAK,EAAE,EAAE;gBAEd,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,iGAAiG;yBACxG,CAAC;iBACH,CAAC;YACJ,CAAC,CACF,CAAC;YAEF,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC;gBAClC,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,CAAC,UAAU,CAAC;aACpB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAMD,MAAM,CAAC,uBAAuB,CAAC,UAAqB;QAClD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO;;;;;;EAMT,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,iBAAiB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;MAM9D,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;;;;;;CAMzE,CAAC,IAAI,EAAE,CAAC;IACP,CAAC"}