@surething/cockpit 1.0.266 → 1.0.268

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 (691) hide show
  1. package/.next-prod/BUILD_ID +1 -1
  2. package/.next-prod/app-path-routes-manifest.json +4 -3
  3. package/.next-prod/build-manifest.json +2 -2
  4. package/.next-prod/cockpit-build.json +1 -1
  5. package/.next-prod/prerender-manifest.json +4 -4
  6. package/.next-prod/routes-manifest.json +6 -0
  7. package/.next-prod/server/app/_global-error/page.js +2 -2
  8. package/.next-prod/server/app/_global-error/page.js.nft.json +1 -1
  9. package/.next-prod/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next-prod/server/app/_global-error.html +1 -1
  11. package/.next-prod/server/app/_global-error.rsc +1 -1
  12. package/.next-prod/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next-prod/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  14. package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next-prod/server/app/_not-found/page.js +1 -1
  16. package/.next-prod/server/app/_not-found/page.js.nft.json +1 -1
  17. package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next-prod/server/app/_not-found.html +2 -2
  19. package/.next-prod/server/app/_not-found.rsc +3 -3
  20. package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +3 -3
  21. package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +3 -3
  22. package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  24. package/.next-prod/server/app/api/agent/test/route.js +1 -1
  25. package/.next-prod/server/app/api/agent/test/route.js.nft.json +1 -1
  26. package/.next-prod/server/app/api/bash/route.js +1 -1
  27. package/.next-prod/server/app/api/bash/route.js.nft.json +1 -1
  28. package/.next-prod/server/app/api/chat/codex/route.js +1 -1
  29. package/.next-prod/server/app/api/chat/codex/route.js.nft.json +1 -1
  30. package/.next-prod/server/app/api/chat/deepseek/route.js +1 -1
  31. package/.next-prod/server/app/api/chat/deepseek/route.js.nft.json +1 -1
  32. package/.next-prod/server/app/api/chat/glm/route.js +1 -1
  33. package/.next-prod/server/app/api/chat/glm/route.js.nft.json +1 -1
  34. package/.next-prod/server/app/api/chat/kimi/route.js +1 -1
  35. package/.next-prod/server/app/api/chat/kimi/route.js.nft.json +1 -1
  36. package/.next-prod/server/app/api/chat/ollama/route.js +1 -1
  37. package/.next-prod/server/app/api/chat/ollama/route.js.nft.json +1 -1
  38. package/.next-prod/server/app/api/chat/route.js +1 -1
  39. package/.next-prod/server/app/api/chat/route.js.nft.json +1 -1
  40. package/.next-prod/server/app/api/chat/stop/route.js +1 -1
  41. package/.next-prod/server/app/api/chat/stop/route.js.nft.json +1 -1
  42. package/.next-prod/server/app/api/claude-stats/route.js +1 -1
  43. package/.next-prod/server/app/api/claude-stats/route.js.nft.json +1 -1
  44. package/.next-prod/server/app/api/commands/route.js +1 -1
  45. package/.next-prod/server/app/api/commands/route.js.nft.json +1 -1
  46. package/.next-prod/server/app/api/comments/route.js +1 -1
  47. package/.next-prod/server/app/api/comments/route.js.nft.json +1 -1
  48. package/.next-prod/server/app/api/db/columns/route.js +1 -1
  49. package/.next-prod/server/app/api/db/columns/route.js.nft.json +1 -1
  50. package/.next-prod/server/app/api/db/connect/route.js +2 -2
  51. package/.next-prod/server/app/api/db/connect/route.js.nft.json +1 -1
  52. package/.next-prod/server/app/api/db/disconnect/route.js +1 -1
  53. package/.next-prod/server/app/api/db/disconnect/route.js.nft.json +1 -1
  54. package/.next-prod/server/app/api/db/export/route.js +1 -1
  55. package/.next-prod/server/app/api/db/export/route.js.nft.json +1 -1
  56. package/.next-prod/server/app/api/db/query/route.js +1 -1
  57. package/.next-prod/server/app/api/db/query/route.js.nft.json +1 -1
  58. package/.next-prod/server/app/api/db/schemas/route.js +2 -2
  59. package/.next-prod/server/app/api/db/schemas/route.js.nft.json +1 -1
  60. package/.next-prod/server/app/api/deepseek/balance/route.js +1 -1
  61. package/.next-prod/server/app/api/deepseek/balance/route.js.nft.json +1 -1
  62. package/.next-prod/server/app/api/deepseek/credentials/route.js +1 -1
  63. package/.next-prod/server/app/api/deepseek/credentials/route.js.nft.json +1 -1
  64. package/.next-prod/server/app/api/deepseek/models/route.js +1 -1
  65. package/.next-prod/server/app/api/deepseek/models/route.js.nft.json +1 -1
  66. package/.next-prod/server/app/api/dev/spans/route.js +1 -1
  67. package/.next-prod/server/app/api/dev/spans/route.js.nft.json +1 -1
  68. package/.next-prod/server/app/api/extension/version/route.js +1 -1
  69. package/.next-prod/server/app/api/extension/version/route.js.nft.json +1 -1
  70. package/.next-prod/server/app/api/file/route.js +1 -1
  71. package/.next-prod/server/app/api/file/route.js.nft.json +1 -1
  72. package/.next-prod/server/app/api/files/blame/route.js +1 -1
  73. package/.next-prod/server/app/api/files/blame/route.js.nft.json +1 -1
  74. package/.next-prod/server/app/api/files/clipboard/route.js +1 -1
  75. package/.next-prod/server/app/api/files/clipboard/route.js.nft.json +1 -1
  76. package/.next-prod/server/app/api/files/copy/route.js +1 -1
  77. package/.next-prod/server/app/api/files/copy/route.js.nft.json +1 -1
  78. package/.next-prod/server/app/api/files/delete/route.js +1 -1
  79. package/.next-prod/server/app/api/files/delete/route.js.nft.json +1 -1
  80. package/.next-prod/server/app/api/files/expanded/route.js +1 -1
  81. package/.next-prod/server/app/api/files/expanded/route.js.nft.json +1 -1
  82. package/.next-prod/server/app/api/files/index/route.js +1 -1
  83. package/.next-prod/server/app/api/files/index/route.js.nft.json +1 -1
  84. package/.next-prod/server/app/api/files/init/route.js +1 -1
  85. package/.next-prod/server/app/api/files/init/route.js.nft.json +1 -1
  86. package/.next-prod/server/app/api/files/paste/route.js +1 -1
  87. package/.next-prod/server/app/api/files/paste/route.js.nft.json +1 -1
  88. package/.next-prod/server/app/api/files/read/route.js +1 -1
  89. package/.next-prod/server/app/api/files/read/route.js.nft.json +1 -1
  90. package/.next-prod/server/app/api/files/readdir/route.js +1 -1
  91. package/.next-prod/server/app/api/files/readdir/route.js.nft.json +1 -1
  92. package/.next-prod/server/app/api/files/recent/route.js +1 -1
  93. package/.next-prod/server/app/api/files/recent/route.js.nft.json +1 -1
  94. package/.next-prod/server/app/api/files/save/route.js +1 -1
  95. package/.next-prod/server/app/api/files/save/route.js.nft.json +1 -1
  96. package/.next-prod/server/app/api/files/search/route.js +1 -1
  97. package/.next-prod/server/app/api/files/search/route.js.nft.json +1 -1
  98. package/.next-prod/server/app/api/files/stat/route.js +1 -1
  99. package/.next-prod/server/app/api/files/stat/route.js.nft.json +1 -1
  100. package/.next-prod/server/app/api/files/text/route.js +1 -1
  101. package/.next-prod/server/app/api/files/text/route.js.nft.json +1 -1
  102. package/.next-prod/server/app/api/git/blob/route.js +1 -1
  103. package/.next-prod/server/app/api/git/blob/route.js.nft.json +1 -1
  104. package/.next-prod/server/app/api/git/branch-diff/route.js +1 -1
  105. package/.next-prod/server/app/api/git/branch-diff/route.js.nft.json +1 -1
  106. package/.next-prod/server/app/api/git/branches/route.js +1 -1
  107. package/.next-prod/server/app/api/git/branches/route.js.nft.json +1 -1
  108. package/.next-prod/server/app/api/git/commit-diff/route.js +1 -1
  109. package/.next-prod/server/app/api/git/commit-diff/route.js.nft.json +1 -1
  110. package/.next-prod/server/app/api/git/commits/route.js +1 -1
  111. package/.next-prod/server/app/api/git/commits/route.js.nft.json +1 -1
  112. package/.next-prod/server/app/api/git/current-branch/route.js +1 -1
  113. package/.next-prod/server/app/api/git/current-branch/route.js.nft.json +1 -1
  114. package/.next-prod/server/app/api/git/diff/route.js +1 -1
  115. package/.next-prod/server/app/api/git/diff/route.js.nft.json +1 -1
  116. package/.next-prod/server/app/api/git/discard/route.js +1 -1
  117. package/.next-prod/server/app/api/git/discard/route.js.nft.json +1 -1
  118. package/.next-prod/server/app/api/git/stage/route.js +1 -1
  119. package/.next-prod/server/app/api/git/stage/route.js.nft.json +1 -1
  120. package/.next-prod/server/app/api/git/status/route.js +1 -1
  121. package/.next-prod/server/app/api/git/status/route.js.nft.json +1 -1
  122. package/.next-prod/server/app/api/git/unstage/route.js +1 -1
  123. package/.next-prod/server/app/api/git/unstage/route.js.nft.json +1 -1
  124. package/.next-prod/server/app/api/git/worktree/route.js +1 -1
  125. package/.next-prod/server/app/api/git/worktree/route.js.nft.json +1 -1
  126. package/.next-prod/server/app/api/glm/credentials/route.js +1 -1
  127. package/.next-prod/server/app/api/glm/credentials/route.js.nft.json +1 -1
  128. package/.next-prod/server/app/api/glm/models/route.js +1 -1
  129. package/.next-prod/server/app/api/glm/models/route.js.nft.json +1 -1
  130. package/.next-prod/server/app/api/glm/usage/route.js +1 -1
  131. package/.next-prod/server/app/api/glm/usage/route.js.nft.json +1 -1
  132. package/.next-prod/server/app/api/global-state/route.js +1 -1
  133. package/.next-prod/server/app/api/global-state/route.js.nft.json +1 -1
  134. package/.next-prod/server/app/api/health/route.js +1 -1
  135. package/.next-prod/server/app/api/health/route.js.nft.json +1 -1
  136. package/.next-prod/server/app/api/html-apps/[id]/route.js +1 -1
  137. package/.next-prod/server/app/api/html-apps/[id]/route.js.nft.json +1 -1
  138. package/.next-prod/server/app/api/html-apps/route.js +1 -1
  139. package/.next-prod/server/app/api/html-apps/route.js.nft.json +1 -1
  140. package/.next-prod/server/app/api/jupyter/load/route.js +1 -1
  141. package/.next-prod/server/app/api/jupyter/load/route.js.nft.json +1 -1
  142. package/.next-prod/server/app/api/jupyter/save/route.js +1 -1
  143. package/.next-prod/server/app/api/jupyter/save/route.js.nft.json +1 -1
  144. package/.next-prod/server/app/api/jupyter/shutdown/route.js +1 -1
  145. package/.next-prod/server/app/api/jupyter/shutdown/route.js.nft.json +1 -1
  146. package/.next-prod/server/app/api/kimi/credentials/route.js +1 -1
  147. package/.next-prod/server/app/api/kimi/credentials/route.js.nft.json +1 -1
  148. package/.next-prod/server/app/api/kimi/models/route.js +1 -1
  149. package/.next-prod/server/app/api/kimi/models/route.js.nft.json +1 -1
  150. package/.next-prod/server/app/api/kimi/usage/route.js +1 -1
  151. package/.next-prod/server/app/api/kimi/usage/route.js.nft.json +1 -1
  152. package/.next-prod/server/app/api/lsp/definition/route.js +1 -1
  153. package/.next-prod/server/app/api/lsp/definition/route.js.nft.json +1 -1
  154. package/.next-prod/server/app/api/lsp/hover/route.js +1 -1
  155. package/.next-prod/server/app/api/lsp/hover/route.js.nft.json +1 -1
  156. package/.next-prod/server/app/api/lsp/references/route.js +1 -1
  157. package/.next-prod/server/app/api/lsp/references/route.js.nft.json +1 -1
  158. package/.next-prod/server/app/api/lsp/status/route.js +1 -1
  159. package/.next-prod/server/app/api/lsp/status/route.js.nft.json +1 -1
  160. package/.next-prod/server/app/api/lsp/warmup/route.js +1 -1
  161. package/.next-prod/server/app/api/lsp/warmup/route.js.nft.json +1 -1
  162. package/.next-prod/server/app/api/mysql/columns/route.js +1 -1
  163. package/.next-prod/server/app/api/mysql/columns/route.js.nft.json +1 -1
  164. package/.next-prod/server/app/api/mysql/connect/route.js +1 -1
  165. package/.next-prod/server/app/api/mysql/connect/route.js.nft.json +1 -1
  166. package/.next-prod/server/app/api/mysql/disconnect/route.js +1 -1
  167. package/.next-prod/server/app/api/mysql/disconnect/route.js.nft.json +1 -1
  168. package/.next-prod/server/app/api/mysql/export/route.js +1 -1
  169. package/.next-prod/server/app/api/mysql/export/route.js.nft.json +1 -1
  170. package/.next-prod/server/app/api/mysql/query/route.js +1 -1
  171. package/.next-prod/server/app/api/mysql/query/route.js.nft.json +1 -1
  172. package/.next-prod/server/app/api/mysql/schemas/route.js +2 -2
  173. package/.next-prod/server/app/api/mysql/schemas/route.js.nft.json +1 -1
  174. package/.next-prod/server/app/api/neo4j/connect/route.js +1 -1
  175. package/.next-prod/server/app/api/neo4j/connect/route.js.nft.json +1 -1
  176. package/.next-prod/server/app/api/neo4j/disconnect/route.js +1 -1
  177. package/.next-prod/server/app/api/neo4j/disconnect/route.js.nft.json +1 -1
  178. package/.next-prod/server/app/api/neo4j/query/route.js +1 -1
  179. package/.next-prod/server/app/api/neo4j/query/route.js.nft.json +1 -1
  180. package/.next-prod/server/app/api/neo4j/schema/route.js +1 -1
  181. package/.next-prod/server/app/api/neo4j/schema/route.js.nft.json +1 -1
  182. package/.next-prod/server/app/api/note/route.js +1 -1
  183. package/.next-prod/server/app/api/note/route.js.nft.json +1 -1
  184. package/.next-prod/server/app/api/ollama/config/route.js +1 -1
  185. package/.next-prod/server/app/api/ollama/config/route.js.nft.json +1 -1
  186. package/.next-prod/server/app/api/ollama/models/route.js +1 -1
  187. package/.next-prod/server/app/api/ollama/models/route.js.nft.json +1 -1
  188. package/.next-prod/server/app/api/ollama/start/route.js +1 -1
  189. package/.next-prod/server/app/api/ollama/start/route.js.nft.json +1 -1
  190. package/.next-prod/server/app/api/open-cursor/route.js +1 -1
  191. package/.next-prod/server/app/api/open-cursor/route.js.nft.json +1 -1
  192. package/.next-prod/server/app/api/open-vscode/route.js +1 -1
  193. package/.next-prod/server/app/api/open-vscode/route.js.nft.json +1 -1
  194. package/.next-prod/server/app/api/pick-folder/route.js +1 -1
  195. package/.next-prod/server/app/api/pick-folder/route.js.nft.json +1 -1
  196. package/.next-prod/server/app/api/pinned-sessions/route.js +1 -1
  197. package/.next-prod/server/app/api/pinned-sessions/route.js.nft.json +1 -1
  198. package/.next-prod/server/app/api/project-settings/route.js +1 -1
  199. package/.next-prod/server/app/api/project-settings/route.js.nft.json +1 -1
  200. package/.next-prod/server/app/api/project-state/route.js +2 -2
  201. package/.next-prod/server/app/api/project-state/route.js.nft.json +1 -1
  202. package/.next-prod/server/app/api/projectGraph/affected/route.js +1 -1
  203. package/.next-prod/server/app/api/projectGraph/affected/route.js.nft.json +1 -1
  204. package/.next-prod/server/app/api/projectGraph/callees/route.js +1 -1
  205. package/.next-prod/server/app/api/projectGraph/callees/route.js.nft.json +1 -1
  206. package/.next-prod/server/app/api/projectGraph/callers/route.js +1 -1
  207. package/.next-prod/server/app/api/projectGraph/callers/route.js.nft.json +1 -1
  208. package/.next-prod/server/app/api/projectGraph/coedit/route.js +1 -1
  209. package/.next-prod/server/app/api/projectGraph/coedit/route.js.nft.json +1 -1
  210. package/.next-prod/server/app/api/projectGraph/context/route.js +1 -1
  211. package/.next-prod/server/app/api/projectGraph/context/route.js.nft.json +1 -1
  212. package/.next-prod/server/app/api/projectGraph/file/route.js +1 -1
  213. package/.next-prod/server/app/api/projectGraph/file/route.js.nft.json +1 -1
  214. package/.next-prod/server/app/api/projectGraph/file-functions/route.js +1 -1
  215. package/.next-prod/server/app/api/projectGraph/file-functions/route.js.nft.json +1 -1
  216. package/.next-prod/server/app/api/projectGraph/impact/route.js +1 -1
  217. package/.next-prod/server/app/api/projectGraph/impact/route.js.nft.json +1 -1
  218. package/.next-prod/server/app/api/projectGraph/related/route.js +1 -1
  219. package/.next-prod/server/app/api/projectGraph/related/route.js.nft.json +1 -1
  220. package/.next-prod/server/app/api/projectGraph/risk/route.js +1 -1
  221. package/.next-prod/server/app/api/projectGraph/risk/route.js.nft.json +1 -1
  222. package/.next-prod/server/app/api/projectGraph/search/route.js +1 -1
  223. package/.next-prod/server/app/api/projectGraph/search/route.js.nft.json +1 -1
  224. package/.next-prod/server/app/api/projects/route.js +1 -1
  225. package/.next-prod/server/app/api/projects/route.js.nft.json +1 -1
  226. package/.next-prod/server/app/api/prompts/config/route.js +1 -1
  227. package/.next-prod/server/app/api/prompts/config/route.js.nft.json +1 -1
  228. package/.next-prod/server/app/api/push/public-key/route.js +1 -1
  229. package/.next-prod/server/app/api/push/public-key/route.js.nft.json +1 -1
  230. package/.next-prod/server/app/api/push/subscribe/route.js +1 -1
  231. package/.next-prod/server/app/api/push/subscribe/route.js.nft.json +1 -1
  232. package/.next-prod/server/app/api/push/unsubscribe/route.js +1 -1
  233. package/.next-prod/server/app/api/push/unsubscribe/route.js.nft.json +1 -1
  234. package/.next-prod/server/app/api/redis/command/route.js +1 -1
  235. package/.next-prod/server/app/api/redis/command/route.js.nft.json +1 -1
  236. package/.next-prod/server/app/api/redis/connect/route.js +1 -1
  237. package/.next-prod/server/app/api/redis/connect/route.js.nft.json +1 -1
  238. package/.next-prod/server/app/api/redis/delete/route.js +1 -1
  239. package/.next-prod/server/app/api/redis/delete/route.js.nft.json +1 -1
  240. package/.next-prod/server/app/api/redis/disconnect/route.js +1 -1
  241. package/.next-prod/server/app/api/redis/disconnect/route.js.nft.json +1 -1
  242. package/.next-prod/server/app/api/redis/get/route.js +1 -1
  243. package/.next-prod/server/app/api/redis/get/route.js.nft.json +1 -1
  244. package/.next-prod/server/app/api/redis/keys/route.js +1 -1
  245. package/.next-prod/server/app/api/redis/keys/route.js.nft.json +1 -1
  246. package/.next-prod/server/app/api/redis/set/route.js +1 -1
  247. package/.next-prod/server/app/api/redis/set/route.js.nft.json +1 -1
  248. package/.next-prod/server/app/api/restart/route.js +1 -1
  249. package/.next-prod/server/app/api/restart/route.js.nft.json +1 -1
  250. package/.next-prod/server/app/api/review/[id]/comments/route.js +1 -1
  251. package/.next-prod/server/app/api/review/[id]/comments/route.js.nft.json +1 -1
  252. package/.next-prod/server/app/api/review/[id]/replies/route.js +1 -1
  253. package/.next-prod/server/app/api/review/[id]/replies/route.js.nft.json +1 -1
  254. package/.next-prod/server/app/api/review/[id]/route.js +1 -1
  255. package/.next-prod/server/app/api/review/[id]/route.js.nft.json +1 -1
  256. package/.next-prod/server/app/api/review/identify/route.js +1 -1
  257. package/.next-prod/server/app/api/review/identify/route.js.nft.json +1 -1
  258. package/.next-prod/server/app/api/review/order/route.js +1 -1
  259. package/.next-prod/server/app/api/review/order/route.js.nft.json +1 -1
  260. package/.next-prod/server/app/api/review/route.js +1 -1
  261. package/.next-prod/server/app/api/review/route.js.nft.json +1 -1
  262. package/.next-prod/server/app/api/review/share-info/route.js +1 -1
  263. package/.next-prod/server/app/api/review/share-info/route.js.nft.json +1 -1
  264. package/.next-prod/server/app/api/review/users/route.js +1 -1
  265. package/.next-prod/server/app/api/review/users/route.js.nft.json +1 -1
  266. package/.next-prod/server/app/api/scheduled-tasks/route.js +2 -2
  267. package/.next-prod/server/app/api/scheduled-tasks/route.js.nft.json +1 -1
  268. package/.next-prod/server/app/api/services/config/route.js +1 -1
  269. package/.next-prod/server/app/api/services/config/route.js.nft.json +1 -1
  270. package/.next-prod/server/app/api/services/scripts/route.js +1 -1
  271. package/.next-prod/server/app/api/services/scripts/route.js.nft.json +1 -1
  272. package/.next-prod/server/app/api/session/[sessionId]/fork/route.js +1 -1
  273. package/.next-prod/server/app/api/session/[sessionId]/fork/route.js.nft.json +1 -1
  274. package/.next-prod/server/app/api/session/[sessionId]/history/route.js +1 -1
  275. package/.next-prod/server/app/api/session/[sessionId]/history/route.js.nft.json +1 -1
  276. package/.next-prod/server/app/api/session-by-path/route.js +1 -1
  277. package/.next-prod/server/app/api/session-by-path/route.js.nft.json +1 -1
  278. package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js +1 -1
  279. package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js.nft.json +1 -1
  280. package/.next-prod/server/app/api/sessions/projects/route.js +1 -1
  281. package/.next-prod/server/app/api/sessions/projects/route.js.nft.json +1 -1
  282. package/.next-prod/server/app/api/sessions/route.js +1 -1
  283. package/.next-prod/server/app/api/sessions/route.js.nft.json +1 -1
  284. package/.next-prod/server/app/api/settings/route.js +1 -1
  285. package/.next-prod/server/app/api/settings/route.js.nft.json +1 -1
  286. package/.next-prod/server/app/api/shutdown/route.js +1 -1
  287. package/.next-prod/server/app/api/shutdown/route.js.nft.json +1 -1
  288. package/.next-prod/server/app/api/skills/[id]/route.js +1 -1
  289. package/.next-prod/server/app/api/skills/[id]/route.js.nft.json +1 -1
  290. package/.next-prod/server/app/api/skills/content/route.js +1 -1
  291. package/.next-prod/server/app/api/skills/content/route.js.nft.json +1 -1
  292. package/.next-prod/server/app/api/skills/route.js +1 -1
  293. package/.next-prod/server/app/api/skills/route.js.nft.json +1 -1
  294. package/.next-prod/server/app/api/snapshots/blob/route.js +1 -0
  295. package/.next-prod/server/app/api/snapshots/blob/route.js.nft.json +1 -0
  296. package/.next-prod/server/app/api/snapshots/blob/route_client-reference-manifest.js +1 -0
  297. package/.next-prod/server/app/api/snapshots/diff/route.js +1 -1
  298. package/.next-prod/server/app/api/snapshots/diff/route.js.nft.json +1 -1
  299. package/.next-prod/server/app/api/snapshots/route.js +1 -1
  300. package/.next-prod/server/app/api/snapshots/route.js.nft.json +1 -1
  301. package/.next-prod/server/app/api/terminal/aliases/route.js +1 -1
  302. package/.next-prod/server/app/api/terminal/aliases/route.js.nft.json +1 -1
  303. package/.next-prod/server/app/api/terminal/autocomplete/route.js +1 -1
  304. package/.next-prod/server/app/api/terminal/autocomplete/route.js.nft.json +1 -1
  305. package/.next-prod/server/app/api/terminal/bubble-order/route.js +1 -1
  306. package/.next-prod/server/app/api/terminal/bubble-order/route.js.nft.json +1 -1
  307. package/.next-prod/server/app/api/terminal/env/route.js +1 -1
  308. package/.next-prod/server/app/api/terminal/env/route.js.nft.json +1 -1
  309. package/.next-prod/server/app/api/terminal/history/route.js +1 -1
  310. package/.next-prod/server/app/api/terminal/history/route.js.nft.json +1 -1
  311. package/.next-prod/server/app/api/update/route.js +1 -1
  312. package/.next-prod/server/app/api/update/route.js.nft.json +1 -1
  313. package/.next-prod/server/app/api/update-state/route.js +1 -1
  314. package/.next-prod/server/app/api/update-state/route.js.nft.json +1 -1
  315. package/.next-prod/server/app/api/version/route.js +1 -1
  316. package/.next-prod/server/app/api/version/route.js.nft.json +1 -1
  317. package/.next-prod/server/app/apps/[...path]/route.js +1 -1
  318. package/.next-prod/server/app/apps/[...path]/route.js.nft.json +1 -1
  319. package/.next-prod/server/app/favicon.ico/route.js +1 -1
  320. package/.next-prod/server/app/favicon.ico/route.js.nft.json +1 -1
  321. package/.next-prod/server/app/m/page.js +1 -1
  322. package/.next-prod/server/app/m/page.js.nft.json +1 -1
  323. package/.next-prod/server/app/m/page_client-reference-manifest.js +1 -1
  324. package/.next-prod/server/app/manifest.webmanifest/route.js +2 -2
  325. package/.next-prod/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  326. package/.next-prod/server/app/page.js +1 -1
  327. package/.next-prod/server/app/page.js.nft.json +1 -1
  328. package/.next-prod/server/app/page_client-reference-manifest.js +1 -1
  329. package/.next-prod/server/app/project/page.js +1 -1
  330. package/.next-prod/server/app/project/page.js.nft.json +1 -1
  331. package/.next-prod/server/app/project/page_client-reference-manifest.js +1 -1
  332. package/.next-prod/server/app/review/[id]/page.js +1 -1
  333. package/.next-prod/server/app/review/[id]/page.js.nft.json +1 -1
  334. package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
  335. package/.next-prod/server/app-paths-manifest.json +4 -3
  336. package/.next-prod/server/chunks/2493.js +3 -3
  337. package/.next-prod/server/chunks/3286.js +3 -3
  338. package/.next-prod/server/chunks/{3641.js → 3583.js} +1 -1
  339. package/.next-prod/server/chunks/4949.js +1 -0
  340. package/.next-prod/server/chunks/516.js +1 -1
  341. package/.next-prod/server/chunks/5750.js +14 -14
  342. package/.next-prod/server/chunks/6548.js +1 -1
  343. package/.next-prod/server/chunks/7184.js +4 -4
  344. package/.next-prod/server/chunks/816.js +1 -1
  345. package/.next-prod/server/chunks/9312.js +1 -1
  346. package/.next-prod/server/chunks/9352.js +1 -1
  347. package/.next-prod/server/chunks/9830.js +1 -1
  348. package/.next-prod/server/middleware-build-manifest.js +1 -1
  349. package/.next-prod/server/pages/404.html +2 -2
  350. package/.next-prod/server/pages/500.html +1 -1
  351. package/.next-prod/server/server-reference-manifest.json +1 -1
  352. package/.next-prod/static/MM6vZhLQFwtUo_vz7BSfe/_buildManifest.js +1 -0
  353. package/.next-prod/static/chunks/33372-a2d65ba0d112fc24.js +35 -0
  354. package/.next-prod/static/chunks/46784-24ed72109d7c318b.js +716 -0
  355. package/.next-prod/static/chunks/{5504-583edbefcb22ed17.js → 87834-dfec736663e6aac2.js} +2 -2
  356. package/.next-prod/static/chunks/96911-08609dc685108dcc.js +15 -0
  357. package/.next-prod/static/chunks/app/_global-error/{page-c1a2c7e62ce669f7.js → page-db8b43ac5e6e9ac5.js} +1 -1
  358. package/.next-prod/static/chunks/app/api/agent/test/{route-c1a2c7e62ce669f7.js → route-db8b43ac5e6e9ac5.js} +1 -1
  359. package/.next-prod/static/chunks/app/api/bash/{route-c1a2c7e62ce669f7.js → route-db8b43ac5e6e9ac5.js} +1 -1
  360. package/.next-prod/static/chunks/app/api/chat/codex/{route-c1a2c7e62ce669f7.js → route-db8b43ac5e6e9ac5.js} +1 -1
  361. package/.next-prod/static/chunks/app/api/chat/deepseek/route-db8b43ac5e6e9ac5.js +1 -0
  362. package/.next-prod/static/chunks/app/api/chat/glm/route-db8b43ac5e6e9ac5.js +1 -0
  363. package/.next-prod/static/chunks/app/api/chat/kimi/route-db8b43ac5e6e9ac5.js +1 -0
  364. package/.next-prod/static/chunks/app/api/chat/ollama/route-db8b43ac5e6e9ac5.js +1 -0
  365. package/.next-prod/static/chunks/app/api/chat/route-db8b43ac5e6e9ac5.js +1 -0
  366. package/.next-prod/static/chunks/app/api/chat/stop/route-db8b43ac5e6e9ac5.js +1 -0
  367. package/.next-prod/static/chunks/app/api/claude-stats/route-db8b43ac5e6e9ac5.js +1 -0
  368. package/.next-prod/static/chunks/app/api/commands/route-db8b43ac5e6e9ac5.js +1 -0
  369. package/.next-prod/static/chunks/app/api/comments/route-db8b43ac5e6e9ac5.js +1 -0
  370. package/.next-prod/static/chunks/app/api/db/columns/route-db8b43ac5e6e9ac5.js +1 -0
  371. package/.next-prod/static/chunks/app/api/db/connect/route-db8b43ac5e6e9ac5.js +1 -0
  372. package/.next-prod/static/chunks/app/api/db/disconnect/route-db8b43ac5e6e9ac5.js +1 -0
  373. package/.next-prod/static/chunks/app/api/db/export/route-db8b43ac5e6e9ac5.js +1 -0
  374. package/.next-prod/static/chunks/app/api/db/query/route-db8b43ac5e6e9ac5.js +1 -0
  375. package/.next-prod/static/chunks/app/api/db/schemas/route-db8b43ac5e6e9ac5.js +1 -0
  376. package/.next-prod/static/chunks/app/api/deepseek/balance/route-db8b43ac5e6e9ac5.js +1 -0
  377. package/.next-prod/static/chunks/app/api/deepseek/credentials/route-db8b43ac5e6e9ac5.js +1 -0
  378. package/.next-prod/static/chunks/app/api/deepseek/models/route-db8b43ac5e6e9ac5.js +1 -0
  379. package/.next-prod/static/chunks/app/api/dev/spans/route-db8b43ac5e6e9ac5.js +1 -0
  380. package/.next-prod/static/chunks/app/api/extension/version/route-db8b43ac5e6e9ac5.js +1 -0
  381. package/.next-prod/static/chunks/app/api/file/route-db8b43ac5e6e9ac5.js +1 -0
  382. package/.next-prod/static/chunks/app/api/files/blame/route-db8b43ac5e6e9ac5.js +1 -0
  383. package/.next-prod/static/chunks/app/api/files/clipboard/route-db8b43ac5e6e9ac5.js +1 -0
  384. package/.next-prod/static/chunks/app/api/files/copy/route-db8b43ac5e6e9ac5.js +1 -0
  385. package/.next-prod/static/chunks/app/api/files/delete/route-db8b43ac5e6e9ac5.js +1 -0
  386. package/.next-prod/static/chunks/app/api/files/expanded/route-db8b43ac5e6e9ac5.js +1 -0
  387. package/.next-prod/static/chunks/app/api/files/index/route-db8b43ac5e6e9ac5.js +1 -0
  388. package/.next-prod/static/chunks/app/api/files/init/route-db8b43ac5e6e9ac5.js +1 -0
  389. package/.next-prod/static/chunks/app/api/files/paste/route-db8b43ac5e6e9ac5.js +1 -0
  390. package/.next-prod/static/chunks/app/api/files/read/route-db8b43ac5e6e9ac5.js +1 -0
  391. package/.next-prod/static/chunks/app/api/files/readdir/route-db8b43ac5e6e9ac5.js +1 -0
  392. package/.next-prod/static/chunks/app/api/files/recent/route-db8b43ac5e6e9ac5.js +1 -0
  393. package/.next-prod/static/chunks/app/api/files/save/route-db8b43ac5e6e9ac5.js +1 -0
  394. package/.next-prod/static/chunks/app/api/files/search/route-db8b43ac5e6e9ac5.js +1 -0
  395. package/.next-prod/static/chunks/app/api/files/stat/route-db8b43ac5e6e9ac5.js +1 -0
  396. package/.next-prod/static/chunks/app/api/files/text/route-db8b43ac5e6e9ac5.js +1 -0
  397. package/.next-prod/static/chunks/app/api/git/blob/route-db8b43ac5e6e9ac5.js +1 -0
  398. package/.next-prod/static/chunks/app/api/git/branch-diff/route-db8b43ac5e6e9ac5.js +1 -0
  399. package/.next-prod/static/chunks/app/api/git/branches/route-db8b43ac5e6e9ac5.js +1 -0
  400. package/.next-prod/static/chunks/app/api/git/commit-diff/route-db8b43ac5e6e9ac5.js +1 -0
  401. package/.next-prod/static/chunks/app/api/git/commits/route-db8b43ac5e6e9ac5.js +1 -0
  402. package/.next-prod/static/chunks/app/api/git/current-branch/route-db8b43ac5e6e9ac5.js +1 -0
  403. package/.next-prod/static/chunks/app/api/git/diff/route-db8b43ac5e6e9ac5.js +1 -0
  404. package/.next-prod/static/chunks/app/api/git/discard/route-db8b43ac5e6e9ac5.js +1 -0
  405. package/.next-prod/static/chunks/app/api/git/stage/route-db8b43ac5e6e9ac5.js +1 -0
  406. package/.next-prod/static/chunks/app/api/git/status/route-db8b43ac5e6e9ac5.js +1 -0
  407. package/.next-prod/static/chunks/app/api/git/unstage/route-db8b43ac5e6e9ac5.js +1 -0
  408. package/.next-prod/static/chunks/app/api/git/worktree/route-db8b43ac5e6e9ac5.js +1 -0
  409. package/.next-prod/static/chunks/app/api/glm/credentials/route-db8b43ac5e6e9ac5.js +1 -0
  410. package/.next-prod/static/chunks/app/api/glm/models/route-db8b43ac5e6e9ac5.js +1 -0
  411. package/.next-prod/static/chunks/app/api/glm/usage/route-db8b43ac5e6e9ac5.js +1 -0
  412. package/.next-prod/static/chunks/app/api/global-state/route-db8b43ac5e6e9ac5.js +1 -0
  413. package/.next-prod/static/chunks/app/api/health/route-db8b43ac5e6e9ac5.js +1 -0
  414. package/.next-prod/static/chunks/app/api/html-apps/[id]/route-db8b43ac5e6e9ac5.js +1 -0
  415. package/.next-prod/static/chunks/app/api/html-apps/route-db8b43ac5e6e9ac5.js +1 -0
  416. package/.next-prod/static/chunks/app/api/jupyter/load/route-db8b43ac5e6e9ac5.js +1 -0
  417. package/.next-prod/static/chunks/app/api/jupyter/save/route-db8b43ac5e6e9ac5.js +1 -0
  418. package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-db8b43ac5e6e9ac5.js +1 -0
  419. package/.next-prod/static/chunks/app/api/kimi/credentials/route-db8b43ac5e6e9ac5.js +1 -0
  420. package/.next-prod/static/chunks/app/api/kimi/models/route-db8b43ac5e6e9ac5.js +1 -0
  421. package/.next-prod/static/chunks/app/api/kimi/usage/route-db8b43ac5e6e9ac5.js +1 -0
  422. package/.next-prod/static/chunks/app/api/lsp/definition/route-db8b43ac5e6e9ac5.js +1 -0
  423. package/.next-prod/static/chunks/app/api/lsp/hover/route-db8b43ac5e6e9ac5.js +1 -0
  424. package/.next-prod/static/chunks/app/api/lsp/references/route-db8b43ac5e6e9ac5.js +1 -0
  425. package/.next-prod/static/chunks/app/api/lsp/status/route-db8b43ac5e6e9ac5.js +1 -0
  426. package/.next-prod/static/chunks/app/api/lsp/warmup/route-db8b43ac5e6e9ac5.js +1 -0
  427. package/.next-prod/static/chunks/app/api/mysql/columns/route-db8b43ac5e6e9ac5.js +1 -0
  428. package/.next-prod/static/chunks/app/api/mysql/connect/route-db8b43ac5e6e9ac5.js +1 -0
  429. package/.next-prod/static/chunks/app/api/mysql/disconnect/route-db8b43ac5e6e9ac5.js +1 -0
  430. package/.next-prod/static/chunks/app/api/mysql/export/route-db8b43ac5e6e9ac5.js +1 -0
  431. package/.next-prod/static/chunks/app/api/mysql/query/route-db8b43ac5e6e9ac5.js +1 -0
  432. package/.next-prod/static/chunks/app/api/mysql/schemas/route-db8b43ac5e6e9ac5.js +1 -0
  433. package/.next-prod/static/chunks/app/api/neo4j/connect/route-db8b43ac5e6e9ac5.js +1 -0
  434. package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-db8b43ac5e6e9ac5.js +1 -0
  435. package/.next-prod/static/chunks/app/api/neo4j/query/route-db8b43ac5e6e9ac5.js +1 -0
  436. package/.next-prod/static/chunks/app/api/neo4j/schema/route-db8b43ac5e6e9ac5.js +1 -0
  437. package/.next-prod/static/chunks/app/api/note/route-db8b43ac5e6e9ac5.js +1 -0
  438. package/.next-prod/static/chunks/app/api/ollama/config/route-db8b43ac5e6e9ac5.js +1 -0
  439. package/.next-prod/static/chunks/app/api/ollama/models/route-db8b43ac5e6e9ac5.js +1 -0
  440. package/.next-prod/static/chunks/app/api/ollama/start/route-db8b43ac5e6e9ac5.js +1 -0
  441. package/.next-prod/static/chunks/app/api/open-cursor/route-db8b43ac5e6e9ac5.js +1 -0
  442. package/.next-prod/static/chunks/app/api/open-vscode/route-db8b43ac5e6e9ac5.js +1 -0
  443. package/.next-prod/static/chunks/app/api/pick-folder/route-db8b43ac5e6e9ac5.js +1 -0
  444. package/.next-prod/static/chunks/app/api/pinned-sessions/route-db8b43ac5e6e9ac5.js +1 -0
  445. package/.next-prod/static/chunks/app/api/project-settings/route-db8b43ac5e6e9ac5.js +1 -0
  446. package/.next-prod/static/chunks/app/api/project-state/route-db8b43ac5e6e9ac5.js +1 -0
  447. package/.next-prod/static/chunks/app/api/projectGraph/affected/route-db8b43ac5e6e9ac5.js +1 -0
  448. package/.next-prod/static/chunks/app/api/projectGraph/callees/route-db8b43ac5e6e9ac5.js +1 -0
  449. package/.next-prod/static/chunks/app/api/projectGraph/callers/route-db8b43ac5e6e9ac5.js +1 -0
  450. package/.next-prod/static/chunks/app/api/projectGraph/coedit/route-db8b43ac5e6e9ac5.js +1 -0
  451. package/.next-prod/static/chunks/app/api/projectGraph/context/route-db8b43ac5e6e9ac5.js +1 -0
  452. package/.next-prod/static/chunks/app/api/projectGraph/file/route-db8b43ac5e6e9ac5.js +1 -0
  453. package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-db8b43ac5e6e9ac5.js +1 -0
  454. package/.next-prod/static/chunks/app/api/projectGraph/impact/route-db8b43ac5e6e9ac5.js +1 -0
  455. package/.next-prod/static/chunks/app/api/projectGraph/related/route-db8b43ac5e6e9ac5.js +1 -0
  456. package/.next-prod/static/chunks/app/api/projectGraph/risk/route-db8b43ac5e6e9ac5.js +1 -0
  457. package/.next-prod/static/chunks/app/api/projectGraph/search/route-db8b43ac5e6e9ac5.js +1 -0
  458. package/.next-prod/static/chunks/app/api/projects/route-db8b43ac5e6e9ac5.js +1 -0
  459. package/.next-prod/static/chunks/app/api/prompts/config/route-db8b43ac5e6e9ac5.js +1 -0
  460. package/.next-prod/static/chunks/app/api/push/public-key/route-db8b43ac5e6e9ac5.js +1 -0
  461. package/.next-prod/static/chunks/app/api/push/subscribe/route-db8b43ac5e6e9ac5.js +1 -0
  462. package/.next-prod/static/chunks/app/api/push/unsubscribe/route-db8b43ac5e6e9ac5.js +1 -0
  463. package/.next-prod/static/chunks/app/api/redis/command/route-db8b43ac5e6e9ac5.js +1 -0
  464. package/.next-prod/static/chunks/app/api/redis/connect/route-db8b43ac5e6e9ac5.js +1 -0
  465. package/.next-prod/static/chunks/app/api/redis/delete/route-db8b43ac5e6e9ac5.js +1 -0
  466. package/.next-prod/static/chunks/app/api/redis/disconnect/route-db8b43ac5e6e9ac5.js +1 -0
  467. package/.next-prod/static/chunks/app/api/redis/get/route-db8b43ac5e6e9ac5.js +1 -0
  468. package/.next-prod/static/chunks/app/api/redis/keys/route-db8b43ac5e6e9ac5.js +1 -0
  469. package/.next-prod/static/chunks/app/api/redis/set/route-db8b43ac5e6e9ac5.js +1 -0
  470. package/.next-prod/static/chunks/app/api/restart/route-db8b43ac5e6e9ac5.js +1 -0
  471. package/.next-prod/static/chunks/app/api/review/[id]/comments/route-db8b43ac5e6e9ac5.js +1 -0
  472. package/.next-prod/static/chunks/app/api/review/[id]/replies/route-db8b43ac5e6e9ac5.js +1 -0
  473. package/.next-prod/static/chunks/app/api/review/[id]/route-db8b43ac5e6e9ac5.js +1 -0
  474. package/.next-prod/static/chunks/app/api/review/identify/route-db8b43ac5e6e9ac5.js +1 -0
  475. package/.next-prod/static/chunks/app/api/review/order/route-db8b43ac5e6e9ac5.js +1 -0
  476. package/.next-prod/static/chunks/app/api/review/route-db8b43ac5e6e9ac5.js +1 -0
  477. package/.next-prod/static/chunks/app/api/review/share-info/route-db8b43ac5e6e9ac5.js +1 -0
  478. package/.next-prod/static/chunks/app/api/review/users/route-db8b43ac5e6e9ac5.js +1 -0
  479. package/.next-prod/static/chunks/app/api/scheduled-tasks/route-db8b43ac5e6e9ac5.js +1 -0
  480. package/.next-prod/static/chunks/app/api/services/config/route-db8b43ac5e6e9ac5.js +1 -0
  481. package/.next-prod/static/chunks/app/api/services/scripts/route-db8b43ac5e6e9ac5.js +1 -0
  482. package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-db8b43ac5e6e9ac5.js +1 -0
  483. package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-db8b43ac5e6e9ac5.js +1 -0
  484. package/.next-prod/static/chunks/app/api/session-by-path/route-db8b43ac5e6e9ac5.js +1 -0
  485. package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-db8b43ac5e6e9ac5.js +1 -0
  486. package/.next-prod/static/chunks/app/api/sessions/projects/route-db8b43ac5e6e9ac5.js +1 -0
  487. package/.next-prod/static/chunks/app/api/sessions/route-db8b43ac5e6e9ac5.js +1 -0
  488. package/.next-prod/static/chunks/app/api/settings/route-db8b43ac5e6e9ac5.js +1 -0
  489. package/.next-prod/static/chunks/app/api/shutdown/route-db8b43ac5e6e9ac5.js +1 -0
  490. package/.next-prod/static/chunks/app/api/skills/[id]/route-db8b43ac5e6e9ac5.js +1 -0
  491. package/.next-prod/static/chunks/app/api/skills/content/route-db8b43ac5e6e9ac5.js +1 -0
  492. package/.next-prod/static/chunks/app/api/skills/route-db8b43ac5e6e9ac5.js +1 -0
  493. package/.next-prod/static/chunks/app/api/snapshots/blob/route-db8b43ac5e6e9ac5.js +1 -0
  494. package/.next-prod/static/chunks/app/api/snapshots/diff/route-db8b43ac5e6e9ac5.js +1 -0
  495. package/.next-prod/static/chunks/app/api/snapshots/route-db8b43ac5e6e9ac5.js +1 -0
  496. package/.next-prod/static/chunks/app/api/terminal/aliases/route-db8b43ac5e6e9ac5.js +1 -0
  497. package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-db8b43ac5e6e9ac5.js +1 -0
  498. package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-db8b43ac5e6e9ac5.js +1 -0
  499. package/.next-prod/static/chunks/app/api/terminal/env/route-db8b43ac5e6e9ac5.js +1 -0
  500. package/.next-prod/static/chunks/app/api/terminal/history/route-db8b43ac5e6e9ac5.js +1 -0
  501. package/.next-prod/static/chunks/app/api/update/route-db8b43ac5e6e9ac5.js +1 -0
  502. package/.next-prod/static/chunks/app/api/update-state/route-db8b43ac5e6e9ac5.js +1 -0
  503. package/.next-prod/static/chunks/app/api/version/route-db8b43ac5e6e9ac5.js +1 -0
  504. package/.next-prod/static/chunks/app/apps/[...path]/route-db8b43ac5e6e9ac5.js +1 -0
  505. package/.next-prod/static/chunks/app/{layout-60f41d682cd860e9.js → layout-9585d7901d2a6c15.js} +1 -1
  506. package/.next-prod/static/chunks/app/m/{page-7eabf179a8b13f49.js → page-69cf611ceae66f33.js} +1 -1
  507. package/.next-prod/static/chunks/app/manifest.webmanifest/route-db8b43ac5e6e9ac5.js +1 -0
  508. package/.next-prod/static/chunks/app/page-340e8a5ca67a0dad.js +1 -0
  509. package/.next-prod/static/chunks/app/project/page-340e8a5ca67a0dad.js +1 -0
  510. package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-db8b43ac5e6e9ac5.js +1 -0
  511. package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-db8b43ac5e6e9ac5.js +1 -0
  512. package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-db8b43ac5e6e9ac5.js +1 -0
  513. package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-db8b43ac5e6e9ac5.js +1 -0
  514. package/.next-prod/static/css/303e8ac791ff3d31.css +1 -0
  515. package/.next-prod/trace +15 -14
  516. package/.next-prod/trace-build +1 -1
  517. package/.next-prod/types/app/api/snapshots/blob/route.ts +353 -0
  518. package/.next-prod/types/routes.d.ts +2 -1
  519. package/.next-prod/types/validator.ts +9 -0
  520. package/bin/cock-service.mjs +10 -8
  521. package/bin/cock.mjs +8 -6
  522. package/bin/postinstall.mjs +9 -8
  523. package/bin/updater.mjs +64 -26
  524. package/dist/{chunk-FBAFMLUC.mjs → chunk-6EMR3NZV.mjs} +9 -5
  525. package/dist/{chunk-ZE2JXL6E.mjs → chunk-ETYX2YQF.mjs} +141 -59
  526. package/dist/{chunk-H6AI4XJC.mjs → chunk-SGUW2QJI.mjs} +1 -1
  527. package/dist/httpApi.mjs +2 -2
  528. package/dist/scheduledTasks.mjs +187 -37
  529. package/dist/{server-HRP33LCV.mjs → server-C6LPAKPM.mjs} +2 -2
  530. package/dist/wsServer.mjs +8 -4
  531. package/package.json +6 -5
  532. package/public/html-lib/json-viewer.js +12 -12
  533. package/scripts/agentBinaries.mjs +86 -0
  534. package/.next-prod/server/chunks/9281.js +0 -1
  535. package/.next-prod/static/YOIsQRqVhYPuRyXlhwhoY/_buildManifest.js +0 -1
  536. package/.next-prod/static/chunks/33940-9631b513c48757f4.js +0 -35
  537. package/.next-prod/static/chunks/46784-031e2d50dc5f9fba.js +0 -716
  538. package/.next-prod/static/chunks/72353-f1aaa693ddc49568.js +0 -15
  539. package/.next-prod/static/chunks/app/api/chat/deepseek/route-c1a2c7e62ce669f7.js +0 -1
  540. package/.next-prod/static/chunks/app/api/chat/glm/route-c1a2c7e62ce669f7.js +0 -1
  541. package/.next-prod/static/chunks/app/api/chat/kimi/route-c1a2c7e62ce669f7.js +0 -1
  542. package/.next-prod/static/chunks/app/api/chat/ollama/route-c1a2c7e62ce669f7.js +0 -1
  543. package/.next-prod/static/chunks/app/api/chat/route-c1a2c7e62ce669f7.js +0 -1
  544. package/.next-prod/static/chunks/app/api/chat/stop/route-c1a2c7e62ce669f7.js +0 -1
  545. package/.next-prod/static/chunks/app/api/claude-stats/route-c1a2c7e62ce669f7.js +0 -1
  546. package/.next-prod/static/chunks/app/api/commands/route-c1a2c7e62ce669f7.js +0 -1
  547. package/.next-prod/static/chunks/app/api/comments/route-c1a2c7e62ce669f7.js +0 -1
  548. package/.next-prod/static/chunks/app/api/db/columns/route-c1a2c7e62ce669f7.js +0 -1
  549. package/.next-prod/static/chunks/app/api/db/connect/route-c1a2c7e62ce669f7.js +0 -1
  550. package/.next-prod/static/chunks/app/api/db/disconnect/route-c1a2c7e62ce669f7.js +0 -1
  551. package/.next-prod/static/chunks/app/api/db/export/route-c1a2c7e62ce669f7.js +0 -1
  552. package/.next-prod/static/chunks/app/api/db/query/route-c1a2c7e62ce669f7.js +0 -1
  553. package/.next-prod/static/chunks/app/api/db/schemas/route-c1a2c7e62ce669f7.js +0 -1
  554. package/.next-prod/static/chunks/app/api/deepseek/balance/route-c1a2c7e62ce669f7.js +0 -1
  555. package/.next-prod/static/chunks/app/api/deepseek/credentials/route-c1a2c7e62ce669f7.js +0 -1
  556. package/.next-prod/static/chunks/app/api/deepseek/models/route-c1a2c7e62ce669f7.js +0 -1
  557. package/.next-prod/static/chunks/app/api/dev/spans/route-c1a2c7e62ce669f7.js +0 -1
  558. package/.next-prod/static/chunks/app/api/extension/version/route-c1a2c7e62ce669f7.js +0 -1
  559. package/.next-prod/static/chunks/app/api/file/route-c1a2c7e62ce669f7.js +0 -1
  560. package/.next-prod/static/chunks/app/api/files/blame/route-c1a2c7e62ce669f7.js +0 -1
  561. package/.next-prod/static/chunks/app/api/files/clipboard/route-c1a2c7e62ce669f7.js +0 -1
  562. package/.next-prod/static/chunks/app/api/files/copy/route-c1a2c7e62ce669f7.js +0 -1
  563. package/.next-prod/static/chunks/app/api/files/delete/route-c1a2c7e62ce669f7.js +0 -1
  564. package/.next-prod/static/chunks/app/api/files/expanded/route-c1a2c7e62ce669f7.js +0 -1
  565. package/.next-prod/static/chunks/app/api/files/index/route-c1a2c7e62ce669f7.js +0 -1
  566. package/.next-prod/static/chunks/app/api/files/init/route-c1a2c7e62ce669f7.js +0 -1
  567. package/.next-prod/static/chunks/app/api/files/paste/route-c1a2c7e62ce669f7.js +0 -1
  568. package/.next-prod/static/chunks/app/api/files/read/route-c1a2c7e62ce669f7.js +0 -1
  569. package/.next-prod/static/chunks/app/api/files/readdir/route-c1a2c7e62ce669f7.js +0 -1
  570. package/.next-prod/static/chunks/app/api/files/recent/route-c1a2c7e62ce669f7.js +0 -1
  571. package/.next-prod/static/chunks/app/api/files/save/route-c1a2c7e62ce669f7.js +0 -1
  572. package/.next-prod/static/chunks/app/api/files/search/route-c1a2c7e62ce669f7.js +0 -1
  573. package/.next-prod/static/chunks/app/api/files/stat/route-c1a2c7e62ce669f7.js +0 -1
  574. package/.next-prod/static/chunks/app/api/files/text/route-c1a2c7e62ce669f7.js +0 -1
  575. package/.next-prod/static/chunks/app/api/git/blob/route-c1a2c7e62ce669f7.js +0 -1
  576. package/.next-prod/static/chunks/app/api/git/branch-diff/route-c1a2c7e62ce669f7.js +0 -1
  577. package/.next-prod/static/chunks/app/api/git/branches/route-c1a2c7e62ce669f7.js +0 -1
  578. package/.next-prod/static/chunks/app/api/git/commit-diff/route-c1a2c7e62ce669f7.js +0 -1
  579. package/.next-prod/static/chunks/app/api/git/commits/route-c1a2c7e62ce669f7.js +0 -1
  580. package/.next-prod/static/chunks/app/api/git/current-branch/route-c1a2c7e62ce669f7.js +0 -1
  581. package/.next-prod/static/chunks/app/api/git/diff/route-c1a2c7e62ce669f7.js +0 -1
  582. package/.next-prod/static/chunks/app/api/git/discard/route-c1a2c7e62ce669f7.js +0 -1
  583. package/.next-prod/static/chunks/app/api/git/stage/route-c1a2c7e62ce669f7.js +0 -1
  584. package/.next-prod/static/chunks/app/api/git/status/route-c1a2c7e62ce669f7.js +0 -1
  585. package/.next-prod/static/chunks/app/api/git/unstage/route-c1a2c7e62ce669f7.js +0 -1
  586. package/.next-prod/static/chunks/app/api/git/worktree/route-c1a2c7e62ce669f7.js +0 -1
  587. package/.next-prod/static/chunks/app/api/glm/credentials/route-c1a2c7e62ce669f7.js +0 -1
  588. package/.next-prod/static/chunks/app/api/glm/models/route-c1a2c7e62ce669f7.js +0 -1
  589. package/.next-prod/static/chunks/app/api/glm/usage/route-c1a2c7e62ce669f7.js +0 -1
  590. package/.next-prod/static/chunks/app/api/global-state/route-c1a2c7e62ce669f7.js +0 -1
  591. package/.next-prod/static/chunks/app/api/health/route-c1a2c7e62ce669f7.js +0 -1
  592. package/.next-prod/static/chunks/app/api/html-apps/[id]/route-c1a2c7e62ce669f7.js +0 -1
  593. package/.next-prod/static/chunks/app/api/html-apps/route-c1a2c7e62ce669f7.js +0 -1
  594. package/.next-prod/static/chunks/app/api/jupyter/load/route-c1a2c7e62ce669f7.js +0 -1
  595. package/.next-prod/static/chunks/app/api/jupyter/save/route-c1a2c7e62ce669f7.js +0 -1
  596. package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-c1a2c7e62ce669f7.js +0 -1
  597. package/.next-prod/static/chunks/app/api/kimi/credentials/route-c1a2c7e62ce669f7.js +0 -1
  598. package/.next-prod/static/chunks/app/api/kimi/models/route-c1a2c7e62ce669f7.js +0 -1
  599. package/.next-prod/static/chunks/app/api/kimi/usage/route-c1a2c7e62ce669f7.js +0 -1
  600. package/.next-prod/static/chunks/app/api/lsp/definition/route-c1a2c7e62ce669f7.js +0 -1
  601. package/.next-prod/static/chunks/app/api/lsp/hover/route-c1a2c7e62ce669f7.js +0 -1
  602. package/.next-prod/static/chunks/app/api/lsp/references/route-c1a2c7e62ce669f7.js +0 -1
  603. package/.next-prod/static/chunks/app/api/lsp/status/route-c1a2c7e62ce669f7.js +0 -1
  604. package/.next-prod/static/chunks/app/api/lsp/warmup/route-c1a2c7e62ce669f7.js +0 -1
  605. package/.next-prod/static/chunks/app/api/mysql/columns/route-c1a2c7e62ce669f7.js +0 -1
  606. package/.next-prod/static/chunks/app/api/mysql/connect/route-c1a2c7e62ce669f7.js +0 -1
  607. package/.next-prod/static/chunks/app/api/mysql/disconnect/route-c1a2c7e62ce669f7.js +0 -1
  608. package/.next-prod/static/chunks/app/api/mysql/export/route-c1a2c7e62ce669f7.js +0 -1
  609. package/.next-prod/static/chunks/app/api/mysql/query/route-c1a2c7e62ce669f7.js +0 -1
  610. package/.next-prod/static/chunks/app/api/mysql/schemas/route-c1a2c7e62ce669f7.js +0 -1
  611. package/.next-prod/static/chunks/app/api/neo4j/connect/route-c1a2c7e62ce669f7.js +0 -1
  612. package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-c1a2c7e62ce669f7.js +0 -1
  613. package/.next-prod/static/chunks/app/api/neo4j/query/route-c1a2c7e62ce669f7.js +0 -1
  614. package/.next-prod/static/chunks/app/api/neo4j/schema/route-c1a2c7e62ce669f7.js +0 -1
  615. package/.next-prod/static/chunks/app/api/note/route-c1a2c7e62ce669f7.js +0 -1
  616. package/.next-prod/static/chunks/app/api/ollama/config/route-c1a2c7e62ce669f7.js +0 -1
  617. package/.next-prod/static/chunks/app/api/ollama/models/route-c1a2c7e62ce669f7.js +0 -1
  618. package/.next-prod/static/chunks/app/api/ollama/start/route-c1a2c7e62ce669f7.js +0 -1
  619. package/.next-prod/static/chunks/app/api/open-cursor/route-c1a2c7e62ce669f7.js +0 -1
  620. package/.next-prod/static/chunks/app/api/open-vscode/route-c1a2c7e62ce669f7.js +0 -1
  621. package/.next-prod/static/chunks/app/api/pick-folder/route-c1a2c7e62ce669f7.js +0 -1
  622. package/.next-prod/static/chunks/app/api/pinned-sessions/route-c1a2c7e62ce669f7.js +0 -1
  623. package/.next-prod/static/chunks/app/api/project-settings/route-c1a2c7e62ce669f7.js +0 -1
  624. package/.next-prod/static/chunks/app/api/project-state/route-c1a2c7e62ce669f7.js +0 -1
  625. package/.next-prod/static/chunks/app/api/projectGraph/affected/route-c1a2c7e62ce669f7.js +0 -1
  626. package/.next-prod/static/chunks/app/api/projectGraph/callees/route-c1a2c7e62ce669f7.js +0 -1
  627. package/.next-prod/static/chunks/app/api/projectGraph/callers/route-c1a2c7e62ce669f7.js +0 -1
  628. package/.next-prod/static/chunks/app/api/projectGraph/coedit/route-c1a2c7e62ce669f7.js +0 -1
  629. package/.next-prod/static/chunks/app/api/projectGraph/context/route-c1a2c7e62ce669f7.js +0 -1
  630. package/.next-prod/static/chunks/app/api/projectGraph/file/route-c1a2c7e62ce669f7.js +0 -1
  631. package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-c1a2c7e62ce669f7.js +0 -1
  632. package/.next-prod/static/chunks/app/api/projectGraph/impact/route-c1a2c7e62ce669f7.js +0 -1
  633. package/.next-prod/static/chunks/app/api/projectGraph/related/route-c1a2c7e62ce669f7.js +0 -1
  634. package/.next-prod/static/chunks/app/api/projectGraph/risk/route-c1a2c7e62ce669f7.js +0 -1
  635. package/.next-prod/static/chunks/app/api/projectGraph/search/route-c1a2c7e62ce669f7.js +0 -1
  636. package/.next-prod/static/chunks/app/api/projects/route-c1a2c7e62ce669f7.js +0 -1
  637. package/.next-prod/static/chunks/app/api/prompts/config/route-c1a2c7e62ce669f7.js +0 -1
  638. package/.next-prod/static/chunks/app/api/push/public-key/route-c1a2c7e62ce669f7.js +0 -1
  639. package/.next-prod/static/chunks/app/api/push/subscribe/route-c1a2c7e62ce669f7.js +0 -1
  640. package/.next-prod/static/chunks/app/api/push/unsubscribe/route-c1a2c7e62ce669f7.js +0 -1
  641. package/.next-prod/static/chunks/app/api/redis/command/route-c1a2c7e62ce669f7.js +0 -1
  642. package/.next-prod/static/chunks/app/api/redis/connect/route-c1a2c7e62ce669f7.js +0 -1
  643. package/.next-prod/static/chunks/app/api/redis/delete/route-c1a2c7e62ce669f7.js +0 -1
  644. package/.next-prod/static/chunks/app/api/redis/disconnect/route-c1a2c7e62ce669f7.js +0 -1
  645. package/.next-prod/static/chunks/app/api/redis/get/route-c1a2c7e62ce669f7.js +0 -1
  646. package/.next-prod/static/chunks/app/api/redis/keys/route-c1a2c7e62ce669f7.js +0 -1
  647. package/.next-prod/static/chunks/app/api/redis/set/route-c1a2c7e62ce669f7.js +0 -1
  648. package/.next-prod/static/chunks/app/api/restart/route-c1a2c7e62ce669f7.js +0 -1
  649. package/.next-prod/static/chunks/app/api/review/[id]/comments/route-c1a2c7e62ce669f7.js +0 -1
  650. package/.next-prod/static/chunks/app/api/review/[id]/replies/route-c1a2c7e62ce669f7.js +0 -1
  651. package/.next-prod/static/chunks/app/api/review/[id]/route-c1a2c7e62ce669f7.js +0 -1
  652. package/.next-prod/static/chunks/app/api/review/identify/route-c1a2c7e62ce669f7.js +0 -1
  653. package/.next-prod/static/chunks/app/api/review/order/route-c1a2c7e62ce669f7.js +0 -1
  654. package/.next-prod/static/chunks/app/api/review/route-c1a2c7e62ce669f7.js +0 -1
  655. package/.next-prod/static/chunks/app/api/review/share-info/route-c1a2c7e62ce669f7.js +0 -1
  656. package/.next-prod/static/chunks/app/api/review/users/route-c1a2c7e62ce669f7.js +0 -1
  657. package/.next-prod/static/chunks/app/api/scheduled-tasks/route-c1a2c7e62ce669f7.js +0 -1
  658. package/.next-prod/static/chunks/app/api/services/config/route-c1a2c7e62ce669f7.js +0 -1
  659. package/.next-prod/static/chunks/app/api/services/scripts/route-c1a2c7e62ce669f7.js +0 -1
  660. package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-c1a2c7e62ce669f7.js +0 -1
  661. package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-c1a2c7e62ce669f7.js +0 -1
  662. package/.next-prod/static/chunks/app/api/session-by-path/route-c1a2c7e62ce669f7.js +0 -1
  663. package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-c1a2c7e62ce669f7.js +0 -1
  664. package/.next-prod/static/chunks/app/api/sessions/projects/route-c1a2c7e62ce669f7.js +0 -1
  665. package/.next-prod/static/chunks/app/api/sessions/route-c1a2c7e62ce669f7.js +0 -1
  666. package/.next-prod/static/chunks/app/api/settings/route-c1a2c7e62ce669f7.js +0 -1
  667. package/.next-prod/static/chunks/app/api/shutdown/route-c1a2c7e62ce669f7.js +0 -1
  668. package/.next-prod/static/chunks/app/api/skills/[id]/route-c1a2c7e62ce669f7.js +0 -1
  669. package/.next-prod/static/chunks/app/api/skills/content/route-c1a2c7e62ce669f7.js +0 -1
  670. package/.next-prod/static/chunks/app/api/skills/route-c1a2c7e62ce669f7.js +0 -1
  671. package/.next-prod/static/chunks/app/api/snapshots/diff/route-c1a2c7e62ce669f7.js +0 -1
  672. package/.next-prod/static/chunks/app/api/snapshots/route-c1a2c7e62ce669f7.js +0 -1
  673. package/.next-prod/static/chunks/app/api/terminal/aliases/route-c1a2c7e62ce669f7.js +0 -1
  674. package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-c1a2c7e62ce669f7.js +0 -1
  675. package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-c1a2c7e62ce669f7.js +0 -1
  676. package/.next-prod/static/chunks/app/api/terminal/env/route-c1a2c7e62ce669f7.js +0 -1
  677. package/.next-prod/static/chunks/app/api/terminal/history/route-c1a2c7e62ce669f7.js +0 -1
  678. package/.next-prod/static/chunks/app/api/update/route-c1a2c7e62ce669f7.js +0 -1
  679. package/.next-prod/static/chunks/app/api/update-state/route-c1a2c7e62ce669f7.js +0 -1
  680. package/.next-prod/static/chunks/app/api/version/route-c1a2c7e62ce669f7.js +0 -1
  681. package/.next-prod/static/chunks/app/apps/[...path]/route-c1a2c7e62ce669f7.js +0 -1
  682. package/.next-prod/static/chunks/app/manifest.webmanifest/route-c1a2c7e62ce669f7.js +0 -1
  683. package/.next-prod/static/chunks/app/page-e83cd7365efbf878.js +0 -1
  684. package/.next-prod/static/chunks/app/project/page-e83cd7365efbf878.js +0 -1
  685. package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-c1a2c7e62ce669f7.js +0 -1
  686. package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-c1a2c7e62ce669f7.js +0 -1
  687. package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-c1a2c7e62ce669f7.js +0 -1
  688. package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-c1a2c7e62ce669f7.js +0 -1
  689. package/.next-prod/static/css/45835d91c2519c62.css +0 -1
  690. package/scripts/claudeBinary.mjs +0 -38
  691. /package/.next-prod/static/{YOIsQRqVhYPuRyXlhwhoY → MM6vZhLQFwtUo_vz7BSfe}/_ssgManifest.js +0 -0
