@surething/cockpit 1.0.261 → 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 (525) 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_client-reference-manifest.js +1 -1
  9. package/.next-prod/server/app/_global-error.html +1 -1
  10. package/.next-prod/server/app/_global-error.rsc +1 -1
  11. package/.next-prod/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next-prod/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  13. package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next-prod/server/app/_not-found/page.js +1 -1
  15. package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next-prod/server/app/_not-found.html +2 -2
  17. package/.next-prod/server/app/_not-found.rsc +4 -4
  18. package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +4 -4
  19. package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +12 -11
  20. package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  21. package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/.next-prod/server/app/api/agent/test/route.js +1 -1
  23. package/.next-prod/server/app/api/bash/route.js +1 -1
  24. package/.next-prod/server/app/api/chat/codex/route.js +1 -1
  25. package/.next-prod/server/app/api/chat/deepseek/route.js +1 -1
  26. package/.next-prod/server/app/api/chat/glm/route.js +1 -1
  27. package/.next-prod/server/app/api/chat/kimi/route.js +1 -1
  28. package/.next-prod/server/app/api/chat/ollama/route.js +1 -1
  29. package/.next-prod/server/app/api/chat/route.js +1 -1
  30. package/.next-prod/server/app/api/chat/stop/route.js +1 -1
  31. package/.next-prod/server/app/api/claude-stats/route.js +1 -1
  32. package/.next-prod/server/app/api/commands/route.js +1 -1
  33. package/.next-prod/server/app/api/comments/route.js +1 -1
  34. package/.next-prod/server/app/api/db/columns/route.js +1 -1
  35. package/.next-prod/server/app/api/db/connect/route.js +1 -1
  36. package/.next-prod/server/app/api/db/disconnect/route.js +1 -1
  37. package/.next-prod/server/app/api/db/export/route.js +1 -1
  38. package/.next-prod/server/app/api/db/query/route.js +1 -1
  39. package/.next-prod/server/app/api/db/schemas/route.js +2 -2
  40. package/.next-prod/server/app/api/deepseek/balance/route.js +1 -1
  41. package/.next-prod/server/app/api/deepseek/credentials/route.js +1 -1
  42. package/.next-prod/server/app/api/deepseek/models/route.js +1 -1
  43. package/.next-prod/server/app/api/dev/spans/route.js +1 -1
  44. package/.next-prod/server/app/api/extension/version/route.js +1 -1
  45. package/.next-prod/server/app/api/file/route.js +1 -1
  46. package/.next-prod/server/app/api/files/blame/route.js +1 -1
  47. package/.next-prod/server/app/api/files/clipboard/route.js +1 -1
  48. package/.next-prod/server/app/api/files/copy/route.js +1 -1
  49. package/.next-prod/server/app/api/files/delete/route.js +1 -1
  50. package/.next-prod/server/app/api/files/expanded/route.js +1 -1
  51. package/.next-prod/server/app/api/files/index/route.js +1 -1
  52. package/.next-prod/server/app/api/files/init/route.js +1 -1
  53. package/.next-prod/server/app/api/files/paste/route.js +1 -1
  54. package/.next-prod/server/app/api/files/read/route.js +1 -1
  55. package/.next-prod/server/app/api/files/readdir/route.js +1 -1
  56. package/.next-prod/server/app/api/files/recent/route.js +1 -1
  57. package/.next-prod/server/app/api/files/save/route.js +1 -1
  58. package/.next-prod/server/app/api/files/search/route.js +1 -1
  59. package/.next-prod/server/app/api/files/stat/route.js +1 -1
  60. package/.next-prod/server/app/api/files/text/route.js +1 -1
  61. package/.next-prod/server/app/api/git/branch-diff/route.js +1 -1
  62. package/.next-prod/server/app/api/git/branches/route.js +1 -1
  63. package/.next-prod/server/app/api/git/commit-diff/route.js +1 -1
  64. package/.next-prod/server/app/api/git/commits/route.js +1 -1
  65. package/.next-prod/server/app/api/git/current-branch/route.js +1 -1
  66. package/.next-prod/server/app/api/git/diff/route.js +1 -1
  67. package/.next-prod/server/app/api/git/discard/route.js +1 -1
  68. package/.next-prod/server/app/api/git/stage/route.js +1 -1
  69. package/.next-prod/server/app/api/git/status/route.js +1 -1
  70. package/.next-prod/server/app/api/git/unstage/route.js +1 -1
  71. package/.next-prod/server/app/api/git/worktree/route.js +1 -1
  72. package/.next-prod/server/app/api/glm/credentials/route.js +1 -1
  73. package/.next-prod/server/app/api/glm/models/route.js +1 -1
  74. package/.next-prod/server/app/api/glm/usage/route.js +1 -1
  75. package/.next-prod/server/app/api/global-state/route.js +1 -1
  76. package/.next-prod/server/app/api/health/route.js +1 -1
  77. package/.next-prod/server/app/api/html-apps/[id]/route.js +1 -1
  78. package/.next-prod/server/app/api/html-apps/route.js +1 -1
  79. package/.next-prod/server/app/api/jupyter/load/route.js +1 -1
  80. package/.next-prod/server/app/api/jupyter/save/route.js +1 -1
  81. package/.next-prod/server/app/api/jupyter/shutdown/route.js +1 -1
  82. package/.next-prod/server/app/api/kimi/credentials/route.js +1 -1
  83. package/.next-prod/server/app/api/kimi/models/route.js +1 -1
  84. package/.next-prod/server/app/api/kimi/usage/route.js +1 -1
  85. package/.next-prod/server/app/api/lsp/definition/route.js +1 -1
  86. package/.next-prod/server/app/api/lsp/hover/route.js +1 -1
  87. package/.next-prod/server/app/api/lsp/references/route.js +1 -1
  88. package/.next-prod/server/app/api/lsp/status/route.js +1 -1
  89. package/.next-prod/server/app/api/lsp/warmup/route.js +1 -1
  90. package/.next-prod/server/app/api/mysql/columns/route.js +2 -2
  91. package/.next-prod/server/app/api/mysql/connect/route.js +1 -1
  92. package/.next-prod/server/app/api/mysql/disconnect/route.js +1 -1
  93. package/.next-prod/server/app/api/mysql/export/route.js +1 -1
  94. package/.next-prod/server/app/api/mysql/query/route.js +1 -1
  95. package/.next-prod/server/app/api/mysql/schemas/route.js +1 -1
  96. package/.next-prod/server/app/api/neo4j/connect/route.js +1 -1
  97. package/.next-prod/server/app/api/neo4j/disconnect/route.js +1 -1
  98. package/.next-prod/server/app/api/neo4j/query/route.js +1 -1
  99. package/.next-prod/server/app/api/neo4j/schema/route.js +1 -1
  100. package/.next-prod/server/app/api/note/route.js +1 -1
  101. package/.next-prod/server/app/api/ollama/config/route.js +1 -1
  102. package/.next-prod/server/app/api/ollama/models/route.js +1 -1
  103. package/.next-prod/server/app/api/ollama/start/route.js +1 -1
  104. package/.next-prod/server/app/api/open-cursor/route.js +1 -1
  105. package/.next-prod/server/app/api/open-vscode/route.js +1 -1
  106. package/.next-prod/server/app/api/pick-folder/route.js +1 -1
  107. package/.next-prod/server/app/api/pinned-sessions/route.js +1 -1
  108. package/.next-prod/server/app/api/project-settings/route.js +1 -1
  109. package/.next-prod/server/app/api/project-state/route.js +2 -2
  110. package/.next-prod/server/app/api/projectGraph/affected/route.js +1 -1
  111. package/.next-prod/server/app/api/projectGraph/callees/route.js +1 -1
  112. package/.next-prod/server/app/api/projectGraph/callers/route.js +1 -1
  113. package/.next-prod/server/app/api/projectGraph/coedit/route.js +1 -1
  114. package/.next-prod/server/app/api/projectGraph/context/route.js +1 -1
  115. package/.next-prod/server/app/api/projectGraph/file/route.js +1 -1
  116. package/.next-prod/server/app/api/projectGraph/file-functions/route.js +1 -1
  117. package/.next-prod/server/app/api/projectGraph/impact/route.js +1 -1
  118. package/.next-prod/server/app/api/projectGraph/related/route.js +1 -1
  119. package/.next-prod/server/app/api/projectGraph/risk/route.js +1 -1
  120. package/.next-prod/server/app/api/projectGraph/search/route.js +1 -1
  121. package/.next-prod/server/app/api/projects/route.js +1 -1
  122. package/.next-prod/server/app/api/prompts/config/route.js +1 -1
  123. package/.next-prod/server/app/api/push/public-key/route.js +1 -1
  124. package/.next-prod/server/app/api/push/subscribe/route.js +1 -1
  125. package/.next-prod/server/app/api/push/unsubscribe/route.js +1 -1
  126. package/.next-prod/server/app/api/redis/command/route.js +1 -1
  127. package/.next-prod/server/app/api/redis/connect/route.js +1 -1
  128. package/.next-prod/server/app/api/redis/delete/route.js +1 -1
  129. package/.next-prod/server/app/api/redis/disconnect/route.js +1 -1
  130. package/.next-prod/server/app/api/redis/get/route.js +1 -1
  131. package/.next-prod/server/app/api/redis/keys/route.js +1 -1
  132. package/.next-prod/server/app/api/redis/set/route.js +1 -1
  133. package/.next-prod/server/app/api/restart/route.js +1 -0
  134. package/.next-prod/server/app/api/restart/route.js.nft.json +1 -0
  135. package/.next-prod/server/app/api/restart/route_client-reference-manifest.js +1 -0
  136. package/.next-prod/server/app/api/review/[id]/comments/route.js +1 -1
  137. package/.next-prod/server/app/api/review/[id]/replies/route.js +1 -1
  138. package/.next-prod/server/app/api/review/[id]/route.js +1 -1
  139. package/.next-prod/server/app/api/review/identify/route.js +1 -1
  140. package/.next-prod/server/app/api/review/order/route.js +1 -1
  141. package/.next-prod/server/app/api/review/route.js +1 -1
  142. package/.next-prod/server/app/api/review/share-info/route.js +1 -1
  143. package/.next-prod/server/app/api/review/users/route.js +1 -1
  144. package/.next-prod/server/app/api/scheduled-tasks/route.js +2 -2
  145. package/.next-prod/server/app/api/services/config/route.js +1 -1
  146. package/.next-prod/server/app/api/services/scripts/route.js +1 -1
  147. package/.next-prod/server/app/api/session/[sessionId]/fork/route.js +1 -1
  148. package/.next-prod/server/app/api/session/[sessionId]/history/route.js +1 -1
  149. package/.next-prod/server/app/api/session-by-path/route.js +1 -1
  150. package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js +1 -1
  151. package/.next-prod/server/app/api/sessions/projects/route.js +1 -1
  152. package/.next-prod/server/app/api/sessions/route.js +1 -1
  153. package/.next-prod/server/app/api/settings/route.js +1 -1
  154. package/.next-prod/server/app/api/shutdown/route.js +1 -0
  155. package/.next-prod/server/app/api/shutdown/route.js.nft.json +1 -0
  156. package/.next-prod/server/app/api/shutdown/route_client-reference-manifest.js +1 -0
  157. package/.next-prod/server/app/api/skills/[id]/route.js +1 -1
  158. package/.next-prod/server/app/api/skills/content/route.js +1 -1
  159. package/.next-prod/server/app/api/skills/route.js +1 -1
  160. package/.next-prod/server/app/api/snapshots/diff/route.js +1 -1
  161. package/.next-prod/server/app/api/snapshots/route.js +1 -1
  162. package/.next-prod/server/app/api/terminal/aliases/route.js +1 -1
  163. package/.next-prod/server/app/api/terminal/autocomplete/route.js +1 -1
  164. package/.next-prod/server/app/api/terminal/bubble-order/route.js +1 -1
  165. package/.next-prod/server/app/api/terminal/env/route.js +1 -1
  166. package/.next-prod/server/app/api/terminal/history/route.js +1 -1
  167. package/.next-prod/server/app/api/update/route.js +1 -0
  168. package/.next-prod/server/app/api/update/route.js.nft.json +1 -0
  169. package/.next-prod/server/app/api/update/route_client-reference-manifest.js +1 -0
  170. package/.next-prod/server/app/api/version/route.js +1 -1
  171. package/.next-prod/server/app/apps/[...path]/route.js +1 -1
  172. package/.next-prod/server/app/favicon.ico/route.js +1 -1
  173. package/.next-prod/server/app/m/page.js +1 -1
  174. package/.next-prod/server/app/m/page_client-reference-manifest.js +1 -1
  175. package/.next-prod/server/app/manifest.webmanifest/route.js +2 -2
  176. package/.next-prod/server/app/page.js +1 -1
  177. package/.next-prod/server/app/page_client-reference-manifest.js +1 -1
  178. package/.next-prod/server/app/project/page.js +1 -1
  179. package/.next-prod/server/app/project/page_client-reference-manifest.js +1 -1
  180. package/.next-prod/server/app/review/[id]/page.js +1 -1
  181. package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
  182. package/.next-prod/server/app-paths-manifest.json +7 -4
  183. package/.next-prod/server/chunks/5750.js +16 -13
  184. package/.next-prod/server/chunks/6495.js +1 -1
  185. package/.next-prod/server/chunks/6548.js +1 -1
  186. package/.next-prod/server/chunks/7184.js +1 -1
  187. package/.next-prod/server/chunks/841.js +1 -1
  188. package/.next-prod/server/functions-config-manifest.json +3 -0
  189. package/.next-prod/server/middleware-build-manifest.js +1 -1
  190. package/.next-prod/server/pages/404.html +2 -2
  191. package/.next-prod/server/pages/500.html +1 -1
  192. package/.next-prod/server/server-reference-manifest.json +1 -1
  193. package/.next-prod/static/chunks/{1372-d16d68b1b03a345a.js → 1372-a26fa30d21bd1ecc.js} +1 -1
  194. package/.next-prod/static/chunks/5400-bf3fe22440a73161.js +36 -0
  195. package/.next-prod/static/chunks/6784-d51b98432358f755.js +381 -0
  196. package/.next-prod/static/chunks/app/_global-error/page-7c7e4c414aa6453c.js +1 -0
  197. package/.next-prod/static/chunks/app/api/agent/test/route-7c7e4c414aa6453c.js +1 -0
  198. package/.next-prod/static/chunks/app/api/bash/route-7c7e4c414aa6453c.js +1 -0
  199. package/.next-prod/static/chunks/app/api/chat/codex/route-7c7e4c414aa6453c.js +1 -0
  200. package/.next-prod/static/chunks/app/api/chat/deepseek/route-7c7e4c414aa6453c.js +1 -0
  201. package/.next-prod/static/chunks/app/api/chat/glm/route-7c7e4c414aa6453c.js +1 -0
  202. package/.next-prod/static/chunks/app/api/chat/kimi/route-7c7e4c414aa6453c.js +1 -0
  203. package/.next-prod/static/chunks/app/api/chat/ollama/route-7c7e4c414aa6453c.js +1 -0
  204. package/.next-prod/static/chunks/app/api/chat/route-7c7e4c414aa6453c.js +1 -0
  205. package/.next-prod/static/chunks/app/api/chat/stop/route-7c7e4c414aa6453c.js +1 -0
  206. package/.next-prod/static/chunks/app/api/claude-stats/route-7c7e4c414aa6453c.js +1 -0
  207. package/.next-prod/static/chunks/app/api/commands/route-7c7e4c414aa6453c.js +1 -0
  208. package/.next-prod/static/chunks/app/api/comments/route-7c7e4c414aa6453c.js +1 -0
  209. package/.next-prod/static/chunks/app/api/db/columns/route-7c7e4c414aa6453c.js +1 -0
  210. package/.next-prod/static/chunks/app/api/db/connect/route-7c7e4c414aa6453c.js +1 -0
  211. package/.next-prod/static/chunks/app/api/db/disconnect/route-7c7e4c414aa6453c.js +1 -0
  212. package/.next-prod/static/chunks/app/api/db/export/route-7c7e4c414aa6453c.js +1 -0
  213. package/.next-prod/static/chunks/app/api/db/query/route-7c7e4c414aa6453c.js +1 -0
  214. package/.next-prod/static/chunks/app/api/db/schemas/route-7c7e4c414aa6453c.js +1 -0
  215. package/.next-prod/static/chunks/app/api/deepseek/balance/route-7c7e4c414aa6453c.js +1 -0
  216. package/.next-prod/static/chunks/app/api/deepseek/credentials/route-7c7e4c414aa6453c.js +1 -0
  217. package/.next-prod/static/chunks/app/api/deepseek/models/route-7c7e4c414aa6453c.js +1 -0
  218. package/.next-prod/static/chunks/app/api/dev/spans/route-7c7e4c414aa6453c.js +1 -0
  219. package/.next-prod/static/chunks/app/api/extension/version/route-7c7e4c414aa6453c.js +1 -0
  220. package/.next-prod/static/chunks/app/api/file/route-7c7e4c414aa6453c.js +1 -0
  221. package/.next-prod/static/chunks/app/api/files/blame/route-7c7e4c414aa6453c.js +1 -0
  222. package/.next-prod/static/chunks/app/api/files/clipboard/route-7c7e4c414aa6453c.js +1 -0
  223. package/.next-prod/static/chunks/app/api/files/copy/route-7c7e4c414aa6453c.js +1 -0
  224. package/.next-prod/static/chunks/app/api/files/delete/route-7c7e4c414aa6453c.js +1 -0
  225. package/.next-prod/static/chunks/app/api/files/expanded/route-7c7e4c414aa6453c.js +1 -0
  226. package/.next-prod/static/chunks/app/api/files/index/route-7c7e4c414aa6453c.js +1 -0
  227. package/.next-prod/static/chunks/app/api/files/init/route-7c7e4c414aa6453c.js +1 -0
  228. package/.next-prod/static/chunks/app/api/files/paste/route-7c7e4c414aa6453c.js +1 -0
  229. package/.next-prod/static/chunks/app/api/files/read/route-7c7e4c414aa6453c.js +1 -0
  230. package/.next-prod/static/chunks/app/api/files/readdir/route-7c7e4c414aa6453c.js +1 -0
  231. package/.next-prod/static/chunks/app/api/files/recent/route-7c7e4c414aa6453c.js +1 -0
  232. package/.next-prod/static/chunks/app/api/files/save/route-7c7e4c414aa6453c.js +1 -0
  233. package/.next-prod/static/chunks/app/api/files/search/route-7c7e4c414aa6453c.js +1 -0
  234. package/.next-prod/static/chunks/app/api/files/stat/route-7c7e4c414aa6453c.js +1 -0
  235. package/.next-prod/static/chunks/app/api/files/text/route-7c7e4c414aa6453c.js +1 -0
  236. package/.next-prod/static/chunks/app/api/git/branch-diff/route-7c7e4c414aa6453c.js +1 -0
  237. package/.next-prod/static/chunks/app/api/git/branches/route-7c7e4c414aa6453c.js +1 -0
  238. package/.next-prod/static/chunks/app/api/git/commit-diff/route-7c7e4c414aa6453c.js +1 -0
  239. package/.next-prod/static/chunks/app/api/git/commits/route-7c7e4c414aa6453c.js +1 -0
  240. package/.next-prod/static/chunks/app/api/git/current-branch/route-7c7e4c414aa6453c.js +1 -0
  241. package/.next-prod/static/chunks/app/api/git/diff/route-7c7e4c414aa6453c.js +1 -0
  242. package/.next-prod/static/chunks/app/api/git/discard/route-7c7e4c414aa6453c.js +1 -0
  243. package/.next-prod/static/chunks/app/api/git/stage/route-7c7e4c414aa6453c.js +1 -0
  244. package/.next-prod/static/chunks/app/api/git/status/route-7c7e4c414aa6453c.js +1 -0
  245. package/.next-prod/static/chunks/app/api/git/unstage/route-7c7e4c414aa6453c.js +1 -0
  246. package/.next-prod/static/chunks/app/api/git/worktree/route-7c7e4c414aa6453c.js +1 -0
  247. package/.next-prod/static/chunks/app/api/glm/credentials/route-7c7e4c414aa6453c.js +1 -0
  248. package/.next-prod/static/chunks/app/api/glm/models/route-7c7e4c414aa6453c.js +1 -0
  249. package/.next-prod/static/chunks/app/api/glm/usage/route-7c7e4c414aa6453c.js +1 -0
  250. package/.next-prod/static/chunks/app/api/global-state/route-7c7e4c414aa6453c.js +1 -0
  251. package/.next-prod/static/chunks/app/api/health/route-7c7e4c414aa6453c.js +1 -0
  252. package/.next-prod/static/chunks/app/api/html-apps/[id]/route-7c7e4c414aa6453c.js +1 -0
  253. package/.next-prod/static/chunks/app/api/html-apps/route-7c7e4c414aa6453c.js +1 -0
  254. package/.next-prod/static/chunks/app/api/jupyter/load/route-7c7e4c414aa6453c.js +1 -0
  255. package/.next-prod/static/chunks/app/api/jupyter/save/route-7c7e4c414aa6453c.js +1 -0
  256. package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-7c7e4c414aa6453c.js +1 -0
  257. package/.next-prod/static/chunks/app/api/kimi/credentials/route-7c7e4c414aa6453c.js +1 -0
  258. package/.next-prod/static/chunks/app/api/kimi/models/route-7c7e4c414aa6453c.js +1 -0
  259. package/.next-prod/static/chunks/app/api/kimi/usage/route-7c7e4c414aa6453c.js +1 -0
  260. package/.next-prod/static/chunks/app/api/lsp/definition/route-7c7e4c414aa6453c.js +1 -0
  261. package/.next-prod/static/chunks/app/api/lsp/hover/route-7c7e4c414aa6453c.js +1 -0
  262. package/.next-prod/static/chunks/app/api/lsp/references/route-7c7e4c414aa6453c.js +1 -0
  263. package/.next-prod/static/chunks/app/api/lsp/status/route-7c7e4c414aa6453c.js +1 -0
  264. package/.next-prod/static/chunks/app/api/lsp/warmup/route-7c7e4c414aa6453c.js +1 -0
  265. package/.next-prod/static/chunks/app/api/mysql/columns/route-7c7e4c414aa6453c.js +1 -0
  266. package/.next-prod/static/chunks/app/api/mysql/connect/route-7c7e4c414aa6453c.js +1 -0
  267. package/.next-prod/static/chunks/app/api/mysql/disconnect/route-7c7e4c414aa6453c.js +1 -0
  268. package/.next-prod/static/chunks/app/api/mysql/export/route-7c7e4c414aa6453c.js +1 -0
  269. package/.next-prod/static/chunks/app/api/mysql/query/route-7c7e4c414aa6453c.js +1 -0
  270. package/.next-prod/static/chunks/app/api/mysql/schemas/route-7c7e4c414aa6453c.js +1 -0
  271. package/.next-prod/static/chunks/app/api/neo4j/connect/route-7c7e4c414aa6453c.js +1 -0
  272. package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-7c7e4c414aa6453c.js +1 -0
  273. package/.next-prod/static/chunks/app/api/neo4j/query/route-7c7e4c414aa6453c.js +1 -0
  274. package/.next-prod/static/chunks/app/api/neo4j/schema/route-7c7e4c414aa6453c.js +1 -0
  275. package/.next-prod/static/chunks/app/api/note/route-7c7e4c414aa6453c.js +1 -0
  276. package/.next-prod/static/chunks/app/api/ollama/config/route-7c7e4c414aa6453c.js +1 -0
  277. package/.next-prod/static/chunks/app/api/ollama/models/route-7c7e4c414aa6453c.js +1 -0
  278. package/.next-prod/static/chunks/app/api/ollama/start/route-7c7e4c414aa6453c.js +1 -0
  279. package/.next-prod/static/chunks/app/api/open-cursor/route-7c7e4c414aa6453c.js +1 -0
  280. package/.next-prod/static/chunks/app/api/open-vscode/route-7c7e4c414aa6453c.js +1 -0
  281. package/.next-prod/static/chunks/app/api/pick-folder/route-7c7e4c414aa6453c.js +1 -0
  282. package/.next-prod/static/chunks/app/api/pinned-sessions/route-7c7e4c414aa6453c.js +1 -0
  283. package/.next-prod/static/chunks/app/api/project-settings/route-7c7e4c414aa6453c.js +1 -0
  284. package/.next-prod/static/chunks/app/api/project-state/route-7c7e4c414aa6453c.js +1 -0
  285. package/.next-prod/static/chunks/app/api/projectGraph/affected/route-7c7e4c414aa6453c.js +1 -0
  286. package/.next-prod/static/chunks/app/api/projectGraph/callees/route-7c7e4c414aa6453c.js +1 -0
  287. package/.next-prod/static/chunks/app/api/projectGraph/callers/route-7c7e4c414aa6453c.js +1 -0
  288. package/.next-prod/static/chunks/app/api/projectGraph/coedit/route-7c7e4c414aa6453c.js +1 -0
  289. package/.next-prod/static/chunks/app/api/projectGraph/context/route-7c7e4c414aa6453c.js +1 -0
  290. package/.next-prod/static/chunks/app/api/projectGraph/file/route-7c7e4c414aa6453c.js +1 -0
  291. package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-7c7e4c414aa6453c.js +1 -0
  292. package/.next-prod/static/chunks/app/api/projectGraph/impact/route-7c7e4c414aa6453c.js +1 -0
  293. package/.next-prod/static/chunks/app/api/projectGraph/related/route-7c7e4c414aa6453c.js +1 -0
  294. package/.next-prod/static/chunks/app/api/projectGraph/risk/route-7c7e4c414aa6453c.js +1 -0
  295. package/.next-prod/static/chunks/app/api/projectGraph/search/route-7c7e4c414aa6453c.js +1 -0
  296. package/.next-prod/static/chunks/app/api/projects/route-7c7e4c414aa6453c.js +1 -0
  297. package/.next-prod/static/chunks/app/api/prompts/config/route-7c7e4c414aa6453c.js +1 -0
  298. package/.next-prod/static/chunks/app/api/push/public-key/route-7c7e4c414aa6453c.js +1 -0
  299. package/.next-prod/static/chunks/app/api/push/subscribe/route-7c7e4c414aa6453c.js +1 -0
  300. package/.next-prod/static/chunks/app/api/push/unsubscribe/route-7c7e4c414aa6453c.js +1 -0
  301. package/.next-prod/static/chunks/app/api/redis/command/route-7c7e4c414aa6453c.js +1 -0
  302. package/.next-prod/static/chunks/app/api/redis/connect/route-7c7e4c414aa6453c.js +1 -0
  303. package/.next-prod/static/chunks/app/api/redis/delete/route-7c7e4c414aa6453c.js +1 -0
  304. package/.next-prod/static/chunks/app/api/redis/disconnect/route-7c7e4c414aa6453c.js +1 -0
  305. package/.next-prod/static/chunks/app/api/redis/get/route-7c7e4c414aa6453c.js +1 -0
  306. package/.next-prod/static/chunks/app/api/redis/keys/route-7c7e4c414aa6453c.js +1 -0
  307. package/.next-prod/static/chunks/app/api/redis/set/route-7c7e4c414aa6453c.js +1 -0
  308. package/.next-prod/static/chunks/app/api/restart/route-7c7e4c414aa6453c.js +1 -0
  309. package/.next-prod/static/chunks/app/api/review/[id]/comments/route-7c7e4c414aa6453c.js +1 -0
  310. package/.next-prod/static/chunks/app/api/review/[id]/replies/route-7c7e4c414aa6453c.js +1 -0
  311. package/.next-prod/static/chunks/app/api/review/[id]/route-7c7e4c414aa6453c.js +1 -0
  312. package/.next-prod/static/chunks/app/api/review/identify/route-7c7e4c414aa6453c.js +1 -0
  313. package/.next-prod/static/chunks/app/api/review/order/route-7c7e4c414aa6453c.js +1 -0
  314. package/.next-prod/static/chunks/app/api/review/route-7c7e4c414aa6453c.js +1 -0
  315. package/.next-prod/static/chunks/app/api/review/share-info/route-7c7e4c414aa6453c.js +1 -0
  316. package/.next-prod/static/chunks/app/api/review/users/route-7c7e4c414aa6453c.js +1 -0
  317. package/.next-prod/static/chunks/app/api/scheduled-tasks/route-7c7e4c414aa6453c.js +1 -0
  318. package/.next-prod/static/chunks/app/api/services/config/route-7c7e4c414aa6453c.js +1 -0
  319. package/.next-prod/static/chunks/app/api/services/scripts/route-7c7e4c414aa6453c.js +1 -0
  320. package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-7c7e4c414aa6453c.js +1 -0
  321. package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-7c7e4c414aa6453c.js +1 -0
  322. package/.next-prod/static/chunks/app/api/session-by-path/route-7c7e4c414aa6453c.js +1 -0
  323. package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-7c7e4c414aa6453c.js +1 -0
  324. package/.next-prod/static/chunks/app/api/sessions/projects/route-7c7e4c414aa6453c.js +1 -0
  325. package/.next-prod/static/chunks/app/api/sessions/route-7c7e4c414aa6453c.js +1 -0
  326. package/.next-prod/static/chunks/app/api/settings/route-7c7e4c414aa6453c.js +1 -0
  327. package/.next-prod/static/chunks/app/api/shutdown/route-7c7e4c414aa6453c.js +1 -0
  328. package/.next-prod/static/chunks/app/api/skills/[id]/route-7c7e4c414aa6453c.js +1 -0
  329. package/.next-prod/static/chunks/app/api/skills/content/route-7c7e4c414aa6453c.js +1 -0
  330. package/.next-prod/static/chunks/app/api/skills/route-7c7e4c414aa6453c.js +1 -0
  331. package/.next-prod/static/chunks/app/api/snapshots/diff/route-7c7e4c414aa6453c.js +1 -0
  332. package/.next-prod/static/chunks/app/api/snapshots/route-7c7e4c414aa6453c.js +1 -0
  333. package/.next-prod/static/chunks/app/api/terminal/aliases/route-7c7e4c414aa6453c.js +1 -0
  334. package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-7c7e4c414aa6453c.js +1 -0
  335. package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-7c7e4c414aa6453c.js +1 -0
  336. package/.next-prod/static/chunks/app/api/terminal/env/route-7c7e4c414aa6453c.js +1 -0
  337. package/.next-prod/static/chunks/app/api/terminal/history/route-7c7e4c414aa6453c.js +1 -0
  338. package/.next-prod/static/chunks/app/api/update/route-7c7e4c414aa6453c.js +1 -0
  339. package/.next-prod/static/chunks/app/api/version/route-7c7e4c414aa6453c.js +1 -0
  340. package/.next-prod/static/chunks/app/apps/[...path]/route-7c7e4c414aa6453c.js +1 -0
  341. package/.next-prod/static/chunks/app/{layout-ab52fc1a83af968b.js → layout-7b31e254e348e208.js} +1 -1
  342. package/.next-prod/static/chunks/app/manifest.webmanifest/route-7c7e4c414aa6453c.js +1 -0
  343. package/.next-prod/static/chunks/app/{page-5de8b6584e328a6f.js → page-cb0d12250512641d.js} +1 -1
  344. package/.next-prod/static/chunks/app/project/{page-5de8b6584e328a6f.js → page-cb0d12250512641d.js} +1 -1
  345. package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-7c7e4c414aa6453c.js +1 -0
  346. package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-7c7e4c414aa6453c.js +1 -0
  347. package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-7c7e4c414aa6453c.js +1 -0
  348. package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-7c7e4c414aa6453c.js +1 -0
  349. package/.next-prod/static/css/38ad6f470b64a40f.css +1 -0
  350. package/.next-prod/static/noNfrQRJFchmZSWx_yn1K/_buildManifest.js +1 -0
  351. package/.next-prod/trace +14 -14
  352. package/.next-prod/trace-build +1 -1
  353. package/.next-prod/types/app/api/restart/route.ts +353 -0
  354. package/.next-prod/types/app/api/shutdown/route.ts +353 -0
  355. package/.next-prod/types/app/api/update/route.ts +353 -0
  356. package/.next-prod/types/routes.d.ts +4 -1
  357. package/.next-prod/types/validator.ts +27 -0
  358. package/README.md +75 -0
  359. package/README.zh.md +64 -0
  360. package/bin/cock-service.mjs +498 -0
  361. package/bin/cock.mjs +35 -27
  362. package/bin/cockpitHome.mjs +33 -0
  363. package/bin/rotateLog.mjs +52 -0
  364. package/bin/updater.mjs +231 -0
  365. package/dist/{chunk-CLPJYIFC.mjs → chunk-AI7T3EXM.mjs} +4 -3
  366. package/dist/{chunk-B5LXMESP.mjs → chunk-LC4LAEWJ.mjs} +1 -1
  367. package/dist/{chunk-TU3GL2HK.mjs → chunk-ZCMAJV2M.mjs} +15 -4
  368. package/dist/httpApi.mjs +2 -2
  369. package/dist/scheduledTasks.mjs +24 -4
  370. package/dist/{server-2UJDVZ32.mjs → server-CQXVJT3F.mjs} +2 -2
  371. package/dist/wsServer.mjs +144 -112
  372. package/package.json +1 -1
  373. package/server.mjs +127 -11
  374. package/.next-prod/static/chunks/1157-164bcf046a0a9b15.js +0 -32
  375. package/.next-prod/static/chunks/6784-09dffdb0e8ca7fb3.js +0 -381
  376. package/.next-prod/static/chunks/app/_global-error/page-3c1c06e2de280418.js +0 -1
  377. package/.next-prod/static/chunks/app/api/agent/test/route-3c1c06e2de280418.js +0 -1
  378. package/.next-prod/static/chunks/app/api/bash/route-3c1c06e2de280418.js +0 -1
  379. package/.next-prod/static/chunks/app/api/chat/codex/route-3c1c06e2de280418.js +0 -1
  380. package/.next-prod/static/chunks/app/api/chat/deepseek/route-3c1c06e2de280418.js +0 -1
  381. package/.next-prod/static/chunks/app/api/chat/glm/route-3c1c06e2de280418.js +0 -1
  382. package/.next-prod/static/chunks/app/api/chat/kimi/route-3c1c06e2de280418.js +0 -1
  383. package/.next-prod/static/chunks/app/api/chat/ollama/route-3c1c06e2de280418.js +0 -1
  384. package/.next-prod/static/chunks/app/api/chat/route-3c1c06e2de280418.js +0 -1
  385. package/.next-prod/static/chunks/app/api/chat/stop/route-3c1c06e2de280418.js +0 -1
  386. package/.next-prod/static/chunks/app/api/claude-stats/route-3c1c06e2de280418.js +0 -1
  387. package/.next-prod/static/chunks/app/api/commands/route-3c1c06e2de280418.js +0 -1
  388. package/.next-prod/static/chunks/app/api/comments/route-3c1c06e2de280418.js +0 -1
  389. package/.next-prod/static/chunks/app/api/db/columns/route-3c1c06e2de280418.js +0 -1
  390. package/.next-prod/static/chunks/app/api/db/connect/route-3c1c06e2de280418.js +0 -1
  391. package/.next-prod/static/chunks/app/api/db/disconnect/route-3c1c06e2de280418.js +0 -1
  392. package/.next-prod/static/chunks/app/api/db/export/route-3c1c06e2de280418.js +0 -1
  393. package/.next-prod/static/chunks/app/api/db/query/route-3c1c06e2de280418.js +0 -1
  394. package/.next-prod/static/chunks/app/api/db/schemas/route-3c1c06e2de280418.js +0 -1
  395. package/.next-prod/static/chunks/app/api/deepseek/balance/route-3c1c06e2de280418.js +0 -1
  396. package/.next-prod/static/chunks/app/api/deepseek/credentials/route-3c1c06e2de280418.js +0 -1
  397. package/.next-prod/static/chunks/app/api/deepseek/models/route-3c1c06e2de280418.js +0 -1
  398. package/.next-prod/static/chunks/app/api/dev/spans/route-3c1c06e2de280418.js +0 -1
  399. package/.next-prod/static/chunks/app/api/extension/version/route-3c1c06e2de280418.js +0 -1
  400. package/.next-prod/static/chunks/app/api/file/route-3c1c06e2de280418.js +0 -1
  401. package/.next-prod/static/chunks/app/api/files/blame/route-3c1c06e2de280418.js +0 -1
  402. package/.next-prod/static/chunks/app/api/files/clipboard/route-3c1c06e2de280418.js +0 -1
  403. package/.next-prod/static/chunks/app/api/files/copy/route-3c1c06e2de280418.js +0 -1
  404. package/.next-prod/static/chunks/app/api/files/delete/route-3c1c06e2de280418.js +0 -1
  405. package/.next-prod/static/chunks/app/api/files/expanded/route-3c1c06e2de280418.js +0 -1
  406. package/.next-prod/static/chunks/app/api/files/index/route-3c1c06e2de280418.js +0 -1
  407. package/.next-prod/static/chunks/app/api/files/init/route-3c1c06e2de280418.js +0 -1
  408. package/.next-prod/static/chunks/app/api/files/paste/route-3c1c06e2de280418.js +0 -1
  409. package/.next-prod/static/chunks/app/api/files/read/route-3c1c06e2de280418.js +0 -1
  410. package/.next-prod/static/chunks/app/api/files/readdir/route-3c1c06e2de280418.js +0 -1
  411. package/.next-prod/static/chunks/app/api/files/recent/route-3c1c06e2de280418.js +0 -1
  412. package/.next-prod/static/chunks/app/api/files/save/route-3c1c06e2de280418.js +0 -1
  413. package/.next-prod/static/chunks/app/api/files/search/route-3c1c06e2de280418.js +0 -1
  414. package/.next-prod/static/chunks/app/api/files/stat/route-3c1c06e2de280418.js +0 -1
  415. package/.next-prod/static/chunks/app/api/files/text/route-3c1c06e2de280418.js +0 -1
  416. package/.next-prod/static/chunks/app/api/git/branch-diff/route-3c1c06e2de280418.js +0 -1
  417. package/.next-prod/static/chunks/app/api/git/branches/route-3c1c06e2de280418.js +0 -1
  418. package/.next-prod/static/chunks/app/api/git/commit-diff/route-3c1c06e2de280418.js +0 -1
  419. package/.next-prod/static/chunks/app/api/git/commits/route-3c1c06e2de280418.js +0 -1
  420. package/.next-prod/static/chunks/app/api/git/current-branch/route-3c1c06e2de280418.js +0 -1
  421. package/.next-prod/static/chunks/app/api/git/diff/route-3c1c06e2de280418.js +0 -1
  422. package/.next-prod/static/chunks/app/api/git/discard/route-3c1c06e2de280418.js +0 -1
  423. package/.next-prod/static/chunks/app/api/git/stage/route-3c1c06e2de280418.js +0 -1
  424. package/.next-prod/static/chunks/app/api/git/status/route-3c1c06e2de280418.js +0 -1
  425. package/.next-prod/static/chunks/app/api/git/unstage/route-3c1c06e2de280418.js +0 -1
  426. package/.next-prod/static/chunks/app/api/git/worktree/route-3c1c06e2de280418.js +0 -1
  427. package/.next-prod/static/chunks/app/api/glm/credentials/route-3c1c06e2de280418.js +0 -1
  428. package/.next-prod/static/chunks/app/api/glm/models/route-3c1c06e2de280418.js +0 -1
  429. package/.next-prod/static/chunks/app/api/glm/usage/route-3c1c06e2de280418.js +0 -1
  430. package/.next-prod/static/chunks/app/api/global-state/route-3c1c06e2de280418.js +0 -1
  431. package/.next-prod/static/chunks/app/api/health/route-3c1c06e2de280418.js +0 -1
  432. package/.next-prod/static/chunks/app/api/html-apps/[id]/route-3c1c06e2de280418.js +0 -1
  433. package/.next-prod/static/chunks/app/api/html-apps/route-3c1c06e2de280418.js +0 -1
  434. package/.next-prod/static/chunks/app/api/jupyter/load/route-3c1c06e2de280418.js +0 -1
  435. package/.next-prod/static/chunks/app/api/jupyter/save/route-3c1c06e2de280418.js +0 -1
  436. package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-3c1c06e2de280418.js +0 -1
  437. package/.next-prod/static/chunks/app/api/kimi/credentials/route-3c1c06e2de280418.js +0 -1
  438. package/.next-prod/static/chunks/app/api/kimi/models/route-3c1c06e2de280418.js +0 -1
  439. package/.next-prod/static/chunks/app/api/kimi/usage/route-3c1c06e2de280418.js +0 -1
  440. package/.next-prod/static/chunks/app/api/lsp/definition/route-3c1c06e2de280418.js +0 -1
  441. package/.next-prod/static/chunks/app/api/lsp/hover/route-3c1c06e2de280418.js +0 -1
  442. package/.next-prod/static/chunks/app/api/lsp/references/route-3c1c06e2de280418.js +0 -1
  443. package/.next-prod/static/chunks/app/api/lsp/status/route-3c1c06e2de280418.js +0 -1
  444. package/.next-prod/static/chunks/app/api/lsp/warmup/route-3c1c06e2de280418.js +0 -1
  445. package/.next-prod/static/chunks/app/api/mysql/columns/route-3c1c06e2de280418.js +0 -1
  446. package/.next-prod/static/chunks/app/api/mysql/connect/route-3c1c06e2de280418.js +0 -1
  447. package/.next-prod/static/chunks/app/api/mysql/disconnect/route-3c1c06e2de280418.js +0 -1
  448. package/.next-prod/static/chunks/app/api/mysql/export/route-3c1c06e2de280418.js +0 -1
  449. package/.next-prod/static/chunks/app/api/mysql/query/route-3c1c06e2de280418.js +0 -1
  450. package/.next-prod/static/chunks/app/api/mysql/schemas/route-3c1c06e2de280418.js +0 -1
  451. package/.next-prod/static/chunks/app/api/neo4j/connect/route-3c1c06e2de280418.js +0 -1
  452. package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-3c1c06e2de280418.js +0 -1
  453. package/.next-prod/static/chunks/app/api/neo4j/query/route-3c1c06e2de280418.js +0 -1
  454. package/.next-prod/static/chunks/app/api/neo4j/schema/route-3c1c06e2de280418.js +0 -1
  455. package/.next-prod/static/chunks/app/api/note/route-3c1c06e2de280418.js +0 -1
  456. package/.next-prod/static/chunks/app/api/ollama/config/route-3c1c06e2de280418.js +0 -1
  457. package/.next-prod/static/chunks/app/api/ollama/models/route-3c1c06e2de280418.js +0 -1
  458. package/.next-prod/static/chunks/app/api/ollama/start/route-3c1c06e2de280418.js +0 -1
  459. package/.next-prod/static/chunks/app/api/open-cursor/route-3c1c06e2de280418.js +0 -1
  460. package/.next-prod/static/chunks/app/api/open-vscode/route-3c1c06e2de280418.js +0 -1
  461. package/.next-prod/static/chunks/app/api/pick-folder/route-3c1c06e2de280418.js +0 -1
  462. package/.next-prod/static/chunks/app/api/pinned-sessions/route-3c1c06e2de280418.js +0 -1
  463. package/.next-prod/static/chunks/app/api/project-settings/route-3c1c06e2de280418.js +0 -1
  464. package/.next-prod/static/chunks/app/api/project-state/route-3c1c06e2de280418.js +0 -1
  465. package/.next-prod/static/chunks/app/api/projectGraph/affected/route-3c1c06e2de280418.js +0 -1
  466. package/.next-prod/static/chunks/app/api/projectGraph/callees/route-3c1c06e2de280418.js +0 -1
  467. package/.next-prod/static/chunks/app/api/projectGraph/callers/route-3c1c06e2de280418.js +0 -1
  468. package/.next-prod/static/chunks/app/api/projectGraph/coedit/route-3c1c06e2de280418.js +0 -1
  469. package/.next-prod/static/chunks/app/api/projectGraph/context/route-3c1c06e2de280418.js +0 -1
  470. package/.next-prod/static/chunks/app/api/projectGraph/file/route-3c1c06e2de280418.js +0 -1
  471. package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-3c1c06e2de280418.js +0 -1
  472. package/.next-prod/static/chunks/app/api/projectGraph/impact/route-3c1c06e2de280418.js +0 -1
  473. package/.next-prod/static/chunks/app/api/projectGraph/related/route-3c1c06e2de280418.js +0 -1
  474. package/.next-prod/static/chunks/app/api/projectGraph/risk/route-3c1c06e2de280418.js +0 -1
  475. package/.next-prod/static/chunks/app/api/projectGraph/search/route-3c1c06e2de280418.js +0 -1
  476. package/.next-prod/static/chunks/app/api/projects/route-3c1c06e2de280418.js +0 -1
  477. package/.next-prod/static/chunks/app/api/prompts/config/route-3c1c06e2de280418.js +0 -1
  478. package/.next-prod/static/chunks/app/api/push/public-key/route-3c1c06e2de280418.js +0 -1
  479. package/.next-prod/static/chunks/app/api/push/subscribe/route-3c1c06e2de280418.js +0 -1
  480. package/.next-prod/static/chunks/app/api/push/unsubscribe/route-3c1c06e2de280418.js +0 -1
  481. package/.next-prod/static/chunks/app/api/redis/command/route-3c1c06e2de280418.js +0 -1
  482. package/.next-prod/static/chunks/app/api/redis/connect/route-3c1c06e2de280418.js +0 -1
  483. package/.next-prod/static/chunks/app/api/redis/delete/route-3c1c06e2de280418.js +0 -1
  484. package/.next-prod/static/chunks/app/api/redis/disconnect/route-3c1c06e2de280418.js +0 -1
  485. package/.next-prod/static/chunks/app/api/redis/get/route-3c1c06e2de280418.js +0 -1
  486. package/.next-prod/static/chunks/app/api/redis/keys/route-3c1c06e2de280418.js +0 -1
  487. package/.next-prod/static/chunks/app/api/redis/set/route-3c1c06e2de280418.js +0 -1
  488. package/.next-prod/static/chunks/app/api/review/[id]/comments/route-3c1c06e2de280418.js +0 -1
  489. package/.next-prod/static/chunks/app/api/review/[id]/replies/route-3c1c06e2de280418.js +0 -1
  490. package/.next-prod/static/chunks/app/api/review/[id]/route-3c1c06e2de280418.js +0 -1
  491. package/.next-prod/static/chunks/app/api/review/identify/route-3c1c06e2de280418.js +0 -1
  492. package/.next-prod/static/chunks/app/api/review/order/route-3c1c06e2de280418.js +0 -1
  493. package/.next-prod/static/chunks/app/api/review/route-3c1c06e2de280418.js +0 -1
  494. package/.next-prod/static/chunks/app/api/review/share-info/route-3c1c06e2de280418.js +0 -1
  495. package/.next-prod/static/chunks/app/api/review/users/route-3c1c06e2de280418.js +0 -1
  496. package/.next-prod/static/chunks/app/api/scheduled-tasks/route-3c1c06e2de280418.js +0 -1
  497. package/.next-prod/static/chunks/app/api/services/config/route-3c1c06e2de280418.js +0 -1
  498. package/.next-prod/static/chunks/app/api/services/scripts/route-3c1c06e2de280418.js +0 -1
  499. package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-3c1c06e2de280418.js +0 -1
  500. package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-3c1c06e2de280418.js +0 -1
  501. package/.next-prod/static/chunks/app/api/session-by-path/route-3c1c06e2de280418.js +0 -1
  502. package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-3c1c06e2de280418.js +0 -1
  503. package/.next-prod/static/chunks/app/api/sessions/projects/route-3c1c06e2de280418.js +0 -1
  504. package/.next-prod/static/chunks/app/api/sessions/route-3c1c06e2de280418.js +0 -1
  505. package/.next-prod/static/chunks/app/api/settings/route-3c1c06e2de280418.js +0 -1
  506. package/.next-prod/static/chunks/app/api/skills/[id]/route-3c1c06e2de280418.js +0 -1
  507. package/.next-prod/static/chunks/app/api/skills/content/route-3c1c06e2de280418.js +0 -1
  508. package/.next-prod/static/chunks/app/api/skills/route-3c1c06e2de280418.js +0 -1
  509. package/.next-prod/static/chunks/app/api/snapshots/diff/route-3c1c06e2de280418.js +0 -1
  510. package/.next-prod/static/chunks/app/api/snapshots/route-3c1c06e2de280418.js +0 -1
  511. package/.next-prod/static/chunks/app/api/terminal/aliases/route-3c1c06e2de280418.js +0 -1
  512. package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-3c1c06e2de280418.js +0 -1
  513. package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-3c1c06e2de280418.js +0 -1
  514. package/.next-prod/static/chunks/app/api/terminal/env/route-3c1c06e2de280418.js +0 -1
  515. package/.next-prod/static/chunks/app/api/terminal/history/route-3c1c06e2de280418.js +0 -1
  516. package/.next-prod/static/chunks/app/api/version/route-3c1c06e2de280418.js +0 -1
  517. package/.next-prod/static/chunks/app/apps/[...path]/route-3c1c06e2de280418.js +0 -1
  518. package/.next-prod/static/chunks/app/manifest.webmanifest/route-3c1c06e2de280418.js +0 -1
  519. package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-3c1c06e2de280418.js +0 -1
  520. package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-3c1c06e2de280418.js +0 -1
  521. package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-3c1c06e2de280418.js +0 -1
  522. package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-3c1c06e2de280418.js +0 -1
  523. package/.next-prod/static/css/83c134c954630942.css +0 -1
  524. package/.next-prod/static/pgteRwI6FQcp683smeSNO/_buildManifest.js +0 -1
  525. /package/.next-prod/static/{pgteRwI6FQcp683smeSNO → noNfrQRJFchmZSWx_yn1K}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=841,exports.ids=[841],exports.modules={22461:(a,b,c)=>{c.d(b,{r:()=>d});function d(a){let b=0,c=0;for(let d of a)/[\u3040-\u30ff\u3400-\u9fff\uf900-\ufaff\u{20000}-\u{2a6df}\uac00-\ud7af]/u.test(d)?b+=1:c+=1;return Math.max(1,Math.ceil(b+c/4))}},35369:(a,b,c)=>{c.d(b,{l:()=>d});function d(a){let b;if(null==a)return"Unknown error";if("string"==typeof a)return a.trim()||"Unknown error";if("object"!=typeof a)return String(a);let c="string"==typeof a.message?a.message.trim():"",d=function(a){if("string"==typeof a&&a.trim())try{let b=JSON.parse(a),c=b.error;if(c&&"object"==typeof c){let a=c.message;if("string"==typeof a&&a.trim())return a.trim()}if("string"==typeof c&&c.trim())return c.trim();if("string"==typeof b.message&&b.message.trim())return b.message.trim();return}catch{let b=a.trim();return b.length<=300?b:void 0}}(a.responseBody),e="number"==typeof a.statusCode?a.statusCode:void 0;if(!(b=d&&c&&!c.includes(d)?`${c} — ${d}`:d||c)){try{b=JSON.stringify(a)}catch{b=String(a)}b&&"{}"!==b||(b="Request failed")}return e?`[HTTP ${e}] ${b}`:b}},59419:(a,b,c)=>{c.d(b,{p:()=>I,o:()=>J});var d=c(78497),e=c(55511),f=c(29021),g=c(33873),h=c(7939);function i(a,b){return(0,g.join)(a,(0,h.O0)(b))}function j(a,b,c){return(0,g.join)(i(a,b),`${c}.jsonl`)}function k(a,b,c,d){let e=i(a,b);(0,f.mkdirSync)(e,{recursive:!0});let g=j(a,b,c);(0,f.appendFileSync)(g,JSON.stringify(d)+"\n","utf-8")}function l(a,b,c,d,e){k(a,b,c,{type:"assistant",uuid:e?.uuid,sessionId:c,timestamp:e?.timestamp,message:{role:"assistant",content:d,...e?.usage?{usage:e.usage}:{}}})}function m(a,b,c,d,e,f){k(a,b,c,{type:"user",uuid:f?.uuid,sessionId:c,timestamp:f?.timestamp,message:{content:[{type:"tool_result",tool_use_id:d,content:e,is_error:!!f?.is_error}]}})}var n=c(61948),o=c(52868),p=c(79748),q=c(21820),r=c(79646),s=c(28354),t=c(63742),u=c.n(t),v=c(75342),w=c(95169);let x=(0,s.promisify)(r.exec),y=(0,s.promisify)(r.execFile),z=(0,g.join)((0,q.tmpdir)(),"cockpit-tool-outputs");async function A(a,b){try{await (0,p.mkdir)(z,{recursive:!0});try{let a=await (0,p.readdir)(z);if(a.length>=200){let b=(await Promise.all(a.map(async a=>{let b=(0,g.join)(z,a);try{return{p:b,mtime:(await (0,p.stat)(b)).mtimeMs}}catch{return null}}))).filter(a=>null!==a);b.sort((a,b)=>a.mtime-b.mtime);let c=b.slice(0,Math.max(0,b.length-200+1));await Promise.all(c.map(({p:a})=>(0,p.unlink)(a).catch(()=>void 0)))}}catch{}let c=Date.now().toString(36),d=Math.random().toString(36).slice(2,8),e=(0,g.join)(z,`${b}-${c}-${d}.log`);return await (0,p.writeFile)(e,a,"utf-8"),e}catch{return}}function B(a,b,c={}){if(a.length<=b)return a;let{label:d="output",bias:e="balanced",spillPath:f}=c,g=Math.max(0,b-520),h=Math.floor(g*("tail"===e?.2:.6)),i=g-h,j=h;if(h>0){let b=a.lastIndexOf("\n",h);b>.5*h&&(j=b)}let k=a.length-i;if(i>0&&k>0){let b=a.indexOf("\n",k);-1!==b&&b<a.length-.5*i&&(k=b+1)}let l=a.slice(0,j),m=a.slice(k),n=a.length-l.length-m.length,o=a=>(a/1024).toFixed(1)+" KB",p=f?`full output saved to ${f} — call Read({ file_path: "${f}", offset, limit }) to page through`:"narrow the query, page through (head/tail/sed), or redirect to a file";return`==== ${d.toUpperCase()} TRUNCATED ====
1
+ "use strict";exports.id=841,exports.ids=[841],exports.modules={22461:(a,b,c)=>{c.d(b,{r:()=>d});function d(a){let b=0,c=0;for(let d of a)/[\u3040-\u30ff\u3400-\u9fff\uf900-\ufaff\u{20000}-\u{2a6df}\uac00-\ud7af]/u.test(d)?b+=1:c+=1;return Math.max(1,Math.ceil(b+c/4))}},35369:(a,b,c)=>{c.d(b,{l:()=>d});function d(a){let b;if(null==a)return"Unknown error";if("string"==typeof a)return a.trim()||"Unknown error";if("object"!=typeof a)return String(a);let c="string"==typeof a.message?a.message.trim():"",d=function(a){if("string"==typeof a&&a.trim())try{let b=JSON.parse(a),c=b.error;if(c&&"object"==typeof c){let a=c.message;if("string"==typeof a&&a.trim())return a.trim()}if("string"==typeof c&&c.trim())return c.trim();if("string"==typeof b.message&&b.message.trim())return b.message.trim();return}catch{let b=a.trim();return b.length<=300?b:void 0}}(a.responseBody),e="number"==typeof a.statusCode?a.statusCode:void 0;if(!(b=d&&c&&!c.includes(d)?`${c} — ${d}`:d||c)){try{b=JSON.stringify(a)}catch{b=String(a)}b&&"{}"!==b||(b="Request failed")}return e?`[HTTP ${e}] ${b}`:b}},59419:(a,b,c)=>{c.d(b,{p:()=>I,o:()=>J});var d=c(78497),e=c(55511),f=c(29021),g=c(33873),h=c(94370);function i(a,b){return(0,g.join)(a,(0,h.O)(b))}function j(a,b,c){return(0,g.join)(i(a,b),`${c}.jsonl`)}function k(a,b,c,d){let e=i(a,b);(0,f.mkdirSync)(e,{recursive:!0});let g=j(a,b,c);(0,f.appendFileSync)(g,JSON.stringify(d)+"\n","utf-8")}function l(a,b,c,d,e){k(a,b,c,{type:"assistant",uuid:e?.uuid,sessionId:c,timestamp:e?.timestamp,message:{role:"assistant",content:d,...e?.usage?{usage:e.usage}:{}}})}function m(a,b,c,d,e,f){k(a,b,c,{type:"user",uuid:f?.uuid,sessionId:c,timestamp:f?.timestamp,message:{content:[{type:"tool_result",tool_use_id:d,content:e,is_error:!!f?.is_error}]}})}var n=c(61948),o=c(52868),p=c(79748),q=c(21820),r=c(79646),s=c(28354),t=c(63742),u=c.n(t),v=c(75342),w=c(95169);let x=(0,s.promisify)(r.exec),y=(0,s.promisify)(r.execFile),z=(0,g.join)((0,q.tmpdir)(),"cockpit-tool-outputs");async function A(a,b){try{await (0,p.mkdir)(z,{recursive:!0});try{let a=await (0,p.readdir)(z);if(a.length>=200){let b=(await Promise.all(a.map(async a=>{let b=(0,g.join)(z,a);try{return{p:b,mtime:(await (0,p.stat)(b)).mtimeMs}}catch{return null}}))).filter(a=>null!==a);b.sort((a,b)=>a.mtime-b.mtime);let c=b.slice(0,Math.max(0,b.length-200+1));await Promise.all(c.map(({p:a})=>(0,p.unlink)(a).catch(()=>void 0)))}}catch{}let c=Date.now().toString(36),d=Math.random().toString(36).slice(2,8),e=(0,g.join)(z,`${b}-${c}-${d}.log`);return await (0,p.writeFile)(e,a,"utf-8"),e}catch{return}}function B(a,b,c={}){if(a.length<=b)return a;let{label:d="output",bias:e="balanced",spillPath:f}=c,g=Math.max(0,b-520),h=Math.floor(g*("tail"===e?.2:.6)),i=g-h,j=h;if(h>0){let b=a.lastIndexOf("\n",h);b>.5*h&&(j=b)}let k=a.length-i;if(i>0&&k>0){let b=a.indexOf("\n",k);-1!==b&&b<a.length-.5*i&&(k=b+1)}let l=a.slice(0,j),m=a.slice(k),n=a.length-l.length-m.length,o=a=>(a/1024).toFixed(1)+" KB",p=f?`full output saved to ${f} — call Read({ file_path: "${f}", offset, limit }) to page through`:"narrow the query, page through (head/tail/sed), or redirect to a file";return`==== ${d.toUpperCase()} TRUNCATED ====
2
2
  Original: ${o(a.length)} (${a.length} chars) \xb7 Kept: head ${o(l.length)} + tail ${o(m.length)} \xb7 Dropped: ${o(n)}
3
3
  ${p}
4
4
  ==========================
@@ -8,7 +8,10 @@
8
8
  "/api/project-settings": {},
9
9
  "/api/projects": {},
10
10
  "/api/prompts/config": {},
11
+ "/api/restart": {},
12
+ "/api/shutdown": {},
11
13
  "/api/terminal/bubble-order": {},
14
+ "/api/update": {},
12
15
  "/api/version": {}
13
16
  }
14
17
  }
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/pgteRwI6FQcp683smeSNO/_buildManifest.js","static/pgteRwI6FQcp683smeSNO/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-ce60587570394496.js","static/chunks/4bd1b696-8a4ab4fdf0ae305a.js","static/chunks/3794-d7cddff008311ab3.js","static/chunks/main-app-1eb2a3d94fb55bbf.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/noNfrQRJFchmZSWx_yn1K/_buildManifest.js","static/noNfrQRJFchmZSWx_yn1K/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-ce60587570394496.js","static/chunks/4bd1b696-8a4ab4fdf0ae305a.js","static/chunks/3794-d7cddff008311ab3.js","static/chunks/main-app-1eb2a3d94fb55bbf.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><html lang="en" class="overflow-hidden"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/5c0c2bcbaa4149ca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/e33280be1b23649f.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/52b314bf20332f7c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/83c134c954630942.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ce60587570394496.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-d7cddff008311ab3.js" async=""></script><script src="/_next/static/chunks/main-app-1eb2a3d94fb55bbf.js" async=""></script><script src="/_next/static/chunks/app/global-error-3c48d7d42c672863.js" async=""></script><script src="/_next/static/chunks/d3ac728e-ee038320ef1e4bdf.js" async=""></script><script src="/_next/static/chunks/96c8525a-f1e0653013503d49.js" async=""></script><script src="/_next/static/chunks/bc21e3dd-a78364524623b9b0.js" async=""></script><script src="/_next/static/chunks/70e0d97a-bbb0ec05083da54f.js" async=""></script><script src="/_next/static/chunks/54a60aa6-9f9f856e5049cd65.js" async=""></script><script src="/_next/static/chunks/1332-e26fddaef359ce51.js" async=""></script><script src="/_next/static/chunks/6160-958532439d324185.js" async=""></script><script src="/_next/static/chunks/4333-9e6709e96d3ec973.js" async=""></script><script src="/_next/static/chunks/6784-09dffdb0e8ca7fb3.js" async=""></script><script src="/_next/static/chunks/1372-d16d68b1b03a345a.js" async=""></script><script src="/_next/static/chunks/2032-f224a93f7a22bc21.js" async=""></script><script src="/_next/static/chunks/1157-164bcf046a0a9b15.js" async=""></script><script src="/_next/static/chunks/app/page-5de8b6584e328a6f.js" async=""></script><meta name="robots" content="noindex"/><meta name="theme-color" content="#f9f9fb" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#111113" media="(prefers-color-scheme: dark)"/><title>OpenCockpit</title><meta name="description" content="OpenCockpit is a local-first AI development hub with chat agents, a file explorer, terminals, and browser bubbles in one swipeable workspace. One seat. One AI."/><link rel="manifest" href="/manifest.webmanifest"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Cockpit"/><meta name="apple-mobile-web-app-status-bar-style" content="default"/><link rel="icon" href="/favicon.ico?a49a3c8f7b751288" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/icons/icon-192x192.png"/><link rel="apple-touch-icon" href="/icons/icon-192x192.png"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script>// Runs before React hydrates (see app/layout.tsx <Script strategy="beforeInteractive">).
1
+ <!DOCTYPE html><html lang="en" class="overflow-hidden"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/5c0c2bcbaa4149ca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/e33280be1b23649f.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/52b314bf20332f7c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/38ad6f470b64a40f.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ce60587570394496.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-d7cddff008311ab3.js" async=""></script><script src="/_next/static/chunks/main-app-1eb2a3d94fb55bbf.js" async=""></script><script src="/_next/static/chunks/app/global-error-3c48d7d42c672863.js" async=""></script><script src="/_next/static/chunks/d3ac728e-ee038320ef1e4bdf.js" async=""></script><script src="/_next/static/chunks/96c8525a-f1e0653013503d49.js" async=""></script><script src="/_next/static/chunks/bc21e3dd-a78364524623b9b0.js" async=""></script><script src="/_next/static/chunks/70e0d97a-bbb0ec05083da54f.js" async=""></script><script src="/_next/static/chunks/54a60aa6-9f9f856e5049cd65.js" async=""></script><script src="/_next/static/chunks/1332-e26fddaef359ce51.js" async=""></script><script src="/_next/static/chunks/6160-958532439d324185.js" async=""></script><script src="/_next/static/chunks/4333-9e6709e96d3ec973.js" async=""></script><script src="/_next/static/chunks/6784-d51b98432358f755.js" async=""></script><script src="/_next/static/chunks/1372-a26fa30d21bd1ecc.js" async=""></script><script src="/_next/static/chunks/2032-f224a93f7a22bc21.js" async=""></script><script src="/_next/static/chunks/5400-bf3fe22440a73161.js" async=""></script><script src="/_next/static/chunks/app/page-cb0d12250512641d.js" async=""></script><meta name="robots" content="noindex"/><meta name="theme-color" content="#f9f9fb" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#111113" media="(prefers-color-scheme: dark)"/><title>OpenCockpit</title><meta name="description" content="OpenCockpit is a local-first AI development hub with chat agents, a file explorer, terminals, and browser bubbles in one swipeable workspace. One seat. One AI."/><link rel="manifest" href="/manifest.webmanifest"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Cockpit"/><meta name="apple-mobile-web-app-status-bar-style" content="default"/><link rel="icon" href="/favicon.ico?a49a3c8f7b751288" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/icons/icon-192x192.png"/><link rel="apple-touch-icon" href="/icons/icon-192x192.png"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script>// Runs before React hydrates (see app/layout.tsx <Script strategy="beforeInteractive">).
2
2
  // Three jobs:
3
3
  // 1. Redirect narrow viewports to the mobile route /m (before first paint).
4
4
  // 2. Apply the persisted theme class to <html> before first paint to avoid FOUC.
@@ -54,4 +54,4 @@
54
54
  });
