@surething/cockpit 1.0.220 → 1.0.222

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 (562) hide show
  1. package/.next-prod/BUILD_ID +1 -1
  2. package/.next-prod/app-path-routes-manifest.json +4 -3
  3. package/.next-prod/build-manifest.json +2 -2
  4. package/.next-prod/prerender-manifest.json +3 -3
  5. package/.next-prod/routes-manifest.json +6 -0
  6. package/.next-prod/server/app/_global-error/page.js +3 -3
  7. package/.next-prod/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next-prod/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next-prod/server/app/_global-error.html +1 -1
  10. package/.next-prod/server/app/_global-error.rsc +1 -1
  11. package/.next-prod/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next-prod/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  13. package/.next-prod/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  14. package/.next-prod/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/.next-prod/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next-prod/server/app/_not-found/page.js +2 -2
  18. package/.next-prod/server/app/_not-found/page.js.nft.json +1 -1
  19. package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next-prod/server/app/_not-found.html +1 -1
  21. package/.next-prod/server/app/_not-found.rsc +3 -3
  22. package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +3 -3
  23. package/.next-prod/server/app/_not-found.segments/_head.segment.rsc +1 -1
  24. package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +3 -3
  25. package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  26. package/.next-prod/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  27. package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  28. package/.next-prod/server/app/api/agent/test/route.js +1 -1
  29. package/.next-prod/server/app/api/agent/test/route.js.nft.json +1 -1
  30. package/.next-prod/server/app/api/bash/route.js +1 -1
  31. package/.next-prod/server/app/api/bash/route.js.nft.json +1 -1
  32. package/.next-prod/server/app/api/chat/codex/route.js +2 -2
  33. package/.next-prod/server/app/api/chat/codex/route.js.nft.json +1 -1
  34. package/.next-prod/server/app/api/chat/deepseek/route.js +2 -2
  35. package/.next-prod/server/app/api/chat/deepseek/route.js.nft.json +1 -1
  36. package/.next-prod/server/app/api/chat/kimi/route.js +2 -2
  37. package/.next-prod/server/app/api/chat/kimi/route.js.nft.json +1 -1
  38. package/.next-prod/server/app/api/chat/ollama/route.js +3 -3
  39. package/.next-prod/server/app/api/chat/ollama/route.js.nft.json +1 -1
  40. package/.next-prod/server/app/api/chat/pty-input/route.js +1 -1
  41. package/.next-prod/server/app/api/chat/pty-input/route.js.nft.json +1 -1
  42. package/.next-prod/server/app/api/chat/route.js +3 -3
  43. package/.next-prod/server/app/api/chat/route.js.nft.json +1 -1
  44. package/.next-prod/server/app/api/claude-stats/route.js +1 -1
  45. package/.next-prod/server/app/api/claude-stats/route.js.nft.json +1 -1
  46. package/.next-prod/server/app/api/commands/route.js +1 -1
  47. package/.next-prod/server/app/api/commands/route.js.nft.json +1 -1
  48. package/.next-prod/server/app/api/comments/route.js +1 -1
  49. package/.next-prod/server/app/api/comments/route.js.nft.json +1 -1
  50. package/.next-prod/server/app/api/db/columns/route.js +1 -1
  51. package/.next-prod/server/app/api/db/columns/route.js.nft.json +1 -1
  52. package/.next-prod/server/app/api/db/connect/route.js +1 -1
  53. package/.next-prod/server/app/api/db/connect/route.js.nft.json +1 -1
  54. package/.next-prod/server/app/api/db/disconnect/route.js +1 -1
  55. package/.next-prod/server/app/api/db/disconnect/route.js.nft.json +1 -1
  56. package/.next-prod/server/app/api/db/export/route.js +1 -1
  57. package/.next-prod/server/app/api/db/export/route.js.nft.json +1 -1
  58. package/.next-prod/server/app/api/db/query/route.js +1 -1
  59. package/.next-prod/server/app/api/db/query/route.js.nft.json +1 -1
  60. package/.next-prod/server/app/api/db/schemas/route.js +1 -1
  61. package/.next-prod/server/app/api/db/schemas/route.js.nft.json +1 -1
  62. package/.next-prod/server/app/api/dev/spans/route.js +1 -1
  63. package/.next-prod/server/app/api/dev/spans/route.js.nft.json +1 -1
  64. package/.next-prod/server/app/api/extension/version/route.js +1 -1
  65. package/.next-prod/server/app/api/extension/version/route.js.nft.json +1 -1
  66. package/.next-prod/server/app/api/file/route.js +1 -1
  67. package/.next-prod/server/app/api/file/route.js.nft.json +1 -1
  68. package/.next-prod/server/app/api/files/blame/route.js +1 -1
  69. package/.next-prod/server/app/api/files/blame/route.js.nft.json +1 -1
  70. package/.next-prod/server/app/api/files/clipboard/route.js +1 -1
  71. package/.next-prod/server/app/api/files/clipboard/route.js.nft.json +1 -1
  72. package/.next-prod/server/app/api/files/copy/route.js +1 -1
  73. package/.next-prod/server/app/api/files/copy/route.js.nft.json +1 -1
  74. package/.next-prod/server/app/api/files/delete/route.js +1 -1
  75. package/.next-prod/server/app/api/files/delete/route.js.nft.json +1 -1
  76. package/.next-prod/server/app/api/files/expanded/route.js +1 -1
  77. package/.next-prod/server/app/api/files/expanded/route.js.nft.json +1 -1
  78. package/.next-prod/server/app/api/files/index/route.js +1 -1
  79. package/.next-prod/server/app/api/files/index/route.js.nft.json +1 -1
  80. package/.next-prod/server/app/api/files/init/route.js +1 -1
  81. package/.next-prod/server/app/api/files/init/route.js.nft.json +1 -1
  82. package/.next-prod/server/app/api/files/paste/route.js +1 -1
  83. package/.next-prod/server/app/api/files/paste/route.js.nft.json +1 -1
  84. package/.next-prod/server/app/api/files/read/route.js +1 -1
  85. package/.next-prod/server/app/api/files/read/route.js.nft.json +1 -1
  86. package/.next-prod/server/app/api/files/readdir/route.js +1 -1
  87. package/.next-prod/server/app/api/files/readdir/route.js.nft.json +1 -1
  88. package/.next-prod/server/app/api/files/recent/route.js +1 -1
  89. package/.next-prod/server/app/api/files/recent/route.js.nft.json +1 -1
  90. package/.next-prod/server/app/api/files/save/route.js +1 -1
  91. package/.next-prod/server/app/api/files/save/route.js.nft.json +1 -1
  92. package/.next-prod/server/app/api/files/search/route.js +1 -1
  93. package/.next-prod/server/app/api/files/search/route.js.nft.json +1 -1
  94. package/.next-prod/server/app/api/files/stat/route.js +1 -1
  95. package/.next-prod/server/app/api/files/stat/route.js.nft.json +1 -1
  96. package/.next-prod/server/app/api/files/text/route.js +1 -1
  97. package/.next-prod/server/app/api/files/text/route.js.nft.json +1 -1
  98. package/.next-prod/server/app/api/git/branch-diff/route.js +1 -1
  99. package/.next-prod/server/app/api/git/branch-diff/route.js.nft.json +1 -1
  100. package/.next-prod/server/app/api/git/branches/route.js +1 -1
  101. package/.next-prod/server/app/api/git/branches/route.js.nft.json +1 -1
  102. package/.next-prod/server/app/api/git/commit-diff/route.js +1 -1
  103. package/.next-prod/server/app/api/git/commit-diff/route.js.nft.json +1 -1
  104. package/.next-prod/server/app/api/git/commits/route.js +1 -1
  105. package/.next-prod/server/app/api/git/commits/route.js.nft.json +1 -1
  106. package/.next-prod/server/app/api/git/current-branch/route.js +1 -0
  107. package/.next-prod/server/app/api/git/current-branch/route.js.nft.json +1 -0
  108. package/.next-prod/server/app/api/git/current-branch/route_client-reference-manifest.js +1 -0
  109. package/.next-prod/server/app/api/git/diff/route.js +1 -1
  110. package/.next-prod/server/app/api/git/diff/route.js.nft.json +1 -1
  111. package/.next-prod/server/app/api/git/discard/route.js +1 -1
  112. package/.next-prod/server/app/api/git/discard/route.js.nft.json +1 -1
  113. package/.next-prod/server/app/api/git/stage/route.js +1 -1
  114. package/.next-prod/server/app/api/git/stage/route.js.nft.json +1 -1
  115. package/.next-prod/server/app/api/git/status/route.js +1 -1
  116. package/.next-prod/server/app/api/git/status/route.js.nft.json +1 -1
  117. package/.next-prod/server/app/api/git/unstage/route.js +1 -1
  118. package/.next-prod/server/app/api/git/unstage/route.js.nft.json +1 -1
  119. package/.next-prod/server/app/api/git/worktree/route.js +1 -1
  120. package/.next-prod/server/app/api/git/worktree/route.js.nft.json +1 -1
  121. package/.next-prod/server/app/api/global-state/route.js +1 -1
  122. package/.next-prod/server/app/api/global-state/route.js.nft.json +1 -1
  123. package/.next-prod/server/app/api/jupyter/load/route.js +1 -1
  124. package/.next-prod/server/app/api/jupyter/load/route.js.nft.json +1 -1
  125. package/.next-prod/server/app/api/jupyter/save/route.js +1 -1
  126. package/.next-prod/server/app/api/jupyter/save/route.js.nft.json +1 -1
  127. package/.next-prod/server/app/api/jupyter/shutdown/route.js +1 -1
  128. package/.next-prod/server/app/api/jupyter/shutdown/route.js.nft.json +1 -1
  129. package/.next-prod/server/app/api/lsp/definition/route.js +1 -1
  130. package/.next-prod/server/app/api/lsp/definition/route.js.nft.json +1 -1
  131. package/.next-prod/server/app/api/lsp/hover/route.js +1 -1
  132. package/.next-prod/server/app/api/lsp/hover/route.js.nft.json +1 -1
  133. package/.next-prod/server/app/api/lsp/references/route.js +1 -1
  134. package/.next-prod/server/app/api/lsp/references/route.js.nft.json +1 -1
  135. package/.next-prod/server/app/api/lsp/status/route.js +1 -1
  136. package/.next-prod/server/app/api/lsp/status/route.js.nft.json +1 -1
  137. package/.next-prod/server/app/api/lsp/warmup/route.js +1 -1
  138. package/.next-prod/server/app/api/lsp/warmup/route.js.nft.json +1 -1
  139. package/.next-prod/server/app/api/mysql/columns/route.js +2 -2
  140. package/.next-prod/server/app/api/mysql/columns/route.js.nft.json +1 -1
  141. package/.next-prod/server/app/api/mysql/connect/route.js +1 -1
  142. package/.next-prod/server/app/api/mysql/connect/route.js.nft.json +1 -1
  143. package/.next-prod/server/app/api/mysql/disconnect/route.js +1 -1
  144. package/.next-prod/server/app/api/mysql/disconnect/route.js.nft.json +1 -1
  145. package/.next-prod/server/app/api/mysql/export/route.js +1 -1
  146. package/.next-prod/server/app/api/mysql/export/route.js.nft.json +1 -1
  147. package/.next-prod/server/app/api/mysql/query/route.js +1 -1
  148. package/.next-prod/server/app/api/mysql/query/route.js.nft.json +1 -1
  149. package/.next-prod/server/app/api/mysql/schemas/route.js +2 -2
  150. package/.next-prod/server/app/api/mysql/schemas/route.js.nft.json +1 -1
  151. package/.next-prod/server/app/api/neo4j/connect/route.js +1 -1
  152. package/.next-prod/server/app/api/neo4j/connect/route.js.nft.json +1 -1
  153. package/.next-prod/server/app/api/neo4j/disconnect/route.js +1 -1
  154. package/.next-prod/server/app/api/neo4j/disconnect/route.js.nft.json +1 -1
  155. package/.next-prod/server/app/api/neo4j/query/route.js +1 -1
  156. package/.next-prod/server/app/api/neo4j/query/route.js.nft.json +1 -1
  157. package/.next-prod/server/app/api/neo4j/schema/route.js +1 -1
  158. package/.next-prod/server/app/api/neo4j/schema/route.js.nft.json +1 -1
  159. package/.next-prod/server/app/api/note/route.js +1 -1
  160. package/.next-prod/server/app/api/note/route.js.nft.json +1 -1
  161. package/.next-prod/server/app/api/ollama/models/route.js +1 -1
  162. package/.next-prod/server/app/api/ollama/models/route.js.nft.json +1 -1
  163. package/.next-prod/server/app/api/ollama/start/route.js +1 -1
  164. package/.next-prod/server/app/api/ollama/start/route.js.nft.json +1 -1
  165. package/.next-prod/server/app/api/open-cursor/route.js +1 -1
  166. package/.next-prod/server/app/api/open-cursor/route.js.nft.json +1 -1
  167. package/.next-prod/server/app/api/open-vscode/route.js +1 -1
  168. package/.next-prod/server/app/api/open-vscode/route.js.nft.json +1 -1
  169. package/.next-prod/server/app/api/pick-folder/route.js +1 -1
  170. package/.next-prod/server/app/api/pick-folder/route.js.nft.json +1 -1
  171. package/.next-prod/server/app/api/pinned-sessions/route.js +1 -1
  172. package/.next-prod/server/app/api/pinned-sessions/route.js.nft.json +1 -1
  173. package/.next-prod/server/app/api/project-settings/route.js +1 -1
  174. package/.next-prod/server/app/api/project-settings/route.js.nft.json +1 -1
  175. package/.next-prod/server/app/api/project-state/route.js +1 -1
  176. package/.next-prod/server/app/api/project-state/route.js.nft.json +1 -1
  177. package/.next-prod/server/app/api/projectGraph/affected/route.js +1 -1
  178. package/.next-prod/server/app/api/projectGraph/affected/route.js.nft.json +1 -1
  179. package/.next-prod/server/app/api/projectGraph/callees/route.js +1 -1
  180. package/.next-prod/server/app/api/projectGraph/callees/route.js.nft.json +1 -1
  181. package/.next-prod/server/app/api/projectGraph/callers/route.js +1 -1
  182. package/.next-prod/server/app/api/projectGraph/callers/route.js.nft.json +1 -1
  183. package/.next-prod/server/app/api/projectGraph/coedit/route.js +1 -1
  184. package/.next-prod/server/app/api/projectGraph/coedit/route.js.nft.json +1 -1
  185. package/.next-prod/server/app/api/projectGraph/context/route.js +1 -1
  186. package/.next-prod/server/app/api/projectGraph/context/route.js.nft.json +1 -1
  187. package/.next-prod/server/app/api/projectGraph/file/route.js +1 -1
  188. package/.next-prod/server/app/api/projectGraph/file/route.js.nft.json +1 -1
  189. package/.next-prod/server/app/api/projectGraph/file-functions/route.js +1 -1
  190. package/.next-prod/server/app/api/projectGraph/file-functions/route.js.nft.json +1 -1
  191. package/.next-prod/server/app/api/projectGraph/impact/route.js +1 -1
  192. package/.next-prod/server/app/api/projectGraph/impact/route.js.nft.json +1 -1
  193. package/.next-prod/server/app/api/projectGraph/related/route.js +1 -1
  194. package/.next-prod/server/app/api/projectGraph/related/route.js.nft.json +1 -1
  195. package/.next-prod/server/app/api/projectGraph/risk/route.js +1 -1
  196. package/.next-prod/server/app/api/projectGraph/risk/route.js.nft.json +1 -1
  197. package/.next-prod/server/app/api/projectGraph/search/route.js +1 -1
  198. package/.next-prod/server/app/api/projectGraph/search/route.js.nft.json +1 -1
  199. package/.next-prod/server/app/api/projects/route.js +1 -1
  200. package/.next-prod/server/app/api/projects/route.js.nft.json +1 -1
  201. package/.next-prod/server/app/api/redis/command/route.js +1 -1
  202. package/.next-prod/server/app/api/redis/command/route.js.nft.json +1 -1
  203. package/.next-prod/server/app/api/redis/connect/route.js +1 -1
  204. package/.next-prod/server/app/api/redis/connect/route.js.nft.json +1 -1
  205. package/.next-prod/server/app/api/redis/delete/route.js +1 -1
  206. package/.next-prod/server/app/api/redis/delete/route.js.nft.json +1 -1
  207. package/.next-prod/server/app/api/redis/disconnect/route.js +1 -1
  208. package/.next-prod/server/app/api/redis/disconnect/route.js.nft.json +1 -1
  209. package/.next-prod/server/app/api/redis/get/route.js +1 -1
  210. package/.next-prod/server/app/api/redis/get/route.js.nft.json +1 -1
  211. package/.next-prod/server/app/api/redis/keys/route.js +1 -1
  212. package/.next-prod/server/app/api/redis/keys/route.js.nft.json +1 -1
  213. package/.next-prod/server/app/api/redis/set/route.js +1 -1
  214. package/.next-prod/server/app/api/redis/set/route.js.nft.json +1 -1
  215. package/.next-prod/server/app/api/review/[id]/comments/route.js +1 -1
  216. package/.next-prod/server/app/api/review/[id]/comments/route.js.nft.json +1 -1
  217. package/.next-prod/server/app/api/review/[id]/replies/route.js +1 -1
  218. package/.next-prod/server/app/api/review/[id]/replies/route.js.nft.json +1 -1
  219. package/.next-prod/server/app/api/review/[id]/route.js +1 -1
  220. package/.next-prod/server/app/api/review/[id]/route.js.nft.json +1 -1
  221. package/.next-prod/server/app/api/review/identify/route.js +1 -1
  222. package/.next-prod/server/app/api/review/identify/route.js.nft.json +1 -1
  223. package/.next-prod/server/app/api/review/order/route.js +1 -1
  224. package/.next-prod/server/app/api/review/order/route.js.nft.json +1 -1
  225. package/.next-prod/server/app/api/review/route.js +1 -1
  226. package/.next-prod/server/app/api/review/route.js.nft.json +1 -1
  227. package/.next-prod/server/app/api/review/share-info/route.js +1 -1
  228. package/.next-prod/server/app/api/review/share-info/route.js.nft.json +1 -1
  229. package/.next-prod/server/app/api/review/users/route.js +1 -1
  230. package/.next-prod/server/app/api/review/users/route.js.nft.json +1 -1
  231. package/.next-prod/server/app/api/scheduled-tasks/route.js +1 -1
  232. package/.next-prod/server/app/api/scheduled-tasks/route.js.nft.json +1 -1
  233. package/.next-prod/server/app/api/services/config/route.js +1 -1
  234. package/.next-prod/server/app/api/services/config/route.js.nft.json +1 -1
  235. package/.next-prod/server/app/api/services/scripts/route.js +1 -1
  236. package/.next-prod/server/app/api/services/scripts/route.js.nft.json +1 -1
  237. package/.next-prod/server/app/api/session/[sessionId]/fork/route.js +1 -1
  238. package/.next-prod/server/app/api/session/[sessionId]/fork/route.js.nft.json +1 -1
  239. package/.next-prod/server/app/api/session/[sessionId]/history/route.js +1 -1
  240. package/.next-prod/server/app/api/session/[sessionId]/history/route.js.nft.json +1 -1
  241. package/.next-prod/server/app/api/session-by-path/route.js +1 -1
  242. package/.next-prod/server/app/api/session-by-path/route.js.nft.json +1 -1
  243. package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js +1 -1
  244. package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js.nft.json +1 -1
  245. package/.next-prod/server/app/api/sessions/projects/route.js +1 -1
  246. package/.next-prod/server/app/api/sessions/projects/route.js.nft.json +1 -1
  247. package/.next-prod/server/app/api/sessions/route.js +1 -1
  248. package/.next-prod/server/app/api/sessions/route.js.nft.json +1 -1
  249. package/.next-prod/server/app/api/settings/route.js +1 -1
  250. package/.next-prod/server/app/api/settings/route.js.nft.json +1 -1
  251. package/.next-prod/server/app/api/skills/[id]/route.js +1 -1
  252. package/.next-prod/server/app/api/skills/[id]/route.js.nft.json +1 -1
  253. package/.next-prod/server/app/api/skills/content/route.js +1 -1
  254. package/.next-prod/server/app/api/skills/content/route.js.nft.json +1 -1
  255. package/.next-prod/server/app/api/skills/route.js +1 -1
  256. package/.next-prod/server/app/api/skills/route.js.nft.json +1 -1
  257. package/.next-prod/server/app/api/terminal/aliases/route.js +1 -1
  258. package/.next-prod/server/app/api/terminal/aliases/route.js.nft.json +1 -1
  259. package/.next-prod/server/app/api/terminal/autocomplete/route.js +1 -1
  260. package/.next-prod/server/app/api/terminal/autocomplete/route.js.nft.json +1 -1
  261. package/.next-prod/server/app/api/terminal/bubble-order/route.js +1 -1
  262. package/.next-prod/server/app/api/terminal/bubble-order/route.js.nft.json +1 -1
  263. package/.next-prod/server/app/api/terminal/env/route.js +1 -1
  264. package/.next-prod/server/app/api/terminal/env/route.js.nft.json +1 -1
  265. package/.next-prod/server/app/api/terminal/history/route.js +1 -1
  266. package/.next-prod/server/app/api/terminal/history/route.js.nft.json +1 -1
  267. package/.next-prod/server/app/api/version/route.js +1 -1
  268. package/.next-prod/server/app/api/version/route.js.nft.json +1 -1
  269. package/.next-prod/server/app/favicon.ico/route.js +1 -1
  270. package/.next-prod/server/app/favicon.ico/route.js.nft.json +1 -1
  271. package/.next-prod/server/app/manifest.webmanifest/route.js +2 -2
  272. package/.next-prod/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  273. package/.next-prod/server/app/page.js +2 -2
  274. package/.next-prod/server/app/page.js.nft.json +1 -1
  275. package/.next-prod/server/app/page_client-reference-manifest.js +1 -1
  276. package/.next-prod/server/app/project/page.js +2 -2
  277. package/.next-prod/server/app/project/page.js.nft.json +1 -1
  278. package/.next-prod/server/app/project/page_client-reference-manifest.js +1 -1
  279. package/.next-prod/server/app/review/[id]/page.js +2 -2
  280. package/.next-prod/server/app/review/[id]/page.js.nft.json +1 -1
  281. package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
  282. package/.next-prod/server/app-paths-manifest.json +4 -3
  283. package/.next-prod/server/chunks/383.js +963 -0
  284. package/.next-prod/server/chunks/3863.js +2 -2
  285. package/.next-prod/server/chunks/5616.js +1 -1
  286. package/.next-prod/server/chunks/8916.js +1 -1
  287. package/.next-prod/server/chunks/9658.js +6 -10
  288. package/.next-prod/server/middleware-build-manifest.js +1 -1
  289. package/.next-prod/server/pages/404.html +1 -1
  290. package/.next-prod/server/pages/500.html +1 -1
  291. package/.next-prod/server/server-reference-manifest.json +1 -1
  292. package/.next-prod/static/-btylnafgKD-DMe4UTayG/_buildManifest.js +1 -0
  293. package/.next-prod/static/chunks/6345-bf76736c9229b11d.js +14 -0
  294. package/.next-prod/static/chunks/9403-57da0d8d38886ffe.js +25 -0
  295. package/.next-prod/static/chunks/app/_global-error/{page-ccd4c8b73711effa.js → page-0247c08c6f41b71e.js} +1 -1
  296. package/.next-prod/static/chunks/app/api/agent/test/{route-ccd4c8b73711effa.js → route-0247c08c6f41b71e.js} +1 -1
  297. package/.next-prod/static/chunks/app/api/bash/{route-ccd4c8b73711effa.js → route-0247c08c6f41b71e.js} +1 -1
  298. package/.next-prod/static/chunks/app/api/chat/codex/{route-ccd4c8b73711effa.js → route-0247c08c6f41b71e.js} +1 -1
  299. package/.next-prod/static/chunks/app/api/chat/deepseek/route-0247c08c6f41b71e.js +1 -0
  300. package/.next-prod/static/chunks/app/api/chat/kimi/route-0247c08c6f41b71e.js +1 -0
  301. package/.next-prod/static/chunks/app/api/chat/ollama/route-0247c08c6f41b71e.js +1 -0
  302. package/.next-prod/static/chunks/app/api/chat/pty-input/route-0247c08c6f41b71e.js +1 -0
  303. package/.next-prod/static/chunks/app/api/chat/route-0247c08c6f41b71e.js +1 -0
  304. package/.next-prod/static/chunks/app/api/claude-stats/route-0247c08c6f41b71e.js +1 -0
  305. package/.next-prod/static/chunks/app/api/commands/route-0247c08c6f41b71e.js +1 -0
  306. package/.next-prod/static/chunks/app/api/comments/route-0247c08c6f41b71e.js +1 -0
  307. package/.next-prod/static/chunks/app/api/db/columns/route-0247c08c6f41b71e.js +1 -0
  308. package/.next-prod/static/chunks/app/api/db/connect/route-0247c08c6f41b71e.js +1 -0
  309. package/.next-prod/static/chunks/app/api/db/disconnect/route-0247c08c6f41b71e.js +1 -0
  310. package/.next-prod/static/chunks/app/api/db/export/route-0247c08c6f41b71e.js +1 -0
  311. package/.next-prod/static/chunks/app/api/db/query/route-0247c08c6f41b71e.js +1 -0
  312. package/.next-prod/static/chunks/app/api/db/schemas/route-0247c08c6f41b71e.js +1 -0
  313. package/.next-prod/static/chunks/app/api/dev/spans/route-0247c08c6f41b71e.js +1 -0
  314. package/.next-prod/static/chunks/app/api/extension/version/route-0247c08c6f41b71e.js +1 -0
  315. package/.next-prod/static/chunks/app/api/file/route-0247c08c6f41b71e.js +1 -0
  316. package/.next-prod/static/chunks/app/api/files/blame/route-0247c08c6f41b71e.js +1 -0
  317. package/.next-prod/static/chunks/app/api/files/clipboard/route-0247c08c6f41b71e.js +1 -0
  318. package/.next-prod/static/chunks/app/api/files/copy/route-0247c08c6f41b71e.js +1 -0
  319. package/.next-prod/static/chunks/app/api/files/delete/route-0247c08c6f41b71e.js +1 -0
  320. package/.next-prod/static/chunks/app/api/files/expanded/route-0247c08c6f41b71e.js +1 -0
  321. package/.next-prod/static/chunks/app/api/files/index/route-0247c08c6f41b71e.js +1 -0
  322. package/.next-prod/static/chunks/app/api/files/init/route-0247c08c6f41b71e.js +1 -0
  323. package/.next-prod/static/chunks/app/api/files/paste/route-0247c08c6f41b71e.js +1 -0
  324. package/.next-prod/static/chunks/app/api/files/read/route-0247c08c6f41b71e.js +1 -0
  325. package/.next-prod/static/chunks/app/api/files/readdir/route-0247c08c6f41b71e.js +1 -0
  326. package/.next-prod/static/chunks/app/api/files/recent/route-0247c08c6f41b71e.js +1 -0
  327. package/.next-prod/static/chunks/app/api/files/save/route-0247c08c6f41b71e.js +1 -0
  328. package/.next-prod/static/chunks/app/api/files/search/route-0247c08c6f41b71e.js +1 -0
  329. package/.next-prod/static/chunks/app/api/files/stat/route-0247c08c6f41b71e.js +1 -0
  330. package/.next-prod/static/chunks/app/api/files/text/route-0247c08c6f41b71e.js +1 -0
  331. package/.next-prod/static/chunks/app/api/git/branch-diff/route-0247c08c6f41b71e.js +1 -0
  332. package/.next-prod/static/chunks/app/api/git/branches/route-0247c08c6f41b71e.js +1 -0
  333. package/.next-prod/static/chunks/app/api/git/commit-diff/route-0247c08c6f41b71e.js +1 -0
  334. package/.next-prod/static/chunks/app/api/git/commits/route-0247c08c6f41b71e.js +1 -0
  335. package/.next-prod/static/chunks/app/api/git/current-branch/route-0247c08c6f41b71e.js +1 -0
  336. package/.next-prod/static/chunks/app/api/git/diff/route-0247c08c6f41b71e.js +1 -0
  337. package/.next-prod/static/chunks/app/api/git/discard/route-0247c08c6f41b71e.js +1 -0
  338. package/.next-prod/static/chunks/app/api/git/stage/route-0247c08c6f41b71e.js +1 -0
  339. package/.next-prod/static/chunks/app/api/git/status/route-0247c08c6f41b71e.js +1 -0
  340. package/.next-prod/static/chunks/app/api/git/unstage/route-0247c08c6f41b71e.js +1 -0
  341. package/.next-prod/static/chunks/app/api/git/worktree/route-0247c08c6f41b71e.js +1 -0
  342. package/.next-prod/static/chunks/app/api/global-state/route-0247c08c6f41b71e.js +1 -0
  343. package/.next-prod/static/chunks/app/api/jupyter/load/route-0247c08c6f41b71e.js +1 -0
  344. package/.next-prod/static/chunks/app/api/jupyter/save/route-0247c08c6f41b71e.js +1 -0
  345. package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-0247c08c6f41b71e.js +1 -0
  346. package/.next-prod/static/chunks/app/api/lsp/definition/route-0247c08c6f41b71e.js +1 -0
  347. package/.next-prod/static/chunks/app/api/lsp/hover/route-0247c08c6f41b71e.js +1 -0
  348. package/.next-prod/static/chunks/app/api/lsp/references/route-0247c08c6f41b71e.js +1 -0
  349. package/.next-prod/static/chunks/app/api/lsp/status/route-0247c08c6f41b71e.js +1 -0
  350. package/.next-prod/static/chunks/app/api/lsp/warmup/route-0247c08c6f41b71e.js +1 -0
  351. package/.next-prod/static/chunks/app/api/mysql/columns/route-0247c08c6f41b71e.js +1 -0
  352. package/.next-prod/static/chunks/app/api/mysql/connect/route-0247c08c6f41b71e.js +1 -0
  353. package/.next-prod/static/chunks/app/api/mysql/disconnect/route-0247c08c6f41b71e.js +1 -0
  354. package/.next-prod/static/chunks/app/api/mysql/export/route-0247c08c6f41b71e.js +1 -0
  355. package/.next-prod/static/chunks/app/api/mysql/query/route-0247c08c6f41b71e.js +1 -0
  356. package/.next-prod/static/chunks/app/api/mysql/schemas/route-0247c08c6f41b71e.js +1 -0
  357. package/.next-prod/static/chunks/app/api/neo4j/connect/route-0247c08c6f41b71e.js +1 -0
  358. package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-0247c08c6f41b71e.js +1 -0
  359. package/.next-prod/static/chunks/app/api/neo4j/query/route-0247c08c6f41b71e.js +1 -0
  360. package/.next-prod/static/chunks/app/api/neo4j/schema/route-0247c08c6f41b71e.js +1 -0
  361. package/.next-prod/static/chunks/app/api/note/route-0247c08c6f41b71e.js +1 -0
  362. package/.next-prod/static/chunks/app/api/ollama/models/route-0247c08c6f41b71e.js +1 -0
  363. package/.next-prod/static/chunks/app/api/ollama/start/route-0247c08c6f41b71e.js +1 -0
  364. package/.next-prod/static/chunks/app/api/open-cursor/route-0247c08c6f41b71e.js +1 -0
  365. package/.next-prod/static/chunks/app/api/open-vscode/route-0247c08c6f41b71e.js +1 -0
  366. package/.next-prod/static/chunks/app/api/pick-folder/route-0247c08c6f41b71e.js +1 -0
  367. package/.next-prod/static/chunks/app/api/pinned-sessions/route-0247c08c6f41b71e.js +1 -0
  368. package/.next-prod/static/chunks/app/api/project-settings/route-0247c08c6f41b71e.js +1 -0
  369. package/.next-prod/static/chunks/app/api/project-state/route-0247c08c6f41b71e.js +1 -0
  370. package/.next-prod/static/chunks/app/api/projectGraph/affected/route-0247c08c6f41b71e.js +1 -0
  371. package/.next-prod/static/chunks/app/api/projectGraph/callees/route-0247c08c6f41b71e.js +1 -0
  372. package/.next-prod/static/chunks/app/api/projectGraph/callers/route-0247c08c6f41b71e.js +1 -0
  373. package/.next-prod/static/chunks/app/api/projectGraph/coedit/route-0247c08c6f41b71e.js +1 -0
  374. package/.next-prod/static/chunks/app/api/projectGraph/context/route-0247c08c6f41b71e.js +1 -0
  375. package/.next-prod/static/chunks/app/api/projectGraph/file/route-0247c08c6f41b71e.js +1 -0
  376. package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-0247c08c6f41b71e.js +1 -0
  377. package/.next-prod/static/chunks/app/api/projectGraph/impact/route-0247c08c6f41b71e.js +1 -0
  378. package/.next-prod/static/chunks/app/api/projectGraph/related/route-0247c08c6f41b71e.js +1 -0
  379. package/.next-prod/static/chunks/app/api/projectGraph/risk/route-0247c08c6f41b71e.js +1 -0
  380. package/.next-prod/static/chunks/app/api/projectGraph/search/route-0247c08c6f41b71e.js +1 -0
  381. package/.next-prod/static/chunks/app/api/projects/route-0247c08c6f41b71e.js +1 -0
  382. package/.next-prod/static/chunks/app/api/redis/command/route-0247c08c6f41b71e.js +1 -0
  383. package/.next-prod/static/chunks/app/api/redis/connect/route-0247c08c6f41b71e.js +1 -0
  384. package/.next-prod/static/chunks/app/api/redis/delete/route-0247c08c6f41b71e.js +1 -0
  385. package/.next-prod/static/chunks/app/api/redis/disconnect/route-0247c08c6f41b71e.js +1 -0
  386. package/.next-prod/static/chunks/app/api/redis/get/route-0247c08c6f41b71e.js +1 -0
  387. package/.next-prod/static/chunks/app/api/redis/keys/route-0247c08c6f41b71e.js +1 -0
  388. package/.next-prod/static/chunks/app/api/redis/set/route-0247c08c6f41b71e.js +1 -0
  389. package/.next-prod/static/chunks/app/api/review/[id]/comments/route-0247c08c6f41b71e.js +1 -0
  390. package/.next-prod/static/chunks/app/api/review/[id]/replies/route-0247c08c6f41b71e.js +1 -0
  391. package/.next-prod/static/chunks/app/api/review/[id]/route-0247c08c6f41b71e.js +1 -0
  392. package/.next-prod/static/chunks/app/api/review/identify/route-0247c08c6f41b71e.js +1 -0
  393. package/.next-prod/static/chunks/app/api/review/order/route-0247c08c6f41b71e.js +1 -0
  394. package/.next-prod/static/chunks/app/api/review/route-0247c08c6f41b71e.js +1 -0
  395. package/.next-prod/static/chunks/app/api/review/share-info/route-0247c08c6f41b71e.js +1 -0
  396. package/.next-prod/static/chunks/app/api/review/users/route-0247c08c6f41b71e.js +1 -0
  397. package/.next-prod/static/chunks/app/api/scheduled-tasks/route-0247c08c6f41b71e.js +1 -0
  398. package/.next-prod/static/chunks/app/api/services/config/route-0247c08c6f41b71e.js +1 -0
  399. package/.next-prod/static/chunks/app/api/services/scripts/route-0247c08c6f41b71e.js +1 -0
  400. package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-0247c08c6f41b71e.js +1 -0
  401. package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-0247c08c6f41b71e.js +1 -0
  402. package/.next-prod/static/chunks/app/api/session-by-path/route-0247c08c6f41b71e.js +1 -0
  403. package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-0247c08c6f41b71e.js +1 -0
  404. package/.next-prod/static/chunks/app/api/sessions/projects/route-0247c08c6f41b71e.js +1 -0
  405. package/.next-prod/static/chunks/app/api/sessions/route-0247c08c6f41b71e.js +1 -0
  406. package/.next-prod/static/chunks/app/api/settings/route-0247c08c6f41b71e.js +1 -0
  407. package/.next-prod/static/chunks/app/api/skills/[id]/route-0247c08c6f41b71e.js +1 -0
  408. package/.next-prod/static/chunks/app/api/skills/content/route-0247c08c6f41b71e.js +1 -0
  409. package/.next-prod/static/chunks/app/api/skills/route-0247c08c6f41b71e.js +1 -0
  410. package/.next-prod/static/chunks/app/api/terminal/aliases/route-0247c08c6f41b71e.js +1 -0
  411. package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-0247c08c6f41b71e.js +1 -0
  412. package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-0247c08c6f41b71e.js +1 -0
  413. package/.next-prod/static/chunks/app/api/terminal/env/route-0247c08c6f41b71e.js +1 -0
  414. package/.next-prod/static/chunks/app/api/terminal/history/route-0247c08c6f41b71e.js +1 -0
  415. package/.next-prod/static/chunks/app/api/version/route-0247c08c6f41b71e.js +1 -0
  416. package/.next-prod/static/chunks/app/{layout-e3a565f85cbc7298.js → layout-de73b7c59e956b47.js} +1 -1
  417. package/.next-prod/static/chunks/app/manifest.webmanifest/route-0247c08c6f41b71e.js +1 -0
  418. package/.next-prod/static/chunks/app/{page-9dfd5af2be962e89.js → page-d539c7c36a32fd49.js} +1 -1
  419. package/.next-prod/static/chunks/app/project/{page-9dfd5af2be962e89.js → page-d539c7c36a32fd49.js} +1 -1
  420. package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-0247c08c6f41b71e.js +1 -0
  421. package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-0247c08c6f41b71e.js +1 -0
  422. package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-0247c08c6f41b71e.js +1 -0
  423. package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-0247c08c6f41b71e.js +1 -0
  424. package/.next-prod/static/css/863166ef8887021b.css +1 -0
  425. package/.next-prod/trace +13 -13
  426. package/.next-prod/trace-build +1 -1
  427. package/.next-prod/types/app/api/git/current-branch/route.ts +351 -0
  428. package/.next-prod/types/routes.d.ts +2 -1
  429. package/.next-prod/types/validator.ts +9 -0
  430. package/README.md +2 -1
  431. package/README.zh.md +2 -1
  432. package/dist/{chunk-4S74IEU4.mjs → chunk-RQEEQUTA.mjs} +35 -23
  433. package/dist/scheduledTasks.mjs +5 -19
  434. package/dist/wsServer.mjs +19 -4
  435. package/package.json +2 -2
  436. package/.next-prod/server/chunks/9877.js +0 -511
  437. package/.next-prod/static/3yP7H7dfhCBEDq0V_mbpG/_buildManifest.js +0 -1
  438. package/.next-prod/static/chunks/6321-604138b4f668f15d.js +0 -29
  439. package/.next-prod/static/chunks/6345-59866cd6d074c773.js +0 -14
  440. package/.next-prod/static/chunks/app/api/chat/deepseek/route-ccd4c8b73711effa.js +0 -1
  441. package/.next-prod/static/chunks/app/api/chat/kimi/route-ccd4c8b73711effa.js +0 -1
  442. package/.next-prod/static/chunks/app/api/chat/ollama/route-ccd4c8b73711effa.js +0 -1
  443. package/.next-prod/static/chunks/app/api/chat/pty-input/route-ccd4c8b73711effa.js +0 -1
  444. package/.next-prod/static/chunks/app/api/chat/route-ccd4c8b73711effa.js +0 -1
  445. package/.next-prod/static/chunks/app/api/claude-stats/route-ccd4c8b73711effa.js +0 -1
  446. package/.next-prod/static/chunks/app/api/commands/route-ccd4c8b73711effa.js +0 -1
  447. package/.next-prod/static/chunks/app/api/comments/route-ccd4c8b73711effa.js +0 -1
  448. package/.next-prod/static/chunks/app/api/db/columns/route-ccd4c8b73711effa.js +0 -1
  449. package/.next-prod/static/chunks/app/api/db/connect/route-ccd4c8b73711effa.js +0 -1
  450. package/.next-prod/static/chunks/app/api/db/disconnect/route-ccd4c8b73711effa.js +0 -1
  451. package/.next-prod/static/chunks/app/api/db/export/route-ccd4c8b73711effa.js +0 -1
  452. package/.next-prod/static/chunks/app/api/db/query/route-ccd4c8b73711effa.js +0 -1
  453. package/.next-prod/static/chunks/app/api/db/schemas/route-ccd4c8b73711effa.js +0 -1
  454. package/.next-prod/static/chunks/app/api/dev/spans/route-ccd4c8b73711effa.js +0 -1
  455. package/.next-prod/static/chunks/app/api/extension/version/route-ccd4c8b73711effa.js +0 -1
  456. package/.next-prod/static/chunks/app/api/file/route-ccd4c8b73711effa.js +0 -1
  457. package/.next-prod/static/chunks/app/api/files/blame/route-ccd4c8b73711effa.js +0 -1
  458. package/.next-prod/static/chunks/app/api/files/clipboard/route-ccd4c8b73711effa.js +0 -1
  459. package/.next-prod/static/chunks/app/api/files/copy/route-ccd4c8b73711effa.js +0 -1
  460. package/.next-prod/static/chunks/app/api/files/delete/route-ccd4c8b73711effa.js +0 -1
  461. package/.next-prod/static/chunks/app/api/files/expanded/route-ccd4c8b73711effa.js +0 -1
  462. package/.next-prod/static/chunks/app/api/files/index/route-ccd4c8b73711effa.js +0 -1
  463. package/.next-prod/static/chunks/app/api/files/init/route-ccd4c8b73711effa.js +0 -1
  464. package/.next-prod/static/chunks/app/api/files/paste/route-ccd4c8b73711effa.js +0 -1
  465. package/.next-prod/static/chunks/app/api/files/read/route-ccd4c8b73711effa.js +0 -1
  466. package/.next-prod/static/chunks/app/api/files/readdir/route-ccd4c8b73711effa.js +0 -1
  467. package/.next-prod/static/chunks/app/api/files/recent/route-ccd4c8b73711effa.js +0 -1
  468. package/.next-prod/static/chunks/app/api/files/save/route-ccd4c8b73711effa.js +0 -1
  469. package/.next-prod/static/chunks/app/api/files/search/route-ccd4c8b73711effa.js +0 -1
  470. package/.next-prod/static/chunks/app/api/files/stat/route-ccd4c8b73711effa.js +0 -1
  471. package/.next-prod/static/chunks/app/api/files/text/route-ccd4c8b73711effa.js +0 -1
  472. package/.next-prod/static/chunks/app/api/git/branch-diff/route-ccd4c8b73711effa.js +0 -1
  473. package/.next-prod/static/chunks/app/api/git/branches/route-ccd4c8b73711effa.js +0 -1
  474. package/.next-prod/static/chunks/app/api/git/commit-diff/route-ccd4c8b73711effa.js +0 -1
  475. package/.next-prod/static/chunks/app/api/git/commits/route-ccd4c8b73711effa.js +0 -1
  476. package/.next-prod/static/chunks/app/api/git/diff/route-ccd4c8b73711effa.js +0 -1
  477. package/.next-prod/static/chunks/app/api/git/discard/route-ccd4c8b73711effa.js +0 -1
  478. package/.next-prod/static/chunks/app/api/git/stage/route-ccd4c8b73711effa.js +0 -1
  479. package/.next-prod/static/chunks/app/api/git/status/route-ccd4c8b73711effa.js +0 -1
  480. package/.next-prod/static/chunks/app/api/git/unstage/route-ccd4c8b73711effa.js +0 -1
  481. package/.next-prod/static/chunks/app/api/git/worktree/route-ccd4c8b73711effa.js +0 -1
  482. package/.next-prod/static/chunks/app/api/global-state/route-ccd4c8b73711effa.js +0 -1
  483. package/.next-prod/static/chunks/app/api/jupyter/load/route-ccd4c8b73711effa.js +0 -1
  484. package/.next-prod/static/chunks/app/api/jupyter/save/route-ccd4c8b73711effa.js +0 -1
  485. package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-ccd4c8b73711effa.js +0 -1
  486. package/.next-prod/static/chunks/app/api/lsp/definition/route-ccd4c8b73711effa.js +0 -1
  487. package/.next-prod/static/chunks/app/api/lsp/hover/route-ccd4c8b73711effa.js +0 -1
  488. package/.next-prod/static/chunks/app/api/lsp/references/route-ccd4c8b73711effa.js +0 -1
  489. package/.next-prod/static/chunks/app/api/lsp/status/route-ccd4c8b73711effa.js +0 -1
  490. package/.next-prod/static/chunks/app/api/lsp/warmup/route-ccd4c8b73711effa.js +0 -1
  491. package/.next-prod/static/chunks/app/api/mysql/columns/route-ccd4c8b73711effa.js +0 -1
  492. package/.next-prod/static/chunks/app/api/mysql/connect/route-ccd4c8b73711effa.js +0 -1
  493. package/.next-prod/static/chunks/app/api/mysql/disconnect/route-ccd4c8b73711effa.js +0 -1
  494. package/.next-prod/static/chunks/app/api/mysql/export/route-ccd4c8b73711effa.js +0 -1
  495. package/.next-prod/static/chunks/app/api/mysql/query/route-ccd4c8b73711effa.js +0 -1
  496. package/.next-prod/static/chunks/app/api/mysql/schemas/route-ccd4c8b73711effa.js +0 -1
  497. package/.next-prod/static/chunks/app/api/neo4j/connect/route-ccd4c8b73711effa.js +0 -1
  498. package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-ccd4c8b73711effa.js +0 -1
  499. package/.next-prod/static/chunks/app/api/neo4j/query/route-ccd4c8b73711effa.js +0 -1
  500. package/.next-prod/static/chunks/app/api/neo4j/schema/route-ccd4c8b73711effa.js +0 -1
  501. package/.next-prod/static/chunks/app/api/note/route-ccd4c8b73711effa.js +0 -1
  502. package/.next-prod/static/chunks/app/api/ollama/models/route-ccd4c8b73711effa.js +0 -1
  503. package/.next-prod/static/chunks/app/api/ollama/start/route-ccd4c8b73711effa.js +0 -1
  504. package/.next-prod/static/chunks/app/api/open-cursor/route-ccd4c8b73711effa.js +0 -1
  505. package/.next-prod/static/chunks/app/api/open-vscode/route-ccd4c8b73711effa.js +0 -1
  506. package/.next-prod/static/chunks/app/api/pick-folder/route-ccd4c8b73711effa.js +0 -1
  507. package/.next-prod/static/chunks/app/api/pinned-sessions/route-ccd4c8b73711effa.js +0 -1
  508. package/.next-prod/static/chunks/app/api/project-settings/route-ccd4c8b73711effa.js +0 -1
  509. package/.next-prod/static/chunks/app/api/project-state/route-ccd4c8b73711effa.js +0 -1
  510. package/.next-prod/static/chunks/app/api/projectGraph/affected/route-ccd4c8b73711effa.js +0 -1
  511. package/.next-prod/static/chunks/app/api/projectGraph/callees/route-ccd4c8b73711effa.js +0 -1
  512. package/.next-prod/static/chunks/app/api/projectGraph/callers/route-ccd4c8b73711effa.js +0 -1
  513. package/.next-prod/static/chunks/app/api/projectGraph/coedit/route-ccd4c8b73711effa.js +0 -1
  514. package/.next-prod/static/chunks/app/api/projectGraph/context/route-ccd4c8b73711effa.js +0 -1
  515. package/.next-prod/static/chunks/app/api/projectGraph/file/route-ccd4c8b73711effa.js +0 -1
  516. package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-ccd4c8b73711effa.js +0 -1
  517. package/.next-prod/static/chunks/app/api/projectGraph/impact/route-ccd4c8b73711effa.js +0 -1
  518. package/.next-prod/static/chunks/app/api/projectGraph/related/route-ccd4c8b73711effa.js +0 -1
  519. package/.next-prod/static/chunks/app/api/projectGraph/risk/route-ccd4c8b73711effa.js +0 -1
  520. package/.next-prod/static/chunks/app/api/projectGraph/search/route-ccd4c8b73711effa.js +0 -1
  521. package/.next-prod/static/chunks/app/api/projects/route-ccd4c8b73711effa.js +0 -1
  522. package/.next-prod/static/chunks/app/api/redis/command/route-ccd4c8b73711effa.js +0 -1
  523. package/.next-prod/static/chunks/app/api/redis/connect/route-ccd4c8b73711effa.js +0 -1
  524. package/.next-prod/static/chunks/app/api/redis/delete/route-ccd4c8b73711effa.js +0 -1
  525. package/.next-prod/static/chunks/app/api/redis/disconnect/route-ccd4c8b73711effa.js +0 -1
  526. package/.next-prod/static/chunks/app/api/redis/get/route-ccd4c8b73711effa.js +0 -1
  527. package/.next-prod/static/chunks/app/api/redis/keys/route-ccd4c8b73711effa.js +0 -1
  528. package/.next-prod/static/chunks/app/api/redis/set/route-ccd4c8b73711effa.js +0 -1
  529. package/.next-prod/static/chunks/app/api/review/[id]/comments/route-ccd4c8b73711effa.js +0 -1
  530. package/.next-prod/static/chunks/app/api/review/[id]/replies/route-ccd4c8b73711effa.js +0 -1
  531. package/.next-prod/static/chunks/app/api/review/[id]/route-ccd4c8b73711effa.js +0 -1
  532. package/.next-prod/static/chunks/app/api/review/identify/route-ccd4c8b73711effa.js +0 -1
  533. package/.next-prod/static/chunks/app/api/review/order/route-ccd4c8b73711effa.js +0 -1
  534. package/.next-prod/static/chunks/app/api/review/route-ccd4c8b73711effa.js +0 -1
  535. package/.next-prod/static/chunks/app/api/review/share-info/route-ccd4c8b73711effa.js +0 -1
  536. package/.next-prod/static/chunks/app/api/review/users/route-ccd4c8b73711effa.js +0 -1
  537. package/.next-prod/static/chunks/app/api/scheduled-tasks/route-ccd4c8b73711effa.js +0 -1
  538. package/.next-prod/static/chunks/app/api/services/config/route-ccd4c8b73711effa.js +0 -1
  539. package/.next-prod/static/chunks/app/api/services/scripts/route-ccd4c8b73711effa.js +0 -1
  540. package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-ccd4c8b73711effa.js +0 -1
  541. package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-ccd4c8b73711effa.js +0 -1
  542. package/.next-prod/static/chunks/app/api/session-by-path/route-ccd4c8b73711effa.js +0 -1
  543. package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-ccd4c8b73711effa.js +0 -1
  544. package/.next-prod/static/chunks/app/api/sessions/projects/route-ccd4c8b73711effa.js +0 -1
  545. package/.next-prod/static/chunks/app/api/sessions/route-ccd4c8b73711effa.js +0 -1
  546. package/.next-prod/static/chunks/app/api/settings/route-ccd4c8b73711effa.js +0 -1
  547. package/.next-prod/static/chunks/app/api/skills/[id]/route-ccd4c8b73711effa.js +0 -1
  548. package/.next-prod/static/chunks/app/api/skills/content/route-ccd4c8b73711effa.js +0 -1
  549. package/.next-prod/static/chunks/app/api/skills/route-ccd4c8b73711effa.js +0 -1
  550. package/.next-prod/static/chunks/app/api/terminal/aliases/route-ccd4c8b73711effa.js +0 -1
  551. package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-ccd4c8b73711effa.js +0 -1
  552. package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-ccd4c8b73711effa.js +0 -1
  553. package/.next-prod/static/chunks/app/api/terminal/env/route-ccd4c8b73711effa.js +0 -1
  554. package/.next-prod/static/chunks/app/api/terminal/history/route-ccd4c8b73711effa.js +0 -1
  555. package/.next-prod/static/chunks/app/api/version/route-ccd4c8b73711effa.js +0 -1
  556. package/.next-prod/static/chunks/app/manifest.webmanifest/route-ccd4c8b73711effa.js +0 -1
  557. package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-ccd4c8b73711effa.js +0 -1
  558. package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-ccd4c8b73711effa.js +0 -1
  559. package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-ccd4c8b73711effa.js +0 -1
  560. package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-ccd4c8b73711effa.js +0 -1
  561. package/.next-prod/static/css/ad6271f3f61ab845.css +0 -1
  562. /package/.next-prod/static/{3yP7H7dfhCBEDq0V_mbpG → -btylnafgKD-DMe4UTayG}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- [{"name":"run-webpack","duration":20626180,"timestamp":142274579,"id":14,"parentId":1,"tags":{},"startTime":1781184328170,"traceId":"37077a326bebe80a"},{"name":"run-typescript","duration":17041007,"timestamp":162911095,"id":1528,"parentId":1,"tags":{},"startTime":1781184348807,"traceId":"37077a326bebe80a"},{"name":"static-check","duration":1064279,"timestamp":179986845,"id":1531,"parentId":1,"tags":{},"startTime":1781184365883,"traceId":"37077a326bebe80a"},{"name":"static-generation","duration":5542398,"timestamp":181428395,"id":1789,"parentId":1,"tags":{},"startTime":1781184367324,"traceId":"37077a326bebe80a"},{"name":"collect-build-traces","duration":18686972,"timestamp":181051779,"id":1786,"parentId":1,"tags":{},"startTime":1781184366947,"traceId":"37077a326bebe80a"},{"name":"telemetry-flush","duration":53,"timestamp":199742438,"id":1798,"parentId":1,"tags":{},"startTime":1781184385638,"traceId":"37077a326bebe80a"},{"name":"next-build","duration":57597755,"timestamp":142144748,"id":1,"tags":{"buildMode":"default","version":"16.2.6","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1781184328040,"traceId":"37077a326bebe80a"}]
1
+ [{"name":"run-webpack","duration":20502622,"timestamp":198706265,"id":14,"parentId":1,"tags":{},"startTime":1781770863347,"traceId":"3a6e879ca40837cb"},{"name":"run-typescript","duration":16558232,"timestamp":219218945,"id":1536,"parentId":1,"tags":{},"startTime":1781770883860,"traceId":"3a6e879ca40837cb"},{"name":"static-check","duration":1114492,"timestamp":235815252,"id":1539,"parentId":1,"tags":{},"startTime":1781770900456,"traceId":"3a6e879ca40837cb"},{"name":"static-generation","duration":5904576,"timestamp":237119137,"id":1799,"parentId":1,"tags":{},"startTime":1781770901760,"traceId":"3a6e879ca40837cb"},{"name":"collect-build-traces","duration":18959499,"timestamp":236930437,"id":1796,"parentId":1,"tags":{},"startTime":1781770901572,"traceId":"3a6e879ca40837cb"},{"name":"telemetry-flush","duration":51,"timestamp":255894400,"id":1808,"parentId":1,"tags":{},"startTime":1781770920535,"traceId":"3a6e879ca40837cb"},{"name":"next-build","duration":57355054,"timestamp":198539410,"id":1,"tags":{"buildMode":"default","version":"16.2.6","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1781770863181,"traceId":"3a6e879ca40837cb"}]
@@ -0,0 +1,351 @@
1
+ // File: /home/runner/work/cockpit/cockpit/src/app/api/git/current-branch/route.ts
2
+ import * as entry from '../../../../../../src/app/api/git/current-branch/route.js'
3
+ import type { NextRequest } from 'next/server.js'
4
+
5
+ import type { InstantConfigForTypeCheckInternal } from 'next/dist/build/segment-config/app/app-segment-config.js'
6
+
7
+ type TEntry = typeof import('../../../../../../src/app/api/git/current-branch/route.js')
8
+
9
+ type SegmentParams<T extends Object = any> = T extends Record<string, any>
10
+ ? { [K in keyof T]: T[K] extends string ? string | string[] | undefined : never }
11
+ : T
12
+
13
+ // Check that the entry is a valid entry
14
+ checkFields<Diff<{
15
+ GET?: Function
16
+ HEAD?: Function
17
+ OPTIONS?: Function
18
+ POST?: Function
19
+ PUT?: Function
20
+ DELETE?: Function
21
+ PATCH?: Function
22
+ config?: {}
23
+ generateStaticParams?: Function
24
+ unstable_instant?: InstantConfigForTypeCheckInternal
25
+ unstable_dynamicStaleTime?: number
26
+ revalidate?: RevalidateRange<TEntry> | false
27
+ dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
28
+ dynamicParams?: boolean
29
+ fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
30
+ preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
31
+ runtime?: 'nodejs' | 'experimental-edge' | 'edge'
32
+ maxDuration?: number
33
+
34
+ }, TEntry, ''>>()
35
+
36
+ type RouteContext = { params: Promise<SegmentParams> }
37
+ // Check the prop type of the entry function
38
+ if ('GET' in entry) {
39
+ checkFields<
40
+ Diff<
41
+ ParamCheck<Request | NextRequest>,
42
+ {
43
+ __tag__: 'GET'
44
+ __param_position__: 'first'
45
+ __param_type__: FirstArg<MaybeField<TEntry, 'GET'>>
46
+ },
47
+ 'GET'
48
+ >
49
+ >()
50
+ checkFields<
51
+ Diff<
52
+ ParamCheck<RouteContext>,
53
+ {
54
+ __tag__: 'GET'
55
+ __param_position__: 'second'
56
+ __param_type__: SecondArg<MaybeField<TEntry, 'GET'>>
57
+ },
58
+ 'GET'
59
+ >
60
+ >()
61
+
62
+ checkFields<
63
+ Diff<
64
+ {
65
+ __tag__: 'GET',
66
+ __return_type__: Response | void | never | Promise<Response | void | never>
67
+ },
68
+ {
69
+ __tag__: 'GET',
70
+ __return_type__: ReturnType<MaybeField<TEntry, 'GET'>>
71
+ },
72
+ 'GET'
73
+ >
74
+ >()
75
+ }
76
+ // Check the prop type of the entry function
77
+ if ('HEAD' in entry) {
78
+ checkFields<
79
+ Diff<
80
+ ParamCheck<Request | NextRequest>,
81
+ {
82
+ __tag__: 'HEAD'
83
+ __param_position__: 'first'
84
+ __param_type__: FirstArg<MaybeField<TEntry, 'HEAD'>>
85
+ },
86
+ 'HEAD'
87
+ >
88
+ >()
89
+ checkFields<
90
+ Diff<
91
+ ParamCheck<RouteContext>,
92
+ {
93
+ __tag__: 'HEAD'
94
+ __param_position__: 'second'
95
+ __param_type__: SecondArg<MaybeField<TEntry, 'HEAD'>>
96
+ },
97
+ 'HEAD'
98
+ >
99
+ >()
100
+
101
+ checkFields<
102
+ Diff<
103
+ {
104
+ __tag__: 'HEAD',
105
+ __return_type__: Response | void | never | Promise<Response | void | never>
106
+ },
107
+ {
108
+ __tag__: 'HEAD',
109
+ __return_type__: ReturnType<MaybeField<TEntry, 'HEAD'>>
110
+ },
111
+ 'HEAD'
112
+ >
113
+ >()
114
+ }
115
+ // Check the prop type of the entry function
116
+ if ('OPTIONS' in entry) {
117
+ checkFields<
118
+ Diff<
119
+ ParamCheck<Request | NextRequest>,
120
+ {
121
+ __tag__: 'OPTIONS'
122
+ __param_position__: 'first'
123
+ __param_type__: FirstArg<MaybeField<TEntry, 'OPTIONS'>>
124
+ },
125
+ 'OPTIONS'
126
+ >
127
+ >()
128
+ checkFields<
129
+ Diff<
130
+ ParamCheck<RouteContext>,
131
+ {
132
+ __tag__: 'OPTIONS'
133
+ __param_position__: 'second'
134
+ __param_type__: SecondArg<MaybeField<TEntry, 'OPTIONS'>>
135
+ },
136
+ 'OPTIONS'
137
+ >
138
+ >()
139
+
140
+ checkFields<
141
+ Diff<
142
+ {
143
+ __tag__: 'OPTIONS',
144
+ __return_type__: Response | void | never | Promise<Response | void | never>
145
+ },
146
+ {
147
+ __tag__: 'OPTIONS',
148
+ __return_type__: ReturnType<MaybeField<TEntry, 'OPTIONS'>>
149
+ },
150
+ 'OPTIONS'
151
+ >
152
+ >()
153
+ }
154
+ // Check the prop type of the entry function
155
+ if ('POST' in entry) {
156
+ checkFields<
157
+ Diff<
158
+ ParamCheck<Request | NextRequest>,
159
+ {
160
+ __tag__: 'POST'
161
+ __param_position__: 'first'
162
+ __param_type__: FirstArg<MaybeField<TEntry, 'POST'>>
163
+ },
164
+ 'POST'
165
+ >
166
+ >()
167
+ checkFields<
168
+ Diff<
169
+ ParamCheck<RouteContext>,
170
+ {
171
+ __tag__: 'POST'
172
+ __param_position__: 'second'
173
+ __param_type__: SecondArg<MaybeField<TEntry, 'POST'>>
174
+ },
175
+ 'POST'
176
+ >
177
+ >()
178
+
179
+ checkFields<
180
+ Diff<
181
+ {
182
+ __tag__: 'POST',
183
+ __return_type__: Response | void | never | Promise<Response | void | never>
184
+ },
185
+ {
186
+ __tag__: 'POST',
187
+ __return_type__: ReturnType<MaybeField<TEntry, 'POST'>>
188
+ },
189
+ 'POST'
190
+ >
191
+ >()
192
+ }
193
+ // Check the prop type of the entry function
194
+ if ('PUT' in entry) {
195
+ checkFields<
196
+ Diff<
197
+ ParamCheck<Request | NextRequest>,
198
+ {
199
+ __tag__: 'PUT'
200
+ __param_position__: 'first'
201
+ __param_type__: FirstArg<MaybeField<TEntry, 'PUT'>>
202
+ },
203
+ 'PUT'
204
+ >
205
+ >()
206
+ checkFields<
207
+ Diff<
208
+ ParamCheck<RouteContext>,
209
+ {
210
+ __tag__: 'PUT'
211
+ __param_position__: 'second'
212
+ __param_type__: SecondArg<MaybeField<TEntry, 'PUT'>>
213
+ },
214
+ 'PUT'
215
+ >
216
+ >()
217
+
218
+ checkFields<
219
+ Diff<
220
+ {
221
+ __tag__: 'PUT',
222
+ __return_type__: Response | void | never | Promise<Response | void | never>
223
+ },
224
+ {
225
+ __tag__: 'PUT',
226
+ __return_type__: ReturnType<MaybeField<TEntry, 'PUT'>>
227
+ },
228
+ 'PUT'
229
+ >
230
+ >()
231
+ }
232
+ // Check the prop type of the entry function
233
+ if ('DELETE' in entry) {
234
+ checkFields<
235
+ Diff<
236
+ ParamCheck<Request | NextRequest>,
237
+ {
238
+ __tag__: 'DELETE'
239
+ __param_position__: 'first'
240
+ __param_type__: FirstArg<MaybeField<TEntry, 'DELETE'>>
241
+ },
242
+ 'DELETE'
243
+ >
244
+ >()
245
+ checkFields<
246
+ Diff<
247
+ ParamCheck<RouteContext>,
248
+ {
249
+ __tag__: 'DELETE'
250
+ __param_position__: 'second'
251
+ __param_type__: SecondArg<MaybeField<TEntry, 'DELETE'>>
252
+ },
253
+ 'DELETE'
254
+ >
255
+ >()
256
+
257
+ checkFields<
258
+ Diff<
259
+ {
260
+ __tag__: 'DELETE',
261
+ __return_type__: Response | void | never | Promise<Response | void | never>
262
+ },
263
+ {
264
+ __tag__: 'DELETE',
265
+ __return_type__: ReturnType<MaybeField<TEntry, 'DELETE'>>
266
+ },
267
+ 'DELETE'
268
+ >
269
+ >()
270
+ }
271
+ // Check the prop type of the entry function
272
+ if ('PATCH' in entry) {
273
+ checkFields<
274
+ Diff<
275
+ ParamCheck<Request | NextRequest>,
276
+ {
277
+ __tag__: 'PATCH'
278
+ __param_position__: 'first'
279
+ __param_type__: FirstArg<MaybeField<TEntry, 'PATCH'>>
280
+ },
281
+ 'PATCH'
282
+ >
283
+ >()
284
+ checkFields<
285
+ Diff<
286
+ ParamCheck<RouteContext>,
287
+ {
288
+ __tag__: 'PATCH'
289
+ __param_position__: 'second'
290
+ __param_type__: SecondArg<MaybeField<TEntry, 'PATCH'>>
291
+ },
292
+ 'PATCH'
293
+ >
294
+ >()
295
+
296
+ checkFields<
297
+ Diff<
298
+ {
299
+ __tag__: 'PATCH',
300
+ __return_type__: Response | void | never | Promise<Response | void | never>
301
+ },
302
+ {
303
+ __tag__: 'PATCH',
304
+ __return_type__: ReturnType<MaybeField<TEntry, 'PATCH'>>
305
+ },
306
+ 'PATCH'
307
+ >
308
+ >()
309
+ }
310
+
311
+ // Check the arguments and return type of the generateStaticParams function
312
+ if ('generateStaticParams' in entry) {
313
+ checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
314
+ checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
315
+ }
316
+
317
+ export interface PageProps {
318
+ params?: Promise<SegmentParams>
319
+ searchParams?: Promise<any>
320
+ }
321
+ export interface LayoutProps {
322
+ children?: React.ReactNode
323
+
324
+ params?: Promise<SegmentParams>
325
+ }
326
+
327
+ // =============
328
+ // Utility types
329
+ type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
330
+
331
+ // If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
332
+ type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
333
+ type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
334
+
335
+ type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
336
+ type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
337
+ type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
338
+
339
+ type ParamCheck<T> = {
340
+ __tag__: string
341
+ __param_position__: string
342
+ __param_type__: T
343
+ }
344
+
345
+ function checkFields<_ extends { [k in keyof any]: never }>() {}
346
+
347
+ // https://github.com/sindresorhus/type-fest
348
+ type Numeric = number | bigint
349
+ type Zero = 0 | 0n
350
+ type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
351
+ type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'
@@ -2,7 +2,7 @@
2
2
  // Do not edit this file manually
3
3
 
4
4
  type AppRoutes = "/" | "/project" | "/review/[id]"
5
- type AppRouteHandlerRoutes = "/api/agent/test" | "/api/bash" | "/api/chat" | "/api/chat/codex" | "/api/chat/deepseek" | "/api/chat/kimi" | "/api/chat/ollama" | "/api/chat/pty-input" | "/api/claude-stats" | "/api/commands" | "/api/comments" | "/api/db/columns" | "/api/db/connect" | "/api/db/disconnect" | "/api/db/export" | "/api/db/query" | "/api/db/schemas" | "/api/dev/spans" | "/api/extension/version" | "/api/file" | "/api/files/blame" | "/api/files/clipboard" | "/api/files/copy" | "/api/files/delete" | "/api/files/expanded" | "/api/files/index" | "/api/files/init" | "/api/files/paste" | "/api/files/read" | "/api/files/readdir" | "/api/files/recent" | "/api/files/save" | "/api/files/search" | "/api/files/stat" | "/api/files/text" | "/api/git/branch-diff" | "/api/git/branches" | "/api/git/commit-diff" | "/api/git/commits" | "/api/git/diff" | "/api/git/discard" | "/api/git/stage" | "/api/git/status" | "/api/git/unstage" | "/api/git/worktree" | "/api/global-state" | "/api/jupyter/load" | "/api/jupyter/save" | "/api/jupyter/shutdown" | "/api/lsp/definition" | "/api/lsp/hover" | "/api/lsp/references" | "/api/lsp/status" | "/api/lsp/warmup" | "/api/mysql/columns" | "/api/mysql/connect" | "/api/mysql/disconnect" | "/api/mysql/export" | "/api/mysql/query" | "/api/mysql/schemas" | "/api/neo4j/connect" | "/api/neo4j/disconnect" | "/api/neo4j/query" | "/api/neo4j/schema" | "/api/note" | "/api/ollama/models" | "/api/ollama/start" | "/api/open-cursor" | "/api/open-vscode" | "/api/pick-folder" | "/api/pinned-sessions" | "/api/project-settings" | "/api/project-state" | "/api/projectGraph/affected" | "/api/projectGraph/callees" | "/api/projectGraph/callers" | "/api/projectGraph/coedit" | "/api/projectGraph/context" | "/api/projectGraph/file" | "/api/projectGraph/file-functions" | "/api/projectGraph/impact" | "/api/projectGraph/related" | "/api/projectGraph/risk" | "/api/projectGraph/search" | "/api/projects" | "/api/redis/command" | "/api/redis/connect" | "/api/redis/delete" | "/api/redis/disconnect" | "/api/redis/get" | "/api/redis/keys" | "/api/redis/set" | "/api/review" | "/api/review/[id]" | "/api/review/[id]/comments" | "/api/review/[id]/replies" | "/api/review/identify" | "/api/review/order" | "/api/review/share-info" | "/api/review/users" | "/api/scheduled-tasks" | "/api/services/config" | "/api/services/scripts" | "/api/session-by-path" | "/api/session/[sessionId]/fork" | "/api/session/[sessionId]/history" | "/api/sessions" | "/api/sessions/projects" | "/api/sessions/projects/[encodedPath]" | "/api/settings" | "/api/skills" | "/api/skills/[id]" | "/api/skills/content" | "/api/terminal/aliases" | "/api/terminal/autocomplete" | "/api/terminal/bubble-order" | "/api/terminal/env" | "/api/terminal/history" | "/api/version"
5
+ type AppRouteHandlerRoutes = "/api/agent/test" | "/api/bash" | "/api/chat" | "/api/chat/codex" | "/api/chat/deepseek" | "/api/chat/kimi" | "/api/chat/ollama" | "/api/chat/pty-input" | "/api/claude-stats" | "/api/commands" | "/api/comments" | "/api/db/columns" | "/api/db/connect" | "/api/db/disconnect" | "/api/db/export" | "/api/db/query" | "/api/db/schemas" | "/api/dev/spans" | "/api/extension/version" | "/api/file" | "/api/files/blame" | "/api/files/clipboard" | "/api/files/copy" | "/api/files/delete" | "/api/files/expanded" | "/api/files/index" | "/api/files/init" | "/api/files/paste" | "/api/files/read" | "/api/files/readdir" | "/api/files/recent" | "/api/files/save" | "/api/files/search" | "/api/files/stat" | "/api/files/text" | "/api/git/branch-diff" | "/api/git/branches" | "/api/git/commit-diff" | "/api/git/commits" | "/api/git/current-branch" | "/api/git/diff" | "/api/git/discard" | "/api/git/stage" | "/api/git/status" | "/api/git/unstage" | "/api/git/worktree" | "/api/global-state" | "/api/jupyter/load" | "/api/jupyter/save" | "/api/jupyter/shutdown" | "/api/lsp/definition" | "/api/lsp/hover" | "/api/lsp/references" | "/api/lsp/status" | "/api/lsp/warmup" | "/api/mysql/columns" | "/api/mysql/connect" | "/api/mysql/disconnect" | "/api/mysql/export" | "/api/mysql/query" | "/api/mysql/schemas" | "/api/neo4j/connect" | "/api/neo4j/disconnect" | "/api/neo4j/query" | "/api/neo4j/schema" | "/api/note" | "/api/ollama/models" | "/api/ollama/start" | "/api/open-cursor" | "/api/open-vscode" | "/api/pick-folder" | "/api/pinned-sessions" | "/api/project-settings" | "/api/project-state" | "/api/projectGraph/affected" | "/api/projectGraph/callees" | "/api/projectGraph/callers" | "/api/projectGraph/coedit" | "/api/projectGraph/context" | "/api/projectGraph/file" | "/api/projectGraph/file-functions" | "/api/projectGraph/impact" | "/api/projectGraph/related" | "/api/projectGraph/risk" | "/api/projectGraph/search" | "/api/projects" | "/api/redis/command" | "/api/redis/connect" | "/api/redis/delete" | "/api/redis/disconnect" | "/api/redis/get" | "/api/redis/keys" | "/api/redis/set" | "/api/review" | "/api/review/[id]" | "/api/review/[id]/comments" | "/api/review/[id]/replies" | "/api/review/identify" | "/api/review/order" | "/api/review/share-info" | "/api/review/users" | "/api/scheduled-tasks" | "/api/services/config" | "/api/services/scripts" | "/api/session-by-path" | "/api/session/[sessionId]/fork" | "/api/session/[sessionId]/history" | "/api/sessions" | "/api/sessions/projects" | "/api/sessions/projects/[encodedPath]" | "/api/settings" | "/api/skills" | "/api/skills/[id]" | "/api/skills/content" | "/api/terminal/aliases" | "/api/terminal/autocomplete" | "/api/terminal/bubble-order" | "/api/terminal/env" | "/api/terminal/history" | "/api/version"
6
6
  type PageRoutes = never
7
7
  type LayoutRoutes = "/"
8
8
  type RedirectRoutes = never
@@ -51,6 +51,7 @@ interface ParamMap {
51
51
  "/api/git/branches": {}
52
52
  "/api/git/commit-diff": {}
53
53
  "/api/git/commits": {}
54
+ "/api/git/current-branch": {}
54
55
  "/api/git/diff": {}
55
56
  "/api/git/discard": {}
56
57
  "/api/git/stage": {}
@@ -425,6 +425,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
425
425
  type __Unused = __Check
426
426
  }
427
427
 
428
+ // Validate ../../src/app/api/git/current-branch/route.ts
429
+ {
430
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/git/current-branch">> = Specific
431
+ const handler = {} as typeof import("../../src/app/api/git/current-branch/route.js")
432
+ type __Check = __IsExpected<typeof handler>
433
+ // @ts-ignore
434
+ type __Unused = __Check
435
+ }
436
+
428
437
  // Validate ../../src/app/api/git/diff/route.ts
429
438
  {
430
439
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/git/diff">> = Specific
package/README.md CHANGED
@@ -49,7 +49,7 @@ Cockpit is the instrument panel. It does **not** replace Claude Code; it stands
49
49
  | Agent can't reach your browser / DB | **Smart Bubbles**: Chrome, PostgreSQL, MySQL, Redis — drivable by the agent |
50
50
  | Reading an unfamiliar repo means a 90-min file-tree scavenger hunt | **Code Map** chip view — caller / callee pins, click to walk the call graph |
51
51
  | Reviewing AI output is friction | **LAN-shared review pages**, line-level comments, send any comment back as AI context |
52
- | Same "do X but don't change code" prompt every day | **Slash modes** `/qa /fx /ex /go /cg /cc` + custom `SKILL.md` via the Skills sidebar |
52
+ | Same "do X but don't change code" prompt every day | **Slash modes** `/qa /fx /ex /go /cg /cc /cr` + custom `SKILL.md` via the Skills sidebar |
53
53
  | No automation hooks | One-time / interval / cron-based **scheduled tasks** |
54
54
  | "Cloud relay" trust concerns | **Fully local**. No telemetry. Keys (Codex / DeepSeek / Kimi) stay in `~/.cockpit/settings.json` on your laptop. |
55
55
 
@@ -107,6 +107,7 @@ Cockpit is the instrument panel. It does **not** replace Claude Code; it stands
107
107
  - `/go` — **Land**: take a converged plan, slice into MVP stages, write + self-verify per stage, recap at end
108
108
  - `/cg` — **CodeGraph** project exploration: 10 HTTP endpoints for symbol / callers / impact / co-edit / risk / affected queries (precise where grep is fuzzy)
109
109
  - `/cc` — **Cockpit CLI**: drive the cockpit CLI surface — codegraph subcommands, terminal observation, browser automation
110
+ - `/cr` — **Code review**: full PR review — static triangulation (intent / input domain / surroundings) + dynamic modelling (state diagram + timeline → 6 risk classes), findings ranked by impact × probability
110
111
  - **Custom**: drop any `SKILL.md` and add it via the Skills sidebar — it auto-appears in the slash autocomplete menu (see [Skills](#skills--extensibility))
111
112
 
112
113
  ### Scheduled tasks — Cron for AI
package/README.zh.md CHANGED
@@ -49,7 +49,7 @@ Cockpit 就是那个仪表盘。它**不替代** Claude Code,而是站在官
49
49
  | Agent 够不到浏览器 / 数据库 | **智能气泡**:Chrome、PostgreSQL、MySQL、Redis —— Agent 可驱动 |
50
50
  | 读陌生仓库就是 90 分钟"找地鼠" | **代码地图(Code Map)** chip 视图 —— caller / callee pin 一点即跳 |
51
51
  | AI 输出审阅低效 | **局域网共享评审页**、行级评论、任意评论可回喂给 AI |
52
- | 每天写一遍"做 X 但不要动代码" | **斜杠模式** `/qa /fx /ex /go /cg /cc` + 通过 Skills 侧边栏自定义 `SKILL.md` |
52
+ | 每天写一遍"做 X 但不要动代码" | **斜杠模式** `/qa /fx /ex /go /cg /cc /cr` + 通过 Skills 侧边栏自定义 `SKILL.md` |
53
53
  | 没有自动化触发器 | 一次性 / 间隔 / **Cron** **定时任务** |
54
54
  | 担心"云端中转" | **完全本地**。无遥测,Codex / DeepSeek / Kimi 的 Key 仅存在本机 `~/.cockpit/settings.json` |
55
55
 
@@ -107,6 +107,7 @@ Cockpit 就是那个仪表盘。它**不替代** Claude Code,而是站在官
107
107
  - `/go` —— **落地**:把收敛后的方案切成 MVP 阶段,每阶段自运行验证,最后端到端回看
108
108
  - `/cg` —— **CodeGraph 项目探索**:10 个 HTTP 接口按符号 / 调用关系 / 影响范围 / 协同编辑 / 风险 / 受影响测试精确查询(比 grep 精准)
109
109
  - `/cc` —— **Cockpit CLI**:驾驭 cockpit 命令行 —— codegraph 子命令、terminal 观察、browser 自动化
110
+ - `/cr` —— **代码审查**:完整 PR 审查 —— 静态三角校验(意图 / 输入域 / 周遭)+ 动态推演(状态图 + 时间线 → 6 类风险),按 影响 × 概率 排序输出 findings
110
111
  - **自定义**:任意 `SKILL.md` 通过 Skills 侧边栏添加 —— 自动出现在斜杠补全菜单(见 [Skills](#skills--可扩展性))
111
112
 
112
113
  ### 定时任务 —— 给 AI 的 Cron
@@ -81,28 +81,43 @@ async function getSessionTitle(cwd, sessionId) {
81
81
  }
82
82
  return "Untitled Session";
83
83
  }
84
- async function getLastUserMessage(cwd, sessionId) {
84
+ async function collectUserMessages(cwd, sessionId) {
85
85
  const claudePath = getClaudeSessionPath(cwd, sessionId);
86
86
  if (existsSync(claudePath)) {
87
- return await getClaudeStyleLastUserMessage(claudePath);
87
+ return await getClaudeStyleUserMessages(claudePath);
88
88
  }
89
89
  const claude2Path = getClaude2SessionPath(cwd, sessionId);
90
90
  if (existsSync(claude2Path)) {
91
- return await getClaudeStyleLastUserMessage(claude2Path);
91
+ return await getClaudeStyleUserMessages(claude2Path);
92
92
  }
93
93
  const ollamaPath = getOllamaSessionPath(cwd, sessionId);
94
94
  if (existsSync(ollamaPath)) {
95
- return await getClaudeStyleLastUserMessage(ollamaPath);
95
+ return await getClaudeStyleUserMessages(ollamaPath);
96
96
  }
97
97
  const codexPath = findCodexSessionPath(sessionId);
98
98
  if (codexPath && existsSync(codexPath)) {
99
- return await getCodexLastUserMessage(codexPath);
99
+ return await getCodexUserMessages(codexPath);
100
100
  }
101
101
  const kimiPath = findKimiSessionPath(sessionId);
102
102
  if (kimiPath && existsSync(kimiPath)) {
103
- return await getKimiLastUserMessage(kimiPath);
103
+ return await getKimiUserMessages(kimiPath);
104
104
  }
105
- return void 0;
105
+ return [];
106
+ }
107
+ var SUMMARY_THRESHOLD = 10;
108
+ var SUMMARY_HEAD = 5;
109
+ var SUMMARY_TAIL = 5;
110
+ async function getSessionPreview(cwd, sessionId) {
111
+ const messages = await collectUserMessages(cwd, sessionId);
112
+ const lastUserMessage = messages[messages.length - 1];
113
+ if (messages.length <= SUMMARY_THRESHOLD) {
114
+ return { lastUserMessage, firstMessages: messages.map((m) => truncate(m)), lastMessages: [] };
115
+ }
116
+ return {
117
+ lastUserMessage,
118
+ firstMessages: messages.slice(0, SUMMARY_HEAD).map((m) => truncate(m)),
119
+ lastMessages: messages.slice(-SUMMARY_TAIL).map((m) => truncate(m))
120
+ };
106
121
  }
107
122
  function filterCommandTags(text) {
108
123
  let filtered = text.replace(/<command-[^>]*>[\s\S]*?<\/command-[^>]*>/g, "");
@@ -148,11 +163,11 @@ async function getClaudeStyleTitle(filePath) {
148
163
  return "Untitled Session";
149
164
  }
150
165
  }
151
- async function getClaudeStyleLastUserMessage(filePath) {
166
+ async function getClaudeStyleUserMessages(filePath) {
167
+ const messages = [];
152
168
  try {
153
169
  const fileStream = createReadStream(filePath);
154
170
  const rl = createInterface({ input: fileStream, crlfDelay: Infinity });
155
- let lastUserMessage;
156
171
  for await (const line of rl) {
157
172
  if (!line.trim()) continue;
158
173
  try {
@@ -174,21 +189,20 @@ async function getClaudeStyleLastUserMessage(filePath) {
174
189
  if (!text) continue;
175
190
  const filtered = filterCommandTags(text);
176
191
  if (filtered && isValidUserMessage(filtered)) {
177
- lastUserMessage = filtered;
192
+ messages.push(filtered);
178
193
  }
179
194
  } catch {
180
195
  }
181
196
  }
182
- return lastUserMessage;
183
197
  } catch {
184
- return void 0;
185
198
  }
199
+ return messages;
186
200
  }
187
- async function getCodexLastUserMessage(filePath) {
201
+ async function getCodexUserMessages(filePath) {
202
+ const messages = [];
188
203
  try {
189
204
  const fileStream = createReadStream(filePath);
190
205
  const rl = createInterface({ input: fileStream, crlfDelay: Infinity });
191
- let last;
192
206
  for await (const line of rl) {
193
207
  if (!line.trim()) continue;
194
208
  let entry;
@@ -204,13 +218,12 @@ async function getCodexLastUserMessage(filePath) {
204
218
  if (!text || text.startsWith("<") || text.startsWith("#")) continue;
205
219
  const filtered = filterCommandTags(text);
206
220
  if (filtered && isValidUserMessage(filtered)) {
207
- last = filtered;
221
+ messages.push(filtered);
208
222
  }
209
223
  }
210
- return last;
211
224
  } catch {
212
- return void 0;
213
225
  }
226
+ return messages;
214
227
  }
215
228
  async function getCodexTitle(filePath) {
216
229
  try {
@@ -236,11 +249,11 @@ async function getCodexTitle(filePath) {
236
249
  return void 0;
237
250
  }
238
251
  }
239
- async function getKimiLastUserMessage(filePath) {
252
+ async function getKimiUserMessages(filePath) {
253
+ const messages = [];
240
254
  try {
241
255
  const fileStream = createReadStream(filePath);
242
256
  const rl = createInterface({ input: fileStream, crlfDelay: Infinity });
243
- let last;
244
257
  for await (const line of rl) {
245
258
  if (!line.trim()) continue;
246
259
  let entry;
@@ -256,13 +269,12 @@ async function getKimiLastUserMessage(filePath) {
256
269
  }
257
270
  const filtered = filterCommandTags(text);
258
271
  if (filtered && isValidUserMessage(filtered)) {
259
- last = filtered;
272
+ messages.push(filtered);
260
273
  }
261
274
  }
262
- return last;
263
275
  } catch {
264
- return void 0;
265
276
  }
277
+ return messages;
266
278
  }
267
279
  async function getKimiTitle(filePath) {
268
280
  try {
@@ -310,5 +322,5 @@ function generateTitle(summary, userMessages) {
310
322
  export {
311
323
  updateGlobalState,
312
324
  getSessionTitle,
313
- getLastUserMessage
325
+ getSessionPreview
314
326
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getSessionTitle,
3
3
  updateGlobalState
4
- } from "./chunk-4S74IEU4.mjs";
4
+ } from "./chunk-RQEEQUTA.mjs";
5
5
  import {
6
6
  AgentError,
7
7
  AppRuntime,
@@ -72,24 +72,10 @@ var sendClaudeMessageEff = (task) => {
72
72
  resume: task.sessionId,
73
73
  cwd: task.cwd,
74
74
  settingSources: ["user", "project", "local"],
75
- allowedTools: [
76
- "Read",
77
- "Write",
78
- "Edit",
79
- "Bash",
80
- "Glob",
81
- "Grep",
82
- "WebFetch",
83
- "WebSearch",
84
- "Task",
85
- // Task management — claude-agent-sdk@0.3.142 replaced TodoWrite
86
- // with per-task TaskCreate/Update/Get/List events.
87
- "TaskCreate",
88
- "TaskUpdate",
89
- "TaskGet",
90
- "TaskList",
91
- "mcp__*"
92
- ],
75
+ // No allowedTools whitelist: tool availability is decided by the `tools` option
76
+ // (unset → all built-in tools registered by default). allowedTools only pre-approves
77
+ // the permission prompt, which bypassPermissions skips. (Native bun-compiled builds
78
+ // would need Grep/Glob listed explicitly; we run via the node CLI, so it doesn't apply.)
93
79
  permissionMode: "bypassPermissions",
94
80
  allowDangerouslySkipPermissions: true,
95
81
  // For claude2 engine, override config directory to ~/.claude2
package/dist/wsServer.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
- getLastUserMessage
3
- } from "./chunk-4S74IEU4.mjs";
2
+ getSessionPreview
3
+ } from "./chunk-RQEEQUTA.mjs";
4
4
  import {
5
5
  addExitListener,
6
6
  addOutputListener,
@@ -123,10 +123,15 @@ var sendGlobalState = (conn) => Effect_exports.gen(function* () {
123
123
  const sessions = yield* Effect_exports.forEach(
124
124
  recent,
125
125
  (session) => session.status === "loading" && session.lastUserMessage ? Effect_exports.succeed(session) : Effect_exports.tryPromise({
126
- try: () => getLastUserMessage(session.cwd, session.sessionId),
126
+ try: () => getSessionPreview(session.cwd, session.sessionId),
127
127
  catch: () => void 0
128
128
  }).pipe(
129
- Effect_exports.map((lastUserMessage) => ({ ...session, lastUserMessage })),
129
+ Effect_exports.map((preview) => ({
130
+ ...session,
131
+ lastUserMessage: preview.lastUserMessage ?? session.lastUserMessage,
132
+ firstMessages: preview.firstMessages,
133
+ lastMessages: preview.lastMessages
134
+ })),
130
135
  Effect_exports.orElseSucceed(() => session)
131
136
  ),
132
137
  { concurrency: "unbounded" }
@@ -951,6 +956,16 @@ var dispatchMessage = (msg, projectCwd, registry, send) => Effect_exports.sync((
951
956
  USER: process.env.USER,
952
957
  SHELL: process.env.SHELL,
953
958
  TERM: "xterm-256color",
959
+ // UTF-8 locale so the pty renders multi-byte text (CJK, emoji) correctly.
960
+ // ptyEnv is rebuilt from scratch (not inherited from process.env), and a
961
+ // macOS `--login` shell does NOT restore LANG (Terminal.app/iTerm inject it,
962
+ // not the rc files) — so without this, vim/less open UTF-8 files in the
963
+ // C/POSIX locale and mojibake every non-ASCII char. Pass the real locale
964
+ // through when present, else fall back to a UTF-8 default; LC_ALL/LC_CTYPE
965
+ // stay undefined (and are skipped below) unless the server actually has them.
966
+ LANG: process.env.LANG ?? "en_US.UTF-8",
967
+ LC_ALL: process.env.LC_ALL,
968
+ LC_CTYPE: process.env.LC_CTYPE,
954
969
  FORCE_COLOR: "1",
955
970
  CLICOLOR: "1",
956
971
  CLICOLOR_FORCE: "1",