vibeman 0.0.2 → 0.0.5

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 (198) hide show
  1. package/dist/index.js +3 -3
  2. package/dist/runtime/api/.tsbuildinfo +1 -1
  3. package/dist/runtime/api/agent/agent-service.d.ts +11 -6
  4. package/dist/runtime/api/agent/agent-service.js +97 -29
  5. package/dist/runtime/api/agent/ai-providers/amp-cli-provider.d.ts +38 -0
  6. package/dist/runtime/api/agent/ai-providers/amp-cli-provider.js +268 -0
  7. package/dist/runtime/api/agent/ai-providers/codex-cli-provider.d.ts +2 -0
  8. package/dist/runtime/api/agent/ai-providers/codex-cli-provider.js +92 -32
  9. package/dist/runtime/api/agent/ai-providers/gemini-cli-provider.d.ts +24 -0
  10. package/dist/runtime/api/agent/ai-providers/gemini-cli-provider.js +291 -0
  11. package/dist/runtime/api/agent/ai-providers/index.d.ts +3 -3
  12. package/dist/runtime/api/agent/ai-providers/index.js +3 -1
  13. package/dist/runtime/api/agent/ai-providers/types.d.ts +5 -2
  14. package/dist/runtime/api/agent/amp-cli-provider.test.js +99 -0
  15. package/dist/runtime/api/agent/codex-cli-provider.test.js +54 -7
  16. package/dist/runtime/api/agent/prompt-service.js +108 -105
  17. package/dist/runtime/api/agent/prompt-service.test.js +35 -0
  18. package/dist/runtime/api/agent/routing-policy.d.ts +13 -30
  19. package/dist/runtime/api/agent/routing-policy.js +82 -132
  20. package/dist/runtime/api/agent/routing-policy.test.js +63 -0
  21. package/dist/runtime/api/api/routers/ai.d.ts +15 -3
  22. package/dist/runtime/api/api/routers/ai.js +7 -6
  23. package/dist/runtime/api/api/routers/executions.d.ts +3 -8
  24. package/dist/runtime/api/api/routers/executions.js +2 -2
  25. package/dist/runtime/api/api/routers/provider-config.d.ts +34 -0
  26. package/dist/runtime/api/api/routers/settings.d.ts +19 -0
  27. package/dist/runtime/api/api/routers/settings.js +16 -0
  28. package/dist/runtime/api/api/routers/tasks.d.ts +10 -10
  29. package/dist/runtime/api/api/routers/workflows.d.ts +20 -12
  30. package/dist/runtime/api/api/routers/workflows.js +2 -1
  31. package/dist/runtime/api/api/routers/worktrees.d.ts +2 -2
  32. package/dist/runtime/api/api/trpc.d.ts +18 -18
  33. package/dist/runtime/api/lib/local-config.d.ts +94 -4
  34. package/dist/runtime/api/lib/local-config.js +16 -0
  35. package/dist/runtime/api/lib/provider-detection.d.ts +2 -0
  36. package/dist/runtime/api/lib/provider-detection.js +83 -1
  37. package/dist/runtime/api/lib/server/vibeman-info.d.ts +5 -0
  38. package/dist/runtime/api/lib/server/vibeman-info.js +85 -0
  39. package/dist/runtime/api/lib/trpc/server.d.ts +85 -35
  40. package/dist/runtime/api/persistence/execution-log-persistence.d.ts +1 -1
  41. package/dist/runtime/api/persistence/execution-log-persistence.js +19 -3
  42. package/dist/runtime/api/router.d.ts +85 -35
  43. package/dist/runtime/api/settings-service.js +70 -5
  44. package/dist/runtime/api/tasks/task-file-parser.d.ts +1 -0
  45. package/dist/runtime/api/tasks/task-file-parser.js +20 -1
  46. package/dist/runtime/api/tasks/task-updater.d.ts +62 -0
  47. package/dist/runtime/api/tasks/task-updater.js +260 -0
  48. package/dist/runtime/api/tasks/task-updater.test.d.ts +1 -0
  49. package/dist/runtime/api/tasks/task-updater.test.js +303 -0
  50. package/dist/runtime/api/types/index.d.ts +9 -2
  51. package/dist/runtime/api/types/settings.d.ts +29 -5
  52. package/dist/runtime/api/vcs/git-service.d.ts +9 -0
  53. package/dist/runtime/api/vcs/git-service.js +23 -0
  54. package/dist/runtime/api/vcs/worktree-service.d.ts +1 -1
  55. package/dist/runtime/api/vcs/worktree-service.js +22 -10
  56. package/dist/runtime/api/workflows/quality-pipeline.js +2 -1
  57. package/dist/runtime/api/workflows/vibing-orchestrator.d.ts +93 -5
  58. package/dist/runtime/api/workflows/vibing-orchestrator.js +806 -204
  59. package/dist/runtime/api/workflows/workflow-effects.d.ts +45 -0
  60. package/dist/runtime/api/workflows/workflow-effects.js +49 -0
  61. package/dist/runtime/api/workflows/workflow-reconciler.d.ts +65 -0
  62. package/dist/runtime/api/workflows/workflow-reconciler.js +226 -0
  63. package/dist/runtime/api/workflows/workflow-reducer.d.ts +26 -0
  64. package/dist/runtime/api/workflows/workflow-reducer.js +288 -0
  65. package/dist/runtime/api/workflows/workflow-reducer.test.d.ts +1 -0
  66. package/dist/runtime/api/workflows/workflow-reducer.test.js +247 -0
  67. package/dist/runtime/api/workflows/workflow-schema.d.ts +546 -0
  68. package/dist/runtime/api/workflows/workflow-schema.js +256 -0
  69. package/dist/runtime/web/.next/BUILD_ID +1 -1
  70. package/dist/runtime/web/.next/app-build-manifest.json +51 -44
  71. package/dist/runtime/web/.next/app-path-routes-manifest.json +2 -1
  72. package/dist/runtime/web/.next/build-manifest.json +14 -14
  73. package/dist/runtime/web/.next/prerender-manifest.json +10 -10
  74. package/dist/runtime/web/.next/react-loadable-manifest.json +2 -33
  75. package/dist/runtime/web/.next/required-server-files.json +5 -5
  76. package/dist/runtime/web/.next/routes-manifest.json +8 -0
  77. package/dist/runtime/web/.next/server/app/.vibeman/assets/images/[...path]/route.js +1 -0
  78. package/dist/runtime/web/.next/server/app/.vibeman/assets/images/[...path]/route.js.nft.json +1 -0
  79. package/dist/runtime/web/.next/server/app/.vibeman/assets/images/[...path]/route_client-reference-manifest.js +1 -0
  80. package/dist/runtime/web/.next/server/app/_not-found/page.js +2 -2
  81. package/dist/runtime/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  82. package/dist/runtime/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  83. package/dist/runtime/web/.next/server/app/_not-found.html +2 -2
  84. package/dist/runtime/web/.next/server/app/_not-found.rsc +12 -12
  85. package/dist/runtime/web/.next/server/app/api/health/route.js +1 -1
  86. package/dist/runtime/web/.next/server/app/api/health/route.js.nft.json +1 -1
  87. package/dist/runtime/web/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  88. package/dist/runtime/web/.next/server/app/api/images/[...path]/route.js +1 -1
  89. package/dist/runtime/web/.next/server/app/api/images/[...path]/route.js.nft.json +1 -1
  90. package/dist/runtime/web/.next/server/app/api/images/[...path]/route_client-reference-manifest.js +1 -1
  91. package/dist/runtime/web/.next/server/app/api/upload/route.js +1 -1
  92. package/dist/runtime/web/.next/server/app/api/upload/route.js.nft.json +1 -1
  93. package/dist/runtime/web/.next/server/app/api/upload/route_client-reference-manifest.js +1 -1
  94. package/dist/runtime/web/.next/server/app/index.html +2 -2
  95. package/dist/runtime/web/.next/server/app/index.rsc +15 -15
  96. package/dist/runtime/web/.next/server/app/page.js +27 -62
  97. package/dist/runtime/web/.next/server/app/page.js.nft.json +1 -1
  98. package/dist/runtime/web/.next/server/app/page_client-reference-manifest.js +1 -1
  99. package/dist/runtime/web/.next/server/app-paths-manifest.json +2 -1
  100. package/dist/runtime/web/.next/server/chunks/210.js +1 -0
  101. package/dist/runtime/web/.next/server/chunks/291.js +18 -0
  102. package/dist/runtime/web/.next/server/chunks/552.js +22 -0
  103. package/dist/runtime/web/.next/server/chunks/780.js +1 -0
  104. package/dist/runtime/web/.next/server/chunks/905.js +6 -0
  105. package/dist/runtime/web/.next/server/chunks/98.js +1 -0
  106. package/dist/runtime/web/.next/server/middleware-build-manifest.js +1 -1
  107. package/dist/runtime/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  108. package/dist/runtime/web/.next/server/pages/404.html +2 -2
  109. package/dist/runtime/web/.next/server/pages/500.html +1 -1
  110. package/dist/runtime/web/.next/server/pages/_app.js +1 -1
  111. package/dist/runtime/web/.next/server/pages/_app.js.nft.json +1 -1
  112. package/dist/runtime/web/.next/server/pages/_document.js +1 -1
  113. package/dist/runtime/web/.next/server/pages/_document.js.nft.json +1 -1
  114. package/dist/runtime/web/.next/server/pages/_error.js +9 -9
  115. package/dist/runtime/web/.next/server/pages/_error.js.nft.json +1 -1
  116. package/dist/runtime/web/.next/server/pages-manifest.json +1 -1
  117. package/dist/runtime/web/.next/server/server-reference-manifest.json +1 -1
  118. package/dist/runtime/web/.next/server/webpack-runtime.js +1 -1
  119. package/dist/runtime/web/.next/static/LJFZk_8tvKFN_Ee4HqUuM/_buildManifest.js +1 -0
  120. package/dist/runtime/web/.next/static/chunks/05c91ade-7d09b2b280adffd1.js +1 -0
  121. package/dist/runtime/web/.next/static/chunks/201-51bef3fa8c832e2e.js +1 -0
  122. package/dist/runtime/web/.next/static/chunks/524-89747ed9b0294f8a.js +1 -0
  123. package/dist/runtime/web/.next/static/chunks/554-8bec6e9cca6acc67.js +1 -0
  124. package/dist/runtime/web/.next/static/chunks/764.86e9503a69d45a85.js +1 -0
  125. package/dist/runtime/web/.next/static/chunks/{87c73c54-09e1ba5c70e60a51.js → 7ab4dc20-239138e0ae7af24a.js} +1 -1
  126. package/dist/runtime/web/.next/static/chunks/905-342391e3d3a3678f.js +20 -0
  127. package/dist/runtime/web/.next/static/chunks/a8a5ce16-4edea7df2d9b544a.js +79 -0
  128. package/dist/runtime/web/.next/static/chunks/{8bb4d8db-3e2aa02b0a2384b9.js → ad74d572-4c1b162e2c15acaa.js} +1 -1
  129. package/dist/runtime/web/.next/static/chunks/app/.vibeman/assets/images/[...path]/route-7b752a8641f96c1f.js +1 -0
  130. package/dist/runtime/web/.next/static/chunks/app/_not-found/page-34e66b251c2b5044.js +1 -0
  131. package/dist/runtime/web/.next/static/chunks/app/api/health/route-7b752a8641f96c1f.js +1 -0
  132. package/dist/runtime/web/.next/static/chunks/app/api/images/[...path]/route-7b752a8641f96c1f.js +1 -0
  133. package/dist/runtime/web/.next/static/chunks/app/api/upload/route-7b752a8641f96c1f.js +1 -0
  134. package/dist/runtime/web/.next/static/chunks/app/layout-df9ac93cb02b2385.js +1 -0
  135. package/dist/runtime/web/.next/static/chunks/app/page-6610743f7de5f92a.js +1 -0
  136. package/dist/runtime/web/.next/static/chunks/c25e0690-e9b798b8de667da1.js +1 -0
  137. package/dist/runtime/web/.next/static/chunks/framework-57157ec4d37f64aa.js +1 -0
  138. package/dist/runtime/web/.next/static/chunks/main-app-156cc0c60371bd78.js +1 -0
  139. package/dist/runtime/web/.next/static/chunks/main-df25d367c47b1fec.js +1 -0
  140. package/dist/runtime/web/.next/static/chunks/pages/_app-9f629a5e1131d19f.js +1 -0
  141. package/dist/runtime/web/.next/static/chunks/pages/_error-9238238274c7efcd.js +1 -0
  142. package/dist/runtime/web/.next/static/chunks/webpack-cd50e39b423d1808.js +1 -0
  143. package/dist/runtime/web/.next/static/css/4fbf378a264bd4ea.css +1 -0
  144. package/dist/runtime/web/package.json +8 -8
  145. package/dist/runtime/web/server.js +1 -1
  146. package/dist/tsconfig.tsbuildinfo +1 -1
  147. package/package.json +3 -37
  148. package/dist/runtime/api/lib/image-paste-drop-extension.d.ts +0 -26
  149. package/dist/runtime/api/lib/image-paste-drop-extension.js +0 -125
  150. package/dist/runtime/api/lib/markdown-utils.d.ts +0 -8
  151. package/dist/runtime/api/lib/markdown-utils.js +0 -282
  152. package/dist/runtime/api/lib/markdown-utils.test.js +0 -348
  153. package/dist/runtime/api/lib/tiptap-utils.clamp-selection.test.js +0 -27
  154. package/dist/runtime/api/lib/tiptap-utils.d.ts +0 -130
  155. package/dist/runtime/api/lib/tiptap-utils.js +0 -327
  156. package/dist/runtime/api/lib/trpc/client.d.ts +0 -1
  157. package/dist/runtime/api/lib/trpc/client.js +0 -5
  158. package/dist/runtime/web/.next/server/chunks/217.js +0 -1
  159. package/dist/runtime/web/.next/server/chunks/383.js +0 -6
  160. package/dist/runtime/web/.next/server/chunks/458.js +0 -1
  161. package/dist/runtime/web/.next/server/chunks/576.js +0 -18
  162. package/dist/runtime/web/.next/server/chunks/635.js +0 -22
  163. package/dist/runtime/web/.next/server/chunks/761.js +0 -1
  164. package/dist/runtime/web/.next/server/chunks/777.js +0 -3
  165. package/dist/runtime/web/.next/server/chunks/825.js +0 -1
  166. package/dist/runtime/web/.next/server/chunks/838.js +0 -1
  167. package/dist/runtime/web/.next/server/chunks/973.js +0 -15
  168. package/dist/runtime/web/.next/static/chunks/18-15c10d3288afef2e.js +0 -1
  169. package/dist/runtime/web/.next/static/chunks/1c0ca389.537bbe362e3ffbd9.js +0 -3
  170. package/dist/runtime/web/.next/static/chunks/22747d63-ad5da0c19f4cfe41.js +0 -71
  171. package/dist/runtime/web/.next/static/chunks/277-0142a939f08738c3.js +0 -63
  172. package/dist/runtime/web/.next/static/chunks/355.056c2645878a799a.js +0 -1
  173. package/dist/runtime/web/.next/static/chunks/420.a5ccf151c9e2b2f1.js +0 -1
  174. package/dist/runtime/web/.next/static/chunks/439.1be0c6242fd248d5.js +0 -15
  175. package/dist/runtime/web/.next/static/chunks/440.c52e7c0f797e22b2.js +0 -1
  176. package/dist/runtime/web/.next/static/chunks/575-e2478287c27da87b.js +0 -1
  177. package/dist/runtime/web/.next/static/chunks/691.920d88c115087314.js +0 -1
  178. package/dist/runtime/web/.next/static/chunks/765-e838910065b50c3d.js +0 -1
  179. package/dist/runtime/web/.next/static/chunks/891cff7f.0f71fc028f87e683.js +0 -1
  180. package/dist/runtime/web/.next/static/chunks/9af238c7-271a911d4e99ab18.js +0 -1
  181. package/dist/runtime/web/.next/static/chunks/app/_not-found/page-1cb74d1cba27d0ab.js +0 -1
  182. package/dist/runtime/web/.next/static/chunks/app/api/health/route-105a61ae865ba536.js +0 -1
  183. package/dist/runtime/web/.next/static/chunks/app/api/images/[...path]/route-105a61ae865ba536.js +0 -1
  184. package/dist/runtime/web/.next/static/chunks/app/api/upload/route-105a61ae865ba536.js +0 -1
  185. package/dist/runtime/web/.next/static/chunks/app/layout-8435322f09fd0975.js +0 -1
  186. package/dist/runtime/web/.next/static/chunks/app/page-8c3ba579efc6f918.js +0 -1
  187. package/dist/runtime/web/.next/static/chunks/cac567b0-5b77dd12911823cd.js +0 -1
  188. package/dist/runtime/web/.next/static/chunks/framework-2518f1345b5b2806.js +0 -1
  189. package/dist/runtime/web/.next/static/chunks/main-17665e5e39de9a8a.js +0 -1
  190. package/dist/runtime/web/.next/static/chunks/main-app-c0b0f5ba4f7f9d75.js +0 -1
  191. package/dist/runtime/web/.next/static/chunks/pages/_app-d6f6b3bbc3d81ee1.js +0 -1
  192. package/dist/runtime/web/.next/static/chunks/pages/_error-75a96cf1997cc3b9.js +0 -1
  193. package/dist/runtime/web/.next/static/chunks/webpack-c8de37305b4635cf.js +0 -1
  194. package/dist/runtime/web/.next/static/css/08c950681f1a9a92.css +0 -1
  195. package/dist/runtime/web/.next/static/mRpNgPfbYR_0wrODzlg_4/_buildManifest.js +0 -1
  196. /package/dist/runtime/api/{lib/markdown-utils.test.d.ts → agent/amp-cli-provider.test.d.ts} +0 -0
  197. /package/dist/runtime/api/{lib/tiptap-utils.clamp-selection.test.d.ts → agent/routing-policy.test.d.ts} +0 -0
  198. /package/dist/runtime/web/.next/static/{mRpNgPfbYR_0wrODzlg_4 → LJFZk_8tvKFN_Ee4HqUuM}/_ssgManifest.js +0 -0
