vibeman 0.0.5 → 0.0.6

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 (241) hide show
  1. package/dist/api.js +49 -0
  2. package/dist/cli.js +135 -0
  3. package/dist/ui/index-gnk6rhxs.js +9 -0
  4. package/dist/ui/index.html +10 -0
  5. package/dist/ui/index.js +2 -0
  6. package/package.json +10 -46
  7. package/README.md +0 -12
  8. package/dist/index.js +0 -114
  9. package/dist/runtime/api/.tsbuildinfo +0 -1
  10. package/dist/runtime/api/agent/agent-service.d.ts +0 -229
  11. package/dist/runtime/api/agent/agent-service.js +0 -963
  12. package/dist/runtime/api/agent/ai-providers/amp-cli-provider.d.ts +0 -38
  13. package/dist/runtime/api/agent/ai-providers/amp-cli-provider.js +0 -268
  14. package/dist/runtime/api/agent/ai-providers/claude-code-adapter.d.ts +0 -61
  15. package/dist/runtime/api/agent/ai-providers/claude-code-adapter.js +0 -362
  16. package/dist/runtime/api/agent/ai-providers/codex-cli-provider.d.ts +0 -36
  17. package/dist/runtime/api/agent/ai-providers/codex-cli-provider.js +0 -375
  18. package/dist/runtime/api/agent/ai-providers/gemini-cli-provider.d.ts +0 -24
  19. package/dist/runtime/api/agent/ai-providers/gemini-cli-provider.js +0 -291
  20. package/dist/runtime/api/agent/ai-providers/index.d.ts +0 -9
  21. package/dist/runtime/api/agent/ai-providers/index.js +0 -9
  22. package/dist/runtime/api/agent/ai-providers/types.d.ts +0 -185
  23. package/dist/runtime/api/agent/ai-providers/types.js +0 -5
  24. package/dist/runtime/api/agent/amp-cli-provider.test.d.ts +0 -1
  25. package/dist/runtime/api/agent/amp-cli-provider.test.js +0 -99
  26. package/dist/runtime/api/agent/codex-cli-provider.test.d.ts +0 -1
  27. package/dist/runtime/api/agent/codex-cli-provider.test.js +0 -172
  28. package/dist/runtime/api/agent/core-agent-service.d.ts +0 -119
  29. package/dist/runtime/api/agent/core-agent-service.js +0 -267
  30. package/dist/runtime/api/agent/parsers.d.ts +0 -16
  31. package/dist/runtime/api/agent/parsers.js +0 -308
  32. package/dist/runtime/api/agent/prompt-service.d.ts +0 -30
  33. package/dist/runtime/api/agent/prompt-service.js +0 -452
  34. package/dist/runtime/api/agent/prompt-service.test.d.ts +0 -1
  35. package/dist/runtime/api/agent/prompt-service.test.js +0 -265
  36. package/dist/runtime/api/agent/routing-policy.d.ts +0 -171
  37. package/dist/runtime/api/agent/routing-policy.js +0 -196
  38. package/dist/runtime/api/agent/routing-policy.test.d.ts +0 -1
  39. package/dist/runtime/api/agent/routing-policy.test.js +0 -63
  40. package/dist/runtime/api/api/router-helpers.d.ts +0 -32
  41. package/dist/runtime/api/api/router-helpers.js +0 -31
  42. package/dist/runtime/api/api/routers/ai.d.ts +0 -200
  43. package/dist/runtime/api/api/routers/ai.js +0 -396
  44. package/dist/runtime/api/api/routers/executions.d.ts +0 -93
  45. package/dist/runtime/api/api/routers/executions.js +0 -94
  46. package/dist/runtime/api/api/routers/git.d.ts +0 -45
  47. package/dist/runtime/api/api/routers/git.js +0 -35
  48. package/dist/runtime/api/api/routers/provider-config.d.ts +0 -199
  49. package/dist/runtime/api/api/routers/provider-config.js +0 -252
  50. package/dist/runtime/api/api/routers/settings.d.ts +0 -158
  51. package/dist/runtime/api/api/routers/settings.js +0 -129
  52. package/dist/runtime/api/api/routers/tasks.d.ts +0 -141
  53. package/dist/runtime/api/api/routers/tasks.js +0 -238
  54. package/dist/runtime/api/api/routers/workflows.d.ts +0 -275
  55. package/dist/runtime/api/api/routers/workflows.js +0 -311
  56. package/dist/runtime/api/api/routers/worktrees.d.ts +0 -101
  57. package/dist/runtime/api/api/routers/worktrees.js +0 -80
  58. package/dist/runtime/api/api/trpc.d.ts +0 -118
  59. package/dist/runtime/api/api/trpc.js +0 -34
  60. package/dist/runtime/api/index.d.ts +0 -9
  61. package/dist/runtime/api/index.js +0 -117
  62. package/dist/runtime/api/lib/id-generator.d.ts +0 -70
  63. package/dist/runtime/api/lib/id-generator.js +0 -123
  64. package/dist/runtime/api/lib/local-config.d.ts +0 -335
  65. package/dist/runtime/api/lib/local-config.js +0 -304
  66. package/dist/runtime/api/lib/logger.d.ts +0 -11
  67. package/dist/runtime/api/lib/logger.js +0 -188
  68. package/dist/runtime/api/lib/provider-detection.d.ts +0 -61
  69. package/dist/runtime/api/lib/provider-detection.js +0 -326
  70. package/dist/runtime/api/lib/server/agent-service-singleton.d.ts +0 -6
  71. package/dist/runtime/api/lib/server/agent-service-singleton.js +0 -27
  72. package/dist/runtime/api/lib/server/bootstrap.d.ts +0 -38
  73. package/dist/runtime/api/lib/server/bootstrap.js +0 -197
  74. package/dist/runtime/api/lib/server/git-service-singleton.d.ts +0 -6
  75. package/dist/runtime/api/lib/server/git-service-singleton.js +0 -47
  76. package/dist/runtime/api/lib/server/project-root.d.ts +0 -2
  77. package/dist/runtime/api/lib/server/project-root.js +0 -61
  78. package/dist/runtime/api/lib/server/task-service-singleton.d.ts +0 -7
  79. package/dist/runtime/api/lib/server/task-service-singleton.js +0 -58
  80. package/dist/runtime/api/lib/server/vibeman-info.d.ts +0 -5
  81. package/dist/runtime/api/lib/server/vibeman-info.js +0 -85
  82. package/dist/runtime/api/lib/server/vibing-orchestrator-singleton.d.ts +0 -7
  83. package/dist/runtime/api/lib/server/vibing-orchestrator-singleton.js +0 -57
  84. package/dist/runtime/api/lib/trpc/server.d.ts +0 -965
  85. package/dist/runtime/api/lib/trpc/server.js +0 -11
  86. package/dist/runtime/api/lib/trpc/ws-server.d.ts +0 -8
  87. package/dist/runtime/api/lib/trpc/ws-server.js +0 -33
  88. package/dist/runtime/api/persistence/database-service.d.ts +0 -14
  89. package/dist/runtime/api/persistence/database-service.js +0 -74
  90. package/dist/runtime/api/persistence/execution-log-persistence.d.ts +0 -90
  91. package/dist/runtime/api/persistence/execution-log-persistence.js +0 -426
  92. package/dist/runtime/api/persistence/execution-log-persistence.test.d.ts +0 -1
  93. package/dist/runtime/api/persistence/execution-log-persistence.test.js +0 -170
  94. package/dist/runtime/api/router.d.ts +0 -968
  95. package/dist/runtime/api/router.js +0 -34
  96. package/dist/runtime/api/settings-service.d.ts +0 -110
  97. package/dist/runtime/api/settings-service.js +0 -678
  98. package/dist/runtime/api/tasks/file-watcher.d.ts +0 -23
  99. package/dist/runtime/api/tasks/file-watcher.js +0 -88
  100. package/dist/runtime/api/tasks/task-file-parser.d.ts +0 -14
  101. package/dist/runtime/api/tasks/task-file-parser.js +0 -180
  102. package/dist/runtime/api/tasks/task-service.d.ts +0 -36
  103. package/dist/runtime/api/tasks/task-service.js +0 -173
  104. package/dist/runtime/api/tasks/task-updater.d.ts +0 -62
  105. package/dist/runtime/api/tasks/task-updater.js +0 -260
  106. package/dist/runtime/api/tasks/task-updater.test.d.ts +0 -1
  107. package/dist/runtime/api/tasks/task-updater.test.js +0 -303
  108. package/dist/runtime/api/types/index.d.ts +0 -186
  109. package/dist/runtime/api/types/index.js +0 -1
  110. package/dist/runtime/api/types/settings.d.ts +0 -105
  111. package/dist/runtime/api/types/settings.js +0 -2
  112. package/dist/runtime/api/types.d.ts +0 -2
  113. package/dist/runtime/api/types.js +0 -1
  114. package/dist/runtime/api/utils/env.d.ts +0 -6
  115. package/dist/runtime/api/utils/env.js +0 -12
  116. package/dist/runtime/api/utils/stripNextEnv.d.ts +0 -7
  117. package/dist/runtime/api/utils/stripNextEnv.js +0 -22
  118. package/dist/runtime/api/utils/title-slug.d.ts +0 -6
  119. package/dist/runtime/api/utils/title-slug.js +0 -77
  120. package/dist/runtime/api/utils/url.d.ts +0 -2
  121. package/dist/runtime/api/utils/url.js +0 -19
  122. package/dist/runtime/api/vcs/git-history-service.d.ts +0 -57
  123. package/dist/runtime/api/vcs/git-history-service.js +0 -228
  124. package/dist/runtime/api/vcs/git-service.d.ts +0 -136
  125. package/dist/runtime/api/vcs/git-service.js +0 -307
  126. package/dist/runtime/api/vcs/worktree-service.d.ts +0 -93
  127. package/dist/runtime/api/vcs/worktree-service.js +0 -518
  128. package/dist/runtime/api/vcs/worktree-service.test.d.ts +0 -1
  129. package/dist/runtime/api/vcs/worktree-service.test.js +0 -20
  130. package/dist/runtime/api/workflows/quality-pipeline.d.ts +0 -58
  131. package/dist/runtime/api/workflows/quality-pipeline.js +0 -401
  132. package/dist/runtime/api/workflows/vibing-orchestrator.d.ts +0 -406
  133. package/dist/runtime/api/workflows/vibing-orchestrator.js +0 -2462
  134. package/dist/runtime/api/workflows/workflow-effects.d.ts +0 -45
  135. package/dist/runtime/api/workflows/workflow-effects.js +0 -49
  136. package/dist/runtime/api/workflows/workflow-reconciler.d.ts +0 -65
  137. package/dist/runtime/api/workflows/workflow-reconciler.js +0 -226
  138. package/dist/runtime/api/workflows/workflow-reducer.d.ts +0 -26
  139. package/dist/runtime/api/workflows/workflow-reducer.js +0 -288
  140. package/dist/runtime/api/workflows/workflow-reducer.test.d.ts +0 -1
  141. package/dist/runtime/api/workflows/workflow-reducer.test.js +0 -247
  142. package/dist/runtime/api/workflows/workflow-schema.d.ts +0 -546
  143. package/dist/runtime/api/workflows/workflow-schema.js +0 -256
  144. package/dist/runtime/web/.next/BUILD_ID +0 -1
  145. package/dist/runtime/web/.next/app-build-manifest.json +0 -66
  146. package/dist/runtime/web/.next/app-path-routes-manifest.json +0 -8
  147. package/dist/runtime/web/.next/build-manifest.json +0 -33
  148. package/dist/runtime/web/.next/package.json +0 -1
  149. package/dist/runtime/web/.next/prerender-manifest.json +0 -61
  150. package/dist/runtime/web/.next/react-loadable-manifest.json +0 -8
  151. package/dist/runtime/web/.next/required-server-files.json +0 -334
  152. package/dist/runtime/web/.next/routes-manifest.json +0 -70
  153. package/dist/runtime/web/.next/server/app/.vibeman/assets/images/[...path]/route.js +0 -1
  154. package/dist/runtime/web/.next/server/app/.vibeman/assets/images/[...path]/route.js.nft.json +0 -1
  155. package/dist/runtime/web/.next/server/app/.vibeman/assets/images/[...path]/route_client-reference-manifest.js +0 -1
  156. package/dist/runtime/web/.next/server/app/_not-found/page.js +0 -2
  157. package/dist/runtime/web/.next/server/app/_not-found/page.js.nft.json +0 -1
  158. package/dist/runtime/web/.next/server/app/_not-found/page_client-reference-manifest.js +0 -1
  159. package/dist/runtime/web/.next/server/app/_not-found.html +0 -7
  160. package/dist/runtime/web/.next/server/app/_not-found.meta +0 -8
  161. package/dist/runtime/web/.next/server/app/_not-found.rsc +0 -22
  162. package/dist/runtime/web/.next/server/app/api/health/route.js +0 -1
  163. package/dist/runtime/web/.next/server/app/api/health/route.js.nft.json +0 -1
  164. package/dist/runtime/web/.next/server/app/api/health/route_client-reference-manifest.js +0 -1
  165. package/dist/runtime/web/.next/server/app/api/images/[...path]/route.js +0 -1
  166. package/dist/runtime/web/.next/server/app/api/images/[...path]/route.js.nft.json +0 -1
  167. package/dist/runtime/web/.next/server/app/api/images/[...path]/route_client-reference-manifest.js +0 -1
  168. package/dist/runtime/web/.next/server/app/api/upload/route.js +0 -1
  169. package/dist/runtime/web/.next/server/app/api/upload/route.js.nft.json +0 -1
  170. package/dist/runtime/web/.next/server/app/api/upload/route_client-reference-manifest.js +0 -1
  171. package/dist/runtime/web/.next/server/app/index.html +0 -7
  172. package/dist/runtime/web/.next/server/app/index.meta +0 -7
  173. package/dist/runtime/web/.next/server/app/index.rsc +0 -27
  174. package/dist/runtime/web/.next/server/app/page.js +0 -112
  175. package/dist/runtime/web/.next/server/app/page.js.nft.json +0 -1
  176. package/dist/runtime/web/.next/server/app/page_client-reference-manifest.js +0 -1
  177. package/dist/runtime/web/.next/server/app-paths-manifest.json +0 -8
  178. package/dist/runtime/web/.next/server/chunks/210.js +0 -1
  179. package/dist/runtime/web/.next/server/chunks/291.js +0 -18
  180. package/dist/runtime/web/.next/server/chunks/552.js +0 -22
  181. package/dist/runtime/web/.next/server/chunks/780.js +0 -1
  182. package/dist/runtime/web/.next/server/chunks/905.js +0 -6
  183. package/dist/runtime/web/.next/server/chunks/98.js +0 -1
  184. package/dist/runtime/web/.next/server/functions-config-manifest.json +0 -4
  185. package/dist/runtime/web/.next/server/middleware-build-manifest.js +0 -1
  186. package/dist/runtime/web/.next/server/middleware-manifest.json +0 -6
  187. package/dist/runtime/web/.next/server/middleware-react-loadable-manifest.js +0 -1
  188. package/dist/runtime/web/.next/server/next-font-manifest.js +0 -1
  189. package/dist/runtime/web/.next/server/next-font-manifest.json +0 -1
  190. package/dist/runtime/web/.next/server/pages/404.html +0 -7
  191. package/dist/runtime/web/.next/server/pages/500.html +0 -1
  192. package/dist/runtime/web/.next/server/pages/_app.js +0 -1
  193. package/dist/runtime/web/.next/server/pages/_app.js.nft.json +0 -1
  194. package/dist/runtime/web/.next/server/pages/_document.js +0 -1
  195. package/dist/runtime/web/.next/server/pages/_document.js.nft.json +0 -1
  196. package/dist/runtime/web/.next/server/pages/_error.js +0 -19
  197. package/dist/runtime/web/.next/server/pages/_error.js.nft.json +0 -1
  198. package/dist/runtime/web/.next/server/pages-manifest.json +0 -6
  199. package/dist/runtime/web/.next/server/server-reference-manifest.js +0 -1
  200. package/dist/runtime/web/.next/server/server-reference-manifest.json +0 -1
  201. package/dist/runtime/web/.next/server/webpack-runtime.js +0 -1
  202. package/dist/runtime/web/.next/static/LJFZk_8tvKFN_Ee4HqUuM/_buildManifest.js +0 -1
  203. package/dist/runtime/web/.next/static/LJFZk_8tvKFN_Ee4HqUuM/_ssgManifest.js +0 -1
  204. package/dist/runtime/web/.next/static/chunks/05c91ade-7d09b2b280adffd1.js +0 -1
  205. package/dist/runtime/web/.next/static/chunks/201-51bef3fa8c832e2e.js +0 -1
  206. package/dist/runtime/web/.next/static/chunks/524-89747ed9b0294f8a.js +0 -1
  207. package/dist/runtime/web/.next/static/chunks/554-8bec6e9cca6acc67.js +0 -1
  208. package/dist/runtime/web/.next/static/chunks/764.86e9503a69d45a85.js +0 -1
  209. package/dist/runtime/web/.next/static/chunks/7ab4dc20-239138e0ae7af24a.js +0 -1
  210. package/dist/runtime/web/.next/static/chunks/905-342391e3d3a3678f.js +0 -20
  211. package/dist/runtime/web/.next/static/chunks/a8a5ce16-4edea7df2d9b544a.js +0 -79
  212. package/dist/runtime/web/.next/static/chunks/ad74d572-4c1b162e2c15acaa.js +0 -1
  213. package/dist/runtime/web/.next/static/chunks/app/.vibeman/assets/images/[...path]/route-7b752a8641f96c1f.js +0 -1
  214. package/dist/runtime/web/.next/static/chunks/app/_not-found/page-34e66b251c2b5044.js +0 -1
  215. package/dist/runtime/web/.next/static/chunks/app/api/health/route-7b752a8641f96c1f.js +0 -1
  216. package/dist/runtime/web/.next/static/chunks/app/api/images/[...path]/route-7b752a8641f96c1f.js +0 -1
  217. package/dist/runtime/web/.next/static/chunks/app/api/upload/route-7b752a8641f96c1f.js +0 -1
  218. package/dist/runtime/web/.next/static/chunks/app/layout-df9ac93cb02b2385.js +0 -1
  219. package/dist/runtime/web/.next/static/chunks/app/page-6610743f7de5f92a.js +0 -1
  220. package/dist/runtime/web/.next/static/chunks/c25e0690-e9b798b8de667da1.js +0 -1
  221. package/dist/runtime/web/.next/static/chunks/framework-57157ec4d37f64aa.js +0 -1
  222. package/dist/runtime/web/.next/static/chunks/main-app-156cc0c60371bd78.js +0 -1
  223. package/dist/runtime/web/.next/static/chunks/main-df25d367c47b1fec.js +0 -1
  224. package/dist/runtime/web/.next/static/chunks/pages/_app-9f629a5e1131d19f.js +0 -1
  225. package/dist/runtime/web/.next/static/chunks/pages/_error-9238238274c7efcd.js +0 -1
  226. package/dist/runtime/web/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  227. package/dist/runtime/web/.next/static/chunks/webpack-cd50e39b423d1808.js +0 -1
  228. package/dist/runtime/web/.next/static/css/2728291c68f99cb1.css +0 -3
  229. package/dist/runtime/web/.next/static/css/4fbf378a264bd4ea.css +0 -1
  230. package/dist/runtime/web/.next/static/css/521bd69cc298cd1a.css +0 -1
  231. package/dist/runtime/web/.next/static/css/537e22821e101b87.css +0 -1
  232. package/dist/runtime/web/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
  233. package/dist/runtime/web/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
  234. package/dist/runtime/web/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
  235. package/dist/runtime/web/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
  236. package/dist/runtime/web/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
  237. package/dist/runtime/web/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  238. package/dist/runtime/web/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  239. package/dist/runtime/web/package.json +0 -65
  240. package/dist/runtime/web/server.js +0 -44
  241. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,406 +0,0 @@