55
55
  }
56
56
  })();
57
- </script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 __variable_c1a059 __variable_3c557b antialiased overflow-hidden"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><div class="fixed top-4 left-1/2 -translate-x-1/2 z-[100] flex flex-col items-center gap-2"></div><script src="/_next/static/chunks/webpack-ce60587570394496.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n8:I[26719,[\"4219\",\"static/chunks/app/global-error-3c48d7d42c672863.js\"],\"default\"]\n:HL[\"/_next/static/media/5c0c2bcbaa4149ca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/bb3ef058b751a6ad-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/e33280be1b23649f.css\",\"style\"]\n:HL[\"/_next/static/css/52b314bf20332f7c.css\",\"style\"]\n:HL[\"/_next/static/css/83c134c954630942.css\",\"style\"]\n2:Ta46,// Runs before React hydrates (see app/layout.tsx \u003cScript strategy=\"beforeInteractive\"\u003e).\n// Three jobs:\n// 1. Redirect narrow viewports to the mobile route /m (before first paint).\n// 2. Apply the persisted theme class to \u003chtml\u003e before first paint to avoid FOUC.\n// 3. Unregister any leftover Service Workers from the PWA era (PWA has been removed).\n(function () {\n // Mobile redirect — runs first and bails out the rest on redirect.\n // Signal is VIEWPORT WIDTH (not User-Agent): it's what actually decides whether the\n // desktop 3-panel layout fits. Runs synchronously in \u003chead\u003e before the body paints,\n // so the desktop UI never flashes. Escape hatch: the /m \"use desktop\" action sets\n // `cockpit-force-desktop` in localStorage, which suppresses the redirect thereafter.\n try {\n var path = window.location.pathname;\n var onMobileRoute = path === '/m' || path.indexOf('/m/') === 0;\n var forceDesktop = false;\n try { forceDesktop = !!localStorage.getItem('cockpit-force-desktop'); } catch (_e) {}\n // Never redirect inside an iframe: the desktop shell embeds /project in a\n // frame that is 42px (sidebar) narrower than the window, so a tablet-width\n // top page (e.g. 768px iPad) would otherwise nest the mobile UI inside the\n // desktop shell — and drop the sessionId in the process. The media query is\n // only meaningful for the top-level viewport.\n var isTopWindow = true;\n try { isTopWindow = window.self === window.top; } catch (_e) {}\n if (\n isTopWindow \u0026\u0026\n !onMobileRoute \u0026\u0026\n !forceDesktop \u0026\u0026\n window.matchMedia \u0026\u0026\n window.matchMedia('(max-width: 767px)').matches\n ) {\n window.location.replace('/m' + window.location.search);\n return; // stop further boot work; the page is navigating away\n }\n } catch (_e) {}\n\n try {\n var theme = localStorage.getItem('theme') || 'dark';\n var resolved = theme;\n if (theme === 'system') {\n resolved = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n document.documentElement.classList.add(resolved);\n } catch (e) {}\n\n // Clean up legacy Service Workers from the old PWA era, but KEEP our\n // push-only SW (/push-sw.js) — it powers Web Push notifications and does no\n // caching, so it doesn't reintroduce the offline behavior we removed.\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.getRegistrations().then(function (regs) {\n regs.forEach(function (r) {\n var url = (r.active \u0026\u0026 r.active.scriptURL) || '';\n if (url.indexOf('/push-sw.js') === -1) r.unregister();\n });\n });\n }\n})();\n6:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e33280be1b23649f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/52b314bf20332f7c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/83c134c954630942.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"overflow-hidden\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"$2\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 __variable_c1a059 __variable_3c557b antialiased overflow-hidden\",\"children\":\"$L3\"}]]}]]}],{\"children\":[\"$L4\",{\"children\":[\"$L5\",{},null,false,null]},null,false,\"$6\"]},null,false,null],\"$L7\",false]],\"m\":\"$undefined\",\"G\":[\"$8\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"pgteRwI6FQcp683smeSNO\"}\n9:I[29729,[\"7330\",\"static/chunks/d3ac728e-ee038320ef1e4bdf.js\",\"8216\",\"static/chunks/96c8525a-f1e0653013503d49.js\",\"4281\",\"static/chunks/bc21e3dd-a78364524623b9b0.js\",\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-9f9f856e5049cd65.js\",\"1332\",\"static/chunks/1332-e26fddaef359ce51.js\",\"6160\",\"static/chunks/6160-958532439d324185.js\",\"4333\",\"static/chunks/4333-9e6709e96d3ec973.js\",\"6784\",\"static/chunks/6784-09dffdb0e8ca7fb3.js\",\"1372\",\"static/chunks/1372-d16d68b1b03a345a.js\",\"2032\",\"static/chunks/2032-f224a93f7a22bc21.js\",\"1157\",\"static/chunks/1157-164bcf046a0a9b15.js\",\"8974\",\"static/chunks/app/page-5de8b6584e328a6f.js\"],\"Providers\"]\na:I[57121,[],\"\"]\nb:I[74581,[],\"\"]\nc:I[90484,[],\"OutletBoundary\"]\nd:\"$Sreact.suspense\"\nf:I[90484,[],\"ViewportBoundary\"]\n11:I[90484,[],\"MetadataBoundary\"]\n3:[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]\n4:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n5:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@e\"}]}]]}]\n7:[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L11\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L12\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n6:C\n10:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#f9f9fb\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#111113\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n13:I[86869,[],\"IconMark\"]\ne:null\n12:[[\"$\",\"title\",\"0\",{\"children\":\"OpenCockpit\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"OpenCockpit is a local-first AI development hub with chat agents, a file explorer, terminals, and browser bubbles in one swipeable workspace. One seat. One AI.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Cockpit\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"default\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?a49a3c8f7b751288\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"7\",{\"rel\":\"icon\",\"href\":\"/icons/icon-192x192.png\"}],[\"$\",\"link\",\"8\",{\"rel\":\"apple-touch-icon\",\"href\":\"/icons/icon-192x192.png\"}],[\"$\",\"$L13\",\"9\",{}]]\n"])</script></body></html>
57
+ </script><script>window.__COCKPIT_BUILD_ID__=null;window.__COCKPIT_FORCE_UPDATE__=false</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 __variable_c1a059 __variable_3c557b antialiased overflow-hidden"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><div class="fixed top-4 left-1/2 -translate-x-1/2 z-[100] flex flex-col items-center gap-2"></div><script src="/_next/static/chunks/webpack-ce60587570394496.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n8:I[26719,[\"4219\",\"static/chunks/app/global-error-3c48d7d42c672863.js\"],\"default\"]\n:HL[\"/_next/static/media/5c0c2bcbaa4149ca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/bb3ef058b751a6ad-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/e33280be1b23649f.css\",\"style\"]\n:HL[\"/_next/static/css/52b314bf20332f7c.css\",\"style\"]\n:HL[\"/_next/static/css/38ad6f470b64a40f.css\",\"style\"]\n2:Ta46,// Runs before React hydrates (see app/layout.tsx \u003cScript strategy=\"beforeInteractive\"\u003e).\n// Three jobs:\n// 1. Redirect narrow viewports to the mobile route /m (before first paint).\n// 2. Apply the persisted theme class to \u003chtml\u003e before first paint to avoid FOUC.\n// 3. Unregister any leftover Service Workers from the PWA era (PWA has been removed).\n(function () {\n // Mobile redirect — runs first and bails out the rest on redirect.\n // Signal is VIEWPORT WIDTH (not User-Agent): it's what actually decides whether the\n // desktop 3-panel layout fits. Runs synchronously in \u003chead\u003e before the body paints,\n // so the desktop UI never flashes. Escape hatch: the /m \"use desktop\" action sets\n // `cockpit-force-desktop` in localStorage, which suppresses the redirect thereafter.\n try {\n var path = window.location.pathname;\n var onMobileRoute = path === '/m' || path.indexOf('/m/') === 0;\n var forceDesktop = false;\n try { forceDesktop = !!localStorage.getItem('cockpit-force-desktop'); } catch (_e) {}\n // Never redirect inside an iframe: the desktop shell embeds /project in a\n // frame that is 42px (sidebar) narrower than the window, so a tablet-width\n // top page (e.g. 768px iPad) would otherwise nest the mobile UI inside the\n // desktop shell — and drop the sessionId in the process. The media query is\n // only meaningful for the top-level viewport.\n var isTopWindow = true;\n try { isTopWindow = window.self === window.top; } catch (_e) {}\n if (\n isTopWindow \u0026\u0026\n !onMobileRoute \u0026\u0026\n !forceDesktop \u0026\u0026\n window.matchMedia \u0026\u0026\n window.matchMedia('(max-width: 767px)').matches\n ) {\n window.location.replace('/m' + window.location.search);\n return; // stop further boot work; the page is navigating away\n }\n } catch (_e) {}\n\n try {\n var theme = localStorage.getItem('theme') || 'dark';\n var resolved = theme;\n if (theme === 'system') {\n resolved = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n document.documentElement.classList.add(resolved);\n } catch (e) {}\n\n // Clean up legacy Service Workers from the old PWA era, but KEEP our\n // push-only SW (/push-sw.js) — it powers Web Push notifications and does no\n // caching, so it doesn't reintroduce the offline behavior we removed.\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.getRegistrations().then(function (regs) {\n regs.forEach(function (r) {\n var url = (r.active \u0026\u0026 r.active.scriptURL) || '';\n if (url.indexOf('/push-sw.js') === -1) r.unregister();\n });\n });\n }\n})();\n6:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e33280be1b23649f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/52b314bf20332f7c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/38ad6f470b64a40f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"overflow-hidden\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"$2\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"window.__COCKPIT_BUILD_ID__=null;window.__COCKPIT_FORCE_UPDATE__=false\"}}]]}],\"$L3\"]}]]}],{\"children\":[\"$L4\",{\"children\":[\"$L5\",{},null,false,null]},null,false,\"$6\"]},null,false,null],\"$L7\",false]],\"m\":\"$undefined\",\"G\":[\"$8\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"noNfrQRJFchmZSWx_yn1K\"}\n9:I[75476,[\"7330\",\"static/chunks/d3ac728e-ee038320ef1e4bdf.js\",\"8216\",\"static/chunks/96c8525a-f1e0653013503d49.js\",\"4281\",\"static/chunks/bc21e3dd-a78364524623b9b0.js\",\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-9f9f856e5049cd65.js\",\"1332\",\"static/chunks/1332-e26fddaef359ce51.js\",\"6160\",\"static/chunks/6160-958532439d324185.js\",\"4333\",\"static/chunks/4333-9e6709e96d3ec973.js\",\"6784\",\"static/chunks/6784-d51b98432358f755.js\",\"1372\",\"static/chunks/1372-a26fa30d21bd1ecc.js\",\"2032\",\"static/chunks/2032-f224a93f7a22bc21.js\",\"5400\",\"static/chunks/5400-bf3fe22440a73161.js\",\"8974\",\"static/chunks/app/page-cb0d12250512641d.js\"],\"Providers\"]\na:I[57121,[],\"\"]\nb:I[74581,[],\"\"]\nc:I[90484,[],\"OutletBoundary\"]\nd:\"$Sreact.suspense\"\nf:I[90484,[],\"ViewportBoundary\"]\n11:I[90484,[],\"MetadataBoundary\"]\n3:[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 __variable_c1a059 __variable_3c557b antialiased overflow-hidden\",\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]\n4:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n5:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@e\"}]}]]}]\n7:[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L11\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L12\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n6:C\n10:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#f9f9fb\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#111113\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n13:I[86869,[],\"IconMark\"]\ne:null\n12:[[\"$\",\"title\",\"0\",{\"children\":\"OpenCockpit\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"OpenCockpit is a local-first AI development hub with chat agents, a file explorer, terminals, and browser bubbles in one swipeable workspace. One seat. One AI.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Cockpit\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"default\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?a49a3c8f7b751288\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"7\",{\"rel\":\"icon\",\"href\":\"/icons/icon-192x192.png\"}],[\"$\",\"link\",\"8\",{\"rel\":\"apple-touch-icon\",\"href\":\"/icons/icon-192x192.png\"}],[\"$\",\"$L13\",\"9\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ce60587570394496.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-d7cddff008311ab3.js" async=""></script><script src="/_next/static/chunks/main-app-1eb2a3d94fb55bbf.js" async=""></script><script src="/_next/static/chunks/app/global-error-3c48d7d42c672863.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-ce60587570394496.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[26719,[\"4219\",\"static/chunks/app/global-error-3c48d7d42c672863.js\"],\"default\"]\n7:X\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$7\"]},null,false,\"$7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"pgteRwI6FQcp683smeSNO\"}\n7:C\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\nb:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ce60587570394496.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-d7cddff008311ab3.js" async=""></script><script src="/_next/static/chunks/main-app-1eb2a3d94fb55bbf.js" async=""></script><script src="/_next/static/chunks/app/global-error-3c48d7d42c672863.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-ce60587570394496.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[26719,[\"4219\",\"static/chunks/app/global-error-3c48d7d42c672863.js\"],\"default\"]\n7:X\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$7\"]},null,false,\"$7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"noNfrQRJFchmZSWx_yn1K\"}\n7:C\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\nb:[]\n"])</script></body></html>
@@ -1 +1 @@
1
- {"node":{},"edge":{},"encryptionKey":"gsBa43MOENgak46xBACQPOv6s5RMfpRWG2+rJ6TmE2o="}
1
+ {"node":{},"edge":{},"encryptionKey":"k4j/FRQnL6vKMqRVDfD7iIEZ6ZSpE69p1d625DFtIhY="}