@@ -1,2 +1,2 @@
1
1
  "use strict";exports.id=816,exports.ids=[816],exports.modules={30816:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{m:()=>p});var e=c(95169),f=c(7939),g=c(79830),h=c(46122),i=c(65699),j=a([h]);h=(j.then?(await j)():j)[0];let l=new Set(["Write","Edit","MultiEdit","NotebookEdit"]),m=new Set(["low","medium","high","xhigh","max"]),n=new Set(["claude-fable-5","claude-opus-5","claude-opus-4-8"]),o=new Set(["claude-fable-5","claude-opus-5","claude-opus-4-8","claude-sonnet-5"]);function k(a,b){let c,d,{permissionMode:f}=a.params,g="plan"===f,h=function(a){let b="string"==typeof a.params.model&&a.params.model.trim()?a.params.model.trim():void 0;if(b)return"1m"===a.params.claudeContextWindow?`${b}[1m]`:b}(a),i=function(a){let b="string"==typeof a.params.model?a.params.model.trim():"";if("claude-haiku-4-5"===b)return;let c="string"==typeof a.params.claudeEffort?a.params.claudeEffort:void 0;if(c&&"ultrathink"!==c)return"ultracode"===c?"xhigh":"xhigh"!==c||o.has(b)?"max"===c&&"claude-sonnet-4-6"===b?"high":m.has(c)?c:void 0:"max"}(a),j=(c={},d="string"==typeof a.params.model?a.params.model.trim():"",!0===a.params.claudeFastMode&&(c.fastMode=!0),void 0!==a.params.claudeThinking&&(c.alwaysThinkingEnabled=a.params.claudeThinking),"ultracode"===a.params.claudeEffort&&n.has(d)&&(c.ultracode=!0),Object.keys(c).length>0?c:void 0);return(c,d,f)=>({...b&&!f?{sessionId:d}:d&&{resume:d},...a.cwd&&{cwd:a.cwd},...h?{model:h}:{},...i?{effort:i}:{},...j?{settings:j}:{},settingSources:["user","project","local"],permissionMode:g?"plan":"bypassPermissions",...!g&&{allowDangerouslySkipPermissions:!0},...g&&{canUseTool:async(a,b,c)=>(function(a,b,c){if("ExitPlanMode"===a)return{behavior:"deny",message:"Plan presented to the user. There is no approval dialog to click in this environment — the user approves by turning off Plan mode (via the plan card button) and resending, which then executes. Do not ask the user to confirm in a popup; stop here.",interrupt:!0};if(l.has(a)){let d=[b.file_path,b.notebook_path,b.path,c?.blockedPath].find(a=>"string"==typeof a);return d&&/(^|\/)\.claude\/plans\//.test(d)?{behavior:"allow",updatedInput:b}:{behavior:"deny",message:`Plan mode is read-only and this environment has no approval dialog, so "${a}"${d?` on ${d}`:""} can't run. Only writes under .claude/plans/ are allowed. Capture the intended changes in your plan instead of editing files now.`}}return{behavior:"allow",updatedInput:b}})(a,b,c)},includePartialMessages:!0,abortController:c,env:(0,e.u)({})})}let p={name:"claude",runner:{async run(a){let b=function(a){if("ultrathink"!==a.params.claudeEffort)return a;let b=a.prompt??"";return/\bultrathink\b/i.test(b)?a:{...a,prompt:`Ultrathink:
2
- ${b}`}}(a);if(!(!0===b.params.noHistory&&b.sessionId))return void await (0,h.M)(b,k(b,!1));let c=(0,f.Kk)(b.cwd,b.sessionId),d=(0,i.Kk)(c);try{await (0,h.M)(b,k(b,!0))}finally{d&&(0,i.v8)(c)}},resolveTitle:(a,b)=>(0,g.Pn)(a,b)}};d()}catch(a){d(a)}})},46122:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{M:()=>g});var e=c(19879),f=a([e]);async function g(a,b){let c=!!(a.images&&a.images.length>0),d=[];if(a.images)for(let b of a.images)d.push({type:"image",source:{type:"base64",media_type:b.media_type,data:b.data}});a.prompt&&d.push({type:"text",text:a.prompt});let f=c?d:a.prompt??"",g=new Set,h=()=>{};a.signal.aborted||a.signal.addEventListener("abort",()=>h(),{once:!0});for(let c=0;c<=1;c++){let d=!1,i=new Promise(a=>{h=()=>{d||(d=!0,a())}});a.signal.aborted&&h();let j=c>0,k={type:"user",message:{role:"user",content:j?"continue":f},parent_tool_use_id:null,session_id:a.sessionId||`session-${a.currentKey()}`},l=async function*(){yield k,await i}(),m=function(a){let b=new AbortController;return a.signal.aborted?b.abort():a.signal.addEventListener("abort",()=>b.abort(),{once:!0}),b}(a),n=j?a.currentKey():a.sessionId,o=j?{...b(m,n,!0),resume:n}:b(m,a.sessionId,!1),p=(0,e.query)({prompt:l,options:o}),q=!1;for await(let b of p){if(a.signal.aborted){h();break}"system"===b.type&&"init"===b.subtype&&b.session_id&&a.rekey(b.session_id),"system"===b.type&&"task_started"===b.subtype&&b.task_id&&g.add(b.task_id),"system"===b.type&&"task_notification"===b.subtype&&b.task_id&&g.delete(b.task_id),"result"===b.type&&(q=!0),a.emit(b),"result"===b.type&&0===g.size&&h()}if(h(),q||a.signal.aborted)break}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},65699:(a,b,c)=>{c.d(b,{Kk:()=>h,v8:()=>i});var d=c(29021),e=c(33873);function f(a){return(0,e.join)(a.replace(/\.jsonl$/,""),"nohistory-backup.jsonl")}function g(a){return d.readFileSync(a,"utf-8").split("\n").filter(a=>a.trim().length>0)}function h(a){if(!d.existsSync(a))return!1;let b=f(a);return d.existsSync(b)&&i(a),d.mkdirSync((0,e.join)(b,".."),{recursive:!0}),d.renameSync(a,b),!0}function i(a){let b=f(a);if(!d.existsSync(b))return"none";let c=g(b),h=d.existsSync(a)?g(a):[];if(0===h.length||!function(a){for(let b of a)try{JSON.parse(b)}catch{return!1}return!0}(h)){var i,j;return i=b,j=a,d.existsSync(j)&&d.unlinkSync(j),d.renameSync(i,j),"restored"}let k=(0,e.basename)(a).replace(/\.jsonl$/,""),l=function(a){for(let b=a.length-1;b>=0;b--)try{let c=JSON.parse(a[b]);if("string"==typeof c.uuid)return c.uuid}catch{}return null}(c),m=[...c,...h.map(a=>(function(a,b,c){try{let d=JSON.parse(a);return b&&"parentUuid"in d&&null===d.parentUuid&&(d.parentUuid=b),"string"==typeof d.sessionId&&(d.sessionId=c),JSON.stringify(d)}catch{return a}})(a,l,k))];return d.writeFileSync(a,m.join("\n")+"\n","utf-8"),d.unlinkSync(b),"merged"}}};
2
+ ${b}`}}(a);if(!(!0===b.params.noHistory&&b.sessionId))return void await (0,h.M)(b,k(b,!1));let c=(0,f.Kk)(b.cwd,b.sessionId),d=(0,i.Kk)(c);try{await (0,h.M)(b,k(b,!0))}finally{d&&(0,i.v8)(c)}},resolveTitle:(a,b)=>(0,g.Pn)(a,b)}};d()}catch(a){d(a)}})},46122:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{M:()=>g});var e=c(19879),f=a([e]);async function g(a,b){let c=!!(a.images&&a.images.length>0),d=[];if(a.images)for(let b of a.images)d.push({type:"image",source:{type:"base64",media_type:b.media_type,data:b.data}});a.prompt&&d.push({type:"text",text:a.prompt});let f=c?d:a.prompt??"",g=new Set,h=()=>{};a.signal.aborted||a.signal.addEventListener("abort",()=>h(),{once:!0});for(let c=0;c<=1;c++){let d=!1,i=new Promise(a=>{h=()=>{d||(d=!0,a())}});a.signal.aborted&&h();let j=c>0,k={type:"user",message:{role:"user",content:j?"continue":f},parent_tool_use_id:null,session_id:a.sessionId||`session-${a.currentKey()}`},l=async function*(){yield k,await i}(),m=function(a){let b=new AbortController;return a.signal.aborted?b.abort():a.signal.addEventListener("abort",()=>b.abort(),{once:!0}),b}(a),n=j?a.currentKey():a.sessionId,o={...j?{...b(m,n,!0),resume:n}:b(m,a.sessionId,!1),stderr:function(){let a=0;return b=>{if(a>1e4)return;a+=b.length;let c=b.trimEnd();c&&console.error(`[claude:stderr] ${c}`),a>1e4&&console.error("[claude:stderr] … further output suppressed")}}()},p=(0,e.query)({prompt:l,options:o}),q=!1;for await(let b of p){if(a.signal.aborted){h();break}"system"===b.type&&"init"===b.subtype&&b.session_id&&a.rekey(b.session_id),"system"===b.type&&"task_started"===b.subtype&&b.task_id&&g.add(b.task_id),"system"===b.type&&"task_notification"===b.subtype&&b.task_id&&g.delete(b.task_id),"result"===b.type&&(q=!0),a.emit(b),"result"===b.type&&0===g.size&&h()}if(h(),q||a.signal.aborted)break}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},65699:(a,b,c)=>{c.d(b,{Kk:()=>h,v8:()=>i});var d=c(29021),e=c(33873);function f(a){return(0,e.join)(a.replace(/\.jsonl$/,""),"nohistory-backup.jsonl")}function g(a){return d.readFileSync(a,"utf-8").split("\n").filter(a=>a.trim().length>0)}function h(a){if(!d.existsSync(a))return!1;let b=f(a);return d.existsSync(b)&&i(a),d.mkdirSync((0,e.join)(b,".."),{recursive:!0}),d.renameSync(a,b),!0}function i(a){let b=f(a);if(!d.existsSync(b))return"none";let c=g(b),h=d.existsSync(a)?g(a):[];if(0===h.length||!function(a){for(let b of a)try{JSON.parse(b)}catch{return!1}return!0}(h)){var i,j;return i=b,j=a,d.existsSync(j)&&d.unlinkSync(j),d.renameSync(i,j),"restored"}let k=(0,e.basename)(a).replace(/\.jsonl$/,""),l=function(a){for(let b=a.length-1;b>=0;b--)try{let c=JSON.parse(a[b]);if("string"==typeof c.uuid)return c.uuid}catch{}return null}(c),m=[...c,...h.map(a=>(function(a,b,c){try{let d=JSON.parse(a);return b&&"parentUuid"in d&&null===d.parentUuid&&(d.parentUuid=b),"string"==typeof d.sessionId&&(d.sessionId=c),JSON.stringify(d)}catch{return a}})(a,l,k))];return d.writeFileSync(a,m.join("\n")+"\n","utf-8"),d.unlinkSync(b),"merged"}}};
@@ -1 +1 @@
1
- "use strict";exports.id=9312,exports.ids=[9312],exports.modules={19312:(a,b,c)=>{c.d(b,{Codex:()=>w});var d=c(29021),e=c(21820),f=c(33873),g=c(79646),h=c(4984),i=c(8086);async function j(a){var b;if(void 0===a)return{cleanup:async()=>{}};if(!("object"==typeof(b=a)&&null!==b&&!Array.isArray(b)))throw Error("outputSchema must be a plain JSON object");let c=await d.promises.mkdtemp(f.join(e.tmpdir(),"codex-output-schema-")),g=f.join(c,"schema.json"),h=async()=>{try{await d.promises.rm(c,{recursive:!0,force:!0})}catch{}};try{return await d.promises.writeFile(g,JSON.stringify(a),"utf8"),{schemaPath:g,cleanup:h}}catch(a){throw await h(),a}}var k=class{_exec;_options;_id;_threadOptions;get id(){return this._id}constructor(a,b,c,d=null){this._exec=a,this._options=b,this._id=d,this._threadOptions=c}async runStreamed(a,b={}){return{events:this.runStreamedInternal(a,b)}}async *runStreamedInternal(a,b={}){let{schemaPath:c,cleanup:d}=await j(b.outputSchema),e=this._threadOptions,{prompt:f,images:g}=function(a){if("string"==typeof a)return{prompt:a,images:[]};let b=[],c=[];for(let d of a)"text"===d.type?b.push(d.text):"local_image"===d.type&&c.push(d.path);return{prompt:b.join("\n\n"),images:c}}(a),h=this._exec.run({input:f,baseUrl:this._options.baseUrl,apiKey:this._options.apiKey,threadId:this._id,images:g,model:e?.model,sandboxMode:e?.sandboxMode,workingDirectory:e?.workingDirectory,skipGitRepoCheck:e?.skipGitRepoCheck,outputSchemaFile:c,modelReasoningEffort:e?.modelReasoningEffort,signal:b.signal,networkAccessEnabled:e?.networkAccessEnabled,webSearchMode:e?.webSearchMode,webSearchEnabled:e?.webSearchEnabled,approvalPolicy:e?.approvalPolicy,additionalDirectories:e?.additionalDirectories});try{for await(let a of h){let b;try{b=JSON.parse(a)}catch(b){throw Error(`Failed to parse item: ${a}`,{cause:b})}"thread.started"===b.type?this._id=b.thread_id:"turn.completed"===b.type&&(b.usage.cache_write_input_tokens??=0),yield b}}finally{await d()}}async run(a,b={}){let c=this.runStreamedInternal(a,b),d=[],e="",f=null,g=null;for await(let a of c)if("item.completed"===a.type)"agent_message"===a.item.type&&(e=a.item.text),d.push(a.item);else if("turn.completed"===a.type)f=a.usage;else if("turn.failed"===a.type){g=a.error;break}if(g)throw Error(g.message);return{items:d,finalResponse:e,usage:f}}},l="CODEX_INTERNAL_ORIGINATOR_OVERRIDE",m="@openai/codex",n={"x86_64-unknown-linux-musl":"@openai/codex-linux-x64","aarch64-unknown-linux-musl":"@openai/codex-linux-arm64","x86_64-apple-darwin":"@openai/codex-darwin-x64","aarch64-apple-darwin":"@openai/codex-darwin-arm64","x86_64-pc-windows-msvc":"@openai/codex-win32-x64","aarch64-pc-windows-msvc":"@openai/codex-win32-arm64"},o=(0,i.createRequire)("file:///home/runner/work/cockpit/cockpit/node_modules/@openai/codex-sdk/dist/index.js"),p=class{executablePath;pathDirs;envOverride;configOverrides;constructor(a=null,b,c){if(a)this.executablePath=a,this.pathDirs=[];else{const a=function(){let a,{platform:b,arch:c}=process,d=null;switch(b){case"linux":case"android":switch(c){case"x64":d="x86_64-unknown-linux-musl";break;case"arm64":d="aarch64-unknown-linux-musl"}break;case"darwin":switch(c){case"x64":d="x86_64-apple-darwin";break;case"arm64":d="aarch64-apple-darwin"}break;case"win32":switch(c){case"x64":d="x86_64-pc-windows-msvc";break;case"arm64":d="aarch64-pc-windows-msvc"}}if(!d)throw Error(`Unsupported platform: ${b} (${c})`);let e=n[d];if(!e)throw Error(`Unsupported target triple: ${d}`);try{let b=o.resolve(`${m}/package.json`),c=(0,i.createRequire)(b).resolve(`${e}/package.json`);a=f.join(f.dirname(c),"vendor")}catch{throw Error(`Unable to locate Codex CLI binaries. Ensure ${m} is installed with optional dependencies.`)}let g=function(a,b,c){let d=f.join(a,b),e=f.join(d,"bin",c);if(u(e)&&u(f.join(d,"codex-package.json")))return{executablePath:e,pathDirs:t(f.join(d,"codex-path"))};let g=f.join(d,"codex",c);return u(g)?{executablePath:g,pathDirs:t(f.join(d,"path"))}:null}(a,d,"win32"===process.platform?"codex.exe":"codex");if(!g)throw Error(`Unable to locate Codex CLI binaries for ${d}. Ensure ${m} is installed with optional dependencies.`);return g}();this.executablePath=a.executablePath,this.pathDirs=a.pathDirs}this.envOverride=b,this.configOverrides=c}async *run(a){let b=["exec","--experimental-json"];if(this.configOverrides){var c;let a;for(let d of(c=this.configOverrides,function a(b,c,d){if(!s(b))if(c)return void d.push(`${c}=${q(b,c)}`);else throw Error("Codex config overrides must be a plain object");let e=Object.entries(b);if(c||0!==e.length){if(c&&0===e.length)return void d.push(`${c}={}`);for(let[b,f]of e){if(!b)throw Error("Codex config override keys must be non-empty strings");if(void 0===f)continue;let e=c?`${c}.${b}`:b;s(f)?a(f,e,d):d.push(`${e}=${q(f,e)}`)}}}(c,"",a=[]),a))b.push("--config",d)}if(a.baseUrl&&b.push("--config",`openai_base_url=${q(a.baseUrl,"openai_base_url")}`),a.model&&b.push("--model",a.model),a.sandboxMode&&b.push("--sandbox",a.sandboxMode),a.workingDirectory&&b.push("--cd",a.workingDirectory),a.additionalDirectories?.length)for(let c of a.additionalDirectories)b.push("--add-dir",c);if(a.skipGitRepoCheck&&b.push("--skip-git-repo-check"),a.outputSchemaFile&&b.push("--output-schema",a.outputSchemaFile),a.modelReasoningEffort&&b.push("--config",`model_reasoning_effort="${a.modelReasoningEffort}"`),void 0!==a.networkAccessEnabled&&b.push("--config",`sandbox_workspace_write.network_access=${a.networkAccessEnabled}`),a.webSearchMode?b.push("--config",`web_search="${a.webSearchMode}"`):!0===a.webSearchEnabled?b.push("--config",'web_search="live"'):!1===a.webSearchEnabled&&b.push("--config",'web_search="disabled"'),a.approvalPolicy&&b.push("--config",`approval_policy="${a.approvalPolicy}"`),a.threadId&&b.push("resume",a.threadId),a.images?.length)for(let c of a.images)b.push("--image",c);let d={};if(this.envOverride)Object.assign(d,this.envOverride);else for(let[a,b]of Object.entries(process.env))void 0!==b&&(d[a]=b);d[l]||(d[l]="codex_sdk_ts"),a.apiKey&&(d.CODEX_API_KEY=a.apiKey),this.pathDirs.length>0&&function(a,b,c=process.platform){let d=function(a,b){if("win32"!==b)return"PATH";let c=Object.keys(a).filter(a=>"path"===a.toLowerCase());return c.includes("Path")?"Path":c.at(-1)??"PATH"}(a,c);if("win32"===c)for(let b of Object.keys(a))"path"===b.toLowerCase()&&b!==d&&delete a[b];let e=(a[d]??"").split(f.delimiter).filter(a=>a.length>0&&!b.includes(a));a[d]=[...b,...e].join(f.delimiter)}(d,this.pathDirs);let e=(0,g.spawn)(this.executablePath,b,{env:d,signal:a.signal}),i=null;if(e.once("error",a=>i=a),!e.stdin)throw e.kill(),Error("Child process has no stdin");if(e.stdin.write(a.input),e.stdin.end(),!e.stdout)throw e.kill(),Error("Child process has no stdout");let j=[];e.stderr&&e.stderr.on("data",a=>{j.push(a)});let k=new Promise(a=>{e.once("exit",(b,c)=>{a({code:b,signal:c})})}),m=h.createInterface({input:e.stdout,crlfDelay:1/0});try{for await(let a of m)yield a;if(i)throw i;let{code:a,signal:b}=await k;if(0!==a||b){let c=Buffer.concat(j),d=b?`signal ${b}`:`code ${a??1}`;throw Error(`Codex Exec exited with ${d}: ${c.toString("utf8")}`)}}finally{m.close(),e.removeAllListeners();try{e.killed||e.kill()}catch{}}}};function q(a,b){if("string"==typeof a)return JSON.stringify(a);if("number"==typeof a){if(!Number.isFinite(a))throw Error(`Codex config override at ${b} must be a finite number`);return`${a}`}if("boolean"==typeof a)return a?"true":"false";if(Array.isArray(a)){let c=a.map((a,c)=>q(a,`${b}[${c}]`));return`[${c.join(", ")}]`}if(s(a)){let d=[];for(let[e,f]of Object.entries(a)){var c;if(!e)throw Error("Codex config override keys must be non-empty strings");void 0!==f&&d.push(`${r.test(c=e)?c:JSON.stringify(c)} = ${q(f,`${b}.${e}`)}`)}return`{${d.join(", ")}}`}else if(null===a)throw Error(`Codex config override at ${b} cannot be null`);else{let c=typeof a;throw Error(`Unsupported Codex config override value at ${b}: ${c}`)}}var r=/^[A-Za-z0-9_-]+$/;function s(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function t(...a){return a.filter(v)}function u(a){try{return(0,d.statSync)(a).isFile()}catch{return!1}}function v(a){try{return(0,d.statSync)(a).isDirectory()}catch{return!1}}var w=class{exec;options;constructor(a={}){const{codexPathOverride:b,env:c,config:d}=a;this.exec=new p(b,c,d),this.options=a}startThread(a={}){return new k(this.exec,this.options,a)}resumeThread(a,b={}){return new k(this.exec,this.options,b,a)}}}};
1
+ "use strict";exports.id=9312,exports.ids=[9312],exports.modules={19312:(a,b,c)=>{c.d(b,{Codex:()=>w});var d=c(29021),e=c(21820),f=c(33873),g=c(79646),h=c(4984),i=c(8086);async function j(a){var b;if(void 0===a)return{cleanup:async()=>{}};if(!("object"==typeof(b=a)&&null!==b&&!Array.isArray(b)))throw Error("outputSchema must be a plain JSON object");let c=await d.promises.mkdtemp(f.join(e.tmpdir(),"codex-output-schema-")),g=f.join(c,"schema.json"),h=async()=>{try{await d.promises.rm(c,{recursive:!0,force:!0})}catch{}};try{return await d.promises.writeFile(g,JSON.stringify(a),"utf8"),{schemaPath:g,cleanup:h}}catch(a){throw await h(),a}}var k=class{_exec;_options;_id;_threadOptions;get id(){return this._id}constructor(a,b,c,d=null){this._exec=a,this._options=b,this._id=d,this._threadOptions=c}async runStreamed(a,b={}){return{events:this.runStreamedInternal(a,b)}}async *runStreamedInternal(a,b={}){let{schemaPath:c,cleanup:d}=await j(b.outputSchema),e=this._threadOptions,{prompt:f,images:g}=function(a){if("string"==typeof a)return{prompt:a,images:[]};let b=[],c=[];for(let d of a)"text"===d.type?b.push(d.text):"local_image"===d.type&&c.push(d.path);return{prompt:b.join("\n\n"),images:c}}(a),h=this._exec.run({input:f,baseUrl:this._options.baseUrl,apiKey:this._options.apiKey,threadId:this._id,images:g,model:e?.model,threadSource:e?.threadSource,sandboxMode:e?.sandboxMode,workingDirectory:e?.workingDirectory,skipGitRepoCheck:e?.skipGitRepoCheck,outputSchemaFile:c,modelReasoningEffort:e?.modelReasoningEffort,signal:b.signal,networkAccessEnabled:e?.networkAccessEnabled,webSearchMode:e?.webSearchMode,webSearchEnabled:e?.webSearchEnabled,approvalPolicy:e?.approvalPolicy,additionalDirectories:e?.additionalDirectories});try{for await(let a of h){let b;try{b=JSON.parse(a)}catch(b){throw Error(`Failed to parse item: ${a}`,{cause:b})}"thread.started"===b.type?this._id=b.thread_id:"turn.completed"===b.type&&(b.usage.cache_write_input_tokens??=0),yield b}}finally{await d()}}async run(a,b={}){let c=this.runStreamedInternal(a,b),d=[],e="",f=null,g=null;for await(let a of c)if("item.completed"===a.type)"agent_message"===a.item.type&&(e=a.item.text),d.push(a.item);else if("turn.completed"===a.type)f=a.usage;else if("turn.failed"===a.type){g=a.error;break}if(g)throw Error(g.message);return{items:d,finalResponse:e,usage:f}}},l="CODEX_INTERNAL_ORIGINATOR_OVERRIDE",m="@openai/codex",n={"x86_64-unknown-linux-musl":"@openai/codex-linux-x64","aarch64-unknown-linux-musl":"@openai/codex-linux-arm64","x86_64-apple-darwin":"@openai/codex-darwin-x64","aarch64-apple-darwin":"@openai/codex-darwin-arm64","x86_64-pc-windows-msvc":"@openai/codex-win32-x64","aarch64-pc-windows-msvc":"@openai/codex-win32-arm64"},o=(0,i.createRequire)("file:///home/runner/work/cockpit/cockpit/node_modules/@openai/codex-sdk/dist/index.js"),p=class{executablePath;pathDirs;envOverride;configOverrides;rawConfigOverrides;constructor(a=null,b,c,d){if(a)this.executablePath=a,this.pathDirs=[];else{const a=function(){let a,{platform:b,arch:c}=process,d=null;switch(b){case"linux":case"android":switch(c){case"x64":d="x86_64-unknown-linux-musl";break;case"arm64":d="aarch64-unknown-linux-musl"}break;case"darwin":switch(c){case"x64":d="x86_64-apple-darwin";break;case"arm64":d="aarch64-apple-darwin"}break;case"win32":switch(c){case"x64":d="x86_64-pc-windows-msvc";break;case"arm64":d="aarch64-pc-windows-msvc"}}if(!d)throw Error(`Unsupported platform: ${b} (${c})`);let e=n[d];if(!e)throw Error(`Unsupported target triple: ${d}`);try{let b=o.resolve(`${m}/package.json`),c=(0,i.createRequire)(b).resolve(`${e}/package.json`);a=f.join(f.dirname(c),"vendor")}catch{throw Error(`Unable to locate Codex CLI binaries. Ensure ${m} is installed with optional dependencies.`)}let g=function(a,b,c){let d=f.join(a,b),e=f.join(d,"bin",c);if(u(e)&&u(f.join(d,"codex-package.json")))return{executablePath:e,pathDirs:t(f.join(d,"codex-path"))};let g=f.join(d,"codex",c);return u(g)?{executablePath:g,pathDirs:t(f.join(d,"path"))}:null}(a,d,"win32"===process.platform?"codex.exe":"codex");if(!g)throw Error(`Unable to locate Codex CLI binaries for ${d}. Ensure ${m} is installed with optional dependencies.`);return g}();this.executablePath=a.executablePath,this.pathDirs=a.pathDirs}this.envOverride=b,this.configOverrides=c,this.rawConfigOverrides=d}async *run(a){let b=["exec","--experimental-json"];if(this.configOverrides){var c;let a;for(let d of(c=this.configOverrides,function a(b,c,d){if(!s(b))if(c)return void d.push(`${c}=${q(b,c)}`);else throw Error("Codex config overrides must be a plain object");let e=Object.entries(b);if(c||0!==e.length){if(c&&0===e.length)return void d.push(`${c}={}`);for(let[b,f]of e){if(!b)throw Error("Codex config override keys must be non-empty strings");if(void 0===f)continue;let e=c?`${c}.${b}`:b;s(f)?a(f,e,d):d.push(`${e}=${q(f,e)}`)}}}(c,"",a=[]),a))b.push("--config",d)}if(this.rawConfigOverrides)for(let a of this.rawConfigOverrides)b.push("--config",a);if(a.baseUrl&&b.push("--config",`openai_base_url=${q(a.baseUrl,"openai_base_url")}`),a.model&&b.push("--model",a.model),void 0===a.threadSource||a.threadId||b.push("--thread-source",a.threadSource),a.sandboxMode&&b.push("--sandbox",a.sandboxMode),a.workingDirectory&&b.push("--cd",a.workingDirectory),a.additionalDirectories?.length)for(let c of a.additionalDirectories)b.push("--add-dir",c);if(a.skipGitRepoCheck&&b.push("--skip-git-repo-check"),a.outputSchemaFile&&b.push("--output-schema",a.outputSchemaFile),a.modelReasoningEffort&&b.push("--config",`model_reasoning_effort="${a.modelReasoningEffort}"`),void 0!==a.networkAccessEnabled&&b.push("--config",`sandbox_workspace_write.network_access=${a.networkAccessEnabled}`),a.webSearchMode?b.push("--config",`web_search="${a.webSearchMode}"`):!0===a.webSearchEnabled?b.push("--config",'web_search="live"'):!1===a.webSearchEnabled&&b.push("--config",'web_search="disabled"'),a.approvalPolicy&&b.push("--config",`approval_policy="${a.approvalPolicy}"`),a.threadId&&b.push("resume",a.threadId),a.images?.length)for(let c of a.images)b.push("--image",c);let d={};if(this.envOverride)Object.assign(d,this.envOverride);else for(let[a,b]of Object.entries(process.env))void 0!==b&&(d[a]=b);d[l]||(d[l]="codex_sdk_ts"),a.apiKey&&(d.CODEX_API_KEY=a.apiKey),this.pathDirs.length>0&&function(a,b,c=process.platform){let d=function(a,b){if("win32"!==b)return"PATH";let c=Object.keys(a).filter(a=>"path"===a.toLowerCase());return c.includes("Path")?"Path":c.at(-1)??"PATH"}(a,c);if("win32"===c)for(let b of Object.keys(a))"path"===b.toLowerCase()&&b!==d&&delete a[b];let e=(a[d]??"").split(f.delimiter).filter(a=>a.length>0&&!b.includes(a));a[d]=[...b,...e].join(f.delimiter)}(d,this.pathDirs);let e=(0,g.spawn)(this.executablePath,b,{env:d,signal:a.signal}),i=null;if(e.once("error",a=>i=a),!e.stdin)throw e.kill(),Error("Child process has no stdin");if(e.stdin.write(a.input),e.stdin.end(),!e.stdout)throw e.kill(),Error("Child process has no stdout");let j=[];e.stderr&&e.stderr.on("data",a=>{j.push(a)});let k=new Promise(a=>{e.once("exit",(b,c)=>{a({code:b,signal:c})})}),m=h.createInterface({input:e.stdout,crlfDelay:1/0});try{for await(let a of m)yield a;if(i)throw i;let{code:a,signal:b}=await k;if(0!==a||b){let c=Buffer.concat(j),d=b?`signal ${b}`:`code ${a??1}`;throw Error(`Codex Exec exited with ${d}: ${c.toString("utf8")}`)}}finally{m.close(),e.removeAllListeners();try{e.killed||e.kill()}catch{}}}};function q(a,b){if("string"==typeof a)return JSON.stringify(a);if("number"==typeof a){if(!Number.isFinite(a))throw Error(`Codex config override at ${b} must be a finite number`);return`${a}`}if("boolean"==typeof a)return a?"true":"false";if(Array.isArray(a)){let c=a.map((a,c)=>q(a,`${b}[${c}]`));return`[${c.join(", ")}]`}if(s(a)){let d=[];for(let[e,f]of Object.entries(a)){var c;if(!e)throw Error("Codex config override keys must be non-empty strings");void 0!==f&&d.push(`${r.test(c=e)?c:JSON.stringify(c)} = ${q(f,`${b}.${e}`)}`)}return`{${d.join(", ")}}`}else if(null===a)throw Error(`Codex config override at ${b} cannot be null`);else{let c=typeof a;throw Error(`Unsupported Codex config override value at ${b}: ${c}`)}}var r=/^[A-Za-z0-9_-]+$/;function s(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function t(...a){return a.filter(v)}function u(a){try{return(0,d.statSync)(a).isFile()}catch{return!1}}function v(a){try{return(0,d.statSync)(a).isDirectory()}catch{return!1}}var w=class{exec;options;constructor(a={}){const{codexPathOverride:b,env:c,config:d,configOverrides:e}=a;this.exec=new p(b,c,d,e),this.options=a}startThread(a={}){return new k(this.exec,this.options,a)}resumeThread(a,b={}){return new k(this.exec,this.options,b,a)}}}};
@@ -2,5 +2,5 @@
2
2
 
3
3
  ${c.text}
4
4
 
5
- </details>`}]}})),"command_execution"===c.type){let b=V(c);B.has(b)||(ac(c.command||p.C4.bash,`command-start:${b}`),a.emit({type:"assistant",message:{content:[{type:"tool_use",id:b,name:p.C4.bash,input:{command:c.command||""}}]}})),ac(c.aggregated_output||`(exit code: ${c.exit_code??"unknown"})`,`command-result:${b}`),a.emit({type:"user",message:{content:[{tool_use_id:b,content:c.aggregated_output||`(exit code: ${c.exit_code??"unknown"})`}]}}),B.delete(b)}if("collab_tool_call"===c.type&&(b=>{if(b.tool===p.$H)return(a=>{let b=a.receiver_thread_ids??[],c=U(),d=c?function(a,b,c){if(c){let b=a.find(a=>a.agentId===c);if(b?.callId)return b}let d=a[b];return d?.callId?d:null}(R(c).spawn,I+J,b[0]):null;J+=1;let e=d?.callId||r(a);if(Z.has(e))return;let f=d?.args&&Object.keys(d.args).length>0?d.args:{message:a.prompt||""},g=(0,p.o4)(f,{nickname:d?.nickname,agentId:b[0]||d?.agentId});for(let a of b)N.set(a,e);_(e,g,d?.agentPath)})(b);for(let c of(0,p.Hq)(b.agents_states)){if(!c.done)continue;let b=N.get(c.agentId);b&&(a.emit({type:"user",message:{content:[{tool_use_id:b,content:(0,p.nE)(c)}]}}),B.delete(b),N.delete(c.agentId))}})(c),"mcp_tool_call"===c.type&&(ac(`${c.server||"mcp"} ${c.tool||""} ${JSON.stringify(c.result??c.error??"")}`),ab(c,!0)),"web_search"===c.type&&(ac(JSON.stringify(c.action||c.query||"web_search")),(b=>{let c=r(b),{name:d,input:e,result:f}=(0,p.U6)(b.query,b.action);a.emit({type:"assistant",message:{content:[{type:"tool_use",id:c,name:d,input:e}]}}),a.emit({type:"user",message:{content:[{tool_use_id:c,content:f}]}})})(c)),"todo_list"===c.type){let b,d;ac(JSON.stringify(c.items||[])),b=r(c),d=(0,p.qW)(c.items),a.emit({type:"assistant",message:{content:[{type:"tool_use",id:b,name:p.C4.todo,input:d}]}}),a.emit({type:"user",message:{content:[{tool_use_id:b,content:(0,p.uz)(d.todos)}]}})}if("file_change"===c.type){let b=W(c);B.has(b)||(ac(Y(c),`patch-start:${b}`),a.emit({type:"assistant",message:{content:[{type:"tool_use",id:b,name:p.C4.applyPatch,input:X(c)}]}})),ac(Y(c),`patch-result:${b}`),a.emit({type:"user",message:{content:[{tool_use_id:b,content:Y(c)}]}}),B.delete(b)}break}case"item.started":{let c=b.item;if(c?.type==="mcp_tool_call"&&ab(c,!1),c?.type==="command_execution"&&c.command){let b=V(c);B.set(b,b),ac(c.command,`command-start:${b}`),a.emit({type:"assistant",message:{content:[{type:"tool_use",id:b,name:p.C4.bash,input:{command:c.command}}]}})}if(c?.type==="file_change"&&(c.changes?.length??0)>0){let b=W(c);B.set(b,b),ac(Y(c),`patch-start:${b}`),a.emit({type:"assistant",message:{content:[{type:"tool_use",id:b,name:p.C4.applyPatch,input:X(c)}]}})}break}case"turn.completed":{aa(!0);let c=b.usage||{};a.emit({type:"result",subtype:"success",usage:{input_tokens:c.input_tokens||0,output_tokens:c.output_tokens||0,cache_creation_input_tokens:c.cache_write_input_tokens||0,cache_read_input_tokens:c.cached_input_tokens||0},total_cost_usd:0});break}case"turn.failed":y=!0,z=Error(b.error?.message||"Codex turn failed");break;case"error":y=!0,z=Error(b.message||"Codex error")}},assertSuccess(){if(z)throw z}}}(a);try{let b,{Codex:d}=await c.e(9312).then(c.bind(c,19312)),e=(0,f.u)({});try{b=new d({env:e})}catch(a){if(!(a instanceof Error?a.message:"").includes("Unable to locate Codex CLI binaries"))throw a;b=new d({codexPathOverride:"codex",env:e})}let g=a.sessionId?b.resumeThread(a.sessionId,w(a)):b.startThread(w(a)),{events:h}=await g.runStreamed((o=a.prompt??"",0===l.length?o:[{type:"text",text:o||p.RA},...l.map(a=>({type:"local_image",path:a}))]),{signal:a.signal});for await(let a of h)m.handle(a);m.assertSuccess()}finally{var n,o;for(let a of l)try{(0,h.unlinkSync)(a)}catch{}}}let y={name:"codex",runner:{async run(a){if(!0!==a.params.noHistory||!a.sessionId)return void await x(a);let b=(0,e.eg)(a.sessionId),c=!!b&&function(a){if(!h.existsSync(a))return!1;let b=l(a);h.existsSync(b)&&o(a);let c=m(a)[0];if(!c||!n(c))throw Error(`Cannot run Codex independent task: ${a} has no session_meta`);h.mkdirSync((0,j.dirname)(b),{recursive:!0}),h.renameSync(a,b);try{h.writeFileSync(a,`${c}
5
+ </details>`}]}})),"command_execution"===c.type){let b=V(c);B.has(b)||(ac(c.command||p.C4.bash,`command-start:${b}`),a.emit({type:"assistant",message:{content:[{type:"tool_use",id:b,name:p.C4.bash,input:{command:c.command||""}}]}})),ac(c.aggregated_output||`(exit code: ${c.exit_code??"unknown"})`,`command-result:${b}`),a.emit({type:"user",message:{content:[{tool_use_id:b,content:c.aggregated_output||`(exit code: ${c.exit_code??"unknown"})`}]}}),B.delete(b)}if("collab_tool_call"===c.type&&(b=>{if(b.tool===p.$H)return(a=>{let b=a.receiver_thread_ids??[],c=U(),d=c?function(a,b,c){if(c){let b=a.find(a=>a.agentId===c);if(b?.callId)return b}let d=a[b];return d?.callId?d:null}(R(c).spawn,I+J,b[0]):null;J+=1;let e=d?.callId||r(a);if(Z.has(e))return;let f=d?.args&&Object.keys(d.args).length>0?d.args:{message:a.prompt||""},g=(0,p.o4)(f,{nickname:d?.nickname,agentId:b[0]||d?.agentId});for(let a of b)N.set(a,e);_(e,g,d?.agentPath)})(b);for(let c of(0,p.Hq)(b.agents_states)){if(!c.done)continue;let b=N.get(c.agentId);b&&(a.emit({type:"user",message:{content:[{tool_use_id:b,content:(0,p.nE)(c)}]}}),B.delete(b),N.delete(c.agentId))}})(c),"mcp_tool_call"===c.type&&(ac(`${c.server||"mcp"} ${c.tool||""} ${JSON.stringify(c.result??c.error??"")}`),ab(c,!0)),"web_search"===c.type&&(ac(JSON.stringify(c.action||c.query||"web_search")),(b=>{let c=r(b),{name:d,input:e,result:f}=(0,p.U6)(b.query,b.action);a.emit({type:"assistant",message:{content:[{type:"tool_use",id:c,name:d,input:e}]}}),a.emit({type:"user",message:{content:[{tool_use_id:c,content:f}]}})})(c)),"todo_list"===c.type){let b,d;ac(JSON.stringify(c.items||[])),b=r(c),d=(0,p.qW)(c.items),a.emit({type:"assistant",message:{content:[{type:"tool_use",id:b,name:p.C4.todo,input:d}]}}),a.emit({type:"user",message:{content:[{tool_use_id:b,content:(0,p.uz)(d.todos)}]}})}if("file_change"===c.type){let b=W(c);B.has(b)||(ac(Y(c),`patch-start:${b}`),a.emit({type:"assistant",message:{content:[{type:"tool_use",id:b,name:p.C4.applyPatch,input:X(c)}]}})),ac(Y(c),`patch-result:${b}`),a.emit({type:"user",message:{content:[{tool_use_id:b,content:Y(c)}]}}),B.delete(b)}break}case"item.started":{let c=b.item;if(c?.type==="mcp_tool_call"&&ab(c,!1),c?.type==="command_execution"&&c.command){let b=V(c);B.set(b,b),ac(c.command,`command-start:${b}`),a.emit({type:"assistant",message:{content:[{type:"tool_use",id:b,name:p.C4.bash,input:{command:c.command}}]}})}if(c?.type==="file_change"&&(c.changes?.length??0)>0){let b=W(c);B.set(b,b),ac(Y(c),`patch-start:${b}`),a.emit({type:"assistant",message:{content:[{type:"tool_use",id:b,name:p.C4.applyPatch,input:X(c)}]}})}break}case"turn.completed":{aa(!0);let c=b.usage||{};a.emit({type:"result",subtype:"success",usage:{input_tokens:c.input_tokens||0,output_tokens:c.output_tokens||0,cache_creation_input_tokens:c.cache_write_input_tokens||0,cache_read_input_tokens:c.cached_input_tokens||0},total_cost_usd:0});break}case"turn.failed":y=!0,z=Error(b.error?.message||"Codex turn failed");break;case"error":y=!0,z=Error(b.message||"Codex error")}},assertSuccess(){if(z)throw z}}}(a);try{let b,{Codex:d}=await c.e(9312).then(c.bind(c,19312)),e=(0,f.u)({});try{b=new d({env:e})}catch(a){if(!(a instanceof Error?a.message:"").includes("Unable to locate Codex CLI binaries"))throw a;console.error("[codex] bundled CLI binary is missing — falling back to `codex` on PATH. That build is not the version this SDK was pinned against. Repair with: cockpit update"),b=new d({codexPathOverride:"codex",env:e})}let g=a.sessionId?b.resumeThread(a.sessionId,w(a)):b.startThread(w(a)),{events:h}=await g.runStreamed((o=a.prompt??"",0===l.length?o:[{type:"text",text:o||p.RA},...l.map(a=>({type:"local_image",path:a}))]),{signal:a.signal});for await(let a of h)m.handle(a);m.assertSuccess()}finally{var n,o;for(let a of l)try{(0,h.unlinkSync)(a)}catch{}}}let y={name:"codex",runner:{async run(a){if(!0!==a.params.noHistory||!a.sessionId)return void await x(a);let b=(0,e.eg)(a.sessionId),c=!!b&&function(a){if(!h.existsSync(a))return!1;let b=l(a);h.existsSync(b)&&o(a);let c=m(a)[0];if(!c||!n(c))throw Error(`Cannot run Codex independent task: ${a} has no session_meta`);h.mkdirSync((0,j.dirname)(b),{recursive:!0}),h.renameSync(a,b);try{h.writeFileSync(a,`${c}
6
6
  `,"utf-8")}catch(c){throw h.existsSync(b)&&!h.existsSync(a)&&h.renameSync(b,a),c}return!0}(b);try{await x(a)}finally{c&&b&&o(b)}}}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=9830,exports.ids=[9830],exports.modules={38433:(a,b,c)=>{c.d(b,{SG:()=>m,a_:()=>l,hO:()=>k,lG:()=>j});var d=c(51181),e=c.n(d),f=c(7939);let g=null,h="https://github.com/Surething-io/cockpit";async function i(){if(g)return g;let a=await (0,f.Ux)(f.tP,async()=>{let a=await (0,f.JE)(f.tP,{});if(a.push?.publicKey&&a.push?.privateKey){let b=!function(a){if(!a||a.includes("localhost"))return!1;if(a.startsWith("https://"))return!0;let b=/^mailto:[^\s@]+@([^\s@]+)$/.exec(a);return!!b&&b[1].includes(".")}(a.push.subject)?h:a.push.subject;return b!==a.push.subject&&await (0,f.An)(f.tP,{...a,push:{...a.push,subject:b}}),{publicKey:a.push.publicKey,privateKey:a.push.privateKey,subject:b}}let b=e().generateVAPIDKeys(),c={publicKey:b.publicKey,privateKey:b.privateKey,subject:h};return await (0,f.An)(f.tP,{...a,push:c}),c});return e().setVapidDetails(a.subject,a.publicKey,a.privateKey),g=a,a}async function j(){return(await i()).publicKey}async function k(a){await (0,f.Ux)(f.n6,async()=>{let b=await (0,f.JE)(f.n6,{subscriptions:[]});b.subscriptions.some(b=>b.endpoint===a.endpoint)||(b.subscriptions.push(a),await (0,f.An)(f.n6,b))})}async function l(a){await (0,f.Ux)(f.n6,async()=>{let b=await (0,f.JE)(f.n6,{subscriptions:[]}),c=b.subscriptions.filter(b=>b.endpoint!==a);c.length!==b.subscriptions.length&&await (0,f.An)(f.n6,{subscriptions:c})})}async function m(a){try{await i()}catch{return{sent:0,pruned:0}}let b=await (0,f.JE)(f.n6,{subscriptions:[]});if(0===b.subscriptions.length)return{sent:0,pruned:0};let c=JSON.stringify(a),d=[],g=0;return await Promise.all(b.subscriptions.map(async a=>{try{await e().sendNotification(a,c),g++}catch(c){let b=c?.statusCode;if(404===b||410===b)d.push(a.endpoint);else{let d=a.endpoint;try{d=new URL(a.endpoint).host}catch{}console.error(`[push] send failed (${b??"?"}) to ${d}: ${c?.body||c?.message||"unknown"}`)}}})),d.length&&await (0,f.Ux)(f.n6,async()=>{let a=await (0,f.JE)(f.n6,{subscriptions:[]});await (0,f.An)(f.n6,{subscriptions:a.subscriptions.filter(a=>!d.includes(a.endpoint))})}),{sent:g,pruned:d.length}}},79830:(a,b,c)=>{c.d(b,{BN:()=>t,CS:()=>m,Pn:()=>n,Ru:()=>u,j8:()=>s});var d=c(7939),e=c(29021),f=c(4984),g=c(33873),h=c(38433),i=c(89812);let j=[d.Kk,d.yw,d.Xi,d.n2,d.Rk];function k(a,b){for(let c of j){let d=c(a,b);if((0,e.existsSync)(d))return d}return null}function l(a){if(!a)return a;let b=[...a];return b.length<=50?a:b.slice(0,50).join("")+"…"}async function m(a,b,c,f,i){if((0,e.existsSync)(a))return(0,d.Ux)(d.v4,async()=>{let e=await (0,d.JE)(d.v4,{sessions:[]});for(let a of e.sessions)a.status||(a.status=a.isLoading?"loading":"normal",delete a.isLoading);let j=e.sessions.findIndex(c=>c.cwd===a&&c.sessionId===b),k=j>=0?e.sessions[j]:void 0,m={cwd:a,sessionId:b,lastActive:Date.now(),status:c,title:l(f||k?.title),lastUserMessage:l(i||k?.lastUserMessage)};j>=0?e.sessions[j]=m:e.sessions.push(m),e.sessions.sort((a,b)=>b.lastActive-a.lastActive);let n=Date.now()-6048e5,o=Math.min(100,Math.max(15,e.sessions.filter(a=>a.lastActive>=n).length));e.sessions=e.sessions.slice(0,o),await (0,d.An)(d.v4,e),"unread"===c&&k?.status!=="unread"&&(async()=>{let c=await p(a,b).catch(()=>void 0)||m.lastUserMessage;await (0,h.SG)({title:(0,g.basename)(a)||"Cockpit",body:l(c)||m.title||"",data:{cwd:a,sessionId:b}})})().catch(()=>{})})}async function n(a,b){let c=k(a,b);if(c)return z(c);let f=(0,d.eg)(b);return f&&(0,e.existsSync)(f)&&await D(f)||"Untitled Session"}async function o(a,b){let c=k(a,b);if(c)return await A(c);let f=(0,d.eg)(b);return f&&(0,e.existsSync)(f)?await C(f):[]}async function p(a,b){let c=await o(a,b);return c[c.length-1]}let q=new Map;async function r(a,b){let c=function(a,b){let c=k(a,b);if(c)return{path:c,read:B};let f=(0,d.eg)(b);return f&&(0,e.existsSync)(f)?{path:f,read:async a=>({aiTitle:"",summary:"",messages:await C(a)})}:null}(a,b);if(!c)return{aiTitle:"",summary:"",messages:[]};let f="";try{var g;let a;g=c.path,a=(0,e.statSync)(g),f=`${a.mtimeMs}-${a.size}`;let b=q.get(c.path);if(b&&b.fingerprint===f)return q.delete(c.path),q.set(c.path,b),b.content}catch{}let h=await c.read(c.path);if(f&&(q.delete(c.path),q.set(c.path,{fingerprint:f,content:h}),q.size>40)){let a=q.keys().next().value;void 0!==a&&q.delete(a)}return h}async function s(a,b,c){let{aiTitle:d,summary:e,messages:f}=await r(a,b),g=(0,i.K)(d,e,f),h=f[f.length-1],j=c?.includeSearchText?[e,...f].join("\n").toLowerCase():"";return f.length<=10?{title:g,lastUserMessage:h,firstMessages:f.map(a=>l(a)),lastMessages:[],searchText:j}:{title:g,lastUserMessage:h,firstMessages:f.slice(0,5).map(a=>l(a)),lastMessages:f.slice(-5).map(a=>l(a)),searchText:j}}async function t(a){let b=new Map;return Promise.all(a.map(async a=>{let c=(await (a=>{let c=b.get(a);if(c)return c;let e=(0,d.JE)((0,d.Mx)(a),{}).then(a=>a.engines??{}).catch(()=>({}));return b.set(a,e),e})(a.cwd))[a.sessionId];return c?{...a,engine:c}:a}))}async function u(a=15){let b=await (0,d.JE)(d.v4,{sessions:[]});for(let a of b.sessions)a.status||(a.status=a.isLoading?"loading":"normal");b.sessions.sort((a,b)=>b.lastActive-a.lastActive);let c=b.sessions.slice(0,a);return t(await Promise.all(c.map(async a=>{if("loading"===a.status&&a.lastUserMessage)return a;try{let b=await s(a.cwd,a.sessionId);return{...a,title:"Untitled Session"!==b.title?b.title:a.title??b.title,lastUserMessage:b.lastUserMessage??a.lastUserMessage,firstMessages:b.firstMessages,lastMessages:b.lastMessages}}catch{return a}})))}function v(a){let b=a.replace(/<command-[^>]*>[\s\S]*?<\/command-[^>]*>/g,"");return(b=b.replace(/<local-command-[^>]*>[\s\S]*?<\/local-command-[^>]*>/g,"")).trim()}function w(a){return!(a.startsWith("This session is being continued")||a.startsWith("Caveat: The messages below"))&&!!a.trim()}let x=['"type":"user"','"type": "user"','"type":"summary"','"type": "summary"','"type":"ai-title"','"type": "ai-title"'];function y(a){for(let b of x)if(a.includes(b))return!0;return!1}async function z(a){try{let b=(0,e.createReadStream)(a),c=(0,f.createInterface)({input:b,crlfDelay:1/0}),d="",g="",h=[];for await(let a of c)if(a.trim()&&y(a))try{let b=JSON.parse(a);if("ai-title"===b.type&&b.aiTitle&&(d=b.aiTitle),"summary"===b.type&&b.summary&&(g=b.summary),"user"===b.type){let a=b.message;if(!a?.content)continue;if("string"==typeof a.content)h.push(a.content);else if(Array.isArray(a.content))for(let b of a.content)"text"===b.type&&b.text&&h.push(b.text)}}catch{}return(0,i.K)(d,g,h)}catch{return"Untitled Session"}}async function A(a){let b=[];try{let c=(0,e.createReadStream)(a);for await(let a of(0,f.createInterface)({input:c,crlfDelay:1/0}))if(a.trim()&&y(a))try{let c=JSON.parse(a);if("user"!==c.type)continue;let d=c.message;if(!d?.content)continue;let e="";if("string"==typeof d.content)e=d.content;else if(Array.isArray(d.content)){for(let a of d.content)if("text"===a.type&&a.text){e=a.text;break}}if(!e)continue;let f=v(e);f&&w(f)&&b.push(f)}catch{}}catch{}return b}async function B(a){let b="",c="",d=[];try{let g=(0,e.createReadStream)(a);for await(let a of(0,f.createInterface)({input:g,crlfDelay:1/0}))if(a.trim()&&y(a))try{let e=JSON.parse(a);if("ai-title"===e.type&&e.aiTitle){b=e.aiTitle;continue}if("summary"===e.type&&e.summary){c=e.summary;continue}if("user"!==e.type)continue;let f=e.message;if(!f?.content)continue;let g="";if("string"==typeof f.content)g=f.content;else if(Array.isArray(f.content)){for(let a of f.content)if("text"===a.type&&a.text){g=a.text;break}}if(!g)continue;let h=v(g);h&&w(h)&&d.push(h)}catch{}}catch{}return{aiTitle:b,summary:c,messages:d}}async function C(a){let b=[];try{let c=(0,e.createReadStream)(a);for await(let a of(0,f.createInterface)({input:c,crlfDelay:1/0})){let c;if(!a.trim())continue;try{c=JSON.parse(a)}catch{continue}if("response_item"!==c.type)continue;let d=c.payload;if(!d||"message"!==d.type||"user"!==d.role)continue;let e=d.content?.filter(a=>"input_text"===a.type&&a.text).map(a=>a.text).join("")||"";if(!e||e.startsWith("<")||e.startsWith("#"))continue;let f=v(e);f&&w(f)&&b.push(f)}}catch{}return b}async function D(a){try{let b=(0,e.createReadStream)(a);for await(let a of(0,f.createInterface)({input:b,crlfDelay:1/0})){let b;if(!a.trim())continue;try{b=JSON.parse(a)}catch{continue}if("response_item"!==b.type)continue;let c=b.payload;if(!c||"message"!==c.type||"user"!==c.role)continue;let d=c.content?.filter(a=>"input_text"===a.type&&a.text).map(a=>a.text).join("")||"";if(!(!d||d.startsWith("<")||d.startsWith("#")))return d.slice(0,80)}return}catch{return}}},89812:(a,b,c)=>{c.d(b,{K:()=>d});function d(a,b,c){if(a)return a;if(b)return b;let d="";for(let a of c){let b=function(a){let b=a.match(/<command-args>([^<]*)<\/command-args>/);if(b&&b[1].trim())return b[1].trim();let c=a.match(/<command-name>([^<]*)<\/command-name>/);if(c&&c[1].trim())return c[1].trim();let d=a.replace(/<command-message>[^<]*<\/command-message>/g,"");return(d=(d=(d=(d=d.replace(/<command-name>[^<]*<\/command-name>/g,"")).replace(/<command-args>[^<]*<\/command-args>/g,"")).replace(/<local-command-stdout>[\s\S]*?<\/local-command-stdout>/g,"")).replace(/<local-command-caveat>[\s\S]*?<\/local-command-caveat>/g,"")).trim()}(a);if(b){if(b.startsWith("/")&&!d){d=b;continue}if(d)return`${d} ${b}`;return b}}return d||"Untitled Session"}}};
1
+ "use strict";exports.id=9830,exports.ids=[9830],exports.modules={38433:(a,b,c)=>{c.d(b,{SG:()=>m,a_:()=>l,hO:()=>k,lG:()=>j});var d=c(51181),e=c.n(d),f=c(7939);let g=null,h="https://github.com/Surething-io/cockpit";async function i(){if(g)return g;let a=await (0,f.Ux)(f.tP,async()=>{let a=await (0,f.JE)(f.tP,{});if(a.push?.publicKey&&a.push?.privateKey){let b=!function(a){if(!a||a.includes("localhost"))return!1;if(a.startsWith("https://"))return!0;let b=/^mailto:[^\s@]+@([^\s@]+)$/.exec(a);return!!b&&b[1].includes(".")}(a.push.subject)?h:a.push.subject;return b!==a.push.subject&&await (0,f.An)(f.tP,{...a,push:{...a.push,subject:b}}),{publicKey:a.push.publicKey,privateKey:a.push.privateKey,subject:b}}let b=e().generateVAPIDKeys(),c={publicKey:b.publicKey,privateKey:b.privateKey,subject:h};return await (0,f.An)(f.tP,{...a,push:c}),c});return e().setVapidDetails(a.subject,a.publicKey,a.privateKey),g=a,a}async function j(){return(await i()).publicKey}async function k(a){await (0,f.Ux)(f.n6,async()=>{let b=await (0,f.JE)(f.n6,{subscriptions:[]});b.subscriptions.some(b=>b.endpoint===a.endpoint)||(b.subscriptions.push(a),await (0,f.An)(f.n6,b))})}async function l(a){await (0,f.Ux)(f.n6,async()=>{let b=await (0,f.JE)(f.n6,{subscriptions:[]}),c=b.subscriptions.filter(b=>b.endpoint!==a);c.length!==b.subscriptions.length&&await (0,f.An)(f.n6,{subscriptions:c})})}async function m(a){try{await i()}catch{return{sent:0,pruned:0}}let b=await (0,f.JE)(f.n6,{subscriptions:[]});if(0===b.subscriptions.length)return{sent:0,pruned:0};let c=JSON.stringify(a),d=[],g=0;return await Promise.all(b.subscriptions.map(async a=>{try{await e().sendNotification(a,c),g++}catch(c){let b=c?.statusCode;if(404===b||410===b)d.push(a.endpoint);else{let d=a.endpoint;try{d=new URL(a.endpoint).host}catch{}console.error(`[push] send failed (${b??"?"}) to ${d}: ${c?.body||c?.message||"unknown"}`)}}})),d.length&&await (0,f.Ux)(f.n6,async()=>{let a=await (0,f.JE)(f.n6,{subscriptions:[]});await (0,f.An)(f.n6,{subscriptions:a.subscriptions.filter(a=>!d.includes(a.endpoint))})}),{sent:g,pruned:d.length}}},79830:(a,b,c)=>{c.d(b,{BN:()=>t,CS:()=>m,Pn:()=>n,Ru:()=>u,j8:()=>s});var d=c(7939),e=c(29021),f=c(4984),g=c(33873),h=c(38433),i=c(89812);let j=[d.Kk,d.yw,d.Xi,d.n2,d.Rk];function k(a,b){for(let c of j){let d=c(a,b);if((0,e.existsSync)(d))return d}return null}function l(a){if(!a)return a;let b=[...a];return b.length<=50?a:b.slice(0,50).join("")+"…"}async function m(a,b,c,f,i,j){if((0,e.existsSync)(a))return(0,d.Ux)(d.v4,async()=>{let e=await (0,d.JE)(d.v4,{sessions:[]});for(let a of e.sessions)a.status||(a.status=a.isLoading?"loading":"normal",delete a.isLoading);let k=e.sessions.findIndex(c=>c.cwd===a&&c.sessionId===b),m=k>=0?e.sessions[k]:void 0,n={cwd:a,sessionId:b,lastActive:Date.now(),status:c,title:l(f||m?.title),lastUserMessage:l(i||m?.lastUserMessage),engine:j||m?.engine};k>=0?e.sessions[k]=n:e.sessions.push(n),e.sessions.sort((a,b)=>b.lastActive-a.lastActive);let o=Date.now()-6048e5,q=Math.min(100,Math.max(15,e.sessions.filter(a=>a.lastActive>=o).length));e.sessions=e.sessions.slice(0,q),await (0,d.An)(d.v4,e),"unread"===c&&m?.status!=="unread"&&(async()=>{let c=await p(a,b).catch(()=>void 0)||n.lastUserMessage;await (0,h.SG)({title:(0,g.basename)(a)||"Cockpit",body:l(c)||n.title||"",data:{cwd:a,sessionId:b}})})().catch(()=>{})})}async function n(a,b){let c=k(a,b);if(c)return z(c);let f=(0,d.eg)(b);return f&&(0,e.existsSync)(f)&&await D(f)||"Untitled Session"}async function o(a,b){let c=k(a,b);if(c)return await A(c);let f=(0,d.eg)(b);return f&&(0,e.existsSync)(f)?await C(f):[]}async function p(a,b){let c=await o(a,b);return c[c.length-1]}let q=new Map;async function r(a,b){let c=function(a,b){let c=k(a,b);if(c)return{path:c,read:B};let f=(0,d.eg)(b);return f&&(0,e.existsSync)(f)?{path:f,read:async a=>({aiTitle:"",summary:"",messages:await C(a)})}:null}(a,b);if(!c)return{aiTitle:"",summary:"",messages:[]};let f="";try{var g;let a;g=c.path,a=(0,e.statSync)(g),f=`${a.mtimeMs}-${a.size}`;let b=q.get(c.path);if(b&&b.fingerprint===f)return q.delete(c.path),q.set(c.path,b),b.content}catch{}let h=await c.read(c.path);if(f&&(q.delete(c.path),q.set(c.path,{fingerprint:f,content:h}),q.size>40)){let a=q.keys().next().value;void 0!==a&&q.delete(a)}return h}async function s(a,b,c){let{aiTitle:d,summary:e,messages:f}=await r(a,b),g=(0,i.K)(d,e,f),h=f[f.length-1],j=c?.includeSearchText?[e,...f].join("\n").toLowerCase():"";return f.length<=10?{title:g,lastUserMessage:h,firstMessages:f.map(a=>l(a)),lastMessages:[],searchText:j}:{title:g,lastUserMessage:h,firstMessages:f.slice(0,5).map(a=>l(a)),lastMessages:f.slice(-5).map(a=>l(a)),searchText:j}}async function t(a){let b=new Map;return Promise.all(a.map(async a=>{let c=a.engine??(await (a=>{let c=b.get(a);if(c)return c;let e=(0,d.JE)((0,d.Mx)(a),{}).then(a=>a.engines??{}).catch(()=>({}));return b.set(a,e),e})(a.cwd))[a.sessionId];return c?{...a,engine:c}:a}))}async function u(a=15){let b=await (0,d.JE)(d.v4,{sessions:[]});for(let a of b.sessions)a.status||(a.status=a.isLoading?"loading":"normal");b.sessions.sort((a,b)=>b.lastActive-a.lastActive);let c=b.sessions.slice(0,a);return t(await Promise.all(c.map(async a=>{if("loading"===a.status&&a.lastUserMessage)return a;try{let b=await s(a.cwd,a.sessionId);return{...a,title:"Untitled Session"!==b.title?b.title:a.title??b.title,lastUserMessage:b.lastUserMessage??a.lastUserMessage,firstMessages:b.firstMessages,lastMessages:b.lastMessages}}catch{return a}})))}function v(a){let b=a.replace(/<command-[^>]*>[\s\S]*?<\/command-[^>]*>/g,"");return(b=b.replace(/<local-command-[^>]*>[\s\S]*?<\/local-command-[^>]*>/g,"")).trim()}function w(a){return!(a.startsWith("This session is being continued")||a.startsWith("Caveat: The messages below"))&&!!a.trim()}let x=['"type":"user"','"type": "user"','"type":"summary"','"type": "summary"','"type":"ai-title"','"type": "ai-title"'];function y(a){for(let b of x)if(a.includes(b))return!0;return!1}async function z(a){try{let b=(0,e.createReadStream)(a),c=(0,f.createInterface)({input:b,crlfDelay:1/0}),d="",g="",h=[];for await(let a of c)if(a.trim()&&y(a))try{let b=JSON.parse(a);if("ai-title"===b.type&&b.aiTitle&&(d=b.aiTitle),"summary"===b.type&&b.summary&&(g=b.summary),"user"===b.type){let a=b.message;if(!a?.content)continue;if("string"==typeof a.content)h.push(a.content);else if(Array.isArray(a.content))for(let b of a.content)"text"===b.type&&b.text&&h.push(b.text)}}catch{}return(0,i.K)(d,g,h)}catch{return"Untitled Session"}}async function A(a){let b=[];try{let c=(0,e.createReadStream)(a);for await(let a of(0,f.createInterface)({input:c,crlfDelay:1/0}))if(a.trim()&&y(a))try{let c=JSON.parse(a);if("user"!==c.type)continue;let d=c.message;if(!d?.content)continue;let e="";if("string"==typeof d.content)e=d.content;else if(Array.isArray(d.content)){for(let a of d.content)if("text"===a.type&&a.text){e=a.text;break}}if(!e)continue;let f=v(e);f&&w(f)&&b.push(f)}catch{}}catch{}return b}async function B(a){let b="",c="",d=[];try{let g=(0,e.createReadStream)(a);for await(let a of(0,f.createInterface)({input:g,crlfDelay:1/0}))if(a.trim()&&y(a))try{let e=JSON.parse(a);if("ai-title"===e.type&&e.aiTitle){b=e.aiTitle;continue}if("summary"===e.type&&e.summary){c=e.summary;continue}if("user"!==e.type)continue;let f=e.message;if(!f?.content)continue;let g="";if("string"==typeof f.content)g=f.content;else if(Array.isArray(f.content)){for(let a of f.content)if("text"===a.type&&a.text){g=a.text;break}}if(!g)continue;let h=v(g);h&&w(h)&&d.push(h)}catch{}}catch{}return{aiTitle:b,summary:c,messages:d}}async function C(a){let b=[];try{let c=(0,e.createReadStream)(a);for await(let a of(0,f.createInterface)({input:c,crlfDelay:1/0})){let c;if(!a.trim())continue;try{c=JSON.parse(a)}catch{continue}if("response_item"!==c.type)continue;let d=c.payload;if(!d||"message"!==d.type||"user"!==d.role)continue;let e=d.content?.filter(a=>"input_text"===a.type&&a.text).map(a=>a.text).join("")||"";if(!e||e.startsWith("<")||e.startsWith("#"))continue;let f=v(e);f&&w(f)&&b.push(f)}}catch{}return b}async function D(a){try{let b=(0,e.createReadStream)(a);for await(let a of(0,f.createInterface)({input:b,crlfDelay:1/0})){let b;if(!a.trim())continue;try{b=JSON.parse(a)}catch{continue}if("response_item"!==b.type)continue;let c=b.payload;if(!c||"message"!==c.type||"user"!==c.role)continue;let d=c.content?.filter(a=>"input_text"===a.type&&a.text).map(a=>a.text).join("")||"";if(!(!d||d.startsWith("<")||d.startsWith("#")))return d.slice(0,80)}return}catch{return}}},89812:(a,b,c)=>{c.d(b,{K:()=>d});function d(a,b,c){if(a)return a;if(b)return b;let d="";for(let a of c){let b=function(a){let b=a.match(/<command-args>([^<]*)<\/command-args>/);if(b&&b[1].trim())return b[1].trim();let c=a.match(/<command-name>([^<]*)<\/command-name>/);if(c&&c[1].trim())return c[1].trim();let d=a.replace(/<command-message>[^<]*<\/command-message>/g,"");return(d=(d=(d=(d=d.replace(/<command-name>[^<]*<\/command-name>/g,"")).replace(/<command-args>[^<]*<\/command-args>/g,"")).replace(/<local-command-stdout>[\s\S]*?<\/local-command-stdout>/g,"")).replace(/<local-command-caveat>[\s\S]*?<\/local-command-caveat>/g,"")).trim()}(a);if(b){if(b.startsWith("/")&&!d){d=b;continue}if(d)return`${d} ${b}`;return b}}return d||"Untitled Session"}}};
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/YOIsQRqVhYPuRyXlhwhoY/_buildManifest.js","static/YOIsQRqVhYPuRyXlhwhoY/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-2d53562f5ec56ca9.js","static/chunks/4bd1b696-f998cba21de05210.js","static/chunks/93794-9623d16482d53c86.js","static/chunks/main-app-fa81833ccceaa1d7.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/MM6vZhLQFwtUo_vz7BSfe/_buildManifest.js","static/MM6vZhLQFwtUo_vz7BSfe/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-2d53562f5ec56ca9.js","static/chunks/4bd1b696-f998cba21de05210.js","static/chunks/93794-9623d16482d53c86.js","static/chunks/main-app-fa81833ccceaa1d7.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/45835d91c2519c62.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-2d53562f5ec56ca9.js"/><script src="/_next/static/chunks/4bd1b696-f998cba21de05210.js" async=""></script><script src="/_next/static/chunks/93794-9623d16482d53c86.js" async=""></script><script src="/_next/static/chunks/main-app-fa81833ccceaa1d7.js" async=""></script><script src="/_next/static/chunks/app/global-error-6485c3d63584ad86.js" async=""></script><script src="/_next/static/chunks/d3ac728e-dc93aac611ac95be.js" async=""></script><script src="/_next/static/chunks/96c8525a-6b7e5168a47cf256.js" async=""></script><script src="/_next/static/chunks/bc21e3dd-47f022e305e45fcc.js" async=""></script><script src="/_next/static/chunks/70e0d97a-75eb584ade68a079.js" async=""></script><script src="/_next/static/chunks/54a60aa6-21f9a2529b2526fe.js" async=""></script><script src="/_next/static/chunks/1332-e26fddaef359ce51.js" async=""></script><script src="/_next/static/chunks/56819-56e9c6ff8d86d236.js" async=""></script><script src="/_next/static/chunks/5504-583edbefcb22ed17.js" async=""></script><script src="/_next/static/chunks/46784-031e2d50dc5f9fba.js" async=""></script><script src="/_next/static/chunks/72353-f1aaa693ddc49568.js" async=""></script><script src="/_next/static/chunks/82032-a6441511b27b4c03.js" async=""></script><script src="/_next/static/chunks/33940-9631b513c48757f4.js" async=""></script><script src="/_next/static/chunks/app/page-e83cd7365efbf878.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/303e8ac791ff3d31.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-2d53562f5ec56ca9.js"/><script src="/_next/static/chunks/4bd1b696-f998cba21de05210.js" async=""></script><script src="/_next/static/chunks/93794-9623d16482d53c86.js" async=""></script><script src="/_next/static/chunks/main-app-fa81833ccceaa1d7.js" async=""></script><script src="/_next/static/chunks/app/global-error-6485c3d63584ad86.js" async=""></script><script src="/_next/static/chunks/d3ac728e-dc93aac611ac95be.js" async=""></script><script src="/_next/static/chunks/96c8525a-6b7e5168a47cf256.js" async=""></script><script src="/_next/static/chunks/bc21e3dd-47f022e305e45fcc.js" async=""></script><script src="/_next/static/chunks/70e0d97a-75eb584ade68a079.js" async=""></script><script src="/_next/static/chunks/54a60aa6-21f9a2529b2526fe.js" async=""></script><script src="/_next/static/chunks/1332-e26fddaef359ce51.js" async=""></script><script src="/_next/static/chunks/56819-56e9c6ff8d86d236.js" async=""></script><script src="/_next/static/chunks/87834-dfec736663e6aac2.js" async=""></script><script src="/_next/static/chunks/46784-24ed72109d7c318b.js" async=""></script><script src="/_next/static/chunks/96911-08609dc685108dcc.js" async=""></script><script src="/_next/static/chunks/82032-a6441511b27b4c03.js" async=""></script><script src="/_next/static/chunks/33372-a2d65ba0d112fc24.js" async=""></script><script src="/_next/static/chunks/app/page-340e8a5ca67a0dad.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>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 max-w-[26rem]"></div><script src="/_next/static/chunks/webpack-2d53562f5ec56ca9.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,[\"34219\",\"static/chunks/app/global-error-6485c3d63584ad86.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/45835d91c2519c62.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/45835d91c2519c62.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\":\"YOIsQRqVhYPuRyXlhwhoY\"}\n9:I[27068,[\"97330\",\"static/chunks/d3ac728e-dc93aac611ac95be.js\",\"88216\",\"static/chunks/96c8525a-6b7e5168a47cf256.js\",\"74281\",\"static/chunks/bc21e3dd-47f022e305e45fcc.js\",\"75004\",\"static/chunks/70e0d97a-75eb584ade68a079.js\",\"60277\",\"static/chunks/54a60aa6-21f9a2529b2526fe.js\",\"1332\",\"static/chunks/1332-e26fddaef359ce51.js\",\"56819\",\"static/chunks/56819-56e9c6ff8d86d236.js\",\"5504\",\"static/chunks/5504-583edbefcb22ed17.js\",\"46784\",\"static/chunks/46784-031e2d50dc5f9fba.js\",\"72353\",\"static/chunks/72353-f1aaa693ddc49568.js\",\"82032\",\"static/chunks/82032-a6441511b27b4c03.js\",\"33940\",\"static/chunks/33940-9631b513c48757f4.js\",\"58974\",\"static/chunks/app/page-e83cd7365efbf878.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>
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 max-w-[26rem]"></div><script src="/_next/static/chunks/webpack-2d53562f5ec56ca9.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,[\"34219\",\"static/chunks/app/global-error-6485c3d63584ad86.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/303e8ac791ff3d31.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/303e8ac791ff3d31.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\":\"MM6vZhLQFwtUo_vz7BSfe\"}\n9:I[27068,[\"97330\",\"static/chunks/d3ac728e-dc93aac611ac95be.js\",\"88216\",\"static/chunks/96c8525a-6b7e5168a47cf256.js\",\"74281\",\"static/chunks/bc21e3dd-47f022e305e45fcc.js\",\"75004\",\"static/chunks/70e0d97a-75eb584ade68a079.js\",\"60277\",\"static/chunks/54a60aa6-21f9a2529b2526fe.js\",\"1332\",\"static/chunks/1332-e26fddaef359ce51.js\",\"56819\",\"static/chunks/56819-56e9c6ff8d86d236.js\",\"87834\",\"static/chunks/87834-dfec736663e6aac2.js\",\"46784\",\"static/chunks/46784-24ed72109d7c318b.js\",\"96911\",\"static/chunks/96911-08609dc685108dcc.js\",\"82032\",\"static/chunks/82032-a6441511b27b4c03.js\",\"33372\",\"static/chunks/33372-a2d65ba0d112fc24.js\",\"58974\",\"static/chunks/app/page-340e8a5ca67a0dad.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-2d53562f5ec56ca9.js"/><script src="/_next/static/chunks/4bd1b696-f998cba21de05210.js" async=""></script><script src="/_next/static/chunks/93794-9623d16482d53c86.js" async=""></script><script src="/_next/static/chunks/main-app-fa81833ccceaa1d7.js" async=""></script><script src="/_next/static/chunks/app/global-error-6485c3d63584ad86.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-2d53562f5ec56ca9.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,[\"34219\",\"static/chunks/app/global-error-6485c3d63584ad86.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\":\"YOIsQRqVhYPuRyXlhwhoY\"}\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-2d53562f5ec56ca9.js"/><script src="/_next/static/chunks/4bd1b696-f998cba21de05210.js" async=""></script><script src="/_next/static/chunks/93794-9623d16482d53c86.js" async=""></script><script src="/_next/static/chunks/main-app-fa81833ccceaa1d7.js" async=""></script><script src="/_next/static/chunks/app/global-error-6485c3d63584ad86.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-2d53562f5ec56ca9.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,[\"34219\",\"static/chunks/app/global-error-6485c3d63584ad86.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\":\"MM6vZhLQFwtUo_vz7BSfe\"}\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":"p6HCYru3wAK0tLxfv7jRBEGSuafNhHfdJ8sQyitfe1A="}
1
+ {"node":{},"edge":{},"encryptionKey":"IMXwYkNoY52jZww3VGUafPQUQJSkzw2ySfC2URupOsI="}
@@ -0,0 +1 @@
1
+ self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:145,errorRate:1e-4,numBits:2780,numHashes:14,bitArray:[1,1,1,0,1,1,0,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0,1,1,1,1,0,1,0,1,0,0,1,1,1,1,1,0,1,0,1,1,1,0,0,1,0,0,1,0,1,1,0,0,1,0,1,1,1,1,0,0,0,1,1,0,1,0,1,1,0,0,0,1,1,0,1,1,1,1,0,1,1,1,1,1,0,0,1,0,1,0,1,1,0,1,1,1,1,0,1,0,1,0,1,1,1,0,0,1,1,0,1,0,1,1,1,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,1,1,0,1,1,1,1,1,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,1,0,1,0,0,1,0,1,1,1,1,0,1,1,1,1,1,0,0,1,1,0,1,0,0,0,0,1,1,1,0,1,0,0,0,1,1,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,0,0,1,0,1,1,0,1,1,1,0,1,1,0,0,0,0,1,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,1,0,1,0,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,1,0,0,1,1,0,0,1,0,1,1,1,1,1,0,1,1,1,0,0,1,0,1,1,0,0,1,0,0,1,0,1,1,0,0,0,0,1,0,0,1,1,0,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,0,1,1,1,0,1,0,1,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,0,1,1,0,1,1,1,1,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,1,1,1,0,0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,1,1,1,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,0,1,1,0,0,0,0,0,1,0,1,1,1,0,1,1,0,0,0,1,0,0,0,0,1,0,1,0,1,0,1,0,0,0,1,1,1,0,0,1,1,1,1,1,0,1,1,1,0,0,1,0,0,1,0,0,1,0,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,0,1,0,0,1,1,1,1,1,0,1,1,1,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,1,1,1,0,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,0,1,0,0,1,1,0,0,1,0,1,0,0,0,0,0,0,1,0,0,1,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,1,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0,1,1,0,0,1,1,1,0,1,1,0,1,1,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,1,0,0,1,1,0,1,1,1,0,0,1,0,0,0,1,1,0,1,1,1,0,1,0,1,1,1,1,1,0,1,1,0,0,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,0,1,1,0,1,1,1,1,0,0,0,1,0,1,0,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,0,0,1,1,0,1,0,1,0,1,0,1,1,1,1,1,0,1,1,0,1,1,0,1,1,1,1,1,0,1,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1,1,1,1,0,1,0,1,0,1,1,0,0,0,1,0,0,1,0,1,1,0,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,0,1,1,1,0,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0,0,0,0,1,0,0,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,1,1,0,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,1,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,1,1,0,1,1,0,1,1,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,1,0,0,0,0,0,1,0,1,0,1,1,1,0,1,1,1,1,0,1,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,1,0,1,0,0,0,0,1,1,0,0,0,1,1,1,0,1,0,0,0,1,1,1,0,0,1,1,0,1,0,1,1,1,0,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,1,1,0,0,0,0,0,1,0,1,1,0,1,0,1,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,1,0,1,1,1,1,1,1,0,1,0,0,0,0,0,1,0,1,1,0,0,0,0,1,0,1,0,1,1,1,1,0,0,1,1,1,1,0,1,0,1,0,0,0,0,1,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,1,0,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,0,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,1,0,0,0,1,1,1,1,1,0,0,1,0,1,0,1,1,0,1,1,1,0,1,1,1,0,0,1,0,1,0,1,1,1,0,0,1,1,1,0,1,1,0,1,0,1,0,0,1,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,1,0,1,0,1,1,1,0,0,0,0,1,0,1,1,1,0,1,1,1,1,0,1,0,0,0,1,1,0,1,1,1,1,1,0,0,0,1,1,1,0,1,0,1,1,0,1,0,0,0,0,0,0,1,1,0,1,0,0,0,1,1,0,0,1,1,0,0,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,1,1,1,0,1,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,1,0,0,0,1,1,1,1,1,0,1,0,1,0,0,0,1,0,1,1,1,1,1,1,0,0,1,1,0,1,1,0,1,0,0,1,1,1,1,1,0,1,0,1,0,0,1,1,1,1,0,1,0,0,1,1,0,1,0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,1,1,0,0,1,0,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,1,0,1,1,1,0,0,1,1,0,0,0,1,0,1,1,1,0,1,1,1,1,0,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0,0,0,0,0,1,0,1,1,1,0,0,1,1,0,0,1,1,1,0,1,0,0,1,0,1,1,0,0,0,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1,0,0,1,1,1,0,1,1,0,1,1,0,0,0,1,1,0,0,1,0,0,1,0,1,1,0,0,0,1,1,0,1,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,1,1,0,0,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,1,0,1,0,0,0,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,0,1,0,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,0,0,0,0,0,1,0,1,1,1,0,0,0,0,1,1,0,0,1,0,1,0,1,1,1,0,0,1,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,0,1,0,1,1,1,1,1,0,0,1,1,1,0,0,0,1,0,1,1,1,1,1,1,0,0,0,0,1,1,1,0,1,0,1,1,1,0,1,0,1,0,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,1,0,1,0,0,0,0,0,1,1,0,0,1,1,1,0,1,0,0,0,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,0,1,0,1,1,1,0,1,1,0,1,1,1,1,1,1,0,0,0,0,1,0,0,1,1,1,0,0,1,0,1,0,0,0,1,1,0,1,0,0,1,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,0,1,0,1,1,1,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,1,0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,0,1,0,1,1,1,0,0,1,1,1,0,0,1,1,1,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,0,1,0,1,1,0,0,1,0,0,0,0,0,1,1,0,1,1,0,1,0,0,1,1,0,1,0,1,1,0,0,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,1,0,0,1,0,0,1,0,0,0,1,0,0,0,1,1,0,1,1,1,1,0,1,0,1,0,0,0,0,1,0,0,1,0,1,0,1,1,1,0,1,1,1,0,0,0,1,0,1,0,0,0,1,1,0,0,0,1,0,1,1,1,1,0,1,1,0,0,0,1,1,1,0,1,1,1,0,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,1,1,0,1,0,0,1,1,1,1,1,0,0,0,0,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,1,0,0,1,1,0,1,0,1,0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0,1,1,1,1,1,0,0,1,0,1,1,1,0,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,0,1,0,1,1,1,0,0,1,1,0,0,1,1,1,0,1,0,1,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,1,1,0,1,0,1,0,1,1,1,1,0,1,1,1,0,1,1,0,1,1,0,1,0,0,1,1,0,1,0,0,0,1,1,1,0,0,1,0,0,1,0,1,1,0,0,0,1,1,1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,1,1,0,0,1,0,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,0,1,1,1,1,1,0,0,1,0,0,1,0,0,0,1,1,1,0,1,0,1,0,1,0,0,1,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,0,0,1,0,1,0,0,1,1,0,1,1,1,0,1,1,1,1,1,0,1,0,1,0,1,1,1,1,0,1,1,1,0,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,0,0,0,1,0,1,1,0,0,1,1,1,0,1,1,1,0,0,1,0,1,1,1,0,1,0,0,0,0,1,0,1]},__routerFilterDynamic:{numItems:7,errorRate:1e-4,numBits:135,numHashes:14,bitArray:[1,1,0,1,0,1,1,1,1,1,1,0,1,0,0,0,1,1,1,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,0,0,0,0,1,0,0,1,1,1,0,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,0,1,1,0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,1,1,0,0,0,0,0,0,1,0,1,1,1,1,0,1,1,0,1,0,0,0,0,1,0,1,1,1,1,0,1,1,0,1,0,1,1,0,0,0,0,0,1,0,0,0,1,1,1,1,0,0,1,1,1,1]},sortedPages:["/_app"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();