claude-ws 0.1.0 → 0.1.1

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 (905) hide show
  1. package/LICENSE +1 -1
  2. package/package.json +1 -2
  3. package/server.ts +101 -71
  4. package/src/app/api/files/route.ts +1 -1
  5. package/src/app/api/files/search/route.ts +123 -0
  6. package/src/app/api/git/commit/route.ts +15 -4
  7. package/src/app/api/git/generate-message/route.ts +293 -0
  8. package/src/app/api/git/log/route.ts +42 -8
  9. package/src/app/api/git/show/route.ts +115 -0
  10. package/src/app/api/tasks/[id]/stats/route.ts +84 -0
  11. package/src/app/globals.css +57 -4
  12. package/src/app/page.tsx +21 -23
  13. package/src/components/claude/message-block.tsx +18 -1
  14. package/src/components/editor/code-editor-with-inline-edit.tsx +44 -0
  15. package/src/components/editor/extensions/add-to-context.ts +90 -0
  16. package/src/components/kanban/create-task-dialog.tsx +35 -3
  17. package/src/components/sidebar/file-browser/file-icon.tsx +17 -5
  18. package/src/components/sidebar/file-browser/file-tabs-panel.tsx +31 -2
  19. package/src/components/sidebar/file-browser/file-tree-item.tsx +2 -2
  20. package/src/components/sidebar/git-changes/commit-details-modal.tsx +204 -0
  21. package/src/components/sidebar/git-changes/diff-preview-panel.tsx +21 -48
  22. package/src/components/sidebar/git-changes/diff-viewer.tsx +106 -36
  23. package/src/components/sidebar/git-changes/git-commit-item.tsx +107 -61
  24. package/src/components/sidebar/git-changes/git-file-item.tsx +12 -13
  25. package/src/components/sidebar/git-changes/git-graph.tsx +209 -59
  26. package/src/components/sidebar/git-changes/git-panel.tsx +145 -54
  27. package/src/components/sidebar/git-changes/graph-renderer.tsx +195 -0
  28. package/src/components/sidebar/sidebar-panel.tsx +21 -56
  29. package/src/components/task/file-mention-dropdown.tsx +170 -0
  30. package/src/components/task/interactive-command/question-prompt.tsx +3 -1
  31. package/src/components/task/prompt-input.tsx +340 -77
  32. package/src/components/task/status-line.tsx +196 -0
  33. package/src/components/task/task-detail-panel.tsx +35 -80
  34. package/src/components/ui/resize-handle.tsx +41 -0
  35. package/src/components/ui/scroll-area.tsx +3 -3
  36. package/src/hooks/use-attempt-stream.ts +13 -9
  37. package/src/hooks/use-resizable.ts +114 -0
  38. package/src/lib/agent-manager.ts +213 -43
  39. package/src/lib/context-health.ts +219 -0
  40. package/src/lib/context-tracker.ts +149 -0
  41. package/src/lib/db/schema.ts +14 -0
  42. package/src/lib/file-to-attachment.ts +112 -0
  43. package/src/lib/git/color-scheme.test.ts +79 -0
  44. package/src/lib/git/lane-calculator.test.ts +100 -0
  45. package/src/lib/git/lane-calculator.ts +181 -0
  46. package/src/lib/git/path-generator.test.ts +54 -0
  47. package/src/lib/git/path-generator.ts +95 -0
  48. package/src/lib/git-stats-collector.ts +105 -0
  49. package/src/lib/system-prompt.ts +206 -63
  50. package/src/lib/usage-command-handler.ts +46 -0
  51. package/src/lib/usage-tracker.ts +293 -0
  52. package/src/lib/workflow-tracker.ts +231 -0
  53. package/src/stores/context-mention-store.ts +150 -0
  54. package/src/stores/panel-layout-store.ts +66 -0
  55. package/src/stores/task-store.ts +4 -2
  56. package/src/types/index.ts +26 -0
  57. package/tsconfig.json +1 -1
  58. package/.next/BUILD_ID +0 -1
  59. package/.next/app-path-routes-manifest.json +0 -63
  60. package/.next/build/chunks/[root-of-the-server]__51225daf._.js +0 -206
  61. package/.next/build/chunks/[root-of-the-server]__51225daf._.js.map +0 -8
  62. package/.next/build/chunks/[root-of-the-server]__974941ed._.js +0 -500
  63. package/.next/build/chunks/[root-of-the-server]__974941ed._.js.map +0 -11
  64. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_6920245c._.js +0 -13
  65. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_6920245c._.js.map +0 -5
  66. package/.next/build/chunks/[turbopack]_runtime.js +0 -795
  67. package/.next/build/chunks/[turbopack]_runtime.js.map +0 -10
  68. package/.next/build/chunks/node_modules__pnpm_56ec7204._.js +0 -6681
  69. package/.next/build/chunks/node_modules__pnpm_56ec7204._.js.map +0 -47
  70. package/.next/build/package.json +0 -1
  71. package/.next/build/postcss.js +0 -6
  72. package/.next/build/postcss.js.map +0 -5
  73. package/.next/build-manifest.json +0 -19
  74. package/.next/cache/.previewinfo +0 -1
  75. package/.next/cache/.rscinfo +0 -1
  76. package/.next/cache/.tsbuildinfo +0 -1
  77. package/.next/cache/images/g2ozZQmvTd4AxwIWFk7nlVsjjNsZW59Zvn-6A8Be6W0/14400.1768586168386.FvO6YzepTzn2YgY4VRSqxdG-Z3qDWbdlfLfL3LUUSmg.Vy8iOWM0NC0xOWJjNjk4YTFjZiI.webp +0 -0
  78. package/.next/diagnostics/build-diagnostics.json +0 -6
  79. package/.next/diagnostics/framework.json +0 -1
  80. package/.next/export-marker.json +0 -6
  81. package/.next/fallback-build-manifest.json +0 -12
  82. package/.next/images-manifest.json +0 -72
  83. package/.next/next-minimal-server.js.nft.json +0 -1
  84. package/.next/next-server.js.nft.json +0 -1
  85. package/.next/package.json +0 -1
  86. package/.next/prerender-manifest.json +0 -85
  87. package/.next/required-server-files.js +0 -169
  88. package/.next/required-server-files.json +0 -169
  89. package/.next/routes-manifest.json +0 -454
  90. package/.next/server/app/_global-error/page/app-paths-manifest.json +0 -3
  91. package/.next/server/app/_global-error/page/build-manifest.json +0 -16
  92. package/.next/server/app/_global-error/page/next-font-manifest.json +0 -6
  93. package/.next/server/app/_global-error/page/react-loadable-manifest.json +0 -1
  94. package/.next/server/app/_global-error/page/server-reference-manifest.json +0 -4
  95. package/.next/server/app/_global-error/page.js +0 -10
  96. package/.next/server/app/_global-error/page.js.map +0 -5
  97. package/.next/server/app/_global-error/page.js.nft.json +0 -1
  98. package/.next/server/app/_global-error/page_client-reference-manifest.js +0 -2
  99. package/.next/server/app/_global-error.html +0 -2
  100. package/.next/server/app/_global-error.meta +0 -15
  101. package/.next/server/app/_global-error.rsc +0 -12
  102. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +0 -5
  103. package/.next/server/app/_global-error.segments/_full.segment.rsc +0 -12
  104. package/.next/server/app/_global-error.segments/_head.segment.rsc +0 -5
  105. package/.next/server/app/_global-error.segments/_index.segment.rsc +0 -4
  106. package/.next/server/app/_global-error.segments/_tree.segment.rsc +0 -1
  107. package/.next/server/app/_not-found/page/app-paths-manifest.json +0 -3
  108. package/.next/server/app/_not-found/page/build-manifest.json +0 -16
  109. package/.next/server/app/_not-found/page/next-font-manifest.json +0 -11
  110. package/.next/server/app/_not-found/page/react-loadable-manifest.json +0 -1
  111. package/.next/server/app/_not-found/page/server-reference-manifest.json +0 -4
  112. package/.next/server/app/_not-found/page.js +0 -13
  113. package/.next/server/app/_not-found/page.js.map +0 -5
  114. package/.next/server/app/_not-found/page.js.nft.json +0 -1
  115. package/.next/server/app/_not-found/page_client-reference-manifest.js +0 -2
  116. package/.next/server/app/_not-found.html +0 -1
  117. package/.next/server/app/_not-found.meta +0 -16
  118. package/.next/server/app/_not-found.rsc +0 -17
  119. package/.next/server/app/_not-found.segments/_full.segment.rsc +0 -17
  120. package/.next/server/app/_not-found.segments/_head.segment.rsc +0 -6
  121. package/.next/server/app/_not-found.segments/_index.segment.rsc +0 -8
  122. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +0 -5
  123. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -4
  124. package/.next/server/app/_not-found.segments/_tree.segment.rsc +0 -2
  125. package/.next/server/app/api/agent-factory/compare/route/app-paths-manifest.json +0 -3
  126. package/.next/server/app/api/agent-factory/compare/route/build-manifest.json +0 -11
  127. package/.next/server/app/api/agent-factory/compare/route/server-reference-manifest.json +0 -4
  128. package/.next/server/app/api/agent-factory/compare/route.js +0 -7
  129. package/.next/server/app/api/agent-factory/compare/route.js.map +0 -5
  130. package/.next/server/app/api/agent-factory/compare/route.js.nft.json +0 -1
  131. package/.next/server/app/api/agent-factory/compare/route_client-reference-manifest.js +0 -2
  132. package/.next/server/app/api/agent-factory/dependencies/[id]/install/route/app-paths-manifest.json +0 -3
  133. package/.next/server/app/api/agent-factory/dependencies/[id]/install/route/build-manifest.json +0 -11
  134. package/.next/server/app/api/agent-factory/dependencies/[id]/install/route/server-reference-manifest.json +0 -4
  135. package/.next/server/app/api/agent-factory/dependencies/[id]/install/route.js +0 -7
  136. package/.next/server/app/api/agent-factory/dependencies/[id]/install/route.js.map +0 -5
  137. package/.next/server/app/api/agent-factory/dependencies/[id]/install/route.js.nft.json +0 -1
  138. package/.next/server/app/api/agent-factory/dependencies/[id]/install/route_client-reference-manifest.js +0 -2
  139. package/.next/server/app/api/agent-factory/dependencies/route/app-paths-manifest.json +0 -3
  140. package/.next/server/app/api/agent-factory/dependencies/route/build-manifest.json +0 -11
  141. package/.next/server/app/api/agent-factory/dependencies/route/server-reference-manifest.json +0 -4
  142. package/.next/server/app/api/agent-factory/dependencies/route.js +0 -7
  143. package/.next/server/app/api/agent-factory/dependencies/route.js.map +0 -5
  144. package/.next/server/app/api/agent-factory/dependencies/route.js.nft.json +0 -1
  145. package/.next/server/app/api/agent-factory/dependencies/route_client-reference-manifest.js +0 -2
  146. package/.next/server/app/api/agent-factory/discover/route/app-paths-manifest.json +0 -3
  147. package/.next/server/app/api/agent-factory/discover/route/build-manifest.json +0 -11
  148. package/.next/server/app/api/agent-factory/discover/route/server-reference-manifest.json +0 -4
  149. package/.next/server/app/api/agent-factory/discover/route.js +0 -6
  150. package/.next/server/app/api/agent-factory/discover/route.js.map +0 -5
  151. package/.next/server/app/api/agent-factory/discover/route.js.nft.json +0 -1
  152. package/.next/server/app/api/agent-factory/discover/route_client-reference-manifest.js +0 -2
  153. package/.next/server/app/api/agent-factory/file-content/route/app-paths-manifest.json +0 -3
  154. package/.next/server/app/api/agent-factory/file-content/route/build-manifest.json +0 -11
  155. package/.next/server/app/api/agent-factory/file-content/route/server-reference-manifest.json +0 -4
  156. package/.next/server/app/api/agent-factory/file-content/route.js +0 -6
  157. package/.next/server/app/api/agent-factory/file-content/route.js.map +0 -5
  158. package/.next/server/app/api/agent-factory/file-content/route.js.nft.json +0 -1
  159. package/.next/server/app/api/agent-factory/file-content/route_client-reference-manifest.js +0 -2
  160. package/.next/server/app/api/agent-factory/files/route/app-paths-manifest.json +0 -3
  161. package/.next/server/app/api/agent-factory/files/route/build-manifest.json +0 -11
  162. package/.next/server/app/api/agent-factory/files/route/server-reference-manifest.json +0 -4
  163. package/.next/server/app/api/agent-factory/files/route.js +0 -6
  164. package/.next/server/app/api/agent-factory/files/route.js.map +0 -5
  165. package/.next/server/app/api/agent-factory/files/route.js.nft.json +0 -1
  166. package/.next/server/app/api/agent-factory/files/route_client-reference-manifest.js +0 -2
  167. package/.next/server/app/api/agent-factory/import/route/app-paths-manifest.json +0 -3
  168. package/.next/server/app/api/agent-factory/import/route/build-manifest.json +0 -11
  169. package/.next/server/app/api/agent-factory/import/route/server-reference-manifest.json +0 -4
  170. package/.next/server/app/api/agent-factory/import/route.js +0 -7
  171. package/.next/server/app/api/agent-factory/import/route.js.map +0 -5
  172. package/.next/server/app/api/agent-factory/import/route.js.nft.json +0 -1
  173. package/.next/server/app/api/agent-factory/import/route_client-reference-manifest.js +0 -2
  174. package/.next/server/app/api/agent-factory/plugins/[id]/dependencies/route/app-paths-manifest.json +0 -3
  175. package/.next/server/app/api/agent-factory/plugins/[id]/dependencies/route/build-manifest.json +0 -11
  176. package/.next/server/app/api/agent-factory/plugins/[id]/dependencies/route/server-reference-manifest.json +0 -4
  177. package/.next/server/app/api/agent-factory/plugins/[id]/dependencies/route.js +0 -9
  178. package/.next/server/app/api/agent-factory/plugins/[id]/dependencies/route.js.map +0 -5
  179. package/.next/server/app/api/agent-factory/plugins/[id]/dependencies/route.js.nft.json +0 -1
  180. package/.next/server/app/api/agent-factory/plugins/[id]/dependencies/route_client-reference-manifest.js +0 -2
  181. package/.next/server/app/api/agent-factory/plugins/[id]/files/[...path]/route/app-paths-manifest.json +0 -3
  182. package/.next/server/app/api/agent-factory/plugins/[id]/files/[...path]/route/build-manifest.json +0 -11
  183. package/.next/server/app/api/agent-factory/plugins/[id]/files/[...path]/route/server-reference-manifest.json +0 -4
  184. package/.next/server/app/api/agent-factory/plugins/[id]/files/[...path]/route.js +0 -7
  185. package/.next/server/app/api/agent-factory/plugins/[id]/files/[...path]/route.js.map +0 -5
  186. package/.next/server/app/api/agent-factory/plugins/[id]/files/[...path]/route.js.nft.json +0 -1
  187. package/.next/server/app/api/agent-factory/plugins/[id]/files/[...path]/route_client-reference-manifest.js +0 -2
  188. package/.next/server/app/api/agent-factory/plugins/[id]/files/route/app-paths-manifest.json +0 -3
  189. package/.next/server/app/api/agent-factory/plugins/[id]/files/route/build-manifest.json +0 -11
  190. package/.next/server/app/api/agent-factory/plugins/[id]/files/route/server-reference-manifest.json +0 -4
  191. package/.next/server/app/api/agent-factory/plugins/[id]/files/route.js +0 -7
  192. package/.next/server/app/api/agent-factory/plugins/[id]/files/route.js.map +0 -5
  193. package/.next/server/app/api/agent-factory/plugins/[id]/files/route.js.nft.json +0 -1
  194. package/.next/server/app/api/agent-factory/plugins/[id]/files/route_client-reference-manifest.js +0 -2
  195. package/.next/server/app/api/agent-factory/plugins/[id]/files/save/route/app-paths-manifest.json +0 -3
  196. package/.next/server/app/api/agent-factory/plugins/[id]/files/save/route/build-manifest.json +0 -11
  197. package/.next/server/app/api/agent-factory/plugins/[id]/files/save/route/server-reference-manifest.json +0 -4
  198. package/.next/server/app/api/agent-factory/plugins/[id]/files/save/route.js +0 -7
  199. package/.next/server/app/api/agent-factory/plugins/[id]/files/save/route.js.map +0 -5
  200. package/.next/server/app/api/agent-factory/plugins/[id]/files/save/route.js.nft.json +0 -1
  201. package/.next/server/app/api/agent-factory/plugins/[id]/files/save/route_client-reference-manifest.js +0 -2
  202. package/.next/server/app/api/agent-factory/plugins/[id]/route/app-paths-manifest.json +0 -3
  203. package/.next/server/app/api/agent-factory/plugins/[id]/route/build-manifest.json +0 -11
  204. package/.next/server/app/api/agent-factory/plugins/[id]/route/server-reference-manifest.json +0 -4
  205. package/.next/server/app/api/agent-factory/plugins/[id]/route.js +0 -7
  206. package/.next/server/app/api/agent-factory/plugins/[id]/route.js.map +0 -5
  207. package/.next/server/app/api/agent-factory/plugins/[id]/route.js.nft.json +0 -1
  208. package/.next/server/app/api/agent-factory/plugins/[id]/route_client-reference-manifest.js +0 -2
  209. package/.next/server/app/api/agent-factory/plugins/route/app-paths-manifest.json +0 -3
  210. package/.next/server/app/api/agent-factory/plugins/route/build-manifest.json +0 -11
  211. package/.next/server/app/api/agent-factory/plugins/route/server-reference-manifest.json +0 -4
  212. package/.next/server/app/api/agent-factory/plugins/route.js +0 -7
  213. package/.next/server/app/api/agent-factory/plugins/route.js.map +0 -5
  214. package/.next/server/app/api/agent-factory/plugins/route.js.nft.json +0 -1
  215. package/.next/server/app/api/agent-factory/plugins/route_client-reference-manifest.js +0 -2
  216. package/.next/server/app/api/agent-factory/projects/[projectId]/components/route/app-paths-manifest.json +0 -3
  217. package/.next/server/app/api/agent-factory/projects/[projectId]/components/route/build-manifest.json +0 -11
  218. package/.next/server/app/api/agent-factory/projects/[projectId]/components/route/server-reference-manifest.json +0 -4
  219. package/.next/server/app/api/agent-factory/projects/[projectId]/components/route.js +0 -7
  220. package/.next/server/app/api/agent-factory/projects/[projectId]/components/route.js.map +0 -5
  221. package/.next/server/app/api/agent-factory/projects/[projectId]/components/route.js.nft.json +0 -1
  222. package/.next/server/app/api/agent-factory/projects/[projectId]/components/route_client-reference-manifest.js +0 -2
  223. package/.next/server/app/api/agent-factory/projects/[projectId]/installed/route/app-paths-manifest.json +0 -3
  224. package/.next/server/app/api/agent-factory/projects/[projectId]/installed/route/build-manifest.json +0 -11
  225. package/.next/server/app/api/agent-factory/projects/[projectId]/installed/route/server-reference-manifest.json +0 -4
  226. package/.next/server/app/api/agent-factory/projects/[projectId]/installed/route.js +0 -7
  227. package/.next/server/app/api/agent-factory/projects/[projectId]/installed/route.js.map +0 -5
  228. package/.next/server/app/api/agent-factory/projects/[projectId]/installed/route.js.nft.json +0 -1
  229. package/.next/server/app/api/agent-factory/projects/[projectId]/installed/route_client-reference-manifest.js +0 -2
  230. package/.next/server/app/api/agent-factory/projects/[projectId]/plugins/route/app-paths-manifest.json +0 -3
  231. package/.next/server/app/api/agent-factory/projects/[projectId]/plugins/route/build-manifest.json +0 -11
  232. package/.next/server/app/api/agent-factory/projects/[projectId]/plugins/route/server-reference-manifest.json +0 -4
  233. package/.next/server/app/api/agent-factory/projects/[projectId]/plugins/route.js +0 -7
  234. package/.next/server/app/api/agent-factory/projects/[projectId]/plugins/route.js.map +0 -5
  235. package/.next/server/app/api/agent-factory/projects/[projectId]/plugins/route.js.nft.json +0 -1
  236. package/.next/server/app/api/agent-factory/projects/[projectId]/plugins/route_client-reference-manifest.js +0 -2
  237. package/.next/server/app/api/agent-factory/projects/[projectId]/sync/route/app-paths-manifest.json +0 -3
  238. package/.next/server/app/api/agent-factory/projects/[projectId]/sync/route/build-manifest.json +0 -11
  239. package/.next/server/app/api/agent-factory/projects/[projectId]/sync/route/server-reference-manifest.json +0 -4
  240. package/.next/server/app/api/agent-factory/projects/[projectId]/sync/route.js +0 -8
  241. package/.next/server/app/api/agent-factory/projects/[projectId]/sync/route.js.map +0 -5
  242. package/.next/server/app/api/agent-factory/projects/[projectId]/sync/route.js.nft.json +0 -1
  243. package/.next/server/app/api/agent-factory/projects/[projectId]/sync/route_client-reference-manifest.js +0 -2
  244. package/.next/server/app/api/agent-factory/projects/[projectId]/uninstall/route/app-paths-manifest.json +0 -3
  245. package/.next/server/app/api/agent-factory/projects/[projectId]/uninstall/route/build-manifest.json +0 -11
  246. package/.next/server/app/api/agent-factory/projects/[projectId]/uninstall/route/server-reference-manifest.json +0 -4
  247. package/.next/server/app/api/agent-factory/projects/[projectId]/uninstall/route.js +0 -7
  248. package/.next/server/app/api/agent-factory/projects/[projectId]/uninstall/route.js.map +0 -5
  249. package/.next/server/app/api/agent-factory/projects/[projectId]/uninstall/route.js.nft.json +0 -1
  250. package/.next/server/app/api/agent-factory/projects/[projectId]/uninstall/route_client-reference-manifest.js +0 -2
  251. package/.next/server/app/api/agent-factory/upload/cancel/route/app-paths-manifest.json +0 -3
  252. package/.next/server/app/api/agent-factory/upload/cancel/route/build-manifest.json +0 -11
  253. package/.next/server/app/api/agent-factory/upload/cancel/route/server-reference-manifest.json +0 -4
  254. package/.next/server/app/api/agent-factory/upload/cancel/route.js +0 -6
  255. package/.next/server/app/api/agent-factory/upload/cancel/route.js.map +0 -5
  256. package/.next/server/app/api/agent-factory/upload/cancel/route.js.nft.json +0 -1
  257. package/.next/server/app/api/agent-factory/upload/cancel/route_client-reference-manifest.js +0 -2
  258. package/.next/server/app/api/agent-factory/upload/route/app-paths-manifest.json +0 -3
  259. package/.next/server/app/api/agent-factory/upload/route/build-manifest.json +0 -11
  260. package/.next/server/app/api/agent-factory/upload/route/server-reference-manifest.json +0 -4
  261. package/.next/server/app/api/agent-factory/upload/route.js +0 -8
  262. package/.next/server/app/api/agent-factory/upload/route.js.map +0 -5
  263. package/.next/server/app/api/agent-factory/upload/route.js.nft.json +0 -1
  264. package/.next/server/app/api/agent-factory/upload/route_client-reference-manifest.js +0 -2
  265. package/.next/server/app/api/agent-factory/upload/update/route/app-paths-manifest.json +0 -3
  266. package/.next/server/app/api/agent-factory/upload/update/route/build-manifest.json +0 -11
  267. package/.next/server/app/api/agent-factory/upload/update/route/server-reference-manifest.json +0 -4
  268. package/.next/server/app/api/agent-factory/upload/update/route.js +0 -6
  269. package/.next/server/app/api/agent-factory/upload/update/route.js.map +0 -5
  270. package/.next/server/app/api/agent-factory/upload/update/route.js.nft.json +0 -1
  271. package/.next/server/app/api/agent-factory/upload/update/route_client-reference-manifest.js +0 -2
  272. package/.next/server/app/api/attempts/[id]/route/app-paths-manifest.json +0 -3
  273. package/.next/server/app/api/attempts/[id]/route/build-manifest.json +0 -11
  274. package/.next/server/app/api/attempts/[id]/route/server-reference-manifest.json +0 -4
  275. package/.next/server/app/api/attempts/[id]/route.js +0 -7
  276. package/.next/server/app/api/attempts/[id]/route.js.map +0 -5
  277. package/.next/server/app/api/attempts/[id]/route.js.nft.json +0 -1
  278. package/.next/server/app/api/attempts/[id]/route_client-reference-manifest.js +0 -2
  279. package/.next/server/app/api/attempts/[id]/status/route/app-paths-manifest.json +0 -3
  280. package/.next/server/app/api/attempts/[id]/status/route/build-manifest.json +0 -11
  281. package/.next/server/app/api/attempts/[id]/status/route/server-reference-manifest.json +0 -4
  282. package/.next/server/app/api/attempts/[id]/status/route.js +0 -7
  283. package/.next/server/app/api/attempts/[id]/status/route.js.map +0 -5
  284. package/.next/server/app/api/attempts/[id]/status/route.js.nft.json +0 -1
  285. package/.next/server/app/api/attempts/[id]/status/route_client-reference-manifest.js +0 -2
  286. package/.next/server/app/api/attempts/route/app-paths-manifest.json +0 -3
  287. package/.next/server/app/api/attempts/route/build-manifest.json +0 -11
  288. package/.next/server/app/api/attempts/route/server-reference-manifest.json +0 -4
  289. package/.next/server/app/api/attempts/route.js +0 -7
  290. package/.next/server/app/api/attempts/route.js.map +0 -5
  291. package/.next/server/app/api/attempts/route.js.nft.json +0 -1
  292. package/.next/server/app/api/attempts/route_client-reference-manifest.js +0 -2
  293. package/.next/server/app/api/auth/verify/route/app-paths-manifest.json +0 -3
  294. package/.next/server/app/api/auth/verify/route/build-manifest.json +0 -11
  295. package/.next/server/app/api/auth/verify/route/server-reference-manifest.json +0 -4
  296. package/.next/server/app/api/auth/verify/route.js +0 -6
  297. package/.next/server/app/api/auth/verify/route.js.map +0 -5
  298. package/.next/server/app/api/auth/verify/route.js.nft.json +0 -1
  299. package/.next/server/app/api/auth/verify/route_client-reference-manifest.js +0 -2
  300. package/.next/server/app/api/checkpoints/backfill/route/app-paths-manifest.json +0 -3
  301. package/.next/server/app/api/checkpoints/backfill/route/build-manifest.json +0 -11
  302. package/.next/server/app/api/checkpoints/backfill/route/server-reference-manifest.json +0 -4
  303. package/.next/server/app/api/checkpoints/backfill/route.js +0 -7
  304. package/.next/server/app/api/checkpoints/backfill/route.js.map +0 -5
  305. package/.next/server/app/api/checkpoints/backfill/route.js.nft.json +0 -1
  306. package/.next/server/app/api/checkpoints/backfill/route_client-reference-manifest.js +0 -2
  307. package/.next/server/app/api/checkpoints/rewind/route/app-paths-manifest.json +0 -3
  308. package/.next/server/app/api/checkpoints/rewind/route/build-manifest.json +0 -11
  309. package/.next/server/app/api/checkpoints/rewind/route/server-reference-manifest.json +0 -4
  310. package/.next/server/app/api/checkpoints/rewind/route.js +0 -9
  311. package/.next/server/app/api/checkpoints/rewind/route.js.map +0 -5
  312. package/.next/server/app/api/checkpoints/rewind/route.js.nft.json +0 -1
  313. package/.next/server/app/api/checkpoints/rewind/route_client-reference-manifest.js +0 -2
  314. package/.next/server/app/api/checkpoints/route/app-paths-manifest.json +0 -3
  315. package/.next/server/app/api/checkpoints/route/build-manifest.json +0 -11
  316. package/.next/server/app/api/checkpoints/route/server-reference-manifest.json +0 -4
  317. package/.next/server/app/api/checkpoints/route.js +0 -7
  318. package/.next/server/app/api/checkpoints/route.js.map +0 -5
  319. package/.next/server/app/api/checkpoints/route.js.nft.json +0 -1
  320. package/.next/server/app/api/checkpoints/route_client-reference-manifest.js +0 -2
  321. package/.next/server/app/api/code/inline-edit/route/app-paths-manifest.json +0 -3
  322. package/.next/server/app/api/code/inline-edit/route/build-manifest.json +0 -11
  323. package/.next/server/app/api/code/inline-edit/route/server-reference-manifest.json +0 -4
  324. package/.next/server/app/api/code/inline-edit/route.js +0 -8
  325. package/.next/server/app/api/code/inline-edit/route.js.map +0 -5
  326. package/.next/server/app/api/code/inline-edit/route.js.nft.json +0 -1
  327. package/.next/server/app/api/code/inline-edit/route_client-reference-manifest.js +0 -2
  328. package/.next/server/app/api/commands/[name]/route/app-paths-manifest.json +0 -3
  329. package/.next/server/app/api/commands/[name]/route/build-manifest.json +0 -11
  330. package/.next/server/app/api/commands/[name]/route/server-reference-manifest.json +0 -4
  331. package/.next/server/app/api/commands/[name]/route.js +0 -6
  332. package/.next/server/app/api/commands/[name]/route.js.map +0 -5
  333. package/.next/server/app/api/commands/[name]/route.js.nft.json +0 -1
  334. package/.next/server/app/api/commands/[name]/route_client-reference-manifest.js +0 -2
  335. package/.next/server/app/api/commands/route/app-paths-manifest.json +0 -3
  336. package/.next/server/app/api/commands/route/build-manifest.json +0 -11
  337. package/.next/server/app/api/commands/route/server-reference-manifest.json +0 -4
  338. package/.next/server/app/api/commands/route.js +0 -6
  339. package/.next/server/app/api/commands/route.js.map +0 -5
  340. package/.next/server/app/api/commands/route.js.nft.json +0 -1
  341. package/.next/server/app/api/commands/route_client-reference-manifest.js +0 -2
  342. package/.next/server/app/api/files/content/route/app-paths-manifest.json +0 -3
  343. package/.next/server/app/api/files/content/route/build-manifest.json +0 -11
  344. package/.next/server/app/api/files/content/route/server-reference-manifest.json +0 -4
  345. package/.next/server/app/api/files/content/route.js +0 -6
  346. package/.next/server/app/api/files/content/route.js.map +0 -5
  347. package/.next/server/app/api/files/content/route.js.nft.json +0 -1
  348. package/.next/server/app/api/files/content/route_client-reference-manifest.js +0 -2
  349. package/.next/server/app/api/files/route/app-paths-manifest.json +0 -3
  350. package/.next/server/app/api/files/route/build-manifest.json +0 -11
  351. package/.next/server/app/api/files/route/server-reference-manifest.json +0 -4
  352. package/.next/server/app/api/files/route.js +0 -6
  353. package/.next/server/app/api/files/route.js.map +0 -5
  354. package/.next/server/app/api/files/route.js.nft.json +0 -1
  355. package/.next/server/app/api/files/route_client-reference-manifest.js +0 -2
  356. package/.next/server/app/api/filesystem/route/app-paths-manifest.json +0 -3
  357. package/.next/server/app/api/filesystem/route/build-manifest.json +0 -11
  358. package/.next/server/app/api/filesystem/route/server-reference-manifest.json +0 -4
  359. package/.next/server/app/api/filesystem/route.js +0 -6
  360. package/.next/server/app/api/filesystem/route.js.map +0 -5
  361. package/.next/server/app/api/filesystem/route.js.nft.json +0 -1
  362. package/.next/server/app/api/filesystem/route_client-reference-manifest.js +0 -2
  363. package/.next/server/app/api/git/commit/route/app-paths-manifest.json +0 -3
  364. package/.next/server/app/api/git/commit/route/build-manifest.json +0 -11
  365. package/.next/server/app/api/git/commit/route/server-reference-manifest.json +0 -4
  366. package/.next/server/app/api/git/commit/route.js +0 -6
  367. package/.next/server/app/api/git/commit/route.js.map +0 -5
  368. package/.next/server/app/api/git/commit/route.js.nft.json +0 -1
  369. package/.next/server/app/api/git/commit/route_client-reference-manifest.js +0 -2
  370. package/.next/server/app/api/git/diff/route/app-paths-manifest.json +0 -3
  371. package/.next/server/app/api/git/diff/route/build-manifest.json +0 -11
  372. package/.next/server/app/api/git/diff/route/server-reference-manifest.json +0 -4
  373. package/.next/server/app/api/git/diff/route.js +0 -6
  374. package/.next/server/app/api/git/diff/route.js.map +0 -5
  375. package/.next/server/app/api/git/diff/route.js.nft.json +0 -1
  376. package/.next/server/app/api/git/diff/route_client-reference-manifest.js +0 -2
  377. package/.next/server/app/api/git/discard/route/app-paths-manifest.json +0 -3
  378. package/.next/server/app/api/git/discard/route/build-manifest.json +0 -11
  379. package/.next/server/app/api/git/discard/route/server-reference-manifest.json +0 -4
  380. package/.next/server/app/api/git/discard/route.js +0 -6
  381. package/.next/server/app/api/git/discard/route.js.map +0 -5
  382. package/.next/server/app/api/git/discard/route.js.nft.json +0 -1
  383. package/.next/server/app/api/git/discard/route_client-reference-manifest.js +0 -2
  384. package/.next/server/app/api/git/fetch/route/app-paths-manifest.json +0 -3
  385. package/.next/server/app/api/git/fetch/route/build-manifest.json +0 -11
  386. package/.next/server/app/api/git/fetch/route/server-reference-manifest.json +0 -4
  387. package/.next/server/app/api/git/fetch/route.js +0 -6
  388. package/.next/server/app/api/git/fetch/route.js.map +0 -5
  389. package/.next/server/app/api/git/fetch/route.js.nft.json +0 -1
  390. package/.next/server/app/api/git/fetch/route_client-reference-manifest.js +0 -2
  391. package/.next/server/app/api/git/log/route/app-paths-manifest.json +0 -3
  392. package/.next/server/app/api/git/log/route/build-manifest.json +0 -11
  393. package/.next/server/app/api/git/log/route/server-reference-manifest.json +0 -4
  394. package/.next/server/app/api/git/log/route.js +0 -6
  395. package/.next/server/app/api/git/log/route.js.map +0 -5
  396. package/.next/server/app/api/git/log/route.js.nft.json +0 -1
  397. package/.next/server/app/api/git/log/route_client-reference-manifest.js +0 -2
  398. package/.next/server/app/api/git/pull/route/app-paths-manifest.json +0 -3
  399. package/.next/server/app/api/git/pull/route/build-manifest.json +0 -11
  400. package/.next/server/app/api/git/pull/route/server-reference-manifest.json +0 -4
  401. package/.next/server/app/api/git/pull/route.js +0 -6
  402. package/.next/server/app/api/git/pull/route.js.map +0 -5
  403. package/.next/server/app/api/git/pull/route.js.nft.json +0 -1
  404. package/.next/server/app/api/git/pull/route_client-reference-manifest.js +0 -2
  405. package/.next/server/app/api/git/push/route/app-paths-manifest.json +0 -3
  406. package/.next/server/app/api/git/push/route/build-manifest.json +0 -11
  407. package/.next/server/app/api/git/push/route/server-reference-manifest.json +0 -4
  408. package/.next/server/app/api/git/push/route.js +0 -6
  409. package/.next/server/app/api/git/push/route.js.map +0 -5
  410. package/.next/server/app/api/git/push/route.js.nft.json +0 -1
  411. package/.next/server/app/api/git/push/route_client-reference-manifest.js +0 -2
  412. package/.next/server/app/api/git/stage/route/app-paths-manifest.json +0 -3
  413. package/.next/server/app/api/git/stage/route/build-manifest.json +0 -11
  414. package/.next/server/app/api/git/stage/route/server-reference-manifest.json +0 -4
  415. package/.next/server/app/api/git/stage/route.js +0 -6
  416. package/.next/server/app/api/git/stage/route.js.map +0 -5
  417. package/.next/server/app/api/git/stage/route.js.nft.json +0 -1
  418. package/.next/server/app/api/git/stage/route_client-reference-manifest.js +0 -2
  419. package/.next/server/app/api/git/status/route/app-paths-manifest.json +0 -3
  420. package/.next/server/app/api/git/status/route/build-manifest.json +0 -11
  421. package/.next/server/app/api/git/status/route/server-reference-manifest.json +0 -4
  422. package/.next/server/app/api/git/status/route.js +0 -6
  423. package/.next/server/app/api/git/status/route.js.map +0 -5
  424. package/.next/server/app/api/git/status/route.js.nft.json +0 -1
  425. package/.next/server/app/api/git/status/route_client-reference-manifest.js +0 -2
  426. package/.next/server/app/api/language/definition/route/app-paths-manifest.json +0 -3
  427. package/.next/server/app/api/language/definition/route/build-manifest.json +0 -11
  428. package/.next/server/app/api/language/definition/route/server-reference-manifest.json +0 -4
  429. package/.next/server/app/api/language/definition/route.js +0 -7
  430. package/.next/server/app/api/language/definition/route.js.map +0 -5
  431. package/.next/server/app/api/language/definition/route.js.nft.json +0 -1
  432. package/.next/server/app/api/language/definition/route_client-reference-manifest.js +0 -2
  433. package/.next/server/app/api/projects/[id]/route/app-paths-manifest.json +0 -3
  434. package/.next/server/app/api/projects/[id]/route/build-manifest.json +0 -11
  435. package/.next/server/app/api/projects/[id]/route/server-reference-manifest.json +0 -4
  436. package/.next/server/app/api/projects/[id]/route.js +0 -7
  437. package/.next/server/app/api/projects/[id]/route.js.map +0 -5
  438. package/.next/server/app/api/projects/[id]/route.js.nft.json +0 -1
  439. package/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +0 -2
  440. package/.next/server/app/api/projects/[id]/settings/route/app-paths-manifest.json +0 -3
  441. package/.next/server/app/api/projects/[id]/settings/route/build-manifest.json +0 -11
  442. package/.next/server/app/api/projects/[id]/settings/route/server-reference-manifest.json +0 -4
  443. package/.next/server/app/api/projects/[id]/settings/route.js +0 -7
  444. package/.next/server/app/api/projects/[id]/settings/route.js.map +0 -5
  445. package/.next/server/app/api/projects/[id]/settings/route.js.nft.json +0 -1
  446. package/.next/server/app/api/projects/[id]/settings/route_client-reference-manifest.js +0 -2
  447. package/.next/server/app/api/projects/route/app-paths-manifest.json +0 -3
  448. package/.next/server/app/api/projects/route/build-manifest.json +0 -11
  449. package/.next/server/app/api/projects/route/server-reference-manifest.json +0 -4
  450. package/.next/server/app/api/projects/route.js +0 -7
  451. package/.next/server/app/api/projects/route.js.map +0 -5
  452. package/.next/server/app/api/projects/route.js.nft.json +0 -1
  453. package/.next/server/app/api/projects/route_client-reference-manifest.js +0 -2
  454. package/.next/server/app/api/search/content/route/app-paths-manifest.json +0 -3
  455. package/.next/server/app/api/search/content/route/build-manifest.json +0 -11
  456. package/.next/server/app/api/search/content/route/server-reference-manifest.json +0 -4
  457. package/.next/server/app/api/search/content/route.js +0 -6
  458. package/.next/server/app/api/search/content/route.js.map +0 -5
  459. package/.next/server/app/api/search/content/route.js.nft.json +0 -1
  460. package/.next/server/app/api/search/content/route_client-reference-manifest.js +0 -2
  461. package/.next/server/app/api/search/files/route/app-paths-manifest.json +0 -3
  462. package/.next/server/app/api/search/files/route/build-manifest.json +0 -11
  463. package/.next/server/app/api/search/files/route/server-reference-manifest.json +0 -4
  464. package/.next/server/app/api/search/files/route.js +0 -6
  465. package/.next/server/app/api/search/files/route.js.map +0 -5
  466. package/.next/server/app/api/search/files/route.js.nft.json +0 -1
  467. package/.next/server/app/api/search/files/route_client-reference-manifest.js +0 -2
  468. package/.next/server/app/api/shells/route/app-paths-manifest.json +0 -3
  469. package/.next/server/app/api/shells/route/build-manifest.json +0 -11
  470. package/.next/server/app/api/shells/route/server-reference-manifest.json +0 -4
  471. package/.next/server/app/api/shells/route.js +0 -7
  472. package/.next/server/app/api/shells/route.js.map +0 -5
  473. package/.next/server/app/api/shells/route.js.nft.json +0 -1
  474. package/.next/server/app/api/shells/route_client-reference-manifest.js +0 -2
  475. package/.next/server/app/api/tasks/[id]/attempts/route/app-paths-manifest.json +0 -3
  476. package/.next/server/app/api/tasks/[id]/attempts/route/build-manifest.json +0 -11
  477. package/.next/server/app/api/tasks/[id]/attempts/route/server-reference-manifest.json +0 -4
  478. package/.next/server/app/api/tasks/[id]/attempts/route.js +0 -7
  479. package/.next/server/app/api/tasks/[id]/attempts/route.js.map +0 -5
  480. package/.next/server/app/api/tasks/[id]/attempts/route.js.nft.json +0 -1
  481. package/.next/server/app/api/tasks/[id]/attempts/route_client-reference-manifest.js +0 -2
  482. package/.next/server/app/api/tasks/[id]/conversation/route/app-paths-manifest.json +0 -3
  483. package/.next/server/app/api/tasks/[id]/conversation/route/build-manifest.json +0 -11
  484. package/.next/server/app/api/tasks/[id]/conversation/route/server-reference-manifest.json +0 -4
  485. package/.next/server/app/api/tasks/[id]/conversation/route.js +0 -7
  486. package/.next/server/app/api/tasks/[id]/conversation/route.js.map +0 -5
  487. package/.next/server/app/api/tasks/[id]/conversation/route.js.nft.json +0 -1
  488. package/.next/server/app/api/tasks/[id]/conversation/route_client-reference-manifest.js +0 -2
  489. package/.next/server/app/api/tasks/[id]/route/app-paths-manifest.json +0 -3
  490. package/.next/server/app/api/tasks/[id]/route/build-manifest.json +0 -11
  491. package/.next/server/app/api/tasks/[id]/route/server-reference-manifest.json +0 -4
  492. package/.next/server/app/api/tasks/[id]/route.js +0 -7
  493. package/.next/server/app/api/tasks/[id]/route.js.map +0 -5
  494. package/.next/server/app/api/tasks/[id]/route.js.nft.json +0 -1
  495. package/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +0 -2
  496. package/.next/server/app/api/tasks/[id]/running-attempt/route/app-paths-manifest.json +0 -3
  497. package/.next/server/app/api/tasks/[id]/running-attempt/route/build-manifest.json +0 -11
  498. package/.next/server/app/api/tasks/[id]/running-attempt/route/server-reference-manifest.json +0 -4
  499. package/.next/server/app/api/tasks/[id]/running-attempt/route.js +0 -7
  500. package/.next/server/app/api/tasks/[id]/running-attempt/route.js.map +0 -5
  501. package/.next/server/app/api/tasks/[id]/running-attempt/route.js.nft.json +0 -1
  502. package/.next/server/app/api/tasks/[id]/running-attempt/route_client-reference-manifest.js +0 -2
  503. package/.next/server/app/api/tasks/reorder/route/app-paths-manifest.json +0 -3
  504. package/.next/server/app/api/tasks/reorder/route/build-manifest.json +0 -11
  505. package/.next/server/app/api/tasks/reorder/route/server-reference-manifest.json +0 -4
  506. package/.next/server/app/api/tasks/reorder/route.js +0 -7
  507. package/.next/server/app/api/tasks/reorder/route.js.map +0 -5
  508. package/.next/server/app/api/tasks/reorder/route.js.nft.json +0 -1
  509. package/.next/server/app/api/tasks/reorder/route_client-reference-manifest.js +0 -2
  510. package/.next/server/app/api/tasks/route/app-paths-manifest.json +0 -3
  511. package/.next/server/app/api/tasks/route/build-manifest.json +0 -11
  512. package/.next/server/app/api/tasks/route/server-reference-manifest.json +0 -4
  513. package/.next/server/app/api/tasks/route.js +0 -7
  514. package/.next/server/app/api/tasks/route.js.map +0 -5
  515. package/.next/server/app/api/tasks/route.js.nft.json +0 -1
  516. package/.next/server/app/api/tasks/route_client-reference-manifest.js +0 -2
  517. package/.next/server/app/api/uploads/[fileId]/route/app-paths-manifest.json +0 -3
  518. package/.next/server/app/api/uploads/[fileId]/route/build-manifest.json +0 -11
  519. package/.next/server/app/api/uploads/[fileId]/route/server-reference-manifest.json +0 -4
  520. package/.next/server/app/api/uploads/[fileId]/route.js +0 -6
  521. package/.next/server/app/api/uploads/[fileId]/route.js.map +0 -5
  522. package/.next/server/app/api/uploads/[fileId]/route.js.nft.json +0 -1
  523. package/.next/server/app/api/uploads/[fileId]/route_client-reference-manifest.js +0 -2
  524. package/.next/server/app/api/uploads/route/app-paths-manifest.json +0 -3
  525. package/.next/server/app/api/uploads/route/build-manifest.json +0 -11
  526. package/.next/server/app/api/uploads/route/server-reference-manifest.json +0 -4
  527. package/.next/server/app/api/uploads/route.js +0 -6
  528. package/.next/server/app/api/uploads/route.js.map +0 -5
  529. package/.next/server/app/api/uploads/route.js.nft.json +0 -1
  530. package/.next/server/app/api/uploads/route_client-reference-manifest.js +0 -2
  531. package/.next/server/app/index.html +0 -1
  532. package/.next/server/app/index.meta +0 -14
  533. package/.next/server/app/index.rsc +0 -24
  534. package/.next/server/app/index.segments/__PAGE__.segment.rsc +0 -10
  535. package/.next/server/app/index.segments/_full.segment.rsc +0 -24
  536. package/.next/server/app/index.segments/_head.segment.rsc +0 -6
  537. package/.next/server/app/index.segments/_index.segment.rsc +0 -8
  538. package/.next/server/app/index.segments/_tree.segment.rsc +0 -5
  539. package/.next/server/app/page/app-paths-manifest.json +0 -3
  540. package/.next/server/app/page/build-manifest.json +0 -16
  541. package/.next/server/app/page/next-font-manifest.json +0 -11
  542. package/.next/server/app/page/react-loadable-manifest.json +0 -1
  543. package/.next/server/app/page/server-reference-manifest.json +0 -4
  544. package/.next/server/app/page.js +0 -15
  545. package/.next/server/app/page.js.map +0 -5
  546. package/.next/server/app/page.js.nft.json +0 -1
  547. package/.next/server/app/page_client-reference-manifest.js +0 -2
  548. package/.next/server/app-paths-manifest.json +0 -63
  549. package/.next/server/chunks/1629d_next_dist_esm_build_templates_app-route_7f3518df.js +0 -3
  550. package/.next/server/chunks/1629d_next_dist_esm_build_templates_app-route_7f3518df.js.map +0 -1
  551. package/.next/server/chunks/1629d_next_dist_esm_build_templates_app-route_87db160f.js +0 -3
  552. package/.next/server/chunks/1629d_next_dist_esm_build_templates_app-route_87db160f.js.map +0 -1
  553. package/.next/server/chunks/1629d_next_dist_esm_build_templates_app-route_d0f43f92.js +0 -29
  554. package/.next/server/chunks/1629d_next_dist_esm_build_templates_app-route_d0f43f92.js.map +0 -1
  555. package/.next/server/chunks/1629d_next_dist_esm_build_templates_app-route_f971d239.js +0 -3
  556. package/.next/server/chunks/1629d_next_dist_esm_build_templates_app-route_f971d239.js.map +0 -1
  557. package/.next/server/chunks/[externals]__4072567c._.js +0 -3
  558. package/.next/server/chunks/[externals]__4072567c._.js.map +0 -1
  559. package/.next/server/chunks/[externals]__d608db8e._.js +0 -3
  560. package/.next/server/chunks/[externals]__d608db8e._.js.map +0 -1
  561. package/.next/server/chunks/[externals]_next_dist_a5a6c3e9._.js +0 -3
  562. package/.next/server/chunks/[externals]_next_dist_a5a6c3e9._.js.map +0 -1
  563. package/.next/server/chunks/[root-of-the-server]__0c5b2ee4._.js +0 -3
  564. package/.next/server/chunks/[root-of-the-server]__0c5b2ee4._.js.map +0 -1
  565. package/.next/server/chunks/[root-of-the-server]__11eacd42._.js +0 -3
  566. package/.next/server/chunks/[root-of-the-server]__11eacd42._.js.map +0 -1
  567. package/.next/server/chunks/[root-of-the-server]__15df9df8._.js +0 -3
  568. package/.next/server/chunks/[root-of-the-server]__15df9df8._.js.map +0 -1
  569. package/.next/server/chunks/[root-of-the-server]__1a886016._.js +0 -3
  570. package/.next/server/chunks/[root-of-the-server]__1a886016._.js.map +0 -1
  571. package/.next/server/chunks/[root-of-the-server]__1d5e1c57._.js +0 -3
  572. package/.next/server/chunks/[root-of-the-server]__1d5e1c57._.js.map +0 -1
  573. package/.next/server/chunks/[root-of-the-server]__1e91368a._.js +0 -3
  574. package/.next/server/chunks/[root-of-the-server]__1e91368a._.js.map +0 -1
  575. package/.next/server/chunks/[root-of-the-server]__2ce12b81._.js +0 -3
  576. package/.next/server/chunks/[root-of-the-server]__2ce12b81._.js.map +0 -1
  577. package/.next/server/chunks/[root-of-the-server]__2d574458._.js +0 -3
  578. package/.next/server/chunks/[root-of-the-server]__2d574458._.js.map +0 -1
  579. package/.next/server/chunks/[root-of-the-server]__336b3499._.js +0 -3
  580. package/.next/server/chunks/[root-of-the-server]__336b3499._.js.map +0 -1
  581. package/.next/server/chunks/[root-of-the-server]__3486266a._.js +0 -3
  582. package/.next/server/chunks/[root-of-the-server]__3486266a._.js.map +0 -1
  583. package/.next/server/chunks/[root-of-the-server]__37d1b8df._.js +0 -3
  584. package/.next/server/chunks/[root-of-the-server]__37d1b8df._.js.map +0 -1
  585. package/.next/server/chunks/[root-of-the-server]__3804cdd5._.js +0 -48
  586. package/.next/server/chunks/[root-of-the-server]__3804cdd5._.js.map +0 -1
  587. package/.next/server/chunks/[root-of-the-server]__3a0c03b8._.js +0 -3
  588. package/.next/server/chunks/[root-of-the-server]__3a0c03b8._.js.map +0 -1
  589. package/.next/server/chunks/[root-of-the-server]__3dfc3c93._.js +0 -3
  590. package/.next/server/chunks/[root-of-the-server]__3dfc3c93._.js.map +0 -1
  591. package/.next/server/chunks/[root-of-the-server]__3eaf5c1d._.js +0 -3
  592. package/.next/server/chunks/[root-of-the-server]__3eaf5c1d._.js.map +0 -1
  593. package/.next/server/chunks/[root-of-the-server]__3eb587a1._.js +0 -3
  594. package/.next/server/chunks/[root-of-the-server]__3eb587a1._.js.map +0 -1
  595. package/.next/server/chunks/[root-of-the-server]__428ddd8e._.js +0 -3
  596. package/.next/server/chunks/[root-of-the-server]__428ddd8e._.js.map +0 -1
  597. package/.next/server/chunks/[root-of-the-server]__45751fbc._.js +0 -3
  598. package/.next/server/chunks/[root-of-the-server]__45751fbc._.js.map +0 -1
  599. package/.next/server/chunks/[root-of-the-server]__461ea613._.js +0 -21
  600. package/.next/server/chunks/[root-of-the-server]__461ea613._.js.map +0 -1
  601. package/.next/server/chunks/[root-of-the-server]__47d0dc49._.js +0 -3
  602. package/.next/server/chunks/[root-of-the-server]__47d0dc49._.js.map +0 -1
  603. package/.next/server/chunks/[root-of-the-server]__47df304a._.js +0 -3
  604. package/.next/server/chunks/[root-of-the-server]__47df304a._.js.map +0 -1
  605. package/.next/server/chunks/[root-of-the-server]__50b80fc2._.js +0 -3
  606. package/.next/server/chunks/[root-of-the-server]__50b80fc2._.js.map +0 -1
  607. package/.next/server/chunks/[root-of-the-server]__5bc9ae4f._.js +0 -3
  608. package/.next/server/chunks/[root-of-the-server]__5bc9ae4f._.js.map +0 -1
  609. package/.next/server/chunks/[root-of-the-server]__5c07e339._.js +0 -3
  610. package/.next/server/chunks/[root-of-the-server]__5c07e339._.js.map +0 -1
  611. package/.next/server/chunks/[root-of-the-server]__5d749164._.js +0 -3
  612. package/.next/server/chunks/[root-of-the-server]__5d749164._.js.map +0 -1
  613. package/.next/server/chunks/[root-of-the-server]__5f8a9f83._.js +0 -3
  614. package/.next/server/chunks/[root-of-the-server]__5f8a9f83._.js.map +0 -1
  615. package/.next/server/chunks/[root-of-the-server]__63e9cc3f._.js +0 -3
  616. package/.next/server/chunks/[root-of-the-server]__63e9cc3f._.js.map +0 -1
  617. package/.next/server/chunks/[root-of-the-server]__641ac113._.js +0 -3
  618. package/.next/server/chunks/[root-of-the-server]__641ac113._.js.map +0 -1
  619. package/.next/server/chunks/[root-of-the-server]__64cbc1c0._.js +0 -3
  620. package/.next/server/chunks/[root-of-the-server]__64cbc1c0._.js.map +0 -1
  621. package/.next/server/chunks/[root-of-the-server]__6b3d2700._.js +0 -3
  622. package/.next/server/chunks/[root-of-the-server]__6b3d2700._.js.map +0 -1
  623. package/.next/server/chunks/[root-of-the-server]__71c14167._.js +0 -3
  624. package/.next/server/chunks/[root-of-the-server]__71c14167._.js.map +0 -1
  625. package/.next/server/chunks/[root-of-the-server]__76a41c51._.js +0 -3
  626. package/.next/server/chunks/[root-of-the-server]__76a41c51._.js.map +0 -1
  627. package/.next/server/chunks/[root-of-the-server]__7a8350b3._.js +0 -167
  628. package/.next/server/chunks/[root-of-the-server]__7a8350b3._.js.map +0 -1
  629. package/.next/server/chunks/[root-of-the-server]__7c01d5a7._.js +0 -3
  630. package/.next/server/chunks/[root-of-the-server]__7c01d5a7._.js.map +0 -1
  631. package/.next/server/chunks/[root-of-the-server]__80813c7c._.js +0 -6
  632. package/.next/server/chunks/[root-of-the-server]__80813c7c._.js.map +0 -1
  633. package/.next/server/chunks/[root-of-the-server]__8314d1bf._.js +0 -3
  634. package/.next/server/chunks/[root-of-the-server]__8314d1bf._.js.map +0 -1
  635. package/.next/server/chunks/[root-of-the-server]__860f66b5._.js +0 -3
  636. package/.next/server/chunks/[root-of-the-server]__860f66b5._.js.map +0 -1
  637. package/.next/server/chunks/[root-of-the-server]__87981ec9._.js +0 -3
  638. package/.next/server/chunks/[root-of-the-server]__87981ec9._.js.map +0 -1
  639. package/.next/server/chunks/[root-of-the-server]__92f7c8f6._.js +0 -28
  640. package/.next/server/chunks/[root-of-the-server]__92f7c8f6._.js.map +0 -1
  641. package/.next/server/chunks/[root-of-the-server]__97f7772e._.js +0 -3
  642. package/.next/server/chunks/[root-of-the-server]__97f7772e._.js.map +0 -1
  643. package/.next/server/chunks/[root-of-the-server]__aa8bd6a9._.js +0 -3
  644. package/.next/server/chunks/[root-of-the-server]__aa8bd6a9._.js.map +0 -1
  645. package/.next/server/chunks/[root-of-the-server]__bec48c3d._.js +0 -3
  646. package/.next/server/chunks/[root-of-the-server]__bec48c3d._.js.map +0 -1
  647. package/.next/server/chunks/[root-of-the-server]__c07f1810._.js +0 -3
  648. package/.next/server/chunks/[root-of-the-server]__c07f1810._.js.map +0 -1
  649. package/.next/server/chunks/[root-of-the-server]__c3b48f32._.js +0 -3
  650. package/.next/server/chunks/[root-of-the-server]__c3b48f32._.js.map +0 -1
  651. package/.next/server/chunks/[root-of-the-server]__c72e12f6._.js +0 -3
  652. package/.next/server/chunks/[root-of-the-server]__c72e12f6._.js.map +0 -1
  653. package/.next/server/chunks/[root-of-the-server]__c9d9aca4._.js +0 -3
  654. package/.next/server/chunks/[root-of-the-server]__c9d9aca4._.js.map +0 -1
  655. package/.next/server/chunks/[root-of-the-server]__caa3caf0._.js +0 -3
  656. package/.next/server/chunks/[root-of-the-server]__caa3caf0._.js.map +0 -1
  657. package/.next/server/chunks/[root-of-the-server]__cbf10cfc._.js +0 -3
  658. package/.next/server/chunks/[root-of-the-server]__cbf10cfc._.js.map +0 -1
  659. package/.next/server/chunks/[root-of-the-server]__d1324f2a._.js +0 -3
  660. package/.next/server/chunks/[root-of-the-server]__d1324f2a._.js.map +0 -1
  661. package/.next/server/chunks/[root-of-the-server]__d50de07c._.js +0 -3
  662. package/.next/server/chunks/[root-of-the-server]__d50de07c._.js.map +0 -1
  663. package/.next/server/chunks/[root-of-the-server]__d5f29ba1._.js +0 -3
  664. package/.next/server/chunks/[root-of-the-server]__d5f29ba1._.js.map +0 -1
  665. package/.next/server/chunks/[root-of-the-server]__d6fb8f9f._.js +0 -3
  666. package/.next/server/chunks/[root-of-the-server]__d6fb8f9f._.js.map +0 -1
  667. package/.next/server/chunks/[root-of-the-server]__dc838a6e._.js +0 -3
  668. package/.next/server/chunks/[root-of-the-server]__dc838a6e._.js.map +0 -1
  669. package/.next/server/chunks/[root-of-the-server]__e5d2d217._.js +0 -3
  670. package/.next/server/chunks/[root-of-the-server]__e5d2d217._.js.map +0 -1
  671. package/.next/server/chunks/[root-of-the-server]__e678648f._.js +0 -3
  672. package/.next/server/chunks/[root-of-the-server]__e678648f._.js.map +0 -1
  673. package/.next/server/chunks/[root-of-the-server]__e7c7a17c._.js +0 -3
  674. package/.next/server/chunks/[root-of-the-server]__e7c7a17c._.js.map +0 -1
  675. package/.next/server/chunks/[root-of-the-server]__eb146d9c._.js +0 -3
  676. package/.next/server/chunks/[root-of-the-server]__eb146d9c._.js.map +0 -1
  677. package/.next/server/chunks/[root-of-the-server]__ec05bd29._.js +0 -3
  678. package/.next/server/chunks/[root-of-the-server]__ec05bd29._.js.map +0 -1
  679. package/.next/server/chunks/[root-of-the-server]__ef4a326d._.js +0 -3
  680. package/.next/server/chunks/[root-of-the-server]__ef4a326d._.js.map +0 -1
  681. package/.next/server/chunks/[root-of-the-server]__f282d9f3._.js +0 -3
  682. package/.next/server/chunks/[root-of-the-server]__f282d9f3._.js.map +0 -1
  683. package/.next/server/chunks/[root-of-the-server]__f7f94bc8._.js +0 -3
  684. package/.next/server/chunks/[root-of-the-server]__f7f94bc8._.js.map +0 -1
  685. package/.next/server/chunks/[root-of-the-server]__ff36f1f6._.js +0 -3
  686. package/.next/server/chunks/[root-of-the-server]__ff36f1f6._.js.map +0 -1
  687. package/.next/server/chunks/[turbopack]_runtime.js +0 -795
  688. package/.next/server/chunks/[turbopack]_runtime.js.map +0 -10
  689. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_compare_route_actions_76cd7807.js +0 -3
  690. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_compare_route_actions_76cd7807.js.map +0 -1
  691. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_dependencies_route_actions_edea113f.js +0 -3
  692. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_dependencies_route_actions_edea113f.js.map +0 -1
  693. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_discover_route_actions_bd4988b8.js +0 -3
  694. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_discover_route_actions_bd4988b8.js.map +0 -1
  695. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_file-content_route_actions_f9e523f7.js +0 -3
  696. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_file-content_route_actions_f9e523f7.js.map +0 -1
  697. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_files_route_actions_0fdd74fe.js +0 -3
  698. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_files_route_actions_0fdd74fe.js.map +0 -1
  699. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_import_route_actions_e7f195ea.js +0 -3
  700. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_import_route_actions_e7f195ea.js.map +0 -1
  701. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_plugins_[id]_route_actions_c771b446.js +0 -3
  702. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_plugins_[id]_route_actions_c771b446.js.map +0 -1
  703. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_plugins_route_actions_ca36b805.js +0 -3
  704. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_plugins_route_actions_ca36b805.js.map +0 -1
  705. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_upload_cancel_route_actions_0c73c446.js +0 -3
  706. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_upload_cancel_route_actions_0c73c446.js.map +0 -1
  707. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_upload_route_actions_44b233df.js +0 -3
  708. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_upload_route_actions_44b233df.js.map +0 -1
  709. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_upload_update_route_actions_2cfd6e53.js +0 -3
  710. package/.next/server/chunks/_next-internal_server_app_api_agent-factory_upload_update_route_actions_2cfd6e53.js.map +0 -1
  711. package/.next/server/chunks/_next-internal_server_app_api_attempts_[id]_route_actions_1cd38b24.js +0 -3
  712. package/.next/server/chunks/_next-internal_server_app_api_attempts_[id]_route_actions_1cd38b24.js.map +0 -1
  713. package/.next/server/chunks/_next-internal_server_app_api_attempts_[id]_status_route_actions_5ee26441.js +0 -3
  714. package/.next/server/chunks/_next-internal_server_app_api_attempts_[id]_status_route_actions_5ee26441.js.map +0 -1
  715. package/.next/server/chunks/_next-internal_server_app_api_attempts_route_actions_3482fc3e.js +0 -3
  716. package/.next/server/chunks/_next-internal_server_app_api_attempts_route_actions_3482fc3e.js.map +0 -1
  717. package/.next/server/chunks/_next-internal_server_app_api_auth_verify_route_actions_bc110aab.js +0 -3
  718. package/.next/server/chunks/_next-internal_server_app_api_auth_verify_route_actions_bc110aab.js.map +0 -1
  719. package/.next/server/chunks/_next-internal_server_app_api_checkpoints_backfill_route_actions_f59b2204.js +0 -3
  720. package/.next/server/chunks/_next-internal_server_app_api_checkpoints_backfill_route_actions_f59b2204.js.map +0 -1
  721. package/.next/server/chunks/_next-internal_server_app_api_checkpoints_rewind_route_actions_285b3b02.js +0 -3
  722. package/.next/server/chunks/_next-internal_server_app_api_checkpoints_rewind_route_actions_285b3b02.js.map +0 -1
  723. package/.next/server/chunks/_next-internal_server_app_api_checkpoints_route_actions_aee76cdc.js +0 -3
  724. package/.next/server/chunks/_next-internal_server_app_api_checkpoints_route_actions_aee76cdc.js.map +0 -1
  725. package/.next/server/chunks/_next-internal_server_app_api_code_inline-edit_route_actions_d9bee6ec.js +0 -3
  726. package/.next/server/chunks/_next-internal_server_app_api_code_inline-edit_route_actions_d9bee6ec.js.map +0 -1
  727. package/.next/server/chunks/_next-internal_server_app_api_commands_[name]_route_actions_e51eba81.js +0 -3
  728. package/.next/server/chunks/_next-internal_server_app_api_commands_[name]_route_actions_e51eba81.js.map +0 -1
  729. package/.next/server/chunks/_next-internal_server_app_api_commands_route_actions_da85cbf8.js +0 -3
  730. package/.next/server/chunks/_next-internal_server_app_api_commands_route_actions_da85cbf8.js.map +0 -1
  731. package/.next/server/chunks/_next-internal_server_app_api_files_content_route_actions_3aa71c9d.js +0 -3
  732. package/.next/server/chunks/_next-internal_server_app_api_files_content_route_actions_3aa71c9d.js.map +0 -1
  733. package/.next/server/chunks/_next-internal_server_app_api_files_route_actions_c1531a43.js +0 -3
  734. package/.next/server/chunks/_next-internal_server_app_api_files_route_actions_c1531a43.js.map +0 -1
  735. package/.next/server/chunks/_next-internal_server_app_api_filesystem_route_actions_4d8f988e.js +0 -3
  736. package/.next/server/chunks/_next-internal_server_app_api_filesystem_route_actions_4d8f988e.js.map +0 -1
  737. package/.next/server/chunks/_next-internal_server_app_api_git_commit_route_actions_c12702c3.js +0 -3
  738. package/.next/server/chunks/_next-internal_server_app_api_git_commit_route_actions_c12702c3.js.map +0 -1
  739. package/.next/server/chunks/_next-internal_server_app_api_git_diff_route_actions_7bd2d341.js +0 -3
  740. package/.next/server/chunks/_next-internal_server_app_api_git_diff_route_actions_7bd2d341.js.map +0 -1
  741. package/.next/server/chunks/_next-internal_server_app_api_git_discard_route_actions_96264d44.js +0 -3
  742. package/.next/server/chunks/_next-internal_server_app_api_git_discard_route_actions_96264d44.js.map +0 -1
  743. package/.next/server/chunks/_next-internal_server_app_api_git_fetch_route_actions_f4035a10.js +0 -3
  744. package/.next/server/chunks/_next-internal_server_app_api_git_fetch_route_actions_f4035a10.js.map +0 -1
  745. package/.next/server/chunks/_next-internal_server_app_api_git_log_route_actions_1660bf04.js +0 -3
  746. package/.next/server/chunks/_next-internal_server_app_api_git_log_route_actions_1660bf04.js.map +0 -1
  747. package/.next/server/chunks/_next-internal_server_app_api_git_pull_route_actions_4f75728a.js +0 -3
  748. package/.next/server/chunks/_next-internal_server_app_api_git_pull_route_actions_4f75728a.js.map +0 -1
  749. package/.next/server/chunks/_next-internal_server_app_api_git_push_route_actions_a8ae877a.js +0 -3
  750. package/.next/server/chunks/_next-internal_server_app_api_git_push_route_actions_a8ae877a.js.map +0 -1
  751. package/.next/server/chunks/_next-internal_server_app_api_git_stage_route_actions_9840fcb2.js +0 -3
  752. package/.next/server/chunks/_next-internal_server_app_api_git_stage_route_actions_9840fcb2.js.map +0 -1
  753. package/.next/server/chunks/_next-internal_server_app_api_git_status_route_actions_71f3da53.js +0 -3
  754. package/.next/server/chunks/_next-internal_server_app_api_git_status_route_actions_71f3da53.js.map +0 -1
  755. package/.next/server/chunks/_next-internal_server_app_api_language_definition_route_actions_729bc015.js +0 -3
  756. package/.next/server/chunks/_next-internal_server_app_api_language_definition_route_actions_729bc015.js.map +0 -1
  757. package/.next/server/chunks/_next-internal_server_app_api_projects_[id]_route_actions_6fd2e5a5.js +0 -3
  758. package/.next/server/chunks/_next-internal_server_app_api_projects_[id]_route_actions_6fd2e5a5.js.map +0 -1
  759. package/.next/server/chunks/_next-internal_server_app_api_projects_[id]_settings_route_actions_5723c8b3.js +0 -3
  760. package/.next/server/chunks/_next-internal_server_app_api_projects_[id]_settings_route_actions_5723c8b3.js.map +0 -1
  761. package/.next/server/chunks/_next-internal_server_app_api_projects_route_actions_38c611ee.js +0 -3
  762. package/.next/server/chunks/_next-internal_server_app_api_projects_route_actions_38c611ee.js.map +0 -1
  763. package/.next/server/chunks/_next-internal_server_app_api_search_content_route_actions_3599d39f.js +0 -3
  764. package/.next/server/chunks/_next-internal_server_app_api_search_content_route_actions_3599d39f.js.map +0 -1
  765. package/.next/server/chunks/_next-internal_server_app_api_search_files_route_actions_e0505b8a.js +0 -3
  766. package/.next/server/chunks/_next-internal_server_app_api_search_files_route_actions_e0505b8a.js.map +0 -1
  767. package/.next/server/chunks/_next-internal_server_app_api_shells_route_actions_b6902a55.js +0 -3
  768. package/.next/server/chunks/_next-internal_server_app_api_shells_route_actions_b6902a55.js.map +0 -1
  769. package/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_attempts_route_actions_22c92124.js +0 -3
  770. package/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_attempts_route_actions_22c92124.js.map +0 -1
  771. package/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_conversation_route_actions_afe0e058.js +0 -3
  772. package/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_conversation_route_actions_afe0e058.js.map +0 -1
  773. package/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_route_actions_8de83605.js +0 -3
  774. package/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_route_actions_8de83605.js.map +0 -1
  775. package/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_running-attempt_route_actions_ec4e9aa2.js +0 -3
  776. package/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_running-attempt_route_actions_ec4e9aa2.js.map +0 -1
  777. package/.next/server/chunks/_next-internal_server_app_api_tasks_reorder_route_actions_db1e1750.js +0 -3
  778. package/.next/server/chunks/_next-internal_server_app_api_tasks_reorder_route_actions_db1e1750.js.map +0 -1
  779. package/.next/server/chunks/_next-internal_server_app_api_tasks_route_actions_84c37746.js +0 -3
  780. package/.next/server/chunks/_next-internal_server_app_api_tasks_route_actions_84c37746.js.map +0 -1
  781. package/.next/server/chunks/_next-internal_server_app_api_uploads_[fileId]_route_actions_a722bc8f.js +0 -3
  782. package/.next/server/chunks/_next-internal_server_app_api_uploads_[fileId]_route_actions_a722bc8f.js.map +0 -1
  783. package/.next/server/chunks/_next-internal_server_app_api_uploads_route_actions_6a0a9d56.js +0 -3
  784. package/.next/server/chunks/_next-internal_server_app_api_uploads_route_actions_6a0a9d56.js.map +0 -1
  785. package/.next/server/chunks/bec2d_app_api_agent-factory_plugins_[id]_files_[___path]_route_actions_8d6d2258.js +0 -3
  786. package/.next/server/chunks/bec2d_app_api_agent-factory_plugins_[id]_files_[___path]_route_actions_8d6d2258.js.map +0 -1
  787. package/.next/server/chunks/bec2d_app_api_agent-factory_projects_[projectId]_components_route_actions_d1e2a1d6.js +0 -3
  788. package/.next/server/chunks/bec2d_app_api_agent-factory_projects_[projectId]_components_route_actions_d1e2a1d6.js.map +0 -1
  789. package/.next/server/chunks/bec2d_app_api_agent-factory_projects_[projectId]_installed_route_actions_a2f06da9.js +0 -3
  790. package/.next/server/chunks/bec2d_app_api_agent-factory_projects_[projectId]_installed_route_actions_a2f06da9.js.map +0 -1
  791. package/.next/server/chunks/bec2d_app_api_agent-factory_projects_[projectId]_plugins_route_actions_d3b9626c.js +0 -3
  792. package/.next/server/chunks/bec2d_app_api_agent-factory_projects_[projectId]_plugins_route_actions_d3b9626c.js.map +0 -1
  793. package/.next/server/chunks/bec2d_app_api_agent-factory_projects_[projectId]_uninstall_route_actions_38c3f082.js +0 -3
  794. package/.next/server/chunks/bec2d_app_api_agent-factory_projects_[projectId]_uninstall_route_actions_38c3f082.js.map +0 -1
  795. package/.next/server/chunks/ce889_server_app_api_agent-factory_dependencies_[id]_install_route_actions_8095b51d.js +0 -3
  796. package/.next/server/chunks/ce889_server_app_api_agent-factory_dependencies_[id]_install_route_actions_8095b51d.js.map +0 -1
  797. package/.next/server/chunks/ce889_server_app_api_agent-factory_plugins_[id]_dependencies_route_actions_19799be8.js +0 -3
  798. package/.next/server/chunks/ce889_server_app_api_agent-factory_plugins_[id]_dependencies_route_actions_19799be8.js.map +0 -1
  799. package/.next/server/chunks/ce889_server_app_api_agent-factory_plugins_[id]_files_route_actions_271a6a52.js +0 -3
  800. package/.next/server/chunks/ce889_server_app_api_agent-factory_plugins_[id]_files_route_actions_271a6a52.js.map +0 -1
  801. package/.next/server/chunks/ce889_server_app_api_agent-factory_plugins_[id]_files_save_route_actions_a4a337a3.js +0 -3
  802. package/.next/server/chunks/ce889_server_app_api_agent-factory_plugins_[id]_files_save_route_actions_a4a337a3.js.map +0 -1
  803. package/.next/server/chunks/ce889_server_app_api_agent-factory_projects_[projectId]_sync_route_actions_893d9f1a.js +0 -3
  804. package/.next/server/chunks/ce889_server_app_api_agent-factory_projects_[projectId]_sync_route_actions_893d9f1a.js.map +0 -1
  805. package/.next/server/chunks/src_lib_691c7a0b._.js +0 -78
  806. package/.next/server/chunks/src_lib_691c7a0b._.js.map +0 -1
  807. package/.next/server/chunks/src_lib_7a63d675._.js +0 -78
  808. package/.next/server/chunks/src_lib_7a63d675._.js.map +0 -1
  809. package/.next/server/chunks/ssr/1629d_next_dist_1a21bde7._.js +0 -6
  810. package/.next/server/chunks/ssr/1629d_next_dist_1a21bde7._.js.map +0 -1
  811. package/.next/server/chunks/ssr/1629d_next_dist_261c12c5._.js +0 -3
  812. package/.next/server/chunks/ssr/1629d_next_dist_261c12c5._.js.map +0 -1
  813. package/.next/server/chunks/ssr/1629d_next_dist_45d7feff._.js +0 -3
  814. package/.next/server/chunks/ssr/1629d_next_dist_45d7feff._.js.map +0 -1
  815. package/.next/server/chunks/ssr/1629d_next_dist_714ae2b8._.js +0 -4
  816. package/.next/server/chunks/ssr/1629d_next_dist_714ae2b8._.js.map +0 -1
  817. package/.next/server/chunks/ssr/1629d_next_dist_cf8878b5._.js +0 -10
  818. package/.next/server/chunks/ssr/1629d_next_dist_cf8878b5._.js.map +0 -1
  819. package/.next/server/chunks/ssr/1629d_next_dist_client_components_b01b33e4._.js +0 -3
  820. package/.next/server/chunks/ssr/1629d_next_dist_client_components_b01b33e4._.js.map +0 -1
  821. package/.next/server/chunks/ssr/1629d_next_dist_client_components_builtin_forbidden_4cab2078.js +0 -3
  822. package/.next/server/chunks/ssr/1629d_next_dist_client_components_builtin_forbidden_4cab2078.js.map +0 -1
  823. package/.next/server/chunks/ssr/1629d_next_dist_client_components_builtin_global-error_0d5cb623.js +0 -3
  824. package/.next/server/chunks/ssr/1629d_next_dist_client_components_builtin_global-error_0d5cb623.js.map +0 -1
  825. package/.next/server/chunks/ssr/1629d_next_dist_client_components_builtin_unauthorized_b8fbdcad.js +0 -3
  826. package/.next/server/chunks/ssr/1629d_next_dist_client_components_builtin_unauthorized_b8fbdcad.js.map +0 -1
  827. package/.next/server/chunks/ssr/1629d_next_dist_esm_build_templates_app-page_60bd0c9e.js +0 -4
  828. package/.next/server/chunks/ssr/1629d_next_dist_esm_build_templates_app-page_60bd0c9e.js.map +0 -1
  829. package/.next/server/chunks/ssr/[externals]__b679cb25._.js +0 -3
  830. package/.next/server/chunks/ssr/[externals]__b679cb25._.js.map +0 -1
  831. package/.next/server/chunks/ssr/[root-of-the-server]__0a46a5a0._.js +0 -12
  832. package/.next/server/chunks/ssr/[root-of-the-server]__0a46a5a0._.js.map +0 -1
  833. package/.next/server/chunks/ssr/[root-of-the-server]__2659bb8d._.js +0 -3
  834. package/.next/server/chunks/ssr/[root-of-the-server]__2659bb8d._.js.map +0 -1
  835. package/.next/server/chunks/ssr/[root-of-the-server]__40b35495._.js +0 -3
  836. package/.next/server/chunks/ssr/[root-of-the-server]__40b35495._.js.map +0 -1
  837. package/.next/server/chunks/ssr/[root-of-the-server]__4ff41ba3._.js +0 -4
  838. package/.next/server/chunks/ssr/[root-of-the-server]__4ff41ba3._.js.map +0 -1
  839. package/.next/server/chunks/ssr/[root-of-the-server]__5c5f28a2._.js +0 -3
  840. package/.next/server/chunks/ssr/[root-of-the-server]__5c5f28a2._.js.map +0 -1
  841. package/.next/server/chunks/ssr/[root-of-the-server]__b7bb8dc9._.js +0 -4
  842. package/.next/server/chunks/ssr/[root-of-the-server]__b7bb8dc9._.js.map +0 -1
  843. package/.next/server/chunks/ssr/[root-of-the-server]__bcad7ffd._.js +0 -3
  844. package/.next/server/chunks/ssr/[root-of-the-server]__bcad7ffd._.js.map +0 -1
  845. package/.next/server/chunks/ssr/[root-of-the-server]__cc0d50a4._.js +0 -3
  846. package/.next/server/chunks/ssr/[root-of-the-server]__cc0d50a4._.js.map +0 -1
  847. package/.next/server/chunks/ssr/[root-of-the-server]__d079898e._.js +0 -3
  848. package/.next/server/chunks/ssr/[root-of-the-server]__d079898e._.js.map +0 -1
  849. package/.next/server/chunks/ssr/[root-of-the-server]__dea92ff1._.js +0 -3
  850. package/.next/server/chunks/ssr/[root-of-the-server]__dea92ff1._.js.map +0 -1
  851. package/.next/server/chunks/ssr/[root-of-the-server]__e3adb25a._.js +0 -3
  852. package/.next/server/chunks/ssr/[root-of-the-server]__e3adb25a._.js.map +0 -1
  853. package/.next/server/chunks/ssr/[turbopack]_runtime.js +0 -795
  854. package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +0 -10
  855. package/.next/server/chunks/ssr/_5aae361b._.js +0 -4
  856. package/.next/server/chunks/ssr/_5aae361b._.js.map +0 -1
  857. package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_75761787.js +0 -3
  858. package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_75761787.js.map +0 -1
  859. package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_554ec2bf.js +0 -3
  860. package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_554ec2bf.js.map +0 -1
  861. package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_39d4fc33.js +0 -3
  862. package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_39d4fc33.js.map +0 -1
  863. package/.next/server/functions-config-manifest.json +0 -14
  864. package/.next/server/interception-route-rewrite-manifest.js +0 -1
  865. package/.next/server/middleware/middleware-manifest.json +0 -6
  866. package/.next/server/middleware-build-manifest.js +0 -20
  867. package/.next/server/middleware-manifest.json +0 -6
  868. package/.next/server/middleware.js +0 -5
  869. package/.next/server/middleware.js.map +0 -5
  870. package/.next/server/middleware.js.nft.json +0 -1
  871. package/.next/server/next-font-manifest.js +0 -1
  872. package/.next/server/next-font-manifest.json +0 -15
  873. package/.next/server/pages/404.html +0 -1
  874. package/.next/server/pages/500.html +0 -2
  875. package/.next/server/pages-manifest.json +0 -4
  876. package/.next/server/server-reference-manifest.js +0 -1
  877. package/.next/server/server-reference-manifest.json +0 -5
  878. package/.next/static/M0QpeOSZqP6kda6dfIh_d/_buildManifest.js +0 -11
  879. package/.next/static/M0QpeOSZqP6kda6dfIh_d/_clientMiddlewareManifest.json +0 -6
  880. package/.next/static/M0QpeOSZqP6kda6dfIh_d/_ssgManifest.js +0 -1
  881. package/.next/static/chunks/16f1e483741393f5.js +0 -1
  882. package/.next/static/chunks/1d3be43a6dda29b7.js +0 -1
  883. package/.next/static/chunks/309755c4157a0ac6.js +0 -1
  884. package/.next/static/chunks/45e542b417a9edf3.js +0 -10
  885. package/.next/static/chunks/483a12865e0bba97.js +0 -1
  886. package/.next/static/chunks/892d92264522ed23.css +0 -3
  887. package/.next/static/chunks/8ccfeb8a3dfade86.js +0 -5
  888. package/.next/static/chunks/a6dad97d9634a72d.js +0 -1
  889. package/.next/static/chunks/a6dad97d9634a72d.js.map +0 -1
  890. package/.next/static/chunks/b9ef641e76e3a351.css +0 -1
  891. package/.next/static/chunks/cb6a2546affa4059.js +0 -1
  892. package/.next/static/chunks/d7fed4494911480a.js +0 -1
  893. package/.next/static/chunks/db7701382df94964.js +0 -1
  894. package/.next/static/chunks/turbopack-8113cc597994ae7a.js +0 -4
  895. package/.next/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
  896. package/.next/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
  897. package/.next/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
  898. package/.next/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
  899. package/.next/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
  900. package/.next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
  901. package/.next/trace +0 -2
  902. package/.next/trace-build +0 -1
  903. package/.next/turbopack +0 -0
  904. package/.next/types/routes.d.ts +0 -130
  905. package/.next/types/validator.ts +0 -592