1
- import { EventEmitter } from 'events';
2
- import type { VibingExecution, VibingPhase, VibingConfig } from '../types/index.js';
3
- import { TaskService } from '../tasks/task-service.js';
4
- import { AgentService } from '../agent/agent-service.js';
5
- import { WorktreeService } from '../vcs/worktree-service.js';
6
- import { GitService } from '../vcs/git-service.js';
7
- import type { ResolvedProvider } from '../agent/routing-policy.js';
8
- import type { WorkflowEvent } from './workflow-schema.js';
9
- import { computeNextAction } from './workflow-reducer.js';
10
- import { type ReconcileAction } from './workflow-reconciler.js';
11
- export declare class VibingOrchestrator extends EventEmitter {
12
- private taskService;
13
- private agentService;
14
- private worktreeService;
15
- private config;
16
- private gitService?;
17
- private workflows;
18
- private qualityPipeline;
19
- private workflowDB;
20
- private taskUpdater;
21
- private initialized;
22
- private activeImprovements;
23
- private taskImprovementExecutions;
24
- private reconciler;
25
- private heartbeatTracker;
26
- private idempotencyGuard;
27
- private computeVisibleTimeline;
28
- private buildTimeline;
29
- constructor(taskService: TaskService, agentService: AgentService, worktreeService: WorktreeService, config: VibingConfig, gitService?: GitService | undefined, persistenceDataDir?: string);
30
- /**
31
- * Initialize workflow orchestrator by loading existing workflows
32
- * Call this after construction to load persisted workflows
33
- */
34
- initialize(): Promise<void>;
35
- /**
36
- * Shutdown the orchestrator and cleanup resources
37
- */
38
- shutdown(): Promise<void>;
39
- /**
40
- * Get workflow snapshots for reconciler
41
- */
42
- private getWorkflowSnapshots;
43
- /**
44
- * Handle stuck workflow detected by reconciler
45
- */
46
- private handleStuckWorkflow;
47
- /**
48
- * Record heartbeat for active workflow execution
49
- */
50
- recordHeartbeat(workflowId: string): void;
51
- /**
52
- * Check if reconciler is running
53
- */
54
- isReconcilerRunning(): boolean;
55
- /**
56
- * Get reconcile history for debugging
57
- */
58
- getReconcileHistory(): ReconcileAction[];
59
- private normalizeWorkflow;
60
- /**
61
- * Convert VibingExecution to WorkflowState for the reducer
62
- */
63
- private toWorkflowState;
64
- /**
65
- * Apply WorkflowState changes back to VibingExecution (for backward compatibility)
66
- */
67
- private applyStateToExecution;
68
- /**
69
- * Create an EffectContext that binds orchestrator methods
70
- */
71
- private createEffectContext;
72
- /**
73
- * Dispatch an event to the workflow state machine (NEW API)
74
- * This is the new way to trigger state transitions.
75
- * Uses idempotency guard to prevent duplicate event processing.
76
- */
77
- dispatch(workflowId: string, event: WorkflowEvent): Promise<void>;
78
- /**
79
- * Get the next recommended action for a workflow (uses new state machine)
80
- */
81
- getNextAction(workflowId: string): ReturnType<typeof computeNextAction> | null;
82
- /**
83
- * Execute a task once (no phase management). Optionally associates with a workflow.
84
- */
85
- executeTask(taskId: string, workflowId?: string): Promise<{
86
- executionId: string;
87
- }>;
88
- stopExecution(executionId: string): Promise<void>;
89
- getExecutionStatus(executionId: string): import("../types/index.js").AgentExecution | null;
90
- getPersistedExecutionLogs(executionId: string): Promise<{
91
- metadata: any;
92
- logs: any[];
93
- }>;
94
- getExecutionLogs(executionId: string): string[];
95
- getTaskExecutions(taskId: string): import("../types/index.js").AgentExecution[];
96
- getExecutionStats(): {
97
- total: number;
98
- pending: number;
99
- running: number;
100
- completed: number;
101
- failed: number;
102
- cancelled: number;
103
- worktrees: {
104
- active: number;
105
- total: number;
106
- enabled: boolean;
107
- };
108
- };
109
- listAllExecutions(): Promise<any[]>;
110
- startTaskImprovement(taskId: string, data: {
111
- title: string;
112
- type: string;
113
- priority: string;
114
- content: string;
115
- }, options?: {
116
- executionId?: string;
117
- }): Promise<{
118
- readonly executionId: string;
119
- }>;
120
- improveTaskContent(taskId: string, data: {
121
- title: string;
122
- type: string;
123
- priority: string;
124
- content: string;
125
- }, options?: {
126
- executionId?: string;
127
- workflowId?: string;
128
- }): Promise<{
129
- type: string;
130
- priority: string;
131
- content: string;
132
- title?: string;
133
- executionId: string;
134
- selectedModel?: string;
135
- }>;
136
- private runTaskImprovementPipeline;
137
- aiReviewCode(taskId: string, reviewContext?: string, options?: {
138
- workflowId?: string;
139
- overrides?: Partial<ResolvedProvider>;
140
- executionId?: string;
141
- }): Promise<{
142
- executionId: string;
143
- reviewSummary: string;
144
- recommendations: string[];
145
- qualityScore: number;
146
- }>;
147
- aiMerge(taskId: string, options?: {
148
- baseBranch?: string;
149
- workflowId?: string;
150
- provider?: string;
151
- model?: string;
152
- executionId?: string;
153
- }): Promise<{
154
- executionId: string;
155
- }>;
156
- listWorktrees(): Promise<(import("../types/index.js").WorktreeInfo & {
157
- isConnectedToTask: boolean;
158
- })[]>;
159
- syncWorktreeState(): Promise<void>;
160
- getWorktreeInfo(taskId: string): any;
161
- createWorktree(taskId: string): Promise<any>;
162
- deleteWorktree(taskId: string, force?: boolean): Promise<void>;
163
- cleanupWorktree(params: {
164
- taskId?: string;
165
- worktreePath?: string;
166
- branchName?: string;
167
- isConnectedToTask: boolean;
168
- force?: boolean;
169
- }): Promise<void>;
170
- createPullRequest(taskId: string, baseBranch?: string): Promise<{
171
- success: boolean;
172
- pullRequest?: any;
173
- error?: string;
174
- }>;
175
- openInEditor(worktreePath: string): Promise<{
176
- readonly success: true;
177
- }>;
178
- openInTerminal(worktreePath: string): Promise<{
179
- readonly success: true;
180
- }>;
181
- checkWorktreeStatus(workflowId: string): Promise<{
182
- clean: boolean;
183
- uncommittedFiles: string[];
184
- worktreePath?: string;
185
- }>;
186
- approveAndContinueReview(workflowId: string): Promise<void>;
187
- /**
188
- * Mark workflow as completed by human decision.
189
- * Does not perform merge/cleanup; simply finalizes the workflow and emits completion.
190
- */
191
- markWorkflowCompleted(workflowId: string): Promise<void>;
192
- ensureInitialized(): Promise<void>;
193
- /**
194
- * Start AI-assisted workflow for a task
195
- */
196
- startWorkflow(taskId: string, customConfig?: Partial<VibingConfig>): Promise<string>;
197
- /**
198
- * Pause a workflow execution
199
- */
200
- pauseWorkflow(workflowId: string): Promise<void>;
201
- /**
202
- * Reset a workflow by deleting its record and optionally its worktree.
203
- */
204
- resetWorkflow(workflowId: string, options?: {
205
- deleteWorktree?: boolean;
206
- force?: boolean;
207
- }): Promise<void>;
208
- /**
209
- * Approve workflow changes and proceed to merge
210
- */
211
- approveWorkflow(workflowId: string): Promise<void>;
212
- /**
213
- * Reject workflow and request changes
214
- */
215
- rejectWorkflow(workflowId: string, feedback: string): Promise<void>;
216
- /**
217
- * Helper to close a timeline item by phase
218
- */
219
- private closeTimelineItem;
220
- /**
221
- * Get workflow status
222
- */
223
- getWorkflow(workflowId: string): VibingExecution | null;
224
- /**
225
- * Get all workflows for a task
226
- */
227
- getTaskWorkflows(taskId: string): VibingExecution[];
228
- /**
229
- * Get latest workflow for a task, preferring most recently updated.
230
- * Falls back to newest startTime when lastUpdatedAt is unavailable.
231
- */
232
- getLatestWorkflowByTask(taskId: string): VibingExecution | null;
233
- /**
234
- * Update UI phase with proper tracking of lastPhase, phaseHistory, and metrics.
235
- * This is for UI-only phases that don't correspond to FSM states.
236
- */
237
- private updateUIPhase;
238
- /**
239
- * Update task file when workflow becomes ready for review
240
- */
241
- private updateTaskForReviewReadiness;
242
- /**
243
- * Extract context information for task updates
244
- */
245
- private extractTaskUpdateContext;
246
- /**
247
- * Save workflow to persistence layer
248
- */
249
- private saveWorkflow;
250
- /**
251
- * Execute implementation phase with AI coding
252
- */
253
- private executeImplementation;
254
- /**
255
- * Public: re-run implementation phase on demand
256
- * Uses dispatch(RETRY) to transition FSM and trigger implementation via effect.
257
- */
258
- rerunImplementation(workflowId: string, feedback?: string, providerOverride?: {
259
- provider?: string;
260
- model?: string;
261
- }): Promise<void>;
262
- /**
263
- * Get previous phase, preferring the phase where failure occurred
264
- */
265
- getPreviousPhase(workflowId: string): VibingPhase | null;
266
- /**
267
- * Rerun the phase that led to failure (or lastPhase if available)
268
- */
269
- rerunPreviousPhase(workflowId: string): Promise<void>;
270
- /**
271
- * Rerun a specific phase programmatically
272
- */
273
- rerunPhase(workflowId: string, phase: VibingPhase): Promise<void>;
274
- /**
275
- * Reset workflow state from a given phase onward (inclusive).
276
- * Clears timeline entries, execution IDs, attempts, and phase results for later phases
277
- * so that a rerun behaves like a fresh run from that step.
278
- */
279
- private resetFromPhase;
280
- /**
281
- * Perform AI code review of implemented changes
282
- */
283
- private performAICodeReview;
284
- /**
285
- * Execute AI review as a dedicated phase
286
- * Note: 'ai-reviewing' is a UI-only phase for timeline display, not an FSM phase.
287
- * FSM remains in 'approved' during AI review.
288
- */
289
- private executeAiReviewPhase;
290
- private executeAwaitingReview;
291
- /**
292
- * Execute validation phase with quality checks
293
- * Note: FSM has already transitioned to 'validating' via IMPL_SUCCESS event
294
- */
295
- private executeValidation;
296
- /**
297
- * Public: run validation phase on demand
298
- */
299
- runValidation(workflowId: string): Promise<void>;
300
- /**
301
- * Execute merge phase
302
- * Note: FSM has already transitioned to 'merging' via APPROVE event
303
- */
304
- private executeMerge;
305
- /**
306
- * Verify that a merge actually succeeded by checking git state
307
- */
308
- private verifyMergeSuccess;
309
- /**
310
- * Public: run merge phase on demand
311
- * This will attempt merge regardless of current phase.
312
- */
313
- runMerge(workflowId: string, options?: {
314
- provider?: string;
315
- model?: string;
316
- }): Promise<void>;
317
- /**
318
- * Execute cleanup phase: remove worktree/branch and finalize workflow
319
- * Note: FSM has already transitioned to 'done' via MERGE_SUCCESS event
320
- */
321
- private executeCleanup;
322
- /**
323
- * Public: run cleanup phase on demand
324
- */
325
- runCleanup(workflowId: string): Promise<void>;
326
- /**
327
- * Public: manually skip to next phase
328
- */
329
- skipToNextPhase(workflowId: string): Promise<void>;
330
- /**
331
- * Wait for an execution to complete
332
- */
333
- private waitForExecution;
334
- /**
335
- * Wait for the AgentService to emit an executionCreated event for the given task/workflow
336
- */
337
- private waitForExecutionCreated;
338
- /**
339
- * Get workflow statistics
340
- */
341
- getWorkflowStats(): {
342
- total: number;
343
- byPhase: Record<VibingPhase, number>;
344
- active: number;
345
- completed: number;
346
- failed: number;
347
- };
348
- /**
349
- * Get workflow persistence information
350
- */
351
- getWorkflowPersistenceInfo(): {
352
- filePath: string;
353
- workflowCount: number;
354
- };
355
- /**
356
- * Force save all workflows to disk
357
- */
358
- saveAllWorkflows(): Promise<void>;
359
- /**
360
- * Reload workflows from disk
361
- */
362
- reloadWorkflows(): Promise<void>;
363
- /**
364
- * Remove workflows by task ID
365
- */
366
- removeWorkflowsByTask(taskId: string): Promise<number>;
367
- /**
368
- * Get comprehensive workflow statistics
369
- */
370
- getDetailedStats(): Promise<{
371
- memoryStats: {
372
- total: number;
373
- byPhase: Record<VibingPhase, number>;
374
- active: number;
375
- completed: number;
376
- failed: number;
377
- };
378
- persistenceStats: {
379
- total: number;
380
- byPhase: Record<string, number>;
381
- oldestWorkflow?: string;
382
- newestWorkflow?: string;
383
- };
384
- persistencePath: string;
385
- }>;
386
- /**
387
- * Update workflow options without changing phase
388
- */
389
- updateWorkflowOptions(workflowId: string, config: Partial<VibingConfig>): Promise<void>;
390
- /**
391
- * Continue workflow execution from current state
392
- * Uses the new state machine to determine the next action
393
- */
394
- continueWorkflow(workflowId: string): Promise<void>;
395
- private requireWorkflow;
396
- private getAIReviewThreshold;
397
- private assertPhase;
398
- private createNewWorkflow;
399
- private maybeRetryImplementation;
400
- private handlePhaseFailure;
401
- private getFailEventForPhase;
402
- /**
403
- * Get the agent service instance
404
- */
405
- getAgentService(): AgentService;
406
- }