@surething/cockpit 1.0.221 → 1.0.223

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 (613) hide show
  1. package/.next-prod/BUILD_ID +1 -1
  2. package/.next-prod/app-path-routes-manifest.json +10 -3
  3. package/.next-prod/build-manifest.json +2 -2
  4. package/.next-prod/prerender-manifest.json +3 -3
  5. package/.next-prod/required-server-files.js +2 -1
  6. package/.next-prod/required-server-files.json +2 -1
  7. package/.next-prod/routes-manifest.json +42 -0
  8. package/.next-prod/server/app/_global-error/page.js +2 -2
  9. package/.next-prod/server/app/_global-error/page.js.nft.json +1 -1
  10. package/.next-prod/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next-prod/server/app/_global-error.html +1 -1
  12. package/.next-prod/server/app/_global-error.rsc +1 -1
  13. package/.next-prod/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/.next-prod/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/.next-prod/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  16. package/.next-prod/server/app/_global-error.segments/_head.segment.rsc +1 -1
  17. package/.next-prod/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next-prod/server/app/_not-found/page.js +2 -2
  20. package/.next-prod/server/app/_not-found/page.js.nft.json +1 -1
  21. package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
  22. package/.next-prod/server/app/_not-found.html +49 -1
  23. package/.next-prod/server/app/_not-found.rsc +65 -14
  24. package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +65 -14
  25. package/.next-prod/server/app/_not-found.segments/_head.segment.rsc +1 -1
  26. package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +53 -5
  27. package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  28. package/.next-prod/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  29. package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  30. package/.next-prod/server/app/api/agent/test/route.js +1 -1
  31. package/.next-prod/server/app/api/agent/test/route.js.nft.json +1 -1
  32. package/.next-prod/server/app/api/bash/route.js +1 -1
  33. package/.next-prod/server/app/api/bash/route.js.nft.json +1 -1
  34. package/.next-prod/server/app/api/chat/codex/route.js +16 -10
  35. package/.next-prod/server/app/api/chat/codex/route.js.nft.json +1 -1
  36. package/.next-prod/server/app/api/chat/deepseek/route.js +3 -3
  37. package/.next-prod/server/app/api/chat/deepseek/route.js.nft.json +1 -1
  38. package/.next-prod/server/app/api/chat/kimi/route.js +10 -10
  39. package/.next-prod/server/app/api/chat/kimi/route.js.nft.json +1 -1
  40. package/.next-prod/server/app/api/chat/ollama/route.js +7 -7
  41. package/.next-prod/server/app/api/chat/ollama/route.js.nft.json +1 -1
  42. package/.next-prod/server/app/api/chat/pty-input/route.js +1 -1
  43. package/.next-prod/server/app/api/chat/pty-input/route.js.nft.json +1 -1
  44. package/.next-prod/server/app/api/chat/route.js +12 -12
  45. package/.next-prod/server/app/api/chat/route.js.nft.json +1 -1
  46. package/.next-prod/server/app/api/chat/stop/route.js +1 -0
  47. package/.next-prod/server/app/api/chat/stop/route.js.nft.json +1 -0
  48. package/.next-prod/server/app/api/chat/stop/route_client-reference-manifest.js +1 -0
  49. package/.next-prod/server/app/api/claude-stats/route.js +1 -1
  50. package/.next-prod/server/app/api/claude-stats/route.js.nft.json +1 -1
  51. package/.next-prod/server/app/api/commands/route.js +1 -1
  52. package/.next-prod/server/app/api/commands/route.js.nft.json +1 -1
  53. package/.next-prod/server/app/api/comments/route.js +1 -1
  54. package/.next-prod/server/app/api/comments/route.js.nft.json +1 -1
  55. package/.next-prod/server/app/api/db/columns/route.js +1 -1
  56. package/.next-prod/server/app/api/db/columns/route.js.nft.json +1 -1
  57. package/.next-prod/server/app/api/db/connect/route.js +1 -1
  58. package/.next-prod/server/app/api/db/connect/route.js.nft.json +1 -1
  59. package/.next-prod/server/app/api/db/disconnect/route.js +1 -1
  60. package/.next-prod/server/app/api/db/disconnect/route.js.nft.json +1 -1
  61. package/.next-prod/server/app/api/db/export/route.js +1 -1
  62. package/.next-prod/server/app/api/db/export/route.js.nft.json +1 -1
  63. package/.next-prod/server/app/api/db/query/route.js +1 -1
  64. package/.next-prod/server/app/api/db/query/route.js.nft.json +1 -1
  65. package/.next-prod/server/app/api/db/schemas/route.js +1 -1
  66. package/.next-prod/server/app/api/db/schemas/route.js.nft.json +1 -1
  67. package/.next-prod/server/app/api/dev/spans/route.js +1 -1
  68. package/.next-prod/server/app/api/dev/spans/route.js.nft.json +1 -1
  69. package/.next-prod/server/app/api/extension/version/route.js +1 -1
  70. package/.next-prod/server/app/api/extension/version/route.js.nft.json +1 -1
  71. package/.next-prod/server/app/api/file/route.js +1 -1
  72. package/.next-prod/server/app/api/file/route.js.nft.json +1 -1
  73. package/.next-prod/server/app/api/files/blame/route.js +1 -1
  74. package/.next-prod/server/app/api/files/blame/route.js.nft.json +1 -1
  75. package/.next-prod/server/app/api/files/clipboard/route.js +1 -1
  76. package/.next-prod/server/app/api/files/clipboard/route.js.nft.json +1 -1
  77. package/.next-prod/server/app/api/files/copy/route.js +1 -1
  78. package/.next-prod/server/app/api/files/copy/route.js.nft.json +1 -1
  79. package/.next-prod/server/app/api/files/delete/route.js +1 -1
  80. package/.next-prod/server/app/api/files/delete/route.js.nft.json +1 -1
  81. package/.next-prod/server/app/api/files/expanded/route.js +1 -1
  82. package/.next-prod/server/app/api/files/expanded/route.js.nft.json +1 -1
  83. package/.next-prod/server/app/api/files/index/route.js +1 -1
  84. package/.next-prod/server/app/api/files/index/route.js.nft.json +1 -1
  85. package/.next-prod/server/app/api/files/init/route.js +1 -1
  86. package/.next-prod/server/app/api/files/init/route.js.nft.json +1 -1
  87. package/.next-prod/server/app/api/files/paste/route.js +1 -1
  88. package/.next-prod/server/app/api/files/paste/route.js.nft.json +1 -1
  89. package/.next-prod/server/app/api/files/read/route.js +1 -1
  90. package/.next-prod/server/app/api/files/read/route.js.nft.json +1 -1
  91. package/.next-prod/server/app/api/files/readdir/route.js +1 -1
  92. package/.next-prod/server/app/api/files/readdir/route.js.nft.json +1 -1
  93. package/.next-prod/server/app/api/files/recent/route.js +1 -1
  94. package/.next-prod/server/app/api/files/recent/route.js.nft.json +1 -1
  95. package/.next-prod/server/app/api/files/save/route.js +1 -1
  96. package/.next-prod/server/app/api/files/save/route.js.nft.json +1 -1
  97. package/.next-prod/server/app/api/files/search/route.js +1 -1
  98. package/.next-prod/server/app/api/files/search/route.js.nft.json +1 -1
  99. package/.next-prod/server/app/api/files/stat/route.js +1 -1
  100. package/.next-prod/server/app/api/files/stat/route.js.nft.json +1 -1
  101. package/.next-prod/server/app/api/files/text/route.js +1 -1
  102. package/.next-prod/server/app/api/files/text/route.js.nft.json +1 -1
  103. package/.next-prod/server/app/api/git/branch-diff/route.js +1 -1
  104. package/.next-prod/server/app/api/git/branch-diff/route.js.nft.json +1 -1
  105. package/.next-prod/server/app/api/git/branches/route.js +1 -1
  106. package/.next-prod/server/app/api/git/branches/route.js.nft.json +1 -1
  107. package/.next-prod/server/app/api/git/commit-diff/route.js +1 -1
  108. package/.next-prod/server/app/api/git/commit-diff/route.js.nft.json +1 -1
  109. package/.next-prod/server/app/api/git/commits/route.js +1 -1
  110. package/.next-prod/server/app/api/git/commits/route.js.nft.json +1 -1
  111. package/.next-prod/server/app/api/git/current-branch/route.js +1 -0
  112. package/.next-prod/server/app/api/git/current-branch/route.js.nft.json +1 -0
  113. package/.next-prod/server/app/api/git/current-branch/route_client-reference-manifest.js +1 -0
  114. package/.next-prod/server/app/api/git/diff/route.js +1 -1
  115. package/.next-prod/server/app/api/git/diff/route.js.nft.json +1 -1
  116. package/.next-prod/server/app/api/git/discard/route.js +1 -1
  117. package/.next-prod/server/app/api/git/discard/route.js.nft.json +1 -1
  118. package/.next-prod/server/app/api/git/stage/route.js +1 -1
  119. package/.next-prod/server/app/api/git/stage/route.js.nft.json +1 -1
  120. package/.next-prod/server/app/api/git/status/route.js +1 -1
  121. package/.next-prod/server/app/api/git/status/route.js.nft.json +1 -1
  122. package/.next-prod/server/app/api/git/unstage/route.js +1 -1
  123. package/.next-prod/server/app/api/git/unstage/route.js.nft.json +1 -1
  124. package/.next-prod/server/app/api/git/worktree/route.js +1 -1
  125. package/.next-prod/server/app/api/git/worktree/route.js.nft.json +1 -1
  126. package/.next-prod/server/app/api/global-state/route.js +1 -1
  127. package/.next-prod/server/app/api/global-state/route.js.nft.json +1 -1
  128. package/.next-prod/server/app/api/jupyter/load/route.js +1 -1
  129. package/.next-prod/server/app/api/jupyter/load/route.js.nft.json +1 -1
  130. package/.next-prod/server/app/api/jupyter/save/route.js +1 -1
  131. package/.next-prod/server/app/api/jupyter/save/route.js.nft.json +1 -1
  132. package/.next-prod/server/app/api/jupyter/shutdown/route.js +1 -1
  133. package/.next-prod/server/app/api/jupyter/shutdown/route.js.nft.json +1 -1
  134. package/.next-prod/server/app/api/lsp/definition/route.js +1 -1
  135. package/.next-prod/server/app/api/lsp/definition/route.js.nft.json +1 -1
  136. package/.next-prod/server/app/api/lsp/hover/route.js +1 -1
  137. package/.next-prod/server/app/api/lsp/hover/route.js.nft.json +1 -1
  138. package/.next-prod/server/app/api/lsp/references/route.js +1 -1
  139. package/.next-prod/server/app/api/lsp/references/route.js.nft.json +1 -1
  140. package/.next-prod/server/app/api/lsp/status/route.js +1 -1
  141. package/.next-prod/server/app/api/lsp/status/route.js.nft.json +1 -1
  142. package/.next-prod/server/app/api/lsp/warmup/route.js +1 -1
  143. package/.next-prod/server/app/api/lsp/warmup/route.js.nft.json +1 -1
  144. package/.next-prod/server/app/api/mysql/columns/route.js +2 -2
  145. package/.next-prod/server/app/api/mysql/columns/route.js.nft.json +1 -1
  146. package/.next-prod/server/app/api/mysql/connect/route.js +1 -1
  147. package/.next-prod/server/app/api/mysql/connect/route.js.nft.json +1 -1
  148. package/.next-prod/server/app/api/mysql/disconnect/route.js +1 -1
  149. package/.next-prod/server/app/api/mysql/disconnect/route.js.nft.json +1 -1
  150. package/.next-prod/server/app/api/mysql/export/route.js +1 -1
  151. package/.next-prod/server/app/api/mysql/export/route.js.nft.json +1 -1
  152. package/.next-prod/server/app/api/mysql/query/route.js +1 -1
  153. package/.next-prod/server/app/api/mysql/query/route.js.nft.json +1 -1
  154. package/.next-prod/server/app/api/mysql/schemas/route.js +2 -2
  155. package/.next-prod/server/app/api/mysql/schemas/route.js.nft.json +1 -1
  156. package/.next-prod/server/app/api/neo4j/connect/route.js +1 -1
  157. package/.next-prod/server/app/api/neo4j/connect/route.js.nft.json +1 -1
  158. package/.next-prod/server/app/api/neo4j/disconnect/route.js +1 -1
  159. package/.next-prod/server/app/api/neo4j/disconnect/route.js.nft.json +1 -1
  160. package/.next-prod/server/app/api/neo4j/query/route.js +1 -1
  161. package/.next-prod/server/app/api/neo4j/query/route.js.nft.json +1 -1
  162. package/.next-prod/server/app/api/neo4j/schema/route.js +1 -1
  163. package/.next-prod/server/app/api/neo4j/schema/route.js.nft.json +1 -1
  164. package/.next-prod/server/app/api/note/route.js +1 -1
  165. package/.next-prod/server/app/api/note/route.js.nft.json +1 -1
  166. package/.next-prod/server/app/api/ollama/models/route.js +1 -1
  167. package/.next-prod/server/app/api/ollama/models/route.js.nft.json +1 -1
  168. package/.next-prod/server/app/api/ollama/start/route.js +1 -1
  169. package/.next-prod/server/app/api/ollama/start/route.js.nft.json +1 -1
  170. package/.next-prod/server/app/api/open-cursor/route.js +1 -1
  171. package/.next-prod/server/app/api/open-cursor/route.js.nft.json +1 -1
  172. package/.next-prod/server/app/api/open-vscode/route.js +1 -1
  173. package/.next-prod/server/app/api/open-vscode/route.js.nft.json +1 -1
  174. package/.next-prod/server/app/api/pick-folder/route.js +1 -1
  175. package/.next-prod/server/app/api/pick-folder/route.js.nft.json +1 -1
  176. package/.next-prod/server/app/api/pinned-sessions/route.js +1 -1
  177. package/.next-prod/server/app/api/pinned-sessions/route.js.nft.json +1 -1
  178. package/.next-prod/server/app/api/project-settings/route.js +1 -1
  179. package/.next-prod/server/app/api/project-settings/route.js.nft.json +1 -1
  180. package/.next-prod/server/app/api/project-state/route.js +2 -1
  181. package/.next-prod/server/app/api/project-state/route.js.nft.json +1 -1
  182. package/.next-prod/server/app/api/projectGraph/affected/route.js +1 -1
  183. package/.next-prod/server/app/api/projectGraph/affected/route.js.nft.json +1 -1
  184. package/.next-prod/server/app/api/projectGraph/callees/route.js +1 -1
  185. package/.next-prod/server/app/api/projectGraph/callees/route.js.nft.json +1 -1
  186. package/.next-prod/server/app/api/projectGraph/callers/route.js +1 -1
  187. package/.next-prod/server/app/api/projectGraph/callers/route.js.nft.json +1 -1
  188. package/.next-prod/server/app/api/projectGraph/coedit/route.js +1 -1
  189. package/.next-prod/server/app/api/projectGraph/coedit/route.js.nft.json +1 -1
  190. package/.next-prod/server/app/api/projectGraph/context/route.js +1 -1
  191. package/.next-prod/server/app/api/projectGraph/context/route.js.nft.json +1 -1
  192. package/.next-prod/server/app/api/projectGraph/file/route.js +1 -1
  193. package/.next-prod/server/app/api/projectGraph/file/route.js.nft.json +1 -1
  194. package/.next-prod/server/app/api/projectGraph/file-functions/route.js +1 -1
  195. package/.next-prod/server/app/api/projectGraph/file-functions/route.js.nft.json +1 -1
  196. package/.next-prod/server/app/api/projectGraph/impact/route.js +1 -1
  197. package/.next-prod/server/app/api/projectGraph/impact/route.js.nft.json +1 -1
  198. package/.next-prod/server/app/api/projectGraph/related/route.js +1 -1
  199. package/.next-prod/server/app/api/projectGraph/related/route.js.nft.json +1 -1
  200. package/.next-prod/server/app/api/projectGraph/risk/route.js +1 -1
  201. package/.next-prod/server/app/api/projectGraph/risk/route.js.nft.json +1 -1
  202. package/.next-prod/server/app/api/projectGraph/search/route.js +1 -1
  203. package/.next-prod/server/app/api/projectGraph/search/route.js.nft.json +1 -1
  204. package/.next-prod/server/app/api/projects/route.js +1 -1
  205. package/.next-prod/server/app/api/projects/route.js.nft.json +1 -1
  206. package/.next-prod/server/app/api/push/public-key/route.js +1 -0
  207. package/.next-prod/server/app/api/push/public-key/route.js.nft.json +1 -0
  208. package/.next-prod/server/app/api/push/public-key/route_client-reference-manifest.js +1 -0
  209. package/.next-prod/server/app/api/push/subscribe/route.js +1 -0
  210. package/.next-prod/server/app/api/push/subscribe/route.js.nft.json +1 -0
  211. package/.next-prod/server/app/api/push/subscribe/route_client-reference-manifest.js +1 -0
  212. package/.next-prod/server/app/api/push/test/route.js +1 -0
  213. package/.next-prod/server/app/api/push/test/route.js.nft.json +1 -0
  214. package/.next-prod/server/app/api/push/test/route_client-reference-manifest.js +1 -0
  215. package/.next-prod/server/app/api/push/unsubscribe/route.js +1 -0
  216. package/.next-prod/server/app/api/push/unsubscribe/route.js.nft.json +1 -0
  217. package/.next-prod/server/app/api/push/unsubscribe/route_client-reference-manifest.js +1 -0
  218. package/.next-prod/server/app/api/redis/command/route.js +1 -1
  219. package/.next-prod/server/app/api/redis/command/route.js.nft.json +1 -1
  220. package/.next-prod/server/app/api/redis/connect/route.js +1 -1
  221. package/.next-prod/server/app/api/redis/connect/route.js.nft.json +1 -1
  222. package/.next-prod/server/app/api/redis/delete/route.js +1 -1
  223. package/.next-prod/server/app/api/redis/delete/route.js.nft.json +1 -1
  224. package/.next-prod/server/app/api/redis/disconnect/route.js +1 -1
  225. package/.next-prod/server/app/api/redis/disconnect/route.js.nft.json +1 -1
  226. package/.next-prod/server/app/api/redis/get/route.js +1 -1
  227. package/.next-prod/server/app/api/redis/get/route.js.nft.json +1 -1
  228. package/.next-prod/server/app/api/redis/keys/route.js +1 -1
  229. package/.next-prod/server/app/api/redis/keys/route.js.nft.json +1 -1
  230. package/.next-prod/server/app/api/redis/set/route.js +1 -1
  231. package/.next-prod/server/app/api/redis/set/route.js.nft.json +1 -1
  232. package/.next-prod/server/app/api/review/[id]/comments/route.js +1 -1
  233. package/.next-prod/server/app/api/review/[id]/comments/route.js.nft.json +1 -1
  234. package/.next-prod/server/app/api/review/[id]/replies/route.js +1 -1
  235. package/.next-prod/server/app/api/review/[id]/replies/route.js.nft.json +1 -1
  236. package/.next-prod/server/app/api/review/[id]/route.js +1 -1
  237. package/.next-prod/server/app/api/review/[id]/route.js.nft.json +1 -1
  238. package/.next-prod/server/app/api/review/identify/route.js +1 -1
  239. package/.next-prod/server/app/api/review/identify/route.js.nft.json +1 -1
  240. package/.next-prod/server/app/api/review/order/route.js +1 -1
  241. package/.next-prod/server/app/api/review/order/route.js.nft.json +1 -1
  242. package/.next-prod/server/app/api/review/route.js +1 -1
  243. package/.next-prod/server/app/api/review/route.js.nft.json +1 -1
  244. package/.next-prod/server/app/api/review/share-info/route.js +1 -1
  245. package/.next-prod/server/app/api/review/share-info/route.js.nft.json +1 -1
  246. package/.next-prod/server/app/api/review/users/route.js +1 -1
  247. package/.next-prod/server/app/api/review/users/route.js.nft.json +1 -1
  248. package/.next-prod/server/app/api/scheduled-tasks/route.js +1 -1
  249. package/.next-prod/server/app/api/scheduled-tasks/route.js.nft.json +1 -1
  250. package/.next-prod/server/app/api/services/config/route.js +1 -1
  251. package/.next-prod/server/app/api/services/config/route.js.nft.json +1 -1
  252. package/.next-prod/server/app/api/services/scripts/route.js +1 -1
  253. package/.next-prod/server/app/api/services/scripts/route.js.nft.json +1 -1
  254. package/.next-prod/server/app/api/session/[sessionId]/fork/route.js +1 -1
  255. package/.next-prod/server/app/api/session/[sessionId]/fork/route.js.nft.json +1 -1
  256. package/.next-prod/server/app/api/session/[sessionId]/history/route.js +1 -1
  257. package/.next-prod/server/app/api/session/[sessionId]/history/route.js.nft.json +1 -1
  258. package/.next-prod/server/app/api/session-by-path/route.js +1 -1
  259. package/.next-prod/server/app/api/session-by-path/route.js.nft.json +1 -1
  260. package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js +1 -1
  261. package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js.nft.json +1 -1
  262. package/.next-prod/server/app/api/sessions/projects/route.js +1 -1
  263. package/.next-prod/server/app/api/sessions/projects/route.js.nft.json +1 -1
  264. package/.next-prod/server/app/api/sessions/route.js +1 -1
  265. package/.next-prod/server/app/api/sessions/route.js.nft.json +1 -1
  266. package/.next-prod/server/app/api/settings/route.js +1 -1
  267. package/.next-prod/server/app/api/settings/route.js.nft.json +1 -1
  268. package/.next-prod/server/app/api/skills/[id]/route.js +1 -1
  269. package/.next-prod/server/app/api/skills/[id]/route.js.nft.json +1 -1
  270. package/.next-prod/server/app/api/skills/content/route.js +1 -1
  271. package/.next-prod/server/app/api/skills/content/route.js.nft.json +1 -1
  272. package/.next-prod/server/app/api/skills/route.js +1 -1
  273. package/.next-prod/server/app/api/skills/route.js.nft.json +1 -1
  274. package/.next-prod/server/app/api/terminal/aliases/route.js +1 -1
  275. package/.next-prod/server/app/api/terminal/aliases/route.js.nft.json +1 -1
  276. package/.next-prod/server/app/api/terminal/autocomplete/route.js +1 -1
  277. package/.next-prod/server/app/api/terminal/autocomplete/route.js.nft.json +1 -1
  278. package/.next-prod/server/app/api/terminal/bubble-order/route.js +1 -1
  279. package/.next-prod/server/app/api/terminal/bubble-order/route.js.nft.json +1 -1
  280. package/.next-prod/server/app/api/terminal/env/route.js +1 -1
  281. package/.next-prod/server/app/api/terminal/env/route.js.nft.json +1 -1
  282. package/.next-prod/server/app/api/terminal/history/route.js +1 -1
  283. package/.next-prod/server/app/api/terminal/history/route.js.nft.json +1 -1
  284. package/.next-prod/server/app/api/version/route.js +1 -1
  285. package/.next-prod/server/app/api/version/route.js.nft.json +1 -1
  286. package/.next-prod/server/app/favicon.ico/route.js +1 -1
  287. package/.next-prod/server/app/favicon.ico/route.js.nft.json +1 -1
  288. package/.next-prod/server/app/m/page.js +2 -0
  289. package/.next-prod/server/app/m/page.js.nft.json +1 -0
  290. package/.next-prod/server/app/m/page_client-reference-manifest.js +1 -0
  291. package/.next-prod/server/app/manifest.webmanifest/route.js +2 -2
  292. package/.next-prod/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  293. package/.next-prod/server/app/manifest.webmanifest.body +1 -1
  294. package/.next-prod/server/app/page.js +2 -2
  295. package/.next-prod/server/app/page.js.nft.json +1 -1
  296. package/.next-prod/server/app/page_client-reference-manifest.js +1 -1
  297. package/.next-prod/server/app/project/page.js +2 -2
  298. package/.next-prod/server/app/project/page.js.nft.json +1 -1
  299. package/.next-prod/server/app/project/page_client-reference-manifest.js +1 -1
  300. package/.next-prod/server/app/review/[id]/page.js +2 -2
  301. package/.next-prod/server/app/review/[id]/page.js.nft.json +1 -1
  302. package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
  303. package/.next-prod/server/app-paths-manifest.json +10 -3
  304. package/.next-prod/server/chunks/{8555.js → 2637.js} +134 -7
  305. package/.next-prod/server/chunks/2939.js +1 -1
  306. package/.next-prod/server/chunks/{3408.js → 5337.js} +3 -3
  307. package/.next-prod/server/chunks/6955.js +1 -1
  308. package/.next-prod/server/chunks/7003.js +1 -0
  309. package/.next-prod/server/chunks/8916.js +1 -1
  310. package/.next-prod/server/chunks/9658.js +10 -12
  311. package/.next-prod/server/middleware-build-manifest.js +1 -1
  312. package/.next-prod/server/pages/404.html +49 -1
  313. package/.next-prod/server/pages/500.html +1 -1
  314. package/.next-prod/server/server-reference-manifest.json +1 -1
  315. package/.next-prod/static/IQwBHyZ3W2LMUZtDfCp-B/_buildManifest.js +1 -0
  316. package/.next-prod/static/chunks/2032-6fcfaaa6aa730f6d.js +1 -0
  317. package/.next-prod/static/chunks/2576-02a6e185664e2e1a.js +25 -0
  318. package/.next-prod/static/chunks/471-7c4fab47613ffe5c.js +4 -0
  319. package/.next-prod/static/chunks/5156-2953531342c13696.js +3 -0
  320. package/.next-prod/static/chunks/9428-5c287b255a9831e6.js +20 -0
  321. package/.next-prod/static/chunks/9469-fb5c6f08ba6bab74.js +14 -0
  322. package/.next-prod/static/chunks/app/_global-error/page-422b501ed5769a87.js +1 -0
  323. package/.next-prod/static/chunks/app/api/agent/test/route-422b501ed5769a87.js +1 -0
  324. package/.next-prod/static/chunks/app/api/bash/route-422b501ed5769a87.js +1 -0
  325. package/.next-prod/static/chunks/app/api/chat/codex/route-422b501ed5769a87.js +1 -0
  326. package/.next-prod/static/chunks/app/api/chat/deepseek/route-422b501ed5769a87.js +1 -0
  327. package/.next-prod/static/chunks/app/api/chat/kimi/route-422b501ed5769a87.js +1 -0
  328. package/.next-prod/static/chunks/app/api/chat/ollama/route-422b501ed5769a87.js +1 -0
  329. package/.next-prod/static/chunks/app/api/chat/pty-input/route-422b501ed5769a87.js +1 -0
  330. package/.next-prod/static/chunks/app/api/chat/route-422b501ed5769a87.js +1 -0
  331. package/.next-prod/static/chunks/app/api/chat/stop/route-422b501ed5769a87.js +1 -0
  332. package/.next-prod/static/chunks/app/api/claude-stats/route-422b501ed5769a87.js +1 -0
  333. package/.next-prod/static/chunks/app/api/commands/route-422b501ed5769a87.js +1 -0
  334. package/.next-prod/static/chunks/app/api/comments/route-422b501ed5769a87.js +1 -0
  335. package/.next-prod/static/chunks/app/api/db/columns/route-422b501ed5769a87.js +1 -0
  336. package/.next-prod/static/chunks/app/api/db/connect/route-422b501ed5769a87.js +1 -0
  337. package/.next-prod/static/chunks/app/api/db/disconnect/route-422b501ed5769a87.js +1 -0
  338. package/.next-prod/static/chunks/app/api/db/export/route-422b501ed5769a87.js +1 -0
  339. package/.next-prod/static/chunks/app/api/db/query/route-422b501ed5769a87.js +1 -0
  340. package/.next-prod/static/chunks/app/api/db/schemas/route-422b501ed5769a87.js +1 -0
  341. package/.next-prod/static/chunks/app/api/dev/spans/route-422b501ed5769a87.js +1 -0
  342. package/.next-prod/static/chunks/app/api/extension/version/route-422b501ed5769a87.js +1 -0
  343. package/.next-prod/static/chunks/app/api/file/route-422b501ed5769a87.js +1 -0
  344. package/.next-prod/static/chunks/app/api/files/blame/route-422b501ed5769a87.js +1 -0
  345. package/.next-prod/static/chunks/app/api/files/clipboard/route-422b501ed5769a87.js +1 -0
  346. package/.next-prod/static/chunks/app/api/files/copy/route-422b501ed5769a87.js +1 -0
  347. package/.next-prod/static/chunks/app/api/files/delete/route-422b501ed5769a87.js +1 -0
  348. package/.next-prod/static/chunks/app/api/files/expanded/route-422b501ed5769a87.js +1 -0
  349. package/.next-prod/static/chunks/app/api/files/index/route-422b501ed5769a87.js +1 -0
  350. package/.next-prod/static/chunks/app/api/files/init/route-422b501ed5769a87.js +1 -0
  351. package/.next-prod/static/chunks/app/api/files/paste/route-422b501ed5769a87.js +1 -0
  352. package/.next-prod/static/chunks/app/api/files/read/route-422b501ed5769a87.js +1 -0
  353. package/.next-prod/static/chunks/app/api/files/readdir/route-422b501ed5769a87.js +1 -0
  354. package/.next-prod/static/chunks/app/api/files/recent/route-422b501ed5769a87.js +1 -0
  355. package/.next-prod/static/chunks/app/api/files/save/route-422b501ed5769a87.js +1 -0
  356. package/.next-prod/static/chunks/app/api/files/search/route-422b501ed5769a87.js +1 -0
  357. package/.next-prod/static/chunks/app/api/files/stat/route-422b501ed5769a87.js +1 -0
  358. package/.next-prod/static/chunks/app/api/files/text/route-422b501ed5769a87.js +1 -0
  359. package/.next-prod/static/chunks/app/api/git/branch-diff/route-422b501ed5769a87.js +1 -0
  360. package/.next-prod/static/chunks/app/api/git/branches/route-422b501ed5769a87.js +1 -0
  361. package/.next-prod/static/chunks/app/api/git/commit-diff/route-422b501ed5769a87.js +1 -0
  362. package/.next-prod/static/chunks/app/api/git/commits/route-422b501ed5769a87.js +1 -0
  363. package/.next-prod/static/chunks/app/api/git/current-branch/route-422b501ed5769a87.js +1 -0
  364. package/.next-prod/static/chunks/app/api/git/diff/route-422b501ed5769a87.js +1 -0
  365. package/.next-prod/static/chunks/app/api/git/discard/route-422b501ed5769a87.js +1 -0
  366. package/.next-prod/static/chunks/app/api/git/stage/route-422b501ed5769a87.js +1 -0
  367. package/.next-prod/static/chunks/app/api/git/status/route-422b501ed5769a87.js +1 -0
  368. package/.next-prod/static/chunks/app/api/git/unstage/route-422b501ed5769a87.js +1 -0
  369. package/.next-prod/static/chunks/app/api/git/worktree/route-422b501ed5769a87.js +1 -0
  370. package/.next-prod/static/chunks/app/api/global-state/route-422b501ed5769a87.js +1 -0
  371. package/.next-prod/static/chunks/app/api/jupyter/load/route-422b501ed5769a87.js +1 -0
  372. package/.next-prod/static/chunks/app/api/jupyter/save/route-422b501ed5769a87.js +1 -0
  373. package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-422b501ed5769a87.js +1 -0
  374. package/.next-prod/static/chunks/app/api/lsp/definition/route-422b501ed5769a87.js +1 -0
  375. package/.next-prod/static/chunks/app/api/lsp/hover/route-422b501ed5769a87.js +1 -0
  376. package/.next-prod/static/chunks/app/api/lsp/references/route-422b501ed5769a87.js +1 -0
  377. package/.next-prod/static/chunks/app/api/lsp/status/route-422b501ed5769a87.js +1 -0
  378. package/.next-prod/static/chunks/app/api/lsp/warmup/route-422b501ed5769a87.js +1 -0
  379. package/.next-prod/static/chunks/app/api/mysql/columns/route-422b501ed5769a87.js +1 -0
  380. package/.next-prod/static/chunks/app/api/mysql/connect/route-422b501ed5769a87.js +1 -0
  381. package/.next-prod/static/chunks/app/api/mysql/disconnect/route-422b501ed5769a87.js +1 -0
  382. package/.next-prod/static/chunks/app/api/mysql/export/route-422b501ed5769a87.js +1 -0
  383. package/.next-prod/static/chunks/app/api/mysql/query/route-422b501ed5769a87.js +1 -0
  384. package/.next-prod/static/chunks/app/api/mysql/schemas/route-422b501ed5769a87.js +1 -0
  385. package/.next-prod/static/chunks/app/api/neo4j/connect/route-422b501ed5769a87.js +1 -0
  386. package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-422b501ed5769a87.js +1 -0
  387. package/.next-prod/static/chunks/app/api/neo4j/query/route-422b501ed5769a87.js +1 -0
  388. package/.next-prod/static/chunks/app/api/neo4j/schema/route-422b501ed5769a87.js +1 -0
  389. package/.next-prod/static/chunks/app/api/note/route-422b501ed5769a87.js +1 -0
  390. package/.next-prod/static/chunks/app/api/ollama/models/route-422b501ed5769a87.js +1 -0
  391. package/.next-prod/static/chunks/app/api/ollama/start/route-422b501ed5769a87.js +1 -0
  392. package/.next-prod/static/chunks/app/api/open-cursor/route-422b501ed5769a87.js +1 -0
  393. package/.next-prod/static/chunks/app/api/open-vscode/route-422b501ed5769a87.js +1 -0
  394. package/.next-prod/static/chunks/app/api/pick-folder/route-422b501ed5769a87.js +1 -0
  395. package/.next-prod/static/chunks/app/api/pinned-sessions/route-422b501ed5769a87.js +1 -0
  396. package/.next-prod/static/chunks/app/api/project-settings/route-422b501ed5769a87.js +1 -0
  397. package/.next-prod/static/chunks/app/api/project-state/route-422b501ed5769a87.js +1 -0
  398. package/.next-prod/static/chunks/app/api/projectGraph/affected/route-422b501ed5769a87.js +1 -0
  399. package/.next-prod/static/chunks/app/api/projectGraph/callees/route-422b501ed5769a87.js +1 -0
  400. package/.next-prod/static/chunks/app/api/projectGraph/callers/route-422b501ed5769a87.js +1 -0
  401. package/.next-prod/static/chunks/app/api/projectGraph/coedit/route-422b501ed5769a87.js +1 -0
  402. package/.next-prod/static/chunks/app/api/projectGraph/context/route-422b501ed5769a87.js +1 -0
  403. package/.next-prod/static/chunks/app/api/projectGraph/file/route-422b501ed5769a87.js +1 -0
  404. package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-422b501ed5769a87.js +1 -0
  405. package/.next-prod/static/chunks/app/api/projectGraph/impact/route-422b501ed5769a87.js +1 -0
  406. package/.next-prod/static/chunks/app/api/projectGraph/related/route-422b501ed5769a87.js +1 -0
  407. package/.next-prod/static/chunks/app/api/projectGraph/risk/route-422b501ed5769a87.js +1 -0
  408. package/.next-prod/static/chunks/app/api/projectGraph/search/route-422b501ed5769a87.js +1 -0
  409. package/.next-prod/static/chunks/app/api/projects/route-422b501ed5769a87.js +1 -0
  410. package/.next-prod/static/chunks/app/api/push/public-key/route-422b501ed5769a87.js +1 -0
  411. package/.next-prod/static/chunks/app/api/push/subscribe/route-422b501ed5769a87.js +1 -0
  412. package/.next-prod/static/chunks/app/api/push/test/route-422b501ed5769a87.js +1 -0
  413. package/.next-prod/static/chunks/app/api/push/unsubscribe/route-422b501ed5769a87.js +1 -0
  414. package/.next-prod/static/chunks/app/api/redis/command/route-422b501ed5769a87.js +1 -0
  415. package/.next-prod/static/chunks/app/api/redis/connect/route-422b501ed5769a87.js +1 -0
  416. package/.next-prod/static/chunks/app/api/redis/delete/route-422b501ed5769a87.js +1 -0
  417. package/.next-prod/static/chunks/app/api/redis/disconnect/route-422b501ed5769a87.js +1 -0
  418. package/.next-prod/static/chunks/app/api/redis/get/route-422b501ed5769a87.js +1 -0
  419. package/.next-prod/static/chunks/app/api/redis/keys/route-422b501ed5769a87.js +1 -0
  420. package/.next-prod/static/chunks/app/api/redis/set/route-422b501ed5769a87.js +1 -0
  421. package/.next-prod/static/chunks/app/api/review/[id]/comments/route-422b501ed5769a87.js +1 -0
  422. package/.next-prod/static/chunks/app/api/review/[id]/replies/route-422b501ed5769a87.js +1 -0
  423. package/.next-prod/static/chunks/app/api/review/[id]/route-422b501ed5769a87.js +1 -0
  424. package/.next-prod/static/chunks/app/api/review/identify/route-422b501ed5769a87.js +1 -0
  425. package/.next-prod/static/chunks/app/api/review/order/route-422b501ed5769a87.js +1 -0
  426. package/.next-prod/static/chunks/app/api/review/route-422b501ed5769a87.js +1 -0
  427. package/.next-prod/static/chunks/app/api/review/share-info/route-422b501ed5769a87.js +1 -0
  428. package/.next-prod/static/chunks/app/api/review/users/route-422b501ed5769a87.js +1 -0
  429. package/.next-prod/static/chunks/app/api/scheduled-tasks/route-422b501ed5769a87.js +1 -0
  430. package/.next-prod/static/chunks/app/api/services/config/route-422b501ed5769a87.js +1 -0
  431. package/.next-prod/static/chunks/app/api/services/scripts/route-422b501ed5769a87.js +1 -0
  432. package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-422b501ed5769a87.js +1 -0
  433. package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-422b501ed5769a87.js +1 -0
  434. package/.next-prod/static/chunks/app/api/session-by-path/route-422b501ed5769a87.js +1 -0
  435. package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-422b501ed5769a87.js +1 -0
  436. package/.next-prod/static/chunks/app/api/sessions/projects/route-422b501ed5769a87.js +1 -0
  437. package/.next-prod/static/chunks/app/api/sessions/route-422b501ed5769a87.js +1 -0
  438. package/.next-prod/static/chunks/app/api/settings/route-422b501ed5769a87.js +1 -0
  439. package/.next-prod/static/chunks/app/api/skills/[id]/route-422b501ed5769a87.js +1 -0
  440. package/.next-prod/static/chunks/app/api/skills/content/route-422b501ed5769a87.js +1 -0
  441. package/.next-prod/static/chunks/app/api/skills/route-422b501ed5769a87.js +1 -0
  442. package/.next-prod/static/chunks/app/api/terminal/aliases/route-422b501ed5769a87.js +1 -0
  443. package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-422b501ed5769a87.js +1 -0
  444. package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-422b501ed5769a87.js +1 -0
  445. package/.next-prod/static/chunks/app/api/terminal/env/route-422b501ed5769a87.js +1 -0
  446. package/.next-prod/static/chunks/app/api/terminal/history/route-422b501ed5769a87.js +1 -0
  447. package/.next-prod/static/chunks/app/api/version/route-422b501ed5769a87.js +1 -0
  448. package/.next-prod/static/chunks/app/{layout-de73b7c59e956b47.js → layout-312d106fe47907df.js} +1 -1
  449. package/.next-prod/static/chunks/app/m/page-0be3799c1b38c991.js +1 -0
  450. package/.next-prod/static/chunks/app/manifest.webmanifest/route-422b501ed5769a87.js +1 -0
  451. package/.next-prod/static/chunks/app/{page-d539c7c36a32fd49.js → page-db70085227aa56aa.js} +1 -1
  452. package/.next-prod/static/chunks/app/project/{page-d539c7c36a32fd49.js → page-db70085227aa56aa.js} +1 -1
  453. package/.next-prod/static/chunks/app/review/[id]/{page-7db3a48a13f1840c.js → page-31d70fd518d4c7e6.js} +1 -1
  454. package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-422b501ed5769a87.js +1 -0
  455. package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-422b501ed5769a87.js +1 -0
  456. package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-422b501ed5769a87.js +1 -0
  457. package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-422b501ed5769a87.js +1 -0
  458. package/.next-prod/static/css/217cb3486f7b68d7.css +1 -0
  459. package/.next-prod/trace +13 -13
  460. package/.next-prod/trace-build +1 -1
  461. package/.next-prod/types/app/api/chat/stop/route.ts +351 -0
  462. package/.next-prod/types/app/api/git/current-branch/route.ts +351 -0
  463. package/.next-prod/types/app/api/push/public-key/route.ts +351 -0
  464. package/.next-prod/types/app/api/push/subscribe/route.ts +351 -0
  465. package/.next-prod/types/app/api/push/test/route.ts +351 -0
  466. package/.next-prod/types/app/api/push/unsubscribe/route.ts +351 -0
  467. package/.next-prod/types/app/m/page.ts +87 -0
  468. package/.next-prod/types/routes.d.ts +9 -2
  469. package/.next-prod/types/validator.ts +63 -0
  470. package/dist/{chunk-6BFKFQG5.mjs → chunk-5BOGGUGT.mjs} +3 -1
  471. package/dist/chunk-5CRGWEWX.mjs +369 -0
  472. package/dist/{chunk-ICB7IS3A.mjs → chunk-BM3ZNL5S.mjs} +1 -1
  473. package/dist/httpApi.mjs +2 -2
  474. package/dist/scheduledTasks.mjs +34 -80
  475. package/dist/{server-Z6V4HKGV.mjs → server-DRMO2DUJ.mjs} +2 -2
  476. package/dist/wsServer.mjs +89 -13
  477. package/next.config.mjs +15 -0
  478. package/package.json +8 -3
  479. package/public/boot.js +32 -4
  480. package/public/push-sw.js +51 -0
  481. package/.next-prod/server/chunks/5616.js +0 -1
  482. package/.next-prod/static/QNr0r0SO5D70hTak_CnhT/_buildManifest.js +0 -1
  483. package/.next-prod/static/chunks/2759-50f11ab1460db5e0.js +0 -23
  484. package/.next-prod/static/chunks/6345-bab6a02df39cb716.js +0 -14
  485. package/.next-prod/static/chunks/9403-de4673c851686913.js +0 -29
  486. package/.next-prod/static/chunks/app/_global-error/page-ccd4c8b73711effa.js +0 -1
  487. package/.next-prod/static/chunks/app/api/agent/test/route-ccd4c8b73711effa.js +0 -1
  488. package/.next-prod/static/chunks/app/api/bash/route-ccd4c8b73711effa.js +0 -1
  489. package/.next-prod/static/chunks/app/api/chat/codex/route-ccd4c8b73711effa.js +0 -1
  490. package/.next-prod/static/chunks/app/api/chat/deepseek/route-ccd4c8b73711effa.js +0 -1
  491. package/.next-prod/static/chunks/app/api/chat/kimi/route-ccd4c8b73711effa.js +0 -1
  492. package/.next-prod/static/chunks/app/api/chat/ollama/route-ccd4c8b73711effa.js +0 -1
  493. package/.next-prod/static/chunks/app/api/chat/pty-input/route-ccd4c8b73711effa.js +0 -1
  494. package/.next-prod/static/chunks/app/api/chat/route-ccd4c8b73711effa.js +0 -1
  495. package/.next-prod/static/chunks/app/api/claude-stats/route-ccd4c8b73711effa.js +0 -1
  496. package/.next-prod/static/chunks/app/api/commands/route-ccd4c8b73711effa.js +0 -1
  497. package/.next-prod/static/chunks/app/api/comments/route-ccd4c8b73711effa.js +0 -1
  498. package/.next-prod/static/chunks/app/api/db/columns/route-ccd4c8b73711effa.js +0 -1
  499. package/.next-prod/static/chunks/app/api/db/connect/route-ccd4c8b73711effa.js +0 -1
  500. package/.next-prod/static/chunks/app/api/db/disconnect/route-ccd4c8b73711effa.js +0 -1
  501. package/.next-prod/static/chunks/app/api/db/export/route-ccd4c8b73711effa.js +0 -1
  502. package/.next-prod/static/chunks/app/api/db/query/route-ccd4c8b73711effa.js +0 -1
  503. package/.next-prod/static/chunks/app/api/db/schemas/route-ccd4c8b73711effa.js +0 -1
  504. package/.next-prod/static/chunks/app/api/dev/spans/route-ccd4c8b73711effa.js +0 -1
  505. package/.next-prod/static/chunks/app/api/extension/version/route-ccd4c8b73711effa.js +0 -1
  506. package/.next-prod/static/chunks/app/api/file/route-ccd4c8b73711effa.js +0 -1
  507. package/.next-prod/static/chunks/app/api/files/blame/route-ccd4c8b73711effa.js +0 -1
  508. package/.next-prod/static/chunks/app/api/files/clipboard/route-ccd4c8b73711effa.js +0 -1
  509. package/.next-prod/static/chunks/app/api/files/copy/route-ccd4c8b73711effa.js +0 -1
  510. package/.next-prod/static/chunks/app/api/files/delete/route-ccd4c8b73711effa.js +0 -1
  511. package/.next-prod/static/chunks/app/api/files/expanded/route-ccd4c8b73711effa.js +0 -1
  512. package/.next-prod/static/chunks/app/api/files/index/route-ccd4c8b73711effa.js +0 -1
  513. package/.next-prod/static/chunks/app/api/files/init/route-ccd4c8b73711effa.js +0 -1
  514. package/.next-prod/static/chunks/app/api/files/paste/route-ccd4c8b73711effa.js +0 -1
  515. package/.next-prod/static/chunks/app/api/files/read/route-ccd4c8b73711effa.js +0 -1
  516. package/.next-prod/static/chunks/app/api/files/readdir/route-ccd4c8b73711effa.js +0 -1
  517. package/.next-prod/static/chunks/app/api/files/recent/route-ccd4c8b73711effa.js +0 -1
  518. package/.next-prod/static/chunks/app/api/files/save/route-ccd4c8b73711effa.js +0 -1
  519. package/.next-prod/static/chunks/app/api/files/search/route-ccd4c8b73711effa.js +0 -1
  520. package/.next-prod/static/chunks/app/api/files/stat/route-ccd4c8b73711effa.js +0 -1
  521. package/.next-prod/static/chunks/app/api/files/text/route-ccd4c8b73711effa.js +0 -1
  522. package/.next-prod/static/chunks/app/api/git/branch-diff/route-ccd4c8b73711effa.js +0 -1
  523. package/.next-prod/static/chunks/app/api/git/branches/route-ccd4c8b73711effa.js +0 -1
  524. package/.next-prod/static/chunks/app/api/git/commit-diff/route-ccd4c8b73711effa.js +0 -1
  525. package/.next-prod/static/chunks/app/api/git/commits/route-ccd4c8b73711effa.js +0 -1
  526. package/.next-prod/static/chunks/app/api/git/diff/route-ccd4c8b73711effa.js +0 -1
  527. package/.next-prod/static/chunks/app/api/git/discard/route-ccd4c8b73711effa.js +0 -1
  528. package/.next-prod/static/chunks/app/api/git/stage/route-ccd4c8b73711effa.js +0 -1
  529. package/.next-prod/static/chunks/app/api/git/status/route-ccd4c8b73711effa.js +0 -1
  530. package/.next-prod/static/chunks/app/api/git/unstage/route-ccd4c8b73711effa.js +0 -1
  531. package/.next-prod/static/chunks/app/api/git/worktree/route-ccd4c8b73711effa.js +0 -1
  532. package/.next-prod/static/chunks/app/api/global-state/route-ccd4c8b73711effa.js +0 -1
  533. package/.next-prod/static/chunks/app/api/jupyter/load/route-ccd4c8b73711effa.js +0 -1
  534. package/.next-prod/static/chunks/app/api/jupyter/save/route-ccd4c8b73711effa.js +0 -1
  535. package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-ccd4c8b73711effa.js +0 -1
  536. package/.next-prod/static/chunks/app/api/lsp/definition/route-ccd4c8b73711effa.js +0 -1
  537. package/.next-prod/static/chunks/app/api/lsp/hover/route-ccd4c8b73711effa.js +0 -1
  538. package/.next-prod/static/chunks/app/api/lsp/references/route-ccd4c8b73711effa.js +0 -1
  539. package/.next-prod/static/chunks/app/api/lsp/status/route-ccd4c8b73711effa.js +0 -1
  540. package/.next-prod/static/chunks/app/api/lsp/warmup/route-ccd4c8b73711effa.js +0 -1
  541. package/.next-prod/static/chunks/app/api/mysql/columns/route-ccd4c8b73711effa.js +0 -1
  542. package/.next-prod/static/chunks/app/api/mysql/connect/route-ccd4c8b73711effa.js +0 -1
  543. package/.next-prod/static/chunks/app/api/mysql/disconnect/route-ccd4c8b73711effa.js +0 -1
  544. package/.next-prod/static/chunks/app/api/mysql/export/route-ccd4c8b73711effa.js +0 -1
  545. package/.next-prod/static/chunks/app/api/mysql/query/route-ccd4c8b73711effa.js +0 -1
  546. package/.next-prod/static/chunks/app/api/mysql/schemas/route-ccd4c8b73711effa.js +0 -1
  547. package/.next-prod/static/chunks/app/api/neo4j/connect/route-ccd4c8b73711effa.js +0 -1
  548. package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-ccd4c8b73711effa.js +0 -1
  549. package/.next-prod/static/chunks/app/api/neo4j/query/route-ccd4c8b73711effa.js +0 -1
  550. package/.next-prod/static/chunks/app/api/neo4j/schema/route-ccd4c8b73711effa.js +0 -1
  551. package/.next-prod/static/chunks/app/api/note/route-ccd4c8b73711effa.js +0 -1
  552. package/.next-prod/static/chunks/app/api/ollama/models/route-ccd4c8b73711effa.js +0 -1
  553. package/.next-prod/static/chunks/app/api/ollama/start/route-ccd4c8b73711effa.js +0 -1
  554. package/.next-prod/static/chunks/app/api/open-cursor/route-ccd4c8b73711effa.js +0 -1
  555. package/.next-prod/static/chunks/app/api/open-vscode/route-ccd4c8b73711effa.js +0 -1
  556. package/.next-prod/static/chunks/app/api/pick-folder/route-ccd4c8b73711effa.js +0 -1
  557. package/.next-prod/static/chunks/app/api/pinned-sessions/route-ccd4c8b73711effa.js +0 -1
  558. package/.next-prod/static/chunks/app/api/project-settings/route-ccd4c8b73711effa.js +0 -1
  559. package/.next-prod/static/chunks/app/api/project-state/route-ccd4c8b73711effa.js +0 -1
  560. package/.next-prod/static/chunks/app/api/projectGraph/affected/route-ccd4c8b73711effa.js +0 -1
  561. package/.next-prod/static/chunks/app/api/projectGraph/callees/route-ccd4c8b73711effa.js +0 -1
  562. package/.next-prod/static/chunks/app/api/projectGraph/callers/route-ccd4c8b73711effa.js +0 -1
  563. package/.next-prod/static/chunks/app/api/projectGraph/coedit/route-ccd4c8b73711effa.js +0 -1
  564. package/.next-prod/static/chunks/app/api/projectGraph/context/route-ccd4c8b73711effa.js +0 -1
  565. package/.next-prod/static/chunks/app/api/projectGraph/file/route-ccd4c8b73711effa.js +0 -1
  566. package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-ccd4c8b73711effa.js +0 -1
  567. package/.next-prod/static/chunks/app/api/projectGraph/impact/route-ccd4c8b73711effa.js +0 -1
  568. package/.next-prod/static/chunks/app/api/projectGraph/related/route-ccd4c8b73711effa.js +0 -1
  569. package/.next-prod/static/chunks/app/api/projectGraph/risk/route-ccd4c8b73711effa.js +0 -1
  570. package/.next-prod/static/chunks/app/api/projectGraph/search/route-ccd4c8b73711effa.js +0 -1
  571. package/.next-prod/static/chunks/app/api/projects/route-ccd4c8b73711effa.js +0 -1
  572. package/.next-prod/static/chunks/app/api/redis/command/route-ccd4c8b73711effa.js +0 -1
  573. package/.next-prod/static/chunks/app/api/redis/connect/route-ccd4c8b73711effa.js +0 -1
  574. package/.next-prod/static/chunks/app/api/redis/delete/route-ccd4c8b73711effa.js +0 -1
  575. package/.next-prod/static/chunks/app/api/redis/disconnect/route-ccd4c8b73711effa.js +0 -1
  576. package/.next-prod/static/chunks/app/api/redis/get/route-ccd4c8b73711effa.js +0 -1
  577. package/.next-prod/static/chunks/app/api/redis/keys/route-ccd4c8b73711effa.js +0 -1
  578. package/.next-prod/static/chunks/app/api/redis/set/route-ccd4c8b73711effa.js +0 -1
  579. package/.next-prod/static/chunks/app/api/review/[id]/comments/route-ccd4c8b73711effa.js +0 -1
  580. package/.next-prod/static/chunks/app/api/review/[id]/replies/route-ccd4c8b73711effa.js +0 -1
  581. package/.next-prod/static/chunks/app/api/review/[id]/route-ccd4c8b73711effa.js +0 -1
  582. package/.next-prod/static/chunks/app/api/review/identify/route-ccd4c8b73711effa.js +0 -1
  583. package/.next-prod/static/chunks/app/api/review/order/route-ccd4c8b73711effa.js +0 -1
  584. package/.next-prod/static/chunks/app/api/review/route-ccd4c8b73711effa.js +0 -1
  585. package/.next-prod/static/chunks/app/api/review/share-info/route-ccd4c8b73711effa.js +0 -1
  586. package/.next-prod/static/chunks/app/api/review/users/route-ccd4c8b73711effa.js +0 -1
  587. package/.next-prod/static/chunks/app/api/scheduled-tasks/route-ccd4c8b73711effa.js +0 -1
  588. package/.next-prod/static/chunks/app/api/services/config/route-ccd4c8b73711effa.js +0 -1
  589. package/.next-prod/static/chunks/app/api/services/scripts/route-ccd4c8b73711effa.js +0 -1
  590. package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-ccd4c8b73711effa.js +0 -1
  591. package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-ccd4c8b73711effa.js +0 -1
  592. package/.next-prod/static/chunks/app/api/session-by-path/route-ccd4c8b73711effa.js +0 -1
  593. package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-ccd4c8b73711effa.js +0 -1
  594. package/.next-prod/static/chunks/app/api/sessions/projects/route-ccd4c8b73711effa.js +0 -1
  595. package/.next-prod/static/chunks/app/api/sessions/route-ccd4c8b73711effa.js +0 -1
  596. package/.next-prod/static/chunks/app/api/settings/route-ccd4c8b73711effa.js +0 -1
  597. package/.next-prod/static/chunks/app/api/skills/[id]/route-ccd4c8b73711effa.js +0 -1
  598. package/.next-prod/static/chunks/app/api/skills/content/route-ccd4c8b73711effa.js +0 -1
  599. package/.next-prod/static/chunks/app/api/skills/route-ccd4c8b73711effa.js +0 -1
  600. package/.next-prod/static/chunks/app/api/terminal/aliases/route-ccd4c8b73711effa.js +0 -1
  601. package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-ccd4c8b73711effa.js +0 -1
  602. package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-ccd4c8b73711effa.js +0 -1
  603. package/.next-prod/static/chunks/app/api/terminal/env/route-ccd4c8b73711effa.js +0 -1
  604. package/.next-prod/static/chunks/app/api/terminal/history/route-ccd4c8b73711effa.js +0 -1
  605. package/.next-prod/static/chunks/app/api/version/route-ccd4c8b73711effa.js +0 -1
  606. package/.next-prod/static/chunks/app/manifest.webmanifest/route-ccd4c8b73711effa.js +0 -1
  607. package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-ccd4c8b73711effa.js +0 -1
  608. package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-ccd4c8b73711effa.js +0 -1
  609. package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-ccd4c8b73711effa.js +0 -1
  610. package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-ccd4c8b73711effa.js +0 -1
  611. package/.next-prod/static/css/ad6271f3f61ab845.css +0 -1
  612. package/dist/chunk-4S74IEU4.mjs +0 -314
  613. /package/.next-prod/static/{QNr0r0SO5D70hTak_CnhT → IQwBHyZ3W2LMUZtDfCp-B}/_ssgManifest.js +0 -0
