@surething/cockpit 1.0.260 → 1.0.262

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 (678) hide show
  1. package/.next-prod/BUILD_ID +1 -1
  2. package/.next-prod/app-path-routes-manifest.json +7 -4
  3. package/.next-prod/build-manifest.json +2 -2
  4. package/.next-prod/cockpit-build.json +1 -1
  5. package/.next-prod/prerender-manifest.json +4 -4
  6. package/.next-prod/routes-manifest.json +18 -0
  7. package/.next-prod/server/app/_global-error/page.js +2 -2
  8. package/.next-prod/server/app/_global-error/page.js.nft.json +1 -1
  9. package/.next-prod/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next-prod/server/app/_global-error.html +1 -1
  11. package/.next-prod/server/app/_global-error.rsc +1 -1
  12. package/.next-prod/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next-prod/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  14. package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next-prod/server/app/_not-found/page.js +1 -1
  16. package/.next-prod/server/app/_not-found/page.js.nft.json +1 -1
  17. package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next-prod/server/app/_not-found.html +2 -2
  19. package/.next-prod/server/app/_not-found.rsc +4 -4
  20. package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +4 -4
  21. package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +12 -11
  22. package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  24. package/.next-prod/server/app/api/agent/test/route.js +1 -1
  25. package/.next-prod/server/app/api/agent/test/route.js.nft.json +1 -1
  26. package/.next-prod/server/app/api/bash/route.js +1 -1
  27. package/.next-prod/server/app/api/bash/route.js.nft.json +1 -1
  28. package/.next-prod/server/app/api/chat/codex/route.js +1 -1
  29. package/.next-prod/server/app/api/chat/codex/route.js.nft.json +1 -1
  30. package/.next-prod/server/app/api/chat/deepseek/route.js +1 -1
  31. package/.next-prod/server/app/api/chat/deepseek/route.js.nft.json +1 -1
  32. package/.next-prod/server/app/api/chat/glm/route.js +1 -1
  33. package/.next-prod/server/app/api/chat/glm/route.js.nft.json +1 -1
  34. package/.next-prod/server/app/api/chat/kimi/route.js +1 -1
  35. package/.next-prod/server/app/api/chat/kimi/route.js.nft.json +1 -1
  36. package/.next-prod/server/app/api/chat/ollama/route.js +1 -1
  37. package/.next-prod/server/app/api/chat/ollama/route.js.nft.json +1 -1
  38. package/.next-prod/server/app/api/chat/route.js +1 -1
  39. package/.next-prod/server/app/api/chat/route.js.nft.json +1 -1
  40. package/.next-prod/server/app/api/chat/stop/route.js +1 -1
  41. package/.next-prod/server/app/api/chat/stop/route.js.nft.json +1 -1
  42. package/.next-prod/server/app/api/claude-stats/route.js +1 -1
  43. package/.next-prod/server/app/api/claude-stats/route.js.nft.json +1 -1
  44. package/.next-prod/server/app/api/commands/route.js +1 -1
  45. package/.next-prod/server/app/api/commands/route.js.nft.json +1 -1
  46. package/.next-prod/server/app/api/comments/route.js +1 -1
  47. package/.next-prod/server/app/api/comments/route.js.nft.json +1 -1
  48. package/.next-prod/server/app/api/db/columns/route.js +1 -1
  49. package/.next-prod/server/app/api/db/columns/route.js.nft.json +1 -1
  50. package/.next-prod/server/app/api/db/connect/route.js +1 -1
  51. package/.next-prod/server/app/api/db/connect/route.js.nft.json +1 -1
  52. package/.next-prod/server/app/api/db/disconnect/route.js +1 -1
  53. package/.next-prod/server/app/api/db/disconnect/route.js.nft.json +1 -1
  54. package/.next-prod/server/app/api/db/export/route.js +1 -1
  55. package/.next-prod/server/app/api/db/export/route.js.nft.json +1 -1
  56. package/.next-prod/server/app/api/db/query/route.js +1 -1
  57. package/.next-prod/server/app/api/db/query/route.js.nft.json +1 -1
  58. package/.next-prod/server/app/api/db/schemas/route.js +2 -2
  59. package/.next-prod/server/app/api/db/schemas/route.js.nft.json +1 -1
  60. package/.next-prod/server/app/api/deepseek/balance/route.js +1 -1
  61. package/.next-prod/server/app/api/deepseek/balance/route.js.nft.json +1 -1
  62. package/.next-prod/server/app/api/deepseek/credentials/route.js +1 -1
  63. package/.next-prod/server/app/api/deepseek/credentials/route.js.nft.json +1 -1
  64. package/.next-prod/server/app/api/deepseek/models/route.js +1 -1
  65. package/.next-prod/server/app/api/deepseek/models/route.js.nft.json +1 -1
  66. package/.next-prod/server/app/api/dev/spans/route.js +1 -1
  67. package/.next-prod/server/app/api/dev/spans/route.js.nft.json +1 -1
  68. package/.next-prod/server/app/api/extension/version/route.js +1 -1
  69. package/.next-prod/server/app/api/extension/version/route.js.nft.json +1 -1
  70. package/.next-prod/server/app/api/file/route.js +1 -1
  71. package/.next-prod/server/app/api/file/route.js.nft.json +1 -1
  72. package/.next-prod/server/app/api/files/blame/route.js +1 -1
  73. package/.next-prod/server/app/api/files/blame/route.js.nft.json +1 -1
  74. package/.next-prod/server/app/api/files/clipboard/route.js +1 -1
  75. package/.next-prod/server/app/api/files/clipboard/route.js.nft.json +1 -1
  76. package/.next-prod/server/app/api/files/copy/route.js +1 -1
  77. package/.next-prod/server/app/api/files/copy/route.js.nft.json +1 -1
  78. package/.next-prod/server/app/api/files/delete/route.js +1 -1
  79. package/.next-prod/server/app/api/files/delete/route.js.nft.json +1 -1
  80. package/.next-prod/server/app/api/files/expanded/route.js +1 -1
  81. package/.next-prod/server/app/api/files/expanded/route.js.nft.json +1 -1
  82. package/.next-prod/server/app/api/files/index/route.js +1 -1
  83. package/.next-prod/server/app/api/files/index/route.js.nft.json +1 -1
  84. package/.next-prod/server/app/api/files/init/route.js +1 -1
  85. package/.next-prod/server/app/api/files/init/route.js.nft.json +1 -1
  86. package/.next-prod/server/app/api/files/paste/route.js +1 -1
  87. package/.next-prod/server/app/api/files/paste/route.js.nft.json +1 -1
  88. package/.next-prod/server/app/api/files/read/route.js +1 -1
  89. package/.next-prod/server/app/api/files/read/route.js.nft.json +1 -1
  90. package/.next-prod/server/app/api/files/readdir/route.js +1 -1
  91. package/.next-prod/server/app/api/files/readdir/route.js.nft.json +1 -1
  92. package/.next-prod/server/app/api/files/recent/route.js +1 -1
  93. package/.next-prod/server/app/api/files/recent/route.js.nft.json +1 -1
  94. package/.next-prod/server/app/api/files/save/route.js +1 -1
  95. package/.next-prod/server/app/api/files/save/route.js.nft.json +1 -1
  96. package/.next-prod/server/app/api/files/search/route.js +1 -1
  97. package/.next-prod/server/app/api/files/search/route.js.nft.json +1 -1
  98. package/.next-prod/server/app/api/files/stat/route.js +1 -1
  99. package/.next-prod/server/app/api/files/stat/route.js.nft.json +1 -1
  100. package/.next-prod/server/app/api/files/text/route.js +1 -1
  101. package/.next-prod/server/app/api/files/text/route.js.nft.json +1 -1
  102. package/.next-prod/server/app/api/git/branch-diff/route.js +1 -1
  103. package/.next-prod/server/app/api/git/branch-diff/route.js.nft.json +1 -1
  104. package/.next-prod/server/app/api/git/branches/route.js +1 -1
  105. package/.next-prod/server/app/api/git/branches/route.js.nft.json +1 -1
  106. package/.next-prod/server/app/api/git/commit-diff/route.js +1 -1
  107. package/.next-prod/server/app/api/git/commit-diff/route.js.nft.json +1 -1
  108. package/.next-prod/server/app/api/git/commits/route.js +1 -1
  109. package/.next-prod/server/app/api/git/commits/route.js.nft.json +1 -1
  110. package/.next-prod/server/app/api/git/current-branch/route.js +1 -1
  111. package/.next-prod/server/app/api/git/current-branch/route.js.nft.json +1 -1
  112. package/.next-prod/server/app/api/git/diff/route.js +1 -1
  113. package/.next-prod/server/app/api/git/diff/route.js.nft.json +1 -1
  114. package/.next-prod/server/app/api/git/discard/route.js +1 -1
  115. package/.next-prod/server/app/api/git/discard/route.js.nft.json +1 -1
  116. package/.next-prod/server/app/api/git/stage/route.js +1 -1
  117. package/.next-prod/server/app/api/git/stage/route.js.nft.json +1 -1
  118. package/.next-prod/server/app/api/git/status/route.js +1 -1
  119. package/.next-prod/server/app/api/git/status/route.js.nft.json +1 -1
  120. package/.next-prod/server/app/api/git/unstage/route.js +1 -1
  121. package/.next-prod/server/app/api/git/unstage/route.js.nft.json +1 -1
  122. package/.next-prod/server/app/api/git/worktree/route.js +1 -1
  123. package/.next-prod/server/app/api/git/worktree/route.js.nft.json +1 -1
  124. package/.next-prod/server/app/api/glm/credentials/route.js +1 -1
  125. package/.next-prod/server/app/api/glm/credentials/route.js.nft.json +1 -1
  126. package/.next-prod/server/app/api/glm/models/route.js +1 -1
  127. package/.next-prod/server/app/api/glm/models/route.js.nft.json +1 -1
  128. package/.next-prod/server/app/api/glm/usage/route.js +1 -1
  129. package/.next-prod/server/app/api/glm/usage/route.js.nft.json +1 -1
  130. package/.next-prod/server/app/api/global-state/route.js +1 -1
  131. package/.next-prod/server/app/api/global-state/route.js.nft.json +1 -1
  132. package/.next-prod/server/app/api/health/route.js +1 -1
  133. package/.next-prod/server/app/api/health/route.js.nft.json +1 -1
  134. package/.next-prod/server/app/api/html-apps/[id]/route.js +1 -1
  135. package/.next-prod/server/app/api/html-apps/[id]/route.js.nft.json +1 -1
  136. package/.next-prod/server/app/api/html-apps/route.js +1 -1
  137. package/.next-prod/server/app/api/html-apps/route.js.nft.json +1 -1
  138. package/.next-prod/server/app/api/jupyter/load/route.js +1 -1
  139. package/.next-prod/server/app/api/jupyter/load/route.js.nft.json +1 -1
  140. package/.next-prod/server/app/api/jupyter/save/route.js +1 -1
  141. package/.next-prod/server/app/api/jupyter/save/route.js.nft.json +1 -1
  142. package/.next-prod/server/app/api/jupyter/shutdown/route.js +1 -1
  143. package/.next-prod/server/app/api/jupyter/shutdown/route.js.nft.json +1 -1
  144. package/.next-prod/server/app/api/kimi/credentials/route.js +1 -1
  145. package/.next-prod/server/app/api/kimi/credentials/route.js.nft.json +1 -1
  146. package/.next-prod/server/app/api/kimi/models/route.js +1 -1
  147. package/.next-prod/server/app/api/kimi/models/route.js.nft.json +1 -1
  148. package/.next-prod/server/app/api/kimi/usage/route.js +1 -1
  149. package/.next-prod/server/app/api/kimi/usage/route.js.nft.json +1 -1
  150. package/.next-prod/server/app/api/lsp/definition/route.js +1 -1
  151. package/.next-prod/server/app/api/lsp/definition/route.js.nft.json +1 -1
  152. package/.next-prod/server/app/api/lsp/hover/route.js +1 -1
  153. package/.next-prod/server/app/api/lsp/hover/route.js.nft.json +1 -1
  154. package/.next-prod/server/app/api/lsp/references/route.js +1 -1
  155. package/.next-prod/server/app/api/lsp/references/route.js.nft.json +1 -1
  156. package/.next-prod/server/app/api/lsp/status/route.js +1 -1
  157. package/.next-prod/server/app/api/lsp/status/route.js.nft.json +1 -1
  158. package/.next-prod/server/app/api/lsp/warmup/route.js +1 -1
  159. package/.next-prod/server/app/api/lsp/warmup/route.js.nft.json +1 -1
  160. package/.next-prod/server/app/api/mysql/columns/route.js +2 -2
  161. package/.next-prod/server/app/api/mysql/columns/route.js.nft.json +1 -1
  162. package/.next-prod/server/app/api/mysql/connect/route.js +1 -1
  163. package/.next-prod/server/app/api/mysql/connect/route.js.nft.json +1 -1
  164. package/.next-prod/server/app/api/mysql/disconnect/route.js +1 -1
  165. package/.next-prod/server/app/api/mysql/disconnect/route.js.nft.json +1 -1
  166. package/.next-prod/server/app/api/mysql/export/route.js +1 -1
  167. package/.next-prod/server/app/api/mysql/export/route.js.nft.json +1 -1
  168. package/.next-prod/server/app/api/mysql/query/route.js +1 -1
  169. package/.next-prod/server/app/api/mysql/query/route.js.nft.json +1 -1
  170. package/.next-prod/server/app/api/mysql/schemas/route.js +1 -1
  171. package/.next-prod/server/app/api/mysql/schemas/route.js.nft.json +1 -1
  172. package/.next-prod/server/app/api/neo4j/connect/route.js +1 -1
  173. package/.next-prod/server/app/api/neo4j/connect/route.js.nft.json +1 -1
  174. package/.next-prod/server/app/api/neo4j/disconnect/route.js +1 -1
  175. package/.next-prod/server/app/api/neo4j/disconnect/route.js.nft.json +1 -1
  176. package/.next-prod/server/app/api/neo4j/query/route.js +1 -1
  177. package/.next-prod/server/app/api/neo4j/query/route.js.nft.json +1 -1
  178. package/.next-prod/server/app/api/neo4j/schema/route.js +1 -1
  179. package/.next-prod/server/app/api/neo4j/schema/route.js.nft.json +1 -1
  180. package/.next-prod/server/app/api/note/route.js +1 -1
  181. package/.next-prod/server/app/api/note/route.js.nft.json +1 -1
  182. package/.next-prod/server/app/api/ollama/config/route.js +1 -1
  183. package/.next-prod/server/app/api/ollama/config/route.js.nft.json +1 -1
  184. package/.next-prod/server/app/api/ollama/models/route.js +1 -1
  185. package/.next-prod/server/app/api/ollama/models/route.js.nft.json +1 -1
  186. package/.next-prod/server/app/api/ollama/start/route.js +1 -1
  187. package/.next-prod/server/app/api/ollama/start/route.js.nft.json +1 -1
  188. package/.next-prod/server/app/api/open-cursor/route.js +1 -1
  189. package/.next-prod/server/app/api/open-cursor/route.js.nft.json +1 -1
  190. package/.next-prod/server/app/api/open-vscode/route.js +1 -1
  191. package/.next-prod/server/app/api/open-vscode/route.js.nft.json +1 -1
  192. package/.next-prod/server/app/api/pick-folder/route.js +1 -1
  193. package/.next-prod/server/app/api/pick-folder/route.js.nft.json +1 -1
  194. package/.next-prod/server/app/api/pinned-sessions/route.js +1 -1
  195. package/.next-prod/server/app/api/pinned-sessions/route.js.nft.json +1 -1
  196. package/.next-prod/server/app/api/project-settings/route.js +1 -1
  197. package/.next-prod/server/app/api/project-settings/route.js.nft.json +1 -1
  198. package/.next-prod/server/app/api/project-state/route.js +2 -2
  199. package/.next-prod/server/app/api/project-state/route.js.nft.json +1 -1
  200. package/.next-prod/server/app/api/projectGraph/affected/route.js +1 -1
  201. package/.next-prod/server/app/api/projectGraph/affected/route.js.nft.json +1 -1
  202. package/.next-prod/server/app/api/projectGraph/callees/route.js +1 -1
  203. package/.next-prod/server/app/api/projectGraph/callees/route.js.nft.json +1 -1
  204. package/.next-prod/server/app/api/projectGraph/callers/route.js +1 -1
  205. package/.next-prod/server/app/api/projectGraph/callers/route.js.nft.json +1 -1
  206. package/.next-prod/server/app/api/projectGraph/coedit/route.js +1 -1
  207. package/.next-prod/server/app/api/projectGraph/coedit/route.js.nft.json +1 -1
  208. package/.next-prod/server/app/api/projectGraph/context/route.js +1 -1
  209. package/.next-prod/server/app/api/projectGraph/context/route.js.nft.json +1 -1
  210. package/.next-prod/server/app/api/projectGraph/file/route.js +1 -1
  211. package/.next-prod/server/app/api/projectGraph/file/route.js.nft.json +1 -1
  212. package/.next-prod/server/app/api/projectGraph/file-functions/route.js +1 -1
  213. package/.next-prod/server/app/api/projectGraph/file-functions/route.js.nft.json +1 -1
  214. package/.next-prod/server/app/api/projectGraph/impact/route.js +1 -1
  215. package/.next-prod/server/app/api/projectGraph/impact/route.js.nft.json +1 -1
  216. package/.next-prod/server/app/api/projectGraph/related/route.js +1 -1
  217. package/.next-prod/server/app/api/projectGraph/related/route.js.nft.json +1 -1
  218. package/.next-prod/server/app/api/projectGraph/risk/route.js +1 -1
  219. package/.next-prod/server/app/api/projectGraph/risk/route.js.nft.json +1 -1
  220. package/.next-prod/server/app/api/projectGraph/search/route.js +1 -1
  221. package/.next-prod/server/app/api/projectGraph/search/route.js.nft.json +1 -1
  222. package/.next-prod/server/app/api/projects/route.js +1 -1
  223. package/.next-prod/server/app/api/projects/route.js.nft.json +1 -1
  224. package/.next-prod/server/app/api/prompts/config/route.js +1 -1
  225. package/.next-prod/server/app/api/prompts/config/route.js.nft.json +1 -1
  226. package/.next-prod/server/app/api/push/public-key/route.js +1 -1
  227. package/.next-prod/server/app/api/push/public-key/route.js.nft.json +1 -1
  228. package/.next-prod/server/app/api/push/subscribe/route.js +1 -1
  229. package/.next-prod/server/app/api/push/subscribe/route.js.nft.json +1 -1
  230. package/.next-prod/server/app/api/push/unsubscribe/route.js +1 -1
  231. package/.next-prod/server/app/api/push/unsubscribe/route.js.nft.json +1 -1
  232. package/.next-prod/server/app/api/redis/command/route.js +1 -1
  233. package/.next-prod/server/app/api/redis/command/route.js.nft.json +1 -1
  234. package/.next-prod/server/app/api/redis/connect/route.js +1 -1
  235. package/.next-prod/server/app/api/redis/connect/route.js.nft.json +1 -1
  236. package/.next-prod/server/app/api/redis/delete/route.js +1 -1
  237. package/.next-prod/server/app/api/redis/delete/route.js.nft.json +1 -1
  238. package/.next-prod/server/app/api/redis/disconnect/route.js +1 -1
  239. package/.next-prod/server/app/api/redis/disconnect/route.js.nft.json +1 -1
  240. package/.next-prod/server/app/api/redis/get/route.js +1 -1
  241. package/.next-prod/server/app/api/redis/get/route.js.nft.json +1 -1
  242. package/.next-prod/server/app/api/redis/keys/route.js +1 -1
  243. package/.next-prod/server/app/api/redis/keys/route.js.nft.json +1 -1
  244. package/.next-prod/server/app/api/redis/set/route.js +1 -1
  245. package/.next-prod/server/app/api/redis/set/route.js.nft.json +1 -1
  246. package/.next-prod/server/app/api/restart/route.js +1 -0
  247. package/.next-prod/server/app/api/restart/route.js.nft.json +1 -0
  248. package/.next-prod/server/app/api/restart/route_client-reference-manifest.js +1 -0
  249. package/.next-prod/server/app/api/review/[id]/comments/route.js +1 -1
  250. package/.next-prod/server/app/api/review/[id]/comments/route.js.nft.json +1 -1
  251. package/.next-prod/server/app/api/review/[id]/replies/route.js +1 -1
  252. package/.next-prod/server/app/api/review/[id]/replies/route.js.nft.json +1 -1
  253. package/.next-prod/server/app/api/review/[id]/route.js +1 -1
  254. package/.next-prod/server/app/api/review/[id]/route.js.nft.json +1 -1
  255. package/.next-prod/server/app/api/review/identify/route.js +1 -1
  256. package/.next-prod/server/app/api/review/identify/route.js.nft.json +1 -1
  257. package/.next-prod/server/app/api/review/order/route.js +1 -1
  258. package/.next-prod/server/app/api/review/order/route.js.nft.json +1 -1
  259. package/.next-prod/server/app/api/review/route.js +1 -1
  260. package/.next-prod/server/app/api/review/route.js.nft.json +1 -1
  261. package/.next-prod/server/app/api/review/share-info/route.js +1 -1
  262. package/.next-prod/server/app/api/review/share-info/route.js.nft.json +1 -1
  263. package/.next-prod/server/app/api/review/users/route.js +1 -1
  264. package/.next-prod/server/app/api/review/users/route.js.nft.json +1 -1
  265. package/.next-prod/server/app/api/scheduled-tasks/route.js +2 -2
  266. package/.next-prod/server/app/api/scheduled-tasks/route.js.nft.json +1 -1
  267. package/.next-prod/server/app/api/services/config/route.js +1 -1
  268. package/.next-prod/server/app/api/services/config/route.js.nft.json +1 -1
  269. package/.next-prod/server/app/api/services/scripts/route.js +1 -1
  270. package/.next-prod/server/app/api/services/scripts/route.js.nft.json +1 -1
  271. package/.next-prod/server/app/api/session/[sessionId]/fork/route.js +1 -1
  272. package/.next-prod/server/app/api/session/[sessionId]/fork/route.js.nft.json +1 -1
  273. package/.next-prod/server/app/api/session/[sessionId]/history/route.js +1 -1
  274. package/.next-prod/server/app/api/session/[sessionId]/history/route.js.nft.json +1 -1
  275. package/.next-prod/server/app/api/session-by-path/route.js +1 -1
  276. package/.next-prod/server/app/api/session-by-path/route.js.nft.json +1 -1
  277. package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js +1 -1
  278. package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js.nft.json +1 -1
  279. package/.next-prod/server/app/api/sessions/projects/route.js +1 -1
  280. package/.next-prod/server/app/api/sessions/projects/route.js.nft.json +1 -1
  281. package/.next-prod/server/app/api/sessions/route.js +1 -1
  282. package/.next-prod/server/app/api/sessions/route.js.nft.json +1 -1
  283. package/.next-prod/server/app/api/settings/route.js +1 -1
  284. package/.next-prod/server/app/api/settings/route.js.nft.json +1 -1
  285. package/.next-prod/server/app/api/shutdown/route.js +1 -0
  286. package/.next-prod/server/app/api/shutdown/route.js.nft.json +1 -0
  287. package/.next-prod/server/app/api/shutdown/route_client-reference-manifest.js +1 -0
  288. package/.next-prod/server/app/api/skills/[id]/route.js +1 -1
  289. package/.next-prod/server/app/api/skills/[id]/route.js.nft.json +1 -1
  290. package/.next-prod/server/app/api/skills/content/route.js +1 -1
  291. package/.next-prod/server/app/api/skills/content/route.js.nft.json +1 -1
  292. package/.next-prod/server/app/api/skills/route.js +1 -1
  293. package/.next-prod/server/app/api/skills/route.js.nft.json +1 -1
  294. package/.next-prod/server/app/api/snapshots/diff/route.js +1 -1
  295. package/.next-prod/server/app/api/snapshots/diff/route.js.nft.json +1 -1
  296. package/.next-prod/server/app/api/snapshots/route.js +1 -1
  297. package/.next-prod/server/app/api/snapshots/route.js.nft.json +1 -1
  298. package/.next-prod/server/app/api/terminal/aliases/route.js +1 -1
  299. package/.next-prod/server/app/api/terminal/aliases/route.js.nft.json +1 -1
  300. package/.next-prod/server/app/api/terminal/autocomplete/route.js +1 -1
  301. package/.next-prod/server/app/api/terminal/autocomplete/route.js.nft.json +1 -1
  302. package/.next-prod/server/app/api/terminal/bubble-order/route.js +1 -1
  303. package/.next-prod/server/app/api/terminal/bubble-order/route.js.nft.json +1 -1
  304. package/.next-prod/server/app/api/terminal/env/route.js +1 -1
  305. package/.next-prod/server/app/api/terminal/env/route.js.nft.json +1 -1
  306. package/.next-prod/server/app/api/terminal/history/route.js +1 -1
  307. package/.next-prod/server/app/api/terminal/history/route.js.nft.json +1 -1
  308. package/.next-prod/server/app/api/update/route.js +1 -0
  309. package/.next-prod/server/app/api/update/route.js.nft.json +1 -0
  310. package/.next-prod/server/app/api/update/route_client-reference-manifest.js +1 -0
  311. package/.next-prod/server/app/api/version/route.js +1 -1
  312. package/.next-prod/server/app/api/version/route.js.nft.json +1 -1
  313. package/.next-prod/server/app/apps/[...path]/route.js +1 -1
  314. package/.next-prod/server/app/apps/[...path]/route.js.nft.json +1 -1
  315. package/.next-prod/server/app/favicon.ico/route.js +1 -1
  316. package/.next-prod/server/app/favicon.ico/route.js.nft.json +1 -1
  317. package/.next-prod/server/app/m/page.js +1 -1
  318. package/.next-prod/server/app/m/page.js.nft.json +1 -1
  319. package/.next-prod/server/app/m/page_client-reference-manifest.js +1 -1
  320. package/.next-prod/server/app/manifest.webmanifest/route.js +2 -2
  321. package/.next-prod/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  322. package/.next-prod/server/app/page.js +1 -1
  323. package/.next-prod/server/app/page.js.nft.json +1 -1
  324. package/.next-prod/server/app/page_client-reference-manifest.js +1 -1
  325. package/.next-prod/server/app/project/page.js +1 -1
  326. package/.next-prod/server/app/project/page.js.nft.json +1 -1
  327. package/.next-prod/server/app/project/page_client-reference-manifest.js +1 -1
  328. package/.next-prod/server/app/review/[id]/page.js +1 -1
  329. package/.next-prod/server/app/review/[id]/page.js.nft.json +1 -1
  330. package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
  331. package/.next-prod/server/app-paths-manifest.json +7 -4
  332. package/.next-prod/server/chunks/516.js +1 -0
  333. package/.next-prod/server/chunks/5750.js +16 -13
  334. package/.next-prod/server/chunks/6495.js +1 -1
  335. package/.next-prod/server/chunks/6548.js +1 -1
  336. package/.next-prod/server/chunks/7184.js +1 -1
  337. package/.next-prod/server/chunks/841.js +1 -1
  338. package/.next-prod/server/chunks/9352.js +2 -2
  339. package/.next-prod/server/functions-config-manifest.json +3 -0
  340. package/.next-prod/server/middleware-build-manifest.js +1 -1
  341. package/.next-prod/server/pages/404.html +2 -2
  342. package/.next-prod/server/pages/500.html +1 -1
  343. package/.next-prod/server/server-reference-manifest.json +1 -1
  344. package/.next-prod/static/chunks/{1372-d16d68b1b03a345a.js → 1372-a26fa30d21bd1ecc.js} +1 -1
  345. package/.next-prod/static/chunks/5400-bf3fe22440a73161.js +36 -0
  346. package/.next-prod/static/chunks/6784-d51b98432358f755.js +381 -0
  347. package/.next-prod/static/chunks/app/_global-error/page-7c7e4c414aa6453c.js +1 -0
  348. package/.next-prod/static/chunks/app/api/agent/test/route-7c7e4c414aa6453c.js +1 -0
  349. package/.next-prod/static/chunks/app/api/bash/route-7c7e4c414aa6453c.js +1 -0
  350. package/.next-prod/static/chunks/app/api/chat/codex/route-7c7e4c414aa6453c.js +1 -0
  351. package/.next-prod/static/chunks/app/api/chat/deepseek/route-7c7e4c414aa6453c.js +1 -0
  352. package/.next-prod/static/chunks/app/api/chat/glm/route-7c7e4c414aa6453c.js +1 -0
  353. package/.next-prod/static/chunks/app/api/chat/kimi/route-7c7e4c414aa6453c.js +1 -0
  354. package/.next-prod/static/chunks/app/api/chat/ollama/route-7c7e4c414aa6453c.js +1 -0
  355. package/.next-prod/static/chunks/app/api/chat/route-7c7e4c414aa6453c.js +1 -0
  356. package/.next-prod/static/chunks/app/api/chat/stop/route-7c7e4c414aa6453c.js +1 -0
  357. package/.next-prod/static/chunks/app/api/claude-stats/route-7c7e4c414aa6453c.js +1 -0
  358. package/.next-prod/static/chunks/app/api/commands/route-7c7e4c414aa6453c.js +1 -0
  359. package/.next-prod/static/chunks/app/api/comments/route-7c7e4c414aa6453c.js +1 -0
  360. package/.next-prod/static/chunks/app/api/db/columns/route-7c7e4c414aa6453c.js +1 -0
  361. package/.next-prod/static/chunks/app/api/db/connect/route-7c7e4c414aa6453c.js +1 -0
  362. package/.next-prod/static/chunks/app/api/db/disconnect/route-7c7e4c414aa6453c.js +1 -0
  363. package/.next-prod/static/chunks/app/api/db/export/route-7c7e4c414aa6453c.js +1 -0
  364. package/.next-prod/static/chunks/app/api/db/query/route-7c7e4c414aa6453c.js +1 -0
  365. package/.next-prod/static/chunks/app/api/db/schemas/route-7c7e4c414aa6453c.js +1 -0
  366. package/.next-prod/static/chunks/app/api/deepseek/balance/route-7c7e4c414aa6453c.js +1 -0
  367. package/.next-prod/static/chunks/app/api/deepseek/credentials/route-7c7e4c414aa6453c.js +1 -0
  368. package/.next-prod/static/chunks/app/api/deepseek/models/route-7c7e4c414aa6453c.js +1 -0
  369. package/.next-prod/static/chunks/app/api/dev/spans/route-7c7e4c414aa6453c.js +1 -0
  370. package/.next-prod/static/chunks/app/api/extension/version/route-7c7e4c414aa6453c.js +1 -0
  371. package/.next-prod/static/chunks/app/api/file/route-7c7e4c414aa6453c.js +1 -0
  372. package/.next-prod/static/chunks/app/api/files/blame/route-7c7e4c414aa6453c.js +1 -0
  373. package/.next-prod/static/chunks/app/api/files/clipboard/route-7c7e4c414aa6453c.js +1 -0
  374. package/.next-prod/static/chunks/app/api/files/copy/route-7c7e4c414aa6453c.js +1 -0
  375. package/.next-prod/static/chunks/app/api/files/delete/route-7c7e4c414aa6453c.js +1 -0
  376. package/.next-prod/static/chunks/app/api/files/expanded/route-7c7e4c414aa6453c.js +1 -0
  377. package/.next-prod/static/chunks/app/api/files/index/route-7c7e4c414aa6453c.js +1 -0
  378. package/.next-prod/static/chunks/app/api/files/init/route-7c7e4c414aa6453c.js +1 -0
  379. package/.next-prod/static/chunks/app/api/files/paste/route-7c7e4c414aa6453c.js +1 -0
  380. package/.next-prod/static/chunks/app/api/files/read/route-7c7e4c414aa6453c.js +1 -0
  381. package/.next-prod/static/chunks/app/api/files/readdir/route-7c7e4c414aa6453c.js +1 -0
  382. package/.next-prod/static/chunks/app/api/files/recent/route-7c7e4c414aa6453c.js +1 -0
  383. package/.next-prod/static/chunks/app/api/files/save/route-7c7e4c414aa6453c.js +1 -0
  384. package/.next-prod/static/chunks/app/api/files/search/route-7c7e4c414aa6453c.js +1 -0
  385. package/.next-prod/static/chunks/app/api/files/stat/route-7c7e4c414aa6453c.js +1 -0
  386. package/.next-prod/static/chunks/app/api/files/text/route-7c7e4c414aa6453c.js +1 -0
  387. package/.next-prod/static/chunks/app/api/git/branch-diff/route-7c7e4c414aa6453c.js +1 -0
  388. package/.next-prod/static/chunks/app/api/git/branches/route-7c7e4c414aa6453c.js +1 -0
  389. package/.next-prod/static/chunks/app/api/git/commit-diff/route-7c7e4c414aa6453c.js +1 -0
  390. package/.next-prod/static/chunks/app/api/git/commits/route-7c7e4c414aa6453c.js +1 -0
  391. package/.next-prod/static/chunks/app/api/git/current-branch/route-7c7e4c414aa6453c.js +1 -0
  392. package/.next-prod/static/chunks/app/api/git/diff/route-7c7e4c414aa6453c.js +1 -0
  393. package/.next-prod/static/chunks/app/api/git/discard/route-7c7e4c414aa6453c.js +1 -0
  394. package/.next-prod/static/chunks/app/api/git/stage/route-7c7e4c414aa6453c.js +1 -0
  395. package/.next-prod/static/chunks/app/api/git/status/route-7c7e4c414aa6453c.js +1 -0
  396. package/.next-prod/static/chunks/app/api/git/unstage/route-7c7e4c414aa6453c.js +1 -0
  397. package/.next-prod/static/chunks/app/api/git/worktree/route-7c7e4c414aa6453c.js +1 -0
  398. package/.next-prod/static/chunks/app/api/glm/credentials/route-7c7e4c414aa6453c.js +1 -0
  399. package/.next-prod/static/chunks/app/api/glm/models/route-7c7e4c414aa6453c.js +1 -0
  400. package/.next-prod/static/chunks/app/api/glm/usage/route-7c7e4c414aa6453c.js +1 -0
  401. package/.next-prod/static/chunks/app/api/global-state/route-7c7e4c414aa6453c.js +1 -0
  402. package/.next-prod/static/chunks/app/api/health/route-7c7e4c414aa6453c.js +1 -0
  403. package/.next-prod/static/chunks/app/api/html-apps/[id]/route-7c7e4c414aa6453c.js +1 -0
  404. package/.next-prod/static/chunks/app/api/html-apps/route-7c7e4c414aa6453c.js +1 -0
  405. package/.next-prod/static/chunks/app/api/jupyter/load/route-7c7e4c414aa6453c.js +1 -0
  406. package/.next-prod/static/chunks/app/api/jupyter/save/route-7c7e4c414aa6453c.js +1 -0
  407. package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-7c7e4c414aa6453c.js +1 -0
  408. package/.next-prod/static/chunks/app/api/kimi/credentials/route-7c7e4c414aa6453c.js +1 -0
  409. package/.next-prod/static/chunks/app/api/kimi/models/route-7c7e4c414aa6453c.js +1 -0
  410. package/.next-prod/static/chunks/app/api/kimi/usage/route-7c7e4c414aa6453c.js +1 -0
  411. package/.next-prod/static/chunks/app/api/lsp/definition/route-7c7e4c414aa6453c.js +1 -0
  412. package/.next-prod/static/chunks/app/api/lsp/hover/route-7c7e4c414aa6453c.js +1 -0
  413. package/.next-prod/static/chunks/app/api/lsp/references/route-7c7e4c414aa6453c.js +1 -0
  414. package/.next-prod/static/chunks/app/api/lsp/status/route-7c7e4c414aa6453c.js +1 -0
  415. package/.next-prod/static/chunks/app/api/lsp/warmup/route-7c7e4c414aa6453c.js +1 -0
  416. package/.next-prod/static/chunks/app/api/mysql/columns/route-7c7e4c414aa6453c.js +1 -0
  417. package/.next-prod/static/chunks/app/api/mysql/connect/route-7c7e4c414aa6453c.js +1 -0
  418. package/.next-prod/static/chunks/app/api/mysql/disconnect/route-7c7e4c414aa6453c.js +1 -0
  419. package/.next-prod/static/chunks/app/api/mysql/export/route-7c7e4c414aa6453c.js +1 -0
  420. package/.next-prod/static/chunks/app/api/mysql/query/route-7c7e4c414aa6453c.js +1 -0
  421. package/.next-prod/static/chunks/app/api/mysql/schemas/route-7c7e4c414aa6453c.js +1 -0
  422. package/.next-prod/static/chunks/app/api/neo4j/connect/route-7c7e4c414aa6453c.js +1 -0
  423. package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-7c7e4c414aa6453c.js +1 -0
  424. package/.next-prod/static/chunks/app/api/neo4j/query/route-7c7e4c414aa6453c.js +1 -0
  425. package/.next-prod/static/chunks/app/api/neo4j/schema/route-7c7e4c414aa6453c.js +1 -0
  426. package/.next-prod/static/chunks/app/api/note/route-7c7e4c414aa6453c.js +1 -0
  427. package/.next-prod/static/chunks/app/api/ollama/config/route-7c7e4c414aa6453c.js +1 -0
  428. package/.next-prod/static/chunks/app/api/ollama/models/route-7c7e4c414aa6453c.js +1 -0
  429. package/.next-prod/static/chunks/app/api/ollama/start/route-7c7e4c414aa6453c.js +1 -0
  430. package/.next-prod/static/chunks/app/api/open-cursor/route-7c7e4c414aa6453c.js +1 -0
  431. package/.next-prod/static/chunks/app/api/open-vscode/route-7c7e4c414aa6453c.js +1 -0
  432. package/.next-prod/static/chunks/app/api/pick-folder/route-7c7e4c414aa6453c.js +1 -0
  433. package/.next-prod/static/chunks/app/api/pinned-sessions/route-7c7e4c414aa6453c.js +1 -0
  434. package/.next-prod/static/chunks/app/api/project-settings/route-7c7e4c414aa6453c.js +1 -0
  435. package/.next-prod/static/chunks/app/api/project-state/route-7c7e4c414aa6453c.js +1 -0
  436. package/.next-prod/static/chunks/app/api/projectGraph/affected/route-7c7e4c414aa6453c.js +1 -0
  437. package/.next-prod/static/chunks/app/api/projectGraph/callees/route-7c7e4c414aa6453c.js +1 -0
  438. package/.next-prod/static/chunks/app/api/projectGraph/callers/route-7c7e4c414aa6453c.js +1 -0
  439. package/.next-prod/static/chunks/app/api/projectGraph/coedit/route-7c7e4c414aa6453c.js +1 -0
  440. package/.next-prod/static/chunks/app/api/projectGraph/context/route-7c7e4c414aa6453c.js +1 -0
  441. package/.next-prod/static/chunks/app/api/projectGraph/file/route-7c7e4c414aa6453c.js +1 -0
  442. package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-7c7e4c414aa6453c.js +1 -0
  443. package/.next-prod/static/chunks/app/api/projectGraph/impact/route-7c7e4c414aa6453c.js +1 -0
  444. package/.next-prod/static/chunks/app/api/projectGraph/related/route-7c7e4c414aa6453c.js +1 -0
  445. package/.next-prod/static/chunks/app/api/projectGraph/risk/route-7c7e4c414aa6453c.js +1 -0
  446. package/.next-prod/static/chunks/app/api/projectGraph/search/route-7c7e4c414aa6453c.js +1 -0
  447. package/.next-prod/static/chunks/app/api/projects/route-7c7e4c414aa6453c.js +1 -0
  448. package/.next-prod/static/chunks/app/api/prompts/config/route-7c7e4c414aa6453c.js +1 -0
  449. package/.next-prod/static/chunks/app/api/push/public-key/route-7c7e4c414aa6453c.js +1 -0
  450. package/.next-prod/static/chunks/app/api/push/subscribe/route-7c7e4c414aa6453c.js +1 -0
  451. package/.next-prod/static/chunks/app/api/push/unsubscribe/route-7c7e4c414aa6453c.js +1 -0
  452. package/.next-prod/static/chunks/app/api/redis/command/route-7c7e4c414aa6453c.js +1 -0
  453. package/.next-prod/static/chunks/app/api/redis/connect/route-7c7e4c414aa6453c.js +1 -0
  454. package/.next-prod/static/chunks/app/api/redis/delete/route-7c7e4c414aa6453c.js +1 -0
  455. package/.next-prod/static/chunks/app/api/redis/disconnect/route-7c7e4c414aa6453c.js +1 -0
  456. package/.next-prod/static/chunks/app/api/redis/get/route-7c7e4c414aa6453c.js +1 -0
  457. package/.next-prod/static/chunks/app/api/redis/keys/route-7c7e4c414aa6453c.js +1 -0
  458. package/.next-prod/static/chunks/app/api/redis/set/route-7c7e4c414aa6453c.js +1 -0
  459. package/.next-prod/static/chunks/app/api/restart/route-7c7e4c414aa6453c.js +1 -0
  460. package/.next-prod/static/chunks/app/api/review/[id]/comments/route-7c7e4c414aa6453c.js +1 -0
  461. package/.next-prod/static/chunks/app/api/review/[id]/replies/route-7c7e4c414aa6453c.js +1 -0
  462. package/.next-prod/static/chunks/app/api/review/[id]/route-7c7e4c414aa6453c.js +1 -0
  463. package/.next-prod/static/chunks/app/api/review/identify/route-7c7e4c414aa6453c.js +1 -0
  464. package/.next-prod/static/chunks/app/api/review/order/route-7c7e4c414aa6453c.js +1 -0
  465. package/.next-prod/static/chunks/app/api/review/route-7c7e4c414aa6453c.js +1 -0
  466. package/.next-prod/static/chunks/app/api/review/share-info/route-7c7e4c414aa6453c.js +1 -0
  467. package/.next-prod/static/chunks/app/api/review/users/route-7c7e4c414aa6453c.js +1 -0
  468. package/.next-prod/static/chunks/app/api/scheduled-tasks/route-7c7e4c414aa6453c.js +1 -0
  469. package/.next-prod/static/chunks/app/api/services/config/route-7c7e4c414aa6453c.js +1 -0
  470. package/.next-prod/static/chunks/app/api/services/scripts/route-7c7e4c414aa6453c.js +1 -0
  471. package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-7c7e4c414aa6453c.js +1 -0
  472. package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-7c7e4c414aa6453c.js +1 -0
  473. package/.next-prod/static/chunks/app/api/session-by-path/route-7c7e4c414aa6453c.js +1 -0
  474. package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-7c7e4c414aa6453c.js +1 -0
  475. package/.next-prod/static/chunks/app/api/sessions/projects/route-7c7e4c414aa6453c.js +1 -0
  476. package/.next-prod/static/chunks/app/api/sessions/route-7c7e4c414aa6453c.js +1 -0
  477. package/.next-prod/static/chunks/app/api/settings/route-7c7e4c414aa6453c.js +1 -0
  478. package/.next-prod/static/chunks/app/api/shutdown/route-7c7e4c414aa6453c.js +1 -0
  479. package/.next-prod/static/chunks/app/api/skills/[id]/route-7c7e4c414aa6453c.js +1 -0
  480. package/.next-prod/static/chunks/app/api/skills/content/route-7c7e4c414aa6453c.js +1 -0
  481. package/.next-prod/static/chunks/app/api/skills/route-7c7e4c414aa6453c.js +1 -0
  482. package/.next-prod/static/chunks/app/api/snapshots/diff/route-7c7e4c414aa6453c.js +1 -0
  483. package/.next-prod/static/chunks/app/api/snapshots/route-7c7e4c414aa6453c.js +1 -0
  484. package/.next-prod/static/chunks/app/api/terminal/aliases/route-7c7e4c414aa6453c.js +1 -0
  485. package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-7c7e4c414aa6453c.js +1 -0
  486. package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-7c7e4c414aa6453c.js +1 -0
  487. package/.next-prod/static/chunks/app/api/terminal/env/route-7c7e4c414aa6453c.js +1 -0
  488. package/.next-prod/static/chunks/app/api/terminal/history/route-7c7e4c414aa6453c.js +1 -0
  489. package/.next-prod/static/chunks/app/api/update/route-7c7e4c414aa6453c.js +1 -0
  490. package/.next-prod/static/chunks/app/api/version/route-7c7e4c414aa6453c.js +1 -0
  491. package/.next-prod/static/chunks/app/apps/[...path]/route-7c7e4c414aa6453c.js +1 -0
  492. package/.next-prod/static/chunks/app/{layout-ab52fc1a83af968b.js → layout-7b31e254e348e208.js} +1 -1
  493. package/.next-prod/static/chunks/app/manifest.webmanifest/route-7c7e4c414aa6453c.js +1 -0
  494. package/.next-prod/static/chunks/app/{page-5de8b6584e328a6f.js → page-cb0d12250512641d.js} +1 -1
  495. package/.next-prod/static/chunks/app/project/{page-5de8b6584e328a6f.js → page-cb0d12250512641d.js} +1 -1
  496. package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-7c7e4c414aa6453c.js +1 -0
  497. package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-7c7e4c414aa6453c.js +1 -0
  498. package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-7c7e4c414aa6453c.js +1 -0
  499. package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-7c7e4c414aa6453c.js +1 -0
  500. package/.next-prod/static/css/38ad6f470b64a40f.css +1 -0
  501. package/.next-prod/static/noNfrQRJFchmZSWx_yn1K/_buildManifest.js +1 -0
  502. package/.next-prod/trace +14 -14
  503. package/.next-prod/trace-build +1 -1
  504. package/.next-prod/types/app/api/restart/route.ts +353 -0
  505. package/.next-prod/types/app/api/shutdown/route.ts +353 -0
  506. package/.next-prod/types/app/api/update/route.ts +353 -0
  507. package/.next-prod/types/routes.d.ts +4 -1
  508. package/.next-prod/types/validator.ts +27 -0
  509. package/README.md +75 -0
  510. package/README.zh.md +64 -0
  511. package/apps/devkit/app.jsx +20 -18
  512. package/bin/cock-service.mjs +498 -0
  513. package/bin/cock.mjs +35 -27
  514. package/bin/cockpitHome.mjs +33 -0
  515. package/bin/rotateLog.mjs +52 -0
  516. package/bin/updater.mjs +231 -0
  517. package/dist/{chunk-CLPJYIFC.mjs → chunk-AI7T3EXM.mjs} +4 -3
  518. package/dist/{chunk-B5LXMESP.mjs → chunk-LC4LAEWJ.mjs} +1 -1
  519. package/dist/{chunk-TU3GL2HK.mjs → chunk-ZCMAJV2M.mjs} +15 -4
  520. package/dist/httpApi.mjs +2 -2
  521. package/dist/scheduledTasks.mjs +61 -7
  522. package/dist/{server-2UJDVZ32.mjs → server-CQXVJT3F.mjs} +2 -2
  523. package/dist/wsServer.mjs +144 -112
  524. package/package.json +1 -1
  525. package/server.mjs +127 -11
  526. package/.next-prod/server/chunks/151.js +0 -1
  527. package/.next-prod/static/4Jgc-wu2w_CC8iS5G1QZf/_buildManifest.js +0 -1
  528. package/.next-prod/static/chunks/1157-164bcf046a0a9b15.js +0 -32
  529. package/.next-prod/static/chunks/6784-09dffdb0e8ca7fb3.js +0 -381
  530. package/.next-prod/static/chunks/app/_global-error/page-3c1c06e2de280418.js +0 -1
  531. package/.next-prod/static/chunks/app/api/agent/test/route-3c1c06e2de280418.js +0 -1
  532. package/.next-prod/static/chunks/app/api/bash/route-3c1c06e2de280418.js +0 -1
  533. package/.next-prod/static/chunks/app/api/chat/codex/route-3c1c06e2de280418.js +0 -1
  534. package/.next-prod/static/chunks/app/api/chat/deepseek/route-3c1c06e2de280418.js +0 -1
  535. package/.next-prod/static/chunks/app/api/chat/glm/route-3c1c06e2de280418.js +0 -1
  536. package/.next-prod/static/chunks/app/api/chat/kimi/route-3c1c06e2de280418.js +0 -1
  537. package/.next-prod/static/chunks/app/api/chat/ollama/route-3c1c06e2de280418.js +0 -1
  538. package/.next-prod/static/chunks/app/api/chat/route-3c1c06e2de280418.js +0 -1
  539. package/.next-prod/static/chunks/app/api/chat/stop/route-3c1c06e2de280418.js +0 -1
  540. package/.next-prod/static/chunks/app/api/claude-stats/route-3c1c06e2de280418.js +0 -1
  541. package/.next-prod/static/chunks/app/api/commands/route-3c1c06e2de280418.js +0 -1
  542. package/.next-prod/static/chunks/app/api/comments/route-3c1c06e2de280418.js +0 -1
  543. package/.next-prod/static/chunks/app/api/db/columns/route-3c1c06e2de280418.js +0 -1
  544. package/.next-prod/static/chunks/app/api/db/connect/route-3c1c06e2de280418.js +0 -1
  545. package/.next-prod/static/chunks/app/api/db/disconnect/route-3c1c06e2de280418.js +0 -1
  546. package/.next-prod/static/chunks/app/api/db/export/route-3c1c06e2de280418.js +0 -1
  547. package/.next-prod/static/chunks/app/api/db/query/route-3c1c06e2de280418.js +0 -1
  548. package/.next-prod/static/chunks/app/api/db/schemas/route-3c1c06e2de280418.js +0 -1
  549. package/.next-prod/static/chunks/app/api/deepseek/balance/route-3c1c06e2de280418.js +0 -1
  550. package/.next-prod/static/chunks/app/api/deepseek/credentials/route-3c1c06e2de280418.js +0 -1
  551. package/.next-prod/static/chunks/app/api/deepseek/models/route-3c1c06e2de280418.js +0 -1
  552. package/.next-prod/static/chunks/app/api/dev/spans/route-3c1c06e2de280418.js +0 -1
  553. package/.next-prod/static/chunks/app/api/extension/version/route-3c1c06e2de280418.js +0 -1
  554. package/.next-prod/static/chunks/app/api/file/route-3c1c06e2de280418.js +0 -1
  555. package/.next-prod/static/chunks/app/api/files/blame/route-3c1c06e2de280418.js +0 -1
  556. package/.next-prod/static/chunks/app/api/files/clipboard/route-3c1c06e2de280418.js +0 -1
  557. package/.next-prod/static/chunks/app/api/files/copy/route-3c1c06e2de280418.js +0 -1
  558. package/.next-prod/static/chunks/app/api/files/delete/route-3c1c06e2de280418.js +0 -1
  559. package/.next-prod/static/chunks/app/api/files/expanded/route-3c1c06e2de280418.js +0 -1
  560. package/.next-prod/static/chunks/app/api/files/index/route-3c1c06e2de280418.js +0 -1
  561. package/.next-prod/static/chunks/app/api/files/init/route-3c1c06e2de280418.js +0 -1
  562. package/.next-prod/static/chunks/app/api/files/paste/route-3c1c06e2de280418.js +0 -1
  563. package/.next-prod/static/chunks/app/api/files/read/route-3c1c06e2de280418.js +0 -1
  564. package/.next-prod/static/chunks/app/api/files/readdir/route-3c1c06e2de280418.js +0 -1
  565. package/.next-prod/static/chunks/app/api/files/recent/route-3c1c06e2de280418.js +0 -1
  566. package/.next-prod/static/chunks/app/api/files/save/route-3c1c06e2de280418.js +0 -1
  567. package/.next-prod/static/chunks/app/api/files/search/route-3c1c06e2de280418.js +0 -1
  568. package/.next-prod/static/chunks/app/api/files/stat/route-3c1c06e2de280418.js +0 -1
  569. package/.next-prod/static/chunks/app/api/files/text/route-3c1c06e2de280418.js +0 -1
  570. package/.next-prod/static/chunks/app/api/git/branch-diff/route-3c1c06e2de280418.js +0 -1
  571. package/.next-prod/static/chunks/app/api/git/branches/route-3c1c06e2de280418.js +0 -1
  572. package/.next-prod/static/chunks/app/api/git/commit-diff/route-3c1c06e2de280418.js +0 -1
  573. package/.next-prod/static/chunks/app/api/git/commits/route-3c1c06e2de280418.js +0 -1
  574. package/.next-prod/static/chunks/app/api/git/current-branch/route-3c1c06e2de280418.js +0 -1
  575. package/.next-prod/static/chunks/app/api/git/diff/route-3c1c06e2de280418.js +0 -1
  576. package/.next-prod/static/chunks/app/api/git/discard/route-3c1c06e2de280418.js +0 -1
  577. package/.next-prod/static/chunks/app/api/git/stage/route-3c1c06e2de280418.js +0 -1
  578. package/.next-prod/static/chunks/app/api/git/status/route-3c1c06e2de280418.js +0 -1
  579. package/.next-prod/static/chunks/app/api/git/unstage/route-3c1c06e2de280418.js +0 -1
  580. package/.next-prod/static/chunks/app/api/git/worktree/route-3c1c06e2de280418.js +0 -1
  581. package/.next-prod/static/chunks/app/api/glm/credentials/route-3c1c06e2de280418.js +0 -1
  582. package/.next-prod/static/chunks/app/api/glm/models/route-3c1c06e2de280418.js +0 -1
  583. package/.next-prod/static/chunks/app/api/glm/usage/route-3c1c06e2de280418.js +0 -1
  584. package/.next-prod/static/chunks/app/api/global-state/route-3c1c06e2de280418.js +0 -1
  585. package/.next-prod/static/chunks/app/api/health/route-3c1c06e2de280418.js +0 -1
  586. package/.next-prod/static/chunks/app/api/html-apps/[id]/route-3c1c06e2de280418.js +0 -1
  587. package/.next-prod/static/chunks/app/api/html-apps/route-3c1c06e2de280418.js +0 -1
  588. package/.next-prod/static/chunks/app/api/jupyter/load/route-3c1c06e2de280418.js +0 -1
  589. package/.next-prod/static/chunks/app/api/jupyter/save/route-3c1c06e2de280418.js +0 -1
  590. package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-3c1c06e2de280418.js +0 -1
  591. package/.next-prod/static/chunks/app/api/kimi/credentials/route-3c1c06e2de280418.js +0 -1
  592. package/.next-prod/static/chunks/app/api/kimi/models/route-3c1c06e2de280418.js +0 -1
  593. package/.next-prod/static/chunks/app/api/kimi/usage/route-3c1c06e2de280418.js +0 -1
  594. package/.next-prod/static/chunks/app/api/lsp/definition/route-3c1c06e2de280418.js +0 -1
  595. package/.next-prod/static/chunks/app/api/lsp/hover/route-3c1c06e2de280418.js +0 -1
  596. package/.next-prod/static/chunks/app/api/lsp/references/route-3c1c06e2de280418.js +0 -1
  597. package/.next-prod/static/chunks/app/api/lsp/status/route-3c1c06e2de280418.js +0 -1
  598. package/.next-prod/static/chunks/app/api/lsp/warmup/route-3c1c06e2de280418.js +0 -1
  599. package/.next-prod/static/chunks/app/api/mysql/columns/route-3c1c06e2de280418.js +0 -1
  600. package/.next-prod/static/chunks/app/api/mysql/connect/route-3c1c06e2de280418.js +0 -1
  601. package/.next-prod/static/chunks/app/api/mysql/disconnect/route-3c1c06e2de280418.js +0 -1
  602. package/.next-prod/static/chunks/app/api/mysql/export/route-3c1c06e2de280418.js +0 -1
  603. package/.next-prod/static/chunks/app/api/mysql/query/route-3c1c06e2de280418.js +0 -1
  604. package/.next-prod/static/chunks/app/api/mysql/schemas/route-3c1c06e2de280418.js +0 -1
  605. package/.next-prod/static/chunks/app/api/neo4j/connect/route-3c1c06e2de280418.js +0 -1
  606. package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-3c1c06e2de280418.js +0 -1
  607. package/.next-prod/static/chunks/app/api/neo4j/query/route-3c1c06e2de280418.js +0 -1
  608. package/.next-prod/static/chunks/app/api/neo4j/schema/route-3c1c06e2de280418.js +0 -1
  609. package/.next-prod/static/chunks/app/api/note/route-3c1c06e2de280418.js +0 -1
  610. package/.next-prod/static/chunks/app/api/ollama/config/route-3c1c06e2de280418.js +0 -1
  611. package/.next-prod/static/chunks/app/api/ollama/models/route-3c1c06e2de280418.js +0 -1
  612. package/.next-prod/static/chunks/app/api/ollama/start/route-3c1c06e2de280418.js +0 -1
  613. package/.next-prod/static/chunks/app/api/open-cursor/route-3c1c06e2de280418.js +0 -1
  614. package/.next-prod/static/chunks/app/api/open-vscode/route-3c1c06e2de280418.js +0 -1
  615. package/.next-prod/static/chunks/app/api/pick-folder/route-3c1c06e2de280418.js +0 -1
  616. package/.next-prod/static/chunks/app/api/pinned-sessions/route-3c1c06e2de280418.js +0 -1
  617. package/.next-prod/static/chunks/app/api/project-settings/route-3c1c06e2de280418.js +0 -1
  618. package/.next-prod/static/chunks/app/api/project-state/route-3c1c06e2de280418.js +0 -1
  619. package/.next-prod/static/chunks/app/api/projectGraph/affected/route-3c1c06e2de280418.js +0 -1
  620. package/.next-prod/static/chunks/app/api/projectGraph/callees/route-3c1c06e2de280418.js +0 -1
  621. package/.next-prod/static/chunks/app/api/projectGraph/callers/route-3c1c06e2de280418.js +0 -1
  622. package/.next-prod/static/chunks/app/api/projectGraph/coedit/route-3c1c06e2de280418.js +0 -1
  623. package/.next-prod/static/chunks/app/api/projectGraph/context/route-3c1c06e2de280418.js +0 -1
  624. package/.next-prod/static/chunks/app/api/projectGraph/file/route-3c1c06e2de280418.js +0 -1
  625. package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-3c1c06e2de280418.js +0 -1
  626. package/.next-prod/static/chunks/app/api/projectGraph/impact/route-3c1c06e2de280418.js +0 -1
  627. package/.next-prod/static/chunks/app/api/projectGraph/related/route-3c1c06e2de280418.js +0 -1
  628. package/.next-prod/static/chunks/app/api/projectGraph/risk/route-3c1c06e2de280418.js +0 -1
  629. package/.next-prod/static/chunks/app/api/projectGraph/search/route-3c1c06e2de280418.js +0 -1
  630. package/.next-prod/static/chunks/app/api/projects/route-3c1c06e2de280418.js +0 -1
  631. package/.next-prod/static/chunks/app/api/prompts/config/route-3c1c06e2de280418.js +0 -1
  632. package/.next-prod/static/chunks/app/api/push/public-key/route-3c1c06e2de280418.js +0 -1
  633. package/.next-prod/static/chunks/app/api/push/subscribe/route-3c1c06e2de280418.js +0 -1
  634. package/.next-prod/static/chunks/app/api/push/unsubscribe/route-3c1c06e2de280418.js +0 -1
  635. package/.next-prod/static/chunks/app/api/redis/command/route-3c1c06e2de280418.js +0 -1
  636. package/.next-prod/static/chunks/app/api/redis/connect/route-3c1c06e2de280418.js +0 -1
  637. package/.next-prod/static/chunks/app/api/redis/delete/route-3c1c06e2de280418.js +0 -1
  638. package/.next-prod/static/chunks/app/api/redis/disconnect/route-3c1c06e2de280418.js +0 -1
  639. package/.next-prod/static/chunks/app/api/redis/get/route-3c1c06e2de280418.js +0 -1
  640. package/.next-prod/static/chunks/app/api/redis/keys/route-3c1c06e2de280418.js +0 -1
  641. package/.next-prod/static/chunks/app/api/redis/set/route-3c1c06e2de280418.js +0 -1
  642. package/.next-prod/static/chunks/app/api/review/[id]/comments/route-3c1c06e2de280418.js +0 -1
  643. package/.next-prod/static/chunks/app/api/review/[id]/replies/route-3c1c06e2de280418.js +0 -1
  644. package/.next-prod/static/chunks/app/api/review/[id]/route-3c1c06e2de280418.js +0 -1
  645. package/.next-prod/static/chunks/app/api/review/identify/route-3c1c06e2de280418.js +0 -1
  646. package/.next-prod/static/chunks/app/api/review/order/route-3c1c06e2de280418.js +0 -1
  647. package/.next-prod/static/chunks/app/api/review/route-3c1c06e2de280418.js +0 -1
  648. package/.next-prod/static/chunks/app/api/review/share-info/route-3c1c06e2de280418.js +0 -1
  649. package/.next-prod/static/chunks/app/api/review/users/route-3c1c06e2de280418.js +0 -1
  650. package/.next-prod/static/chunks/app/api/scheduled-tasks/route-3c1c06e2de280418.js +0 -1
  651. package/.next-prod/static/chunks/app/api/services/config/route-3c1c06e2de280418.js +0 -1
  652. package/.next-prod/static/chunks/app/api/services/scripts/route-3c1c06e2de280418.js +0 -1
  653. package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-3c1c06e2de280418.js +0 -1
  654. package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-3c1c06e2de280418.js +0 -1
  655. package/.next-prod/static/chunks/app/api/session-by-path/route-3c1c06e2de280418.js +0 -1
  656. package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-3c1c06e2de280418.js +0 -1
  657. package/.next-prod/static/chunks/app/api/sessions/projects/route-3c1c06e2de280418.js +0 -1
  658. package/.next-prod/static/chunks/app/api/sessions/route-3c1c06e2de280418.js +0 -1
  659. package/.next-prod/static/chunks/app/api/settings/route-3c1c06e2de280418.js +0 -1
  660. package/.next-prod/static/chunks/app/api/skills/[id]/route-3c1c06e2de280418.js +0 -1
  661. package/.next-prod/static/chunks/app/api/skills/content/route-3c1c06e2de280418.js +0 -1
  662. package/.next-prod/static/chunks/app/api/skills/route-3c1c06e2de280418.js +0 -1
  663. package/.next-prod/static/chunks/app/api/snapshots/diff/route-3c1c06e2de280418.js +0 -1
  664. package/.next-prod/static/chunks/app/api/snapshots/route-3c1c06e2de280418.js +0 -1
  665. package/.next-prod/static/chunks/app/api/terminal/aliases/route-3c1c06e2de280418.js +0 -1
  666. package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-3c1c06e2de280418.js +0 -1
  667. package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-3c1c06e2de280418.js +0 -1
  668. package/.next-prod/static/chunks/app/api/terminal/env/route-3c1c06e2de280418.js +0 -1
  669. package/.next-prod/static/chunks/app/api/terminal/history/route-3c1c06e2de280418.js +0 -1
  670. package/.next-prod/static/chunks/app/api/version/route-3c1c06e2de280418.js +0 -1
  671. package/.next-prod/static/chunks/app/apps/[...path]/route-3c1c06e2de280418.js +0 -1
  672. package/.next-prod/static/chunks/app/manifest.webmanifest/route-3c1c06e2de280418.js +0 -1
  673. package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-3c1c06e2de280418.js +0 -1
  674. package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-3c1c06e2de280418.js +0 -1
  675. package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-3c1c06e2de280418.js +0 -1
  676. package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-3c1c06e2de280418.js +0 -1
  677. package/.next-prod/static/css/83c134c954630942.css +0 -1
  678. /package/.next-prod/static/{4Jgc-wu2w_CC8iS5G1QZf → noNfrQRJFchmZSWx_yn1K}/_ssgManifest.js +0 -0
