@alexjbarnes/cockpit 0.3.1 → 0.4.0

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 (759) 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/5292.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 +1 -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/chunks/12644.84908edd1bec8b5a.js +1 -0
  447. package/.next/static/chunks/1550-9a32fa02f6722fc7.js +25 -0
  448. package/.next/static/chunks/18977.393a8bc1bef44fc4.js +1 -0
  449. package/.next/static/chunks/{2503.bb9d3528c3c7ccae.js → 2503.68e12779c4b14adb.js} +1 -1
  450. package/.next/static/chunks/25781-c77dc5d11fb85d82.js +201 -0
  451. package/.next/static/chunks/{27455.1bce740b63d7c3cc.js → 27455.8f2189c777c63368.js} +1 -1
  452. package/.next/static/chunks/33072.3d32bb7b2a85ca9b.js +1 -0
  453. package/.next/static/chunks/39267.0c93a6bed8e46ac0.js +1 -0
  454. package/.next/static/chunks/52333.ff3bf0753b68875e.js +1 -0
  455. package/.next/static/chunks/69940.42e1ca99efc62caf.js +1 -0
  456. package/.next/static/chunks/70400.ffe0412efe741888.js +1 -0
  457. package/.next/static/chunks/7113.336a2a8deabe2aa5.js +1 -0
  458. package/.next/static/chunks/{71642.852436e8f0287b89.js → 71642.e11bcaa30efbf1f2.js} +1 -1
  459. package/.next/static/chunks/{72839.a5325a99f8c12fed.js → 72839.225c36dd5e767a20.js} +1 -1
  460. package/.next/static/chunks/{69427.a0b463c808aa54c8.js → 81272.b0027c9bc80050aa.js} +1 -1
  461. package/.next/static/chunks/85853.421f0c913b3d332b.js +1 -0
  462. package/.next/static/chunks/86155.3c5c1468fa2f446e.js +1 -0
  463. package/.next/static/chunks/86339.ba009abde9765665.js +1 -0
  464. package/.next/static/chunks/86939-51ae17d3d12c0310.js +1 -0
  465. package/.next/static/chunks/93794-b87eef7d177fe7b3.js +32 -0
  466. package/.next/static/chunks/989-6074551b2b54a168.js +3 -0
  467. package/.next/static/chunks/app/(app)/agents/[name]/page-6954a12623e4bdcf.js +8 -0
  468. package/.next/static/chunks/app/(app)/agents/{page-6fcfd7ab6781814e.js → page-b984c01f39aed22e.js} +1 -1
  469. package/.next/static/chunks/app/(app)/claude-md/edit/page-575c5ccdc585516c.js +1 -0
  470. package/.next/static/chunks/app/(app)/claude-md/{page-cd9e2176a12ba241.js → page-aab6df0c14c657f3.js} +1 -1
  471. package/.next/static/chunks/app/(app)/commands/[name]/page-ea86a4400fd29210.js +6 -0
  472. package/.next/static/chunks/app/(app)/commands/{page-f126b608b04747ac.js → page-3867a45c1378c6fe.js} +1 -1
  473. package/.next/static/chunks/app/(app)/hooks/[event]/{page-28038323fd29adfa.js → page-2c41e810c15a1149.js} +2 -2
  474. package/.next/static/chunks/app/(app)/hooks/{page-f1f39284e53c0344.js → page-49f9dbb78a3f97df.js} +1 -1
  475. package/.next/static/chunks/app/(app)/inbox/[id]/page-885a258b67e47b00.js +1 -0
  476. package/.next/static/chunks/app/(app)/inbox/page-592249fc155b9fe4.js +1 -0
  477. package/.next/static/chunks/app/(app)/jobs/[id]/edit/page-121bf977a839488c.js +1 -0
  478. package/.next/static/chunks/app/(app)/jobs/[id]/page-ba516fa01db89ea0.js +1 -0
  479. package/.next/static/chunks/app/(app)/jobs/[id]/runs/[runId]/page-0650e6f678fae5b8.js +1 -0
  480. package/.next/static/chunks/app/(app)/jobs/page-da3fe23a43277e67.js +1 -0
  481. package/.next/static/chunks/app/(app)/{layout-ce9e1be301c60fe5.js → layout-3cd80708648e0723.js} +1 -1
  482. package/.next/static/chunks/app/(app)/mcp-servers/[name]/{page-d6d805a27ec0b0c0.js → page-9290a7940a32d9ac.js} +1 -1
  483. package/.next/static/chunks/app/(app)/mcp-servers/page-1e828264f81ee08c.js +1 -0
  484. package/.next/static/chunks/app/(app)/{page-027a5382da30ddb9.js → page-2d171ffc3e1945e1.js} +1 -1
  485. package/.next/static/chunks/app/(app)/plugins/page-7e70e0b3ead44a99.js +1 -0
  486. package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/[number]/page-4396e9d6df189336.js +13 -0
  487. package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/{page-c5fd013309ab3eba.js → page-76a072cbfe3d9f0e.js} +1 -1
  488. package/.next/static/chunks/app/(app)/reviews/{page-47530d93bb9d4a76.js → page-deaa44f0ce253da8.js} +1 -1
  489. package/.next/static/chunks/app/(app)/sessions/[id]/page-95bcce2e0b9f827a.js +1 -0
  490. package/.next/static/chunks/app/(app)/settings/appearance/{page-95902da748ac5f1e.js → page-433fcfb9b95fb22e.js} +1 -1
  491. package/.next/static/chunks/app/(app)/settings/notifications/page-e5309337f125a059.js +1 -0
  492. package/.next/static/chunks/app/(app)/settings/{page-8ed16a66fdde10cd.js → page-353ef8c508418af1.js} +1 -1
  493. package/.next/static/chunks/app/(app)/settings/providers/[id]/page-2cacea2e60ba435c.js +1 -0
  494. package/.next/static/chunks/app/(app)/settings/providers/new/page-d40acef3abfc7c19.js +1 -0
  495. package/.next/static/chunks/app/(app)/settings/providers/page-098d8f399c663944.js +1 -0
  496. package/.next/static/chunks/app/(app)/settings/session/page-706118ba33c2b99f.js +1 -0
  497. package/.next/static/chunks/app/(app)/skills/[name]/page-7dd7c0f316742c01.js +6 -0
  498. package/.next/static/chunks/app/(app)/skills/{page-c52773eacb27c04e.js → page-48d0bbe201180fc8.js} +1 -1
  499. package/.next/static/chunks/app/_global-error/page-bf8153dffcb47d46.js +1 -0
  500. package/.next/static/chunks/app/api/agents/[name]/route-bf8153dffcb47d46.js +1 -0
  501. package/.next/static/chunks/app/api/agents/route-bf8153dffcb47d46.js +1 -0
  502. package/.next/static/chunks/app/api/assistant-session/route-bf8153dffcb47d46.js +1 -0
  503. package/.next/static/chunks/app/api/auth/check/route-bf8153dffcb47d46.js +1 -0
  504. package/.next/static/chunks/app/api/auth/login/route-bf8153dffcb47d46.js +1 -0
  505. package/.next/static/chunks/app/api/auth/setup/route-bf8153dffcb47d46.js +1 -0
  506. package/.next/static/chunks/app/api/auth/ws-token/route-bf8153dffcb47d46.js +1 -0
  507. package/.next/static/chunks/app/api/btw/route-bf8153dffcb47d46.js +1 -0
  508. package/.next/static/chunks/app/api/claude-md/route-bf8153dffcb47d46.js +1 -0
  509. package/.next/static/chunks/app/api/commands/[name]/route-bf8153dffcb47d46.js +1 -0
  510. package/.next/static/chunks/app/api/commands/route-bf8153dffcb47d46.js +1 -0
  511. package/.next/static/chunks/app/api/config/cwd/route-bf8153dffcb47d46.js +1 -0
  512. package/.next/static/chunks/app/api/defaults/route-bf8153dffcb47d46.js +1 -0
  513. package/.next/static/chunks/app/api/filesystem/browse/route-bf8153dffcb47d46.js +1 -0
  514. package/.next/static/chunks/app/api/filesystem/files/route-bf8153dffcb47d46.js +1 -0
  515. package/.next/static/chunks/app/api/filesystem/mkdir/route-bf8153dffcb47d46.js +1 -0
  516. package/.next/static/chunks/app/api/filesystem/read/route-bf8153dffcb47d46.js +1 -0
  517. package/.next/static/chunks/app/api/git/clone/route-bf8153dffcb47d46.js +1 -0
  518. package/.next/static/chunks/app/api/git/commit/route-bf8153dffcb47d46.js +1 -0
  519. package/.next/static/chunks/app/api/git/diff/route-bf8153dffcb47d46.js +1 -0
  520. package/.next/static/chunks/app/api/git/discard/route-bf8153dffcb47d46.js +1 -0
  521. package/.next/static/chunks/app/api/git/generate-message/route-bf8153dffcb47d46.js +1 -0
  522. package/.next/static/chunks/app/api/git/push/route-bf8153dffcb47d46.js +1 -0
  523. package/.next/static/chunks/app/api/git/status/route-bf8153dffcb47d46.js +1 -0
  524. package/.next/static/chunks/app/api/github/file-content/route-bf8153dffcb47d46.js +1 -0
  525. package/.next/static/chunks/app/api/github/orgs/route-bf8153dffcb47d46.js +1 -0
  526. package/.next/static/chunks/app/api/github/prs/checks/route-bf8153dffcb47d46.js +1 -0
  527. package/.next/static/chunks/app/api/github/prs/diff/route-bf8153dffcb47d46.js +1 -0
  528. package/.next/static/chunks/app/api/github/prs/review/route-bf8153dffcb47d46.js +1 -0
  529. package/.next/static/chunks/app/api/github/prs/route-bf8153dffcb47d46.js +1 -0
  530. package/.next/static/chunks/app/api/github/prs/view/route-bf8153dffcb47d46.js +1 -0
  531. package/.next/static/chunks/app/api/github/repos/route-bf8153dffcb47d46.js +1 -0
  532. package/.next/static/chunks/app/api/github/review-session/route-bf8153dffcb47d46.js +1 -0
  533. package/.next/static/chunks/app/api/health/route-bf8153dffcb47d46.js +1 -0
  534. package/.next/static/chunks/app/api/hooks/route-bf8153dffcb47d46.js +1 -0
  535. package/.next/static/chunks/app/api/inbox/[id]/route-bf8153dffcb47d46.js +1 -0
  536. package/.next/static/chunks/app/api/inbox/route-bf8153dffcb47d46.js +1 -0
  537. package/.next/static/chunks/app/api/jobs/[id]/route-bf8153dffcb47d46.js +1 -0
  538. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/route-bf8153dffcb47d46.js +1 -0
  539. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/transcript/route-bf8153dffcb47d46.js +1 -0
  540. package/.next/static/chunks/app/api/jobs/[id]/runs/route-bf8153dffcb47d46.js +1 -0
  541. package/.next/static/chunks/app/api/jobs/[id]/stop/route-bf8153dffcb47d46.js +1 -0
  542. package/.next/static/chunks/app/api/jobs/[id]/trigger/route-bf8153dffcb47d46.js +1 -0
  543. package/.next/static/chunks/app/api/jobs/mcp-discover/route-bf8153dffcb47d46.js +1 -0
  544. package/.next/static/chunks/app/api/jobs/route-bf8153dffcb47d46.js +1 -0
  545. package/.next/static/chunks/app/api/jobs/status/route-bf8153dffcb47d46.js +1 -0
  546. package/.next/static/chunks/app/api/mcp-servers/[name]/route-bf8153dffcb47d46.js +1 -0
  547. package/.next/static/chunks/app/api/mcp-servers/[name]/test/route-bf8153dffcb47d46.js +1 -0
  548. package/.next/static/chunks/app/api/mcp-servers/[name]/tools/route-bf8153dffcb47d46.js +1 -0
  549. package/.next/static/chunks/app/api/mcp-servers/route-bf8153dffcb47d46.js +1 -0
  550. package/.next/static/chunks/app/api/notifications/route-bf8153dffcb47d46.js +1 -0
  551. package/.next/static/chunks/app/api/notifications/test/route-bf8153dffcb47d46.js +1 -0
  552. package/.next/static/chunks/app/api/plugins/[id]/route-bf8153dffcb47d46.js +1 -0
  553. package/.next/static/chunks/app/api/plugins/install/route-bf8153dffcb47d46.js +1 -0
  554. package/.next/static/chunks/app/api/plugins/marketplaces/[name]/route-bf8153dffcb47d46.js +1 -0
  555. package/.next/static/chunks/app/api/plugins/marketplaces/route-bf8153dffcb47d46.js +1 -0
  556. package/.next/static/chunks/app/api/plugins/route-bf8153dffcb47d46.js +1 -0
  557. package/.next/static/chunks/app/api/providers/[id]/route-bf8153dffcb47d46.js +1 -0
  558. package/.next/static/chunks/app/api/providers/route-bf8153dffcb47d46.js +1 -0
  559. package/.next/static/chunks/app/api/reviews/pinned/route-bf8153dffcb47d46.js +1 -0
  560. package/.next/static/chunks/app/api/sessions/[id]/context/route-bf8153dffcb47d46.js +1 -0
  561. package/.next/static/chunks/app/api/sessions/[id]/mcp/route-bf8153dffcb47d46.js +1 -0
  562. package/.next/static/chunks/app/api/sessions/[id]/route-bf8153dffcb47d46.js +1 -0
  563. package/.next/static/chunks/app/api/sessions/[id]/search/route-bf8153dffcb47d46.js +1 -0
  564. package/.next/static/chunks/app/api/sessions/[id]/tabs/route-bf8153dffcb47d46.js +1 -0
  565. package/.next/static/chunks/app/api/sessions/bulk-delete/route-bf8153dffcb47d46.js +1 -0
  566. package/.next/static/chunks/app/api/sessions/by-ids/route-bf8153dffcb47d46.js +1 -0
  567. package/.next/static/chunks/app/api/sessions/group/route-bf8153dffcb47d46.js +1 -0
  568. package/.next/static/chunks/app/api/sessions/pinned/route-bf8153dffcb47d46.js +1 -0
  569. package/.next/static/chunks/app/api/sessions/route-bf8153dffcb47d46.js +1 -0
  570. package/.next/static/chunks/app/api/sessions/search/route-bf8153dffcb47d46.js +1 -0
  571. package/.next/static/chunks/app/api/sessions/thinking/route-bf8153dffcb47d46.js +1 -0
  572. package/.next/static/chunks/app/api/skills/[name]/route-bf8153dffcb47d46.js +1 -0
  573. package/.next/static/chunks/app/api/skills/route-bf8153dffcb47d46.js +1 -0
  574. package/.next/static/chunks/app/api/terminal/[id]/route-bf8153dffcb47d46.js +1 -0
  575. package/.next/static/chunks/app/api/terminal/route-bf8153dffcb47d46.js +1 -0
  576. package/.next/static/chunks/app/api/usage/route-bf8153dffcb47d46.js +1 -0
  577. package/.next/static/chunks/app/api/version/changelog/route-bf8153dffcb47d46.js +1 -0
  578. package/.next/static/chunks/app/api/version/cockpit/changelog/route-bf8153dffcb47d46.js +1 -0
  579. package/.next/static/chunks/app/api/version/cockpit/route-bf8153dffcb47d46.js +1 -0
  580. package/.next/static/chunks/app/api/version/route-bf8153dffcb47d46.js +1 -0
  581. package/.next/static/chunks/{framework-6fd9f138158c42e0.js → framework-45a1aae1a0f575fd.js} +1 -1
  582. package/.next/static/chunks/{main-5dac9bfffcc23702.js → main-eb9ff0b73c75808a.js} +3 -3
  583. package/.next/static/chunks/next/dist/client/components/builtin/app-error-bf8153dffcb47d46.js +1 -0
  584. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-bf8153dffcb47d46.js +1 -0
  585. package/.next/static/chunks/next/dist/client/components/builtin/not-found-bf8153dffcb47d46.js +1 -0
  586. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-bf8153dffcb47d46.js +1 -0
  587. package/.next/static/chunks/webpack-76a545b642140725.js +1 -0
  588. package/.next/static/css/483101dd9c42fb97.css +1 -0
  589. package/.next/static/mmHo0MmzQHWjZATtI-VbH/_buildManifest.js +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 +8 -0
  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 +21 -0
  597. package/dist/src/server/cli-init-fetch.js +6 -1
  598. package/dist/src/server/inbox.js +2 -2
  599. package/dist/src/server/job-scheduler.js +146 -4
  600. package/dist/src/server/job-storage.js +33 -0
  601. package/dist/src/server/mcp/cockpit-agent-prompt.js +5 -0
  602. package/dist/src/server/mcp/cockpit-config-server.js +632 -0
  603. package/dist/src/server/mcp/run-context.js +23 -0
  604. package/dist/src/server/notifications.js +51 -10
  605. package/dist/src/server/plugins.js +103 -0
  606. package/dist/src/server/providers.js +25 -2
  607. package/dist/src/server/pty-runtime.js +112 -3
  608. package/dist/src/server/pty-session.js +7 -4
  609. package/dist/src/server/session-manager.js +338 -100
  610. package/dist/src/server/singleton.js +9 -0
  611. package/dist/src/server/terminal-buffer.js +17 -0
  612. package/dist/src/server/terminal-manager.js +9 -13
  613. package/dist/src/server/transcript.js +39 -22
  614. package/dist/src/server/ws-handler.js +18 -6
  615. package/next.config.ts +1 -0
  616. package/package.json +3 -2
  617. package/.next/server/app/(app)/changes/page.js +0 -2
  618. package/.next/server/app/(app)/changes/page.js.nft.json +0 -1
  619. package/.next/server/app/(app)/changes/page_client-reference-manifest.js +0 -1
  620. package/.next/server/app/(app)/files/page.js +0 -2
  621. package/.next/server/app/(app)/files/page_client-reference-manifest.js +0 -1
  622. package/.next/server/app/changes.html +0 -1
  623. package/.next/server/app/changes.segments/!KGFwcCk/changes/__PAGE__.segment.rsc +0 -9
  624. package/.next/server/app/changes.segments/_index.segment.rsc +0 -5
  625. package/.next/server/app/files.html +0 -1
  626. package/.next/server/app/files.meta +0 -16
  627. package/.next/server/app/files.rsc +0 -23
  628. package/.next/server/app/files.segments/!KGFwcCk/files.segment.rsc +0 -5
  629. package/.next/server/app/files.segments/!KGFwcCk.segment.rsc +0 -7
  630. package/.next/server/app/files.segments/_full.segment.rsc +0 -23
  631. package/.next/server/app/files.segments/_head.segment.rsc +0 -6
  632. package/.next/server/app/files.segments/_tree.segment.rsc +0 -2
  633. package/.next/server/chunks/3006.js +0 -199
  634. package/.next/server/chunks/4342.js +0 -1
  635. package/.next/server/chunks/4352.js +0 -1
  636. package/.next/server/chunks/4445.js +0 -1
  637. package/.next/server/chunks/63.js +0 -45
  638. package/.next/server/chunks/7782.js +0 -6
  639. package/.next/server/chunks/8148.js +0 -1
  640. package/.next/server/chunks/9599.js +0 -11
  641. package/.next/static/I-rxZaJEzhe3ZUTjSqB11/_buildManifest.js +0 -1
  642. package/.next/static/chunks/18977.a98edaf19c6df2d4.js +0 -1
  643. package/.next/static/chunks/26126-97874904b42befb8.js +0 -1
  644. package/.next/static/chunks/31010-6e87f77b97544424.js +0 -1
  645. package/.next/static/chunks/33072.9c3cd19e8d515dea.js +0 -1
  646. package/.next/static/chunks/3765-d323c6675307a63e.js +0 -20
  647. package/.next/static/chunks/39267.ef60669ade47cf4c.js +0 -1
  648. package/.next/static/chunks/41487-d802643f4a8fad3c.js +0 -199
  649. package/.next/static/chunks/48273-fb393846bb4333c0.js +0 -6
  650. package/.next/static/chunks/52333.f98d1cca9a127b34.js +0 -1
  651. package/.next/static/chunks/6935-f436a624267529fb.js +0 -1
  652. package/.next/static/chunks/70400.1816c247ad90f9bc.js +0 -1
  653. package/.next/static/chunks/7113.39704408fef3d26e.js +0 -1
  654. package/.next/static/chunks/85853.39872899093b140a.js +0 -1
  655. package/.next/static/chunks/86155.40f687f9aaa13854.js +0 -1
  656. package/.next/static/chunks/86339.4dbd51a9b9871f65.js +0 -1
  657. package/.next/static/chunks/86939-dfc6f8eb395caa89.js +0 -1
  658. package/.next/static/chunks/93794-5f89a674d8cefcff.js +0 -32
  659. package/.next/static/chunks/989-94bf2b9d242776c3.js +0 -3
  660. package/.next/static/chunks/app/(app)/agents/[name]/page-8bdd0359043537d4.js +0 -8
  661. package/.next/static/chunks/app/(app)/changes/page-4549a5bd72d77e3e.js +0 -1
  662. package/.next/static/chunks/app/(app)/claude-md/edit/page-08e6e120e71979f4.js +0 -1
  663. package/.next/static/chunks/app/(app)/commands/[name]/page-7cdfdef29ded0aa0.js +0 -6
  664. package/.next/static/chunks/app/(app)/files/page-f526eb95821e000e.js +0 -1
  665. package/.next/static/chunks/app/(app)/inbox/[id]/page-bc1ff3a0db0114a4.js +0 -1
  666. package/.next/static/chunks/app/(app)/inbox/page-82e03870103ce9bd.js +0 -1
  667. package/.next/static/chunks/app/(app)/jobs/[id]/edit/page-7fb788f772ff2129.js +0 -1
  668. package/.next/static/chunks/app/(app)/jobs/[id]/page-a5856b9ae967ff59.js +0 -1
  669. package/.next/static/chunks/app/(app)/jobs/[id]/runs/[runId]/page-b7c513402db11db6.js +0 -1
  670. package/.next/static/chunks/app/(app)/jobs/page-e9bbd6c116b9699f.js +0 -1
  671. package/.next/static/chunks/app/(app)/mcp-servers/page-4b7276d43451cd43.js +0 -1
  672. package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/[number]/page-9ab2955c455bb5fa.js +0 -13
  673. package/.next/static/chunks/app/(app)/sessions/[id]/page-94f891e1b54fd05f.js +0 -1
  674. package/.next/static/chunks/app/(app)/settings/notifications/page-229f1db6beb1d19c.js +0 -1
  675. package/.next/static/chunks/app/(app)/settings/providers/[id]/page-13654263246617b3.js +0 -1
  676. package/.next/static/chunks/app/(app)/settings/providers/new/page-e1798e321ccbc6df.js +0 -1
  677. package/.next/static/chunks/app/(app)/settings/providers/page-0bb4c1db2ee35b3d.js +0 -1
  678. package/.next/static/chunks/app/(app)/settings/session/page-ab216a8fa37a0f76.js +0 -1
  679. package/.next/static/chunks/app/(app)/skills/[name]/page-8ab85d5090967ee4.js +0 -6
  680. package/.next/static/chunks/app/_global-error/page-fc747760bd4c8a4b.js +0 -1
  681. package/.next/static/chunks/app/api/agents/[name]/route-fc747760bd4c8a4b.js +0 -1
  682. package/.next/static/chunks/app/api/agents/route-fc747760bd4c8a4b.js +0 -1
  683. package/.next/static/chunks/app/api/auth/check/route-fc747760bd4c8a4b.js +0 -1
  684. package/.next/static/chunks/app/api/auth/login/route-fc747760bd4c8a4b.js +0 -1
  685. package/.next/static/chunks/app/api/auth/setup/route-fc747760bd4c8a4b.js +0 -1
  686. package/.next/static/chunks/app/api/auth/ws-token/route-fc747760bd4c8a4b.js +0 -1
  687. package/.next/static/chunks/app/api/btw/route-fc747760bd4c8a4b.js +0 -1
  688. package/.next/static/chunks/app/api/claude-md/route-fc747760bd4c8a4b.js +0 -1
  689. package/.next/static/chunks/app/api/commands/[name]/route-fc747760bd4c8a4b.js +0 -1
  690. package/.next/static/chunks/app/api/commands/route-fc747760bd4c8a4b.js +0 -1
  691. package/.next/static/chunks/app/api/defaults/route-fc747760bd4c8a4b.js +0 -1
  692. package/.next/static/chunks/app/api/filesystem/browse/route-fc747760bd4c8a4b.js +0 -1
  693. package/.next/static/chunks/app/api/filesystem/files/route-fc747760bd4c8a4b.js +0 -1
  694. package/.next/static/chunks/app/api/filesystem/mkdir/route-fc747760bd4c8a4b.js +0 -1
  695. package/.next/static/chunks/app/api/filesystem/read/route-fc747760bd4c8a4b.js +0 -1
  696. package/.next/static/chunks/app/api/git/clone/route-fc747760bd4c8a4b.js +0 -1
  697. package/.next/static/chunks/app/api/git/commit/route-fc747760bd4c8a4b.js +0 -1
  698. package/.next/static/chunks/app/api/git/diff/route-fc747760bd4c8a4b.js +0 -1
  699. package/.next/static/chunks/app/api/git/discard/route-fc747760bd4c8a4b.js +0 -1
  700. package/.next/static/chunks/app/api/git/generate-message/route-fc747760bd4c8a4b.js +0 -1
  701. package/.next/static/chunks/app/api/git/push/route-fc747760bd4c8a4b.js +0 -1
  702. package/.next/static/chunks/app/api/git/status/route-fc747760bd4c8a4b.js +0 -1
  703. package/.next/static/chunks/app/api/github/file-content/route-fc747760bd4c8a4b.js +0 -1
  704. package/.next/static/chunks/app/api/github/orgs/route-fc747760bd4c8a4b.js +0 -1
  705. package/.next/static/chunks/app/api/github/prs/checks/route-fc747760bd4c8a4b.js +0 -1
  706. package/.next/static/chunks/app/api/github/prs/diff/route-fc747760bd4c8a4b.js +0 -1
  707. package/.next/static/chunks/app/api/github/prs/review/route-fc747760bd4c8a4b.js +0 -1
  708. package/.next/static/chunks/app/api/github/prs/route-fc747760bd4c8a4b.js +0 -1
  709. package/.next/static/chunks/app/api/github/prs/view/route-fc747760bd4c8a4b.js +0 -1
  710. package/.next/static/chunks/app/api/github/repos/route-fc747760bd4c8a4b.js +0 -1
  711. package/.next/static/chunks/app/api/github/review-session/route-fc747760bd4c8a4b.js +0 -1
  712. package/.next/static/chunks/app/api/health/route-fc747760bd4c8a4b.js +0 -1
  713. package/.next/static/chunks/app/api/hooks/route-fc747760bd4c8a4b.js +0 -1
  714. package/.next/static/chunks/app/api/inbox/[id]/route-fc747760bd4c8a4b.js +0 -1
  715. package/.next/static/chunks/app/api/inbox/route-fc747760bd4c8a4b.js +0 -1
  716. package/.next/static/chunks/app/api/jobs/[id]/route-fc747760bd4c8a4b.js +0 -1
  717. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/route-fc747760bd4c8a4b.js +0 -1
  718. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/transcript/route-fc747760bd4c8a4b.js +0 -1
  719. package/.next/static/chunks/app/api/jobs/[id]/runs/route-fc747760bd4c8a4b.js +0 -1
  720. package/.next/static/chunks/app/api/jobs/[id]/trigger/route-fc747760bd4c8a4b.js +0 -1
  721. package/.next/static/chunks/app/api/jobs/mcp-discover/route-fc747760bd4c8a4b.js +0 -1
  722. package/.next/static/chunks/app/api/jobs/route-fc747760bd4c8a4b.js +0 -1
  723. package/.next/static/chunks/app/api/jobs/status/route-fc747760bd4c8a4b.js +0 -1
  724. package/.next/static/chunks/app/api/mcp-servers/[name]/route-fc747760bd4c8a4b.js +0 -1
  725. package/.next/static/chunks/app/api/mcp-servers/[name]/test/route-fc747760bd4c8a4b.js +0 -1
  726. package/.next/static/chunks/app/api/mcp-servers/route-fc747760bd4c8a4b.js +0 -1
  727. package/.next/static/chunks/app/api/notifications/route-fc747760bd4c8a4b.js +0 -1
  728. package/.next/static/chunks/app/api/notifications/test/route-fc747760bd4c8a4b.js +0 -1
  729. package/.next/static/chunks/app/api/providers/[id]/route-fc747760bd4c8a4b.js +0 -1
  730. package/.next/static/chunks/app/api/providers/route-fc747760bd4c8a4b.js +0 -1
  731. package/.next/static/chunks/app/api/reviews/pinned/route-fc747760bd4c8a4b.js +0 -1
  732. package/.next/static/chunks/app/api/sessions/[id]/context/route-fc747760bd4c8a4b.js +0 -1
  733. package/.next/static/chunks/app/api/sessions/[id]/mcp/route-fc747760bd4c8a4b.js +0 -1
  734. package/.next/static/chunks/app/api/sessions/[id]/route-fc747760bd4c8a4b.js +0 -1
  735. package/.next/static/chunks/app/api/sessions/[id]/search/route-fc747760bd4c8a4b.js +0 -1
  736. package/.next/static/chunks/app/api/sessions/[id]/tabs/route-fc747760bd4c8a4b.js +0 -1
  737. package/.next/static/chunks/app/api/sessions/bulk-delete/route-fc747760bd4c8a4b.js +0 -1
  738. package/.next/static/chunks/app/api/sessions/by-ids/route-fc747760bd4c8a4b.js +0 -1
  739. package/.next/static/chunks/app/api/sessions/group/route-fc747760bd4c8a4b.js +0 -1
  740. package/.next/static/chunks/app/api/sessions/pinned/route-fc747760bd4c8a4b.js +0 -1
  741. package/.next/static/chunks/app/api/sessions/route-fc747760bd4c8a4b.js +0 -1
  742. package/.next/static/chunks/app/api/sessions/search/route-fc747760bd4c8a4b.js +0 -1
  743. package/.next/static/chunks/app/api/sessions/thinking/route-fc747760bd4c8a4b.js +0 -1
  744. package/.next/static/chunks/app/api/skills/[name]/route-fc747760bd4c8a4b.js +0 -1
  745. package/.next/static/chunks/app/api/skills/route-fc747760bd4c8a4b.js +0 -1
  746. package/.next/static/chunks/app/api/terminal/[id]/route-fc747760bd4c8a4b.js +0 -1
  747. package/.next/static/chunks/app/api/terminal/route-fc747760bd4c8a4b.js +0 -1
  748. package/.next/static/chunks/app/api/usage/route-fc747760bd4c8a4b.js +0 -1
  749. package/.next/static/chunks/app/api/version/changelog/route-fc747760bd4c8a4b.js +0 -1
  750. package/.next/static/chunks/app/api/version/cockpit/changelog/route-fc747760bd4c8a4b.js +0 -1
  751. package/.next/static/chunks/app/api/version/cockpit/route-fc747760bd4c8a4b.js +0 -1
  752. package/.next/static/chunks/app/api/version/route-fc747760bd4c8a4b.js +0 -1
  753. package/.next/static/chunks/next/dist/client/components/builtin/app-error-fc747760bd4c8a4b.js +0 -1
  754. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-fc747760bd4c8a4b.js +0 -1
  755. package/.next/static/chunks/next/dist/client/components/builtin/not-found-fc747760bd4c8a4b.js +0 -1
  756. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-fc747760bd4c8a4b.js +0 -1
  757. package/.next/static/chunks/webpack-e31bb45fa59caed8.js +0 -1
  758. package/.next/static/css/3f8af4ae6f812d5c.css +0 -1
  759. /package/.next/static/{I-rxZaJEzhe3ZUTjSqB11 → mmHo0MmzQHWjZATtI-VbH}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[31010],{8962:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]])},9383:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},11012:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},12651:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]])},14283:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("hammer",[["path",{d:"m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9",key:"1hayfq"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"15ts47"}]])},15561:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]])},18402:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("power-off",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},18986:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])},19707:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},19805:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]])},20660:(e,a,t)=>{t.d(a,{Q:()=>l});var h=t(26210),d=t(70569),y=t(82627),p=t(65431),k=t(95155);function l({fileDiff:e,options:a,metrics:t,lineAnnotations:A,selectedLines:M,className:c,style:r,prerenderedHTML:i,renderAnnotation:m,renderCustomHeader:s,renderHeaderPrefix:v,renderHeaderMetadata:o,renderGutterUtility:u,renderHoverUtility:n,disableWorkerPool:x=!1}){let{ref:f,getHoveredLine:w}=(0,p.S)({fileDiff:e,options:a,metrics:t,lineAnnotations:A,selectedLines:M,prerenderedHTML:i,hasGutterRenderUtility:null!=u||null!=n,hasCustomHeader:null!=s,disableWorkerPool:x});return(0,k.jsx)(h.mZ,{ref:f,className:c,style:r,children:(0,d.$)((0,y.z)({fileDiff:e,renderCustomHeader:s,renderHeaderPrefix:v,renderHeaderMetadata:o,renderAnnotation:m,renderGutterUtility:u,lineAnnotations:A,renderHoverUtility:n,getHoveredLine:w}),i)})}},25182:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},25494:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]])},28750:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("shield-off",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71",key:"1jlk70"}],["path",{d:"M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264",key:"18rp1v"}]])},30966:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]])},36619:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]])},36672:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("clipboard-check",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"m9 14 2 2 4-4",key:"df797q"}]])},40638:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("message-circle-question-mark",[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},40852:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]])},50981:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},55737:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]])},58309:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]])},64350:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("shrink",[["path",{d:"m15 15 6 6m-6-6v4.8m0-4.8h4.8",key:"17vawe"}],["path",{d:"M9 19.8V15m0 0H4.2M9 15l-6 6",key:"chjx8e"}],["path",{d:"M15 4.2V9m0 0h4.8M15 9l6-6",key:"lav6yq"}],["path",{d:"M9 4.2V9m0 0H4.2M9 9 3 3",key:"1pxi2q"}]])},66763:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]])},69203:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("shield-alert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]])},92298:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]])},94088:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(99537).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[33072],{33072:(e,a,n)=>{n.r(a),n.d(a,{default:()=>t});let t=[Object.freeze(JSON.parse('{"displayName":"Luau","fileTypes":["luau"],"name":"luau","patterns":[{"include":"#function-definition"},{"include":"#number"},{"include":"#string"},{"include":"#shebang"},{"include":"#comment"},{"include":"#local-declaration"},{"include":"#for-loop"},{"include":"#type-function"},{"include":"#type-alias-declaration"},{"include":"#keyword"},{"include":"#language_constant"},{"include":"#standard_library"},{"include":"#identifier"},{"include":"#operator"},{"include":"#parentheses"},{"include":"#table"},{"include":"#type_cast"},{"include":"#type_annotation"},{"include":"#attribute"}],"repository":{"attribute":{"patterns":[{"captures":{"1":{"name":"keyword.operator.attribute.luau"},"2":{"name":"storage.type.attribute.luau"}},"match":"(@)([A-Z_a-z][0-9A-Z_a-z]*)","name":"meta.attribute.luau"}]},"comment":{"patterns":[{"begin":"--\\\\[(=*)\\\\[","end":"]\\\\1]","name":"comment.block.luau","patterns":[{"begin":"(```luau?)\\\\s+","beginCaptures":{"1":{"name":"comment.luau"}},"end":"(```)","endCaptures":{"1":{"name":"comment.luau"}},"name":"keyword.operator.other.luau","patterns":[{"include":"source.luau"}]},{"include":"#doc_comment_tags"}]},{"begin":"---","end":"\\\\n","name":"comment.line.double-dash.documentation.luau","patterns":[{"include":"#doc_comment_tags"}]},{"begin":"--","end":"\\\\n","name":"comment.line.double-dash.luau"}]},"doc_comment_tags":{"patterns":[{"match":"@\\\\w+","name":"storage.type.class.luadoc.luau"},{"captures":{"1":{"name":"storage.type.class.luadoc.luau"},"2":{"name":"variable.parameter.luau"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)\\\\s+\\\\b(\\\\w+)\\\\b"}]},"for-loop":{"begin":"\\\\b(for)\\\\b","beginCaptures":{"1":{"name":"keyword.control.luau"}},"end":"\\\\b(in)\\\\b|(=)","endCaptures":{"1":{"name":"keyword.control.luau"},"2":{"name":"keyword.operator.assignment.luau"}},"patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.luau"}},"end":"(?=\\\\s*in\\\\b|\\\\s*[,=]|\\\\s*$)","patterns":[{"include":"#type_literal"}]},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"variable.parameter.luau"}]},"function-definition":{"begin":"\\\\b(?:(local)\\\\s+)?(function)\\\\b(?![,:])","beginCaptures":{"1":{"name":"storage.modifier.local.luau"},"2":{"name":"keyword.control.luau"}},"end":"(?<=[-\\\\]\\"\')\\\\[{}])","name":"meta.function.luau","patterns":[{"include":"#comment"},{"include":"#generics-declaration"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.luau"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.luau"}},"name":"meta.parameter.luau","patterns":[{"include":"#comment"},{"match":"\\\\.\\\\.\\\\.","name":"variable.parameter.function.varargs.luau"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.parameter.function.luau"},{"match":",","name":"punctuation.separator.arguments.luau"},{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.luau"}},"end":"(?=[),])","patterns":[{"include":"#type_literal"}]}]},{"match":"\\\\b(__(?:add|call|concat|div|eq|index|len??|lt|metatable|mode??|mul|newindex|pow|sub|tostring|unm|iter|idiv))\\\\b","name":"variable.language.metamethod.luau"},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"entity.name.function.luau"}]},"generics-declaration":{"begin":"(<)","end":"(>)","patterns":[{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"entity.name.type.luau"},{"match":"=","name":"keyword.operator.assignment.luau"},{"include":"#type_literal"}]},"identifier":{"patterns":[{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(?=\\\\s*(?:[\\"\'({]|\\\\[\\\\[))","name":"entity.name.function.luau"},{"match":"(?<=[^.]\\\\.|:)\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"variable.other.property.luau"},{"match":"\\\\b([A-Z_][0-9A-Z_]*)\\\\b","name":"variable.other.constant.luau"},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"variable.other.readwrite.luau"}]},"interpolated_string_expression":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.interpolated-string-expression.begin.luau"}},"contentName":"meta.embedded.line.luau","end":"}","endCaptures":{"0":{"name":"punctuation.definition.interpolated-string-expression.end.luau"}},"name":"meta.template.expression.luau","patterns":[{"include":"source.luau"}]},"keyword":{"patterns":[{"match":"\\\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\\\b","name":"keyword.control.luau"},{"match":"\\\\b(local)\\\\b","name":"storage.modifier.local.luau"},{"match":"\\\\b(function)\\\\b(?![,:])","name":"keyword.control.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(self)\\\\b","name":"variable.language.self.luau"},{"match":"\\\\b(and|or|not)\\\\b","name":"keyword.operator.logical.luau keyword.operator.wordlike.luau"},{"match":"(?<=[^.]\\\\.|:)\\\\b(__(?:add|call|concat|div|eq|index|len??|lt|metatable|mode??|mul|newindex|pow|sub|tostring|unm))\\\\b","name":"variable.language.metamethod.luau"},{"match":"(?<!\\\\.)\\\\.{3}(?!\\\\.)","name":"keyword.other.unit.luau"}]},"language_constant":{"patterns":[{"match":"(?<![^.]\\\\.|:)\\\\b(false)\\\\b","name":"constant.language.boolean.false.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(true)\\\\b","name":"constant.language.boolean.true.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(nil(?!:))\\\\b","name":"constant.language.nil.luau"}]},"local-declaration":{"begin":"\\\\b(local)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.local.luau"}},"end":"(?=\\\\s*do\\\\b|\\\\s*[;=]|\\\\s*$)","patterns":[{"include":"#comment"},{"include":"#attribute"},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.luau"}},"end":"(?=\\\\s*do\\\\b|\\\\s*[,;=]|\\\\s*$)","patterns":[{"include":"#type_literal"}]},{"match":"\\\\b([A-Z_][0-9A-Z_]*)\\\\b","name":"variable.other.constant.luau"},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"variable.other.readwrite.luau"}]},"number":{"patterns":[{"match":"\\\\b0_*[Xx]_*[A-F_a-f\\\\d]*(?:[Ee][-+]?_*\\\\d[_\\\\d]*(?:\\\\.[_\\\\d]*)?)?","name":"constant.numeric.hex.luau"},{"match":"\\\\b0_*[Bb][01_]+(?:[Ee][-+]?_*\\\\d[_\\\\d]*(?:\\\\.[_\\\\d]*)?)?","name":"constant.numeric.binary.luau"},{"match":"(?:\\\\d[_\\\\d]*(?:\\\\.[_\\\\d]*)?|\\\\.\\\\d[_\\\\d]*)(?:[Ee][-+]?_*\\\\d[_\\\\d]*(?:\\\\.[_\\\\d]*)?)?","name":"constant.numeric.decimal.luau"}]},"operator":{"patterns":[{"match":"==|~=|!=|<=?|>=?","name":"keyword.operator.comparison.luau"},{"match":"(?:[-+]|//??|[%*^]|\\\\.\\\\.|)=","name":"keyword.operator.assignment.luau"},{"match":"[-%*+]|//|[/^]","name":"keyword.operator.arithmetic.luau"},{"match":"#|(?<!\\\\.)\\\\.{2}(?!\\\\.)","name":"keyword.operator.other.luau"}]},"parentheses":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.arguments.begin.luau"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.arguments.end.luau"}},"patterns":[{"match":",","name":"punctuation.separator.arguments.luau"},{"include":"source.luau"}]},"shebang":{"captures":{"1":{"name":"punctuation.definition.comment.luau"}},"match":"\\\\A(#!).*$\\\\n?","name":"comment.line.shebang.luau"},"standard_library":{"patterns":[{"match":"(?<![^.]\\\\.|:)\\\\b(assert|collectgarbage|error|gcinfo|getfenv|getmetatable|ipairs|loadstring|newproxy|next|pairs|pcall|print|rawequal|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|typeof|unpack|xpcall)\\\\b","name":"support.function.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(_(?:G|VERSION))\\\\b","name":"constant.language.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(bit32\\\\.(?:arshift|band|bnot|bor|btest|bxor|extract|lrotate|lshift|replace|rrotate|rshift|countlz|countrz|byteswap)|coroutine\\\\.(?:create|isyieldable|resume|running|status|wrap|yield|close)|debug\\\\.(?:info|loadmodule|profilebegin|profileend|traceback)|math\\\\.(?:abs|acos|asin|atan2??|ceil|clamp|cosh??|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|noise|pow|rad|random|randomseed|round|sign|sinh??|sqrt|tanh??)|os\\\\.(?:clock|date|difftime|time)|string\\\\.(?:byte|char|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|split|sub|unpack|upper)|table\\\\.(?:concat|create|find|foreachi??|getn|insert|maxn|move|pack|remove|sort|unpack|clear|freeze|isfrozen|clone)|task\\\\.(?:spawn|synchronize|desynchronize|wait|defer|delay)|utf8\\\\.(?:char|codepoint|codes|graphemes|len|nfcnormalize|nfdnormalize|offset)|buffer\\\\.(?:create|fromstring|tostring|len|readi8|readu8|readi16|readu16|readi32|readu32|readf32|readf64|writei8|writeu8|writei16|writeu16|writei32|writeu32|writef32|writef64|readstring|writestring|copy|fill)|vector\\\\.(?:abs|angle|ceil|clamp|create|cross|dot|floor|lerp|magnitude|max|min|normalize|sign))\\\\b","name":"support.function.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(bit32|buffer|coroutine|debug|math(\\\\.(huge|pi))?|os|string|table|task|utf8(\\\\.charpattern)?|vector(\\\\.(one|zero))?)\\\\b","name":"support.constant.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(delay|DebuggerManager|elapsedTime|PluginManager|printidentity|settings|spawn|stats|tick|time|UserSettings|version|wait|warn)\\\\b","name":"support.function.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(game|plugin|shared|script|workspace|Enum(?:\\\\.\\\\w+){0,2})\\\\b","name":"constant.language.luau"}]},"string":{"patterns":[{"begin":"\\"","end":"\\"","name":"string.quoted.double.luau","patterns":[{"include":"#string_escape"}]},{"begin":"\'","end":"\'","name":"string.quoted.single.luau","patterns":[{"include":"#string_escape"}]},{"begin":"\\\\[(=*)\\\\[","end":"]\\\\1]","name":"string.other.multiline.luau"},{"begin":"`","end":"`","name":"string.interpolated.luau","patterns":[{"include":"#interpolated_string_expression"},{"include":"#string_escape"}]}]},"string_escape":{"patterns":[{"match":"\\\\\\\\[\\"\'\\\\\\\\`abfnrtvz{]","name":"constant.character.escape.luau"},{"match":"\\\\\\\\\\\\d{1,3}","name":"constant.character.escape.luau"},{"match":"\\\\\\\\x\\\\h{2}","name":"constant.character.escape.luau"},{"match":"\\\\\\\\u\\\\{\\\\h*}","name":"constant.character.escape.luau"},{"match":"\\\\\\\\$","name":"constant.character.escape.luau"}]},"table":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.table.begin.luau"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.table.end.luau"}},"patterns":[{"match":"[,;]","name":"punctuation.separator.fields.luau"},{"include":"source.luau"}]},"type-alias-declaration":{"begin":"^\\\\b(?:(export)\\\\s+)?(type)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.visibility.luau"},"2":{"name":"storage.type.luau"}},"end":"(?=\\\\s*$)|(?=\\\\s*;)","patterns":[{"include":"#type_literal"},{"match":"=","name":"keyword.operator.assignment.luau"}]},"type-function":{"begin":"^\\\\b(?:(export)\\\\s+)?(type)\\\\s+(function)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.visibility.luau"},"2":{"name":"storage.type.luau"},"3":{"name":"keyword.control.luau"}},"end":"(?<=[-\\\\]\\"\')\\\\[{}])","name":"meta.function.luau","patterns":[{"include":"#comment"},{"include":"#generics-declaration"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.luau"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.luau"}},"name":"meta.parameter.luau","patterns":[{"include":"#comment"},{"match":"\\\\.\\\\.\\\\.","name":"variable.parameter.function.varargs.luau"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.parameter.function.luau"},{"match":",","name":"punctuation.separator.arguments.luau"},{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.luau"}},"end":"(?=[),])","patterns":[{"include":"#type_literal"}]}]},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"entity.name.type.luau"}]},"type_annotation":{"begin":":(?!\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(?=\\\\s*(?:[\\"\'({]|\\\\[\\\\[)))","end":"(?<=\\\\))(?!\\\\s*->)|[;=]|$|(?=\\\\breturn\\\\b)|(?=\\\\bend\\\\b)","patterns":[{"include":"#comment"},{"include":"#type_literal"}]},"type_cast":{"begin":"(::)","beginCaptures":{"1":{"name":"keyword.operator.typecast.luau"}},"end":"(?=^|[-\\\\])+,:;>?}](?!\\\\s*[\\\\&|])|$|\\\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\\\b)","patterns":[{"include":"#type_literal"}]},"type_literal":{"patterns":[{"include":"#comment"},{"include":"#string"},{"match":"[\\\\&?|]","name":"keyword.operator.type.luau"},{"match":"->","name":"keyword.operator.type.function.luau"},{"match":"\\\\b(false)\\\\b","name":"constant.language.boolean.false.luau"},{"match":"\\\\b(true)\\\\b","name":"constant.language.boolean.true.luau"},{"match":"\\\\b(nil|string|number|boolean|thread|userdata|symbol|vector|buffer|unknown|never|any)\\\\b","name":"support.type.primitive.luau"},{"begin":"\\\\b(typeof)\\\\b(\\\\()","beginCaptures":{"1":{"name":"support.function.luau"},"2":{"name":"punctuation.arguments.begin.typeof.luau"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.arguments.end.typeof.luau"}},"patterns":[{"include":"source.luau"}]},{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.luau"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.luau"}},"patterns":[{"match":"=","name":"keyword.operator.assignment.luau"},{"include":"#type_literal"}]},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"entity.name.type.luau"},{"begin":"\\\\{","end":"}","patterns":[{"begin":"\\\\[","end":"]","patterns":[{"include":"#type_literal"}]},{"captures":{"1":{"name":"storage.modifier.access.luau"},"2":{"name":"variable.property.luau"},"3":{"name":"keyword.operator.type.luau"}},"match":"\\\\b(?:(read|write)\\\\s+)?([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(:)"},{"include":"#type_literal"},{"match":"[,;]","name":"punctuation.separator.fields.type.luau"}]},{"begin":"\\\\(","end":"\\\\)","patterns":[{"captures":{"1":{"name":"variable.parameter.luau"},"2":{"name":"keyword.operator.type.luau"}},"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(:)","name":"variable.parameter.luau"},{"include":"#type_literal"}]}]}},"scopeName":"source.luau"}'))]}}]);
