@alexjbarnes/cockpit 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (759) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +10 -2
  3. package/.next/build-manifest.json +4 -4
  4. package/.next/next-server.js.nft.json +1 -1
  5. package/.next/prerender-manifest.json +21 -45
  6. package/.next/react-loadable-manifest.json +279 -267
  7. package/.next/routes-manifest.json +68 -12
  8. package/.next/server/app/(app)/agents/[name]/page.js +3 -3
  9. package/.next/server/app/(app)/agents/[name]/page.js.nft.json +1 -1
  10. package/.next/server/app/(app)/agents/[name]/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/(app)/agents/page.js +2 -2
  12. package/.next/server/app/(app)/agents/page.js.nft.json +1 -1
  13. package/.next/server/app/(app)/agents/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/(app)/claude-md/edit/page.js +2 -2
  15. package/.next/server/app/(app)/claude-md/edit/page.js.nft.json +1 -1
  16. package/.next/server/app/(app)/claude-md/edit/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/(app)/claude-md/page.js +2 -2
  18. package/.next/server/app/(app)/claude-md/page.js.nft.json +1 -1
  19. package/.next/server/app/(app)/claude-md/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/(app)/commands/[name]/page.js +3 -3
  21. package/.next/server/app/(app)/commands/[name]/page.js.nft.json +1 -1
  22. package/.next/server/app/(app)/commands/[name]/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/(app)/commands/page.js +2 -2
  24. package/.next/server/app/(app)/commands/page.js.nft.json +1 -1
  25. package/.next/server/app/(app)/commands/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/(app)/hooks/[event]/page.js +3 -3
  27. package/.next/server/app/(app)/hooks/[event]/page.js.nft.json +1 -1
  28. package/.next/server/app/(app)/hooks/[event]/page_client-reference-manifest.js +1 -1
  29. package/.next/server/app/(app)/hooks/page.js +2 -2
  30. package/.next/server/app/(app)/hooks/page.js.nft.json +1 -1
  31. package/.next/server/app/(app)/hooks/page_client-reference-manifest.js +1 -1
  32. package/.next/server/app/(app)/inbox/[id]/page.js +2 -2
  33. package/.next/server/app/(app)/inbox/[id]/page.js.nft.json +1 -1
  34. package/.next/server/app/(app)/inbox/[id]/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/(app)/inbox/page.js +2 -2
  36. package/.next/server/app/(app)/inbox/page.js.nft.json +1 -1
  37. package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/(app)/jobs/[id]/edit/page.js +2 -2
  39. package/.next/server/app/(app)/jobs/[id]/edit/page.js.nft.json +1 -1
  40. package/.next/server/app/(app)/jobs/[id]/edit/page_client-reference-manifest.js +1 -1
  41. package/.next/server/app/(app)/jobs/[id]/page.js +2 -2
  42. package/.next/server/app/(app)/jobs/[id]/page.js.nft.json +1 -1
  43. package/.next/server/app/(app)/jobs/[id]/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/(app)/jobs/[id]/runs/[runId]/page.js +2 -2
  45. package/.next/server/app/(app)/jobs/[id]/runs/[runId]/page.js.nft.json +1 -1
  46. package/.next/server/app/(app)/jobs/[id]/runs/[runId]/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/(app)/jobs/page.js +2 -2
  48. package/.next/server/app/(app)/jobs/page.js.nft.json +1 -1
  49. package/.next/server/app/(app)/jobs/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app/(app)/mcp-servers/[name]/page.js +2 -2
  51. package/.next/server/app/(app)/mcp-servers/[name]/page.js.nft.json +1 -1
  52. package/.next/server/app/(app)/mcp-servers/[name]/page_client-reference-manifest.js +1 -1
  53. package/.next/server/app/(app)/mcp-servers/page.js +2 -2
  54. package/.next/server/app/(app)/mcp-servers/page.js.nft.json +1 -1
  55. package/.next/server/app/(app)/mcp-servers/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/(app)/page.js +2 -2
  57. package/.next/server/app/(app)/page.js.nft.json +1 -1
  58. package/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/(app)/plugins/page.js +2 -0
  60. package/.next/server/app/(app)/{files → plugins}/page.js.nft.json +1 -1
  61. package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -0
  62. package/.next/server/app/(app)/reviews/[owner]/[repo]/[number]/page.js +4 -4
  63. package/.next/server/app/(app)/reviews/[owner]/[repo]/[number]/page.js.nft.json +1 -1
  64. package/.next/server/app/(app)/reviews/[owner]/[repo]/[number]/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/(app)/reviews/[owner]/[repo]/page.js +2 -2
  66. package/.next/server/app/(app)/reviews/[owner]/[repo]/page.js.nft.json +1 -1
  67. package/.next/server/app/(app)/reviews/[owner]/[repo]/page_client-reference-manifest.js +1 -1
  68. package/.next/server/app/(app)/reviews/page.js +2 -2
  69. package/.next/server/app/(app)/reviews/page.js.nft.json +1 -1
  70. package/.next/server/app/(app)/reviews/page_client-reference-manifest.js +1 -1
  71. package/.next/server/app/(app)/sessions/[id]/page.js +2 -2
  72. package/.next/server/app/(app)/sessions/[id]/page.js.nft.json +1 -1
  73. package/.next/server/app/(app)/sessions/[id]/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/(app)/settings/appearance/page.js +2 -2
  75. package/.next/server/app/(app)/settings/appearance/page.js.nft.json +1 -1
  76. package/.next/server/app/(app)/settings/appearance/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/(app)/settings/notifications/page.js +2 -2
  78. package/.next/server/app/(app)/settings/notifications/page.js.nft.json +1 -1
  79. package/.next/server/app/(app)/settings/notifications/page_client-reference-manifest.js +1 -1
  80. package/.next/server/app/(app)/settings/page.js +2 -2
  81. package/.next/server/app/(app)/settings/page.js.nft.json +1 -1
  82. package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/(app)/settings/providers/[id]/page.js +2 -2
  84. package/.next/server/app/(app)/settings/providers/[id]/page.js.nft.json +1 -1
  85. package/.next/server/app/(app)/settings/providers/[id]/page_client-reference-manifest.js +1 -1
  86. package/.next/server/app/(app)/settings/providers/new/page.js +2 -2
  87. package/.next/server/app/(app)/settings/providers/new/page.js.nft.json +1 -1
  88. package/.next/server/app/(app)/settings/providers/new/page_client-reference-manifest.js +1 -1
  89. package/.next/server/app/(app)/settings/providers/page.js +2 -2
  90. package/.next/server/app/(app)/settings/providers/page.js.nft.json +1 -1
  91. package/.next/server/app/(app)/settings/providers/page_client-reference-manifest.js +1 -1
  92. package/.next/server/app/(app)/settings/session/page.js +2 -2
  93. package/.next/server/app/(app)/settings/session/page.js.nft.json +1 -1
  94. package/.next/server/app/(app)/settings/session/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/(app)/skills/[name]/page.js +3 -3
  96. package/.next/server/app/(app)/skills/[name]/page.js.nft.json +1 -1
  97. package/.next/server/app/(app)/skills/[name]/page_client-reference-manifest.js +1 -1
  98. package/.next/server/app/(app)/skills/page.js +2 -2
  99. package/.next/server/app/(app)/skills/page.js.nft.json +1 -1
  100. package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -1
  101. package/.next/server/app/_global-error/page.js +3 -3
  102. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  103. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/_global-error.html +1 -1
  105. package/.next/server/app/_global-error.rsc +1 -1
  106. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  107. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  108. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  109. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  110. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  111. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  112. package/.next/server/app/_not-found/page.js +2 -2
  113. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  114. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  115. package/.next/server/app/_not-found.html +1 -1
  116. package/.next/server/app/_not-found.rsc +2 -2
  117. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  118. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  119. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  120. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  121. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  122. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  123. package/.next/server/app/agents.html +1 -1
  124. package/.next/server/app/agents.rsc +4 -4
  125. package/.next/server/app/agents.segments/!KGFwcCk/agents/__PAGE__.segment.rsc +2 -2
  126. package/.next/server/app/agents.segments/!KGFwcCk/agents.segment.rsc +1 -1
  127. package/.next/server/app/agents.segments/!KGFwcCk.segment.rsc +2 -2
  128. package/.next/server/app/agents.segments/_full.segment.rsc +4 -4
  129. package/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  130. package/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  131. package/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  132. package/.next/server/app/api/agents/[name]/route.js +1 -1
  133. package/.next/server/app/api/agents/route.js +1 -1
  134. package/.next/server/app/api/assistant-session/route.js +1 -0
  135. package/.next/server/app/api/assistant-session/route.js.nft.json +1 -0
  136. package/.next/server/app/api/assistant-session/route_client-reference-manifest.js +1 -0
  137. package/.next/server/app/api/auth/check/route.js +1 -1
  138. package/.next/server/app/api/auth/login/route.js +1 -1
  139. package/.next/server/app/api/auth/setup/route.js +1 -1
  140. package/.next/server/app/api/auth/ws-token/route.js +1 -1
  141. package/.next/server/app/api/btw/route.js +2 -2
  142. package/.next/server/app/api/claude-md/route.js +1 -1
  143. package/.next/server/app/api/commands/[name]/route.js +1 -1
  144. package/.next/server/app/api/commands/route.js +1 -1
  145. package/.next/server/app/api/config/cwd/route.js +1 -0
  146. package/.next/server/app/api/config/cwd/route.js.nft.json +1 -0
  147. package/.next/server/app/api/config/cwd/route_client-reference-manifest.js +1 -0
  148. package/.next/server/app/api/defaults/route.js +1 -1
  149. package/.next/server/app/api/filesystem/browse/route.js +1 -1
  150. package/.next/server/app/api/filesystem/files/route.js +1 -1
  151. package/.next/server/app/api/filesystem/mkdir/route.js +1 -1
  152. package/.next/server/app/api/filesystem/read/route.js +1 -1
  153. package/.next/server/app/api/git/clone/route.js +1 -1
  154. package/.next/server/app/api/git/commit/route.js +1 -1
  155. package/.next/server/app/api/git/diff/route.js +1 -1
  156. package/.next/server/app/api/git/discard/route.js +1 -1
  157. package/.next/server/app/api/git/generate-message/route.js +2 -2
  158. package/.next/server/app/api/git/push/route.js +1 -1
  159. package/.next/server/app/api/git/status/route.js +1 -1
  160. package/.next/server/app/api/github/file-content/route.js +1 -1
  161. package/.next/server/app/api/github/orgs/route.js +1 -1
  162. package/.next/server/app/api/github/prs/checks/route.js +1 -1
  163. package/.next/server/app/api/github/prs/diff/route.js +1 -1
  164. package/.next/server/app/api/github/prs/review/route.js +1 -1
  165. package/.next/server/app/api/github/prs/route.js +1 -1
  166. package/.next/server/app/api/github/prs/view/route.js +1 -1
  167. package/.next/server/app/api/github/repos/route.js +1 -1
  168. package/.next/server/app/api/github/review-session/route.js +1 -1
  169. package/.next/server/app/api/github/review-session/route.js.nft.json +1 -1
  170. package/.next/server/app/api/health/route.js +1 -1
  171. package/.next/server/app/api/hooks/route.js +1 -1
  172. package/.next/server/app/api/inbox/[id]/route.js +1 -5
  173. package/.next/server/app/api/inbox/[id]/route.js.nft.json +1 -1
  174. package/.next/server/app/api/inbox/route.js +1 -5
  175. package/.next/server/app/api/inbox/route.js.nft.json +1 -1
  176. package/.next/server/app/api/jobs/[id]/route.js +1 -1
  177. package/.next/server/app/api/jobs/[id]/route.js.nft.json +1 -1
  178. package/.next/server/app/api/jobs/[id]/runs/[runId]/route.js +1 -1
  179. package/.next/server/app/api/jobs/[id]/runs/[runId]/transcript/route.js +1 -1
  180. package/.next/server/app/api/jobs/[id]/runs/[runId]/transcript/route.js.nft.json +1 -1
  181. package/.next/server/app/api/jobs/[id]/runs/route.js +1 -1
  182. package/.next/server/app/api/jobs/[id]/stop/route.js +1 -0
  183. package/.next/server/app/api/jobs/[id]/stop/route.js.nft.json +1 -0
  184. package/.next/server/app/api/jobs/[id]/stop/route_client-reference-manifest.js +1 -0
  185. package/.next/server/app/api/jobs/[id]/trigger/route.js +1 -1
  186. package/.next/server/app/api/jobs/[id]/trigger/route.js.nft.json +1 -1
  187. package/.next/server/app/api/jobs/mcp-discover/route.js +1 -1
  188. package/.next/server/app/api/jobs/mcp-discover/route.js.nft.json +1 -1
  189. package/.next/server/app/api/jobs/route.js +1 -1
  190. package/.next/server/app/api/jobs/route.js.nft.json +1 -1
  191. package/.next/server/app/api/jobs/status/route.js +1 -1
  192. package/.next/server/app/api/mcp-servers/[name]/route.js +1 -1
  193. package/.next/server/app/api/mcp-servers/[name]/test/route.js +1 -1
  194. package/.next/server/app/api/mcp-servers/[name]/tools/route.js +1 -0
  195. package/.next/server/app/api/mcp-servers/[name]/tools/route.js.nft.json +1 -0
  196. package/.next/server/app/api/mcp-servers/[name]/tools/route_client-reference-manifest.js +1 -0
  197. package/.next/server/app/api/mcp-servers/route.js +1 -1
  198. package/.next/server/app/api/notifications/route.js +1 -1
  199. package/.next/server/app/api/notifications/test/route.js +3 -3
  200. package/.next/server/app/api/plugins/[id]/route.js +1 -0
  201. package/.next/server/app/api/plugins/[id]/route.js.nft.json +1 -0
  202. package/.next/server/app/api/plugins/[id]/route_client-reference-manifest.js +1 -0
  203. package/.next/server/app/api/plugins/install/route.js +1 -0
  204. package/.next/server/app/api/plugins/install/route.js.nft.json +1 -0
  205. package/.next/server/app/api/plugins/install/route_client-reference-manifest.js +1 -0
  206. package/.next/server/app/api/plugins/marketplaces/[name]/route.js +1 -0
  207. package/.next/server/app/api/plugins/marketplaces/[name]/route.js.nft.json +1 -0
  208. package/.next/server/app/api/plugins/marketplaces/[name]/route_client-reference-manifest.js +1 -0
  209. package/.next/server/app/api/plugins/marketplaces/route.js +1 -0
  210. package/.next/server/app/api/plugins/marketplaces/route.js.nft.json +1 -0
  211. package/.next/server/app/api/plugins/marketplaces/route_client-reference-manifest.js +1 -0
  212. package/.next/server/app/api/plugins/route.js +1 -0
  213. package/.next/server/app/api/plugins/route.js.nft.json +1 -0
  214. package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -0
  215. package/.next/server/app/api/providers/[id]/route.js +1 -1
  216. package/.next/server/app/api/providers/route.js +1 -1
  217. package/.next/server/app/api/reviews/pinned/route.js +1 -1
  218. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  219. package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
  220. package/.next/server/app/api/sessions/[id]/mcp/route.js +1 -1
  221. package/.next/server/app/api/sessions/[id]/mcp/route.js.nft.json +1 -1
  222. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  223. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  224. package/.next/server/app/api/sessions/[id]/search/route.js +1 -1
  225. package/.next/server/app/api/sessions/[id]/search/route.js.nft.json +1 -1
  226. package/.next/server/app/api/sessions/[id]/tabs/route.js +1 -1
  227. package/.next/server/app/api/sessions/bulk-delete/route.js +1 -1
  228. package/.next/server/app/api/sessions/bulk-delete/route.js.nft.json +1 -1
  229. package/.next/server/app/api/sessions/by-ids/route.js +1 -1
  230. package/.next/server/app/api/sessions/by-ids/route.js.nft.json +1 -1
  231. package/.next/server/app/api/sessions/group/route.js +1 -1
  232. package/.next/server/app/api/sessions/group/route.js.nft.json +1 -1
  233. package/.next/server/app/api/sessions/pinned/route.js +1 -1
  234. package/.next/server/app/api/sessions/route.js +1 -1
  235. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  236. package/.next/server/app/api/sessions/search/route.js +1 -1
  237. package/.next/server/app/api/sessions/search/route.js.nft.json +1 -1
  238. package/.next/server/app/api/sessions/thinking/route.js +1 -1
  239. package/.next/server/app/api/sessions/thinking/route.js.nft.json +1 -1
  240. package/.next/server/app/api/skills/[name]/route.js +1 -1
  241. package/.next/server/app/api/skills/route.js +1 -1
  242. package/.next/server/app/api/terminal/[id]/route.js +1 -1
  243. package/.next/server/app/api/terminal/[id]/route.js.nft.json +1 -1
  244. package/.next/server/app/api/terminal/route.js +1 -1
  245. package/.next/server/app/api/terminal/route.js.nft.json +1 -1
  246. package/.next/server/app/api/usage/route.js +1 -1
  247. package/.next/server/app/api/version/changelog/route.js +1 -1
  248. package/.next/server/app/api/version/cockpit/changelog/route.js +1 -1
  249. package/.next/server/app/api/version/cockpit/route.js +1 -1
  250. package/.next/server/app/api/version/route.js +2 -2
  251. package/.next/server/app/claude-md/edit.html +1 -1
  252. package/.next/server/app/claude-md/edit.rsc +4 -4
  253. package/.next/server/app/claude-md/edit.segments/!KGFwcCk/claude-md/edit/__PAGE__.segment.rsc +2 -2
  254. package/.next/server/app/claude-md/edit.segments/!KGFwcCk/claude-md/edit.segment.rsc +1 -1
  255. package/.next/server/app/claude-md/edit.segments/!KGFwcCk/claude-md.segment.rsc +1 -1
  256. package/.next/server/app/claude-md/edit.segments/!KGFwcCk.segment.rsc +2 -2
  257. package/.next/server/app/claude-md/edit.segments/_full.segment.rsc +4 -4
  258. package/.next/server/app/claude-md/edit.segments/_head.segment.rsc +1 -1
  259. package/.next/server/app/claude-md/edit.segments/_index.segment.rsc +2 -2
  260. package/.next/server/app/claude-md/edit.segments/_tree.segment.rsc +2 -2
  261. package/.next/server/app/claude-md.html +1 -1
  262. package/.next/server/app/claude-md.rsc +4 -4
  263. package/.next/server/app/claude-md.segments/!KGFwcCk/claude-md/__PAGE__.segment.rsc +2 -2
  264. package/.next/server/app/claude-md.segments/!KGFwcCk/claude-md.segment.rsc +1 -1
  265. package/.next/server/app/claude-md.segments/!KGFwcCk.segment.rsc +2 -2
  266. package/.next/server/app/claude-md.segments/_full.segment.rsc +4 -4
  267. package/.next/server/app/claude-md.segments/_head.segment.rsc +1 -1
  268. package/.next/server/app/claude-md.segments/_index.segment.rsc +2 -2
  269. package/.next/server/app/claude-md.segments/_tree.segment.rsc +2 -2
  270. package/.next/server/app/commands.html +1 -1
  271. package/.next/server/app/commands.rsc +4 -4
  272. package/.next/server/app/commands.segments/!KGFwcCk/commands/__PAGE__.segment.rsc +2 -2
  273. package/.next/server/app/commands.segments/!KGFwcCk/commands.segment.rsc +1 -1
  274. package/.next/server/app/commands.segments/!KGFwcCk.segment.rsc +2 -2
  275. package/.next/server/app/commands.segments/_full.segment.rsc +4 -4
  276. package/.next/server/app/commands.segments/_head.segment.rsc +1 -1
  277. package/.next/server/app/commands.segments/_index.segment.rsc +2 -2
  278. package/.next/server/app/commands.segments/_tree.segment.rsc +2 -2
  279. package/.next/server/app/hooks.html +1 -1
  280. package/.next/server/app/hooks.rsc +4 -4
  281. package/.next/server/app/hooks.segments/!KGFwcCk/hooks/__PAGE__.segment.rsc +2 -2
  282. package/.next/server/app/hooks.segments/!KGFwcCk/hooks.segment.rsc +1 -1
  283. package/.next/server/app/hooks.segments/!KGFwcCk.segment.rsc +2 -2
  284. package/.next/server/app/hooks.segments/_full.segment.rsc +4 -4
  285. package/.next/server/app/hooks.segments/_head.segment.rsc +1 -1
  286. package/.next/server/app/hooks.segments/_index.segment.rsc +2 -2
  287. package/.next/server/app/hooks.segments/_tree.segment.rsc +2 -2
  288. package/.next/server/app/inbox.html +1 -1
  289. package/.next/server/app/inbox.rsc +4 -4
  290. package/.next/server/app/inbox.segments/!KGFwcCk/inbox/__PAGE__.segment.rsc +2 -2
  291. package/.next/server/app/inbox.segments/!KGFwcCk/inbox.segment.rsc +1 -1
  292. package/.next/server/app/inbox.segments/!KGFwcCk.segment.rsc +2 -2
  293. package/.next/server/app/inbox.segments/_full.segment.rsc +4 -4
  294. package/.next/server/app/inbox.segments/_head.segment.rsc +1 -1
  295. package/.next/server/app/inbox.segments/_index.segment.rsc +2 -2
  296. package/.next/server/app/inbox.segments/_tree.segment.rsc +2 -2
  297. package/.next/server/app/index.html +1 -1
  298. package/.next/server/app/index.rsc +4 -4
  299. package/.next/server/app/index.segments/!KGFwcCk/__PAGE__.segment.rsc +2 -2
  300. package/.next/server/app/index.segments/!KGFwcCk.segment.rsc +2 -2
  301. package/.next/server/app/index.segments/_full.segment.rsc +4 -4
  302. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  303. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  304. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  305. package/.next/server/app/jobs.html +1 -1
  306. package/.next/server/app/jobs.rsc +4 -4
  307. package/.next/server/app/jobs.segments/!KGFwcCk/jobs/__PAGE__.segment.rsc +2 -2
  308. package/.next/server/app/jobs.segments/!KGFwcCk/jobs.segment.rsc +1 -1
  309. package/.next/server/app/jobs.segments/!KGFwcCk.segment.rsc +2 -2
  310. package/.next/server/app/jobs.segments/_full.segment.rsc +4 -4
  311. package/.next/server/app/jobs.segments/_head.segment.rsc +1 -1
  312. package/.next/server/app/jobs.segments/_index.segment.rsc +2 -2
  313. package/.next/server/app/jobs.segments/_tree.segment.rsc +2 -2
  314. package/.next/server/app/login/page.js +2 -2
  315. package/.next/server/app/login/page.js.nft.json +1 -1
  316. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  317. package/.next/server/app/login.html +1 -1
  318. package/.next/server/app/login.rsc +3 -3
  319. package/.next/server/app/login.segments/_full.segment.rsc +3 -3
  320. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  321. package/.next/server/app/login.segments/_index.segment.rsc +2 -2
  322. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  323. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  324. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  325. package/.next/server/app/mcp-servers.html +1 -1
  326. package/.next/server/app/mcp-servers.rsc +4 -4
  327. package/.next/server/app/mcp-servers.segments/!KGFwcCk/mcp-servers/__PAGE__.segment.rsc +2 -2
  328. package/.next/server/app/mcp-servers.segments/!KGFwcCk/mcp-servers.segment.rsc +1 -1
  329. package/.next/server/app/mcp-servers.segments/!KGFwcCk.segment.rsc +2 -2
  330. package/.next/server/app/mcp-servers.segments/_full.segment.rsc +4 -4
  331. package/.next/server/app/mcp-servers.segments/_head.segment.rsc +1 -1
  332. package/.next/server/app/mcp-servers.segments/_index.segment.rsc +2 -2
  333. package/.next/server/app/mcp-servers.segments/_tree.segment.rsc +2 -2
  334. package/.next/server/app/plugins.html +1 -0
  335. package/.next/server/app/{changes.meta → plugins.meta} +3 -3
  336. package/.next/server/app/{changes.rsc → plugins.rsc} +4 -4
  337. package/.next/server/app/{files.segments/!KGFwcCk/files → plugins.segments/!KGFwcCk/plugins}/__PAGE__.segment.rsc +2 -2
  338. package/.next/server/app/{changes.segments/!KGFwcCk/changes.segment.rsc → plugins.segments/!KGFwcCk/plugins.segment.rsc} +1 -1
  339. package/.next/server/app/{changes.segments → plugins.segments}/!KGFwcCk.segment.rsc +2 -2
  340. package/.next/server/app/{changes.segments → plugins.segments}/_full.segment.rsc +4 -4
  341. package/.next/server/app/{changes.segments → plugins.segments}/_head.segment.rsc +1 -1
  342. package/.next/server/app/{files.segments → plugins.segments}/_index.segment.rsc +2 -2
  343. package/.next/server/app/{changes.segments → plugins.segments}/_tree.segment.rsc +2 -2
  344. package/.next/server/app/reviews.html +1 -1
  345. package/.next/server/app/reviews.rsc +4 -4
  346. package/.next/server/app/reviews.segments/!KGFwcCk/reviews/__PAGE__.segment.rsc +2 -2
  347. package/.next/server/app/reviews.segments/!KGFwcCk/reviews.segment.rsc +1 -1
  348. package/.next/server/app/reviews.segments/!KGFwcCk.segment.rsc +2 -2
  349. package/.next/server/app/reviews.segments/_full.segment.rsc +4 -4
  350. package/.next/server/app/reviews.segments/_head.segment.rsc +1 -1
  351. package/.next/server/app/reviews.segments/_index.segment.rsc +2 -2
  352. package/.next/server/app/reviews.segments/_tree.segment.rsc +2 -2
  353. package/.next/server/app/settings/appearance.html +1 -1
  354. package/.next/server/app/settings/appearance.rsc +4 -4
  355. package/.next/server/app/settings/appearance.segments/!KGFwcCk/settings/appearance/__PAGE__.segment.rsc +2 -2
  356. package/.next/server/app/settings/appearance.segments/!KGFwcCk/settings/appearance.segment.rsc +1 -1
  357. package/.next/server/app/settings/appearance.segments/!KGFwcCk/settings.segment.rsc +1 -1
  358. package/.next/server/app/settings/appearance.segments/!KGFwcCk.segment.rsc +2 -2
  359. package/.next/server/app/settings/appearance.segments/_full.segment.rsc +4 -4
  360. package/.next/server/app/settings/appearance.segments/_head.segment.rsc +1 -1
  361. package/.next/server/app/settings/appearance.segments/_index.segment.rsc +2 -2
  362. package/.next/server/app/settings/appearance.segments/_tree.segment.rsc +2 -2
  363. package/.next/server/app/settings/notifications.html +1 -1
  364. package/.next/server/app/settings/notifications.rsc +4 -4
  365. package/.next/server/app/settings/notifications.segments/!KGFwcCk/settings/notifications/__PAGE__.segment.rsc +2 -2
  366. package/.next/server/app/settings/notifications.segments/!KGFwcCk/settings/notifications.segment.rsc +1 -1
  367. package/.next/server/app/settings/notifications.segments/!KGFwcCk/settings.segment.rsc +1 -1
  368. package/.next/server/app/settings/notifications.segments/!KGFwcCk.segment.rsc +2 -2
  369. package/.next/server/app/settings/notifications.segments/_full.segment.rsc +4 -4
  370. package/.next/server/app/settings/notifications.segments/_head.segment.rsc +1 -1
  371. package/.next/server/app/settings/notifications.segments/_index.segment.rsc +2 -2
  372. package/.next/server/app/settings/notifications.segments/_tree.segment.rsc +2 -2
  373. package/.next/server/app/settings/providers/new.html +1 -1
  374. package/.next/server/app/settings/providers/new.rsc +4 -4
  375. package/.next/server/app/settings/providers/new.segments/!KGFwcCk/settings/providers/new/__PAGE__.segment.rsc +2 -2
  376. package/.next/server/app/settings/providers/new.segments/!KGFwcCk/settings/providers/new.segment.rsc +1 -1
  377. package/.next/server/app/settings/providers/new.segments/!KGFwcCk/settings/providers.segment.rsc +1 -1
  378. package/.next/server/app/settings/providers/new.segments/!KGFwcCk/settings.segment.rsc +1 -1
  379. package/.next/server/app/settings/providers/new.segments/!KGFwcCk.segment.rsc +2 -2
  380. package/.next/server/app/settings/providers/new.segments/_full.segment.rsc +4 -4
  381. package/.next/server/app/settings/providers/new.segments/_head.segment.rsc +1 -1
  382. package/.next/server/app/settings/providers/new.segments/_index.segment.rsc +2 -2
  383. package/.next/server/app/settings/providers/new.segments/_tree.segment.rsc +2 -2
  384. package/.next/server/app/settings/providers.html +1 -1
  385. package/.next/server/app/settings/providers.rsc +4 -4
  386. package/.next/server/app/settings/providers.segments/!KGFwcCk/settings/providers/__PAGE__.segment.rsc +2 -2
  387. package/.next/server/app/settings/providers.segments/!KGFwcCk/settings/providers.segment.rsc +1 -1
  388. package/.next/server/app/settings/providers.segments/!KGFwcCk/settings.segment.rsc +1 -1
  389. package/.next/server/app/settings/providers.segments/!KGFwcCk.segment.rsc +2 -2
  390. package/.next/server/app/settings/providers.segments/_full.segment.rsc +4 -4
  391. package/.next/server/app/settings/providers.segments/_head.segment.rsc +1 -1
  392. package/.next/server/app/settings/providers.segments/_index.segment.rsc +2 -2
  393. package/.next/server/app/settings/providers.segments/_tree.segment.rsc +2 -2
  394. package/.next/server/app/settings/session.html +1 -1
  395. package/.next/server/app/settings/session.rsc +4 -4
  396. package/.next/server/app/settings/session.segments/!KGFwcCk/settings/session/__PAGE__.segment.rsc +2 -2
  397. package/.next/server/app/settings/session.segments/!KGFwcCk/settings/session.segment.rsc +1 -1
  398. package/.next/server/app/settings/session.segments/!KGFwcCk/settings.segment.rsc +1 -1
  399. package/.next/server/app/settings/session.segments/!KGFwcCk.segment.rsc +2 -2
  400. package/.next/server/app/settings/session.segments/_full.segment.rsc +4 -4
  401. package/.next/server/app/settings/session.segments/_head.segment.rsc +1 -1
  402. package/.next/server/app/settings/session.segments/_index.segment.rsc +2 -2
  403. package/.next/server/app/settings/session.segments/_tree.segment.rsc +2 -2
  404. package/.next/server/app/settings.html +1 -1
  405. package/.next/server/app/settings.rsc +4 -4
  406. package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +2 -2
  407. package/.next/server/app/settings.segments/!KGFwcCk/settings.segment.rsc +1 -1
  408. package/.next/server/app/settings.segments/!KGFwcCk.segment.rsc +2 -2
  409. package/.next/server/app/settings.segments/_full.segment.rsc +4 -4
  410. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  411. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  412. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  413. package/.next/server/app/skills.html +1 -1
  414. package/.next/server/app/skills.rsc +4 -4
  415. package/.next/server/app/skills.segments/!KGFwcCk/skills/__PAGE__.segment.rsc +2 -2
  416. package/.next/server/app/skills.segments/!KGFwcCk/skills.segment.rsc +1 -1
  417. package/.next/server/app/skills.segments/!KGFwcCk.segment.rsc +2 -2
  418. package/.next/server/app/skills.segments/_full.segment.rsc +4 -4
  419. package/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  420. package/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  421. package/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  422. package/.next/server/app-paths-manifest.json +10 -2
  423. package/.next/server/chunks/1011.js +1 -1
  424. package/.next/server/chunks/1327.js +1 -1
  425. package/.next/server/chunks/1979.js +7 -2
  426. package/.next/server/chunks/2666.js +1 -0
  427. package/.next/server/chunks/3136.js +11 -0
  428. package/.next/server/chunks/319.js +45 -0
  429. package/.next/server/chunks/3445.js +2 -2
  430. package/.next/server/chunks/3764.js +1 -1
  431. package/.next/server/chunks/4053.js +4971 -0
  432. package/.next/server/chunks/5292.js +201 -0
  433. package/.next/server/chunks/5318.js +1 -1
  434. package/.next/server/chunks/5472.js +1 -1
  435. package/.next/server/chunks/6304.js +1 -1
  436. package/.next/server/chunks/6705.js +1 -1
  437. package/.next/server/chunks/7539.js +5 -0
  438. package/.next/server/chunks/7891.js +1 -0
  439. package/.next/server/chunks/8578.js +1 -1
  440. package/.next/server/chunks/8728.js +1 -0
  441. package/.next/server/middleware-build-manifest.js +1 -1
  442. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  443. package/.next/server/pages/404.html +1 -1
  444. package/.next/server/pages/500.html +1 -1
  445. package/.next/server/server-reference-manifest.json +1 -1
  446. package/.next/static/chunks/12644.84908edd1bec8b5a.js +1 -0
  447. package/.next/static/chunks/1550-9a32fa02f6722fc7.js +25 -0
  448. package/.next/static/chunks/18977.393a8bc1bef44fc4.js +1 -0
  449. package/.next/static/chunks/{2503.bb9d3528c3c7ccae.js → 2503.68e12779c4b14adb.js} +1 -1
  450. package/.next/static/chunks/25781-c77dc5d11fb85d82.js +201 -0
  451. package/.next/static/chunks/{27455.1bce740b63d7c3cc.js → 27455.8f2189c777c63368.js} +1 -1
  452. package/.next/static/chunks/33072.3d32bb7b2a85ca9b.js +1 -0
  453. package/.next/static/chunks/39267.0c93a6bed8e46ac0.js +1 -0
  454. package/.next/static/chunks/52333.ff3bf0753b68875e.js +1 -0
  455. package/.next/static/chunks/69940.42e1ca99efc62caf.js +1 -0
  456. package/.next/static/chunks/70400.ffe0412efe741888.js +1 -0
  457. package/.next/static/chunks/7113.336a2a8deabe2aa5.js +1 -0
  458. package/.next/static/chunks/{71642.852436e8f0287b89.js → 71642.e11bcaa30efbf1f2.js} +1 -1
  459. package/.next/static/chunks/{72839.a5325a99f8c12fed.js → 72839.225c36dd5e767a20.js} +1 -1
  460. package/.next/static/chunks/{69427.a0b463c808aa54c8.js → 81272.b0027c9bc80050aa.js} +1 -1
  461. package/.next/static/chunks/85853.421f0c913b3d332b.js +1 -0
  462. package/.next/static/chunks/86155.3c5c1468fa2f446e.js +1 -0
  463. package/.next/static/chunks/86339.ba009abde9765665.js +1 -0
  464. package/.next/static/chunks/86939-51ae17d3d12c0310.js +1 -0
  465. package/.next/static/chunks/93794-b87eef7d177fe7b3.js +32 -0
  466. package/.next/static/chunks/989-6074551b2b54a168.js +3 -0
  467. package/.next/static/chunks/app/(app)/agents/[name]/page-6954a12623e4bdcf.js +8 -0
  468. package/.next/static/chunks/app/(app)/agents/{page-6fcfd7ab6781814e.js → page-b984c01f39aed22e.js} +1 -1
  469. package/.next/static/chunks/app/(app)/claude-md/edit/page-575c5ccdc585516c.js +1 -0
  470. package/.next/static/chunks/app/(app)/claude-md/{page-cd9e2176a12ba241.js → page-aab6df0c14c657f3.js} +1 -1
  471. package/.next/static/chunks/app/(app)/commands/[name]/page-ea86a4400fd29210.js +6 -0
  472. package/.next/static/chunks/app/(app)/commands/{page-f126b608b04747ac.js → page-3867a45c1378c6fe.js} +1 -1
  473. package/.next/static/chunks/app/(app)/hooks/[event]/{page-28038323fd29adfa.js → page-2c41e810c15a1149.js} +2 -2
  474. package/.next/static/chunks/app/(app)/hooks/{page-f1f39284e53c0344.js → page-49f9dbb78a3f97df.js} +1 -1
  475. package/.next/static/chunks/app/(app)/inbox/[id]/page-885a258b67e47b00.js +1 -0
  476. package/.next/static/chunks/app/(app)/inbox/page-592249fc155b9fe4.js +1 -0
  477. package/.next/static/chunks/app/(app)/jobs/[id]/edit/page-121bf977a839488c.js +1 -0
  478. package/.next/static/chunks/app/(app)/jobs/[id]/page-ba516fa01db89ea0.js +1 -0
  479. package/.next/static/chunks/app/(app)/jobs/[id]/runs/[runId]/page-0650e6f678fae5b8.js +1 -0
  480. package/.next/static/chunks/app/(app)/jobs/page-da3fe23a43277e67.js +1 -0
  481. package/.next/static/chunks/app/(app)/{layout-ce9e1be301c60fe5.js → layout-3cd80708648e0723.js} +1 -1
  482. package/.next/static/chunks/app/(app)/mcp-servers/[name]/{page-d6d805a27ec0b0c0.js → page-9290a7940a32d9ac.js} +1 -1
  483. package/.next/static/chunks/app/(app)/mcp-servers/page-1e828264f81ee08c.js +1 -0
  484. package/.next/static/chunks/app/(app)/{page-027a5382da30ddb9.js → page-2d171ffc3e1945e1.js} +1 -1
  485. package/.next/static/chunks/app/(app)/plugins/page-7e70e0b3ead44a99.js +1 -0
  486. package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/[number]/page-4396e9d6df189336.js +13 -0
  487. package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/{page-c5fd013309ab3eba.js → page-76a072cbfe3d9f0e.js} +1 -1
  488. package/.next/static/chunks/app/(app)/reviews/{page-47530d93bb9d4a76.js → page-deaa44f0ce253da8.js} +1 -1
  489. package/.next/static/chunks/app/(app)/sessions/[id]/page-95bcce2e0b9f827a.js +1 -0
  490. package/.next/static/chunks/app/(app)/settings/appearance/{page-95902da748ac5f1e.js → page-433fcfb9b95fb22e.js} +1 -1
  491. package/.next/static/chunks/app/(app)/settings/notifications/page-e5309337f125a059.js +1 -0
  492. package/.next/static/chunks/app/(app)/settings/{page-8ed16a66fdde10cd.js → page-353ef8c508418af1.js} +1 -1
  493. package/.next/static/chunks/app/(app)/settings/providers/[id]/page-2cacea2e60ba435c.js +1 -0
  494. package/.next/static/chunks/app/(app)/settings/providers/new/page-d40acef3abfc7c19.js +1 -0
  495. package/.next/static/chunks/app/(app)/settings/providers/page-098d8f399c663944.js +1 -0
  496. package/.next/static/chunks/app/(app)/settings/session/page-706118ba33c2b99f.js +1 -0
  497. package/.next/static/chunks/app/(app)/skills/[name]/page-7dd7c0f316742c01.js +6 -0
  498. package/.next/static/chunks/app/(app)/skills/{page-c52773eacb27c04e.js → page-48d0bbe201180fc8.js} +1 -1
  499. package/.next/static/chunks/app/_global-error/page-bf8153dffcb47d46.js +1 -0
  500. package/.next/static/chunks/app/api/agents/[name]/route-bf8153dffcb47d46.js +1 -0
  501. package/.next/static/chunks/app/api/agents/route-bf8153dffcb47d46.js +1 -0
  502. package/.next/static/chunks/app/api/assistant-session/route-bf8153dffcb47d46.js +1 -0
  503. package/.next/static/chunks/app/api/auth/check/route-bf8153dffcb47d46.js +1 -0
  504. package/.next/static/chunks/app/api/auth/login/route-bf8153dffcb47d46.js +1 -0
  505. package/.next/static/chunks/app/api/auth/setup/route-bf8153dffcb47d46.js +1 -0
  506. package/.next/static/chunks/app/api/auth/ws-token/route-bf8153dffcb47d46.js +1 -0
  507. package/.next/static/chunks/app/api/btw/route-bf8153dffcb47d46.js +1 -0
  508. package/.next/static/chunks/app/api/claude-md/route-bf8153dffcb47d46.js +1 -0
  509. package/.next/static/chunks/app/api/commands/[name]/route-bf8153dffcb47d46.js +1 -0
  510. package/.next/static/chunks/app/api/commands/route-bf8153dffcb47d46.js +1 -0
  511. package/.next/static/chunks/app/api/config/cwd/route-bf8153dffcb47d46.js +1 -0
  512. package/.next/static/chunks/app/api/defaults/route-bf8153dffcb47d46.js +1 -0
  513. package/.next/static/chunks/app/api/filesystem/browse/route-bf8153dffcb47d46.js +1 -0
  514. package/.next/static/chunks/app/api/filesystem/files/route-bf8153dffcb47d46.js +1 -0
  515. package/.next/static/chunks/app/api/filesystem/mkdir/route-bf8153dffcb47d46.js +1 -0
  516. package/.next/static/chunks/app/api/filesystem/read/route-bf8153dffcb47d46.js +1 -0
  517. package/.next/static/chunks/app/api/git/clone/route-bf8153dffcb47d46.js +1 -0
  518. package/.next/static/chunks/app/api/git/commit/route-bf8153dffcb47d46.js +1 -0
  519. package/.next/static/chunks/app/api/git/diff/route-bf8153dffcb47d46.js +1 -0
  520. package/.next/static/chunks/app/api/git/discard/route-bf8153dffcb47d46.js +1 -0
  521. package/.next/static/chunks/app/api/git/generate-message/route-bf8153dffcb47d46.js +1 -0
  522. package/.next/static/chunks/app/api/git/push/route-bf8153dffcb47d46.js +1 -0
  523. package/.next/static/chunks/app/api/git/status/route-bf8153dffcb47d46.js +1 -0
  524. package/.next/static/chunks/app/api/github/file-content/route-bf8153dffcb47d46.js +1 -0
  525. package/.next/static/chunks/app/api/github/orgs/route-bf8153dffcb47d46.js +1 -0
  526. package/.next/static/chunks/app/api/github/prs/checks/route-bf8153dffcb47d46.js +1 -0
  527. package/.next/static/chunks/app/api/github/prs/diff/route-bf8153dffcb47d46.js +1 -0
  528. package/.next/static/chunks/app/api/github/prs/review/route-bf8153dffcb47d46.js +1 -0
  529. package/.next/static/chunks/app/api/github/prs/route-bf8153dffcb47d46.js +1 -0
  530. package/.next/static/chunks/app/api/github/prs/view/route-bf8153dffcb47d46.js +1 -0
  531. package/.next/static/chunks/app/api/github/repos/route-bf8153dffcb47d46.js +1 -0
  532. package/.next/static/chunks/app/api/github/review-session/route-bf8153dffcb47d46.js +1 -0
  533. package/.next/static/chunks/app/api/health/route-bf8153dffcb47d46.js +1 -0
  534. package/.next/static/chunks/app/api/hooks/route-bf8153dffcb47d46.js +1 -0
  535. package/.next/static/chunks/app/api/inbox/[id]/route-bf8153dffcb47d46.js +1 -0
  536. package/.next/static/chunks/app/api/inbox/route-bf8153dffcb47d46.js +1 -0
  537. package/.next/static/chunks/app/api/jobs/[id]/route-bf8153dffcb47d46.js +1 -0
  538. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/route-bf8153dffcb47d46.js +1 -0
  539. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/transcript/route-bf8153dffcb47d46.js +1 -0
  540. package/.next/static/chunks/app/api/jobs/[id]/runs/route-bf8153dffcb47d46.js +1 -0
  541. package/.next/static/chunks/app/api/jobs/[id]/stop/route-bf8153dffcb47d46.js +1 -0
  542. package/.next/static/chunks/app/api/jobs/[id]/trigger/route-bf8153dffcb47d46.js +1 -0
  543. package/.next/static/chunks/app/api/jobs/mcp-discover/route-bf8153dffcb47d46.js +1 -0
  544. package/.next/static/chunks/app/api/jobs/route-bf8153dffcb47d46.js +1 -0
  545. package/.next/static/chunks/app/api/jobs/status/route-bf8153dffcb47d46.js +1 -0
  546. package/.next/static/chunks/app/api/mcp-servers/[name]/route-bf8153dffcb47d46.js +1 -0
  547. package/.next/static/chunks/app/api/mcp-servers/[name]/test/route-bf8153dffcb47d46.js +1 -0
  548. package/.next/static/chunks/app/api/mcp-servers/[name]/tools/route-bf8153dffcb47d46.js +1 -0
  549. package/.next/static/chunks/app/api/mcp-servers/route-bf8153dffcb47d46.js +1 -0
  550. package/.next/static/chunks/app/api/notifications/route-bf8153dffcb47d46.js +1 -0
  551. package/.next/static/chunks/app/api/notifications/test/route-bf8153dffcb47d46.js +1 -0
  552. package/.next/static/chunks/app/api/plugins/[id]/route-bf8153dffcb47d46.js +1 -0
  553. package/.next/static/chunks/app/api/plugins/install/route-bf8153dffcb47d46.js +1 -0
  554. package/.next/static/chunks/app/api/plugins/marketplaces/[name]/route-bf8153dffcb47d46.js +1 -0
  555. package/.next/static/chunks/app/api/plugins/marketplaces/route-bf8153dffcb47d46.js +1 -0
  556. package/.next/static/chunks/app/api/plugins/route-bf8153dffcb47d46.js +1 -0
  557. package/.next/static/chunks/app/api/providers/[id]/route-bf8153dffcb47d46.js +1 -0
  558. package/.next/static/chunks/app/api/providers/route-bf8153dffcb47d46.js +1 -0
  559. package/.next/static/chunks/app/api/reviews/pinned/route-bf8153dffcb47d46.js +1 -0
  560. package/.next/static/chunks/app/api/sessions/[id]/context/route-bf8153dffcb47d46.js +1 -0
  561. package/.next/static/chunks/app/api/sessions/[id]/mcp/route-bf8153dffcb47d46.js +1 -0
  562. package/.next/static/chunks/app/api/sessions/[id]/route-bf8153dffcb47d46.js +1 -0
  563. package/.next/static/chunks/app/api/sessions/[id]/search/route-bf8153dffcb47d46.js +1 -0
  564. package/.next/static/chunks/app/api/sessions/[id]/tabs/route-bf8153dffcb47d46.js +1 -0
  565. package/.next/static/chunks/app/api/sessions/bulk-delete/route-bf8153dffcb47d46.js +1 -0
  566. package/.next/static/chunks/app/api/sessions/by-ids/route-bf8153dffcb47d46.js +1 -0
  567. package/.next/static/chunks/app/api/sessions/group/route-bf8153dffcb47d46.js +1 -0
  568. package/.next/static/chunks/app/api/sessions/pinned/route-bf8153dffcb47d46.js +1 -0
  569. package/.next/static/chunks/app/api/sessions/route-bf8153dffcb47d46.js +1 -0
  570. package/.next/static/chunks/app/api/sessions/search/route-bf8153dffcb47d46.js +1 -0
  571. package/.next/static/chunks/app/api/sessions/thinking/route-bf8153dffcb47d46.js +1 -0
  572. package/.next/static/chunks/app/api/skills/[name]/route-bf8153dffcb47d46.js +1 -0
  573. package/.next/static/chunks/app/api/skills/route-bf8153dffcb47d46.js +1 -0
  574. package/.next/static/chunks/app/api/terminal/[id]/route-bf8153dffcb47d46.js +1 -0
  575. package/.next/static/chunks/app/api/terminal/route-bf8153dffcb47d46.js +1 -0
  576. package/.next/static/chunks/app/api/usage/route-bf8153dffcb47d46.js +1 -0
  577. package/.next/static/chunks/app/api/version/changelog/route-bf8153dffcb47d46.js +1 -0
  578. package/.next/static/chunks/app/api/version/cockpit/changelog/route-bf8153dffcb47d46.js +1 -0
  579. package/.next/static/chunks/app/api/version/cockpit/route-bf8153dffcb47d46.js +1 -0
  580. package/.next/static/chunks/app/api/version/route-bf8153dffcb47d46.js +1 -0
  581. package/.next/static/chunks/{framework-6fd9f138158c42e0.js → framework-45a1aae1a0f575fd.js} +1 -1
  582. package/.next/static/chunks/{main-5dac9bfffcc23702.js → main-eb9ff0b73c75808a.js} +3 -3
  583. package/.next/static/chunks/next/dist/client/components/builtin/app-error-bf8153dffcb47d46.js +1 -0
  584. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-bf8153dffcb47d46.js +1 -0
  585. package/.next/static/chunks/next/dist/client/components/builtin/not-found-bf8153dffcb47d46.js +1 -0
  586. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-bf8153dffcb47d46.js +1 -0
  587. package/.next/static/chunks/webpack-76a545b642140725.js +1 -0
  588. package/.next/static/css/483101dd9c42fb97.css +1 -0
  589. package/.next/static/mmHo0MmzQHWjZATtI-VbH/_buildManifest.js +1 -0
  590. package/README.md +2 -2
  591. package/dist/server.js +10 -0
  592. package/dist/src/lib/cli-commands.js +147 -0
  593. package/dist/src/lib/models.js +8 -0
  594. package/dist/src/lib/paste-detect.js +161 -0
  595. package/dist/src/server/assistant-settings.js +35 -0
  596. package/dist/src/server/claude-bin.js +21 -0
  597. package/dist/src/server/cli-init-fetch.js +6 -1
  598. package/dist/src/server/inbox.js +2 -2
  599. package/dist/src/server/job-scheduler.js +146 -4
  600. package/dist/src/server/job-storage.js +33 -0
  601. package/dist/src/server/mcp/cockpit-agent-prompt.js +5 -0
  602. package/dist/src/server/mcp/cockpit-config-server.js +632 -0
  603. package/dist/src/server/mcp/run-context.js +23 -0
  604. package/dist/src/server/notifications.js +51 -10
  605. package/dist/src/server/plugins.js +103 -0
  606. package/dist/src/server/providers.js +25 -2
  607. package/dist/src/server/pty-runtime.js +112 -3
  608. package/dist/src/server/pty-session.js +7 -4
  609. package/dist/src/server/session-manager.js +338 -100
  610. package/dist/src/server/singleton.js +9 -0
  611. package/dist/src/server/terminal-buffer.js +17 -0
  612. package/dist/src/server/terminal-manager.js +9 -13
  613. package/dist/src/server/transcript.js +39 -22
  614. package/dist/src/server/ws-handler.js +18 -6
  615. package/next.config.ts +1 -0
  616. package/package.json +3 -2
  617. package/.next/server/app/(app)/changes/page.js +0 -2
  618. package/.next/server/app/(app)/changes/page.js.nft.json +0 -1
  619. package/.next/server/app/(app)/changes/page_client-reference-manifest.js +0 -1
  620. package/.next/server/app/(app)/files/page.js +0 -2
  621. package/.next/server/app/(app)/files/page_client-reference-manifest.js +0 -1
  622. package/.next/server/app/changes.html +0 -1
  623. package/.next/server/app/changes.segments/!KGFwcCk/changes/__PAGE__.segment.rsc +0 -9
  624. package/.next/server/app/changes.segments/_index.segment.rsc +0 -5
  625. package/.next/server/app/files.html +0 -1
  626. package/.next/server/app/files.meta +0 -16
  627. package/.next/server/app/files.rsc +0 -23
  628. package/.next/server/app/files.segments/!KGFwcCk/files.segment.rsc +0 -5
  629. package/.next/server/app/files.segments/!KGFwcCk.segment.rsc +0 -7
  630. package/.next/server/app/files.segments/_full.segment.rsc +0 -23
  631. package/.next/server/app/files.segments/_head.segment.rsc +0 -6
  632. package/.next/server/app/files.segments/_tree.segment.rsc +0 -2
  633. package/.next/server/chunks/3006.js +0 -199
  634. package/.next/server/chunks/4342.js +0 -1
  635. package/.next/server/chunks/4352.js +0 -1
  636. package/.next/server/chunks/4445.js +0 -1
  637. package/.next/server/chunks/63.js +0 -45
  638. package/.next/server/chunks/7782.js +0 -6
  639. package/.next/server/chunks/8148.js +0 -1
  640. package/.next/server/chunks/9599.js +0 -11
  641. package/.next/static/I-rxZaJEzhe3ZUTjSqB11/_buildManifest.js +0 -1
  642. package/.next/static/chunks/18977.a98edaf19c6df2d4.js +0 -1
  643. package/.next/static/chunks/26126-97874904b42befb8.js +0 -1
  644. package/.next/static/chunks/31010-6e87f77b97544424.js +0 -1
  645. package/.next/static/chunks/33072.9c3cd19e8d515dea.js +0 -1
  646. package/.next/static/chunks/3765-d323c6675307a63e.js +0 -20
  647. package/.next/static/chunks/39267.ef60669ade47cf4c.js +0 -1
  648. package/.next/static/chunks/41487-d802643f4a8fad3c.js +0 -199
  649. package/.next/static/chunks/48273-fb393846bb4333c0.js +0 -6
  650. package/.next/static/chunks/52333.f98d1cca9a127b34.js +0 -1
  651. package/.next/static/chunks/6935-f436a624267529fb.js +0 -1
  652. package/.next/static/chunks/70400.1816c247ad90f9bc.js +0 -1
  653. package/.next/static/chunks/7113.39704408fef3d26e.js +0 -1
  654. package/.next/static/chunks/85853.39872899093b140a.js +0 -1
  655. package/.next/static/chunks/86155.40f687f9aaa13854.js +0 -1
  656. package/.next/static/chunks/86339.4dbd51a9b9871f65.js +0 -1
  657. package/.next/static/chunks/86939-dfc6f8eb395caa89.js +0 -1
  658. package/.next/static/chunks/93794-5f89a674d8cefcff.js +0 -32
  659. package/.next/static/chunks/989-94bf2b9d242776c3.js +0 -3
  660. package/.next/static/chunks/app/(app)/agents/[name]/page-8bdd0359043537d4.js +0 -8
  661. package/.next/static/chunks/app/(app)/changes/page-4549a5bd72d77e3e.js +0 -1
  662. package/.next/static/chunks/app/(app)/claude-md/edit/page-08e6e120e71979f4.js +0 -1
  663. package/.next/static/chunks/app/(app)/commands/[name]/page-7cdfdef29ded0aa0.js +0 -6
  664. package/.next/static/chunks/app/(app)/files/page-f526eb95821e000e.js +0 -1
  665. package/.next/static/chunks/app/(app)/inbox/[id]/page-bc1ff3a0db0114a4.js +0 -1
  666. package/.next/static/chunks/app/(app)/inbox/page-82e03870103ce9bd.js +0 -1
  667. package/.next/static/chunks/app/(app)/jobs/[id]/edit/page-7fb788f772ff2129.js +0 -1
  668. package/.next/static/chunks/app/(app)/jobs/[id]/page-a5856b9ae967ff59.js +0 -1
  669. package/.next/static/chunks/app/(app)/jobs/[id]/runs/[runId]/page-b7c513402db11db6.js +0 -1
  670. package/.next/static/chunks/app/(app)/jobs/page-e9bbd6c116b9699f.js +0 -1
  671. package/.next/static/chunks/app/(app)/mcp-servers/page-4b7276d43451cd43.js +0 -1
  672. package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/[number]/page-9ab2955c455bb5fa.js +0 -13
  673. package/.next/static/chunks/app/(app)/sessions/[id]/page-94f891e1b54fd05f.js +0 -1
  674. package/.next/static/chunks/app/(app)/settings/notifications/page-229f1db6beb1d19c.js +0 -1
  675. package/.next/static/chunks/app/(app)/settings/providers/[id]/page-13654263246617b3.js +0 -1
  676. package/.next/static/chunks/app/(app)/settings/providers/new/page-e1798e321ccbc6df.js +0 -1
  677. package/.next/static/chunks/app/(app)/settings/providers/page-0bb4c1db2ee35b3d.js +0 -1
  678. package/.next/static/chunks/app/(app)/settings/session/page-ab216a8fa37a0f76.js +0 -1
  679. package/.next/static/chunks/app/(app)/skills/[name]/page-8ab85d5090967ee4.js +0 -6
  680. package/.next/static/chunks/app/_global-error/page-fc747760bd4c8a4b.js +0 -1
  681. package/.next/static/chunks/app/api/agents/[name]/route-fc747760bd4c8a4b.js +0 -1
  682. package/.next/static/chunks/app/api/agents/route-fc747760bd4c8a4b.js +0 -1
  683. package/.next/static/chunks/app/api/auth/check/route-fc747760bd4c8a4b.js +0 -1
  684. package/.next/static/chunks/app/api/auth/login/route-fc747760bd4c8a4b.js +0 -1
  685. package/.next/static/chunks/app/api/auth/setup/route-fc747760bd4c8a4b.js +0 -1
  686. package/.next/static/chunks/app/api/auth/ws-token/route-fc747760bd4c8a4b.js +0 -1
  687. package/.next/static/chunks/app/api/btw/route-fc747760bd4c8a4b.js +0 -1
  688. package/.next/static/chunks/app/api/claude-md/route-fc747760bd4c8a4b.js +0 -1
  689. package/.next/static/chunks/app/api/commands/[name]/route-fc747760bd4c8a4b.js +0 -1
  690. package/.next/static/chunks/app/api/commands/route-fc747760bd4c8a4b.js +0 -1
  691. package/.next/static/chunks/app/api/defaults/route-fc747760bd4c8a4b.js +0 -1
  692. package/.next/static/chunks/app/api/filesystem/browse/route-fc747760bd4c8a4b.js +0 -1
  693. package/.next/static/chunks/app/api/filesystem/files/route-fc747760bd4c8a4b.js +0 -1
  694. package/.next/static/chunks/app/api/filesystem/mkdir/route-fc747760bd4c8a4b.js +0 -1
  695. package/.next/static/chunks/app/api/filesystem/read/route-fc747760bd4c8a4b.js +0 -1
  696. package/.next/static/chunks/app/api/git/clone/route-fc747760bd4c8a4b.js +0 -1
  697. package/.next/static/chunks/app/api/git/commit/route-fc747760bd4c8a4b.js +0 -1
  698. package/.next/static/chunks/app/api/git/diff/route-fc747760bd4c8a4b.js +0 -1
  699. package/.next/static/chunks/app/api/git/discard/route-fc747760bd4c8a4b.js +0 -1
  700. package/.next/static/chunks/app/api/git/generate-message/route-fc747760bd4c8a4b.js +0 -1
  701. package/.next/static/chunks/app/api/git/push/route-fc747760bd4c8a4b.js +0 -1
  702. package/.next/static/chunks/app/api/git/status/route-fc747760bd4c8a4b.js +0 -1
  703. package/.next/static/chunks/app/api/github/file-content/route-fc747760bd4c8a4b.js +0 -1
  704. package/.next/static/chunks/app/api/github/orgs/route-fc747760bd4c8a4b.js +0 -1
  705. package/.next/static/chunks/app/api/github/prs/checks/route-fc747760bd4c8a4b.js +0 -1
  706. package/.next/static/chunks/app/api/github/prs/diff/route-fc747760bd4c8a4b.js +0 -1
  707. package/.next/static/chunks/app/api/github/prs/review/route-fc747760bd4c8a4b.js +0 -1
  708. package/.next/static/chunks/app/api/github/prs/route-fc747760bd4c8a4b.js +0 -1
  709. package/.next/static/chunks/app/api/github/prs/view/route-fc747760bd4c8a4b.js +0 -1
  710. package/.next/static/chunks/app/api/github/repos/route-fc747760bd4c8a4b.js +0 -1
  711. package/.next/static/chunks/app/api/github/review-session/route-fc747760bd4c8a4b.js +0 -1
  712. package/.next/static/chunks/app/api/health/route-fc747760bd4c8a4b.js +0 -1
  713. package/.next/static/chunks/app/api/hooks/route-fc747760bd4c8a4b.js +0 -1
  714. package/.next/static/chunks/app/api/inbox/[id]/route-fc747760bd4c8a4b.js +0 -1
  715. package/.next/static/chunks/app/api/inbox/route-fc747760bd4c8a4b.js +0 -1
  716. package/.next/static/chunks/app/api/jobs/[id]/route-fc747760bd4c8a4b.js +0 -1
  717. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/route-fc747760bd4c8a4b.js +0 -1
  718. package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/transcript/route-fc747760bd4c8a4b.js +0 -1
  719. package/.next/static/chunks/app/api/jobs/[id]/runs/route-fc747760bd4c8a4b.js +0 -1
  720. package/.next/static/chunks/app/api/jobs/[id]/trigger/route-fc747760bd4c8a4b.js +0 -1
  721. package/.next/static/chunks/app/api/jobs/mcp-discover/route-fc747760bd4c8a4b.js +0 -1
  722. package/.next/static/chunks/app/api/jobs/route-fc747760bd4c8a4b.js +0 -1
  723. package/.next/static/chunks/app/api/jobs/status/route-fc747760bd4c8a4b.js +0 -1
  724. package/.next/static/chunks/app/api/mcp-servers/[name]/route-fc747760bd4c8a4b.js +0 -1
  725. package/.next/static/chunks/app/api/mcp-servers/[name]/test/route-fc747760bd4c8a4b.js +0 -1
  726. package/.next/static/chunks/app/api/mcp-servers/route-fc747760bd4c8a4b.js +0 -1
  727. package/.next/static/chunks/app/api/notifications/route-fc747760bd4c8a4b.js +0 -1
  728. package/.next/static/chunks/app/api/notifications/test/route-fc747760bd4c8a4b.js +0 -1
  729. package/.next/static/chunks/app/api/providers/[id]/route-fc747760bd4c8a4b.js +0 -1
  730. package/.next/static/chunks/app/api/providers/route-fc747760bd4c8a4b.js +0 -1
  731. package/.next/static/chunks/app/api/reviews/pinned/route-fc747760bd4c8a4b.js +0 -1
  732. package/.next/static/chunks/app/api/sessions/[id]/context/route-fc747760bd4c8a4b.js +0 -1
  733. package/.next/static/chunks/app/api/sessions/[id]/mcp/route-fc747760bd4c8a4b.js +0 -1
  734. package/.next/static/chunks/app/api/sessions/[id]/route-fc747760bd4c8a4b.js +0 -1
  735. package/.next/static/chunks/app/api/sessions/[id]/search/route-fc747760bd4c8a4b.js +0 -1
  736. package/.next/static/chunks/app/api/sessions/[id]/tabs/route-fc747760bd4c8a4b.js +0 -1
  737. package/.next/static/chunks/app/api/sessions/bulk-delete/route-fc747760bd4c8a4b.js +0 -1
  738. package/.next/static/chunks/app/api/sessions/by-ids/route-fc747760bd4c8a4b.js +0 -1
  739. package/.next/static/chunks/app/api/sessions/group/route-fc747760bd4c8a4b.js +0 -1
  740. package/.next/static/chunks/app/api/sessions/pinned/route-fc747760bd4c8a4b.js +0 -1
  741. package/.next/static/chunks/app/api/sessions/route-fc747760bd4c8a4b.js +0 -1
  742. package/.next/static/chunks/app/api/sessions/search/route-fc747760bd4c8a4b.js +0 -1
  743. package/.next/static/chunks/app/api/sessions/thinking/route-fc747760bd4c8a4b.js +0 -1
  744. package/.next/static/chunks/app/api/skills/[name]/route-fc747760bd4c8a4b.js +0 -1
  745. package/.next/static/chunks/app/api/skills/route-fc747760bd4c8a4b.js +0 -1
  746. package/.next/static/chunks/app/api/terminal/[id]/route-fc747760bd4c8a4b.js +0 -1
  747. package/.next/static/chunks/app/api/terminal/route-fc747760bd4c8a4b.js +0 -1
  748. package/.next/static/chunks/app/api/usage/route-fc747760bd4c8a4b.js +0 -1
  749. package/.next/static/chunks/app/api/version/changelog/route-fc747760bd4c8a4b.js +0 -1
  750. package/.next/static/chunks/app/api/version/cockpit/changelog/route-fc747760bd4c8a4b.js +0 -1
  751. package/.next/static/chunks/app/api/version/cockpit/route-fc747760bd4c8a4b.js +0 -1
  752. package/.next/static/chunks/app/api/version/route-fc747760bd4c8a4b.js +0 -1
  753. package/.next/static/chunks/next/dist/client/components/builtin/app-error-fc747760bd4c8a4b.js +0 -1
  754. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-fc747760bd4c8a4b.js +0 -1
  755. package/.next/static/chunks/next/dist/client/components/builtin/not-found-fc747760bd4c8a4b.js +0 -1
  756. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-fc747760bd4c8a4b.js +0 -1
  757. package/.next/static/chunks/webpack-e31bb45fa59caed8.js +0 -1
  758. package/.next/static/css/3f8af4ae6f812d5c.css +0 -1
  759. /package/.next/static/{I-rxZaJEzhe3ZUTjSqB11 → mmHo0MmzQHWjZATtI-VbH}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[989],{622:(e,t,r)=>{r.d(t,{QP:()=>ep});let o=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),n=[],l=(e,t,r)=>{if(0==e.length-t)return r.classGroupId;let o=e[t],n=r.nextPart.get(o);if(n){let r=l(e,t+1,n);if(r)return r}let a=r.validators;if(null===a)return;let i=0===t?e.join("-"):e.slice(t).join("-"),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(i))return t.classGroupId}},a=(e,t)=>{let r=o();for(let o in e)i(e[o],r,o,t);return r},i=(e,t,r,o)=>{let n=e.length;for(let l=0;l<n;l++)s(e[l],t,r,o)},s=(e,t,r,o)=>{"string"==typeof e?d(e,t,r):"function"==typeof e?c(e,t,r,o):u(e,t,r,o)},d=(e,t,r)=>{(""===e?t:m(t,e)).classGroupId=r},c=(e,t,r,o)=>{p(e)?i(e(o),t,r,o):(null===t.validators&&(t.validators=[]),t.validators.push({classGroupId:r,validator:e}))},u=(e,t,r,o)=>{let n=Object.entries(e),l=n.length;for(let e=0;e<l;e++){let[l,a]=n[e];i(a,m(t,l),r,o)}},m=(e,t)=>{let r=e,n=t.split("-"),l=n.length;for(let e=0;e<l;e++){let t=n[e],l=r.nextPart.get(t);l||(l=o(),r.nextPart.set(t,l)),r=l}return r},p=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,f=[],b=(e,t,r,o,n)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:o,isExternal:n}),g=/\s+/,h=e=>{let t;if("string"==typeof e)return e;let r="";for(let o=0;o<e.length;o++)e[o]&&(t=h(e[o]))&&(r&&(r+=" "),r+=t);return r},y=[],v=e=>{let t=t=>t[e]||y;return t.isThemeGetter=!0,t},w=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,x=/^\((?:(\w[\w-]*):)?(.+)\)$/i,k=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,_=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,z=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,j=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,P=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,O=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,C=e=>k.test(e),S=e=>!!e&&!Number.isNaN(Number(e)),E=e=>!!e&&Number.isInteger(Number(e)),R=e=>e.endsWith("%")&&S(e.slice(0,-1)),M=e=>_.test(e),$=()=>!0,I=e=>z.test(e)&&!j.test(e),N=()=>!1,D=e=>P.test(e),W=e=>O.test(e),A=e=>!T(e)&&!Q(e),G=e=>e.startsWith("@container")&&("/"===e[10]&&void 0!==e[11]||"s"===e[11]&&void 0!==e[16]&&e.startsWith("-size/",10)||"n"===e[11]&&void 0!==e[18]&&e.startsWith("-normal/",10)),L=e=>eo(e,ei,N),T=e=>w.test(e),q=e=>eo(e,es,I),F=e=>eo(e,ed,S),U=e=>eo(e,eu,$),B=e=>eo(e,ec,N),V=e=>eo(e,el,N),X=e=>eo(e,ea,W),H=e=>eo(e,em,D),Q=e=>x.test(e),J=e=>en(e,es),Y=e=>en(e,ec),Z=e=>en(e,el),K=e=>en(e,ei),ee=e=>en(e,ea),et=e=>en(e,em,!0),er=e=>en(e,eu,!0),eo=(e,t,r)=>{let o=w.exec(e);return!!o&&(o[1]?t(o[1]):r(o[2]))},en=(e,t,r=!1)=>{let o=x.exec(e);return!!o&&(o[1]?t(o[1]):r)},el=e=>"position"===e||"percentage"===e,ea=e=>"image"===e||"url"===e,ei=e=>"length"===e||"size"===e||"bg-size"===e,es=e=>"length"===e,ed=e=>"number"===e,ec=e=>"family-name"===e,eu=e=>"number"===e||"weight"===e,em=e=>"shadow"===e,ep=((e,...t)=>{let r,o,i,s,d=e=>{let t=o(e);if(t)return t;let n=((e,t)=>{let{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:n,sortModifiers:l,postfixLookupClassGroupIds:a}=t,i=[],s=e.trim().split(g),d="";for(let e=s.length-1;e>=0;e-=1){let t,c=s[e],{isExternal:u,modifiers:m,hasImportantModifier:p,baseClassName:f,maybePostfixModifierPosition:b}=r(c);if(u){d=c+(d.length>0?" "+d:d);continue}let g=!!b;if(g){let e=(t=o(f.substring(0,b)))&&a[t]?o(f):void 0;e&&e!==t&&(t=e,g=!1)}else t=o(f);if(!t){if(!g||!(t=o(f))){d=c+(d.length>0?" "+d:d);continue}g=!1}let h=0===m.length?"":1===m.length?m[0]:l(m).join(":"),y=p?h+"!":h,v=y+t;if(i.indexOf(v)>-1)continue;i.push(v);let w=n(t,g);for(let e=0;e<w.length;++e){let t=w[e];i.push(y+t)}d=c+(d.length>0?" "+d:d)}return d})(e,r);return i(e,n),n};return s=c=>{var u;let m;return o=(r={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,r=Object.create(null),o=Object.create(null),n=(n,l)=>{r[n]=l,++t>e&&(t=0,o=r,r=Object.create(null))};return{get(e){let t=r[e];return void 0!==t?t:void 0!==(t=o[e])?(n(e,t),t):void 0},set(e,t){e in r?r[e]=t:n(e,t)}}})((u=t.reduce((e,t)=>t(e),e())).cacheSize),parseClassName:(e=>{let{prefix:t,experimentalParseClassName:r}=e,o=e=>{let t,r=[],o=0,n=0,l=0,a=e.length;for(let i=0;i<a;i++){let a=e[i];if(0===o&&0===n){if(":"===a){r.push(e.slice(l,i)),l=i+1;continue}if("/"===a){t=i;continue}}"["===a?o++:"]"===a?o--:"("===a?n++:")"===a&&n--}let i=0===r.length?e:e.slice(l),s=i,d=!1;return i.endsWith("!")?(s=i.slice(0,-1),d=!0):i.startsWith("!")&&(s=i.slice(1),d=!0),b(r,d,s,t&&t>l?t-l:void 0)};if(t){let e=t+":",r=o;o=t=>t.startsWith(e)?r(t.slice(e.length)):b(f,!1,t,void 0,!0)}if(r){let e=o;o=t=>r({className:t,parseClassName:e})}return o})(u),sortModifiers:(m=new Map,u.orderSensitiveModifiers.forEach((e,t)=>{m.set(e,1e6+t)}),e=>{let t=[],r=[];for(let o=0;o<e.length;o++){let n=e[o],l="["===n[0],a=m.has(n);l||a?(r.length>0&&(r.sort(),t.push(...r),r=[]),t.push(n)):r.push(n)}return r.length>0&&(r.sort(),t.push(...r)),t}),postfixLookupClassGroupIds:(e=>{let t=Object.create(null),r=e.postfixLookupClassGroups;if(r)for(let e=0;e<r.length;e++)t[r[e]]=!0;return t})(u),...(e=>{let t=(e=>{let{theme:t,classGroups:r}=e;return a(r,t)})(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]")){var r;let t,o,n;return -1===(r=e).slice(1,-1).indexOf(":")?void 0:(o=(t=r.slice(1,-1)).indexOf(":"),(n=t.slice(0,o))?"arbitrary.."+n:void 0)}let o=e.split("-"),n=+(""===o[0]&&o.length>1);return l(o,n,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=o[e],l=r[e];if(t){if(l){let e=Array(l.length+t.length);for(let t=0;t<l.length;t++)e[t]=l[t];for(let r=0;r<t.length;r++)e[l.length+r]=t[r];return e}return t}return l||n}return r[e]||n}}})(u)}).cache.get,i=r.cache.set,s=d,d(c)},(...e)=>s(((...e)=>{let t,r,o=0,n="";for(;o<e.length;)(t=e[o++])&&(r=h(t))&&(n&&(n+=" "),n+=r);return n})(...e))})(()=>{let e=v("color"),t=v("font"),r=v("text"),o=v("font-weight"),n=v("tracking"),l=v("leading"),a=v("breakpoint"),i=v("container"),s=v("spacing"),d=v("radius"),c=v("shadow"),u=v("inset-shadow"),m=v("text-shadow"),p=v("drop-shadow"),f=v("blur"),b=v("perspective"),g=v("aspect"),h=v("ease"),y=v("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],k=()=>[...x(),Q,T],_=()=>["auto","hidden","clip","visible","scroll"],z=()=>["auto","contain","none"],j=()=>[Q,T,s],P=()=>[C,"full","auto",...j()],O=()=>[E,"none","subgrid",Q,T],I=()=>["auto",{span:["full",E,Q,T]},E,Q,T],N=()=>[E,"auto",Q,T],D=()=>["auto","min","max","fr",Q,T],W=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],eo=()=>["start","end","center","stretch","center-safe","end-safe"],en=()=>["auto",...j()],el=()=>[C,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...j()],ea=()=>[C,"screen","full","dvw","lvw","svw","min","max","fit",...j()],ei=()=>[C,"screen","full","lh","dvh","lvh","svh","min","max","fit",...j()],es=()=>[e,Q,T],ed=()=>[...x(),Z,V,{position:[Q,T]}],ec=()=>["no-repeat",{repeat:["","x","y","space","round"]}],eu=()=>["auto","cover","contain",K,L,{size:[Q,T]}],em=()=>[R,J,q],ep=()=>["","none","full",d,Q,T],ef=()=>["",S,J,q],eb=()=>["solid","dashed","dotted","double"],eg=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eh=()=>[S,R,Z,V],ey=()=>["","none",f,Q,T],ev=()=>["none",S,Q,T],ew=()=>["none",S,Q,T],ex=()=>[S,Q,T],ek=()=>[C,"full",...j()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[M],breakpoint:[M],color:[$],container:[M],"drop-shadow":[M],ease:["in","out","in-out"],font:[A],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[M],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[M],shadow:[M],spacing:["px",S],text:[M],"text-shadow":[M],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",C,T,Q,g]}],container:["container"],"container-type":[{"@container":["","normal","size",Q,T]}],"container-named":[G],columns:[{columns:[S,T,Q,i]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:k()}],overflow:[{overflow:_()}],"overflow-x":[{"overflow-x":_()}],"overflow-y":[{"overflow-y":_()}],overscroll:[{overscroll:z()}],"overscroll-x":[{"overscroll-x":z()}],"overscroll-y":[{"overscroll-y":z()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:P()}],"inset-x":[{"inset-x":P()}],"inset-y":[{"inset-y":P()}],start:[{"inset-s":P(),start:P()}],end:[{"inset-e":P(),end:P()}],"inset-bs":[{"inset-bs":P()}],"inset-be":[{"inset-be":P()}],top:[{top:P()}],right:[{right:P()}],bottom:[{bottom:P()}],left:[{left:P()}],visibility:["visible","invisible","collapse"],z:[{z:[E,"auto",Q,T]}],basis:[{basis:[C,"full","auto",i,...j()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[S,C,"auto","initial","none",T]}],grow:[{grow:["",S,Q,T]}],shrink:[{shrink:["",S,Q,T]}],order:[{order:[E,"first","last","none",Q,T]}],"grid-cols":[{"grid-cols":O()}],"col-start-end":[{col:I()}],"col-start":[{"col-start":N()}],"col-end":[{"col-end":N()}],"grid-rows":[{"grid-rows":O()}],"row-start-end":[{row:I()}],"row-start":[{"row-start":N()}],"row-end":[{"row-end":N()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":D()}],"auto-rows":[{"auto-rows":D()}],gap:[{gap:j()}],"gap-x":[{"gap-x":j()}],"gap-y":[{"gap-y":j()}],"justify-content":[{justify:[...W(),"normal"]}],"justify-items":[{"justify-items":[...eo(),"normal"]}],"justify-self":[{"justify-self":["auto",...eo()]}],"align-content":[{content:["normal",...W()]}],"align-items":[{items:[...eo(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...eo(),{baseline:["","last"]}]}],"place-content":[{"place-content":W()}],"place-items":[{"place-items":[...eo(),"baseline"]}],"place-self":[{"place-self":["auto",...eo()]}],p:[{p:j()}],px:[{px:j()}],py:[{py:j()}],ps:[{ps:j()}],pe:[{pe:j()}],pbs:[{pbs:j()}],pbe:[{pbe:j()}],pt:[{pt:j()}],pr:[{pr:j()}],pb:[{pb:j()}],pl:[{pl:j()}],m:[{m:en()}],mx:[{mx:en()}],my:[{my:en()}],ms:[{ms:en()}],me:[{me:en()}],mbs:[{mbs:en()}],mbe:[{mbe:en()}],mt:[{mt:en()}],mr:[{mr:en()}],mb:[{mb:en()}],ml:[{ml:en()}],"space-x":[{"space-x":j()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":j()}],"space-y-reverse":["space-y-reverse"],size:[{size:el()}],"inline-size":[{inline:["auto",...ea()]}],"min-inline-size":[{"min-inline":["auto",...ea()]}],"max-inline-size":[{"max-inline":["none",...ea()]}],"block-size":[{block:["auto",...ei()]}],"min-block-size":[{"min-block":["auto",...ei()]}],"max-block-size":[{"max-block":["none",...ei()]}],w:[{w:[i,"screen",...el()]}],"min-w":[{"min-w":[i,"screen","none",...el()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[a]},...el()]}],h:[{h:["screen","lh",...el()]}],"min-h":[{"min-h":["screen","lh","none",...el()]}],"max-h":[{"max-h":["screen","lh",...el()]}],"font-size":[{text:["base",r,J,q]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,er,U]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",R,T]}],"font-family":[{font:[Y,B,t]}],"font-features":[{"font-features":[T]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,Q,T]}],"line-clamp":[{"line-clamp":[S,"none",Q,F]}],leading:[{leading:[l,...j()]}],"list-image":[{"list-image":["none",Q,T]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Q,T]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:es()}],"text-color":[{text:es()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...eb(),"wavy"]}],"text-decoration-thickness":[{decoration:[S,"from-font","auto",Q,q]}],"text-decoration-color":[{decoration:es()}],"underline-offset":[{"underline-offset":[S,"auto",Q,T]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:j()}],"tab-size":[{tab:[E,Q,T]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Q,T]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Q,T]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ed()}],"bg-repeat":[{bg:ec()}],"bg-size":[{bg:eu()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},E,Q,T],radial:["",Q,T],conic:[E,Q,T]},ee,X]}],"bg-color":[{bg:es()}],"gradient-from-pos":[{from:em()}],"gradient-via-pos":[{via:em()}],"gradient-to-pos":[{to:em()}],"gradient-from":[{from:es()}],"gradient-via":[{via:es()}],"gradient-to":[{to:es()}],rounded:[{rounded:ep()}],"rounded-s":[{"rounded-s":ep()}],"rounded-e":[{"rounded-e":ep()}],"rounded-t":[{"rounded-t":ep()}],"rounded-r":[{"rounded-r":ep()}],"rounded-b":[{"rounded-b":ep()}],"rounded-l":[{"rounded-l":ep()}],"rounded-ss":[{"rounded-ss":ep()}],"rounded-se":[{"rounded-se":ep()}],"rounded-ee":[{"rounded-ee":ep()}],"rounded-es":[{"rounded-es":ep()}],"rounded-tl":[{"rounded-tl":ep()}],"rounded-tr":[{"rounded-tr":ep()}],"rounded-br":[{"rounded-br":ep()}],"rounded-bl":[{"rounded-bl":ep()}],"border-w":[{border:ef()}],"border-w-x":[{"border-x":ef()}],"border-w-y":[{"border-y":ef()}],"border-w-s":[{"border-s":ef()}],"border-w-e":[{"border-e":ef()}],"border-w-bs":[{"border-bs":ef()}],"border-w-be":[{"border-be":ef()}],"border-w-t":[{"border-t":ef()}],"border-w-r":[{"border-r":ef()}],"border-w-b":[{"border-b":ef()}],"border-w-l":[{"border-l":ef()}],"divide-x":[{"divide-x":ef()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ef()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...eb(),"hidden","none"]}],"divide-style":[{divide:[...eb(),"hidden","none"]}],"border-color":[{border:es()}],"border-color-x":[{"border-x":es()}],"border-color-y":[{"border-y":es()}],"border-color-s":[{"border-s":es()}],"border-color-e":[{"border-e":es()}],"border-color-bs":[{"border-bs":es()}],"border-color-be":[{"border-be":es()}],"border-color-t":[{"border-t":es()}],"border-color-r":[{"border-r":es()}],"border-color-b":[{"border-b":es()}],"border-color-l":[{"border-l":es()}],"divide-color":[{divide:es()}],"outline-style":[{outline:[...eb(),"none","hidden"]}],"outline-offset":[{"outline-offset":[S,Q,T]}],"outline-w":[{outline:["",S,J,q]}],"outline-color":[{outline:es()}],shadow:[{shadow:["","none",c,et,H]}],"shadow-color":[{shadow:es()}],"inset-shadow":[{"inset-shadow":["none",u,et,H]}],"inset-shadow-color":[{"inset-shadow":es()}],"ring-w":[{ring:ef()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:es()}],"ring-offset-w":[{"ring-offset":[S,q]}],"ring-offset-color":[{"ring-offset":es()}],"inset-ring-w":[{"inset-ring":ef()}],"inset-ring-color":[{"inset-ring":es()}],"text-shadow":[{"text-shadow":["none",m,et,H]}],"text-shadow-color":[{"text-shadow":es()}],opacity:[{opacity:[S,Q,T]}],"mix-blend":[{"mix-blend":[...eg(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":eg()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[S]}],"mask-image-linear-from-pos":[{"mask-linear-from":eh()}],"mask-image-linear-to-pos":[{"mask-linear-to":eh()}],"mask-image-linear-from-color":[{"mask-linear-from":es()}],"mask-image-linear-to-color":[{"mask-linear-to":es()}],"mask-image-t-from-pos":[{"mask-t-from":eh()}],"mask-image-t-to-pos":[{"mask-t-to":eh()}],"mask-image-t-from-color":[{"mask-t-from":es()}],"mask-image-t-to-color":[{"mask-t-to":es()}],"mask-image-r-from-pos":[{"mask-r-from":eh()}],"mask-image-r-to-pos":[{"mask-r-to":eh()}],"mask-image-r-from-color":[{"mask-r-from":es()}],"mask-image-r-to-color":[{"mask-r-to":es()}],"mask-image-b-from-pos":[{"mask-b-from":eh()}],"mask-image-b-to-pos":[{"mask-b-to":eh()}],"mask-image-b-from-color":[{"mask-b-from":es()}],"mask-image-b-to-color":[{"mask-b-to":es()}],"mask-image-l-from-pos":[{"mask-l-from":eh()}],"mask-image-l-to-pos":[{"mask-l-to":eh()}],"mask-image-l-from-color":[{"mask-l-from":es()}],"mask-image-l-to-color":[{"mask-l-to":es()}],"mask-image-x-from-pos":[{"mask-x-from":eh()}],"mask-image-x-to-pos":[{"mask-x-to":eh()}],"mask-image-x-from-color":[{"mask-x-from":es()}],"mask-image-x-to-color":[{"mask-x-to":es()}],"mask-image-y-from-pos":[{"mask-y-from":eh()}],"mask-image-y-to-pos":[{"mask-y-to":eh()}],"mask-image-y-from-color":[{"mask-y-from":es()}],"mask-image-y-to-color":[{"mask-y-to":es()}],"mask-image-radial":[{"mask-radial":[Q,T]}],"mask-image-radial-from-pos":[{"mask-radial-from":eh()}],"mask-image-radial-to-pos":[{"mask-radial-to":eh()}],"mask-image-radial-from-color":[{"mask-radial-from":es()}],"mask-image-radial-to-color":[{"mask-radial-to":es()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":x()}],"mask-image-conic-pos":[{"mask-conic":[S]}],"mask-image-conic-from-pos":[{"mask-conic-from":eh()}],"mask-image-conic-to-pos":[{"mask-conic-to":eh()}],"mask-image-conic-from-color":[{"mask-conic-from":es()}],"mask-image-conic-to-color":[{"mask-conic-to":es()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ed()}],"mask-repeat":[{mask:ec()}],"mask-size":[{mask:eu()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Q,T]}],filter:[{filter:["","none",Q,T]}],blur:[{blur:ey()}],brightness:[{brightness:[S,Q,T]}],contrast:[{contrast:[S,Q,T]}],"drop-shadow":[{"drop-shadow":["","none",p,et,H]}],"drop-shadow-color":[{"drop-shadow":es()}],grayscale:[{grayscale:["",S,Q,T]}],"hue-rotate":[{"hue-rotate":[S,Q,T]}],invert:[{invert:["",S,Q,T]}],saturate:[{saturate:[S,Q,T]}],sepia:[{sepia:["",S,Q,T]}],"backdrop-filter":[{"backdrop-filter":["","none",Q,T]}],"backdrop-blur":[{"backdrop-blur":ey()}],"backdrop-brightness":[{"backdrop-brightness":[S,Q,T]}],"backdrop-contrast":[{"backdrop-contrast":[S,Q,T]}],"backdrop-grayscale":[{"backdrop-grayscale":["",S,Q,T]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[S,Q,T]}],"backdrop-invert":[{"backdrop-invert":["",S,Q,T]}],"backdrop-opacity":[{"backdrop-opacity":[S,Q,T]}],"backdrop-saturate":[{"backdrop-saturate":[S,Q,T]}],"backdrop-sepia":[{"backdrop-sepia":["",S,Q,T]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":j()}],"border-spacing-x":[{"border-spacing-x":j()}],"border-spacing-y":[{"border-spacing-y":j()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Q,T]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[S,"initial",Q,T]}],ease:[{ease:["linear","initial",h,Q,T]}],delay:[{delay:[S,Q,T]}],animate:[{animate:["none",y,Q,T]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,Q,T]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:ev()}],"rotate-x":[{"rotate-x":ev()}],"rotate-y":[{"rotate-y":ev()}],"rotate-z":[{"rotate-z":ev()}],scale:[{scale:ew()}],"scale-x":[{"scale-x":ew()}],"scale-y":[{"scale-y":ew()}],"scale-z":[{"scale-z":ew()}],"scale-3d":["scale-3d"],skew:[{skew:ex()}],"skew-x":[{"skew-x":ex()}],"skew-y":[{"skew-y":ex()}],transform:[{transform:[Q,T,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ek()}],"translate-x":[{"translate-x":ek()}],"translate-y":[{"translate-y":ek()}],"translate-z":[{"translate-z":ek()}],"translate-none":["translate-none"],zoom:[{zoom:[E,Q,T]}],accent:[{accent:es()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:es()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Q,T]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":es()}],"scrollbar-track-color":[{"scrollbar-track":es()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":j()}],"scroll-mx":[{"scroll-mx":j()}],"scroll-my":[{"scroll-my":j()}],"scroll-ms":[{"scroll-ms":j()}],"scroll-me":[{"scroll-me":j()}],"scroll-mbs":[{"scroll-mbs":j()}],"scroll-mbe":[{"scroll-mbe":j()}],"scroll-mt":[{"scroll-mt":j()}],"scroll-mr":[{"scroll-mr":j()}],"scroll-mb":[{"scroll-mb":j()}],"scroll-ml":[{"scroll-ml":j()}],"scroll-p":[{"scroll-p":j()}],"scroll-px":[{"scroll-px":j()}],"scroll-py":[{"scroll-py":j()}],"scroll-ps":[{"scroll-ps":j()}],"scroll-pe":[{"scroll-pe":j()}],"scroll-pbs":[{"scroll-pbs":j()}],"scroll-pbe":[{"scroll-pbe":j()}],"scroll-pt":[{"scroll-pt":j()}],"scroll-pr":[{"scroll-pr":j()}],"scroll-pb":[{"scroll-pb":j()}],"scroll-pl":[{"scroll-pl":j()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Q,T]}],fill:[{fill:["none",...es()]}],"stroke-w":[{stroke:[S,J,q,F]}],stroke:[{stroke:["none",...es()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}})},5772:(e,t,r)=>{r.d(t,{default:()=>n.a});var o=r(97651),n=r.n(o)},12590:(e,t)=>{function r({widthInt:e,heightInt:t,blurWidth:o,blurHeight:n,blurDataURL:l,objectFit:a}){let i=o?40*o:e,s=n?40*n:t,d=i&&s?`viewBox='0 0 ${i} ${s}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${d}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${d?"none":"contain"===a?"xMidYMid":"cover"===a?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${l}'/%3E%3C/svg%3E`}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return r}})},17150:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return l}});let o=r(73623)._(r(12115)),n=r(55762),l=o.default.createContext(n.imageConfigDefault)},18460:(e,t,r)=>{r.d(t,{F:()=>a});var o=r(29722);let n=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,l=o.$,a=(e,t)=>r=>{var o;if((null==t?void 0:t.variants)==null)return l(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:a,defaultVariants:i}=t,s=Object.keys(a).map(e=>{let t=null==r?void 0:r[e],o=null==i?void 0:i[e];if(null===t)return null;let l=n(t)||n(o);return a[e][l]}),d=r&&Object.entries(r).reduce((e,t)=>{let[r,o]=t;return void 0===o||(e[r]=o),e},{});return l(e,s,null==t||null==(o=t.compoundVariants)?void 0:o.reduce((e,t)=>{let{class:r,className:o,...n}=t;return Object.entries(n).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...i,...d}[t]):({...i,...d})[t]===r})?[...e,r,o]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}},18857:(e,t)=>{function r(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,t.qualities[0]):r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findClosestQuality",{enumerable:!0,get:function(){return r}})},21172:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return n}});let o=r(12115);function n(e,t){let r=(0,o.useRef)(null),n=(0,o.useRef)(null);return(0,o.useCallback)(o=>{if(null===o){let e=r.current;e&&(r.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(r.current=l(e,o)),t&&(n.current=l(t,o))},[e,t])}function l(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},29722:(e,t,r)=>{r.d(t,{$:()=>o});function o(){for(var e,t,r=0,o="",n=arguments.length;r<n;r++)(e=arguments[r])&&(t=function e(t){var r,o,n="";if("string"==typeof t||"number"==typeof t)n+=t;else if("object"==typeof t)if(Array.isArray(t)){var l=t.length;for(r=0;r<l;r++)t[r]&&(o=e(t[r]))&&(n&&(n+=" "),n+=o)}else for(o in t)t[o]&&(n&&(n+=" "),n+=o);return n}(e))&&(o&&(o+=" "),o+=t);return o}},36095:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let o=r(18857),n=r(53887);function l({config:e,src:t,width:r,quality:a}){let i=(0,n.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")){let e=t.indexOf("?");if(-1!==e){let r=new URLSearchParams(t.slice(e+1)),o=r.get("dpl");if(o){i=o,r.delete("dpl");let n=r.toString();t=t.slice(0,e)+(n?"?"+n:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
2
+ Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let s=(0,o.findClosestQuality)(a,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${s}${t.startsWith("/")&&i?`&dpl=${i}`:""}`}l.__next_img_default=!0;let a=l},38437:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return w}});let o=r(73623),n=r(66388),l=r(95155),a=n._(r(12115)),i=o._(r(47650)),s=o._(r(46686)),d=r(95413),c=r(55762),u=r(17150);r(47284);let m=r(60751),p=o._(r(36095)),f=r(21172),b={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function g(e,t,r,o,n,l,a){let i=e?.src;e&&e["data-loaded-src"]!==i&&(e["data-loaded-src"]=i,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&n(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let o=!1,n=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>o,isPropagationStopped:()=>n,persist:()=>{},preventDefault:()=>{o=!0,t.preventDefault()},stopPropagation:()=>{n=!0,t.stopPropagation()}})}o?.current&&o.current(e)}}))}function h(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}let y=(0,a.forwardRef)(({src:e,srcSet:t,sizes:r,height:o,width:n,decoding:i,className:s,style:d,fetchPriority:c,placeholder:u,loading:m,unoptimized:p,fill:b,onLoadRef:y,onLoadingCompleteRef:v,setBlurComplete:w,setShowAltText:x,sizesInput:k,onLoad:_,onError:z,...j},P)=>{let O=(0,a.useCallback)(e=>{e&&(z&&(e.src=e.src),e.complete&&g(e,u,y,v,w,p,k))},[e,u,y,v,w,z,p,k]),C=(0,f.useMergedRef)(P,O);return(0,l.jsx)("img",{...j,...h(c),loading:m,width:n,height:o,decoding:i,"data-nimg":b?"fill":"1",className:s,style:d,sizes:r,srcSet:t,src:e,ref:C,onLoad:e=>{g(e.currentTarget,u,y,v,w,p,k)},onError:e=>{x(!0),"empty"!==u&&w(!0),z&&z(e)}})});function v({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...h(t.fetchPriority)};return e&&i.default.preload?(i.default.preload(t.src,r),null):(0,l.jsx)(s.default,{children:(0,l.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let w=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(m.RouterContext),o=(0,a.useContext)(u.ImageConfigContext),n=(0,a.useMemo)(()=>{let e=b||o||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),n=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:n,localPatterns:e.localPatterns}},[o]),{onLoad:i,onLoadingComplete:s}=e,f=(0,a.useRef)(i);(0,a.useEffect)(()=>{f.current=i},[i]);let g=(0,a.useRef)(s);(0,a.useEffect)(()=>{g.current=s},[s]);let[h,w]=(0,a.useState)(!1),[x,k]=(0,a.useState)(!1),{props:_,meta:z}=(0,d.getImgProps)(e,{defaultLoader:p.default,imgConf:n,blurComplete:h,showAltText:x});return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(y,{..._,unoptimized:z.unoptimized,placeholder:z.placeholder,fill:z.fill,onLoadRef:f,onLoadingCompleteRef:g,setBlurComplete:w,setShowAltText:k,sizesInput:e.sizes,ref:t}),z.preload?(0,l.jsx)(v,{isAppRouter:!r,imgAttributes:_}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},46686:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var o={default:function(){return b},defaultHead:function(){return u}};for(var n in o)Object.defineProperty(t,n,{enumerable:!0,get:o[n]});let l=r(73623),a=r(66388),i=r(95155),s=a._(r(12115)),d=l._(r(76899)),c=r(75368);function u(){return[(0,i.jsx)("meta",{charSet:"utf-8"},"charset"),(0,i.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===s.default.Fragment?e.concat(s.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(47284);let p=["name","httpEquiv","charSet","itemProp"];function f(e){let t,r,o,n;return e.reduce(m,[]).reverse().concat(u().reverse()).filter((t=new Set,r=new Set,o=new Set,n={},e=>{let l=!0,a=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){a=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?l=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?l=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)o.has(r)?l=!1:o.add(r);else{let t=e.props[r],o=n[r]||new Set;("name"!==r||!a)&&o.has(t)?l=!1:(o.add(t),n[r]=o)}}}return l})).reverse().map((e,t)=>{let r=e.key||t;return s.default.cloneElement(e,{key:r})})}let b=function({children:e}){let t=(0,s.useContext)(c.HeadManagerContext);return(0,i.jsx)(d.default,{reduceComponentsToState:f,headManager:t,children:e})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},54850:(e,t,r)=>{let o,n,l;r.d(t,{DX:()=>p});var a=r(12115),i=r.t(a,2);function s(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}var d=r(95155),c=Symbol.for("react.lazy"),u=i[" use ".trim().toString()];function m(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===c&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var p=((l=a.forwardRef((e,t)=>{let{children:r,...o}=e;if(m(r)&&"function"==typeof u&&(r=u(r._payload)),a.isValidElement(r)){var n;let e,l,i=(n=r,(l=(e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?n.ref:(l=(e=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?n.props.ref:n.props.ref||n.ref),d=function(e,t){let r={...t};for(let o in t){let n=e[o],l=t[o];/^on[A-Z]/.test(o)?n&&l?r[o]=(...e)=>{let t=l(...e);return n(...e),t}:n&&(r[o]=n):"style"===o?r[o]={...n,...l}:"className"===o&&(r[o]=[n,l].filter(Boolean).join(" "))}return{...e,...r}}(o,r.props);return r.type!==a.Fragment&&(d.ref=t?function(...e){return t=>{let r=!1,o=e.map(e=>{let o=s(e,t);return r||"function"!=typeof o||(r=!0),o});if(r)return()=>{for(let t=0;t<o.length;t++){let r=o[t];"function"==typeof r?r():s(e[t],null)}}}}(t,i):i),a.cloneElement(r,d)}return a.Children.count(r)>1?a.Children.only(null):null})).displayName="Slot.SlotClone",o=l,(n=a.forwardRef((e,t)=>{let{children:r,...n}=e;m(r)&&"function"==typeof u&&(r=u(r._payload));let l=a.Children.toArray(r),i=l.find(b);if(i){let e=i.props.children,r=l.map(t=>t!==i?t:a.Children.count(e)>1?a.Children.only(null):a.isValidElement(e)?e.props.children:null);return(0,d.jsx)(o,{...n,ref:t,children:a.isValidElement(e)?a.cloneElement(e,void 0,r):null})}return(0,d.jsx)(o,{...n,ref:t,children:r})})).displayName="Slot.Slot",n),f=Symbol("radix.slottable");function b(e){return a.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===f}},55762:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});var r={VALID_LOADERS:function(){return n},imageConfigDefault:function(){return l}};for(var o in r)Object.defineProperty(t,o,{enumerable:!0,get:r[o]});let n=["default","imgix","cloudinary","akamai","custom"],l={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},60751:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return o}});let o=r(73623)._(r(12115)).default.createContext(null)},73321:(e,t,r)=>{var o=r(74645);r.o(o,"useParams")&&r.d(t,{useParams:function(){return o.useParams}}),r.o(o,"usePathname")&&r.d(t,{usePathname:function(){return o.usePathname}}),r.o(o,"useRouter")&&r.d(t,{useRouter:function(){return o.useRouter}}),r.o(o,"useSearchParams")&&r.d(t,{useSearchParams:function(){return o.useSearchParams}})},76899:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let o=r(12115),n=o.useLayoutEffect,l=o.useEffect;function a(e){let{headManager:t,reduceComponentsToState:r}=e;function a(){if(t&&t.mountedInstances){let e=o.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return n(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),n(()=>(t&&(t._pendingUpdate=a),()=>{t&&(t._pendingUpdate=a)})),l(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},95413:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return d}}),r(47284);let o=r(53887),n=r(12590),l=r(55762),a=["-moz-initial","fill","none","scale-down",void 0];function i(e){return void 0!==e.default}function s(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d({src:e,sizes:t,unoptimized:r=!1,priority:c=!1,preload:u=!1,loading:m,className:p,quality:f,width:b,height:g,fill:h=!1,style:y,overrideSrc:v,onLoad:w,onLoadingComplete:x,placeholder:k="empty",blurDataURL:_,fetchPriority:z,decoding:j="async",layout:P,objectFit:O,objectPosition:C,lazyBoundary:S,lazyRoot:E,...R},M){var $;let I,N,D,{imgConf:W,showAltText:A,blurComplete:G,defaultLoader:L}=M,T=W||l.imageConfigDefault;if("allSizes"in T)I=T;else{let e=[...T.deviceSizes,...T.imageSizes].sort((e,t)=>e-t),t=T.deviceSizes.sort((e,t)=>e-t),r=T.qualities?.sort((e,t)=>e-t);I={...T,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===L)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let q=R.loader||L;delete R.loader,delete R.srcSet;let F="__next_img_default"in q;if(F){if("custom"===I.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
3
+ Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=q;q=t=>{let{config:r,...o}=t;return e(o)}}if(P){"fill"===P&&(h=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[P];e&&(y={...y,...e});let r={responsive:"100vw",fill:"100vw"}[P];r&&!t&&(t=r)}let U="",B=s(b),V=s(g);if(($=e)&&"object"==typeof $&&(i($)||void 0!==$.src)){let t=i(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(N=t.blurWidth,D=t.blurHeight,_=_||t.blurDataURL,U=t.src,!h)if(B||V){if(B&&!V){let e=B/t.width;V=Math.round(t.height*e)}else if(!B&&V){let e=V/t.height;B=Math.round(t.width*e)}}else B=t.width,V=t.height}let X=!c&&!u&&("lazy"===m||void 0===m);(!(e="string"==typeof e?e:U)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,X=!1),I.unoptimized&&(r=!0),F&&!I.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let H=s(f),Q=Object.assign(h?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:O,objectPosition:C}:{},A?{}:{color:"transparent"},y),J=G||"empty"===k?null:"blur"===k?`url("data:image/svg+xml;charset=utf-8,${(0,n.getImageBlurSvg)({widthInt:B,heightInt:V,blurWidth:N,blurHeight:D,blurDataURL:_||"",objectFit:Q.objectFit})}")`:`url("${k}")`,Y=a.includes(Q.objectFit)?"fill"===Q.objectFit?"100% 100%":"cover":Q.objectFit,Z=J?{backgroundSize:Y,backgroundPosition:Q.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:J}:{},K=function({config:e,src:t,unoptimized:r,width:n,quality:l,sizes:a,loader:i}){if(r){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,o.getDeploymentId)();if(e){let r=t.indexOf("?");if(-1!==r){let o=new URLSearchParams(t.slice(r+1));o.get("dpl")||(o.append("dpl",e),t=t.slice(0,r)+"?"+o.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:s,kind:d}=function({deviceSizes:e,allSizes:t},r,o){if(o){let r=/(^|\s)(1?\d?\d)vw/g,n=[];for(let e;e=r.exec(o);)n.push(parseInt(e[2]));if(n.length){let r=.01*Math.min(...n);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,n,a),c=s.length-1;return{sizes:a||"w"!==d?a:"100vw",srcSet:s.map((r,o)=>`${i({config:e,src:t,quality:l,width:r})} ${"w"===d?r:o+1}${d}`).join(", "),src:i({config:e,src:t,quality:l,width:s[c]})}}({config:I,src:e,unoptimized:r,width:B,quality:H,sizes:t,loader:q}),ee=X?"lazy":m;return{props:{...R,loading:ee,fetchPriority:z,width:B,height:V,decoding:j,className:p,style:{...Q,...Z},sizes:K.sizes,srcSet:K.srcSet,src:v||K.src},meta:{unoptimized:r,preload:u||c,placeholder:k,fill:h}}}},97651:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var o={default:function(){return c},getImageProps:function(){return d}};for(var n in o)Object.defineProperty(t,n,{enumerable:!0,get:o[n]});let l=r(73623),a=r(95413),i=r(38437),s=l._(r(36095));function d(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:s.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=i.Image}}]);
@@ -0,0 +1,8 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[63230],{49470:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>x});var r=n(95155),s=n(64577),a=n(99314),o=n(81402),c=n(73321),l=n(12115),i=n(1550),u=n(56905),d=n(45160),m=n(89239),f=n(60529);let h=`---
2
+ name: my-agent
3
+ description: What this agent does
4
+ model: sonnet
5
+ ---
6
+
7
+ Your system prompt here.
8
+ `;function x({params:e}){let{name:t}=(0,l.use)(e),n=(0,c.useSearchParams)(),p=(0,c.useRouter)(),g="new"===t,v=n.get("scope")||"user",b=n.get("cwd")||void 0;(0,i.si)(g?"New Agent":"Edit Agent",{hideActions:!0});let[w,j]=(0,l.useState)(g?"":decodeURIComponent(t)),[y,N]=(0,l.useState)(g?h:""),[C,k]=(0,l.useState)(g?h:""),[S,E]=(0,l.useState)(!g),[R,$]=(0,l.useState)(!1),[_,A]=(0,l.useState)(null),[L,z]=(0,l.useState)(!1),P=y!==C;(0,l.useEffect)(()=>{if(g)return;let e=new URLSearchParams({scope:v});b&&e.set("cwd",b),fetch(`/api/agents/${encodeURIComponent(t)}?${e}`).then(e=>{if(!e.ok)throw Error("Not found");return e.json()}).then(e=>{N(e.content),k(e.content)}).catch(()=>{A("Failed to load agent")}).finally(()=>E(!1))},[g,t,v,b]);let U=(0,l.useCallback)(async()=>{let e=w.trim();if(!e)return void A("Name is required");if(!/^[a-zA-Z0-9_-]+$/.test(e))return void A("Name can only contain letters, numbers, hyphens, and underscores");$(!0),A(null);try{if(!(await fetch(`/api/agents/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({scope:v,cwd:b,content:y})})).ok)throw Error("Save failed");if(k(y),A("Saved"),g){let t=new URLSearchParams({scope:v});b&&t.set("cwd",b),p.replace(`/agents/${encodeURIComponent(e)}?${t}`)}}catch{A("Failed to save")}finally{$(!1)}},[w,y,v,b,g,p]);return S?(0,r.jsx)("div",{className:"flex-1 min-h-0 p-4",children:(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading..."})}):(0,r.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"flex-1 min-w-0",children:g?(0,r.jsx)(f.p,{placeholder:"agent-name",value:w,onChange:e=>j(e.target.value),className:"font-mono"}):(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"font-mono font-bold text-lg",children:w}),(0,r.jsx)(d.E,{variant:"secondary",children:"user"===v?"Global":"Project"})]})}),(0,r.jsxs)(m.$,{size:"sm",variant:"outline",onClick:()=>{let e=document.createElement("textarea");e.value=y,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e),z(!0),setTimeout(()=>z(!1),1500)},children:[L?(0,r.jsx)(s.A,{className:"h-4 w-4 mr-1"}):(0,r.jsx)(a.A,{className:"h-4 w-4 mr-1"}),L?"Copied":"Copy"]}),(0,r.jsxs)(m.$,{size:"sm",onClick:U,disabled:R||!g&&!P,children:[(0,r.jsx)(o.A,{className:"h-4 w-4 mr-1"}),R?"Saving...":"Save"]})]}),_&&(0,r.jsx)("p",{className:`text-sm ${"Saved"===_?"text-green-600":"text-destructive"}`,children:_}),(0,r.jsx)(u.n,{value:y,onChange:N,onSave:U,className:"flex-1 min-h-0"})]})}},56905:(e,t,n)=>{"use strict";n.d(t,{n:()=>d});var r=n(95155),s=n(18986),a=n(25182),o=n(12115),c=n(98757),l=n(64233),i=n(40980);let u="cockpit-md-editor-preview";function d({value:e,onChange:t,onSave:n,className:f}){let[h,x]=(0,o.useState)(!1);(0,o.useEffect)(()=>{"1"===localStorage.getItem(u)&&x(!0)},[]);let p=(0,o.useCallback)(e=>{x(e),localStorage.setItem(u,e?"1":"0")},[]);return(0,r.jsxs)("div",{className:(0,i.cn)("flex flex-col min-h-0 overflow-hidden rounded-md border bg-background",f),children:[(0,r.jsxs)("div",{className:"shrink-0 flex items-center gap-1 border-b bg-muted/30 px-2 py-1",children:[(0,r.jsx)(m,{active:!h,icon:(0,r.jsx)(s.A,{className:"h-3.5 w-3.5"}),label:"Edit",onClick:()=>p(!1)}),(0,r.jsx)(m,{active:h,icon:(0,r.jsx)(a.A,{className:"h-3.5 w-3.5"}),label:"Preview",onClick:()=>p(!0)})]}),h?(0,r.jsx)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4",children:e.trim()?(0,r.jsx)(l.Y,{content:e}):(0,r.jsx)("p",{className:"text-sm text-muted-foreground italic",children:"Nothing to preview."})}):(0,r.jsx)(c.B,{value:e,onChange:t,language:"markdown",onSave:n,className:"flex-1 min-h-0 rounded-none border-0 [&_.cm-editor]:h-full [&_.cm-editor]:min-h-[300px]"})]})}function m({active:e,icon:t,label:n,onClick:s}){return(0,r.jsxs)("button",{type:"button",onClick:s,"aria-pressed":e,className:(0,i.cn)("inline-flex items-center gap-1.5 rounded px-2 py-0.5 text-xs transition-colors",e?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[t,n]})}},60470:(e,t,n)=>{Promise.resolve().then(n.bind(n,49470))},98757:(e,t,n)=>{"use strict";n.d(t,{B:()=>h});var r=n(95155),s=n(13748),a=n(53649),o=n(27071),c=n(74059),l=n(89561),i=n(62465),u=n(12115);let d=l.Lz.theme({"&":{backgroundColor:"transparent"},".cm-gutters":{backgroundColor:"transparent",borderRight:"1px solid hsl(var(--border))"}});function m(){return!("u"<typeof document)&&document.documentElement.classList.contains("dark")}function f(e){switch(e){case"markdown":default:return(0,s.wD)();case"yaml":return(0,a.oQ)()}}function h({value:e,onChange:t,language:n,readOnly:s,className:a,onSave:x}){let p=(0,u.useRef)(null),g=(0,u.useRef)(null),v=(0,u.useRef)(new o.xx),b=(0,u.useRef)(new o.xx),w=(0,u.useRef)(new o.xx),j=(0,u.useRef)(t),y=(0,u.useRef)(x),N=(0,u.useRef)(e);return j.current=t,y.current=x,(0,u.useEffect)(()=>{if(!p.current)return;let e=o.$t.create({doc:N.current,extensions:[i.oQ,l.Lz.lineWrapping,v.current.of(m()?c.bM:d),b.current.of(f(n)),w.current.of(o.$t.readOnly.of(!!s)),l.w4.of([{key:"Mod-s",run:()=>(y.current?.(),!0)}]),l.Lz.updateListener.of(e=>{if(e.docChanged){let t=e.state.doc.toString();N.current=t,j.current(t)}})]}),t=new l.Lz({state:e,parent:p.current});return g.current=t,()=>{t.destroy(),g.current=null}},[]),(0,u.useEffect)(()=>{let t=g.current;t&&e!==N.current&&(N.current=e,t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e}}))},[e]),(0,u.useEffect)(()=>{let e=g.current;if(!e)return;let t=new MutationObserver(()=>{e.dispatch({effects:v.current.reconfigure(m()?c.bM:d)})});return t.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>t.disconnect()},[]),(0,u.useEffect)(()=>{let e=g.current;e&&e.dispatch({effects:b.current.reconfigure(f(n))})},[n]),(0,u.useEffect)(()=>{let e=g.current;e&&e.dispatch({effects:w.current.reconfigure(o.$t.readOnly.of(!!s))})},[s]),(0,r.jsx)("div",{ref:p,className:`overflow-auto rounded-md border bg-background text-sm [&_.cm-editor]:min-h-[200px] [&_.cm-editor.cm-focused]:outline-none ${a||""}`})}}},e=>{e.O(0,[6079,989,25781,6802,1550,28441,93794,77358],()=>e(e.s=60470)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[35130],{49194:(e,s,t)=>{Promise.resolve().then(t.bind(t,86646))},86646:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>h});var n=t(95155),a=t(2125),c=t(65738),l=t(73321),r=t(12115),o=t(3765),i=t(45160),d=t(89239),m=t(81477),u=t(42763);function h(){(0,o.si)("Agents",{hideActions:!0});let e="u">typeof localStorage&&localStorage.getItem("cockpit-agents-cwd")||void 0,{agents:s,loading:t,deleteAgent:c}=function(e){let[s,t]=(0,r.useState)([]),[n,a]=(0,r.useState)(!0),c=(0,r.useCallback)(()=>{a(!0);let s=new URLSearchParams;e&&s.set("cwd",e),fetch(`/api/agents?${s}`).then(e=>e.json()).then(e=>t(e.agents)).catch(()=>t([])).finally(()=>a(!1))},[e]);(0,r.useEffect)(()=>{c()},[c]);let l=(0,r.useCallback)(async(s,t)=>{let n=new URLSearchParams({scope:t});"project"===t&&e&&n.set("cwd",e);try{if((await fetch(`/api/agents/${encodeURIComponent(s)}?${n}`,{method:"DELETE"})).ok)return c(),!0;return!1}catch{return!1}},[e,c]);return{agents:s,loading:n,refresh:c,deleteAgent:l}}(e),i=(0,l.useRouter)(),[h,p]=(0,r.useState)(null),[j,f]=(0,r.useState)(!1),g=s.filter(e=>"user"===e.scope),N=s.filter(e=>"project"===e.scope);function b(s){f(!1);let t=new URLSearchParams({scope:s});"project"===s&&e&&t.set("cwd",e),i.push(`/agents/new?${t}`)}function v(s,t){let n=new URLSearchParams({scope:t});"project"===t&&e&&n.set("cwd",e),i.push(`/agents/${encodeURIComponent(s)}?${n}`)}async function w(){h&&(await c(h.name,h.scope),p(null))}return(0,n.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("div",{}),(0,n.jsxs)(d.$,{size:"sm",onClick:()=>f(!0),children:[(0,n.jsx)(a.A,{className:"h-4 w-4 mr-1"}),"New Agent"]})]}),t&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading agents..."}),!t&&0===s.length&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"No custom agents found. Create one to get started."}),g.length>0&&(0,n.jsxs)(m.Zp,{children:[(0,n.jsx)(m.aR,{children:(0,n.jsx)(m.ZB,{className:"text-base",children:"Global"})}),(0,n.jsx)(m.Wu,{className:"space-y-1",children:g.map(e=>(0,n.jsx)(x,{name:e.name,scope:"user",description:e.description,onClick:()=>v(e.name,"user"),onDelete:()=>p({name:e.name,scope:"user"})},e.name))})]}),N.length>0&&(0,n.jsxs)(m.Zp,{children:[(0,n.jsx)(m.aR,{children:(0,n.jsx)(m.ZB,{className:"text-base",children:"Project"})}),(0,n.jsx)(m.Wu,{className:"space-y-1",children:N.map(e=>(0,n.jsx)(x,{name:e.name,scope:"project",description:e.description,onClick:()=>v(e.name,"project"),onDelete:()=>p({name:e.name,scope:"project"})},e.name))})]}),(0,n.jsx)(u.lG,{open:j,onOpenChange:f,children:(0,n.jsxs)(u.Cf,{children:[(0,n.jsx)(u.c7,{children:(0,n.jsx)(u.L3,{children:"New Agent"})}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Where should this agent be saved?"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(d.$,{variant:"outline",className:"flex-1",onClick:()=>b("user"),children:"Global"}),(0,n.jsx)(d.$,{variant:"outline",className:"flex-1",onClick:()=>b("project"),disabled:!e,children:"Project"})]})]})}),(0,n.jsx)(u.lG,{open:!!h,onOpenChange:()=>p(null),children:(0,n.jsxs)(u.Cf,{children:[(0,n.jsx)(u.c7,{children:(0,n.jsx)(u.L3,{children:"Delete Agent"})}),(0,n.jsxs)("p",{className:"text-sm text-muted-foreground mb-4",children:["Delete ",(0,n.jsx)("span",{className:"font-mono font-bold",children:h?.name}),"? This cannot be undone."]}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(d.$,{variant:"outline",onClick:()=>p(null),children:"Cancel"}),(0,n.jsx)(d.$,{variant:"destructive",onClick:w,children:"Delete"})]})]})})]})}function x({name:e,scope:s,description:t,onClick:a,onDelete:l}){return(0,n.jsxs)("div",{className:"flex items-center gap-3 rounded px-2 py-2 hover:bg-muted transition-colors",children:[(0,n.jsxs)("button",{type:"button",className:"flex-1 text-left min-w-0",onClick:a,children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono font-bold text-sm",children:e}),(0,n.jsx)(i.E,{variant:"secondary",className:"text-[10px]",children:"user"===s?"Global":"Project"})]}),t&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:t})]}),(0,n.jsx)("button",{type:"button",className:"shrink-0 p-1 rounded hover:bg-destructive/10 text-muted-foreground hover:text-destructive transition-colors",onClick:e=>{e.stopPropagation(),l()},children:(0,n.jsx)(c.A,{className:"h-4 w-4"})})]})}}},e=>{e.O(0,[989,41487,3765,28441,93794,77358],()=>e(e.s=49194)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[35130],{49194:(e,s,t)=>{Promise.resolve().then(t.bind(t,86646))},86646:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>h});var n=t(95155),a=t(2125),c=t(65738),l=t(73321),r=t(12115),o=t(1550),i=t(45160),d=t(89239),m=t(81477),u=t(42763);function h(){(0,o.si)("Agents",{hideActions:!0});let e="u">typeof localStorage&&localStorage.getItem("cockpit-agents-cwd")||void 0,{agents:s,loading:t,deleteAgent:c}=function(e){let[s,t]=(0,r.useState)([]),[n,a]=(0,r.useState)(!0),c=(0,r.useCallback)(()=>{a(!0);let s=new URLSearchParams;e&&s.set("cwd",e),fetch(`/api/agents?${s}`).then(e=>e.json()).then(e=>t(e.agents)).catch(()=>t([])).finally(()=>a(!1))},[e]);(0,r.useEffect)(()=>{c()},[c]);let l=(0,r.useCallback)(async(s,t)=>{let n=new URLSearchParams({scope:t});"project"===t&&e&&n.set("cwd",e);try{if((await fetch(`/api/agents/${encodeURIComponent(s)}?${n}`,{method:"DELETE"})).ok)return c(),!0;return!1}catch{return!1}},[e,c]);return{agents:s,loading:n,refresh:c,deleteAgent:l}}(e),i=(0,l.useRouter)(),[h,p]=(0,r.useState)(null),[j,f]=(0,r.useState)(!1),g=s.filter(e=>"user"===e.scope),N=s.filter(e=>"project"===e.scope);function b(s){f(!1);let t=new URLSearchParams({scope:s});"project"===s&&e&&t.set("cwd",e),i.push(`/agents/new?${t}`)}function v(s,t){let n=new URLSearchParams({scope:t});"project"===t&&e&&n.set("cwd",e),i.push(`/agents/${encodeURIComponent(s)}?${n}`)}async function w(){h&&(await c(h.name,h.scope),p(null))}return(0,n.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("div",{}),(0,n.jsxs)(d.$,{size:"sm",onClick:()=>f(!0),children:[(0,n.jsx)(a.A,{className:"h-4 w-4 mr-1"}),"New Agent"]})]}),t&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading agents..."}),!t&&0===s.length&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"No custom agents found. Create one to get started."}),g.length>0&&(0,n.jsxs)(m.Zp,{children:[(0,n.jsx)(m.aR,{children:(0,n.jsx)(m.ZB,{className:"text-base",children:"Global"})}),(0,n.jsx)(m.Wu,{className:"space-y-1",children:g.map(e=>(0,n.jsx)(x,{name:e.name,scope:"user",description:e.description,onClick:()=>v(e.name,"user"),onDelete:()=>p({name:e.name,scope:"user"})},e.name))})]}),N.length>0&&(0,n.jsxs)(m.Zp,{children:[(0,n.jsx)(m.aR,{children:(0,n.jsx)(m.ZB,{className:"text-base",children:"Project"})}),(0,n.jsx)(m.Wu,{className:"space-y-1",children:N.map(e=>(0,n.jsx)(x,{name:e.name,scope:"project",description:e.description,onClick:()=>v(e.name,"project"),onDelete:()=>p({name:e.name,scope:"project"})},e.name))})]}),(0,n.jsx)(u.lG,{open:j,onOpenChange:f,children:(0,n.jsxs)(u.Cf,{children:[(0,n.jsx)(u.c7,{children:(0,n.jsx)(u.L3,{children:"New Agent"})}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Where should this agent be saved?"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(d.$,{variant:"outline",className:"flex-1",onClick:()=>b("user"),children:"Global"}),(0,n.jsx)(d.$,{variant:"outline",className:"flex-1",onClick:()=>b("project"),disabled:!e,children:"Project"})]})]})}),(0,n.jsx)(u.lG,{open:!!h,onOpenChange:()=>p(null),children:(0,n.jsxs)(u.Cf,{children:[(0,n.jsx)(u.c7,{children:(0,n.jsx)(u.L3,{children:"Delete Agent"})}),(0,n.jsxs)("p",{className:"text-sm text-muted-foreground mb-4",children:["Delete ",(0,n.jsx)("span",{className:"font-mono font-bold",children:h?.name}),"? This cannot be undone."]}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(d.$,{variant:"outline",onClick:()=>p(null),children:"Cancel"}),(0,n.jsx)(d.$,{variant:"destructive",onClick:w,children:"Delete"})]})]})})]})}function x({name:e,scope:s,description:t,onClick:a,onDelete:l}){return(0,n.jsxs)("div",{className:"flex items-center gap-3 rounded px-2 py-2 hover:bg-muted transition-colors",children:[(0,n.jsxs)("button",{type:"button",className:"flex-1 text-left min-w-0",onClick:a,children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono font-bold text-sm",children:e}),(0,n.jsx)(i.E,{variant:"secondary",className:"text-[10px]",children:"user"===s?"Global":"Project"})]}),t&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:t})]}),(0,n.jsx)("button",{type:"button",className:"shrink-0 p-1 rounded hover:bg-destructive/10 text-muted-foreground hover:text-destructive transition-colors",onClick:e=>{e.stopPropagation(),l()},children:(0,n.jsx)(c.A,{className:"h-4 w-4"})})]})}}},e=>{e.O(0,[989,25781,1550,28441,93794,77358],()=>e(e.s=49194)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[32805],{54669:(e,t,n)=>{Promise.resolve().then(n.bind(n,55165))},55165:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>x});var r=n(95155),s=n(64577),c=n(99314),a=n(81402),l=n(73321),o=n(12115),i=n(1550),d=n(56905),u=n(45160),m=n(89239);let f={user:{title:"~/.claude/CLAUDE.md",badge:"Global"},project:{title:"CLAUDE.md",badge:"Project"},"project-hidden":{title:".claude/CLAUDE.md",badge:"Project"}};function x(){let e=(0,l.useSearchParams)(),t=e.get("scope")||"user",n=e.get("cwd")||void 0,x=f[t];(0,i.si)("Edit CLAUDE.md",{hideActions:!0});let[h,p]=(0,o.useState)(""),[g,v]=(0,o.useState)(""),[b,j]=(0,o.useState)(!0),[w,N]=(0,o.useState)(!1),[k,y]=(0,o.useState)(null),[C,E]=(0,o.useState)(!1),S=h!==g;(0,o.useEffect)(()=>{let e=new URLSearchParams({scope:t});n&&e.set("cwd",n),fetch(`/api/claude-md?${e}`).then(e=>e.json()).then(e=>{p(e.content),v(e.content)}).catch(()=>y("Failed to load")).finally(()=>j(!1))},[t,n]);let L=(0,o.useCallback)(async()=>{N(!0),y(null);try{if(!(await fetch("/api/claude-md",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({scope:t,cwd:n,content:h})})).ok)throw Error("Save failed");v(h),y("Saved")}catch{y("Failed to save")}finally{N(!1)}},[t,n,h]);return b?(0,r.jsx)("div",{className:"flex-1 min-h-0 p-4",children:(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading..."})}):(0,r.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col p-4 gap-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[(0,r.jsx)("span",{className:"font-mono font-bold text-sm truncate",children:x.title}),(0,r.jsx)(u.E,{variant:"secondary",className:"shrink-0",children:x.badge})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[k&&(0,r.jsx)("p",{className:`text-sm ${"Saved"===k?"text-green-600":"text-destructive"}`,children:k}),(0,r.jsxs)(m.$,{size:"sm",variant:"outline",onClick:()=>{let e=document.createElement("textarea");e.value=h,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e),E(!0),setTimeout(()=>E(!1),1500)},children:[C?(0,r.jsx)(s.A,{className:"h-4 w-4 mr-1"}):(0,r.jsx)(c.A,{className:"h-4 w-4 mr-1"}),C?"Copied":"Copy"]}),(0,r.jsxs)(m.$,{size:"sm",onClick:L,disabled:w||!S,children:[(0,r.jsx)(a.A,{className:"h-4 w-4 mr-1"}),w?"Saving...":"Save"]})]})]}),(0,r.jsx)("div",{className:"flex-1 min-h-0",children:(0,r.jsx)(d.n,{value:h,onChange:e=>{p(e),y(null)},onSave:L,className:"h-full"})})]})}},56905:(e,t,n)=>{"use strict";n.d(t,{n:()=>u});var r=n(95155),s=n(18986),c=n(25182),a=n(12115),l=n(98757),o=n(64233),i=n(40980);let d="cockpit-md-editor-preview";function u({value:e,onChange:t,onSave:n,className:f}){let[x,h]=(0,a.useState)(!1);(0,a.useEffect)(()=>{"1"===localStorage.getItem(d)&&h(!0)},[]);let p=(0,a.useCallback)(e=>{h(e),localStorage.setItem(d,e?"1":"0")},[]);return(0,r.jsxs)("div",{className:(0,i.cn)("flex flex-col min-h-0 overflow-hidden rounded-md border bg-background",f),children:[(0,r.jsxs)("div",{className:"shrink-0 flex items-center gap-1 border-b bg-muted/30 px-2 py-1",children:[(0,r.jsx)(m,{active:!x,icon:(0,r.jsx)(s.A,{className:"h-3.5 w-3.5"}),label:"Edit",onClick:()=>p(!1)}),(0,r.jsx)(m,{active:x,icon:(0,r.jsx)(c.A,{className:"h-3.5 w-3.5"}),label:"Preview",onClick:()=>p(!0)})]}),x?(0,r.jsx)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4",children:e.trim()?(0,r.jsx)(o.Y,{content:e}):(0,r.jsx)("p",{className:"text-sm text-muted-foreground italic",children:"Nothing to preview."})}):(0,r.jsx)(l.B,{value:e,onChange:t,language:"markdown",onSave:n,className:"flex-1 min-h-0 rounded-none border-0 [&_.cm-editor]:h-full [&_.cm-editor]:min-h-[300px]"})]})}function m({active:e,icon:t,label:n,onClick:s}){return(0,r.jsxs)("button",{type:"button",onClick:s,"aria-pressed":e,className:(0,i.cn)("inline-flex items-center gap-1.5 rounded px-2 py-0.5 text-xs transition-colors",e?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[t,n]})}},98757:(e,t,n)=>{"use strict";n.d(t,{B:()=>x});var r=n(95155),s=n(13748),c=n(53649),a=n(27071),l=n(74059),o=n(89561),i=n(62465),d=n(12115);let u=o.Lz.theme({"&":{backgroundColor:"transparent"},".cm-gutters":{backgroundColor:"transparent",borderRight:"1px solid hsl(var(--border))"}});function m(){return!("u"<typeof document)&&document.documentElement.classList.contains("dark")}function f(e){switch(e){case"markdown":default:return(0,s.wD)();case"yaml":return(0,c.oQ)()}}function x({value:e,onChange:t,language:n,readOnly:s,className:c,onSave:h}){let p=(0,d.useRef)(null),g=(0,d.useRef)(null),v=(0,d.useRef)(new a.xx),b=(0,d.useRef)(new a.xx),j=(0,d.useRef)(new a.xx),w=(0,d.useRef)(t),N=(0,d.useRef)(h),k=(0,d.useRef)(e);return w.current=t,N.current=h,(0,d.useEffect)(()=>{if(!p.current)return;let e=a.$t.create({doc:k.current,extensions:[i.oQ,o.Lz.lineWrapping,v.current.of(m()?l.bM:u),b.current.of(f(n)),j.current.of(a.$t.readOnly.of(!!s)),o.w4.of([{key:"Mod-s",run:()=>(N.current?.(),!0)}]),o.Lz.updateListener.of(e=>{if(e.docChanged){let t=e.state.doc.toString();k.current=t,w.current(t)}})]}),t=new o.Lz({state:e,parent:p.current});return g.current=t,()=>{t.destroy(),g.current=null}},[]),(0,d.useEffect)(()=>{let t=g.current;t&&e!==k.current&&(k.current=e,t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e}}))},[e]),(0,d.useEffect)(()=>{let e=g.current;if(!e)return;let t=new MutationObserver(()=>{e.dispatch({effects:v.current.reconfigure(m()?l.bM:u)})});return t.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>t.disconnect()},[]),(0,d.useEffect)(()=>{let e=g.current;e&&e.dispatch({effects:b.current.reconfigure(f(n))})},[n]),(0,d.useEffect)(()=>{let e=g.current;e&&e.dispatch({effects:j.current.reconfigure(a.$t.readOnly.of(!!s))})},[s]),(0,r.jsx)("div",{ref:p,className:`overflow-auto rounded-md border bg-background text-sm [&_.cm-editor]:min-h-[200px] [&_.cm-editor.cm-focused]:outline-none ${c||""}`})}}},e=>{e.O(0,[6079,989,25781,6802,1550,28441,93794,77358],()=>e(e.s=54669)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[29604],{38316:(e,s,t)=>{Promise.resolve().then(t.bind(t,80520))},80520:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>h});var n=t(95155),l=t(2125),c=t(73321),r=t(12115),a=t(3765),i=t(45160),o=t(89239),d=t(81477),u=t(42763),x=t(53972);function h(){(0,a.si)("CLAUDE.md",{hideActions:!0});let{files:e,cwds:s,loading:t}=function(){let[e,s]=(0,r.useState)([]),[t,n]=(0,r.useState)([]),[l,c]=(0,r.useState)(!0),a=(0,r.useCallback)(()=>{c(!0),fetch("/api/claude-md").then(e=>e.json()).then(e=>{s(e.files),n(e.cwds)}).catch(()=>{s([]),n([])}).finally(()=>c(!1))},[]);return(0,r.useEffect)(()=>{a()},[a]),{files:e,cwds:t,loading:l,refresh:a}}(),i=(0,c.useRouter)(),[u,h]=(0,r.useState)(!1);function f(e){let s=new URLSearchParams({scope:e.scope});e.cwd&&s.set("cwd",e.cwd),i.push(`/claude-md/edit?${s}`)}let j=e.find(e=>"user"===e.scope),w=e.filter(e=>"user"!==e.scope),N=new Map;for(let e of w){if(!e.cwd)continue;let s=N.get(e.cwd)||[];s.push(e),N.set(e.cwd,s)}let C=new Set;for(let e of w)e.cwd&&e.exists&&C.add(e.cwd);let g=s.filter(e=>(N.get(e)||[]).filter(e=>e.exists).length<2);return(0,n.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("div",{}),g.length>0&&(0,n.jsxs)(o.$,{size:"sm",onClick:()=>h(!0),children:[(0,n.jsx)(l.A,{className:"h-4 w-4 mr-1"}),"New"]})]}),t&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading..."}),!t&&j&&(0,n.jsxs)(d.Zp,{children:[(0,n.jsx)(d.aR,{children:(0,n.jsx)(d.ZB,{className:"text-base",children:"Global"})}),(0,n.jsx)(d.Wu,{className:"space-y-1",children:(0,n.jsx)(m,{file:j,onClick:()=>f(j)})})]}),!t&&Array.from(N.entries()).map(([e,s])=>{let t=s.filter(e=>e.exists);if(0===t.length)return null;let l=(0,x.uk)(e)||e;return(0,n.jsxs)(d.Zp,{children:[(0,n.jsx)(d.aR,{children:(0,n.jsx)(d.ZB,{className:"text-base",children:l})}),(0,n.jsx)(d.Wu,{className:"space-y-1",children:t.map(e=>(0,n.jsx)(m,{file:e,onClick:()=>f(e)},e.scope))})]},e)}),(0,n.jsx)(p,{open:u,onOpenChange:h,cwds:g,byCwd:N,onSelect:function(e,s){h(!1);let t=new URLSearchParams({scope:e,cwd:s});i.push(`/claude-md/edit?${t}`)}})]})}function m({file:e,onClick:s}){return(0,n.jsx)("button",{type:"button",className:"flex w-full items-center gap-3 rounded px-2 py-2 hover:bg-muted transition-colors text-left",onClick:s,children:(0,n.jsx)("div",{className:"flex-1 min-w-0",children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono font-bold text-sm",children:function(e){switch(e){case"user":return"~/.claude/CLAUDE.md";case"project":return"CLAUDE.md";case"project-hidden":return".claude/CLAUDE.md"}}(e.scope)}),(0,n.jsx)(i.E,{variant:"secondary",className:"text-[10px]",children:"user"===e.scope?"Global":"Project"})]})})})}function p({open:e,onOpenChange:s,cwds:t,byCwd:l,onSelect:c}){let[a,i]=(0,r.useState)(null);function d(e){let s=l.get(e)||[],t=[];return s.some(e=>"project"===e.scope&&e.exists)||t.push("project"),s.some(e=>"project-hidden"===e.scope&&e.exists)||t.push("project-hidden"),t}return(0,n.jsx)(u.lG,{open:e,onOpenChange:e=>{s(e),e||i(null)},children:(0,n.jsxs)(u.Cf,{children:[(0,n.jsx)(u.c7,{children:(0,n.jsx)(u.L3,{children:a?"Choose type":"Choose project"})}),!a&&(0,n.jsx)("div",{className:"space-y-1 max-h-64 overflow-y-auto",children:t.map(e=>{let s=(0,x.uk)(e)||e;return(0,n.jsxs)("button",{className:"flex w-full items-center rounded px-3 py-2 text-sm hover:bg-muted transition-colors text-left",onClick:()=>{let s;1===(s=d(e)).length?c(s[0],e):i(e)},children:[(0,n.jsx)("span",{className:"font-mono",children:s}),(0,n.jsx)("span",{className:"ml-2 text-xs text-muted-foreground truncate",children:e})]},e)})}),a&&(0,n.jsx)("div",{className:"flex gap-2",children:d(a).map(e=>(0,n.jsx)(o.$,{variant:"outline",className:"flex-1",onClick:()=>c(e,a),children:"project"===e?"CLAUDE.md":".claude/CLAUDE.md"},e))})]})})}}},e=>{e.O(0,[989,41487,3765,28441,93794,77358],()=>e(e.s=38316)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[29604],{38316:(e,s,t)=>{Promise.resolve().then(t.bind(t,80520))},80520:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>h});var n=t(95155),l=t(2125),c=t(73321),r=t(12115),a=t(1550),i=t(45160),o=t(89239),d=t(81477),u=t(42763),x=t(53972);function h(){(0,a.si)("CLAUDE.md",{hideActions:!0});let{files:e,cwds:s,loading:t}=function(){let[e,s]=(0,r.useState)([]),[t,n]=(0,r.useState)([]),[l,c]=(0,r.useState)(!0),a=(0,r.useCallback)(()=>{c(!0),fetch("/api/claude-md").then(e=>e.json()).then(e=>{s(e.files),n(e.cwds)}).catch(()=>{s([]),n([])}).finally(()=>c(!1))},[]);return(0,r.useEffect)(()=>{a()},[a]),{files:e,cwds:t,loading:l,refresh:a}}(),i=(0,c.useRouter)(),[u,h]=(0,r.useState)(!1);function f(e){let s=new URLSearchParams({scope:e.scope});e.cwd&&s.set("cwd",e.cwd),i.push(`/claude-md/edit?${s}`)}let j=e.find(e=>"user"===e.scope),w=e.filter(e=>"user"!==e.scope),N=new Map;for(let e of w){if(!e.cwd)continue;let s=N.get(e.cwd)||[];s.push(e),N.set(e.cwd,s)}let C=new Set;for(let e of w)e.cwd&&e.exists&&C.add(e.cwd);let g=s.filter(e=>(N.get(e)||[]).filter(e=>e.exists).length<2);return(0,n.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("div",{}),g.length>0&&(0,n.jsxs)(o.$,{size:"sm",onClick:()=>h(!0),children:[(0,n.jsx)(l.A,{className:"h-4 w-4 mr-1"}),"New"]})]}),t&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading..."}),!t&&j&&(0,n.jsxs)(d.Zp,{children:[(0,n.jsx)(d.aR,{children:(0,n.jsx)(d.ZB,{className:"text-base",children:"Global"})}),(0,n.jsx)(d.Wu,{className:"space-y-1",children:(0,n.jsx)(m,{file:j,onClick:()=>f(j)})})]}),!t&&Array.from(N.entries()).map(([e,s])=>{let t=s.filter(e=>e.exists);if(0===t.length)return null;let l=(0,x.uk)(e)||e;return(0,n.jsxs)(d.Zp,{children:[(0,n.jsx)(d.aR,{children:(0,n.jsx)(d.ZB,{className:"text-base",children:l})}),(0,n.jsx)(d.Wu,{className:"space-y-1",children:t.map(e=>(0,n.jsx)(m,{file:e,onClick:()=>f(e)},e.scope))})]},e)}),(0,n.jsx)(p,{open:u,onOpenChange:h,cwds:g,byCwd:N,onSelect:function(e,s){h(!1);let t=new URLSearchParams({scope:e,cwd:s});i.push(`/claude-md/edit?${t}`)}})]})}function m({file:e,onClick:s}){return(0,n.jsx)("button",{type:"button",className:"flex w-full items-center gap-3 rounded px-2 py-2 hover:bg-muted transition-colors text-left",onClick:s,children:(0,n.jsx)("div",{className:"flex-1 min-w-0",children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono font-bold text-sm",children:function(e){switch(e){case"user":return"~/.claude/CLAUDE.md";case"project":return"CLAUDE.md";case"project-hidden":return".claude/CLAUDE.md"}}(e.scope)}),(0,n.jsx)(i.E,{variant:"secondary",className:"text-[10px]",children:"user"===e.scope?"Global":"Project"})]})})})}function p({open:e,onOpenChange:s,cwds:t,byCwd:l,onSelect:c}){let[a,i]=(0,r.useState)(null);function d(e){let s=l.get(e)||[],t=[];return s.some(e=>"project"===e.scope&&e.exists)||t.push("project"),s.some(e=>"project-hidden"===e.scope&&e.exists)||t.push("project-hidden"),t}return(0,n.jsx)(u.lG,{open:e,onOpenChange:e=>{s(e),e||i(null)},children:(0,n.jsxs)(u.Cf,{children:[(0,n.jsx)(u.c7,{children:(0,n.jsx)(u.L3,{children:a?"Choose type":"Choose project"})}),!a&&(0,n.jsx)("div",{className:"space-y-1 max-h-64 overflow-y-auto",children:t.map(e=>{let s=(0,x.uk)(e)||e;return(0,n.jsxs)("button",{className:"flex w-full items-center rounded px-3 py-2 text-sm hover:bg-muted transition-colors text-left",onClick:()=>{let s;1===(s=d(e)).length?c(s[0],e):i(e)},children:[(0,n.jsx)("span",{className:"font-mono",children:s}),(0,n.jsx)("span",{className:"ml-2 text-xs text-muted-foreground truncate",children:e})]},e)})}),a&&(0,n.jsx)("div",{className:"flex gap-2",children:d(a).map(e=>(0,n.jsx)(o.$,{variant:"outline",className:"flex-1",onClick:()=>c(e,a),children:"project"===e?"CLAUDE.md":".claude/CLAUDE.md"},e))})]})})}}},e=>{e.O(0,[989,25781,1550,28441,93794,77358],()=>e(e.s=38316)),_N_E=e.O()}]);
@@ -0,0 +1,6 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[36994],{56905:(e,t,n)=>{"use strict";n.d(t,{n:()=>u});var r=n(95155),s=n(18986),o=n(25182),a=n(12115),c=n(98757),l=n(64233),i=n(40980);let d="cockpit-md-editor-preview";function u({value:e,onChange:t,onSave:n,className:f}){let[h,x]=(0,a.useState)(!1);(0,a.useEffect)(()=>{"1"===localStorage.getItem(d)&&x(!0)},[]);let p=(0,a.useCallback)(e=>{x(e),localStorage.setItem(d,e?"1":"0")},[]);return(0,r.jsxs)("div",{className:(0,i.cn)("flex flex-col min-h-0 overflow-hidden rounded-md border bg-background",f),children:[(0,r.jsxs)("div",{className:"shrink-0 flex items-center gap-1 border-b bg-muted/30 px-2 py-1",children:[(0,r.jsx)(m,{active:!h,icon:(0,r.jsx)(s.A,{className:"h-3.5 w-3.5"}),label:"Edit",onClick:()=>p(!1)}),(0,r.jsx)(m,{active:h,icon:(0,r.jsx)(o.A,{className:"h-3.5 w-3.5"}),label:"Preview",onClick:()=>p(!0)})]}),h?(0,r.jsx)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4",children:e.trim()?(0,r.jsx)(l.Y,{content:e}):(0,r.jsx)("p",{className:"text-sm text-muted-foreground italic",children:"Nothing to preview."})}):(0,r.jsx)(c.B,{value:e,onChange:t,language:"markdown",onSave:n,className:"flex-1 min-h-0 rounded-none border-0 [&_.cm-editor]:h-full [&_.cm-editor]:min-h-[300px]"})]})}function m({active:e,icon:t,label:n,onClick:s}){return(0,r.jsxs)("button",{type:"button",onClick:s,"aria-pressed":e,className:(0,i.cn)("inline-flex items-center gap-1.5 rounded px-2 py-0.5 text-xs transition-colors",e?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[t,n]})}},96326:(e,t,n)=>{Promise.resolve().then(n.bind(n,98334))},98334:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>x});var r=n(95155),s=n(64577),o=n(99314),a=n(81402),c=n(73321),l=n(12115),i=n(1550),d=n(56905),u=n(45160),m=n(89239),f=n(60529);let h=`---
2
+ description: What this command does
3
+ ---
4
+
5
+ Your command prompt here. Use $ARGUMENTS for user input.
6
+ `;function x({params:e}){let{name:t}=(0,l.use)(e),n=(0,c.useSearchParams)(),p=(0,c.useRouter)(),v="new"===t,g=n.get("scope")||"user",b=n.get("cwd")||void 0;(0,i.si)(v?"New Command":"Edit Command",{hideActions:!0});let[w,N]=(0,l.useState)(v?"":decodeURIComponent(t)),[j,y]=(0,l.useState)(v?h:""),[C,k]=(0,l.useState)(v?h:""),[S,E]=(0,l.useState)(!v),[R,$]=(0,l.useState)(!1),[_,L]=(0,l.useState)(null),[U,A]=(0,l.useState)(!1),z=j!==C;(0,l.useEffect)(()=>{if(v)return;let e=new URLSearchParams({scope:g});b&&e.set("cwd",b),fetch(`/api/commands/${encodeURIComponent(t)}?${e}`).then(e=>{if(!e.ok)throw Error("Not found");return e.json()}).then(e=>{y(e.content),k(e.content)}).catch(()=>{L("Failed to load command")}).finally(()=>E(!1))},[v,t,g,b]);let P=(0,l.useCallback)(async()=>{let e=w.trim();if(!e)return void L("Name is required");if(!/^[a-zA-Z0-9_-]+$/.test(e))return void L("Name can only contain letters, numbers, hyphens, and underscores");$(!0),L(null);try{if(!(await fetch(`/api/commands/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({scope:g,cwd:b,content:j})})).ok)throw Error("Save failed");if(k(j),L("Saved"),v){let t=new URLSearchParams({scope:g});b&&t.set("cwd",b),p.replace(`/commands/${encodeURIComponent(e)}?${t}`)}}catch{L("Failed to save")}finally{$(!1)}},[w,j,g,b,v,p]);return S?(0,r.jsx)("div",{className:"flex-1 min-h-0 p-4",children:(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading..."})}):(0,r.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"flex-1 min-w-0",children:v?(0,r.jsx)(f.p,{placeholder:"command-name",value:w,onChange:e=>N(e.target.value),className:"font-mono"}):(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"font-mono font-bold text-lg",children:w}),(0,r.jsx)(u.E,{variant:"secondary",children:"user"===g?"Global":"Project"})]})}),(0,r.jsxs)(m.$,{size:"sm",variant:"outline",onClick:()=>{let e=document.createElement("textarea");e.value=j,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e),A(!0),setTimeout(()=>A(!1),1500)},children:[U?(0,r.jsx)(s.A,{className:"h-4 w-4 mr-1"}):(0,r.jsx)(o.A,{className:"h-4 w-4 mr-1"}),U?"Copied":"Copy"]}),(0,r.jsxs)(m.$,{size:"sm",onClick:P,disabled:R||!v&&!z,children:[(0,r.jsx)(a.A,{className:"h-4 w-4 mr-1"}),R?"Saving...":"Save"]})]}),_&&(0,r.jsx)("p",{className:`text-sm ${"Saved"===_?"text-green-600":"text-destructive"}`,children:_}),(0,r.jsx)(d.n,{value:j,onChange:y,onSave:P,className:"flex-1 min-h-0"})]})}},98757:(e,t,n)=>{"use strict";n.d(t,{B:()=>h});var r=n(95155),s=n(13748),o=n(53649),a=n(27071),c=n(74059),l=n(89561),i=n(62465),d=n(12115);let u=l.Lz.theme({"&":{backgroundColor:"transparent"},".cm-gutters":{backgroundColor:"transparent",borderRight:"1px solid hsl(var(--border))"}});function m(){return!("u"<typeof document)&&document.documentElement.classList.contains("dark")}function f(e){switch(e){case"markdown":default:return(0,s.wD)();case"yaml":return(0,o.oQ)()}}function h({value:e,onChange:t,language:n,readOnly:s,className:o,onSave:x}){let p=(0,d.useRef)(null),v=(0,d.useRef)(null),g=(0,d.useRef)(new a.xx),b=(0,d.useRef)(new a.xx),w=(0,d.useRef)(new a.xx),N=(0,d.useRef)(t),j=(0,d.useRef)(x),y=(0,d.useRef)(e);return N.current=t,j.current=x,(0,d.useEffect)(()=>{if(!p.current)return;let e=a.$t.create({doc:y.current,extensions:[i.oQ,l.Lz.lineWrapping,g.current.of(m()?c.bM:u),b.current.of(f(n)),w.current.of(a.$t.readOnly.of(!!s)),l.w4.of([{key:"Mod-s",run:()=>(j.current?.(),!0)}]),l.Lz.updateListener.of(e=>{if(e.docChanged){let t=e.state.doc.toString();y.current=t,N.current(t)}})]}),t=new l.Lz({state:e,parent:p.current});return v.current=t,()=>{t.destroy(),v.current=null}},[]),(0,d.useEffect)(()=>{let t=v.current;t&&e!==y.current&&(y.current=e,t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e}}))},[e]),(0,d.useEffect)(()=>{let e=v.current;if(!e)return;let t=new MutationObserver(()=>{e.dispatch({effects:g.current.reconfigure(m()?c.bM:u)})});return t.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>t.disconnect()},[]),(0,d.useEffect)(()=>{let e=v.current;e&&e.dispatch({effects:b.current.reconfigure(f(n))})},[n]),(0,d.useEffect)(()=>{let e=v.current;e&&e.dispatch({effects:w.current.reconfigure(a.$t.readOnly.of(!!s))})},[s]),(0,r.jsx)("div",{ref:p,className:`overflow-auto rounded-md border bg-background text-sm [&_.cm-editor]:min-h-[200px] [&_.cm-editor.cm-focused]:outline-none ${o||""}`})}}},e=>{e.O(0,[6079,989,25781,6802,1550,28441,93794,77358],()=>e(e.s=96326)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[96494],{36456:(e,s,n)=>{"use strict";n.r(s),n.d(s,{default:()=>h});var t=n(95155),a=n(2125),c=n(65738),l=n(73321),o=n(12115),r=n(3765),i=n(45160),d=n(89239),m=n(81477),u=n(42763);function h(){(0,r.si)("Commands",{hideActions:!0});let e="u">typeof localStorage&&localStorage.getItem("cockpit-agents-cwd")||void 0,{commands:s,loading:n,deleteCommand:c}=function(e){let[s,n]=(0,o.useState)([]),[t,a]=(0,o.useState)(!0),c=(0,o.useCallback)(()=>{a(!0);let s=new URLSearchParams;e&&s.set("cwd",e),fetch(`/api/commands?${s}`).then(e=>e.json()).then(e=>n(e.commands)).catch(()=>n([])).finally(()=>a(!1))},[e]);(0,o.useEffect)(()=>{c()},[c]);let l=(0,o.useCallback)(async(s,n)=>{let t=new URLSearchParams({scope:n});"project"===n&&e&&t.set("cwd",e);try{if((await fetch(`/api/commands/${encodeURIComponent(s)}?${t}`,{method:"DELETE"})).ok)return c(),!0;return!1}catch{return!1}},[e,c]);return{commands:s,loading:t,refresh:c,deleteCommand:l}}(e),i=(0,l.useRouter)(),[h,p]=(0,o.useState)(null),[j,f]=(0,o.useState)(!1),N=s.filter(e=>"user"===e.scope),C=s.filter(e=>"project"===e.scope);function b(s){f(!1);let n=new URLSearchParams({scope:s});"project"===s&&e&&n.set("cwd",e),i.push(`/commands/new?${n}`)}function g(s,n){let t=new URLSearchParams({scope:n});"project"===n&&e&&t.set("cwd",e),i.push(`/commands/${encodeURIComponent(s)}?${t}`)}async function v(){h&&(await c(h.name,h.scope),p(null))}return(0,t.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("div",{}),(0,t.jsxs)(d.$,{size:"sm",onClick:()=>f(!0),children:[(0,t.jsx)(a.A,{className:"h-4 w-4 mr-1"}),"New Command"]})]}),n&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading commands..."}),!n&&0===s.length&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No custom commands found. Create one to get started."}),N.length>0&&(0,t.jsxs)(m.Zp,{children:[(0,t.jsx)(m.aR,{children:(0,t.jsx)(m.ZB,{className:"text-base",children:"Global"})}),(0,t.jsx)(m.Wu,{className:"space-y-1",children:N.map(e=>(0,t.jsx)(x,{name:e.name,scope:"user",description:e.description,onClick:()=>g(e.name,"user"),onDelete:()=>p({name:e.name,scope:"user"})},e.name))})]}),C.length>0&&(0,t.jsxs)(m.Zp,{children:[(0,t.jsx)(m.aR,{children:(0,t.jsx)(m.ZB,{className:"text-base",children:"Project"})}),(0,t.jsx)(m.Wu,{className:"space-y-1",children:C.map(e=>(0,t.jsx)(x,{name:e.name,scope:"project",description:e.description,onClick:()=>g(e.name,"project"),onDelete:()=>p({name:e.name,scope:"project"})},e.name))})]}),(0,t.jsx)(u.lG,{open:j,onOpenChange:f,children:(0,t.jsxs)(u.Cf,{children:[(0,t.jsx)(u.c7,{children:(0,t.jsx)(u.L3,{children:"New Command"})}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Where should this command be saved?"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(d.$,{variant:"outline",className:"flex-1",onClick:()=>b("user"),children:"Global"}),(0,t.jsx)(d.$,{variant:"outline",className:"flex-1",onClick:()=>b("project"),disabled:!e,children:"Project"})]})]})}),(0,t.jsx)(u.lG,{open:!!h,onOpenChange:()=>p(null),children:(0,t.jsxs)(u.Cf,{children:[(0,t.jsx)(u.c7,{children:(0,t.jsx)(u.L3,{children:"Delete Command"})}),(0,t.jsxs)("p",{className:"text-sm text-muted-foreground mb-4",children:["Delete ",(0,t.jsx)("span",{className:"font-mono font-bold",children:h?.name}),"? This cannot be undone."]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(d.$,{variant:"outline",onClick:()=>p(null),children:"Cancel"}),(0,t.jsx)(d.$,{variant:"destructive",onClick:v,children:"Delete"})]})]})})]})}function x({name:e,scope:s,description:n,onClick:a,onDelete:l}){return(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded px-2 py-2 hover:bg-muted transition-colors",children:[(0,t.jsxs)("button",{type:"button",className:"flex-1 text-left min-w-0",onClick:a,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-mono font-bold text-sm",children:e}),(0,t.jsx)(i.E,{variant:"secondary",className:"text-[10px]",children:"user"===s?"Global":"Project"})]}),n&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:n})]}),(0,t.jsx)("button",{type:"button",className:"shrink-0 p-1 rounded hover:bg-destructive/10 text-muted-foreground hover:text-destructive transition-colors",onClick:e=>{e.stopPropagation(),l()},children:(0,t.jsx)(c.A,{className:"h-4 w-4"})})]})}},89850:(e,s,n)=>{Promise.resolve().then(n.bind(n,36456))}},e=>{e.O(0,[989,41487,3765,28441,93794,77358],()=>e(e.s=89850)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[96494],{36456:(e,s,n)=>{"use strict";n.r(s),n.d(s,{default:()=>h});var t=n(95155),a=n(2125),c=n(65738),l=n(73321),o=n(12115),r=n(1550),i=n(45160),d=n(89239),m=n(81477),u=n(42763);function h(){(0,r.si)("Commands",{hideActions:!0});let e="u">typeof localStorage&&localStorage.getItem("cockpit-agents-cwd")||void 0,{commands:s,loading:n,deleteCommand:c}=function(e){let[s,n]=(0,o.useState)([]),[t,a]=(0,o.useState)(!0),c=(0,o.useCallback)(()=>{a(!0);let s=new URLSearchParams;e&&s.set("cwd",e),fetch(`/api/commands?${s}`).then(e=>e.json()).then(e=>n(e.commands)).catch(()=>n([])).finally(()=>a(!1))},[e]);(0,o.useEffect)(()=>{c()},[c]);let l=(0,o.useCallback)(async(s,n)=>{let t=new URLSearchParams({scope:n});"project"===n&&e&&t.set("cwd",e);try{if((await fetch(`/api/commands/${encodeURIComponent(s)}?${t}`,{method:"DELETE"})).ok)return c(),!0;return!1}catch{return!1}},[e,c]);return{commands:s,loading:t,refresh:c,deleteCommand:l}}(e),i=(0,l.useRouter)(),[h,p]=(0,o.useState)(null),[j,f]=(0,o.useState)(!1),N=s.filter(e=>"user"===e.scope),C=s.filter(e=>"project"===e.scope);function b(s){f(!1);let n=new URLSearchParams({scope:s});"project"===s&&e&&n.set("cwd",e),i.push(`/commands/new?${n}`)}function g(s,n){let t=new URLSearchParams({scope:n});"project"===n&&e&&t.set("cwd",e),i.push(`/commands/${encodeURIComponent(s)}?${t}`)}async function v(){h&&(await c(h.name,h.scope),p(null))}return(0,t.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("div",{}),(0,t.jsxs)(d.$,{size:"sm",onClick:()=>f(!0),children:[(0,t.jsx)(a.A,{className:"h-4 w-4 mr-1"}),"New Command"]})]}),n&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading commands..."}),!n&&0===s.length&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No custom commands found. Create one to get started."}),N.length>0&&(0,t.jsxs)(m.Zp,{children:[(0,t.jsx)(m.aR,{children:(0,t.jsx)(m.ZB,{className:"text-base",children:"Global"})}),(0,t.jsx)(m.Wu,{className:"space-y-1",children:N.map(e=>(0,t.jsx)(x,{name:e.name,scope:"user",description:e.description,onClick:()=>g(e.name,"user"),onDelete:()=>p({name:e.name,scope:"user"})},e.name))})]}),C.length>0&&(0,t.jsxs)(m.Zp,{children:[(0,t.jsx)(m.aR,{children:(0,t.jsx)(m.ZB,{className:"text-base",children:"Project"})}),(0,t.jsx)(m.Wu,{className:"space-y-1",children:C.map(e=>(0,t.jsx)(x,{name:e.name,scope:"project",description:e.description,onClick:()=>g(e.name,"project"),onDelete:()=>p({name:e.name,scope:"project"})},e.name))})]}),(0,t.jsx)(u.lG,{open:j,onOpenChange:f,children:(0,t.jsxs)(u.Cf,{children:[(0,t.jsx)(u.c7,{children:(0,t.jsx)(u.L3,{children:"New Command"})}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Where should this command be saved?"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(d.$,{variant:"outline",className:"flex-1",onClick:()=>b("user"),children:"Global"}),(0,t.jsx)(d.$,{variant:"outline",className:"flex-1",onClick:()=>b("project"),disabled:!e,children:"Project"})]})]})}),(0,t.jsx)(u.lG,{open:!!h,onOpenChange:()=>p(null),children:(0,t.jsxs)(u.Cf,{children:[(0,t.jsx)(u.c7,{children:(0,t.jsx)(u.L3,{children:"Delete Command"})}),(0,t.jsxs)("p",{className:"text-sm text-muted-foreground mb-4",children:["Delete ",(0,t.jsx)("span",{className:"font-mono font-bold",children:h?.name}),"? This cannot be undone."]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(d.$,{variant:"outline",onClick:()=>p(null),children:"Cancel"}),(0,t.jsx)(d.$,{variant:"destructive",onClick:v,children:"Delete"})]})]})})]})}function x({name:e,scope:s,description:n,onClick:a,onDelete:l}){return(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded px-2 py-2 hover:bg-muted transition-colors",children:[(0,t.jsxs)("button",{type:"button",className:"flex-1 text-left min-w-0",onClick:a,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-mono font-bold text-sm",children:e}),(0,t.jsx)(i.E,{variant:"secondary",className:"text-[10px]",children:"user"===s?"Global":"Project"})]}),n&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:n})]}),(0,t.jsx)("button",{type:"button",className:"shrink-0 p-1 rounded hover:bg-destructive/10 text-muted-foreground hover:text-destructive transition-colors",onClick:e=>{e.stopPropagation(),l()},children:(0,t.jsx)(c.A,{className:"h-4 w-4"})})]})}},89850:(e,s,n)=>{Promise.resolve().then(n.bind(n,36456))}},e=>{e.O(0,[989,25781,1550,28441,93794,77358],()=>e(e.s=89850)),_N_E=e.O()}]);
@@ -1,6 +1,6 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[78177],{27557:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>x});var a=r(95155),s=r(64577),n=r(99314),o=r(81402),l=r(73321),c=r(12115),u=r(3765),i=r(98757),d=r(45160),f=r(89239);let m=["SessionStart","UserPromptSubmit","PreToolUse","PermissionRequest","PostToolUse","PostToolUseFailure","Stop","SubagentStart","SubagentStop","PreCompact","PostCompact","SessionEnd"],h=[{value:"global",label:"Global"},{value:"project",label:"Project"},{value:"project-local",label:"Local"}],p=`[
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[78177],{27557:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>x});var a=r(95155),s=r(64577),n=r(99314),o=r(81402),l=r(73321),c=r(12115),u=r(1550),i=r(98757),d=r(45160),f=r(89239);let m=["SessionStart","UserPromptSubmit","PreToolUse","PermissionRequest","PostToolUse","PostToolUseFailure","Stop","SubagentStart","SubagentStop","PreCompact","PostCompact","SessionEnd"],h=[{value:"global",label:"Global"},{value:"project",label:"Project"},{value:"project-local",label:"Local"}],p=`[
2
2
  {
3
3
  "type": "command",
4
4
  "command": "echo hook fired"
5
5
  }
6
- ]`;function x({params:e}){let{event:t}=(0,c.use)(e),r=(0,l.useSearchParams)(),b="new"===t,g=b?"":decodeURIComponent(t),v=r.get("scope")||"global",j=r.get("filePath")||"",S=r.get("cwd")||void 0;(0,u.si)(b?"New Hook":g,{hideActions:!0});let[y,w]=(0,c.useState)(g),[k,N]=(0,c.useState)(v),[C,E]=(0,c.useState)(b?p:""),[P,R]=(0,c.useState)(b?p:""),[_,L]=(0,c.useState)(!b),[$,O]=(0,c.useState)(!1),[U,z]=(0,c.useState)(null),[A,T]=(0,c.useState)(!1),M=C!==P;(0,c.useEffect)(()=>{if(b)return;let e=new URLSearchParams;S&&e.set("cwd",S),fetch(`/api/hooks?${e}`).then(e=>e.json()).then(e=>{let t=e.hooks.find(e=>e.event===g&&e.scope===v);if(t){let e=JSON.stringify(t.hooks,null,2);E(e),R(e)}else z("Hook not found")}).catch(()=>z("Failed to load")).finally(()=>L(!1))},[b,g,v,S]);let F=(0,c.useCallback)(()=>!b&&j?j:"global"===k?"__global__":"project"===k&&S?`${S}/.claude/settings.json`:"project-local"===k&&S?`${S}/.claude/settings.local.json`:"",[b,j,k,S]),J=(0,c.useCallback)(async()=>{let e,t=b?y:g;if(!t)return void z("Select an event");try{if(e=JSON.parse(C),!Array.isArray(e))throw Error("Must be an array")}catch(e){z("Invalid JSON: must be an array of hook objects");return}O(!0),z(null);let r=F(),a=new URLSearchParams;S&&a.set("cwd",S);try{let s=await fetch(`/api/hooks?${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:r,event:t,hooks:e})});if(!s.ok){let e=await s.json().catch(()=>({}));throw Error(e.error||"Save failed")}R(C),z("Saved")}catch(e){z(e instanceof Error?e.message:"Failed to save")}finally{O(!1)}},[C,b,y,g,S,F]);return _?(0,a.jsx)("div",{className:"flex-1 min-h-0 p-4",children:(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading..."})}):(0,a.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"flex-1 min-w-0",children:b?(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)("select",{value:y,onChange:e=>w(e.target.value),className:"rounded-md border border-input bg-background px-3 py-1.5 text-sm",children:[(0,a.jsx)("option",{value:"",children:"Select event..."}),m.map(e=>(0,a.jsx)("option",{value:e,children:e},e))]}),(0,a.jsx)("select",{value:k,onChange:e=>N(e.target.value),className:"rounded-md border border-input bg-background px-3 py-1.5 text-sm",children:h.map(e=>(0,a.jsx)("option",{value:e.value,disabled:"global"!==e.value&&!S,children:e.label},e.value))})]}):(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"font-mono font-bold text-lg",children:g}),(0,a.jsx)(d.E,{variant:"secondary",children:"global"===v?"Global":"project"===v?"Project":"Local"})]})}),(0,a.jsxs)(f.$,{size:"sm",variant:"outline",onClick:()=>{let e=document.createElement("textarea");e.value=C,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e),T(!0),setTimeout(()=>T(!1),1500)},children:[A?(0,a.jsx)(s.A,{className:"h-4 w-4 mr-1"}):(0,a.jsx)(n.A,{className:"h-4 w-4 mr-1"}),A?"Copied":"Copy"]}),(0,a.jsxs)(f.$,{size:"sm",onClick:J,disabled:$||!b&&!M,children:[(0,a.jsx)(o.A,{className:"h-4 w-4 mr-1"}),$?"Saving...":"Save"]})]}),U&&(0,a.jsx)("p",{className:`text-sm ${"Saved"===U?"text-green-600":"text-destructive"}`,children:U}),(0,a.jsx)(i.B,{value:C,onChange:E,language:"json",onSave:J,className:"flex-1"})]})}},58853:(e,t,r)=>{Promise.resolve().then(r.bind(r,27557))},98757:(e,t,r)=>{"use strict";r.d(t,{B:()=>h});var a=r(95155),s=r(13748),n=r(53649),o=r(27071),l=r(74059),c=r(89561),u=r(62465),i=r(12115);let d=c.Lz.theme({"&":{backgroundColor:"transparent"},".cm-gutters":{backgroundColor:"transparent",borderRight:"1px solid hsl(var(--border))"}});function f(){return!("u"<typeof document)&&document.documentElement.classList.contains("dark")}function m(e){switch(e){case"markdown":default:return(0,s.wD)();case"yaml":return(0,n.oQ)()}}function h({value:e,onChange:t,language:r,readOnly:s,className:n,onSave:p}){let x=(0,i.useRef)(null),b=(0,i.useRef)(null),g=(0,i.useRef)(new o.xx),v=(0,i.useRef)(new o.xx),j=(0,i.useRef)(new o.xx),S=(0,i.useRef)(t),y=(0,i.useRef)(p),w=(0,i.useRef)(e);return S.current=t,y.current=p,(0,i.useEffect)(()=>{if(!x.current)return;let e=o.$t.create({doc:w.current,extensions:[u.oQ,c.Lz.lineWrapping,g.current.of(f()?l.bM:d),v.current.of(m(r)),j.current.of(o.$t.readOnly.of(!!s)),c.w4.of([{key:"Mod-s",run:()=>(y.current?.(),!0)}]),c.Lz.updateListener.of(e=>{if(e.docChanged){let t=e.state.doc.toString();w.current=t,S.current(t)}})]}),t=new c.Lz({state:e,parent:x.current});return b.current=t,()=>{t.destroy(),b.current=null}},[]),(0,i.useEffect)(()=>{let t=b.current;t&&e!==w.current&&(w.current=e,t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e}}))},[e]),(0,i.useEffect)(()=>{let e=b.current;if(!e)return;let t=new MutationObserver(()=>{e.dispatch({effects:g.current.reconfigure(f()?l.bM:d)})});return t.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>t.disconnect()},[]),(0,i.useEffect)(()=>{let e=b.current;e&&e.dispatch({effects:v.current.reconfigure(m(r))})},[r]),(0,i.useEffect)(()=>{let e=b.current;e&&e.dispatch({effects:j.current.reconfigure(o.$t.readOnly.of(!!s))})},[s]),(0,a.jsx)("div",{ref:x,className:`overflow-auto rounded-md border bg-background text-sm [&_.cm-editor]:min-h-[200px] [&_.cm-editor.cm-focused]:outline-none ${n||""}`})}}},e=>{e.O(0,[6079,989,41487,6802,3765,28441,93794,77358],()=>e(e.s=58853)),_N_E=e.O()}]);
6
+ ]`;function x({params:e}){let{event:t}=(0,c.use)(e),r=(0,l.useSearchParams)(),b="new"===t,g=b?"":decodeURIComponent(t),v=r.get("scope")||"global",j=r.get("filePath")||"",S=r.get("cwd")||void 0;(0,u.si)(b?"New Hook":g,{hideActions:!0});let[y,w]=(0,c.useState)(g),[k,N]=(0,c.useState)(v),[C,E]=(0,c.useState)(b?p:""),[P,R]=(0,c.useState)(b?p:""),[_,L]=(0,c.useState)(!b),[$,O]=(0,c.useState)(!1),[U,z]=(0,c.useState)(null),[A,T]=(0,c.useState)(!1),M=C!==P;(0,c.useEffect)(()=>{if(b)return;let e=new URLSearchParams;S&&e.set("cwd",S),fetch(`/api/hooks?${e}`).then(e=>e.json()).then(e=>{let t=e.hooks.find(e=>e.event===g&&e.scope===v);if(t){let e=JSON.stringify(t.hooks,null,2);E(e),R(e)}else z("Hook not found")}).catch(()=>z("Failed to load")).finally(()=>L(!1))},[b,g,v,S]);let F=(0,c.useCallback)(()=>!b&&j?j:"global"===k?"__global__":"project"===k&&S?`${S}/.claude/settings.json`:"project-local"===k&&S?`${S}/.claude/settings.local.json`:"",[b,j,k,S]),J=(0,c.useCallback)(async()=>{let e,t=b?y:g;if(!t)return void z("Select an event");try{if(e=JSON.parse(C),!Array.isArray(e))throw Error("Must be an array")}catch(e){z("Invalid JSON: must be an array of hook objects");return}O(!0),z(null);let r=F(),a=new URLSearchParams;S&&a.set("cwd",S);try{let s=await fetch(`/api/hooks?${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:r,event:t,hooks:e})});if(!s.ok){let e=await s.json().catch(()=>({}));throw Error(e.error||"Save failed")}R(C),z("Saved")}catch(e){z(e instanceof Error?e.message:"Failed to save")}finally{O(!1)}},[C,b,y,g,S,F]);return _?(0,a.jsx)("div",{className:"flex-1 min-h-0 p-4",children:(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading..."})}):(0,a.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"flex-1 min-w-0",children:b?(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)("select",{value:y,onChange:e=>w(e.target.value),className:"rounded-md border border-input bg-background px-3 py-1.5 text-sm",children:[(0,a.jsx)("option",{value:"",children:"Select event..."}),m.map(e=>(0,a.jsx)("option",{value:e,children:e},e))]}),(0,a.jsx)("select",{value:k,onChange:e=>N(e.target.value),className:"rounded-md border border-input bg-background px-3 py-1.5 text-sm",children:h.map(e=>(0,a.jsx)("option",{value:e.value,disabled:"global"!==e.value&&!S,children:e.label},e.value))})]}):(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"font-mono font-bold text-lg",children:g}),(0,a.jsx)(d.E,{variant:"secondary",children:"global"===v?"Global":"project"===v?"Project":"Local"})]})}),(0,a.jsxs)(f.$,{size:"sm",variant:"outline",onClick:()=>{let e=document.createElement("textarea");e.value=C,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e),T(!0),setTimeout(()=>T(!1),1500)},children:[A?(0,a.jsx)(s.A,{className:"h-4 w-4 mr-1"}):(0,a.jsx)(n.A,{className:"h-4 w-4 mr-1"}),A?"Copied":"Copy"]}),(0,a.jsxs)(f.$,{size:"sm",onClick:J,disabled:$||!b&&!M,children:[(0,a.jsx)(o.A,{className:"h-4 w-4 mr-1"}),$?"Saving...":"Save"]})]}),U&&(0,a.jsx)("p",{className:`text-sm ${"Saved"===U?"text-green-600":"text-destructive"}`,children:U}),(0,a.jsx)(i.B,{value:C,onChange:E,language:"json",onSave:J,className:"flex-1"})]})}},58853:(e,t,r)=>{Promise.resolve().then(r.bind(r,27557))},98757:(e,t,r)=>{"use strict";r.d(t,{B:()=>h});var a=r(95155),s=r(13748),n=r(53649),o=r(27071),l=r(74059),c=r(89561),u=r(62465),i=r(12115);let d=c.Lz.theme({"&":{backgroundColor:"transparent"},".cm-gutters":{backgroundColor:"transparent",borderRight:"1px solid hsl(var(--border))"}});function f(){return!("u"<typeof document)&&document.documentElement.classList.contains("dark")}function m(e){switch(e){case"markdown":default:return(0,s.wD)();case"yaml":return(0,n.oQ)()}}function h({value:e,onChange:t,language:r,readOnly:s,className:n,onSave:p}){let x=(0,i.useRef)(null),b=(0,i.useRef)(null),g=(0,i.useRef)(new o.xx),v=(0,i.useRef)(new o.xx),j=(0,i.useRef)(new o.xx),S=(0,i.useRef)(t),y=(0,i.useRef)(p),w=(0,i.useRef)(e);return S.current=t,y.current=p,(0,i.useEffect)(()=>{if(!x.current)return;let e=o.$t.create({doc:w.current,extensions:[u.oQ,c.Lz.lineWrapping,g.current.of(f()?l.bM:d),v.current.of(m(r)),j.current.of(o.$t.readOnly.of(!!s)),c.w4.of([{key:"Mod-s",run:()=>(y.current?.(),!0)}]),c.Lz.updateListener.of(e=>{if(e.docChanged){let t=e.state.doc.toString();w.current=t,S.current(t)}})]}),t=new c.Lz({state:e,parent:x.current});return b.current=t,()=>{t.destroy(),b.current=null}},[]),(0,i.useEffect)(()=>{let t=b.current;t&&e!==w.current&&(w.current=e,t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e}}))},[e]),(0,i.useEffect)(()=>{let e=b.current;if(!e)return;let t=new MutationObserver(()=>{e.dispatch({effects:g.current.reconfigure(f()?l.bM:d)})});return t.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>t.disconnect()},[]),(0,i.useEffect)(()=>{let e=b.current;e&&e.dispatch({effects:v.current.reconfigure(m(r))})},[r]),(0,i.useEffect)(()=>{let e=b.current;e&&e.dispatch({effects:j.current.reconfigure(o.$t.readOnly.of(!!s))})},[s]),(0,a.jsx)("div",{ref:x,className:`overflow-auto rounded-md border bg-background text-sm [&_.cm-editor]:min-h-[200px] [&_.cm-editor.cm-focused]:outline-none ${n||""}`})}}},e=>{e.O(0,[6079,989,25781,6802,1550,28441,93794,77358],()=>e(e.s=58853)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[40992],{64025:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>d});var o=s(95155),n=s(73321),a=s(3765),r=s(45160),l=s(81477),c=s(12115);let i={global:"Global",project:"Project","project-local":"Local"},h=new Set(["UserPromptSubmit","PreToolUse","PermissionRequest","Stop","SubagentStop"]);function d(){(0,a.si)("Hooks",{hideActions:!0});let e="u">typeof localStorage&&localStorage.getItem("cockpit-agents-cwd")||void 0,{hooks:t,loading:s}=function(e){let[t,s]=(0,c.useState)([]),[o,n]=(0,c.useState)([]),[a,r]=(0,c.useState)(!0),l=(0,c.useCallback)(()=>{r(!0);let t=new URLSearchParams;e&&t.set("cwd",e),fetch(`/api/hooks?${t}`).then(e=>e.json()).then(e=>{s(e.hooks),n(e.events)}).catch(()=>s([])).finally(()=>r(!1))},[e]);(0,c.useEffect)(()=>{l()},[l]);let i=(0,c.useCallback)(async(t,s,o)=>{let n=new URLSearchParams;e&&n.set("cwd",e);try{if((await fetch(`/api/hooks?${n}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:t,event:s,hooks:o})})).ok)return l(),!0;return!1}catch{return!1}},[e,l]);return{hooks:t,events:o,loading:a,refresh:l,saveHooks:i}}(e),d=(0,n.useRouter)(),m={};for(let e of t){let t=e.scope;m[t]||(m[t]=[]),m[t].push(e)}return(0,o.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between",children:[(0,o.jsx)("div",{}),(0,o.jsx)("button",{className:"inline-flex items-center rounded-md bg-primary px-3 py-1.5 text-sm font-medium text-primary-foreground hover:bg-primary/90",onClick:function(){let t=new URLSearchParams;e&&t.set("cwd",e),d.push(`/hooks/new?${t}`)},children:"New Hook"})]}),s&&(0,o.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading hooks..."}),!s&&0===t.length&&(0,o.jsx)("p",{className:"text-sm text-muted-foreground",children:"No hooks configured. Hooks let you run commands, HTTP requests, or prompts at key points in the agent lifecycle."}),Object.entries(m).map(([t,s])=>(0,o.jsxs)(l.Zp,{children:[(0,o.jsx)(l.aR,{children:(0,o.jsx)(l.ZB,{className:"text-base",children:i[t]||t})}),(0,o.jsx)(l.Wu,{className:"space-y-1",children:s.map(t=>(0,o.jsx)("button",{type:"button",className:"flex w-full items-center gap-3 rounded px-2 py-2 hover:bg-muted transition-colors text-left",onClick:()=>{var s;let o;return s=t.event,o=new URLSearchParams({scope:t.scope,filePath:t.filePath}),void(e&&o.set("cwd",e),d.push(`/hooks/${encodeURIComponent(s)}?${o}`))},children:(0,o.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{className:"font-mono font-bold text-sm",children:t.event}),h.has(t.event)&&(0,o.jsx)(r.E,{variant:"outline",className:"text-[10px]",children:"can block"})]}),(0,o.jsxs)("p",{className:"text-xs text-muted-foreground mt-0.5",children:[t.hooks.length," hook",1!==t.hooks.length?"s":""," — ",t.hooks.map(e=>e.type).join(", ")]})]})},`${t.event}-${t.scope}`))})]},t))]})}},70532:(e,t,s)=>{Promise.resolve().then(s.bind(s,64025))}},e=>{e.O(0,[989,41487,3765,28441,93794,77358],()=>e(e.s=70532)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[40992],{64025:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>d});var o=s(95155),n=s(73321),a=s(1550),r=s(45160),l=s(81477),c=s(12115);let i={global:"Global",project:"Project","project-local":"Local"},h=new Set(["UserPromptSubmit","PreToolUse","PermissionRequest","Stop","SubagentStop"]);function d(){(0,a.si)("Hooks",{hideActions:!0});let e="u">typeof localStorage&&localStorage.getItem("cockpit-agents-cwd")||void 0,{hooks:t,loading:s}=function(e){let[t,s]=(0,c.useState)([]),[o,n]=(0,c.useState)([]),[a,r]=(0,c.useState)(!0),l=(0,c.useCallback)(()=>{r(!0);let t=new URLSearchParams;e&&t.set("cwd",e),fetch(`/api/hooks?${t}`).then(e=>e.json()).then(e=>{s(e.hooks),n(e.events)}).catch(()=>s([])).finally(()=>r(!1))},[e]);(0,c.useEffect)(()=>{l()},[l]);let i=(0,c.useCallback)(async(t,s,o)=>{let n=new URLSearchParams;e&&n.set("cwd",e);try{if((await fetch(`/api/hooks?${n}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:t,event:s,hooks:o})})).ok)return l(),!0;return!1}catch{return!1}},[e,l]);return{hooks:t,events:o,loading:a,refresh:l,saveHooks:i}}(e),d=(0,n.useRouter)(),m={};for(let e of t){let t=e.scope;m[t]||(m[t]=[]),m[t].push(e)}return(0,o.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between",children:[(0,o.jsx)("div",{}),(0,o.jsx)("button",{className:"inline-flex items-center rounded-md bg-primary px-3 py-1.5 text-sm font-medium text-primary-foreground hover:bg-primary/90",onClick:function(){let t=new URLSearchParams;e&&t.set("cwd",e),d.push(`/hooks/new?${t}`)},children:"New Hook"})]}),s&&(0,o.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading hooks..."}),!s&&0===t.length&&(0,o.jsx)("p",{className:"text-sm text-muted-foreground",children:"No hooks configured. Hooks let you run commands, HTTP requests, or prompts at key points in the agent lifecycle."}),Object.entries(m).map(([t,s])=>(0,o.jsxs)(l.Zp,{children:[(0,o.jsx)(l.aR,{children:(0,o.jsx)(l.ZB,{className:"text-base",children:i[t]||t})}),(0,o.jsx)(l.Wu,{className:"space-y-1",children:s.map(t=>(0,o.jsx)("button",{type:"button",className:"flex w-full items-center gap-3 rounded px-2 py-2 hover:bg-muted transition-colors text-left",onClick:()=>{var s;let o;return s=t.event,o=new URLSearchParams({scope:t.scope,filePath:t.filePath}),void(e&&o.set("cwd",e),d.push(`/hooks/${encodeURIComponent(s)}?${o}`))},children:(0,o.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{className:"font-mono font-bold text-sm",children:t.event}),h.has(t.event)&&(0,o.jsx)(r.E,{variant:"outline",className:"text-[10px]",children:"can block"})]}),(0,o.jsxs)("p",{className:"text-xs text-muted-foreground mt-0.5",children:[t.hooks.length," hook",1!==t.hooks.length?"s":""," — ",t.hooks.map(e=>e.type).join(", ")]})]})},`${t.event}-${t.scope}`))})]},t))]})}},70532:(e,t,s)=>{Promise.resolve().then(s.bind(s,64025))}},e=>{e.O(0,[989,25781,1550,28441,93794,77358],()=>e(e.s=70532)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[58346],{14577:(e,s,t)=>{"use strict";t.d(s,{A:()=>a});let a=(0,t(99537).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},35484:(e,s,t)=>{"use strict";t.d(s,{A:()=>a});let a=(0,t(99537).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},54722:(e,s,t)=>{Promise.resolve().then(t.bind(t,96218))},75796:(e,s,t)=>{"use strict";t.d(s,{A:()=>a});let a=(0,t(99537).A)("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]])},96218:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>p});var a=t(95155),i=t(35484),n=t(11012),l=t(14577),c=t(92571),r=t(31966),d=t(75796),x=t(65738),h=t(73321),o=t(12115),m=t(1550),u=t(64233),j=t(89239),f=t(42763);function p(){(0,m.si)("Inbox",{hideActions:!0});let{id:e}=(0,h.useParams)(),s=(0,h.useRouter)(),[t,p]=(0,o.useState)(null),[y,k]=(0,o.useState)(!0),[N,v]=(0,o.useState)(!1),b=(0,o.useCallback)(async()=>{let s=await fetch("/api/inbox");if(s.ok){let t=((await s.json()).messages||[]).find(s=>s.id===e);p(t||null),t&&!t.read&&await fetch(`/api/inbox/${t.id}`,{method:"PATCH"})}k(!1)},[e]);(0,o.useEffect)(()=>{b()},[b]);let g=async()=>{await fetch(`/api/inbox/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({read:!1})}),s.push("/inbox")},w=async()=>{await fetch(`/api/inbox/${e}`,{method:"DELETE"}),s.push("/inbox")};return y?(0,a.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,a.jsx)(c.A,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):t?(0,a.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)(j.$,{variant:"ghost",size:"sm",onClick:()=>s.push("/inbox"),children:[(0,a.jsx)(r.A,{className:"h-4 w-4 mr-1"}),"Back"]}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsxs)(j.$,{variant:"ghost",size:"sm",onClick:g,children:[(0,a.jsx)(d.A,{className:"h-4 w-4 mr-1"}),"Mark unread"]}),(0,a.jsxs)(j.$,{variant:"ghost",size:"sm",className:"text-destructive hover:text-destructive",onClick:()=>v(!0),children:[(0,a.jsx)(x.A,{className:"h-4 w-4 mr-1"}),"Delete"]})]})]}),(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[function(e){switch(e){case"error":return(0,a.jsx)(i.A,{className:"h-5 w-5 text-destructive shrink-0"});case"warning":return(0,a.jsx)(n.A,{className:"h-5 w-5 text-yellow-500 shrink-0"});default:return(0,a.jsx)(l.A,{className:"h-5 w-5 text-blue-500 shrink-0"})}}(t.priority),(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-lg font-semibold",children:t.title}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-1 text-xs text-muted-foreground",children:[t.jobName&&(0,a.jsx)("span",{children:t.jobName}),(0,a.jsx)("span",{children:new Date(t.createdAt).toLocaleString()})]})]})]}),(0,a.jsx)("div",{className:"border-t pt-4",children:(0,a.jsx)(u.Y,{content:t.body,variant:"full"})}),(0,a.jsx)(f.lG,{open:N,onOpenChange:()=>v(!1),children:(0,a.jsxs)(f.Cf,{children:[(0,a.jsx)(f.c7,{children:(0,a.jsx)(f.L3,{children:"Delete Message"})}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Delete this message? This cannot be undone."}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)(j.$,{variant:"outline",onClick:()=>v(!1),children:"Cancel"}),(0,a.jsx)(j.$,{variant:"destructive",onClick:w,children:"Delete"})]})]})})]}):(0,a.jsxs)("div",{className:"flex-1 p-4",children:[(0,a.jsxs)(j.$,{variant:"ghost",size:"sm",onClick:()=>s.push("/inbox"),children:[(0,a.jsx)(r.A,{className:"h-4 w-4 mr-1"}),"Back"]}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground mt-8 text-center",children:"Message not found."})]})}}},e=>{e.O(0,[989,25781,1550,28441,93794,77358],()=>e(e.s=54722)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[10576],{14577:(e,s,t)=>{"use strict";t.d(s,{A:()=>a});let a=(0,t(99537).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},34454:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>p});var a=t(95155),n=t(35484),r=t(11012),l=t(14577);let i=(0,t(99537).A)("check-check",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]]);var c=t(65738),d=t(92571),o=t(64577),h=t(75796),x=t(73321),m=t(12115),u=t(1550),f=t(89239),j=t(42763);function p(){(0,u.si)("Inbox",{hideActions:!0});let e=(0,x.useRouter)(),[s,t]=(0,m.useState)([]),[p,g]=(0,m.useState)(!0),[y,N]=(0,m.useState)(null),[k,v]=(0,m.useState)(!1),b=(0,m.useCallback)(async()=>{let e=await fetch("/api/inbox");e.ok&&t((await e.json()).messages||[]),g(!1)},[]);(0,m.useEffect)(()=>{b()},[b]);let w=async(e,s)=>{e.stopPropagation();let a=!s.read;await fetch(`/api/inbox/${s.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({read:a})}),t(e=>e.map(e=>e.id===s.id?{...e,read:a}:e))},C=async()=>{y&&(await fetch(`/api/inbox/${y}`,{method:"DELETE"}),t(e=>e.filter(e=>e.id!==y)),N(null))},A=async()=>{let e=0!==M;await fetch("/api/inbox",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark_all_read",read:e})}),t(s=>s.map(s=>({...s,read:e})))},$=async()=>{await fetch("/api/inbox",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear"})}),t([]),v(!1)},M=s.filter(e=>!e.read).length;return(0,a.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("div",{className:"text-sm text-muted-foreground",children:s.length>0&&(0,a.jsxs)(a.Fragment,{children:[s.length," message",1!==s.length?"s":"",M>0&&` (${M} unread)`]})}),s.length>0&&(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:A,children:[(0,a.jsx)(i,{className:"h-3.5 w-3.5 mr-1"}),0===M?"Mark all unread":"Mark all read"]}),(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:()=>v(!0),children:[(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 mr-1"}),"Clear all"]})]})]}),p&&(0,a.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,a.jsx)(d.A,{className:"h-5 w-5 animate-spin text-muted-foreground"})}),!p&&0===s.length&&(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 text-center",children:[(0,a.jsx)(o.A,{className:"h-12 w-12 text-muted-foreground/50 mb-4"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"No messages."}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Messages from scheduled jobs will appear here."})]}),(0,a.jsx)("div",{className:"space-y-2",children:s.map(s=>(0,a.jsx)("div",{className:`rounded-lg border bg-card transition-colors cursor-pointer hover:bg-accent/50 ${!s.read?"border-l-2 border-l-blue-500":""}`,role:"button",onClick:()=>e.push(`/inbox/${s.id}`),children:(0,a.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[function(e){switch(e){case"error":return(0,a.jsx)(n.A,{className:"h-4 w-4 text-destructive shrink-0"});case"warning":return(0,a.jsx)(r.A,{className:"h-4 w-4 text-yellow-500 shrink-0"});default:return(0,a.jsx)(l.A,{className:"h-4 w-4 text-blue-500 shrink-0"})}}(s.priority),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("div",{className:"flex items-center gap-2",children:(0,a.jsx)("span",{className:`text-sm truncate ${!s.read?"font-semibold":""}`,children:s.title})}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-0.5 text-xs text-muted-foreground",children:[s.jobName&&(0,a.jsx)("span",{children:s.jobName}),(0,a.jsx)("span",{children:function(e){let s=Math.floor((Date.now()-e)/6e4);if(s<1)return"just now";if(s<60)return`${s}m ago`;let t=Math.floor(s/60);if(t<24)return`${t}h ago`;let a=Math.floor(t/24);return`${a}d ago`}(s.createdAt)})]})]}),(0,a.jsxs)("div",{className:"flex items-center shrink-0",children:[(0,a.jsx)(f.$,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",title:s.read?"Mark as unread":"Mark as read",onClick:e=>w(e,s),children:s.read?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5"}):(0,a.jsx)(o.A,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(f.$,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-destructive",onClick:e=>{var t;return t=s.id,void(e.stopPropagation(),N(t))},children:(0,a.jsx)(c.A,{className:"h-3.5 w-3.5"})})]})]})},s.id))}),(0,a.jsx)(j.lG,{open:!!y,onOpenChange:()=>N(null),children:(0,a.jsxs)(j.Cf,{children:[(0,a.jsx)(j.c7,{children:(0,a.jsx)(j.L3,{children:"Delete Message"})}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Delete this message? This cannot be undone."}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)(f.$,{variant:"outline",onClick:()=>N(null),children:"Cancel"}),(0,a.jsx)(f.$,{variant:"destructive",onClick:C,children:"Delete"})]})]})}),(0,a.jsx)(j.lG,{open:k,onOpenChange:()=>v(!1),children:(0,a.jsxs)(j.Cf,{children:[(0,a.jsx)(j.c7,{children:(0,a.jsx)(j.L3,{children:"Clear All Messages"})}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Delete all inbox messages? This cannot be undone."}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)(f.$,{variant:"outline",onClick:()=>v(!1),children:"Cancel"}),(0,a.jsx)(f.$,{variant:"destructive",onClick:$,children:"Clear All"})]})]})})]})}},35484:(e,s,t)=>{"use strict";t.d(s,{A:()=>a});let a=(0,t(99537).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},46728:(e,s,t)=>{Promise.resolve().then(t.bind(t,34454))},75796:(e,s,t)=>{"use strict";t.d(s,{A:()=>a});let a=(0,t(99537).A)("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]])}},e=>{e.O(0,[989,25781,1550,28441,93794,77358],()=>e(e.s=46728)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[58179],{39071:(e,t,s)=>{Promise.resolve().then(s.bind(s,72814))},72814:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>S});var n=s(95155),l=s(9005),a=s(31966),i=s(2125),r=s(73321),o=s(12115),d=s(1550),c=s(41158),u=s(89239),m=s(81477),x=s(60529),h=s(8081);function p(e){return""===e?"":Number(e)}function f(e){return""!==e&&Number.isFinite(e)&&e>=1}var j=s(40980),y=s(84949);let v=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],g=["Read","Write","Edit","Bash","Bash git","Bash npm","Bash ls","Grep","Glob","Agent","WebFetch","WebSearch"],N={low:"Low",medium:"Medium",high:"High",xhigh:"XHigh",max:"Max"},b=(0,h.zQ)("sonnet")?.modelId||"",w="w-full rounded-md border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-ring";function k({checked:e,onChange:t}){return(0,n.jsx)("button",{type:"button",role:"switch","aria-checked":e,onClick:()=>t(!e),className:`relative inline-flex h-5 w-9 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors ${e?"bg-primary":"bg-muted"}`,children:(0,n.jsx)("span",{className:`pointer-events-none inline-block h-4 w-4 rounded-full bg-background shadow-lg transition-transform ${e?"translate-x-4":"translate-x-0"}`})})}function C({value:e,onChange:t,onRemove:s,canRemove:a}){let i="simple"===e.type;return(0,n.jsxs)("div",{className:"border rounded-md p-3 space-y-2",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(u.$,{variant:i?"default":"outline",size:"sm",onClick:()=>t({type:"simple",frequency:"daily",time:"09:00"}),children:"Simple"}),(0,n.jsx)(u.$,{variant:i?"outline":"default",size:"sm",onClick:()=>t({type:"cron",expression:"0 9 * * *"}),children:"Cron"})]}),a&&(0,n.jsx)("button",{type:"button",onClick:s,className:"text-muted-foreground hover:text-destructive",children:(0,n.jsx)(l.A,{className:"h-4 w-4"})})]}),i?(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsxs)("select",{value:e.frequency,onChange:s=>t({...e,frequency:s.target.value}),className:w,children:[(0,n.jsx)("option",{value:"hourly",children:"Hourly"}),(0,n.jsx)("option",{value:"daily",children:"Daily"}),(0,n.jsx)("option",{value:"weekly",children:"Weekly"}),(0,n.jsx)("option",{value:"monthly",children:"Monthly"})]}),"hourly"!==e.frequency&&(0,n.jsx)(x.p,{type:"time",value:e.time||"09:00",onChange:s=>t({...e,time:s.target.value})}),"weekly"===e.frequency&&(0,n.jsx)("select",{value:e.dayOfWeek??1,onChange:s=>t({...e,dayOfWeek:Number(s.target.value)}),className:w,children:v.map((e,t)=>(0,n.jsx)("option",{value:t,children:e},e))}),"monthly"===e.frequency&&(0,n.jsx)(x.p,{type:"number",min:1,max:31,value:e.dayOfMonth??1,onChange:s=>t({...e,dayOfMonth:Number(s.target.value)}),placeholder:"Day of month"})]}):(0,n.jsx)(x.p,{value:e.expression,onChange:e=>t({type:"cron",expression:e.target.value}),placeholder:"0 9 * * 1-5",className:"font-mono"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:(0,y.Bg)(e)})]})}function S(){let e=(0,r.useParams)(),t=(0,r.useSearchParams)(),s=e.id,v="new"===s,S=v?t.get("from"):null,$=v?t.get("cwd"):null,M=(0,r.useRouter)();(0,d.si)(S?"Duplicate Job":v?"New Job":"Edit Job",{hideActions:!0});let[D,W]=(0,o.useState)(""),[E,A]=(0,o.useState)($||""),[T,z]=(0,o.useState)(""),[I,O]=(0,o.useState)(!0),[R,P]=(0,o.useState)([{type:"simple",frequency:"daily",time:"09:00"}]),[B,L]=(0,o.useState)(b),[Z,q]=(0,o.useState)("200k"),[J,U]=(0,o.useState)("medium"),[F,_]=(0,o.useState)("anthropic"),[H,K]=(0,o.useState)("stream"),[X,G]=(0,o.useState)(30),[Q,V]=(0,o.useState)(!1),[Y,ee]=(0,o.useState)([]),[et,es]=(0,o.useState)(""),[en,el]=(0,o.useState)([]),[ea,ei]=(0,o.useState)({}),[er,eo]=(0,o.useState)({}),[ed,ec]=(0,o.useState)(new Set),[eu,em]=(0,o.useState)({}),[ex,eh]=(0,o.useState)({}),[ep,ef]=(0,o.useState)([]),[ej,ey]=(0,o.useState)(!1),[ev,eg]=(0,o.useState)(90),[eN,eb]=(0,o.useState)(!1),[ew,ek]=(0,o.useState)([]),[eC,eS]=(0,o.useState)([]),[e$,eM]=(0,o.useState)([]),[eD,eW]=(0,o.useState)(!1),[eE,eA]=(0,o.useState)(!1),[eT,ez]=(0,o.useState)({}),[eI,eO]=(0,o.useState)(!v||!!S),eR="anthropic"===F,eP=e$.find(e=>e.id===F),eB=eR&&B?(0,h.bs)(B):null,eL=eB?.alias||null,eZ=eL?(0,h.r5)(eL):[],eq=eZ.length>1,eJ=!eR&&eP?eP.models.find(e=>e.modelId===B):null,eU=(0,o.useMemo)(()=>eR?eB?.contextSizes??["200k"]:eJ?.contextSizes??["200k"],[eR,eB,eJ]);(0,o.useEffect)(()=>{eU.includes(Z)||q(eU[0]??"200k")},[eU,Z]);let eF=(()=>{if(!eR&&eJ)return eJ.effortLevels;let e=B.replace(/\[.*\]$/,"");for(let t of e$){let s=t.models.find(t=>t.modelId===e);if(s&&s.effortLevels.length>0)return s.effortLevels}return eB?(0,h.iz)(eB):[]})(),e_=g.filter(e=>!Y.includes(e)),eH=e$.filter(e=>!e.isBuiltin);function eK(e){let t=(0,h.zQ)(e);t&&(_("anthropic"),L(t.modelId),q("200k"),U((0,h.Mi)(t)||""))}function eX(e){let t=e.trim();t&&!Y.includes(t)&&ee([...Y,t]),es("")}async function eG(e){if(eu[e]||ex[e])return;eh(t=>({...t,[e]:!0}));let t=new URLSearchParams;E&&t.set("cwd",E);try{let s=await fetch(`/api/mcp-servers/${encodeURIComponent(e)}/tools?${t}`);if(s.ok){let t=await s.json();t.tools&&em(s=>({...s,[e]:t.tools}))}}catch{}finally{eh(t=>({...t,[e]:!1}))}}function eQ(e,t){if(!t)return;let s=ea[e]||[];s.includes(t)||ei({...ea,[e]:[...s,t]})}let eV=(0,o.useCallback)((e,t)=>{W(t?`${e.name} (copy)`:e.name),A(e.cwd),z(e.prompt),O(e.enabled),P((0,y.KU)(e));let s=e.model||"",n=s.replace(/\[.*\]$/,""),l=n.indexOf(":");if(l>0)_(n.slice(0,l)),L(n.slice(l+1));else{_("anthropic");let e=(0,h.AX)(n);L(e?.modelId||b)}let a=/\[1m\]$/i.test(s);q(e.contextSize??(a?"1m":"200k"));let i=(0,h.AX)(n);U(e.thinkingLevel||(0,h.Mi)(i)||""),G(e.maxDurationMinutes??30),V(e.bypassPermissions??!1),ee(e.allowedTools||[]),el(e.mcpServers||[]),ei(e.mcpToolFilters||{}),ey(e.skipIfMissed??!1),eg(e.retentionDays??90),eb(e.inboxOutput??!1),ek(e.notifyProviders||[]),K(e.runtime||"stream")},[]),eY=(0,o.useCallback)(async()=>{let e=S||(v?null:s);if(e)try{let t=await fetch(`/api/jobs/${e}`);if(!t.ok)return void M.push("/jobs");let s=await t.json();eV(s.job,!!S)}finally{eO(!1)}},[s,v,S,M,eV]);async function e0(){let e=f(X),t=f(ev);if(ez({maxDuration:e?void 0:"Enter a duration of at least 1 minute.",retentionDays:t?void 0:"Enter a retention of at least 1 day."}),!e||!t)return;eA(!0);let n=B;!eR&&F&&(n=`${F}:${B}`);let l={name:D,cwd:E,prompt:T,enabled:I,schedule:R[0],schedules:R,model:n,contextSize:Z,thinkingLevel:J||void 0,maxDurationMinutes:X,bypassPermissions:Q,allowedTools:Y,mcpServers:en,mcpToolFilters:ea,skipIfMissed:ej,retentionDays:ev,inboxOutput:eN,notifyProviders:ew,runtime:H};try{let e=v?"/api/jobs":`/api/jobs/${s}`,t=v?"POST":"PUT",n=await fetch(e,{method:t,headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(n.ok){let e=await n.json(),t=v?e.job.id:s;M.push(`/jobs/${t}`)}}finally{eA(!1)}}return((0,o.useEffect)(()=>{eY()},[eY]),(0,o.useEffect)(()=>{let e=E?`?cwd=${encodeURIComponent(E)}`:"";fetch(`/api/jobs/mcp-discover${e}`).then(e=>e.json()).then(e=>ef(e.servers)).catch(()=>ef([]))},[E]),(0,o.useEffect)(()=>{fetch("/api/notifications").then(e=>e.json()).then(e=>eS((e.providers||[]).filter(e=>e.enabled))).catch(()=>eS([]))},[]),(0,o.useEffect)(()=>{fetch("/api/providers").then(e=>e.json()).then(e=>{Array.isArray(e)&&eM(e)}).catch(()=>{})},[]),eI)?(0,n.jsx)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4",children:(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading..."})}):(0,n.jsx)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4",children:(0,n.jsxs)("div",{className:"max-w-2xl mx-auto space-y-4 pb-8",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(u.$,{variant:"ghost",size:"icon",onClick:()=>M.push(v?"/jobs":`/jobs/${s}`),children:(0,n.jsx)(a.A,{className:"h-4 w-4"})}),(0,n.jsx)("h2",{className:"font-semibold",children:S?"Duplicate Job":v?"New Job":"Edit Job"})]}),(0,n.jsx)(m.Zp,{children:(0,n.jsxs)(m.Wu,{className:"pt-6 space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Enabled"}),!I&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Paused — this job will not run on its schedule."})]}),(0,n.jsx)(k,{checked:I,onChange:O})]}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Name"}),(0,n.jsx)(x.p,{value:D,onChange:e=>W(e.target.value),placeholder:"Weekly dependency update"})]}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Prompt"}),(0,n.jsx)("textarea",{value:T,onChange:e=>z(e.target.value),placeholder:"Check for outdated dependencies and create a PR updating them...",className:"w-full min-h-[120px] rounded-md border bg-background px-3 py-2 text-sm font-mono resize-y focus:outline-none focus:ring-2 focus:ring-ring"})]})]})}),(0,n.jsxs)(m.Zp,{children:[(0,n.jsx)(m.aR,{className:"pb-2",children:(0,n.jsx)(m.ZB,{className:"text-sm font-medium",children:"Working Directory"})}),(0,n.jsxs)(m.Wu,{className:"space-y-2",children:[(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(x.p,{value:E,onChange:e=>A(e.target.value),placeholder:"Leave empty for scratchpad",className:"flex-1"}),(0,n.jsx)(u.$,{variant:"outline",size:"sm",onClick:()=>eW(!0),children:"Browse"})]}),!E&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Uses ~/.cockpit/jobs as a temporary scratchpad directory"}),eD&&(0,n.jsx)("div",{className:"border rounded-md p-3",children:(0,n.jsx)(c.K,{onSelect:e=>{A(e),eW(!1)},onCancel:()=>eW(!1)})})]})]}),(0,n.jsxs)(m.Zp,{children:[(0,n.jsx)(m.aR,{className:"pb-2",children:(0,n.jsx)(m.ZB,{className:"text-sm font-medium",children:"Schedule"})}),(0,n.jsxs)(m.Wu,{className:"space-y-3",children:[R.map((e,t)=>(0,n.jsx)(C,{value:e,onChange:e=>P(R.map((s,n)=>n===t?e:s)),onRemove:()=>P(R.filter((e,s)=>s!==t)),canRemove:R.length>1},t)),(0,n.jsxs)("button",{type:"button",onClick:()=>P([...R,{type:"simple",frequency:"daily",time:"09:00"}]),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-primary transition-colors",children:[(0,n.jsx)(i.A,{className:"h-3 w-3"}),"Add schedule"]})]})]}),(0,n.jsxs)(m.Zp,{children:[(0,n.jsx)(m.aR,{className:"pb-2",children:(0,n.jsx)(m.ZB,{className:"text-sm font-medium",children:"Model"})}),(0,n.jsxs)(m.Wu,{className:"space-y-1",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-1.5 px-2 py-2 text-sm",children:[(0,n.jsx)("span",{children:"Provider"}),(0,n.jsxs)("select",{value:F,onChange:e=>{if("anthropic"===e.target.value)(0,h.bs)(B)?_("anthropic"):eK("sonnet");else{var t=e.target.value;_(t);let s=e$.find(e=>e.id===t);if(s&&s.models.length>0){let e=s.models[0];L(e.modelId),q("200k"),U(e.defaultEffort||(e.effortLevels.length>0?e.effortLevels[0]:""))}}},className:w,children:[(0,n.jsx)("option",{value:"anthropic",children:"Anthropic"}),eH.map(e=>(0,n.jsx)("option",{value:e.id,children:e.name},e.id))]})]}),eR&&(0,n.jsxs)("div",{className:"flex items-center justify-between px-2 py-2 text-sm",children:[(0,n.jsx)("span",{children:"Model"}),(0,n.jsx)("div",{className:"flex gap-1 flex-wrap justify-end",children:["haiku","sonnet","opus"].map(e=>(0,n.jsx)(u.$,{variant:eL===e?"default":"outline",size:"sm",onClick:()=>eK(e),children:e.charAt(0).toUpperCase()+e.slice(1)},e))})]}),!eR&&eP&&(0,n.jsxs)("div",{className:"flex items-center justify-between px-2 py-2 text-sm",children:[(0,n.jsx)("span",{children:"Model"}),(0,n.jsx)("div",{className:"flex gap-1 flex-wrap justify-end",children:eP.models.map(e=>(0,n.jsx)(u.$,{variant:B===e.modelId?"default":"outline",size:"sm",onClick:()=>{L(e.modelId),q("200k"),U(e.defaultEffort||(e.effortLevels.length>0?e.effortLevels[0]:""))},children:e.displayName},e.modelId))})]}),eR&&eq&&(0,n.jsxs)("div",{className:"flex items-center justify-between px-2 py-2 text-sm",children:[(0,n.jsx)("span",{children:"Version"}),(0,n.jsx)("div",{className:"flex gap-1 flex-wrap justify-end",children:eZ.map(e=>(0,n.jsx)(u.$,{variant:eB?.version===e.version?"default":"outline",size:"sm",onClick:()=>(function(e){if(!eL)return;let t=(0,h.r5)(eL).find(t=>t.version===e);if(t){L(t.modelId);let e=(()=>{for(let e of e$){let s=e.models.find(e=>e.modelId===t.modelId);if(s)return s.effortLevels}return[]})(),s=e.length>0?e:(0,h.iz)(t);J&&!s.includes(J)&&U((0,h.Mi)(t)||"")}})(e.version),children:e.version},e.version))})]}),eU.length>=2&&(0,n.jsxs)("div",{className:"flex items-center justify-between px-2 py-2 text-sm",children:[(0,n.jsx)("span",{children:"Context"}),(0,n.jsx)("div",{className:"flex gap-1",children:eU.map(e=>(0,n.jsx)(u.$,{variant:Z===e?"default":"outline",size:"sm",onClick:()=>q(e),children:h.XR[e].label},e))})]}),eF.length>0&&(0,n.jsxs)("div",{className:"flex items-center justify-between px-2 py-2 text-sm",children:[(0,n.jsx)("span",{children:"Thinking"}),(0,n.jsx)("div",{className:"flex gap-1 flex-wrap justify-end",children:eF.map(e=>(0,n.jsx)(u.$,{variant:J===e?"default":"outline",size:"sm",onClick:()=>U(e),children:N[e]},e))})]})]})]}),(0,n.jsxs)(m.Zp,{children:[(0,n.jsx)(m.aR,{className:"pb-2",children:(0,n.jsx)(m.ZB,{className:"text-sm font-medium",children:"Permissions"})}),(0,n.jsxs)(m.Wu,{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Bypass Permissions"}),Q&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"All tool permissions will be auto-approved"})]}),(0,n.jsx)(k,{checked:Q,onChange:V})]}),!Q&&(0,n.jsxs)("div",{className:"space-y-2 border-t pt-4",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Allowed Tools"}),Y.length>0&&(0,n.jsx)("div",{className:"flex flex-wrap gap-1.5",children:Y.map(e=>(0,n.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs px-2 py-1 rounded-md bg-primary/10 text-primary font-mono",children:[e,(0,n.jsx)("button",{type:"button",onClick:()=>{ee(Y.filter(t=>t!==e))},className:"hover:text-destructive",children:(0,n.jsx)(l.A,{className:"h-3 w-3"})})]},e))}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(x.p,{value:et,onChange:e=>es(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),eX(et))},placeholder:"Type tool name and press Enter",className:"flex-1 font-mono"}),(0,n.jsx)(u.$,{variant:"outline",size:"sm",onClick:()=>eX(et),disabled:!et.trim(),children:"Add"})]}),e_.length>0&&(0,n.jsx)("div",{className:"flex flex-wrap gap-1",children:e_.map(e=>(0,n.jsxs)("button",{type:"button",onClick:()=>eX(e),className:"text-xs px-2 py-0.5 rounded border border-dashed border-muted-foreground/30 text-muted-foreground hover:border-primary hover:text-primary transition-colors",children:["+ ",e]},e))}),0===Y.length&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"No tools permitted. Add tools this job is allowed to use."})]})]})]}),(0,n.jsxs)(m.Zp,{children:[(0,n.jsx)(m.aR,{className:"pb-2",children:(0,n.jsx)(m.ZB,{className:"text-sm font-medium",children:"MCP Servers"})}),(0,n.jsxs)(m.Wu,{className:"space-y-2",children:[0===ep.length&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"No MCP servers found. Configure servers in Settings."}),ep.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ep.map(e=>{let t=en.includes(e);return(0,n.jsx)("button",{type:"button",onClick:()=>{if(t){el(en.filter(t=>t!==e));let{[e]:t,...s}=ea;ei(s),ec(t=>{let s=new Set(t);return s.delete(e),s})}else el([...en,e])},className:`inline-flex items-center gap-1 text-xs px-2.5 py-1 rounded-md font-mono transition-colors ${t?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-accent"}`,children:e},e)})}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:0===en.length?"No servers enabled. Select servers to activate.":`${en.length} enabled.`}),en.map(e=>{let t=ea[e]||[],s=ed.has(e),a=er[e]||"";return(0,n.jsxs)("div",{className:"border rounded-md p-2 space-y-2",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>{ec(t=>{let s=new Set(t);return s.has(e)?s.delete(e):(s.add(e),setTimeout(()=>eG(e),0)),s})},className:"w-full flex items-center justify-between text-xs text-muted-foreground hover:text-primary",children:[(0,n.jsx)("span",{className:"font-mono",children:e}),(0,n.jsx)("span",{children:0===t.length?"All tools":`${t.length} tool${1===t.length?"":"s"} filtered`})]}),s&&(0,n.jsxs)("div",{className:"space-y-2 pt-1",children:[t.length>0&&(0,n.jsx)("div",{className:"flex flex-wrap gap-1.5",children:t.map(s=>(0,n.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs px-2 py-1 rounded-md bg-primary/10 text-primary font-mono",children:[s,(0,n.jsx)("button",{type:"button",onClick:()=>{let n=t.filter(e=>e!==s);if(0===n.length){let{[e]:t,...s}=ea;ei(s)}else ei({...ea,[e]:n})},className:"hover:text-destructive",children:(0,n.jsx)(l.A,{className:"h-3 w-3"})})]},s))}),ex[e]?(0,n.jsx)("p",{className:"text-xs text-muted-foreground italic",children:"Discovering tools..."}):eu[e]?.length>0?(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Discovered tools — click to add:"}),(0,n.jsx)("div",{className:"flex flex-wrap gap-1",children:eu[e].map(s=>{let l=t.includes(s);return(0,n.jsx)("button",{type:"button",disabled:l,onClick:()=>eQ(e,s),className:`inline-flex items-center text-xs px-2 py-0.5 rounded font-mono transition-colors ${l?"text-muted-foreground/40 line-through cursor-not-allowed":"text-muted-foreground hover:text-foreground hover:bg-muted"}`,children:s},s)})})]}):null,(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(x.p,{value:a,onChange:t=>eo({...er,[e]:t.target.value}),onKeyDown:s=>{if("Enter"===s.key){s.preventDefault();let n=a.trim();n&&!t.includes(n)&&(eQ(e,n),eo({...er,[e]:""}))}},placeholder:"Tool name or server:tool",className:"flex-1 font-mono text-xs"}),(0,n.jsx)(u.$,{variant:"outline",size:"sm",onClick:()=>{let s=a.trim();s&&!t.includes(s)&&(eQ(e,s),eo({...er,[e]:""}))},disabled:!a.trim(),children:"Add"})]}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Leave empty to allow all tools. For proxy servers, use server:tool format."})]})]},e)})]})]})]}),(0,n.jsxs)(m.Zp,{children:[(0,n.jsx)(m.aR,{className:"pb-2",children:(0,n.jsx)(m.ZB,{className:"text-sm font-medium",children:"Execution"})}),(0,n.jsxs)(m.Wu,{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Runtime"}),(0,n.jsxs)("div",{className:"flex gap-1",children:[(0,n.jsx)(u.$,{variant:"stream"===H?"default":"outline",size:"sm",onClick:()=>K("stream"),children:"Stream"}),(0,n.jsx)(u.$,{variant:"pty"===H?"default":"outline",size:"sm",onClick:()=>K("pty"),children:"PTY"})]})]}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Max Duration (minutes)"}),(0,n.jsx)(x.p,{type:"number",min:1,value:X,onChange:e=>G(p(e.target.value)),className:(0,j.cn)(eT.maxDuration&&"border-destructive")}),eT.maxDuration&&(0,n.jsx)("p",{className:"text-xs text-destructive",children:eT.maxDuration})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Retry missed runs"}),(0,n.jsx)(k,{checked:!ej,onChange:e=>ey(!e)})]}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Audit log retention (days)"}),(0,n.jsx)(x.p,{type:"number",min:1,value:ev,onChange:e=>eg(p(e.target.value)),className:(0,j.cn)(eT.retentionDays&&"border-destructive")}),eT.retentionDays&&(0,n.jsx)("p",{className:"text-xs text-destructive",children:eT.retentionDays})]})]})]}),(0,n.jsxs)(m.Zp,{children:[(0,n.jsx)(m.aR,{className:"pb-2",children:(0,n.jsx)(m.ZB,{className:"text-sm font-medium",children:"Output"})}),(0,n.jsxs)(m.Wu,{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"Send to Inbox"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"The agent will format its final output as a structured message delivered to your Cockpit inbox."})]}),(0,n.jsx)(k,{checked:eN,onChange:eb})]}),eN&&eC.length>0&&(0,n.jsxs)("div",{className:"mt-4 pt-4 border-t",children:[(0,n.jsx)("label",{className:"text-sm font-medium",children:"External notifications"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 mb-2",children:"Also send to these providers when a message is delivered."}),(0,n.jsx)("div",{className:"space-y-1.5",children:eC.map(e=>(0,n.jsxs)("label",{className:"flex items-center gap-2 text-sm cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:ew.includes(e.id),onChange:t=>ek(s=>t.target.checked?[...s,e.id]:s.filter(t=>t!==e.id)),className:"rounded border-input"}),(0,n.jsx)("span",{children:e.name}),(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",e.type,")"]})]},e.id))})]})]})]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(u.$,{onClick:e0,disabled:eE||!D||!T,children:eE?"Saving...":"Save"}),(0,n.jsx)(u.$,{variant:"outline",onClick:()=>M.push(v?"/jobs":`/jobs/${s}`),children:"Cancel"})]})]})})}},84949:(e,t,s)=>{"use strict";function n(e,t,s){let n=[];for(let l of e.split(",")){let e=l.match(/^(.+)\/(\d+)$/),a=e?Number.parseInt(e[2],10):1,i=e?e[1]:l;if("*"===i)for(let e=t;e<=s;e+=a)n.push(e);else if(i.includes("-")){let[e,t]=i.split("-"),s=Number.parseInt(e,10),l=Number.parseInt(t,10);for(let e=s;e<=l;e+=a)n.push(e)}else n.push(Number.parseInt(i,10))}return n}function l(e){if("cron"===e.type)return`cron: ${e.expression}`;let t=e.time||"00:00";switch(e.frequency){case"hourly":return`Every hour at :${t.split(":")[1]||"00"}`;case"daily":return`Daily at ${t}`;case"weekly":return`Weekly on ${["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][e.dayOfWeek??0]} at ${t}`;case"monthly":return`Monthly on day ${e.dayOfMonth??1} at ${t}`}}function a(e){return e.schedules?.length?e.schedules:[e.schedule]}function i(e){return e.map(l).join("; ")}function r(e,t){let s=null;for(let l of e){let e=function(e,t){let s=function(e){let t=e.trim().split(/\s+/);if(5!==t.length)throw Error(`Invalid cron expression: expected 5 fields, got ${t.length}`);return{minute:n(t[0],0,59),hour:n(t[1],0,23),dayOfMonth:n(t[2],1,31),month:n(t[3],1,12),dayOfWeek:n(t[4],0,6),domWild:"*"===t[2],dowWild:"*"===t[4]}}("cron"===e.type?e.expression:function(e){let[t,s]=(e.time||"00:00").split(":").map(Number);switch(e.frequency){case"hourly":return`${s} * * * *`;case"daily":return`${s} ${t} * * *`;case"weekly":return`${s} ${t} * * ${e.dayOfWeek??0}`;case"monthly":return`${s} ${t} ${e.dayOfMonth??1} * *`}}(e)),l=new Date(t.getTime());l.setSeconds(0,0),l.setMinutes(l.getMinutes()+1);for(let e=0;e<525960;e++){if(s.minute.includes(l.getMinutes())&&s.hour.includes(l.getHours())&&s.dayOfMonth.includes(l.getDate())&&s.month.includes(l.getMonth()+1)&&s.dayOfWeek.includes(l.getDay()))return l;l.setMinutes(l.getMinutes()+1)}return new Date(t.getTime()+864e5)}(l,t);(!s||e.getTime()<s.getTime())&&(s=new Date(e.getTime()))}return s??new Date(t.getTime()+864e5)}s.d(t,{Bg:()=>l,JH:()=>i,KU:()=>a,ay:()=>r})}},e=>{e.O(0,[989,25781,1550,28441,93794,77358],()=>e(e.s=39071)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39410],{2330:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>v});var n=t(95155),a=t(94088),r=t(12363),i=t(31966),l=t(18986),c=t(92571),o=t(36619),d=t(40852),u=t(65738),m=t(73321),h=t(12115),x=t(1550),p=t(45160),f=t(89239),j=t(81477),g=t(42763),N=t(67032),y=t(8081),w=t(84949);function $({prompt:e}){let[s,t]=(0,h.useState)(!1),i=e.split("\n"),l=i.length>8,c=l&&!s?i.slice(0,8).join("\n"):e;return(0,n.jsxs)(j.Zp,{children:[(0,n.jsx)(j.aR,{className:"pb-2",children:(0,n.jsx)(j.ZB,{className:"text-sm font-medium",children:"Prompt"})}),(0,n.jsxs)(j.Wu,{children:[(0,n.jsx)("pre",{className:"text-sm whitespace-pre-wrap break-all font-mono bg-muted rounded p-3",children:c}),l&&(0,n.jsxs)("button",{onClick:()=>t(!s),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground mt-2 transition-colors",children:[s?(0,n.jsx)(a.A,{className:"h-3 w-3"}):(0,n.jsx)(r.A,{className:"h-3 w-3"}),s?"Show less":`Show all ${i.length} lines`]})]})]})}let b="min-w-[5rem] justify-center";function v(){let e=(0,m.useParams)().id,s=(0,m.useRouter)(),[t,a]=(0,h.useState)(null),[r,v]=(0,h.useState)(!0),[k,M]=(0,h.useState)(!1),[S,E]=(0,h.useState)(!1),[C,D]=(0,h.useState)(!1);(0,x.si)(t?.name||"Job",{hideActions:!0});let{runs:T,loading:A,loadingMore:O,hasMore:W,refresh:L,loadMore:z}=(0,N.Jm)(e),P=(0,h.useCallback)(async()=>{try{let t=await fetch(`/api/jobs/${e}`);if(!t.ok)return void s.push("/jobs");let n=await t.json();a(n.job)}finally{v(!1)}},[e,s]);async function R(){M(!0),await fetch(`/api/jobs/${e}/trigger`,{method:"POST"}),M(!1),L()}async function _(){E(!0);try{(await fetch(`/api/jobs/${e}/stop`,{method:"POST"})).ok&&L()}finally{E(!1)}}async function F(){(await fetch(`/api/jobs/${e}`,{method:"DELETE"})).ok&&s.push("/jobs")}return((0,h.useEffect)(()=>{P()},[P]),r||!t)?(0,n.jsx)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4",children:(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading..."})}):(0,n.jsx)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4",children:(0,n.jsxs)("div",{className:"max-w-2xl mx-auto space-y-4 pb-8",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(f.$,{variant:"ghost",size:"icon",onClick:()=>s.push("/jobs"),children:(0,n.jsx)(i.A,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("h2",{className:"font-semibold truncate",children:t.name}),t.enabled?(0,n.jsx)(p.E,{variant:"default",children:"Enabled"}):(0,n.jsx)(p.E,{variant:"secondary",children:"Disabled"})]}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:(0,w.JH)((0,w.KU)(t))})]})]}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,n.jsxs)(f.$,{variant:"outline",size:"sm",onClick:()=>s.push(`/jobs/${e}/edit`),children:[(0,n.jsx)(l.A,{className:"h-4 w-4 mr-1"}),"Edit"]}),(0,n.jsxs)(f.$,{variant:"outline",size:"sm",onClick:R,disabled:k,children:[k?(0,n.jsx)(c.A,{className:"h-4 w-4 mr-1 animate-spin"}):(0,n.jsx)(o.A,{className:"h-4 w-4 mr-1"}),"Run Now"]}),T.some(e=>"running"===e.status)&&(0,n.jsxs)(f.$,{variant:"outline",size:"sm",onClick:_,disabled:S,children:[S?(0,n.jsx)(c.A,{className:"h-4 w-4 mr-1 animate-spin"}):(0,n.jsx)(d.A,{className:"h-4 w-4 mr-1"}),"Stop"]}),(0,n.jsxs)(f.$,{variant:"ghost",size:"sm",className:"text-destructive hover:text-destructive",onClick:()=>D(!0),children:[(0,n.jsx)(u.A,{className:"h-4 w-4 mr-1"}),"Delete"]})]}),(0,n.jsx)($,{prompt:t.prompt}),(0,n.jsx)(j.Zp,{children:(0,n.jsx)(j.Wu,{className:"pt-4",children:(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-y-2 text-sm",children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Model"}),(0,n.jsx)("span",{className:"text-right",children:function(e){let s=e.model||"",t=/\[1m\]$/i.test(s)?" (1M)":"",n=s.replace(/\[.*\]$/,""),a=n.indexOf(":");if(a>0)return`${n.slice(a+1)}${t}`;let r=(0,y.bs)(n);if(!r)return s||"Default";let i=r.alias.charAt(0).toUpperCase()+r.alias.slice(1);return`${i} ${r.version}${t}`}(t)}),t.thinkingLevel&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Thinking"}),(0,n.jsx)("span",{className:"text-right capitalize",children:t.thinkingLevel})]}),(0,n.jsx)("span",{className:"text-muted-foreground",children:"Runtime"}),(0,n.jsx)("span",{className:"text-right uppercase",children:t.runtime||"stream"}),(0,n.jsx)("span",{className:"text-muted-foreground",children:"Max Duration"}),(0,n.jsxs)("span",{className:"text-right",children:[t.maxDurationMinutes??30," min"]}),t.cwd&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Directory"}),(0,n.jsx)("span",{className:"text-right font-mono text-xs truncate",children:t.cwd})]}),(0,n.jsx)("span",{className:"text-muted-foreground",children:"Permissions"}),(0,n.jsx)("span",{className:"text-right",children:t.bypassPermissions?"Bypass all":`${(t.allowedTools||[]).length} tools allowed`}),(t.mcpServers||[]).length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"MCP Servers"}),(0,n.jsx)("span",{className:"text-right text-xs font-mono truncate",children:(t.mcpServers||[]).join(", ")})]})]})})}),(0,n.jsxs)(j.Zp,{children:[(0,n.jsx)(j.aR,{className:"pb-2",children:(0,n.jsx)(j.ZB,{className:"text-sm font-medium",children:"Run History"})}),(0,n.jsxs)(j.Wu,{children:[A&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading runs..."}),!A&&0===T.length&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"No runs yet."}),(0,n.jsx)("div",{className:"space-y-1",children:T.map(t=>{let a;return(0,n.jsxs)("button",{type:"button",className:"w-full flex items-center gap-3 rounded px-2 py-2 hover:bg-muted transition-colors text-left",onClick:()=>s.push(`/jobs/${e}/runs/${t.id}`),children:[function(e){switch(e){case"success":return(0,n.jsx)(p.E,{className:`${b} bg-green-600 text-white`,children:"Success"});case"failure":return(0,n.jsx)(p.E,{variant:"destructive",className:b,children:"Failed"});case"timeout":return(0,n.jsx)(p.E,{className:`${b} bg-yellow-600 text-white`,children:"Timeout"});case"running":return(0,n.jsx)(p.E,{className:`${b} bg-blue-600 text-white`,children:"Running"});case"stopped":return(0,n.jsx)(p.E,{variant:"secondary",className:b,children:"Stopped"});default:return(0,n.jsx)(p.E,{variant:"secondary",className:b,children:e})}}(t.status),(0,n.jsx)("span",{className:"text-xs text-muted-foreground flex-1",children:new Date(t.startedAt).toLocaleString()}),null!=t.durationMs&&(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:(a=Math.round(t.durationMs/1e3))<60?`${a}s`:`${Math.floor(a/60)}m ${a%60}s`})]},t.id)})}),W&&(0,n.jsx)(f.$,{variant:"ghost",size:"sm",className:"w-full mt-2",onClick:z,disabled:O,children:O?"Loading...":"Load more"})]})]}),(0,n.jsx)(g.lG,{open:C,onOpenChange:D,children:(0,n.jsxs)(g.Cf,{children:[(0,n.jsx)(g.c7,{children:(0,n.jsx)(g.L3,{children:"Delete Job"})}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Delete this job and all run history? This cannot be undone."}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(f.$,{variant:"outline",onClick:()=>D(!1),children:"Cancel"}),(0,n.jsx)(f.$,{variant:"destructive",onClick:F,children:"Delete"})]})]})})]})})}},83250:(e,s,t)=>{Promise.resolve().then(t.bind(t,2330))},84949:(e,s,t)=>{"use strict";function n(e,s,t){let n=[];for(let a of e.split(",")){let e=a.match(/^(.+)\/(\d+)$/),r=e?Number.parseInt(e[2],10):1,i=e?e[1]:a;if("*"===i)for(let e=s;e<=t;e+=r)n.push(e);else if(i.includes("-")){let[e,s]=i.split("-"),t=Number.parseInt(e,10),a=Number.parseInt(s,10);for(let e=t;e<=a;e+=r)n.push(e)}else n.push(Number.parseInt(i,10))}return n}function a(e){if("cron"===e.type)return`cron: ${e.expression}`;let s=e.time||"00:00";switch(e.frequency){case"hourly":return`Every hour at :${s.split(":")[1]||"00"}`;case"daily":return`Daily at ${s}`;case"weekly":return`Weekly on ${["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][e.dayOfWeek??0]} at ${s}`;case"monthly":return`Monthly on day ${e.dayOfMonth??1} at ${s}`}}function r(e){return e.schedules?.length?e.schedules:[e.schedule]}function i(e){return e.map(a).join("; ")}function l(e,s){let t=null;for(let a of e){let e=function(e,s){let t=function(e){let s=e.trim().split(/\s+/);if(5!==s.length)throw Error(`Invalid cron expression: expected 5 fields, got ${s.length}`);return{minute:n(s[0],0,59),hour:n(s[1],0,23),dayOfMonth:n(s[2],1,31),month:n(s[3],1,12),dayOfWeek:n(s[4],0,6),domWild:"*"===s[2],dowWild:"*"===s[4]}}("cron"===e.type?e.expression:function(e){let[s,t]=(e.time||"00:00").split(":").map(Number);switch(e.frequency){case"hourly":return`${t} * * * *`;case"daily":return`${t} ${s} * * *`;case"weekly":return`${t} ${s} * * ${e.dayOfWeek??0}`;case"monthly":return`${t} ${s} ${e.dayOfMonth??1} * *`}}(e)),a=new Date(s.getTime());a.setSeconds(0,0),a.setMinutes(a.getMinutes()+1);for(let e=0;e<525960;e++){if(t.minute.includes(a.getMinutes())&&t.hour.includes(a.getHours())&&t.dayOfMonth.includes(a.getDate())&&t.month.includes(a.getMonth()+1)&&t.dayOfWeek.includes(a.getDay()))return a;a.setMinutes(a.getMinutes()+1)}return new Date(s.getTime()+864e5)}(a,s);(!t||e.getTime()<t.getTime())&&(t=new Date(e.getTime()))}return t??new Date(s.getTime()+864e5)}t.d(s,{Bg:()=>a,JH:()=>i,KU:()=>r,ay:()=>l})},94088:(e,s,t)=>{"use strict";t.d(s,{A:()=>n});let n=(0,t(99537).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])}},e=>{e.O(0,[989,25781,1550,28441,93794,77358],()=>e(e.s=83250)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[15496],{46172:(e,s,t)=>{Promise.resolve().then(t.bind(t,60532))},60532:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>y});var n=t(95155),a=t(94088),r=t(12363),i=t(76721),l=t(9005),c=t(92571),d=t(31966),o=t(36483),u=t(25494),x=t(40852),m=t(73321),h=t(12115),p=t(1550),j=t(513),f=t(45160),N=t(89239),g=t(81477);function w({prompt:e}){let[s,t]=(0,h.useState)(!1),i=e.split("\n"),l=i.length>8,c=l&&!s?i.slice(0,8).join("\n"):e;return(0,n.jsxs)("div",{className:"mt-2",children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Prompt:"}),(0,n.jsx)("pre",{className:"mt-1 text-xs bg-muted rounded p-2 whitespace-pre-wrap",children:c}),l&&(0,n.jsxs)("button",{onClick:()=>t(!s),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground mt-1 transition-colors",children:[s?(0,n.jsx)(a.A,{className:"h-3 w-3"}):(0,n.jsx)(r.A,{className:"h-3 w-3"}),s?"Show less":`Show all ${i.length} lines`]})]})}function v({tool:e}){let[s,t]=(0,h.useState)(!1);return(0,n.jsxs)("div",{className:"border rounded-md",children:[(0,n.jsxs)("button",{type:"button",className:"w-full flex items-center gap-2 px-3 py-2 text-left text-sm hover:bg-muted/50 transition-colors",onClick:()=>t(!s),children:[s?(0,n.jsx)(r.A,{className:"h-3 w-3 shrink-0"}):(0,n.jsx)(i.A,{className:"h-3 w-3 shrink-0"}),(0,n.jsx)("span",{className:"font-mono font-medium truncate min-w-0",children:e.name}),void 0!==e.permitted&&(0,n.jsx)(f.E,{variant:e.permitted?"secondary":"destructive",className:"text-[10px]",children:e.permitted?"Allowed":"Denied"}),null!=e.durationMs&&(0,n.jsxs)("span",{className:"text-xs text-muted-foreground ml-auto shrink-0",children:[e.durationMs,"ms"]})]}),s&&(0,n.jsxs)("div",{className:"border-t px-3 py-2 space-y-2",children:[e.input&&(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-xs font-medium text-muted-foreground mb-1",children:"Input"}),(0,n.jsx)("pre",{className:"text-xs bg-muted rounded p-2 overflow-x-auto max-h-48 whitespace-pre-wrap",children:e.input})]}),e.output&&(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-xs font-medium text-muted-foreground mb-1",children:"Output"}),(0,n.jsx)("pre",{className:"text-xs bg-muted rounded p-2 overflow-x-auto max-h-48 whitespace-pre-wrap",children:e.output})]})]})]})}function b({jobId:e,runId:s,onClose:t}){let[a,r]=(0,h.useState)([]),[i,d]=(0,h.useState)(!0),[o,u]=(0,h.useState)(null),x=(0,h.useRef)(new Set);(0,h.useEffect)(()=>{fetch(`/api/jobs/${e}/runs/${s}/transcript`).then(e=>{if(!e.ok)throw Error("Failed to load transcript");return e.json()}).then(e=>{r(e.messages),d(!1)}).catch(e=>{u(e.message),d(!1)})},[e,s]),(0,h.useEffect)(()=>{let e=e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),t())};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t]);let m=(0,h.useCallback)(e=>{e.target===e.currentTarget&&t()},[t]);return(0,n.jsx)("div",{className:"fixed inset-0 z-50 bg-black/50 flex items-center justify-center p-4",onClick:m,children:(0,n.jsxs)(g.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:"Run transcript"}),(0,n.jsx)(N.$,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:t,children:(0,n.jsx)(l.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:[i&&(0,n.jsx)("div",{className:"flex justify-center py-12",children:(0,n.jsx)(c.A,{className:"h-5 w-5 animate-spin text-muted-foreground"})}),o&&(0,n.jsx)("div",{className:"text-center text-sm text-red-500 py-12",children:o}),!i&&0===a.length&&!o&&(0,n.jsx)("div",{className:"text-center text-sm text-muted-foreground py-12",children:"No transcript found for this run."}),!i&&a.map(e=>(0,n.jsx)("div",{children:(0,n.jsx)(j.s,{message:e,expandedToolIds:x})},e.id))]})]})})}function y(){let e=(0,m.useParams)(),s=e.id,t=e.runId,a=(0,m.useRouter)();(0,p.si)("Run Detail",{hideActions:!0});let[r,i]=(0,h.useState)(null),[l,j]=(0,h.useState)(!0),[y,k]=(0,h.useState)(!1),[S,A]=(0,h.useState)(!1),$=(0,h.useCallback)(async()=>{try{let e=await fetch(`/api/jobs/${s}/runs/${t}`);if(!e.ok)return void a.push(`/jobs/${s}`);let n=await e.json();i(n.run)}finally{j(!1)}},[s,t,a]);async function C(){A(!0);try{(await fetch(`/api/jobs/${s}/stop`,{method:"POST"})).ok&&await $(),A(!1)}catch{A(!1)}}return((0,h.useEffect)(()=>{$()},[$]),l||!r)?(0,n.jsx)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4",children:(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading..."})}):(0,n.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 space-y-4",children:[(0,n.jsx)("div",{className:"flex items-center gap-2",children:(0,n.jsx)(N.$,{variant:"ghost",size:"icon",onClick:()=>a.push(`/jobs/${s}`),children:(0,n.jsx)(d.A,{className:"h-4 w-4"})})}),(0,n.jsxs)(g.Zp,{children:[(0,n.jsx)(g.aR,{children:(0,n.jsxs)(g.ZB,{className:"text-base flex items-center gap-2",children:["Run Summary",function(e){switch(e){case"success":return(0,n.jsx)(f.E,{className:"bg-green-600 text-white",children:"Success"});case"failure":return(0,n.jsx)(f.E,{variant:"destructive",children:"Failed"});case"timeout":return(0,n.jsx)(f.E,{className:"bg-yellow-600 text-white",children:"Timeout"});case"running":return(0,n.jsx)(f.E,{className:"bg-blue-600 text-white",children:"Running"});case"stopped":return(0,n.jsx)(f.E,{variant:"secondary",children:"Stopped"});default:return(0,n.jsx)(f.E,{variant:"secondary",children:e})}}(r.status)]})}),(0,n.jsxs)(g.Wu,{className:"space-y-2 text-sm",children:[(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Started:"})," ",new Date(r.startedAt).toLocaleString()]}),r.completedAt&&(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Completed:"})," ",new Date(r.completedAt).toLocaleString()]}),null!=r.durationMs&&(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Duration:"})," ",Math.round(r.durationMs/1e3),"s"]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Messages:"})," ",r.messageCount]})]}),r.error&&(0,n.jsx)("div",{className:"mt-2 p-2 rounded bg-destructive/10 text-destructive text-xs",children:r.error}),(0,n.jsx)(w,{prompt:r.prompt}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Working Directory:"})," ",(0,n.jsx)("span",{className:"font-mono text-xs break-all",children:r.cwd})]}),(0,n.jsxs)("div",{className:"pt-2 flex flex-wrap gap-2",children:[(0,n.jsxs)(N.$,{variant:"outline",size:"sm",onClick:()=>k(!0),children:[(0,n.jsx)(o.A,{className:"h-3 w-3 mr-1"}),"View Transcript"]}),(0,n.jsxs)(N.$,{variant:"outline",size:"sm",onClick:()=>a.push(`/sessions/${r.sessionId}?cwd=${encodeURIComponent(r.cwd)}`),children:[(0,n.jsx)(u.A,{className:"h-3 w-3 mr-1"}),"Continue Session"]}),"running"===r.status&&(0,n.jsxs)(N.$,{variant:"destructive",size:"sm",onClick:C,disabled:S,children:[S?(0,n.jsx)(c.A,{className:"h-3 w-3 mr-1 animate-spin"}):(0,n.jsx)(x.A,{className:"h-3 w-3 mr-1"}),"Stop Now"]})]})]})]}),(0,n.jsxs)(g.Zp,{children:[(0,n.jsx)(g.aR,{children:(0,n.jsxs)(g.ZB,{className:"text-base",children:["Tool Usage (",r.toolsUsed.length,")"]})}),(0,n.jsxs)(g.Wu,{children:[0===r.toolsUsed.length&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"No tool invocations recorded."}),(0,n.jsx)("div",{className:"space-y-1",children:r.toolsUsed.map((e,s)=>(0,n.jsx)(v,{tool:e},`${e.name}-${e.timestamp}-${s}`))})]})]}),y&&(0,n.jsx)(b,{jobId:s,runId:t,onClose:()=>k(!1)})]})}},94088:(e,s,t)=>{"use strict";t.d(s,{A:()=>n});let n=(0,t(99537).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])}},e=>{e.O(0,[989,25781,1550,28441,93794,77358],()=>e(e.s=46172)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[17288],{22048:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>C});var n=s(95155),a=s(35484),l=s(64962),r=s(92571),i=s(40852),o=s(36619),c=s(99314),d=s(65738),u=s(76721),h=s(14225),m=s(2125),x=s(77618),p=s(73321),f=s(12115),g=s(1550),j=s(45160),N=s(89239),w=s(81477),b=s(42763),y=s(67032),v=s(84949);function S(e){if(!e.lastRunAt)return null;let t=function(e){let t=Math.floor((Date.now()-e)/6e4);if(t<1)return"just now";if(t<60)return`${t}m ago`;let s=Math.floor(t/60);if(s<24)return`${s}h ago`;let n=Math.floor(s/24);return`${n}d ago`}(e.lastRunAt);return"failure"===e.lastRunStatus||"timeout"===e.lastRunStatus?(0,n.jsxs)("span",{className:"flex items-center gap-1 text-destructive",children:[(0,n.jsx)(a.A,{className:"h-3 w-3"}),"Failed ",t]}):"success"===e.lastRunStatus?(0,n.jsxs)("span",{className:"flex items-center gap-1 text-green-500",children:[(0,n.jsx)(l.A,{className:"h-3 w-3"}),"Succeeded ",t]}):"stopped"===e.lastRunStatus?(0,n.jsxs)("span",{className:"flex items-center gap-1 text-muted-foreground",children:["Stopped ",t]}):null}function $({job:e,triggeringJobs:t,stoppingJobs:s,onTrigger:a,onStop:l,onDuplicate:u,onDelete:h,onClick:m}){let x=t.has(e.id)||"running"===e.lastRunStatus?"running":e.enabled?"failure"===e.lastRunStatus||"timeout"===e.lastRunStatus?"failed":"stopped"===e.lastRunStatus?"stopped":"enabled":"disabled";return(0,n.jsx)(w.Zp,{className:"cursor-pointer hover:bg-accent/50 transition-colors",onClick:()=>m(e.id),children:(0,n.jsxs)(w.Wu,{className:"p-4",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,n.jsx)("span",{className:"font-medium text-sm truncate flex-1 min-w-0",children:e.name}),"running"===x?(0,n.jsx)(j.E,{variant:"default",children:"Running"}):"disabled"===x?(0,n.jsx)(j.E,{variant:"secondary",children:"Disabled"}):"failed"===x?(0,n.jsx)(j.E,{variant:"destructive",children:"Failed"}):"stopped"===x?(0,n.jsx)(j.E,{variant:"secondary",children:"Stopped"}):(0,n.jsx)(j.E,{variant:"default",children:"Enabled"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:(0,v.JH)((0,v.KU)(e))}),(0,n.jsxs)("p",{className:"text-xs text-muted-foreground mt-0.5",children:["Next: ",function(e){if(!e.enabled)return"Disabled";try{return(0,v.ay)((0,v.KU)(e),new Date).toLocaleString()}catch{return"Unknown"}}(e)]}),"running"===x?(0,n.jsx)("p",{className:"text-xs mt-0.5",children:(0,n.jsxs)("span",{className:"flex items-center gap-1",children:[(0,n.jsx)(r.A,{className:"h-3 w-3 animate-spin"}),"Running"]})}):S(e)&&(0,n.jsx)("p",{className:"text-xs mt-0.5",children:S(e)})]}),(0,n.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:["running"===x&&l&&(0,n.jsx)(N.$,{variant:"ghost",size:"icon",className:"h-8 w-8",title:"Stop now",disabled:s?.has(e.id),onClick:t=>l(t,e.id),children:s?.has(e.id)?(0,n.jsx)(r.A,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(i.A,{className:"h-4 w-4"})}),(0,n.jsx)(N.$,{variant:"ghost",size:"icon",className:"h-8 w-8",title:"Run now",disabled:t.has(e.id),onClick:t=>a(t,e.id),children:t.has(e.id)?(0,n.jsx)(r.A,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(o.A,{className:"h-4 w-4"})}),(0,n.jsx)(N.$,{variant:"ghost",size:"icon",className:"h-8 w-8",title:"Duplicate",onClick:t=>u(t,e.id),children:(0,n.jsx)(c.A,{className:"h-4 w-4"})}),(0,n.jsx)(N.$,{variant:"ghost",size:"icon",className:"h-8 w-8 text-destructive hover:text-destructive",title:"Delete",onClick:t=>h(t,e.id),children:(0,n.jsx)(d.A,{className:"h-4 w-4"})})]})]})]})})}function k({group:e,triggeringJobs:t,stoppingJobs:s,onTrigger:a,onStop:l,onDuplicate:r,onDelete:i,onClickJob:o,onCreateJob:c,defaultExpanded:d}){let[x,p]=(0,f.useState)(d),g=e.jobs.filter(e=>"failure"===e.lastRunStatus||"timeout"===e.lastRunStatus).length;return(0,n.jsxs)("div",{className:"rounded-lg border bg-card",children:[(0,n.jsxs)("div",{role:"button",onClick:()=>p(!x),className:"w-full flex items-center gap-2 p-3 text-left hover:bg-accent/50 rounded-lg transition-colors cursor-pointer",children:[(0,n.jsx)(u.A,{className:`h-4 w-4 shrink-0 text-muted-foreground transition-transform ${x?"rotate-90":""}`}),(0,n.jsx)(h.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,n.jsx)("span",{className:"font-medium text-sm truncate flex-1",children:e.dirName}),(0,n.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[g>0&&(0,n.jsxs)(j.E,{variant:"destructive",children:[g," failed"]}),(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:[e.jobs.length," job",1!==e.jobs.length?"s":""]}),(0,n.jsx)("button",{onClick:t=>{t.stopPropagation(),c(e.cwd)},className:"p-1 rounded hover:bg-accent",title:"New job in this folder",children:(0,n.jsx)(m.A,{className:"h-3.5 w-3.5 text-muted-foreground"})})]})]}),x&&(0,n.jsx)("div",{className:"px-3 pb-3 space-y-2",children:e.jobs.map(e=>(0,n.jsx)($,{job:e,triggeringJobs:t,stoppingJobs:s,onTrigger:a,onStop:l,onDuplicate:r,onDelete:i,onClick:o},e.id))})]})}function C(){(0,g.si)("Scheduled Jobs",{hideActions:!0});let{jobs:e,loading:t,deleteJob:s,triggerJob:a,stopJob:l,refresh:r}=(0,y.Os)(),i=(0,p.useRouter)(),[o,c]=(0,f.useState)(null),[d,u]=(0,f.useState)(new Set),[h,j]=(0,f.useState)(new Set),w=(0,f.useMemo)(()=>(function(e){let t=new Map;for(let s of e){let e=s.cwd||"",n=t.get(e)||[];n.push(s),t.set(e,n)}let s=[];for(let[e,n]of t)s.push({cwd:e,dirName:function(e){if(!e)return"Scratchpad";let t=e.replace(/\/+$/,"").split("/");return t[t.length-1]||e}(e),jobs:n});return s.sort((e,t)=>e.cwd?t.cwd?e.dirName.localeCompare(t.dirName):1:-1),s})(e),[e]);async function v(){o&&(await s(o),c(null))}async function S(e,t){e.stopPropagation(),u(e=>new Set(e).add(t)),await a(t),u(e=>{let s=new Set(e);return s.delete(t),s}),r()}async function C(e,t){e.stopPropagation(),j(e=>new Set(e).add(t)),u(e=>{let s=new Set(e);return s.delete(t),s}),await l(t),j(e=>{let s=new Set(e);return s.delete(t),s}),r()}function D(e,t){e.stopPropagation(),i.push(`/jobs/new/edit?from=${t}`)}function A(e,t){e.stopPropagation(),c(t)}return(0,n.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 pb-24 space-y-4",children:[t&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading jobs..."}),!t&&0===e.length&&(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 text-center",children:[(0,n.jsx)(x.A,{className:"h-12 w-12 text-muted-foreground/50 mb-4"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"No scheduled jobs yet."}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Create one to run Claude on a schedule."})]}),(0,n.jsx)("div",{className:"space-y-2",children:1===w.length?w[0].jobs.map(e=>(0,n.jsx)($,{job:e,triggeringJobs:d,stoppingJobs:h,onTrigger:S,onStop:C,onDuplicate:D,onDelete:A,onClick:e=>i.push(`/jobs/${e}`)},e.id)):w.map(e=>(0,n.jsx)(k,{group:e,triggeringJobs:d,stoppingJobs:h,onTrigger:S,onStop:C,onDuplicate:D,onDelete:A,onClickJob:e=>i.push(`/jobs/${e}`),onCreateJob:e=>i.push(`/jobs/new/edit?cwd=${encodeURIComponent(e)}`),defaultExpanded:w.length<=3},e.cwd))}),(0,n.jsx)("div",{className:"fixed bottom-6 right-6",children:(0,n.jsxs)(N.$,{size:"lg",className:"rounded-full shadow-lg",onClick:()=>i.push("/jobs/new/edit"),children:[(0,n.jsx)(m.A,{className:"h-5 w-5 mr-1"}),"New Job"]})}),(0,n.jsx)(b.lG,{open:!!o,onOpenChange:()=>c(null),children:(0,n.jsxs)(b.Cf,{children:[(0,n.jsx)(b.c7,{children:(0,n.jsx)(b.L3,{children:"Delete Job"})}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Delete this job and all its run history? This cannot be undone."}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(N.$,{variant:"outline",onClick:()=>c(null),children:"Cancel"}),(0,n.jsx)(N.$,{variant:"destructive",onClick:v,children:"Delete"})]})]})})]})}},35484:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(99537).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},61112:(e,t,s)=>{Promise.resolve().then(s.bind(s,22048))},84949:(e,t,s)=>{"use strict";function n(e,t,s){let n=[];for(let a of e.split(",")){let e=a.match(/^(.+)\/(\d+)$/),l=e?Number.parseInt(e[2],10):1,r=e?e[1]:a;if("*"===r)for(let e=t;e<=s;e+=l)n.push(e);else if(r.includes("-")){let[e,t]=r.split("-"),s=Number.parseInt(e,10),a=Number.parseInt(t,10);for(let e=s;e<=a;e+=l)n.push(e)}else n.push(Number.parseInt(r,10))}return n}function a(e){if("cron"===e.type)return`cron: ${e.expression}`;let t=e.time||"00:00";switch(e.frequency){case"hourly":return`Every hour at :${t.split(":")[1]||"00"}`;case"daily":return`Daily at ${t}`;case"weekly":return`Weekly on ${["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][e.dayOfWeek??0]} at ${t}`;case"monthly":return`Monthly on day ${e.dayOfMonth??1} at ${t}`}}function l(e){return e.schedules?.length?e.schedules:[e.schedule]}function r(e){return e.map(a).join("; ")}function i(e,t){let s=null;for(let a of e){let e=function(e,t){let s=function(e){let t=e.trim().split(/\s+/);if(5!==t.length)throw Error(`Invalid cron expression: expected 5 fields, got ${t.length}`);return{minute:n(t[0],0,59),hour:n(t[1],0,23),dayOfMonth:n(t[2],1,31),month:n(t[3],1,12),dayOfWeek:n(t[4],0,6),domWild:"*"===t[2],dowWild:"*"===t[4]}}("cron"===e.type?e.expression:function(e){let[t,s]=(e.time||"00:00").split(":").map(Number);switch(e.frequency){case"hourly":return`${s} * * * *`;case"daily":return`${s} ${t} * * *`;case"weekly":return`${s} ${t} * * ${e.dayOfWeek??0}`;case"monthly":return`${s} ${t} ${e.dayOfMonth??1} * *`}}(e)),a=new Date(t.getTime());a.setSeconds(0,0),a.setMinutes(a.getMinutes()+1);for(let e=0;e<525960;e++){if(s.minute.includes(a.getMinutes())&&s.hour.includes(a.getHours())&&s.dayOfMonth.includes(a.getDate())&&s.month.includes(a.getMonth()+1)&&s.dayOfWeek.includes(a.getDay()))return a;a.setMinutes(a.getMinutes()+1)}return new Date(t.getTime()+864e5)}(a,t);(!s||e.getTime()<s.getTime())&&(s=new Date(e.getTime()))}return s??new Date(t.getTime()+864e5)}s.d(t,{Bg:()=>a,JH:()=>r,KU:()=>l,ay:()=>i})}},e=>{e.O(0,[989,25781,1550,28441,93794,77358],()=>e(e.s=61112)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4944],{9276:(e,s,n)=>{"use strict";n.r(s),n.d(s,{default:()=>t});var r=n(95155),u=n(3765);function t({children:e}){return(0,r.jsx)(u.GV,{children:e})}},69154:(e,s,n)=>{Promise.resolve().then(n.bind(n,9276))}},e=>{e.O(0,[989,41487,3765,28441,93794,77358],()=>e(e.s=69154)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4944],{9276:(e,s,n)=>{"use strict";n.r(s),n.d(s,{default:()=>t});var r=n(95155),u=n(1550);function t({children:e}){return(0,r.jsx)(u.GV,{children:e})}},69154:(e,s,n)=>{Promise.resolve().then(n.bind(n,9276))}},e=>{e.O(0,[989,25781,1550,28441,93794,77358],()=>e(e.s=69154)),_N_E=e.O()}]);