@alexjbarnes/cockpit 0.1.1 → 0.2.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 (560) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +12 -0
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +51 -3
  5. package/.next/react-loadable-manifest.json +2 -2
  6. package/.next/routes-manifest.json +76 -0
  7. package/.next/server/app/(app)/agents/[name]/page.js +3 -3
  8. package/.next/server/app/(app)/agents/[name]/page.js.nft.json +1 -1
  9. package/.next/server/app/(app)/agents/[name]/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/(app)/agents/page.js +2 -2
  11. package/.next/server/app/(app)/agents/page.js.nft.json +1 -1
  12. package/.next/server/app/(app)/agents/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/(app)/changes/page.js +2 -2
  14. package/.next/server/app/(app)/changes/page.js.nft.json +1 -1
  15. package/.next/server/app/(app)/changes/page_client-reference-manifest.js +1 -1
  16. package/.next/server/app/(app)/claude-md/edit/page.js +2 -2
  17. package/.next/server/app/(app)/claude-md/edit/page.js.nft.json +1 -1
  18. package/.next/server/app/(app)/claude-md/edit/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/(app)/claude-md/page.js +2 -2
  20. package/.next/server/app/(app)/claude-md/page.js.nft.json +1 -1
  21. package/.next/server/app/(app)/claude-md/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/(app)/commands/[name]/page.js +3 -3
  23. package/.next/server/app/(app)/commands/[name]/page.js.nft.json +1 -1
  24. package/.next/server/app/(app)/commands/[name]/page_client-reference-manifest.js +1 -1
  25. package/.next/server/app/(app)/commands/page.js +2 -2
  26. package/.next/server/app/(app)/commands/page.js.nft.json +1 -1
  27. package/.next/server/app/(app)/commands/page_client-reference-manifest.js +1 -1
  28. package/.next/server/app/(app)/files/page.js +2 -2
  29. package/.next/server/app/(app)/files/page.js.nft.json +1 -1
  30. package/.next/server/app/(app)/files/page_client-reference-manifest.js +1 -1
  31. package/.next/server/app/(app)/hooks/[event]/page.js +3 -3
  32. package/.next/server/app/(app)/hooks/[event]/page.js.nft.json +1 -1
  33. package/.next/server/app/(app)/hooks/[event]/page_client-reference-manifest.js +1 -1
  34. package/.next/server/app/(app)/hooks/page.js +2 -2
  35. package/.next/server/app/(app)/hooks/page.js.nft.json +1 -1
  36. package/.next/server/app/(app)/hooks/page_client-reference-manifest.js +1 -1
  37. package/.next/server/app/(app)/inbox/[id]/page.js +2 -0
  38. package/.next/server/app/(app)/inbox/[id]/page.js.nft.json +1 -0
  39. package/.next/server/app/(app)/inbox/[id]/page_client-reference-manifest.js +1 -0
  40. package/.next/server/app/(app)/inbox/page.js +2 -0
  41. package/.next/server/app/(app)/inbox/page.js.nft.json +1 -0
  42. package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -0
  43. package/.next/server/app/(app)/jobs/[id]/edit/page.js +2 -2
  44. package/.next/server/app/(app)/jobs/[id]/edit/page.js.nft.json +1 -1
  45. package/.next/server/app/(app)/jobs/[id]/edit/page_client-reference-manifest.js +1 -1
  46. package/.next/server/app/(app)/jobs/[id]/page.js +2 -2
  47. package/.next/server/app/(app)/jobs/[id]/page.js.nft.json +1 -1
  48. package/.next/server/app/(app)/jobs/[id]/page_client-reference-manifest.js +1 -1
  49. package/.next/server/app/(app)/jobs/[id]/runs/[runId]/page.js +2 -2
  50. package/.next/server/app/(app)/jobs/[id]/runs/[runId]/page.js.nft.json +1 -1
  51. package/.next/server/app/(app)/jobs/[id]/runs/[runId]/page_client-reference-manifest.js +1 -1
  52. package/.next/server/app/(app)/jobs/page.js +2 -2
  53. package/.next/server/app/(app)/jobs/page.js.nft.json +1 -1
  54. package/.next/server/app/(app)/jobs/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/(app)/mcp-servers/[name]/page.js +2 -2
  56. package/.next/server/app/(app)/mcp-servers/[name]/page.js.nft.json +1 -1
  57. package/.next/server/app/(app)/mcp-servers/[name]/page_client-reference-manifest.js +1 -1
  58. package/.next/server/app/(app)/mcp-servers/page.js +2 -2
  59. package/.next/server/app/(app)/mcp-servers/page.js.nft.json +1 -1
  60. package/.next/server/app/(app)/mcp-servers/page_client-reference-manifest.js +1 -1
  61. package/.next/server/app/(app)/page.js +2 -2
  62. package/.next/server/app/(app)/page.js.nft.json +1 -1
  63. package/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
  64. package/.next/server/app/(app)/reviews/[owner]/[repo]/[number]/page.js +9 -9
  65. package/.next/server/app/(app)/reviews/[owner]/[repo]/[number]/page.js.nft.json +1 -1
  66. package/.next/server/app/(app)/reviews/[owner]/[repo]/[number]/page_client-reference-manifest.js +1 -1
  67. package/.next/server/app/(app)/reviews/[owner]/[repo]/page.js +2 -2
  68. package/.next/server/app/(app)/reviews/[owner]/[repo]/page.js.nft.json +1 -1
  69. package/.next/server/app/(app)/reviews/[owner]/[repo]/page_client-reference-manifest.js +1 -1
  70. package/.next/server/app/(app)/reviews/page.js +2 -2
  71. package/.next/server/app/(app)/reviews/page.js.nft.json +1 -1
  72. package/.next/server/app/(app)/reviews/page_client-reference-manifest.js +1 -1
  73. package/.next/server/app/(app)/sessions/[id]/page.js +2 -2
  74. package/.next/server/app/(app)/sessions/[id]/page.js.nft.json +1 -1
  75. package/.next/server/app/(app)/sessions/[id]/page_client-reference-manifest.js +1 -1
  76. package/.next/server/app/(app)/settings/notifications/page.js +2 -0
  77. package/.next/server/app/(app)/settings/notifications/page.js.nft.json +1 -0
  78. package/.next/server/app/(app)/settings/notifications/page_client-reference-manifest.js +1 -0
  79. package/.next/server/app/(app)/settings/page.js +2 -2
  80. package/.next/server/app/(app)/settings/page.js.nft.json +1 -1
  81. package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
  82. package/.next/server/app/(app)/skills/[name]/page.js +3 -3
  83. package/.next/server/app/(app)/skills/[name]/page.js.nft.json +1 -1
  84. package/.next/server/app/(app)/skills/[name]/page_client-reference-manifest.js +1 -1
  85. package/.next/server/app/(app)/skills/page.js +2 -2
  86. package/.next/server/app/(app)/skills/page.js.nft.json +1 -1
  87. package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -1
  88. package/.next/server/app/_global-error/page.js +3 -3
  89. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  90. package/.next/server/app/_global-error.html +1 -1
  91. package/.next/server/app/_global-error.rsc +1 -1
  92. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  93. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  94. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  95. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  96. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  97. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  98. package/.next/server/app/_not-found/page.js +2 -2
  99. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  100. package/.next/server/app/_not-found.html +1 -1
  101. package/.next/server/app/_not-found.rsc +2 -2
  102. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  103. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  104. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  105. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  106. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  107. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  108. package/.next/server/app/agents.html +1 -1
  109. package/.next/server/app/agents.rsc +4 -4
  110. package/.next/server/app/agents.segments/!KGFwcCk/agents/__PAGE__.segment.rsc +2 -2
  111. package/.next/server/app/agents.segments/!KGFwcCk/agents.segment.rsc +1 -1
  112. package/.next/server/app/agents.segments/!KGFwcCk.segment.rsc +2 -2
  113. package/.next/server/app/agents.segments/_full.segment.rsc +4 -4
  114. package/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  115. package/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  116. package/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  117. package/.next/server/app/api/agents/[name]/route.js +1 -1
  118. package/.next/server/app/api/agents/route.js +1 -1
  119. package/.next/server/app/api/auth/check/route.js +1 -1
  120. package/.next/server/app/api/auth/login/route.js +1 -1
  121. package/.next/server/app/api/auth/setup/route.js +1 -1
  122. package/.next/server/app/api/auth/ws-token/route.js +1 -1
  123. package/.next/server/app/api/btw/route.js +2 -2
  124. package/.next/server/app/api/claude-md/route.js +1 -1
  125. package/.next/server/app/api/commands/[name]/route.js +1 -1
  126. package/.next/server/app/api/commands/route.js +1 -1
  127. package/.next/server/app/api/defaults/route.js +1 -1
  128. package/.next/server/app/api/filesystem/browse/route.js +1 -1
  129. package/.next/server/app/api/filesystem/files/route.js +1 -1
  130. package/.next/server/app/api/filesystem/mkdir/route.js +1 -1
  131. package/.next/server/app/api/filesystem/read/route.js +1 -1
  132. package/.next/server/app/api/git/clone/route.js +1 -1
  133. package/.next/server/app/api/git/commit/route.js +1 -1
  134. package/.next/server/app/api/git/diff/route.js +1 -1
  135. package/.next/server/app/api/git/discard/route.js +1 -1
  136. package/.next/server/app/api/git/generate-message/route.js +2 -2
  137. package/.next/server/app/api/git/push/route.js +1 -1
  138. package/.next/server/app/api/git/status/route.js +1 -1
  139. package/.next/server/app/api/github/file-content/route.js +1 -1
  140. package/.next/server/app/api/github/orgs/route.js +1 -1
  141. package/.next/server/app/api/github/prs/checks/route.js +1 -1
  142. package/.next/server/app/api/github/prs/diff/route.js +1 -1
  143. package/.next/server/app/api/github/prs/review/route.js +1 -1
  144. package/.next/server/app/api/github/prs/route.js +1 -1
  145. package/.next/server/app/api/github/prs/view/route.js +1 -1
  146. package/.next/server/app/api/github/repos/route.js +1 -1
  147. package/.next/server/app/api/github/review-session/route.js +1 -1
  148. package/.next/server/app/api/health/route.js +1 -1
  149. package/.next/server/app/api/hooks/route.js +1 -1
  150. package/.next/server/app/api/inbox/[id]/route.js +5 -0
  151. package/.next/server/app/api/inbox/[id]/route.js.nft.json +1 -0
  152. package/.next/server/app/api/inbox/[id]/route_client-reference-manifest.js +1 -0
  153. package/.next/server/app/api/inbox/route.js +5 -0
  154. package/.next/server/app/api/inbox/route.js.nft.json +1 -0
  155. package/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -0
  156. package/.next/server/app/api/jobs/[id]/route.js +1 -1
  157. package/.next/server/app/api/jobs/[id]/runs/[runId]/route.js +1 -1
  158. package/.next/server/app/api/jobs/[id]/runs/[runId]/transcript/route.js +1 -1
  159. package/.next/server/app/api/jobs/[id]/runs/route.js +1 -1
  160. package/.next/server/app/api/jobs/[id]/trigger/route.js +1 -1
  161. package/.next/server/app/api/jobs/mcp-discover/route.js +1 -1
  162. package/.next/server/app/api/jobs/route.js +1 -1
  163. package/.next/server/app/api/jobs/status/route.js +1 -1
  164. package/.next/server/app/api/mcp-servers/[name]/route.js +1 -1
  165. package/.next/server/app/api/mcp-servers/[name]/test/route.js +1 -1
  166. package/.next/server/app/api/mcp-servers/route.js +1 -1
  167. package/.next/server/app/api/notifications/route.js +1 -0
  168. package/.next/server/app/api/notifications/route.js.nft.json +1 -0
  169. package/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -0
  170. package/.next/server/app/api/notifications/test/route.js +5 -0
  171. package/.next/server/app/api/notifications/test/route.js.nft.json +1 -0
  172. package/.next/server/app/api/notifications/test/route_client-reference-manifest.js +1 -0
  173. package/.next/server/app/api/reviews/pinned/route.js +1 -0
  174. package/.next/server/app/api/reviews/pinned/route.js.nft.json +1 -0
  175. package/.next/server/app/api/reviews/pinned/route_client-reference-manifest.js +1 -0
  176. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  177. package/.next/server/app/api/sessions/[id]/mcp/route.js +1 -1
  178. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  179. package/.next/server/app/api/sessions/[id]/search/route.js +1 -1
  180. package/.next/server/app/api/sessions/bulk-delete/route.js +1 -0
  181. package/.next/server/app/api/sessions/bulk-delete/route.js.nft.json +1 -0
  182. package/.next/server/app/api/sessions/bulk-delete/route_client-reference-manifest.js +1 -0
  183. package/.next/server/app/api/sessions/by-ids/route.js +1 -0
  184. package/.next/server/app/api/sessions/by-ids/route.js.nft.json +1 -0
  185. package/.next/server/app/api/sessions/by-ids/route_client-reference-manifest.js +1 -0
  186. package/.next/server/app/api/sessions/group/route.js +1 -0
  187. package/.next/server/app/api/sessions/group/route.js.nft.json +1 -0
  188. package/.next/server/app/api/sessions/group/route_client-reference-manifest.js +1 -0
  189. package/.next/server/app/api/sessions/pinned/route.js +1 -1
  190. package/.next/server/app/api/sessions/route.js +1 -1
  191. package/.next/server/app/api/sessions/search/route.js +1 -0
  192. package/.next/server/app/api/sessions/search/route.js.nft.json +1 -0
  193. package/.next/server/app/api/sessions/search/route_client-reference-manifest.js +1 -0
  194. package/.next/server/app/api/skills/[name]/route.js +1 -1
  195. package/.next/server/app/api/skills/route.js +1 -1
  196. package/.next/server/app/api/usage/route.js +1 -1
  197. package/.next/server/app/api/version/cockpit/route.js +1 -1
  198. package/.next/server/app/api/version/route.js +2 -2
  199. package/.next/server/app/changes.html +1 -1
  200. package/.next/server/app/changes.rsc +4 -4
  201. package/.next/server/app/changes.segments/!KGFwcCk/changes/__PAGE__.segment.rsc +2 -2
  202. package/.next/server/app/changes.segments/!KGFwcCk/changes.segment.rsc +1 -1
  203. package/.next/server/app/changes.segments/!KGFwcCk.segment.rsc +2 -2
  204. package/.next/server/app/changes.segments/_full.segment.rsc +4 -4
  205. package/.next/server/app/changes.segments/_head.segment.rsc +1 -1
  206. package/.next/server/app/changes.segments/_index.segment.rsc +2 -2
  207. package/.next/server/app/changes.segments/_tree.segment.rsc +2 -2
  208. package/.next/server/app/claude-md/edit.html +1 -1
  209. package/.next/server/app/claude-md/edit.rsc +4 -4
  210. package/.next/server/app/claude-md/edit.segments/!KGFwcCk/claude-md/edit/__PAGE__.segment.rsc +2 -2
  211. package/.next/server/app/claude-md/edit.segments/!KGFwcCk/claude-md/edit.segment.rsc +1 -1
  212. package/.next/server/app/claude-md/edit.segments/!KGFwcCk/claude-md.segment.rsc +1 -1
  213. package/.next/server/app/claude-md/edit.segments/!KGFwcCk.segment.rsc +2 -2
  214. package/.next/server/app/claude-md/edit.segments/_full.segment.rsc +4 -4
  215. package/.next/server/app/claude-md/edit.segments/_head.segment.rsc +1 -1
  216. package/.next/server/app/claude-md/edit.segments/_index.segment.rsc +2 -2
  217. package/.next/server/app/claude-md/edit.segments/_tree.segment.rsc +2 -2
  218. package/.next/server/app/claude-md.html +1 -1
  219. package/.next/server/app/claude-md.rsc +4 -4
  220. package/.next/server/app/claude-md.segments/!KGFwcCk/claude-md/__PAGE__.segment.rsc +2 -2
  221. package/.next/server/app/claude-md.segments/!KGFwcCk/claude-md.segment.rsc +1 -1
  222. package/.next/server/app/claude-md.segments/!KGFwcCk.segment.rsc +2 -2
  223. package/.next/server/app/claude-md.segments/_full.segment.rsc +4 -4
  224. package/.next/server/app/claude-md.segments/_head.segment.rsc +1 -1
  225. package/.next/server/app/claude-md.segments/_index.segment.rsc +2 -2
  226. package/.next/server/app/claude-md.segments/_tree.segment.rsc +2 -2
  227. package/.next/server/app/commands.html +1 -1
  228. package/.next/server/app/commands.rsc +4 -4
  229. package/.next/server/app/commands.segments/!KGFwcCk/commands/__PAGE__.segment.rsc +2 -2
  230. package/.next/server/app/commands.segments/!KGFwcCk/commands.segment.rsc +1 -1
  231. package/.next/server/app/commands.segments/!KGFwcCk.segment.rsc +2 -2
  232. package/.next/server/app/commands.segments/_full.segment.rsc +4 -4
  233. package/.next/server/app/commands.segments/_head.segment.rsc +1 -1
  234. package/.next/server/app/commands.segments/_index.segment.rsc +2 -2
  235. package/.next/server/app/commands.segments/_tree.segment.rsc +2 -2
  236. package/.next/server/app/files.html +1 -1
  237. package/.next/server/app/files.rsc +4 -4
  238. package/.next/server/app/files.segments/!KGFwcCk/files/__PAGE__.segment.rsc +2 -2
  239. package/.next/server/app/files.segments/!KGFwcCk/files.segment.rsc +1 -1
  240. package/.next/server/app/files.segments/!KGFwcCk.segment.rsc +2 -2
  241. package/.next/server/app/files.segments/_full.segment.rsc +4 -4
  242. package/.next/server/app/files.segments/_head.segment.rsc +1 -1
  243. package/.next/server/app/files.segments/_index.segment.rsc +2 -2
  244. package/.next/server/app/files.segments/_tree.segment.rsc +2 -2
  245. package/.next/server/app/hooks.html +1 -1
  246. package/.next/server/app/hooks.rsc +4 -4
  247. package/.next/server/app/hooks.segments/!KGFwcCk/hooks/__PAGE__.segment.rsc +2 -2
  248. package/.next/server/app/hooks.segments/!KGFwcCk/hooks.segment.rsc +1 -1
  249. package/.next/server/app/hooks.segments/!KGFwcCk.segment.rsc +2 -2
  250. package/.next/server/app/hooks.segments/_full.segment.rsc +4 -4
  251. package/.next/server/app/hooks.segments/_head.segment.rsc +1 -1
  252. package/.next/server/app/hooks.segments/_index.segment.rsc +2 -2
  253. package/.next/server/app/hooks.segments/_tree.segment.rsc +2 -2
  254. package/.next/server/app/inbox.html +1 -0
  255. package/.next/server/app/inbox.meta +16 -0
  256. package/.next/server/app/inbox.rsc +23 -0
  257. package/.next/server/app/inbox.segments/!KGFwcCk/inbox/__PAGE__.segment.rsc +9 -0
  258. package/.next/server/app/inbox.segments/!KGFwcCk/inbox.segment.rsc +5 -0
  259. package/.next/server/app/inbox.segments/!KGFwcCk.segment.rsc +7 -0
  260. package/.next/server/app/inbox.segments/_full.segment.rsc +23 -0
  261. package/.next/server/app/inbox.segments/_head.segment.rsc +6 -0
  262. package/.next/server/app/inbox.segments/_index.segment.rsc +5 -0
  263. package/.next/server/app/inbox.segments/_tree.segment.rsc +2 -0
  264. package/.next/server/app/index.html +1 -1
  265. package/.next/server/app/index.rsc +4 -4
  266. package/.next/server/app/index.segments/!KGFwcCk/__PAGE__.segment.rsc +2 -2
  267. package/.next/server/app/index.segments/!KGFwcCk.segment.rsc +2 -2
  268. package/.next/server/app/index.segments/_full.segment.rsc +4 -4
  269. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  270. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  271. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  272. package/.next/server/app/jobs.html +1 -1
  273. package/.next/server/app/jobs.rsc +4 -4
  274. package/.next/server/app/jobs.segments/!KGFwcCk/jobs/__PAGE__.segment.rsc +2 -2
  275. package/.next/server/app/jobs.segments/!KGFwcCk/jobs.segment.rsc +1 -1
  276. package/.next/server/app/jobs.segments/!KGFwcCk.segment.rsc +2 -2
  277. package/.next/server/app/jobs.segments/_full.segment.rsc +4 -4
  278. package/.next/server/app/jobs.segments/_head.segment.rsc +1 -1
  279. package/.next/server/app/jobs.segments/_index.segment.rsc +2 -2
  280. package/.next/server/app/jobs.segments/_tree.segment.rsc +2 -2
  281. package/.next/server/app/login/page.js +2 -2
  282. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  283. package/.next/server/app/login.html +1 -1
  284. package/.next/server/app/login.rsc +2 -2
  285. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  286. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  287. package/.next/server/app/login.segments/_index.segment.rsc +2 -2
  288. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  289. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  290. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  291. package/.next/server/app/mcp-servers.html +1 -1
  292. package/.next/server/app/mcp-servers.rsc +4 -4
  293. package/.next/server/app/mcp-servers.segments/!KGFwcCk/mcp-servers/__PAGE__.segment.rsc +2 -2
  294. package/.next/server/app/mcp-servers.segments/!KGFwcCk/mcp-servers.segment.rsc +1 -1
  295. package/.next/server/app/mcp-servers.segments/!KGFwcCk.segment.rsc +2 -2
  296. package/.next/server/app/mcp-servers.segments/_full.segment.rsc +4 -4
  297. package/.next/server/app/mcp-servers.segments/_head.segment.rsc +1 -1
  298. package/.next/server/app/mcp-servers.segments/_index.segment.rsc +2 -2
  299. package/.next/server/app/mcp-servers.segments/_tree.segment.rsc +2 -2
  300. package/.next/server/app/reviews.html +1 -1
  301. package/.next/server/app/reviews.rsc +4 -4
  302. package/.next/server/app/reviews.segments/!KGFwcCk/reviews/__PAGE__.segment.rsc +2 -2
  303. package/.next/server/app/reviews.segments/!KGFwcCk/reviews.segment.rsc +1 -1
  304. package/.next/server/app/reviews.segments/!KGFwcCk.segment.rsc +2 -2
  305. package/.next/server/app/reviews.segments/_full.segment.rsc +4 -4
  306. package/.next/server/app/reviews.segments/_head.segment.rsc +1 -1
  307. package/.next/server/app/reviews.segments/_index.segment.rsc +2 -2
  308. package/.next/server/app/reviews.segments/_tree.segment.rsc +2 -2
  309. package/.next/server/app/settings/notifications.html +1 -0
  310. package/.next/server/app/settings/notifications.meta +17 -0
  311. package/.next/server/app/settings/notifications.rsc +23 -0
  312. package/.next/server/app/settings/notifications.segments/!KGFwcCk/settings/notifications/__PAGE__.segment.rsc +9 -0
  313. package/.next/server/app/settings/notifications.segments/!KGFwcCk/settings/notifications.segment.rsc +5 -0
  314. package/.next/server/app/settings/notifications.segments/!KGFwcCk/settings.segment.rsc +5 -0
  315. package/.next/server/app/settings/notifications.segments/!KGFwcCk.segment.rsc +7 -0
  316. package/.next/server/app/settings/notifications.segments/_full.segment.rsc +23 -0
  317. package/.next/server/app/settings/notifications.segments/_head.segment.rsc +6 -0
  318. package/.next/server/app/settings/notifications.segments/_index.segment.rsc +5 -0
  319. package/.next/server/app/settings/notifications.segments/_tree.segment.rsc +2 -0
  320. package/.next/server/app/settings.html +1 -1
  321. package/.next/server/app/settings.rsc +4 -4
  322. package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +2 -2
  323. package/.next/server/app/settings.segments/!KGFwcCk/settings.segment.rsc +1 -1
  324. package/.next/server/app/settings.segments/!KGFwcCk.segment.rsc +2 -2
  325. package/.next/server/app/settings.segments/_full.segment.rsc +4 -4
  326. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  327. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  328. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  329. package/.next/server/app/skills.html +1 -1
  330. package/.next/server/app/skills.rsc +4 -4
  331. package/.next/server/app/skills.segments/!KGFwcCk/skills/__PAGE__.segment.rsc +2 -2
  332. package/.next/server/app/skills.segments/!KGFwcCk/skills.segment.rsc +1 -1
  333. package/.next/server/app/skills.segments/!KGFwcCk.segment.rsc +2 -2
  334. package/.next/server/app/skills.segments/_full.segment.rsc +4 -4
  335. package/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  336. package/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  337. package/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  338. package/.next/server/app-paths-manifest.json +12 -0
  339. package/.next/server/chunks/1659.js +1 -1
  340. package/.next/server/chunks/1941.js +2 -2
  341. package/.next/server/chunks/1979.js +2 -2
  342. package/.next/server/chunks/2408.js +1 -1
  343. package/.next/server/chunks/2444.js +1 -1
  344. package/.next/server/chunks/3108.js +1 -0
  345. package/.next/server/chunks/4445.js +1 -1
  346. package/.next/server/chunks/{6142.js → 5920.js} +1 -1
  347. package/.next/server/chunks/5965.js +1 -1
  348. package/.next/server/chunks/{9012.js → 7627.js} +3 -3
  349. package/.next/server/middleware-build-manifest.js +1 -1
  350. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  351. package/.next/server/pages/404.html +1 -1
  352. package/.next/server/pages/500.html +1 -1
  353. package/.next/server/server-reference-manifest.json +1 -1
  354. package/.next/static/brzairTqHmHwvfgKpdkYX/_buildManifest.js +1 -0
  355. package/.next/static/chunks/11242-d240a18d4e59390b.js +199 -0
  356. package/.next/static/chunks/3765-a4c7a493ec83f918.js +20 -0
  357. package/.next/static/chunks/{80392.bca860d8b5972706.js → 58011.3de5770e8b0d8759.js} +1 -1
  358. package/.next/static/chunks/{69427.755a0a4013596f7a.js → 69427.0f379c6bdea95405.js} +1 -1
  359. package/.next/static/chunks/75866-76a3987dda1295ae.js +1 -0
  360. package/.next/static/chunks/93273-87110c1449e1e7fd.js +6 -0
  361. package/.next/static/chunks/app/(app)/agents/[name]/{page-44c5691c80f17d38.js → page-3ec9a3460e8e9006.js} +2 -2
  362. package/.next/static/chunks/app/(app)/agents/page-d6d504e7d7757ea2.js +1 -0
  363. package/.next/static/chunks/app/(app)/changes/page-a09bf4742aa8b5ce.js +1 -0
  364. package/.next/static/chunks/app/(app)/claude-md/edit/page-ab42921ba2618dc3.js +1 -0
  365. package/.next/static/chunks/app/(app)/claude-md/page-c4c8b20aa002a94a.js +1 -0
  366. package/.next/static/chunks/app/(app)/commands/[name]/{page-6ef571e73b105248.js → page-2124ffed9a4e95a3.js} +2 -2
  367. package/.next/static/chunks/app/(app)/commands/page-d5bf1bddd17e31dd.js +1 -0
  368. package/.next/static/chunks/app/(app)/files/page-04e4e5bf1ca89945.js +1 -0
  369. package/.next/static/chunks/app/(app)/hooks/[event]/{page-03f85595561b068a.js → page-d988623e739973b5.js} +2 -2
  370. package/.next/static/chunks/app/(app)/hooks/page-818242d7db432578.js +1 -0
  371. package/.next/static/chunks/app/(app)/inbox/[id]/page-c33dc94e309ff117.js +1 -0
  372. package/.next/static/chunks/app/(app)/inbox/page-ca3e1724b5072734.js +1 -0
  373. package/.next/static/chunks/app/(app)/jobs/[id]/edit/page-3a1c927d76333bf0.js +1 -0
  374. package/.next/static/chunks/app/(app)/jobs/[id]/page-8e698e00b90968b0.js +1 -0
  375. package/.next/static/chunks/app/(app)/jobs/[id]/runs/[runId]/page-f942df0b7c1d280b.js +1 -0
  376. package/.next/static/chunks/app/(app)/jobs/page-7a88cc6ac34550c2.js +1 -0
  377. package/.next/static/chunks/app/(app)/layout-81c1899969de11e6.js +1 -0
  378. package/.next/static/chunks/app/(app)/mcp-servers/[name]/page-3541bf3ccdef9145.js +1 -0
  379. package/.next/static/chunks/app/(app)/mcp-servers/page-3927dfd03d921040.js +1 -0
  380. package/.next/static/chunks/app/(app)/page-594120e0ea1df527.js +1 -0
  381. package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/[number]/page-74c23b04f5c3ff88.js +13 -0
  382. package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/page-c7473a899c7c59c3.js +1 -0
  383. package/.next/static/chunks/app/(app)/reviews/page-0e6e7395a4f62b50.js +1 -0
  384. package/.next/static/chunks/app/(app)/sessions/[id]/page-435e9fb4dd34007d.js +1 -0
  385. package/.next/static/chunks/app/(app)/settings/notifications/page-a28db2ebc9fd0de8.js +1 -0
  386. package/.next/static/chunks/app/(app)/settings/page-f8ada7997c0d5b03.js +1 -0
  387. package/.next/static/chunks/app/(app)/skills/[name]/{page-e6572062a6ad90df.js → page-5dbe1e7682880145.js} +2 -2
  388. package/.next/static/chunks/app/(app)/skills/page-fd1986ad7e060f4d.js +1 -0
  389. package/.next/static/chunks/app/_global-error/page-65c661eddfc65f5b.js +1 -0
  390. package/.next/static/chunks/app/api/agents/[name]/route-65c661eddfc65f5b.js +1 -0
  391. package/.next/static/chunks/app/api/agents/route-65c661eddfc65f5b.js +1 -0
  392. package/.next/static/chunks/app/api/auth/check/route-65c661eddfc65f5b.js +1 -0
  393. package/.next/static/chunks/app/api/auth/login/route-65c661eddfc65f5b.js +1 -0
  394. package/.next/static/chunks/app/api/auth/setup/route-65c661eddfc65f5b.js +1 -0
  395. package/.next/static/chunks/app/api/auth/ws-token/route-65c661eddfc65f5b.js +1 -0
  396. package/.next/static/chunks/app/api/btw/route-65c661eddfc65f5b.js +1 -0
  397. package/.next/static/chunks/app/api/claude-md/route-65c661eddfc65f5b.js +1 -0
  398. package/.next/static/chunks/app/api/commands/[name]/route-65c661eddfc65f5b.js +1 -0
  399. package/.next/static/chunks/app/api/commands/route-65c661eddfc65f5b.js +1 -0
  400. package/.next/static/chunks/app/api/defaults/route-65c661eddfc65f5b.js +1 -0
  401. package/.next/static/chunks/app/api/filesystem/browse/route-65c661eddfc65f5b.js +1 -0
  402. package/.next/static/chunks/app/api/filesystem/files/route-65c661eddfc65f5b.js +1 -0
  403. package/.next/static/chunks/app/api/filesystem/mkdir/route-65c661eddfc65f5b.js +1 -0
  404. package/.next/static/chunks/app/api/filesystem/read/route-65c661eddfc65f5b.js +1 -0
  405. package/.next/static/chunks/app/api/git/clone/route-65c661eddfc65f5b.js +1 -0
  406. package/.next/static/chunks/app/api/git/commit/route-65c661eddfc65f5b.js +1 -0
  407. package/.next/static/chunks/app/api/git/diff/route-65c661eddfc65f5b.js +1 -0
  408. package/.next/static/chunks/app/api/git/discard/route-65c661eddfc65f5b.js +1 -0
  409. package/.next/static/chunks/app/api/git/generate-message/route-65c661eddfc65f5b.js +1 -0
  410. package/.next/static/chunks/app/api/git/push/route-65c661eddfc65f5b.js +1 -0
  411. package/.next/static/chunks/app/api/git/status/route-65c661eddfc65f5b.js +1 -0
  412. package/.next/static/chunks/app/api/github/file-content/route-65c661eddfc65f5b.js +1 -0
  413. package/.next/static/chunks/app/api/github/orgs/route-65c661eddfc65f5b.js +1 -0
  414. package/.next/static/chunks/app/api/github/prs/checks/route-65c661eddfc65f5b.js +1 -0
  415. package/.next/static/chunks/app/api/github/prs/diff/route-65c661eddfc65f5b.js +1 -0
  416. package/.next/static/chunks/app/api/github/prs/review/route-65c661eddfc65f5b.js +1 -0
  417. package/.next/static/chunks/app/api/github/prs/route-65c661eddfc65f5b.js +1 -0
  418. package/.next/static/chunks/app/api/github/prs/view/route-65c661eddfc65f5b.js +1 -0
  419. package/.next/static/chunks/app/api/github/repos/route-65c661eddfc65f5b.js +1 -0
  420. package/.next/static/chunks/app/api/github/review-session/route-65c661eddfc65f5b.js +1 -0
  421. package/.next/static/chunks/app/api/health/route-65c661eddfc65f5b.js +1 -0
  422. package/.next/static/chunks/app/api/hooks/route-65c661eddfc65f5b.js +1 -0
  423. package/.next/static/chunks/app/api/inbox/[id]/route-65c661eddfc65f5b.js +1 -0
  424. package/.next/static/chunks/app/api/inbox/route-65c661eddfc65f5b.js +1 -0
  425. package/.next/static/chunks/app/api/jobs/[id]/route-65c661eddfc65f5b.js +1 -0
  426. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/route-65c661eddfc65f5b.js +1 -0
  427. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/transcript/route-65c661eddfc65f5b.js +1 -0
  428. package/.next/static/chunks/app/api/jobs/[id]/runs/route-65c661eddfc65f5b.js +1 -0
  429. package/.next/static/chunks/app/api/jobs/[id]/trigger/route-65c661eddfc65f5b.js +1 -0
  430. package/.next/static/chunks/app/api/jobs/mcp-discover/route-65c661eddfc65f5b.js +1 -0
  431. package/.next/static/chunks/app/api/jobs/route-65c661eddfc65f5b.js +1 -0
  432. package/.next/static/chunks/app/api/jobs/status/route-65c661eddfc65f5b.js +1 -0
  433. package/.next/static/chunks/app/api/mcp-servers/[name]/route-65c661eddfc65f5b.js +1 -0
  434. package/.next/static/chunks/app/api/mcp-servers/[name]/test/route-65c661eddfc65f5b.js +1 -0
  435. package/.next/static/chunks/app/api/mcp-servers/route-65c661eddfc65f5b.js +1 -0
  436. package/.next/static/chunks/app/api/notifications/route-65c661eddfc65f5b.js +1 -0
  437. package/.next/static/chunks/app/api/notifications/test/route-65c661eddfc65f5b.js +1 -0
  438. package/.next/static/chunks/app/api/reviews/pinned/route-65c661eddfc65f5b.js +1 -0
  439. package/.next/static/chunks/app/api/sessions/[id]/context/route-65c661eddfc65f5b.js +1 -0
  440. package/.next/static/chunks/app/api/sessions/[id]/mcp/route-65c661eddfc65f5b.js +1 -0
  441. package/.next/static/chunks/app/api/sessions/[id]/route-65c661eddfc65f5b.js +1 -0
  442. package/.next/static/chunks/app/api/sessions/[id]/search/route-65c661eddfc65f5b.js +1 -0
  443. package/.next/static/chunks/app/api/sessions/bulk-delete/route-65c661eddfc65f5b.js +1 -0
  444. package/.next/static/chunks/app/api/sessions/by-ids/route-65c661eddfc65f5b.js +1 -0
  445. package/.next/static/chunks/app/api/sessions/group/route-65c661eddfc65f5b.js +1 -0
  446. package/.next/static/chunks/app/api/sessions/pinned/route-65c661eddfc65f5b.js +1 -0
  447. package/.next/static/chunks/app/api/sessions/route-65c661eddfc65f5b.js +1 -0
  448. package/.next/static/chunks/app/api/sessions/search/route-65c661eddfc65f5b.js +1 -0
  449. package/.next/static/chunks/app/api/skills/[name]/route-65c661eddfc65f5b.js +1 -0
  450. package/.next/static/chunks/app/api/skills/route-65c661eddfc65f5b.js +1 -0
  451. package/.next/static/chunks/app/api/usage/route-65c661eddfc65f5b.js +1 -0
  452. package/.next/static/chunks/app/api/version/cockpit/route-65c661eddfc65f5b.js +1 -0
  453. package/.next/static/chunks/app/api/version/route-65c661eddfc65f5b.js +1 -0
  454. package/.next/static/chunks/next/dist/client/components/builtin/app-error-65c661eddfc65f5b.js +1 -0
  455. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-65c661eddfc65f5b.js +1 -0
  456. package/.next/static/chunks/next/dist/client/components/builtin/not-found-65c661eddfc65f5b.js +1 -0
  457. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-65c661eddfc65f5b.js +1 -0
  458. package/.next/static/chunks/{webpack-2a5835e108df6f34.js → webpack-3461a05957b13f46.js} +1 -1
  459. package/.next/static/css/f04f303b5708dd90.css +1 -0
  460. package/README.md +14 -4
  461. package/dist/server.js +38 -1
  462. package/dist/src/server/defaults.js +2 -0
  463. package/dist/src/server/inbox.js +132 -0
  464. package/dist/src/server/job-scheduler.js +152 -40
  465. package/dist/src/server/job-storage.js +4 -7
  466. package/dist/src/server/notification-settings.js +39 -0
  467. package/dist/src/server/notifications.js +125 -0
  468. package/dist/src/server/session-manager.js +118 -15
  469. package/dist/src/server/transcript.js +271 -6
  470. package/dist/src/server/ws-handler.js +16 -13
  471. package/package.json +1 -1
  472. package/.next/server/chunks/8346.js +0 -1
  473. package/.next/static/V2EfPtTUC96VYyF12K0om/_buildManifest.js +0 -1
  474. package/.next/static/chunks/22086-756d490e3320ad15.js +0 -1
  475. package/.next/static/chunks/30120-1535e9064b17ce74.js +0 -20
  476. package/.next/static/chunks/66997-652baf5596173fea.js +0 -199
  477. package/.next/static/chunks/93273-c5cb6dcedef67c81.js +0 -6
  478. package/.next/static/chunks/app/(app)/agents/page-4ce7a715bc0145dc.js +0 -1
  479. package/.next/static/chunks/app/(app)/changes/page-84cf4cd3ca347d98.js +0 -1
  480. package/.next/static/chunks/app/(app)/claude-md/edit/page-fb7117171d0f94d2.js +0 -1
  481. package/.next/static/chunks/app/(app)/claude-md/page-9503f1415e660911.js +0 -1
  482. package/.next/static/chunks/app/(app)/commands/page-e8a506da73d1c280.js +0 -1
  483. package/.next/static/chunks/app/(app)/files/page-67a95d351a685d79.js +0 -1
  484. package/.next/static/chunks/app/(app)/hooks/page-5578c83ad353e307.js +0 -1
  485. package/.next/static/chunks/app/(app)/jobs/[id]/edit/page-51d784c59737778c.js +0 -1
  486. package/.next/static/chunks/app/(app)/jobs/[id]/page-7d00e7a01c70a261.js +0 -1
  487. package/.next/static/chunks/app/(app)/jobs/[id]/runs/[runId]/page-665191da233fde19.js +0 -1
  488. package/.next/static/chunks/app/(app)/jobs/page-8b4ee1166a53d5e1.js +0 -1
  489. package/.next/static/chunks/app/(app)/layout-8dad55d6ce637a01.js +0 -1
  490. package/.next/static/chunks/app/(app)/mcp-servers/[name]/page-c30f0d78daf7719e.js +0 -1
  491. package/.next/static/chunks/app/(app)/mcp-servers/page-737b87d338afdb49.js +0 -1
  492. package/.next/static/chunks/app/(app)/page-40052655d2a9a84f.js +0 -1
  493. package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/[number]/page-1d9179bf5a4de7a4.js +0 -13
  494. package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/page-d8a9ee39e7cc056a.js +0 -1
  495. package/.next/static/chunks/app/(app)/reviews/page-098e6e6fe3123e02.js +0 -1
  496. package/.next/static/chunks/app/(app)/sessions/[id]/page-a74f7fe8322678ba.js +0 -1
  497. package/.next/static/chunks/app/(app)/settings/page-1fa46b8ac8e22927.js +0 -1
  498. package/.next/static/chunks/app/(app)/skills/page-8fca8814aa818ae6.js +0 -1
  499. package/.next/static/chunks/app/_global-error/page-b277aba73f9e0212.js +0 -1
  500. package/.next/static/chunks/app/api/agents/[name]/route-b277aba73f9e0212.js +0 -1
  501. package/.next/static/chunks/app/api/agents/route-b277aba73f9e0212.js +0 -1
  502. package/.next/static/chunks/app/api/auth/check/route-b277aba73f9e0212.js +0 -1
  503. package/.next/static/chunks/app/api/auth/login/route-b277aba73f9e0212.js +0 -1
  504. package/.next/static/chunks/app/api/auth/setup/route-b277aba73f9e0212.js +0 -1
  505. package/.next/static/chunks/app/api/auth/ws-token/route-b277aba73f9e0212.js +0 -1
  506. package/.next/static/chunks/app/api/btw/route-b277aba73f9e0212.js +0 -1
  507. package/.next/static/chunks/app/api/claude-md/route-b277aba73f9e0212.js +0 -1
  508. package/.next/static/chunks/app/api/commands/[name]/route-b277aba73f9e0212.js +0 -1
  509. package/.next/static/chunks/app/api/commands/route-b277aba73f9e0212.js +0 -1
  510. package/.next/static/chunks/app/api/defaults/route-b277aba73f9e0212.js +0 -1
  511. package/.next/static/chunks/app/api/filesystem/browse/route-b277aba73f9e0212.js +0 -1
  512. package/.next/static/chunks/app/api/filesystem/files/route-b277aba73f9e0212.js +0 -1
  513. package/.next/static/chunks/app/api/filesystem/mkdir/route-b277aba73f9e0212.js +0 -1
  514. package/.next/static/chunks/app/api/filesystem/read/route-b277aba73f9e0212.js +0 -1
  515. package/.next/static/chunks/app/api/git/clone/route-b277aba73f9e0212.js +0 -1
  516. package/.next/static/chunks/app/api/git/commit/route-b277aba73f9e0212.js +0 -1
  517. package/.next/static/chunks/app/api/git/diff/route-b277aba73f9e0212.js +0 -1
  518. package/.next/static/chunks/app/api/git/discard/route-b277aba73f9e0212.js +0 -1
  519. package/.next/static/chunks/app/api/git/generate-message/route-b277aba73f9e0212.js +0 -1
  520. package/.next/static/chunks/app/api/git/push/route-b277aba73f9e0212.js +0 -1
  521. package/.next/static/chunks/app/api/git/status/route-b277aba73f9e0212.js +0 -1
  522. package/.next/static/chunks/app/api/github/file-content/route-b277aba73f9e0212.js +0 -1
  523. package/.next/static/chunks/app/api/github/orgs/route-b277aba73f9e0212.js +0 -1
  524. package/.next/static/chunks/app/api/github/prs/checks/route-b277aba73f9e0212.js +0 -1
  525. package/.next/static/chunks/app/api/github/prs/diff/route-b277aba73f9e0212.js +0 -1
  526. package/.next/static/chunks/app/api/github/prs/review/route-b277aba73f9e0212.js +0 -1
  527. package/.next/static/chunks/app/api/github/prs/route-b277aba73f9e0212.js +0 -1
  528. package/.next/static/chunks/app/api/github/prs/view/route-b277aba73f9e0212.js +0 -1
  529. package/.next/static/chunks/app/api/github/repos/route-b277aba73f9e0212.js +0 -1
  530. package/.next/static/chunks/app/api/github/review-session/route-b277aba73f9e0212.js +0 -1
  531. package/.next/static/chunks/app/api/health/route-b277aba73f9e0212.js +0 -1
  532. package/.next/static/chunks/app/api/hooks/route-b277aba73f9e0212.js +0 -1
  533. package/.next/static/chunks/app/api/jobs/[id]/route-b277aba73f9e0212.js +0 -1
  534. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/route-b277aba73f9e0212.js +0 -1
  535. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/transcript/route-b277aba73f9e0212.js +0 -1
  536. package/.next/static/chunks/app/api/jobs/[id]/runs/route-b277aba73f9e0212.js +0 -1
  537. package/.next/static/chunks/app/api/jobs/[id]/trigger/route-b277aba73f9e0212.js +0 -1
  538. package/.next/static/chunks/app/api/jobs/mcp-discover/route-b277aba73f9e0212.js +0 -1
  539. package/.next/static/chunks/app/api/jobs/route-b277aba73f9e0212.js +0 -1
  540. package/.next/static/chunks/app/api/jobs/status/route-b277aba73f9e0212.js +0 -1
  541. package/.next/static/chunks/app/api/mcp-servers/[name]/route-b277aba73f9e0212.js +0 -1
  542. package/.next/static/chunks/app/api/mcp-servers/[name]/test/route-b277aba73f9e0212.js +0 -1
  543. package/.next/static/chunks/app/api/mcp-servers/route-b277aba73f9e0212.js +0 -1
  544. package/.next/static/chunks/app/api/sessions/[id]/context/route-b277aba73f9e0212.js +0 -1
  545. package/.next/static/chunks/app/api/sessions/[id]/mcp/route-b277aba73f9e0212.js +0 -1
  546. package/.next/static/chunks/app/api/sessions/[id]/route-b277aba73f9e0212.js +0 -1
  547. package/.next/static/chunks/app/api/sessions/[id]/search/route-b277aba73f9e0212.js +0 -1
  548. package/.next/static/chunks/app/api/sessions/pinned/route-b277aba73f9e0212.js +0 -1
  549. package/.next/static/chunks/app/api/sessions/route-b277aba73f9e0212.js +0 -1
  550. package/.next/static/chunks/app/api/skills/[name]/route-b277aba73f9e0212.js +0 -1
  551. package/.next/static/chunks/app/api/skills/route-b277aba73f9e0212.js +0 -1
  552. package/.next/static/chunks/app/api/usage/route-b277aba73f9e0212.js +0 -1
  553. package/.next/static/chunks/app/api/version/cockpit/route-b277aba73f9e0212.js +0 -1
  554. package/.next/static/chunks/app/api/version/route-b277aba73f9e0212.js +0 -1
  555. package/.next/static/chunks/next/dist/client/components/builtin/app-error-b277aba73f9e0212.js +0 -1
  556. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-b277aba73f9e0212.js +0 -1
  557. package/.next/static/chunks/next/dist/client/components/builtin/not-found-b277aba73f9e0212.js +0 -1
  558. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b277aba73f9e0212.js +0 -1
  559. package/.next/static/css/1e1239c76b265910.css +0 -1
  560. /package/.next/static/{V2EfPtTUC96VYyF12K0om → brzairTqHmHwvfgKpdkYX}/_ssgManifest.js +0 -0
