agent-pipeline 0.1.0 → 0.1.1

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 (323) hide show
  1. package/CLAUDE.md +2 -3
  2. package/README.md +110 -55
  3. package/dist/cli/commands/agent/info.js +1 -1
  4. package/dist/cli/commands/agent/info.js.map +1 -1
  5. package/dist/cli/commands/agent/list.js +1 -1
  6. package/dist/cli/commands/agent/list.js.map +1 -1
  7. package/dist/cli/commands/agent/pull.d.ts +1 -0
  8. package/dist/cli/commands/agent/pull.d.ts.map +1 -1
  9. package/dist/cli/commands/agent/pull.js +67 -44
  10. package/dist/cli/commands/agent/pull.js.map +1 -1
  11. package/dist/cli/commands/cleanup.d.ts +4 -0
  12. package/dist/cli/commands/cleanup.d.ts.map +1 -1
  13. package/dist/cli/commands/cleanup.js +197 -37
  14. package/dist/cli/commands/cleanup.js.map +1 -1
  15. package/dist/cli/commands/history.d.ts.map +1 -1
  16. package/dist/cli/commands/history.js +3 -22
  17. package/dist/cli/commands/history.js.map +1 -1
  18. package/dist/cli/commands/hooks.d.ts +10 -0
  19. package/dist/cli/commands/hooks.d.ts.map +1 -0
  20. package/dist/cli/commands/hooks.js +88 -0
  21. package/dist/cli/commands/hooks.js.map +1 -0
  22. package/dist/cli/commands/init.d.ts +1 -6
  23. package/dist/cli/commands/init.d.ts.map +1 -1
  24. package/dist/cli/commands/init.js +173 -58
  25. package/dist/cli/commands/init.js.map +1 -1
  26. package/dist/cli/commands/loop-context.d.ts +2 -0
  27. package/dist/cli/commands/loop-context.d.ts.map +1 -0
  28. package/dist/cli/commands/loop-context.js +88 -0
  29. package/dist/cli/commands/loop-context.js.map +1 -0
  30. package/dist/cli/commands/pipeline/create.d.ts.map +1 -1
  31. package/dist/cli/commands/pipeline/create.js +156 -68
  32. package/dist/cli/commands/pipeline/create.js.map +1 -1
  33. package/dist/cli/commands/run.d.ts +1 -1
  34. package/dist/cli/commands/run.d.ts.map +1 -1
  35. package/dist/cli/commands/run.js +29 -5
  36. package/dist/cli/commands/run.js.map +1 -1
  37. package/dist/cli/commands/schema.d.ts +9 -0
  38. package/dist/cli/commands/schema.d.ts.map +1 -0
  39. package/dist/cli/commands/schema.js +541 -0
  40. package/dist/cli/commands/schema.js.map +1 -0
  41. package/dist/cli/commands/status.d.ts.map +1 -1
  42. package/dist/cli/commands/status.js +0 -6
  43. package/dist/cli/commands/status.js.map +1 -1
  44. package/dist/cli/help/index.d.ts +6 -0
  45. package/dist/cli/help/index.d.ts.map +1 -0
  46. package/dist/cli/help/index.js +538 -0
  47. package/dist/cli/help/index.js.map +1 -0
  48. package/dist/cli/help/types.d.ts +22 -0
  49. package/dist/cli/help/types.d.ts.map +1 -0
  50. package/dist/cli/help/types.js +2 -0
  51. package/dist/cli/help/types.js.map +1 -0
  52. package/dist/cli/hooks.d.ts +5 -1
  53. package/dist/cli/hooks.d.ts.map +1 -1
  54. package/dist/cli/hooks.js +106 -12
  55. package/dist/cli/hooks.js.map +1 -1
  56. package/dist/cli/templates/agents/code-review-agents/code-reviewer.md +46 -0
  57. package/dist/cli/templates/agents/code-review-agents/memory-doc-updater.md +189 -0
  58. package/dist/cli/templates/agents/code-review-agents/quality-checker.md +52 -0
  59. package/dist/cli/templates/agents/frontend-agents/brutalist_purist.md +563 -0
  60. package/dist/cli/templates/agents/frontend-agents/cyberpunk_hacker.md +824 -0
  61. package/dist/cli/templates/agents/frontend-agents/frontend-pipeline-ref.md +32 -0
  62. package/dist/cli/templates/agents/frontend-agents/indie_game_dev.md +715 -0
  63. package/dist/cli/templates/agents/frontend-agents/luxury_editorial.md +628 -0
  64. package/dist/cli/templates/agents/frontend-agents/product_owner.md +159 -0
  65. package/dist/cli/templates/agents/frontend-agents/retro_90s_webmaster.md +385 -0
  66. package/dist/cli/templates/agents/frontend-agents/showcase.md +362 -0
  67. package/dist/cli/templates/agents/frontend-agents/swiss_modernist.md +716 -0
  68. package/dist/cli/templates/agents/loop-agents/socratic-explorer.md +91 -0
  69. package/dist/cli/templates/instructions/handover.md +40 -0
  70. package/dist/cli/templates/instructions/loop.md +35 -0
  71. package/dist/cli/templates/pipelines/front-end-parallel-example.yml +81 -0
  72. package/dist/cli/templates/pipelines/loop-example.yml +25 -0
  73. package/dist/cli/templates/pipelines/post-commit-example.yml +49 -58
  74. package/dist/cli/templates/schema/pipeline-config.schema.json +400 -0
  75. package/dist/cli/templates/schema/pipeline-config.schema.yaml +301 -0
  76. package/dist/cli/utils/agent-importer.d.ts +1 -0
  77. package/dist/cli/utils/agent-importer.d.ts.map +1 -1
  78. package/dist/cli/utils/agent-importer.js +67 -0
  79. package/dist/cli/utils/agent-importer.js.map +1 -1
  80. package/dist/cli/utils/interactive-prompts.d.ts +4 -0
  81. package/dist/cli/utils/interactive-prompts.d.ts.map +1 -1
  82. package/dist/cli/utils/interactive-prompts.js +59 -13
  83. package/dist/cli/utils/interactive-prompts.js.map +1 -1
  84. package/dist/config/pipeline-loader.d.ts +4 -1
  85. package/dist/config/pipeline-loader.d.ts.map +1 -1
  86. package/dist/config/pipeline-loader.js +58 -0
  87. package/dist/config/pipeline-loader.js.map +1 -1
  88. package/dist/config/schema.d.ts +65 -35
  89. package/dist/config/schema.d.ts.map +1 -1
  90. package/dist/core/abort-controller.d.ts +16 -0
  91. package/dist/core/abort-controller.d.ts.map +1 -0
  92. package/dist/core/abort-controller.js +52 -0
  93. package/dist/core/abort-controller.js.map +1 -0
  94. package/dist/core/agent-query-runner.d.ts +0 -1
  95. package/dist/core/agent-query-runner.d.ts.map +1 -1
  96. package/dist/core/agent-query-runner.js +0 -22
  97. package/dist/core/agent-query-runner.js.map +1 -1
  98. package/dist/core/agent-runtimes/claude-code-headless-runtime.d.ts +5 -1
  99. package/dist/core/agent-runtimes/claude-code-headless-runtime.d.ts.map +1 -1
  100. package/dist/core/agent-runtimes/claude-code-headless-runtime.js +127 -12
  101. package/dist/core/agent-runtimes/claude-code-headless-runtime.js.map +1 -1
  102. package/dist/core/agent-runtimes/claude-sdk-runtime.d.ts +0 -2
  103. package/dist/core/agent-runtimes/claude-sdk-runtime.d.ts.map +1 -1
  104. package/dist/core/agent-runtimes/claude-sdk-runtime.js +1 -22
  105. package/dist/core/agent-runtimes/claude-sdk-runtime.js.map +1 -1
  106. package/dist/core/branch-manager.d.ts +3 -1
  107. package/dist/core/branch-manager.d.ts.map +1 -1
  108. package/dist/core/branch-manager.js +11 -1
  109. package/dist/core/branch-manager.js.map +1 -1
  110. package/dist/core/git-manager.d.ts +17 -1
  111. package/dist/core/git-manager.d.ts.map +1 -1
  112. package/dist/core/git-manager.js +147 -3
  113. package/dist/core/git-manager.js.map +1 -1
  114. package/dist/core/group-execution-orchestrator.d.ts +7 -13
  115. package/dist/core/group-execution-orchestrator.d.ts.map +1 -1
  116. package/dist/core/group-execution-orchestrator.js +53 -142
  117. package/dist/core/group-execution-orchestrator.js.map +1 -1
  118. package/dist/core/handover-manager.d.ts +24 -0
  119. package/dist/core/handover-manager.d.ts.map +1 -0
  120. package/dist/core/handover-manager.js +214 -0
  121. package/dist/core/handover-manager.js.map +1 -0
  122. package/dist/core/instruction-loader.d.ts +23 -0
  123. package/dist/core/instruction-loader.d.ts.map +1 -0
  124. package/dist/core/instruction-loader.js +112 -0
  125. package/dist/core/instruction-loader.js.map +1 -0
  126. package/dist/core/loop-state-manager.d.ts +12 -7
  127. package/dist/core/loop-state-manager.d.ts.map +1 -1
  128. package/dist/core/loop-state-manager.js +49 -3
  129. package/dist/core/loop-state-manager.js.map +1 -1
  130. package/dist/core/parallel-executor.d.ts +12 -3
  131. package/dist/core/parallel-executor.d.ts.map +1 -1
  132. package/dist/core/parallel-executor.js +92 -14
  133. package/dist/core/parallel-executor.js.map +1 -1
  134. package/dist/core/pipeline-finalizer.d.ts +12 -4
  135. package/dist/core/pipeline-finalizer.d.ts.map +1 -1
  136. package/dist/core/pipeline-finalizer.js +244 -33
  137. package/dist/core/pipeline-finalizer.js.map +1 -1
  138. package/dist/core/pipeline-initializer.d.ts +13 -5
  139. package/dist/core/pipeline-initializer.d.ts.map +1 -1
  140. package/dist/core/pipeline-initializer.js +53 -25
  141. package/dist/core/pipeline-initializer.js.map +1 -1
  142. package/dist/core/pipeline-runner.d.ts +13 -1
  143. package/dist/core/pipeline-runner.d.ts.map +1 -1
  144. package/dist/core/pipeline-runner.js +352 -60
  145. package/dist/core/pipeline-runner.js.map +1 -1
  146. package/dist/core/pr-creator.d.ts +0 -1
  147. package/dist/core/pr-creator.d.ts.map +1 -1
  148. package/dist/core/pr-creator.js +12 -4
  149. package/dist/core/pr-creator.js.map +1 -1
  150. package/dist/core/stage-executor.d.ts +17 -9
  151. package/dist/core/stage-executor.d.ts.map +1 -1
  152. package/dist/core/stage-executor.js +152 -166
  153. package/dist/core/stage-executor.js.map +1 -1
  154. package/dist/core/types/agent-runtime.d.ts +3 -2
  155. package/dist/core/types/agent-runtime.d.ts.map +1 -1
  156. package/dist/core/worktree-manager.d.ts +21 -0
  157. package/dist/core/worktree-manager.d.ts.map +1 -0
  158. package/dist/core/worktree-manager.js +133 -0
  159. package/dist/core/worktree-manager.js.map +1 -0
  160. package/dist/index.js +118 -112
  161. package/dist/index.js.map +1 -1
  162. package/dist/notifications/notification-manager.d.ts +1 -0
  163. package/dist/notifications/notification-manager.d.ts.map +1 -1
  164. package/dist/notifications/notification-manager.js +17 -3
  165. package/dist/notifications/notification-manager.js.map +1 -1
  166. package/dist/notifications/notifiers/local-notifier.d.ts.map +1 -1
  167. package/dist/notifications/notifiers/local-notifier.js +5 -2
  168. package/dist/notifications/notifiers/local-notifier.js.map +1 -1
  169. package/dist/notifications/notifiers/slack-notifier.d.ts.map +1 -1
  170. package/dist/notifications/notifiers/slack-notifier.js +39 -8
  171. package/dist/notifications/notifiers/slack-notifier.js.map +1 -1
  172. package/dist/notifications/types.d.ts +1 -1
  173. package/dist/notifications/types.d.ts.map +1 -1
  174. package/dist/ui/components/execution-group.d.ts.map +1 -1
  175. package/dist/ui/components/execution-group.js +1 -1
  176. package/dist/ui/components/execution-group.js.map +1 -1
  177. package/dist/ui/components/interactive-summary.d.ts +9 -0
  178. package/dist/ui/components/interactive-summary.d.ts.map +1 -0
  179. package/dist/ui/components/interactive-summary.js +166 -0
  180. package/dist/ui/components/interactive-summary.js.map +1 -0
  181. package/dist/ui/components/keyboard-hints.d.ts +12 -0
  182. package/dist/ui/components/keyboard-hints.d.ts.map +1 -0
  183. package/dist/ui/components/keyboard-hints.js +13 -0
  184. package/dist/ui/components/keyboard-hints.js.map +1 -0
  185. package/dist/ui/components/live-timer.d.ts +9 -0
  186. package/dist/ui/components/live-timer.d.ts.map +1 -0
  187. package/dist/ui/components/live-timer.js +25 -0
  188. package/dist/ui/components/live-timer.js.map +1 -0
  189. package/dist/ui/components/loop-iteration-history.d.ts +8 -0
  190. package/dist/ui/components/loop-iteration-history.d.ts.map +1 -0
  191. package/dist/ui/components/loop-iteration-history.js +106 -0
  192. package/dist/ui/components/loop-iteration-history.js.map +1 -0
  193. package/dist/ui/components/loop-session-summary.d.ts +9 -0
  194. package/dist/ui/components/loop-session-summary.d.ts.map +1 -0
  195. package/dist/ui/components/loop-session-summary.js +39 -0
  196. package/dist/ui/components/loop-session-summary.js.map +1 -0
  197. package/dist/ui/components/stage-row.d.ts +0 -1
  198. package/dist/ui/components/stage-row.d.ts.map +1 -1
  199. package/dist/ui/components/stage-row.js +5 -15
  200. package/dist/ui/components/stage-row.js.map +1 -1
  201. package/dist/ui/components/status-badge.d.ts.map +1 -1
  202. package/dist/ui/components/status-badge.js +1 -0
  203. package/dist/ui/components/status-badge.js.map +1 -1
  204. package/dist/ui/pipeline-ui.d.ts +1 -0
  205. package/dist/ui/pipeline-ui.d.ts.map +1 -1
  206. package/dist/ui/pipeline-ui.js +22 -18
  207. package/dist/ui/pipeline-ui.js.map +1 -1
  208. package/dist/utils/error-factory.d.ts.map +1 -1
  209. package/dist/utils/error-factory.js +10 -2
  210. package/dist/utils/error-factory.js.map +1 -1
  211. package/dist/utils/pipeline-formatter.d.ts +8 -2
  212. package/dist/utils/pipeline-formatter.d.ts.map +1 -1
  213. package/dist/utils/pipeline-formatter.js +30 -26
  214. package/dist/utils/pipeline-formatter.js.map +1 -1
  215. package/dist/utils/pipeline-logger.d.ts +19 -0
  216. package/dist/utils/pipeline-logger.d.ts.map +1 -0
  217. package/dist/utils/pipeline-logger.js +80 -0
  218. package/dist/utils/pipeline-logger.js.map +1 -0
  219. package/dist/utils/platform-opener.d.ts +4 -0
  220. package/dist/utils/platform-opener.d.ts.map +1 -0
  221. package/dist/utils/platform-opener.js +52 -0
  222. package/dist/utils/platform-opener.js.map +1 -0
  223. package/dist/validators/agent-validator.d.ts +10 -0
  224. package/dist/validators/agent-validator.d.ts.map +1 -0
  225. package/dist/validators/agent-validator.js +87 -0
  226. package/dist/validators/agent-validator.js.map +1 -0
  227. package/dist/validators/dag-validator.d.ts +9 -0
  228. package/dist/validators/dag-validator.d.ts.map +1 -0
  229. package/dist/validators/dag-validator.js +51 -0
  230. package/dist/validators/dag-validator.js.map +1 -0
  231. package/dist/validators/environment-validator.d.ts +9 -0
  232. package/dist/validators/environment-validator.d.ts.map +1 -0
  233. package/dist/validators/environment-validator.js +35 -0
  234. package/dist/validators/environment-validator.js.map +1 -0
  235. package/dist/validators/execution-validator.d.ts +8 -0
  236. package/dist/validators/execution-validator.d.ts.map +1 -0
  237. package/dist/validators/execution-validator.js +51 -0
  238. package/dist/validators/execution-validator.js.map +1 -0
  239. package/dist/validators/git-validator.d.ts +13 -0
  240. package/dist/validators/git-validator.d.ts.map +1 -0
  241. package/dist/validators/git-validator.js +135 -0
  242. package/dist/validators/git-validator.js.map +1 -0
  243. package/dist/validators/notification-validator.d.ts +8 -0
  244. package/dist/validators/notification-validator.d.ts.map +1 -0
  245. package/dist/validators/notification-validator.js +27 -0
  246. package/dist/validators/notification-validator.js.map +1 -0
  247. package/dist/validators/pipeline-validator.d.ts +3 -26
  248. package/dist/validators/pipeline-validator.d.ts.map +1 -1
  249. package/dist/validators/pipeline-validator.js +5 -515
  250. package/dist/validators/pipeline-validator.js.map +1 -1
  251. package/dist/validators/retry-validator.d.ts +9 -0
  252. package/dist/validators/retry-validator.d.ts.map +1 -0
  253. package/dist/validators/retry-validator.js +34 -0
  254. package/dist/validators/retry-validator.js.map +1 -0
  255. package/dist/validators/runtime-validator.d.ts +9 -0
  256. package/dist/validators/runtime-validator.d.ts.map +1 -0
  257. package/dist/validators/runtime-validator.js +82 -0
  258. package/dist/validators/runtime-validator.js.map +1 -0
  259. package/dist/validators/structure-validator.d.ts +8 -0
  260. package/dist/validators/structure-validator.d.ts.map +1 -0
  261. package/dist/validators/structure-validator.js +39 -0
  262. package/dist/validators/structure-validator.js.map +1 -0
  263. package/dist/validators/types.d.ts +19 -0
  264. package/dist/validators/types.d.ts.map +1 -0
  265. package/dist/validators/types.js +2 -0
  266. package/dist/validators/types.js.map +1 -0
  267. package/dist/validators/validation-orchestrator.d.ts +9 -0
  268. package/dist/validators/validation-orchestrator.d.ts.map +1 -0
  269. package/dist/validators/validation-orchestrator.js +43 -0
  270. package/dist/validators/validation-orchestrator.js.map +1 -0
  271. package/package.json +17 -11
  272. package/dist/cli/commands/install.d.ts +0 -2
  273. package/dist/cli/commands/install.d.ts.map +0 -1
  274. package/dist/cli/commands/install.js +0 -15
  275. package/dist/cli/commands/install.js.map +0 -1
  276. package/dist/cli/commands/uninstall.d.ts +0 -2
  277. package/dist/cli/commands/uninstall.d.ts.map +0 -1
  278. package/dist/cli/commands/uninstall.js +0 -6
  279. package/dist/cli/commands/uninstall.js.map +0 -1
  280. package/dist/cli/templates/agents/cleanup-reporter.md +0 -107
  281. package/dist/cli/templates/agents/code-reducer.md +0 -51
  282. package/dist/cli/templates/agents/code-reviewer.md +0 -34
  283. package/dist/cli/templates/agents/context-reducer.md +0 -94
  284. package/dist/cli/templates/agents/dependency-auditor.md +0 -127
  285. package/dist/cli/templates/agents/detective-empath.md +0 -26
  286. package/dist/cli/templates/agents/detective-linguist.md +0 -26
  287. package/dist/cli/templates/agents/detective-logician.md +0 -26
  288. package/dist/cli/templates/agents/detective-skeptic.md +0 -26
  289. package/dist/cli/templates/agents/detective-statistician.md +0 -26
  290. package/dist/cli/templates/agents/doc-updater.md +0 -30
  291. package/dist/cli/templates/agents/judge.md +0 -27
  292. package/dist/cli/templates/agents/memory-updater.md +0 -72
  293. package/dist/cli/templates/agents/quality-checker.md +0 -32
  294. package/dist/cli/templates/agents/security-auditor.md +0 -32
  295. package/dist/cli/templates/agents/storyteller.md +0 -26
  296. package/dist/cli/templates/agents/summary.md +0 -32
  297. package/dist/cli/templates/agents/synthesizer.md +0 -26
  298. package/dist/cli/templates/pipelines/large-pipeline-example.yml +0 -178
  299. package/dist/cli/templates/pipelines/post-merge-example.yml +0 -78
  300. package/dist/cli/templates/pipelines/pre-commit-example.yml +0 -41
  301. package/dist/cli/templates/pipelines/pre-push-example.yml +0 -51
  302. package/dist/cli/templates/pipelines/test-pipeline.yml +0 -90
  303. package/dist/config/project-config-loader.d.ts +0 -11
  304. package/dist/config/project-config-loader.d.ts.map +0 -1
  305. package/dist/config/project-config-loader.js +0 -100
  306. package/dist/config/project-config-loader.js.map +0 -1
  307. package/dist/core/condition-evaluator.d.ts +0 -16
  308. package/dist/core/condition-evaluator.d.ts.map +0 -1
  309. package/dist/core/condition-evaluator.js +0 -121
  310. package/dist/core/condition-evaluator.js.map +0 -1
  311. package/dist/core/context-reducer.d.ts +0 -15
  312. package/dist/core/context-reducer.d.ts.map +0 -1
  313. package/dist/core/context-reducer.js +0 -224
  314. package/dist/core/context-reducer.js.map +0 -1
  315. package/dist/core/output-storage-manager.d.ts +0 -14
  316. package/dist/core/output-storage-manager.d.ts.map +0 -1
  317. package/dist/core/output-storage-manager.js +0 -68
  318. package/dist/core/output-storage-manager.js.map +0 -1
  319. package/dist/core/output-tool-builder.d.ts +0 -6
  320. package/dist/core/output-tool-builder.d.ts.map +0 -1
  321. package/dist/core/output-tool-builder.js +0 -50
  322. package/dist/core/output-tool-builder.js.map +0 -1
  323. /package/{license → LICENSE} +0 -0
