@specforge/mcp 2.6.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/README.md +73 -0
  2. package/bin/{specforge-mcp → specforge} +0 -5
  3. package/dist/ai-provider/circuit-breaker.d.ts +63 -0
  4. package/dist/ai-provider/circuit-breaker.d.ts.map +1 -0
  5. package/dist/ai-provider/circuit-breaker.js +160 -0
  6. package/dist/ai-provider/circuit-breaker.js.map +1 -0
  7. package/dist/ai-provider/cli-version.d.ts +50 -0
  8. package/dist/ai-provider/cli-version.d.ts.map +1 -0
  9. package/dist/ai-provider/cli-version.js +141 -0
  10. package/dist/ai-provider/cli-version.js.map +1 -0
  11. package/dist/ai-provider/config-loader.d.ts +45 -0
  12. package/dist/ai-provider/config-loader.d.ts.map +1 -0
  13. package/dist/ai-provider/config-loader.js +106 -0
  14. package/dist/ai-provider/config-loader.js.map +1 -0
  15. package/dist/ai-provider/errors.d.ts +48 -0
  16. package/dist/ai-provider/errors.d.ts.map +1 -0
  17. package/dist/ai-provider/errors.js +102 -0
  18. package/dist/ai-provider/errors.js.map +1 -0
  19. package/dist/ai-provider/events.d.ts +73 -0
  20. package/dist/ai-provider/events.d.ts.map +1 -0
  21. package/dist/ai-provider/events.js +75 -0
  22. package/dist/ai-provider/events.js.map +1 -0
  23. package/dist/ai-provider/factory.d.ts +31 -0
  24. package/dist/ai-provider/factory.d.ts.map +1 -0
  25. package/dist/ai-provider/factory.js +100 -0
  26. package/dist/ai-provider/factory.js.map +1 -0
  27. package/dist/ai-provider/index.d.ts +24 -0
  28. package/dist/ai-provider/index.d.ts.map +1 -0
  29. package/dist/ai-provider/index.js +46 -0
  30. package/dist/ai-provider/index.js.map +1 -0
  31. package/dist/ai-provider/instance-coordinator.d.ts +54 -0
  32. package/dist/ai-provider/instance-coordinator.d.ts.map +1 -0
  33. package/dist/ai-provider/instance-coordinator.js +199 -0
  34. package/dist/ai-provider/instance-coordinator.js.map +1 -0
  35. package/dist/ai-provider/jsonl-parser.d.ts +43 -0
  36. package/dist/ai-provider/jsonl-parser.d.ts.map +1 -0
  37. package/dist/ai-provider/jsonl-parser.js +107 -0
  38. package/dist/ai-provider/jsonl-parser.js.map +1 -0
  39. package/dist/ai-provider/lifecycle.d.ts +50 -0
  40. package/dist/ai-provider/lifecycle.d.ts.map +1 -0
  41. package/dist/ai-provider/lifecycle.js +145 -0
  42. package/dist/ai-provider/lifecycle.js.map +1 -0
  43. package/dist/ai-provider/logger.d.ts +69 -0
  44. package/dist/ai-provider/logger.d.ts.map +1 -0
  45. package/dist/ai-provider/logger.js +161 -0
  46. package/dist/ai-provider/logger.js.map +1 -0
  47. package/dist/ai-provider/metrics.d.ts +91 -0
  48. package/dist/ai-provider/metrics.d.ts.map +1 -0
  49. package/dist/ai-provider/metrics.js +187 -0
  50. package/dist/ai-provider/metrics.js.map +1 -0
  51. package/dist/ai-provider/process-manager.d.ts +97 -0
  52. package/dist/ai-provider/process-manager.d.ts.map +1 -0
  53. package/dist/ai-provider/process-manager.js +477 -0
  54. package/dist/ai-provider/process-manager.js.map +1 -0
  55. package/dist/ai-provider/providers/claude-code.d.ts +64 -0
  56. package/dist/ai-provider/providers/claude-code.d.ts.map +1 -0
  57. package/dist/ai-provider/providers/claude-code.js +205 -0
  58. package/dist/ai-provider/providers/claude-code.js.map +1 -0
  59. package/dist/ai-provider/retry-executor.d.ts +52 -0
  60. package/dist/ai-provider/retry-executor.d.ts.map +1 -0
  61. package/dist/ai-provider/retry-executor.js +138 -0
  62. package/dist/ai-provider/retry-executor.js.map +1 -0
  63. package/dist/ai-provider/safe-args.d.ts +58 -0
  64. package/dist/ai-provider/safe-args.d.ts.map +1 -0
  65. package/dist/ai-provider/safe-args.js +176 -0
  66. package/dist/ai-provider/safe-args.js.map +1 -0
  67. package/dist/ai-provider/semaphore.d.ts +50 -0
  68. package/dist/ai-provider/semaphore.d.ts.map +1 -0
  69. package/dist/ai-provider/semaphore.js +97 -0
  70. package/dist/ai-provider/semaphore.js.map +1 -0
  71. package/dist/ai-provider/tracer.d.ts +67 -0
  72. package/dist/ai-provider/tracer.d.ts.map +1 -0
  73. package/dist/ai-provider/tracer.js +209 -0
  74. package/dist/ai-provider/tracer.js.map +1 -0
  75. package/dist/ai-provider/types.d.ts +181 -0
  76. package/dist/ai-provider/types.d.ts.map +1 -0
  77. package/dist/ai-provider/types.js +8 -0
  78. package/dist/ai-provider/types.js.map +1 -0
  79. package/dist/autopilot/agents/agent-runner.d.ts +109 -0
  80. package/dist/autopilot/agents/agent-runner.d.ts.map +1 -0
  81. package/dist/autopilot/agents/agent-runner.js +731 -0
  82. package/dist/autopilot/agents/agent-runner.js.map +1 -0
  83. package/dist/autopilot/agents/agent-selector.d.ts +59 -0
  84. package/dist/autopilot/agents/agent-selector.d.ts.map +1 -0
  85. package/dist/autopilot/agents/agent-selector.js +234 -0
  86. package/dist/autopilot/agents/agent-selector.js.map +1 -0
  87. package/dist/autopilot/agents/model-selector.d.ts +49 -0
  88. package/dist/autopilot/agents/model-selector.d.ts.map +1 -0
  89. package/dist/autopilot/agents/model-selector.js +62 -0
  90. package/dist/autopilot/agents/model-selector.js.map +1 -0
  91. package/dist/autopilot/agents/profiles/builtin.d.ts +55 -0
  92. package/dist/autopilot/agents/profiles/builtin.d.ts.map +1 -0
  93. package/dist/autopilot/agents/profiles/builtin.js +323 -0
  94. package/dist/autopilot/agents/profiles/builtin.js.map +1 -0
  95. package/dist/autopilot/agents/profiles/types.d.ts +98 -0
  96. package/dist/autopilot/agents/profiles/types.d.ts.map +1 -0
  97. package/dist/autopilot/agents/profiles/types.js +17 -0
  98. package/dist/autopilot/agents/profiles/types.js.map +1 -0
  99. package/dist/autopilot/api/autopilot-api-client.d.ts +217 -0
  100. package/dist/autopilot/api/autopilot-api-client.d.ts.map +1 -0
  101. package/dist/autopilot/api/autopilot-api-client.js +402 -0
  102. package/dist/autopilot/api/autopilot-api-client.js.map +1 -0
  103. package/dist/autopilot/cli/abort.d.ts +20 -0
  104. package/dist/autopilot/cli/abort.d.ts.map +1 -0
  105. package/dist/autopilot/cli/abort.js +201 -0
  106. package/dist/autopilot/cli/abort.js.map +1 -0
  107. package/dist/autopilot/cli/display.d.ts +63 -0
  108. package/dist/autopilot/cli/display.d.ts.map +1 -0
  109. package/dist/autopilot/cli/display.js +260 -0
  110. package/dist/autopilot/cli/display.js.map +1 -0
  111. package/dist/autopilot/cli/index.d.ts +24 -0
  112. package/dist/autopilot/cli/index.d.ts.map +1 -0
  113. package/dist/autopilot/cli/index.js +79 -0
  114. package/dist/autopilot/cli/index.js.map +1 -0
  115. package/dist/autopilot/cli/pause.d.ts +18 -0
  116. package/dist/autopilot/cli/pause.d.ts.map +1 -0
  117. package/dist/autopilot/cli/pause.js +110 -0
  118. package/dist/autopilot/cli/pause.js.map +1 -0
  119. package/dist/autopilot/cli/resume.d.ts +22 -0
  120. package/dist/autopilot/cli/resume.d.ts.map +1 -0
  121. package/dist/autopilot/cli/resume.js +172 -0
  122. package/dist/autopilot/cli/resume.js.map +1 -0
  123. package/dist/autopilot/cli/run.d.ts +25 -0
  124. package/dist/autopilot/cli/run.d.ts.map +1 -0
  125. package/dist/autopilot/cli/run.js +220 -0
  126. package/dist/autopilot/cli/run.js.map +1 -0
  127. package/dist/autopilot/cli/status.d.ts +20 -0
  128. package/dist/autopilot/cli/status.d.ts.map +1 -0
  129. package/dist/autopilot/cli/status.js +217 -0
  130. package/dist/autopilot/cli/status.js.map +1 -0
  131. package/dist/autopilot/config.d.ts +45 -0
  132. package/dist/autopilot/config.d.ts.map +1 -0
  133. package/dist/autopilot/config.js +269 -0
  134. package/dist/autopilot/config.js.map +1 -0
  135. package/dist/autopilot/core/dependency-resolver.d.ts +108 -0
  136. package/dist/autopilot/core/dependency-resolver.d.ts.map +1 -0
  137. package/dist/autopilot/core/dependency-resolver.js +394 -0
  138. package/dist/autopilot/core/dependency-resolver.js.map +1 -0
  139. package/dist/autopilot/core/dispatcher.d.ts +215 -0
  140. package/dist/autopilot/core/dispatcher.d.ts.map +1 -0
  141. package/dist/autopilot/core/dispatcher.js +594 -0
  142. package/dist/autopilot/core/dispatcher.js.map +1 -0
  143. package/dist/autopilot/core/failure-handler.d.ts +145 -0
  144. package/dist/autopilot/core/failure-handler.d.ts.map +1 -0
  145. package/dist/autopilot/core/failure-handler.js +308 -0
  146. package/dist/autopilot/core/failure-handler.js.map +1 -0
  147. package/dist/autopilot/core/rate-limit-handler.d.ts +108 -0
  148. package/dist/autopilot/core/rate-limit-handler.d.ts.map +1 -0
  149. package/dist/autopilot/core/rate-limit-handler.js +195 -0
  150. package/dist/autopilot/core/rate-limit-handler.js.map +1 -0
  151. package/dist/autopilot/core/state-manager.d.ts +160 -0
  152. package/dist/autopilot/core/state-manager.d.ts.map +1 -0
  153. package/dist/autopilot/core/state-manager.js +393 -0
  154. package/dist/autopilot/core/state-manager.js.map +1 -0
  155. package/dist/autopilot/core/timeout-manager.d.ts +95 -0
  156. package/dist/autopilot/core/timeout-manager.d.ts.map +1 -0
  157. package/dist/autopilot/core/timeout-manager.js +188 -0
  158. package/dist/autopilot/core/timeout-manager.js.map +1 -0
  159. package/dist/autopilot/git/branch-manager.d.ts +117 -0
  160. package/dist/autopilot/git/branch-manager.d.ts.map +1 -0
  161. package/dist/autopilot/git/branch-manager.js +238 -0
  162. package/dist/autopilot/git/branch-manager.js.map +1 -0
  163. package/dist/autopilot/git/index.d.ts +9 -0
  164. package/dist/autopilot/git/index.d.ts.map +1 -0
  165. package/dist/autopilot/git/index.js +9 -0
  166. package/dist/autopilot/git/index.js.map +1 -0
  167. package/dist/autopilot/git/merge-manager.d.ts +118 -0
  168. package/dist/autopilot/git/merge-manager.d.ts.map +1 -0
  169. package/dist/autopilot/git/merge-manager.js +304 -0
  170. package/dist/autopilot/git/merge-manager.js.map +1 -0
  171. package/dist/autopilot/git/worktree-manager.d.ts +128 -0
  172. package/dist/autopilot/git/worktree-manager.d.ts.map +1 -0
  173. package/dist/autopilot/git/worktree-manager.js +298 -0
  174. package/dist/autopilot/git/worktree-manager.js.map +1 -0
  175. package/dist/autopilot/index.d.ts +30 -0
  176. package/dist/autopilot/index.d.ts.map +1 -0
  177. package/dist/autopilot/index.js +55 -0
  178. package/dist/autopilot/index.js.map +1 -0
  179. package/dist/autopilot/sync/index.d.ts +7 -0
  180. package/dist/autopilot/sync/index.d.ts.map +1 -0
  181. package/dist/autopilot/sync/index.js +7 -0
  182. package/dist/autopilot/sync/index.js.map +1 -0
  183. package/dist/autopilot/sync/sync-manager.d.ts +168 -0
  184. package/dist/autopilot/sync/sync-manager.d.ts.map +1 -0
  185. package/dist/autopilot/sync/sync-manager.js +303 -0
  186. package/dist/autopilot/sync/sync-manager.js.map +1 -0
  187. package/dist/autopilot/types.d.ts +454 -0
  188. package/dist/autopilot/types.d.ts.map +1 -0
  189. package/dist/autopilot/types.js +26 -0
  190. package/dist/autopilot/types.js.map +1 -0
  191. package/dist/autopilot/utils/audit-logger.d.ts +176 -0
  192. package/dist/autopilot/utils/audit-logger.d.ts.map +1 -0
  193. package/dist/autopilot/utils/audit-logger.js +308 -0
  194. package/dist/autopilot/utils/audit-logger.js.map +1 -0
  195. package/dist/autopilot/utils/cost-tracker.d.ts +162 -0
  196. package/dist/autopilot/utils/cost-tracker.d.ts.map +1 -0
  197. package/dist/autopilot/utils/cost-tracker.js +269 -0
  198. package/dist/autopilot/utils/cost-tracker.js.map +1 -0
  199. package/dist/autopilot/utils/index.d.ts +9 -0
  200. package/dist/autopilot/utils/index.d.ts.map +1 -0
  201. package/dist/autopilot/utils/index.js +9 -0
  202. package/dist/autopilot/utils/index.js.map +1 -0
  203. package/dist/autopilot/utils/progress-reporter.d.ts +132 -0
  204. package/dist/autopilot/utils/progress-reporter.d.ts.map +1 -0
  205. package/dist/autopilot/utils/progress-reporter.js +290 -0
  206. package/dist/autopilot/utils/progress-reporter.js.map +1 -0
  207. package/dist/autopilot/worker/worker-pool.d.ts +179 -0
  208. package/dist/autopilot/worker/worker-pool.d.ts.map +1 -0
  209. package/dist/autopilot/worker/worker-pool.js +331 -0
  210. package/dist/autopilot/worker/worker-pool.js.map +1 -0
  211. package/dist/autopilot/worker/worker-session.d.ts +171 -0
  212. package/dist/autopilot/worker/worker-session.d.ts.map +1 -0
  213. package/dist/autopilot/worker/worker-session.js +295 -0
  214. package/dist/autopilot/worker/worker-session.js.map +1 -0
  215. package/dist/cli/index.d.ts +1 -1
  216. package/dist/cli/index.d.ts.map +1 -1
  217. package/dist/cli/index.js +4 -1
  218. package/dist/cli/index.js.map +1 -1
  219. package/dist/index.js +0 -1
  220. package/dist/index.js.map +1 -1
  221. package/dist/tools/core/epic.js +1 -1
  222. package/dist/tools/core/epic.js.map +1 -1
  223. package/dist/tools/core/lookup.d.ts.map +1 -1
  224. package/dist/tools/core/lookup.js +3 -2
  225. package/dist/tools/core/lookup.js.map +1 -1
  226. package/dist/tools/core/specification.js +1 -1
  227. package/dist/tools/core/specification.js.map +1 -1
  228. package/dist/tools/core/ticket.d.ts.map +1 -1
  229. package/dist/tools/core/ticket.js +4 -6
  230. package/dist/tools/core/ticket.js.map +1 -1
  231. package/dist/tools/index.d.ts.map +1 -1
  232. package/dist/tools/index.js +60 -0
  233. package/dist/tools/index.js.map +1 -1
  234. package/dist/validation/index.d.ts.map +1 -1
  235. package/dist/validation/index.js +4 -1
  236. package/dist/validation/index.js.map +1 -1
  237. package/package.json +8 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout-manager.js","sourceRoot":"","sources":["../../../src/autopilot/core/timeout-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Branch Manager
