vibeman 0.0.5 → 0.0.7

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 (239) hide show
  1. package/dist/api.js +43 -0
  2. package/dist/index.js +227 -104
  3. package/dist/ui/assets/index-C_kQPI1m.js +9 -0
  4. package/dist/ui/index.html +12 -0
  5. package/package.json +13 -46
  6. package/README.md +0 -12
  7. package/dist/runtime/api/.tsbuildinfo +0 -1
  8. package/dist/runtime/api/agent/agent-service.d.ts +0 -229
  9. package/dist/runtime/api/agent/agent-service.js +0 -963
  10. package/dist/runtime/api/agent/ai-providers/amp-cli-provider.d.ts +0 -38
  11. package/dist/runtime/api/agent/ai-providers/amp-cli-provider.js +0 -268
  12. package/dist/runtime/api/agent/ai-providers/claude-code-adapter.d.ts +0 -61
  13. package/dist/runtime/api/agent/ai-providers/claude-code-adapter.js +0 -362
  14. package/dist/runtime/api/agent/ai-providers/codex-cli-provider.d.ts +0 -36
  15. package/dist/runtime/api/agent/ai-providers/codex-cli-provider.js +0 -375
  16. package/dist/runtime/api/agent/ai-providers/gemini-cli-provider.d.ts +0 -24
  17. package/dist/runtime/api/agent/ai-providers/gemini-cli-provider.js +0 -291
  18. package/dist/runtime/api/agent/ai-providers/index.d.ts +0 -9
  19. package/dist/runtime/api/agent/ai-providers/index.js +0 -9
  20. package/dist/runtime/api/agent/ai-providers/types.d.ts +0 -185
  21. package/dist/runtime/api/agent/ai-providers/types.js +0 -5
  22. package/dist/runtime/api/agent/amp-cli-provider.test.d.ts +0 -1
  23. package/dist/runtime/api/agent/amp-cli-provider.test.js +0 -99
  24. package/dist/runtime/api/agent/codex-cli-provider.test.d.ts +0 -1
  25. package/dist/runtime/api/agent/codex-cli-provider.test.js +0 -172
  26. package/dist/runtime/api/agent/core-agent-service.d.ts +0 -119
  27. package/dist/runtime/api/agent/core-agent-service.js +0 -267
  28. package/dist/runtime/api/agent/parsers.d.ts +0 -16
  29. package/dist/runtime/api/agent/parsers.js +0 -308
  30. package/dist/runtime/api/agent/prompt-service.d.ts +0 -30
  31. package/dist/runtime/api/agent/prompt-service.js +0 -452
  32. package/dist/runtime/api/agent/prompt-service.test.d.ts +0 -1
  33. package/dist/runtime/api/agent/prompt-service.test.js +0 -265
  34. package/dist/runtime/api/agent/routing-policy.d.ts +0 -171
  35. package/dist/runtime/api/agent/routing-policy.js +0 -196
  36. package/dist/runtime/api/agent/routing-policy.test.d.ts +0 -1
  37. package/dist/runtime/api/agent/routing-policy.test.js +0 -63
  38. package/dist/runtime/api/api/router-helpers.d.ts +0 -32
  39. package/dist/runtime/api/api/router-helpers.js +0 -31
  40. package/dist/runtime/api/api/routers/ai.d.ts +0 -200
  41. package/dist/runtime/api/api/routers/ai.js +0 -396
  42. package/dist/runtime/api/api/routers/executions.d.ts +0 -93
  43. package/dist/runtime/api/api/routers/executions.js +0 -94
  44. package/dist/runtime/api/api/routers/git.d.ts +0 -45
  45. package/dist/runtime/api/api/routers/git.js +0 -35
  46. package/dist/runtime/api/api/routers/provider-config.d.ts +0 -199
  47. package/dist/runtime/api/api/routers/provider-config.js +0 -252
  48. package/dist/runtime/api/api/routers/settings.d.ts +0 -158
  49. package/dist/runtime/api/api/routers/settings.js +0 -129
  50. package/dist/runtime/api/api/routers/tasks.d.ts +0 -141
  51. package/dist/runtime/api/api/routers/tasks.js +0 -238
  52. package/dist/runtime/api/api/routers/workflows.d.ts +0 -275
  53. package/dist/runtime/api/api/routers/workflows.js +0 -311
  54. package/dist/runtime/api/api/routers/worktrees.d.ts +0 -101
  55. package/dist/runtime/api/api/routers/worktrees.js +0 -80
  56. package/dist/runtime/api/api/trpc.d.ts +0 -118
  57. package/dist/runtime/api/api/trpc.js +0 -34
  58. package/dist/runtime/api/index.d.ts +0 -9
  59. package/dist/runtime/api/index.js +0 -117
  60. package/dist/runtime/api/lib/id-generator.d.ts +0 -70
  61. package/dist/runtime/api/lib/id-generator.js +0 -123
  62. package/dist/runtime/api/lib/local-config.d.ts +0 -335
  63. package/dist/runtime/api/lib/local-config.js +0 -304
  64. package/dist/runtime/api/lib/logger.d.ts +0 -11
  65. package/dist/runtime/api/lib/logger.js +0 -188
  66. package/dist/runtime/api/lib/provider-detection.d.ts +0 -61
  67. package/dist/runtime/api/lib/provider-detection.js +0 -326
  68. package/dist/runtime/api/lib/server/agent-service-singleton.d.ts +0 -6
  69. package/dist/runtime/api/lib/server/agent-service-singleton.js +0 -27
  70. package/dist/runtime/api/lib/server/bootstrap.d.ts +0 -38
  71. package/dist/runtime/api/lib/server/bootstrap.js +0 -197
  72. package/dist/runtime/api/lib/server/git-service-singleton.d.ts +0 -6
  73. package/dist/runtime/api/lib/server/git-service-singleton.js +0 -47
  74. package/dist/runtime/api/lib/server/project-root.d.ts +0 -2
  75. package/dist/runtime/api/lib/server/project-root.js +0 -61
  76. package/dist/runtime/api/lib/server/task-service-singleton.d.ts +0 -7
  77. package/dist/runtime/api/lib/server/task-service-singleton.js +0 -58
  78. package/dist/runtime/api/lib/server/vibeman-info.d.ts +0 -5
  79. package/dist/runtime/api/lib/server/vibeman-info.js +0 -85
  80. package/dist/runtime/api/lib/server/vibing-orchestrator-singleton.d.ts +0 -7
  81. package/dist/runtime/api/lib/server/vibing-orchestrator-singleton.js +0 -57
  82. package/dist/runtime/api/lib/trpc/server.d.ts +0 -965
  83. package/dist/runtime/api/lib/trpc/server.js +0 -11
  84. package/dist/runtime/api/lib/trpc/ws-server.d.ts +0 -8
  85. package/dist/runtime/api/lib/trpc/ws-server.js +0 -33
  86. package/dist/runtime/api/persistence/database-service.d.ts +0 -14
  87. package/dist/runtime/api/persistence/database-service.js +0 -74
  88. package/dist/runtime/api/persistence/execution-log-persistence.d.ts +0 -90
  89. package/dist/runtime/api/persistence/execution-log-persistence.js +0 -426
  90. package/dist/runtime/api/persistence/execution-log-persistence.test.d.ts +0 -1
  91. package/dist/runtime/api/persistence/execution-log-persistence.test.js +0 -170
  92. package/dist/runtime/api/router.d.ts +0 -968
  93. package/dist/runtime/api/router.js +0 -34
  94. package/dist/runtime/api/settings-service.d.ts +0 -110
  95. package/dist/runtime/api/settings-service.js +0 -678
  96. package/dist/runtime/api/tasks/file-watcher.d.ts +0 -23
  97. package/dist/runtime/api/tasks/file-watcher.js +0 -88
  98. package/dist/runtime/api/tasks/task-file-parser.d.ts +0 -14
  99. package/dist/runtime/api/tasks/task-file-parser.js +0 -180
  100. package/dist/runtime/api/tasks/task-service.d.ts +0 -36
  101. package/dist/runtime/api/tasks/task-service.js +0 -173
  102. package/dist/runtime/api/tasks/task-updater.d.ts +0 -62
  103. package/dist/runtime/api/tasks/task-updater.js +0 -260
  104. package/dist/runtime/api/tasks/task-updater.test.d.ts +0 -1
  105. package/dist/runtime/api/tasks/task-updater.test.js +0 -303
  106. package/dist/runtime/api/types/index.d.ts +0 -186
  107. package/dist/runtime/api/types/index.js +0 -1
  108. package/dist/runtime/api/types/settings.d.ts +0 -105
  109. package/dist/runtime/api/types/settings.js +0 -2
  110. package/dist/runtime/api/types.d.ts +0 -2
  111. package/dist/runtime/api/types.js +0 -1
  112. package/dist/runtime/api/utils/env.d.ts +0 -6
  113. package/dist/runtime/api/utils/env.js +0 -12
  114. package/dist/runtime/api/utils/stripNextEnv.d.ts +0 -7
  115. package/dist/runtime/api/utils/stripNextEnv.js +0 -22
  116. package/dist/runtime/api/utils/title-slug.d.ts +0 -6
  117. package/dist/runtime/api/utils/title-slug.js +0 -77
  118. package/dist/runtime/api/utils/url.d.ts +0 -2
  119. package/dist/runtime/api/utils/url.js +0 -19
  120. package/dist/runtime/api/vcs/git-history-service.d.ts +0 -57
  121. package/dist/runtime/api/vcs/git-history-service.js +0 -228
  122. package/dist/runtime/api/vcs/git-service.d.ts +0 -136
  123. package/dist/runtime/api/vcs/git-service.js +0 -307
  124. package/dist/runtime/api/vcs/worktree-service.d.ts +0 -93
  125. package/dist/runtime/api/vcs/worktree-service.js +0 -518
  126. package/dist/runtime/api/vcs/worktree-service.test.d.ts +0 -1
  127. package/dist/runtime/api/vcs/worktree-service.test.js +0 -20
  128. package/dist/runtime/api/workflows/quality-pipeline.d.ts +0 -58
  129. package/dist/runtime/api/workflows/quality-pipeline.js +0 -401
  130. package/dist/runtime/api/workflows/vibing-orchestrator.d.ts +0 -406
  131. package/dist/runtime/api/workflows/vibing-orchestrator.js +0 -2462
  132. package/dist/runtime/api/workflows/workflow-effects.d.ts +0 -45
  133. package/dist/runtime/api/workflows/workflow-effects.js +0 -49
  134. package/dist/runtime/api/workflows/workflow-reconciler.d.ts +0 -65
  135. package/dist/runtime/api/workflows/workflow-reconciler.js +0 -226
  136. package/dist/runtime/api/workflows/workflow-reducer.d.ts +0 -26
  137. package/dist/runtime/api/workflows/workflow-reducer.js +0 -288
  138. package/dist/runtime/api/workflows/workflow-reducer.test.d.ts +0 -1
  139. package/dist/runtime/api/workflows/workflow-reducer.test.js +0 -247
  140. package/dist/runtime/api/workflows/workflow-schema.d.ts +0 -546
  141. package/dist/runtime/api/workflows/workflow-schema.js +0 -256
  142. package/dist/runtime/web/.next/BUILD_ID +0 -1
  143. package/dist/runtime/web/.next/app-build-manifest.json +0 -66
  144. package/dist/runtime/web/.next/app-path-routes-manifest.json +0 -8
  145. package/dist/runtime/web/.next/build-manifest.json +0 -33
  146. package/dist/runtime/web/.next/package.json +0 -1
  147. package/dist/runtime/web/.next/prerender-manifest.json +0 -61
  148. package/dist/runtime/web/.next/react-loadable-manifest.json +0 -8
  149. package/dist/runtime/web/.next/required-server-files.json +0 -334
  150. package/dist/runtime/web/.next/routes-manifest.json +0 -70
  151. package/dist/runtime/web/.next/server/app/.vibeman/assets/images/[...path]/route.js +0 -1
  152. package/dist/runtime/web/.next/server/app/.vibeman/assets/images/[...path]/route.js.nft.json +0 -1
  153. package/dist/runtime/web/.next/server/app/.vibeman/assets/images/[...path]/route_client-reference-manifest.js +0 -1
  154. package/dist/runtime/web/.next/server/app/_not-found/page.js +0 -2
  155. package/dist/runtime/web/.next/server/app/_not-found/page.js.nft.json +0 -1
  156. package/dist/runtime/web/.next/server/app/_not-found/page_client-reference-manifest.js +0 -1
  157. package/dist/runtime/web/.next/server/app/_not-found.html +0 -7
  158. package/dist/runtime/web/.next/server/app/_not-found.meta +0 -8
  159. package/dist/runtime/web/.next/server/app/_not-found.rsc +0 -22
  160. package/dist/runtime/web/.next/server/app/api/health/route.js +0 -1
  161. package/dist/runtime/web/.next/server/app/api/health/route.js.nft.json +0 -1
  162. package/dist/runtime/web/.next/server/app/api/health/route_client-reference-manifest.js +0 -1
  163. package/dist/runtime/web/.next/server/app/api/images/[...path]/route.js +0 -1
  164. package/dist/runtime/web/.next/server/app/api/images/[...path]/route.js.nft.json +0 -1
  165. package/dist/runtime/web/.next/server/app/api/images/[...path]/route_client-reference-manifest.js +0 -1
  166. package/dist/runtime/web/.next/server/app/api/upload/route.js +0 -1
  167. package/dist/runtime/web/.next/server/app/api/upload/route.js.nft.json +0 -1
  168. package/dist/runtime/web/.next/server/app/api/upload/route_client-reference-manifest.js +0 -1
  169. package/dist/runtime/web/.next/server/app/index.html +0 -7
  170. package/dist/runtime/web/.next/server/app/index.meta +0 -7
  171. package/dist/runtime/web/.next/server/app/index.rsc +0 -27
  172. package/dist/runtime/web/.next/server/app/page.js +0 -112
  173. package/dist/runtime/web/.next/server/app/page.js.nft.json +0 -1
  174. package/dist/runtime/web/.next/server/app/page_client-reference-manifest.js +0 -1
  175. package/dist/runtime/web/.next/server/app-paths-manifest.json +0 -8
  176. package/dist/runtime/web/.next/server/chunks/210.js +0 -1
  177. package/dist/runtime/web/.next/server/chunks/291.js +0 -18
  178. package/dist/runtime/web/.next/server/chunks/552.js +0 -22
  179. package/dist/runtime/web/.next/server/chunks/780.js +0 -1
  180. package/dist/runtime/web/.next/server/chunks/905.js +0 -6
  181. package/dist/runtime/web/.next/server/chunks/98.js +0 -1
  182. package/dist/runtime/web/.next/server/functions-config-manifest.json +0 -4
  183. package/dist/runtime/web/.next/server/middleware-build-manifest.js +0 -1
  184. package/dist/runtime/web/.next/server/middleware-manifest.json +0 -6
  185. package/dist/runtime/web/.next/server/middleware-react-loadable-manifest.js +0 -1
  186. package/dist/runtime/web/.next/server/next-font-manifest.js +0 -1
  187. package/dist/runtime/web/.next/server/next-font-manifest.json +0 -1
  188. package/dist/runtime/web/.next/server/pages/404.html +0 -7
  189. package/dist/runtime/web/.next/server/pages/500.html +0 -1
  190. package/dist/runtime/web/.next/server/pages/_app.js +0 -1
  191. package/dist/runtime/web/.next/server/pages/_app.js.nft.json +0 -1
  192. package/dist/runtime/web/.next/server/pages/_document.js +0 -1
  193. package/dist/runtime/web/.next/server/pages/_document.js.nft.json +0 -1
  194. package/dist/runtime/web/.next/server/pages/_error.js +0 -19
  195. package/dist/runtime/web/.next/server/pages/_error.js.nft.json +0 -1
  196. package/dist/runtime/web/.next/server/pages-manifest.json +0 -6
  197. package/dist/runtime/web/.next/server/server-reference-manifest.js +0 -1
  198. package/dist/runtime/web/.next/server/server-reference-manifest.json +0 -1
  199. package/dist/runtime/web/.next/server/webpack-runtime.js +0 -1
  200. package/dist/runtime/web/.next/static/LJFZk_8tvKFN_Ee4HqUuM/_buildManifest.js +0 -1
  201. package/dist/runtime/web/.next/static/LJFZk_8tvKFN_Ee4HqUuM/_ssgManifest.js +0 -1
  202. package/dist/runtime/web/.next/static/chunks/05c91ade-7d09b2b280adffd1.js +0 -1
  203. package/dist/runtime/web/.next/static/chunks/201-51bef3fa8c832e2e.js +0 -1
  204. package/dist/runtime/web/.next/static/chunks/524-89747ed9b0294f8a.js +0 -1
  205. package/dist/runtime/web/.next/static/chunks/554-8bec6e9cca6acc67.js +0 -1
  206. package/dist/runtime/web/.next/static/chunks/764.86e9503a69d45a85.js +0 -1
  207. package/dist/runtime/web/.next/static/chunks/7ab4dc20-239138e0ae7af24a.js +0 -1
  208. package/dist/runtime/web/.next/static/chunks/905-342391e3d3a3678f.js +0 -20
  209. package/dist/runtime/web/.next/static/chunks/a8a5ce16-4edea7df2d9b544a.js +0 -79
  210. package/dist/runtime/web/.next/static/chunks/ad74d572-4c1b162e2c15acaa.js +0 -1
  211. package/dist/runtime/web/.next/static/chunks/app/.vibeman/assets/images/[...path]/route-7b752a8641f96c1f.js +0 -1
  212. package/dist/runtime/web/.next/static/chunks/app/_not-found/page-34e66b251c2b5044.js +0 -1
  213. package/dist/runtime/web/.next/static/chunks/app/api/health/route-7b752a8641f96c1f.js +0 -1
  214. package/dist/runtime/web/.next/static/chunks/app/api/images/[...path]/route-7b752a8641f96c1f.js +0 -1
  215. package/dist/runtime/web/.next/static/chunks/app/api/upload/route-7b752a8641f96c1f.js +0 -1
  216. package/dist/runtime/web/.next/static/chunks/app/layout-df9ac93cb02b2385.js +0 -1
  217. package/dist/runtime/web/.next/static/chunks/app/page-6610743f7de5f92a.js +0 -1
  218. package/dist/runtime/web/.next/static/chunks/c25e0690-e9b798b8de667da1.js +0 -1
  219. package/dist/runtime/web/.next/static/chunks/framework-57157ec4d37f64aa.js +0 -1
  220. package/dist/runtime/web/.next/static/chunks/main-app-156cc0c60371bd78.js +0 -1
  221. package/dist/runtime/web/.next/static/chunks/main-df25d367c47b1fec.js +0 -1
  222. package/dist/runtime/web/.next/static/chunks/pages/_app-9f629a5e1131d19f.js +0 -1
  223. package/dist/runtime/web/.next/static/chunks/pages/_error-9238238274c7efcd.js +0 -1
  224. package/dist/runtime/web/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  225. package/dist/runtime/web/.next/static/chunks/webpack-cd50e39b423d1808.js +0 -1
  226. package/dist/runtime/web/.next/static/css/2728291c68f99cb1.css +0 -3
  227. package/dist/runtime/web/.next/static/css/4fbf378a264bd4ea.css +0 -1
  228. package/dist/runtime/web/.next/static/css/521bd69cc298cd1a.css +0 -1
  229. package/dist/runtime/web/.next/static/css/537e22821e101b87.css +0 -1
  230. package/dist/runtime/web/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
  231. package/dist/runtime/web/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
  232. package/dist/runtime/web/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
  233. package/dist/runtime/web/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
  234. package/dist/runtime/web/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
  235. package/dist/runtime/web/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  236. package/dist/runtime/web/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  237. package/dist/runtime/web/package.json +0 -65
  238. package/dist/runtime/web/server.js +0 -44
  239. 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
- }