@@ -0,0 +1,293 @@
1
+ import { NextRequest, NextResponse } from 'next/server';
2
+ import { execFile } from 'child_process';
3
+ import { promisify } from 'util';
4
+ import path from 'path';
5
+ import fs from 'fs';
6
+ import { query } from '@anthropic-ai/claude-agent-sdk';
7
+
8
+ const execFileAsync = promisify(execFile);
9
+
10
+ // Timeout for git commands (5 seconds)
11
+ const GIT_TIMEOUT = 5000;
12
+
13
+ // POST /api/git/generate-message
14
+ export async function POST(request: NextRequest) {
15
+ try {
16
+ const body = await request.json();
17
+ const { projectPath } = body;
18
+
19
+ if (!projectPath) {
20
+ return NextResponse.json(
21
+ { error: 'projectPath is required' },
22
+ { status: 400 }
23
+ );
24
+ }
25
+
26
+ // Validate project path exists and is a directory
27
+ const resolvedPath = path.resolve(projectPath);
28
+ if (!fs.existsSync(resolvedPath) || !fs.statSync(resolvedPath).isDirectory()) {
29
+ return NextResponse.json(
30
+ { error: 'Invalid project path' },
31
+ { status: 400 }
32
+ );
33
+ }
34
+
35
+ // Check if it's a git repository by running git status
36
+ try {
37
+ await execFileAsync('git', ['status'], {
38
+ cwd: resolvedPath,
39
+ timeout: GIT_TIMEOUT,
40
+ });
41
+ } catch (error) {
42
+ return NextResponse.json(
43
+ { error: 'Not a git repository' },
44
+ { status: 400 }
45
+ );
46
+ }
47
+
48
+ // Get diff of all changes (both staged and unstaged)
49
+ let diffOutput: string;
50
+ try {
51
+ // First get staged changes
52
+ const { stdout: stagedDiff } = await execFileAsync('git', ['diff', '--cached'], {
53
+ cwd: resolvedPath,
54
+ maxBuffer: 10 * 1024 * 1024, // 10MB buffer for large diffs
55
+ timeout: GIT_TIMEOUT,
56
+ });
57
+
58
+ // Then get unstaged changes
59
+ const { stdout: unstagedDiff } = await execFileAsync('git', ['diff'], {
60
+ cwd: resolvedPath,
61
+ maxBuffer: 10 * 1024 * 1024,
62
+ timeout: GIT_TIMEOUT,
63
+ });
64
+
65
+ // Combine both diffs
66
+ diffOutput = stagedDiff + unstagedDiff;
67
+ } catch (error) {
68
+ const err = error as { code?: string; message?: string };
69
+ if (err.code === 'ETIMEDOUT') {
70
+ return NextResponse.json(
71
+ { error: 'Git command timed out' },
72
+ { status: 504 }
73
+ );
74
+ }
75
+ console.error('Error getting git diff:', error);
76
+ return NextResponse.json(
77
+ { error: 'Failed to get git diff' },
78
+ { status: 500 }
79
+ );
80
+ }
81
+
82
+ // Check if there are any changes
83
+ if (!diffOutput || diffOutput.trim().length === 0) {
84
+ return NextResponse.json(
85
+ { error: 'No changes to generate commit message for' },
86
+ { status: 400 }
87
+ );
88
+ }
89
+
90
+ // Count additions and deletions
91
+ const { additions, deletions } = countDiffStats(diffOutput);
92
+
93
+ // Build prompt for Claude
94
+ const prompt = buildCommitMessagePrompt(diffOutput);
95
+
96
+ // Call Claude SDK to generate commit message
97
+ try {
98
+ const response = query({
99
+ prompt,
100
+ options: {
101
+ cwd: resolvedPath,
102
+ model: 'sonnet',
103
+ permissionMode: 'bypassPermissions' as const,
104
+ },
105
+ });
106
+
107
+ let buffer = '';
108
+ for await (const message of response) {
109
+ // Handle streaming events
110
+ if (message.type === 'stream_event') {
111
+ const streamMsg = message as {
112
+ type: 'stream_event';
113
+ event: { type: string; delta?: { type: string; text?: string } }
114
+ };
115
+ const event = streamMsg.event;
116
+ if (event?.type === 'content_block_delta' && event.delta?.type === 'text_delta' && event.delta.text) {
117
+ buffer += event.delta.text;
118
+ }
119
+ }
120
+
121
+ // Handle assistant messages for non-streaming responses
122
+ if (message.type === 'assistant') {
123
+ const assistantMsg = message as {
124
+ type: 'assistant';
125
+ message?: { content: Array<{ type: string; text?: string }> }
126
+ };
127
+ const content = assistantMsg.message?.content || [];
128
+ for (const block of content) {
129
+ if (block.type === 'text' && block.text) {
130
+ if (!buffer.includes(block.text)) {
131
+ buffer = block.text;
132
+ }
133
+ }
134
+ }
135
+ }
136
+ }
137
+
138
+ const { title, description } = extractCommitMessage(buffer);
139
+
140
+ // Validate non-empty title
141
+ if (!title || title.trim().length === 0) {
142
+ console.error('Claude SDK returned empty title. Buffer:', buffer);
143
+ return NextResponse.json(
144
+ { error: 'Generated message was empty. Try staging different files.' },
145
+ { status: 500 }
146
+ );
147
+ }
148
+
149
+ return NextResponse.json({
150
+ title,
151
+ description,
152
+ // Keep 'message' for backwards compatibility (title only)
153
+ message: title,
154
+ diff: {
155
+ additions,
156
+ deletions,
157
+ },
158
+ });
159
+ } catch (error) {
160
+ console.error('Error calling Claude SDK:', error);
161
+
162
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
163
+ const isRateLimitError = errorMessage.toLowerCase().includes('rate limit');
164
+ const isAuthError = errorMessage.toLowerCase().includes('api key') ||
165
+ errorMessage.toLowerCase().includes('unauthorized');
166
+
167
+ return NextResponse.json(
168
+ {
169
+ error: isRateLimitError ? 'Rate limit exceeded. Try again later.' :
170
+ isAuthError ? 'API authentication failed. Check server configuration.' :
171
+ 'Failed to generate commit message',
172
+ },
173
+ { status: isRateLimitError ? 429 : isAuthError ? 401 : 500 }
174
+ );
175
+ }
176
+ } catch (error: unknown) {
177
+ console.error('Error generating commit message:', error);
178
+ return NextResponse.json(
179
+ { error: 'Failed to generate commit message' },
180
+ { status: 500 }
181
+ );
182
+ }
183
+ }
184
+
185
+ /**
186
+ * Build prompt for Claude to generate commit message with title and description
187
+ */
188
+ function buildCommitMessagePrompt(diff: string): string {
189
+ return `Generate a git commit message with title and description.
190
+
191
+ TITLE RULES:
192
+ - Format: type(scope): description
193
+ - Types: feat, fix, docs, style, refactor, test, chore
194
+ - Max 72 characters
195
+ - Be specific about what changed
196
+
197
+ DESCRIPTION RULES:
198
+ - Use bullet points with "-" prefix
199
+ - List files/components changed and their modifications
200
+ - Focus on WHAT changed and its IMPACT
201
+ - Be concise and technical
202
+ - NO introductory sentences like "This commit introduces..."
203
+ - NO concluding sentences like "These changes improve..."
204
+ - Just the facts: file changes, features added/modified, breaking changes
205
+
206
+ EXAMPLE OUTPUT:
207
+ TITLE: feat(auth): add JWT token refresh mechanism
208
+ DESCRIPTION:
209
+ - auth-service.ts: add refreshToken() method with 7-day expiry
210
+ - auth-middleware.ts: check token expiry before each request
211
+ - user-store.ts: persist refresh token in localStorage
212
+ - Breaking: removed deprecated session-based auth
213
+
214
+ OUTPUT FORMAT:
215
+ TITLE: <commit title>
216
+ DESCRIPTION:
217
+ <bullet points>
218
+
219
+ <git-diff>
220
+ ${diff}
221
+ </git-diff>`;
222
+ }
223
+
224
+ /**
225
+ * Extract commit title and description from Claude's response
226
+ * Handles cases where Claude might add markdown fences or extra text
227
+ */
228
+ function extractCommitMessage(response: string): { title: string; description: string } {
229
+ let message = response.trim();
230
+
231
+ // Remove markdown code fences if present
232
+ const fenceMatch = message.match(/^```[\w]*\n?([\s\S]*?)```$/);
233
+ if (fenceMatch) {
234
+ message = fenceMatch[1].trim();
235
+ }
236
+
237
+ // Parse TITLE: and DESCRIPTION: format
238
+ const titleMatch = message.match(/TITLE:\s*(.+?)(?:\n|$)/i);
239
+ const descriptionMatch = message.match(/DESCRIPTION:\s*([\s\S]*?)$/i);
240
+
241
+ let title = '';
242
+ let description = '';
243
+
244
+ if (titleMatch) {
245
+ title = titleMatch[1].trim();
246
+ // Remove quotes if wrapped
247
+ if (title.startsWith('"') && title.endsWith('"')) {
248
+ title = title.slice(1, -1);
249
+ }
250
+ } else {
251
+ // Fallback: use first line as title
252
+ title = message.split('\n')[0].trim();
253
+ if (title.startsWith('"') && title.endsWith('"')) {
254
+ title = title.slice(1, -1);
255
+ }
256
+ }
257
+
258
+ if (descriptionMatch) {
259
+ description = descriptionMatch[1].trim();
260
+ // Clean up description - remove TITLE part if included
261
+ description = description.replace(/^TITLE:.*?\n/i, '').trim();
262
+ }
263
+
264
+ return { title, description };
265
+ }
266
+
267
+ /**
268
+ * Count diff statistics (additions and deletions)
269
+ */
270
+ function countDiffStats(diff: string): { additions: number; deletions: number } {
271
+ let additions = 0;
272
+ let deletions = 0;
273
+
274
+ const lines = diff.split('\n');
275
+ for (const line of lines) {
276
+ // Skip diff headers
277
+ if (line.startsWith('+++') || line.startsWith('---')) continue;
278
+ if (line.startsWith('@@')) continue;
279
+ if (line.startsWith('diff ')) continue;
280
+ if (line.startsWith('index ')) continue;
281
+
282
+ // Count additions (lines starting with +)
283
+ if (line.startsWith('+')) {
284
+ additions++;
285
+ }
286
+ // Count deletions (lines starting with -)
287
+ else if (line.startsWith('-')) {
288
+ deletions++;
289
+ }
290
+ }
291
+
292
+ return { additions, deletions };
293
+ }
@@ -15,14 +15,31 @@ export interface GitCommit {
15
15
  date: string;
16
16
  parents: string[];
17
17
  refs: string[];
18
+ isLocal?: boolean;
19
+ isMerge?: boolean;
18
20
  }