@@ -2,7 +2,7 @@
2
2
  // Do not edit this file manually
3
3
 
4
4
  type AppRoutes = "/" | "/m" | "/project" | "/review/[id]"
5
- type AppRouteHandlerRoutes = "/api/agent/test" | "/api/bash" | "/api/chat" | "/api/chat/codex" | "/api/chat/deepseek" | "/api/chat/glm" | "/api/chat/kimi" | "/api/chat/ollama" | "/api/chat/stop" | "/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/deepseek/balance" | "/api/deepseek/credentials" | "/api/deepseek/models" | "/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/glm/credentials" | "/api/glm/models" | "/api/glm/usage" | "/api/global-state" | "/api/health" | "/api/html-apps" | "/api/html-apps/[id]" | "/api/jupyter/load" | "/api/jupyter/save" | "/api/jupyter/shutdown" | "/api/kimi/credentials" | "/api/kimi/models" | "/api/kimi/usage" | "/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/config" | "/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/prompts/config" | "/api/push/public-key" | "/api/push/subscribe" | "/api/push/unsubscribe" | "/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/snapshots" | "/api/snapshots/diff" | "/api/terminal/aliases" | "/api/terminal/autocomplete" | "/api/terminal/bubble-order" | "/api/terminal/env" | "/api/terminal/history" | "/api/version" | "/apps/[...path]"
5
+ type AppRouteHandlerRoutes = "/api/agent/test" | "/api/bash" | "/api/chat" | "/api/chat/codex" | "/api/chat/deepseek" | "/api/chat/glm" | "/api/chat/kimi" | "/api/chat/ollama" | "/api/chat/stop" | "/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/deepseek/balance" | "/api/deepseek/credentials" | "/api/deepseek/models" | "/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/glm/credentials" | "/api/glm/models" | "/api/glm/usage" | "/api/global-state" | "/api/health" | "/api/html-apps" | "/api/html-apps/[id]" | "/api/jupyter/load" | "/api/jupyter/save" | "/api/jupyter/shutdown" | "/api/kimi/credentials" | "/api/kimi/models" | "/api/kimi/usage" | "/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/config" | "/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/prompts/config" | "/api/push/public-key" | "/api/push/subscribe" | "/api/push/unsubscribe" | "/api/redis/command" | "/api/redis/connect" | "/api/redis/delete" | "/api/redis/disconnect" | "/api/redis/get" | "/api/redis/keys" | "/api/redis/set" | "/api/restart" | "/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/shutdown" | "/api/skills" | "/api/skills/[id]" | "/api/skills/content" | "/api/snapshots" | "/api/snapshots/diff" | "/api/terminal/aliases" | "/api/terminal/autocomplete" | "/api/terminal/bubble-order" | "/api/terminal/env" | "/api/terminal/history" | "/api/update" | "/api/version" | "/apps/[...path]"
6
6
  type PageRoutes = never