@@ -0,0 +1,20 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3765],{513:(e,t,s)=>{s.d(t,{s:()=>P});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(53972),j=s(3765),b=s(57594),v=s(89723);function w(e,t){let s=e.toLowerCase();return("write"===s||"edit"===s)&&(t.includes("/.claude/plans/")||t.startsWith("~/.claude/plans/"))&&t.endsWith(".md")}function y({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:l}=(0,j.E2)(),{settings:i,loaded:o}=(0,h.t)(),c=(0,d.useMemo)(()=>(function(e){if(!e)return{};try{return JSON.parse(e)}catch{return{}}})(e.input),[e.input]),[m,x]=(0,d.useState)(()=>t?.current?.has(e.id)??!1),[g,b]=(0,d.useState)(!1),C=(0,d.useRef)(t?.current?.has(e.id)??!1);(0,d.useEffect)(()=>{var t;let s;o&&!C.current&&x((t=e.name,"read"===(s=t.toLowerCase())?i.readExpanded:"edit"===s?i.editExpanded:i.toolCallsExpanded))},[o,e.name,i]);let S=c.file_path||e.filePath||"",E=w(e.name,S),$=c.content||"",A=E&&("Write"===e.name||"write"===e.name)&&$;(0,d.useEffect)(()=>{let t=e.name;if(("Read"===t||"read"===t)&&e.output){let t=c.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)&&c.content){let t=c.file_path||e.filePath||"",n=t?(0,u.WG)(t):void 0;n&&(0,u.Ik)(c.content,n,s)}},[e.name,e.output,e.filePath,c,s]);let T="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),R=(0,d.useMemo)(()=>({current:!1}),[]),I=(0,d.useCallback)(e=>{e&&R.current&&(R.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"})}))},[R]);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(A)return void b(!0);if(!T)return;let s=!m;R.current=s,C.current=!0,x(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",T&&"cursor-pointer hover:bg-muted/50",!T&&"cursor-default"),children:[A?(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",m&&"rotate-90")}),(0,n.jsx)("span",{className:"font-mono font-medium",children:e.name}),"Agent"===e.name&&("running"===e.status||l.some(t=>t.toolUseId===e.id&&"running"===t.status))&&(0,n.jsx)(r.A,{className:"h-3 w-3 shrink-0 animate-spin text-muted-foreground"}),(0,n.jsx)(N,{tool:e,input:c})]}),m&&T&&(0,n.jsx)("div",{ref:I,className:"border-t border-border px-3 py-2 space-y-2",children:(0,n.jsx)(k,{tool:e,input:c,dark:s,expandedToolIds:t})})]}),A&&(0,n.jsx)(v.G,{open:g,onOpenChange:b,content:$,filePath:S})]})}function N({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=w(s,r);return(0,n.jsxs)("span",{className:"text-muted-foreground truncate",children:[(0,g._1)(r),a?" (plan edit)":""]})}if("Write"===s||"write"===s){let r=t.file_path||e.filePath||"";if(!r)return null;let a=t.content||"";return w(s,r)&&a?(0,n.jsx)("span",{className:"text-blue-500 truncate",children:"View plan"}):(0,n.jsx)("span",{className:"text-muted-foreground truncate",children:(0,g._1)(r)})}if("Read"===s||"read"===s){let s=t.file_path||e.filePath||"";return s?(0,n.jsx)("span",{className:"text-muted-foreground truncate",children:(0,g._1)(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("Agent"===s){let e=t.description||t.prompt||"",s=e.length>60?e.slice(0,60)+"...":e,r=t.model,a=[t.subagent_type,r].filter(Boolean);return(0,n.jsxs)("span",{className:"flex flex-col gap-0.5 min-w-0",children:[s&&(0,n.jsx)("span",{className:"text-muted-foreground truncate",children:s}),a.length>0&&(0,n.jsx)("span",{className:"flex items-center gap-1.5",children:a.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))})]})}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 k({tool:e,input:t,dark:s,expandedToolIds:r}){let a=e.name;return"Edit"===a||"edit"===a?(0,n.jsx)(C,{input:t,tool:e,dark:s}):"Write"===a||"write"===a?(0,n.jsx)(S,{input:t,tool:e,dark:s}):"Read"===a||"read"===a?(0,n.jsx)(E,{input:t,tool:e,dark:s}):"Bash"===a||"bash"===a?(0,n.jsx)($,{input:t,tool:e}):"Grep"===a||"grep"===a||"Glob"===a||"glob"===a?(0,n.jsx)(A,{input:t,tool:e}):"Agent"===a?(0,n.jsx)(T,{input:t,tool:e,dark:s,expandedToolIds:r}):(0,n.jsx)(R,{input:t,tool:e})}function C({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)(b.Mh,{filePath:r,oldString:a,newString:l,dark:s}):(0,n.jsx)(R,{input:e,tool:t})}function S({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)("div",{className:"font-mono text-muted-foreground",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 E({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)("div",{className:"font-mono text-muted-foreground break-all",children:r}),t.output&&(0,n.jsx)(u.NG,{code:t.output,language:a,dark:s})]})}function $({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 A({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,g._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 T({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)(y,{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 R({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 I=/<(?:task-notification|local-command-caveat|local-command-stdout|command-name|system-reminder)[^>]*>[\s\S]*?<\/(?:task-notification|local-command-caveat|local-command-stdout|command-name|system-reminder)>[\s\S]*/g;function _(e){return e.replace(I,"").trim()}let P=(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),v="user"===e.role,w="system"===e.role,N=!w,k=new Set(["AskUserQuestion","TodoWrite"]),C=e.blocks?.filter(e=>!("tool_use"===e.type&&k.has(e.toolUse.name)))||[],S=C.length>0,E=(0,d.useRef)(!1),$=(0,d.useRef)(null),A=(0,d.useCallback)(t=>{E.current||o&&(t.preventDefault(),N&&h?.(e.id))},[N,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){N&&h?.(e.id);return}if(!N)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,N,e.id,h,u]);if(w){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!v&&!w&&!S&&!e.content&&e.toolUses.every(e=>k.has(e.name))||v&&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",v&&!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",v&&!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"})]}),v?(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)(F,{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})]}):S?(0,n.jsx)("div",{className:"space-y-2",children:C.map((e,t)=>"tool_use"===e.type?(0,n.jsx)(y,{tool:e.toolUse,expandedToolIds:s},e.toolUse.id):"thinking"===e.type?(0,n.jsx)(M,{text:e.text,tokens:e.tokens,durationMs:e.durationMs,redacted:e.redacted},`thinking-${t}`):(0,n.jsx)(m.Y,{content:_(e.text)},`text-${t}`))}):(0,n.jsxs)(n.Fragment,{children:[e.toolUses.filter(e=>!k.has(e.name)).length>0&&(0,n.jsx)("div",{className:"mb-2 space-y-1",children:e.toolUses.filter(e=>!k.has(e.name)).map(e=>(0,n.jsx)(y,{tool:e,expandedToolIds:s},e.id))}),(0,n.jsx)(m.Y,{content:_(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 F({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 M({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:()=>H,si:()=>J,E2:()=>W,mq:()=>G,tB:()=>B});var n=s(95155),r=s(96304),a=s(5772),l=s(12115),i=s(73321);let o=!1;function c({children:e}){let t=(0,i.useRouter)(),[s,r]=(0,l.useState)(o);return((0,l.useEffect)(()=>{o||fetch("/api/auth/check").then(e=>{e.ok?(o=!0,r(!0)):t.replace("/login")}).catch(()=>{t.replace("/login")})},[t]),s)?(0,n.jsx)(n.Fragment,{children:e}):null}var d=s(64577),u=s(99314),m=s(65377),x=s(92571),h=s(9005),f=s(45160),p=s(89239),g=s(81477),j=s(16617);function b({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,l.useState)(!1),r=(0,l.useCallback)(t=>{t.stopPropagation(),navigator.clipboard.writeText(e),s(!0),setTimeout(()=>s(!1),1500)},[e]);return(0,n.jsx)(p.$,{variant:"ghost",size:"icon",className:"h-6 w-6 shrink-0",onClick:r,title:"Copy full message",children:t?(0,n.jsx)(d.A,{className:"h-3 w-3"}):(0,n.jsx)(u.A,{className:"h-3 w-3"})})}function w({onClose:e}){let{sessionId:t,cwd:s}=W(),[r,a]=(0,l.useState)(""),[i,o]=(0,l.useState)([]),[c,d]=(0,l.useState)(!1),[u,y]=(0,l.useState)(!1),[N,k]=(0,l.useState)(null),C=(0,l.useRef)(null),S=(0,l.useRef)(null);(0,l.useEffect)(()=>{C.current?.focus()},[]),(0,l.useEffect)(()=>{if(r.length<2){o([]),y(!1);return}let e=setTimeout(()=>{S.current?.abort();let e=new AbortController;S.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||[]),y(!0),d(!1))}).catch(e=>{"AbortError"!==e.name&&(d(!1),y(!0))})},300);return()=>{clearTimeout(e)}},[r,t,s]),(0,l.useEffect)(()=>()=>{S.current?.abort()},[]);let E=(0,l.useCallback)(e=>{k(e)},[]),$=(0,l.useCallback)(t=>{t.target===t.currentTarget&&e()},[e]);return((0,l.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)(j.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)(g.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)(m.A,{className:"h-4 w-4 text-muted-foreground shrink-0"}),(0,n.jsx)("input",{ref:C,value:r,onChange:e=>a(e.target.value),placeholder:"Search messages...",className:"flex-1 bg-transparent outline-none text-sm"}),c&&(0,n.jsx)(x.A,{className:"h-4 w-4 animate-spin text-muted-foreground shrink-0"}),(0,n.jsx)(p.$,{variant:"ghost",size:"icon",className:"h-6 w-6 shrink-0",onClick:e,children:(0,n.jsx)(h.A,{className:"h-4 w-4"})})]}),(0,n.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto",children:[u&&0===i.length&&(0,n.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:"No results"}),i.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)(f.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)(b,{preview:e.preview,matchStart:e.matchStart,matchLength:e.matchLength})]},`${e.messageId}-${t}`))]})]})})}function y(){let{sessionId:e}=W(),[t,s]=(0,l.useState)(!1);return((0,l.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)(p.$,{variant:"ghost",size:"icon",onClick:()=>s(!0),title:"Search messages (Ctrl+F)",children:(0,n.jsx)(m.A,{className:"h-4 w-4"})}),t&&(0,n.jsx)(w,{onClose:()=>s(!1)})]}):null}var N=s(70518),k=s(36338),C=s(64962);function S({tasks:e}){let[t,s]=(0,l.useState)(!1);(0,l.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)(p.$,{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)(k.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)(p.$,{variant:"ghost",size:"icon",onClick:()=>s(!1),children:(0,n.jsx)(h.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)(x.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.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 E=s(8143),$=s(67401);function A({todos:e}){let[t,s]=(0,l.useState)(!1);(0,l.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,l.useMemo)(()=>e.filter(e=>"completed"!==e.status).length,[e]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(p.$,{variant:"ghost",size:"icon",className:"h-8 w-8 relative",onClick:()=>s(!0),title:`${r} todo${1!==r?"s":""}`,children:[(0,n.jsx)(E.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)(p.$,{variant:"ghost",size:"icon",onClick:()=>s(!1),children:(0,n.jsx)(h.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)(T,{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 T({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)(x.A,{className:"h-4 w-4 shrink-0 mt-0.5 animate-spin text-blue-500"}):(0,n.jsx)($.A,{className:"h-4 w-4 shrink-0 mt-0.5 text-muted-foreground"})}var R=s(94774),I=s(82749);let _=null,P=0,F=null,M=null;async function z(e=!1){let t=Date.now();return!e&&_&&t-P<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,P=Date.now(),F=null,t}catch(e){return F=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 O({className:e}){let[t,s]=(0,l.useState)(!1),{usage:r,loading:a,error:i,refresh:o}=function(){let[e,t]=(0,l.useState)(_),[s,n]=(0,l.useState)(null===_),[r,a]=(0,l.useState)(null),i=(0,l.useRef)(!0),o=(0,l.useCallback)(async(e=!1)=>{e&&n(!0);let s=await z(e);i.current&&(s?(t(s),a(null)):_||a(F||"Failed to load usage data"),n(!1))},[]);return(0,l.useEffect)(()=>{i.current=!0,o();let e=setInterval(o,3e5);return()=>{i.current=!1,clearInterval(e)}},[o]),{usage:e,loading:s,error:r,refresh:o}}();(0,l.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)(p.$,{variant:"ghost",size:"icon",onClick:()=>s(!0),title:"Account usage",className:e,children:(0,n.jsx)(R.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)(p.$,{variant:"ghost",size:"icon",onClick:()=>o(!0),disabled:a,title:"Refresh usage",children:(0,n.jsx)(I.A,{className:`h-4 w-4 ${a?"animate-spin":""}`})}),(0,n.jsx)(p.$,{variant:"ghost",size:"icon",onClick:()=>s(!1),children:(0,n.jsx)(h.A,{className:"h-4 w-4"})})]})]}),a&&!r&&(0,n.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,n.jsx)(x.A,{className:"h-5 w-5 animate-spin text-muted-foreground"})}),i&&!r&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:i}),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 D=s(89323);let U=(0,l.createContext)({setHeader:()=>{},cwd:void 0,setCwd:()=>{},sessionId:void 0,setSessionId:()=>{},backgroundTasks:[],setBackgroundTasks:()=>{},todos:[],setTodos:()=>{},initData:null,setInitData:()=>{},sidebarSections:new Map,setSidebarSection:()=>{},removeSidebarSection:()=>{},closeSidebar:()=>{}});function W(){return(0,l.useContext)(U)}function J(e){let{setHeader:t}=W();(0,l.useEffect)(()=>{t({title:e})},[e,t])}function G(e){let{setCwd:t}=W();(0,l.useEffect)(()=>{e&&t(e)},[e,t])}function B(e){let{setSessionId:t}=W();(0,l.useEffect)(()=>{e&&t(e)},[e,t])}function q({title:e,onRename:t}){let[s,r]=(0,l.useState)(!1),[a,i]=(0,l.useState)(e),o=(0,l.useRef)(null);if((0,l.useEffect)(()=>{i(e)},[e]),(0,l.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=>i(e.target.value),onBlur:c,onKeyDown:t=>{"Enter"===t.key&&c(),"Escape"===t.key&&(i(e),r(!1))},className:"text-sm font-bold bg-transparent border-b border-primary outline-none w-40"})}function H({children:e}){let t=(0,l.useRef)(null),[s,i]=(0,l.useState)({title:"Cockpit"}),[o,d]=(0,l.useState)(void 0),[u,m]=(0,l.useState)(void 0),[x,h]=(0,l.useState)([]),[f,g]=(0,l.useState)([]),[j,b]=(0,l.useState)(null),[v,w]=(0,l.useState)(new Map),k=(0,l.useCallback)(e=>{w(t=>{let s=new Map(t);return s.set(e.id,e),s})},[]),C=(0,l.useCallback)(e=>{w(t=>{if(!t.has(e))return t;let s=new Map(t);return s.delete(e),s})},[]),E=(0,l.useCallback)(e=>{i(e)},[]),$=(0,l.useCallback)(e=>{d(e)},[]),T=(0,l.useCallback)(e=>{m(e)},[]),R=(0,l.useCallback)(()=>{t.current?.toggle()},[]),I=(0,l.useCallback)(()=>{t.current?.close()},[]);return(0,l.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"b"===e.key&&(e.preventDefault(),R())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[R]),(0,n.jsx)(c,{children:(0,n.jsx)(D.f,{children:(0,n.jsx)(U.Provider,{value:{setHeader:E,cwd:o,setCwd:$,sessionId:u,setSessionId:T,backgroundTasks:x,setBackgroundTasks:h,todos:f,setTodos:g,initData:j,setInitData:b,sidebarSections:v,setSidebarSection:k,removeSidebarSection:C,closeSidebar:I},children:(0,n.jsxs)("div",{className:"fixed inset-0 flex",children:[(0,n.jsx)(N.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)(p.$,{variant:"ghost",size:"icon",onClick:R,title:"Toggle sidebar (Ctrl+B)",className:"md:hidden",children:(0,n.jsx)(r.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)(a.default,{src:"/icon-192.png",alt:"",width:22,height:22,className:"shrink-0 dark:invert"}),(0,n.jsx)(q,{title:s.title,onRename:s.onRename})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 shrink-0 ml-auto",children:[(0,n.jsx)(y,{}),o&&(0,n.jsx)(A,{todos:f}),o&&(0,n.jsx)(S,{tasks:x}),(0,n.jsx)(O,{})]})]}),(0,n.jsx)("main",{className:"flex-1 min-h-0 min-w-0 flex flex-col",children:e})]})]})})})})}},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),[v,w]=(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=>{w(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"})}),v&&(0,n.jsx)("div",{className:"text-center text-sm text-red-500 py-12",children:v}),!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",v=l?" code-block-wrap [&_pre]:whitespace-pre-wrap [&_pre]:[overflow-wrap:anywhere]":"",w=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${v}${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${w}${a?"":" max-h-64"}`,children:i})}},20108:(e,t,s)=>{s.d(t,{t:()=>m});var n=s(95155),r=s(15480),a=s(95660),l=s(92571),i=s(12115),o=s(89239),c=s(42763),d=s(60529),u=s(41158);function m({open:e,onOpenChange:t,onSubmit:s}){let[x,h]=(0,i.useState)("session"),[f,p]=(0,i.useState)(""),[g,j]=(0,i.useState)(""),[b,v]=(0,i.useState)(!1),[w,y]=(0,i.useState)(""),[N,k]=(0,i.useState)(""),[C,S]=(0,i.useState)(""),[E,$]=(0,i.useState)(!1),[A,T]=(0,i.useState)(!1),[R,I]=(0,i.useState)(""),_=()=>{p(""),j(""),v(!1),y(""),k(""),S(""),$(!1),T(!1),I("")},P=async e=>{if(e.preventDefault(),w.trim()&&N.trim()){T(!0),I("");try{let e=await fetch("/api/git/clone",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:w.trim(),parentPath:N.trim(),folderName:C.trim()||void 0})}),n=await e.json();if(!e.ok)return void I(n.error||"Clone failed");s(n.path,g.trim()),_(),t(!1)}catch{I("Failed to connect")}finally{T(!1)}}};return(0,n.jsx)(c.lG,{open:e,onOpenChange:e=>{e||_(),t(e)},children:(0,n.jsxs)(c.Cf,{onClose:()=>{_(),t(!1)},children:[(0,n.jsx)(c.c7,{children:(0,n.jsx)(c.L3,{children:"New Session"})}),(0,n.jsxs)("div",{className:"flex gap-1 border-b mt-2",children:[(0,n.jsx)("button",{type:"button",onClick:()=>h("session"),className:`px-3 py-1.5 text-sm font-medium border-b-2 transition-colors ${"session"===x?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:"Open Directory"}),(0,n.jsxs)("button",{type:"button",onClick:()=>h("clone"),className:`px-3 py-1.5 text-sm font-medium border-b-2 transition-colors flex items-center gap-1.5 ${"clone"===x?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[(0,n.jsx)(r.A,{className:"h-3.5 w-3.5"}),"Clone Repo"]})]}),"session"===x&&(0,n.jsxs)("form",{onSubmit:e=>{e.preventDefault(),f.trim()&&(s(f.trim(),g.trim()),_(),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)(d.p,{value:f,onChange:e=>p(e.target.value),placeholder:"/home/user/project",required:!0}),(0,n.jsx)(o.$,{type:"button",variant:"outline",size:"icon",onClick:()=>v(!b),title:"Browse directories",children:(0,n.jsx)(a.A,{className:"h-4 w-4"})})]})]}),b&&(0,n.jsx)(u.K,{onSelect:e=>{p(e),v(!1)},onCancel:()=>v(!1)}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Name (optional)"}),(0,n.jsx)(d.p,{value:g,onChange:e=>j(e.target.value),placeholder:"My Project"})]}),(0,n.jsx)(o.$,{type:"submit",className:"w-full",disabled:!f.trim(),children:"Create Session"})]}),"clone"===x&&(0,n.jsxs)("form",{onSubmit:P,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)(d.p,{value:w,onChange:e=>y(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)(d.p,{value:N,onChange:e=>k(e.target.value),placeholder:"/home/user/projects",required:!0}),(0,n.jsx)(o.$,{type:"button",variant:"outline",size:"icon",onClick:()=>$(!E),title:"Browse directories",children:(0,n.jsx)(a.A,{className:"h-4 w-4"})})]})]}),E&&(0,n.jsx)(u.K,{onSelect:e=>{k(e),$(!1)},onCancel:()=>$(!1)}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Folder Name (optional)"}),(0,n.jsx)(d.p,{value:C,onChange:e=>S(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)(d.p,{value:g,onChange:e=>j(e.target.value),placeholder:"My Project"})]}),R&&(0,n.jsx)("p",{className:"text-sm text-destructive",children:R}),(0,n.jsx)(o.$,{type:"submit",className:"w-full",disabled:!w.trim()||!N.trim()||A,children:A?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.A,{className:"h-4 w-4 animate-spin mr-2"}),"Cloning..."]}):"Clone & Create Session"})]})]})})}},22317:(e,t,s)=>{s.d(t,{t:()=>a});var n=s(12115);let r={diffStyle:"split",dismissKeyboardOnSend:!0,thinkingLevel:"high",bypassAllPermissions:!1,thinkingExpanded:!1,readExpanded:!1,editExpanded:!1,toolCallsExpanded:!1,model:"sonnet",messageStitching:!0,reviewsEnabled:!0};function a(){let[e,t]=(0,n.useState)(r),[s,a]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{fetch("/api/defaults").then(e=>e.json()).then(e=>{t({...r,...e}),a(!0)}).catch(()=>a(!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}}},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)(""),[v,w]=(0,o.useState)(!1),[y,N]=(0,o.useState)(""),[k,C]=(0,o.useState)(""),S=(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)(()=>{S()},[S]);let E=async()=>{let e=y.trim();if(e){C("");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"}));C(e.error||"Failed to create folder");return}let n=await t.json();w(!1),N(""),S(n.path)}catch{C("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:()=>S(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:()=>S(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&&!v&&(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:()=>S(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)),v&&(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&&(w(!1),N(""),C(""))},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:[!v&&(0,n.jsxs)(c.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{w(!0),C("")},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:()=>c,L3:()=>u,c7:()=>d,lG:()=>o});var n=s(95155),r=s(9005),a=s(65738),l=s(12115),i=s(40980);function o({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,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,i.cn)("w-full max-h-full flex flex-col",r||"max-w-lg"),children:s})}):null}function c({className:e,children:t,...s}){return(0,n.jsxs)("div",{className:(0,i.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 d({className:e,...t}){return(0,n.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...t})}function u({className:e,...t}){return(0,n.jsx)("h2",{className:(0,i.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:()=>B,HC:()=>J,MJ:()=>L,MN:()=>F});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(77618),j=s(61665),b=s(73321),v=s(12115),w=s(3765),y=s(96301),N=s(76721),k=s(40980);let C="cockpit_sidebar_sections";function S({id:e,title:t,badge:s,defaultOpen:r=!0,actions:a,children:l}){let[i,o]=(0,v.useState)(r);return(0,v.useEffect)(()=>{o(function(e,t){try{let t=localStorage.getItem(C);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(C),n=s?JSON.parse(s):{};n[e]=t,localStorage.setItem(C,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)(N.A,{className:(0,k.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 E=s(89239),$=s(67032),A=s(22317),T=s(89323),R=s(20108);let I="cockpit_sidebar_width";function _({onResize:e}){let t=(0,v.useRef)(!1),s=(0,v.useRef)(0),r=(0,v.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 P="cockpit_unread_sessions";async function F(e){await fetch("/api/sessions/pinned",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({add:e})}).catch(()=>{})}async function M(e){await fetch("/api/sessions/pinned",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({remove:e})}).catch(()=>{})}async function z(){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[]}}async function L(e){await fetch("/api/reviews/pinned",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({add:e})}).catch(()=>{})}async function O(e){await fetch("/api/reviews/pinned",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({remove:e})}).catch(()=>{})}async function D(){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 U=/^Review:\s*(?:(.+?)\/)?(.+?)#(\d+)(?:\s+-\s+(.*))?$/;function W(){try{let e=localStorage.getItem(P);if(e)return new Set(JSON.parse(e))}catch{}return new Set}function J(e){let t=W();t.delete(e),localStorage.setItem(P,JSON.stringify([...t]))}function G({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,k.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"})]}):"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"})]}):s?(0,n.jsx)("div",{className:"h-2.5 w-2.5 rounded-full bg-green-500",title:"New response"}):(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.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)(E.$,{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 B=(0,v.forwardRef)(function(e,t){let s=(0,b.useRouter)(),l=(0,b.usePathname)(),{send:i,subscribe:m,connected:x}=(0,T.h)(),{sidebarSections:h,cwd:f,sessionId:p}=(0,w.E2)(),{settings:g}=(0,A.t)(),[j,y]=(0,v.useState)(!1),[N,C]=(0,v.useState)([]),[$,L]=(0,v.useState)(new Set),[O,D]=(0,v.useState)(!1),[U,B]=(0,v.useState)(288);(0,v.useEffect)(()=>{B(function(){try{let e=localStorage.getItem(I);if(e){let t=parseInt(e,10);if(t>=200&&t<=480)return t}}catch{}return 288}())},[]);let Q=(0,v.useCallback)(e=>{B(t=>{let s=Math.max(200,Math.min(480,t+e));return localStorage.setItem(I,String(s)),s})},[]),ee=(0,v.useRef)(new Map),et=(0,r.FR)((0,r.MS)(r.AN,{activationConstraint:{delay:150,tolerance:5}}));(0,v.useImperativeHandle)(t,()=>({toggle:()=>y(e=>!e),close:()=>y(!1)}),[]);let es=(0,v.useCallback)(()=>y(!1),[]),en=l.startsWith("/sessions/")?l.split("/")[2]:null;(0,v.useEffect)(()=>m(e=>{if("session:status"===e.type){let{sessionId:t,status:s}=e;if(!new Set(N.map(e=>e.id)).has(t))return;let n=ee.current.get(t);if(ee.current.set(t,s),"running"===n&&"idle"===s&&en!==t){let e;(e=W()).add(t),localStorage.setItem(P,JSON.stringify([...e])),L(W())}C(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(N.map(e=>e.id)).has(t))return;C(e=>e.map(e=>e.id===t?{...e,pendingRequestCount:s}:e))}else if("session:info_updated"===e.type){let{sessionId:t,info:s}=e;C(e=>e.map(e=>e.id===t?{...e,name:s.name,model:s.model}:e))}}),[m,en,N]);let er=(0,v.useCallback)(async()=>{L(W());let e=await z();if(0===e.length)return void C([]);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))ee.current.has(t.id)||ee.current.set(t.id,t.status);C(l),l.length>0&&i({type:"session:subscribe",sessionIds:l.map(e=>e.id)})},[i]);(0,v.useEffect)(()=>{(j||x)&&er()},[j,x,l,er]);let ea=async(e,t)=>{e.stopPropagation(),(await fetch(`/api/sessions/${t}`,{method:"DELETE"})).ok&&(await M(t),J(t),L(W()),C(e=>e.filter(e=>e.id!==t)),en===t&&s.push("/"))},el=async(e,t)=>{e.stopPropagation(),await M(t),J(t),L(W()),C(e=>e.filter(e=>e.id!==t)),en===t&&s.push("/")},ei=(0,v.useCallback)(e=>{let{active:t,over:s}=e;if(!s||t.id===s.id)return;let n=N.findIndex(e=>e.id===t.id),r=N.findIndex(e=>e.id===s.id);if(n<0||r<0)return;let l=(0,a.be)(N,n,r);C(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))},[N]),eo=async(e,t)=>{let n=await fetch("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,name:t||void 0})});if(n.ok){let t=await n.json();await F(t.sessionId),await er(),es(),s.push(`/sessions/${t.sessionId}?cwd=${encodeURIComponent(e)}`)}},ec=e=>{J(e.id),L(W()),es();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,k.cn)("fixed inset-0 z-40 bg-black/50 transition-opacity md:hidden",j?"opacity-100":"opacity-0 pointer-events-none"),onMouseDown:es}),(0,n.jsxs)("div",{className:(0,k.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:U},children:[(0,n.jsx)(_,{onResize:Q}),(0,n.jsx)("div",{className:"flex items-center justify-end px-3 py-1 border-b md:hidden",children:(0,n.jsx)(E.$,{variant:"ghost",size:"icon",onClick:es,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)(S,{id:"sessions",title:"Sessions",badge:N.length>0?String(N.length):void 0,actions:(0,n.jsxs)("div",{className:"flex items-center",children:[(0,n.jsx)(E.$,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:()=>D(!0),title:"New session",children:(0,n.jsx)(c.A,{className:"h-3.5 w-3.5"})}),(0,n.jsx)(E.$,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:()=>{es(),s.push("/")},title:"All sessions",children:(0,n.jsx)(d.A,{className:"h-3 w-3"})})]}),children:0===N.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:et,onDragEnd:ei,children:(0,n.jsx)(a.gB,{items:N.map(e=>e.id),strategy:a._G,children:N.map(e=>(0,n.jsx)(G,{session:e,isCurrent:en===e.id,isUnread:$.has(e.id),onNavigate:ec,onAction:(e,t)=>"running"===t.status?ea(e,t.id):el(e,t.id)},e.id))})})}),(0,n.jsx)(K,{sections:h,exclude:H}),f&&!h.has("git-changes")&&(0,n.jsx)(X,{cwd:f,sessionId:p}),f&&!h.has("file-tree")&&(0,n.jsx)(S,{id:"files",title:"Session Files",defaultOpen:!1,children:(0,n.jsx)(V,{cwd:f})}),g.reviewsEnabled&&(0,n.jsx)(q,{onNavigate:es}),g.reviewsEnabled&&h.has("pr-files")&&(0,n.jsx)(S,{id:"pr-files",title:h.get("pr-files").title,badge:h.get("pr-files").badge,children:h.get("pr-files").content})]}),(0,n.jsxs)("div",{className:"border-t px-3 py-2 flex items-center justify-end gap-2",children:[(0,n.jsx)(Y,{onClick:()=>{es(),s.push("/jobs")}}),(0,n.jsx)(Z,{onClick:()=>{es(),s.push("/inbox")}}),(0,n.jsx)(E.$,{variant:"ghost",size:"icon",className:"shrink-0 h-8 w-8 text-muted-foreground hover:text-foreground",onClick:()=>{sessionStorage.removeItem("settings-scroll"),es(),s.push("/settings")},title:"Settings",children:(0,n.jsx)(u.A,{className:"h-4 w-4"})})]})]}),(0,n.jsx)(R.t,{open:O,onOpenChange:D,onSubmit:eo})]})});function q({onNavigate:e}){let t=(0,b.useRouter)(),s=(0,b.usePathname)(),{subscribe:r,send:a}=(0,T.h)(),[l,i]=(0,v.useState)([]),c=(0,v.useCallback)(async()=>{let e=await D();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=U.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,v.useEffect)(()=>{c()},[s,c]),(0,v.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)(S,{id:"reviews",title:"Reviews",badge:l.length>0?String(l.length):void 0,actions:(0,n.jsx)(E.$,{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)(E.$,{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)),O(s))},title:"Remove",children:(0,n.jsx)(o.A,{className:"h-4 w-4"})})]},e.id))})}let H=new Set(["pr-files"]);function K({sections:e,exclude:t}){let s=(0,v.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)(S,{id:e.id,title:e.title,badge:e.badge,children:e.content},e.id))})}function V({cwd:e}){let t=(0,b.useRouter)(),s=(0,v.useCallback)(s=>{t.push(`/files?cwd=${encodeURIComponent(e)}&file=${encodeURIComponent(s)}`)},[t,e]);return(0,n.jsx)(y.h,{cwd:e,selectedFile:null,onSelectFile:s})}function X({cwd:e,sessionId:t}){let s=(0,b.useRouter)(),r=(0,b.usePathname)(),[a,l]=(0,v.useState)(""),[i,o]=(0,v.useState)(null),[c,d]=(0,v.useState)([]);(0,v.useEffect)(()=>{let t=!1,s=()=>{fetch(`/api/git/status?cwd=${encodeURIComponent(e)}`).then(e=>{if(!e.ok)throw Error("Not a git repository");return e.json()}).then(e=>{t||(d(e.files||[]),l(e.branch||""),o(null))}).catch(e=>{t||(d([]),l(""),o(e instanceof Error?e.message:"Failed to load"))})};s();let n=setInterval(s,3e4);return()=>{t=!0,clearInterval(n)}},[e,r]);let u=t?`&sessionId=${encodeURIComponent(t)}`:"",m=c.reduce((e,t)=>e+t.additions,0),g=c.reduce((e,t)=>e+t.deletions,0);return(0,n.jsx)(S,{id:"session-changes",title:"Session Changes",badge:c.length>0?String(c.length):void 0,defaultOpen:!1,children:i?(0,n.jsx)("p",{className:"px-3 py-3 text-sm text-muted-foreground",children:i}):0===c.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:[a&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{children:"Branch:"}),(0,n.jsx)("span",{className:"font-mono font-bold text-foreground",children:a}),(0,n.jsx)("span",{className:"mx-0.5",children:"\xb7"})]}),(0,n.jsxs)("span",{children:[c.length," changed"]}),m>0&&(0,n.jsxs)("span",{className:"text-green-500",children:["+",m]}),g>0&&(0,n.jsxs)("span",{className:"text-red-500",children:["-",g]})]}),c.map(t=>(0,n.jsxs)("button",{type:"button",onClick:()=>s.push(`/changes?cwd=${encodeURIComponent(e)}${u}`),className:"w-full flex items-center gap-2 px-3 py-1 text-left text-xs hover:bg-accent/50 transition-colors",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 Y({onClick:e}){let{count:t}=(0,$.wA)();return(0,n.jsxs)(E.$,{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)(g.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 Z({onClick:e}){let[t,s]=(0,v.useState)(0),r=(0,b.usePathname)();return(0,v.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)(E.$,{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)(j.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)},[]),v=(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=v,(0,r.useEffect)(()=>(x.current=!0,v(),()=>{x.current=!1,clearTimeout(c.current),clearInterval(j.current),i.current&&(i.current.onclose=null,i.current.close(),i.current=null),m.current=!1}),[v]);let w=(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`),w();return}if(!g.current){g.current=!0;try{e.send(JSON.stringify({type:"ping"}))}catch{g.current=!1,w();return}clearTimeout(p.current),p.current=setTimeout(()=>{g.current=!1,w()},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 w();if(!g.current){g.current=!0;try{t.send(JSON.stringify({type:"ping"}))}catch{g.current=!1,w();return}clearTimeout(p.current),p.current=setTimeout(()=>{g.current=!1,w()},2e3)}}}else clearInterval(j.current)};return document.addEventListener("visibilitychange",t),e(),()=>{document.removeEventListener("visibilitychange",t),clearInterval(j.current),clearTimeout(p.current)}},[w]);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:()=>g});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(40980);let m=new Map;async function x(e){let t=m.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[];let r=((await n.json()).entries||[]).map(e=>({name:e.name,path:e.path,type:e.type}));return m.set(e,r),r}let h=new Map;function f(e){let t=h.get(e);return t||(t=new Set,h.set(e,t)),t}function p({node:e,depth:t,selectedFile:s,onSelectFile:h,expandedSet:f,onToggleExpand:g}){let j="directory"===e.type,b=f.has(e.path),[v,w]=(0,d.useState)(m.get(e.path)||[]),[y,N]=(0,d.useState)(!1),k=(0,d.useCallback)(()=>{j?(g(e.path),f.has(e.path)||m.has(e.path)||(N(!0),x(e.path).then(e=>{w(e),N(!1)}))):h(e.path)},[j,e.path,g,h,f]);return(0,d.useEffect)(()=>{if(j&&b&&0===v.length&&!y){let t=m.get(e.path);t?w(t):(N(!0),x(e.path).then(e=>{w(e),N(!1)}))}},[j,b,v.length,y,e.path]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:(0,u.cn)("flex items-center gap-1 px-2 py-1 text-sm cursor-pointer hover:bg-muted/50",!j&&s===e.path&&"bg-muted"),style:{paddingLeft:`${16*t+8}px`},onClick:k,children:[j?(0,n.jsxs)(n.Fragment,{children:[y?(0,n.jsx)(r.A,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-muted-foreground"}):b?(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"}),b?(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})]}),j&&b&&v.map(e=>(0,n.jsx)(p,{node:e,depth:t+1,selectedFile:s,onSelectFile:h,expandedSet:f,onToggleExpand:g},e.path))]})}function g({cwd:e,selectedFile:t,onSelectFile:s}){let[a,l]=(0,d.useState)(m.get(e)||[]),[i,o]=(0,d.useState)(0===a.length),[c,u]=(0,d.useState)(()=>f(e)),j=(0,d.useRef)(e);(0,d.useEffect)(()=>{j.current=e,u(f(e));let t=m.get(e);t?(l(t),o(!1)):(o(!0),x(e).then(t=>{j.current===e&&(l(t),o(!1))}))},[e]);let b=(0,d.useCallback)(t=>{u(s=>{let n=new Set(s);return n.has(t)?n.delete(t):n.add(t),h.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)(p,{node:e,depth:0,selectedFile:t,onSelectFile:s,expandedSet:c,onToggleExpand:b},e.path))})}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[80392],{80392:(e,o,r)=>{r.r(o),r.d(o,{default:()=>t});let t=Object.freeze(JSON.parse('{"colors":{"activityBar.background":"#282828","activityBar.border":"#3c3836","activityBar.foreground":"#ebdbb2","activityBarBadge.background":"#458588","activityBarBadge.foreground":"#ebdbb2","activityBarTop.background":"#282828","activityBarTop.foreground":"#ebdbb2","badge.background":"#b16286","badge.foreground":"#ebdbb2","button.background":"#45858880","button.foreground":"#ebdbb2","button.hoverBackground":"#45858860","debugToolBar.background":"#282828","diffEditor.insertedTextBackground":"#b8bb2630","diffEditor.removedTextBackground":"#fb493430","dropdown.background":"#282828","dropdown.border":"#3c3836","dropdown.foreground":"#ebdbb2","editor.background":"#282828","editor.findMatchBackground":"#83a59870","editor.findMatchHighlightBackground":"#fe801930","editor.findRangeHighlightBackground":"#83a59870","editor.foreground":"#ebdbb2","editor.hoverHighlightBackground":"#689d6a50","editor.lineHighlightBackground":"#3c383660","editor.lineHighlightBorder":"#0000","editor.selectionBackground":"#689d6a40","editor.selectionHighlightBackground":"#fabd2f40","editorBracketHighlight.foreground1":"#b16286","editorBracketHighlight.foreground2":"#458588","editorBracketHighlight.foreground3":"#689d6a","editorBracketHighlight.foreground4":"#98971a","editorBracketHighlight.foreground5":"#d79921","editorBracketHighlight.foreground6":"#d65d0e","editorBracketHighlight.unexpectedBracket.foreground":"#cc241d","editorBracketMatch.background":"#92837480","editorBracketMatch.border":"#0000","editorCodeLens.foreground":"#a8998490","editorCursor.foreground":"#ebdbb2","editorError.foreground":"#cc241d","editorGhostText.background":"#665c5460","editorGroup.border":"#3c3836","editorGroup.dropBackground":"#3c383660","editorGroupHeader.noTabsBackground":"#282828","editorGroupHeader.tabsBackground":"#282828","editorGroupHeader.tabsBorder":"#3c3836","editorGutter.addedBackground":"#b8bb26","editorGutter.background":"#0000","editorGutter.deletedBackground":"#fb4934","editorGutter.modifiedBackground":"#83a598","editorHoverWidget.background":"#282828","editorHoverWidget.border":"#3c3836","editorIndentGuide.activeBackground":"#665c54","editorInfo.foreground":"#458588","editorLineNumber.foreground":"#665c54","editorLink.activeForeground":"#ebdbb2","editorOverviewRuler.addedForeground":"#83a598","editorOverviewRuler.border":"#0000","editorOverviewRuler.commonContentForeground":"#928374","editorOverviewRuler.currentContentForeground":"#458588","editorOverviewRuler.deletedForeground":"#83a598","editorOverviewRuler.errorForeground":"#fb4934","editorOverviewRuler.findMatchForeground":"#bdae93","editorOverviewRuler.incomingContentForeground":"#689d6a","editorOverviewRuler.infoForeground":"#d3869b","editorOverviewRuler.modifiedForeground":"#83a598","editorOverviewRuler.rangeHighlightForeground":"#bdae93","editorOverviewRuler.selectionHighlightForeground":"#665c54","editorOverviewRuler.warningForeground":"#d79921","editorOverviewRuler.wordHighlightForeground":"#665c54","editorOverviewRuler.wordHighlightStrongForeground":"#665c54","editorRuler.foreground":"#a8998440","editorStickyScroll.shadow":"#50494599","editorStickyScrollHover.background":"#3c383660","editorSuggestWidget.background":"#282828","editorSuggestWidget.border":"#3c3836","editorSuggestWidget.foreground":"#ebdbb2","editorSuggestWidget.highlightForeground":"#689d6a","editorSuggestWidget.selectedBackground":"#3c383660","editorWarning.foreground":"#d79921","editorWhitespace.foreground":"#a8998420","editorWidget.background":"#282828","editorWidget.border":"#3c3836","errorForeground":"#fb4934","extensionButton.prominentBackground":"#b8bb2680","extensionButton.prominentHoverBackground":"#b8bb2630","focusBorder":"#3c3836","foreground":"#ebdbb2","gitDecoration.addedResourceForeground":"#ebdbb2","gitDecoration.conflictingResourceForeground":"#b16286","gitDecoration.deletedResourceForeground":"#cc241d","gitDecoration.ignoredResourceForeground":"#7c6f64","gitDecoration.modifiedResourceForeground":"#d79921","gitDecoration.untrackedResourceForeground":"#98971a","gitlens.closedAutolinkedIssueIconColor":"#b16286","gitlens.closedPullRequestIconColor":"#cc241d","gitlens.decorations.branchAheadForegroundColor":"#98971a","gitlens.decorations.branchBehindForegroundColor":"#d65d0e","gitlens.decorations.branchDivergedForegroundColor":"#d79921","gitlens.decorations.branchMissingUpstreamForegroundColor":"#cc241d","gitlens.decorations.statusMergingOrRebasingConflictForegroundColor":"#cc241d","gitlens.decorations.statusMergingOrRebasingForegroundColor":"#d79921","gitlens.decorations.workspaceCurrentForegroundColor":"#98971a","gitlens.decorations.workspaceRepoMissingForegroundColor":"#7c6f64","gitlens.decorations.workspaceRepoOpenForegroundColor":"#98971a","gitlens.decorations.worktreeHasUncommittedChangesForegroundColor":"#928374","gitlens.decorations.worktreeMissingForegroundColor":"#cc241d","gitlens.graphChangesColumnAddedColor":"#98971a","gitlens.graphChangesColumnDeletedColor":"#cc241d","gitlens.graphLane10Color":"#98971a","gitlens.graphLane1Color":"#83a598","gitlens.graphLane2Color":"#458588","gitlens.graphLane3Color":"#d3869b","gitlens.graphLane4Color":"#b16286","gitlens.graphLane5Color":"#8ec07c","gitlens.graphLane6Color":"#689d6a","gitlens.graphLane7Color":"#fabd2f","gitlens.graphLane8Color":"#d79921","gitlens.graphLane9Color":"#b8bb26","gitlens.graphMinimapMarkerHeadColor":"#98971a","gitlens.graphMinimapMarkerHighlightsColor":"#b8bb26","gitlens.graphMinimapMarkerLocalBranchesColor":"#83a598","gitlens.graphMinimapMarkerPullRequestsColor":"#fe8019","gitlens.graphMinimapMarkerRemoteBranchesColor":"#458588","gitlens.graphMinimapMarkerStashesColor":"#b16286","gitlens.graphMinimapMarkerTagsColor":"#7c6f64","gitlens.graphMinimapMarkerUpstreamColor":"#689d6a","gitlens.graphScrollMarkerHeadColor":"#b8bb26","gitlens.graphScrollMarkerHighlightsColor":"#d79921","gitlens.graphScrollMarkerLocalBranchesColor":"#83a598","gitlens.graphScrollMarkerPullRequestsColor":"#fe8019","gitlens.graphScrollMarkerRemoteBranchesColor":"#458588","gitlens.graphScrollMarkerStashesColor":"#b16286","gitlens.graphScrollMarkerTagsColor":"#7c6f64","gitlens.graphScrollMarkerUpstreamColor":"#8ec07c","gitlens.gutterBackgroundColor":"#3c3836","gitlens.gutterForegroundColor":"#ebdbb2","gitlens.gutterUncommittedForegroundColor":"#458588","gitlens.launchpadIndicatorAttentionColor":"#fabd2f","gitlens.launchpadIndicatorAttentionHoverColor":"#d79921","gitlens.launchpadIndicatorBlockedColor":"#fb4934","gitlens.launchpadIndicatorBlockedHoverColor":"#cc241d","gitlens.launchpadIndicatorMergeableColor":"#b8bb26","gitlens.launchpadIndicatorMergeableHoverColor":"#98971a","gitlens.lineHighlightBackgroundColor":"#3c3836","gitlens.lineHighlightOverviewRulerColor":"#458588","gitlens.mergedPullRequestIconColor":"#b16286","gitlens.openAutolinkedIssueIconColor":"#98971a","gitlens.openPullRequestIconColor":"#98971a","gitlens.trailingLineBackgroundColor":"#282828a0","gitlens.trailingLineForegroundColor":"#928374a0","gitlens.unpublishedChangesIconColor":"#98971a","gitlens.unpublishedCommitIconColor":"#98971a","gitlens.unpulledChangesIconColor":"#fe8019","icon.foreground":"#ebdbb2","input.background":"#282828","input.border":"#3c3836","input.foreground":"#ebdbb2","input.placeholderForeground":"#ebdbb260","inputOption.activeBorder":"#ebdbb260","inputValidation.errorBackground":"#cc241d","inputValidation.errorBorder":"#fb4934","inputValidation.infoBackground":"#45858880","inputValidation.infoBorder":"#83a598","inputValidation.warningBackground":"#d79921","inputValidation.warningBorder":"#fabd2f","list.activeSelectionBackground":"#3c383680","list.activeSelectionForeground":"#8ec07c","list.dropBackground":"#3c3836","list.focusBackground":"#3c3836","list.focusForeground":"#ebdbb2","list.highlightForeground":"#689d6a","list.hoverBackground":"#3c383680","list.hoverForeground":"#d5c4a1","list.inactiveSelectionBackground":"#3c383680","list.inactiveSelectionForeground":"#689d6a","menu.border":"#3c3836","menu.separatorBackground":"#3c3836","merge.border":"#0000","merge.currentContentBackground":"#45858820","merge.currentHeaderBackground":"#45858840","merge.incomingContentBackground":"#689d6a20","merge.incomingHeaderBackground":"#689d6a40","notebook.cellBorderColor":"#504945","notebook.cellEditorBackground":"#3c3836","notebook.focusedCellBorder":"#a89984","notebook.focusedEditorBorder":"#504945","panel.border":"#3c3836","panelTitle.activeForeground":"#ebdbb2","peekView.border":"#3c3836","peekViewEditor.background":"#3c383670","peekViewEditor.matchHighlightBackground":"#504945","peekViewEditorGutter.background":"#3c383670","peekViewResult.background":"#3c383670","peekViewResult.fileForeground":"#ebdbb2","peekViewResult.lineForeground":"#ebdbb2","peekViewResult.matchHighlightBackground":"#504945","peekViewResult.selectionBackground":"#45858820","peekViewResult.selectionForeground":"#ebdbb2","peekViewTitle.background":"#3c383670","peekViewTitleDescription.foreground":"#bdae93","peekViewTitleLabel.foreground":"#ebdbb2","progressBar.background":"#689d6a","scmGraph.historyItemHoverDefaultLabelForeground":"#ebdbb2","scmGraph.historyItemHoverLabelForeground":"#ebdbb2","scrollbar.shadow":"#282828","scrollbarSlider.activeBackground":"#689d6a","scrollbarSlider.background":"#50494599","scrollbarSlider.hoverBackground":"#665c54","selection.background":"#689d6a80","sideBar.background":"#282828","sideBar.border":"#3c3836","sideBar.foreground":"#d5c4a1","sideBarSectionHeader.background":"#0000","sideBarSectionHeader.foreground":"#ebdbb2","sideBarTitle.foreground":"#ebdbb2","statusBar.background":"#282828","statusBar.border":"#3c3836","statusBar.debuggingBackground":"#fe8019","statusBar.debuggingBorder":"#0000","statusBar.debuggingForeground":"#282828","statusBar.foreground":"#ebdbb2","statusBar.noFolderBackground":"#282828","statusBar.noFolderBorder":"#0000","tab.activeBackground":"#3c3836","tab.activeBorder":"#689d6a","tab.activeForeground":"#ebdbb2","tab.border":"#0000","tab.inactiveBackground":"#282828","tab.inactiveForeground":"#a89984","tab.unfocusedActiveBorder":"#0000","tab.unfocusedActiveForeground":"#a89984","tab.unfocusedInactiveForeground":"#928374","terminal.ansiBlack":"#3c3836","terminal.ansiBlue":"#458588","terminal.ansiBrightBlack":"#928374","terminal.ansiBrightBlue":"#83a598","terminal.ansiBrightCyan":"#8ec07c","terminal.ansiBrightGreen":"#b8bb26","terminal.ansiBrightMagenta":"#d3869b","terminal.ansiBrightRed":"#fb4934","terminal.ansiBrightWhite":"#ebdbb2","terminal.ansiBrightYellow":"#fabd2f","terminal.ansiCyan":"#689d6a","terminal.ansiGreen":"#98971a","terminal.ansiMagenta":"#b16286","terminal.ansiRed":"#cc241d","terminal.ansiWhite":"#a89984","terminal.ansiYellow":"#d79921","terminal.background":"#282828","terminal.foreground":"#ebdbb2","textLink.activeForeground":"#458588","textLink.foreground":"#83a598","titleBar.activeBackground":"#282828","titleBar.activeForeground":"#ebdbb2","titleBar.inactiveBackground":"#282828","widget.border":"#3c3836","widget.shadow":"#28282830"},"displayName":"Gruvbox Dark Medium","name":"gruvbox-dark-medium","semanticHighlighting":true,"semanticTokenColors":{"component":"#fe8019","constant.builtin":"#d3869b","function":"#8ec07c","function.builtin":"#fe8019","method":"#8ec07c","parameter":"#83a598","property":"#83a598","property:python":"#ebdbb2","variable":"#ebdbb2"},"tokenColors":[{"settings":{"foreground":"#ebdbb2"}},{"scope":"emphasis","settings":{"fontStyle":"italic"}},{"scope":"strong","settings":{"fontStyle":"bold"}},{"scope":"header","settings":{"foreground":"#458588"}},{"scope":["comment","punctuation.definition.comment"],"settings":{"fontStyle":"italic","foreground":"#928374"}},{"scope":["constant","support.constant","variable.arguments"],"settings":{"foreground":"#d3869b"}},{"scope":"constant.rgb-value","settings":{"foreground":"#ebdbb2"}},{"scope":"entity.name.selector","settings":{"foreground":"#8ec07c"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#fabd2f"}},{"scope":["entity.name.tag","punctuation.tag"],"settings":{"foreground":"#8ec07c"}},{"scope":["invalid","invalid.illegal"],"settings":{"foreground":"#cc241d"}},{"scope":"invalid.deprecated","settings":{"foreground":"#b16286"}},{"scope":"meta.selector","settings":{"foreground":"#8ec07c"}},{"scope":"meta.preprocessor","settings":{"foreground":"#fe8019"}},{"scope":"meta.preprocessor.string","settings":{"foreground":"#b8bb26"}},{"scope":"meta.preprocessor.numeric","settings":{"foreground":"#b8bb26"}},{"scope":"meta.header.diff","settings":{"foreground":"#fe8019"}},{"scope":"storage","settings":{"foreground":"#fb4934"}},{"scope":["storage.type","storage.modifier"],"settings":{"foreground":"#fe8019"}},{"scope":"string","settings":{"foreground":"#b8bb26"}},{"scope":"string.tag","settings":{"foreground":"#b8bb26"}},{"scope":"string.value","settings":{"foreground":"#b8bb26"}},{"scope":"string.regexp","settings":{"foreground":"#fe8019"}},{"scope":"string.escape","settings":{"foreground":"#fb4934"}},{"scope":"string.quasi","settings":{"foreground":"#8ec07c"}},{"scope":"string.entity","settings":{"foreground":"#b8bb26"}},{"scope":"object","settings":{"foreground":"#ebdbb2"}},{"scope":"module.node","settings":{"foreground":"#83a598"}},{"scope":"support.type.property-name","settings":{"foreground":"#689d6a"}},{"scope":"keyword","settings":{"foreground":"#fb4934"}},{"scope":"keyword.control","settings":{"foreground":"#fb4934"}},{"scope":"keyword.control.module","settings":{"foreground":"#8ec07c"}},{"scope":"keyword.control.less","settings":{"foreground":"#d79921"}},{"scope":"keyword.operator","settings":{"foreground":"#8ec07c"}},{"scope":"keyword.operator.new","settings":{"foreground":"#fe8019"}},{"scope":"keyword.other.unit","settings":{"foreground":"#b8bb26"}},{"scope":"metatag.php","settings":{"foreground":"#fe8019"}},{"scope":"support.function.git-rebase","settings":{"foreground":"#689d6a"}},{"scope":"constant.sha.git-rebase","settings":{"foreground":"#b8bb26"}},{"scope":["meta.type.name","meta.return.type","meta.return-type","meta.cast","meta.type.annotation","support.type","storage.type.cs","variable.class"],"settings":{"foreground":"#fabd2f"}},{"scope":["variable.this","support.variable"],"settings":{"foreground":"#d3869b"}},{"scope":["entity.name","entity.static","entity.name.class.static.function","entity.name.function","entity.name.class","entity.name.type"],"settings":{"foreground":"#fabd2f"}},{"scope":["entity.function","entity.name.function.static"],"settings":{"foreground":"#8ec07c"}},{"scope":"entity.name.function.function-call","settings":{"foreground":"#8ec07c"}},{"scope":"support.function.builtin","settings":{"foreground":"#fe8019"}},{"scope":["entity.name.method","entity.name.method.function-call","entity.name.static.function-call"],"settings":{"foreground":"#689d6a"}},{"scope":"brace","settings":{"foreground":"#d5c4a1"}},{"scope":["meta.parameter.type.variable","variable.parameter","variable.name","variable.other","variable","string.constant.other.placeholder"],"settings":{"foreground":"#83a598"}},{"scope":"prototype","settings":{"foreground":"#d3869b"}},{"scope":["punctuation"],"settings":{"foreground":"#a89984"}},{"scope":"punctuation.quoted","settings":{"foreground":"#ebdbb2"}},{"scope":"punctuation.quasi","settings":{"foreground":"#fb4934"}},{"scope":["*url*","*link*","*uri*"],"settings":{"fontStyle":"underline"}},{"scope":["meta.function.python","entity.name.function.python"],"settings":{"foreground":"#8ec07c"}},{"scope":["storage.type.function.python","storage.modifier.declaration","storage.type.class.python","storage.type.string.python"],"settings":{"foreground":"#fb4934"}},{"scope":["storage.type.function.async.python"],"settings":{"foreground":"#fb4934"}},{"scope":"meta.function-call.generic","settings":{"foreground":"#83a598"}},{"scope":"meta.function-call.arguments","settings":{"foreground":"#d5c4a1"}},{"scope":"entity.name.function.decorator","settings":{"fontStyle":"bold","foreground":"#fabd2f"}},{"scope":"constant.other.caps","settings":{"fontStyle":"bold"}},{"scope":"keyword.operator.logical","settings":{"foreground":"#fb4934"}},{"scope":"punctuation.definition.logical-expression","settings":{"foreground":"#fe8019"}},{"scope":["string.interpolated.dollar.shell","string.interpolated.backtick.shell"],"settings":{"foreground":"#8ec07c"}},{"scope":"keyword.control.directive","settings":{"foreground":"#8ec07c"}},{"scope":"support.function.C99","settings":{"foreground":"#fabd2f"}},{"scope":["meta.function.cs","entity.name.function.cs","entity.name.type.namespace.cs"],"settings":{"foreground":"#b8bb26"}},{"scope":["keyword.other.using.cs","entity.name.variable.field.cs","entity.name.variable.local.cs","variable.other.readwrite.cs"],"settings":{"foreground":"#8ec07c"}},{"scope":["keyword.other.this.cs","keyword.other.base.cs"],"settings":{"foreground":"#d3869b"}},{"scope":"meta.scope.prerequisites","settings":{"foreground":"#fabd2f"}},{"scope":"entity.name.function.target","settings":{"fontStyle":"bold","foreground":"#b8bb26"}},{"scope":["storage.modifier.import.java","storage.modifier.package.java"],"settings":{"foreground":"#bdae93"}},{"scope":["keyword.other.import.java","keyword.other.package.java"],"settings":{"foreground":"#8ec07c"}},{"scope":"storage.type.java","settings":{"foreground":"#fabd2f"}},{"scope":"storage.type.annotation","settings":{"fontStyle":"bold","foreground":"#83a598"}},{"scope":"keyword.other.documentation.javadoc","settings":{"foreground":"#8ec07c"}},{"scope":"comment.block.javadoc variable.parameter.java","settings":{"fontStyle":"bold","foreground":"#b8bb26"}},{"scope":["source.java variable.other.object","source.java variable.other.definition.java"],"settings":{"foreground":"#ebdbb2"}},{"scope":"meta.function-parameters.lisp","settings":{"foreground":"#fabd2f"}},{"scope":"markup.underline","settings":{"fontStyle":"underline"}},{"scope":"string.other.link.title.markdown","settings":{"fontStyle":"underline","foreground":"#928374"}},{"scope":"markup.underline.link","settings":{"foreground":"#d3869b"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#fe8019"}},{"scope":"markup.heading","settings":{"fontStyle":"bold","foreground":"#fe8019"}},{"scope":"heading.1.markdown entity.name.section.markdown","settings":{"fontStyle":"bold","foreground":"#fb4934"}},{"scope":"heading.2.markdown entity.name.section.markdown","settings":{"fontStyle":"bold","foreground":"#fe8019"}},{"scope":"heading.3.markdown entity.name.section.markdown","settings":{"fontStyle":"bold","foreground":"#fabd2f"}},{"scope":"heading.4.markdown entity.name.section.markdown","settings":{"fontStyle":"bold","foreground":"#b8bb26"}},{"scope":"heading.5.markdown entity.name.section.markdown","settings":{"fontStyle":"bold","foreground":"#83a598"}},{"scope":"heading.6.markdown entity.name.section.markdown","settings":{"fontStyle":"bold","foreground":"#d3869b"}},{"scope":"markup.italic","settings":{"fontStyle":"italic"}},{"scope":"markup.inserted","settings":{"foreground":"#b8bb26"}},{"scope":"markup.deleted","settings":{"foreground":"#d65d0e"}},{"scope":"markup.changed","settings":{"foreground":"#fe8019"}},{"scope":"markup.punctuation.quote.beginning","settings":{"foreground":"#98971a"}},{"scope":"markup.punctuation.list.beginning","settings":{"foreground":"#83a598"}},{"scope":["markup.inline.raw","markup.fenced_code.block"],"settings":{"foreground":"#8ec07c"}},{"scope":"string.quoted.double.json","settings":{"foreground":"#83a598"}},{"scope":"entity.other.attribute-name.css","settings":{"foreground":"#fe8019"}},{"scope":"source.css meta.selector","settings":{"foreground":"#ebdbb2"}},{"scope":"support.type.property-name.css","settings":{"foreground":"#fe8019"}},{"scope":"entity.other.attribute-name.class","settings":{"foreground":"#b8bb26"}},{"scope":["source.css support.function.transform","source.css support.function.timing-function","source.css support.function.misc"],"settings":{"foreground":"#fb4934"}},{"scope":["support.property-value","constant.rgb-value","support.property-value.scss","constant.rgb-value.scss"],"settings":{"foreground":"#d65d0e"}},{"scope":["entity.name.tag.css"],"settings":{"fontStyle":""}},{"scope":["punctuation.definition.tag"],"settings":{"foreground":"#83a598"}},{"scope":["text.html entity.name.tag","text.html punctuation.tag"],"settings":{"fontStyle":"bold","foreground":"#8ec07c"}},{"scope":["source.js variable.language"],"settings":{"foreground":"#fe8019"}},{"scope":["source.ts variable.language"],"settings":{"foreground":"#fe8019"}},{"scope":["source.go storage.type"],"settings":{"foreground":"#fabd2f"}},{"scope":["source.go entity.name.import"],"settings":{"foreground":"#b8bb26"}},{"scope":["source.go keyword.package","source.go keyword.import"],"settings":{"foreground":"#8ec07c"}},{"scope":["source.go keyword.interface","source.go keyword.struct"],"settings":{"foreground":"#83a598"}},{"scope":["source.go entity.name.type"],"settings":{"foreground":"#ebdbb2"}},{"scope":["source.go entity.name.function"],"settings":{"foreground":"#d3869b"}},{"scope":["keyword.control.cucumber.table"],"settings":{"foreground":"#83a598"}},{"scope":["source.reason string.double","source.reason string.regexp"],"settings":{"foreground":"#b8bb26"}},{"scope":["source.reason keyword.control.less"],"settings":{"foreground":"#8ec07c"}},{"scope":["source.reason entity.name.function"],"settings":{"foreground":"#83a598"}},{"scope":["source.reason support.property-value","source.reason entity.name.filename"],"settings":{"foreground":"#fe8019"}},{"scope":["source.powershell variable.other.member.powershell"],"settings":{"foreground":"#fe8019"}},{"scope":["source.powershell support.function.powershell"],"settings":{"foreground":"#fabd2f"}},{"scope":["source.powershell support.function.attribute.powershell"],"settings":{"foreground":"#bdae93"}},{"scope":["source.powershell meta.hashtable.assignment.powershell variable.other.readwrite.powershell"],"settings":{"foreground":"#fe8019"}},{"scope":["support.function.be.latex","support.function.general.tex","support.function.section.latex","support.function.textbf.latex","support.function.textit.latex","support.function.texttt.latex","support.function.emph.latex","support.function.url.latex"],"settings":{"foreground":"#fb4934"}},{"scope":["support.class.math.block.tex","support.class.math.block.environment.latex"],"settings":{"foreground":"#fe8019"}},{"scope":["keyword.control.preamble.latex","keyword.control.include.latex"],"settings":{"foreground":"#d3869b"}},{"scope":["support.class.latex"],"settings":{"foreground":"#8ec07c"}}],"type":"dark"}'))}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[58011],{80392:(e,o,r)=>{r.r(o),r.d(o,{default:()=>t});let t=Object.freeze(JSON.parse('{"colors":{"activityBar.background":"#282828","activityBar.border":"#3c3836","activityBar.foreground":"#ebdbb2","activityBarBadge.background":"#458588","activityBarBadge.foreground":"#ebdbb2","activityBarTop.background":"#282828","activityBarTop.foreground":"#ebdbb2","badge.background":"#b16286","badge.foreground":"#ebdbb2","button.background":"#45858880","button.foreground":"#ebdbb2","button.hoverBackground":"#45858860","debugToolBar.background":"#282828","diffEditor.insertedTextBackground":"#b8bb2630","diffEditor.removedTextBackground":"#fb493430","dropdown.background":"#282828","dropdown.border":"#3c3836","dropdown.foreground":"#ebdbb2","editor.background":"#282828","editor.findMatchBackground":"#83a59870","editor.findMatchHighlightBackground":"#fe801930","editor.findRangeHighlightBackground":"#83a59870","editor.foreground":"#ebdbb2","editor.hoverHighlightBackground":"#689d6a50","editor.lineHighlightBackground":"#3c383660","editor.lineHighlightBorder":"#0000","editor.selectionBackground":"#689d6a40","editor.selectionHighlightBackground":"#fabd2f40","editorBracketHighlight.foreground1":"#b16286","editorBracketHighlight.foreground2":"#458588","editorBracketHighlight.foreground3":"#689d6a","editorBracketHighlight.foreground4":"#98971a","editorBracketHighlight.foreground5":"#d79921","editorBracketHighlight.foreground6":"#d65d0e","editorBracketHighlight.unexpectedBracket.foreground":"#cc241d","editorBracketMatch.background":"#92837480","editorBracketMatch.border":"#0000","editorCodeLens.foreground":"#a8998490","editorCursor.foreground":"#ebdbb2","editorError.foreground":"#cc241d","editorGhostText.background":"#665c5460","editorGroup.border":"#3c3836","editorGroup.dropBackground":"#3c383660","editorGroupHeader.noTabsBackground":"#282828","editorGroupHeader.tabsBackground":"#282828","editorGroupHeader.tabsBorder":"#3c3836","editorGutter.addedBackground":"#b8bb26","editorGutter.background":"#0000","editorGutter.deletedBackground":"#fb4934","editorGutter.modifiedBackground":"#83a598","editorHoverWidget.background":"#282828","editorHoverWidget.border":"#3c3836","editorIndentGuide.activeBackground":"#665c54","editorInfo.foreground":"#458588","editorLineNumber.foreground":"#665c54","editorLink.activeForeground":"#ebdbb2","editorOverviewRuler.addedForeground":"#83a598","editorOverviewRuler.border":"#0000","editorOverviewRuler.commonContentForeground":"#928374","editorOverviewRuler.currentContentForeground":"#458588","editorOverviewRuler.deletedForeground":"#83a598","editorOverviewRuler.errorForeground":"#fb4934","editorOverviewRuler.findMatchForeground":"#bdae93","editorOverviewRuler.incomingContentForeground":"#689d6a","editorOverviewRuler.infoForeground":"#d3869b","editorOverviewRuler.modifiedForeground":"#83a598","editorOverviewRuler.rangeHighlightForeground":"#bdae93","editorOverviewRuler.selectionHighlightForeground":"#665c54","editorOverviewRuler.warningForeground":"#d79921","editorOverviewRuler.wordHighlightForeground":"#665c54","editorOverviewRuler.wordHighlightStrongForeground":"#665c54","editorRuler.foreground":"#a8998440","editorStickyScroll.shadow":"#50494599","editorStickyScrollHover.background":"#3c383660","editorSuggestWidget.background":"#282828","editorSuggestWidget.border":"#3c3836","editorSuggestWidget.foreground":"#ebdbb2","editorSuggestWidget.highlightForeground":"#689d6a","editorSuggestWidget.selectedBackground":"#3c383660","editorWarning.foreground":"#d79921","editorWhitespace.foreground":"#a8998420","editorWidget.background":"#282828","editorWidget.border":"#3c3836","errorForeground":"#fb4934","extensionButton.prominentBackground":"#b8bb2680","extensionButton.prominentHoverBackground":"#b8bb2630","focusBorder":"#3c3836","foreground":"#ebdbb2","gitDecoration.addedResourceForeground":"#ebdbb2","gitDecoration.conflictingResourceForeground":"#b16286","gitDecoration.deletedResourceForeground":"#cc241d","gitDecoration.ignoredResourceForeground":"#7c6f64","gitDecoration.modifiedResourceForeground":"#d79921","gitDecoration.untrackedResourceForeground":"#98971a","gitlens.closedAutolinkedIssueIconColor":"#b16286","gitlens.closedPullRequestIconColor":"#cc241d","gitlens.decorations.branchAheadForegroundColor":"#98971a","gitlens.decorations.branchBehindForegroundColor":"#d65d0e","gitlens.decorations.branchDivergedForegroundColor":"#d79921","gitlens.decorations.branchMissingUpstreamForegroundColor":"#cc241d","gitlens.decorations.statusMergingOrRebasingConflictForegroundColor":"#cc241d","gitlens.decorations.statusMergingOrRebasingForegroundColor":"#d79921","gitlens.decorations.workspaceCurrentForegroundColor":"#98971a","gitlens.decorations.workspaceRepoMissingForegroundColor":"#7c6f64","gitlens.decorations.workspaceRepoOpenForegroundColor":"#98971a","gitlens.decorations.worktreeHasUncommittedChangesForegroundColor":"#928374","gitlens.decorations.worktreeMissingForegroundColor":"#cc241d","gitlens.graphChangesColumnAddedColor":"#98971a","gitlens.graphChangesColumnDeletedColor":"#cc241d","gitlens.graphLane10Color":"#98971a","gitlens.graphLane1Color":"#83a598","gitlens.graphLane2Color":"#458588","gitlens.graphLane3Color":"#d3869b","gitlens.graphLane4Color":"#b16286","gitlens.graphLane5Color":"#8ec07c","gitlens.graphLane6Color":"#689d6a","gitlens.graphLane7Color":"#fabd2f","gitlens.graphLane8Color":"#d79921","gitlens.graphLane9Color":"#b8bb26","gitlens.graphMinimapMarkerHeadColor":"#98971a","gitlens.graphMinimapMarkerHighlightsColor":"#b8bb26","gitlens.graphMinimapMarkerLocalBranchesColor":"#83a598","gitlens.graphMinimapMarkerPullRequestsColor":"#fe8019","gitlens.graphMinimapMarkerRemoteBranchesColor":"#458588","gitlens.graphMinimapMarkerStashesColor":"#b16286","gitlens.graphMinimapMarkerTagsColor":"#7c6f64","gitlens.graphMinimapMarkerUpstreamColor":"#689d6a","gitlens.graphScrollMarkerHeadColor":"#b8bb26","gitlens.graphScrollMarkerHighlightsColor":"#d79921","gitlens.graphScrollMarkerLocalBranchesColor":"#83a598","gitlens.graphScrollMarkerPullRequestsColor":"#fe8019","gitlens.graphScrollMarkerRemoteBranchesColor":"#458588","gitlens.graphScrollMarkerStashesColor":"#b16286","gitlens.graphScrollMarkerTagsColor":"#7c6f64","gitlens.graphScrollMarkerUpstreamColor":"#8ec07c","gitlens.gutterBackgroundColor":"#3c3836","gitlens.gutterForegroundColor":"#ebdbb2","gitlens.gutterUncommittedForegroundColor":"#458588","gitlens.launchpadIndicatorAttentionColor":"#fabd2f","gitlens.launchpadIndicatorAttentionHoverColor":"#d79921","gitlens.launchpadIndicatorBlockedColor":"#fb4934","gitlens.launchpadIndicatorBlockedHoverColor":"#cc241d","gitlens.launchpadIndicatorMergeableColor":"#b8bb26","gitlens.launchpadIndicatorMergeableHoverColor":"#98971a","gitlens.lineHighlightBackgroundColor":"#3c3836","gitlens.lineHighlightOverviewRulerColor":"#458588","gitlens.mergedPullRequestIconColor":"#b16286","gitlens.openAutolinkedIssueIconColor":"#98971a","gitlens.openPullRequestIconColor":"#98971a","gitlens.trailingLineBackgroundColor":"#282828a0","gitlens.trailingLineForegroundColor":"#928374a0","gitlens.unpublishedChangesIconColor":"#98971a","gitlens.unpublishedCommitIconColor":"#98971a","gitlens.unpulledChangesIconColor":"#fe8019","icon.foreground":"#ebdbb2","input.background":"#282828","input.border":"#3c3836","input.foreground":"#ebdbb2","input.placeholderForeground":"#ebdbb260","inputOption.activeBorder":"#ebdbb260","inputValidation.errorBackground":"#cc241d","inputValidation.errorBorder":"#fb4934","inputValidation.infoBackground":"#45858880","inputValidation.infoBorder":"#83a598","inputValidation.warningBackground":"#d79921","inputValidation.warningBorder":"#fabd2f","list.activeSelectionBackground":"#3c383680","list.activeSelectionForeground":"#8ec07c","list.dropBackground":"#3c3836","list.focusBackground":"#3c3836","list.focusForeground":"#ebdbb2","list.highlightForeground":"#689d6a","list.hoverBackground":"#3c383680","list.hoverForeground":"#d5c4a1","list.inactiveSelectionBackground":"#3c383680","list.inactiveSelectionForeground":"#689d6a","menu.border":"#3c3836","menu.separatorBackground":"#3c3836","merge.border":"#0000","merge.currentContentBackground":"#45858820","merge.currentHeaderBackground":"#45858840","merge.incomingContentBackground":"#689d6a20","merge.incomingHeaderBackground":"#689d6a40","notebook.cellBorderColor":"#504945","notebook.cellEditorBackground":"#3c3836","notebook.focusedCellBorder":"#a89984","notebook.focusedEditorBorder":"#504945","panel.border":"#3c3836","panelTitle.activeForeground":"#ebdbb2","peekView.border":"#3c3836","peekViewEditor.background":"#3c383670","peekViewEditor.matchHighlightBackground":"#504945","peekViewEditorGutter.background":"#3c383670","peekViewResult.background":"#3c383670","peekViewResult.fileForeground":"#ebdbb2","peekViewResult.lineForeground":"#ebdbb2","peekViewResult.matchHighlightBackground":"#504945","peekViewResult.selectionBackground":"#45858820","peekViewResult.selectionForeground":"#ebdbb2","peekViewTitle.background":"#3c383670","peekViewTitleDescription.foreground":"#bdae93","peekViewTitleLabel.foreground":"#ebdbb2","progressBar.background":"#689d6a","scmGraph.historyItemHoverDefaultLabelForeground":"#ebdbb2","scmGraph.historyItemHoverLabelForeground":"#ebdbb2","scrollbar.shadow":"#282828","scrollbarSlider.activeBackground":"#689d6a","scrollbarSlider.background":"#50494599","scrollbarSlider.hoverBackground":"#665c54","selection.background":"#689d6a80","sideBar.background":"#282828","sideBar.border":"#3c3836","sideBar.foreground":"#d5c4a1","sideBarSectionHeader.background":"#0000","sideBarSectionHeader.foreground":"#ebdbb2","sideBarTitle.foreground":"#ebdbb2","statusBar.background":"#282828","statusBar.border":"#3c3836","statusBar.debuggingBackground":"#fe8019","statusBar.debuggingBorder":"#0000","statusBar.debuggingForeground":"#282828","statusBar.foreground":"#ebdbb2","statusBar.noFolderBackground":"#282828","statusBar.noFolderBorder":"#0000","tab.activeBackground":"#3c3836","tab.activeBorder":"#689d6a","tab.activeForeground":"#ebdbb2","tab.border":"#0000","tab.inactiveBackground":"#282828","tab.inactiveForeground":"#a89984","tab.unfocusedActiveBorder":"#0000","tab.unfocusedActiveForeground":"#a89984","tab.unfocusedInactiveForeground":"#928374","terminal.ansiBlack":"#3c3836","terminal.ansiBlue":"#458588","terminal.ansiBrightBlack":"#928374","terminal.ansiBrightBlue":"#83a598","terminal.ansiBrightCyan":"#8ec07c","terminal.ansiBrightGreen":"#b8bb26","terminal.ansiBrightMagenta":"#d3869b","terminal.ansiBrightRed":"#fb4934","terminal.ansiBrightWhite":"#ebdbb2","terminal.ansiBrightYellow":"#fabd2f","terminal.ansiCyan":"#689d6a","terminal.ansiGreen":"#98971a","terminal.ansiMagenta":"#b16286","terminal.ansiRed":"#cc241d","terminal.ansiWhite":"#a89984","terminal.ansiYellow":"#d79921","terminal.background":"#282828","terminal.foreground":"#ebdbb2","textLink.activeForeground":"#458588","textLink.foreground":"#83a598","titleBar.activeBackground":"#282828","titleBar.activeForeground":"#ebdbb2","titleBar.inactiveBackground":"#282828","widget.border":"#3c3836","widget.shadow":"#28282830"},"displayName":"Gruvbox Dark Medium","name":"gruvbox-dark-medium","semanticHighlighting":true,"semanticTokenColors":{"component":"#fe8019","constant.builtin":"#d3869b","function":"#8ec07c","function.builtin":"#fe8019","method":"#8ec07c","parameter":"#83a598","property":"#83a598","property:python":"#ebdbb2","variable":"#ebdbb2"},"tokenColors":[{"settings":{"foreground":"#ebdbb2"}},{"scope":"emphasis","settings":{"fontStyle":"italic"}},{"scope":"strong","settings":{"fontStyle":"bold"}},{"scope":"header","settings":{"foreground":"#458588"}},{"scope":["comment","punctuation.definition.comment"],"settings":{"fontStyle":"italic","foreground":"#928374"}},{"scope":["constant","support.constant","variable.arguments"],"settings":{"foreground":"#d3869b"}},{"scope":"constant.rgb-value","settings":{"foreground":"#ebdbb2"}},{"scope":"entity.name.selector","settings":{"foreground":"#8ec07c"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#fabd2f"}},{"scope":["entity.name.tag","punctuation.tag"],"settings":{"foreground":"#8ec07c"}},{"scope":["invalid","invalid.illegal"],"settings":{"foreground":"#cc241d"}},{"scope":"invalid.deprecated","settings":{"foreground":"#b16286"}},{"scope":"meta.selector","settings":{"foreground":"#8ec07c"}},{"scope":"meta.preprocessor","settings":{"foreground":"#fe8019"}},{"scope":"meta.preprocessor.string","settings":{"foreground":"#b8bb26"}},{"scope":"meta.preprocessor.numeric","settings":{"foreground":"#b8bb26"}},{"scope":"meta.header.diff","settings":{"foreground":"#fe8019"}},{"scope":"storage","settings":{"foreground":"#fb4934"}},{"scope":["storage.type","storage.modifier"],"settings":{"foreground":"#fe8019"}},{"scope":"string","settings":{"foreground":"#b8bb26"}},{"scope":"string.tag","settings":{"foreground":"#b8bb26"}},{"scope":"string.value","settings":{"foreground":"#b8bb26"}},{"scope":"string.regexp","settings":{"foreground":"#fe8019"}},{"scope":"string.escape","settings":{"foreground":"#fb4934"}},{"scope":"string.quasi","settings":{"foreground":"#8ec07c"}},{"scope":"string.entity","settings":{"foreground":"#b8bb26"}},{"scope":"object","settings":{"foreground":"#ebdbb2"}},{"scope":"module.node","settings":{"foreground":"#83a598"}},{"scope":"support.type.property-name","settings":{"foreground":"#689d6a"}},{"scope":"keyword","settings":{"foreground":"#fb4934"}},{"scope":"keyword.control","settings":{"foreground":"#fb4934"}},{"scope":"keyword.control.module","settings":{"foreground":"#8ec07c"}},{"scope":"keyword.control.less","settings":{"foreground":"#d79921"}},{"scope":"keyword.operator","settings":{"foreground":"#8ec07c"}},{"scope":"keyword.operator.new","settings":{"foreground":"#fe8019"}},{"scope":"keyword.other.unit","settings":{"foreground":"#b8bb26"}},{"scope":"metatag.php","settings":{"foreground":"#fe8019"}},{"scope":"support.function.git-rebase","settings":{"foreground":"#689d6a"}},{"scope":"constant.sha.git-rebase","settings":{"foreground":"#b8bb26"}},{"scope":["meta.type.name","meta.return.type","meta.return-type","meta.cast","meta.type.annotation","support.type","storage.type.cs","variable.class"],"settings":{"foreground":"#fabd2f"}},{"scope":["variable.this","support.variable"],"settings":{"foreground":"#d3869b"}},{"scope":["entity.name","entity.static","entity.name.class.static.function","entity.name.function","entity.name.class","entity.name.type"],"settings":{"foreground":"#fabd2f"}},{"scope":["entity.function","entity.name.function.static"],"settings":{"foreground":"#8ec07c"}},{"scope":"entity.name.function.function-call","settings":{"foreground":"#8ec07c"}},{"scope":"support.function.builtin","settings":{"foreground":"#fe8019"}},{"scope":["entity.name.method","entity.name.method.function-call","entity.name.static.function-call"],"settings":{"foreground":"#689d6a"}},{"scope":"brace","settings":{"foreground":"#d5c4a1"}},{"scope":["meta.parameter.type.variable","variable.parameter","variable.name","variable.other","variable","string.constant.other.placeholder"],"settings":{"foreground":"#83a598"}},{"scope":"prototype","settings":{"foreground":"#d3869b"}},{"scope":["punctuation"],"settings":{"foreground":"#a89984"}},{"scope":"punctuation.quoted","settings":{"foreground":"#ebdbb2"}},{"scope":"punctuation.quasi","settings":{"foreground":"#fb4934"}},{"scope":["*url*","*link*","*uri*"],"settings":{"fontStyle":"underline"}},{"scope":["meta.function.python","entity.name.function.python"],"settings":{"foreground":"#8ec07c"}},{"scope":["storage.type.function.python","storage.modifier.declaration","storage.type.class.python","storage.type.string.python"],"settings":{"foreground":"#fb4934"}},{"scope":["storage.type.function.async.python"],"settings":{"foreground":"#fb4934"}},{"scope":"meta.function-call.generic","settings":{"foreground":"#83a598"}},{"scope":"meta.function-call.arguments","settings":{"foreground":"#d5c4a1"}},{"scope":"entity.name.function.decorator","settings":{"fontStyle":"bold","foreground":"#fabd2f"}},{"scope":"constant.other.caps","settings":{"fontStyle":"bold"}},{"scope":"keyword.operator.logical","settings":{"foreground":"#fb4934"}},{"scope":"punctuation.definition.logical-expression","settings":{"foreground":"#fe8019"}},{"scope":["string.interpolated.dollar.shell","string.interpolated.backtick.shell"],"settings":{"foreground":"#8ec07c"}},{"scope":"keyword.control.directive","settings":{"foreground":"#8ec07c"}},{"scope":"support.function.C99","settings":{"foreground":"#fabd2f"}},{"scope":["meta.function.cs","entity.name.function.cs","entity.name.type.namespace.cs"],"settings":{"foreground":"#b8bb26"}},{"scope":["keyword.other.using.cs","entity.name.variable.field.cs","entity.name.variable.local.cs","variable.other.readwrite.cs"],"settings":{"foreground":"#8ec07c"}},{"scope":["keyword.other.this.cs","keyword.other.base.cs"],"settings":{"foreground":"#d3869b"}},{"scope":"meta.scope.prerequisites","settings":{"foreground":"#fabd2f"}},{"scope":"entity.name.function.target","settings":{"fontStyle":"bold","foreground":"#b8bb26"}},{"scope":["storage.modifier.import.java","storage.modifier.package.java"],"settings":{"foreground":"#bdae93"}},{"scope":["keyword.other.import.java","keyword.other.package.java"],"settings":{"foreground":"#8ec07c"}},{"scope":"storage.type.java","settings":{"foreground":"#fabd2f"}},{"scope":"storage.type.annotation","settings":{"fontStyle":"bold","foreground":"#83a598"}},{"scope":"keyword.other.documentation.javadoc","settings":{"foreground":"#8ec07c"}},{"scope":"comment.block.javadoc variable.parameter.java","settings":{"fontStyle":"bold","foreground":"#b8bb26"}},{"scope":["source.java variable.other.object","source.java variable.other.definition.java"],"settings":{"foreground":"#ebdbb2"}},{"scope":"meta.function-parameters.lisp","settings":{"foreground":"#fabd2f"}},{"scope":"markup.underline","settings":{"fontStyle":"underline"}},{"scope":"string.other.link.title.markdown","settings":{"fontStyle":"underline","foreground":"#928374"}},{"scope":"markup.underline.link","settings":{"foreground":"#d3869b"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#fe8019"}},{"scope":"markup.heading","settings":{"fontStyle":"bold","foreground":"#fe8019"}},{"scope":"heading.1.markdown entity.name.section.markdown","settings":{"fontStyle":"bold","foreground":"#fb4934"}},{"scope":"heading.2.markdown entity.name.section.markdown","settings":{"fontStyle":"bold","foreground":"#fe8019"}},{"scope":"heading.3.markdown entity.name.section.markdown","settings":{"fontStyle":"bold","foreground":"#fabd2f"}},{"scope":"heading.4.markdown entity.name.section.markdown","settings":{"fontStyle":"bold","foreground":"#b8bb26"}},{"scope":"heading.5.markdown entity.name.section.markdown","settings":{"fontStyle":"bold","foreground":"#83a598"}},{"scope":"heading.6.markdown entity.name.section.markdown","settings":{"fontStyle":"bold","foreground":"#d3869b"}},{"scope":"markup.italic","settings":{"fontStyle":"italic"}},{"scope":"markup.inserted","settings":{"foreground":"#b8bb26"}},{"scope":"markup.deleted","settings":{"foreground":"#d65d0e"}},{"scope":"markup.changed","settings":{"foreground":"#fe8019"}},{"scope":"markup.punctuation.quote.beginning","settings":{"foreground":"#98971a"}},{"scope":"markup.punctuation.list.beginning","settings":{"foreground":"#83a598"}},{"scope":["markup.inline.raw","markup.fenced_code.block"],"settings":{"foreground":"#8ec07c"}},{"scope":"string.quoted.double.json","settings":{"foreground":"#83a598"}},{"scope":"entity.other.attribute-name.css","settings":{"foreground":"#fe8019"}},{"scope":"source.css meta.selector","settings":{"foreground":"#ebdbb2"}},{"scope":"support.type.property-name.css","settings":{"foreground":"#fe8019"}},{"scope":"entity.other.attribute-name.class","settings":{"foreground":"#b8bb26"}},{"scope":["source.css support.function.transform","source.css support.function.timing-function","source.css support.function.misc"],"settings":{"foreground":"#fb4934"}},{"scope":["support.property-value","constant.rgb-value","support.property-value.scss","constant.rgb-value.scss"],"settings":{"foreground":"#d65d0e"}},{"scope":["entity.name.tag.css"],"settings":{"fontStyle":""}},{"scope":["punctuation.definition.tag"],"settings":{"foreground":"#83a598"}},{"scope":["text.html entity.name.tag","text.html punctuation.tag"],"settings":{"fontStyle":"bold","foreground":"#8ec07c"}},{"scope":["source.js variable.language"],"settings":{"foreground":"#fe8019"}},{"scope":["source.ts variable.language"],"settings":{"foreground":"#fe8019"}},{"scope":["source.go storage.type"],"settings":{"foreground":"#fabd2f"}},{"scope":["source.go entity.name.import"],"settings":{"foreground":"#b8bb26"}},{"scope":["source.go keyword.package","source.go keyword.import"],"settings":{"foreground":"#8ec07c"}},{"scope":["source.go keyword.interface","source.go keyword.struct"],"settings":{"foreground":"#83a598"}},{"scope":["source.go entity.name.type"],"settings":{"foreground":"#ebdbb2"}},{"scope":["source.go entity.name.function"],"settings":{"foreground":"#d3869b"}},{"scope":["keyword.control.cucumber.table"],"settings":{"foreground":"#83a598"}},{"scope":["source.reason string.double","source.reason string.regexp"],"settings":{"foreground":"#b8bb26"}},{"scope":["source.reason keyword.control.less"],"settings":{"foreground":"#8ec07c"}},{"scope":["source.reason entity.name.function"],"settings":{"foreground":"#83a598"}},{"scope":["source.reason support.property-value","source.reason entity.name.filename"],"settings":{"foreground":"#fe8019"}},{"scope":["source.powershell variable.other.member.powershell"],"settings":{"foreground":"#fe8019"}},{"scope":["source.powershell support.function.powershell"],"settings":{"foreground":"#fabd2f"}},{"scope":["source.powershell support.function.attribute.powershell"],"settings":{"foreground":"#bdae93"}},{"scope":["source.powershell meta.hashtable.assignment.powershell variable.other.readwrite.powershell"],"settings":{"foreground":"#fe8019"}},{"scope":["support.function.be.latex","support.function.general.tex","support.function.section.latex","support.function.textbf.latex","support.function.textit.latex","support.function.texttt.latex","support.function.emph.latex","support.function.url.latex"],"settings":{"foreground":"#fb4934"}},{"scope":["support.class.math.block.tex","support.class.math.block.environment.latex"],"settings":{"foreground":"#fe8019"}},{"scope":["keyword.control.preamble.latex","keyword.control.include.latex"],"settings":{"foreground":"#d3869b"}},{"scope":["support.class.latex"],"settings":{"foreground":"#8ec07c"}}],"type":"dark"}'))}}]);