@@ -0,0 +1,87 @@
1
+ // File: /home/runner/work/cockpit/cockpit/src/app/m/page.tsx
2
+ import * as entry from '../../../../src/app/m/page.js'
3
+ import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.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/m/page.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
+ default: Function
16
+ config?: {}
17
+ generateStaticParams?: Function
18
+ unstable_instant?: InstantConfigForTypeCheckInternal
19
+ unstable_dynamicStaleTime?: number
20
+ revalidate?: RevalidateRange<TEntry> | false
21
+ dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
22
+ dynamicParams?: boolean
23
+ fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
24
+ preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
25
+ runtime?: 'nodejs' | 'experimental-edge' | 'edge'
26
+ maxDuration?: number
27
+
28
+ metadata?: any
29
+ generateMetadata?: Function
30
+ viewport?: any
31
+ generateViewport?: Function
32
+
33
+ }, TEntry, ''>>()
34
+
35
+
36
+ // Check the prop type of the entry function
37
+ checkFields<Diff<PageProps, FirstArg<TEntry['default']>, 'default'>>()
38
+
39
+ // Check the arguments and return type of the generateMetadata function
40
+ if ('generateMetadata' in entry) {
41
+ checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
42
+ checkFields<Diff<ResolvingMetadata, SecondArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
43
+ }
44
+
45
+ // Check the arguments and return type of the generateViewport function
46
+ if ('generateViewport' in entry) {
47
+ checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>()
48
+ checkFields<Diff<ResolvingViewport, SecondArg<MaybeField<TEntry, 'generateViewport'>>, 'generateViewport'>>()
49
+ }
50
+
51
+ // Check the arguments and return type of the generateStaticParams function
52
+ if ('generateStaticParams' in entry) {
53
+ checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
54
+ checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
55
+ }
56
+
57
+ export interface PageProps {
58
+ params?: Promise<SegmentParams>
59
+ searchParams?: Promise<any>
60
+ }
61
+ export interface LayoutProps {
62
+ children?: React.ReactNode
63
+
64
+ params?: Promise<SegmentParams>
65
+ }
66
+
67
+ // =============
68
+ // Utility types
69
+ type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
70
+
71
+ // If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
72
+ type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
73
+ type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
74
+
75
+ type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
76
+ type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
77
+ type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
78
+
79
+
80
+
81
+ function checkFields<_ extends { [k in keyof any]: never }>() {}
82
+
83
+ // https://github.com/sindresorhus/type-fest
84
+ type Numeric = number | bigint
85
+ type Zero = 0 | 0n
86
+ type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
87
+ type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'
@@ -1,8 +1,8 @@
1
1
  // This file is generated automatically by Next.js