@@ -1,25 +1,48 @@
1
1
  import * as fs from 'fs/promises';
2
+ import { GitManager } from './git-manager.js';
2
3
  import { RetryHandler } from './retry-handler.js';
3
4
  import { AgentRuntimeRegistry } from './agent-runtime-registry.js';
4
- import { OutputToolBuilder } from './output-tool-builder.js';
5
- import { OutputStorageManager } from './output-storage-manager.js';
6
5
  import { PipelineFormatter } from '../utils/pipeline-formatter.js';
7
6
  import { ErrorFactory } from '../utils/error-factory.js';
8
7
  import { TokenEstimator } from '../utils/token-estimator.js';
8
+ import { InstructionLoader } from './instruction-loader.js';
9
9
  export class StageExecutor {
10
10
  gitManager;
11
11
  dryRun;
12
+ handoverManager;
12
13
  defaultRuntime;
13
14
  loopContext;
14
15
  retryHandler;
15
- outputStorageManager;
16
- constructor(gitManager, dryRun, runId, repoPath, defaultRuntime, loopContext) {
16
+ instructionLoader;
17
+ worktreeGitManager = null;
18
+ executionCwd;
19
+ mainRepoPath;
20
+ loggingContext;
21
+ abortController;
22
+ constructor(gitManager, dryRun, handoverManager, defaultRuntime, loopContext, repoPath, executionRepoPath, loggingContext, abortController) {
17
23
  this.gitManager = gitManager;
18
24
  this.dryRun = dryRun;
25
+ this.handoverManager = handoverManager;
19
26
  this.defaultRuntime = defaultRuntime;
20
27
  this.loopContext = loopContext;
21
28
  this.retryHandler = new RetryHandler();
22
- this.outputStorageManager = new OutputStorageManager(repoPath, runId);
29
+ this.instructionLoader = repoPath ? new InstructionLoader(repoPath) : null;
30
+ this.mainRepoPath = repoPath;
31
+ this.loggingContext = loggingContext ?? { interactive: true, verbose: false };
32
+ this.abortController = abortController;
33
+ if (executionRepoPath && executionRepoPath !== repoPath) {
34
+ this.worktreeGitManager = new GitManager(executionRepoPath);
35
+ this.executionCwd = executionRepoPath;
36
+ }
37
+ }
38
+ shouldLog() {
39
+ return !this.loggingContext.interactive || this.loggingContext.verbose;
40
+ }
41
+ isVerbose() {
42
+ return this.loggingContext.verbose;
43
+ }
44
+ getExecutionGitManager() {
45
+ return this.worktreeGitManager || this.gitManager;
23
46
  }
24
47
  buildClaudeAgentOptions(stageConfig, pipelineState) {
25
48
  const stageSettings = stageConfig.runtime?.options;
@@ -40,19 +63,27 @@ export class StageExecutor {
40
63
  try {
41
64
  const stageRuntimeType = stageConfig.runtime?.type;
42
65
  if (stageRuntimeType) {
43
- console.log(` Using stage-level runtime: ${stageRuntimeType}`);
66
+ if (this.isVerbose()) {
67
+ console.log(` Using stage-level runtime: ${stageRuntimeType}`);
68
+ }
44
69
  return AgentRuntimeRegistry.getRuntime(stageRuntimeType);
45
70
  }
46
71
  const pipelineRuntimeType = pipelineState.pipelineConfig.runtime?.type;
47
72
  if (pipelineRuntimeType) {
48
- console.log(` Using pipeline-level runtime: ${pipelineRuntimeType}`);
73
+ if (this.isVerbose()) {
74
+ console.log(` Using pipeline-level runtime: ${pipelineRuntimeType}`);
75
+ }
49
76
  return AgentRuntimeRegistry.getRuntime(pipelineRuntimeType);
50
77
  }
51
78
  if (this.defaultRuntime) {
52
- console.log(` Using injected default runtime`);
79
+ if (this.isVerbose()) {
80
+ console.log(` Using injected default runtime`);
81
+ }
53
82
  return this.defaultRuntime;
54
83
  }
55
- console.log(` Using global default runtime: claude-code-headless`);
84
+ if (this.isVerbose()) {
85
+ console.log(` Using global default runtime: claude-code-headless`);
86
+ }
56
87
  return AgentRuntimeRegistry.getRuntime('claude-code-headless');
57
88
  }
58
89
  catch (error) {
@@ -82,6 +113,7 @@ export class StageExecutor {
82
113
  maxRetries: stageConfig.retry?.maxAttempts || 0
83
114
  };
84
115
  const runtime = this.resolveStageRuntime(stageConfig, pipelineState);
116
+ await this.handoverManager.createStageDirectory(stageConfig.name);
85
117
  const executeAttempt = async () => {
86
118
  const systemPrompt = await this.loadSystemPrompt(stageConfig.agent);
87
119
  const userPrompt = await this.buildUserPrompt(stageConfig, pipelineState);
@@ -90,11 +122,14 @@ export class StageExecutor {
90
122
  tokenEstimator.dispose();
91
123
  const claudeAgentOptions = this.buildClaudeAgentOptions(stageConfig, pipelineState);
92
124
  const retryInfo = PipelineFormatter.formatRetryInfo(execution.retryAttempt, execution.maxRetries);
93
- console.log(`🤖 Running stage: ${stageConfig.name}${retryInfo}...`);
94
- console.log(` Estimated input: ~${PipelineFormatter.formatTokenCount(estimatedTokens)} tokens`);
95
- const result = await this.runAgentWithTimeout(runtime, userPrompt, systemPrompt, stageConfig.timeout, stageConfig.outputs, pipelineState.pipelineConfig.settings?.permissionMode || 'acceptEdits', claudeAgentOptions, onOutputUpdate);
125
+ if (this.shouldLog()) {
126
+ console.log(`▶ ${stageConfig.name}${retryInfo}...`);
127
+ if (this.isVerbose()) {
128
+ console.log(` Estimated initial input: ~${PipelineFormatter.formatTokenCount(estimatedTokens)} tokens`);
129
+ }
130
+ }
131
+ const result = await this.runAgentWithTimeout(runtime, userPrompt, systemPrompt, stageConfig.timeout, pipelineState.pipelineConfig.execution?.permissionMode || 'acceptEdits', claudeAgentOptions, onOutputUpdate);
96
132
  execution.agentOutput = result.textOutput;
97
- execution.extractedData = result.extractedData;
98
133
  if (result.tokenUsage) {
99
134
  execution.tokenUsage = {
100
135
  estimated_input: estimatedTokens,
@@ -106,44 +141,29 @@ export class StageExecutor {
106
141
  thinking_tokens: result.tokenUsage.thinkingTokens
107
142
  };
108
143
  }
109
- const contextReductionConfig = pipelineState.pipelineConfig.settings?.contextReduction;
110
- const requireSummary = contextReductionConfig?.requireSummary ?? true;
111
- if (execution.extractedData) {
112
- if (requireSummary && !execution.extractedData.summary) {
113
- console.warn(`⚠️ Stage '${stageConfig.name}' did not provide 'summary' field. ` +
114
- `Context reduction may be less effective for downstream stages.`);
115
- }
116
- if (stageConfig.outputs && stageConfig.outputs.length > 0) {
117
- const missing = stageConfig.outputs.filter(key => !(key in execution.extractedData));
118
- if (missing.length > 0) {
119
- console.warn(`⚠️ Stage '${stageConfig.name}' did not provide expected outputs: ${missing.join(', ')}`);
120
- }
121
- }
122
- }
123
- else if (stageConfig.outputs && stageConfig.outputs.length > 0) {
124
- console.warn(`⚠️ Stage '${stageConfig.name}' did not call report_outputs tool. ` +
125
- `Expected outputs: ${stageConfig.outputs.join(', ')}`);
126
- }
127
- if (pipelineState.pipelineConfig.settings?.contextReduction?.saveVerboseOutputs !== false) {
128
- const outputFiles = await this.outputStorageManager.saveStageOutputs(stageConfig.name, execution.extractedData, execution.agentOutput || '');
129
- execution.outputFiles = outputFiles;
130
- }
131
- const globalAutoCommit = pipelineState.pipelineConfig.settings?.autoCommit;
132
- const stageAutoCommit = stageConfig.autoCommit ?? globalAutoCommit ?? true;
133
- const shouldCommit = stageAutoCommit && !this.dryRun;
144
+ await this.handoverManager.saveAgentOutput(stageConfig.name, execution.agentOutput || '');
145
+ const execGitManager = this.getExecutionGitManager();
146
+ const gitConfig = pipelineState.pipelineConfig.git;
147
+ const autoCommit = gitConfig ? (gitConfig.autoCommit ?? true) : false;
148
+ const shouldCommit = autoCommit && !this.dryRun;
134
149
  if (shouldCommit) {
135
- const commitSha = await this.gitManager.createPipelineCommit(stageConfig.name, pipelineState.runId, stageConfig.commitMessage);
150
+ const commitPrefix = pipelineState.pipelineConfig.git?.commitPrefix;
151
+ const commitSha = await execGitManager.createPipelineCommit(stageConfig.name, pipelineState.runId, undefined, commitPrefix);
136
152
  if (commitSha) {
137
153
  execution.commitSha = commitSha;
138
- execution.commitMessage = await this.gitManager.getCommitMessage(commitSha);
139
- console.log(`✅ Committed changes: ${commitSha.substring(0, 7)}`);
154
+ execution.commitMessage = await execGitManager.getCommitMessage(commitSha);
155
+ if (this.isVerbose()) {
156
+ console.log(`✅ Committed changes: ${commitSha.substring(0, 7)}`);
157
+ }
140
158
  }
141
- else {
159
+ else if (this.isVerbose()) {
142
160
  console.log(`ℹ️ No changes to commit`);
143
161
  }
144
162
  }
145
- else if (this.dryRun && await this.gitManager.hasUncommittedChanges()) {
146
- console.log(`💡 Would commit changes (dry-run mode)`);
163
+ else if (this.dryRun && await execGitManager.hasUncommittedChanges()) {
164
+ if (this.isVerbose()) {
165
+ console.log(`💡 Would commit changes (dry-run mode)`);
166
+ }
147
167
  }
148
168
  };
149
169
  try {
@@ -153,19 +173,21 @@ export class StageExecutor {
153
173
  const errorMsg = context.lastError instanceof Error
154
174
  ? context.lastError.message
155
175
  : String(context.lastError);
156
- console.log(`⚠️ Stage failed (attempt ${context.attemptNumber + 1}/${context.maxAttempts}). ` +
157
- `Retrying in ${RetryHandler.formatDelay(delay)}...`);
158
- console.log(` Error: ${errorMsg}`);
176
+ if (this.shouldLog()) {
177
+ console.log(`⚠️ Stage failed (attempt ${context.attemptNumber + 1}/${context.maxAttempts}). ` +
178
+ `Retrying in ${RetryHandler.formatDelay(delay)}...`);
179
+ console.log(` Error: ${errorMsg}`);
180
+ }
159
181
  });
160
182
  execution.status = 'success';
161
183
  execution.endTime = new Date().toISOString();
162
184
  execution.duration = this.calculateDuration(execution);
163
- console.log(`✅ Stage completed: ${stageConfig.name}`);
164
- if (execution.tokenUsage) {
165
- console.log(` ${PipelineFormatter.formatTokenUsage(execution.tokenUsage)} | Duration: ${execution.duration.toFixed(1)}s`);
166
- }
167
- else {
168
- console.log(` Duration: ${execution.duration.toFixed(1)}s`);
185
+ await this.handoverManager.appendToLog(stageConfig.name, 'success', execution.duration, `Completed ${stageConfig.name}`);
186
+ if (this.shouldLog()) {
187
+ console.log(`✅ ${stageConfig.name} (${execution.duration.toFixed(0)}s)`);
188
+ if (this.isVerbose() && execution.tokenUsage) {
189
+ console.log(` ${PipelineFormatter.formatTokenUsage(execution.tokenUsage)}`);
190
+ }
169
191
  }
170
192
  return execution;
171
193
  }
@@ -175,41 +197,29 @@ export class StageExecutor {
175
197
  execution.duration = this.calculateDuration(execution);
176
198
  const errorDetails = ErrorFactory.createStageError(error, stageConfig.agent);
177
199
  execution.error = errorDetails;
178
- const retryInfo = execution.retryAttempt && execution.retryAttempt > 0
179
- ? ` (after ${execution.retryAttempt} retries)`
180
- : '';
181
- console.error(`❌ Stage failed: ${stageConfig.name}${retryInfo}`);
182
- console.error(` Error: ${errorDetails.message}`);
183
- if (errorDetails.agentPath) {
184
- console.error(` Agent: ${errorDetails.agentPath}`);
185
- }
186
- if (errorDetails.suggestion) {
187
- console.error(` 💡 ${errorDetails.suggestion}`);
200
+ if (this.shouldLog()) {
201
+ console.error(`❌ ${stageConfig.name} (${execution.duration.toFixed(0)}s)`);
202
+ console.error(` Error: ${errorDetails.message}`);
203
+ if (errorDetails.suggestion) {
204
+ console.error(` 💡 ${errorDetails.suggestion}`);
205
+ }
206
+ if (this.isVerbose() && errorDetails.agentPath) {
207
+ console.error(` Agent: ${errorDetails.agentPath}`);
208
+ }
188
209
  }
189
210
  return execution;
190
211
  }
191
212
  }
192
213
  async buildAgentContext(stageConfig, pipelineState) {
193
- const config = pipelineState.pipelineConfig.settings?.contextReduction || {
194
- enabled: true,
195
- maxTokens: 50000,
196
- strategy: 'summary-based',
197
- contextWindow: 3,
198
- requireSummary: true,
199
- saveVerboseOutputs: true,
200
- compressFileList: true
201
- };
202
- const previousStages = pipelineState.stages.filter(s => s.status === 'success');
203
- const contextWindow = config.contextWindow || 3;
204
- const recentStages = previousStages.slice(-contextWindow);
205
- const olderStages = previousStages.slice(0, -contextWindow);
206
- const recentStagesContext = this.buildRecentStagesContext(recentStages, pipelineState.runId);
207
- const olderStagesContext = this.buildOlderStagesContext(olderStages, pipelineState.runId);
208
- const changedFilesContext = config.compressFileList
209
- ? this.buildCompressedFilesContext(pipelineState)
210
- : this.buildFullFilesContext(pipelineState);
211
- const outputInstructions = OutputToolBuilder.buildOutputInstructions(stageConfig.outputs);
212
- const loopContextSection = this.buildLoopContextSection();
214
+ const previousStages = await this.handoverManager.getPreviousStages();
215
+ const handoverInstructions = pipelineState.pipelineConfig.handover?.instructions;
216
+ const handoverContext = await this.handoverManager.buildContextMessageAsync(stageConfig.name, previousStages, handoverInstructions);
217
+ const loopInstructions = pipelineState.pipelineConfig.looping?.instructions;
218
+ const loopContextSection = await this.buildLoopContextSectionAsync(loopInstructions, pipelineState.pipelineConfig.name);
219
+ const inputsSection = stageConfig.inputs && Object.keys(stageConfig.inputs).length > 0
220
+ ? `## User Inputs to Help with Your Task\n${Object.entries(stageConfig.inputs).map(([key, value]) => `- **${key}**: ${value}`).join('\n')}`
221
+ : '';
222
+ const executionEnvSection = this.buildExecutionEnvironmentSection();
213
223
  const context = `
214
224
  # Pipeline Context
215
225
 
@@ -217,104 +227,79 @@ export class StageExecutor {
217
227
  **Current Stage:** ${stageConfig.name}
218
228
  **Trigger Commit:** ${pipelineState.trigger.commitSha}
219
229
 
220
- ${recentStagesContext}
221
-
222
- ${olderStagesContext}
230
+ ${executionEnvSection}
223
231
 
224
- ${changedFilesContext}
232
+ ${handoverContext}
225
233
 
226
234
  ${loopContextSection}
227
235
 
228
- ## Your Task
229
- ${JSON.stringify(stageConfig.inputs || {}, null, 2)}
230
-
231
- ${outputInstructions ? `\n${outputInstructions}\n` : ''}
232
-
233
- ---
234
- **Note:** Use the Read tool to access full outputs if you need detailed information.
236
+ ${inputsSection}
235
237
  `.trim();
236
- if (config.enabled) {
237
- await this.checkContextTokens(context, config);
238
- }
239
238
  return context;
240
239
  }
241
- buildRecentStagesContext(recentStages, _runId) {
242
- if (recentStages.length === 0)
243
- return '';
244
- const stageContexts = recentStages.map(s => {
245
- const summary = s.extractedData?.summary
246
- ? String(s.extractedData.summary)
247
- : 'No summary provided';
248
- const keyMetrics = Object.entries(s.extractedData || {})
249
- .filter(([key]) => key !== 'summary')
250
- .map(([key, value]) => `${key}=${value}`)
251
- .join(', ');
252
- const fileReference = s.outputFiles?.structured
253
- ? `- **Full Output:** ${s.outputFiles.structured}`
254
- : '';
255
- return `
256
- ### ${s.stageName}
257
- - **Summary:** ${summary}
258
- ${keyMetrics ? `- **Key Metrics:** ${keyMetrics}` : ''}
259
- - **Commit:** ${s.commitSha || 'No commit'}
260
- ${fileReference}
261
- `.trim();
262
- }).join('\n\n');
263
- return `## Previous Stages (Last ${recentStages.length} in context window)\n\n${stageContexts}`;
264
- }
265
- buildOlderStagesContext(olderStages, runId) {
266
- if (olderStages.length === 0)
267
- return '';
268
- const stageNames = olderStages.map(s => s.stageName).join(', ');
269
- return `## Earlier Stages\nStages ${stageNames} completed. Full history: .agent-pipeline/outputs/${runId}/pipeline-summary.json\n`;
270
- }
271
- buildCompressedFilesContext(pipelineState) {
272
- const compressed = this.outputStorageManager.compressFileList(pipelineState.artifacts.changedFiles);
273
- return `## Changed Files Summary
274
- ${compressed}
275
- Full list: .agent-pipeline/outputs/${pipelineState.runId}/changed-files.txt`;
240
+ buildExecutionEnvironmentSection() {
241
+ const workingDir = this.executionCwd || this.mainRepoPath || process.cwd();
242
+ const isWorktree = !!this.executionCwd;
243
+ let section = `## Execution Environment
244
+
245
+ **Working Directory:** \`${workingDir}\``;
246
+ if (isWorktree && this.mainRepoPath) {
247
+ section += `
248
+ **Main Repository:** \`${this.mainRepoPath}\`
249
+ **Execution Mode:** Worktree isolation
250
+
251
+ You are running in a git worktree located within the main repository directory. Your code changes go in the working directory. Handover files (output.md) use absolute paths pointing to the main repository—write to them directly as shown below.`;
252
+ }
253
+ return section;
276
254
  }
277
- buildFullFilesContext(pipelineState) {
278
- const files = pipelineState.artifacts.changedFiles.join('\n');
279
- return `## Changed Files\n${files}`;
255
+ updateLoopContext(updates) {
256
+ if (this.loopContext) {
257
+ this.loopContext = { ...this.loopContext, ...updates };
258
+ }
280
259
  }
281
- buildLoopContextSection() {
282
- if (!this.loopContext?.enabled) {
260
+ async buildLoopContextSectionAsync(customPath, pipelineName) {
261
+ if (!this.loopContext?.enabled || !this.loopContext?.isFinalGroup) {
283
262
  return '';
284
263
  }
264
+ if (this.instructionLoader) {
265
+ const context = {
266
+ pendingDir: this.loopContext.directories.pending,
267
+ currentIteration: this.loopContext.currentIteration,
268
+ maxIterations: this.loopContext.maxIterations,
269
+ pipelineName
270
+ };
271
+ return this.instructionLoader.loadLoopInstructions(customPath, context);
272
+ }
273
+ const pipelineRef = pipelineName
274
+ ? `Reference: \`.agent-pipeline/pipelines/${pipelineName}.yml\``
275
+ : 'Use same format as `.agent-pipeline/pipelines/`';
285
276
  return `
286
277
  ## Pipeline Looping
287
278
 
288
- This pipeline is running in LOOP MODE. After completion, the orchestrator will check for the next pipeline to run.
279
+ This pipeline is running in LOOP MODE. You are in the FINAL stage group.
289
280
 
290
- **To queue the next pipeline:**
291
- - Write a valid pipeline YAML file to: \`${this.loopContext.directories.pending}\`
292
- - The file will be automatically picked up and executed after this pipeline completes
293
- - Use the same format as regular pipeline definitions in \`.agent-pipeline/pipelines/\`
281
+ **When to Create a Next Pipeline:**
282
+ Create a pipeline in the pending directory ONLY when:
283
+ 1. You discovered unexpected new work outside your current scope
284
+ 2. You have a task that explicitly calls for the next agent (like "Pass to the next agent")
285
+ 3. You are finishing a phase in a multi-phase plan and more phases remain
286
+ - Create a pipeline for the NEXT PHASE ONLY (not all remaining phases)
294
287
 
295
- **Current loop status:**
296
- - Iteration: ${this.loopContext.currentIteration}/${this.loopContext.maxIterations}
297
- - Pending directory: \`${this.loopContext.directories.pending}\`
288
+ **When NOT to Create a Next Pipeline:**
289
+ - Your task is complete with no follow-up needed
290
+ - The work is a simple fix that doesn't warrant a new pipeline
291
+ - Subsequent work is better handled by a human
298
292
 
299
- **Note:** Only create a next pipeline if your analysis determines follow-up work is needed.
293
+ **To queue the next pipeline:**
294
+ - Write a valid pipeline YAML to: \`${this.loopContext.directories.pending}\`
295
+ - Automatically picked up after this pipeline completes
296
+ - ${pipelineRef}
297
+
298
+ **Loop status:** Iteration ${this.loopContext.currentIteration}/${this.loopContext.maxIterations}
300
299
  `.trim();
301
300
  }
302
- async checkContextTokens(context, config) {
303
- const tokenEstimator = new TokenEstimator();
304
- const { tokens, method } = await tokenEstimator.smartCount(context, config.maxTokens);
305
- tokenEstimator.dispose();
306
- const percentage = (tokens / config.maxTokens) * 100;
307
- if (tokens > config.maxTokens) {
308
- console.warn(`⚠️ Context size (${PipelineFormatter.formatTokenCount(tokens)} tokens, ${percentage.toFixed(0)}%) ` +
309
- `exceeds limit (${PipelineFormatter.formatTokenCount(config.maxTokens)}). ` +
310
- `Consider reducing contextWindow or using agent-based reduction.`);
311
- }
312
- else if (tokens > config.maxTokens * 0.8) {
313
- console.log(`ℹ️ Context size: ${PipelineFormatter.formatTokenCount(tokens)} tokens ` +
314
- `(${method}, ${percentage.toFixed(0)}% of limit, approaching threshold)`);
315
- }
316
- }
317
- async runAgentWithTimeout(runtime, userPrompt, systemPrompt, timeoutSeconds, outputKeys, permissionMode = 'acceptEdits', claudeAgentOptions, onOutputUpdate) {
301
+ async runAgentWithTimeout(runtime, userPrompt, systemPrompt, timeoutSeconds, permissionMode = 'acceptEdits', claudeAgentOptions, onOutputUpdate) {
302
+ this.abortController?.throwIfAborted();
318
303
  const timeout = (timeoutSeconds || 900) * 1000;
319
304
  const warningThresholds = [
320
305
  { time: 300 * 1000, label: '5 minutes' },
@@ -336,21 +321,22 @@ This pipeline is running in LOOP MODE. After completion, the orchestrator will c
336
321
  userPrompt,
337
322
  options: {
338
323
  timeout: timeoutSeconds,
339
- outputKeys,
340
324
  permissionMode,
341
325
  model: claudeAgentOptions?.model,
342
326
  maxTurns: claudeAgentOptions?.maxTurns,
343
327
  maxThinkingTokens: claudeAgentOptions?.maxThinkingTokens,
344
- onOutputUpdate
328
+ onOutputUpdate,
329
+ runtimeOptions: this.executionCwd ? { cwd: this.executionCwd } : undefined
345
330
  }
346
331
  };
347
- const result = await runtime.execute(request);
332
+ const result = await runtime.execute(request, this.abortController);
348
333
  warningTimers.forEach(timer => clearTimeout(timer));
349
334
  return result;
350
335
  };
336
+ const timeoutMinutes = Math.round(timeout / 1000 / 60);
351
337
  const timeoutPromise = new Promise((_, reject) => setTimeout(() => {
352
338
  warningTimers.forEach(timer => clearTimeout(timer));
353
- reject(new Error('Agent timeout'));
339
+ reject(new Error(`Agent timeout after ${timeoutMinutes} minutes`));
354
340
  }, timeout));
355
341
  return Promise.race([runQuery(), timeoutPromise]);
356
342
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stage-executor.js","sourceRoot":"","sources":["../../src/core/stage-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage-executor.js","sourceRoot":"","sources":["../../src/core/stage-executor.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
+ import { PipelineAbortController } from '../abort-controller.js';
1
2
  export interface AgentRuntime {
2
3
  readonly type: string;
3
4
  readonly name: string;
4
- execute(request: AgentExecutionRequest): Promise<AgentExecutionResult>;
5
+ execute(request: AgentExecutionRequest, abortController?: PipelineAbortController): Promise<AgentExecutionResult>;
5
6
  getCapabilities(): AgentRuntimeCapabilities;
6
7
  validate(): Promise<ValidationResult>;
7
8
  }
@@ -14,7 +15,7 @@ export interface AgentExecutionOptions {
14
15
  timeout?: number;
15
16
  outputKeys?: string[];
16
17
  permissionMode?: 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan';
17
- model?: string;
18
+ model?: 'haiku' | 'sonnet' | 'opus';
18
19
  maxTurns?: number;
19
20
  maxThinkingTokens?: number;
20
21
  onOutputUpdate?: (output: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../../../src/core/types/agent-runtime.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,YAAY;IAE3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAGtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAStB,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAOvE,eAAe,IAAI,wBAAwB,CAAC;IAQ5C,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACvC;AAMD,MAAM,WAAW,qBAAqB;IAEpC,YAAY,EAAE,MAAM,CAAC;IAGrB,UAAU,EAAE,MAAM,CAAC;IAGnB,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAMD,MAAM,WAAW,qBAAqB;IAIpC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAGtB,cAAc,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,mBAAmB,GAAG,MAAM,CAAC;IAK1E,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAK3B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAQ1C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAMD,MAAM,WAAW,oBAAoB;IAEnC,UAAU,EAAE,MAAM,CAAC;IAGnB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGxC,UAAU,CAAC,EAAE,UAAU,CAAC;IAGxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD,MAAM,WAAW,UAAU;IAEzB,WAAW,EAAE,MAAM,CAAC;IAGpB,YAAY,EAAE,MAAM,CAAC;IAGrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAG7B,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD,MAAM,WAAW,wBAAwB;IAEvC,iBAAiB,EAAE,OAAO,CAAC;IAG3B,qBAAqB,EAAE,OAAO,CAAC;IAG/B,WAAW,EAAE,OAAO,CAAC;IAGrB,wBAAwB,EAAE,OAAO,CAAC;IAGlC,eAAe,EAAE,MAAM,EAAE,CAAC;IAG1B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAMD,MAAM,WAAW,gBAAgB;IAE/B,KAAK,EAAE,OAAO,CAAC;IAGf,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB"}
1
+ {"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../../../src/core/types/agent-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAajE,MAAM,WAAW,YAAY;IAE3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAGtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAWtB,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE,eAAe,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAOlH,eAAe,IAAI,wBAAwB,CAAC;IAQ5C,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACvC;AAMD,MAAM,WAAW,qBAAqB;IAEpC,YAAY,EAAE,MAAM,CAAC;IAGrB,UAAU,EAAE,MAAM,CAAC;IAGnB,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAMD,MAAM,WAAW,qBAAqB;IAIpC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAGtB,cAAc,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,mBAAmB,GAAG,MAAM,CAAC;IAK1E,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAGpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAK3B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAQ1C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAMD,MAAM,WAAW,oBAAoB;IAEnC,UAAU,EAAE,MAAM,CAAC;IAGnB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGxC,UAAU,CAAC,EAAE,UAAU,CAAC;IAGxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD,MAAM,WAAW,UAAU;IAEzB,WAAW,EAAE,MAAM,CAAC;IAGpB,YAAY,EAAE,MAAM,CAAC;IAGrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAG7B,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD,MAAM,WAAW,wBAAwB;IAEvC,iBAAiB,EAAE,OAAO,CAAC;IAG3B,qBAAqB,EAAE,OAAO,CAAC;IAG/B,WAAW,EAAE,OAAO,CAAC;IAGrB,wBAAwB,EAAE,OAAO,CAAC;IAGlC,eAAe,EAAE,MAAM,EAAE,CAAC;IAG1B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAMD,MAAM,WAAW,gBAAgB;IAE/B,KAAK,EAAE,OAAO,CAAC;IAGf,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB"}
@@ -0,0 +1,21 @@
1
+ import { GitManager, WorktreeInfo } from './git-manager.js';
2
+ import { BranchStrategy } from './branch-manager.js';
3
+ export interface WorktreeSetupResult {
4
+ worktreePath: string;
5
+ branchName: string;
6
+ isNew: boolean;
7
+ }
8
+ export declare class WorktreeManager extends GitManager {
9
+ private worktreeBaseDir;
10
+ private repoPath;
11
+ constructor(repoPath: string, worktreeBaseDir?: string);
12
+ setupPipelineWorktree(pipelineName: string, runId: string, baseBranch?: string, strategy?: BranchStrategy, branchPrefix?: string): Promise<WorktreeSetupResult>;
13
+ private updateWorktree;
14
+ cleanupWorktree(worktreePath: string, deleteBranch?: boolean, force?: boolean): Promise<void>;
15
+ listPipelineWorktrees(branchPrefix?: string): Promise<WorktreeInfo[]>;
16
+ private getBranchName;
17
+ private getWorktreeDirName;
18
+ getWorktreeBaseDir(): string;
19
+ getRepoPath(): string;
20
+ }
21
+ //# sourceMappingURL=worktree-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-manager.d.ts","sourceRoot":"","sources":["../../src/core/worktree-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAgBrD,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB;AAMD,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM;IAiBhD,qBAAqB,CACzB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAe,EAC3B,QAAQ,GAAE,cAA2B,EACrC,YAAY,GAAE,MAAmB,GAChC,OAAO,CAAC,mBAAmB,CAAC;YA+CjB,cAAc;IAqBtB,eAAe,CACnB,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,OAAe,EAC7B,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC,IAAI,CAAC;IA2DV,qBAAqB,CAAC,YAAY,GAAE,MAAmB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAWvF,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,kBAAkB;IAc1B,kBAAkB,IAAI,MAAM;IAO5B,WAAW,IAAI,MAAM;CAGtB"}