@@ -52,6 +52,18 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
52
52
  lastDetected?: string | undefined;
53
53
  detectionMethod?: "explicit" | "PATH" | "common-location" | undefined;
54
54
  } | undefined;
55
+ gemini?: {
56
+ binPath?: string | undefined;
57
+ detectedPath?: string | undefined;
58
+ lastDetected?: string | undefined;
59
+ detectionMethod?: "explicit" | "PATH" | "common-location" | undefined;
60
+ } | undefined;
61
+ amp?: {
62
+ binPath?: string | undefined;
63
+ detectedPath?: string | undefined;
64
+ lastDetected?: string | undefined;
65
+ detectionMethod?: "explicit" | "PATH" | "common-location" | undefined;
66
+ } | undefined;
55
67
  };
56
68
  path: string;
57
69
  exists: boolean;
@@ -84,6 +96,16 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
84
96
  detectedPath?: string | undefined;
85
97
  lastDetected?: string | undefined;
86
98
  detectionMethod?: "explicit" | "PATH" | "common-location" | undefined;
99
+ } | {
100
+ binPath?: string | undefined;
101
+ detectedPath?: string | undefined;
102
+ lastDetected?: string | undefined;
103
+ detectionMethod?: "explicit" | "PATH" | "common-location" | undefined;
104
+ } | {
105
+ binPath?: string | undefined;
106
+ detectedPath?: string | undefined;
107
+ lastDetected?: string | undefined;
108
+ detectionMethod?: "explicit" | "PATH" | "common-location" | undefined;
87
109
  } | undefined;