7
7
  type LayoutRoutes = "/"
8
8
  type RedirectRoutes = never
@@ -123,6 +123,7 @@ interface ParamMap {
123
123
  "/api/redis/get": {}
124
124
  "/api/redis/keys": {}
125
125
  "/api/redis/set": {}
126
+ "/api/restart": {}
126
127
  "/api/review": {}
127
128
  "/api/review/[id]": { "id": string; }
128
129
  "/api/review/[id]/comments": { "id": string; }
@@ -141,6 +142,7 @@ interface ParamMap {
141
142
  "/api/sessions/projects": {}
142
143
  "/api/sessions/projects/[encodedPath]": { "encodedPath": string; }
143
144
  "/api/settings": {}
145
+ "/api/shutdown": {}
144
146
  "/api/skills": {}
145
147
  "/api/skills/[id]": { "id": string; }
146
148
  "/api/skills/content": {}
@@ -151,6 +153,7 @@ interface ParamMap {
151
153
  "/api/terminal/bubble-order": {}
152
154
  "/api/terminal/env": {}
153
155
  "/api/terminal/history": {}
156
+ "/api/update": {}
154
157
  "/api/version": {}
155
158
  "/apps/[...path]": { "path": string[]; }
156
159
  "/m": {}
@@ -1082,6 +1082,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
1082
1082
  type __Unused = __Check
1083
1083
  }
1084
1084
 
1085
+ // Validate ../../src/app/api/restart/route.ts
1086
+ {
1087
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/restart">> = Specific
1088
+ const handler = {} as typeof import("../../src/app/api/restart/route.js")
1089
+ type __Check = __IsExpected<typeof handler>
1090
+ // @ts-ignore
1091
+ type __Unused = __Check
1092
+ }
1093
+
1085
1094
  // Validate ../../src/app/api/review/[id]/comments/route.ts
1086
1095
  {
1087
1096
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/review/[id]/comments">> = Specific
@@ -1244,6 +1253,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
1244
1253
  type __Unused = __Check
1245
1254
  }
1246
1255
 
1256
+ // Validate ../../src/app/api/shutdown/route.ts
1257
+ {
1258
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/shutdown">> = Specific
1259
+ const handler = {} as typeof import("../../src/app/api/shutdown/route.js")
1260
+ type __Check = __IsExpected<typeof handler>
1261
+ // @ts-ignore
1262
+ type __Unused = __Check
1263
+ }
1264
+
1247
1265
  // Validate ../../src/app/api/skills/[id]/route.ts
1248
1266
  {
1249
1267
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/skills/[id]">> = Specific
@@ -1334,6 +1352,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
1334
1352
  type __Unused = __Check
1335
1353
  }
1336
1354
 
1355
+ // Validate ../../src/app/api/update/route.ts
1356
+ {
1357
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/update">> = Specific
1358
+ const handler = {} as typeof import("../../src/app/api/update/route.js")
1359
+ type __Check = __IsExpected<typeof handler>
1360
+ // @ts-ignore
1361
+ type __Unused = __Check
1362
+ }
1363
+
1337
1364
  // Validate ../../src/app/api/version/route.ts
1338
1365
  {
1339
1366
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/version">> = Specific
package/README.md CHANGED
@@ -169,6 +169,7 @@ No install, no AI chat (read-only sandbox, 5 min):
169
169
 
170
170
  ## Prerequisites
171
171
 
172
+ - **macOS, Linux, or Windows** — Windows support is experimental ([details](#windows))
172
173
  - **Node.js ≥ 20** — [nodejs.org](https://nodejs.org/)
173
174
  - **Claude Code** — [docs.anthropic.com/en/docs/claude-code](https://docs.anthropic.com/en/docs/claude-code) (default engine)
174
175
  - **Git** — for git features (blame, diff, worktree, etc.)
@@ -194,6 +195,80 @@ cockpit ~/my-project # open specified dir
194
195
  cockpit -h # help
195
196
  ```
196
197
 
198
+ ### Running in the background
199
+
200
+ `cockpit` runs in the foreground, so closing the terminal stops it. To keep it
201
+ running:
202
+
203
+ ```bash
204
+ cockpit start # start in the background
205
+ cockpit status # running? which version, port, pid, uptime
206
+ cockpit restart # restart in place
207
+ cockpit stop
208
+ ```
209
+
210
+ `start` accepts the same flags as `cockpit` (`--port`, `--token`). Output goes
211
+ to `~/.cockpit/logs/server.log`.
212
+
213
+ `restart` asks the running server to replace itself, so the port and token it
214
+ was started with are preserved — you do not need to repeat them.
215
+
216
+ > There is no launchd/systemd integration: after a reboot, run `cockpit start`
217
+ > again (or add it to your login items).
218
+
219
+ ### Updating
220
+
221
+ ```bash
222
+ cockpit update
223
+ ```
224
+
225
+ …or click the version pill in the sidebar when an update is available.
226
+
227
+ If Cockpit is **running**, it updates in place: the server hands off to a
228
+ helper that installs while nothing is holding the install directory, then
229
+ relaunches with the same port and token. A failed install rolls back to the
230
+ previous version and still restarts, so an interrupted update never leaves you
231
+ without a working Cockpit.
232
+
233
+ If it is **not running**, `cockpit update` simply installs.
234
+
235
+ Once the new server is up, any browser tab left open from the old version shows
236
+ a "reload" prompt — its cached assets belong to the previous build.
237
+
238
+ ### Windows
239
+
240
+ Windows support is **experimental** — it is exercised by CI but has far less
241
+ real-world mileage than macOS and Linux. Cockpit runs natively; the Console
242
+ panel uses Git Bash when it is installed and falls back to PowerShell, the same
243
+ order Claude Code applies on Windows.
244
+
245
+ - Install [Git for Windows](https://git-scm.com/download/win) for a bash
246
+ terminal. Without it the Console panel runs PowerShell, and the
247
+ `cockpit.bash` channel used by HTML apps is unavailable.
248
+ - The file browser, diff, review and chat panels behave as they do elsewhere.
249
+
250
+ Prefer a Linux toolchain? Run *all* of Cockpit inside **WSL2**, where it is an
251
+ ordinary Linux install:
252
+
253
+ ```powershell
254
+ wsl --install # once, from an admin PowerShell, then reboot
255
+ ```
256
+
257
+ ```bash
258
+ wsl # enter your Linux shell
259
+ npm install -g @surething/cockpit # install Node ≥ 20 inside WSL first
260
+ cockpit
261
+ ```
262
+
263
+ Either way, open `http://localhost:3457` in your Windows browser — WSL2
264
+ forwards localhost automatically.
265
+
266
+ > **Pick one side and stay there.** Running Cockpit on Windows while your
267
+ > project lives inside WSL (or the reverse) gives the agent one set of paths
268
+ > and its terminal another: the same directory is `C:\Users\me\proj` on one
269
+ > side and `/mnt/c/Users/me/proj` on the other, so paths passed between them
270
+ > do not resolve. Keep Cockpit and your code in the same world.
271
+
197
272
  > Both `cockpit` (full name) and `cock` (short alias) ship with the package — use whichever you prefer. Docs and examples use `cockpit`; existing muscle memory keeps working.
198
273
 
199
274
  ### From source
package/README.zh.md CHANGED
@@ -169,6 +169,7 @@ Cockpit 就是那个仪表盘。它**不替代** Claude Code,而是站在官
169
169
 
170
170
  ## 前置依赖
171
171
 
172
+ - **macOS、Linux 或 Windows** —— Windows 支持为实验性([详见](#windows))
172
173
  - **Node.js ≥ 20** —— [nodejs.org](https://nodejs.org/)
173
174
  - **Claude Code** —— [docs.anthropic.com/en/docs/claude-code](https://docs.anthropic.com/en/docs/claude-code)(默认引擎)
174
175
  - **Git** —— 用于 Git 相关功能(blame、diff、worktree 等)
@@ -196,6 +197,69 @@ cockpit -h # 帮助
196
197
 
197
198
  > `cockpit`(完整名)和 `cock`(短别名)都随包安装 —— 任选其一。文档与示例统一使用 `cockpit`,老用户的肌肉记忆 `cock` 仍然好使。
198
199
 
200
+ ### 后台运行
201
+
202
+ `cockpit` 默认在前台运行,关掉终端服务就停了。想让它常驻:
203
+
204
+ ```bash
205
+ cockpit start # 后台启动
206
+ cockpit status # 是否在跑:版本、端口、pid、运行时长
207
+ cockpit restart # 原地重启
208
+ cockpit stop
209
+ ```
210
+
211
+ `start` 支持与 `cockpit` 相同的参数(`--port`、`--token`)。输出写入
212
+ `~/.cockpit/logs/server.log`。
213
+
214
+ `restart` 是让运行中的服务自己完成替换,因此启动时用的端口和 token 会被保留 ——
215
+ 不需要重新指定一遍。
216
+
217
+ > 没有集成 launchd/systemd:重启电脑后需要再次执行 `cockpit start`(或把它加进系统的登录启动项)。
218
+
219
+ ### 升级
220
+
221
+ ```bash
222
+ cockpit update
223
+ ```
224
+
225
+ 也可以在有新版本时点击侧边栏的版本药丸。
226
+
227
+ 如果 Cockpit **正在运行**,升级会原地完成:服务把工作交接给一个辅助进程,由它在无人
228
+ 占用安装目录的情况下安装,然后用相同的端口和 token 重新拉起。安装失败会回滚到原版本
229
+ 并照常重启 —— 中断的升级不会让你失去一个可用的 Cockpit。
230
+
231
+ 如果**没有运行**,`cockpit update` 就是单纯地安装。
232
+
233
+ 新服务起来后,此前一直开着的浏览器标签页会出现"刷新"提示 —— 它持有的是旧版本的静态资源。
234
+
235
+ ### Windows
236
+
237
+ Windows 支持为**实验性** —— CI 会覆盖,但实际使用量远少于 macOS 和 Linux。Cockpit
238
+ 以原生方式运行;Console 面板在装有 Git Bash 时使用它,否则回落到 PowerShell,与
239
+ Claude Code 在 Windows 上的优先级一致。
240
+
241
+ - 安装 [Git for Windows](https://git-scm.com/download/win) 可获得 bash 终端。不装的话
242
+ Console 面板会运行 PowerShell,且 HTML 应用使用的 `cockpit.bash` 通道不可用。
243
+ - 文件浏览、diff、review、chat 等面板的行为与其他平台一致。
244
+
245
+ 想要 Linux 工具链?把**整个** Cockpit 放进 **WSL2** 运行,那里它就是一个普通的 Linux 安装:
246
+
247
+ ```powershell
248
+ wsl --install # 管理员 PowerShell 里执行一次,然后重启
249
+ ```
250
+
251
+ ```bash
252
+ wsl # 进入 Linux shell
253
+ npm install -g @surething/cockpit # 先在 WSL 内装好 Node ≥ 20
254
+ cockpit
255
+ ```
256
+
257
+ 两种方式都在 Windows 浏览器里打开 `http://localhost:3457` —— WSL2 会自动转发 localhost。
258
+
259
+ > **选一边,别混用。** 在 Windows 上跑 Cockpit 而项目放在 WSL 里(或者反过来),会让
260
+ > agent 和它的终端拿到两套路径:同一个目录一边是 `C:\Users\me\proj`,另一边是
261
+ > `/mnt/c/Users/me/proj`,互相传递的路径无法解析。让 Cockpit 和你的代码待在同一个世界里。
262
+
199
263
  ### 从源码安装
200
264
 
201
265
  ```bash
@@ -6,6 +6,9 @@
6
6
  * buy a ~50ms process spawn per keystroke and a "is that binary installed?"
7
7
  * failure mode. MD5 comes from ./md5.js, SHA from the browser's crypto.subtle.
8
8
  */
9
+ // React/ReactDOM come from the /html-lib script tags in index.html; `md5` is
10
+ // the global exported by the sibling ./md5.js script tag.
11
+ /* global React, ReactDOM, md5 */
9
12
  const { useState, useEffect, useMemo, useCallback, useRef, useContext, createContext } = React;
10
13
 
11
14
  /* ------------------------------------------------------------------ utils */
@@ -243,14 +246,14 @@ function TextCodecPanel({ state, patch, kind }) {
243
246
  }, [debounced, state.mode, kind]);
244
247
 
245
248
  const controls = (
246
- <React.Fragment>
249
+ <>
247
250
  <Segmented value={state.mode} onChange={(mode) => patch({ mode })}
248
251
  options={[{ value: 'encode', label: 'Encode' }, { value: 'decode', label: 'Decode' }]} />
249
252
  <button className="btn" onClick={() => patch({ text: '' })}>Clear</button>
250
253
  <span className="bar-note">
251
254
  {kind === 'base64' ? 'UTF-8 safe — handles non-ASCII text.' : 'encodeURIComponent / decodeURIComponent.'}
252
255
  </span>
253
- </React.Fragment>
256
+ </>
254
257
  );
255
258
 
256
259
  return (
@@ -281,12 +284,12 @@ function JsonPanel({ state, patch }) {
281
284
  }, [debounced, state.mode]);
282
285
 
283
286
  const controls = (
284
- <React.Fragment>
287
+ <>
285
288
  <Segmented value={state.mode} onChange={(mode) => patch({ mode })}
286
289
  options={[{ value: 'pretty', label: 'Pretty' }, { value: 'minify', label: 'Minify' }]} />
287
290
  <button className="btn" onClick={() => patch({ text: '' })}>Clear</button>
288
291
  <span className="bar-note">Parses as you type — the error message doubles as validation.</span>
289
- </React.Fragment>
292
+ </>
290
293
  );
291
294
 
292
295
  return (
@@ -339,14 +342,14 @@ function HashPanel({ state, patch }) {
339
342
  }, [debounced]);
340
343
 
341
344
  const controls = (
342
- <React.Fragment>
345
+ <>
343
346
  <button className="btn" onClick={() => patch({ text: '' })}>Clear</button>
344
347
  <span className="bar-note">
345
348
  {SUBTLE
346
349
  ? 'MD5 computed locally; SHA via the browser\'s WebCrypto.'
347
350
  : 'SHA needs a secure context — open DevKit over localhost to enable it.'}
348
351
  </span>
349
- </React.Fragment>
352
+ </>
350
353
  );
351
354
 
352
355
  return (
@@ -450,7 +453,7 @@ function JwtPanel({ state, patch }) {
450
453
  )}
451
454
 
452
455
  {decoded && decoded.header && (
453
- <React.Fragment>
456
+ <>
454
457
  <div className="section">
455
458
  <div className="section-hd">
456
459
  <span className="section-title">Header</span>
@@ -458,7 +461,7 @@ function JwtPanel({ state, patch }) {
458
461
  </div>
459
462
  <pre className="mono-block">{headerJson}</pre>
460
463
  {algNone && (
461
- <span className="kv-v error">alg is "none" — this token is unsigned.</span>
464
+ <span className="kv-v error">alg is &quot;none&quot; — this token is unsigned.</span>
462
465
  )}
463
466
  </div>
464
467
 
@@ -488,7 +491,7 @@ function JwtPanel({ state, patch }) {
488
491
  <span className="section-title">Signature</span>
489
492
  <pre className="mono-block muted">{decoded.signature || '(empty)'}</pre>
490
493
  </div>
491
- </React.Fragment>
494
+ </>
492
495
  )}
493
496
  </div>
494
497
  </div>
@@ -546,12 +549,12 @@ function TimestampPanel({ state, patch }) {
546
549
  <div className="kv"><span className="kv-v error">{fromEpoch.error}</span></div>
547
550
  )}
548
551
  {fromEpoch && fromEpoch.date && (
549
- <React.Fragment>
552
+ <>
550
553
  <div className="kv"><span className="kv-k">Detected</span><span className="kv-v muted">{fromEpoch.unit}</span></div>
551
554
  <div className="kv"><span className="kv-k">Local</span><span className="kv-v">{formatLocal(fromEpoch.date)}</span></div>
552
555
  <div className="kv"><span className="kv-k">UTC</span><span className="kv-v">{formatUTC(fromEpoch.date)}</span></div>
553
556
  <div className="kv"><span className="kv-k">ISO</span><span className="kv-v">{fromEpoch.date.toISOString()}</span></div>
554
- </React.Fragment>
557
+ </>
555
558
  )}
556
559
  </div>
557
560
  </div>
@@ -570,7 +573,7 @@ function TimestampPanel({ state, patch }) {
570
573
  <div className="kv"><span className="kv-v error">{fromDate.error}</span></div>
571
574
  )}
572
575
  {fromDate && fromDate.date && (
573
- <React.Fragment>
576
+ <>
574
577
  <div className="kv">
575
578
  <span className="kv-k">Seconds</span>
576
579
  <span className="kv-v">{Math.floor(fromDate.date.getTime() / 1000)}</span>
@@ -582,7 +585,7 @@ function TimestampPanel({ state, patch }) {
582
585
  <CopyButton text={String(fromDate.date.getTime())} label="Milliseconds" />
583
586
  </div>
584
587
  <div className="kv"><span className="kv-k">ISO</span><span className="kv-v">{fromDate.date.toISOString()}</span></div>
585
- </React.Fragment>
588
+ </>
586
589
  )}
587
590
  </div>
588
591
  </div>
@@ -603,7 +606,6 @@ function UuidPanel({ state, patch }) {
603
606
  listRef.current = state.list;
604
607
  useEffect(() => {
605
608
  if (listRef.current.length === 0) generate(state.count);
606
- // eslint-disable-next-line react-hooks/exhaustive-deps
607
609
  }, []);
608
610
 
609
611
  const shown = useMemo(() => state.list.map((u) => {
@@ -680,13 +682,13 @@ function App() {
680
682
  const [state, setState] = useState(INITIAL);
681
683
  const [toastMsg, setToastMsg] = useState(null);
682
684
 
683
- const toastTimer = useRef(null);
685
+ const toastTimerRef = useRef(null);
684
686
  const toast = useCallback((message) => {
685
687
  setToastMsg(message);
686
- clearTimeout(toastTimer.current);
687
- toastTimer.current = setTimeout(() => setToastMsg(null), 1600);
688
+ clearTimeout(toastTimerRef.current);
689
+ toastTimerRef.current = setTimeout(() => setToastMsg(null), 1600);
688
690
  }, []);
689
- useEffect(() => () => clearTimeout(toastTimer.current), []);
691
+ useEffect(() => () => clearTimeout(toastTimerRef.current), []);
690
692
 
691
693
  const patchers = useMemo(() => {
692
694
  const out = {};