@alexjbarnes/cockpit 0.3.1 → 0.4.1

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 (767) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +10 -2
  3. package/.next/build-manifest.json +4 -4
  4. package/.next/next-server.js.nft.json +1 -1
  5. package/.next/prerender-manifest.json +21 -45
  6. package/.next/react-loadable-manifest.json +279 -267
  7. package/.next/routes-manifest.json +68 -12
  8. package/.next/server/app/(app)/agents/[name]/page.js +3 -3
  9. package/.next/server/app/(app)/agents/[name]/page.js.nft.json +1 -1
  10. package/.next/server/app/(app)/agents/[name]/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/(app)/agents/page.js +2 -2
  12. package/.next/server/app/(app)/agents/page.js.nft.json +1 -1
  13. package/.next/server/app/(app)/agents/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/(app)/claude-md/edit/page.js +2 -2
  15. package/.next/server/app/(app)/claude-md/edit/page.js.nft.json +1 -1
  16. package/.next/server/app/(app)/claude-md/edit/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/(app)/claude-md/page.js +2 -2
  18. package/.next/server/app/(app)/claude-md/page.js.nft.json +1 -1
  19. package/.next/server/app/(app)/claude-md/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/(app)/commands/[name]/page.js +3 -3
  21. package/.next/server/app/(app)/commands/[name]/page.js.nft.json +1 -1
  22. package/.next/server/app/(app)/commands/[name]/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/(app)/commands/page.js +2 -2
  24. package/.next/server/app/(app)/commands/page.js.nft.json +1 -1
  25. package/.next/server/app/(app)/commands/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/(app)/hooks/[event]/page.js +3 -3
  27. package/.next/server/app/(app)/hooks/[event]/page.js.nft.json +1 -1
  28. package/.next/server/app/(app)/hooks/[event]/page_client-reference-manifest.js +1 -1
  29. package/.next/server/app/(app)/hooks/page.js +2 -2
  30. package/.next/server/app/(app)/hooks/page.js.nft.json +1 -1
  31. package/.next/server/app/(app)/hooks/page_client-reference-manifest.js +1 -1
  32. package/.next/server/app/(app)/inbox/[id]/page.js +2 -2
  33. package/.next/server/app/(app)/inbox/[id]/page.js.nft.json +1 -1
  34. package/.next/server/app/(app)/inbox/[id]/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/(app)/inbox/page.js +2 -2
  36. package/.next/server/app/(app)/inbox/page.js.nft.json +1 -1
  37. package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/(app)/jobs/[id]/edit/page.js +2 -2
  39. package/.next/server/app/(app)/jobs/[id]/edit/page.js.nft.json +1 -1
  40. package/.next/server/app/(app)/jobs/[id]/edit/page_client-reference-manifest.js +1 -1
  41. package/.next/server/app/(app)/jobs/[id]/page.js +2 -2
  42. package/.next/server/app/(app)/jobs/[id]/page.js.nft.json +1 -1
  43. package/.next/server/app/(app)/jobs/[id]/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/(app)/jobs/[id]/runs/[runId]/page.js +2 -2
  45. package/.next/server/app/(app)/jobs/[id]/runs/[runId]/page.js.nft.json +1 -1
  46. package/.next/server/app/(app)/jobs/[id]/runs/[runId]/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/(app)/jobs/page.js +2 -2
  48. package/.next/server/app/(app)/jobs/page.js.nft.json +1 -1
  49. package/.next/server/app/(app)/jobs/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app/(app)/mcp-servers/[name]/page.js +2 -2
  51. package/.next/server/app/(app)/mcp-servers/[name]/page.js.nft.json +1 -1
  52. package/.next/server/app/(app)/mcp-servers/[name]/page_client-reference-manifest.js +1 -1
  53. package/.next/server/app/(app)/mcp-servers/page.js +2 -2
  54. package/.next/server/app/(app)/mcp-servers/page.js.nft.json +1 -1
  55. package/.next/server/app/(app)/mcp-servers/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/(app)/page.js +2 -2
  57. package/.next/server/app/(app)/page.js.nft.json +1 -1
  58. package/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/(app)/plugins/page.js +2 -0
  60. package/.next/server/app/(app)/{files → plugins}/page.js.nft.json +1 -1
  61. package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -0
  62. package/.next/server/app/(app)/reviews/[owner]/[repo]/[number]/page.js +4 -4
  63. package/.next/server/app/(app)/reviews/[owner]/[repo]/[number]/page.js.nft.json +1 -1
  64. package/.next/server/app/(app)/reviews/[owner]/[repo]/[number]/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/(app)/reviews/[owner]/[repo]/page.js +2 -2
  66. package/.next/server/app/(app)/reviews/[owner]/[repo]/page.js.nft.json +1 -1
  67. package/.next/server/app/(app)/reviews/[owner]/[repo]/page_client-reference-manifest.js +1 -1
  68. package/.next/server/app/(app)/reviews/page.js +2 -2
  69. package/.next/server/app/(app)/reviews/page.js.nft.json +1 -1
  70. package/.next/server/app/(app)/reviews/page_client-reference-manifest.js +1 -1
  71. package/.next/server/app/(app)/sessions/[id]/page.js +2 -2
  72. package/.next/server/app/(app)/sessions/[id]/page.js.nft.json +1 -1
  73. package/.next/server/app/(app)/sessions/[id]/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/(app)/settings/appearance/page.js +2 -2
  75. package/.next/server/app/(app)/settings/appearance/page.js.nft.json +1 -1
  76. package/.next/server/app/(app)/settings/appearance/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/(app)/settings/notifications/page.js +2 -2
  78. package/.next/server/app/(app)/settings/notifications/page.js.nft.json +1 -1
  79. package/.next/server/app/(app)/settings/notifications/page_client-reference-manifest.js +1 -1
  80. package/.next/server/app/(app)/settings/page.js +2 -2
  81. package/.next/server/app/(app)/settings/page.js.nft.json +1 -1
  82. package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/(app)/settings/providers/[id]/page.js +2 -2
  84. package/.next/server/app/(app)/settings/providers/[id]/page.js.nft.json +1 -1
  85. package/.next/server/app/(app)/settings/providers/[id]/page_client-reference-manifest.js +1 -1
  86. package/.next/server/app/(app)/settings/providers/new/page.js +2 -2
  87. package/.next/server/app/(app)/settings/providers/new/page.js.nft.json +1 -1
  88. package/.next/server/app/(app)/settings/providers/new/page_client-reference-manifest.js +1 -1
  89. package/.next/server/app/(app)/settings/providers/page.js +2 -2
  90. package/.next/server/app/(app)/settings/providers/page.js.nft.json +1 -1
  91. package/.next/server/app/(app)/settings/providers/page_client-reference-manifest.js +1 -1
  92. package/.next/server/app/(app)/settings/session/page.js +2 -2
  93. package/.next/server/app/(app)/settings/session/page.js.nft.json +1 -1
  94. package/.next/server/app/(app)/settings/session/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/(app)/skills/[name]/page.js +3 -3
  96. package/.next/server/app/(app)/skills/[name]/page.js.nft.json +1 -1
  97. package/.next/server/app/(app)/skills/[name]/page_client-reference-manifest.js +1 -1
  98. package/.next/server/app/(app)/skills/page.js +2 -2
  99. package/.next/server/app/(app)/skills/page.js.nft.json +1 -1
  100. package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -1
  101. package/.next/server/app/_global-error/page.js +3 -3
  102. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  103. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/_global-error.html +1 -1
  105. package/.next/server/app/_global-error.rsc +1 -1
  106. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  107. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  108. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  109. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  110. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  111. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  112. package/.next/server/app/_not-found/page.js +2 -2
  113. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  114. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  115. package/.next/server/app/_not-found.html +1 -1
  116. package/.next/server/app/_not-found.rsc +2 -2
  117. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  118. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  119. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  120. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  121. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  122. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  123. package/.next/server/app/agents.html +1 -1
  124. package/.next/server/app/agents.rsc +4 -4
  125. package/.next/server/app/agents.segments/!KGFwcCk/agents/__PAGE__.segment.rsc +2 -2
  126. package/.next/server/app/agents.segments/!KGFwcCk/agents.segment.rsc +1 -1
  127. package/.next/server/app/agents.segments/!KGFwcCk.segment.rsc +2 -2
  128. package/.next/server/app/agents.segments/_full.segment.rsc +4 -4
  129. package/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  130. package/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  131. package/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  132. package/.next/server/app/api/agents/[name]/route.js +1 -1
  133. package/.next/server/app/api/agents/route.js +1 -1
  134. package/.next/server/app/api/assistant-session/route.js +1 -0
  135. package/.next/server/app/api/assistant-session/route.js.nft.json +1 -0
  136. package/.next/server/app/api/assistant-session/route_client-reference-manifest.js +1 -0
  137. package/.next/server/app/api/auth/check/route.js +1 -1
  138. package/.next/server/app/api/auth/login/route.js +1 -1
  139. package/.next/server/app/api/auth/setup/route.js +1 -1
  140. package/.next/server/app/api/auth/ws-token/route.js +1 -1
  141. package/.next/server/app/api/btw/route.js +2 -2
  142. package/.next/server/app/api/claude-md/route.js +1 -1
  143. package/.next/server/app/api/commands/[name]/route.js +1 -1
  144. package/.next/server/app/api/commands/route.js +1 -1
  145. package/.next/server/app/api/config/cwd/route.js +1 -0
  146. package/.next/server/app/api/config/cwd/route.js.nft.json +1 -0
  147. package/.next/server/app/api/config/cwd/route_client-reference-manifest.js +1 -0
  148. package/.next/server/app/api/defaults/route.js +1 -1
  149. package/.next/server/app/api/filesystem/browse/route.js +1 -1
  150. package/.next/server/app/api/filesystem/files/route.js +1 -1
  151. package/.next/server/app/api/filesystem/mkdir/route.js +1 -1
  152. package/.next/server/app/api/filesystem/read/route.js +1 -1
  153. package/.next/server/app/api/git/clone/route.js +1 -1
  154. package/.next/server/app/api/git/commit/route.js +1 -1
  155. package/.next/server/app/api/git/diff/route.js +1 -1
  156. package/.next/server/app/api/git/discard/route.js +1 -1
  157. package/.next/server/app/api/git/generate-message/route.js +2 -2
  158. package/.next/server/app/api/git/push/route.js +1 -1
  159. package/.next/server/app/api/git/status/route.js +1 -1
  160. package/.next/server/app/api/github/file-content/route.js +1 -1
  161. package/.next/server/app/api/github/orgs/route.js +1 -1
  162. package/.next/server/app/api/github/prs/checks/route.js +1 -1
  163. package/.next/server/app/api/github/prs/diff/route.js +1 -1
  164. package/.next/server/app/api/github/prs/review/route.js +1 -1
  165. package/.next/server/app/api/github/prs/route.js +1 -1
  166. package/.next/server/app/api/github/prs/view/route.js +1 -1
  167. package/.next/server/app/api/github/repos/route.js +1 -1
  168. package/.next/server/app/api/github/review-session/route.js +1 -1
  169. package/.next/server/app/api/github/review-session/route.js.nft.json +1 -1
  170. package/.next/server/app/api/health/route.js +1 -1
  171. package/.next/server/app/api/hooks/route.js +1 -1
  172. package/.next/server/app/api/inbox/[id]/route.js +1 -5
  173. package/.next/server/app/api/inbox/[id]/route.js.nft.json +1 -1
  174. package/.next/server/app/api/inbox/route.js +1 -5
  175. package/.next/server/app/api/inbox/route.js.nft.json +1 -1
  176. package/.next/server/app/api/jobs/[id]/route.js +1 -1
  177. package/.next/server/app/api/jobs/[id]/route.js.nft.json +1 -1
  178. package/.next/server/app/api/jobs/[id]/runs/[runId]/route.js +1 -1
  179. package/.next/server/app/api/jobs/[id]/runs/[runId]/transcript/route.js +1 -1
  180. package/.next/server/app/api/jobs/[id]/runs/[runId]/transcript/route.js.nft.json +1 -1
  181. package/.next/server/app/api/jobs/[id]/runs/route.js +1 -1
  182. package/.next/server/app/api/jobs/[id]/stop/route.js +1 -0
  183. package/.next/server/app/api/jobs/[id]/stop/route.js.nft.json +1 -0
  184. package/.next/server/app/api/jobs/[id]/stop/route_client-reference-manifest.js +1 -0
  185. package/.next/server/app/api/jobs/[id]/trigger/route.js +1 -1
  186. package/.next/server/app/api/jobs/[id]/trigger/route.js.nft.json +1 -1
  187. package/.next/server/app/api/jobs/mcp-discover/route.js +1 -1
  188. package/.next/server/app/api/jobs/mcp-discover/route.js.nft.json +1 -1
  189. package/.next/server/app/api/jobs/route.js +1 -1
  190. package/.next/server/app/api/jobs/route.js.nft.json +1 -1
  191. package/.next/server/app/api/jobs/status/route.js +1 -1
  192. package/.next/server/app/api/mcp-servers/[name]/route.js +1 -1
  193. package/.next/server/app/api/mcp-servers/[name]/test/route.js +1 -1
  194. package/.next/server/app/api/mcp-servers/[name]/tools/route.js +1 -0
  195. package/.next/server/app/api/mcp-servers/[name]/tools/route.js.nft.json +1 -0
  196. package/.next/server/app/api/mcp-servers/[name]/tools/route_client-reference-manifest.js +1 -0
  197. package/.next/server/app/api/mcp-servers/route.js +1 -1
  198. package/.next/server/app/api/notifications/route.js +1 -1
  199. package/.next/server/app/api/notifications/test/route.js +3 -3
  200. package/.next/server/app/api/plugins/[id]/route.js +1 -0
  201. package/.next/server/app/api/plugins/[id]/route.js.nft.json +1 -0
  202. package/.next/server/app/api/plugins/[id]/route_client-reference-manifest.js +1 -0
  203. package/.next/server/app/api/plugins/install/route.js +1 -0
  204. package/.next/server/app/api/plugins/install/route.js.nft.json +1 -0
  205. package/.next/server/app/api/plugins/install/route_client-reference-manifest.js +1 -0
  206. package/.next/server/app/api/plugins/marketplaces/[name]/route.js +1 -0
  207. package/.next/server/app/api/plugins/marketplaces/[name]/route.js.nft.json +1 -0
  208. package/.next/server/app/api/plugins/marketplaces/[name]/route_client-reference-manifest.js +1 -0
  209. package/.next/server/app/api/plugins/marketplaces/route.js +1 -0
  210. package/.next/server/app/api/plugins/marketplaces/route.js.nft.json +1 -0
  211. package/.next/server/app/api/plugins/marketplaces/route_client-reference-manifest.js +1 -0
  212. package/.next/server/app/api/plugins/route.js +1 -0
  213. package/.next/server/app/api/plugins/route.js.nft.json +1 -0
  214. package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -0
  215. package/.next/server/app/api/providers/[id]/route.js +1 -1
  216. package/.next/server/app/api/providers/route.js +1 -1
  217. package/.next/server/app/api/reviews/pinned/route.js +1 -1
  218. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  219. package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
  220. package/.next/server/app/api/sessions/[id]/mcp/route.js +1 -1
  221. package/.next/server/app/api/sessions/[id]/mcp/route.js.nft.json +1 -1
  222. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  223. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  224. package/.next/server/app/api/sessions/[id]/search/route.js +1 -1
  225. package/.next/server/app/api/sessions/[id]/search/route.js.nft.json +1 -1
  226. package/.next/server/app/api/sessions/[id]/tabs/route.js +1 -1
  227. package/.next/server/app/api/sessions/bulk-delete/route.js +1 -1
  228. package/.next/server/app/api/sessions/bulk-delete/route.js.nft.json +1 -1
  229. package/.next/server/app/api/sessions/by-ids/route.js +1 -1
  230. package/.next/server/app/api/sessions/by-ids/route.js.nft.json +1 -1
  231. package/.next/server/app/api/sessions/group/route.js +1 -1
  232. package/.next/server/app/api/sessions/group/route.js.nft.json +1 -1
  233. package/.next/server/app/api/sessions/pinned/route.js +1 -1
  234. package/.next/server/app/api/sessions/route.js +1 -1
  235. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  236. package/.next/server/app/api/sessions/search/route.js +1 -1
  237. package/.next/server/app/api/sessions/search/route.js.nft.json +1 -1
  238. package/.next/server/app/api/sessions/thinking/route.js +1 -1
  239. package/.next/server/app/api/sessions/thinking/route.js.nft.json +1 -1
  240. package/.next/server/app/api/skills/[name]/route.js +1 -1
  241. package/.next/server/app/api/skills/route.js +1 -1
  242. package/.next/server/app/api/terminal/[id]/route.js +1 -1
  243. package/.next/server/app/api/terminal/[id]/route.js.nft.json +1 -1
  244. package/.next/server/app/api/terminal/route.js +1 -1
  245. package/.next/server/app/api/terminal/route.js.nft.json +1 -1
  246. package/.next/server/app/api/usage/route.js +1 -1
  247. package/.next/server/app/api/version/changelog/route.js +1 -1
  248. package/.next/server/app/api/version/cockpit/changelog/route.js +1 -1
  249. package/.next/server/app/api/version/cockpit/route.js +1 -1
  250. package/.next/server/app/api/version/route.js +2 -2
  251. package/.next/server/app/claude-md/edit.html +1 -1
  252. package/.next/server/app/claude-md/edit.rsc +4 -4
  253. package/.next/server/app/claude-md/edit.segments/!KGFwcCk/claude-md/edit/__PAGE__.segment.rsc +2 -2
  254. package/.next/server/app/claude-md/edit.segments/!KGFwcCk/claude-md/edit.segment.rsc +1 -1
  255. package/.next/server/app/claude-md/edit.segments/!KGFwcCk/claude-md.segment.rsc +1 -1
  256. package/.next/server/app/claude-md/edit.segments/!KGFwcCk.segment.rsc +2 -2
  257. package/.next/server/app/claude-md/edit.segments/_full.segment.rsc +4 -4
  258. package/.next/server/app/claude-md/edit.segments/_head.segment.rsc +1 -1
  259. package/.next/server/app/claude-md/edit.segments/_index.segment.rsc +2 -2
  260. package/.next/server/app/claude-md/edit.segments/_tree.segment.rsc +2 -2
  261. package/.next/server/app/claude-md.html +1 -1
  262. package/.next/server/app/claude-md.rsc +4 -4
  263. package/.next/server/app/claude-md.segments/!KGFwcCk/claude-md/__PAGE__.segment.rsc +2 -2
  264. package/.next/server/app/claude-md.segments/!KGFwcCk/claude-md.segment.rsc +1 -1
  265. package/.next/server/app/claude-md.segments/!KGFwcCk.segment.rsc +2 -2
  266. package/.next/server/app/claude-md.segments/_full.segment.rsc +4 -4
  267. package/.next/server/app/claude-md.segments/_head.segment.rsc +1 -1
  268. package/.next/server/app/claude-md.segments/_index.segment.rsc +2 -2
  269. package/.next/server/app/claude-md.segments/_tree.segment.rsc +2 -2
  270. package/.next/server/app/commands.html +1 -1
  271. package/.next/server/app/commands.rsc +4 -4
  272. package/.next/server/app/commands.segments/!KGFwcCk/commands/__PAGE__.segment.rsc +2 -2
  273. package/.next/server/app/commands.segments/!KGFwcCk/commands.segment.rsc +1 -1
  274. package/.next/server/app/commands.segments/!KGFwcCk.segment.rsc +2 -2
  275. package/.next/server/app/commands.segments/_full.segment.rsc +4 -4
  276. package/.next/server/app/commands.segments/_head.segment.rsc +1 -1
  277. package/.next/server/app/commands.segments/_index.segment.rsc +2 -2
  278. package/.next/server/app/commands.segments/_tree.segment.rsc +2 -2
  279. package/.next/server/app/hooks.html +1 -1
  280. package/.next/server/app/hooks.rsc +4 -4
  281. package/.next/server/app/hooks.segments/!KGFwcCk/hooks/__PAGE__.segment.rsc +2 -2
  282. package/.next/server/app/hooks.segments/!KGFwcCk/hooks.segment.rsc +1 -1
  283. package/.next/server/app/hooks.segments/!KGFwcCk.segment.rsc +2 -2
  284. package/.next/server/app/hooks.segments/_full.segment.rsc +4 -4
  285. package/.next/server/app/hooks.segments/_head.segment.rsc +1 -1
  286. package/.next/server/app/hooks.segments/_index.segment.rsc +2 -2
  287. package/.next/server/app/hooks.segments/_tree.segment.rsc +2 -2
  288. package/.next/server/app/inbox.html +1 -1
  289. package/.next/server/app/inbox.rsc +4 -4
  290. package/.next/server/app/inbox.segments/!KGFwcCk/inbox/__PAGE__.segment.rsc +2 -2
  291. package/.next/server/app/inbox.segments/!KGFwcCk/inbox.segment.rsc +1 -1
  292. package/.next/server/app/inbox.segments/!KGFwcCk.segment.rsc +2 -2
  293. package/.next/server/app/inbox.segments/_full.segment.rsc +4 -4
  294. package/.next/server/app/inbox.segments/_head.segment.rsc +1 -1
  295. package/.next/server/app/inbox.segments/_index.segment.rsc +2 -2
  296. package/.next/server/app/inbox.segments/_tree.segment.rsc +2 -2
  297. package/.next/server/app/index.html +1 -1
  298. package/.next/server/app/index.rsc +4 -4
  299. package/.next/server/app/index.segments/!KGFwcCk/__PAGE__.segment.rsc +2 -2
  300. package/.next/server/app/index.segments/!KGFwcCk.segment.rsc +2 -2
  301. package/.next/server/app/index.segments/_full.segment.rsc +4 -4
  302. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  303. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  304. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  305. package/.next/server/app/jobs.html +1 -1
  306. package/.next/server/app/jobs.rsc +4 -4
  307. package/.next/server/app/jobs.segments/!KGFwcCk/jobs/__PAGE__.segment.rsc +2 -2
  308. package/.next/server/app/jobs.segments/!KGFwcCk/jobs.segment.rsc +1 -1
  309. package/.next/server/app/jobs.segments/!KGFwcCk.segment.rsc +2 -2
  310. package/.next/server/app/jobs.segments/_full.segment.rsc +4 -4
  311. package/.next/server/app/jobs.segments/_head.segment.rsc +1 -1
  312. package/.next/server/app/jobs.segments/_index.segment.rsc +2 -2
  313. package/.next/server/app/jobs.segments/_tree.segment.rsc +2 -2
  314. package/.next/server/app/login/page.js +2 -2
  315. package/.next/server/app/login/page.js.nft.json +1 -1
  316. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  317. package/.next/server/app/login.html +1 -1
  318. package/.next/server/app/login.rsc +3 -3
  319. package/.next/server/app/login.segments/_full.segment.rsc +3 -3
  320. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  321. package/.next/server/app/login.segments/_index.segment.rsc +2 -2
  322. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  323. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  324. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  325. package/.next/server/app/mcp-servers.html +1 -1
  326. package/.next/server/app/mcp-servers.rsc +4 -4
  327. package/.next/server/app/mcp-servers.segments/!KGFwcCk/mcp-servers/__PAGE__.segment.rsc +2 -2
  328. package/.next/server/app/mcp-servers.segments/!KGFwcCk/mcp-servers.segment.rsc +1 -1
  329. package/.next/server/app/mcp-servers.segments/!KGFwcCk.segment.rsc +2 -2
  330. package/.next/server/app/mcp-servers.segments/_full.segment.rsc +4 -4
  331. package/.next/server/app/mcp-servers.segments/_head.segment.rsc +1 -1
  332. package/.next/server/app/mcp-servers.segments/_index.segment.rsc +2 -2
  333. package/.next/server/app/mcp-servers.segments/_tree.segment.rsc +2 -2
  334. package/.next/server/app/plugins.html +1 -0
  335. package/.next/server/app/{changes.meta → plugins.meta} +3 -3
  336. package/.next/server/app/{changes.rsc → plugins.rsc} +4 -4
  337. package/.next/server/app/{files.segments/!KGFwcCk/files → plugins.segments/!KGFwcCk/plugins}/__PAGE__.segment.rsc +2 -2
  338. package/.next/server/app/{changes.segments/!KGFwcCk/changes.segment.rsc → plugins.segments/!KGFwcCk/plugins.segment.rsc} +1 -1
  339. package/.next/server/app/{changes.segments → plugins.segments}/!KGFwcCk.segment.rsc +2 -2
  340. package/.next/server/app/{changes.segments → plugins.segments}/_full.segment.rsc +4 -4
  341. package/.next/server/app/{changes.segments → plugins.segments}/_head.segment.rsc +1 -1
  342. package/.next/server/app/{files.segments → plugins.segments}/_index.segment.rsc +2 -2
  343. package/.next/server/app/{changes.segments → plugins.segments}/_tree.segment.rsc +2 -2
  344. package/.next/server/app/reviews.html +1 -1
  345. package/.next/server/app/reviews.rsc +4 -4
  346. package/.next/server/app/reviews.segments/!KGFwcCk/reviews/__PAGE__.segment.rsc +2 -2
  347. package/.next/server/app/reviews.segments/!KGFwcCk/reviews.segment.rsc +1 -1
  348. package/.next/server/app/reviews.segments/!KGFwcCk.segment.rsc +2 -2
  349. package/.next/server/app/reviews.segments/_full.segment.rsc +4 -4
  350. package/.next/server/app/reviews.segments/_head.segment.rsc +1 -1
  351. package/.next/server/app/reviews.segments/_index.segment.rsc +2 -2
  352. package/.next/server/app/reviews.segments/_tree.segment.rsc +2 -2
  353. package/.next/server/app/settings/appearance.html +1 -1
  354. package/.next/server/app/settings/appearance.rsc +4 -4
  355. package/.next/server/app/settings/appearance.segments/!KGFwcCk/settings/appearance/__PAGE__.segment.rsc +2 -2
  356. package/.next/server/app/settings/appearance.segments/!KGFwcCk/settings/appearance.segment.rsc +1 -1
  357. package/.next/server/app/settings/appearance.segments/!KGFwcCk/settings.segment.rsc +1 -1
  358. package/.next/server/app/settings/appearance.segments/!KGFwcCk.segment.rsc +2 -2
  359. package/.next/server/app/settings/appearance.segments/_full.segment.rsc +4 -4
  360. package/.next/server/app/settings/appearance.segments/_head.segment.rsc +1 -1
  361. package/.next/server/app/settings/appearance.segments/_index.segment.rsc +2 -2
  362. package/.next/server/app/settings/appearance.segments/_tree.segment.rsc +2 -2
  363. package/.next/server/app/settings/notifications.html +1 -1
  364. package/.next/server/app/settings/notifications.rsc +4 -4
  365. package/.next/server/app/settings/notifications.segments/!KGFwcCk/settings/notifications/__PAGE__.segment.rsc +2 -2
  366. package/.next/server/app/settings/notifications.segments/!KGFwcCk/settings/notifications.segment.rsc +1 -1
  367. package/.next/server/app/settings/notifications.segments/!KGFwcCk/settings.segment.rsc +1 -1
  368. package/.next/server/app/settings/notifications.segments/!KGFwcCk.segment.rsc +2 -2
  369. package/.next/server/app/settings/notifications.segments/_full.segment.rsc +4 -4
  370. package/.next/server/app/settings/notifications.segments/_head.segment.rsc +1 -1
  371. package/.next/server/app/settings/notifications.segments/_index.segment.rsc +2 -2
  372. package/.next/server/app/settings/notifications.segments/_tree.segment.rsc +2 -2
  373. package/.next/server/app/settings/providers/new.html +1 -1
  374. package/.next/server/app/settings/providers/new.rsc +4 -4
  375. package/.next/server/app/settings/providers/new.segments/!KGFwcCk/settings/providers/new/__PAGE__.segment.rsc +2 -2
  376. package/.next/server/app/settings/providers/new.segments/!KGFwcCk/settings/providers/new.segment.rsc +1 -1
  377. package/.next/server/app/settings/providers/new.segments/!KGFwcCk/settings/providers.segment.rsc +1 -1
  378. package/.next/server/app/settings/providers/new.segments/!KGFwcCk/settings.segment.rsc +1 -1
  379. package/.next/server/app/settings/providers/new.segments/!KGFwcCk.segment.rsc +2 -2
  380. package/.next/server/app/settings/providers/new.segments/_full.segment.rsc +4 -4
  381. package/.next/server/app/settings/providers/new.segments/_head.segment.rsc +1 -1
  382. package/.next/server/app/settings/providers/new.segments/_index.segment.rsc +2 -2
  383. package/.next/server/app/settings/providers/new.segments/_tree.segment.rsc +2 -2
  384. package/.next/server/app/settings/providers.html +1 -1
  385. package/.next/server/app/settings/providers.rsc +4 -4
  386. package/.next/server/app/settings/providers.segments/!KGFwcCk/settings/providers/__PAGE__.segment.rsc +2 -2
  387. package/.next/server/app/settings/providers.segments/!KGFwcCk/settings/providers.segment.rsc +1 -1
  388. package/.next/server/app/settings/providers.segments/!KGFwcCk/settings.segment.rsc +1 -1
  389. package/.next/server/app/settings/providers.segments/!KGFwcCk.segment.rsc +2 -2
  390. package/.next/server/app/settings/providers.segments/_full.segment.rsc +4 -4
  391. package/.next/server/app/settings/providers.segments/_head.segment.rsc +1 -1
  392. package/.next/server/app/settings/providers.segments/_index.segment.rsc +2 -2
  393. package/.next/server/app/settings/providers.segments/_tree.segment.rsc +2 -2
  394. package/.next/server/app/settings/session.html +1 -1
  395. package/.next/server/app/settings/session.rsc +4 -4
  396. package/.next/server/app/settings/session.segments/!KGFwcCk/settings/session/__PAGE__.segment.rsc +2 -2
  397. package/.next/server/app/settings/session.segments/!KGFwcCk/settings/session.segment.rsc +1 -1
  398. package/.next/server/app/settings/session.segments/!KGFwcCk/settings.segment.rsc +1 -1
  399. package/.next/server/app/settings/session.segments/!KGFwcCk.segment.rsc +2 -2
  400. package/.next/server/app/settings/session.segments/_full.segment.rsc +4 -4
  401. package/.next/server/app/settings/session.segments/_head.segment.rsc +1 -1
  402. package/.next/server/app/settings/session.segments/_index.segment.rsc +2 -2
  403. package/.next/server/app/settings/session.segments/_tree.segment.rsc +2 -2
  404. package/.next/server/app/settings.html +1 -1
  405. package/.next/server/app/settings.rsc +4 -4
  406. package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +2 -2
  407. package/.next/server/app/settings.segments/!KGFwcCk/settings.segment.rsc +1 -1
  408. package/.next/server/app/settings.segments/!KGFwcCk.segment.rsc +2 -2
  409. package/.next/server/app/settings.segments/_full.segment.rsc +4 -4
  410. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  411. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  412. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  413. package/.next/server/app/skills.html +1 -1
  414. package/.next/server/app/skills.rsc +4 -4
  415. package/.next/server/app/skills.segments/!KGFwcCk/skills/__PAGE__.segment.rsc +2 -2
  416. package/.next/server/app/skills.segments/!KGFwcCk/skills.segment.rsc +1 -1
  417. package/.next/server/app/skills.segments/!KGFwcCk.segment.rsc +2 -2
  418. package/.next/server/app/skills.segments/_full.segment.rsc +4 -4
  419. package/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  420. package/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  421. package/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  422. package/.next/server/app-paths-manifest.json +10 -2
  423. package/.next/server/chunks/1011.js +1 -1
  424. package/.next/server/chunks/1327.js +1 -1
  425. package/.next/server/chunks/1979.js +7 -2
  426. package/.next/server/chunks/2666.js +1 -0
  427. package/.next/server/chunks/3136.js +11 -0
  428. package/.next/server/chunks/319.js +45 -0
  429. package/.next/server/chunks/3445.js +2 -2
  430. package/.next/server/chunks/3764.js +1 -1
  431. package/.next/server/chunks/4053.js +4971 -0
  432. package/.next/server/chunks/4734.js +201 -0
  433. package/.next/server/chunks/5318.js +1 -1
  434. package/.next/server/chunks/5472.js +1 -1
  435. package/.next/server/chunks/6304.js +1 -1
  436. package/.next/server/chunks/6705.js +1 -1
  437. package/.next/server/chunks/7539.js +5 -0
  438. package/.next/server/chunks/7891.js +3 -0
  439. package/.next/server/chunks/8578.js +1 -1
  440. package/.next/server/chunks/8728.js +1 -0
  441. package/.next/server/middleware-build-manifest.js +1 -1
  442. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  443. package/.next/server/pages/404.html +1 -1
  444. package/.next/server/pages/500.html +1 -1
  445. package/.next/server/server-reference-manifest.json +1 -1
  446. package/.next/static/NTa6G91R3HtKCLYuQqdR0/_buildManifest.js +1 -0
  447. package/.next/static/chunks/12644.84908edd1bec8b5a.js +1 -0
  448. package/.next/static/chunks/14371-46bd93e838a73082.js +201 -0
  449. package/.next/static/chunks/1550-2b61396833da3dec.js +25 -0
  450. package/.next/static/chunks/18977.393a8bc1bef44fc4.js +1 -0
  451. package/.next/static/chunks/{2503.bb9d3528c3c7ccae.js → 2503.68e12779c4b14adb.js} +1 -1
  452. package/.next/static/chunks/{27455.1bce740b63d7c3cc.js → 27455.8f2189c777c63368.js} +1 -1
  453. package/.next/static/chunks/33072.3d32bb7b2a85ca9b.js +1 -0
  454. package/.next/static/chunks/39267.0c93a6bed8e46ac0.js +1 -0
  455. package/.next/static/chunks/52333.ff3bf0753b68875e.js +1 -0
  456. package/.next/static/chunks/69940.42e1ca99efc62caf.js +1 -0
  457. package/.next/static/chunks/70400.ffe0412efe741888.js +1 -0
  458. package/.next/static/chunks/7113.336a2a8deabe2aa5.js +1 -0
  459. package/.next/static/chunks/{71642.852436e8f0287b89.js → 71642.e11bcaa30efbf1f2.js} +1 -1
  460. package/.next/static/chunks/{72839.a5325a99f8c12fed.js → 72839.225c36dd5e767a20.js} +1 -1
  461. package/.next/static/chunks/{69427.a0b463c808aa54c8.js → 81272.b0027c9bc80050aa.js} +1 -1
  462. package/.next/static/chunks/85853.421f0c913b3d332b.js +1 -0
  463. package/.next/static/chunks/86155.3c5c1468fa2f446e.js +1 -0
  464. package/.next/static/chunks/86339.ba009abde9765665.js +1 -0
  465. package/.next/static/chunks/86939-ba1fb2321ef9cd80.js +1 -0
  466. package/.next/static/chunks/93794-b87eef7d177fe7b3.js +32 -0
  467. package/.next/static/chunks/989-6074551b2b54a168.js +3 -0
  468. package/.next/static/chunks/app/(app)/agents/[name]/page-2b04446e17990f1a.js +8 -0
  469. package/.next/static/chunks/app/(app)/agents/page-ba23fc2296a7be83.js +1 -0
  470. package/.next/static/chunks/app/(app)/claude-md/edit/page-a281913e0b8add64.js +1 -0
  471. package/.next/static/chunks/app/(app)/claude-md/{page-cd9e2176a12ba241.js → page-2d96e3554ef23d18.js} +1 -1
  472. package/.next/static/chunks/app/(app)/commands/[name]/page-fb34a46c0c086dab.js +6 -0
  473. package/.next/static/chunks/app/(app)/commands/page-3802984c62d8ac69.js +1 -0
  474. package/.next/static/chunks/app/(app)/hooks/[event]/{page-28038323fd29adfa.js → page-9481839e736408cb.js} +2 -2
  475. package/.next/static/chunks/app/(app)/hooks/page-f430735f702c7219.js +1 -0
  476. package/.next/static/chunks/app/(app)/inbox/[id]/page-aadeab885f4845b0.js +1 -0
  477. package/.next/static/chunks/app/(app)/inbox/page-b95594cb0a1a5cac.js +1 -0
  478. package/.next/static/chunks/app/(app)/jobs/[id]/edit/page-cc5a314765daff0b.js +1 -0
  479. package/.next/static/chunks/app/(app)/jobs/[id]/page-5890d22a832830ae.js +1 -0
  480. package/.next/static/chunks/app/(app)/jobs/[id]/runs/[runId]/page-0b99d3ca8a0db5a4.js +1 -0
  481. package/.next/static/chunks/app/(app)/jobs/page-3112e52c1cf2a1c6.js +1 -0
  482. package/.next/static/chunks/app/(app)/{layout-ce9e1be301c60fe5.js → layout-62bd7715bd974abb.js} +1 -1
  483. package/.next/static/chunks/app/(app)/mcp-servers/[name]/{page-d6d805a27ec0b0c0.js → page-c8586b1dc6f9824d.js} +1 -1
  484. package/.next/static/chunks/app/(app)/mcp-servers/page-bfc2a6ca8f7968c9.js +1 -0
  485. package/.next/static/chunks/app/(app)/page-7fa2e1ffac49c78b.js +1 -0
  486. package/.next/static/chunks/app/(app)/plugins/page-f37a96c5d3bd20a1.js +1 -0
  487. package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/[number]/page-9bdb676f496d53bd.js +13 -0
  488. package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/{page-c5fd013309ab3eba.js → page-200fefe31b935564.js} +1 -1
  489. package/.next/static/chunks/app/(app)/reviews/page-2b8118a506454063.js +1 -0
  490. package/.next/static/chunks/app/(app)/sessions/[id]/page-428e74d62712abe2.js +1 -0
  491. package/.next/static/chunks/app/(app)/settings/appearance/{page-95902da748ac5f1e.js → page-e2b21c857330b047.js} +1 -1
  492. package/.next/static/chunks/app/(app)/settings/notifications/page-4c4e5802b3993e7f.js +1 -0
  493. package/.next/static/chunks/app/(app)/settings/page-3c1d956c719f0160.js +1 -0
  494. package/.next/static/chunks/app/(app)/settings/providers/[id]/page-020f2eab5c3a93ee.js +1 -0
  495. package/.next/static/chunks/app/(app)/settings/providers/new/page-9010d32aeca78d7f.js +1 -0
  496. package/.next/static/chunks/app/(app)/settings/providers/page-d86ebcd6d1cb033d.js +1 -0
  497. package/.next/static/chunks/app/(app)/settings/session/page-174370077dbb9079.js +1 -0
  498. package/.next/static/chunks/app/(app)/skills/[name]/page-dfea5f58b95c01b6.js +6 -0
  499. package/.next/static/chunks/app/(app)/skills/page-c33dbb722dbdf826.js +1 -0
  500. package/.next/static/chunks/app/_global-error/page-bf8153dffcb47d46.js +1 -0
  501. package/.next/static/chunks/app/api/agents/[name]/route-bf8153dffcb47d46.js +1 -0
  502. package/.next/static/chunks/app/api/agents/route-bf8153dffcb47d46.js +1 -0
  503. package/.next/static/chunks/app/api/assistant-session/route-bf8153dffcb47d46.js +1 -0
  504. package/.next/static/chunks/app/api/auth/check/route-bf8153dffcb47d46.js +1 -0
  505. package/.next/static/chunks/app/api/auth/login/route-bf8153dffcb47d46.js +1 -0
  506. package/.next/static/chunks/app/api/auth/setup/route-bf8153dffcb47d46.js +1 -0
  507. package/.next/static/chunks/app/api/auth/ws-token/route-bf8153dffcb47d46.js +1 -0
  508. package/.next/static/chunks/app/api/btw/route-bf8153dffcb47d46.js +1 -0
  509. package/.next/static/chunks/app/api/claude-md/route-bf8153dffcb47d46.js +1 -0
  510. package/.next/static/chunks/app/api/commands/[name]/route-bf8153dffcb47d46.js +1 -0
  511. package/.next/static/chunks/app/api/commands/route-bf8153dffcb47d46.js +1 -0
  512. package/.next/static/chunks/app/api/config/cwd/route-bf8153dffcb47d46.js +1 -0
  513. package/.next/static/chunks/app/api/defaults/route-bf8153dffcb47d46.js +1 -0
  514. package/.next/static/chunks/app/api/filesystem/browse/route-bf8153dffcb47d46.js +1 -0
  515. package/.next/static/chunks/app/api/filesystem/files/route-bf8153dffcb47d46.js +1 -0
  516. package/.next/static/chunks/app/api/filesystem/mkdir/route-bf8153dffcb47d46.js +1 -0
  517. package/.next/static/chunks/app/api/filesystem/read/route-bf8153dffcb47d46.js +1 -0
  518. package/.next/static/chunks/app/api/git/clone/route-bf8153dffcb47d46.js +1 -0
  519. package/.next/static/chunks/app/api/git/commit/route-bf8153dffcb47d46.js +1 -0
  520. package/.next/static/chunks/app/api/git/diff/route-bf8153dffcb47d46.js +1 -0
  521. package/.next/static/chunks/app/api/git/discard/route-bf8153dffcb47d46.js +1 -0
  522. package/.next/static/chunks/app/api/git/generate-message/route-bf8153dffcb47d46.js +1 -0
  523. package/.next/static/chunks/app/api/git/push/route-bf8153dffcb47d46.js +1 -0
  524. package/.next/static/chunks/app/api/git/status/route-bf8153dffcb47d46.js +1 -0
  525. package/.next/static/chunks/app/api/github/file-content/route-bf8153dffcb47d46.js +1 -0
  526. package/.next/static/chunks/app/api/github/orgs/route-bf8153dffcb47d46.js +1 -0
  527. package/.next/static/chunks/app/api/github/prs/checks/route-bf8153dffcb47d46.js +1 -0
  528. package/.next/static/chunks/app/api/github/prs/diff/route-bf8153dffcb47d46.js +1 -0
  529. package/.next/static/chunks/app/api/github/prs/review/route-bf8153dffcb47d46.js +1 -0
  530. package/.next/static/chunks/app/api/github/prs/route-bf8153dffcb47d46.js +1 -0
  531. package/.next/static/chunks/app/api/github/prs/view/route-bf8153dffcb47d46.js +1 -0
  532. package/.next/static/chunks/app/api/github/repos/route-bf8153dffcb47d46.js +1 -0
  533. package/.next/static/chunks/app/api/github/review-session/route-bf8153dffcb47d46.js +1 -0
  534. package/.next/static/chunks/app/api/health/route-bf8153dffcb47d46.js +1 -0
  535. package/.next/static/chunks/app/api/hooks/route-bf8153dffcb47d46.js +1 -0
  536. package/.next/static/chunks/app/api/inbox/[id]/route-bf8153dffcb47d46.js +1 -0
  537. package/.next/static/chunks/app/api/inbox/route-bf8153dffcb47d46.js +1 -0
  538. package/.next/static/chunks/app/api/jobs/[id]/route-bf8153dffcb47d46.js +1 -0
  539. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/route-bf8153dffcb47d46.js +1 -0
  540. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/transcript/route-bf8153dffcb47d46.js +1 -0
  541. package/.next/static/chunks/app/api/jobs/[id]/runs/route-bf8153dffcb47d46.js +1 -0
  542. package/.next/static/chunks/app/api/jobs/[id]/stop/route-bf8153dffcb47d46.js +1 -0
  543. package/.next/static/chunks/app/api/jobs/[id]/trigger/route-bf8153dffcb47d46.js +1 -0
  544. package/.next/static/chunks/app/api/jobs/mcp-discover/route-bf8153dffcb47d46.js +1 -0
  545. package/.next/static/chunks/app/api/jobs/route-bf8153dffcb47d46.js +1 -0
  546. package/.next/static/chunks/app/api/jobs/status/route-bf8153dffcb47d46.js +1 -0
  547. package/.next/static/chunks/app/api/mcp-servers/[name]/route-bf8153dffcb47d46.js +1 -0
  548. package/.next/static/chunks/app/api/mcp-servers/[name]/test/route-bf8153dffcb47d46.js +1 -0
  549. package/.next/static/chunks/app/api/mcp-servers/[name]/tools/route-bf8153dffcb47d46.js +1 -0
  550. package/.next/static/chunks/app/api/mcp-servers/route-bf8153dffcb47d46.js +1 -0
  551. package/.next/static/chunks/app/api/notifications/route-bf8153dffcb47d46.js +1 -0
  552. package/.next/static/chunks/app/api/notifications/test/route-bf8153dffcb47d46.js +1 -0
  553. package/.next/static/chunks/app/api/plugins/[id]/route-bf8153dffcb47d46.js +1 -0
  554. package/.next/static/chunks/app/api/plugins/install/route-bf8153dffcb47d46.js +1 -0
  555. package/.next/static/chunks/app/api/plugins/marketplaces/[name]/route-bf8153dffcb47d46.js +1 -0
  556. package/.next/static/chunks/app/api/plugins/marketplaces/route-bf8153dffcb47d46.js +1 -0
  557. package/.next/static/chunks/app/api/plugins/route-bf8153dffcb47d46.js +1 -0
  558. package/.next/static/chunks/app/api/providers/[id]/route-bf8153dffcb47d46.js +1 -0
  559. package/.next/static/chunks/app/api/providers/route-bf8153dffcb47d46.js +1 -0
  560. package/.next/static/chunks/app/api/reviews/pinned/route-bf8153dffcb47d46.js +1 -0
  561. package/.next/static/chunks/app/api/sessions/[id]/context/route-bf8153dffcb47d46.js +1 -0
  562. package/.next/static/chunks/app/api/sessions/[id]/mcp/route-bf8153dffcb47d46.js +1 -0
  563. package/.next/static/chunks/app/api/sessions/[id]/route-bf8153dffcb47d46.js +1 -0
  564. package/.next/static/chunks/app/api/sessions/[id]/search/route-bf8153dffcb47d46.js +1 -0
  565. package/.next/static/chunks/app/api/sessions/[id]/tabs/route-bf8153dffcb47d46.js +1 -0
  566. package/.next/static/chunks/app/api/sessions/bulk-delete/route-bf8153dffcb47d46.js +1 -0
  567. package/.next/static/chunks/app/api/sessions/by-ids/route-bf8153dffcb47d46.js +1 -0
  568. package/.next/static/chunks/app/api/sessions/group/route-bf8153dffcb47d46.js +1 -0
  569. package/.next/static/chunks/app/api/sessions/pinned/route-bf8153dffcb47d46.js +1 -0
  570. package/.next/static/chunks/app/api/sessions/route-bf8153dffcb47d46.js +1 -0
  571. package/.next/static/chunks/app/api/sessions/search/route-bf8153dffcb47d46.js +1 -0
  572. package/.next/static/chunks/app/api/sessions/thinking/route-bf8153dffcb47d46.js +1 -0
  573. package/.next/static/chunks/app/api/skills/[name]/route-bf8153dffcb47d46.js +1 -0
  574. package/.next/static/chunks/app/api/skills/route-bf8153dffcb47d46.js +1 -0
  575. package/.next/static/chunks/app/api/terminal/[id]/route-bf8153dffcb47d46.js +1 -0
  576. package/.next/static/chunks/app/api/terminal/route-bf8153dffcb47d46.js +1 -0
  577. package/.next/static/chunks/app/api/usage/route-bf8153dffcb47d46.js +1 -0
  578. package/.next/static/chunks/app/api/version/changelog/route-bf8153dffcb47d46.js +1 -0
  579. package/.next/static/chunks/app/api/version/cockpit/changelog/route-bf8153dffcb47d46.js +1 -0
  580. package/.next/static/chunks/app/api/version/cockpit/route-bf8153dffcb47d46.js +1 -0
  581. package/.next/static/chunks/app/api/version/route-bf8153dffcb47d46.js +1 -0
  582. package/.next/static/chunks/{framework-6fd9f138158c42e0.js → framework-45a1aae1a0f575fd.js} +1 -1
  583. package/.next/static/chunks/{main-5dac9bfffcc23702.js → main-eb9ff0b73c75808a.js} +3 -3
  584. package/.next/static/chunks/next/dist/client/components/builtin/app-error-bf8153dffcb47d46.js +1 -0
  585. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-bf8153dffcb47d46.js +1 -0
  586. package/.next/static/chunks/next/dist/client/components/builtin/not-found-bf8153dffcb47d46.js +1 -0
  587. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-bf8153dffcb47d46.js +1 -0
  588. package/.next/static/chunks/webpack-76a545b642140725.js +1 -0
  589. package/.next/static/css/4cc7360c7e3ca504.css +1 -0
  590. package/README.md +2 -2
  591. package/dist/server.js +10 -0
  592. package/dist/src/lib/cli-commands.js +147 -0
  593. package/dist/src/lib/models.js +57 -1
  594. package/dist/src/lib/paste-detect.js +161 -0
  595. package/dist/src/server/assistant-settings.js +35 -0
  596. package/dist/src/server/claude-bin.js +32 -0
  597. package/dist/src/server/claude-settings.js +3 -0
  598. package/dist/src/server/cli-init-fetch.js +6 -1
  599. package/dist/src/server/inbox.js +2 -2
  600. package/dist/src/server/job-scheduler.js +146 -4
  601. package/dist/src/server/job-storage.js +33 -0
  602. package/dist/src/server/mcp/cockpit-agent-prompt.js +5 -0
  603. package/dist/src/server/mcp/cockpit-config-server.js +632 -0
  604. package/dist/src/server/mcp/run-context.js +23 -0
  605. package/dist/src/server/notifications.js +51 -10
  606. package/dist/src/server/plugins.js +103 -0
  607. package/dist/src/server/providers.js +25 -2
  608. package/dist/src/server/pty-runtime.js +113 -3
  609. package/dist/src/server/pty-session.js +7 -4
  610. package/dist/src/server/session-manager.js +394 -116
  611. package/dist/src/server/singleton.js +9 -0
  612. package/dist/src/server/terminal-buffer.js +17 -0
  613. package/dist/src/server/terminal-manager.js +9 -13
  614. package/dist/src/server/transcript.js +65 -27
  615. package/dist/src/server/ws-handler.js +19 -7
  616. package/next.config.ts +1 -0
  617. package/package.json +3 -2
  618. package/.next/server/app/(app)/changes/page.js +0 -2
  619. package/.next/server/app/(app)/changes/page.js.nft.json +0 -1
  620. package/.next/server/app/(app)/changes/page_client-reference-manifest.js +0 -1
  621. package/.next/server/app/(app)/files/page.js +0 -2
  622. package/.next/server/app/(app)/files/page_client-reference-manifest.js +0 -1
  623. package/.next/server/app/changes.html +0 -1
  624. package/.next/server/app/changes.segments/!KGFwcCk/changes/__PAGE__.segment.rsc +0 -9
  625. package/.next/server/app/changes.segments/_index.segment.rsc +0 -5
  626. package/.next/server/app/files.html +0 -1
  627. package/.next/server/app/files.meta +0 -16
  628. package/.next/server/app/files.rsc +0 -23
  629. package/.next/server/app/files.segments/!KGFwcCk/files.segment.rsc +0 -5
  630. package/.next/server/app/files.segments/!KGFwcCk.segment.rsc +0 -7
  631. package/.next/server/app/files.segments/_full.segment.rsc +0 -23
  632. package/.next/server/app/files.segments/_head.segment.rsc +0 -6
  633. package/.next/server/app/files.segments/_tree.segment.rsc +0 -2
  634. package/.next/server/chunks/3006.js +0 -199
  635. package/.next/server/chunks/4342.js +0 -1
  636. package/.next/server/chunks/4352.js +0 -1
  637. package/.next/server/chunks/4445.js +0 -1
  638. package/.next/server/chunks/63.js +0 -45
  639. package/.next/server/chunks/7782.js +0 -6
  640. package/.next/server/chunks/8148.js +0 -1
  641. package/.next/server/chunks/9599.js +0 -11
  642. package/.next/static/I-rxZaJEzhe3ZUTjSqB11/_buildManifest.js +0 -1
  643. package/.next/static/chunks/18977.a98edaf19c6df2d4.js +0 -1
  644. package/.next/static/chunks/26126-97874904b42befb8.js +0 -1
  645. package/.next/static/chunks/31010-6e87f77b97544424.js +0 -1
  646. package/.next/static/chunks/33072.9c3cd19e8d515dea.js +0 -1
  647. package/.next/static/chunks/3765-d323c6675307a63e.js +0 -20
  648. package/.next/static/chunks/39267.ef60669ade47cf4c.js +0 -1
  649. package/.next/static/chunks/41487-d802643f4a8fad3c.js +0 -199
  650. package/.next/static/chunks/48273-fb393846bb4333c0.js +0 -6
  651. package/.next/static/chunks/52333.f98d1cca9a127b34.js +0 -1
  652. package/.next/static/chunks/6935-f436a624267529fb.js +0 -1
  653. package/.next/static/chunks/70400.1816c247ad90f9bc.js +0 -1
  654. package/.next/static/chunks/7113.39704408fef3d26e.js +0 -1
  655. package/.next/static/chunks/85853.39872899093b140a.js +0 -1
  656. package/.next/static/chunks/86155.40f687f9aaa13854.js +0 -1
  657. package/.next/static/chunks/86339.4dbd51a9b9871f65.js +0 -1
  658. package/.next/static/chunks/86939-dfc6f8eb395caa89.js +0 -1
  659. package/.next/static/chunks/93794-5f89a674d8cefcff.js +0 -32
  660. package/.next/static/chunks/989-94bf2b9d242776c3.js +0 -3
  661. package/.next/static/chunks/app/(app)/agents/[name]/page-8bdd0359043537d4.js +0 -8
  662. package/.next/static/chunks/app/(app)/agents/page-6fcfd7ab6781814e.js +0 -1
  663. package/.next/static/chunks/app/(app)/changes/page-4549a5bd72d77e3e.js +0 -1
  664. package/.next/static/chunks/app/(app)/claude-md/edit/page-08e6e120e71979f4.js +0 -1
  665. package/.next/static/chunks/app/(app)/commands/[name]/page-7cdfdef29ded0aa0.js +0 -6
  666. package/.next/static/chunks/app/(app)/commands/page-f126b608b04747ac.js +0 -1
  667. package/.next/static/chunks/app/(app)/files/page-f526eb95821e000e.js +0 -1
  668. package/.next/static/chunks/app/(app)/hooks/page-f1f39284e53c0344.js +0 -1
  669. package/.next/static/chunks/app/(app)/inbox/[id]/page-bc1ff3a0db0114a4.js +0 -1
  670. package/.next/static/chunks/app/(app)/inbox/page-82e03870103ce9bd.js +0 -1
  671. package/.next/static/chunks/app/(app)/jobs/[id]/edit/page-7fb788f772ff2129.js +0 -1
  672. package/.next/static/chunks/app/(app)/jobs/[id]/page-a5856b9ae967ff59.js +0 -1
  673. package/.next/static/chunks/app/(app)/jobs/[id]/runs/[runId]/page-b7c513402db11db6.js +0 -1
  674. package/.next/static/chunks/app/(app)/jobs/page-e9bbd6c116b9699f.js +0 -1
  675. package/.next/static/chunks/app/(app)/mcp-servers/page-4b7276d43451cd43.js +0 -1
  676. package/.next/static/chunks/app/(app)/page-027a5382da30ddb9.js +0 -1
  677. package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/[number]/page-9ab2955c455bb5fa.js +0 -13
  678. package/.next/static/chunks/app/(app)/reviews/page-47530d93bb9d4a76.js +0 -1
  679. package/.next/static/chunks/app/(app)/sessions/[id]/page-94f891e1b54fd05f.js +0 -1
  680. package/.next/static/chunks/app/(app)/settings/notifications/page-229f1db6beb1d19c.js +0 -1
  681. package/.next/static/chunks/app/(app)/settings/page-8ed16a66fdde10cd.js +0 -1
  682. package/.next/static/chunks/app/(app)/settings/providers/[id]/page-13654263246617b3.js +0 -1
  683. package/.next/static/chunks/app/(app)/settings/providers/new/page-e1798e321ccbc6df.js +0 -1
  684. package/.next/static/chunks/app/(app)/settings/providers/page-0bb4c1db2ee35b3d.js +0 -1
  685. package/.next/static/chunks/app/(app)/settings/session/page-ab216a8fa37a0f76.js +0 -1
  686. package/.next/static/chunks/app/(app)/skills/[name]/page-8ab85d5090967ee4.js +0 -6
  687. package/.next/static/chunks/app/(app)/skills/page-c52773eacb27c04e.js +0 -1
  688. package/.next/static/chunks/app/_global-error/page-fc747760bd4c8a4b.js +0 -1
  689. package/.next/static/chunks/app/api/agents/[name]/route-fc747760bd4c8a4b.js +0 -1
  690. package/.next/static/chunks/app/api/agents/route-fc747760bd4c8a4b.js +0 -1
  691. package/.next/static/chunks/app/api/auth/check/route-fc747760bd4c8a4b.js +0 -1
  692. package/.next/static/chunks/app/api/auth/login/route-fc747760bd4c8a4b.js +0 -1
  693. package/.next/static/chunks/app/api/auth/setup/route-fc747760bd4c8a4b.js +0 -1
  694. package/.next/static/chunks/app/api/auth/ws-token/route-fc747760bd4c8a4b.js +0 -1
  695. package/.next/static/chunks/app/api/btw/route-fc747760bd4c8a4b.js +0 -1
  696. package/.next/static/chunks/app/api/claude-md/route-fc747760bd4c8a4b.js +0 -1
  697. package/.next/static/chunks/app/api/commands/[name]/route-fc747760bd4c8a4b.js +0 -1
  698. package/.next/static/chunks/app/api/commands/route-fc747760bd4c8a4b.js +0 -1
  699. package/.next/static/chunks/app/api/defaults/route-fc747760bd4c8a4b.js +0 -1
  700. package/.next/static/chunks/app/api/filesystem/browse/route-fc747760bd4c8a4b.js +0 -1
  701. package/.next/static/chunks/app/api/filesystem/files/route-fc747760bd4c8a4b.js +0 -1
  702. package/.next/static/chunks/app/api/filesystem/mkdir/route-fc747760bd4c8a4b.js +0 -1
  703. package/.next/static/chunks/app/api/filesystem/read/route-fc747760bd4c8a4b.js +0 -1
  704. package/.next/static/chunks/app/api/git/clone/route-fc747760bd4c8a4b.js +0 -1
  705. package/.next/static/chunks/app/api/git/commit/route-fc747760bd4c8a4b.js +0 -1
  706. package/.next/static/chunks/app/api/git/diff/route-fc747760bd4c8a4b.js +0 -1
  707. package/.next/static/chunks/app/api/git/discard/route-fc747760bd4c8a4b.js +0 -1
  708. package/.next/static/chunks/app/api/git/generate-message/route-fc747760bd4c8a4b.js +0 -1
  709. package/.next/static/chunks/app/api/git/push/route-fc747760bd4c8a4b.js +0 -1
  710. package/.next/static/chunks/app/api/git/status/route-fc747760bd4c8a4b.js +0 -1
  711. package/.next/static/chunks/app/api/github/file-content/route-fc747760bd4c8a4b.js +0 -1
  712. package/.next/static/chunks/app/api/github/orgs/route-fc747760bd4c8a4b.js +0 -1
  713. package/.next/static/chunks/app/api/github/prs/checks/route-fc747760bd4c8a4b.js +0 -1
  714. package/.next/static/chunks/app/api/github/prs/diff/route-fc747760bd4c8a4b.js +0 -1
  715. package/.next/static/chunks/app/api/github/prs/review/route-fc747760bd4c8a4b.js +0 -1
  716. package/.next/static/chunks/app/api/github/prs/route-fc747760bd4c8a4b.js +0 -1
  717. package/.next/static/chunks/app/api/github/prs/view/route-fc747760bd4c8a4b.js +0 -1
  718. package/.next/static/chunks/app/api/github/repos/route-fc747760bd4c8a4b.js +0 -1
  719. package/.next/static/chunks/app/api/github/review-session/route-fc747760bd4c8a4b.js +0 -1
  720. package/.next/static/chunks/app/api/health/route-fc747760bd4c8a4b.js +0 -1
  721. package/.next/static/chunks/app/api/hooks/route-fc747760bd4c8a4b.js +0 -1
  722. package/.next/static/chunks/app/api/inbox/[id]/route-fc747760bd4c8a4b.js +0 -1
  723. package/.next/static/chunks/app/api/inbox/route-fc747760bd4c8a4b.js +0 -1
  724. package/.next/static/chunks/app/api/jobs/[id]/route-fc747760bd4c8a4b.js +0 -1
  725. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/route-fc747760bd4c8a4b.js +0 -1
  726. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/transcript/route-fc747760bd4c8a4b.js +0 -1
  727. package/.next/static/chunks/app/api/jobs/[id]/runs/route-fc747760bd4c8a4b.js +0 -1
  728. package/.next/static/chunks/app/api/jobs/[id]/trigger/route-fc747760bd4c8a4b.js +0 -1
  729. package/.next/static/chunks/app/api/jobs/mcp-discover/route-fc747760bd4c8a4b.js +0 -1
  730. package/.next/static/chunks/app/api/jobs/route-fc747760bd4c8a4b.js +0 -1
  731. package/.next/static/chunks/app/api/jobs/status/route-fc747760bd4c8a4b.js +0 -1
  732. package/.next/static/chunks/app/api/mcp-servers/[name]/route-fc747760bd4c8a4b.js +0 -1
  733. package/.next/static/chunks/app/api/mcp-servers/[name]/test/route-fc747760bd4c8a4b.js +0 -1
  734. package/.next/static/chunks/app/api/mcp-servers/route-fc747760bd4c8a4b.js +0 -1
  735. package/.next/static/chunks/app/api/notifications/route-fc747760bd4c8a4b.js +0 -1
  736. package/.next/static/chunks/app/api/notifications/test/route-fc747760bd4c8a4b.js +0 -1
  737. package/.next/static/chunks/app/api/providers/[id]/route-fc747760bd4c8a4b.js +0 -1
  738. package/.next/static/chunks/app/api/providers/route-fc747760bd4c8a4b.js +0 -1
  739. package/.next/static/chunks/app/api/reviews/pinned/route-fc747760bd4c8a4b.js +0 -1
  740. package/.next/static/chunks/app/api/sessions/[id]/context/route-fc747760bd4c8a4b.js +0 -1
  741. package/.next/static/chunks/app/api/sessions/[id]/mcp/route-fc747760bd4c8a4b.js +0 -1
  742. package/.next/static/chunks/app/api/sessions/[id]/route-fc747760bd4c8a4b.js +0 -1
  743. package/.next/static/chunks/app/api/sessions/[id]/search/route-fc747760bd4c8a4b.js +0 -1
  744. package/.next/static/chunks/app/api/sessions/[id]/tabs/route-fc747760bd4c8a4b.js +0 -1
  745. package/.next/static/chunks/app/api/sessions/bulk-delete/route-fc747760bd4c8a4b.js +0 -1
  746. package/.next/static/chunks/app/api/sessions/by-ids/route-fc747760bd4c8a4b.js +0 -1
  747. package/.next/static/chunks/app/api/sessions/group/route-fc747760bd4c8a4b.js +0 -1
  748. package/.next/static/chunks/app/api/sessions/pinned/route-fc747760bd4c8a4b.js +0 -1
  749. package/.next/static/chunks/app/api/sessions/route-fc747760bd4c8a4b.js +0 -1
  750. package/.next/static/chunks/app/api/sessions/search/route-fc747760bd4c8a4b.js +0 -1
  751. package/.next/static/chunks/app/api/sessions/thinking/route-fc747760bd4c8a4b.js +0 -1
  752. package/.next/static/chunks/app/api/skills/[name]/route-fc747760bd4c8a4b.js +0 -1
  753. package/.next/static/chunks/app/api/skills/route-fc747760bd4c8a4b.js +0 -1
  754. package/.next/static/chunks/app/api/terminal/[id]/route-fc747760bd4c8a4b.js +0 -1
  755. package/.next/static/chunks/app/api/terminal/route-fc747760bd4c8a4b.js +0 -1
  756. package/.next/static/chunks/app/api/usage/route-fc747760bd4c8a4b.js +0 -1
  757. package/.next/static/chunks/app/api/version/changelog/route-fc747760bd4c8a4b.js +0 -1
  758. package/.next/static/chunks/app/api/version/cockpit/changelog/route-fc747760bd4c8a4b.js +0 -1
  759. package/.next/static/chunks/app/api/version/cockpit/route-fc747760bd4c8a4b.js +0 -1
  760. package/.next/static/chunks/app/api/version/route-fc747760bd4c8a4b.js +0 -1
  761. package/.next/static/chunks/next/dist/client/components/builtin/app-error-fc747760bd4c8a4b.js +0 -1
  762. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-fc747760bd4c8a4b.js +0 -1
  763. package/.next/static/chunks/next/dist/client/components/builtin/not-found-fc747760bd4c8a4b.js +0 -1
  764. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-fc747760bd4c8a4b.js +0 -1
  765. package/.next/static/chunks/webpack-e31bb45fa59caed8.js +0 -1
  766. package/.next/static/css/3f8af4ae6f812d5c.css +0 -1
  767. /package/.next/static/{I-rxZaJEzhe3ZUTjSqB11 → NTa6G91R3HtKCLYuQqdR0}/_ssgManifest.js +0 -0
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.extractTextFiles = extractTextFiles;
37
+ exports.shouldCollapsePaste = shouldCollapsePaste;
38
+ exports.extensionForLabel = extensionForLabel;
39
+ exports.detectLanguage = detectLanguage;
40
+ const FILE_TAG_RE = /<file\s+path="([^"]+)">\n([\s\S]*?)\n<\/file>/g;
41
+ function extractTextFiles(text) {
42
+ const textFiles = [];
43
+ const cleaned = text
44
+ .replace(FILE_TAG_RE, (_match, name, content) => {
45
+ textFiles.push({ name, content });
46
+ return "";
47
+ })
48
+ .replace(/\n{3,}/g, "\n\n")
49
+ .trim();
50
+ return { cleaned, textFiles };
51
+ }
52
+ const MIN_LINES = 10;
53
+ // Map Magika content type labels to file extensions for naming and syntax highlighting.
54
+ const LABEL_TO_EXT = {
55
+ asm: "asm",
56
+ awk: "awk",
57
+ batch: "bat",
58
+ c: "c",
59
+ clojure: "clj",
60
+ cmake: "cmake",
61
+ cobol: "cob",
62
+ coffeescript: "coffee",
63
+ cpp: "cpp",
64
+ cs: "cs",
65
+ css: "css",
66
+ csv: "csv",
67
+ dart: "dart",
68
+ diff: "diff",
69
+ dockerfile: "dockerfile",
70
+ elixir: "ex",
71
+ erlang: "erl",
72
+ fortran: "f90",
73
+ gleam: "gleam",
74
+ go: "go",
75
+ gradle: "gradle",
76
+ groovy: "groovy",
77
+ h: "h",
78
+ handlebars: "hbs",
79
+ haskell: "hs",
80
+ hcl: "tf",
81
+ hpp: "hpp",
82
+ html: "html",
83
+ ini: "ini",
84
+ java: "java",
85
+ javascript: "js",
86
+ json: "json",
87
+ jsonc: "jsonc",
88
+ jsonl: "jsonl",
89
+ jsx: "jsx",
90
+ julia: "jl",
91
+ kotlin: "kt",
92
+ latex: "tex",
93
+ less: "less",
94
+ lisp: "lisp",
95
+ lua: "lua",
96
+ makefile: "makefile",
97
+ markdown: "md",
98
+ matlab: "m",
99
+ nim: "nim",
100
+ objectivec: "m",
101
+ ocaml: "ml",
102
+ odin: "odin",
103
+ pascal: "pas",
104
+ perl: "pl",
105
+ php: "php",
106
+ powershell: "ps1",
107
+ prolog: "pl",
108
+ proto: "proto",
109
+ python: "py",
110
+ r: "r",
111
+ rst: "rst",
112
+ ruby: "rb",
113
+ rust: "rs",
114
+ scala: "scala",
115
+ scheme: "scm",
116
+ scss: "scss",
117
+ shell: "sh",
118
+ solidity: "sol",
119
+ sql: "sql",
120
+ svelte: "svelte",
121
+ svg: "svg",
122
+ swift: "swift",
123
+ tcl: "tcl",
124
+ toml: "toml",
125
+ tsx: "tsx",
126
+ typescript: "ts",
127
+ vba: "vba",
128
+ verilog: "v",
129
+ vhdl: "vhdl",
130
+ vue: "vue",
131
+ xml: "xml",
132
+ yaml: "yaml",
133
+ yara: "yar",
134
+ zig: "zig",
135
+ };
136
+ function shouldCollapsePaste(content) {
137
+ return content.split(/\r?\n/).length >= MIN_LINES;
138
+ }
139
+ function extensionForLabel(label) {
140
+ return LABEL_TO_EXT[label];
141
+ }
142
+ // Lazy-loaded client-side Magika instance
143
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
144
+ let magikaPromise = null;
145
+ async function detectLanguage(text) {
146
+ try {
147
+ if (!magikaPromise) {
148
+ magikaPromise = Promise.resolve().then(() => __importStar(require("magika"))).then((m) => m.Magika.create());
149
+ }
150
+ const magika = await magikaPromise;
151
+ const bytes = new TextEncoder().encode(text.slice(0, 8192));
152
+ const result = await magika.identifyBytes(bytes);
153
+ const label = result.prediction.output.label;
154
+ if (label === "txt" || label === "unknown" || label === "empty")
155
+ return null;
156
+ return LABEL_TO_EXT[label] ? label : null;
157
+ }
158
+ catch {
159
+ return null;
160
+ }
161
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAssistantSettings = getAssistantSettings;
4
+ exports.updateAssistantSettings = updateAssistantSettings;
5
+ const node_fs_1 = require("node:fs");
6
+ const node_path_1 = require("node:path");
7
+ const paths_1 = require("../server/paths");
8
+ const fallback = {
9
+ model: "sonnet",
10
+ thinkingLevel: "high",
11
+ };
12
+ function settingsFile() {
13
+ return (0, node_path_1.join)((0, paths_1.getCockpitDir)(), "assistant.json");
14
+ }
15
+ function getAssistantSettings() {
16
+ try {
17
+ const raw = JSON.parse((0, node_fs_1.readFileSync)(settingsFile(), "utf-8"));
18
+ return { ...fallback, ...raw };
19
+ }
20
+ catch {
21
+ return { ...fallback };
22
+ }
23
+ }
24
+ function updateAssistantSettings(partial) {
25
+ const current = getAssistantSettings();
26
+ const updated = { ...current, ...partial };
27
+ try {
28
+ (0, node_fs_1.mkdirSync)((0, paths_1.getCockpitDir)(), { recursive: true });
29
+ (0, node_fs_1.writeFileSync)(settingsFile(), JSON.stringify(updated, null, 2) + "\n");
30
+ }
31
+ catch {
32
+ // best effort
33
+ }
34
+ return updated;
35
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getClaudeBin = getClaudeBin;
4
+ const node_child_process_1 = require("node:child_process");
5
+ const node_fs_1 = require("node:fs");
6
+ const node_path_1 = require("node:path");
7
+ let resolvedClaudeBin = null;
8
+ /**
9
+ * Resolve the `claude` executable path and cache it for the process.
10
+ *
11
+ * The cache is invalidated when the resolved absolute path no longer exists, so
12
+ * a `claude` self-update that deletes the old versioned binary out from under a
13
+ * long-running server is picked up on the next spawn instead of wedging every
14
+ * session with `execvp: No such file or directory` until a manual restart.
15
+ * `existsSync` follows symlinks, so a stable launcher symlink the updater
16
+ * repoints stays valid; only a cached path to a now-deleted binary re-resolves.
17
+ * The bare-name PATH fallback is left cached as-is — it has no fixed path to
18
+ * validate and exec-time PATH resolution handles it.
19
+ */
20
+ function getClaudeBin() {
21
+ if (resolvedClaudeBin && (!(0, node_path_1.isAbsolute)(resolvedClaudeBin) || (0, node_fs_1.existsSync)(resolvedClaudeBin))) {
22
+ return resolvedClaudeBin;
23
+ }
24
+ const cmd = process.platform === "win32" ? "where" : "which";
25
+ try {
26
+ resolvedClaudeBin = (0, node_child_process_1.execFileSync)(cmd, ["claude"], { encoding: "utf-8" }).trim().split("\n")[0];
27
+ }
28
+ catch {
29
+ resolvedClaudeBin = "claude";
30
+ }
31
+ return resolvedClaudeBin;
32
+ }
@@ -61,6 +61,9 @@ async function prepareHookSettings(opts) {
61
61
  // interactive "WARNING: Bypass Permissions mode" dialog has nowhere to go
62
62
  // when there's no human at the TUI, so suppress it here.
63
63
  skipDangerousModePermissionPrompt: true,
64
+ // Per-session thinking on/off. cockpit's selector is authoritative, so this
65
+ // overrides any user-global alwaysThinkingEnabled when explicitly provided.
66
+ ...(opts.thinkingEnabled !== undefined ? { alwaysThinkingEnabled: opts.thinkingEnabled } : {}),
64
67
  };
65
68
  const dir = await resolveSettingsDir();
66
69
  const settingsPath = node_path_1.default.join(dir, `${opts.sessionId}.json`);
@@ -7,10 +7,15 @@ const FETCH_TIMEOUT_MS = 30_000;
7
7
  * Spawn a one-shot `claude -p --output-format stream-json` process and extract
8
8
  * the system/init event. Kills the process as soon as init is received (before
9
9
  * any API call for the prompt), so this costs zero tokens.
10
+ *
11
+ * `--no-session-persistence` stops this throwaway probe from writing a session
12
+ * transcript to ~/.claude/projects. Without it the CLI persists the "hi" prompt
13
+ * at startup (before we can kill it), and that transcript then surfaces in the
14
+ * session history as a stray "hi" session, once per init fetch, per cwd. Keep it.
10
15
  */
11
16
  function fetchCliInitData(opts) {
12
17
  const bin = opts.bin ?? "claude";
13
- const args = ["-p", "--verbose", "--output-format", "stream-json", "hi"];
18
+ const args = ["-p", "--no-session-persistence", "--verbose", "--output-format", "stream-json", "hi"];
14
19
  return new Promise((resolve) => {
15
20
  let resolved = false;
16
21
  const done = (result) => {
@@ -86,10 +86,10 @@ function markRead(id, read = true) {
86
86
  writeAll(messages);
87
87
  return true;
88
88
  }
89
- function markAllRead() {
89
+ function markAllRead(read = true) {
90
90
  const messages = readAll();
91
91
  for (const m of messages)
92
- m.read = true;
92
+ m.read = read;
93
93
  writeAll(messages);
94
94
  }
95
95
  function deleteInboxMessage(id) {
@@ -9,6 +9,7 @@ const node_path_1 = __importDefault(require("node:path"));
9
9
  const uuid_1 = require("uuid");
10
10
  const paths_1 = require("../server/paths");
11
11
  const cron_utils_1 = require("./cron-utils");
12
+ const debug_logger_1 = require("./debug-logger");
12
13
  const inbox_1 = require("./inbox");
13
14
  const job_lock_1 = require("./job-lock");
14
15
  const job_storage_1 = require("./job-storage");
@@ -144,6 +145,7 @@ class JobScheduler {
144
145
  timer = null;
145
146
  lastFiredAt = new Map();
146
147
  runningJobs = new Map();
148
+ jobResolvers = new Map();
147
149
  lastPruneAt = 0;
148
150
  constructor(sessionManager) {
149
151
  this.sessionManager = sessionManager;
@@ -176,6 +178,48 @@ class JobScheduler {
176
178
  throw new Error(`Job not found: ${jobId}`);
177
179
  return this.executeJob(job);
178
180
  }
181
+ stopJob(jobId) {
182
+ const run = this.runningJobs.get(jobId);
183
+ if (!run)
184
+ throw new Error("Job is not currently running");
185
+ // Guard against the cleanup timeout having already fired.
186
+ // cleanup ALWAYS sets completedAt (line 469), so this is a race-free signal.
187
+ if (run.completedAt)
188
+ throw new Error("Job is no longer running");
189
+ // Set status BEFORE destroySession -- same object reference as closure's run
190
+ run.status = "stopped";
191
+ run.error = "Stopped by user";
192
+ run.completedAt = Date.now();
193
+ run.durationMs = run.completedAt - run.startedAt;
194
+ // Count transcript BEFORE destroySession -- destroySession stops the watcher
195
+ const transcriptCount = (0, transcript_1.countTranscriptMessages)(run.sessionId, run.cwd);
196
+ this.sessionManager.destroySession(run.sessionId);
197
+ if (transcriptCount > run.messageCount)
198
+ run.messageCount = transcriptCount;
199
+ (0, job_storage_1.saveRun)(run);
200
+ (0, inbox_1.addInboxMessage)({
201
+ title: `Job stopped: ${run.jobId}`,
202
+ body: `**Status:** stopped\n\nStopped by user after ${Math.round((run.durationMs ?? 0) / 1000)}s`,
203
+ priority: "info",
204
+ jobId: run.jobId,
205
+ runId: run.id,
206
+ });
207
+ this.runningJobs.delete(jobId);
208
+ (0, job_lock_1.releaseJobLock)(jobId);
209
+ // Resolve the executeJob Promise. If cleanup already resolved it
210
+ // (via the guard), this is a no-op (Promise can only settle once).
211
+ const resolve = this.jobResolvers.get(jobId);
212
+ if (resolve) {
213
+ resolve(run);
214
+ this.jobResolvers.delete(jobId);
215
+ }
216
+ (0, debug_logger_1.logDiag)(jobId, "job:stopped", {
217
+ runId: run.id,
218
+ messageCount: run.messageCount,
219
+ toolCount: run.toolsUsed.length,
220
+ });
221
+ return run;
222
+ }
179
223
  recoverState() {
180
224
  (0, job_lock_1.clearStaleLocks)();
181
225
  (0, job_storage_1.pruneAllRuns)();
@@ -253,10 +297,25 @@ class JobScheduler {
253
297
  }
254
298
  async executeJob(job) {
255
299
  const runId = (0, uuid_1.v4)();
300
+ (0, debug_logger_1.logDiag)(job.id, "job:execute-start", {
301
+ runId,
302
+ name: job.name,
303
+ runtime: job.runtime ?? "stream",
304
+ model: job.model,
305
+ thinkingLevel: job.thinkingLevel,
306
+ contextSize: job.contextSize,
307
+ mcpServers: job.mcpServers ?? [],
308
+ allowedTools: job.allowedTools ?? [],
309
+ bypassPermissions: !!job.bypassPermissions,
310
+ inboxOutput: !!job.inboxOutput,
311
+ maxDurationMinutes: job.maxDurationMinutes ?? 30,
312
+ });
256
313
  if (!(0, job_lock_1.acquireJobLock)(job.id, runId)) {
314
+ (0, debug_logger_1.logDiag)(job.id, "job:lock-failed", { runId });
257
315
  console.log(`[scheduler] skipping job ${job.name}: another process holds the lock`);
258
316
  throw new Error("Could not acquire job lock - another process is running this job");
259
317
  }
318
+ (0, debug_logger_1.logDiag)(job.id, "job:lock-acquired", { runId });
260
319
  const jobCwd = job.cwd || node_path_1.default.join(scratchpadDir(), job.id);
261
320
  (0, node_fs_1.mkdirSync)(node_path_1.default.join(scratchpadDir(), job.id), { recursive: true });
262
321
  const sessionInfo = this.sessionManager.createSession(jobCwd, `[job] ${job.name}`, {
@@ -264,6 +323,8 @@ class JobScheduler {
264
323
  runtime: job.runtime,
265
324
  });
266
325
  const sessionId = sessionInfo.id;
326
+ const jlog = (label, data) => (0, debug_logger_1.logDiag)(sessionId, `job:${label}`, { jobId: job.id, runId, ...data });
327
+ jlog("session-created", { cwd: jobCwd, runtime: sessionInfo.runtime });
267
328
  const run = {
268
329
  id: runId,
269
330
  jobId: job.id,
@@ -288,6 +349,7 @@ class JobScheduler {
288
349
  output: "",
289
350
  timestamp: Date.now(),
290
351
  });
352
+ jlog("tool-start", { toolId: event.toolId, toolName: event.toolName ?? "unknown" });
291
353
  }
292
354
  else if (event.type === "tool_result" && event.toolId) {
293
355
  const entry = toolTracker.get(event.toolId);
@@ -296,10 +358,12 @@ class JobScheduler {
296
358
  entry.durationMs = Date.now() - entry.timestamp;
297
359
  run.toolsUsed.push(entry);
298
360
  toolTracker.delete(event.toolId);
361
+ jlog("tool-result", { toolId: event.toolId, name: entry.name, durationMs: entry.durationMs, outputLen: entry.output.length });
299
362
  }
300
363
  }
301
364
  else if (event.type === "message_done") {
302
365
  run.messageCount++;
366
+ let textLen = 0;
303
367
  if (event.message) {
304
368
  let text = event.message.content;
305
369
  if (!text && event.message.blocks) {
@@ -308,12 +372,16 @@ class JobScheduler {
308
372
  .map((b) => b.text)
309
373
  .join("\n");
310
374
  }
311
- if (text)
375
+ if (text) {
312
376
  lastAssistantText = text;
377
+ textLen = text.length;
378
+ }
313
379
  }
380
+ jlog("message-done", { count: run.messageCount, textLen });
314
381
  }
315
382
  else if (event.type === "permission_request" && event.requestId) {
316
383
  if (job.bypassPermissions) {
384
+ jlog("permission", { toolName: event.toolName ?? "unknown", requestId: event.requestId, bypass: true, allowed: true });
317
385
  this.sessionManager.respondToPermission(sessionId, event.requestId, true, event.rawToolInput);
318
386
  }
319
387
  else {
@@ -321,7 +389,13 @@ class JobScheduler {
321
389
  const inputStr = event.toolInput || "";
322
390
  const mcpResult = isMcpToolAllowed(toolName, inputStr, enabledServers, job.mcpToolFilters);
323
391
  const allowed = mcpResult !== null ? mcpResult : isToolAllowed(toolName, inputStr, job.allowedTools || []);
324
- console.log(`[scheduler] permission: ${toolName} mcpResult=${mcpResult} allowed=${allowed} servers=[${[...enabledServers]}]`);
392
+ jlog("permission", {
393
+ toolName,
394
+ requestId: event.requestId,
395
+ mcpResult,
396
+ allowed,
397
+ enabledServers: [...enabledServers],
398
+ });
325
399
  this.sessionManager.respondToPermission(sessionId, event.requestId, allowed, allowed ? (event.rawToolInput ?? {}) : undefined);
326
400
  const permEntry = {
327
401
  name: toolName,
@@ -335,37 +409,88 @@ class JobScheduler {
335
409
  }
336
410
  });
337
411
  const initCleanup = this.sessionManager.onInit(sessionId, (initData) => {
412
+ const disabling = [];
338
413
  for (const server of initData.mcpServers) {
339
414
  if (!enabledServers.has(server.name)) {
415
+ disabling.push(server.name);
340
416
  this.sessionManager.mcpToggle(sessionId, server.name, false).catch(() => { });
341
417
  }
342
418
  }
419
+ jlog("init", { available: initData.mcpServers.map((s) => s.name), disabling, enabled: [...enabledServers] });
343
420
  });
344
421
  if (job.model) {
345
422
  this.sessionManager.setModel(sessionId, job.model, job.contextSize);
423
+ jlog("set-model", { model: job.model, contextSize: job.contextSize });
346
424
  }
347
425
  if (job.thinkingLevel) {
348
426
  this.sessionManager.setThinkingLevel(sessionId, job.thinkingLevel);
427
+ jlog("set-thinking", { thinkingLevel: job.thinkingLevel });
349
428
  }
350
429
  return new Promise((resolve) => {
430
+ this.jobResolvers.set(job.id, resolve);
351
431
  const maxMs = (job.maxDurationMinutes || 30) * 60 * 1000;
432
+ const sentAt = Date.now();
433
+ let sawRunning = false;
434
+ let statusEvents = 0;
352
435
  const timeout = setTimeout(() => {
436
+ jlog("watchdog-fired", {
437
+ maxMs,
438
+ elapsedMs: Date.now() - sentAt,
439
+ sawRunning,
440
+ messageCount: run.messageCount,
441
+ toolCount: run.toolsUsed.length,
442
+ });
353
443
  cleanup("timeout");
354
444
  }, maxMs);
355
445
  const unsubStatus = this.sessionManager.onStatus(sessionId, (status) => {
446
+ statusEvents++;
447
+ if (status === "running")
448
+ sawRunning = true;
449
+ // An "idle" that arrives while the process is still alive is the orphan
450
+ // signature: the run gets marked done but the PTY keeps going untracked.
451
+ const processAlive = this.sessionManager.hasRunningProcess(sessionId);
452
+ jlog("status-event", {
453
+ status,
454
+ n: statusEvents,
455
+ elapsedMs: Date.now() - sentAt,
456
+ sawRunning,
457
+ processAlive,
458
+ messageCount: run.messageCount,
459
+ toolCount: run.toolsUsed.length,
460
+ });
356
461
  if (status === "idle") {
357
462
  cleanup("success");
358
463
  }
359
464
  });
360
465
  const unsubError = this.sessionManager.onError(sessionId, (error) => {
466
+ jlog("error-event", { error, elapsedMs: Date.now() - sentAt });
361
467
  run.error = error;
362
468
  cleanup("failure");
363
469
  });
364
470
  let cleaned = false;
365
471
  const cleanup = (finalStatus) => {
366
- if (cleaned)
472
+ if (cleaned) {
473
+ jlog("cleanup-skipped", { requestedStatus: finalStatus, elapsedMs: Date.now() - sentAt });
474
+ return;
475
+ }
476
+ if (run.status === "stopped") {
477
+ cleaned = true;
478
+ jlog("cleanup-guard-stopped", { elapsedMs: Date.now() - sentAt });
479
+ clearTimeout(timeout);
480
+ resolve(run);
481
+ this.jobResolvers.delete(job.id);
367
482
  return;
483
+ }
368
484
  cleaned = true;
485
+ jlog("cleanup-begin", {
486
+ finalStatus,
487
+ elapsedMs: Date.now() - sentAt,
488
+ sawRunning,
489
+ statusEvents,
490
+ messageCount: run.messageCount,
491
+ toolCount: run.toolsUsed.length,
492
+ lastTextLen: lastAssistantText.length,
493
+ });
369
494
  clearTimeout(timeout);
370
495
  unsubEvent?.();
371
496
  unsubStatus?.();
@@ -382,15 +507,18 @@ class JobScheduler {
382
507
  if (errorBlock) {
383
508
  finalStatus = "failure";
384
509
  run.error = errorBlock.details ? `${errorBlock.error}: ${errorBlock.details}` : errorBlock.error;
510
+ jlog("error-block-detected", { error: run.error });
385
511
  }
386
512
  }
387
513
  run.status = finalStatus;
388
514
  const transcriptCount = (0, transcript_1.countTranscriptMessages)(sessionId, jobCwd);
515
+ jlog("transcript-count", { transcriptCount, runMessageCount: run.messageCount });
389
516
  if (transcriptCount > run.messageCount)
390
517
  run.messageCount = transcriptCount;
391
518
  (0, job_storage_1.saveRun)(run);
392
519
  if (job.inboxOutput && lastAssistantText && finalStatus === "success") {
393
520
  const inbox = (0, inbox_1.parseInboxBlock)(lastAssistantText);
521
+ jlog("inbox-parse", { found: !!inbox });
394
522
  if (inbox) {
395
523
  (0, inbox_1.addInboxMessage)({ ...inbox, jobId: job.id, jobName: job.name, runId: run.id, notifyProviders: job.notifyProviders });
396
524
  }
@@ -406,11 +534,25 @@ class JobScheduler {
406
534
  notifyProviders: job.notifyProviders,
407
535
  });
408
536
  }
537
+ jlog("cleanup-done", {
538
+ finalStatus,
539
+ durationMs: run.durationMs,
540
+ messageCount: run.messageCount,
541
+ toolCount: run.toolsUsed.length,
542
+ error: run.error,
543
+ });
544
+ // A one-shot job's PTY claude sits idle at the prompt after answering;
545
+ // without this it never exits and leaks ~310MB per run until the next
546
+ // server restart. Idempotent — a timeout already destroyed it above.
547
+ this.sessionManager.destroySession(sessionId);
409
548
  this.runningJobs.delete(job.id);
410
549
  (0, job_lock_1.releaseJobLock)(job.id);
411
550
  resolve(run);
551
+ this.jobResolvers.delete(job.id);
412
552
  };
413
- this.sessionManager.sendMessage(sessionId, buildJobPrompt(job));
553
+ const promptText = buildJobPrompt(job);
554
+ jlog("send-message", { promptLen: promptText.length, maxMs });
555
+ this.sessionManager.sendMessage(sessionId, promptText);
414
556
  });
415
557
  }
416
558
  }
@@ -6,6 +6,7 @@ exports.saveJob = saveJob;
6
6
  exports.deleteJob = deleteJob;
7
7
  exports.loadRuns = loadRuns;
8
8
  exports.getRun = getRun;
9
+ exports.getJobSessionIds = getJobSessionIds;
9
10
  exports.saveRun = saveRun;
10
11
  exports.pruneAllRuns = pruneAllRuns;
11
12
  exports.getLatestRun = getLatestRun;
@@ -90,6 +91,38 @@ function loadRuns(jobId) {
90
91
  function getRun(jobId, runId) {
91
92
  return loadRuns(jobId).find((r) => r.id === runId);
92
93
  }
94
+ /**
95
+ * Every session id recorded across all job runs. Used to hide scheduled-job
96
+ * sessions from the all-sessions feed: a job spawns a real CLI session whose
97
+ * transcript lands in the project dir like any other, so the run's recorded
98
+ * sessionId (which equals the transcript filename) is the only reliable join.
99
+ * A session reappears in the feed if its run record is pruned by retention.
100
+ */
101
+ function getJobSessionIds() {
102
+ const ids = new Set();
103
+ let files;
104
+ try {
105
+ files = (0, node_fs_1.readdirSync)(runsDir());
106
+ }
107
+ catch {
108
+ return ids; // no runs dir yet
109
+ }
110
+ for (const file of files) {
111
+ if (!file.endsWith(".json"))
112
+ continue;
113
+ try {
114
+ const data = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(runsDir(), file), "utf-8"));
115
+ for (const run of data.runs || []) {
116
+ if (run.sessionId)
117
+ ids.add(run.sessionId);
118
+ }
119
+ }
120
+ catch {
121
+ // skip unreadable/corrupt run files
122
+ }
123
+ }
124
+ return ids;
125
+ }
93
126
  function saveRun(run) {
94
127
  const runs = loadRuns(run.jobId);
95
128
  const idx = runs.findIndex((r) => r.id === run.id);
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COCKPIT_AGENT_SYSTEM_PROMPT = exports.COCKPIT_AGENT_PROMPT_SENTINEL = void 0;
4
+ exports.COCKPIT_AGENT_PROMPT_SENTINEL = "Cockpit Assistant";
5
+ exports.COCKPIT_AGENT_SYSTEM_PROMPT = `You are the Cockpit Assistant, an AI agent embedded in Cockpit — a self-hosted web UI for running and managing Claude Code on this machine (sessions, scheduled jobs, model providers, MCP servers, app settings, and notifications). Your purpose is to let the user inspect and change Cockpit's configuration and operate its scheduled jobs through conversation instead of clicking the UI. You have a set of cockpit-config tools over MCP: read tools (names starting with list_ or get_) return current state and run automatically; write tools (create_/update_/delete_/add_/save_/run_) change state or trigger actions and are shown to the user as a proposal they approve or reject before taking effect — so state plainly what you are about to change. For scheduled jobs you can list jobs, inspect a job, create/update/delete jobs, run a job now (run_job), stop a running job (stop_job), and check which jobs are currently running (list_running_jobs). Providers, MCP servers, app settings, and notification settings can be listed and modified the same way. Be concise and direct, confirm intent before destructive changes, and prefer the job tools over guessing when asked what is running. You operate on the local single-user ${exports.COCKPIT_AGENT_PROMPT_SENTINEL} instance.`;