@@ -1,20 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3765],{513:(e,t,s)=>{s.d(t,{s:()=>U});var n=s(95155),r=s(92571),a=s(76721),l=s(12363),i=s(36483),o=s(9107),c=s(5045),d=s(12115),u=s(18189),m=s(64233),x=s(42763),h=s(22317),f=s(40980),p=s(52750),g=s(1275),j=s(73321),b=s(53972),w=s(3765),v=s(57594),y=s(89723);function N(e,t){let s=e.toLowerCase();return("write"===s||"edit"===s)&&(t.includes("/.claude/plans/")||t.startsWith("~/.claude/plans/"))&&t.endsWith(".md")}function k({tool:e,expandedToolIds:t}){let s=function(){let[e,t]=(0,d.useState)(!1);return(0,d.useEffect)(()=>{let e=()=>{t(document.documentElement.classList.contains("dark"))};e();let s=new MutationObserver(e);return s.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>s.disconnect()},[]),e}(),{backgroundTasks:r}=(0,w.E2)(),{settings:l,loaded:i}=(0,h.t)(),o=(0,d.useMemo)(()=>(function(e){if(!e)return{};try{return JSON.parse(e)}catch{return{}}})(e.input),[e.input]),[c,m]=(0,d.useState)(()=>t?.current?.has(e.id)??!1),[x,g]=(0,d.useState)(!1),j=(0,d.useRef)(t?.current?.has(e.id)??!1);(0,d.useEffect)(()=>{var t;let s;i&&!j.current&&m((t=e.name,"read"===(s=t.toLowerCase())?l.readExpanded:"edit"===s?l.editExpanded:l.toolCallsExpanded))},[i,e.name,l]);let b=o.file_path||e.filePath||"",v=N(e.name,b),S=o.content||"",C=v&&("Write"===e.name||"write"===e.name)&&S;(0,d.useEffect)(()=>{let t=e.name;if(("Read"===t||"read"===t)&&e.output){let t=o.file_path||e.filePath||"",n=t?(0,u.WG)(t):void 0;n&&(0,u.Ik)(e.output,n,s)}else if(("Write"===t||"write"===t)&&o.content){let t=o.file_path||e.filePath||"",n=t?(0,u.WG)(t):void 0;n&&(0,u.Ik)(o.content,n,s)}},[e.name,e.output,e.filePath,o,s]);let E="EnterPlanMode"!==e.name&&"ExitPlanMode"!==e.name&&"TaskCreate"!==e.name&&"TaskUpdate"!==e.name&&"TaskList"!==e.name&&"TaskGet"!==e.name&&"TodoWrite"!==e.name&&(e.input||e.output),$=(0,d.useMemo)(()=>({current:!1}),[]),I=(0,d.useCallback)(e=>{e&&$.current&&($.current=!1,requestAnimationFrame(()=>{let t=e.closest("[tabindex]");if(!t)return;let s=t.getBoundingClientRect();e.getBoundingClientRect().bottom>s.bottom&&e.scrollIntoView({block:"nearest",behavior:"smooth"})}))},[$]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"rounded border border-border bg-card text-card-foreground text-xs overflow-hidden",children:[(0,n.jsxs)("button",{onClick:()=>{if(C)return void g(!0);if(!E)return;let s=!c;$.current=s,j.current=!0,m(s),t?.current&&(s?t.current.add(e.id):t.current.delete(e.id))},className:(0,f.cn)("flex w-full items-start gap-2 px-3 py-1.5 text-left",E&&"cursor-pointer hover:bg-muted/50",!E&&"cursor-default"),children:[C?(0,n.jsx)(p.A,{className:"h-3 w-3 shrink-0 text-blue-500"}):(0,n.jsx)(a.A,{className:(0,f.cn)("h-3 w-3 shrink-0 text-muted-foreground transition-transform",c&&"rotate-90")}),"Agent"===e.name?(0,n.jsx)(A,{tool:e,input:o,backgroundTasks:r}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"font-mono font-medium",children:e.name}),(0,n.jsx)(T,{tool:e,input:o})]})]}),c&&E&&(0,n.jsx)("div",{ref:I,className:"border-t border-border px-3 py-2 space-y-2",children:(0,n.jsx)(R,{tool:e,input:o,dark:s,expandedToolIds:t})})]}),C&&(0,n.jsx)(y.G,{open:x,onOpenChange:g,content:S,filePath:b})]})}function S(e){let{cwd:t}=(0,w.E2)();return`/files?cwd=${encodeURIComponent(t||"")}&file=${encodeURIComponent(e)}`}function C(){let e=document.querySelector("[data-chat-scroll]");e&&sessionStorage.setItem("cockpit:scrollPos:"+window.location.pathname,String(e.scrollTop))}function E({filePath:e}){let{tabActions:t}=(0,w.E2)(),s=S(e),r=(0,j.useRouter)();return(0,n.jsx)("button",{onClick:n=>{n.stopPropagation(),t?t.openFile(e):(C(),r.push(s))},title:e,className:"shrink-0 text-muted-foreground hover:text-foreground",children:(0,n.jsx)(g.A,{className:"h-3 w-3"})})}function $({filePath:e,children:t}){let{tabActions:s}=(0,w.E2)(),r=S(e),a=(0,j.useRouter)();return(0,n.jsx)("a",{href:r,onClick:t=>{t.preventDefault(),s?s.openFile(e):(C(),a.push(r))},title:e,className:"font-mono text-muted-foreground break-all hover:underline",children:t})}function A({tool:e,input:t,backgroundTasks:s}){let a=t.description||t.prompt||"",l=a.length>80?a.slice(0,80)+"...":a,i=t.model,o=[t.subagent_type,i].filter(Boolean),c="running"===e.status||s.some(t=>t.toolUseId===e.id&&"running"===t.status);return(0,n.jsxs)("div",{className:"flex flex-col gap-0.5 min-w-0 flex-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono font-medium",children:"Agent"}),c&&(0,n.jsx)(r.A,{className:"h-3 w-3 shrink-0 animate-spin text-muted-foreground"}),o.map(e=>(0,n.jsx)("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground",children:e},e))]}),l&&(0,n.jsx)("span",{className:"text-muted-foreground truncate",children:l})]})}function T({tool:e,input:t}){let s=e.name;if("Edit"===s||"edit"===s){let r=t.file_path||e.filePath||"";if(!r)return null;let a=N(s,r);return(0,n.jsxs)("span",{className:"flex items-center gap-1.5 min-w-0",children:[(0,n.jsxs)("span",{className:"text-muted-foreground truncate",children:[(0,b._1)(r),a?" (plan edit)":""]}),(0,n.jsx)(E,{filePath:r})]})}if("Write"===s||"write"===s){let r=t.file_path||e.filePath||"";if(!r)return null;let a=t.content||"";return N(s,r)&&a?(0,n.jsx)("span",{className:"text-blue-500 truncate",children:"View plan"}):(0,n.jsxs)("span",{className:"flex items-center gap-1.5 min-w-0",children:[(0,n.jsx)("span",{className:"text-muted-foreground truncate",children:(0,b._1)(r)}),(0,n.jsx)(E,{filePath:r})]})}if("Read"===s||"read"===s){let s=t.file_path||e.filePath||"";return s?(0,n.jsxs)("span",{className:"flex items-center gap-1.5 min-w-0",children:[(0,n.jsx)("span",{className:"text-muted-foreground truncate",children:(0,b._1)(s)}),(0,n.jsx)(E,{filePath:s})]}):null}if("Bash"===s||"bash"===s){let e=t.command||"",s=e.length>60?e.slice(0,60)+"...":e;return s?(0,n.jsx)("span",{className:"font-mono text-muted-foreground truncate",children:s}):null}if("Grep"===s||"grep"===s){let e=t.pattern||"";return e?(0,n.jsxs)("span",{className:"font-mono text-muted-foreground truncate",children:["/",e,"/"]}):null}if("Glob"===s||"glob"===s){let e=t.pattern||"";return e?(0,n.jsx)("span",{className:"font-mono text-muted-foreground truncate",children:e}):null}if("EnterPlanMode"===s)return(0,n.jsx)("span",{className:"text-muted-foreground",children:"Entering plan mode"});if("ExitPlanMode"===s)return(0,n.jsx)("span",{className:"text-muted-foreground",children:"Exiting plan mode"});if("TaskCreate"===s){let e=t.subject||t.content||"";return e?(0,n.jsx)("span",{className:"text-muted-foreground truncate",children:e}):null}if("TaskUpdate"===s){let e=t.taskId||"",s=t.status||"";return e?(0,n.jsxs)("span",{className:"text-muted-foreground truncate",children:["#",e," ",s]}):null}if("TaskList"===s)return(0,n.jsx)("span",{className:"text-muted-foreground",children:"Listing tasks"});if("TaskGet"===s){let e=t.taskId||"";return e?(0,n.jsxs)("span",{className:"text-muted-foreground",children:["#",e]}):null}return null}function R({tool:e,input:t,dark:s,expandedToolIds:r}){let a=e.name;return"Edit"===a||"edit"===a?(0,n.jsx)(I,{input:t,tool:e,dark:s}):"Write"===a||"write"===a?(0,n.jsx)(P,{input:t,tool:e,dark:s}):"Read"===a||"read"===a?(0,n.jsx)(_,{input:t,tool:e,dark:s}):"Bash"===a||"bash"===a?(0,n.jsx)(F,{input:t,tool:e}):"Grep"===a||"grep"===a||"Glob"===a||"glob"===a?(0,n.jsx)(z,{input:t,tool:e}):"Agent"===a?(0,n.jsx)(M,{input:t,tool:e,dark:s,expandedToolIds:r}):(0,n.jsx)(O,{input:t,tool:e})}function I({input:e,tool:t,dark:s}){let r=e.file_path||t.filePath||"file",a=e.old_string||"",l=e.new_string||"";return a||l?(0,n.jsx)(v.Mh,{filePath:r,oldString:a,newString:l,dark:s}):(0,n.jsx)(O,{input:e,tool:t})}function P({input:e,tool:t,dark:s}){let r=e.file_path||t.filePath||"",a=e.content||"",l=r?(0,u.WG)(r):void 0;return(0,n.jsxs)("div",{className:"space-y-1",children:[r&&(0,n.jsx)($,{filePath:r,children:r}),a&&(0,n.jsx)(u.NG,{code:a,language:l,dark:s}),t.output&&(0,n.jsx)("pre",{className:"overflow-x-auto rounded bg-muted/50 p-2 text-[11px] leading-relaxed max-h-32 overflow-y-auto text-muted-foreground",children:t.output})]})}function _({input:e,tool:t,dark:s}){let r=e.file_path||t.filePath||"",a=r?(0,u.WG)(r):void 0;return(0,n.jsxs)("div",{className:"space-y-1",children:[r&&(0,n.jsx)($,{filePath:r,children:r}),t.output&&(0,n.jsx)(u.NG,{code:t.output,language:a,dark:s})]})}function F({input:e,tool:t}){let s=e.command||"";return(0,n.jsxs)("div",{className:"space-y-1",children:[s&&(0,n.jsxs)("div",{className:"font-mono text-muted-foreground break-all",children:[(0,n.jsx)("span",{className:"text-foreground/60",children:"$"})," ",s]}),t.output&&(0,n.jsx)("pre",{className:"whitespace-pre-wrap break-all rounded bg-muted/50 p-2 text-[11px] leading-relaxed max-h-64 overflow-y-auto",children:t.output})]})}function z({input:e,tool:t}){let s=e.pattern||"",r=e.path||"";return(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsxs)("div",{className:"font-mono text-muted-foreground",children:[s&&(0,n.jsxs)("span",{children:["/",s,"/"]}),r&&(0,n.jsxs)("span",{children:[" in ",(0,b._1)(r)]})]}),t.output&&(0,n.jsx)("pre",{className:"overflow-x-auto rounded bg-muted/50 p-2 text-[11px] leading-relaxed max-h-64 overflow-y-auto",children:t.output})]})}function M({input:e,tool:t,expandedToolIds:s}){let r=e.prompt||"",a=t.children||[];return(0,n.jsxs)("div",{className:"space-y-2",children:[r&&(0,n.jsx)("pre",{className:"overflow-x-auto rounded bg-muted/50 p-2 text-[11px] leading-relaxed max-h-32 overflow-y-auto text-muted-foreground",children:r}),a.length>0&&(0,n.jsx)("div",{className:"pl-3 border-l-2 border-border space-y-1",children:a.map(e=>(0,n.jsx)(k,{tool:e,expandedToolIds:s},e.id))}),t.output&&(0,n.jsx)("pre",{className:"overflow-x-auto rounded bg-muted/50 p-2 text-[11px] leading-relaxed max-h-48 overflow-y-auto text-muted-foreground",children:t.output})]})}function O({input:e,tool:t}){let s=Object.keys(e).length>0;return(0,n.jsxs)("div",{className:"space-y-1",children:[s&&(0,n.jsx)("pre",{className:"overflow-x-auto rounded bg-muted/50 p-2 text-[11px] leading-relaxed max-h-48 overflow-y-auto",children:JSON.stringify(e,null,2)}),t.output&&(0,n.jsx)("pre",{className:"overflow-x-auto rounded bg-muted/50 p-2 text-[11px] leading-relaxed max-h-48 overflow-y-auto text-muted-foreground",children:t.output})]})}let L=/<(?:task-notification|local-command-caveat|local-command-stdout|command-name|command-message|command-args|system-reminder)[^>]*>[\s\S]*?<\/(?:task-notification|local-command-caveat|local-command-stdout|command-name|command-message|command-args|system-reminder)>[\s\S]*/g;function D(e){return e.replace(L,"").trim()}let U=(0,d.memo)(function({message:e,collapsedByDefault:t=!1,expandedToolIds:s,selectionMode:o=!1,selected:c=!1,onEnterSelection:u,onToggleSelect:h}){let[p,g]=(0,d.useState)(t),[j,b]=(0,d.useState)(null),w="user"===e.role,v="system"===e.role,y=!v,N=new Set(["AskUserQuestion","TodoWrite"]),S=e.blocks?.filter(e=>!("tool_use"===e.type&&N.has(e.toolUse.name)))||[],C=S.length>0,E=(0,d.useRef)(!1),$=(0,d.useRef)(null),A=(0,d.useCallback)(t=>{E.current||o&&(t.preventDefault(),y&&h?.(e.id))},[y,o,e.id,h]),T=(0,d.useCallback)(()=>{E.current=!0},[]),R=(0,d.useCallback)(()=>{E.current=!1},[]),I=(0,d.useCallback)(t=>{if(o){y&&h?.(e.id);return}if(!y)return;let s=Date.now(),n=$.current;if(n&&s-n.time<300){let s=t.clientX-n.x,r=t.clientY-n.y;if(s*s+r*r<400){$.current=null,window.getSelection()?.removeAllRanges(),u?.(e.id);return}}$.current={time:s,x:t.clientX,y:t.clientY}},[o,y,e.id,h,u]);if(v){let t="__compacting__"===e.content,s="__compacted__"===e.content;return t||s?(0,n.jsxs)("div",{className:"flex w-full items-center gap-3 py-2",children:[(0,n.jsx)("div",{className:"flex-1 border-t border-border"}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5 text-[10px] text-muted-foreground uppercase tracking-wider",children:[t&&(0,n.jsx)(r.A,{className:"h-3 w-3 animate-spin"}),t?"Compacting...":"Compacted"]}),(0,n.jsx)("div",{className:"flex-1 border-t border-border"})]}):"__context_reset__"===e.content?(0,n.jsxs)("div",{className:"flex w-full items-center gap-3 py-2",children:[(0,n.jsx)("div",{className:"flex-1 border-t border-border"}),(0,n.jsx)("div",{className:"text-[10px] text-muted-foreground uppercase tracking-wider",children:"Context cleared"}),(0,n.jsx)("div",{className:"flex-1 border-t border-border"})]}):(0,n.jsx)("div",{className:"flex w-full justify-center",children:(0,n.jsx)("div",{className:"text-xs text-muted-foreground whitespace-pre-wrap py-1",children:e.content})})}return!w&&!v&&!C&&!e.content&&e.toolUses.every(e=>N.has(e.name))||w&&e.content.startsWith("[Request interrupted")?null:p?(e.content.slice(0,80).replace(/\n/g," "),(0,n.jsx)("div",{className:"flex w-full justify-start",children:(0,n.jsx)("button",{onClick:()=>g(!1),className:"max-w-[85%] rounded-lg px-4 py-2 bg-muted text-foreground text-left overflow-hidden",children:(0,n.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,n.jsx)(a.A,{className:"h-3 w-3"}),(0,n.jsx)("span",{className:"font-medium",children:"Compaction summary"})]})})})):(0,n.jsxs)("div",{className:(0,f.cn)("flex w-full",w&&!t?"justify-end":"justify-start",o&&"cursor-pointer select-none"),onContextMenu:A,onTouchStart:T,onMouseDown:R,onClick:I,children:[(0,n.jsxs)("div",{className:(0,f.cn)("max-w-[85%] rounded-lg px-4 py-2 overflow-hidden transition-colors",w&&!t?"bg-primary text-primary-foreground":"bg-muted text-foreground",c&&"ring-2 ring-blue-500"),children:[t&&(0,n.jsxs)("button",{onClick:()=>g(!0),className:"flex items-center gap-1 text-xs text-muted-foreground mb-2 hover:text-foreground",children:[(0,n.jsx)(l.A,{className:"h-3 w-3"}),(0,n.jsx)("span",{className:"font-medium",children:"Compaction summary"})]}),w?(0,n.jsxs)(n.Fragment,{children:[e.images&&e.images.length>0&&(0,n.jsx)("div",{className:"flex gap-2 flex-wrap mb-2",children:e.images.map((e,t)=>(0,n.jsx)("img",{src:`data:${e.mediaType};base64,${e.data}`,className:"max-h-60 rounded border border-primary-foreground/20 object-contain cursor-pointer",alt:"",onClick:t=>{t.stopPropagation(),b(`data:${e.mediaType};base64,${e.data}`)}},t))}),e.documents&&e.documents.length>0&&(0,n.jsx)("div",{className:"flex gap-2 flex-wrap mb-2",children:e.documents.map((e,t)=>(0,n.jsxs)("div",{className:"flex items-center gap-1.5 rounded border border-primary-foreground/20 px-2 py-1 text-xs",children:[(0,n.jsx)(i.A,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{children:e.name})]},t))}),e.textFiles&&e.textFiles.length>0&&(0,n.jsx)("div",{className:"space-y-1.5 mb-2",children:e.textFiles.map((e,t)=>(0,n.jsx)(W,{name:e.name,content:e.content},t))}),e.content&&(0,n.jsx)("p",{className:"whitespace-pre-wrap break-words text-base leading-relaxed",children:e.content})]}):C?(0,n.jsx)("div",{className:"space-y-2",children:S.map((e,t)=>"tool_use"===e.type?(0,n.jsx)(k,{tool:e.toolUse,expandedToolIds:s},e.toolUse.id):"thinking"===e.type?(0,n.jsx)(J,{text:e.text,tokens:e.tokens,durationMs:e.durationMs,redacted:e.redacted},`thinking-${t}`):(0,n.jsx)(m.Y,{content:D(e.text)},`text-${t}`))}):(0,n.jsxs)(n.Fragment,{children:[e.toolUses.filter(e=>!N.has(e.name)).length>0&&(0,n.jsx)("div",{className:"mb-2 space-y-1",children:e.toolUses.filter(e=>!N.has(e.name)).map(e=>(0,n.jsx)(k,{tool:e,expandedToolIds:s},e.id))}),(0,n.jsx)(m.Y,{content:D(e.content)})]})]}),(0,n.jsx)(x.lG,{open:null!==j,onOpenChange:()=>b(null),className:"max-w-3xl",children:(0,n.jsx)(x.Cf,{className:"max-h-[80vh] overflow-auto",onClose:()=>b(null),children:j&&(0,n.jsx)("img",{src:j,className:"w-full rounded object-contain",alt:""})})})]})});function W({name:e,content:t}){let[s,r]=(0,d.useState)(!1),a=t.split(/\r?\n/).length;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{onClick:e=>{e.stopPropagation(),r(!0)},className:"flex w-full items-center gap-1.5 rounded border border-blue-500/20 bg-blue-500/5 px-3 py-1.5 text-xs text-blue-400 hover:text-blue-300",children:[(0,n.jsx)(o.A,{className:"h-3 w-3"}),(0,n.jsx)("span",{className:"font-medium",children:e}),(0,n.jsxs)("span",{className:"text-muted-foreground ml-1",children:[a," lines"]})]}),(0,n.jsx)(x.lG,{open:s,onOpenChange:r,className:"max-w-3xl",children:(0,n.jsxs)(x.Cf,{className:"max-h-[80vh] flex flex-col",onClose:()=>r(!1),children:[(0,n.jsxs)("div",{className:"text-sm font-medium px-1 pb-2 border-b border-border flex items-center gap-1.5",children:[(0,n.jsx)(o.A,{className:"h-3.5 w-3.5 text-blue-400"}),e]}),(0,n.jsx)("div",{className:"flex-1 min-h-0 overflow-auto",children:(0,n.jsx)(u.NG,{code:t,language:(0,u.WG)(e),dark:!0,fullHeight:!0})})]})})]})}function J({text:e,tokens:t,durationMs:s}){let{settings:r}=(0,h.t)(),[i,o]=(0,d.useState)(null),u=i??r.thinkingExpanded,m=e.length>0,x=null!=s?`${Math.max(1,Math.round(s/1e3))}s`:null!=t?`${t.toLocaleString()} token${1===t?"":"s"}`:m?`${e.length.toLocaleString()} chars`:null;return(0,n.jsxs)("div",{className:"rounded border border-purple-500/20 bg-purple-500/5",children:[(0,n.jsxs)("button",{onClick:()=>m&&o(!u),disabled:!m,className:"flex w-full items-center gap-1.5 px-3 py-1.5 text-xs text-purple-400 hover:text-purple-300 disabled:cursor-default disabled:hover:text-purple-400",children:[(0,n.jsx)(c.A,{className:"h-3 w-3"}),(0,n.jsx)("span",{className:"font-medium",children:"Thinking"}),x&&(0,n.jsx)("span",{className:"text-muted-foreground ml-1",children:x}),m&&(u?(0,n.jsx)(l.A,{className:"h-3 w-3 ml-auto"}):(0,n.jsx)(a.A,{className:"h-3 w-3 ml-auto"}))]}),m&&u&&(0,n.jsx)("div",{className:"border-t border-purple-500/20 px-3 py-2 text-xs text-muted-foreground whitespace-pre-wrap max-h-60 overflow-y-auto",children:e})]})}},3765:(e,t,s)=>{s.d(t,{GV:()=>X,si:()=>G,E2:()=>J,mq:()=>B,tB:()=>q});var n=s(95155),r=s(16449),a=s(96304),l=s(5772),i=s(12115),o=s(73321);let c=!1;function d({children:e}){let t=(0,o.useRouter)(),[s,r]=(0,i.useState)(c);return((0,i.useEffect)(()=>{c||fetch("/api/auth/check").then(e=>{e.ok?(c=!0,r(!0)):t.replace("/login")}).catch(()=>{t.replace("/login")})},[t]),s)?(0,n.jsx)(n.Fragment,{children:e}):null}var u=s(64577),m=s(99314),x=s(65377),h=s(92571),f=s(9005),p=s(45160),g=s(89239),j=s(81477),b=s(16617);function w({preview:e,matchStart:t,matchLength:s}){let r=e.slice(0,t),a=e.slice(t,t+s),l=e.slice(t+s);return(0,n.jsxs)("span",{className:"text-sm text-muted-foreground whitespace-pre-wrap break-words select-text",children:[r,(0,n.jsx)("mark",{className:"bg-yellow-300/30 text-foreground rounded-sm px-0.5",children:a}),l]})}function v({text:e}){let[t,s]=(0,i.useState)(!1),r=(0,i.useCallback)(t=>{t.stopPropagation(),navigator.clipboard.writeText(e),s(!0),setTimeout(()=>s(!1),1500)},[e]);return(0,n.jsx)(g.$,{variant:"ghost",size:"icon",className:"h-6 w-6 shrink-0",onClick:r,title:"Copy full message",children:t?(0,n.jsx)(u.A,{className:"h-3 w-3"}):(0,n.jsx)(m.A,{className:"h-3 w-3"})})}function y({onClose:e}){let{sessionId:t,cwd:s}=J(),[r,a]=(0,i.useState)(""),[l,o]=(0,i.useState)([]),[c,d]=(0,i.useState)(!1),[u,m]=(0,i.useState)(!1),[N,k]=(0,i.useState)(null),S=(0,i.useRef)(null),C=(0,i.useRef)(null);(0,i.useEffect)(()=>{S.current?.focus()},[]),(0,i.useEffect)(()=>{if(r.length<2){o([]),m(!1);return}let e=setTimeout(()=>{C.current?.abort();let e=new AbortController;C.current=e,d(!0);let n=new URLSearchParams({q:r});s&&n.set("cwd",s),fetch(`/api/sessions/${t}/search?${n}`,{signal:e.signal}).then(e=>e.json()).then(t=>{e.signal.aborted||(o(t.results||[]),m(!0),d(!1))}).catch(e=>{"AbortError"!==e.name&&(d(!1),m(!0))})},300);return()=>{clearTimeout(e)}},[r,t,s]),(0,i.useEffect)(()=>()=>{C.current?.abort()},[]);let E=(0,i.useCallback)(e=>{k(e)},[]),$=(0,i.useCallback)(t=>{t.target===t.currentTarget&&e()},[e]);return((0,i.useEffect)(()=>{let t=t=>{"Escape"===t.key&&(t.preventDefault(),t.stopPropagation(),e())};return window.addEventListener("keydown",t,!0),()=>window.removeEventListener("keydown",t,!0)},[e]),null!==N)?(0,n.jsx)(b.Q,{timestamp:N,onClose:()=>k(null)}):(0,n.jsx)("div",{className:"fixed inset-0 z-50 bg-black/50 flex items-center justify-center p-4",onClick:$,children:(0,n.jsxs)(j.Zp,{className:"w-full max-w-2xl flex flex-col",style:{maxHeight:"calc(100dvh - 2rem)"},children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 p-4 border-b",children:[(0,n.jsx)(x.A,{className:"h-4 w-4 text-muted-foreground shrink-0"}),(0,n.jsx)("input",{ref:S,value:r,onChange:e=>a(e.target.value),placeholder:"Search messages...",className:"flex-1 bg-transparent outline-none text-sm"}),c&&(0,n.jsx)(h.A,{className:"h-4 w-4 animate-spin text-muted-foreground shrink-0"}),(0,n.jsx)(g.$,{variant:"ghost",size:"icon",className:"h-6 w-6 shrink-0",onClick:e,children:(0,n.jsx)(f.A,{className:"h-4 w-4"})})]}),(0,n.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto",children:[u&&0===l.length&&(0,n.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:"No results"}),l.map((e,t)=>(0,n.jsxs)("button",{onClick:()=>E(e.timestamp),className:"w-full text-left p-4 border-b last:border-b-0 hover:bg-muted/50 transition-colors cursor-pointer",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,n.jsx)(p.E,{variant:"user"===e.role?"default":"secondary",className:"text-[10px] px-1.5 py-0",children:"user"===e.role?"User":"Assistant"}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground select-text",children:new Date(e.timestamp).toLocaleString()}),(0,n.jsx)("div",{className:"ml-auto",children:(0,n.jsx)(v,{text:e.fullContent})})]}),(0,n.jsx)(w,{preview:e.preview,matchStart:e.matchStart,matchLength:e.matchLength})]},`${e.messageId}-${t}`))]})]})})}function N(){let{sessionId:e}=J(),[t,s]=(0,i.useState)(!1);return((0,i.useEffect)(()=>{let t=t=>{(t.metaKey||t.ctrlKey)&&"f"===t.key&&e&&(t.preventDefault(),s(!0))};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e]),e)?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(g.$,{variant:"ghost",size:"icon",onClick:()=>s(!0),title:"Search messages (Ctrl+F)",children:(0,n.jsx)(x.A,{className:"h-4 w-4"})}),t&&(0,n.jsx)(y,{onClose:()=>s(!1)})]}):null}var k=s(70518),S=s(36338),C=s(64962);function E({tasks:e}){let[t,s]=(0,i.useState)(!1);(0,i.useEffect)(()=>{if(!t)return;let e=e=>{"Escape"===e.key&&s(!1)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t]);let r=e.filter(e=>"running"===e.status);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(g.$,{variant:"ghost",size:"icon",className:"h-8 w-8 relative",onClick:()=>s(!0),title:`${r.length} background task${1!==r.length?"s":""}`,children:[(0,n.jsx)(S.A,{className:"h-4 w-4"}),r.length>0&&(0,n.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex h-3.5 w-3.5 items-center justify-center rounded-full bg-primary text-[9px] font-bold text-primary-foreground",children:r.length})]}),t&&(0,n.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onMouseDown:e=>{e.target===e.currentTarget&&s(!1)},children:(0,n.jsxs)("div",{className:"w-full max-w-md mx-4 rounded-lg border bg-background p-5 shadow-lg",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsx)("h2",{className:"text-base font-semibold",children:"Background Tasks"}),(0,n.jsx)(g.$,{variant:"ghost",size:"icon",onClick:()=>s(!1),children:(0,n.jsx)(f.A,{className:"h-4 w-4"})})]}),0===e.length?(0,n.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"No background tasks"}):(0,n.jsx)("div",{className:"space-y-2 max-h-64 overflow-y-auto",children:e.map(e=>(0,n.jsxs)("div",{className:"flex items-start gap-3 rounded-md border border-border px-3 py-2.5",children:["completed"===e.status?(0,n.jsx)(C.A,{className:"h-4 w-4 shrink-0 mt-0.5 text-green-500"}):(0,n.jsx)(h.A,{className:"h-4 w-4 shrink-0 mt-0.5 animate-spin text-muted-foreground"}),(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("div",{className:"text-sm truncate",children:e.title||e.description}),e.title&&e.description&&e.description!==e.title&&(0,n.jsx)("div",{className:"text-xs text-muted-foreground truncate mt-0.5",children:e.description}),e.activity&&e.activity!==(e.title||e.description)&&(0,n.jsx)("div",{className:"text-xs text-muted-foreground truncate mt-0.5",children:e.activity}),"completed"===e.status&&e.summary&&(0,n.jsx)("div",{className:"text-xs text-muted-foreground truncate mt-0.5",children:e.summary})]})]},e.taskId))})]})})]})}var $=s(8143),A=s(67401);function T({todos:e}){let[t,s]=(0,i.useState)(!1);(0,i.useEffect)(()=>{if(!t)return;let e=e=>{"Escape"===e.key&&s(!1)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t]);let r=(0,i.useMemo)(()=>e.filter(e=>"completed"!==e.status).length,[e]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(g.$,{variant:"ghost",size:"icon",className:"h-8 w-8 relative",onClick:()=>s(!0),title:`${r} todo${1!==r?"s":""}`,children:[(0,n.jsx)($.A,{className:"h-4 w-4"}),r>0&&(0,n.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex h-3.5 w-3.5 items-center justify-center rounded-full bg-primary text-[9px] font-bold text-primary-foreground",children:r})]}),t&&(0,n.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onMouseDown:e=>{e.target===e.currentTarget&&s(!1)},children:(0,n.jsxs)("div",{className:"w-full max-w-md mx-4 rounded-lg border bg-background p-5 shadow-lg",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsx)("h2",{className:"text-base font-semibold",children:"Todo"}),(0,n.jsx)(g.$,{variant:"ghost",size:"icon",onClick:()=>s(!1),children:(0,n.jsx)(f.A,{className:"h-4 w-4"})})]}),0===e.length?(0,n.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"No todo items"}):(0,n.jsx)("div",{className:"space-y-1 max-h-80 overflow-y-auto",children:e.map((e,t)=>(0,n.jsxs)("div",{className:"flex items-start gap-2.5 rounded-md px-3 py-2",children:[(0,n.jsx)(R,{status:e.status}),(0,n.jsx)("div",{className:`min-w-0 flex-1 text-sm ${"completed"===e.status?"text-muted-foreground line-through":""}`,children:"in_progress"===e.status&&e.activeForm?e.activeForm:e.content})]},t))})]})})]})}function R({status:e}){return"completed"===e?(0,n.jsx)(C.A,{className:"h-4 w-4 shrink-0 mt-0.5 text-green-500"}):"in_progress"===e?(0,n.jsx)(h.A,{className:"h-4 w-4 shrink-0 mt-0.5 animate-spin text-blue-500"}):(0,n.jsx)(A.A,{className:"h-4 w-4 shrink-0 mt-0.5 text-muted-foreground"})}var I=s(94774),P=s(82749);let _=null,F=0,z=null,M=null;async function O(e=!1){let t=Date.now();return!e&&_&&t-F<3e4?_:M||(M=(async()=>{try{let e=await fetch("/api/usage");if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`HTTP ${e.status}`)}let t=await e.json();return _=t,F=Date.now(),z=null,t}catch(e){return z=e instanceof Error?e.message:"Unknown error",null}finally{M=null}})())}function L({label:e,limit:t}){let s=Math.round(t.utilization),r=s>80?"#ef4444":s>50?"#f97316":"#22c55e";return(0,n.jsxs)("div",{className:"mb-4 last:mb-0",children:[(0,n.jsxs)("div",{className:"flex justify-between text-sm mb-1",children:[(0,n.jsx)("span",{children:e}),(0,n.jsxs)("span",{className:"text-muted-foreground",children:[s,"% \xb7 resets in ",function(e){let t=new Date(e).getTime()-Date.now();if(t<=0)return"now";let s=Math.floor(t/6e4),n=Math.floor(s/60),r=Math.floor(n/24);return r>0?`${r}d ${n%24}h`:n>0?`${n}h ${s%60}m`:`${s}m`}(t.resets_at)]})]}),(0,n.jsx)("div",{className:"h-2.5 rounded-full bg-muted overflow-hidden",children:(0,n.jsx)("div",{className:"h-full rounded-full transition-all",style:{width:`${Math.min(s,100)}%`,backgroundColor:r}})})]})}function D({className:e}){let[t,s]=(0,i.useState)(!1),{usage:r,loading:a,error:l,refresh:o}=function(){let[e,t]=(0,i.useState)(_),[s,n]=(0,i.useState)(null===_),[r,a]=(0,i.useState)(null),l=(0,i.useRef)(!0),o=(0,i.useCallback)(async(e=!1)=>{e&&n(!0);let s=await O(e);l.current&&(s?(t(s),a(null)):_||a(z||"Failed to load usage data"),n(!1))},[]);return(0,i.useEffect)(()=>{l.current=!0,o();let e=setInterval(o,3e5);return()=>{l.current=!1,clearInterval(e)}},[o]),{usage:e,loading:s,error:r,refresh:o}}();(0,i.useEffect)(()=>{if(!t)return;let e=e=>{"Escape"===e.key&&s(!1)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t]);let c=r?.seven_day&&r.seven_day.utilization>=100?100:r?.five_hour?.utilization??0;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(g.$,{variant:"ghost",size:"icon",onClick:()=>s(!0),title:"Account usage",className:e,children:(0,n.jsx)(I.A,{className:`h-4 w-4 ${r?c>80?"text-red-500":c>50?"text-orange-500":"text-green-500":""}`})}),t&&(0,n.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onMouseDown:e=>{e.target===e.currentTarget&&s(!1)},children:(0,n.jsxs)("div",{className:"w-full max-w-md mx-4 rounded-lg border bg-background p-5 shadow-lg",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsx)("h2",{className:"text-base font-semibold",children:"Account Usage"}),(0,n.jsxs)("div",{className:"flex gap-1",children:[(0,n.jsx)(g.$,{variant:"ghost",size:"icon",onClick:()=>o(!0),disabled:a,title:"Refresh usage",children:(0,n.jsx)(P.A,{className:`h-4 w-4 ${a?"animate-spin":""}`})}),(0,n.jsx)(g.$,{variant:"ghost",size:"icon",onClick:()=>s(!1),children:(0,n.jsx)(f.A,{className:"h-4 w-4"})})]})]}),a&&!r&&(0,n.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,n.jsx)(h.A,{className:"h-5 w-5 animate-spin text-muted-foreground"})}),l&&!r&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:l}),r&&(0,n.jsxs)(n.Fragment,{children:[r.five_hour&&(0,n.jsx)(L,{label:"5-hour limit",limit:r.five_hour}),r.seven_day&&(0,n.jsx)(L,{label:"7-day limit",limit:r.seven_day}),r.seven_day_sonnet&&(0,n.jsx)(L,{label:"7-day Sonnet",limit:r.seven_day_sonnet}),r.seven_day_opus&&(0,n.jsx)(L,{label:"7-day Opus",limit:r.seven_day_opus}),r.extra_usage?.enabled&&(0,n.jsx)("div",{className:"mt-4 pt-3 border-t text-sm",children:(0,n.jsxs)("div",{className:"flex justify-between",children:[(0,n.jsx)("span",{children:"Extra usage credits"}),(0,n.jsxs)("span",{className:"font-medium",children:["$",r.extra_usage.remaining_credits.toFixed(2)," remaining"]})]})})]})]})})]})}var U=s(89323);let W=(0,i.createContext)({setHeader:()=>{},cwd:void 0,setCwd:()=>{},sessionId:void 0,setSessionId:()=>{},runtime:"stream",setRuntime:()=>{},backgroundTasks:[],setBackgroundTasks:()=>{},todos:[],setTodos:()=>{},initData:null,setInitData:()=>{},sidebarSections:new Map,setSidebarSection:()=>{},removeSidebarSection:()=>{},closeSidebar:()=>{},tabActions:null,setTabActions:()=>{}});function J(){return(0,i.useContext)(W)}function G(e,t){let{setHeader:s}=J(),n=t?.hideActions;(0,i.useEffect)(()=>{s({title:e,hideActions:n})},[e,n,s])}function B(e){let{setCwd:t}=J();(0,i.useEffect)(()=>{e&&t(e)},[e,t])}function q(e){let{setSessionId:t}=J();(0,i.useEffect)(()=>{e&&t(e)},[e,t])}function H({title:e,onRename:t}){let[s,r]=(0,i.useState)(!1),[a,l]=(0,i.useState)(e),o=(0,i.useRef)(null);if((0,i.useEffect)(()=>{l(e)},[e]),(0,i.useEffect)(()=>{s&&o.current?.select()},[s]),!t)return(0,n.jsx)("span",{className:"text-sm font-bold truncate",children:e});if(!s)return(0,n.jsx)("button",{onClick:()=>r(!0),className:"text-sm font-bold truncate hover:text-muted-foreground transition-colors text-left",title:"Click to rename",children:e});let c=()=>{let s=a.trim();s&&s!==e&&t(s),r(!1)};return(0,n.jsx)("input",{ref:o,value:a,onChange:e=>l(e.target.value),onBlur:c,onKeyDown:t=>{"Enter"===t.key&&c(),"Escape"===t.key&&(l(e),r(!1))},className:"text-sm font-bold bg-transparent border-b border-primary outline-none w-40"})}function K({cwd:e}){let{tabActions:t}=J(),[s,a]=(0,i.useState)(!1),l=(0,i.useCallback)(async()=>{if(t?.openTerminal){a(!0);try{let s=await fetch("/api/terminal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e})});if(!s.ok)return;let{terminalId:n}=await s.json();t.openTerminal(n)}finally{a(!1)}}},[e,t]);return(0,n.jsx)(g.$,{variant:"ghost",size:"icon",onClick:l,disabled:s,title:"New terminal (Ctrl+`)",children:(0,n.jsx)(r.A,{className:"h-4 w-4"})})}function X({children:e}){let t=(0,i.useRef)(null),[s,r]=(0,i.useState)({title:"Cockpit"}),[o,c]=(0,i.useState)(void 0),[u,m]=(0,i.useState)(void 0),[x,h]=(0,i.useState)([]),[f,p]=(0,i.useState)([]),[j,b]=(0,i.useState)(null),[w,v]=(0,i.useState)(new Map),[y,S]=(0,i.useState)("stream"),[C,$]=(0,i.useState)(null),A=(0,i.useCallback)(e=>{v(t=>{let s=new Map(t);return s.set(e.id,e),s})},[]),R=(0,i.useCallback)(e=>{v(t=>{if(!t.has(e))return t;let s=new Map(t);return s.delete(e),s})},[]),I=(0,i.useCallback)(e=>{r(e)},[]),P=(0,i.useCallback)(e=>{c(e)},[]),_=(0,i.useCallback)(e=>{m(e)},[]),F=(0,i.useCallback)(()=>{t.current?.toggle()},[]),z=(0,i.useCallback)(()=>{t.current?.close()},[]),M=(0,i.useCallback)(e=>{S(e)},[]),O=(0,i.useCallback)(e=>{$(e)},[]);return(0,i.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"b"===e.key&&(e.preventDefault(),F())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[F]),(0,n.jsx)(d,{children:(0,n.jsx)(U.f,{children:(0,n.jsx)(W.Provider,{value:{setHeader:I,cwd:o,setCwd:P,sessionId:u,setSessionId:_,runtime:y,setRuntime:M,backgroundTasks:x,setBackgroundTasks:h,todos:f,setTodos:p,initData:j,setInitData:b,sidebarSections:w,setSidebarSection:A,removeSidebarSection:R,closeSidebar:z,tabActions:C,setTabActions:O},children:(0,n.jsxs)("div",{className:"fixed inset-0 flex",children:[(0,n.jsx)(k.Bx,{ref:t}),(0,n.jsxs)("div",{className:"flex-1 min-h-0 min-w-0 flex flex-col",children:[(0,n.jsxs)("header",{className:"shrink-0 flex items-center gap-2 border-b px-4 py-2 bg-background",children:[(0,n.jsx)(g.$,{variant:"ghost",size:"icon",onClick:F,title:"Toggle sidebar (Ctrl+B)",className:"md:hidden",children:(0,n.jsx)(a.A,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{className:"hidden md:flex items-center gap-2 min-w-0 flex-1 overflow-hidden",children:[(0,n.jsx)(l.default,{src:"/icon-192.png",alt:"",width:22,height:22,className:"shrink-0 dark:invert"}),(0,n.jsx)(H,{title:s.title,onRename:s.onRename})]}),!s.hideActions&&(0,n.jsxs)("div",{className:"flex items-center gap-2 shrink-0 ml-auto",children:[o&&(0,n.jsx)(K,{cwd:o}),(0,n.jsx)(N,{}),o&&(0,n.jsx)(T,{todos:f}),o&&(0,n.jsx)(E,{tasks:x}),(0,n.jsx)(D,{})]})]}),(0,n.jsx)("main",{className:"flex-1 min-h-0 min-w-0 flex flex-col",children:e})]})]})})})})}},8081:(e,t,s)=>{s.d(t,{AX:()=>c,Mi:()=>u,XR:()=>n,bs:()=>l,iz:()=>d,jp:()=>m,r5:()=>i,w6:()=>r,zQ:()=>o});let n={"200k":{label:"200K",disableEnv:!0,window:2e5},"1m":{label:"1M",disableEnv:!1,window:1e6}},r="200k",a=[{alias:"haiku",version:"4.5",modelId:"claude-haiku-4-5-20251001",displayName:"Haiku 4.5",description:"Fastest",contextSizes:["200k"],contextWindow:2e5,isDefault:!0},{alias:"sonnet",version:"4.6",modelId:"claude-sonnet-4-6",displayName:"Sonnet 4.6",description:"Balanced",contextSizes:["200k","1m"],contextWindow:2e5,isDefault:!0},{alias:"opus",version:"4.6",modelId:"claude-opus-4-6",displayName:"Opus 4.6",description:"Previous generation",contextSizes:["200k","1m"],contextWindow:2e5},{alias:"opus",version:"4.7",modelId:"claude-opus-4-7",displayName:"Opus 4.7",description:"Previous generation",contextSizes:["200k","1m"],contextWindow:2e5,supportsXhigh:!0},{alias:"opus",version:"4.8",modelId:"claude-opus-4-8",displayName:"Opus 4.8",description:"Most capable",contextSizes:["200k","1m"],contextWindow:2e5,isDefault:!0,supportsXhigh:!0}];function l(e){if(e)return a.find(t=>t.modelId===e)}function i(e){return a.filter(t=>t.alias===e)}function o(e){return a.find(t=>t.alias===e&&t.isDefault)??i(e)[0]}function c(e){if(!e)return null;let t=e.replace(/\[.*\]$/,"");return"opus"===t||"sonnet"===t||"haiku"===t?o(t)??null:l(t)??null}function d(e){if(!e||"haiku"===e.alias)return[];let t=["low","medium","high"];return e.supportsXhigh&&t.push("xhigh"),t.push("max"),t}function u(e){return e&&"haiku"!==e.alias?e.supportsXhigh?"xhigh":"sonnet"===e.alias?"medium":"high":null}function m(e){if(!e)return{model:void 0,contextSize:r};let t=/\[1m\]$/i.test(e);return{model:e.replace(/\[.*\]$/,"")||void 0,contextSize:t?"1m":"200k"}}},8187:(e,t,s)=>{s.d(t,{N:()=>m});var n=s(95155),r=s(76721),a=s(92571),l=s(20966),i=s(14225),o=s(9107),c=s(12115),d=s(89239),u=s(53972);function m({onSelect:e,onCancel:t,startPath:s}){let[x,h]=(0,c.useState)(s??""),[f,p]=(0,c.useState)([]),[g,j]=(0,c.useState)(!0),[b,w]=(0,c.useState)(""),v=(0,c.useCallback)(async e=>{j(!0),w("");let t=new URLSearchParams({includeFiles:"true"});e&&t.set("path",e);try{let e=await fetch(`/api/filesystem/browse?${t}`);if(!e.ok){let t=await e.json().catch(()=>({error:"Failed to browse"}));w(t.error||"Failed to browse"),p([]);return}let s=await e.json();h(s.path),p(s.entries)}catch{w("Failed to connect"),p([])}finally{j(!1)}},[]);(0,c.useEffect)(()=>{v(s)},[v,s]);let y=/^[a-zA-Z]:[/\\]/.test(x),N=y?x.slice(0,3):"/",k=y?x.slice(0,3):"/",S=(0,u.cs)(x),C=y?S.slice(1):S;return(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 text-xs font-mono overflow-x-auto",children:[(0,n.jsx)("button",{type:"button",onClick:()=>v(k),className:"shrink-0 text-muted-foreground hover:text-foreground",children:N}),C.map((e,t)=>{let s=k+C.slice(0,t+1).join("/"),a=t===C.length-1;return(0,n.jsxs)("span",{className:"flex items-center gap-1",children:[(0,n.jsx)(r.A,{className:"h-3 w-3 text-muted-foreground shrink-0"}),a?(0,n.jsx)("span",{className:"text-foreground font-medium",children:e}):(0,n.jsx)("button",{type:"button",onClick:()=>v(s),className:"text-muted-foreground hover:text-foreground",children:e})]},s)})]}),(0,n.jsxs)("div",{className:"border rounded-md max-h-56 overflow-y-auto",children:[g&&(0,n.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,n.jsx)(a.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}),b&&(0,n.jsx)("div",{className:"px-3 py-4 text-sm text-destructive",children:b}),!g&&!b&&x!==k&&(0,n.jsxs)("button",{type:"button",onClick:()=>{v(x.replace(/\/[^/]+\/?$/,"")||k)},className:"flex w-full items-center gap-2 px-3 py-1.5 text-sm hover:bg-muted/50 text-left text-muted-foreground",children:[(0,n.jsx)(l.A,{className:"h-4 w-4 shrink-0"}),(0,n.jsx)("span",{children:".."})]}),!g&&!b&&0===f.length&&(0,n.jsx)("div",{className:"px-3 py-4 text-sm text-muted-foreground",children:"Empty directory"}),!g&&!b&&f.map(t=>"directory"===t.type?(0,n.jsxs)("button",{type:"button",onClick:()=>v(t.path),className:"flex w-full items-center gap-2 px-3 py-1.5 text-sm hover:bg-muted/50 text-left",children:[(0,n.jsx)(i.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,n.jsx)("span",{className:"truncate",children:t.name})]},t.path):(0,n.jsxs)("button",{type:"button",onClick:()=>e(t.path),className:"flex w-full items-center gap-2 px-3 py-1.5 text-sm hover:bg-muted/50 text-left",children:[(0,n.jsx)(o.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,n.jsx)("span",{className:"truncate",children:t.name})]},t.path))]}),(0,n.jsx)("div",{className:"flex justify-end",children:(0,n.jsx)(d.$,{type:"button",variant:"outline",size:"sm",onClick:t,children:"Cancel"})})]})}},16617:(e,t,s)=>{s.d(t,{Q:()=>u});var n=s(95155),r=s(9005),a=s(92571),l=s(12115),i=s(89239),o=s(81477),c=s(3765),d=s(513);function u(e){let{timestamp:t,onClose:s}=e,u=(0,c.E2)(),m=e.sessionId??u.sessionId,x=e.cwd??u.cwd,[h,f]=(0,l.useState)([]),[p,g]=(0,l.useState)(""),[j,b]=(0,l.useState)(!0),[w,v]=(0,l.useState)(null),y=(0,l.useRef)(null),N=(0,l.useRef)(new Set);(0,l.useEffect)(()=>{let e=new URLSearchParams({timestamp:String(t)});x&&e.set("cwd",x),fetch(`/api/sessions/${m}/context?${e}`).then(e=>{if(!e.ok)throw Error("Failed to load context");return e.json()}).then(e=>{f(e.messages),g(e.targetMessageId),b(!1)}).catch(e=>{v(e.message),b(!1)})},[m,x,t]),(0,l.useEffect)(()=>{!j&&y.current&&y.current.scrollIntoView({block:"center"})},[j]),(0,l.useEffect)(()=>{let e=e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),s())};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[s]);let k=(0,l.useCallback)(e=>{e.target===e.currentTarget&&s()},[s]);return(0,n.jsx)("div",{className:"fixed inset-0 z-50 bg-black/50 flex items-center justify-center p-4",onClick:k,children:(0,n.jsxs)(o.Zp,{className:"w-full max-w-3xl flex flex-col",style:{maxHeight:"calc(100dvh - 2rem)"},children:[(0,n.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b shrink-0",children:[(0,n.jsx)("span",{className:"text-sm font-medium text-muted-foreground",children:"Message context"}),(0,n.jsx)(i.$,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:s,children:(0,n.jsx)(r.A,{className:"h-4 w-4"})})]}),(0,n.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[j&&(0,n.jsx)("div",{className:"flex justify-center py-12",children:(0,n.jsx)(a.A,{className:"h-5 w-5 animate-spin text-muted-foreground"})}),w&&(0,n.jsx)("div",{className:"text-center text-sm text-red-500 py-12",children:w}),!j&&h.map(e=>(0,n.jsx)("div",{ref:e.id===p?y:void 0,className:e.id===p?"ring-2 ring-primary/50 rounded-lg":void 0,children:(0,n.jsx)(d.s,{message:e,expandedToolIds:N})},e.id))]})]})})}},18189:(e,t,s)=>{s.d(t,{NG:()=>x,WG:()=>i,Ik:()=>m});var n=s(95155),r=s(12115),a=s(53972);let l={ts:"typescript",tsx:"tsx",js:"javascript",jsx:"jsx",py:"python",rb:"ruby",rs:"rust",go:"go",java:"java",kt:"kotlin",swift:"swift",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",css:"css",scss:"scss",html:"html",vue:"vue",svelte:"svelte",json:"json",yaml:"yaml",yml:"yaml",toml:"toml",xml:"xml",sql:"sql",sh:"bash",bash:"bash",zsh:"bash",fish:"fish",ps1:"powershell",md:"markdown",mdx:"mdx",graphql:"graphql",gql:"graphql",dockerfile:"dockerfile",tf:"hcl",lua:"lua",r:"r",php:"php",scala:"scala",ex:"elixir",exs:"elixir",erl:"erlang",hs:"haskell",ml:"ocaml",zig:"zig"};function i(e){let t=(0,a.uk)(e)||"",s=t.toLowerCase();if("dockerfile"===s)return"dockerfile";if("makefile"===s)return"makefile";let n=t.includes(".")?t.split(".").pop()?.toLowerCase():void 0;if(n)return l[n]}function o(e){let t=e.split(/\r?\n/),s=/^\s*(\d+)\u2192(.*)$/,n=t[0]?.match(s);if(!n)return{code:e,startLine:1};let r=parseInt(n[1],10);return{code:t.map(e=>{let t=e.match(s);return t?t[2]:e}).join("\n"),startLine:r}}async function c(e,t,n){try{let r=await s.e(69427).then(s.bind(s,69427));return await r.codeToHtml(e,{lang:t,theme:n})}catch{return null}}let d=new Map;function u(e,t,s){return`${s}:${t}:${e}`}function m(e,t,s){let{code:n}=o(e),r=s?"github-dark":"github-light",a=u(n,t,r);d.has(a)||c(n,t,r).then(e=>{e&&d.set(a,e)})}function x({code:e,language:t,dark:s,fullHeight:a,wrap:l}){let{code:i,startLine:m}=o(e),h=s?"github-dark":"github-light",f=t?u(i,t,h):"",[p,g]=(0,r.useState)(t?d.get(f)??null:null);(0,r.useEffect)(()=>{if(!t)return void g(null);let e=d.get(f);if(e)return void g(e);let s=!1;return c(i,t,h).then(e=>{e&&d.set(f,e),s||g(e)}),()=>{s=!0}},[i,t,h,f]);let j=`
2
- .code-block-lines code {
3
- counter-reset: line ${m-1};
4
- }
5
- .code-block-lines code .line::before {
6
- counter-increment: line;
7
- content: counter(line);
8
- display: inline-block;
9
- width: 3ch;
10
- margin-right: 1.5ch;
11
- text-align: right;
12
- color: var(--line-number-color, rgba(115,138,148,0.4));
13
- user-select: none;
14
- }${l?`
15
- .code-block-lines.code-block-wrap code .line {
16
- display: block;
17
- padding-left: 4.5ch;
18
- text-indent: -4.5ch;
19
- }`:""}
20
- `,b=l?"overflow-x-hidden":"overflow-x-auto",w=l?" code-block-wrap [&_pre]:whitespace-pre-wrap [&_pre]:[overflow-wrap:anywhere]":"",v=l?" whitespace-pre-wrap [overflow-wrap:anywhere]":"",y=l&&p?p.replace(/\n/g,""):p;return p?(0,n.jsxs)("div",{className:`code-block-lines ${b} rounded text-[11px] leading-relaxed overflow-y-auto [&_pre]:!bg-transparent [&_pre]:p-2 [&_pre]:m-0${w}${a?"":" max-h-64"}`,children:[(0,n.jsx)("style",{children:j}),(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:y??""}})]}):(0,n.jsx)("pre",{className:`${b} rounded bg-muted/50 p-2 text-[11px] leading-relaxed overflow-y-auto${v}${a?"":" max-h-64"}`,children:i})}},20108:(e,t,s)=>{s.d(t,{t:()=>f});var n=s(95155),r=s(31966),a=s(16449),l=s(49804),i=s(15480),o=s(95660),c=s(92571),d=s(12115),u=s(89239),m=s(42763),x=s(60529),h=s(41158);function f({open:e,onOpenChange:t,onSubmit:s}){let[g,j]=(0,d.useState)("backend"),[b,w]=(0,d.useState)("session"),[v,y]=(0,d.useState)(""),[N,k]=(0,d.useState)(""),[S,C]=(0,d.useState)(null),[E,$]=(0,d.useState)(!1),[A,T]=(0,d.useState)(""),[R,I]=(0,d.useState)(""),[P,_]=(0,d.useState)(""),[F,z]=(0,d.useState)(!1),[M,O]=(0,d.useState)(!1),[L,D]=(0,d.useState)(""),U=()=>{j("backend"),y(""),k(""),C(null),$(!1),T(""),I(""),_(""),z(!1),O(!1),D("")},W=e=>{C(e),j("details")},J=async e=>{if(e.preventDefault(),A.trim()&&R.trim()&&S){O(!0),D("");try{let e=await fetch("/api/git/clone",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:A.trim(),parentPath:R.trim(),folderName:P.trim()||void 0})}),n=await e.json();if(!e.ok)return void D(n.error||"Clone failed");s(n.path,N.trim(),S),U(),t(!1)}catch{D("Failed to connect")}finally{O(!1)}}};return(0,n.jsx)(m.lG,{open:e,onOpenChange:e=>{e||U(),t(e)},children:(0,n.jsxs)(m.Cf,{onClose:()=>{U(),t(!1)},children:[(0,n.jsx)(m.c7,{children:(0,n.jsxs)(m.L3,{className:"flex items-center gap-2",children:["details"===g&&(0,n.jsx)("button",{type:"button",onClick:()=>j("backend"),className:"rounded-md p-1 text-muted-foreground hover:bg-accent hover:text-foreground",title:"Back to backend selection",children:(0,n.jsx)(r.A,{className:"h-4 w-4"})}),"backend"===g?"Choose Backend":"New Session"]})}),"backend"===g&&(0,n.jsxs)("div",{className:"space-y-3 mt-2",children:[(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Pick how Claude runs for this session."}),(0,n.jsx)(p,{icon:(0,n.jsx)(a.A,{className:"h-5 w-5"}),title:"PTY (interactive)",subtitle:"Pseudo-terminal",description:"Spawns a real Claude TUI in a pseudo-terminal. Supports interactive features like slash commands.",onClick:()=>W("pty")}),(0,n.jsx)(p,{icon:(0,n.jsx)(l.A,{className:"h-5 w-5"}),title:"Stream (headless)",subtitle:"Structured output",description:"Runs Claude with structured JSON streaming. Lower overhead, better for automated workflows.",onClick:()=>W("stream")})]}),"details"===g&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex gap-1 border-b mt-2",children:[(0,n.jsx)("button",{type:"button",onClick:()=>w("session"),className:`px-3 py-1.5 text-sm font-medium border-b-2 transition-colors ${"session"===b?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:"Open Directory"}),(0,n.jsxs)("button",{type:"button",onClick:()=>w("clone"),className:`px-3 py-1.5 text-sm font-medium border-b-2 transition-colors flex items-center gap-1.5 ${"clone"===b?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[(0,n.jsx)(i.A,{className:"h-3.5 w-3.5"}),"Clone Repo"]})]}),"session"===b&&(0,n.jsxs)("form",{onSubmit:e=>{e.preventDefault(),v.trim()&&S&&(s(v.trim(),N.trim(),S),U(),t(!1))},className:"space-y-4 mt-2",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Working Directory"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(x.p,{value:v,onChange:e=>y(e.target.value),placeholder:"/home/user/project",required:!0}),(0,n.jsx)(u.$,{type:"button",variant:"outline",size:"icon",onClick:()=>$(!E),title:"Browse directories",children:(0,n.jsx)(o.A,{className:"h-4 w-4"})})]})]}),E&&(0,n.jsx)(h.K,{onSelect:e=>{y(e),$(!1)},onCancel:()=>$(!1)}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Name (optional)"}),(0,n.jsx)(x.p,{value:N,onChange:e=>k(e.target.value),placeholder:"My Project"})]}),(0,n.jsx)(u.$,{type:"submit",className:"w-full",disabled:!v.trim(),children:"Create Session"})]}),"clone"===b&&(0,n.jsxs)("form",{onSubmit:J,className:"space-y-4 mt-2",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Repository URL"}),(0,n.jsx)(x.p,{value:A,onChange:e=>T(e.target.value),placeholder:"https://github.com/user/repo.git",required:!0})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Clone Into"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(x.p,{value:R,onChange:e=>I(e.target.value),placeholder:"/home/user/projects",required:!0}),(0,n.jsx)(u.$,{type:"button",variant:"outline",size:"icon",onClick:()=>z(!F),title:"Browse directories",children:(0,n.jsx)(o.A,{className:"h-4 w-4"})})]})]}),F&&(0,n.jsx)(h.K,{onSelect:e=>{I(e),z(!1)},onCancel:()=>z(!1)}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Folder Name (optional)"}),(0,n.jsx)(x.p,{value:P,onChange:e=>_(e.target.value),placeholder:"Defaults to repository name"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Session Name (optional)"}),(0,n.jsx)(x.p,{value:N,onChange:e=>k(e.target.value),placeholder:"My Project"})]}),L&&(0,n.jsx)("p",{className:"text-sm text-destructive",children:L}),(0,n.jsx)(u.$,{type:"submit",className:"w-full",disabled:!A.trim()||!R.trim()||M,children:M?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(c.A,{className:"h-4 w-4 animate-spin mr-2"}),"Cloning..."]}):"Clone & Create Session"})]})]})]})})}function p({icon:e,title:t,subtitle:s,description:r,onClick:a}){return(0,n.jsxs)("button",{type:"button",onClick:a,className:"w-full text-left rounded-lg border border-input bg-card px-4 py-3 transition-colors hover:border-foreground hover:bg-accent",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3 mb-1",children:[(0,n.jsx)("span",{className:"text-foreground",children:e}),(0,n.jsxs)("div",{className:"flex-1",children:[(0,n.jsx)("div",{className:"text-sm font-medium",children:t}),(0,n.jsx)("div",{className:"text-xs text-muted-foreground",children:s})]})]}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:r})]})}},22317:(e,t,s)=>{s.d(t,{t:()=>l});var n=s(12115),r=s(8081);let a={diffStyle:"split",dismissKeyboardOnSend:!0,thinkingLevel:"high",bypassAllPermissions:!1,thinkingExpanded:!1,readExpanded:!1,editExpanded:!1,toolCallsExpanded:!1,modelSlots:{main:"sonnet"},messageStitching:!0,reviewsEnabled:!0,terminalFontSize:14,terminalTheme:"dark",terminalScrollback:1e3};function l(){let[e,t]=(0,n.useState)(a),[s,l]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{fetch("/api/defaults").then(e=>e.json()).then(e=>{if(e.model&&!e.modelSlots&&(e.modelSlots={main:e.model},delete e.model),e.modelSlots?.main?.includes("[")){let t=(0,r.jp)(e.modelSlots.main);e.modelSlots={...e.modelSlots,main:t.model,mainContext:e.modelSlots.mainContext??t.contextSize}}t({...a,...e}),l(!0)}).catch(()=>l(!0))},[]),{settings:e,updateSetting:(0,n.useCallback)((e,s)=>{t(t=>{let n={...t,[e]:s};return fetch("/api/defaults",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({[e]:s})}).catch(()=>{}),n})},[]),loaded:s}}},30090:(e,t,s)=>{s.d(t,{e:()=>c});var n=s(12115);let r=new Map,a=new Set,l=new Set;function i(){for(let e of a)e()}function o(e){return a.add(e),()=>{a.delete(e)}}function c(e){let t=(0,n.useSyncExternalStore)(o,()=>r.get(e)||l),s=(0,n.useCallback)(t=>{let s=new Set(r.get(e)||new Set);s.has(t)?s.delete(t):s.add(t),r.set(e,s),i()},[e]);return{checkedFiles:t,toggleFile:s,toggleAll:(0,n.useCallback)(t=>{let s=r.get(e)||new Set;r.set(e,s.size===t.length?new Set:new Set(t)),i()},[e]),setCheckedFiles:(0,n.useCallback)(t=>{r.set(e,t),i()},[e])}}},40980:(e,t,s)=>{s.d(t,{cn:()=>a});var n=s(29722),r=s(622);function a(...e){return(0,r.QP)((0,n.$)(e))}},41158:(e,t,s)=>{s.d(t,{K:()=>m});var n=s(95155),r=s(76721),a=s(92571),l=s(14225),i=s(30600),o=s(12115),c=s(89239),d=s(60529),u=s(53972);function m({onSelect:e,onCancel:t}){let[s,x]=(0,o.useState)(""),[h,f]=(0,o.useState)([]),[p,g]=(0,o.useState)(!0),[j,b]=(0,o.useState)(""),[w,v]=(0,o.useState)(!1),[y,N]=(0,o.useState)(""),[k,S]=(0,o.useState)(""),C=(0,o.useCallback)(async e=>{g(!0),b("");let t=new URLSearchParams;e&&t.set("path",e);try{let e=await fetch(`/api/filesystem/browse?${t}`);if(!e.ok){let t=await e.json().catch(()=>({error:"Failed to browse"}));b(t.error||"Failed to browse"),f([]);return}let s=await e.json();x(s.path),f(s.entries)}catch{b("Failed to connect"),f([])}finally{g(!1)}},[]);(0,o.useEffect)(()=>{C()},[C]);let E=async()=>{let e=y.trim();if(e){S("");try{let t=await fetch("/api/filesystem/mkdir",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({parentPath:s,name:e})});if(!t.ok){let e=await t.json().catch(()=>({error:"Failed to create folder"}));S(e.error||"Failed to create folder");return}let n=await t.json();v(!1),N(""),C(n.path)}catch{S("Failed to connect")}}},$=(0,u.cs)(s),A=/^[a-zA-Z]:[/\\]/.test(s),T=A?s.slice(0,3):"/",R=A?s.slice(0,3):"/",I=A?$.slice(1):$;return(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 text-xs font-mono overflow-x-auto",children:[(0,n.jsx)("button",{type:"button",onClick:()=>C(R),className:"shrink-0 text-muted-foreground hover:text-foreground",children:T}),I.map((e,t)=>{let s=R+I.slice(0,t+1).join("/"),a=t===I.length-1;return(0,n.jsxs)("span",{className:"flex items-center gap-1",children:[(0,n.jsx)(r.A,{className:"h-3 w-3 text-muted-foreground shrink-0"}),a?(0,n.jsx)("span",{className:"text-foreground font-medium",children:e}):(0,n.jsx)("button",{type:"button",onClick:()=>C(s),className:"text-muted-foreground hover:text-foreground",children:e})]},s)})]}),(0,n.jsxs)("div",{className:"border rounded-md max-h-56 overflow-y-auto",children:[p&&(0,n.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,n.jsx)(a.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}),j&&(0,n.jsx)("div",{className:"px-3 py-4 text-sm text-destructive",children:j}),!p&&!j&&0===h.length&&!w&&(0,n.jsx)("div",{className:"px-3 py-4 text-sm text-muted-foreground",children:"No subdirectories"}),!p&&!j&&h.map(e=>(0,n.jsxs)("button",{type:"button",onClick:()=>C(e.path),className:"flex w-full items-center gap-2 px-3 py-1.5 text-sm hover:bg-muted/50 text-left",children:[(0,n.jsx)(l.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,n.jsx)("span",{className:"truncate",children:e.name})]},e.path)),w&&(0,n.jsxs)("div",{className:"px-3 py-1.5 space-y-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(i.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,n.jsx)(d.p,{value:y,onChange:e=>N(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),E()),"Escape"===e.key&&(v(!1),N(""),S(""))},placeholder:"Folder name",className:"h-7 text-sm",autoFocus:!0}),(0,n.jsx)(c.$,{type:"button",size:"sm",variant:"ghost",className:"h-7 px-2 text-xs",onClick:E,children:"Create"})]}),k&&(0,n.jsx)("p",{className:"text-xs text-destructive pl-6",children:k})]})]}),(0,n.jsxs)("div",{className:"flex gap-2 justify-end",children:[!w&&(0,n.jsxs)(c.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{v(!0),S("")},disabled:!s,children:[(0,n.jsx)(i.A,{className:"h-3.5 w-3.5 mr-1.5"}),"New Folder"]}),(0,n.jsx)("div",{className:"flex-1"}),(0,n.jsx)(c.$,{type:"button",variant:"outline",size:"sm",onClick:t,children:"Cancel"}),(0,n.jsxs)(c.$,{type:"button",size:"sm",disabled:!s,onClick:()=>e(s),children:["Select ",s?(0,u.uk)(s)||"/":""]})]})]})}},42763:(e,t,s)=>{s.d(t,{Cf:()=>d,L3:()=>m,c7:()=>u,lG:()=>c});var n=s(95155),r=s(9005),a=s(65738),l=s(12115),i=s(47650),o=s(40980);function c({open:e,onOpenChange:t,children:s,className:r}){return(l.useEffect(()=>{if(!e)return;let s=e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),t(!1))};return window.addEventListener("keydown",s,!0),()=>window.removeEventListener("keydown",s,!0)},[e,t]),e)?(0,i.createPortal)((0,n.jsx)("div",{className:"fixed inset-0 z-50 bg-black/80 flex items-center justify-center px-4 py-12",onMouseDown:e=>{e.target===e.currentTarget&&t(!1)},children:(0,n.jsx)("div",{className:(0,o.cn)("w-full max-h-full flex flex-col",r||"max-w-lg"),children:s})}),document.body):null}function d({className:e,children:t,...s}){return(0,n.jsxs)("div",{className:(0,o.cn)("relative rounded-lg border bg-background text-foreground p-6 shadow-lg overflow-y-auto",e),...s,children:[(s.onClose||s.onDelete)&&(0,n.jsxs)("div",{className:"sticky top-0 z-10 flex justify-between -mx-2 -mt-2 mb-2",children:[s.onClose?(0,n.jsx)("button",{className:"rounded-sm opacity-70 hover:opacity-100",onClick:s.onClose,children:(0,n.jsx)(r.A,{className:"h-4 w-4"})}):(0,n.jsx)("span",{}),s.onDelete&&(0,n.jsx)("button",{className:"rounded-sm opacity-70 hover:opacity-100 text-destructive",onClick:s.onDelete,children:(0,n.jsx)(a.A,{className:"h-4 w-4"})})]}),t]})}function u({className:e,...t}){return(0,n.jsx)("div",{className:(0,o.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...t})}function m({className:e,...t}){return(0,n.jsx)("h2",{className:(0,o.cn)("text-lg font-semibold leading-none tracking-tight",e),...t})}},45160:(e,t,s)=>{s.d(t,{E:()=>i});var n=s(95155),r=s(18460);s(12115);var a=s(40980);let l=(0,r.F)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-white",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i({className:e,variant:t,...s}){return(0,n.jsx)("div",{className:(0,a.cn)(l({variant:t}),e),...s})}},53972:(e,t,s)=>{function n(e){let t=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return t<0?e:e.slice(t+1)}function r(e){let t=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return t<0?"":e.slice(0,t)}function a(e,t=3){let s=e.split(/[/\\]/);return s.length<=t?e:".../"+s.slice(-2).join("/")}function l(e){return e.split(/[/\\]/).filter(Boolean)}s.d(t,{_1:()=>a,cs:()=>l,uk:()=>n,ww:()=>r})},57594:(e,t,s)=>{s.d(t,{Mh:()=>d,j8:()=>c,sU:()=>o});var n=s(95155),r=s(89811),a=s(49199),l=s(12115),i=s(22317);class o extends l.Component{static getDerivedStateFromError(){return{error:!0}}render(){return this.state.error?this.props.fallback||(0,n.jsx)("pre",{className:"p-3 text-xs text-muted-foreground",children:"Unable to render diff"}):this.props.children}constructor(...e){super(...e),this.state={error:!1}}}let c="[data-column-content] { user-select: text; -webkit-user-select: text; }";function d({filePath:e,oldString:t,newString:s,dark:u}){let{settings:m}=(0,i.t)(),x=(0,l.useMemo)(()=>(0,a.ss)(`a/${e}`,`b/${e}`,t,s,"","",{context:3}),[e,t,s]);return(0,n.jsx)("div",{className:"overflow-x-auto rounded text-xs",children:(0,n.jsx)(o,{children:(0,n.jsx)(r.C,{patch:x,options:{theme:{dark:"pierre-dark",light:"pierre-light"},themeType:u?"dark":"light",disableFileHeader:!0,overflow:"wrap",diffStyle:m.diffStyle,unsafeCSS:c}})})})}},60529:(e,t,s)=>{s.d(t,{p:()=>l});var n=s(95155),r=s(12115),a=s(40980);let l=r.forwardRef(({className:e,type:t,...s},r)=>(0,n.jsx)("input",{type:t,className:(0,a.cn)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...s}));l.displayName="Input"},64233:(e,t,s)=>{s.d(t,{Y:()=>f});var n=s(95155),r=s(57966),a=s(98076),l=s(44605),i=s(64577),o=s(99314),c=s(12115);function d(e){let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select();try{return document.execCommand("copy")}finally{document.body.removeChild(t)}}var u=s(40980);function m(e){return(0,n.jsx)("a",{...e,target:"_blank",rel:"noopener noreferrer"})}let x={pre:function(e){let[t,s]=(0,c.useState)(!1),r=(0,c.useRef)(null),a=(0,c.useCallback)(()=>{let e=r.current?.textContent??"",t=()=>{s(!0),setTimeout(()=>s(!1),1500)};navigator.clipboard?.writeText?navigator.clipboard.writeText(e).then(t).catch(()=>{d(e)&&t()}):d(e)&&t()},[]);return(0,n.jsxs)("div",{className:"group/code relative",children:[(0,n.jsx)("pre",{ref:r,...e}),(0,n.jsx)("button",{onClick:a,className:"absolute top-2 right-2 p-1.5 rounded bg-background/80 border border-border text-muted-foreground hover:text-foreground opacity-60 sm:opacity-0 sm:group-hover/code:opacity-100 transition-opacity",title:"Copy code",children:t?(0,n.jsx)(i.A,{className:"h-3.5 w-3.5 text-green-500"}):(0,n.jsx)(o.A,{className:"h-3.5 w-3.5"})})]})},a:m},h={a:m};function f({content:e,variant:t="full",className:s}){return"lite"===t?(0,n.jsx)("div",{className:(0,u.cn)("prose prose-sm max-w-none dark:prose-invert",s),children:(0,n.jsx)(r.oz,{remarkPlugins:[l.A],components:h,children:e})}):(0,n.jsx)("div",{className:(0,u.cn)("message-prose prose prose-sm max-w-none dark:prose-invert",s),children:(0,n.jsx)(r.oz,{remarkPlugins:[l.A],rehypePlugins:[a.A],components:x,children:e})})}},67032:(e,t,s)=>{s.d(t,{Jm:()=>a,Os:()=>r,wA:()=>l});var n=s(12115);function r(){let[e,t]=(0,n.useState)([]),[s,r]=(0,n.useState)(!0),a=(0,n.useCallback)(()=>{r(!0),fetch("/api/jobs").then(e=>e.json()).then(e=>t(e.jobs)).catch(()=>t([])).finally(()=>r(!1))},[]);(0,n.useEffect)(()=>{a()},[a]);let l=(0,n.useCallback)(async e=>{try{if((await fetch(`/api/jobs/${e}`,{method:"DELETE"})).ok)return a(),!0;return!1}catch{return!1}},[a]);return{jobs:e,loading:s,refresh:a,deleteJob:l,triggerJob:(0,n.useCallback)(async e=>{try{return(await fetch(`/api/jobs/${e}/trigger`,{method:"POST"})).ok}catch{return!1}},[])}}function a(e){let[t,s]=(0,n.useState)([]),[r,a]=(0,n.useState)(!0),[l,i]=(0,n.useState)(!1),[o,c]=(0,n.useState)(!1),d=(0,n.useCallback)(()=>{if(!e){s([]),a(!1),c(!1);return}a(!0),fetch(`/api/jobs/${e}/runs?limit=25`).then(e=>e.json()).then(e=>{s(e.runs),c(e.hasMore??!1)}).catch(()=>s([])).finally(()=>a(!1))},[e]),u=(0,n.useCallback)(()=>{e&&!l&&o&&(i(!0),fetch(`/api/jobs/${e}/runs?limit=25&offset=${t.length}`).then(e=>e.json()).then(e=>{s(t=>[...t,...e.runs]),c(e.hasMore??!1)}).catch(()=>{}).finally(()=>i(!1)))},[e,l,o,t.length]);return(0,n.useEffect)(()=>{d()},[d]),{runs:t,loading:r,loadingMore:l,hasMore:o,refresh:d,loadMore:u}}function l(){let[e,t]=(0,n.useState)(0),s=(0,n.useRef)(void 0);return(0,n.useEffect)(()=>{let e=()=>{fetch("/api/jobs/status").then(e=>e.json()).then(e=>t(e.count)).catch(()=>{})};return e(),s.current=setInterval(e,6e4),()=>clearInterval(s.current)},[]),{count:e}}},70518:(e,t,s)=>{s.d(t,{Bx:()=>Z,HC:()=>X,MJ:()=>G,MN:()=>D});var n=s(95155),r=s(44923),a=s(87256),l=s(39768),i=s(58274),o=s(9005),c=s(2125),d=s(85618),u=s(88074),m=s(35397),x=s(44354),h=s(83212),f=s(19257),p=s(797),g=s(1275),j=s(64577),b=s(77618),w=s(61665),v=s(73321),y=s(12115),N=s(3765),k=s(8187),S=s(96301),C=s(76721),E=s(40980);let $="cockpit_sidebar_sections";function A({id:e,title:t,badge:s,defaultOpen:r=!0,actions:a,children:l}){let[i,o]=(0,y.useState)(r);return(0,y.useEffect)(()=>{o(function(e,t){try{let t=localStorage.getItem($);if(t){let s=JSON.parse(t);if(e in s)return s[e]}}catch{}return t}(e,r))},[e,r]),(0,n.jsxs)("div",{className:"border-b last:border-b-0",children:[(0,n.jsxs)("div",{className:"flex items-center",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>{let t=!i;o(t);try{let s=localStorage.getItem($),n=s?JSON.parse(s):{};n[e]=t,localStorage.setItem($,JSON.stringify(n))}catch{}},className:"flex flex-1 items-center gap-1.5 px-3 py-2 text-left text-xs font-semibold uppercase tracking-wide text-muted-foreground hover:bg-accent/50 transition-colors min-w-0",children:[(0,n.jsx)(C.A,{className:(0,E.cn)("h-3 w-3 shrink-0 transition-transform",i&&"rotate-90")}),(0,n.jsx)("span",{className:"flex-1 min-w-0 truncate",children:t}),s&&(0,n.jsx)("span",{className:"shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] leading-none",children:s})]}),a&&(0,n.jsx)("div",{className:"shrink-0 pr-2 flex items-center",children:a})]}),i&&l]})}var T=s(89239),R=s(42763),I=s(67032),P=s(22317),_=s(89323),F=s(30090),z=s(20108);let M="cockpit_sidebar_width";function O({onResize:e}){let t=(0,y.useRef)(!1),s=(0,y.useRef)(0),r=(0,y.useCallback)(n=>{n.preventDefault(),t.current=!0,s.current=n.clientX;let r=n=>{if(!t.current)return;let r=n.clientX-s.current;s.current=n.clientX,e(r)},a=()=>{t.current=!1,document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",a),document.body.style.cursor="",document.body.style.userSelect=""};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",r),document.addEventListener("mouseup",a)},[e]);return(0,n.jsx)("div",{onMouseDown:r,className:"hidden md:block absolute inset-y-0 right-0 w-1 cursor-col-resize hover:bg-primary/30 transition-colors z-10"})}let L="cockpit_unread_sessions";async function D(e){await fetch("/api/sessions/pinned",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({add:e})}).catch(()=>{})}async function U(e){await fetch("/api/sessions/pinned",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({remove:e})}).catch(()=>{})}async function W(){try{let e=await fetch("/api/sessions/pinned");if(!e.ok)return[];let t=await e.json();return Array.isArray(t.pinned)?t.pinned:[]}catch{return[]}}let J=new Set;async function G(e){for(let t of(await fetch("/api/reviews/pinned",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({add:e})}).catch(()=>{}),J))t()}async function B(e){await fetch("/api/reviews/pinned",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({remove:e})}).catch(()=>{})}async function q(){try{let e=await fetch("/api/reviews/pinned");if(!e.ok)return[];let t=await e.json();return Array.isArray(t.pinned)?t.pinned:[]}catch{return[]}}let H=/^Review:\s*(?:(.+?)\/)?(.+?)#(\d+)(?:\s+-\s+(.*))?$/;function K(){try{let e=localStorage.getItem(L);if(e)return new Set(JSON.parse(e))}catch{}return new Set}function X(e){let t=K();t.delete(e),localStorage.setItem(L,JSON.stringify([...t]))}function Y({session:e,isCurrent:t,isUnread:s,onNavigate:r,onAction:c}){var d;let u,{attributes:m,listeners:x,setNodeRef:h,transform:f,transition:p,isDragging:g}=(0,a.gl)({id:e.id}),j={transform:l.Ks.Transform.toString(f),transition:p,opacity:g?.5:1};return(0,n.jsxs)("div",{ref:h,style:j,role:"button",tabIndex:0,onClick:()=>r(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),r(e))},className:(0,E.cn)("w-full flex items-center gap-2 px-3 py-2 text-left text-sm hover:bg-accent/50 transition-colors cursor-pointer",t&&"bg-accent"),children:[(0,n.jsx)("button",{type:"button",...m,...x,onClick:e=>e.stopPropagation(),className:"shrink-0 cursor-grab active:cursor-grabbing text-muted-foreground/60 hover:text-muted-foreground touch-none",title:"Drag to reorder","aria-label":"Drag to reorder",children:(0,n.jsx)(i.A,{className:"h-4 w-4"})}),(0,n.jsx)("div",{className:"shrink-0 relative flex items-center justify-center h-4 w-4",children:(e.pendingRequestCount??0)>0?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"absolute h-4 w-4 rounded-full bg-blue-500/20 animate-ping"}),(0,n.jsx)("div",{className:"h-2.5 w-2.5 rounded-full bg-blue-500",title:"Awaiting your input","data-testid":"status-pending"})]}):"running"===e.status?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"absolute h-4 w-4 rounded-full bg-yellow-500/20 animate-ping"}),(0,n.jsx)("div",{className:"h-2.5 w-2.5 rounded-full bg-yellow-500",title:"Working","data-testid":"status-running"})]}):s?(0,n.jsx)("div",{className:"h-2.5 w-2.5 rounded-full bg-green-500",title:"New response","data-testid":"status-unread"}):(0,n.jsx)("div",{className:"h-2.5 w-2.5 rounded-full bg-muted-foreground/30","data-testid":"status-idle"})}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsx)("div",{className:"truncate font-medium text-left",dir:"rtl",title:e.cwd,children:(0,n.jsx)("bdo",{dir:"ltr",children:(u=(d=e.cwd).split(/[/\\]/)).length>2?"~/"+u.slice(-2).join("/"):d})}),(0,n.jsx)("div",{className:"truncate text-xs text-muted-foreground",children:e.name})]}),(0,n.jsx)(T.$,{variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 text-red-500 hover:text-red-600 hover:bg-red-500/10",onClick:t=>c(t,e),title:"running"===e.status?"Stop session":"Remove from sidebar",children:(0,n.jsx)(o.A,{className:"h-4 w-4"})})]})}let Z=(0,y.forwardRef)(function(e,t){let s=(0,v.useRouter)(),l=(0,v.usePathname)(),{send:i,subscribe:m,connected:x}=(0,_.h)(),{sidebarSections:h,cwd:f,sessionId:p}=(0,N.E2)(),{settings:g}=(0,P.t)(),[j,b]=(0,y.useState)(!1),[w,k]=(0,y.useState)([]),[S,C]=(0,y.useState)(new Set),[$,R]=(0,y.useState)(!1),[I,F]=(0,y.useState)(288);(0,y.useEffect)(()=>{F(function(){try{let e=localStorage.getItem(M);if(e){let t=parseInt(e,10);if(t>=200&&t<=480)return t}}catch{}return 288}())},[]),(0,y.useEffect)(()=>{s.prefetch("/sessions/_")},[s]);let J=(0,y.useCallback)(e=>{F(t=>{let s=Math.max(200,Math.min(480,t+e));return localStorage.setItem(M,String(s)),s})},[]),G=(0,y.useRef)(new Map),B=(0,r.FR)((0,r.MS)(r.AN,{activationConstraint:{delay:150,tolerance:5}}));(0,y.useImperativeHandle)(t,()=>({toggle:()=>b(e=>!e),close:()=>b(!1)}),[]);let q=(0,y.useCallback)(()=>b(!1),[]),H=l.startsWith("/sessions/")?l.split("/")[2]:null;(0,y.useEffect)(()=>m(e=>{if("session:status"===e.type){let{sessionId:t,status:s}=e,n=new Set(w.map(e=>e.id));if(!n.has(t))return void console.log("[sidebar] status update for unknown session",t.slice(0,8),"known:",[...n].map(e=>e.slice(0,8)));console.log("[sidebar] status updated",t.slice(0,8),"->",s);let r=G.current.get(t);if(G.current.set(t,s),"running"===r&&"idle"===s&&H!==t){let e;(e=K()).add(t),localStorage.setItem(L,JSON.stringify([...e])),C(K())}k(e=>e.map(e=>e.id===t?{...e,status:s}:e))}else if("session:pending"===e.type){let{sessionId:t,count:s}=e;if(!new Set(w.map(e=>e.id)).has(t))return void console.log("[sidebar] pending update for unknown session",t.slice(0,8));console.log("[sidebar] pending updated",t.slice(0,8),"->",s),k(e=>e.map(e=>e.id===t?{...e,pendingRequestCount:s}:e))}else if("session:info_updated"===e.type){let{sessionId:t,info:s}=e;k(e=>e.map(e=>e.id===t?{...e,name:s.name,model:s.model}:e))}}),[m,H,w]);let Z=(0,y.useCallback)(async()=>{C(K());let e=await W();if(0===e.length)return void k([]);let t=e.join(","),s=await fetch(`/api/sessions/by-ids?ids=${encodeURIComponent(t)}`).then(e=>e.ok?e.json():null).catch(()=>null);if(!s)return;let n=(s.sessions||[]).filter(e=>!e.cwd.endsWith(".cockpit/reviews")),r=new Set(Array.isArray(s.foundIds)?s.foundIds:n.map(e=>e.id)),a=new Map(n.map(e=>[e.id,e])),l=[],o=[];for(let t of e){let e=a.get(t);e&&(l.push(e),o.push(t))}for(let t of(e.some(e=>!r.has(e))&&fetch("/api/sessions/pinned",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({pinned:o})}).catch(()=>{}),l))G.current.has(t.id)||G.current.set(t.id,t.status);k(l),l.length>0&&i({type:"session:subscribe",sessionIds:l.map(e=>e.id)})},[i]),ea=(0,y.useRef)(!1);(0,y.useEffect)(()=>{ea.current||(ea.current=!0,Z())},[Z]),(0,y.useEffect)(()=>{(j||x)&&Z()},[j,x,l,Z]);let el=async(e,t)=>{e.stopPropagation(),(await fetch(`/api/sessions/${t}`,{method:"DELETE"})).ok&&(await U(t),X(t),C(K()),k(e=>e.filter(e=>e.id!==t)),H===t&&s.push("/"))},ei=async(e,t)=>{e.stopPropagation(),await U(t),X(t),C(K()),k(e=>e.filter(e=>e.id!==t)),H===t&&s.push("/")},eo=(0,y.useCallback)(e=>{let{active:t,over:s}=e;if(!s||t.id===s.id)return;let n=w.findIndex(e=>e.id===t.id),r=w.findIndex(e=>e.id===s.id);if(n<0||r<0)return;let l=(0,a.be)(w,n,r);k(l),fetch("/api/sessions/pinned",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({pinned:l.map(e=>e.id)})}).catch(e=>console.error("Failed to persist sidebar order",e))},[w]),ec=async(e,t,n)=>{let r=await fetch("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,name:t||void 0,runtime:n})});if(r.ok){let t=await r.json();await D(t.sessionId),await Z(),q(),s.push(`/sessions/${t.sessionId}?cwd=${encodeURIComponent(e)}`)}},ed=e=>{X(e.id),C(K()),q();let t=new URLSearchParams({cwd:e.cwd});e.name&&t.set("name",e.name),s.push(`/sessions/${e.id}?${t}`)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:(0,E.cn)("fixed inset-0 z-40 bg-black/50 transition-opacity md:hidden",j?"opacity-100":"opacity-0 pointer-events-none"),onMouseDown:q}),(0,n.jsxs)("div",{className:(0,E.cn)("fixed inset-y-0 left-0 z-50 bg-background border-r flex flex-col transition-transform duration-200","md:relative md:inset-auto md:z-auto md:translate-x-0 md:shrink-0 md:transition-none",j?"translate-x-0":"-translate-x-full"),style:{width:I},children:[(0,n.jsx)(O,{onResize:J}),(0,n.jsx)("div",{className:"flex items-center justify-end px-3 py-1 border-b md:hidden",children:(0,n.jsx)(T.$,{variant:"ghost",size:"icon",onClick:q,children:(0,n.jsx)(o.A,{className:"h-4 w-4"})})}),(0,n.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto",children:[(0,n.jsx)(A,{id:"sessions",title:"Sessions",badge:w.length>0?String(w.length):void 0,actions:(0,n.jsxs)("div",{className:"flex items-center",children:[(0,n.jsx)(T.$,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:()=>R(!0),title:"New session",children:(0,n.jsx)(c.A,{className:"h-3.5 w-3.5"})}),(0,n.jsx)(T.$,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:()=>{q(),s.push("/")},title:"All sessions",children:(0,n.jsx)(d.A,{className:"h-3 w-3"})})]}),children:0===w.length?(0,n.jsx)("p",{className:"px-3 py-3 text-sm text-muted-foreground",children:"No active sessions."}):(0,n.jsx)(r.Mp,{sensors:B,onDragEnd:eo,children:(0,n.jsx)(a.gB,{items:w.map(e=>e.id),strategy:a._G,children:w.map(e=>(0,n.jsx)(Y,{session:e,isCurrent:H===e.id,isUnread:S.has(e.id),onNavigate:ed,onAction:(e,t)=>"running"===t.status?el(e,t.id):ei(e,t.id)},e.id))})})}),(0,n.jsx)(ee,{sections:h,exclude:Q}),f&&!h.has("git-changes")&&(0,n.jsx)(es,{cwd:f,sessionId:p}),f&&!h.has("file-tree")&&(0,n.jsx)(et,{cwd:f}),g.reviewsEnabled&&(0,n.jsx)(V,{onNavigate:q}),g.reviewsEnabled&&(0,n.jsx)(A,{id:"pr-files",title:h.get("pr-files")?.title||"PR Files",badge:h.get("pr-files")?.badge,defaultOpen:!1,children:h.has("pr-files")?h.get("pr-files").content:(0,n.jsx)("div",{className:"px-3 py-3 text-xs text-muted-foreground",children:"No PR open"})})]}),(0,n.jsxs)("div",{className:"border-t px-3 py-2 flex items-center justify-end gap-2",children:[(0,n.jsx)(en,{onClick:()=>{q(),s.push("/jobs")}}),(0,n.jsx)(er,{onClick:()=>{q(),s.push("/inbox")}}),(0,n.jsx)(T.$,{variant:"ghost",size:"icon",className:"shrink-0 h-8 w-8 text-muted-foreground hover:text-foreground",onClick:()=>{sessionStorage.removeItem("settings-scroll"),q(),s.push("/settings")},title:"Settings",children:(0,n.jsx)(u.A,{className:"h-4 w-4"})})]})]}),(0,n.jsx)(z.t,{open:$,onOpenChange:R,onSubmit:ec})]})});function V({onNavigate:e}){let t=(0,v.useRouter)(),s=(0,v.usePathname)(),{subscribe:r,send:a}=(0,_.h)(),[l,i]=(0,y.useState)([]),c=(0,y.useCallback)(async()=>{let e=await q();if(0===e.length)return void i([]);let t=await fetch(`/api/sessions/by-ids?ids=${encodeURIComponent(e.join(","))}`).then(e=>e.ok?e.json():null).catch(()=>null);if(!t)return;let s=t.sessions||[],n=new Set(Array.isArray(t.foundIds)?t.foundIds:s.map(e=>e.id)),r=new Map(s.map(e=>[e.id,e])),l=[],o=[];for(let t of e){let e=r.get(t);if(e){let s=function(e){let t=H.exec(e.name);return t?{id:e.id,owner:t[1]||"",repo:t[2],number:parseInt(t[3],10),title:t[4]||"",status:e.status,pendingRequestCount:e.pendingRequestCount??0}:null}(e);s&&l.push(s),o.push(t)}}e.some(e=>!n.has(e))&&fetch("/api/reviews/pinned",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({pinned:o})}).catch(()=>{}),i(l),l.length>0&&a({type:"session:subscribe",sessionIds:l.map(e=>e.id)})},[a]);(0,y.useEffect)(()=>{c()},[s,c]),(0,y.useEffect)(()=>{var e;return e=()=>c(),J.add(e),()=>{J.delete(e)}},[c]),(0,y.useEffect)(()=>r(e=>{if("session:status"===e.type){let{sessionId:t,status:s}=e;i(e=>e.map(e=>e.id===t?{...e,status:s}:e))}else if("session:pending"===e.type){let{sessionId:t,count:s}=e;i(e=>e.map(e=>e.id===t?{...e,pendingRequestCount:s}:e))}}),[r]);let d=s=>{e(),s.owner?t.push(`/reviews/${s.owner}/${s.repo}/${s.number}`):t.push("/reviews")};return(0,n.jsx)(A,{id:"reviews",title:"Reviews",badge:l.length>0?String(l.length):void 0,actions:(0,n.jsx)(T.$,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:()=>{e(),t.push("/reviews")},title:"All reviews",children:(0,n.jsx)(m.A,{className:"h-3 w-3"})}),children:0===l.length?(0,n.jsx)("p",{className:"px-3 py-3 text-sm text-muted-foreground",children:"No pinned reviews."}):l.map(e=>(0,n.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>d(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),d(e))},className:"w-full flex items-center gap-2 px-3 py-2 text-left text-sm hover:bg-accent/50 transition-colors cursor-pointer",children:[(0,n.jsx)("div",{className:"shrink-0 relative flex items-center justify-center h-4 w-4",children:e.pendingRequestCount>0?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"absolute h-4 w-4 rounded-full bg-blue-500/20 animate-ping"}),(0,n.jsx)("div",{className:"h-2.5 w-2.5 rounded-full bg-blue-500",title:"Awaiting input"})]}):"running"===e.status?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"absolute h-4 w-4 rounded-full bg-yellow-500/20 animate-ping"}),(0,n.jsx)("div",{className:"h-2.5 w-2.5 rounded-full bg-yellow-500",title:"Working"})]}):(0,n.jsx)("div",{className:"h-2.5 w-2.5 rounded-full bg-muted-foreground/30"})}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsxs)("div",{className:"truncate font-medium",children:[e.repo,"#",e.number]}),e.title&&(0,n.jsx)("div",{className:"truncate text-xs text-muted-foreground",children:e.title})]}),(0,n.jsx)(T.$,{variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 text-red-500 hover:text-red-600 hover:bg-red-500/10",onClick:t=>{var s;return s=e.id,void(t.stopPropagation(),i(e=>e.filter(e=>e.id!==s)),B(s))},title:"Remove",children:(0,n.jsx)(o.A,{className:"h-4 w-4"})})]},e.id))})}let Q=new Set(["pr-files"]);function ee({sections:e,exclude:t}){let s=(0,y.useMemo)(()=>Array.from(e.values()).filter(e=>!t?.has(e.id)).sort((e,t)=>(e.order??50)-(t.order??50)),[e,t]);return(0,n.jsx)(n.Fragment,{children:s.map(e=>(0,n.jsx)(A,{id:e.id,title:e.title,badge:e.badge,actions:e.actions,children:e.content},e.id))})}function et({cwd:e}){let t=(0,v.useRouter)(),{tabActions:s,closeSidebar:r}=(0,N.E2)(),[a,l]=(0,y.useState)(!1),i=(0,y.useCallback)(n=>{s?s.openFile(n):t.push(`/files?cwd=${encodeURIComponent(e)}&file=${encodeURIComponent(n)}`),window.innerWidth<768&&r()},[t,e,s,r]),o=(0,y.useCallback)(e=>{i(e),l(!1)},[i]);return(0,n.jsxs)(A,{id:"files",title:"Session Files",defaultOpen:!1,actions:(0,n.jsx)("button",{onClick:()=>l(!0),title:"Open file",className:"flex items-center justify-center rounded p-0.5 hover:bg-accent text-muted-foreground",children:(0,n.jsx)(c.A,{className:"h-3.5 w-3.5"})}),children:[(0,n.jsx)(S.h,{cwd:e,selectedFile:null,onSelectFile:i}),(0,n.jsx)(R.lG,{open:a,onOpenChange:l,children:(0,n.jsxs)(R.Cf,{className:"sm:max-w-lg",children:[(0,n.jsx)(R.c7,{children:(0,n.jsx)(R.L3,{children:"Open File"})}),(0,n.jsx)(k.N,{startPath:e,onSelect:o,onCancel:()=>l(!1)})]})})]})}function es({cwd:e,sessionId:t}){let s=(0,v.useRouter)(),r=(0,v.usePathname)(),{tabActions:a}=(0,N.E2)(),{subscribe:l}=(0,_.h)(),{checkedFiles:i,toggleFile:o}=(0,F.e)(e),[c,d]=(0,y.useState)(""),[u,m]=(0,y.useState)(null),[b,w]=(0,y.useState)([]),k=(0,y.useRef)(e);k.current=e;let S=(0,y.useCallback)(()=>{fetch(`/api/git/status?cwd=${encodeURIComponent(k.current)}`).then(e=>{if(!e.ok)throw Error("Not a git repository");return e.json()}).then(e=>{w(e.files||[]),d(e.branch||""),m(null)}).catch(e=>{w([]),d(""),m(e instanceof Error?e.message:"Failed to load")})},[]);(0,y.useEffect)(()=>{S()},[e,r,S]),(0,y.useEffect)(()=>l(e=>{"session:fs_changed"===e.type&&S()}),[l,S]);let C=t?`&sessionId=${encodeURIComponent(t)}`:"",$=b.reduce((e,t)=>e+t.additions,0),T=b.reduce((e,t)=>e+t.deletions,0);return(0,n.jsx)(A,{id:"session-changes",title:"Session Changes",badge:b.length>0?String(b.length):void 0,defaultOpen:!1,children:u?(0,n.jsx)("p",{className:"px-3 py-3 text-sm text-muted-foreground",children:u}):0===b.length?(0,n.jsx)("p",{className:"px-3 py-3 text-sm text-muted-foreground",children:"Working tree clean"}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"px-3 py-1.5 text-xs text-muted-foreground flex items-center gap-2 border-b",children:[c&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{children:"Branch:"}),(0,n.jsx)("span",{className:"font-mono font-bold text-foreground",children:c}),(0,n.jsx)("span",{className:"mx-0.5",children:"\xb7"})]}),(0,n.jsxs)("span",{children:[b.length," changed"]}),$>0&&(0,n.jsxs)("span",{className:"text-green-500",children:["+",$]}),T>0&&(0,n.jsxs)("span",{className:"text-red-500",children:["-",T]}),(0,n.jsx)("div",{className:"flex-1"}),(0,n.jsx)("button",{type:"button",title:"Open commit view",onClick:()=>{a?a.openChanges():s.push(`/changes?cwd=${encodeURIComponent(e)}${C}`)},className:"hover:text-foreground transition-colors",children:(0,n.jsx)(g.A,{className:"h-3 w-3"})})]}),b.map(t=>(0,n.jsxs)("div",{className:"flex items-center gap-1 px-3 py-1 text-xs hover:bg-accent/50 transition-colors",children:[(0,n.jsx)("button",{type:"button",role:"checkbox","aria-checked":i.has(t.path),onClick:e=>{e.stopPropagation(),o(t.path)},className:(0,E.cn)("h-3.5 w-3.5 shrink-0 rounded-full border flex items-center justify-center transition-colors",i.has(t.path)?"border-primary bg-primary text-primary-foreground":"border-muted-foreground/30 bg-transparent hover:border-muted-foreground/50"),children:i.has(t.path)&&(0,n.jsx)(j.A,{className:"h-2 w-2",strokeWidth:3})}),(0,n.jsxs)("button",{type:"button",onClick:()=>{a?a.openDiff(t.path):s.push(`/changes?cwd=${encodeURIComponent(e)}${C}`)},className:"flex items-center gap-2 flex-1 min-w-0 text-left",children:[function(e){switch(e){case"added":case"untracked":return(0,n.jsx)(x.A,{className:"h-3.5 w-3.5 text-green-500"});case"deleted":return(0,n.jsx)(h.A,{className:"h-3.5 w-3.5 text-red-500"});case"renamed":return(0,n.jsx)(f.A,{className:"h-3.5 w-3.5 text-blue-500"});default:return(0,n.jsx)(p.A,{className:"h-3.5 w-3.5 text-yellow-500"})}}(t.status),(0,n.jsx)("span",{className:"font-mono truncate flex-1 min-w-0",children:t.path}),(0,n.jsxs)("span",{className:"shrink-0 flex gap-1 text-[10px] font-mono",children:[t.additions>0&&(0,n.jsxs)("span",{className:"text-green-500",children:["+",t.additions]}),t.deletions>0&&(0,n.jsxs)("span",{className:"text-red-500",children:["-",t.deletions]})]})]})]},t.path))]})})}function en({onClick:e}){let{count:t}=(0,I.wA)();return(0,n.jsxs)(T.$,{variant:"ghost",size:"icon",className:"shrink-0 h-8 w-8 text-muted-foreground hover:text-foreground relative",onClick:e,title:"Scheduled Jobs",children:[(0,n.jsx)(b.A,{className:"h-4 w-4"}),t>0&&(0,n.jsx)("span",{className:"absolute top-1 right-1 h-2 w-2 rounded-full bg-red-500"})]})}function er({onClick:e}){let[t,s]=(0,y.useState)(0),r=(0,v.usePathname)();return(0,y.useEffect)(()=>{let e=()=>{fetch("/api/inbox?count=true").then(e=>e.json()).then(e=>s(e.unread||0)).catch(()=>{})};e();let t=setInterval(e,15e3);return()=>clearInterval(t)},[r]),(0,n.jsxs)(T.$,{variant:"ghost",size:"icon",className:"shrink-0 h-8 w-8 text-muted-foreground hover:text-foreground relative",onClick:e,title:"Inbox",children:[(0,n.jsx)(w.A,{className:"h-4 w-4"}),t>0&&(0,n.jsx)("span",{className:"absolute top-1 right-1 h-2 w-2 rounded-full bg-blue-500"})]})}},81477:(e,t,s)=>{s.d(t,{BT:()=>c,Wu:()=>d,ZB:()=>o,Zp:()=>l,aR:()=>i});var n=s(95155),r=s(12115),a=s(40980);let l=r.forwardRef(({className:e,...t},s)=>(0,n.jsx)("div",{ref:s,className:(0,a.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));l.displayName="Card";let i=r.forwardRef(({className:e,...t},s)=>(0,n.jsx)("div",{ref:s,className:(0,a.cn)("flex flex-col space-y-1.5 p-6",e),...t}));i.displayName="CardHeader";let o=r.forwardRef(({className:e,...t},s)=>(0,n.jsx)("div",{ref:s,className:(0,a.cn)("text-2xl font-semibold leading-none tracking-tight",e),...t}));o.displayName="CardTitle";let c=r.forwardRef(({className:e,...t},s)=>(0,n.jsx)("div",{ref:s,className:(0,a.cn)("text-sm text-muted-foreground",e),...t}));c.displayName="CardDescription";let d=r.forwardRef(({className:e,...t},s)=>(0,n.jsx)("div",{ref:s,className:(0,a.cn)("p-6 pt-0",e),...t}));d.displayName="CardContent"},89239:(e,t,s)=>{s.d(t,{$:()=>c});var n=s(95155),r=s(54850),a=s(18460),l=s(12115),i=s(40980);let o=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),c=l.forwardRef(({className:e,variant:t,size:s,asChild:a=!1,...l},c)=>{let d=a?r.DX:"button";return(0,n.jsx)(d,{className:(0,i.cn)(o({variant:t,size:s,className:e})),ref:c,...l})});c.displayName="Button"},89323:(e,t,s)=>{s.d(t,{f:()=>l,h:()=>i});var n=s(95155),r=s(12115);let a=(0,r.createContext)(null);function l({children:e}){let[t,s]=(0,r.useState)(!1),i=(0,r.useRef)(null),o=(0,r.useRef)(new Set),c=(0,r.useRef)(void 0),d=(0,r.useRef)(500),u=(0,r.useRef)([]),m=(0,r.useRef)(!1),x=(0,r.useRef)(!0),h=(0,r.useRef)(void 0),f=(0,r.useRef)(null),p=(0,r.useRef)(void 0),g=(0,r.useRef)(!1),j=(0,r.useRef)(void 0),b=(0,r.useCallback)(()=>{if(!x.current)return;clearTimeout(c.current);let e="visible"===document.visibilityState?5e3:3e4,t=Math.min(d.current,e);console.log(`[ws] reconnect scheduled in ${t}ms`),c.current=setTimeout(()=>{d.current=Math.min(2*d.current,3e4),h.current?.()},t)},[]),w=(0,r.useCallback)(async()=>{if(m.current||i.current)return void console.log(`[ws] connect skipped (connecting=${m.current}, hasWs=${!!i.current})`);m.current=!0;let e=performance.now();console.log("[ws] connecting...");let t=f.current;if(t)console.log("[ws] using cached token");else try{let s=await fetch("/api/auth/ws-token");if(!s.ok){console.warn(`[ws] ws-token fetch failed (${s.status})`),m.current=!1,b();return}t=(await s.json()).token,console.log(`[ws] token fetched in ${(performance.now()-e).toFixed(0)}ms`)}catch(e){console.warn("[ws] ws-token fetch error:",e),m.current=!1,b();return}if(i.current||!x.current){console.log(`[ws] connect aborted (hasWs=${!!i.current}, mounted=${x.current})`),m.current=!1;return}let n="https:"===window.location.protocol?"wss:":"ws:",r=new WebSocket(`${n}//${window.location.host}/ws?token=${t}`);i.current=r,m.current=!1,r.onopen=()=>{for(let n of(console.log(`[ws] connected in ${(performance.now()-e).toFixed(0)}ms`),s(!0),f.current=t,d.current=500,u.current))r.send(JSON.stringify(n));u.current=[]},r.onmessage=e=>{let t=JSON.parse(e.data);for(let e of("pong"===t.type&&(clearTimeout(p.current),g.current=!1),"message:ack"===t.type&&y.current.length>0&&(y.current=[]),o.current))e(t)},r.onclose=e=>{console.log(`[ws] closed (code=${e.code}), reconnecting immediately`),s(!1),i.current===r&&(i.current=null),y.current.length>0&&(u.current.push(...y.current),y.current=[]),(1008===e.code||4401===e.code)&&(f.current=null),d.current=500,h.current?.()},r.onerror=()=>{r.close()}},[b]);h.current=w,(0,r.useEffect)(()=>(x.current=!0,w(),()=>{x.current=!1,clearTimeout(c.current),clearInterval(j.current),i.current&&(i.current.onclose=null,i.current.close(),i.current=null),m.current=!1}),[w]);let v=(0,r.useCallback)(()=>{let e=i.current;e&&(e.onclose=null,e.onerror=null,e.close(),i.current=null),s(!1),d.current=500,h.current?.()},[]);(0,r.useEffect)(()=>{let e=()=>{clearInterval(j.current),"visible"===document.visibilityState&&(j.current=setInterval(()=>{if(!i.current&&!m.current){console.log("[ws] health: no connection, forcing reconnect"),clearTimeout(c.current),d.current=500,h.current?.();return}let e=i.current;if(e){if(e.readyState!==WebSocket.OPEN){console.log(`[ws] health: dead connection (readyState=${e.readyState}), tearing down`),v();return}if(!g.current){g.current=!0;try{e.send(JSON.stringify({type:"ping"}))}catch{g.current=!1,v();return}clearTimeout(p.current),p.current=setTimeout(()=>{g.current=!1,v()},2e3)}}},3e3))},t=()=>{if("visible"===document.visibilityState){if(console.log(`[ws] page visible (hasWs=${!!i.current}, connecting=${m.current})`),e(),!i.current&&!m.current){console.log("[ws] no connection on visibility, reconnecting now"),clearTimeout(c.current),d.current=500,h.current?.();return}let t=i.current;if(t){if(t.readyState!==WebSocket.OPEN)return void v();if(!g.current){g.current=!0;try{t.send(JSON.stringify({type:"ping"}))}catch{g.current=!1,v();return}clearTimeout(p.current),p.current=setTimeout(()=>{g.current=!1,v()},2e3)}}}else clearInterval(j.current)};return document.addEventListener("visibilitychange",t),e(),()=>{document.removeEventListener("visibilitychange",t),clearInterval(j.current),clearTimeout(p.current)}},[v]);let y=(0,r.useRef)([]),N=(0,r.useCallback)(e=>{i.current?.readyState===WebSocket.OPEN?("message:send"===e.type&&y.current.push(e),i.current.send(JSON.stringify(e))):u.current.push(e)},[]),k=(0,r.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]);return(0,n.jsx)(a.Provider,{value:{connected:t,send:N,subscribe:k},children:e})}function i(){let e=(0,r.useContext)(a);if(!e)throw Error("useWebSocket must be used within WebSocketProvider");return e}},89723:(e,t,s)=>{s.d(t,{G:()=>d});var n=s(95155),r=s(9005),a=s(12115),l=s(64233),i=s(89239),o=s(81477),c=s(53972);function d({open:e,onOpenChange:t,content:s,filePath:u}){let m=(0,a.useCallback)(()=>t(!1),[t]);(0,a.useEffect)(()=>{if(!e)return;let t=e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),m())};return window.addEventListener("keydown",t,!0),()=>window.removeEventListener("keydown",t,!0)},[e,m]);let x=(0,a.useCallback)(e=>{e.target===e.currentTarget&&m()},[m]);if(!e)return null;let h=(0,c.uk)(u)||u;return(0,n.jsx)("div",{className:"fixed inset-0 z-50 bg-black/50 flex items-center justify-center p-4",onClick:x,children:(0,n.jsxs)(o.Zp,{className:"w-full max-w-3xl flex flex-col",style:{maxHeight:"calc(100dvh - 2rem)"},children:[(0,n.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b shrink-0",children:[(0,n.jsx)("span",{className:"text-sm font-medium text-muted-foreground",children:h}),(0,n.jsx)(i.$,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:m,children:(0,n.jsx)(r.A,{className:"h-4 w-4"})})]}),(0,n.jsx)(l.Y,{content:s,className:"flex-1 min-h-0 overflow-y-auto p-4"})]})})}},96301:(e,t,s)=>{s.d(t,{h:()=>j});var n=s(95155),r=s(92571),a=s(12363),l=s(76721),i=s(95660),o=s(14225),c=s(9107),d=s(12115),u=s(89323),m=s(40980);let x=new Map;async function h(e,t=!1){if(!t){let t=x.get(e);if(t)return t}let s=new URLSearchParams({path:e,includeFiles:"true",showHidden:"true"}),n=await fetch(`/api/filesystem/browse?${s}`);if(!n.ok)return x.get(e)||[];let r=((await n.json()).entries||[]).map(e=>({name:e.name,path:e.path,type:e.type}));return x.set(e,r),r}let f=new Map;function p(e){let t=f.get(e);return t||(t=new Set,f.set(e,t)),t}function g({node:e,depth:t,selectedFile:s,onSelectFile:u,expandedSet:f,onToggleExpand:p,refreshTick:j}){let b="directory"===e.type,w=f.has(e.path),[v,y]=(0,d.useState)(x.get(e.path)||[]),[N,k]=(0,d.useState)(!1),S=(0,d.useCallback)(()=>{b?(p(e.path),f.has(e.path)||x.has(e.path)||(k(!0),h(e.path).then(e=>{y(e),k(!1)}))):u(e.path)},[b,e.path,p,u,f]);return(0,d.useEffect)(()=>{if(b&&w&&0===v.length&&!N){let t=x.get(e.path);t?y(t):(k(!0),h(e.path).then(e=>{y(e),k(!1)}))}},[b,w,v.length,N,e.path]),(0,d.useEffect)(()=>{if(!b||!w||0===j)return;let t=x.get(e.path);t&&y(t)},[b,w,e.path,j]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:(0,m.cn)("flex items-center gap-1 px-2 py-1 text-sm cursor-pointer hover:bg-muted/50",!b&&s===e.path&&"bg-muted"),style:{paddingLeft:`${16*t+8}px`},onClick:S,children:[b?(0,n.jsxs)(n.Fragment,{children:[N?(0,n.jsx)(r.A,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-muted-foreground"}):w?(0,n.jsx)(a.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):(0,n.jsx)(l.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),w?(0,n.jsx)(i.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):(0,n.jsx)(o.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"w-3.5 shrink-0"}),(0,n.jsx)(c.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"})]}),(0,n.jsx)("span",{className:"font-mono text-xs truncate",children:e.name})]}),b&&w&&v.map(e=>(0,n.jsx)(g,{node:e,depth:t+1,selectedFile:s,onSelectFile:u,expandedSet:f,onToggleExpand:p,refreshTick:j},e.path))]})}function j({cwd:e,selectedFile:t,onSelectFile:s}){let[a,l]=(0,d.useState)(x.get(e)||[]),[i,o]=(0,d.useState)(0===a.length),[c,m]=(0,d.useState)(()=>p(e)),[b,w]=(0,d.useState)(0),v=(0,d.useRef)(e),y=(0,d.useRef)(c);y.current=c;let{subscribe:N}=(0,u.h)();(0,d.useEffect)(()=>{v.current=e,m(p(e));let t=x.get(e);t?(l(t),o(!1)):(o(!0),h(e).then(t=>{v.current===e&&(l(t),o(!1))}))},[e]),(0,d.useEffect)(()=>{let e=!0,t=async()=>{let t=[v.current,...y.current],s=!1;for(let n of t){if(!e)return;let t=x.get(n),r=await h(n,!0);if(!e)return;(!t||function(e,t){if(e.length!==t.length)return!0;for(let s=0;s<e.length;s++)if(e[s].path!==t[s].path||e[s].type!==t[s].type)return!0;return!1}(t,r))&&(s=!0)}s&&e&&(l(x.get(v.current)||[]),w(e=>e+1))},s=N(e=>{"session:fs_changed"===e.type&&t()});return()=>{e=!1,s()}},[N]);let k=(0,d.useCallback)(t=>{m(s=>{let n=new Set(s);return n.has(t)?n.delete(t):n.add(t),f.set(e,n),n})},[e]);return i?(0,n.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,n.jsx)(r.A,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):0===a.length?(0,n.jsx)("div",{className:"flex items-center justify-center py-12 text-sm text-muted-foreground",children:"Empty directory"}):(0,n.jsx)("div",{className:"py-1",children:a.map(e=>(0,n.jsx)(g,{node:e,depth:0,selectedFile:t,onSelectFile:s,expandedSet:c,onToggleExpand:k,refreshTick:b},e.path))})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39267],{39267:(t,e,r)=>{r.r(e),r.d(e,{default:()=>o});let o=Object.freeze(JSON.parse('{"colors":{"activityBar.background":"#101010","activityBar.foreground":"#A0A0A0","activityBarBadge.background":"#FFC799","activityBarBadge.foreground":"#000","badge.background":"#FFC799","badge.foreground":"#000","button.background":"#FFC799","button.foreground":"#000","button.hoverBackground":"#FFCFA8","diffEditor.insertedLineBackground":"#99FFE415","diffEditor.insertedTextBackground":"#99FFE415","diffEditor.removedLineBackground":"#FF808015","diffEditor.removedTextBackground":"#FF808015","editor.background":"#101010","editor.foreground":"#FFF","editor.selectionBackground":"#FFFFFF25","editor.selectionHighlightBackground":"#FFFFFF25","editorBracketHighlight.foreground1":"#A0A0A0","editorBracketHighlight.foreground2":"#A0A0A0","editorBracketHighlight.foreground3":"#A0A0A0","editorBracketHighlight.foreground4":"#A0A0A0","editorBracketHighlight.foreground5":"#A0A0A0","editorBracketHighlight.foreground6":"#A0A0A0","editorBracketHighlight.unexpectedBracket.foreground":"#FF8080","editorError.foreground":"#FF8080","editorGroupHeader.tabsBackground":"#101010","editorGutter.addedBackground":"#99FFE4","editorGutter.deletedBackground":"#FF8080","editorGutter.modifiedBackground":"#FFC799","editorHoverWidget.background":"#161616","editorHoverWidget.border":"#282828","editorInlayHint.background":"#1C1C1C","editorInlayHint.foreground":"#A0A0A0","editorLineNumber.foreground":"#505050","editorOverviewRuler.border":"#101010","editorWarning.foreground":"#FFC799","editorWidget.background":"#101010","focusBorder":"#FFC799","icon.foreground":"#A0A0A0","input.background":"#1C1C1C","list.activeSelectionBackground":"#232323","list.activeSelectionForeground":"#FFC799","list.errorForeground":"#FF8080","list.highlightForeground":"#FFC799","list.hoverBackground":"#282828","list.inactiveSelectionBackground":"#232323","scrollbarSlider.background":"#34343480","scrollbarSlider.hoverBackground":"#343434","selection.background":"#666","settings.modifiedItemIndicator":"#FFC799","sideBar.background":"#101010","sideBarSectionHeader.background":"#101010","sideBarSectionHeader.foreground":"#A0A0A0","sideBarTitle.foreground":"#A0A0A0","statusBar.background":"#101010","statusBar.debuggingBackground":"#FF7300","statusBar.debuggingForeground":"#FFF","statusBar.foreground":"#A0A0A0","statusBarItem.remoteBackground":"#FFC799","statusBarItem.remoteForeground":"#000","tab.activeBackground":"#161616","tab.activeBorder":"#FFC799","tab.border":"#101010","tab.inactiveBackground":"#101010","textLink.activeForeground":"#FFCFA8","textLink.foreground":"#FFC799","titleBar.activeBackground":"#101010","titleBar.activeForeground":"#7E7E7E","titleBar.inactiveBackground":"#101010","titleBar.inactiveForeground":"#707070"},"displayName":"Vesper","name":"vesper","tokenColors":[{"scope":["comment","punctuation.definition.comment"],"settings":{"foreground":"#8b8b8b94"}},{"scope":["variable","string constant.other.placeholder","entity.name.tag"],"settings":{"foreground":"#FFF"}},{"scope":["constant.other.color"],"settings":{"foreground":"#FFF"}},{"scope":["invalid","invalid.illegal"],"settings":{"foreground":"#FF8080"}},{"scope":["keyword","storage.type","storage.modifier"],"settings":{"foreground":"#A0A0A0"}},{"scope":["keyword.control","constant.other.color","punctuation.definition.tag","punctuation.separator.inheritance.php","punctuation.definition.tag.html","punctuation.definition.tag.begin.html","punctuation.definition.tag.end.html","punctuation.section.embedded","keyword.other.template","keyword.other.substitution"],"settings":{"foreground":"#A0A0A0"}},{"scope":["entity.name.tag","meta.tag.sgml","markup.deleted.git_gutter"],"settings":{"foreground":"#FFC799"}},{"scope":["entity.name.function","variable.function","support.function","keyword.other.special-method"],"settings":{"foreground":"#FFC799"}},{"scope":["meta.block variable.other"],"settings":{"foreground":"#FFF"}},{"scope":["support.other.variable","string.other.link"],"settings":{"foreground":"#FFF"}},{"scope":["constant.numeric","support.constant","constant.character","constant.escape","keyword.other.unit","keyword.other","constant.language.boolean"],"settings":{"foreground":"#FFC799"}},{"scope":["string","constant.other.symbol","constant.other.key","meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js"],"settings":{"foreground":"#99FFE4"}},{"scope":["entity.name","support.type","support.class","support.other.namespace.use.php","meta.use.php","support.other.namespace.php","markup.changed.git_gutter","support.type.sys-types"],"settings":{"foreground":"#FFC799"}},{"scope":["source.css support.type.property-name","source.sass support.type.property-name","source.scss support.type.property-name","source.less support.type.property-name","source.stylus support.type.property-name","source.postcss support.type.property-name","source.postcss support.type.property-name","support.type.vendored.property-name.css","source.css.scss entity.name.tag","variable.parameter.keyframe-list.css","meta.property-name.css","variable.parameter.url.scss","meta.property-value.scss","meta.property-value.css"],"settings":{"foreground":"#FFF"}},{"scope":["entity.name.module.js","variable.import.parameter.js","variable.other.class.js"],"settings":{"foreground":"#FF8080"}},{"scope":["variable.language"],"settings":{"foreground":"#A0A0A0"}},{"scope":["entity.name.method.js"],"settings":{"foreground":"#FFFF"}},{"scope":["meta.class-method.js entity.name.function.js","variable.function.constructor"],"settings":{"foreground":"#FFFF"}},{"scope":["entity.other.attribute-name","meta.property-list.scss","meta.attribute-selector.scss","meta.property-value.css","entity.other.keyframe-offset.css","meta.selector.css","entity.name.tag.reference.scss","entity.name.tag.nesting.css","punctuation.separator.key-value.css"],"settings":{"foreground":"#A0A0A0"}},{"scope":["text.html.basic entity.other.attribute-name.html","text.html.basic entity.other.attribute-name"],"settings":{"foreground":"#FFC799"}},{"scope":["entity.other.attribute-name.class","entity.other.attribute-name.id","meta.attribute-selector.scss","variable.parameter.misc.css"],"settings":{"foreground":"#FFC799"}},{"scope":["source.sass keyword.control","meta.attribute-selector.scss"],"settings":{"foreground":"#99FFE4"}},{"scope":["markup.inserted"],"settings":{"foreground":"#99FFE4"}},{"scope":["markup.deleted"],"settings":{"foreground":"#FF8080"}},{"scope":["markup.changed"],"settings":{"foreground":"#A0A0A0"}},{"scope":["string.regexp"],"settings":{"foreground":"#A0A0A0"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#A0A0A0"}},{"scope":["*url*","*link*","*uri*"],"settings":{"fontStyle":"underline"}},{"scope":["tag.decorator.js entity.name.tag.js","tag.decorator.js punctuation.definition.tag.js"],"settings":{"foreground":"#FFFF"}},{"scope":["source.js constant.other.object.key.js string.unquoted.label.js"],"settings":{"fontStyle":"italic","foreground":"#FF8080"}},{"scope":["source.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFC799"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFC799"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFC799"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFC799"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFC799"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFC799"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFC799"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFC799"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFC799"}},{"scope":["text.html.markdown","punctuation.definition.list_item.markdown"],"settings":{"foreground":"#FFF"}},{"scope":["text.html.markdown markup.inline.raw.markdown"],"settings":{"foreground":"#A0A0A0"}},{"scope":["text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown"],"settings":{"foreground":"#FFF"}},{"scope":["markdown.heading","markup.heading | markup.heading entity.name","markup.heading.markdown punctuation.definition.heading.markdown","markup.heading","markup.inserted.git_gutter"],"settings":{"foreground":"#FFC799"}},{"scope":["markup.italic"],"settings":{"fontStyle":"italic","foreground":"#FFF"}},{"scope":["markup.bold","markup.bold string"],"settings":{"fontStyle":"bold","foreground":"#FFF"}},{"scope":["markup.bold markup.italic","markup.italic markup.bold","markup.quote markup.bold","markup.bold markup.italic string","markup.italic markup.bold string","markup.quote markup.bold string"],"settings":{"fontStyle":"bold","foreground":"#FFF"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline","foreground":"#FFC799"}},{"scope":["markup.quote punctuation.definition.blockquote.markdown"],"settings":{"foreground":"#FFF"}},{"scope":["markup.quote"]},{"scope":["string.other.link.title.markdown"],"settings":{"foreground":"#FFFF"}},{"scope":["string.other.link.description.title.markdown"],"settings":{"foreground":"#A0A0A0"}},{"scope":["constant.other.reference.link.markdown"],"settings":{"foreground":"#FFC799"}},{"scope":["markup.raw.block"],"settings":{"foreground":"#A0A0A0"}},{"scope":["markup.raw.block.fenced.markdown"],"settings":{"foreground":"#00000050"}},{"scope":["punctuation.definition.fenced.markdown"],"settings":{"foreground":"#00000050"}},{"scope":["markup.raw.block.fenced.markdown","variable.language.fenced.markdown","punctuation.section.class.end"],"settings":{"foreground":"#FFF"}},{"scope":["variable.language.fenced.markdown"],"settings":{"foreground":"#FFF"}},{"scope":["meta.separator"],"settings":{"fontStyle":"bold","foreground":"#65737E"}},{"scope":["markup.table"],"settings":{"foreground":"#FFF"}}],"type":"dark"}'))}}]);