2
2
  // Do not edit this file manually
3
3
 
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"
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/kimi" | "/api/chat/ollama" | "/api/chat/pty-input" | "/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/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/push/public-key" | "/api/push/subscribe" | "/api/push/test" | "/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/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
@@ -20,6 +20,7 @@ interface ParamMap {
20
20
  "/api/chat/kimi": {}
21
21
  "/api/chat/ollama": {}
22
22
  "/api/chat/pty-input": {}
23
+ "/api/chat/stop": {}
23
24
  "/api/claude-stats": {}
24
25
  "/api/commands": {}
25
26
  "/api/comments": {}
@@ -51,6 +52,7 @@ interface ParamMap {
51
52
  "/api/git/branches": {}
52
53
  "/api/git/commit-diff": {}
53
54
  "/api/git/commits": {}
55
+ "/api/git/current-branch": {}
54
56
  "/api/git/diff": {}
55
57
  "/api/git/discard": {}
56
58
  "/api/git/stage": {}
@@ -97,6 +99,10 @@ interface ParamMap {
97
99
  "/api/projectGraph/risk": {}
98
100
  "/api/projectGraph/search": {}
99
101
  "/api/projects": {}
102
+ "/api/push/public-key": {}
103
+ "/api/push/subscribe": {}
104
+ "/api/push/test": {}
105
+ "/api/push/unsubscribe": {}
100
106
  "/api/redis/command": {}
101
107
  "/api/redis/connect": {}
102
108
  "/api/redis/delete": {}
@@ -131,6 +137,7 @@ interface ParamMap {
131
137
  "/api/terminal/env": {}
132
138
  "/api/terminal/history": {}
133
139
  "/api/version": {}
140
+ "/m": {}
134
141
  "/project": {}
135
142
  "/review/[id]": { "id": string; }
136
143
  }
@@ -47,6 +47,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
47
47
  }
48
48
 
49
49
 
50
+ // Validate ../../src/app/m/page.tsx
51
+ {
52
+ type __IsExpected<Specific extends AppPageConfig<"/m">> = Specific
53
+ const handler = {} as typeof import("../../src/app/m/page.js")
54
+ type __Check = __IsExpected<typeof handler>
55
+ // @ts-ignore
56
+ type __Unused = __Check
57
+ }
58
+
50
59
  // Validate ../../src/app/page.tsx
51
60
  {
52
61
  type __IsExpected<Specific extends AppPageConfig<"/">> = Specific
@@ -146,6 +155,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
146
155
  type __Unused = __Check
147
156
  }
148
157
 
158
+ // Validate ../../src/app/api/chat/stop/route.ts
159
+ {
160
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/chat/stop">> = Specific
161
+ const handler = {} as typeof import("../../src/app/api/chat/stop/route.js")
162
+ type __Check = __IsExpected<typeof handler>
163
+ // @ts-ignore
164
+ type __Unused = __Check
165
+ }
166
+
149
167
  // Validate ../../src/app/api/claude-stats/route.ts
150
168
  {
151
169
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/claude-stats">> = Specific
@@ -425,6 +443,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
425
443
  type __Unused = __Check
426
444
  }
427
445
 
446
+ // Validate ../../src/app/api/git/current-branch/route.ts
447
+ {
448
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/git/current-branch">> = Specific
449
+ const handler = {} as typeof import("../../src/app/api/git/current-branch/route.js")
450
+ type __Check = __IsExpected<typeof handler>
451
+ // @ts-ignore
452
+ type __Unused = __Check
453
+ }
454
+
428
455
  // Validate ../../src/app/api/git/diff/route.ts
429
456
  {
430
457
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/git/diff">> = Specific
@@ -839,6 +866,42 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
839
866
  type __Unused = __Check
840
867
  }
841
868
 
869
+ // Validate ../../src/app/api/push/public-key/route.ts
870
+ {
871
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/push/public-key">> = Specific
872
+ const handler = {} as typeof import("../../src/app/api/push/public-key/route.js")
873
+ type __Check = __IsExpected<typeof handler>
874
+ // @ts-ignore
875
+ type __Unused = __Check
876
+ }
877
+
878
+ // Validate ../../src/app/api/push/subscribe/route.ts
879
+ {
880
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/push/subscribe">> = Specific
881
+ const handler = {} as typeof import("../../src/app/api/push/subscribe/route.js")
882
+ type __Check = __IsExpected<typeof handler>
883
+ // @ts-ignore
884
+ type __Unused = __Check
885
+ }
886
+
887
+ // Validate ../../src/app/api/push/test/route.ts
888
+ {
889
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/push/test">> = Specific
890
+ const handler = {} as typeof import("../../src/app/api/push/test/route.js")
891
+ type __Check = __IsExpected<typeof handler>
892
+ // @ts-ignore
893
+ type __Unused = __Check
894
+ }
895
+
896
+ // Validate ../../src/app/api/push/unsubscribe/route.ts
897
+ {
898
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/push/unsubscribe">> = Specific
899
+ const handler = {} as typeof import("../../src/app/api/push/unsubscribe/route.js")
900
+ type __Check = __IsExpected<typeof handler>
901
+ // @ts-ignore
902
+ type __Unused = __Check
903
+ }
904
+
842
905
  // Validate ../../src/app/api/redis/command/route.ts
843
906
  {
844
907
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/redis/command">> = Specific
@@ -28685,6 +28685,7 @@ var COCKPIT_DIR = join4(HOME_DIR, ".cockpit");
28685
28685
  var COCKPIT_PROJECTS_DIR = join4(COCKPIT_DIR, "projects");
28686
28686
  var GLOBAL_STATE_FILE = join4(COCKPIT_DIR, "state.json");
28687
28687
  var PINNED_SESSIONS_FILE = join4(COCKPIT_DIR, "pinned-sessions.json");
28688
+ var PUSH_SUBSCRIPTIONS_FILE = join4(COCKPIT_DIR, "push-subscriptions.json");
28688
28689
  var NOTE_FILE = join4(COCKPIT_DIR, "note.md");
28689
28690
  var SCHEDULED_TASKS_FILE = join4(COCKPIT_DIR, "scheduled-tasks.json");
28690
28691
  var SETTINGS_FILE = join4(COCKPIT_DIR, "settings.json");
@@ -29902,10 +29903,11 @@ export {
29902
29903
  runCypherWithDriver,
29903
29904
  serializeValue,
29904
29905
  GLOBAL_STATE_FILE,
29906
+ PUSH_SUBSCRIPTIONS_FILE,
29905
29907
  SCHEDULED_TASKS_FILE,
29908
+ SETTINGS_FILE,
29906
29909
  REVIEW_DIR,
29907
29910
  REVIEW_SIGNAL_FILE,
29908
- CLAUDE2_DIR,
29909
29911
  getTerminalHistoryPath,
29910
29912
  getTerminalOutputPath,
29911
29913
  getBubbleOrderPath,
@@ -0,0 +1,369 @@
1
+ import {
2
+ GLOBAL_STATE_FILE,
3
+ PUSH_SUBSCRIPTIONS_FILE,
4
+ SETTINGS_FILE,
5
+ findCodexSessionPath,
6
+ findKimiSessionPath,
7
+ getClaude2SessionPath,
8
+ getClaudeSessionPath,
9
+ getOllamaSessionPath,
10
+ readJsonFile,
11
+ withFileLock,
12
+ writeJsonFile
13
+ } from "./chunk-5BOGGUGT.mjs";
14
+
15
+ // packages/feature/agent/src/server/state/globalState.ts
16
+ import { createReadStream, existsSync } from "fs";
17
+ import { createInterface } from "readline";
18
+ import { basename } from "path";
19
+
20
+ // packages/feature/agent/src/server/push/push.ts
21
+ import webpush from "web-push";
22
+ var configured = null;
23
+ async function getVapid() {
24
+ if (configured) return configured;
25
+ const vapid = await withFileLock(SETTINGS_FILE, async () => {
26
+ const settings = await readJsonFile(SETTINGS_FILE, {});
27
+ if (settings.push?.publicKey && settings.push?.privateKey) {
28
+ return {
29
+ publicKey: settings.push.publicKey,
30
+ privateKey: settings.push.privateKey,
31
+ subject: settings.push.subject || "mailto:cockpit@localhost"
32
+ };
33
+ }
34
+ const keys = webpush.generateVAPIDKeys();
35
+ const push = {
36
+ publicKey: keys.publicKey,
37
+ privateKey: keys.privateKey,
38
+ subject: "mailto:cockpit@localhost"
39
+ };
40
+ await writeJsonFile(SETTINGS_FILE, { ...settings, push });
41
+ return push;
42
+ });
43
+ webpush.setVapidDetails(vapid.subject, vapid.publicKey, vapid.privateKey);
44
+ configured = vapid;
45
+ return vapid;
46
+ }
47
+ async function sendPushNotification(payload) {
48
+ try {
49
+ await getVapid();
50
+ } catch {
51
+ return { sent: 0, pruned: 0 };
52
+ }
53
+ const store = await readJsonFile(PUSH_SUBSCRIPTIONS_FILE, { subscriptions: [] });
54
+ if (store.subscriptions.length === 0) return { sent: 0, pruned: 0 };
55
+ const body = JSON.stringify(payload);
56
+ const dead = [];
57
+ let sent = 0;
58
+ await Promise.all(
59
+ store.subscriptions.map(async (sub) => {
60
+ try {
61
+ await webpush.sendNotification(sub, body);
62
+ sent++;
63
+ } catch (e) {
64
+ const code = e?.statusCode;
65
+ if (code === 404 || code === 410) dead.push(sub.endpoint);
66
+ }
67
+ })
68
+ );
69
+ if (dead.length) {
70
+ await withFileLock(PUSH_SUBSCRIPTIONS_FILE, async () => {
71
+ const cur = await readJsonFile(PUSH_SUBSCRIPTIONS_FILE, { subscriptions: [] });
72
+ await writeJsonFile(PUSH_SUBSCRIPTIONS_FILE, {
73
+ subscriptions: cur.subscriptions.filter((s) => !dead.includes(s.endpoint))
74
+ });
75
+ });
76
+ }
77
+ return { sent, pruned: dead.length };
78
+ }
79
+
80
+ // packages/feature/agent/src/server/state/globalState.ts
81
+ var MAX_SESSIONS = 15;
82
+ var MAX_TEXT_LEN = 50;
83
+ function truncate(s) {
84
+ if (!s) return s;
85
+ const chars = [...s];
86
+ return chars.length <= MAX_TEXT_LEN ? s : chars.slice(0, MAX_TEXT_LEN).join("") + "\u2026";
87
+ }
88
+ async function updateGlobalState(cwd, sessionId, status, title, lastUserMessage) {
89
+ if (!existsSync(cwd)) {
90
+ return;
91
+ }
92
+ return withFileLock(GLOBAL_STATE_FILE, async () => {
93
+ const state = await readJsonFile(GLOBAL_STATE_FILE, { sessions: [] });
94
+ for (const s of state.sessions) {
95
+ if (!s.status) {
96
+ const legacy = s;
97
+ s.status = legacy.isLoading ? "loading" : "normal";
98
+ delete legacy.isLoading;
99
+ }
100
+ }
101
+ const existingIndex = state.sessions.findIndex(
102
+ (s) => s.cwd === cwd && s.sessionId === sessionId
103
+ );
104
+ const existed = existingIndex >= 0;
105
+ const existing = existed ? state.sessions[existingIndex] : void 0;
106
+ const newSession = {
107
+ cwd,
108
+ sessionId,
109
+ lastActive: Date.now(),
110
+ status,
111
+ title: truncate(title || existing?.title),
112
+ lastUserMessage: truncate(lastUserMessage || existing?.lastUserMessage)
113
+ };
114
+ if (existingIndex >= 0) {
115
+ state.sessions[existingIndex] = newSession;
116
+ } else {
117
+ state.sessions.push(newSession);
118
+ }
119
+ state.sessions.sort((a, b) => b.lastActive - a.lastActive);
120
+ state.sessions = state.sessions.slice(0, MAX_SESSIONS);
121
+ await writeJsonFile(GLOBAL_STATE_FILE, state);
122
+ if (status === "unread" && existing?.status !== "unread") {
123
+ void (async () => {
124
+ const fresh = await getLastUserMessage(cwd, sessionId).catch(() => void 0);
125
+ const last = fresh || newSession.lastUserMessage;
126
+ await sendPushNotification({
127
+ title: basename(cwd) || "Cockpit",
128
+ body: truncate(last) || newSession.title || "",
129
+ data: { cwd, sessionId }
130
+ });
131
+ })().catch(() => {
132
+ });
133
+ }
134
+ });
135
+ }
136
+ async function collectUserMessages(cwd, sessionId) {
137
+ const claudePath = getClaudeSessionPath(cwd, sessionId);
138
+ if (existsSync(claudePath)) {
139
+ return await getClaudeStyleUserMessages(claudePath);
140
+ }
141
+ const claude2Path = getClaude2SessionPath(cwd, sessionId);
142
+ if (existsSync(claude2Path)) {
143
+ return await getClaudeStyleUserMessages(claude2Path);
144
+ }
145
+ const ollamaPath = getOllamaSessionPath(cwd, sessionId);
146
+ if (existsSync(ollamaPath)) {
147
+ return await getClaudeStyleUserMessages(ollamaPath);
148
+ }
149
+ const codexPath = findCodexSessionPath(sessionId);
150
+ if (codexPath && existsSync(codexPath)) {
151
+ return await getCodexUserMessages(codexPath);
152
+ }
153
+ const kimiPath = findKimiSessionPath(sessionId);
154
+ if (kimiPath && existsSync(kimiPath)) {
155
+ return await getKimiUserMessages(kimiPath);
156
+ }
157
+ return [];
158
+ }
159
+ async function getLastUserMessage(cwd, sessionId) {
160
+ const messages = await collectUserMessages(cwd, sessionId);
161
+ return messages[messages.length - 1];
162
+ }
163
+ var SUMMARY_THRESHOLD = 10;
164
+ var SUMMARY_HEAD = 5;
165
+ var SUMMARY_TAIL = 5;
166
+ async function getSessionPreview(cwd, sessionId) {
167
+ const messages = await collectUserMessages(cwd, sessionId);
168
+ const lastUserMessage = messages[messages.length - 1];
169
+ if (messages.length <= SUMMARY_THRESHOLD) {
170
+ return { lastUserMessage, firstMessages: messages.map((m) => truncate(m)), lastMessages: [] };
171
+ }
172
+ return {
173
+ lastUserMessage,
174
+ firstMessages: messages.slice(0, SUMMARY_HEAD).map((m) => truncate(m)),
175
+ lastMessages: messages.slice(-SUMMARY_TAIL).map((m) => truncate(m))
176
+ };
177
+ }
178
+ function filterCommandTags(text) {
179
+ let filtered = text.replace(/<command-[^>]*>[\s\S]*?<\/command-[^>]*>/g, "");
180
+ filtered = filtered.replace(/<local-command-[^>]*>[\s\S]*?<\/local-command-[^>]*>/g, "");
181
+ filtered = filtered.trim();
182
+ return filtered;
183
+ }
184
+ function isValidUserMessage(text) {
185
+ if (text.startsWith("This session is being continued")) return false;
186
+ if (text.startsWith("Caveat: The messages below")) return false;
187
+ if (!text.trim()) return false;
188
+ return true;
189
+ }
190
+ async function getClaudeStyleUserMessages(filePath) {
191
+ const messages = [];
192
+ try {
193
+ const fileStream = createReadStream(filePath);
194
+ const rl = createInterface({ input: fileStream, crlfDelay: Infinity });
195
+ for await (const line of rl) {
196
+ if (!line.trim()) continue;
197
+ try {
198
+ const entry = JSON.parse(line);
199
+ if (entry.type !== "user") continue;
200
+ const message = entry.message;
201
+ if (!message?.content) continue;
202
+ let text = "";
203
+ if (typeof message.content === "string") {
204
+ text = message.content;
205
+ } else if (Array.isArray(message.content)) {
206
+ for (const block of message.content) {
207
+ if (block.type === "text" && block.text) {
208
+ text = block.text;
209
+ break;
210
+ }
211
+ }
212
+ }
213
+ if (!text) continue;
214
+ const filtered = filterCommandTags(text);
215
+ if (filtered && isValidUserMessage(filtered)) {
216
+ messages.push(filtered);
217
+ }
218
+ } catch {
219
+ }
220
+ }
221
+ } catch {
222
+ }
223
+ return messages;
224
+ }
225
+ async function getCodexUserMessages(filePath) {
226
+ const messages = [];
227
+ try {
228
+ const fileStream = createReadStream(filePath);
229
+ const rl = createInterface({ input: fileStream, crlfDelay: Infinity });
230
+ for await (const line of rl) {
231
+ if (!line.trim()) continue;
232
+ let entry;
233
+ try {
234
+ entry = JSON.parse(line);
235
+ } catch {
236
+ continue;
237
+ }
238
+ if (entry.type !== "response_item") continue;
239
+ const payload = entry.payload;
240
+ if (!payload || payload.type !== "message" || payload.role !== "user") continue;
241
+ const text = payload.content?.filter((c) => c.type === "input_text" && c.text).map((c) => c.text).join("") || "";
242
+ if (!text || text.startsWith("<") || text.startsWith("#")) continue;
243
+ const filtered = filterCommandTags(text);
244
+ if (filtered && isValidUserMessage(filtered)) {
245
+ messages.push(filtered);
246
+ }
247
+ }
248
+ } catch {
249
+ }
250
+ return messages;
251
+ }
252
+ async function getKimiUserMessages(filePath) {
253
+ const messages = [];
254
+ try {
255
+ const fileStream = createReadStream(filePath);
256
+ const rl = createInterface({ input: fileStream, crlfDelay: Infinity });
257
+ for await (const line of rl) {
258
+ if (!line.trim()) continue;
259
+ let entry;
260
+ try {
261
+ entry = JSON.parse(line);
262
+ } catch {
263
+ continue;
264
+ }
265
+ if (entry.role !== "user") continue;
266
+ const text = typeof entry.content === "string" ? entry.content : Array.isArray(entry.content) ? entry.content.filter((c) => (c.type === "input_text" || c.type === "text") && c.text).map((c) => c.text).join("") : "";
267
+ if (!text || text.startsWith("<system") || text.startsWith("<environment") || text.startsWith("# AGENTS.md") || text.startsWith("<permissions")) {
268
+ continue;
269
+ }
270
+ const filtered = filterCommandTags(text);
271
+ if (filtered && isValidUserMessage(filtered)) {
272
+ messages.push(filtered);
273
+ }
274
+ }
275
+ } catch {
276
+ }
277
+ return messages;
278
+ }
279
+
280
+ // packages/feature/agent/src/server/sessionRunHub.ts
281
+ var GRACE_MS = 6e4;
282
+ var g = globalThis;
283
+ var registry = g.__cockpitRunRegistry ?? (g.__cockpitRunRegistry = /* @__PURE__ */ new Map());
284
+ var listeners = g.__cockpitRunListeners ?? (g.__cockpitRunListeners = /* @__PURE__ */ new Map());
285
+ var seqByKey = g.__cockpitRunSeqByKey ?? (g.__cockpitRunSeqByKey = /* @__PURE__ */ new Map());
286
+ function bumpSeq(state) {
287
+ state.seq += 1;
288
+ for (const k of state.keys) seqByKey.set(k, state.seq);
289
+ return state.seq;
290
+ }
291
+ function fanout(state, ev) {
292
+ for (const k of state.keys) {
293
+ const ls = listeners.get(k);
294
+ if (ls) for (const cb of ls) {
295
+ try {
296
+ cb(ev);
297
+ } catch {
298
+ }
299
+ }
300
+ }
301
+ }
302
+ function appendRun(key, message) {
303
+ const r = registry.get(key);
304
+ if (!r) return;
305
+ if (r.status !== "running") return;
306
+ bumpSeq(r);
307
+ r.events.push(message);
308
+ r.updatedAt = Date.now();
309
+ fanout(r, { seq: r.seq, message });
310
+ }
311
+ function markRunIdle(key, status = "idle") {
312
+ const r = registry.get(key);
313
+ if (!r) return;
314
+ const wasRunning = r.status === "running";
315
+ if (!wasRunning) {
316
+ if (r.status === "idle" && status === "error") r.status = "error";
317
+ return;
318
+ }
319
+ r.status = status;
320
+ r.updatedAt = Date.now();
321
+ {
322
+ bumpSeq(r);
323
+ fanout(r, { seq: r.seq, message: { type: "run-ended", status } });
324
+ }
325
+ if (r.evictTimer) clearTimeout(r.evictTimer);
326
+ r.evictTimer = setTimeout(() => {
327
+ for (const k of r.keys) registry.delete(k);
328
+ }, GRACE_MS);
329
+ }
330
+ function getRunSnapshot(key) {
331
+ const r = registry.get(key);
332
+ if (!r) return null;
333
+ return { status: r.status, seq: r.seq, events: r.events.slice() };
334
+ }
335
+ function isRunActive(key) {
336
+ return registry.get(key)?.status === "running";
337
+ }
338
+ function requestStop(key) {
339
+ const r = registry.get(key);
340
+ if (!r) return false;
341
+ try {
342
+ r.abort?.();
343
+ } catch {
344
+ }
345
+ appendRun(key, { type: "result", subtype: "stopped" });
346
+ markRunIdle(key, "idle");
347
+ return true;
348
+ }
349
+ function addRunListener(key, cb) {
350
+ let s = listeners.get(key);
351
+ if (!s) {
352
+ s = /* @__PURE__ */ new Set();
353
+ listeners.set(key, s);
354
+ }
355
+ s.add(cb);
356
+ return () => {
357
+ const set = listeners.get(key);
358
+ if (set && set.delete(cb) && set.size === 0) listeners.delete(key);
359
+ };
360
+ }
361
+
362
+ export {
363
+ updateGlobalState,
364
+ getSessionPreview,
365
+ getRunSnapshot,
366
+ isRunActive,
367
+ requestStop,
368
+ addRunListener
369
+ };
@@ -13,7 +13,7 @@ import {
13
13
  getTerminalOutputPath,
14
14
  readJsonFile,
15
15
  writeJsonFile
16
- } from "./chunk-6BFKFQG5.mjs";
16
+ } from "./chunk-5BOGGUGT.mjs";
17
17
 
18
18
  // packages/feature/console/src/server/plugins/browser/BrowserBridge.ts
19
19
  import { WebSocket } from "ws";
package/dist/httpApi.mjs CHANGED
@@ -21,10 +21,10 @@ import {
21
21
  unregisterBrowser,
22
22
  unregisterTerminal,
23
23
  writeStdinToCommand
24
- } from "./chunk-ICB7IS3A.mjs";
24
+ } from "./chunk-BM3ZNL5S.mjs";
25
25
  import {
26
26
  getTerminalHistoryPath
27
- } from "./chunk-6BFKFQG5.mjs";
27
+ } from "./chunk-5BOGGUGT.mjs";
28
28
  import "./chunk-7P6ASYW6.mjs";
29
29
 
30
30
  // src/lib/httpApi.ts