19
21
 
20
- // GET /api/git/log?path=/project/path&limit=50
22
+ async function getRemoteCommitHashes(cwd: string): Promise<Set<string>> {
23
+ try {
24
+ const { stdout } = await execFileAsync(
25
+ 'git',
26
+ ['log', '--remotes', '--format=%H'],
27
+ { cwd, timeout: GIT_TIMEOUT }
28
+ );
29
+ return new Set(stdout.trim().split('\n').filter(Boolean));
30
+ } catch (error) {
31
+ console.error('Failed to get remote commits:', error);
32
+ return new Set();
33
+ }
34
+ }
35
+
36
+ // GET /api/git/log?path=/project/path&limit=50&filter=current
21
37
  export async function GET(request: NextRequest) {
22
38
  try {
23
39
  const searchParams = request.nextUrl.searchParams;
24
40
  const projectPath = searchParams.get('path');
25
41
  const limit = parseInt(searchParams.get('limit') || '50', 10);
42
+ const filter = searchParams.get('filter') || 'current'; // 'current' or 'all'
26
43
 
27
44
  if (!projectPath) {
28
45
  return NextResponse.json(
@@ -39,16 +56,26 @@ export async function GET(request: NextRequest) {
39
56
  );
40
57
  }
41
58
 
59
+ // Build git log args based on filter
60
+ const logArgs = ['log'];
61
+
62
+ if (filter === 'all') {
63
+ logArgs.push('--all');
64
+ } else {
65
+ // Default: current branch only (HEAD)
66
+ logArgs.push('HEAD');
67
+ }
68
+
69
+ logArgs.push(
70
+ `--max-count=${limit}`,
71
+ '--format=%H|%h|%s|%an|%ar|%P|%D'
72
+ );
73
+
42
74
  // Get git log with graph info
43
75
  // Format: hash|short_hash|subject|author|date|parents|refs
44
76
  const { stdout } = await execFileAsync(
45
77
  'git',
46
- [
47
- 'log',
48
- '--all',
49
- `--max-count=${limit}`,
50
- '--format=%H|%h|%s|%an|%ar|%P|%D',
51
- ],
78
+ logArgs,
52
79
  {
53
80
  cwd: resolvedPath,
54
81
  timeout: GIT_TIMEOUT,
@@ -58,18 +85,25 @@ export async function GET(request: NextRequest) {
58
85
  const commits: GitCommit[] = [];
59
86
  const lines = stdout.trim().split('\n');
60
87
 
88
+ // Get remote commit hashes for local detection
89
+ const remoteHashes = await getRemoteCommitHashes(resolvedPath);
90
+
61
91
  for (const line of lines) {
62
92
  if (!line) continue;
63
93
  const [hash, shortHash, message, author, date, parents, refs] = line.split('|');
64
94
 
95
+ const parentsList = parents ? parents.split(' ').filter(Boolean) : [];
96
+
65
97
  commits.push({
66
98
  hash,
67
99
  shortHash,
68
100
  message,
69
101
  author,
70
102
  date,
71
- parents: parents ? parents.split(' ').filter(Boolean) : [],
103
+ parents: parentsList,
72
104
  refs: refs ? refs.split(', ').filter(Boolean) : [],
105
+ isLocal: !remoteHashes.has(hash),
106
+ isMerge: parentsList.length > 1,
73
107
  });
74
108
  }
75
109
 
@@ -0,0 +1,115 @@
1
+ import { NextRequest, NextResponse } from 'next/server';
2
+ import { execFile } from 'child_process';
3
+ import { promisify } from 'util';
4
+ import path from 'path';
5
+ import fs from 'fs';
6
+ import type { CommitDetails, CommitFile } from '@/types';
7
+
8
+ const execFileAsync = promisify(execFile);
9
+ const GIT_TIMEOUT = 10000;
10
+
11
+ export async function GET(request: NextRequest) {
12
+ const searchParams = request.nextUrl.searchParams;
13
+ const projectPath = searchParams.get('path');
14
+ const hash = searchParams.get('hash');
15
+
16
+ if (!projectPath || !hash) {
17
+ return NextResponse.json(
18
+ { error: 'path and hash parameters are required' },
19
+ { status: 400 }
20
+ );
21
+ }
22
+
23
+ if (!/^[a-f0-9]{7,40}$/.test(hash)) {
24
+ return NextResponse.json(
25
+ { error: 'Invalid commit hash format' },
26
+ { status: 400 }
27
+ );
28
+ }
29
+
30
+ const resolvedPath = path.resolve(projectPath);
31
+ if (!fs.existsSync(resolvedPath) || !fs.statSync(resolvedPath).isDirectory()) {
32
+ return NextResponse.json(
33
+ { error: 'Invalid project path' },
34
+ { status: 400 }
35
+ );
36
+ }
37
+
38
+ try {
39
+ const { stdout: showOutput } = await execFileAsync(
40
+ 'git',
41
+ ['show', '-s', '--format=%H|%h|%an|%ae|%aI|%ar|%s|%b', hash],
42
+ { cwd: resolvedPath, timeout: GIT_TIMEOUT }
43
+ );
44
+
45
+ const parts = showOutput.trim().split('|');
46
+ const [fullHash, shortHash, author, authorEmail, date, dateRelative, subject] = parts.slice(0, 7);
47
+ const body = parts.slice(7).join('|').trim();
48
+
49
+ const { stdout: statsOutput } = await execFileAsync(
50
+ 'git',
51
+ ['diff-tree', '--no-commit-id', '--numstat', '-r', hash],
52
+ { cwd: resolvedPath, timeout: GIT_TIMEOUT }
53
+ );
54
+
55
+ const { stdout: statusOutput } = await execFileAsync(
56
+ 'git',
57
+ ['diff-tree', '--no-commit-id', '--name-status', '-r', hash],
58
+ { cwd: resolvedPath, timeout: GIT_TIMEOUT }
59
+ );
60
+
61
+ const statusMap = new Map<string, string>();
62
+ for (const line of statusOutput.trim().split('\n')) {
63
+ const match = line.match(/^([AMDRC])\s+(.+)$/);
64
+ if (match) statusMap.set(match[2], match[1]);
65
+ }
66
+
67
+ const files: CommitFile[] = [];
68
+ let totalAdditions = 0;
69
+ let totalDeletions = 0;
70
+
71
+ for (const line of statsOutput.trim().split('\n')) {
72
+ const [addStr, delStr, filePath] = line.split('\t');
73
+ if (!filePath) continue;
74
+
75
+ const additions = addStr === '-' ? 0 : parseInt(addStr, 10) || 0;
76
+ const deletions = delStr === '-' ? 0 : parseInt(delStr, 10) || 0;
77
+
78
+ files.push({
79
+ path: filePath,
80
+ status: (statusMap.get(filePath) || 'M') as CommitFile['status'],
81
+ additions,
82
+ deletions,
83
+ });
84
+
85
+ totalAdditions += additions;
86
+ totalDeletions += deletions;
87
+ }
88
+
89
+ const commitDetails: CommitDetails = {
90
+ hash: fullHash,
91
+ shortHash,
92
+ author,
93
+ authorEmail,
94
+ date,
95
+ dateRelative,
96
+ subject,
97
+ body,
98
+ files,
99
+ stats: {
100
+ filesChanged: files.length,
101
+ additions: totalAdditions,
102
+ deletions: totalDeletions,
103
+ },
104
+ };
105
+
106
+ return NextResponse.json(commitDetails);
107
+ } catch (error: unknown) {
108
+ console.error('Error getting commit details:', error);
109
+ const err = error as { message?: string };
110
+ return NextResponse.json(
111
+ { error: err.message || 'Failed to get commit details' },
112
+ { status: 500 }
113
+ );
114
+ }
115
+ }
@@ -0,0 +1,84 @@
1
+ import { db, schema } from '@/lib/db';
2
+ import { eq, desc } from 'drizzle-orm';
3
+ import { NextResponse } from 'next/server';
4
+ import { calculateContextHealth } from '@/lib/context-health';
5
+
6
+ export async function GET(
7
+ _request: Request,
8
+ { params }: { params: Promise<{ id: string }> }
9
+ ) {
10
+ try {
11
+ const { id: taskId } = await params;
12
+
13
+ // Get all attempts for this task
14
+ const attempts = await db.query.attempts.findMany({
15
+ where: eq(schema.attempts.taskId, taskId),
16
+ orderBy: [desc(schema.attempts.createdAt)],
17
+ });
18
+
19
+ // Aggregate stats from all attempts
20
+ let totalTokens = 0;
21
+ let totalCostUSD = 0;
22
+ let totalTurns = 0;
23
+ let totalDurationMs = 0;
24
+ let totalAdditions = 0;
25
+ let totalDeletions = 0;
26
+ let filesChanged = 0;
27
+
28
+ // Context usage: Use LATEST attempt only (most recent)
29
+ // Each attempt is a separate session - context doesn't accumulate across attempts
30
+ const latestAttempt = attempts[0]; // Already ordered by createdAt DESC
31
+ const contextUsed = latestAttempt?.contextUsed || 0;
32
+ const contextLimit = latestAttempt?.contextLimit || 200000;
33
+ const contextPercentage = latestAttempt?.contextPercentage || 0;
34
+
35
+ // Calculate context health metrics (ClaudeKit formulas)
36
+ // Note: We approximate input/output split since DB only stores total contextUsed
37
+ // For stats API, we use contextUsed as total and calculate health accordingly
38
+ const contextHealth = calculateContextHealth(
39
+ contextUsed, // Using total as input approximation
40
+ 0, // Output already included in contextUsed from usage-tracker
41
+ contextLimit
42
+ );
43
+
44
+ for (const attempt of attempts) {
45
+ totalTokens += attempt.totalTokens || 0;
46
+ totalCostUSD += parseFloat(attempt.totalCostUSD || '0');
47
+ totalTurns += attempt.numTurns || 0;
48
+ totalDurationMs += attempt.durationMs || 0;
49
+ totalAdditions += attempt.diffAdditions || 0;
50
+ totalDeletions += attempt.diffDeletions || 0;
51
+ if ((attempt.diffAdditions || 0) > 0 || (attempt.diffDeletions || 0) > 0) {
52
+ filesChanged++;
53
+ }
54
+ }
55
+
56
+ return NextResponse.json({
57
+ totalTokens,
58
+ totalCostUSD,
59
+ totalTurns,
60
+ totalDurationMs,
61
+ totalAdditions,
62
+ totalDeletions,
63
+ filesChanged,
64
+ contextUsed,
65
+ contextLimit,
66
+ contextPercentage,
67
+ contextHealth: {
68
+ status: contextHealth.status,
69
+ score: contextHealth.score,
70
+ utilizationPercent: contextHealth.utilizationPercent,
71
+ shouldCompact: contextHealth.shouldCompact,
72
+ compactThreshold: contextHealth.compactThreshold,
73
+ },
74
+ attemptCount: attempts.length,
75
+ lastUpdatedAt: attempts[0]?.completedAt || Date.now(),
76
+ });
77
+ } catch (error) {
78
+ console.error('Error getting task stats:', error);
79
+ return NextResponse.json(
80
+ { error: 'Failed to get task stats' },
81
+ { status: 500 }
82
+ );
83
+ }
84
+ }
@@ -265,9 +265,9 @@
265
265
  --muted: oklch(0.315 0.028 275);
266
266
  --muted-foreground: oklch(0.512 0.067 260);
267
267
 
268
- /* Accent: Pink #FF79C6 */
269
- --accent: oklch(0.718 0.195 350);
270
- --accent-foreground: oklch(0.224 0.023 277);
268
+ /* Accent: Light grey for hover states */
269
+ --accent: oklch(0.38 0.015 275);
270
+ --accent-foreground: oklch(0.975 0.005 110);
271
271
 
272
272
  /* Destructive: Red #FF5555 */
273
273
  --destructive: oklch(0.658 0.254 22);
@@ -294,7 +294,7 @@
294
294
  --sidebar-foreground: oklch(0.975 0.005 110);
295
295
  --sidebar-primary: oklch(0.720 0.160 295);
296
296
  --sidebar-primary-foreground: oklch(0.975 0.005 110);
297
- --sidebar-accent: oklch(0.315 0.028 275);
297
+ --sidebar-accent: oklch(0.38 0.015 275);
298
298
  --sidebar-accent-foreground: oklch(0.975 0.005 110);
299
299
  --sidebar-border: oklch(0.38 0.03 275);
300
300
  --sidebar-ring: oklch(0.720 0.160 295);
@@ -310,6 +310,59 @@
310
310
  }
311
311
  }
312
312
 
313
+ /* Custom scrollbar styling - minimal and modern */
314
+ .custom-scrollbar,
315
+ .custom-scrollbar * {
316
+ scrollbar-width: thin;
317
+ scrollbar-color: oklch(0.4 0 0 / 0.5) transparent;
318
+ }
319
+
320
+ .custom-scrollbar::-webkit-scrollbar,
321
+ .custom-scrollbar *::-webkit-scrollbar {
322
+ width: 8px;
323
+ height: 8px;
324
+ }
325
+
326
+ .custom-scrollbar::-webkit-scrollbar-track,
327
+ .custom-scrollbar *::-webkit-scrollbar-track {
328
+ background: transparent;
329
+ }
330
+
331
+ .custom-scrollbar::-webkit-scrollbar-thumb,
332
+ .custom-scrollbar *::-webkit-scrollbar-thumb {
333
+ background-color: oklch(0.4 0 0 / 0.5);
334
+ border-radius: 4px;
335
+ border: 2px solid transparent;
336
+ background-clip: padding-box;
337
+ }
338
+
339
+ .custom-scrollbar::-webkit-scrollbar-thumb:hover,
340
+ .custom-scrollbar *::-webkit-scrollbar-thumb:hover {
341
+ background-color: oklch(0.5 0 0 / 0.7);
342
+ }
343
+
344
+ /* Light theme scrollbar */
345
+ :root .custom-scrollbar,
346
+ :root .custom-scrollbar * {
347
+ scrollbar-color: oklch(0.7 0 0 / 0.4) transparent;
348
+ }
349
+
350
+ :root .custom-scrollbar::-webkit-scrollbar-thumb,
351
+ :root .custom-scrollbar *::-webkit-scrollbar-thumb {
352
+ background-color: oklch(0.7 0 0 / 0.4);
353
+ }
354
+
355
+ :root .custom-scrollbar::-webkit-scrollbar-thumb:hover,
356
+ :root .custom-scrollbar *::-webkit-scrollbar-thumb:hover {
357
+ background-color: oklch(0.6 0 0 / 0.6);
358
+ }
359
+
360
+ /* Scrollbar corner */
361
+ .custom-scrollbar::-webkit-scrollbar-corner,
362
+ .custom-scrollbar *::-webkit-scrollbar-corner {
363
+ background: transparent;
364
+ }
365
+
313
366
  /* Spinning border animation for running tasks */
314
367
  @keyframes spin-border {
315
368
  0% {