88
110
  cached: {
89
111
  available: boolean;
@@ -117,14 +139,26 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
117
139
  }>;
118
140
  getRoutingPolicy: import("@trpc/server").TRPCQueryProcedure<{
119
141
  input: void;
120
- output: any;
142
+ output: {
143
+ defaultProvider: string;
144
+ operations?: Partial<Record<"execute_task" | "quality_checks" | "ai_codereview" | "ai_merge" | "improve_task", {
145
+ provider: string;
146
+ options?: {
147
+ temperature?: number | undefined;
148
+ maxTokens?: number | undefined;
149
+ tools?: string[] | undefined;
150
+ } | undefined;
151
+ model?: string | undefined;
152
+ fallback?: string[] | undefined;
153
+ }>> | undefined;
154
+ };
121
155
  meta: object;
122
156
  }>;
123
157
  updateRoutingPolicy: import("@trpc/server").TRPCMutationProcedure<{
124
158
  input: {
125
159
  policy: {
126
160
  defaultProvider?: string | undefined;
127
- operations?: Partial<Record<"execute_task" | "improve_task" | "ai_merge" | "ai_codereview", {
161
+ operations?: Partial<Record<"execute_task" | "quality_checks" | "ai_codereview" | "ai_merge" | "improve_task", {
128
162
  provider: string;
129
163
  options?: {
130
164
  temperature?: number | undefined;
@@ -154,7 +188,6 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
154
188
  }>;
155
189
  setOperationConfig: import("@trpc/server").TRPCMutationProcedure<{
156
190
  input: {
157
- operation: "execute_task" | "improve_task" | "ai_merge" | "ai_codereview";
158
191
  config: {
159
192
  provider: string;
160
193
  options?: {
@@ -165,6 +198,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
165
198
  model?: string | undefined;
166
199
  fallback?: string[] | undefined;
167
200
  };
201
+ operation: "execute_task" | "quality_checks" | "ai_codereview" | "ai_merge" | "improve_task";
168
202
  };
169
203
  output: {
170
204
  success: boolean;
@@ -230,6 +264,19 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
230
264
  output: boolean;
231
265
  meta: object;
232
266
  }>;
267
+ getProjectInfo: import("@trpc/server").TRPCQueryProcedure<{
268
+ input: void;
269
+ output: {
270
+ name: string;
271
+ path: string;
272
+ };
273
+ meta: object;
274
+ }>;
275
+ getVibemanInfo: import("@trpc/server").TRPCQueryProcedure<{
276
+ input: void;
277
+ output: import("../server/vibeman-info.js").VibemanInfo;
278
+ meta: object;
279
+ }>;
233
280
  getSettings: import("@trpc/server").TRPCQueryProcedure<{
234
281
  input: void;
235
282
  output: import("../../types/settings.js").VibemanSettings;
@@ -333,21 +380,24 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
333
380
  }>;
334
381
  updateWorkflowOptions: import("@trpc/server").TRPCMutationProcedure<{
335
382
  input: {
336
- workflowId: string;
337
383
  config: {
338
- autoCommit?: boolean | undefined;
339
- createPR?: boolean | undefined;
340
384
  autoQualityChecks?: boolean | undefined;
341
385
  requireHumanApproval?: boolean | undefined;
386
+ aiCodeReview?: boolean | undefined;
387
+ autoCommit?: boolean | undefined;
388
+ createPR?: boolean | undefined;
342
389
  stepByStepMode?: boolean | undefined;
343
390
  autoMerge?: boolean | undefined;
344
- aiCodeReview?: boolean | undefined;
345
391
  aiRoutingOverrides?: {
346
392
  execute_task?: {
347
393
  provider?: string | undefined;
348
394
  model?: string | undefined;
349
395
  } | undefined;
350
- improve_task?: {
396
+ quality_checks?: {
397
+ provider?: string | undefined;
398
+ model?: string | undefined;
399
+ } | undefined;
400
+ ai_codereview?: {
351
401
  provider?: string | undefined;
352
402
  model?: string | undefined;
353
403
  } | undefined;
@@ -355,12 +405,13 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
355
405
  provider?: string | undefined;
356
406
  model?: string | undefined;
357
407
  } | undefined;
358
- ai_codereview?: {
408
+ improve_task?: {
359
409
  provider?: string | undefined;
360
410
  model?: string | undefined;
361
411
  } | undefined;
362
412
  } | undefined;
363
413
  };
414
+ workflowId: string;
364
415
  };
365
416
  output: {
366
417
  readonly success: true;
@@ -371,19 +422,23 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
371
422
  input: {
372
423
  taskId: string;
373
424
  config?: {
374
- autoCommit?: boolean | undefined;
375
- createPR?: boolean | undefined;
376
425
  autoQualityChecks?: boolean | undefined;
377
426
  requireHumanApproval?: boolean | undefined;
427
+ aiCodeReview?: boolean | undefined;
428
+ autoCommit?: boolean | undefined;
429
+ createPR?: boolean | undefined;
378
430
  stepByStepMode?: boolean | undefined;
379
431
  autoMerge?: boolean | undefined;
380
- aiCodeReview?: boolean | undefined;
381
432
  aiRoutingOverrides?: {
382
433
  execute_task?: {
383
434
  provider?: string | undefined;
384
435
  model?: string | undefined;
385
436
  } | undefined;
386
- improve_task?: {
437
+ quality_checks?: {
438
+ provider?: string | undefined;
439
+ model?: string | undefined;
440
+ } | undefined;
441
+ ai_codereview?: {
387
442
  provider?: string | undefined;
388
443
  model?: string | undefined;
389
444
  } | undefined;
@@ -391,7 +446,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
391
446
  provider?: string | undefined;
392
447
  model?: string | undefined;
393
448
  } | undefined;
394
- ai_codereview?: {
449
+ improve_task?: {
395
450
  provider?: string | undefined;
396
451
  model?: string | undefined;
397
452
  } | undefined;
@@ -519,8 +574,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
519
574
  input: {
520
575
  taskId: string;
521
576
  provider?: string | undefined;
522
- workflowId?: string | undefined;
523
577
  model?: string | undefined;
578
+ workflowId?: string | undefined;
524
579
  reviewContext?: string | undefined;
525
580
  };
526
581
  output: {
@@ -675,9 +730,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
675
730
  cleanupWorktree: import("@trpc/server").TRPCMutationProcedure<{
676
731
  input: {
677
732
  isConnectedToTask: boolean;
678
- taskId?: string | undefined;
679
- force?: boolean | undefined;
680
733
  worktreePath?: string | undefined;
734
+ force?: boolean | undefined;
735
+ taskId?: string | undefined;
681
736
  branchName?: string | undefined;
682
737
  };
683
738
  output: {
@@ -745,20 +800,15 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
745
800
  }>;
746
801
  improveTask: import("@trpc/server").TRPCMutationProcedure<{
747
802
  input: {
748
- title: string;
749
803
  type: "feature" | "bug" | "chore" | "refactor" | "test" | "doc";
750
- priority: "high" | "medium" | "low";
804
+ priority: "low" | "medium" | "high";
805
+ title: string;
751
806
  content: string;
752
807
  taskId: string;
753
808
  executionId?: string | undefined;
754
809
  };
755
810
  output: {
756
- type: string;
757
- priority: string;
758
- content: string;
759
- title?: string;
760
- executionId: string;
761
- selectedModel?: string;
811
+ readonly executionId: string;
762
812
  };
763
813
  meta: object;
764
814
  }>;
@@ -776,11 +826,11 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
776
826
  }>;
777
827
  listTasks: import("@trpc/server").TRPCQueryProcedure<{
778
828
  input: {
779
- status?: "review" | "in-progress" | "backlog" | "done" | undefined;
780
829
  type?: "feature" | "bug" | "chore" | "refactor" | "test" | "doc" | undefined;
781
- tags?: string[] | undefined;
782
- priority?: "high" | "medium" | "low" | undefined;
830
+ status?: "backlog" | "in-progress" | "review" | "done" | undefined;
831
+ priority?: "low" | "medium" | "high" | undefined;
783
832
  search?: string | undefined;
833
+ tags?: string[] | undefined;
784
834
  includeDeleted?: boolean | undefined;
785
835
  onlyDeleted?: boolean | undefined;
786
836
  } | undefined;
@@ -796,15 +846,15 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
796
846
  }>;
797
847
  createTask: import("@trpc/server").TRPCMutationProcedure<{
798
848
  input: {
799
- title: string;
800
849
  type: "feature" | "bug" | "chore" | "refactor" | "test" | "doc";
850
+ title: string;
801
851
  content: string;
802
- status?: "review" | "in-progress" | "backlog" | "done" | undefined;
852
+ status?: "backlog" | "in-progress" | "review" | "done" | undefined;
853
+ priority?: "low" | "medium" | "high" | undefined;
803
854
  id?: string | undefined;
804
855
  tags?: string[] | undefined;
805
856
  due_date?: string | undefined;
806
857
  assignee?: string[] | undefined;
807
- priority?: "high" | "medium" | "low" | undefined;
808
858
  comments?: string[] | undefined;
809
859
  };
810
860
  output: import("../../types/index.js").Task;
@@ -813,13 +863,13 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
813
863
  updateTask: import("@trpc/server").TRPCMutationProcedure<{
814
864
  input: {
815
865
  id: string;
816
- status?: "review" | "in-progress" | "backlog" | "done" | undefined;
817
- title?: string | undefined;
818
866
  type?: "feature" | "bug" | "chore" | "refactor" | "test" | "doc" | undefined;
867
+ status?: "backlog" | "in-progress" | "review" | "done" | undefined;
868
+ priority?: "low" | "medium" | "high" | undefined;
869
+ title?: string | undefined;
819
870
  tags?: string[] | undefined;
820
871
  due_date?: string | undefined;
821
872
  assignee?: string[] | undefined;
822
- priority?: "high" | "medium" | "low" | undefined;
823
873
  comments?: string[] | undefined;
824
874
  content?: string | undefined;
825
875
  deleted_at?: string | undefined;
@@ -838,7 +888,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
838
888
  }>;
839
889
  moveTask: import("@trpc/server").TRPCMutationProcedure<{
840
890
  input: {
841
- status: "review" | "in-progress" | "backlog" | "done";
891
+ status: "backlog" | "in-progress" | "review" | "done";
842
892
  id: string;
843
893
  };
844
894
  output: import("../../types/index.js").Task;
@@ -35,7 +35,7 @@ export declare class ExecutionLogPersistence {
35
35
  private ensureLogsDir;
36
36
  /**
37
37
  * Get execution log directory path, grouped by task ID
38
- * .vibeman/execution-logs/{taskId}/{executionId-YYYYMMDD_HHMMSS}/
38
+ * .vibeman/.local/execution-logs/{taskId}/{executionId-YYYYMMDD_HHMMSS}/
39
39
  */
40
40
  private getExecutionDirFor;
41
41
  /**
@@ -6,7 +6,7 @@ import { getVibeDir } from '../lib/server/project-root.js';
6
6
  export class ExecutionLogPersistence {
7
7
  constructor() {
8
8
  this.dataDir = getVibeDir();
9
- this.logsDir = path.join(this.dataDir, 'execution-logs');
9
+ this.logsDir = path.join(this.dataDir, '.local/execution-logs');
10
10
  this.indexDb = new DatabaseService(path.join(this.logsDir, 'index.json'));
11
11
  }
12
12
  /**
@@ -22,7 +22,7 @@ export class ExecutionLogPersistence {
22
22
  }
23
23
  /**
24
24
  * Get execution log directory path, grouped by task ID
25
- * .vibeman/execution-logs/{taskId}/{executionId-YYYYMMDD_HHMMSS}/
25
+ * .vibeman/.local/execution-logs/{taskId}/{executionId-YYYYMMDD_HHMMSS}/
26
26
  */
27
27
  getExecutionDirFor(execution) {
28
28
  const timestamp = new Date()
@@ -43,7 +43,23 @@ export class ExecutionLogPersistence {
43
43
  // Prefer index lookup (non-throwing)
44
44
  const idx = await this.indexDb.get(executionId).catch(() => undefined);
45
45
  if (idx?.dirPath) {
46
- return idx.dirPath;
46
+ try {
47
+ const stats = await fs.stat(idx.dirPath);
48
+ if (stats.isDirectory()) {
49
+ return idx.dirPath;
50
+ }
51
+ log.debug('Removing stale execution index entry (not a directory)', { executionId, dirPath: idx.dirPath }, 'execution-log-persistence:findExecutionDir');
52
+ }
53
+ catch (error) {
54
+ if (error && error.code !== 'ENOENT') {
55
+ log.error('Failed to access execution directory from index', error, 'execution-log-persistence:findExecutionDir');
56
+ return idx.dirPath;
57
+ }
58
+ log.debug('Removing stale execution index entry (missing directory)', { executionId, dirPath: idx.dirPath }, 'execution-log-persistence:findExecutionDir');
59
+ }
60
+ await this.indexDb.delete(executionId).catch((deleteError) => {
61
+ log.error('Failed to delete stale execution index entry', deleteError, 'execution-log-persistence:findExecutionDir');
62
+ });
47
63
  }
48
64
  // Walk task directories
49
65
  const taskDirs = await fs.readdir(this.logsDir, { withFileTypes: true });
@@ -55,6 +55,18 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
55
55
  lastDetected?: string | undefined;
56
56
  detectionMethod?: "explicit" | "PATH" | "common-location" | undefined;
57
57
  } | undefined;
58
+ gemini?: {
59
+ binPath?: string | undefined;
60
+ detectedPath?: string | undefined;
61
+ lastDetected?: string | undefined;
62
+ detectionMethod?: "explicit" | "PATH" | "common-location" | undefined;
63
+ } | undefined;
64
+ amp?: {
65
+ binPath?: string | undefined;
66
+ detectedPath?: string | undefined;
67
+ lastDetected?: string | undefined;
68
+ detectionMethod?: "explicit" | "PATH" | "common-location" | undefined;
69
+ } | undefined;
58
70
  };
59
71
  path: string;
60
72
  exists: boolean;
@@ -87,6 +99,16 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
87
99
  detectedPath?: string | undefined;
88
100
  lastDetected?: string | undefined;
89
101
  detectionMethod?: "explicit" | "PATH" | "common-location" | undefined;
102
+ } | {
103
+ binPath?: string | undefined;
104
+ detectedPath?: string | undefined;
105
+ lastDetected?: string | undefined;
106
+ detectionMethod?: "explicit" | "PATH" | "common-location" | undefined;
107
+ } | {
108
+ binPath?: string | undefined;
109
+ detectedPath?: string | undefined;
110
+ lastDetected?: string | undefined;
111
+ detectionMethod?: "explicit" | "PATH" | "common-location" | undefined;
90
112
  } | undefined;
91
113
  cached: {
92
114
  available: boolean;
@@ -120,14 +142,26 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
120
142
  }>;
121
143
  getRoutingPolicy: import("@trpc/server").TRPCQueryProcedure<{
122
144
  input: void;
123
- output: any;
145
+ output: {
146
+ defaultProvider: string;
147
+ operations?: Partial<Record<"execute_task" | "quality_checks" | "ai_codereview" | "ai_merge" | "improve_task", {
148
+ provider: string;
149
+ options?: {
150
+ temperature?: number | undefined;
151
+ maxTokens?: number | undefined;
152
+ tools?: string[] | undefined;
153
+ } | undefined;
154
+ model?: string | undefined;
155
+ fallback?: string[] | undefined;
156
+ }>> | undefined;
157
+ };
124
158
  meta: object;
125
159
  }>;
126
160
  updateRoutingPolicy: import("@trpc/server").TRPCMutationProcedure<{
127
161
  input: {
128
162
  policy: {
129
163
  defaultProvider?: string | undefined;
130
- operations?: Partial<Record<"execute_task" | "improve_task" | "ai_merge" | "ai_codereview", {
164
+ operations?: Partial<Record<"execute_task" | "quality_checks" | "ai_codereview" | "ai_merge" | "improve_task", {
131
165
  provider: string;
132
166
  options?: {
133
167
  temperature?: number | undefined;
@@ -157,7 +191,6 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
157
191
  }>;
158
192
  setOperationConfig: import("@trpc/server").TRPCMutationProcedure<{
159
193
  input: {
160
- operation: "execute_task" | "improve_task" | "ai_merge" | "ai_codereview";
161
194
  config: {
162
195
  provider: string;
163
196
  options?: {
@@ -168,6 +201,7 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
168
201
  model?: string | undefined;
169
202
  fallback?: string[] | undefined;
170
203
  };
204
+ operation: "execute_task" | "quality_checks" | "ai_codereview" | "ai_merge" | "improve_task";
171
205
  };
172
206
  output: {
173
207
  success: boolean;
@@ -233,6 +267,19 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
233
267
  output: boolean;
234
268
  meta: object;
235
269
  }>;
270
+ getProjectInfo: import("@trpc/server").TRPCQueryProcedure<{
271
+ input: void;
272
+ output: {
273
+ name: string;
274
+ path: string;
275
+ };
276
+ meta: object;
277
+ }>;
278
+ getVibemanInfo: import("@trpc/server").TRPCQueryProcedure<{
279
+ input: void;
280
+ output: import("./lib/server/vibeman-info.js").VibemanInfo;
281
+ meta: object;
282
+ }>;
236
283
  getSettings: import("@trpc/server").TRPCQueryProcedure<{
237
284
  input: void;
238
285
  output: import("./types/settings.js").VibemanSettings;
@@ -336,21 +383,24 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
336
383
  }>;
337
384
  updateWorkflowOptions: import("@trpc/server").TRPCMutationProcedure<{
338
385
  input: {
339
- workflowId: string;
340
386
  config: {
341
- autoCommit?: boolean | undefined;
342
- createPR?: boolean | undefined;
343
387
  autoQualityChecks?: boolean | undefined;
344
388
  requireHumanApproval?: boolean | undefined;
389
+ aiCodeReview?: boolean | undefined;
390
+ autoCommit?: boolean | undefined;
391
+ createPR?: boolean | undefined;
345
392
  stepByStepMode?: boolean | undefined;
346
393
  autoMerge?: boolean | undefined;
347
- aiCodeReview?: boolean | undefined;
348
394
  aiRoutingOverrides?: {
349
395
  execute_task?: {
350
396
  provider?: string | undefined;
351
397
  model?: string | undefined;
352
398
  } | undefined;
353
- improve_task?: {
399
+ quality_checks?: {
400
+ provider?: string | undefined;
401
+ model?: string | undefined;
402
+ } | undefined;
403
+ ai_codereview?: {
354
404
  provider?: string | undefined;
355
405
  model?: string | undefined;
356
406
  } | undefined;
@@ -358,12 +408,13 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
358
408
  provider?: string | undefined;
359
409
  model?: string | undefined;
360
410
  } | undefined;
361
- ai_codereview?: {
411
+ improve_task?: {
362
412
  provider?: string | undefined;
363
413
  model?: string | undefined;
364
414
  } | undefined;
365
415
  } | undefined;
366
416
  };
417
+ workflowId: string;
367
418
  };
368
419
  output: {
369
420
  readonly success: true;
@@ -374,19 +425,23 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
374
425
  input: {
375
426
  taskId: string;
376
427
  config?: {
377
- autoCommit?: boolean | undefined;
378
- createPR?: boolean | undefined;
379
428
  autoQualityChecks?: boolean | undefined;
380
429
  requireHumanApproval?: boolean | undefined;
430
+ aiCodeReview?: boolean | undefined;
431
+ autoCommit?: boolean | undefined;
432
+ createPR?: boolean | undefined;
381
433
  stepByStepMode?: boolean | undefined;
382
434
  autoMerge?: boolean | undefined;
383
- aiCodeReview?: boolean | undefined;
384
435
  aiRoutingOverrides?: {
385
436
  execute_task?: {
386
437
  provider?: string | undefined;
387
438
  model?: string | undefined;
388
439
  } | undefined;
389
- improve_task?: {
440
+ quality_checks?: {
441
+ provider?: string | undefined;
442
+ model?: string | undefined;
443
+ } | undefined;
444
+ ai_codereview?: {
390
445
  provider?: string | undefined;
391
446
  model?: string | undefined;
392
447
  } | undefined;
@@ -394,7 +449,7 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
394
449
  provider?: string | undefined;
395
450
  model?: string | undefined;
396
451
  } | undefined;
397
- ai_codereview?: {
452
+ improve_task?: {
398
453
  provider?: string | undefined;
399
454
  model?: string | undefined;
400
455
  } | undefined;
@@ -522,8 +577,8 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
522
577
  input: {
523
578
  taskId: string;
524
579
  provider?: string | undefined;
525
- workflowId?: string | undefined;
526
580
  model?: string | undefined;
581
+ workflowId?: string | undefined;
527
582
  reviewContext?: string | undefined;
528
583
  };
529
584
  output: {
@@ -678,9 +733,9 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
678
733
  cleanupWorktree: import("@trpc/server").TRPCMutationProcedure<{
679
734
  input: {
680
735
  isConnectedToTask: boolean;
681
- taskId?: string | undefined;
682
- force?: boolean | undefined;
683
736
  worktreePath?: string | undefined;
737
+ force?: boolean | undefined;
738
+ taskId?: string | undefined;
684
739
  branchName?: string | undefined;
685
740
  };
686
741
  output: {
@@ -748,20 +803,15 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
748
803
  }>;
749
804
  improveTask: import("@trpc/server").TRPCMutationProcedure<{
750
805
  input: {
751
- title: string;
752
806
  type: "feature" | "bug" | "chore" | "refactor" | "test" | "doc";
753
- priority: "high" | "medium" | "low";
807
+ priority: "low" | "medium" | "high";
808
+ title: string;
754
809
  content: string;
755
810
  taskId: string;
756
811
  executionId?: string | undefined;
757
812
  };
758
813
  output: {
759
- type: string;
760
- priority: string;
761
- content: string;
762
- title?: string;
763
- executionId: string;
764
- selectedModel?: string;
814
+ readonly executionId: string;
765
815
  };
766
816
  meta: object;
767
817
  }>;
@@ -779,11 +829,11 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
779
829
  }>;
780
830
  listTasks: import("@trpc/server").TRPCQueryProcedure<{
781
831
  input: {
782
- status?: "review" | "in-progress" | "backlog" | "done" | undefined;
783
832
  type?: "feature" | "bug" | "chore" | "refactor" | "test" | "doc" | undefined;
784
- tags?: string[] | undefined;
785
- priority?: "high" | "medium" | "low" | undefined;
833
+ status?: "backlog" | "in-progress" | "review" | "done" | undefined;
834
+ priority?: "low" | "medium" | "high" | undefined;
786
835
  search?: string | undefined;
836
+ tags?: string[] | undefined;
787
837
  includeDeleted?: boolean | undefined;
788
838
  onlyDeleted?: boolean | undefined;
789
839
  } | undefined;
@@ -799,15 +849,15 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
799
849
  }>;
800
850
  createTask: import("@trpc/server").TRPCMutationProcedure<{
801
851
  input: {
802
- title: string;
803
852
  type: "feature" | "bug" | "chore" | "refactor" | "test" | "doc";
853
+ title: string;
804
854
  content: string;
805
- status?: "review" | "in-progress" | "backlog" | "done" | undefined;
855
+ status?: "backlog" | "in-progress" | "review" | "done" | undefined;
856
+ priority?: "low" | "medium" | "high" | undefined;
806
857
  id?: string | undefined;
807
858
  tags?: string[] | undefined;
808
859
  due_date?: string | undefined;
809
860
  assignee?: string[] | undefined;
810
- priority?: "high" | "medium" | "low" | undefined;
811
861
  comments?: string[] | undefined;
812
862
  };
813
863
  output: import("./types/index.js").Task;
@@ -816,13 +866,13 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
816
866
  updateTask: import("@trpc/server").TRPCMutationProcedure<{
817
867
  input: {
818
868
  id: string;
819
- status?: "review" | "in-progress" | "backlog" | "done" | undefined;
820
- title?: string | undefined;
821
869
  type?: "feature" | "bug" | "chore" | "refactor" | "test" | "doc" | undefined;
870
+ status?: "backlog" | "in-progress" | "review" | "done" | undefined;
871
+ priority?: "low" | "medium" | "high" | undefined;
872
+ title?: string | undefined;
822
873
  tags?: string[] | undefined;
823
874
  due_date?: string | undefined;
824
875
  assignee?: string[] | undefined;
825
- priority?: "high" | "medium" | "low" | undefined;
826
876
  comments?: string[] | undefined;
827
877
  content?: string | undefined;
828
878
  deleted_at?: string | undefined;
@@ -841,7 +891,7 @@ export declare function createRouter(taskService: TaskService, gitService: GitSe
841
891
  }>;
842
892
  moveTask: import("@trpc/server").TRPCMutationProcedure<{
843
893
  input: {
844
- status: "review" | "in-progress" | "backlog" | "done";
894
+ status: "backlog" | "in-progress" | "review" | "done";
845
895
  id: string;
846
896
  };
847
897
  output: import("./types/index.js").Task;