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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-compatible-runtime.d.ts","sourceRoot":"","sources":["../../../src/core/agent-runtimes/openai-compatible-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAEjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAsB,MAAM,wBAAwB,CAAC;AAYrF,qBAAa,uBAAwB,YAAW,YAAY;IAC1D,QAAQ,CAAC,IAAI,uBAAuB;IACpC,QAAQ,CAAC,IAAI,2BAA2B;IAElC,OAAO,CACX,OAAO,EAAE,qBAAqB,EAC9B,eAAe,CAAC,EAAE,uBAAuB,GACxC,OAAO,CAAC,oBAAoB,CAAC;IA4GhC,eAAe,IAAI,wBAAwB;IAWrC,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAU3C,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,sBAAsB;YAOhB,0BAA0B;YAsB1B,uBAAuB;IA0ErC,OAAO,CAAC,mBAAmB;YAcb,YAAY;IAQ1B,OAAO,CAAC,cAAc;CAYvB"}
@@ -0,0 +1,231 @@
1
+ import { PipelineAbortError } from '../abort-controller.js';
2
+ export class OpenAICompatibleRuntime {
3
+ type = 'openai-compatible';
4
+ name = 'OpenAI-Compatible API';
5
+ async execute(request, abortController) {
6
+ if (abortController?.aborted) {
7
+ throw new PipelineAbortError('Pipeline aborted before agent execution started');
8
+ }
9
+ const { systemPrompt, userPrompt, options } = request;
10
+ const runtimeOpts = options.runtimeOptions || {};
11
+ const explicitBaseUrl = this.resolveExplicitBaseUrl(runtimeOpts);
12
+ const baseUrl = explicitBaseUrl || 'https://api.openai.com/v1';
13
+ const apiKey = this.resolveApiKey(runtimeOpts);
14
+ if (!apiKey && !explicitBaseUrl) {
15
+ const envVar = runtimeOpts.apiKeyEnv || 'OPENAI_API_KEY';
16
+ throw new Error(`No API key found. Set ${envVar} environment variable or provide apiKey in runtime options.`);
17
+ }
18
+ const messages = [];
19
+ if (systemPrompt?.trim()) {
20
+ messages.push({ role: 'system', content: systemPrompt.trim() });
21
+ }
22
+ messages.push({ role: 'user', content: userPrompt });
23
+ const model = runtimeOpts.model || options.model || 'gpt-4o';
24
+ const body = {
25
+ model,
26
+ messages
27
+ };
28
+ if (runtimeOpts.temperature !== undefined) {
29
+ body.temperature = Number(runtimeOpts.temperature);
30
+ }
31
+ if (runtimeOpts.topP !== undefined) {
32
+ body.top_p = Number(runtimeOpts.topP);
33
+ }
34
+ if (runtimeOpts.maxTokens !== undefined) {
35
+ body.max_tokens = Number(runtimeOpts.maxTokens);
36
+ }
37
+ const streaming = Boolean(options.onOutputUpdate);
38
+ if (streaming) {
39
+ body.stream = true;
40
+ body.stream_options = { include_usage: true };
41
+ }
42
+ const nativeAbort = new AbortController();
43
+ let abortHandler;
44
+ if (abortController) {
45
+ abortHandler = () => nativeAbort.abort();
46
+ abortController.on('abort', abortHandler);
47
+ }
48
+ try {
49
+ const url = `${baseUrl.replace(/\/+$/, '')}/chat/completions`;
50
+ const headers = {
51
+ 'Content-Type': 'application/json'
52
+ };
53
+ if (apiKey) {
54
+ headers['Authorization'] = `Bearer ${apiKey}`;
55
+ }
56
+ const response = await fetch(url, {
57
+ method: 'POST',
58
+ headers,
59
+ body: JSON.stringify(body),
60
+ signal: nativeAbort.signal
61
+ });
62
+ if (!response.ok) {
63
+ const errorBody = await this.safeReadBody(response);
64
+ const parsed = this.parseErrorBody(errorBody);
65
+ throw new Error(`OpenAI API error (${response.status}): ${parsed}`);
66
+ }
67
+ if (streaming) {
68
+ return await this.handleStreamingResponse(response, options.onOutputUpdate, model);
69
+ }
70
+ else {
71
+ return await this.handleNonStreamingResponse(response, model);
72
+ }
73
+ }
74
+ catch (err) {
75
+ if (err instanceof PipelineAbortError)
76
+ throw err;
77
+ const error = err;
78
+ if (error.name === 'AbortError') {
79
+ throw new PipelineAbortError('Agent execution aborted');
80
+ }
81
+ throw err;
82
+ }
83
+ finally {
84
+ if (abortController && abortHandler) {
85
+ abortController.off('abort', abortHandler);
86
+ }
87
+ }
88
+ }
89
+ getCapabilities() {
90
+ return {
91
+ supportsStreaming: true,
92
+ supportsTokenTracking: true,
93
+ supportsMCP: false,
94
+ supportsContextReduction: false,
95
+ availableModels: [],
96
+ permissionModes: ['default', 'acceptEdits', 'bypassPermissions', 'plan']
97
+ };
98
+ }
99
+ async validate() {
100
+ return {
101
+ valid: true,
102
+ errors: [],
103
+ warnings: []
104
+ };
105
+ }
106
+ resolveApiKey(runtimeOpts) {
107
+ if (runtimeOpts.apiKey && typeof runtimeOpts.apiKey === 'string') {
108
+ return runtimeOpts.apiKey;
109
+ }
110
+ if (runtimeOpts.apiKeyEnv && typeof runtimeOpts.apiKeyEnv === 'string') {
111
+ const value = process.env[runtimeOpts.apiKeyEnv];
112
+ if (value)
113
+ return value;
114
+ }
115
+ return process.env.OPENAI_API_KEY;
116
+ }
117
+ resolveExplicitBaseUrl(runtimeOpts) {
118
+ if (runtimeOpts.baseUrl && typeof runtimeOpts.baseUrl === 'string') {
119
+ return runtimeOpts.baseUrl;
120
+ }
121
+ return process.env.OPENAI_BASE_URL;
122
+ }
123
+ async handleNonStreamingResponse(response, model) {
124
+ const data = await response.json();
125
+ const textOutput = data.choices?.[0]?.message?.content ?? '';
126
+ const tokenUsage = data.usage
127
+ ? this.normalizeTokenUsage(data.usage)
128
+ : undefined;
129
+ return {
130
+ textOutput,
131
+ tokenUsage,
132
+ numTurns: 1,
133
+ metadata: {
134
+ runtime: this.type,
135
+ model
136
+ }
137
+ };
138
+ }
139
+ async handleStreamingResponse(response, onOutputUpdate, model) {
140
+ if (!response.body) {
141
+ throw new Error('Streaming response body missing');
142
+ }
143
+ const reader = response.body.getReader();
144
+ const decoder = new TextDecoder();
145
+ let buffer = '';
146
+ let accumulated = '';
147
+ let usage;
148
+ try {
149
+ while (true) {
150
+ const { done, value } = await reader.read();
151
+ if (done)
152
+ break;
153
+ buffer += decoder.decode(value, { stream: true });
154
+ const normalized = buffer.replace(/\r\n/g, '\n');
155
+ const events = normalized.split('\n\n');
156
+ buffer = events.pop() ?? '';
157
+ for (const event of events) {
158
+ const lines = event.split('\n');
159
+ const dataLines = lines
160
+ .filter((line) => line.startsWith('data:'))
161
+ .map((line) => line.replace(/^data:\s?/, ''));
162
+ if (dataLines.length === 0)
163
+ continue;
164
+ const payload = dataLines.join('\n').trim();
165
+ if (!payload || payload === '[DONE]')
166
+ continue;
167
+ try {
168
+ const chunk = JSON.parse(payload);
169
+ const delta = chunk.choices?.[0]?.delta?.content;
170
+ if (delta) {
171
+ accumulated += delta;
172
+ onOutputUpdate(accumulated);
173
+ }
174
+ if (chunk.usage) {
175
+ usage = chunk.usage;
176
+ }
177
+ }
178
+ catch {
179
+ }
180
+ }
181
+ }
182
+ }
183
+ finally {
184
+ reader.releaseLock();
185
+ }
186
+ const tokenUsage = usage
187
+ ? this.normalizeTokenUsage(usage)
188
+ : undefined;
189
+ return {
190
+ textOutput: accumulated,
191
+ tokenUsage,
192
+ numTurns: 1,
193
+ metadata: {
194
+ runtime: this.type,
195
+ model
196
+ }
197
+ };
198
+ }
199
+ normalizeTokenUsage(usage) {
200
+ const inputTokens = usage.prompt_tokens ?? 0;
201
+ const outputTokens = usage.completion_tokens ?? 0;
202
+ return {
203
+ inputTokens,
204
+ outputTokens,
205
+ totalTokens: usage.total_tokens ?? (inputTokens + outputTokens)
206
+ };
207
+ }
208
+ async safeReadBody(response) {
209
+ try {
210
+ return await response.text();
211
+ }
212
+ catch {
213
+ return '';
214
+ }
215
+ }
216
+ parseErrorBody(body) {
217
+ if (!body)
218
+ return 'Unknown error';
219
+ try {
220
+ const parsed = JSON.parse(body);
221
+ if (parsed.error?.message) {
222
+ return parsed.error.message;
223
+ }
224
+ return body;
225
+ }
226
+ catch {
227
+ return body;
228
+ }
229
+ }
230
+ }
231
+ //# sourceMappingURL=openai-compatible-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-compatible-runtime.js","sourceRoot":"","sources":["../../../src/core/agent-runtimes/openai-compatible-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { GitManager } from './git-manager.js';
2
- export type BranchStrategy = 'reusable' | 'unique-per-run';
2
+ export type BranchStrategy = 'reusable' | 'unique-per-run' | 'unique-and-delete';
3
3
  export declare class BranchManager extends GitManager {
4
4
  setupPipelineBranch(pipelineName: string, runId: string, baseBranch?: string, strategy?: BranchStrategy, branchPrefix?: string): Promise<string>;
5
5
  private getBranchName;
@@ -11,5 +11,7 @@ export declare class BranchManager extends GitManager {
11
11
  push(args: string[]): Promise<void>;
12
12
  deleteLocalBranch(branchName: string, force?: boolean): Promise<void>;
13
13
  listPipelineBranches(prefix?: string): Promise<string[]>;
14
+ listRemotePipelineBranches(prefix?: string, remote?: string): Promise<string[]>;
15
+ deleteRemoteBranch(branchName: string, remote?: string): Promise<void>;
14
16
  }
15
17
  //# sourceMappingURL=branch-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"branch-manager.d.ts","sourceRoot":"","sources":["../../src/core/branch-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAM3D,qBAAa,aAAc,SAAQ,UAAU;IAKrC,mBAAmB,CACvB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAe,EAC3B,QAAQ,GAAE,cAA2B,EACrC,YAAY,GAAE,MAAmB,GAChC,OAAO,CAAC,MAAM,CAAC;IA4ClB,OAAO,CAAC,aAAa;IAkBf,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7C,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAcnC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQlD,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtE,KAAK,CAAC,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5E,oBAAoB,CAAC,MAAM,GAAE,MAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAI3E"}
1
+ {"version":3,"file":"branch-manager.d.ts","sourceRoot":"","sources":["../../src/core/branch-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;AAMjF,qBAAa,aAAc,SAAQ,UAAU;IAKrC,mBAAmB,CACvB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAe,EAC3B,QAAQ,GAAE,cAA2B,EACrC,YAAY,GAAE,MAAmB,GAChC,OAAO,CAAC,MAAM,CAAC;IA4ClB,OAAO,CAAC,aAAa;IAkBf,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7C,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAcnC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQlD,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtE,KAAK,CAAC,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5E,oBAAoB,CAAC,MAAM,GAAE,MAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQpE,0BAA0B,CAAC,MAAM,GAAE,MAAmB,EAAE,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAWrG,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGvF"}
@@ -35,7 +35,7 @@ export class BranchManager extends GitManager {
35
35
  return branchName;
36
36
  }
37
37
  getBranchName(pipelineName, runId, strategy, branchPrefix) {
38
- if (strategy === 'unique-per-run') {
38
+ if (strategy === 'unique-per-run' || strategy === 'unique-and-delete') {
39
39
  return `${branchPrefix}/${pipelineName}/${runId.substring(0, 8)}`;
40
40
  }
41
41
  else {
@@ -86,5 +86,15 @@ export class BranchManager extends GitManager {
86
86
  const branches = await this.git.branchLocal();
87
87
  return branches.all.filter(b => b.startsWith(`${prefix}/`));
88
88
  }
89
+ async listRemotePipelineBranches(prefix = 'pipeline', remote = 'origin') {
90
+ const branches = await this.git.branch(['-r']);
91
+ const remotePrefix = `${remote}/${prefix}/`;
92
+ return branches.all
93
+ .filter(b => b.startsWith(remotePrefix))
94
+ .map(b => b.replace(`${remote}/`, ''));
95
+ }
96
+ async deleteRemoteBranch(branchName, remote = 'origin') {
97
+ await this.git.push(remote, branchName, ['--delete']);
98
+ }
89
99
  }
90
100
  //# sourceMappingURL=branch-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"branch-manager.js","sourceRoot":"","sources":["../../src/core/branch-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQzD,MAAM,OAAO,aAAc,SAAQ,UAAU;IAK3C,KAAK,CAAC,mBAAmB,CACvB,YAAoB,EACpB,KAAa,EACb,aAAqB,MAAM,EAC3B,WAA2B,UAAU,EACrC,eAAuB,UAAU;QAGjC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,oCAAoC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7G,CAAC;QAGD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAGnF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAEnD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,oCAAoC,UAAU,EAAE,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAGtC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,UAAU,UAAU,EAAE,CAAC;gBAC1C,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,mCAAmC,UAAU,iBAAiB,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC;gBAEH,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,UAAU,EAAE,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,OAAO,CAAC,IAAI,CAAC,oCAAoC,UAAU,kBAAkB,UAAU,KAAK,CAAC,CAAC;gBAC9F,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAKO,aAAa,CACnB,YAAoB,EACpB,KAAa,EACb,QAAwB,EACxB,YAAoB;QAEpB,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YAElC,OAAO,GAAG,YAAY,IAAI,YAAY,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACpE,CAAC;aAAM,CAAC;YAEN,OAAO,GAAG,YAAY,IAAI,YAAY,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,OAAO,CAAC,GAAG,CAAC,eAAe,UAAU,eAAe,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,YAAY,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM,IAAI,KAAK,CACb,yBAAyB,UAAU,KAAK,QAAQ,CAAC,OAAO,IAAI;gBAC5D,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAMD,KAAK,CAAC,gBAAgB;QACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,mDAAmD;gBACnD,4CAA4C,CAC7C,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAKD,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAKD,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,UAAmB;QAC1D,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,KAAK,CAAC,SAAiB,QAAQ;QACnC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAKD,KAAK,CAAC,IAAI,CAAC,IAAc;QACvB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAKD,KAAK,CAAC,iBAAiB,CAAC,UAAkB,EAAE,QAAiB,KAAK;QAChE,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAKD,KAAK,CAAC,oBAAoB,CAAC,SAAiB,UAAU;QACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"branch-manager.js","sourceRoot":"","sources":["../../src/core/branch-manager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
1
  import { SimpleGit } from 'simple-git';
2
+ export interface WorktreeInfo {
3
+ path: string;
4
+ branch: string;
5
+ head: string;
6
+ bare?: boolean;
7
+ detached?: boolean;
8
+ }
2
9
  export declare class GitManager {
3
10
  protected git: SimpleGit;
4
11
  constructor(repoPath: string);
@@ -7,8 +14,17 @@ export declare class GitManager {
7
14
  hasUncommittedChanges(): Promise<boolean>;
8
15
  stageAllChanges(): Promise<void>;
9
16
  commitWithMetadata(message: string, metadata: Record<string, string>): Promise<string>;
10
- createPipelineCommit(stageName: string, runId: string, customMessage?: string): Promise<string>;
17
+ createPipelineCommit(stageName: string, runId: string, customMessage?: string, commitPrefix?: string): Promise<string>;
11
18
  revertToCommit(commitSha: string): Promise<void>;
19
+ checkout(branch: string): Promise<void>;
20
+ merge(branch: string): Promise<void>;
12
21
  getCommitMessage(commitSha: string): Promise<string>;
22
+ isBranchCheckedOut(branch: string): Promise<string | null>;
23
+ createWorktree(worktreePath: string, branch: string, baseBranch?: string): Promise<void>;
24
+ removeWorktree(worktreePath: string, force?: boolean): Promise<void>;
25
+ listWorktrees(): Promise<WorktreeInfo[]>;
26
+ pruneWorktrees(): Promise<void>;
27
+ worktreeExists(worktreePath: string): Promise<boolean>;
28
+ private parseWorktreeList;
13
29
  }
14
30
  //# sourceMappingURL=git-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-manager.d.ts","sourceRoot":"","sources":["../../src/core/git-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,SAAS,EAAE,MAAM,YAAY,CAAC;AAOlD,qBAAa,UAAU;IACrB,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC;gBAEb,QAAQ,EAAE,MAAM;IAItB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKnC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqBrD,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,kBAAkB,CACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC;IAoBZ,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC;IAgBZ,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAI3D"}
1
+ {"version":3,"file":"git-manager.d.ts","sourceRoot":"","sources":["../../src/core/git-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,SAAS,EAAE,MAAM,YAAY,CAAC;AAMlD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD,qBAAa,UAAU;IACrB,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC;gBAEb,QAAQ,EAAE,MAAM;IAItB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKnC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqBrD,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,kBAAkB,CACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC;IAoBZ,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;IAqBZ,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcpD,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAY1D,cAAc,CAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,MAAe,GAC1B,OAAO,CAAC,IAAI,CAAC;IAmGV,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3E,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IASxC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa5D,OAAO,CAAC,iBAAiB;CAqC1B"}
@@ -44,17 +44,22 @@ export class GitManager {
44
44
  .map(([key, value]) => `${key}: ${value}`)
45
45
  .join('\n');
46
46
  const fullMessage = `${message}\n\n${trailers}`;
47
- await this.git.commit(fullMessage);
47
+ await this.git.commit(fullMessage, undefined, { '--no-verify': null });
48
48
  return this.getCurrentCommit();
49
49
  }
50
- async createPipelineCommit(stageName, runId, customMessage) {
50
+ async createPipelineCommit(stageName, runId, customMessage, commitPrefix) {
51
51
  if (!(await this.hasUncommittedChanges())) {
52
52
  return '';
53
53
  }
54
54
  await this.stageAllChanges();
55
55
  const message = customMessage || `Apply ${stageName} changes`;
56
- const commitMessage = `[pipeline:${stageName}] ${message}`;
56
+ const resolvedPrefix = commitPrefix
57
+ ? commitPrefix.replace('{{stage}}', stageName)
58
+ : `[pipeline:${stageName}]`;
59
+ const separator = resolvedPrefix.endsWith(' ') ? '' : ' ';
60
+ const commitMessage = `${resolvedPrefix}${separator}${message}`;
57
61
  return this.commitWithMetadata(commitMessage, {
62
+ 'Agent-Pipeline': 'true',
58
63
  'Pipeline-Run-ID': runId,
59
64
  'Pipeline-Stage': stageName
60
65
  });
@@ -62,9 +67,148 @@ export class GitManager {
62
67
  async revertToCommit(commitSha) {
63
68
  await this.git.reset(['--hard', commitSha]);
64
69
  }
70
+ async checkout(branch) {
71
+ await this.git.checkout(branch);
72
+ }
73
+ async merge(branch) {
74
+ await this.git.merge([branch]);
75
+ }
65
76
  async getCommitMessage(commitSha) {
66
77
  const log = await this.git.log(['-1', commitSha]);
67
78
  return log.latest?.message || '';
68
79
  }
80
+ async isBranchCheckedOut(branch) {
81
+ const worktrees = await this.listWorktrees();
82
+ const match = worktrees.find(wt => wt.branch === branch);
83
+ return match ? match.path : null;
84
+ }
85
+ async createWorktree(worktreePath, branch, baseBranch = 'main') {
86
+ const checkedOutPath = await this.isBranchCheckedOut(branch);
87
+ if (checkedOutPath) {
88
+ throw new Error(`Branch '${branch}' is already checked out at '${checkedOutPath}'. ` +
89
+ `Git does not allow checking out the same branch in multiple worktrees.`);
90
+ }
91
+ const localBranches = await this.git.branchLocal();
92
+ const branchExists = localBranches.all.includes(branch);
93
+ const baseBranchExistsLocally = localBranches.all.includes(baseBranch);
94
+ if (branchExists) {
95
+ try {
96
+ await this.git.raw(['worktree', 'add', worktreePath, branch]);
97
+ }
98
+ catch (error) {
99
+ const gitError = ErrorFactory.createGitError(error, 'worktree_add');
100
+ throw new Error(`Failed to add worktree for existing branch '${branch}': ${gitError.message}`);
101
+ }
102
+ }
103
+ else {
104
+ if (baseBranchExistsLocally) {
105
+ try {
106
+ await this.git.raw(['worktree', 'add', '-b', branch, worktreePath, baseBranch]);
107
+ }
108
+ catch (error) {
109
+ const errorMessage = error instanceof Error ? error.message : String(error);
110
+ if (errorMessage.includes('already exists')) {
111
+ try {
112
+ await this.git.raw(['worktree', 'add', worktreePath, branch]);
113
+ return;
114
+ }
115
+ catch (existingBranchError) {
116
+ const gitError = ErrorFactory.createGitError(existingBranchError, 'worktree_add');
117
+ throw new Error(`Failed to add worktree for existing branch '${branch}': ${gitError.message}`);
118
+ }
119
+ }
120
+ const gitError = ErrorFactory.createGitError(error, 'worktree_create');
121
+ throw new Error(`Failed to create worktree with new branch '${branch}' from base '${baseBranch}': ${gitError.message}`);
122
+ }
123
+ }
124
+ else {
125
+ try {
126
+ await this.git.raw(['worktree', 'add', '-b', branch, worktreePath, `origin/${baseBranch}`]);
127
+ }
128
+ catch (error) {
129
+ const branchesAfterFirstAttempt = await this.git.branchLocal();
130
+ const branchCreatedByFailedAttempt = branchesAfterFirstAttempt.all.includes(branch);
131
+ if (branchCreatedByFailedAttempt) {
132
+ try {
133
+ await this.git.raw(['worktree', 'add', worktreePath, branch]);
134
+ return;
135
+ }
136
+ catch (wtError) {
137
+ const gitError = ErrorFactory.createGitError(wtError, 'worktree_add');
138
+ throw new Error(`Failed to add worktree for branch '${branch}': ${gitError.message}`);
139
+ }
140
+ }
141
+ const errorMessage = error instanceof Error ? error.message : String(error);
142
+ if (errorMessage.includes('already exists')) {
143
+ try {
144
+ await this.git.raw(['worktree', 'add', worktreePath, branch]);
145
+ return;
146
+ }
147
+ catch (existingBranchError) {
148
+ const gitError = ErrorFactory.createGitError(existingBranchError, 'worktree_add');
149
+ throw new Error(`Failed to add worktree for existing branch '${branch}': ${gitError.message}`);
150
+ }
151
+ }
152
+ throw new Error(`Failed to create worktree: branch '${baseBranch}' not found locally or at origin/${baseBranch}. ` +
153
+ `Ensure the baseBranch exists or check your git configuration.`);
154
+ }
155
+ }
156
+ }
157
+ }
158
+ async removeWorktree(worktreePath, force = false) {
159
+ const args = ['worktree', 'remove', worktreePath];
160
+ if (force) {
161
+ args.push('--force');
162
+ }
163
+ await this.git.raw(args);
164
+ }
165
+ async listWorktrees() {
166
+ const output = await this.git.raw(['worktree', 'list', '--porcelain']);
167
+ return this.parseWorktreeList(output);
168
+ }
169
+ async pruneWorktrees() {
170
+ await this.git.raw(['worktree', 'prune']);
171
+ }
172
+ async worktreeExists(worktreePath) {
173
+ const worktrees = await this.listWorktrees();
174
+ return worktrees.some(wt => wt.path === worktreePath);
175
+ }
176
+ parseWorktreeList(output) {
177
+ const worktrees = [];
178
+ const entries = output.trim().split('\n\n');
179
+ for (const entry of entries) {
180
+ if (!entry.trim())
181
+ continue;
182
+ const lines = entry.split('\n');
183
+ const wt = {};
184
+ for (const line of lines) {
185
+ if (line.startsWith('worktree ')) {
186
+ wt.path = line.slice(9);
187
+ }
188
+ else if (line.startsWith('HEAD ')) {
189
+ wt.head = line.slice(5);
190
+ }
191
+ else if (line.startsWith('branch ')) {
192
+ wt.branch = line.slice(7).replace('refs/heads/', '');
193
+ }
194
+ else if (line === 'bare') {
195
+ wt.bare = true;
196
+ }
197
+ else if (line === 'detached') {
198
+ wt.detached = true;
199
+ }
200
+ }
201
+ if (wt.path && wt.head) {
202
+ worktrees.push({
203
+ path: wt.path,
204
+ head: wt.head,
205
+ branch: wt.branch || '',
206
+ bare: wt.bare,
207
+ detached: wt.detached
208
+ });
209
+ }
210
+ }
211
+ return worktrees;
212
+ }
69
213
  }
70
214
  //# sourceMappingURL=git-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-manager.js","sourceRoot":"","sources":["../../src/core/git-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-manager.js","sourceRoot":"","sources":["../../src/core/git-manager.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,23 @@
1
- import { GitManager } from './git-manager.js';
2
1
  import { ParallelExecutor } from './parallel-executor.js';
3
2
  import { StateManager } from './state-manager.js';
4
- import { AgentRuntime } from './types/agent-runtime.js';
3
+ import { HandoverManager } from './handover-manager.js';
5
4
  import { PipelineConfig, PipelineState, StageExecution } from '../config/schema.js';
6
- import { ExecutionGraph, ExecutionGroup } from './types/execution-graph.js';
5
+ import { ExecutionGroup } from './types/execution-graph.js';
7
6
  export interface GroupProcessingResult {
8
7
  state: PipelineState;
9
8
  shouldStopPipeline: boolean;
10
9
  }
11
10
  export declare class GroupExecutionOrchestrator {
12
- private gitManager;
13
11
  private stateManager;
14
- private repoPath;
15
- private dryRun;
16
- private runtime;
17
12
  private shouldLog;
18
13
  private stateChangeCallback;
19
14
  private notifyStageResultsCallback;
20
- private conditionEvaluator;
21
- constructor(gitManager: GitManager, stateManager: StateManager, repoPath: string, dryRun: boolean, runtime: AgentRuntime, shouldLog: (interactive: boolean) => boolean, stateChangeCallback: (state: PipelineState) => void, notifyStageResultsCallback: (executions: StageExecution[], state: PipelineState) => Promise<void>);
22
- processGroup(group: ExecutionGroup, state: PipelineState, config: PipelineConfig, executionGraph: ExecutionGraph, parallelExecutor: ParallelExecutor, interactive: boolean): Promise<GroupProcessingResult>;
15
+ constructor(stateManager: StateManager, shouldLog: (interactive: boolean) => boolean, stateChangeCallback: (state: PipelineState) => void, notifyStageResultsCallback: (executions: StageExecution[], state: PipelineState) => Promise<void>);
16
+ processGroup(group: ExecutionGroup, state: PipelineState, config: PipelineConfig, parallelExecutor: ParallelExecutor, interactive: boolean, handoverManager?: HandoverManager, verbose?: boolean, systemPromptOverrides?: Record<string, string>): Promise<GroupProcessingResult>;
23
17
  private filterDisabledStages;
24
18
  private evaluateConditions;
25
19
  private executeGroup;
26
- private handleContextReduction;
27
20
  private handleGroupFailures;
28
- private getNextStageToExecute;
29
- private estimateNextContext;
30
21
  private logSkippedStage;
31
22
  private logGroupStart;
32
23
  private logGroupResult;
@@ -1 +1 @@
1
- {"version":3,"file":"group-execution-orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/group-execution-orchestrator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,OAAO,EACL,cAAc,EACd,aAAa,EAEb,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,aAAa,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,0BAA0B;IAInC,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,0BAA0B;IAVpC,OAAO,CAAC,kBAAkB,CAAqB;gBAGrC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,OAAO,EAC5C,mBAAmB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EACnD,0BAA0B,EAAE,CAClC,UAAU,EAAE,cAAc,EAAE,EAC5B,KAAK,EAAE,aAAa,KACjB,OAAO,CAAC,IAAI,CAAC;IAQd,YAAY,CAChB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,qBAAqB,CAAC;IAsEjC,OAAO,CAAC,oBAAoB;YA2Bd,kBAAkB;YA4ClB,YAAY;YA4CZ,sBAAsB;IA8FpC,OAAO,CAAC,mBAAmB;IAsE3B,OAAO,CAAC,qBAAqB;YAiBf,mBAAmB;IA6BjC,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,cAAc;CAcvB"}
1
+ {"version":3,"file":"group-execution-orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/group-execution-orchestrator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,aAAa,EAEb,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,aAAa,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,0BAA0B;gBAH1B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,OAAO,EAC5C,mBAAmB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EACnD,0BAA0B,EAAE,CAClC,UAAU,EAAE,cAAc,EAAE,EAC5B,KAAK,EAAE,aAAa,KACjB,OAAO,CAAC,IAAI,CAAC;IAMd,YAAY,CAChB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,OAAO,EACpB,eAAe,CAAC,EAAE,eAAe,EACjC,OAAO,GAAE,OAAe,EACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7C,OAAO,CAAC,qBAAqB,CAAC;IAsFjC,OAAO,CAAC,oBAAoB;YA2Bd,kBAAkB;YAYlB,YAAY;IAoD1B,OAAO,CAAC,mBAAmB;IAsE3B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,cAAc;CAgBvB"}