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,186 +0,0 @@
1
- import type { VibingStatus, VibingStage } from '@vibeman/types';
2
- export interface Task {
3
- id: string;
4
- title: string;
5
- type: 'feature' | 'bug' | 'chore' | 'refactor' | 'test' | 'doc';
6
- status: 'backlog' | 'in-progress' | 'review' | 'done';
7
- tags: string[];
8
- due_date?: string;
9
- assignee?: string[];
10
- priority: 'low' | 'medium' | 'high';
11
- comments?: string[];
12
- content: string;
13
- created_at: string;
14
- updated_at: string;
15
- deleted_at?: string;
16
- }
17
- export interface TaskMetadata {
18
- id: string;
19
- title: string;
20
- type: Task['type'];
21
- status: Task['status'];
22
- tags: string[];
23
- due_date?: string | Date;
24
- assignee?: string[];
25
- priority: Task['priority'];
26
- comments?: string[];
27
- deleted_at?: string;
28
- }
29
- export interface ServerConfig {
30
- port: number;
31
- host: string;
32
- vibeDir: string;
33
- tasksDir: string;
34
- }
35
- export interface ExecutionLog {
36
- id: string;
37
- taskId: string;
38
- timestamp: string;
39
- level: 'info' | 'warn' | 'error';
40
- message: string;
41
- data?: Record<string, unknown>;
42
- }
43
- export interface AgentExecution {
44
- id: string;
45
- taskId: string;
46
- status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
47
- startTime: string;
48
- endTime?: string;
49
- logs: string[];
50
- error?: string;
51
- provider?: string;
52
- usage?: {
53
- promptTokens: number;
54
- completionTokens: number;
55
- totalTokens: number;
56
- cost?: number;
57
- };
58
- worktree?: WorktreeInfo;
59
- workingDirectory: string;
60
- }
61
- export interface WorktreeInfo {
62
- taskId: string;
63
- path: string;
64
- branchName: string;
65
- }
66
- export interface WorktreeConfig {
67
- worktreePath: string;
68
- }
69
- export interface TaskImprovementRequest {
70
- taskId: string;
71
- title: string;
72
- type: Task['type'];
73
- priority: Task['priority'];
74
- content: string;
75
- }
76
- export interface TaskImprovementResponse {
77
- type: Task['type'];
78
- priority: Task['priority'];
79
- content: string;
80
- executionId: string;
81
- }
82
- export type VibingPhase = VibingStatus | VibingStage;
83
- export interface VibingExecution {
84
- id: string;
85
- taskId: string;
86
- phase: VibingPhase;
87
- startTime: string;
88
- endTime?: string;
89
- status?: VibingStatus;
90
- lastPhase?: VibingPhase;
91
- phaseHistory?: Array<{
92
- from: VibingPhase;
93
- to: VibingPhase;
94
- at: string;
95
- reason?: string;
96
- }>;
97
- failureContext?: {
98
- atPhase: VibingPhase;
99
- error?: string;
100
- timestamp: string;
101
- };
102
- executionIds?: Partial<Record<VibingPhase, string[]>>;
103
- attempts?: Partial<Record<VibingPhase, number>>;
104
- rerunContextHistory?: Array<{
105
- at: string;
106
- phase: VibingPhase;
107
- reason: string;
108
- attempt: number;
109
- previousExecutionId?: string;
110
- }>;
111
- qualityResults?: QualityResults;
112
- aiReviewResult?: {
113
- executionId: string;
114
- reviewSummary: string;
115
- recommendations: string[];
116
- qualityScore: number;
117
- timestamp?: string;
118
- };
119
- links?: {
120
- prUrl?: string;
121
- prNumber?: number;
122
- branchName?: string;
123
- baseBranch?: string;
124
- };
125
- error?: string;
126
- metrics?: {
127
- durationsMs: Partial<Record<VibingPhase, number>>;
128
- totalDurationMs?: number;
129
- lastPhaseStartedAt?: string;
130
- };
131
- lastUpdatedAt?: string;
132
- metadata: VibingConfig;
133
- timeline?: Array<{
134
- id: string;
135
- label: string;
136
- phase: VibingPhase;
137
- attempt?: number;
138
- executionId?: string;
139
- startTime: string;
140
- endTime?: string;
141
- reason?: string;
142
- usage?: {
143
- promptTokens: number;
144
- completionTokens: number;
145
- totalTokens: number;
146
- cost?: number;
147
- };
148
- }>;
149
- }
150
- export interface QualityResults {
151
- overall: boolean;
152
- timestamp: string;
153
- details: Record<string, boolean>;
154
- outputs: Record<string, string>;
155
- }
156
- export interface VibingConfig {
157
- autoQualityChecks: boolean;
158
- requireHumanApproval: boolean;
159
- stepByStepMode?: boolean;
160
- retryPolicy?: {
161
- maxImplementationAttempts: number;
162
- };
163
- autoCommit?: boolean;
164
- createPR?: boolean;
165
- autoMerge?: boolean;
166
- aiCodeReview?: boolean;
167
- qualityChecks?: Array<{
168
- name: string;
169
- command: string;
170
- args?: string[];
171
- timeout?: number;
172
- enabled?: boolean;
173
- }>;
174
- aiRoutingOverrides?: Partial<Record<'execute_task' | 'quality_checks' | 'ai_codereview' | 'ai_merge' | 'improve_task', {
175
- provider?: string;
176
- model?: string;
177
- }>>;
178
- aiReviewResult?: {
179
- executionId: string;
180
- reviewSummary: string;
181
- recommendations: string[];
182
- qualityScore: number;
183
- timestamp?: string;
184
- };
185
- }
186
- export type { VibingStage, VibingStatus, VibingWorkflowV2, StageToStatusMapping, } from '@vibeman/types';
@@ -1 +0,0 @@
1
- export {};
@@ -1,105 +0,0 @@
1
- type ClaudeModel = 'claude-sonnet-4-20250514' | 'claude-opus-4-1-20250805' | 'claude-3-5-haiku-20241022';
2
- type CodexModel = 'gpt-5.1-codex-max' | 'gpt-5.1-codex-max-low' | 'gpt-5.1-codex-max-medium' | 'gpt-5.1-codex-max-high' | 'gpt-5.1-codex-max-extra-high' | 'gpt-5.1-codex' | 'gpt-5.1-codex-low' | 'gpt-5.1-codex-medium' | 'gpt-5.1-codex-high' | 'gpt-5.1-codex-extra-high' | 'gpt-5.1-codex-mini' | 'gpt-5.1-codex-mini-low' | 'gpt-5.1-codex-mini-medium' | 'gpt-5.1-codex-mini-high' | 'gpt-5.1-codex-mini-extra-high' | 'gpt-5.2' | 'gpt-5.2-low' | 'gpt-5.2-medium' | 'gpt-5.2-high' | 'gpt-5.2-extra-high' | 'gpt-5.1' | 'gpt-5.1-low' | 'gpt-5.1-medium' | 'gpt-5.1-high' | 'gpt-5.1-extra-high';
3
- type GeminiModel = 'gemini-3-pro-preview' | 'gemini-3-flash-preview' | 'gemini-2.5-pro' | 'gemini-2.5-flash' | 'gemini-2.5-flash-lite';
4
- type AllowedModel = ClaudeModel | CodexModel | GeminiModel | 'auto';
5
- export interface VibemanSettings {
6
- agents: {
7
- defaultProvider: 'claude-code' | 'codex' | 'gemini' | 'amp';
8
- codingAgent: {
9
- provider: 'claude-code' | 'codex' | 'gemini' | 'amp';
10
- model: AllowedModel;
11
- maxTokens?: number;
12
- };
13
- judgeAgent: {
14
- provider: 'claude-code' | 'codex' | 'gemini' | 'amp';
15
- model: AllowedModel;
16
- maxTokens?: number;
17
- reviewThresholdScore: number;
18
- };
19
- defaultPrompts: {
20
- systemPrompt: string;
21
- taskPrompt: string;
22
- };
23
- providers?: {
24
- claudeCode?: {
25
- binPath?: string;
26
- };
27
- codex?: {
28
- binPath?: string;
29
- };
30
- gemini?: {
31
- binPath?: string;
32
- };
33
- amp?: {
34
- binPath?: string;
35
- };
36
- };
37
- routingPolicy?: {
38
- defaultProvider?: 'claude-code' | 'codex' | 'gemini' | 'amp';
39
- operations?: Partial<Record<'execute_task' | 'quality_checks' | 'ai_codereview' | 'ai_merge' | 'improve_task', {
40
- provider: string;
41
- model?: string;
42
- options?: {
43
- temperature?: number;
44
- maxTokens?: number;
45
- tools?: string[];
46
- };
47
- fallback?: string[];
48
- }>>;
49
- };
50
- };
51
- defaultWorkflow: {
52
- autoQualityChecks: boolean;
53
- requireHumanApproval: boolean;
54
- aiCodeReview: boolean;
55
- maxImplementationAttempts: number;
56
- autoCommit: boolean;
57
- };
58
- quality?: {
59
- checks: Array<{
60
- name: string;
61
- command: string;
62
- args?: string[];
63
- timeout?: number;
64
- enabled?: boolean;
65
- }>;
66
- };
67
- development: {
68
- vibeDir?: string;
69
- git: {
70
- defaultBranch: string;
71
- worktreePath?: string;
72
- };
73
- editor?: {
74
- type?: 'vscode' | 'cursor' | 'vim' | 'custom';
75
- command?: string;
76
- args?: string[];
77
- name?: string;
78
- openFileCommand?: string[];
79
- openFolderCommand?: string[];
80
- };
81
- terminal?: {
82
- type?: 'system' | 'iterm2' | 'warp' | 'custom';
83
- command?: string;
84
- args?: string[];
85
- name?: string;
86
- openCommand?: string[];
87
- };
88
- };
89
- server: {
90
- port: number;
91
- host: string;
92
- autoOpenBrowser: boolean;
93
- };
94
- }
95
- export interface SettingsUpdateRequest {
96
- path: string[];
97
- value: unknown;
98
- }
99
- export interface SettingsValidationError {
100
- path: string[];
101
- message: string;
102
- expected?: string;
103
- received?: string;
104
- }
105
- export {};
@@ -1,2 +0,0 @@
1
- // Settings types
2
- export {};
@@ -1,2 +0,0 @@
1
- export type { AppRouter } from './lib/trpc/server.js';
2
- export type { Context } from './api/trpc.js';
@@ -1 +0,0 @@
1
- export {};
@@ -1,6 +0,0 @@
1
- /**
2
- * Environment utility functions
3
- */
4
- export declare function isTestEnv(): boolean;
5
- export declare function isDevelopment(): boolean;
6
- export declare function isProduction(): boolean;
@@ -1,12 +0,0 @@
1
- /**
2
- * Environment utility functions
3
- */
4
- export function isTestEnv() {
5
- return process.env.NODE_ENV === 'test';
6
- }
7
- export function isDevelopment() {
8
- return process.env.NODE_ENV === 'development';
9
- }
10
- export function isProduction() {
11
- return process.env.NODE_ENV === 'production';
12
- }
@@ -1,7 +0,0 @@
1
- type Env = Record<string, string | undefined>;
2
- /**
3
- * Returns a shallow copy of `env` with all variables that Next.js
4
- * adds or forces removed.
5
- */
6
- export declare function stripNextInjectedEnv(env?: Env): Env;
7
- export {};
@@ -1,22 +0,0 @@
1
- /**
2
- * Returns a shallow copy of `env` with all variables that Next.js
3
- * adds or forces removed.
4
- */
5
- export function stripNextInjectedEnv(env = process.env) {
6
- const nextExact = new Set([
7
- '__NEXT_PRIVATE_ORIGIN',
8
- '__NEXT_PROCESSED_ENV',
9
- 'NEXT_PRIVATE_TRACE_ID',
10
- 'NEXT_PRIVATE_WORKER',
11
- 'NEXT_RUNTIME',
12
- 'TURBOPACK',
13
- 'PORT',
14
- 'NODE_ENV',
15
- ]);
16
- const nextPrefixes = ['__NEXT_', 'NEXT_PRIVATE_']; // convenience
17
- return Object.fromEntries(Object.entries(env).filter(([key]) => {
18
- if (nextExact.has(key))
19
- return false;
20
- return !nextPrefixes.some((p) => key.startsWith(p));
21
- }));
22
- }
@@ -1,6 +0,0 @@
1
- export declare function slugFromTitle(title: string, options?: {
2
- maxWords?: number;
3
- maxLen?: number;
4
- }): string;
5
- export declare function generateHumanTaskId(type: string, title: string, existingIds?: string[]): string;
6
- export declare function isValidTaskIdFormat(id: string): boolean;
@@ -1,77 +0,0 @@
1
- import slugifyModule from 'slugify';
2
- // Normalize slugify's mixed ESM/CJS export so it stays callable for NodeNext builds
3
- const slugifyImpl = typeof slugifyModule === 'function'
4
- ? slugifyModule
5
- : slugifyModule.default;
6
- // Configure slugify for broad transliteration coverage
7
- const slugify = (input) => slugifyImpl(input, {
8
- lower: true,
9
- strict: true, // remove anything except letters, numbers and replace spaces with -
10
- trim: true,
11
- });
12
- const ALPHABET = '23456789ABCDEFGHJKLMNPQRSTUVWXYZ';
13
- function randomSuffix(len = 3) {
14
- let out = '';
15
- for (let i = 0; i < len; i++) {
16
- out += ALPHABET[Math.floor(Math.random() * ALPHABET.length)];
17
- }
18
- return out;
19
- }
20
- export function slugFromTitle(title, options) {
21
- const { maxWords = 4, maxLen = 24 } = options || {};
22
- const base = slugify(title || '');
23
- if (!base)
24
- return '';
25
- // limit to N words
26
- const parts = base.split('-').filter(Boolean);
27
- const limited = parts.slice(0, maxWords);
28
- // enforce max length by dropping trailing words or trimming the last
29
- let slug = limited.join('-');
30
- if (slug.length > maxLen) {
31
- while (slug.length > maxLen && limited.length > 1) {
32
- limited.pop();
33
- slug = limited.join('-');
34
- }
35
- if (slug.length > maxLen) {
36
- slug = slug.slice(0, maxLen).replace(/-+$/, '');
37
- }
38
- }
39
- return slug.toUpperCase();
40
- }
41
- export function generateHumanTaskId(type, title, existingIds = []) {
42
- const typeMap = {
43
- feature: 'FEAT',
44
- bug: 'BUG',
45
- chore: 'CHORE',
46
- refactor: 'REF',
47
- test: 'TEST',
48
- doc: 'DOC',
49
- };
50
- const prefix = typeMap[(type || '').toLowerCase()] || 'TASK';
51
- const slug = slugFromTitle(title);
52
- // Fallback when transliteration is empty
53
- const base = slug ? `${prefix}-${slug}` : `${prefix}`;
54
- // ensure uniqueness with a short suffix; cap total length to 40
55
- let attempt = 0;
56
- while (attempt < 128) {
57
- const suffix = randomSuffix(slug ? 3 : 4);
58
- let candidate = slug ? `${base}-${suffix}` : `${base}-${suffix}`;
59
- if (candidate.length > 40) {
60
- // trim slug segment if too long
61
- const over = candidate.length - 40;
62
- const trimmedSlug = slug.slice(0, Math.max(0, slug.length - over)).replace(/-+$/, '');
63
- candidate = trimmedSlug ? `${prefix}-${trimmedSlug}-${suffix}` : `${prefix}-${suffix}`;
64
- }
65
- if (!existingIds.includes(candidate))
66
- return candidate;
67
- attempt++;
68
- }
69
- // last resort
70
- return `${prefix}-${randomSuffix(4)}`;
71
- }
72
- export function isValidTaskIdFormat(id) {
73
- if (!id || id.length > 40)
74
- return false;
75
- // At least TYPE-SOMETHING (two segments), uppercase letters/digits separated by hyphens
76
- return /^[A-Z0-9]+(?:-[A-Z0-9]+)+$/.test(id);
77
- }
@@ -1,2 +0,0 @@
1
- export declare function buildUrlWithParam(pathname: string, searchParams: URLSearchParams, key: string, value?: string | null): string;
2
- export declare function isValidTaskId(id: string | null | undefined): id is string;
@@ -1,19 +0,0 @@
1
- export function buildUrlWithParam(pathname, searchParams, key, value) {
2
- const sp = new URLSearchParams(searchParams);
3
- if (value && value.length > 0) {
4
- sp.set(key, value);
5
- }
6
- else {
7
- sp.delete(key);
8
- }
9
- const qs = sp.toString();
10
- return qs ? `${pathname}?${qs}` : pathname;
11
- }
12
- export function isValidTaskId(id) {
13
- if (!id)
14
- return false;
15
- const up = String(id).toUpperCase();
16
- if (up.length > 40)
17
- return false;
18
- return /^[A-Z0-9]+(?:-[A-Z0-9]+)+$/.test(up);
19
- }
@@ -1,57 +0,0 @@
1
- export interface TaskHistoryEntry {
2
- commitHash: string;
3
- shortHash: string;
4
- author: string;
5
- date: Date;
6
- message: string;
7
- changes: {
8
- additions: number;
9
- deletions: number;
10
- };
11
- }
12
- export interface TaskFileContent {
13
- commitHash: string;
14
- content: string;
15
- date: Date;
16
- author: string;
17
- }
18
- export interface TaskDiffEntry {
19
- fromHash: string;
20
- toHash: string;
21
- diff: string;
22
- additions: number;
23
- deletions: number;
24
- }
25
- export declare class GitHistoryService {
26
- private git;
27
- private projectRoot;
28
- constructor(projectRoot?: string);
29
- /**
30
- * Get the history of changes for a specific task file
31
- */
32
- getTaskHistory(taskId: string, limit?: number): Promise<TaskHistoryEntry[]>;
33
- /**
34
- * Get the content of a task file at a specific commit
35
- */
36
- getTaskVersionContent(taskId: string, commitHash: string): Promise<TaskFileContent>;
37
- /**
38
- * Get the diff between two versions of a task file
39
- */
40
- getTaskDiff(taskId: string, fromHash: string, toHash: string): Promise<TaskDiffEntry>;
41
- /**
42
- * Check if Git repository exists and is properly configured
43
- */
44
- isGitRepositoryAvailable(): Promise<boolean>;
45
- /**
46
- * Get commit statistics for a specific file in a commit
47
- */
48
- private getCommitStats;
49
- /**
50
- * Check if a task file has been renamed or moved by tracking it through Git history
51
- */
52
- getTaskFileRenames(taskId: string): Promise<Array<{
53
- oldPath: string;
54
- newPath: string;
55
- commitHash: string;
56
- }>>;
57
- }