3
+ *
4
+ * Manages branch naming conventions and creation for autopilot workers.
5
+ */
6
+ /**
7
+ * Branch naming strategy
8
+ */
9
+ export type BranchStrategy = 'per-epic' | 'per-ticket' | 'single';
10
+ /**
11
+ * Branch info
12
+ */
13
+ export interface BranchInfo {
14
+ name: string;
15
+ baseBranch: string;
16
+ type: 'epic' | 'worker' | 'ticket';
17
+ exists: boolean;
18
+ }
19
+ /**
20
+ * Branch Manager Options
21
+ */
22
+ export interface BranchManagerOptions {
23
+ workingDirectory: string;
24
+ baseBranch?: string;
25
+ branchPrefix?: string;
26
+ }
27
+ /**
28
+ * Branch Manager
29
+ *
30
+ * Handles branch creation, naming, and management for autopilot.
31
+ */
32
+ export declare class BranchManager {
33
+ private workingDirectory;
34
+ private baseBranch;
35
+ private branchPrefix;
36
+ constructor(options: BranchManagerOptions);
37
+ /**
38
+ * Get the current branch name
39
+ */
40
+ getCurrentBranch(): Promise<string>;
41
+ /**
42
+ * Get the base branch (main/master/develop)
43
+ */
44
+ getBaseBranch(): Promise<string>;
45
+ /**
46
+ * Generate epic branch name
47
+ */
48
+ getEpicBranchName(epicNumber: number): string;
49
+ /**
50
+ * Generate worker branch name
51
+ */
52
+ getWorkerBranchName(workerId: number): string;
53
+ /**
54
+ * Generate ticket branch name
55
+ */
56
+ getTicketBranchName(ticketNumber: number): string;
57
+ /**
58
+ * Generate worker-ticket branch name (for per-ticket strategy)
59
+ */
60
+ getWorkerTicketBranchName(workerId: number, ticketNumber: number): string;
61
+ /**
62
+ * Check if a branch exists
63
+ */
64
+ branchExists(branchName: string): Promise<boolean>;
65
+ /**
66
+ * Create a new branch from base
67
+ */
68
+ createBranch(branchName: string, baseBranch?: string): Promise<void>;
69
+ /**
70
+ * Create and checkout a branch
71
+ */
72
+ createAndCheckout(branchName: string, baseBranch?: string): Promise<void>;
73
+ /**
74
+ * Delete a branch
75
+ */
76
+ deleteBranch(branchName: string, force?: boolean): Promise<void>;
77
+ /**
78
+ * Get all autopilot branches
79
+ */
80
+ getAutopilotBranches(): Promise<string[]>;
81
+ /**
82
+ * Get branch info
83
+ */
84
+ getBranchInfo(branchName: string): Promise<BranchInfo>;
85
+ /**
86
+ * Cleanup all autopilot branches
87
+ */
88
+ cleanupAutopilotBranches(force?: boolean): Promise<string[]>;
89
+ /**
90
+ * Get commits between two branches
91
+ */
92
+ getCommitsBetween(fromBranch: string, toBranch: string): Promise<Array<{
93
+ hash: string;
94
+ message: string;
95
+ }>>;
96
+ /**
97
+ * Check if branch has uncommitted changes
98
+ */
99
+ hasUncommittedChanges(): Promise<boolean>;
100
+ /**
101
+ * Get the latest commit hash for a branch
102
+ */
103
+ getLatestCommit(branchName?: string): Promise<string>;
104
+ /**
105
+ * Update working directory
106
+ */
107
+ setWorkingDirectory(dir: string): void;
108
+ /**
109
+ * Get working directory
110
+ */
111
+ getWorkingDirectory(): string;
112
+ }
113
+ /**
114
+ * Create a branch manager
115
+ */
116
+ export declare function createBranchManager(options: BranchManagerOptions): BranchManager;
117
+ //# sourceMappingURL=branch-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-manager.d.ts","sourceRoot":"","sources":["../../../src/autopilot/git/branch-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,EAAE,oBAAoB;IAMzC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOzC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IActC;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI7C;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI7C;;OAEG;IACH,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAIjD;;OAEG;IACH,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAIzE;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWxD;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa1E;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/E;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7E;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAgB/C;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAmB5D;;OAEG;IACG,wBAAwB,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBzE;;OAEG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAmBpD;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;IAW/C;;OAEG;IACG,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ3D;;OAEG;IACH,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,mBAAmB,IAAI,MAAM;CAG9B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAEhF"}
@@ -0,0 +1,238 @@
1
+ /**
2
+ * Branch Manager
3
+ *
4
+ * Manages branch naming conventions and creation for autopilot workers.
5
+ */
6
+ import { exec } from 'child_process';
7
+ import { promisify } from 'util';
8
+ const execAsync = promisify(exec);
9
+ /**
10
+ * Branch Manager
11
+ *
12
+ * Handles branch creation, naming, and management for autopilot.
13
+ */
14
+ export class BranchManager {
15
+ workingDirectory;
16
+ baseBranch;
17
+ branchPrefix;
18
+ constructor(options) {
19
+ this.workingDirectory = options.workingDirectory;
20
+ this.baseBranch = options.baseBranch || 'main';
21
+ this.branchPrefix = options.branchPrefix || 'autopilot';
22
+ }
23
+ /**
24
+ * Get the current branch name
25
+ */
26
+ async getCurrentBranch() {
27
+ const { stdout } = await execAsync('git branch --show-current', {
28
+ cwd: this.workingDirectory,
29
+ });
30
+ return stdout.trim();
31
+ }
32
+ /**
33
+ * Get the base branch (main/master/develop)
34
+ */
35
+ async getBaseBranch() {
36
+ // Try to detect the default branch
37
+ try {
38
+ const { stdout } = await execAsync('git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null || echo "refs/heads/main"', { cwd: this.workingDirectory });
39
+ const ref = stdout.trim();
40
+ return ref.replace('refs/remotes/origin/', '').replace('refs/heads/', '');
41
+ }
42
+ catch {
43
+ return this.baseBranch;
44
+ }
45
+ }
46
+ /**
47
+ * Generate epic branch name
48
+ */
49
+ getEpicBranchName(epicNumber) {
50
+ return `${this.branchPrefix}/epic-${epicNumber}`;
51
+ }
52
+ /**
53
+ * Generate worker branch name
54
+ */
55
+ getWorkerBranchName(workerId) {
56
+ return `${this.branchPrefix}/worker-${workerId}`;
57
+ }
58
+ /**
59
+ * Generate ticket branch name
60
+ */
61
+ getTicketBranchName(ticketNumber) {
62
+ return `${this.branchPrefix}/ticket-${ticketNumber}`;
63
+ }
64
+ /**
65
+ * Generate worker-ticket branch name (for per-ticket strategy)
66
+ */
67
+ getWorkerTicketBranchName(workerId, ticketNumber) {
68
+ return `${this.branchPrefix}/worker-${workerId}/ticket-${ticketNumber}`;
69
+ }
70
+ /**
71
+ * Check if a branch exists
72
+ */
73
+ async branchExists(branchName) {
74
+ try {
75
+ await execAsync(`git show-ref --verify --quiet refs/heads/${branchName}`, {
76
+ cwd: this.workingDirectory,
77
+ });
78
+ return true;
79
+ }
80
+ catch {
81
+ return false;
82
+ }
83
+ }
84
+ /**
85
+ * Create a new branch from base
86
+ */
87
+ async createBranch(branchName, baseBranch) {
88
+ const base = baseBranch || await this.getBaseBranch();
89
+ // Check if branch already exists
90
+ if (await this.branchExists(branchName)) {
91
+ return;
92
+ }
93
+ await execAsync(`git branch ${branchName} ${base}`, {
94
+ cwd: this.workingDirectory,
95
+ });
96
+ }
97
+ /**
98
+ * Create and checkout a branch
99
+ */
100
+ async createAndCheckout(branchName, baseBranch) {
101
+ const base = baseBranch || await this.getBaseBranch();
102
+ if (await this.branchExists(branchName)) {
103
+ await execAsync(`git checkout ${branchName}`, {
104
+ cwd: this.workingDirectory,
105
+ });
106
+ }
107
+ else {
108
+ await execAsync(`git checkout -b ${branchName} ${base}`, {
109
+ cwd: this.workingDirectory,
110
+ });
111
+ }
112
+ }
113
+ /**
114
+ * Delete a branch
115
+ */
116
+ async deleteBranch(branchName, force = false) {
117
+ if (!(await this.branchExists(branchName))) {
118
+ return;
119
+ }
120
+ const flag = force ? '-D' : '-d';
121
+ await execAsync(`git branch ${flag} ${branchName}`, {
122
+ cwd: this.workingDirectory,
123
+ });
124
+ }
125
+ /**
126
+ * Get all autopilot branches
127
+ */
128
+ async getAutopilotBranches() {
129
+ try {
130
+ const { stdout } = await execAsync(`git branch --list "${this.branchPrefix}/*"`, { cwd: this.workingDirectory });
131
+ return stdout
132
+ .split('\n')
133
+ .map(b => b.trim().replace(/^\* /, ''))
134
+ .filter(b => b.length > 0);
135
+ }
136
+ catch {
137
+ return [];
138
+ }
139
+ }
140
+ /**
141
+ * Get branch info
142
+ */
143
+ async getBranchInfo(branchName) {
144
+ const exists = await this.branchExists(branchName);
145
+ const baseBranch = await this.getBaseBranch();
146
+ let type = 'worker';
147
+ if (branchName.includes('/epic-')) {
148
+ type = 'epic';
149
+ }
150
+ else if (branchName.includes('/ticket-')) {
151
+ type = 'ticket';
152
+ }
153
+ return {
154
+ name: branchName,
155
+ baseBranch,
156
+ type,
157
+ exists,
158
+ };
159
+ }
160
+ /**
161
+ * Cleanup all autopilot branches
162
+ */
163
+ async cleanupAutopilotBranches(force = false) {
164
+ const branches = await this.getAutopilotBranches();
165
+ const deleted = [];
166
+ for (const branch of branches) {
167
+ try {
168
+ await this.deleteBranch(branch, force);
169
+ deleted.push(branch);
170
+ }
171
+ catch {
172
+ // Ignore deletion errors
173
+ }
174
+ }
175
+ return deleted;
176
+ }
177
+ /**
178
+ * Get commits between two branches
179
+ */
180
+ async getCommitsBetween(fromBranch, toBranch) {
181
+ try {
182
+ const { stdout } = await execAsync(`git log ${fromBranch}..${toBranch} --oneline`, { cwd: this.workingDirectory });
183
+ return stdout
184
+ .split('\n')
185
+ .filter(line => line.trim().length > 0)
186
+ .map(line => {
187
+ const [hash, ...messageParts] = line.trim().split(' ');
188
+ return { hash, message: messageParts.join(' ') };
189
+ });
190
+ }
191
+ catch {
192
+ return [];
193
+ }
194
+ }
195
+ /**
196
+ * Check if branch has uncommitted changes
197
+ */
198
+ async hasUncommittedChanges() {
199
+ try {
200
+ const { stdout } = await execAsync('git status --porcelain', {
201
+ cwd: this.workingDirectory,
202
+ });
203
+ return stdout.trim().length > 0;
204
+ }
205
+ catch {
206
+ return false;
207
+ }
208
+ }
209
+ /**
210
+ * Get the latest commit hash for a branch
211
+ */
212
+ async getLatestCommit(branchName) {
213
+ const branch = branchName || 'HEAD';
214
+ const { stdout } = await execAsync(`git rev-parse ${branch}`, {
215
+ cwd: this.workingDirectory,
216
+ });
217
+ return stdout.trim();
218
+ }
219
+ /**
220
+ * Update working directory
221
+ */
222
+ setWorkingDirectory(dir) {
223
+ this.workingDirectory = dir;
224
+ }
225
+ /**
226
+ * Get working directory
227
+ */
228
+ getWorkingDirectory() {
229
+ return this.workingDirectory;
230
+ }
231
+ }
232
+ /**
233
+ * Create a branch manager
234
+ */
235
+ export function createBranchManager(options) {
236
+ return new BranchManager(options);
237
+ }
238
+ //# sourceMappingURL=branch-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-manager.js","sourceRoot":"","sources":["../../../src/autopilot/git/branch-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AA0BlC;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAChB,gBAAgB,CAAS;IACzB,UAAU,CAAS;IACnB,YAAY,CAAS;IAE7B,YAAY,OAA6B;QACvC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,WAAW,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,2BAA2B,EAAE;YAC9D,GAAG,EAAE,IAAI,CAAC,gBAAgB;SAC3B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,mCAAmC;QACnC,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAChC,iFAAiF,EACjF,EAAE,GAAG,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAC/B,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,UAAkB;QAClC,OAAO,GAAG,IAAI,CAAC,YAAY,SAAS,UAAU,EAAE,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,QAAgB;QAClC,OAAO,GAAG,IAAI,CAAC,YAAY,WAAW,QAAQ,EAAE,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,YAAoB;QACtC,OAAO,GAAG,IAAI,CAAC,YAAY,WAAW,YAAY,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,yBAAyB,CAAC,QAAgB,EAAE,YAAoB;QAC9D,OAAO,GAAG,IAAI,CAAC,YAAY,WAAW,QAAQ,WAAW,YAAY,EAAE,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,4CAA4C,UAAU,EAAE,EAAE;gBACxE,GAAG,EAAE,IAAI,CAAC,gBAAgB;aAC3B,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,UAAmB;QACxD,MAAM,IAAI,GAAG,UAAU,IAAI,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAEtD,iCAAiC;QACjC,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,SAAS,CAAC,cAAc,UAAU,IAAI,IAAI,EAAE,EAAE;YAClD,GAAG,EAAE,IAAI,CAAC,gBAAgB;SAC3B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAAkB,EAAE,UAAmB;QAC7D,MAAM,IAAI,GAAG,UAAU,IAAI,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAEtD,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,MAAM,SAAS,CAAC,gBAAgB,UAAU,EAAE,EAAE;gBAC5C,GAAG,EAAE,IAAI,CAAC,gBAAgB;aAC3B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,CAAC,mBAAmB,UAAU,IAAI,IAAI,EAAE,EAAE;gBACvD,GAAG,EAAE,IAAI,CAAC,gBAAgB;aAC3B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,QAAiB,KAAK;QAC3D,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,MAAM,SAAS,CAAC,cAAc,IAAI,IAAI,UAAU,EAAE,EAAE;YAClD,GAAG,EAAE,IAAI,CAAC,gBAAgB;SAC3B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB;QACxB,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAChC,sBAAsB,IAAI,CAAC,YAAY,KAAK,EAC5C,EAAE,GAAG,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAC/B,CAAC;YAEF,OAAO,MAAM;iBACV,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;iBACtC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,UAAkB;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE9C,IAAI,IAAI,GAAiC,QAAQ,CAAC;QAClD,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,IAAI,GAAG,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,IAAI,GAAG,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,UAAU;YACV,IAAI;YACJ,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAAC,QAAiB,KAAK;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACnD,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACrB,UAAkB,EAClB,QAAgB;QAEhB,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAChC,WAAW,UAAU,KAAK,QAAQ,YAAY,EAC9C,EAAE,GAAG,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAC/B,CAAC;YAEF,OAAO,MAAM;iBACV,KAAK,CAAC,IAAI,CAAC;iBACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;iBACtC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACV,MAAM,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB;QACzB,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,wBAAwB,EAAE;gBAC3D,GAAG,EAAE,IAAI,CAAC,gBAAgB;aAC3B,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,UAAmB;QACvC,MAAM,MAAM,GAAG,UAAU,IAAI,MAAM,CAAC;QACpC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,iBAAiB,MAAM,EAAE,EAAE;YAC5D,GAAG,EAAE,IAAI,CAAC,gBAAgB;SAC3B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,GAAW;QAC7B,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Git Module
3
+ *
4
+ * Exports for git integration (branches, worktrees, merging).
5
+ */
6
+ export * from './branch-manager.js';
7
+ export * from './worktree-manager.js';
8
+ export * from './merge-manager.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/autopilot/git/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Git Module
3
+ *
4
+ * Exports for git integration (branches, worktrees, merging).
5
+ */
6
+ export * from './branch-manager.js';
7
+ export * from './worktree-manager.js';
8
+ export * from './merge-manager.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/autopilot/git/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Merge Manager
3
+ *
4
+ * Handles squash merging for autopilot branches.
5
+ */
6
+ import { EventEmitter } from 'events';
7
+ import { BranchManager } from './branch-manager.js';
8
+ /**
9
+ * Merge result
10
+ */
11
+ export interface MergeResult {
12
+ success: boolean;
13
+ sourceBranch: string;
14
+ targetBranch: string;
15
+ commitHash?: string;
16
+ error?: string;
17
+ conflictFiles?: string[];
18
+ }
19
+ /**
20
+ * Merge Manager Options
21
+ */
22
+ export interface MergeManagerOptions {
23
+ workingDirectory: string;
24
+ branchPrefix?: string;
25
+ }
26
+ /**
27
+ * Merge Manager Events
28
+ */
29
+ export interface MergeManagerEvents {
30
+ 'merge:started': {
31
+ sourceBranch: string;
32
+ targetBranch: string;
33
+ };
34
+ 'merge:completed': {
35
+ result: MergeResult;
36
+ };
37
+ 'merge:conflict': {
38
+ sourceBranch: string;
39
+ targetBranch: string;
40
+ files: string[];
41
+ };
42
+ 'merge:aborted': {
43
+ sourceBranch: string;
44
+ targetBranch: string;
45
+ };
46
+ }
47
+ /**
48
+ * Merge Manager
49
+ *
50
+ * Handles squash merging of worker branches to epic branches,
51
+ * and epic branches to the base branch.
52
+ */
53
+ export declare class MergeManager extends EventEmitter {
54
+ private workingDirectory;
55
+ private branchManager;
56
+ constructor(options: MergeManagerOptions);
57
+ /**
58
+ * Squash merge a branch into another
59
+ */
60
+ squashMerge(sourceBranch: string, targetBranch: string, commitMessage: string): Promise<MergeResult>;
61
+ /**
62
+ * Merge worker branch to epic branch
63
+ */
64
+ mergeWorkerToEpic(workerId: number, epicNumber: number, ticketTitle: string): Promise<MergeResult>;
65
+ /**
66
+ * Merge epic branch to base branch
67
+ */
68
+ mergeEpicToBase(epicNumber: number, epicTitle: string, baseBranch?: string): Promise<MergeResult>;
69
+ /**
70
+ * Reset worker branch to epic branch
71
+ */
72
+ resetWorkerToEpic(workerId: number, epicNumber: number): Promise<void>;
73
+ /**
74
+ * Check if there are changes to commit
75
+ */
76
+ private hasChangesToCommit;
77
+ /**
78
+ * Get conflict files
79
+ */
80
+ private getConflictFiles;
81
+ /**
82
+ * Abort current merge
83
+ */
84
+ abortMerge(): Promise<void>;
85
+ /**
86
+ * Checkout a branch
87
+ */
88
+ private checkoutBranch;
89
+ /**
90
+ * Cherry-pick a commit
91
+ */
92
+ cherryPick(commitHash: string, targetBranch: string): Promise<MergeResult>;
93
+ /**
94
+ * Rebase a branch onto another
95
+ */
96
+ rebaseBranch(branchToRebase: string, ontoBranch: string): Promise<MergeResult>;
97
+ /**
98
+ * Update epic branch from base
99
+ */
100
+ updateEpicFromBase(epicNumber: number, baseBranch?: string): Promise<MergeResult>;
101
+ /**
102
+ * Get branch manager
103
+ */
104
+ getBranchManager(): BranchManager;
105
+ /**
106
+ * Set working directory
107
+ */
108
+ setWorkingDirectory(dir: string): void;
109
+ /**
110
+ * Get working directory
111
+ */
112
+ getWorkingDirectory(): string;
113
+ }
114
+ /**
115
+ * Create a merge manager
116
+ */
117
+ export declare function createMergeManager(options: MergeManagerOptions): MergeManager;
118
+ //# sourceMappingURL=merge-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-manager.d.ts","sourceRoot":"","sources":["../../../src/autopilot/git/merge-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AAIzE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,iBAAiB,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;IAC3C,gBAAgB,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAClF,eAAe,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE;AAED;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,OAAO,EAAE,mBAAmB;IASxC;;OAEG;IACG,WAAW,CACf,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC;IAgGvB;;OAEG;IACG,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,WAAW,CAAC;IASvB;;OAEG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,WAAW,CAAC;IASvB;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5E;;OAEG;YACW,kBAAkB;IAWhC;;OAEG;YACW,gBAAgB;IAW9B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;OAEG;YACW,cAAc;IAM5B;;OAEG;IACG,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,CAAC;IAwCvB;;OAEG;IACG,YAAY,CAChB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC;IAwCvB;;OAEG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOvF;;OAEG;IACH,gBAAgB,IAAI,aAAa;IAIjC;;OAEG;IACH,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKtC;;OAEG;IACH,mBAAmB,IAAI,MAAM;CAG9B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAE7E"}