@aitne/dashboard 0.1.4 → 0.1.6

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 (751) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +5 -1
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/cache/.tsbuildinfo +1 -1
  5. package/.next/diagnostics/route-bundle-stats.json +450 -356
  6. package/.next/fallback-build-manifest.json +3 -3
  7. package/.next/prerender-manifest.json +96 -0
  8. package/.next/routes-manifest.json +24 -0
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/_not-found.html +1 -1
  19. package/.next/server/app/_not-found.rsc +15 -15
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  21. package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  22. package/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  23. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  24. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  25. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/.next/server/app/activity/page.js.nft.json +1 -1
  27. package/.next/server/app/activity/page_client-reference-manifest.js +1 -1
  28. package/.next/server/app/activity.html +1 -1
  29. package/.next/server/app/activity.rsc +19 -19
  30. package/.next/server/app/activity.segments/_full.segment.rsc +19 -19
  31. package/.next/server/app/activity.segments/_head.segment.rsc +4 -4
  32. package/.next/server/app/activity.segments/_index.segment.rsc +10 -10
  33. package/.next/server/app/activity.segments/_tree.segment.rsc +2 -2
  34. package/.next/server/app/activity.segments/activity/__PAGE__.segment.rsc +4 -4
  35. package/.next/server/app/activity.segments/activity.segment.rsc +4 -4
  36. package/.next/server/app/analytics/page.js.nft.json +1 -1
  37. package/.next/server/app/analytics/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/analytics.html +1 -1
  39. package/.next/server/app/analytics.rsc +19 -19
  40. package/.next/server/app/analytics.segments/_full.segment.rsc +19 -19
  41. package/.next/server/app/analytics.segments/_head.segment.rsc +4 -4
  42. package/.next/server/app/analytics.segments/_index.segment.rsc +10 -10
  43. package/.next/server/app/analytics.segments/_tree.segment.rsc +2 -2
  44. package/.next/server/app/analytics.segments/analytics/__PAGE__.segment.rsc +4 -4
  45. package/.next/server/app/analytics.segments/analytics.segment.rsc +4 -4
  46. package/.next/server/app/api/[...path]/route.js +1 -1
  47. package/.next/server/app/api/[...path]/route.js.nft.json +1 -1
  48. package/.next/server/app/chat/page.js.nft.json +1 -1
  49. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app/chat.html +1 -1
  51. package/.next/server/app/chat.rsc +17 -17
  52. package/.next/server/app/chat.segments/_full.segment.rsc +17 -17
  53. package/.next/server/app/chat.segments/_head.segment.rsc +4 -4
  54. package/.next/server/app/chat.segments/_index.segment.rsc +10 -10
  55. package/.next/server/app/chat.segments/_tree.segment.rsc +2 -2
  56. package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +4 -4
  57. package/.next/server/app/chat.segments/chat.segment.rsc +3 -3
  58. package/.next/server/app/connections/calendar/page.js.nft.json +1 -1
  59. package/.next/server/app/connections/calendar/page_client-reference-manifest.js +1 -1
  60. package/.next/server/app/connections/calendar.html +1 -1
  61. package/.next/server/app/connections/calendar.rsc +18 -18
  62. package/.next/server/app/connections/calendar.segments/_full.segment.rsc +18 -18
  63. package/.next/server/app/connections/calendar.segments/_head.segment.rsc +4 -4
  64. package/.next/server/app/connections/calendar.segments/_index.segment.rsc +10 -10
  65. package/.next/server/app/connections/calendar.segments/_tree.segment.rsc +2 -2
  66. package/.next/server/app/connections/calendar.segments/connections/calendar/__PAGE__.segment.rsc +4 -4
  67. package/.next/server/app/connections/calendar.segments/connections/calendar.segment.rsc +3 -3
  68. package/.next/server/app/connections/calendar.segments/connections.segment.rsc +4 -4
  69. package/.next/server/app/connections/journal/page.js.nft.json +1 -1
  70. package/.next/server/app/connections/journal/page_client-reference-manifest.js +1 -1
  71. package/.next/server/app/connections/journal.html +1 -1
  72. package/.next/server/app/connections/journal.rsc +16 -16
  73. package/.next/server/app/connections/journal.segments/_full.segment.rsc +16 -16
  74. package/.next/server/app/connections/journal.segments/_head.segment.rsc +4 -4
  75. package/.next/server/app/connections/journal.segments/_index.segment.rsc +10 -10
  76. package/.next/server/app/connections/journal.segments/_tree.segment.rsc +2 -2
  77. package/.next/server/app/connections/journal.segments/connections/journal/__PAGE__.segment.rsc +2 -2
  78. package/.next/server/app/connections/journal.segments/connections/journal.segment.rsc +3 -3
  79. package/.next/server/app/connections/journal.segments/connections.segment.rsc +4 -4
  80. package/.next/server/app/connections/knowledge/page.js.nft.json +1 -1
  81. package/.next/server/app/connections/knowledge/page_client-reference-manifest.js +1 -1
  82. package/.next/server/app/connections/knowledge.html +1 -1
  83. package/.next/server/app/connections/knowledge.rsc +18 -18
  84. package/.next/server/app/connections/knowledge.segments/_full.segment.rsc +18 -18
  85. package/.next/server/app/connections/knowledge.segments/_head.segment.rsc +4 -4
  86. package/.next/server/app/connections/knowledge.segments/_index.segment.rsc +10 -10
  87. package/.next/server/app/connections/knowledge.segments/_tree.segment.rsc +2 -2
  88. package/.next/server/app/connections/knowledge.segments/connections/knowledge/__PAGE__.segment.rsc +4 -4
  89. package/.next/server/app/connections/knowledge.segments/connections/knowledge.segment.rsc +3 -3
  90. package/.next/server/app/connections/knowledge.segments/connections.segment.rsc +4 -4
  91. package/.next/server/app/connections/mail/page.js.nft.json +1 -1
  92. package/.next/server/app/connections/mail/page_client-reference-manifest.js +1 -1
  93. package/.next/server/app/connections/mail.html +1 -1
  94. package/.next/server/app/connections/mail.rsc +18 -18
  95. package/.next/server/app/connections/mail.segments/_full.segment.rsc +18 -18
  96. package/.next/server/app/connections/mail.segments/_head.segment.rsc +4 -4
  97. package/.next/server/app/connections/mail.segments/_index.segment.rsc +10 -10
  98. package/.next/server/app/connections/mail.segments/_tree.segment.rsc +2 -2
  99. package/.next/server/app/connections/mail.segments/connections/mail/__PAGE__.segment.rsc +4 -4
  100. package/.next/server/app/connections/mail.segments/connections/mail.segment.rsc +3 -3
  101. package/.next/server/app/connections/mail.segments/connections.segment.rsc +4 -4
  102. package/.next/server/app/connections/mcp/page.js.nft.json +1 -1
  103. package/.next/server/app/connections/mcp/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/connections/mcp.html +1 -1
  105. package/.next/server/app/connections/mcp.rsc +18 -18
  106. package/.next/server/app/connections/mcp.segments/_full.segment.rsc +18 -18
  107. package/.next/server/app/connections/mcp.segments/_head.segment.rsc +4 -4
  108. package/.next/server/app/connections/mcp.segments/_index.segment.rsc +10 -10
  109. package/.next/server/app/connections/mcp.segments/_tree.segment.rsc +2 -2
  110. package/.next/server/app/connections/mcp.segments/connections/mcp/__PAGE__.segment.rsc +4 -4
  111. package/.next/server/app/connections/mcp.segments/connections/mcp.segment.rsc +3 -3
  112. package/.next/server/app/connections/mcp.segments/connections.segment.rsc +4 -4
  113. package/.next/server/app/connections/messaging/page.js.nft.json +1 -1
  114. package/.next/server/app/connections/messaging/page_client-reference-manifest.js +1 -1
  115. package/.next/server/app/connections/messaging.html +1 -1
  116. package/.next/server/app/connections/messaging.rsc +18 -18
  117. package/.next/server/app/connections/messaging.segments/_full.segment.rsc +18 -18
  118. package/.next/server/app/connections/messaging.segments/_head.segment.rsc +4 -4
  119. package/.next/server/app/connections/messaging.segments/_index.segment.rsc +10 -10
  120. package/.next/server/app/connections/messaging.segments/_tree.segment.rsc +2 -2
  121. package/.next/server/app/connections/messaging.segments/connections/messaging/__PAGE__.segment.rsc +4 -4
  122. package/.next/server/app/connections/messaging.segments/connections/messaging.segment.rsc +3 -3
  123. package/.next/server/app/connections/messaging.segments/connections.segment.rsc +4 -4
  124. package/.next/server/app/connections/page.js.nft.json +1 -1
  125. package/.next/server/app/connections/page_client-reference-manifest.js +1 -1
  126. package/.next/server/app/connections/repositories/page.js.nft.json +1 -1
  127. package/.next/server/app/connections/repositories/page_client-reference-manifest.js +1 -1
  128. package/.next/server/app/connections/repositories.html +1 -1
  129. package/.next/server/app/connections/repositories.rsc +18 -18
  130. package/.next/server/app/connections/repositories.segments/_full.segment.rsc +18 -18
  131. package/.next/server/app/connections/repositories.segments/_head.segment.rsc +4 -4
  132. package/.next/server/app/connections/repositories.segments/_index.segment.rsc +10 -10
  133. package/.next/server/app/connections/repositories.segments/_tree.segment.rsc +2 -2
  134. package/.next/server/app/connections/repositories.segments/connections/repositories/__PAGE__.segment.rsc +4 -4
  135. package/.next/server/app/connections/repositories.segments/connections/repositories.segment.rsc +3 -3
  136. package/.next/server/app/connections/repositories.segments/connections.segment.rsc +4 -4
  137. package/.next/server/app/connections/routines/page.js.nft.json +1 -1
  138. package/.next/server/app/connections/routines/page_client-reference-manifest.js +1 -1
  139. package/.next/server/app/connections/routines.html +1 -1
  140. package/.next/server/app/connections/routines.rsc +16 -16
  141. package/.next/server/app/connections/routines.segments/_full.segment.rsc +16 -16
  142. package/.next/server/app/connections/routines.segments/_head.segment.rsc +4 -4
  143. package/.next/server/app/connections/routines.segments/_index.segment.rsc +10 -10
  144. package/.next/server/app/connections/routines.segments/_tree.segment.rsc +2 -2
  145. package/.next/server/app/connections/routines.segments/connections/routines/__PAGE__.segment.rsc +2 -2
  146. package/.next/server/app/connections/routines.segments/connections/routines.segment.rsc +3 -3
  147. package/.next/server/app/connections/routines.segments/connections.segment.rsc +4 -4
  148. package/.next/server/app/connections.html +1 -1
  149. package/.next/server/app/connections.rsc +16 -16
  150. package/.next/server/app/connections.segments/_full.segment.rsc +16 -16
  151. package/.next/server/app/connections.segments/_head.segment.rsc +4 -4
  152. package/.next/server/app/connections.segments/_index.segment.rsc +10 -10
  153. package/.next/server/app/connections.segments/_tree.segment.rsc +2 -2
  154. package/.next/server/app/connections.segments/connections/__PAGE__.segment.rsc +2 -2
  155. package/.next/server/app/connections.segments/connections.segment.rsc +4 -4
  156. package/.next/server/app/conversations/[id]/page.js.nft.json +1 -1
  157. package/.next/server/app/conversations/[id]/page_client-reference-manifest.js +1 -1
  158. package/.next/server/app/conversations/page.js.nft.json +1 -1
  159. package/.next/server/app/conversations/page_client-reference-manifest.js +1 -1
  160. package/.next/server/app/conversations.html +1 -1
  161. package/.next/server/app/conversations.rsc +15 -15
  162. package/.next/server/app/conversations.segments/_full.segment.rsc +15 -15
  163. package/.next/server/app/conversations.segments/_head.segment.rsc +4 -4
  164. package/.next/server/app/conversations.segments/_index.segment.rsc +10 -10
  165. package/.next/server/app/conversations.segments/_tree.segment.rsc +2 -2
  166. package/.next/server/app/conversations.segments/conversations/__PAGE__.segment.rsc +2 -2
  167. package/.next/server/app/conversations.segments/conversations.segment.rsc +3 -3
  168. package/.next/server/app/docs/[[...slug]]/page.js.nft.json +1 -1
  169. package/.next/server/app/docs/[[...slug]]/page_client-reference-manifest.js +1 -1
  170. package/.next/server/app/finance/page.js.nft.json +1 -1
  171. package/.next/server/app/finance/page_client-reference-manifest.js +1 -1
  172. package/.next/server/app/finance.html +1 -1
  173. package/.next/server/app/finance.rsc +17 -17
  174. package/.next/server/app/finance.segments/_full.segment.rsc +17 -17
  175. package/.next/server/app/finance.segments/_head.segment.rsc +4 -4
  176. package/.next/server/app/finance.segments/_index.segment.rsc +10 -10
  177. package/.next/server/app/finance.segments/_tree.segment.rsc +2 -2
  178. package/.next/server/app/finance.segments/finance/__PAGE__.segment.rsc +4 -4
  179. package/.next/server/app/finance.segments/finance.segment.rsc +3 -3
  180. package/.next/server/app/git/page.js.nft.json +1 -1
  181. package/.next/server/app/git/page_client-reference-manifest.js +1 -1
  182. package/.next/server/app/git.html +1 -1
  183. package/.next/server/app/git.rsc +17 -17
  184. package/.next/server/app/git.segments/_full.segment.rsc +17 -17
  185. package/.next/server/app/git.segments/_head.segment.rsc +4 -4
  186. package/.next/server/app/git.segments/_index.segment.rsc +10 -10
  187. package/.next/server/app/git.segments/_tree.segment.rsc +2 -2
  188. package/.next/server/app/git.segments/git/__PAGE__.segment.rsc +4 -4
  189. package/.next/server/app/git.segments/git.segment.rsc +3 -3
  190. package/.next/server/app/health/page.js.nft.json +1 -1
  191. package/.next/server/app/health/page_client-reference-manifest.js +1 -1
  192. package/.next/server/app/health.html +1 -1
  193. package/.next/server/app/health.rsc +17 -17
  194. package/.next/server/app/health.segments/_full.segment.rsc +17 -17
  195. package/.next/server/app/health.segments/_head.segment.rsc +4 -4
  196. package/.next/server/app/health.segments/_index.segment.rsc +10 -10
  197. package/.next/server/app/health.segments/_tree.segment.rsc +2 -2
  198. package/.next/server/app/health.segments/health/__PAGE__.segment.rsc +4 -4
  199. package/.next/server/app/health.segments/health.segment.rsc +3 -3
  200. package/.next/server/app/index.html +1 -1
  201. package/.next/server/app/index.rsc +17 -17
  202. package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  203. package/.next/server/app/index.segments/_full.segment.rsc +17 -17
  204. package/.next/server/app/index.segments/_head.segment.rsc +4 -4
  205. package/.next/server/app/index.segments/_index.segment.rsc +10 -10
  206. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  207. package/.next/server/app/knowledge/page.js.nft.json +1 -1
  208. package/.next/server/app/knowledge/page_client-reference-manifest.js +1 -1
  209. package/.next/server/app/knowledge.html +1 -1
  210. package/.next/server/app/knowledge.rsc +18 -18
  211. package/.next/server/app/knowledge.segments/_full.segment.rsc +18 -18
  212. package/.next/server/app/knowledge.segments/_head.segment.rsc +4 -4
  213. package/.next/server/app/knowledge.segments/_index.segment.rsc +10 -10
  214. package/.next/server/app/knowledge.segments/_tree.segment.rsc +2 -2
  215. package/.next/server/app/knowledge.segments/knowledge/__PAGE__.segment.rsc +4 -4
  216. package/.next/server/app/knowledge.segments/knowledge.segment.rsc +4 -4
  217. package/.next/server/app/page.js.nft.json +1 -1
  218. package/.next/server/app/page_client-reference-manifest.js +1 -1
  219. package/.next/server/app/reading/page.js.nft.json +1 -1
  220. package/.next/server/app/reading/page_client-reference-manifest.js +1 -1
  221. package/.next/server/app/reading.html +1 -1
  222. package/.next/server/app/reading.rsc +17 -17
  223. package/.next/server/app/reading.segments/_full.segment.rsc +17 -17
  224. package/.next/server/app/reading.segments/_head.segment.rsc +4 -4
  225. package/.next/server/app/reading.segments/_index.segment.rsc +10 -10
  226. package/.next/server/app/reading.segments/_tree.segment.rsc +2 -2
  227. package/.next/server/app/reading.segments/reading/__PAGE__.segment.rsc +4 -4
  228. package/.next/server/app/reading.segments/reading.segment.rsc +3 -3
  229. package/.next/server/app/schedule/page.js.nft.json +1 -1
  230. package/.next/server/app/schedule/page_client-reference-manifest.js +1 -1
  231. package/.next/server/app/schedule.html +1 -1
  232. package/.next/server/app/schedule.rsc +17 -17
  233. package/.next/server/app/schedule.segments/_full.segment.rsc +17 -17
  234. package/.next/server/app/schedule.segments/_head.segment.rsc +4 -4
  235. package/.next/server/app/schedule.segments/_index.segment.rsc +10 -10
  236. package/.next/server/app/schedule.segments/_tree.segment.rsc +2 -2
  237. package/.next/server/app/schedule.segments/schedule/__PAGE__.segment.rsc +4 -4
  238. package/.next/server/app/schedule.segments/schedule.segment.rsc +3 -3
  239. package/.next/server/app/settings/advanced/page.js.nft.json +1 -1
  240. package/.next/server/app/settings/advanced/page_client-reference-manifest.js +1 -1
  241. package/.next/server/app/settings/advanced.html +1 -1
  242. package/.next/server/app/settings/advanced.rsc +18 -18
  243. package/.next/server/app/settings/advanced.segments/_full.segment.rsc +18 -18
  244. package/.next/server/app/settings/advanced.segments/_head.segment.rsc +4 -4
  245. package/.next/server/app/settings/advanced.segments/_index.segment.rsc +10 -10
  246. package/.next/server/app/settings/advanced.segments/_tree.segment.rsc +2 -2
  247. package/.next/server/app/settings/advanced.segments/settings/advanced/__PAGE__.segment.rsc +4 -4
  248. package/.next/server/app/settings/advanced.segments/settings/advanced.segment.rsc +3 -3
  249. package/.next/server/app/settings/advanced.segments/settings.segment.rsc +4 -4
  250. package/.next/server/app/settings/backends/page.js.nft.json +1 -1
  251. package/.next/server/app/settings/backends/page_client-reference-manifest.js +1 -1
  252. package/.next/server/app/settings/backends.html +1 -1
  253. package/.next/server/app/settings/backends.rsc +16 -16
  254. package/.next/server/app/settings/backends.segments/_full.segment.rsc +16 -16
  255. package/.next/server/app/settings/backends.segments/_head.segment.rsc +4 -4
  256. package/.next/server/app/settings/backends.segments/_index.segment.rsc +10 -10
  257. package/.next/server/app/settings/backends.segments/_tree.segment.rsc +2 -2
  258. package/.next/server/app/settings/backends.segments/settings/backends/__PAGE__.segment.rsc +2 -2
  259. package/.next/server/app/settings/backends.segments/settings/backends.segment.rsc +3 -3
  260. package/.next/server/app/settings/backends.segments/settings.segment.rsc +4 -4
  261. package/.next/server/app/settings/commands/page.js.nft.json +1 -1
  262. package/.next/server/app/settings/commands/page_client-reference-manifest.js +1 -1
  263. package/.next/server/app/settings/commands.html +1 -1
  264. package/.next/server/app/settings/commands.rsc +18 -18
  265. package/.next/server/app/settings/commands.segments/_full.segment.rsc +18 -18
  266. package/.next/server/app/settings/commands.segments/_head.segment.rsc +4 -4
  267. package/.next/server/app/settings/commands.segments/_index.segment.rsc +10 -10
  268. package/.next/server/app/settings/commands.segments/_tree.segment.rsc +2 -2
  269. package/.next/server/app/settings/commands.segments/settings/commands/__PAGE__.segment.rsc +4 -4
  270. package/.next/server/app/settings/commands.segments/settings/commands.segment.rsc +3 -3
  271. package/.next/server/app/settings/commands.segments/settings.segment.rsc +4 -4
  272. package/.next/server/app/settings/connections/page.js.nft.json +1 -1
  273. package/.next/server/app/settings/connections/page_client-reference-manifest.js +1 -1
  274. package/.next/server/app/settings/connections.html +1 -1
  275. package/.next/server/app/settings/connections.rsc +16 -16
  276. package/.next/server/app/settings/connections.segments/_full.segment.rsc +16 -16
  277. package/.next/server/app/settings/connections.segments/_head.segment.rsc +4 -4
  278. package/.next/server/app/settings/connections.segments/_index.segment.rsc +10 -10
  279. package/.next/server/app/settings/connections.segments/_tree.segment.rsc +2 -2
  280. package/.next/server/app/settings/connections.segments/settings/connections/__PAGE__.segment.rsc +2 -2
  281. package/.next/server/app/settings/connections.segments/settings/connections.segment.rsc +3 -3
  282. package/.next/server/app/settings/connections.segments/settings.segment.rsc +4 -4
  283. package/.next/server/app/settings/journal/page.js.nft.json +1 -1
  284. package/.next/server/app/settings/journal/page_client-reference-manifest.js +1 -1
  285. package/.next/server/app/settings/journal.html +1 -1
  286. package/.next/server/app/settings/journal.rsc +18 -18
  287. package/.next/server/app/settings/journal.segments/_full.segment.rsc +18 -18
  288. package/.next/server/app/settings/journal.segments/_head.segment.rsc +4 -4
  289. package/.next/server/app/settings/journal.segments/_index.segment.rsc +10 -10
  290. package/.next/server/app/settings/journal.segments/_tree.segment.rsc +2 -2
  291. package/.next/server/app/settings/journal.segments/settings/journal/__PAGE__.segment.rsc +4 -4
  292. package/.next/server/app/settings/journal.segments/settings/journal.segment.rsc +3 -3
  293. package/.next/server/app/settings/journal.segments/settings.segment.rsc +4 -4
  294. package/.next/server/app/settings/management/page.js.nft.json +1 -1
  295. package/.next/server/app/settings/management/page_client-reference-manifest.js +1 -1
  296. package/.next/server/app/settings/management.html +1 -1
  297. package/.next/server/app/settings/management.rsc +18 -18
  298. package/.next/server/app/settings/management.segments/_full.segment.rsc +18 -18
  299. package/.next/server/app/settings/management.segments/_head.segment.rsc +4 -4
  300. package/.next/server/app/settings/management.segments/_index.segment.rsc +10 -10
  301. package/.next/server/app/settings/management.segments/_tree.segment.rsc +2 -2
  302. package/.next/server/app/settings/management.segments/settings/management/__PAGE__.segment.rsc +4 -4
  303. package/.next/server/app/settings/management.segments/settings/management.segment.rsc +3 -3
  304. package/.next/server/app/settings/management.segments/settings.segment.rsc +4 -4
  305. package/.next/server/app/settings/messaging/page.js.nft.json +1 -1
  306. package/.next/server/app/settings/messaging/page_client-reference-manifest.js +1 -1
  307. package/.next/server/app/settings/messaging.html +1 -1
  308. package/.next/server/app/settings/messaging.rsc +16 -16
  309. package/.next/server/app/settings/messaging.segments/_full.segment.rsc +16 -16
  310. package/.next/server/app/settings/messaging.segments/_head.segment.rsc +4 -4
  311. package/.next/server/app/settings/messaging.segments/_index.segment.rsc +10 -10
  312. package/.next/server/app/settings/messaging.segments/_tree.segment.rsc +2 -2
  313. package/.next/server/app/settings/messaging.segments/settings/messaging/__PAGE__.segment.rsc +2 -2
  314. package/.next/server/app/settings/messaging.segments/settings/messaging.segment.rsc +3 -3
  315. package/.next/server/app/settings/messaging.segments/settings.segment.rsc +4 -4
  316. package/.next/server/app/settings/models/page.js.nft.json +1 -1
  317. package/.next/server/app/settings/models/page_client-reference-manifest.js +1 -1
  318. package/.next/server/app/settings/models.html +1 -1
  319. package/.next/server/app/settings/models.rsc +18 -18
  320. package/.next/server/app/settings/models.segments/_full.segment.rsc +18 -18
  321. package/.next/server/app/settings/models.segments/_head.segment.rsc +4 -4
  322. package/.next/server/app/settings/models.segments/_index.segment.rsc +10 -10
  323. package/.next/server/app/settings/models.segments/_tree.segment.rsc +2 -2
  324. package/.next/server/app/settings/models.segments/settings/models/__PAGE__.segment.rsc +4 -4
  325. package/.next/server/app/settings/models.segments/settings/models.segment.rsc +3 -3
  326. package/.next/server/app/settings/models.segments/settings.segment.rsc +4 -4
  327. package/.next/server/app/settings/page.js.nft.json +1 -1
  328. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  329. package/.next/server/app/settings/processes/page.js.nft.json +1 -1
  330. package/.next/server/app/settings/processes/page_client-reference-manifest.js +1 -1
  331. package/.next/server/app/settings/processes.html +1 -1
  332. package/.next/server/app/settings/processes.rsc +16 -16
  333. package/.next/server/app/settings/processes.segments/_full.segment.rsc +16 -16
  334. package/.next/server/app/settings/processes.segments/_head.segment.rsc +4 -4
  335. package/.next/server/app/settings/processes.segments/_index.segment.rsc +10 -10
  336. package/.next/server/app/settings/processes.segments/_tree.segment.rsc +2 -2
  337. package/.next/server/app/settings/processes.segments/settings/processes/__PAGE__.segment.rsc +2 -2
  338. package/.next/server/app/settings/processes.segments/settings/processes.segment.rsc +3 -3
  339. package/.next/server/app/settings/processes.segments/settings.segment.rsc +4 -4
  340. package/.next/server/app/settings/routines/page.js.nft.json +1 -1
  341. package/.next/server/app/settings/routines/page_client-reference-manifest.js +1 -1
  342. package/.next/server/app/settings/routines.html +1 -1
  343. package/.next/server/app/settings/routines.rsc +18 -18
  344. package/.next/server/app/settings/routines.segments/_full.segment.rsc +18 -18
  345. package/.next/server/app/settings/routines.segments/_head.segment.rsc +4 -4
  346. package/.next/server/app/settings/routines.segments/_index.segment.rsc +10 -10
  347. package/.next/server/app/settings/routines.segments/_tree.segment.rsc +2 -2
  348. package/.next/server/app/settings/routines.segments/settings/routines/__PAGE__.segment.rsc +4 -4
  349. package/.next/server/app/settings/routines.segments/settings/routines.segment.rsc +3 -3
  350. package/.next/server/app/settings/routines.segments/settings.segment.rsc +4 -4
  351. package/.next/server/app/settings/schedule/page.js.nft.json +1 -1
  352. package/.next/server/app/settings/schedule/page_client-reference-manifest.js +1 -1
  353. package/.next/server/app/settings/schedule.html +1 -1
  354. package/.next/server/app/settings/schedule.rsc +18 -18
  355. package/.next/server/app/settings/schedule.segments/_full.segment.rsc +18 -18
  356. package/.next/server/app/settings/schedule.segments/_head.segment.rsc +4 -4
  357. package/.next/server/app/settings/schedule.segments/_index.segment.rsc +10 -10
  358. package/.next/server/app/settings/schedule.segments/_tree.segment.rsc +2 -2
  359. package/.next/server/app/settings/schedule.segments/settings/schedule/__PAGE__.segment.rsc +4 -4
  360. package/.next/server/app/settings/schedule.segments/settings/schedule.segment.rsc +3 -3
  361. package/.next/server/app/settings/schedule.segments/settings.segment.rsc +4 -4
  362. package/.next/server/app/settings/self-learning/page.js.nft.json +1 -1
  363. package/.next/server/app/settings/self-learning/page_client-reference-manifest.js +1 -1
  364. package/.next/server/app/settings/self-learning.html +1 -1
  365. package/.next/server/app/settings/self-learning.rsc +18 -18
  366. package/.next/server/app/settings/self-learning.segments/_full.segment.rsc +18 -18
  367. package/.next/server/app/settings/self-learning.segments/_head.segment.rsc +4 -4
  368. package/.next/server/app/settings/self-learning.segments/_index.segment.rsc +10 -10
  369. package/.next/server/app/settings/self-learning.segments/_tree.segment.rsc +2 -2
  370. package/.next/server/app/settings/self-learning.segments/settings/self-learning/__PAGE__.segment.rsc +4 -4
  371. package/.next/server/app/settings/self-learning.segments/settings/self-learning.segment.rsc +3 -3
  372. package/.next/server/app/settings/self-learning.segments/settings.segment.rsc +4 -4
  373. package/.next/server/app/settings/wiki/page/app-paths-manifest.json +3 -0
  374. package/.next/server/app/settings/wiki/page/build-manifest.json +18 -0
  375. package/.next/server/app/settings/wiki/page/next-font-manifest.json +6 -0
  376. package/.next/server/app/settings/wiki/page/react-loadable-manifest.json +8 -0
  377. package/.next/server/app/settings/wiki/page/server-reference-manifest.json +4 -0
  378. package/.next/server/app/settings/wiki/page.js +16 -0
  379. package/.next/server/app/settings/wiki/page.js.map +5 -0
  380. package/.next/server/app/settings/wiki/page.js.nft.json +1 -0
  381. package/.next/server/app/settings/wiki/page_client-reference-manifest.js +3 -0
  382. package/.next/server/app/settings/wiki/timeline/page/app-paths-manifest.json +3 -0
  383. package/.next/server/app/settings/wiki/timeline/page/build-manifest.json +18 -0
  384. package/.next/server/app/settings/wiki/timeline/page/next-font-manifest.json +6 -0
  385. package/.next/server/app/settings/wiki/timeline/page/react-loadable-manifest.json +8 -0
  386. package/.next/server/app/settings/wiki/timeline/page/server-reference-manifest.json +4 -0
  387. package/.next/server/app/settings/wiki/timeline/page.js +17 -0
  388. package/.next/server/app/settings/wiki/timeline/page.js.map +5 -0
  389. package/.next/server/app/settings/wiki/timeline/page.js.nft.json +1 -0
  390. package/.next/server/app/settings/wiki/timeline/page_client-reference-manifest.js +3 -0
  391. package/.next/server/app/settings/wiki/timeline.html +1 -0
  392. package/.next/server/app/settings/wiki/timeline.meta +17 -0
  393. package/.next/server/app/settings/wiki/timeline.rsc +24 -0
  394. package/.next/server/app/settings/wiki/timeline.segments/_full.segment.rsc +24 -0
  395. package/.next/server/app/settings/wiki/timeline.segments/_head.segment.rsc +6 -0
  396. package/.next/server/app/settings/wiki/timeline.segments/_index.segment.rsc +11 -0
  397. package/.next/server/app/settings/wiki/timeline.segments/_tree.segment.rsc +2 -0
  398. package/.next/server/app/settings/wiki/timeline.segments/settings/wiki/timeline/__PAGE__.segment.rsc +6 -0
  399. package/.next/server/app/settings/wiki/timeline.segments/settings/wiki/timeline.segment.rsc +5 -0
  400. package/.next/server/app/settings/wiki/timeline.segments/settings/wiki.segment.rsc +5 -0
  401. package/.next/server/app/settings/wiki/timeline.segments/settings.segment.rsc +5 -0
  402. package/.next/server/app/settings/wiki.html +1 -0
  403. package/.next/server/app/settings/wiki.meta +16 -0
  404. package/.next/server/app/settings/wiki.rsc +27 -0
  405. package/.next/server/app/settings/wiki.segments/_full.segment.rsc +27 -0
  406. package/.next/server/app/settings/wiki.segments/_head.segment.rsc +6 -0
  407. package/.next/server/app/settings/wiki.segments/_index.segment.rsc +11 -0
  408. package/.next/server/app/settings/wiki.segments/_tree.segment.rsc +2 -0
  409. package/.next/server/app/settings/wiki.segments/settings/wiki/__PAGE__.segment.rsc +9 -0
  410. package/.next/server/app/settings/wiki.segments/settings/wiki.segment.rsc +5 -0
  411. package/.next/server/app/settings/wiki.segments/settings.segment.rsc +5 -0
  412. package/.next/server/app/settings.html +1 -1
  413. package/.next/server/app/settings.rsc +18 -18
  414. package/.next/server/app/settings.segments/_full.segment.rsc +18 -18
  415. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  416. package/.next/server/app/settings.segments/_index.segment.rsc +10 -10
  417. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  418. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  419. package/.next/server/app/settings.segments/settings.segment.rsc +4 -4
  420. package/.next/server/app/setup/page.js.nft.json +1 -1
  421. package/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  422. package/.next/server/app/setup.html +1 -1
  423. package/.next/server/app/setup.rsc +17 -17
  424. package/.next/server/app/setup.segments/_full.segment.rsc +17 -17
  425. package/.next/server/app/setup.segments/_head.segment.rsc +4 -4
  426. package/.next/server/app/setup.segments/_index.segment.rsc +10 -10
  427. package/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  428. package/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +4 -4
  429. package/.next/server/app/setup.segments/setup.segment.rsc +3 -3
  430. package/.next/server/app/trip/page.js.nft.json +1 -1
  431. package/.next/server/app/trip/page_client-reference-manifest.js +1 -1
  432. package/.next/server/app/trip.html +1 -1
  433. package/.next/server/app/trip.rsc +17 -17
  434. package/.next/server/app/trip.segments/_full.segment.rsc +17 -17
  435. package/.next/server/app/trip.segments/_head.segment.rsc +4 -4
  436. package/.next/server/app/trip.segments/_index.segment.rsc +10 -10
  437. package/.next/server/app/trip.segments/_tree.segment.rsc +2 -2
  438. package/.next/server/app/trip.segments/trip/__PAGE__.segment.rsc +4 -4
  439. package/.next/server/app/trip.segments/trip.segment.rsc +3 -3
  440. package/.next/server/app/wiki/page/app-paths-manifest.json +3 -0
  441. package/.next/server/app/wiki/page/build-manifest.json +18 -0
  442. package/.next/server/app/wiki/page/next-font-manifest.json +6 -0
  443. package/.next/server/app/wiki/page/react-loadable-manifest.json +8 -0
  444. package/.next/server/app/wiki/page/server-reference-manifest.json +4 -0
  445. package/.next/server/app/wiki/page.js +15 -0
  446. package/.next/server/app/wiki/page.js.map +5 -0
  447. package/.next/server/app/wiki/page.js.nft.json +1 -0
  448. package/.next/server/app/wiki/page_client-reference-manifest.js +3 -0
  449. package/.next/server/app/wiki/timeline/page/app-paths-manifest.json +3 -0
  450. package/.next/server/app/wiki/timeline/page/build-manifest.json +18 -0
  451. package/.next/server/app/wiki/timeline/page/next-font-manifest.json +6 -0
  452. package/.next/server/app/wiki/timeline/page/react-loadable-manifest.json +8 -0
  453. package/.next/server/app/wiki/timeline/page/server-reference-manifest.json +4 -0
  454. package/.next/server/app/wiki/timeline/page.js +15 -0
  455. package/.next/server/app/wiki/timeline/page.js.map +5 -0
  456. package/.next/server/app/wiki/timeline/page.js.nft.json +1 -0
  457. package/.next/server/app/wiki/timeline/page_client-reference-manifest.js +3 -0
  458. package/.next/server/app/wiki/timeline.html +1 -0
  459. package/.next/server/app/wiki/timeline.meta +16 -0
  460. package/.next/server/app/wiki/timeline.rsc +26 -0
  461. package/.next/server/app/wiki/timeline.segments/_full.segment.rsc +26 -0
  462. package/.next/server/app/wiki/timeline.segments/_head.segment.rsc +6 -0
  463. package/.next/server/app/wiki/timeline.segments/_index.segment.rsc +11 -0
  464. package/.next/server/app/wiki/timeline.segments/_tree.segment.rsc +2 -0
  465. package/.next/server/app/wiki/timeline.segments/wiki/timeline/__PAGE__.segment.rsc +9 -0
  466. package/.next/server/app/wiki/timeline.segments/wiki/timeline.segment.rsc +5 -0
  467. package/.next/server/app/wiki/timeline.segments/wiki.segment.rsc +5 -0
  468. package/.next/server/app/wiki.html +1 -0
  469. package/.next/server/app/wiki.meta +15 -0
  470. package/.next/server/app/wiki.rsc +26 -0
  471. package/.next/server/app/wiki.segments/_full.segment.rsc +26 -0
  472. package/.next/server/app/wiki.segments/_head.segment.rsc +6 -0
  473. package/.next/server/app/wiki.segments/_index.segment.rsc +11 -0
  474. package/.next/server/app/wiki.segments/_tree.segment.rsc +2 -0
  475. package/.next/server/app/wiki.segments/wiki/__PAGE__.segment.rsc +9 -0
  476. package/.next/server/app/wiki.segments/wiki.segment.rsc +5 -0
  477. package/.next/server/app-paths-manifest.json +5 -1
  478. package/.next/server/chunks/0z~i_next_dist_esm_build_templates_app-route_0o_o_hp.js +1 -1
  479. package/.next/server/chunks/0z~i_next_dist_esm_build_templates_app-route_0o_o_hp.js.map +1 -1
  480. package/.next/server/chunks/{[root-of-the-server]__00gp8gz._.js → [root-of-the-server]__01knfi.._.js} +1 -1
  481. package/.next/server/chunks/{[root-of-the-server]__0-0wgko._.js → [root-of-the-server]__08_s4yo._.js} +2 -2
  482. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_wiki_timeline_page_actions_0czqn6z.js +3 -0
  483. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_wiki_timeline_page_actions_0czqn6z.js.map +1 -0
  484. package/.next/server/chunks/ssr/0mzu_lucide-react_dist_esm_icons_zap_115-27i.js +3 -0
  485. package/.next/server/chunks/ssr/0mzu_lucide-react_dist_esm_icons_zap_115-27i.js.map +1 -0
  486. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0k3x-na.js +4 -0
  487. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0k3x-na.js.map +1 -0
  488. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0km22.v.js +4 -0
  489. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0km22.v.js.map +1 -0
  490. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0vui1gx.js +4 -0
  491. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0vui1gx.js.map +1 -0
  492. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_11h319t.js +4 -0
  493. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_11h319t.js.map +1 -0
  494. package/.next/server/chunks/ssr/[root-of-the-server]__007ymqm._.js +3 -0
  495. package/.next/server/chunks/ssr/[root-of-the-server]__007ymqm._.js.map +1 -0
  496. package/.next/server/chunks/ssr/[root-of-the-server]__00vjce2._.js +3 -0
  497. package/.next/server/chunks/ssr/[root-of-the-server]__00vjce2._.js.map +1 -0
  498. package/.next/server/chunks/ssr/[root-of-the-server]__07pkvm3._.js +3 -0
  499. package/.next/server/chunks/ssr/[root-of-the-server]__07pkvm3._.js.map +1 -0
  500. package/.next/server/chunks/ssr/[root-of-the-server]__0dfuz7_._.js +3 -0
  501. package/.next/server/chunks/ssr/[root-of-the-server]__0dfuz7_._.js.map +1 -0
  502. package/.next/server/chunks/ssr/[root-of-the-server]__117dw_l._.js +3 -0
  503. package/.next/server/chunks/ssr/[root-of-the-server]__117dw_l._.js.map +1 -0
  504. package/.next/server/chunks/ssr/_0-3uzu1._.js +3 -0
  505. package/.next/server/chunks/ssr/_0-3uzu1._.js.map +1 -0
  506. package/.next/server/chunks/ssr/_0-6jgyg._.js +3 -0
  507. package/.next/server/chunks/ssr/_0-6jgyg._.js.map +1 -0
  508. package/.next/server/chunks/ssr/_0-fv_sr._.js +1 -1
  509. package/.next/server/chunks/ssr/_0-fv_sr._.js.map +1 -1
  510. package/.next/server/chunks/ssr/_0.7pki~._.js +3 -0
  511. package/.next/server/chunks/ssr/_0.7pki~._.js.map +1 -0
  512. package/.next/server/chunks/ssr/_02s86rg._.js +3 -0
  513. package/.next/server/chunks/ssr/_02s86rg._.js.map +1 -0
  514. package/.next/server/chunks/ssr/_03bq.de._.js +3 -0
  515. package/.next/server/chunks/ssr/_03bq.de._.js.map +1 -0
  516. package/.next/server/chunks/ssr/_03u6ja0._.js +3 -0
  517. package/.next/server/chunks/ssr/_03u6ja0._.js.map +1 -0
  518. package/.next/server/chunks/ssr/_04-.z69._.js +3 -0
  519. package/.next/server/chunks/ssr/_04-.z69._.js.map +1 -0
  520. package/.next/server/chunks/ssr/_05rlac0._.js +3 -0
  521. package/.next/server/chunks/ssr/_05rlac0._.js.map +1 -0
  522. package/.next/server/chunks/ssr/_05xysbw._.js +3 -0
  523. package/.next/server/chunks/ssr/_05xysbw._.js.map +1 -0
  524. package/.next/server/chunks/ssr/_09e_66m._.js +3 -0
  525. package/.next/server/chunks/ssr/_09e_66m._.js.map +1 -0
  526. package/.next/server/chunks/ssr/_0_bnan9._.js +3 -0
  527. package/.next/server/chunks/ssr/_0_bnan9._.js.map +1 -0
  528. package/.next/server/chunks/ssr/_0b00io4._.js +3 -0
  529. package/.next/server/chunks/ssr/_0b00io4._.js.map +1 -0
  530. package/.next/server/chunks/ssr/_0es_2i2._.js +3 -0
  531. package/.next/server/chunks/ssr/_0es_2i2._.js.map +1 -0
  532. package/.next/server/chunks/ssr/_0g7_r5i._.js +3 -0
  533. package/.next/server/chunks/ssr/_0g7_r5i._.js.map +1 -0
  534. package/.next/server/chunks/ssr/_0hojxqy._.js +1 -1
  535. package/.next/server/chunks/ssr/_0hojxqy._.js.map +1 -1
  536. package/.next/server/chunks/ssr/_0ifb9jm._.js +3 -0
  537. package/.next/server/chunks/ssr/_0ifb9jm._.js.map +1 -0
  538. package/.next/server/chunks/ssr/_0jl_-u5._.js +3 -0
  539. package/.next/server/chunks/ssr/_0jl_-u5._.js.map +1 -0
  540. package/.next/server/chunks/ssr/_0lfuvjg._.js +3 -0
  541. package/.next/server/chunks/ssr/_0lfuvjg._.js.map +1 -0
  542. package/.next/server/chunks/ssr/{_0jm~wn-._.js → _0mp7n5i._.js} +2 -2
  543. package/.next/server/chunks/ssr/{_0jm~wn-._.js.map → _0mp7n5i._.js.map} +1 -1
  544. package/.next/server/chunks/ssr/_0powsoh._.js +3 -0
  545. package/.next/server/chunks/ssr/_0powsoh._.js.map +1 -0
  546. package/.next/server/chunks/ssr/_0q34y9l._.js +3 -0
  547. package/.next/server/chunks/ssr/_0q34y9l._.js.map +1 -0
  548. package/.next/server/chunks/ssr/_0q4rpi-._.js +5 -0
  549. package/.next/server/chunks/ssr/_0q4rpi-._.js.map +1 -0
  550. package/.next/server/chunks/ssr/_0rc-7d4._.js +3 -0
  551. package/.next/server/chunks/ssr/_0rc-7d4._.js.map +1 -0
  552. package/.next/server/chunks/ssr/_0tjsh16._.js +3 -0
  553. package/.next/server/chunks/ssr/_0tjsh16._.js.map +1 -0
  554. package/.next/server/chunks/ssr/_0tl98en._.js +1 -1
  555. package/.next/server/chunks/ssr/_0tl98en._.js.map +1 -1
  556. package/.next/server/chunks/ssr/{_0._ysx3._.js → _0v_6ros._.js} +2 -2
  557. package/.next/server/chunks/ssr/_0v_6ros._.js.map +1 -0
  558. package/.next/server/chunks/ssr/_0vncjim._.js +3 -0
  559. package/.next/server/chunks/ssr/_0vncjim._.js.map +1 -0
  560. package/.next/server/chunks/ssr/_0vx-jgf._.js +3 -0
  561. package/.next/server/chunks/ssr/_0vx-jgf._.js.map +1 -0
  562. package/.next/server/chunks/ssr/_0w1ez1p._.js +3 -0
  563. package/.next/server/chunks/ssr/_0w1ez1p._.js.map +1 -0
  564. package/.next/server/chunks/ssr/_0yl49yk._.js +3 -0
  565. package/.next/server/chunks/ssr/_0yl49yk._.js.map +1 -0
  566. package/.next/server/chunks/ssr/_0z1ah9x._.js +1 -1
  567. package/.next/server/chunks/ssr/_0z1ah9x._.js.map +1 -1
  568. package/.next/server/chunks/ssr/_0z9ikwn._.js +3 -0
  569. package/.next/server/chunks/ssr/_0z9ikwn._.js.map +1 -0
  570. package/.next/server/chunks/ssr/_0z_cp12._.js +3 -0
  571. package/.next/server/chunks/ssr/_0z_cp12._.js.map +1 -0
  572. package/.next/server/chunks/ssr/_10hvwg5._.js +3 -0
  573. package/.next/server/chunks/ssr/_10hvwg5._.js.map +1 -0
  574. package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_settings_wiki_page_actions_12d~w9l.js +3 -0
  575. package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_settings_wiki_page_actions_12d~w9l.js.map +1 -0
  576. package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_wiki_page_actions_026bi.d.js +3 -0
  577. package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_wiki_page_actions_026bi.d.js.map +1 -0
  578. package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_wiki_timeline_page_actions_06jb4gg.js +3 -0
  579. package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_wiki_timeline_page_actions_06jb4gg.js.map +1 -0
  580. package/.next/server/chunks/ssr/packages_dashboard_src_0bx940s._.js +3 -0
  581. package/.next/server/chunks/ssr/packages_dashboard_src_0bx940s._.js.map +1 -0
  582. package/.next/server/chunks/ssr/packages_dashboard_src_0fo7nqq._.js +3 -0
  583. package/.next/server/chunks/ssr/packages_dashboard_src_0fo7nqq._.js.map +1 -0
  584. package/.next/server/chunks/ssr/packages_dashboard_src_0uxs9-.._.js +1 -1
  585. package/.next/server/chunks/ssr/packages_dashboard_src_0uxs9-.._.js.map +1 -1
  586. package/.next/server/chunks/ssr/packages_dashboard_src_app_activity_page_tsx_08yep46._.js +1 -1
  587. package/.next/server/chunks/ssr/packages_dashboard_src_app_activity_page_tsx_08yep46._.js.map +1 -1
  588. package/.next/server/chunks/ssr/packages_dashboard_src_app_connections_repositories_page_tsx_08y6paq._.js +1 -1
  589. package/.next/server/chunks/ssr/packages_dashboard_src_app_connections_repositories_page_tsx_08y6paq._.js.map +1 -1
  590. package/.next/server/chunks/ssr/packages_dashboard_src_app_git_page_tsx_0ah19-6._.js +1 -1
  591. package/.next/server/chunks/ssr/packages_dashboard_src_app_git_page_tsx_0ah19-6._.js.map +1 -1
  592. package/.next/server/chunks/ssr/packages_dashboard_src_app_schedule_page_tsx_0znc404._.js +1 -1
  593. package/.next/server/chunks/ssr/packages_dashboard_src_app_schedule_page_tsx_0znc404._.js.map +1 -1
  594. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_models_page_tsx_0djsx88._.js +1 -1
  595. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_models_page_tsx_0djsx88._.js.map +1 -1
  596. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_schedule_page_tsx_0b8zr2l._.js +1 -1
  597. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_schedule_page_tsx_0b8zr2l._.js.map +1 -1
  598. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_wiki_page_tsx_0..1tkb._.js +3 -0
  599. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_wiki_page_tsx_0..1tkb._.js.map +1 -0
  600. package/.next/server/chunks/ssr/packages_dashboard_src_app_setup_page_tsx_06k3via._.js +1 -1
  601. package/.next/server/chunks/ssr/packages_dashboard_src_app_setup_page_tsx_06k3via._.js.map +1 -1
  602. package/.next/server/chunks/ssr/packages_dashboard_src_components_connections_slack-card_tsx_0mahejj._.js +1 -1
  603. package/.next/server/chunks/ssr/packages_dashboard_src_components_connections_slack-card_tsx_0mahejj._.js.map +1 -1
  604. package/.next/server/chunks/ssr/packages_dashboard_src_components_settings_backend-settings_tsx_0i-tp_u._.js +3 -0
  605. package/.next/server/chunks/ssr/packages_dashboard_src_components_settings_backend-settings_tsx_0i-tp_u._.js.map +1 -0
  606. package/.next/server/chunks/ssr/packages_shared_dist_index_0kuvow-.js +1 -1
  607. package/.next/server/chunks/ssr/packages_shared_dist_index_0kuvow-.js.map +1 -1
  608. package/.next/server/middleware/middleware-manifest.json +1 -1
  609. package/.next/server/middleware-build-manifest.js +3 -3
  610. package/.next/server/middleware-manifest.json +1 -1
  611. package/.next/server/pages/404.html +1 -1
  612. package/.next/server/pages/500.html +1 -1
  613. package/.next/static/chunks/01yix41q.0970.js +1 -0
  614. package/.next/static/chunks/02qjylw4yp63l.js +1 -0
  615. package/.next/static/chunks/06y2ddf5x9x_4.js +1 -0
  616. package/.next/static/chunks/{0ztl~44vjnpe1.js → 08ie9t4zn6n4-.js} +1 -1
  617. package/.next/static/chunks/091khs5zza4_4.js +1 -0
  618. package/.next/static/chunks/{0~_56pt8wsmeo.js → 0abhg-m1-acdb.js} +1 -1
  619. package/.next/static/chunks/0ae.1upy09t--.js +1 -0
  620. package/.next/static/chunks/0bvcd~k.vfro8.js +1 -0
  621. package/.next/static/chunks/{0g6.0r0i-wyeg.js → 0eqm47_oikj36.js} +1 -1
  622. package/.next/static/chunks/0fqugh~hv4my1.js +1 -0
  623. package/.next/static/chunks/0has04tc4mrik.js +1 -0
  624. package/.next/static/chunks/0huynm-qbj26k.js +1 -0
  625. package/.next/static/chunks/0ibq4zul6305p.js +1 -0
  626. package/.next/static/chunks/0jm_e6e6n~rdn.js +1 -0
  627. package/.next/static/chunks/0k0.4cksmybb2.js +1 -0
  628. package/.next/static/chunks/0l07yrtw3fxp5.js +1 -0
  629. package/.next/static/chunks/0nhqu-sq045x7.js +1 -0
  630. package/.next/static/chunks/0op3oc-if6n5-.js +3 -0
  631. package/.next/static/chunks/0p34n6.st3s~1.js +1 -0
  632. package/.next/static/chunks/0r8nosw42e2m9.js +1 -0
  633. package/.next/static/chunks/0shx3_mxukfhr.js +1 -0
  634. package/.next/static/chunks/0thm~t5g5adz1.js +1 -0
  635. package/.next/static/chunks/0thyr1cngc-j..css +1 -0
  636. package/.next/static/chunks/0ttdb_354lh4t.js +1 -0
  637. package/.next/static/chunks/0v..ut2v38yep.js +1 -0
  638. package/.next/static/chunks/{17npklzvg8-~3.js → 0vhj0k-zy6jhh.js} +1 -1
  639. package/.next/static/chunks/0wdx410~0~gmn.js +1 -0
  640. package/.next/static/chunks/0y3ptqa0bbi-h.js +1 -0
  641. package/.next/static/chunks/{0zbxi2grjtx.c.js → 0zx_~u_zxg_7e.js} +1 -1
  642. package/.next/static/chunks/{0f3kjzb~5zhc~.js → 10pq~97vgkzro.js} +1 -1
  643. package/.next/static/chunks/11hlk6.h1of0y.js +1 -0
  644. package/.next/static/chunks/13w_6v~nprp8j.js +11 -0
  645. package/.next/static/chunks/14-kkni6ecqaw.js +1 -0
  646. package/.next/static/chunks/{148a9fv~bo0gq.js → 1555iv~_t.1lp.js} +1 -1
  647. package/.next/static/chunks/{04bbme2th8s1_.js → 15ec5~pa1pv_z.js} +1 -1
  648. package/.next/static/chunks/15vc-857cdedi.js +1 -0
  649. package/.next/static/chunks/16zgco6hwlr-n.js +1 -0
  650. package/.next/types/routes.d.ts +5 -1
  651. package/.next/types/validator.ts +36 -0
  652. package/package.json +2 -2
  653. package/.next/server/chunks/ssr/[root-of-the-server]__02idks~._.js +0 -3
  654. package/.next/server/chunks/ssr/[root-of-the-server]__02idks~._.js.map +0 -1
  655. package/.next/server/chunks/ssr/_0-8__9s._.js +0 -3
  656. package/.next/server/chunks/ssr/_0-8__9s._.js.map +0 -1
  657. package/.next/server/chunks/ssr/_0._ysx3._.js.map +0 -1
  658. package/.next/server/chunks/ssr/_0.h-tj4._.js +0 -3
  659. package/.next/server/chunks/ssr/_0.h-tj4._.js.map +0 -1
  660. package/.next/server/chunks/ssr/_02g4o18._.js +0 -3
  661. package/.next/server/chunks/ssr/_02g4o18._.js.map +0 -1
  662. package/.next/server/chunks/ssr/_0463dg_._.js +0 -3
  663. package/.next/server/chunks/ssr/_0463dg_._.js.map +0 -1
  664. package/.next/server/chunks/ssr/_04a42pa._.js +0 -3
  665. package/.next/server/chunks/ssr/_04a42pa._.js.map +0 -1
  666. package/.next/server/chunks/ssr/_04kt9.8._.js +0 -3
  667. package/.next/server/chunks/ssr/_04kt9.8._.js.map +0 -1
  668. package/.next/server/chunks/ssr/_052zlig._.js +0 -3
  669. package/.next/server/chunks/ssr/_052zlig._.js.map +0 -1
  670. package/.next/server/chunks/ssr/_060itkv._.js +0 -3
  671. package/.next/server/chunks/ssr/_060itkv._.js.map +0 -1
  672. package/.next/server/chunks/ssr/_07p0n9g._.js +0 -3
  673. package/.next/server/chunks/ssr/_07p0n9g._.js.map +0 -1
  674. package/.next/server/chunks/ssr/_08mbdt1._.js +0 -3
  675. package/.next/server/chunks/ssr/_08mbdt1._.js.map +0 -1
  676. package/.next/server/chunks/ssr/_08r_qwd._.js +0 -3
  677. package/.next/server/chunks/ssr/_08r_qwd._.js.map +0 -1
  678. package/.next/server/chunks/ssr/_08xk3kp._.js +0 -3
  679. package/.next/server/chunks/ssr/_08xk3kp._.js.map +0 -1
  680. package/.next/server/chunks/ssr/_0938p.1._.js +0 -3
  681. package/.next/server/chunks/ssr/_0938p.1._.js.map +0 -1
  682. package/.next/server/chunks/ssr/_0afdsbz._.js +0 -3
  683. package/.next/server/chunks/ssr/_0afdsbz._.js.map +0 -1
  684. package/.next/server/chunks/ssr/_0ff5qav._.js +0 -3
  685. package/.next/server/chunks/ssr/_0ff5qav._.js.map +0 -1
  686. package/.next/server/chunks/ssr/_0gp8d.p._.js +0 -3
  687. package/.next/server/chunks/ssr/_0gp8d.p._.js.map +0 -1
  688. package/.next/server/chunks/ssr/_0k2j6-t._.js +0 -3
  689. package/.next/server/chunks/ssr/_0k2j6-t._.js.map +0 -1
  690. package/.next/server/chunks/ssr/_0mix09j._.js +0 -3
  691. package/.next/server/chunks/ssr/_0mix09j._.js.map +0 -1
  692. package/.next/server/chunks/ssr/_0mk7dqt._.js +0 -3
  693. package/.next/server/chunks/ssr/_0mk7dqt._.js.map +0 -1
  694. package/.next/server/chunks/ssr/_0n168uk._.js +0 -3
  695. package/.next/server/chunks/ssr/_0n168uk._.js.map +0 -1
  696. package/.next/server/chunks/ssr/_0nwg6lo._.js +0 -3
  697. package/.next/server/chunks/ssr/_0nwg6lo._.js.map +0 -1
  698. package/.next/server/chunks/ssr/_0pwd-nz._.js +0 -3
  699. package/.next/server/chunks/ssr/_0pwd-nz._.js.map +0 -1
  700. package/.next/server/chunks/ssr/_0rspzax._.js +0 -3
  701. package/.next/server/chunks/ssr/_0rspzax._.js.map +0 -1
  702. package/.next/server/chunks/ssr/_0t-2u_i._.js +0 -3
  703. package/.next/server/chunks/ssr/_0t-2u_i._.js.map +0 -1
  704. package/.next/server/chunks/ssr/_0vn5_62._.js +0 -5
  705. package/.next/server/chunks/ssr/_0vn5_62._.js.map +0 -1
  706. package/.next/server/chunks/ssr/_0yiz~s5._.js +0 -3
  707. package/.next/server/chunks/ssr/_0yiz~s5._.js.map +0 -1
  708. package/.next/server/chunks/ssr/_0~4ta0s._.js +0 -3
  709. package/.next/server/chunks/ssr/_0~4ta0s._.js.map +0 -1
  710. package/.next/server/chunks/ssr/_0~5r_8s._.js +0 -3
  711. package/.next/server/chunks/ssr/_0~5r_8s._.js.map +0 -1
  712. package/.next/server/chunks/ssr/_115_o9h._.js +0 -3
  713. package/.next/server/chunks/ssr/_115_o9h._.js.map +0 -1
  714. package/.next/server/chunks/ssr/_13mk_9n._.js +0 -3
  715. package/.next/server/chunks/ssr/_13mk_9n._.js.map +0 -1
  716. package/.next/server/chunks/ssr/packages_dashboard_src_07.4ogy._.js +0 -3
  717. package/.next/server/chunks/ssr/packages_dashboard_src_07.4ogy._.js.map +0 -1
  718. package/.next/static/chunks/00p2fat~wl7uz.js +0 -1
  719. package/.next/static/chunks/07aksg8x5r0d9.js +0 -1
  720. package/.next/static/chunks/082cjr-p4ubw7.js +0 -1
  721. package/.next/static/chunks/09hewwcw-ts34.js +0 -1
  722. package/.next/static/chunks/09j~fmfefj03i.js +0 -1
  723. package/.next/static/chunks/0adfy5uyh_8c8.js +0 -1
  724. package/.next/static/chunks/0agoryx~xvt31.js +0 -1
  725. package/.next/static/chunks/0aoci_z-c0ele.css +0 -1
  726. package/.next/static/chunks/0atsym5j2dgzw.js +0 -1
  727. package/.next/static/chunks/0b3tta7tnnbur.js +0 -1
  728. package/.next/static/chunks/0d02.lqlwe9a_.js +0 -1
  729. package/.next/static/chunks/0eqyosc.qae5n.js +0 -1
  730. package/.next/static/chunks/0kkrrex6qm68-.js +0 -1
  731. package/.next/static/chunks/0lfxqap3b6sar.js +0 -11
  732. package/.next/static/chunks/0ord2b6oqi.3g.js +0 -1
  733. package/.next/static/chunks/0rh-ee9ky1ybq.js +0 -1
  734. package/.next/static/chunks/0t5v~o90gn66f.js +0 -1
  735. package/.next/static/chunks/0vaymprggmdwi.js +0 -3
  736. package/.next/static/chunks/0x2vder5-rzy3.js +0 -1
  737. package/.next/static/chunks/0yk64vsbmwqd8.js +0 -1
  738. package/.next/static/chunks/0yvzj34_7s6kb.js +0 -1
  739. package/.next/static/chunks/104za._t2qmr8.js +0 -1
  740. package/.next/static/chunks/13pe2-ed6nel..js +0 -1
  741. package/.next/static/chunks/13zn61okwjlyn.js +0 -1
  742. package/.next/static/chunks/153hm0-366-at.js +0 -1
  743. package/.next/static/chunks/16k3_-6f7kx97.js +0 -1
  744. package/.next/static/chunks/18904zqns5ncn.js +0 -1
  745. package/.next/trace +0 -2
  746. package/.next/trace-build +0 -1
  747. /package/.next/server/chunks/{[root-of-the-server]__00gp8gz._.js.map → [root-of-the-server]__01knfi.._.js.map} +0 -0
  748. /package/.next/server/chunks/{[root-of-the-server]__0-0wgko._.js.map → [root-of-the-server]__08_s4yo._.js.map} +0 -0
  749. /package/.next/static/{CDXVH-99b-ZdHz0Rd9pr_ → lsV2FU1YUtwJPmeiim7tk}/_buildManifest.js +0 -0
  750. /package/.next/static/{CDXVH-99b-ZdHz0Rd9pr_ → lsV2FU1YUtwJPmeiim7tk}/_clientMiddlewareManifest.js +0 -0
  751. /package/.next/static/{CDXVH-99b-ZdHz0Rd9pr_ → lsV2FU1YUtwJPmeiim7tk}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,89883,e=>{"use strict";let t=(0,e.i(77379).default)("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);e.s(["Mail",0,t],89883)},76176,e=>{"use strict";let t={claude:"Claude Code",codex:"OpenAI Codex",gemini:"Gemini CLI"},r={claude:"Claude",codex:"Codex",gemini:"Gemini"},i={claude:["#7C2D12","#B54B2D","#E15B40","#F97316","#FDBA74"],codex:["#86198F","#A21CAF","#D946EF","#E879F9","#F5D0FE"],gemini:["#1E3A8A","#1D4ED8","#1C69FF","#60A5FA","#93C5FD"]},n=["#6b7280","#9ca3af","#4b5563","#374151"],s={claude:"orange",codex:"pink",gemini:"blue"},a={"routine.morning_routine":"Morning Routine","routine.evening_review":"Evening Review","routine.weekly_review":"Weekly Review","routine.monthly_review":"Monthly Review","routine.hourly_check":"Hourly Check","message.dm":"Direct Messages","message.mention":"Mentions","dashboard.chat":"Dashboard Chat","agent.task":"Scheduled Tasks","calendar.change":"Calendar Events",gmail_classify:"Gmail Classification","github.pull_request.review_requested":"GitHub Review Requests","github.assigned":"GitHub Assignments","github.security_alert":"GitHub Security Alerts","github.workflow_run.failed":"GitHub CI Failures"};function u(e){let t;if(!e)return[];try{t=JSON.parse(e)}catch{return[]}if(!t||"object"!=typeof t)return[];let r=[];for(let[e,i]of Object.entries(t))i&&"object"==typeof i&&r.push({modelId:e,inputTokens:"number"==typeof i.inputTokens?i.inputTokens:0,outputTokens:"number"==typeof i.outputTokens?i.outputTokens:0,costUsd:"number"==typeof i.costUsd?i.costUsd:0});return r.sort((e,t)=>t.costUsd-e.costUsd)}function l(e){if(!e)return null;let t=e.toLowerCase();return t.includes("claude")||t.includes("sonnet")||t.includes("opus")||t.includes("haiku")?"claude":t.includes("gemini")?"gemini":t.includes("gpt")||t.includes("codex")||t.includes("o3")||t.includes("o4")?"codex":null}e.s(["BACKEND_BADGE_VARIANTS",0,s,"BACKEND_COLORS",0,{claude:"#E15B40",codex:"#D946EF",gemini:"#1C69FF"},"BACKEND_LABELS",0,t,"BACKEND_PROVIDER_LABELS",0,{claude:"Claude (Anthropic)",codex:"ChatGPT (OpenAI)",gemini:"Gemini (Google)"},"BACKEND_PROVIDER_SHORT",0,{claude:"Claude",codex:"ChatGPT",gemini:"Gemini"},"CHART_CATEGORY_PALETTE",0,["#3b82f6","#10b981","#f59e0b","#8b5cf6","#ec4899","#14b8a6","#f97316","#6366f1","#ef4444","#22c55e"],"assignModelColors",0,function(e){let t=new Map;for(let r of e){if(!r)continue;let e=l(r)??"other",i=t.get(e)??[];i.push(r),t.set(e,i)}let r={};for(let[e,s]of t){s.sort((e,t)=>e.localeCompare(t));let t="other"===e?n:i[e],a=s.length;s.forEach((e,i)=>{let n;n=a>=t.length?i%t.length:1===a?Math.floor(t.length/2):Math.floor((i+.5)*t.length/a),r[e]=t[n]})}return r},"detectBackendFromModel",0,l,"formatModelName",0,function(e){return e?e.replace(/^claude-/,"Claude ").replace(/^gpt-/,"GPT-").replace(/^gemini-/,"Gemini ").replace(/-/g," ").replace(/\bpreview\b/gi,"(preview)").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\bcodex\b/gi,"Codex").replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\s+/g," ").trim():"Not set"},"formatShortModelName",0,function(e){if(!e)return"unknown";if("opus"===e)return"Opus";if("sonnet"===e)return"Sonnet";let t=e.replace(/-\d{8,}$/,"").replace(/^claude-/,"").replace(/(\d+)-(\d+)(?![-\d])/g,"$1.$2").replace(/-/g," ");return e.startsWith("gpt-")&&(t=`GPT-${t.replace(/^gpt\s*/i,"")}`),e.startsWith("gemini-")&&(t=t.replace(/^gemini\s*/i,"Gemini ")),t.replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\s+/g," ").trim()},"getBackendLabel",0,function(e){return t[e]},"getBackendShortLabel",0,function(e){return r[e]},"getProcessLabel",0,function(e){return a[e]??e},"modelBadgeVariant",0,function(e){if(!e)return"gray";let t=l(e);return t?s[t]:"gray"},"parseModelUsage",0,u,"pickDisplayModel",0,function(e,t){let r=u(t);return r.length>0&&r[0]?r[0].modelId:e??null}])},74490,e=>{"use strict";var t=e.i(54710),r=e.i(81471);let i=(0,e.i(94237).cva)("rounded-xl border p-5 shadow-[0_1px_3px_rgb(0_0_0/0.04)]",{variants:{tone:{default:"border-border bg-card",warning:"border-amber-200 bg-amber-50/50 dark:border-amber-900 dark:bg-amber-950/30",success:"border-emerald-200 bg-emerald-50/50 dark:border-emerald-900 dark:bg-emerald-950/30",error:"border-red-200 bg-red-50/50 dark:border-red-900 dark:bg-red-950/30"},interactive:{true:"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]",false:""}},defaultVariants:{tone:"default",interactive:!1}});e.s(["Card",0,function({className:e,tone:n,interactive:s,...a}){return(0,t.jsx)("div",{className:(0,r.cn)(i({tone:n,interactive:s}),e),...a})},"CardHeader",0,function({className:e,...i}){return(0,t.jsx)("div",{className:(0,r.cn)("mb-3 flex items-center justify-between",e),...i})},"CardStatLabel",0,function({className:e,...i}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-sm font-medium text-muted-foreground",e),...i})},"CardTitle",0,function({className:e,...i}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-lg font-semibold text-foreground",e),...i})},"CardValue",0,function({className:e,...i}){return(0,t.jsx)("div",{className:(0,r.cn)("text-3xl font-bold text-foreground",e),...i})}])},99758,e=>{"use strict";let t=(0,e.i(77379).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],99758)},59134,e=>{"use strict";let t=(0,e.i(77379).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],59134)},19660,e=>{"use strict";let t=(0,e.i(77379).default)("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["Bot",0,t],19660)},17532,e=>{"use strict";var t=e.i(14260),r=e.i(65268);e.s(["useSetupStatus",0,function(){return(0,t.useQuery)({queryKey:["setup-status"],queryFn:()=>r.api.get("/setup/status"),staleTime:3e4})}])},34855,e=>{"use strict";var t=e.i(14260),r=e.i(65268);e.s(["useMetrics",0,function(e){return(0,t.useQuery)({queryKey:["metrics"],queryFn:()=>r.api.get("/metrics"),refetchInterval:3e4,enabled:e?.enabled??!0})}])},36516,e=>{"use strict";e.s(["EVENT_TYPE_COLORS",0,{"message.received":"blue","routine.morning_routine":"green","routine.evening_review":"green","routine.hourly_check":"teal","scheduled.task":"purple","git.push":"gray","schedule.approaching":"amber"},"RESULT_COLORS",0,{success:"green",failed:"red",partial:"amber",skipped:"gray"}])},68741,e=>{"use strict";var t=e.i(75540),r=e.i(65268);e.s(["useEvents",0,function(e,i){return(0,t.useInfiniteQuery)({queryKey:["events",e],queryFn:({pageParam:t=1})=>r.api.get("/events",{page:t,limit:50,type:e?.type,result:e?.result,days:e?.days}),getNextPageParam:e=>e.pagination.page<e.pagination.totalPages?e.pagination.page+1:void 0,initialPageParam:1,enabled:i?.enabled})}])},51226,21420,e=>{"use strict";var t=e.i(14260),r=e.i(65268);e.s(["useCost",0,function(e="daily",i){return(0,t.useQuery)({queryKey:["cost",e],queryFn:()=>r.api.get("/cost",{period:e}),refetchInterval:6e4,enabled:i?.enabled??!0})}],51226);var i=e.i(54710);e.s(["Sparkline",0,function({values:e,color:t,width:r=80,height:n=24,ariaLabel:s}){if(e.length<2)return null;let a=e.filter(e=>null!==e);if(0===a.length)return null;let u=Math.max(...a,1),l=r/(e.length-1),o=[[]];return e.forEach((e,t)=>{if(null===e){o[o.length-1].length>0&&o.push([]);return}o[o.length-1].push({x:t*l,y:n-e/u*(n-4)-2})}),(0,i.jsxs)("svg",{width:r,height:n,className:"mt-2",role:"img","aria-label":s??"sparkline",children:[o.filter(e=>e.length>=2).map((e,r)=>(0,i.jsx)("polyline",{points:e.map(e=>`${e.x},${e.y}`).join(" "),fill:"none",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},`l${r}`)),o.filter(e=>1===e.length).map((e,r)=>(0,i.jsx)("circle",{cx:e[0].x,cy:e[0].y,r:"1.5",fill:t},`d${r}`))]})}],21420)},92134,e=>{"use strict";var t=e.i(14260),r=e.i(57415),i=e.i(95486),n=e.i(65268);e.s(["useBookHighlights",0,function(e,r){return(0,t.useQuery)({queryKey:["book-highlights",e,r],queryFn:()=>n.api.get(`/books/${e}/highlights`,{limit:r??100}),enabled:null!==e,staleTime:3e4})},"useBooks",0,function(e){return(0,t.useQuery)({queryKey:["books",e],queryFn:()=>n.api.get("/books",{status:e?.status??"all",source:e?.source??"all",limit:e?.limit??50,offset:e?.offset??0}),staleTime:3e4})},"useBooksSummary",0,function(e){return(0,t.useQuery)({queryKey:["books-summary",e],queryFn:()=>n.api.get("/books/summary",{months:e??12}),staleTime:6e4})},"useImportClippings",0,function(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:({data:e})=>n.api.post("/books/import-clippings",{data:e}),onSuccess:()=>{e.invalidateQueries({queryKey:["books"]}),e.invalidateQueries({queryKey:["book-highlights"]}),e.invalidateQueries({queryKey:["books-summary"]})}})}])},75540,e=>{"use strict";var t=e.i(46437),r=e.i(49457),i=class extends t.QueryObserver{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){super.setOptions({...e,behavior:(0,r.infiniteQueryBehavior)()})}getOptimisticResult(e){return e.behavior=(0,r.infiniteQueryBehavior)(),super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){let{state:i}=e,n=super.createResult(e,t),{isFetching:s,isRefetching:a,isError:u,isRefetchError:l}=n,o=i.fetchMeta?.fetchMore?.direction,c=u&&"forward"===o,d=s&&"forward"===o,g=u&&"backward"===o,h=s&&"backward"===o;return{...n,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,r.hasNextPage)(t,i.data),hasPreviousPage:(0,r.hasPreviousPage)(t,i.data),isFetchNextPageError:c,isFetchingNextPage:d,isFetchPreviousPageError:g,isFetchingPreviousPage:h,isRefetchError:l&&!c&&!g,isRefetching:a&&!d&&!h}}},n=e.i(98757);e.s(["useInfiniteQuery",0,function(e,t){return(0,n.useBaseQuery)(e,i,t)}],75540)},49785,e=>{"use strict";var t=e.i(54710),r=e.i(63991),i=e.i(72740),n=e.i(20014),s=e.i(81471);function a(){return(0,t.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,t.jsx)(i.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})})}function u({error:e,onRetry:i}){return(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-16",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-destructive",children:[(0,t.jsx)(r.AlertCircle,{className:"h-5 w-5"}),(0,t.jsx)("p",{className:"text-sm font-medium",children:"Failed to load data"})]}),e?.message&&(0,t.jsx)("p",{className:"max-w-md text-center text-xs text-muted-foreground",children:e.message}),i&&(0,t.jsx)(n.Button,{variant:"outline",size:"sm",onClick:i,children:"Retry"})]})}e.s(["CardSkeleton",0,function({count:e=3}){return(0,t.jsx)("div",{className:(0,s.cn)("grid gap-4",e<=2?"grid-cols-1 md:grid-cols-2":4===e?"grid-cols-2 md:grid-cols-4":"grid-cols-1 md:grid-cols-3"),children:Array.from({length:e}).map((e,r)=>(0,t.jsx)("div",{className:"h-28 animate-pulse rounded-xl border border-border bg-muted/30"},r))})},"QueryResult",0,function({isLoading:e,isError:r,error:i,onRetry:n,skeleton:l,className:o,children:c}){return e?(0,t.jsx)("div",{className:(0,s.cn)(o),children:l??(0,t.jsx)(a,{})}):r?(0,t.jsx)("div",{className:(0,s.cn)(o),children:(0,t.jsx)(u,{error:i,onRetry:n})}):(0,t.jsx)(t.Fragment,{children:c})},"TableSkeleton",0,function({rows:e=5}){return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("div",{className:"h-10 animate-pulse rounded-lg bg-muted/40"}),Array.from({length:e}).map((e,r)=>(0,t.jsx)("div",{className:"h-12 animate-pulse rounded-lg bg-muted/20"},r))]})}])},71816,49214,e=>{"use strict";var t=e.i(34416),r=e.i(95486),i=e.i(65268);e.s(["useRegenerate",0,function(){let[e,n]=(0,t.useState)(null),[s,a]=(0,t.useState)("idle"),[u,l]=(0,t.useState)(null),o=(0,r.useQueryClient)(),c=(0,t.useRef)(null),d=(0,t.useRef)(null),g=(0,t.useRef)(0);(0,t.useEffect)(()=>()=>{c.current&&clearInterval(c.current)},[]);let h=(0,t.useCallback)(()=>{c.current&&(clearInterval(c.current),c.current=null)},[]);return{regenerate:(0,t.useCallback)(async e=>{if("triggered"===s||"running"===s)return;n(e),a("triggered"),l(null),g.current=Date.now();let t=await i.api.get(`/context/${e}`).catch(()=>null);d.current=t?.lastModified??null;try{await i.api.post("/agent/regenerate",{target:e}),a("running"),c.current=setInterval(async()=>{if(Date.now()-g.current>3e5){h(),a("error"),l("Timeout — agent may still be processing");return}try{let t=await i.api.get(`/context/${e}`);(null===d.current||t.lastModified!==d.current)&&(h(),a("done"),o.invalidateQueries({queryKey:["context",e]}),o.invalidateQueries({queryKey:["calendar"]}),setTimeout(()=>{a("idle"),n(null)},5e3))}catch{}},3e3)}catch(e){a("error"),l(e instanceof Error?e.message:"Failed to trigger")}},[s,o,h]),target:e,status:s,error:u,dismiss:(0,t.useCallback)(()=>{h(),a("idle"),n(null),l(null)},[h])}}],71816);var n=e.i(54710),s=e.i(20014),a=e.i(81471),u=e.i(59134),l=e.i(99758),o=e.i(63991),c=e.i(72740);e.s(["RegenerateButton",0,function({target:e,label:t,currentTarget:r,status:i,error:d,onRegenerate:g,onDismiss:h,variant:m="outline",size:p="sm",className:f}){let b=r===e;return b&&"done"===i?(0,n.jsxs)(s.Button,{variant:m,size:p,className:(0,a.cn)("text-emerald-600 dark:text-emerald-400",f),onClick:h,children:[(0,n.jsx)(l.Check,{className:"h-3.5 w-3.5 mr-1.5"}),"Updated"]}):b&&"error"===i?(0,n.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,n.jsxs)(s.Button,{variant:m,size:p,className:(0,a.cn)("text-red-600 dark:text-red-400",f),onClick:h,children:[(0,n.jsx)(o.AlertCircle,{className:"h-3.5 w-3.5 mr-1.5"}),"Failed"]}),d&&(0,n.jsx)("span",{className:"text-xs text-red-600 dark:text-red-400 max-w-48 truncate",children:d})]}):(0,n.jsxs)(s.Button,{variant:m,size:p,onClick:()=>g(e),disabled:"triggered"===i||"running"===i,className:f,children:[b&&"idle"!==i?(0,n.jsx)(c.Loader2,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}):(0,n.jsx)(u.RefreshCw,{className:"h-3.5 w-3.5 mr-1.5"}),b&&"triggered"===i?"Triggering...":b&&"running"===i?"Running...":t]})}],49214)},42455,e=>{"use strict";var t=e.i(14260),r=e.i(65268);e.s(["useScheduleNext",0,function(){return(0,t.useQuery)({queryKey:["schedule-next"],queryFn:()=>r.api.get("/schedule/next"),refetchInterval:3e4})}])}]);
@@ -1,3 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13451,e=>{"use strict";var t=e.i(34416),s=e.i(95486),r=e.i(65268);e.s(["useSaveConfig",0,function(){let e=(0,s.useQueryClient)(),[a,i]=(0,t.useState)(null),n=(0,t.useCallback)((e,t)=>{i({type:e,message:t}),setTimeout(()=>i(null),4e3)},[]),l=(0,t.useCallback)((e,t)=>{let s=Object.values(e.errors??{});s.length>0?n("warning",s.join(" ")):e.requiresRestart?.length>0?n("warning",`Updated. Restart daemon for: ${e.requiresRestart.join(", ")}`):n("success",t)},[n]),o=(0,t.useCallback)(async(t,s)=>{try{let a=await r.api.patch("/config",{[t]:s});e.invalidateQueries({queryKey:["config"]}),l(a,"Setting updated")}catch(e){throw n("error",`Failed to save: ${e instanceof Error?e.message:"Unknown error"}`),e}},[e,l,n]),d=(0,t.useCallback)(async t=>{try{let s=await r.api.patch("/config",t);e.invalidateQueries({queryKey:["config"]}),l(s,"Settings updated")}catch(e){throw n("error",`Failed to save: ${e instanceof Error?e.message:"Unknown error"}`),e}},[e,l,n]);return{toast:a,showToast:n,saveField:o,saveMultipleFields:d,patchConfig:(0,t.useCallback)(async t=>{let s=await r.api.patch("/config",t);return e.invalidateQueries({queryKey:["config"]}),s},[e])}}])},7663,e=>{"use strict";let t=(0,e.i(77379).default)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["Save",0,t],7663)},87040,e=>{"use strict";var t=e.i(14260),s=e.i(65268);e.s(["useProcessConfig",0,function(e){return(0,t.useQuery)({queryKey:["process-config"],queryFn:()=>s.api.get("/process-config"),enabled:e?.enabled??!0,staleTime:6e4})}])},36413,e=>{"use strict";var t=e.i(34416);let s=(0,t.createContext)(null);e.s(["DirtyFieldsProvider",0,function({children:e}){let[r,a]=(0,t.useState)(()=>new Map),[i,n]=(0,t.useState)(0),l=(0,t.useCallback)((e,t,s)=>{a(r=>{if(void 0!==s&&(t===s||Array.isArray(t)&&Array.isArray(s)&&t.length===s.length&&t.every((e,t)=>e===s[t]))){if(!r.has(e))return r;let t=new Map(r);return t.delete(e),t}let a=new Map(r);return a.set(e,t),a})},[]),o=(0,t.useCallback)(e=>{a(t=>{if(!t.has(e))return t;let s=new Map(t);return s.delete(e),s})},[]),d=(0,t.useCallback)(e=>{0!==e.length&&a(t=>{if(!e.some(e=>t.has(e)))return t;let s=new Map(t);for(let t of e)s.delete(t);return s})},[]),c=(0,t.useCallback)(()=>{a(new Map),n(e=>e+1)},[]),u=r.size>0,h=r.size,m=(0,t.useMemo)(()=>({dirtyFields:r,setDirty:l,clearDirty:o,clearDirtyKeys:d,discardAll:c,discardGeneration:i,isDirty:u,dirtyCount:h}),[r,l,o,d,c,i,u,h]);return(0,t.createElement)(s.Provider,{value:m},e)},"useDirtyFields",0,function(){let e=(0,t.useContext)(s);if(!e)throw Error("useDirtyFields must be used inside DirtyFieldsProvider");let{setDirty:r,dirtyFields:a}=e,i=(0,t.useCallback)(e=>async(t,s)=>{let a=e[t];r(t,s,a)},[r]),n=(0,t.useCallback)((e,t)=>a.has(e)?a.get(e):t,[a]);return{...e,deferSaveFor:i,dv:n}},"useDiscardGeneration",0,function(){let e=(0,t.useContext)(s);return e?.discardGeneration??0}])},28444,e=>{"use strict";e.s(["RESTART_REQUIRED_KEY_TUPLE",0,["apiPort","externalObsidianVaultName","externalObsidianVaultPath","externalObsidianWatch","primaryVaultPath","primaryVaultName","slackOwnerUserId","telegramOwnerChatId","discordOwnerUserId","whatsappEnabled","whatsappOwnerPhone","whatsappAuthDir","notionDatabaseIds","gmailPollIntervalSeconds","delegatedProbeIntervalMinutes","gitPollIntervalSeconds","githubPollIntervalSeconds","voiceTranscriptionEnabled","observationSummarizerEnabled","observationSummarizerConcurrency","observationSummarizerMaxCallsPerMinute","observationSummarizerQueueLimit","observationSummarizerTimeoutMs"]])},12077,e=>{"use strict";let t=(0,e.i(77379).default)("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);e.s(["Terminal",0,t],12077)},42071,e=>{"use strict";let t=(0,e.i(77379).default)("BookText",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]);e.s(["BookText",0,t],42071)},69426,e=>{"use strict";let t=(0,e.i(77379).default)("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);e.s(["Repeat",0,t],69426)},94328,e=>{"use strict";var t=e.i(54710),s=e.i(34416),r=e.i(45958),a=e.i(71060),i=e.i(77379);let n=(0,i.default)("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var l=e.i(31501);let o=(0,i.default)("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);var d=e.i(12077),c=e.i(42071);let u=(0,i.default)("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]);var h=e.i(69426);let m=(0,i.default)("ClipboardList",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);var p=e.i(20668),y=e.i(79634),x=e.i(81471),g=e.i(36413);let f=[{href:"/settings",label:"Profile",icon:n,description:"Identity and time axis"},{href:"/settings/schedule",label:"Schedule",icon:l.Clock,description:"Hourly check, quiet hours, notifications"},{href:"/settings/routines",label:"Routines",icon:h.Repeat,description:"Per-cadence check rulebooks and custom cron routines"},{href:"/settings/self-learning",label:"Self-learning",icon:p.Sparkles,description:"Knowledge-map skill curation (Preview)"},{href:"/settings/management",label:"Management",icon:m,description:"Source-of-truth bindings and managed tasks"},{href:"/settings/journal",label:"Journal",icon:c.BookText,description:"Daily journal format template and export redaction rules"},{href:"/settings/models",label:"Models",icon:o,description:"Backends, routing, execution limits"},{href:"/settings/commands",label:"Commands",icon:d.Terminal,description:"Messaging shortcuts and custom prompts"},{href:"/settings/advanced",label:"Advanced",icon:u,description:"Safety, infrastructure, danger zone"}],v={"/settings":["agentDisplayName","character","primaryLanguage"],"/settings/schedule":["timezone","dayBoundaryHour","hourlyCheckEnabled","hourlyCheckIntervalMinutes","hourlyCheckActiveStartHour","hourlyCheckActiveEndHour","hourlyCheckMinObservations","maxNotificationsPerHour","maxNotificationsPerDay","quietHoursStart","quietHoursEnd","batchIntervalMinutes","defaultNotificationPlatforms","primaryPlatform"],"/settings/models":["maxConcurrentSessions","maxReactiveSessions","delegatedProxyMaxConcurrent","executeTimeoutMinutes","sessionTimeoutDmMinutes","sessionTimeoutChannelMinutes","sessionTimeoutDashboardMinutes","autonomousDailyCostCapUsd","autonomousMonthlyCostCapUsd"],"/settings/advanced":["disallowedTools","allowedToolsOverride","obsidianDebounceSeconds","schedulePollIntervalSeconds","gitPollIntervalSeconds","notionPollIntervalSeconds","calendarPollIntervalSeconds","gmailPollIntervalSeconds","historyInjectionMaxMessages","historyInjectionMaxTokens","dmStalenessStrict","apiPort","authProbeDisabled","authPreflightFreshnessMs"]};e.s(["SettingsNavigation",0,function(){let e=(0,a.usePathname)(),{dirtyFields:i}=(0,g.useDirtyFields)(),n=(0,s.useCallback)(e=>{let t=v[e];return t?t.filter(e=>i.has(e)).length:0},[i]);return(0,t.jsxs)("nav",{"aria-label":"Settings sections",className:"w-full md:w-60 md:shrink-0",children:[(0,t.jsx)("ul",{className:"flex flex-row gap-1 overflow-x-auto md:flex-col md:gap-0.5",children:f.map(s=>{let a="/settings"===s.href?e===s.href:e.startsWith(s.href),i=s.icon,l=n(s.href);return(0,t.jsx)("li",{children:(0,t.jsxs)(r.default,{href:s.href,"aria-current":a?"page":void 0,className:(0,x.cn)("group flex items-center gap-3 whitespace-nowrap rounded-lg px-3 py-2 text-sm transition-colors md:whitespace-normal",a?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,t.jsx)(i,{className:"h-4 w-4 shrink-0"}),(0,t.jsxs)("span",{className:"flex-1",children:[(0,t.jsxs)("span",{className:"block",children:[s.label,l>0&&(0,t.jsx)("span",{className:"ml-1.5 inline-block h-2 w-2 rounded-full bg-blue-500",title:`${l} unsaved change${1!==l?"s":""}`})]}),(0,t.jsx)("span",{className:(0,x.cn)("hidden text-[11px] font-normal md:block",a?"text-primary/70":"text-muted-foreground/70 group-hover:text-muted-foreground"),children:s.description})]})]})},s.href)})}),(0,t.jsxs)("div",{className:"hidden md:block mt-4 px-3",children:[(0,t.jsx)("kbd",{className:"text-[10px] text-muted-foreground/60 font-mono",children:"⌘K"}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground/60 ml-1.5",children:"Search settings"})]})]})},"SettingsToast",0,function({toast:e}){return e?(0,t.jsx)(y.Alert,{variant:e.type,className:"rounded-lg px-4 py-2.5 text-sm",children:e.message}):null}],94328)},49058,e=>{"use strict";let t=(0,e.i(77379).default)("Undo2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]);e.s(["Undo2",0,t],49058)},9897,e=>{"use strict";let t=["claude-sonnet-4-6","claude-opus-4-6"];t[0],e.s(["ADVISOR_ALLOWED_MODELS",0,t,"isAdvisorModel",0,function(e){return"string"==typeof e&&t.includes(e)}])},83451,e=>{"use strict";var t=e.i(54710),s=e.i(36413),r=e.i(94328),a=e.i(81187),i=e.i(30040);e.i(18446);var n=e.i(9897),l=e.i(65268),o=e.i(14260),d=e.i(87040);let c=n.ADVISOR_ALLOWED_MODELS.map(e=>e.replace(/^claude-/,"").toLowerCase()),u=new Set(["message.dm","message.mention","dashboard.chat","agent.task","routine.morning_routine","routine.evening_review","routine.weekly_review","routine.monthly_review","routine.hourly_check"]);function h(){let e=(0,o.useQuery)({queryKey:["backends","advisor"],queryFn:()=>l.api.get("/backends/advisor"),enabled:(void 0)??!0,staleTime:6e4,retry:!1}),s=(0,d.useProcessConfig)();if(e.error instanceof l.ApiError&&503===e.error.status||s.error instanceof l.ApiError&&503===s.error.status||e.isLoading||s.isLoading)return null;if(e.error||s.error)return(0,t.jsxs)("div",{role:"status",className:"flex items-start gap-3 rounded-lg border border-border bg-muted/30 p-3 text-xs text-muted-foreground",children:[(0,t.jsx)(i.Info,{className:"mt-0.5 h-4 w-4 flex-shrink-0","aria-hidden":"true"}),(0,t.jsx)("span",{children:"Advisor compatibility check unavailable. Refresh the page or check the daemon logs if you rely on the advisor tool."})]});let r=e.data,n=s.data?.configs??[];if(!r?.enabled)return null;let h=n.filter(e=>{let t;return t=e.mainModel.toLowerCase(),!c.some(e=>t.includes(e))});if(0===h.length)return null;let m=h.filter(e=>u.has(e.processKey)),p=h.filter(e=>!u.has(e.processKey));return m.length>0?(0,t.jsxs)("div",{role:"alert",className:"flex items-start gap-3 rounded-lg border border-yellow-500/40 bg-yellow-500/10 p-4 text-sm",children:[(0,t.jsx)(a.AlertTriangle,{className:"mt-0.5 h-5 w-5 flex-shrink-0 text-yellow-600","aria-hidden":"true"}),(0,t.jsxs)("div",{className:"space-y-1 [&>p]:max-w-prose",children:[(0,t.jsx)("p",{className:"font-medium text-yellow-900 dark:text-yellow-100",children:"Advisor-incompatible models on high-stakes processes"}),(0,t.jsxs)("p",{className:"text-yellow-900/80 dark:text-yellow-100/80",children:["Advisor is enabled on"," ",(0,t.jsx)("code",{className:"rounded bg-yellow-500/20 px-1 py-0.5",children:r.model??"(unset)"}),", but the Claude Agent SDK only registers the"," ",(0,t.jsx)("code",{children:"advisor_20260301"})," tool on base models whose id contains"," ",c.map((e,s)=>(0,t.jsxs)("span",{children:[s>0&&(s===c.length-1?" or ":", "),(0,t.jsx)("code",{children:e})]},e)),". The following processes are pinned to incompatible models and will silently skip advisor calls:"]}),(0,t.jsx)("p",{className:"text-yellow-900/80 dark:text-yellow-100/80",children:m.map((e,s)=>(0,t.jsxs)("span",{children:[s>0&&", ",(0,t.jsx)("code",{className:"rounded bg-yellow-500/20 px-1 py-0.5",children:e.processKey})," → ",(0,t.jsx)("code",{className:"rounded bg-yellow-500/20 px-1 py-0.5",children:e.mainModel})]},e.processKey))}),(0,t.jsxs)("p",{className:"text-yellow-900/70 dark:text-yellow-100/70",children:["Either switch these processes to a Sonnet/Opus model above, or disable advisor on"," ",(0,t.jsx)("a",{className:"underline",href:"/settings/models",children:"/settings/models"}),"."]}),p.length>0&&(0,t.jsxs)("p",{className:"text-yellow-900/60 dark:text-yellow-100/60",children:["(",p.length," additional low-stakes process",1===p.length?"":"es"," also incompatible.)"]})]})]}):(0,t.jsxs)("div",{role:"status",className:"flex items-start gap-3 rounded-lg border border-border bg-muted/30 p-3 text-xs text-muted-foreground",children:[(0,t.jsx)(i.Info,{className:"mt-0.5 h-4 w-4 flex-shrink-0","aria-hidden":"true"}),(0,t.jsxs)("span",{children:[p.length," low-stakes process",1===p.length?"":"es"," pinned to an advisor-incompatible model. Advisor is skipped there — usually harmless. (",p.map(e=>e.processKey).join(", "),")"]})]})}var m=e.i(34416),p=e.i(7663),y=e.i(49058),x=e.i(28444),g=e.i(20014),f=e.i(79634),v=e.i(90826),b=e.i(13451);let k=new Set(x.RESTART_REQUIRED_KEY_TUPLE);function w(e){return k.has(e)}function j(){let{dirtyFields:e,dirtyCount:r,isDirty:a,discardAll:i,clearDirtyKeys:n}=(0,s.useDirtyFields)(),{patchConfig:l}=(0,b.useSaveConfig)(),o=(0,v.useConfirm)();(0,m.useEffect)(()=>{if(!a)return;let e=e=>{e.preventDefault()};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[a]),(0,m.useEffect)(()=>{if(!a)return;let e=e=>{let t=e.target.closest?.("a");if(!t)return;let s=t.getAttribute("href");!s||s.startsWith("/settings")||s.startsWith("http")||window.confirm("You have unsaved settings changes. Leave without saving?")||(e.preventDefault(),e.stopPropagation())};return document.addEventListener("click",e,!0),()=>document.removeEventListener("click",e,!0)},[a]);let[d,c]=(0,m.useState)(!1),[u,h]=(0,m.useState)(null);if(!a&&!u)return null;let x=[...e.keys()].filter(w),k=async()=>{if(!(x.length>0)||await o({title:"Daemon restart required",description:`This change requires a daemon restart to take effect. The agent will be unavailable for ~5 seconds.
2
-
3
- Affected: ${x.join(", ")}`,confirmLabel:"Save & restart",variant:"destructive"})){c(!0),h(null);try{let t=Object.fromEntries(e),s=await l(t),r=Object.values(s.errors??{});if(r.length>0){let e=s.updated??[];e.length>0&&n(e),h({type:"error",message:r.join(" ")})}else s.requiresRestart?.length>0?(h({type:"warning",message:`Saved. Restart daemon for: ${s.requiresRestart.join(", ")}`}),i()):(h({type:"success",message:"All settings saved"}),i(),setTimeout(()=>h(null),3e3))}catch(e){h({type:"error",message:`Save failed: ${e instanceof Error?e.message:"Unknown error"}`})}finally{c(!1)}}};return(0,t.jsxs)("div",{className:"sticky bottom-0 z-30 -mx-6 mt-6 border-t border-border bg-background/95 backdrop-blur-sm px-6 py-3",children:[u&&(0,t.jsx)(f.Alert,{variant:u.type,className:"mb-3",children:u.message}),a&&(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,t.jsxs)("p",{className:"text-sm text-muted-foreground",children:[r," unsaved change",1!==r?"s":"",x.length>0&&(0,t.jsx)("span",{className:"ml-1 text-amber-600 dark:text-amber-400",children:"(restart required)"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(g.Button,{variant:"outline",size:"sm",onClick:()=>{i(),h(null)},disabled:d,children:[(0,t.jsx)(y.Undo2,{className:"h-3.5 w-3.5 mr-1"}),"Discard"]}),(0,t.jsxs)(g.Button,{size:"sm",onClick:k,disabled:d,children:[(0,t.jsx)(p.Save,{className:"h-3.5 w-3.5 mr-1"}),d?"Saving...":"Save"]})]})]})]})}function S({children:e}){return(0,t.jsxs)("div",{className:"min-w-0 flex-1 space-y-6",children:[(0,t.jsx)(h,{}),e,(0,t.jsx)(j,{})]})}e.s(["SettingsShell",0,function({children:e}){return(0,t.jsx)(s.DirtyFieldsProvider,{children:(0,t.jsxs)("div",{className:"mx-auto flex max-w-7xl flex-col gap-6 p-6 md:flex-row md:items-start md:gap-8",children:[(0,t.jsx)("aside",{className:"md:sticky md:top-6",children:(0,t.jsx)(r.SettingsNavigation,{})}),(0,t.jsx)(S,{children:e})]})})}],83451)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,76176,e=>{"use strict";let t={claude:"Claude Code",codex:"OpenAI Codex",gemini:"Gemini CLI"},r={claude:"Claude",codex:"Codex",gemini:"Gemini"},n={claude:["#7C2D12","#B54B2D","#E15B40","#F97316","#FDBA74"],codex:["#86198F","#A21CAF","#D946EF","#E879F9","#F5D0FE"],gemini:["#1E3A8A","#1D4ED8","#1C69FF","#60A5FA","#93C5FD"]},i=["#6b7280","#9ca3af","#4b5563","#374151"],a={claude:"orange",codex:"pink",gemini:"blue"},o={"routine.morning_routine":"Morning Routine","routine.evening_review":"Evening Review","routine.weekly_review":"Weekly Review","routine.monthly_review":"Monthly Review","routine.hourly_check":"Hourly Check","message.dm":"Direct Messages","message.mention":"Mentions","dashboard.chat":"Dashboard Chat","agent.task":"Scheduled Tasks","calendar.change":"Calendar Events",gmail_classify:"Gmail Classification","github.pull_request.review_requested":"GitHub Review Requests","github.assigned":"GitHub Assignments","github.security_alert":"GitHub Security Alerts","github.workflow_run.failed":"GitHub CI Failures"};function s(e){let t;if(!e)return[];try{t=JSON.parse(e)}catch{return[]}if(!t||"object"!=typeof t)return[];let r=[];for(let[e,n]of Object.entries(t))n&&"object"==typeof n&&r.push({modelId:e,inputTokens:"number"==typeof n.inputTokens?n.inputTokens:0,outputTokens:"number"==typeof n.outputTokens?n.outputTokens:0,costUsd:"number"==typeof n.costUsd?n.costUsd:0});return r.sort((e,t)=>t.costUsd-e.costUsd)}function l(e){if(!e)return null;let t=e.toLowerCase();return t.includes("claude")||t.includes("sonnet")||t.includes("opus")||t.includes("haiku")?"claude":t.includes("gemini")?"gemini":t.includes("gpt")||t.includes("codex")||t.includes("o3")||t.includes("o4")?"codex":null}e.s(["BACKEND_BADGE_VARIANTS",0,a,"BACKEND_COLORS",0,{claude:"#E15B40",codex:"#D946EF",gemini:"#1C69FF"},"BACKEND_LABELS",0,t,"BACKEND_PROVIDER_LABELS",0,{claude:"Claude (Anthropic)",codex:"ChatGPT (OpenAI)",gemini:"Gemini (Google)"},"BACKEND_PROVIDER_SHORT",0,{claude:"Claude",codex:"ChatGPT",gemini:"Gemini"},"CHART_CATEGORY_PALETTE",0,["#3b82f6","#10b981","#f59e0b","#8b5cf6","#ec4899","#14b8a6","#f97316","#6366f1","#ef4444","#22c55e"],"assignModelColors",0,function(e){let t=new Map;for(let r of e){if(!r)continue;let e=l(r)??"other",n=t.get(e)??[];n.push(r),t.set(e,n)}let r={};for(let[e,a]of t){a.sort((e,t)=>e.localeCompare(t));let t="other"===e?i:n[e],o=a.length;a.forEach((e,n)=>{let i;i=o>=t.length?n%t.length:1===o?Math.floor(t.length/2):Math.floor((n+.5)*t.length/o),r[e]=t[i]})}return r},"detectBackendFromModel",0,l,"formatModelName",0,function(e){return e?e.replace(/^claude-/,"Claude ").replace(/^gpt-/,"GPT-").replace(/^gemini-/,"Gemini ").replace(/-/g," ").replace(/\bpreview\b/gi,"(preview)").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\bcodex\b/gi,"Codex").replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\s+/g," ").trim():"Not set"},"formatShortModelName",0,function(e){if(!e)return"unknown";if("opus"===e)return"Opus";if("sonnet"===e)return"Sonnet";let t=e.replace(/-\d{8,}$/,"").replace(/^claude-/,"").replace(/(\d+)-(\d+)(?![-\d])/g,"$1.$2").replace(/-/g," ");return e.startsWith("gpt-")&&(t=`GPT-${t.replace(/^gpt\s*/i,"")}`),e.startsWith("gemini-")&&(t=t.replace(/^gemini\s*/i,"Gemini ")),t.replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\s+/g," ").trim()},"getBackendLabel",0,function(e){return t[e]},"getBackendShortLabel",0,function(e){return r[e]},"getProcessLabel",0,function(e){return o[e]??e},"modelBadgeVariant",0,function(e){if(!e)return"gray";let t=l(e);return t?a[t]:"gray"},"parseModelUsage",0,s,"pickDisplayModel",0,function(e,t){let r=s(t);return r.length>0&&r[0]?r[0].modelId:e??null}])},74490,e=>{"use strict";var t=e.i(54710),r=e.i(81471);let n=(0,e.i(94237).cva)("rounded-xl border p-5 shadow-[0_1px_3px_rgb(0_0_0/0.04)]",{variants:{tone:{default:"border-border bg-card",warning:"border-amber-200 bg-amber-50/50 dark:border-amber-900 dark:bg-amber-950/30",success:"border-emerald-200 bg-emerald-50/50 dark:border-emerald-900 dark:bg-emerald-950/30",error:"border-red-200 bg-red-50/50 dark:border-red-900 dark:bg-red-950/30"},interactive:{true:"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]",false:""}},defaultVariants:{tone:"default",interactive:!1}});e.s(["Card",0,function({className:e,tone:i,interactive:a,...o}){return(0,t.jsx)("div",{className:(0,r.cn)(n({tone:i,interactive:a}),e),...o})},"CardHeader",0,function({className:e,...n}){return(0,t.jsx)("div",{className:(0,r.cn)("mb-3 flex items-center justify-between",e),...n})},"CardStatLabel",0,function({className:e,...n}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-sm font-medium text-muted-foreground",e),...n})},"CardTitle",0,function({className:e,...n}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-lg font-semibold text-foreground",e),...n})},"CardValue",0,function({className:e,...n}){return(0,t.jsx)("div",{className:(0,r.cn)("text-3xl font-bold text-foreground",e),...n})}])},90925,e=>{"use strict";let t=(0,e.i(77379).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",0,t],90925)},60168,e=>{"use strict";let t=(0,e.i(77379).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],60168)},21682,e=>{"use strict";let t=(0,e.i(77379).default)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],21682)},55575,e=>{"use strict";let t=(0,e.i(77379).default)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",0,t],55575)},84603,e=>{"use strict";let t=(0,e.i(77379).default)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);e.s(["Activity",0,t],84603)},7663,e=>{"use strict";let t=(0,e.i(77379).default)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["Save",0,t],7663)},99758,e=>{"use strict";let t=(0,e.i(77379).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],99758)},24756,e=>{"use strict";var t=e.i(14260),r=e.i(65268);e.s(["useBackends",0,function(e){return(0,t.useQuery)({queryKey:["backends"],queryFn:()=>r.api.get("/backends"),enabled:e?.enabled??!0,staleTime:6e4})}])},70986,e=>{"use strict";var t=e.i(34416),r=e.i(91967),n=e.i(9413),i=e.i(36567),a=e.i(18731),o=e.i(22353),s=e.i(85565),l=e.i(90816),u=e.i(11207),c=e.i(54710),d="Collapsible",[f,p]=(0,n.createContextScope)(d),[m,h]=f(d),v=t.forwardRef((e,r)=>{let{__scopeCollapsible:n,open:a,defaultOpen:o,disabled:l,onOpenChange:f,...p}=e,[h,v]=(0,i.useControllableState)({prop:a,defaultProp:o??!1,onChange:f,caller:d});return(0,c.jsx)(m,{scope:n,disabled:l,contentId:(0,u.useId)(),open:h,onOpenToggle:t.useCallback(()=>v(e=>!e),[v]),children:(0,c.jsx)(s.Primitive.div,{"data-state":C(h),"data-disabled":l?"":void 0,...p,ref:r})})});v.displayName=d;var g="CollapsibleTrigger",b=t.forwardRef((e,t)=>{let{__scopeCollapsible:n,...i}=e,a=h(g,n);return(0,c.jsx)(s.Primitive.button,{type:"button","aria-controls":a.contentId,"aria-expanded":a.open||!1,"data-state":C(a.open),"data-disabled":a.disabled?"":void 0,disabled:a.disabled,...i,ref:t,onClick:(0,r.composeEventHandlers)(e.onClick,a.onOpenToggle)})});b.displayName=g;var y="CollapsibleContent",x=t.forwardRef((e,t)=>{let{forceMount:r,...n}=e,i=h(y,e.__scopeCollapsible);return(0,c.jsx)(l.Presence,{present:r||i.open,children:({present:e})=>(0,c.jsx)(w,{...n,ref:t,present:e})})});x.displayName=y;var w=t.forwardRef((e,r)=>{let{__scopeCollapsible:n,present:i,children:l,...u}=e,d=h(y,n),[f,p]=t.useState(i),m=t.useRef(null),v=(0,o.useComposedRefs)(r,m),g=t.useRef(0),b=g.current,x=t.useRef(0),w=x.current,k=d.open||f,R=t.useRef(k),S=t.useRef(void 0);return t.useEffect(()=>{let e=requestAnimationFrame(()=>R.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,a.useLayoutEffect)(()=>{let e=m.current;if(e){S.current=S.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();g.current=t.height,x.current=t.width,R.current||(e.style.transitionDuration=S.current.transitionDuration,e.style.animationName=S.current.animationName),p(i)}},[d.open,i]),(0,c.jsx)(s.Primitive.div,{"data-state":C(d.open),"data-disabled":d.disabled?"":void 0,id:d.contentId,hidden:!k,...u,ref:v,style:{"--radix-collapsible-content-height":b?`${b}px`:void 0,"--radix-collapsible-content-width":w?`${w}px`:void 0,...e.style},children:k&&l})});function C(e){return e?"open":"closed"}e.s(["Collapsible",0,v,"CollapsibleContent",0,x,"CollapsibleTrigger",0,b],70986)},59134,e=>{"use strict";let t=(0,e.i(77379).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],59134)},40974,e=>{"use strict";let t=(0,e.i(77379).default)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);e.s(["Lock",0,t],40974)},13707,e=>{"use strict";var t=e.i(54710),r=e.i(34416),n=e.i(85565),i=e.i(90816),a=e.i(9413),o=e.i(22353),s=e.i(88248),l=e.i(75649),u=e.i(18731),c=e.i(27069),d=e.i(91967),f="ScrollArea",[p,m]=(0,a.createContextScope)(f),[h,v]=p(f),g=r.forwardRef((e,i)=>{let{__scopeScrollArea:a,type:s="hover",dir:u,scrollHideDelay:c=600,...d}=e,[f,p]=r.useState(null),[m,v]=r.useState(null),[g,b]=r.useState(null),[y,x]=r.useState(null),[w,C]=r.useState(null),[k,R]=r.useState(0),[S,E]=r.useState(0),[T,j]=r.useState(!1),[P,N]=r.useState(!1),A=(0,o.useComposedRefs)(i,e=>p(e)),D=(0,l.useDirection)(u);return(0,t.jsx)(h,{scope:a,type:s,dir:D,scrollHideDelay:c,scrollArea:f,viewport:m,onViewportChange:v,content:g,onContentChange:b,scrollbarX:y,onScrollbarXChange:x,scrollbarXEnabled:T,onScrollbarXEnabledChange:j,scrollbarY:w,onScrollbarYChange:C,scrollbarYEnabled:P,onScrollbarYEnabledChange:N,onCornerWidthChange:R,onCornerHeightChange:E,children:(0,t.jsx)(n.Primitive.div,{dir:D,...d,ref:A,style:{position:"relative","--radix-scroll-area-corner-width":k+"px","--radix-scroll-area-corner-height":S+"px",...e.style}})})});g.displayName=f;var b="ScrollAreaViewport",y=r.forwardRef((e,i)=>{let{__scopeScrollArea:a,children:s,nonce:l,...u}=e,c=v(b,a),d=r.useRef(null),f=(0,o.useComposedRefs)(i,d,c.onViewportChange);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),(0,t.jsx)(n.Primitive.div,{"data-radix-scroll-area-viewport":"",...u,ref:f,style:{overflowX:c.scrollbarXEnabled?"scroll":"hidden",overflowY:c.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:c.onContentChange,style:{minWidth:"100%",display:"table"},children:s})})]})});y.displayName=b;var x="ScrollAreaScrollbar",w=r.forwardRef((e,n)=>{let{forceMount:i,...a}=e,o=v(x,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:l}=o,u="horizontal"===e.orientation;return r.useEffect(()=>(u?s(!0):l(!0),()=>{u?s(!1):l(!1)}),[u,s,l]),"hover"===o.type?(0,t.jsx)(C,{...a,ref:n,forceMount:i}):"scroll"===o.type?(0,t.jsx)(k,{...a,ref:n,forceMount:i}):"auto"===o.type?(0,t.jsx)(R,{...a,ref:n,forceMount:i}):"always"===o.type?(0,t.jsx)(S,{...a,ref:n}):null});w.displayName=x;var C=r.forwardRef((e,n)=>{let{forceMount:a,...o}=e,s=v(x,e.__scopeScrollArea),[l,u]=r.useState(!1);return r.useEffect(()=>{let e=s.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),u(!0)},n=()=>{t=window.setTimeout(()=>u(!1),s.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[s.scrollArea,s.scrollHideDelay]),(0,t.jsx)(i.Presence,{present:a||l,children:(0,t.jsx)(R,{"data-state":l?"visible":"hidden",...o,ref:n})})}),k=r.forwardRef((e,n)=>{var a;let{forceMount:o,...s}=e,l=v(x,e.__scopeScrollArea),u="horizontal"===e.orientation,c=O(()=>p("SCROLL_END"),100),[f,p]=(a={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},r.useReducer((e,t)=>a[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===f){let e=window.setTimeout(()=>p("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(e)}},[f,l.scrollHideDelay,p]),r.useEffect(()=>{let e=l.viewport,t=u?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(p("SCROLL"),c()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[l.viewport,u,p,c]),(0,t.jsx)(i.Presence,{present:o||"hidden"!==f,children:(0,t.jsx)(S,{"data-state":"hidden"===f?"hidden":"visible",...s,ref:n,onPointerEnter:(0,d.composeEventHandlers)(e.onPointerEnter,()=>p("POINTER_ENTER")),onPointerLeave:(0,d.composeEventHandlers)(e.onPointerLeave,()=>p("POINTER_LEAVE"))})})}),R=r.forwardRef((e,n)=>{let a=v(x,e.__scopeScrollArea),{forceMount:o,...s}=e,[l,u]=r.useState(!1),c="horizontal"===e.orientation,d=O(()=>{if(a.viewport){let e=a.viewport.offsetWidth<a.viewport.scrollWidth,t=a.viewport.offsetHeight<a.viewport.scrollHeight;u(c?e:t)}},10);return z(a.viewport,d),z(a.content,d),(0,t.jsx)(i.Presence,{present:o||l,children:(0,t.jsx)(S,{"data-state":l?"visible":"hidden",...s,ref:n})})}),S=r.forwardRef((e,n)=>{let{orientation:i="vertical",...a}=e,o=v(x,e.__scopeScrollArea),s=r.useRef(null),l=r.useRef(0),[u,c]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=I(u.viewport,u.content),f={...a,sizes:u,onSizesChange:c,hasThumb:!!(d>0&&d<1),onThumbChange:e=>s.current=e,onThumbPointerUp:()=>l.current=0,onThumbPointerDown:e=>l.current=e};function p(e,t){return function(e,t,r,n="ltr"){let i=K(r),a=t||i/2,o=r.scrollbar.paddingStart+a,s=r.scrollbar.size-r.scrollbar.paddingEnd-(i-a),l=r.content-r.viewport;return Q([o,s],"ltr"===n?[0,l]:[-1*l,0])(e)}(e,l.current,u,t)}return"horizontal"===i?(0,t.jsx)(E,{...f,ref:n,onThumbPositionChange:()=>{if(o.viewport&&s.current){let e=q(o.viewport.scrollLeft,u,o.dir);s.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{o.viewport&&(o.viewport.scrollLeft=e)},onDragScroll:e=>{o.viewport&&(o.viewport.scrollLeft=p(e,o.dir))}}):"vertical"===i?(0,t.jsx)(T,{...f,ref:n,onThumbPositionChange:()=>{if(o.viewport&&s.current){let e=q(o.viewport.scrollTop,u);s.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{o.viewport&&(o.viewport.scrollTop=e)},onDragScroll:e=>{o.viewport&&(o.viewport.scrollTop=p(e))}}):null}),E=r.forwardRef((e,n)=>{let{sizes:i,onSizesChange:a,...s}=e,l=v(x,e.__scopeScrollArea),[u,c]=r.useState(),d=r.useRef(null),f=(0,o.useComposedRefs)(n,d,l.onScrollbarXChange);return r.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,t.jsx)(N,{"data-orientation":"horizontal",...s,ref:f,sizes:i,style:{bottom:0,left:"rtl"===l.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===l.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":K(i)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(l.viewport){var n,i;let a=l.viewport.scrollLeft+t.deltaX;e.onWheelScroll(a),n=a,i=r,n>0&&n<i&&t.preventDefault()}},onResize:()=>{d.current&&l.viewport&&u&&a({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:H(u.paddingLeft),paddingEnd:H(u.paddingRight)}})}})}),T=r.forwardRef((e,n)=>{let{sizes:i,onSizesChange:a,...s}=e,l=v(x,e.__scopeScrollArea),[u,c]=r.useState(),d=r.useRef(null),f=(0,o.useComposedRefs)(n,d,l.onScrollbarYChange);return r.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,t.jsx)(N,{"data-orientation":"vertical",...s,ref:f,sizes:i,style:{top:0,right:"ltr"===l.dir?0:void 0,left:"rtl"===l.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":K(i)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(l.viewport){var n,i;let a=l.viewport.scrollTop+t.deltaY;e.onWheelScroll(a),n=a,i=r,n>0&&n<i&&t.preventDefault()}},onResize:()=>{d.current&&l.viewport&&u&&a({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:H(u.paddingTop),paddingEnd:H(u.paddingBottom)}})}})}),[j,P]=p(x),N=r.forwardRef((e,i)=>{let{__scopeScrollArea:a,sizes:l,hasThumb:u,onThumbChange:c,onThumbPointerUp:f,onThumbPointerDown:p,onThumbPositionChange:m,onDragScroll:h,onWheelScroll:g,onResize:b,...y}=e,w=v(x,a),[C,k]=r.useState(null),R=(0,o.useComposedRefs)(i,e=>k(e)),S=r.useRef(null),E=r.useRef(""),T=w.viewport,P=l.content-l.viewport,N=(0,s.useCallbackRef)(g),A=(0,s.useCallbackRef)(m),D=O(b,10);function F(e){S.current&&h({x:e.clientX-S.current.left,y:e.clientY-S.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;C?.contains(t)&&N(e,P)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[T,C,P,N]),r.useEffect(A,[l,A]),z(C,D),z(w.content,D),(0,t.jsx)(j,{scope:a,scrollbar:C,hasThumb:u,onThumbChange:(0,s.useCallbackRef)(c),onThumbPointerUp:(0,s.useCallbackRef)(f),onThumbPositionChange:A,onThumbPointerDown:(0,s.useCallbackRef)(p),children:(0,t.jsx)(n.Primitive.div,{...y,ref:R,style:{position:"absolute",...y.style},onPointerDown:(0,d.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),S.current=C.getBoundingClientRect(),E.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",w.viewport&&(w.viewport.style.scrollBehavior="auto"),F(e))}),onPointerMove:(0,d.composeEventHandlers)(e.onPointerMove,F),onPointerUp:(0,d.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=E.current,w.viewport&&(w.viewport.style.scrollBehavior=""),S.current=null})})})}),A="ScrollAreaThumb",D=r.forwardRef((e,r)=>{let{forceMount:n,...a}=e,o=P(A,e.__scopeScrollArea);return(0,t.jsx)(i.Presence,{present:n||o.hasThumb,children:(0,t.jsx)(F,{ref:r,...a})})}),F=r.forwardRef((e,i)=>{let{__scopeScrollArea:a,style:s,...l}=e,u=v(A,a),c=P(A,a),{onThumbPositionChange:f}=c,p=(0,o.useComposedRefs)(i,e=>c.onThumbChange(e)),m=r.useRef(void 0),h=O(()=>{m.current&&(m.current(),m.current=void 0)},100);return r.useEffect(()=>{let e=u.viewport;if(e){let t=()=>{h(),m.current||(m.current=B(e,f),f())};return f(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[u.viewport,h,f]),(0,t.jsx)(n.Primitive.div,{"data-state":c.hasThumb?"visible":"hidden",...l,ref:p,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...s},onPointerDownCapture:(0,d.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=e.clientY-t.top;c.onThumbPointerDown({x:r,y:n})}),onPointerUp:(0,d.composeEventHandlers)(e.onPointerUp,c.onThumbPointerUp)})});D.displayName=A;var M="ScrollAreaCorner",L=r.forwardRef((e,r)=>{let n=v(M,e.__scopeScrollArea),i=!!(n.scrollbarX&&n.scrollbarY);return"scroll"!==n.type&&i?(0,t.jsx)(_,{...e,ref:r}):null});L.displayName=M;var _=r.forwardRef((e,i)=>{let{__scopeScrollArea:a,...o}=e,s=v(M,a),[l,u]=r.useState(0),[c,d]=r.useState(0),f=!!(l&&c);return z(s.scrollbarX,()=>{let e=s.scrollbarX?.offsetHeight||0;s.onCornerHeightChange(e),d(e)}),z(s.scrollbarY,()=>{let e=s.scrollbarY?.offsetWidth||0;s.onCornerWidthChange(e),u(e)}),f?(0,t.jsx)(n.Primitive.div,{...o,ref:i,style:{width:l,height:c,position:"absolute",right:"ltr"===s.dir?0:void 0,left:"rtl"===s.dir?0:void 0,bottom:0,...e.style}}):null});function H(e){return e?parseInt(e,10):0}function I(e,t){let r=e/t;return isNaN(r)?0:r}function K(e){let t=I(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function q(e,t,r="ltr"){let n=K(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=(0,c.clamp)(e,"ltr"===r?[0,o]:[-1*o,0]);return Q([0,o],[0,a-n])(s)}function Q(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}var B=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return!function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=r.left!==a.left,s=r.top!==a.top;(o||s)&&t(),r=a,n=window.requestAnimationFrame(i)}(),()=>window.cancelAnimationFrame(n)};function O(e,t){let n=(0,s.useCallbackRef)(e),i=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(i.current),[]),r.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(n,t)},[n,t])}function z(e,t){let r=(0,s.useCallbackRef)(t);(0,u.useLayoutEffect)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}var U=e.i(81471);let $=(0,r.forwardRef)(({className:e,children:r,...n},i)=>(0,t.jsxs)(g,{className:(0,U.cn)("relative overflow-hidden",e),...n,children:[(0,t.jsx)(y,{ref:i,className:"h-full w-full rounded-[inherit]",children:r}),(0,t.jsx)(w,{orientation:"vertical",className:"flex h-full w-2.5 touch-none select-none border-l border-l-transparent p-[1px] transition-colors",children:(0,t.jsx)(D,{className:"relative flex-1 rounded-full bg-border"})}),(0,t.jsx)(L,{})]}));$.displayName="ScrollArea",e.s(["ScrollArea",0,$],13707)},78927,e=>{"use strict";let t=(0,e.i(77379).default)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);e.s(["Upload",0,t],78927)},75540,e=>{"use strict";var t=e.i(46437),r=e.i(49457),n=class extends t.QueryObserver{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){super.setOptions({...e,behavior:(0,r.infiniteQueryBehavior)()})}getOptimisticResult(e){return e.behavior=(0,r.infiniteQueryBehavior)(),super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){let{state:n}=e,i=super.createResult(e,t),{isFetching:a,isRefetching:o,isError:s,isRefetchError:l}=i,u=n.fetchMeta?.fetchMore?.direction,c=s&&"forward"===u,d=a&&"forward"===u,f=s&&"backward"===u,p=a&&"backward"===u;return{...i,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,r.hasNextPage)(t,n.data),hasPreviousPage:(0,r.hasPreviousPage)(t,n.data),isFetchNextPageError:c,isFetchingNextPage:d,isFetchPreviousPageError:f,isFetchingPreviousPage:p,isRefetchError:l&&!c&&!f,isRefetching:o&&!d&&!p}}},i=e.i(98757);e.s(["useInfiniteQuery",0,function(e,t){return(0,i.useBaseQuery)(e,n,t)}],75540)},50862,e=>{"use strict";var t=e.i(54710),r=e.i(81471);e.s(["EmptyState",0,function({icon:e,title:n,description:i,className:a,children:o}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center justify-center py-16 text-muted-foreground",a),children:[(0,t.jsx)(e,{className:"mb-3 h-10 w-10 opacity-40"}),(0,t.jsx)("p",{className:"text-sm font-medium",children:n}),i&&(0,t.jsx)("p",{className:"mt-1 max-w-prose text-xs text-muted-foreground/70",children:i}),o]})}])},49785,e=>{"use strict";var t=e.i(54710),r=e.i(63991),n=e.i(72740),i=e.i(20014),a=e.i(81471);function o(){return(0,t.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,t.jsx)(n.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})})}function s({error:e,onRetry:n}){return(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-16",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-destructive",children:[(0,t.jsx)(r.AlertCircle,{className:"h-5 w-5"}),(0,t.jsx)("p",{className:"text-sm font-medium",children:"Failed to load data"})]}),e?.message&&(0,t.jsx)("p",{className:"max-w-md text-center text-xs text-muted-foreground",children:e.message}),n&&(0,t.jsx)(i.Button,{variant:"outline",size:"sm",onClick:n,children:"Retry"})]})}e.s(["CardSkeleton",0,function({count:e=3}){return(0,t.jsx)("div",{className:(0,a.cn)("grid gap-4",e<=2?"grid-cols-1 md:grid-cols-2":4===e?"grid-cols-2 md:grid-cols-4":"grid-cols-1 md:grid-cols-3"),children:Array.from({length:e}).map((e,r)=>(0,t.jsx)("div",{className:"h-28 animate-pulse rounded-xl border border-border bg-muted/30"},r))})},"QueryResult",0,function({isLoading:e,isError:r,error:n,onRetry:i,skeleton:l,className:u,children:c}){return e?(0,t.jsx)("div",{className:(0,a.cn)(u),children:l??(0,t.jsx)(o,{})}):r?(0,t.jsx)("div",{className:(0,a.cn)(u),children:(0,t.jsx)(s,{error:n,onRetry:i})}):(0,t.jsx)(t.Fragment,{children:c})},"TableSkeleton",0,function({rows:e=5}){return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("div",{className:"h-10 animate-pulse rounded-lg bg-muted/40"}),Array.from({length:e}).map((e,r)=>(0,t.jsx)("div",{className:"h-12 animate-pulse rounded-lg bg-muted/20"},r))]})}])},26406,e=>{"use strict";var t=e.i(54710),r=e.i(34416),n=e.i(91967),i=e.i(9413),a=e.i(87099),o=e.i(22353),s=e.i(11207),l=e.i(85565),u=e.i(88248),c=e.i(36567),d=e.i(75649),f="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},m="RovingFocusGroup",[h,v,g]=(0,a.createCollection)(m),[b,y]=(0,i.createContextScope)(m,[g]),[x,w]=b(m),C=r.forwardRef((e,r)=>(0,t.jsx)(h.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(h.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(k,{...e,ref:r})})}));C.displayName=m;var k=r.forwardRef((e,i)=>{let{__scopeRovingFocusGroup:a,orientation:s,loop:h=!1,dir:g,currentTabStopId:b,defaultCurrentTabStopId:y,onCurrentTabStopIdChange:w,onEntryFocus:C,preventScrollOnEntryFocus:k=!1,...R}=e,S=r.useRef(null),E=(0,o.useComposedRefs)(i,S),j=(0,d.useDirection)(g),[P,N]=(0,c.useControllableState)({prop:b,defaultProp:y??null,onChange:w,caller:m}),[A,D]=r.useState(!1),F=(0,u.useCallbackRef)(C),M=v(a),L=r.useRef(!1),[_,H]=r.useState(0);return r.useEffect(()=>{let e=S.current;if(e)return e.addEventListener(f,F),()=>e.removeEventListener(f,F)},[F]),(0,t.jsx)(x,{scope:a,orientation:s,dir:j,loop:h,currentTabStopId:P,onItemFocus:r.useCallback(e=>N(e),[N]),onItemShiftTab:r.useCallback(()=>D(!0),[]),onFocusableItemAdd:r.useCallback(()=>H(e=>e+1),[]),onFocusableItemRemove:r.useCallback(()=>H(e=>e-1),[]),children:(0,t.jsx)(l.Primitive.div,{tabIndex:A||0===_?-1:0,"data-orientation":s,...R,ref:E,style:{outline:"none",...e.style},onMouseDown:(0,n.composeEventHandlers)(e.onMouseDown,()=>{L.current=!0}),onFocus:(0,n.composeEventHandlers)(e.onFocus,e=>{let t=!L.current;if(e.target===e.currentTarget&&t&&!A){let t=new CustomEvent(f,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=M().filter(e=>e.focusable);T([e.find(e=>e.active),e.find(e=>e.id===P),...e].filter(Boolean).map(e=>e.ref.current),k)}}L.current=!1}),onBlur:(0,n.composeEventHandlers)(e.onBlur,()=>D(!1))})})}),R="RovingFocusGroupItem",S=r.forwardRef((e,i)=>{let{__scopeRovingFocusGroup:a,focusable:o=!0,active:u=!1,tabStopId:c,children:d,...f}=e,p=(0,s.useId)(),m=c||p,g=w(R,a),b=g.currentTabStopId===m,y=v(a),{onFocusableItemAdd:x,onFocusableItemRemove:C,currentTabStopId:k}=g;return r.useEffect(()=>{if(o)return x(),()=>C()},[o,x,C]),(0,t.jsx)(h.ItemSlot,{scope:a,id:m,focusable:o,active:u,children:(0,t.jsx)(l.Primitive.span,{tabIndex:b?0:-1,"data-orientation":g.orientation,...f,ref:i,onMouseDown:(0,n.composeEventHandlers)(e.onMouseDown,e=>{o?g.onItemFocus(m):e.preventDefault()}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(m)),onKeyDown:(0,n.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let i=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(i))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(i)))return E[i]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let i=y().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)i.reverse();else if("prev"===t||"next"===t){var r,n;"prev"===t&&i.reverse();let a=i.indexOf(e.currentTarget);i=g.loop?(r=i,n=a+1,r.map((e,t)=>r[(n+t)%r.length])):i.slice(a+1)}setTimeout(()=>T(i))}}),children:"function"==typeof d?d({isCurrentTabStop:b,hasTabStop:null!=k}):d})})});S.displayName=R;var E={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function T(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}var j=e.i(90816),P="Tabs",[N,A]=(0,i.createContextScope)(P,[y]),D=y(),[F,M]=N(P),L=r.forwardRef((e,r)=>{let{__scopeTabs:n,value:i,onValueChange:a,defaultValue:o,orientation:u="horizontal",dir:f,activationMode:p="automatic",...m}=e,h=(0,d.useDirection)(f),[v,g]=(0,c.useControllableState)({prop:i,onChange:a,defaultProp:o??"",caller:P});return(0,t.jsx)(F,{scope:n,baseId:(0,s.useId)(),value:v,onValueChange:g,orientation:u,dir:h,activationMode:p,children:(0,t.jsx)(l.Primitive.div,{dir:h,"data-orientation":u,...m,ref:r})})});L.displayName=P;var _="TabsList",H=r.forwardRef((e,r)=>{let{__scopeTabs:n,loop:i=!0,...a}=e,o=M(_,n),s=D(n);return(0,t.jsx)(C,{asChild:!0,...s,orientation:o.orientation,dir:o.dir,loop:i,children:(0,t.jsx)(l.Primitive.div,{role:"tablist","aria-orientation":o.orientation,...a,ref:r})})});H.displayName=_;var I="TabsTrigger",K=r.forwardRef((e,r)=>{let{__scopeTabs:i,value:a,disabled:o=!1,...s}=e,u=M(I,i),c=D(i),d=B(u.baseId,a),f=O(u.baseId,a),p=a===u.value;return(0,t.jsx)(S,{asChild:!0,...c,focusable:!o,active:p,children:(0,t.jsx)(l.Primitive.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":f,"data-state":p?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:d,...s,ref:r,onMouseDown:(0,n.composeEventHandlers)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():u.onValueChange(a)}),onKeyDown:(0,n.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&u.onValueChange(a)}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==u.activationMode;p||o||!e||u.onValueChange(a)})})})});K.displayName=I;var q="TabsContent",Q=r.forwardRef((e,n)=>{let{__scopeTabs:i,value:a,forceMount:o,children:s,...u}=e,c=M(q,i),d=B(c.baseId,a),f=O(c.baseId,a),p=a===c.value,m=r.useRef(p);return r.useEffect(()=>{let e=requestAnimationFrame(()=>m.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(j.Presence,{present:o||p,children:({present:r})=>(0,t.jsx)(l.Primitive.div,{"data-state":p?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":d,hidden:!r,id:f,tabIndex:0,...u,ref:n,style:{...e.style,animationDuration:m.current?"0s":void 0},children:r&&s})})});function B(e,t){return`${e}-trigger-${t}`}function O(e,t){return`${e}-content-${t}`}Q.displayName=q;var z=e.i(81471);e.s(["Tabs",0,L,"TabsContent",0,function({className:e,...r}){return(0,t.jsx)(Q,{className:(0,z.cn)("mt-2 ring-offset-background focus-visible:outline-none",e),...r})},"TabsList",0,function({className:e,...r}){return(0,t.jsx)(H,{className:(0,z.cn)("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...r})},"TabsTrigger",0,function({className:e,...r}){return(0,t.jsx)(K,{className:(0,z.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...r})}],26406)},44178,e=>{"use strict";var t=e.i(57415),r=e.i(14260),n=e.i(95486),i=e.i(65268);class a extends Error{conflict;constructor(e){super("context_conflict"),this.conflict=e,this.name="ContextConflictError"}}e.s(["ContextConflictError",0,a,"useContextFile",0,function(e,t){return(0,r.useQuery)({queryKey:["context",e],queryFn:()=>i.api.get(`/context/${e}`),enabled:!!e&&t?.enabled!==!1,refetchOnWindowFocus:t?.enabled!==!1})},"useContextList",0,function(e){return(0,r.useQuery)({queryKey:["context-list",e],queryFn:()=>i.api.get(`/context/list/${e}`)})},"useDeleteContextFile",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async({path:e})=>i.api.delete(`/context/${e}`),onSuccess:(t,{path:r})=>{e.removeQueries({queryKey:["context",r]}),e.invalidateQueries({queryKey:["snapshots",r]});let n=r.includes("/")?r.split("/")[0]:null;n&&e.invalidateQueries({queryKey:["context-list",n]}),r.startsWith("routines/custom/")&&e.invalidateQueries({queryKey:["context-list","routines"]})}})},"useUpdateContextFile",0,function(){let e=(0,n.useQueryClient)();return(0,t.useMutation)({mutationFn:async({path:e,content:t,expectedMtime:r})=>{try{return await i.api.put(`/context/${e}`,{content:t,...void 0!==r?{expectedMtime:r}:{}})}catch(e){if(e instanceof i.ApiError&&409===e.status&&e.body?.error==="conflict"){let t=e.body;throw new a({currentMtime:t.currentMtime??"",currentContent:t.currentContent??""})}throw e}},onSuccess:(t,{path:r,content:n})=>{e.setQueryData(["context",r],e=>e?{...e,content:n,lastModified:t.lastModified}:{content:n,lastModified:t.lastModified,editable:!0}),e.invalidateQueries({queryKey:["snapshots",r]});let i=r.includes("/")?r.split("/")[0]:null;i&&e.invalidateQueries({queryKey:["context-list",i]})}})}])},40893,e=>{"use strict";var t=e.i(54710),r=e.i(81187),n=e.i(20014),i=e.i(81471);e.s(["FileConflictBanner",0,function({onReload:e,onOverwrite:a,isPending:o=!1,reloadLabel:s="Reload latest",className:l}){return(0,t.jsxs)("div",{role:"alert","aria-live":"assertive",className:(0,i.cn)("rounded-md border border-amber-500/50 bg-amber-500/10 p-3 text-xs",l),children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center gap-2 font-semibold text-amber-900 dark:text-amber-200",children:[(0,t.jsx)(r.AlertTriangle,{className:"h-3.5 w-3.5"}),"File was modified by another process"]}),(0,t.jsx)("p",{className:"mb-3 text-amber-900/90 dark:text-amber-100/90",children:"The agent or another tab wrote to this file after you started editing. Your unsaved draft is preserved — choose how to proceed."}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(n.Button,{size:"sm",variant:"outline",onClick:e,disabled:o,className:"h-7",children:s}),(0,t.jsx)(n.Button,{size:"sm",variant:"destructive",onClick:a,disabled:o,className:"h-7",children:o?"Overwriting…":"Overwrite with my edits"})]})]})}])},26928,e=>{"use strict";var t=e.i(75540),r=e.i(57415),n=e.i(14260),i=e.i(95486),a=e.i(65268);let o=["managed-tasks"],s=["management-history"];function l(e){e.invalidateQueries({queryKey:o}),e.invalidateQueries({queryKey:s}),e.invalidateQueries({queryKey:["managed-task"]}),e.invalidateQueries({queryKey:["recurring-schedules"]}),e.invalidateQueries({queryKey:["schedule-list"]}),e.invalidateQueries({queryKey:["schedule-next"]})}e.s(["useDeleteManagedTask",0,function(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:e=>a.api.delete(`/managed-tasks/${e}`),onSuccess:()=>l(e)})},"useManagedTask",0,function(e){return(0,n.useQuery)({queryKey:["managed-task",e],queryFn:()=>a.api.get(`/managed-tasks/${e}`),enabled:!!e,staleTime:15e3})},"useManagedTaskRuns",0,function(e,t=25){return(0,n.useQuery)({queryKey:["managed-task-runs",e,t],queryFn:()=>a.api.get(`/managed-tasks/${e}/runs`,{limit:t}),enabled:!!e,staleTime:15e3})},"useManagedTasks",0,function(){return(0,n.useQuery)({queryKey:o,queryFn:()=>a.api.get("/managed-tasks"),staleTime:3e4})},"useManagementHistory",0,function(e=50){return(0,t.useInfiniteQuery)({queryKey:[...s,e],queryFn:({pageParam:t})=>a.api.get("/management-history",{limit:e,...t?{before_id:t}:{}}),initialPageParam:void 0,getNextPageParam:e=>e.nextCursor??void 0,staleTime:15e3})},"useRenameManagedTaskApp",0,function(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:({id:e,newApp:t})=>a.api.post(`/managed-tasks/${e}/rename-app`,{newApp:t}),onSuccess:(t,r)=>{l(e),e.invalidateQueries({queryKey:["managed-task-runs",r.id]}),e.invalidateQueries({queryKey:["entities"]}),e.invalidateQueries({queryKey:["entities-by-source"]})}})},"useRunManagedTaskNow",0,function(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:({id:e,reason:t})=>a.api.post(`/managed-tasks/${e}/run-now`,{reason:t}),onSuccess:(t,r)=>{e.invalidateQueries({queryKey:s}),e.invalidateQueries({queryKey:["managed-task-runs",r.id]}),e.invalidateQueries({queryKey:["schedule-list"]})}})},"useUpdateManagedTask",0,function(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:({id:e,...t})=>a.api.patch(`/managed-tasks/${e}`,t),onSuccess:(t,r)=>{l(e),e.invalidateQueries({queryKey:["managed-task-runs",r.id]})}})}])},71816,49214,e=>{"use strict";var t=e.i(34416),r=e.i(95486),n=e.i(65268);e.s(["useRegenerate",0,function(){let[e,i]=(0,t.useState)(null),[a,o]=(0,t.useState)("idle"),[s,l]=(0,t.useState)(null),u=(0,r.useQueryClient)(),c=(0,t.useRef)(null),d=(0,t.useRef)(null),f=(0,t.useRef)(0);(0,t.useEffect)(()=>()=>{c.current&&clearInterval(c.current)},[]);let p=(0,t.useCallback)(()=>{c.current&&(clearInterval(c.current),c.current=null)},[]);return{regenerate:(0,t.useCallback)(async e=>{if("triggered"===a||"running"===a)return;i(e),o("triggered"),l(null),f.current=Date.now();let t=await n.api.get(`/context/${e}`).catch(()=>null);d.current=t?.lastModified??null;try{await n.api.post("/agent/regenerate",{target:e}),o("running"),c.current=setInterval(async()=>{if(Date.now()-f.current>3e5){p(),o("error"),l("Timeout — agent may still be processing");return}try{let t=await n.api.get(`/context/${e}`);(null===d.current||t.lastModified!==d.current)&&(p(),o("done"),u.invalidateQueries({queryKey:["context",e]}),u.invalidateQueries({queryKey:["calendar"]}),setTimeout(()=>{o("idle"),i(null)},5e3))}catch{}},3e3)}catch(e){o("error"),l(e instanceof Error?e.message:"Failed to trigger")}},[a,u,p]),target:e,status:a,error:s,dismiss:(0,t.useCallback)(()=>{p(),o("idle"),i(null),l(null)},[p])}}],71816);var i=e.i(54710),a=e.i(20014),o=e.i(81471),s=e.i(59134),l=e.i(99758),u=e.i(63991),c=e.i(72740);e.s(["RegenerateButton",0,function({target:e,label:t,currentTarget:r,status:n,error:d,onRegenerate:f,onDismiss:p,variant:m="outline",size:h="sm",className:v}){let g=r===e;return g&&"done"===n?(0,i.jsxs)(a.Button,{variant:m,size:h,className:(0,o.cn)("text-emerald-600 dark:text-emerald-400",v),onClick:p,children:[(0,i.jsx)(l.Check,{className:"h-3.5 w-3.5 mr-1.5"}),"Updated"]}):g&&"error"===n?(0,i.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,i.jsxs)(a.Button,{variant:m,size:h,className:(0,o.cn)("text-red-600 dark:text-red-400",v),onClick:p,children:[(0,i.jsx)(u.AlertCircle,{className:"h-3.5 w-3.5 mr-1.5"}),"Failed"]}),d&&(0,i.jsx)("span",{className:"text-xs text-red-600 dark:text-red-400 max-w-48 truncate",children:d})]}):(0,i.jsxs)(a.Button,{variant:m,size:h,onClick:()=>f(e),disabled:"triggered"===n||"running"===n,className:v,children:[g&&"idle"!==n?(0,i.jsx)(c.Loader2,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}):(0,i.jsx)(s.RefreshCw,{className:"h-3.5 w-3.5 mr-1.5"}),g&&"triggered"===n?"Triggering...":g&&"running"===n?"Running...":t]})}],49214)},17532,e=>{"use strict";var t=e.i(14260),r=e.i(65268);e.s(["useSetupStatus",0,function(){return(0,t.useQuery)({queryKey:["setup-status"],queryFn:()=>r.api.get("/setup/status"),staleTime:3e4})}])},93823,e=>{e.v(t=>Promise.all(["static/chunks/0o0y3ud0jgvy_.js"].map(t=>e.l(t))).then(()=>t(37023)))}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74490,e=>{"use strict";var a=e.i(54710),s=e.i(81471);let t=(0,e.i(94237).cva)("rounded-xl border p-5 shadow-[0_1px_3px_rgb(0_0_0/0.04)]",{variants:{tone:{default:"border-border bg-card",warning:"border-amber-200 bg-amber-50/50 dark:border-amber-900 dark:bg-amber-950/30",success:"border-emerald-200 bg-emerald-50/50 dark:border-emerald-900 dark:bg-emerald-950/30",error:"border-red-200 bg-red-50/50 dark:border-red-900 dark:bg-red-950/30"},interactive:{true:"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]",false:""}},defaultVariants:{tone:"default",interactive:!1}});e.s(["Card",0,function({className:e,tone:d,interactive:n,...l}){return(0,a.jsx)("div",{className:(0,s.cn)(t({tone:d,interactive:n}),e),...l})},"CardHeader",0,function({className:e,...t}){return(0,a.jsx)("div",{className:(0,s.cn)("mb-3 flex items-center justify-between",e),...t})},"CardStatLabel",0,function({className:e,...t}){return(0,a.jsx)("h3",{className:(0,s.cn)("text-sm font-medium text-muted-foreground",e),...t})},"CardTitle",0,function({className:e,...t}){return(0,a.jsx)("h3",{className:(0,s.cn)("text-lg font-semibold text-foreground",e),...t})},"CardValue",0,function({className:e,...t}){return(0,a.jsx)("div",{className:(0,s.cn)("text-3xl font-bold text-foreground",e),...t})}])},90925,e=>{"use strict";let a=(0,e.i(77379).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",0,a],90925)},60168,e=>{"use strict";let a=(0,e.i(77379).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,a],60168)},21682,e=>{"use strict";let a=(0,e.i(77379).default)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,a],21682)},99758,e=>{"use strict";let a=(0,e.i(77379).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,a],99758)},24756,e=>{"use strict";var a=e.i(14260),s=e.i(65268);e.s(["useBackends",0,function(e){return(0,a.useQuery)({queryKey:["backends"],queryFn:()=>s.api.get("/backends"),enabled:e?.enabled??!0,staleTime:6e4})}])},20492,37720,e=>{"use strict";var a=e.i(77379);let s=(0,a.default)("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);e.s(["Power",0,s],20492);let t=(0,a.default)("PowerOff",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);e.s(["PowerOff",0,t],37720)},53561,e=>{"use strict";var a=e.i(54710),s=e.i(34416),t=e.i(99758),d=e.i(21682),n=e.i(60168),l=e.i(20492),r=e.i(37720),i=e.i(7663),o=e.i(90925),c=e.i(81187),m=e.i(36451),u=e.i(65268),x=e.i(57415),h=e.i(14260),p=e.i(95486);let b=["commands"];var g=e.i(24756),f=e.i(20014),j=e.i(74490),y=e.i(8652),k=e.i(48467),N=e.i(10427),v=e.i(79634),w=e.i(81471);let C=["claude","codex","gemini"],I=/^[a-z0-9][a-z0-9_-]{0,31}$/,S={id:null,name:"",description:"",prompt:"",backendId:"claude",modelId:"claude-sonnet-4-6",enabled:!0,enabledSkills:["notify"],instructionMd:""};function M(e){let a=e.trim().toLowerCase();return a.startsWith("!")?a.slice(1):a}function B(e){return`!${M(e)}`}function P(e){return e.displayName??e.label??e.modelId}function T(e){return e instanceof u.ApiError||e instanceof Error?e.message:"Request failed"}function A({command:e}){return(0,a.jsxs)(j.Card,{className:"p-4",children:[(0,a.jsxs)(j.CardHeader,{className:"mb-2 gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)(j.CardTitle,{className:"text-base",children:e.title}),(0,a.jsx)("p",{className:"pt-1 font-mono text-sm text-primary",children:e.command})]}),(0,a.jsx)(k.Badge,{variant:"gray",children:"Built-in"})]}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:e.description}),e.details.length>0&&(0,a.jsx)("ul",{className:"mt-3 space-y-1 text-sm text-muted-foreground",children:e.details.map(e=>(0,a.jsxs)("li",{className:"flex gap-2",children:[(0,a.jsx)(t.Check,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-success"}),(0,a.jsx)("span",{children:e})]},e))})]})}function L({command:e,model:s,hasBuiltInConflict:t,busy:n,onEdit:l,onDelete:r}){return(0,a.jsxs)(j.Card,{tone:t?"warning":"default",className:"p-4",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("h3",{className:"font-mono text-base font-semibold text-primary",children:e.command}),(0,a.jsx)(k.Badge,{variant:e.enabled?"green":"gray",children:e.enabled?"Enabled":"Disabled"}),t&&(0,a.jsx)(k.Badge,{variant:"amber",children:"Name conflict"}),(0,a.jsx)(k.Badge,{variant:"blue",children:e.backendId})]}),(0,a.jsx)("p",{className:"mt-1 text-sm text-foreground",children:e.description||"No description"}),(0,a.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Model: ",s?P(s):e.modelId]})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)(f.Button,{variant:"outline",size:"sm",onClick:l,disabled:n,children:[(0,a.jsx)(d.Pencil,{className:"mr-2 h-4 w-4"}),"Edit"]}),(0,a.jsxs)(f.Button,{variant:"destructive",size:"sm",onClick:r,disabled:n,children:[(0,a.jsx)(o.Trash2,{className:"mr-2 h-4 w-4"}),"Delete"]})]})]}),t&&(0,a.jsxs)("div",{className:"mt-3 flex gap-2 rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800 dark:border-amber-900 dark:bg-amber-950/40 dark:text-amber-200",children:[(0,a.jsx)(c.AlertTriangle,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,a.jsx)("span",{children:"A built-in command with this name now exists. Runtime dispatch will use the built-in command until this custom command is renamed."})]}),(0,a.jsx)("div",{className:"mt-3 max-h-28 overflow-auto rounded-md bg-muted p-3 text-xs text-muted-foreground",children:(0,a.jsx)("pre",{className:"whitespace-pre-wrap font-sans",children:e.prompt})})]})}function D({draft:e,builtInReserved:s,userCommands:t,modelsByBackend:d,availableSkills:n,maxInstructionMdLength:o,busy:c,onChange:u,onCancel:x,onSave:h}){let p=M(e.name),b=B(e.name),g=I.test(p),k=s.has(b),v=t.some(a=>a.command===b&&a.id!==e.id),S=d.get(e.backendId)??[],T=S.some(a=>a.modelId===e.modelId),A=e.instructionMd.length>o,L=g&&!k&&!v&&e.prompt.trim().length>0&&T&&!A&&!c,E="claude"===e.backendId?"CLAUDE.md":"codex"===e.backendId?"AGENTS.md":"GEMINI.md",_=e.name.trim()?g?k?"This is a built-in command.":v?"This custom command already exists.":`${b} is available.`:"Use lowercase letters, numbers, hyphens, or underscores.":"Enter the part after !.";return(0,a.jsxs)(j.Card,{className:"p-4",children:[(0,a.jsxs)(j.CardHeader,{className:"mb-4",children:[(0,a.jsx)(j.CardTitle,{className:"text-base",children:e.id?`Edit ${b}`:"New Custom Command"}),(0,a.jsx)(f.Button,{variant:"ghost",size:"icon",onClick:x,disabled:c,children:(0,a.jsx)(m.X,{className:"h-4 w-4"})})]}),(0,a.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,a.jsxs)("label",{className:"space-y-1.5",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Command"}),(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)("span",{className:"inline-flex h-9 items-center rounded-l-md border border-r-0 border-input bg-muted px-3 font-mono text-sm text-muted-foreground",children:"!"}),(0,a.jsx)(y.Input,{value:e.name.startsWith("!")?e.name.slice(1):e.name,onChange:a=>u({...e,name:a.target.value}),className:"rounded-l-none font-mono",placeholder:"digest",disabled:c})]}),(0,a.jsx)("p",{className:(0,w.cn)("text-xs",!g||k||v?"text-destructive":"text-muted-foreground"),children:_})]}),(0,a.jsxs)("label",{className:"space-y-1.5",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Description"}),(0,a.jsx)(y.Input,{value:e.description,onChange:a=>u({...e,description:a.target.value}),placeholder:"Short label shown in settings and help",disabled:c})]}),(0,a.jsxs)("label",{className:"space-y-1.5",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Backend"}),(0,a.jsxs)(N.Select,{value:e.backendId,onValueChange:a=>{let s=d.get(a)?.find(e=>e.available)?.modelId??d.get(a)?.[0]?.modelId??"";u({...e,backendId:a,modelId:s})},disabled:c,children:[(0,a.jsx)(N.SelectTrigger,{children:(0,a.jsx)(N.SelectValue,{})}),(0,a.jsx)(N.SelectContent,{children:C.map(e=>(0,a.jsx)(N.SelectItem,{value:e,children:e},e))})]})]}),(0,a.jsxs)("label",{className:"space-y-1.5",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Model"}),(0,a.jsxs)(N.Select,{value:e.modelId,onValueChange:a=>u({...e,modelId:a}),disabled:c||0===S.length,children:[(0,a.jsx)(N.SelectTrigger,{children:(0,a.jsx)(N.SelectValue,{placeholder:"Select model"})}),(0,a.jsx)(N.SelectContent,{children:S.map(e=>(0,a.jsxs)(N.SelectItem,{value:e.modelId,children:[P(e),e.deprecated?" · legacy":""]},e.modelId))})]})]})]}),(0,a.jsxs)("label",{className:"mt-4 block space-y-1.5",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Instruction Prompt"}),(0,a.jsx)("textarea",{value:e.prompt,onChange:a=>u({...e,prompt:a.target.value}),rows:8,className:"w-full resize-y rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50",placeholder:"Describe exactly what the agent should do when this command is invoked.",disabled:c})]}),(0,a.jsxs)("fieldset",{className:"mt-4 space-y-2",children:[(0,a.jsx)("legend",{className:"text-sm font-medium text-foreground",children:"Skills"}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Skill modules materialized into the working directory for this command. Leave only ",(0,a.jsx)("code",{children:"notify"})," checked for a minimal DM-reply turn; pick more if the prompt needs them."]}),(0,a.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 md:grid-cols-3",children:n.map(s=>{let t=e.enabledSkills.includes(s);return(0,a.jsxs)("label",{className:"inline-flex items-start gap-2 rounded-md border border-input bg-background px-2.5 py-1.5 text-sm",children:[(0,a.jsx)("input",{type:"checkbox",checked:t,onChange:()=>{let a;return a=e.enabledSkills.includes(s),void u({...e,enabledSkills:a?e.enabledSkills.filter(e=>e!==s):[...e.enabledSkills,s]})},disabled:c,className:"mt-0.5 h-4 w-4 rounded border-input accent-primary"}),(0,a.jsx)("span",{className:"font-mono text-xs",children:s})]},s)})}),0===e.enabledSkills.length&&(0,a.jsxs)("p",{className:"text-xs text-amber-600 dark:text-amber-400",children:["No skills selected — the agent will run with only safety + your instructions. Reply quality may suffer without ",(0,a.jsx)("code",{children:"notify"}),"."]})]}),(0,a.jsxs)("label",{className:"mt-4 block space-y-1.5",children:[(0,a.jsxs)("span",{className:"text-sm font-medium text-foreground",children:[E," body (optional)"]}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Custom profile body written into the working directory's"," ",(0,a.jsx)("code",{children:E})," for this command. Leave blank to use the default conversational profile. Safety preamble and your character block are always emitted around it."]}),(0,a.jsx)("textarea",{value:e.instructionMd,onChange:a=>u({...e,instructionMd:a.target.value}),rows:8,className:"w-full resize-y rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50",placeholder:"Replace the default conversational persona for this command. e.g. 'You are a terse summariser…'",disabled:c}),(0,a.jsxs)("p",{className:(0,w.cn)("text-xs",A?"text-destructive":"text-muted-foreground"),children:[e.instructionMd.length.toLocaleString()," /"," ",o.toLocaleString()," characters"]})]}),(0,a.jsxs)("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-3",children:[(0,a.jsxs)("label",{className:"inline-flex items-center gap-2 text-sm text-foreground",children:[(0,a.jsx)("input",{type:"checkbox",checked:e.enabled,onChange:a=>u({...e,enabled:a.target.checked}),className:"h-4 w-4 rounded border-input accent-primary",disabled:c}),e.enabled?(0,a.jsx)(l.Power,{className:"h-4 w-4 text-success"}):(0,a.jsx)(r.PowerOff,{className:"h-4 w-4 text-muted-foreground"}),"Enabled"]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(f.Button,{variant:"outline",onClick:x,disabled:c,children:"Cancel"}),(0,a.jsxs)(f.Button,{onClick:h,disabled:!L,children:[(0,a.jsx)(i.Save,{className:"mr-2 h-4 w-4"}),"Save Command"]})]})]})]})}e.s(["default",0,function(){let e,t,d,l=(0,h.useQuery)({queryKey:b,queryFn:()=>u.api.get("/commands")}),r=(0,g.useBackends)(),i=(e=(0,p.useQueryClient)(),(0,x.useMutation)({mutationFn:e=>u.api.post("/commands",e),onSuccess:a=>{e.setQueryData(b,a)}})),o=(t=(0,p.useQueryClient)(),(0,x.useMutation)({mutationFn:({id:e,body:a})=>u.api.put(`/commands/${e}`,a),onSuccess:e=>{t.setQueryData(b,e)}})),m=(d=(0,p.useQueryClient)(),(0,x.useMutation)({mutationFn:e=>u.api.delete(`/commands/${e}`),onSuccess:e=>{d.setQueryData(b,e)}})),[y,k]=(0,s.useState)(null),[N,w]=(0,s.useState)(null),C=(0,s.useMemo)(()=>{let e=r.data?.backends??[],a=new Map;for(let s of e)a.set(s.id,s.models.filter(e=>e.available).sort((e,a)=>!!e.deprecated!=!!a.deprecated?e.deprecated?1:-1:P(e).localeCompare(P(a))));return a},[r.data?.backends]),I=(0,s.useMemo)(()=>new Set(l.data?.builtInCommands.map(e=>e.command)??[]),[l.data?.builtInCommands]),E=(0,s.useMemo)(()=>(l.data?.userCommands??[]).filter(e=>I.has(e.command)),[l.data?.userCommands,I]),_=(0,s.useMemo)(()=>l.data?.constraints.defaultSkills??["notify"],[l.data?.constraints.defaultSkills]),z=(0,s.useMemo)(()=>l.data?.constraints.availableSkills??[],[l.data?.constraints.availableSkills]),$=l.data?.constraints.maxInstructionMdLength??32e3,R=async()=>{if(!y)return;let e=y.instructionMd.trim(),a={name:M(y.name),description:y.description.trim(),prompt:y.prompt.trim(),backendId:y.backendId,modelId:y.modelId,enabled:y.enabled,enabledSkills:y.enabledSkills,instructionMd:0===e.length?null:e};try{y.id?(await o.mutateAsync({id:y.id,body:a}),w(`${B(y.name)} updated`)):(await i.mutateAsync(a),w(`${B(y.name)} created`)),k(null)}catch(e){w(T(e))}},Q=async e=>{if(window.confirm(`Delete ${e.command}?`))try{await m.mutateAsync(e.id),y?.id===e.id&&k(null),w(`${e.command} deleted`)}catch(e){w(T(e))}},V=i.isPending||o.isPending||m.isPending;return l.isLoading||r.isLoading?(0,a.jsx)(j.Card,{className:"p-4",children:(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading commands…"})}):l.error||r.error||!l.data||!r.data?(0,a.jsx)(j.Card,{tone:"error",className:"p-4",children:(0,a.jsx)("p",{className:"text-sm text-destructive",children:"Failed to load command settings."})}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:"Commands"}),(0,a.jsxs)("p",{className:"mt-1 max-w-3xl text-sm text-muted-foreground",children:["Messaging shortcuts that begin with ",(0,a.jsx)("code",{children:"!"}),". Built-in commands are system controls; custom commands run your saved prompt on the backend and model you choose."]})]}),N&&(0,a.jsx)(v.Alert,{className:"rounded-lg px-4 py-2.5 text-sm",children:N}),E.length>0&&(0,a.jsx)(v.Alert,{variant:"warning",icon:!1,className:"rounded-lg px-4 py-3 text-sm",children:(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsx)(c.AlertTriangle,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium",children:"Some custom commands now conflict with built-in commands."}),(0,a.jsx)("p",{className:"mt-1 text-muted-foreground",children:"Built-in commands take precedence at runtime. Rename the custom command to make it callable again."}),(0,a.jsx)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:E.map(e=>(0,a.jsx)("code",{className:"rounded bg-background px-1.5 py-0.5 font-mono text-xs",children:e.command},e.id))})]})]})}),(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsx)("div",{className:"flex items-center justify-between gap-3",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Built-in"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Read-only controls handled by the daemon without model cost."})]})}),(0,a.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:l.data.builtInCommands.map(e=>(0,a.jsx)(A,{command:e},e.command))})]}),(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Custom"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"User-defined commands are validated against built-in and existing custom names."})]}),(0,a.jsxs)(f.Button,{onClick:()=>{let e=r.data?.defaultBackend??"claude",a=C.get(e)?.find(e=>e.available)?.modelId??C.get(e)?.[0]?.modelId??S.modelId;k({...S,backendId:e,modelId:a,enabledSkills:[..._]}),w(null)},disabled:V,children:[(0,a.jsx)(n.Plus,{className:"mr-2 h-4 w-4"}),"New Command"]})]}),y&&(0,a.jsx)(D,{draft:y,builtInReserved:I,userCommands:l.data.userCommands,modelsByBackend:C,availableSkills:z,maxInstructionMdLength:$,busy:V,onChange:k,onCancel:()=>k(null),onSave:R}),0===l.data.userCommands.length?(0,a.jsx)(j.Card,{className:"p-4",children:(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"No custom commands yet."})}):(0,a.jsx)("div",{className:"grid gap-3",children:l.data.userCommands.map(e=>(0,a.jsx)(L,{command:e,model:C.get(e.backendId)?.find(a=>a.modelId===e.modelId),hasBuiltInConflict:I.has(e.command),busy:V,onEdit:()=>{k({id:e.id,name:e.name,description:e.description,prompt:e.prompt,backendId:e.backendId,modelId:e.modelId,enabled:e.enabled,enabledSkills:e.enabledSkills??[..._],instructionMd:e.instructionMd??""}),w(null)},onDelete:()=>Q(e)},e.id))})]})]})}],53561)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,17975,6131,e=>{"use strict";var a=e.i(54710),t=e.i(59546),r=e.i(72740),s=e.i(12077),n=e.i(75750),l=e.i(48467),i=e.i(20014),o=e.i(81471),d=e.i(76176),c=e.i(10628);let u={ok:{variant:"green",label:"OK",icon:"✅"},expiring_soon:{variant:"amber",label:"Expiring Soon",icon:"🟡"},expired:{variant:"red",label:"Expired",icon:"🔴"},missing:{variant:"gray",label:"Missing",icon:"⚫"},recovering:{variant:"blue",label:"Recovering",icon:"🔄"},unknown:{variant:"gray",label:"Unknown",icon:"❓"}};function m({status:e,detail:t,firstExpiredAt:s,lastSuccessAt:n,notificationCount:i}){let d=e in u?e:"error"===e?"expired":"unknown",p=u[d],h="expired"===d||"missing"===d,x=h&&s?` (${function(e){let a=Math.floor((Date.now()-(0,o.parseUtcDate)(e).getTime())/6e4);if(a<60)return`${a}m`;let t=Math.floor(a/60);if(t<24)return`${t}h`;let r=Math.floor(t/24);return`${r}d`}(s)})`:"",f=[];return f.push(`Status: ${p.label}`),t&&f.push(`Detail: ${t}`),s&&h&&f.push(`Failed since: ${(0,o.formatRelativeTime)(s)}`),n&&f.push(`Last success: ${(0,o.formatRelativeTime)(n)}`),i>0&&f.push(`Notifications sent: ${i}`),(0,a.jsxs)(c.Tooltip,{children:[(0,a.jsx)(c.TooltipTrigger,{asChild:!0,children:(0,a.jsx)("span",{children:(0,a.jsxs)(l.Badge,{variant:p.variant,className:"gap-1",children:["recovering"===d?(0,a.jsx)(r.Loader2,{className:"h-3 w-3 animate-spin"}):null,"Auth: ",p.label,x]})})}),(0,a.jsx)(c.TooltipContent,{side:"bottom",className:"max-w-xs",children:(0,a.jsx)("div",{className:"space-y-0.5 text-xs",children:f.map((e,t)=>(0,a.jsx)("p",{children:e},t))})})]})}var p=e.i(34416),h=e.i(95486);let x=(0,e.i(77379).default)("ClipboardCopy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]);var f=e.i(88175),g=e.i(52387),v=e.i(59134),k=e.i(10427),y=e.i(65268);function b({backendId:e,cliInstalled:l,compact:o=!1,onInstalled:c}){let u=(0,h.useQueryClient)(),[m,j]=(0,p.useState)(null),[C,A]=(0,p.useState)(!1),[N,I]=(0,p.useState)(""),[w,S]=(0,p.useState)(!1),[E,_]=(0,p.useState)(null),[M,P]=(0,p.useState)(null),[K,O]=(0,p.useState)(!1),B=(0,p.useCallback)(async()=>{if(!l){A(!0);try{let a=(await y.api.get("/backends/install-methods")).backends[e];j(a);let t=a.methods.find(e=>e.available);t&&I(t.id)}catch(e){P(e instanceof Error?e.message:"Failed to fetch install methods")}finally{A(!1)}}},[e,l]);(0,p.useEffect)(()=>{l||B()},[l,B]);let D=async()=>{if(N){S(!0),_(null),P(null);try{let a=await y.api.post(`/backends/${e}/install`,{method:N});_(a),a.ok&&a.cliInstalled&&(await u.invalidateQueries({queryKey:["backends"]}),c?.())}catch(e){P(e instanceof Error?e.message:"Install failed")}finally{S(!1)}}},R=async e=>{try{await navigator.clipboard.writeText(e),O(!0),setTimeout(()=>O(!1),2e3)}catch{}},L=()=>{_(null),P(null),B(),u.invalidateQueries({queryKey:["backends"]})},T=m?.docsUrl,U=d.BACKEND_LABELS[e];if(!1!==l&&!E?.ok)return o?null:!0===l?(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[(0,a.jsx)(t.CheckCircle2,{className:"h-4 w-4"}),(0,a.jsxs)("span",{children:[U," CLI is installed and ready"]})]}):null;if(C)return(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,a.jsx)(r.Loader2,{className:"h-4 w-4 animate-spin"}),(0,a.jsx)("span",{children:"Detecting available install methods..."})]});let z=m?.methods??[],V=z.filter(e=>e.available),F=z.find(e=>e.id===N),$=F?.manualOnly??!1,G=V.filter(e=>e.id!==N);return E?.ok?(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[(0,a.jsx)(t.CheckCircle2,{className:"h-4 w-4"}),(0,a.jsxs)("span",{children:[U," CLI installed successfully"]})]}),!o&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Proceed to verify authentication below to confirm your credentials are working."})]}):(0,a.jsxs)("div",{className:o?"space-y-2":"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-amber-600 dark:text-amber-400",children:[(0,a.jsx)(f.Download,{className:"h-4 w-4 shrink-0"}),(0,a.jsxs)("span",{children:[U," CLI is not installed"]})]}),!o&&(0,a.jsxs)("p",{className:"text-xs text-muted-foreground",children:["The ",U," CLI must be installed on this machine for the agent to use it as a backend. Choose an install method below, or install manually in your terminal."]}),V.length>0?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:o?"flex items-center gap-2":"space-y-2",children:[(0,a.jsxs)(k.Select,{value:N,onValueChange:I,children:[(0,a.jsx)(k.SelectTrigger,{className:o?"w-[200px]":"w-full",children:(0,a.jsx)(k.SelectValue,{placeholder:"Choose install method"})}),(0,a.jsx)(k.SelectContent,{children:z.map(e=>(0,a.jsxs)(k.SelectItem,{value:e.id,disabled:!e.available,children:[e.label,!e.available&&" (not available)"]},e.id))})]}),$?(0,a.jsxs)(i.Button,{size:o?"sm":"default",variant:"outline",onClick:()=>F&&R(F.command),disabled:!N,className:"gap-2 shrink-0",children:[K?(0,a.jsx)(t.CheckCircle2,{className:"h-3.5 w-3.5 text-green-500"}):(0,a.jsx)(x,{className:"h-3.5 w-3.5"}),K?"Copied!":"Copy Command"]}):(0,a.jsxs)(i.Button,{size:o?"sm":"default",variant:"outline",onClick:D,disabled:w||!N||!F?.available,className:"gap-2 shrink-0",children:[w?(0,a.jsx)(r.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(s.Terminal,{className:"h-3.5 w-3.5"}),w?"Installing...":"Install"]})]}),F&&!o&&(0,a.jsxs)("div",{className:"rounded-md bg-muted/50 px-3 py-2",children:[(0,a.jsx)("p",{className:"mb-1 text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60",children:$?"Run this command in your terminal":"Command to run"}),(0,a.jsxs)("code",{className:"text-xs text-muted-foreground",children:["$ ",F.command]})]}),$&&!o&&(0,a.jsxs)("p",{className:"text-xs text-muted-foreground",children:["This method requires you to run the command in your own terminal (it may need elevated permissions). After installing, click"," ",(0,a.jsx)("strong",{children:"Retry Detection"})," to verify."]}),$&&(0,a.jsxs)(i.Button,{size:"sm",variant:"outline",onClick:L,className:"gap-1.5",children:[(0,a.jsx)(v.RefreshCw,{className:"h-3 w-3"}),"Retry Detection"]})]}):(0,a.jsxs)("div",{className:"space-y-2 rounded-md border border-amber-200 bg-amber-50/50 p-3 dark:border-amber-900 dark:bg-amber-950/30",children:[(0,a.jsx)("p",{className:"text-xs font-medium text-amber-800 dark:text-amber-200",children:"No supported package manager was detected on this system."}),(0,a.jsx)("p",{className:"text-xs text-amber-700 dark:text-amber-300",children:"Please install the CLI manually in your terminal:"}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"flex-1 rounded bg-muted px-2.5 py-1.5",children:(0,a.jsxs)("code",{className:"text-xs",children:["npm install -g"," ","claude"===e?"@anthropic-ai/claude-code":"codex"===e?"@openai/codex":"@google/gemini-cli"]})}),(0,a.jsx)(i.Button,{size:"sm",variant:"ghost",onClick:()=>R(`npm install -g ${"claude"===e?"@anthropic-ai/claude-code":"codex"===e?"@openai/codex":"@google/gemini-cli"}`),className:"shrink-0",children:K?(0,a.jsx)(t.CheckCircle2,{className:"h-3.5 w-3.5 text-green-500"}):(0,a.jsx)(x,{className:"h-3.5 w-3.5"})})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pt-1",children:[(0,a.jsxs)(i.Button,{size:"sm",variant:"outline",onClick:L,className:"gap-1.5",children:[(0,a.jsx)(v.RefreshCw,{className:"h-3 w-3"}),"Retry Detection"]}),T&&(0,a.jsxs)("a",{href:T,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-xs text-amber-700 underline hover:text-amber-900 dark:text-amber-300 dark:hover:text-amber-100",children:[(0,a.jsx)(g.ExternalLink,{className:"h-3 w-3"}),"Official installation guide"]})]})]}),E&&!E.ok&&(0,a.jsxs)("div",{className:"space-y-2 rounded-md border border-red-200 bg-red-50/50 p-3 dark:border-red-900 dark:bg-red-950/30",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium text-red-700 dark:text-red-300",children:[(0,a.jsx)(n.XCircle,{className:"h-4 w-4 shrink-0"}),(0,a.jsx)("span",{children:E.timedOut?"Installation timed out (5 min limit)":`Installation failed (exit code ${E.exitCode})`})]}),E.stderr&&(0,a.jsx)("pre",{className:"max-h-32 overflow-auto rounded bg-red-100/50 p-2 text-xs text-red-800 dark:bg-red-950/50 dark:text-red-200",children:E.stderr.slice(-1500)}),(0,a.jsxs)("div",{className:"space-y-1 text-xs text-red-700 dark:text-red-300",children:[G.length>0&&(0,a.jsxs)("p",{children:["Try a different method: select"," ",G.map(e=>`"${e.label}"`).join(" or ")," from the dropdown above."]}),(0,a.jsxs)("p",{children:["You can also install manually in your terminal and then click"," ",(0,a.jsx)("strong",{children:"Retry Detection"})," below."]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pt-1",children:[(0,a.jsxs)(i.Button,{size:"sm",variant:"outline",onClick:L,className:"gap-1.5",children:[(0,a.jsx)(v.RefreshCw,{className:"h-3 w-3"}),"Retry Detection"]}),T&&(0,a.jsxs)("a",{href:T,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-xs text-red-600 underline hover:text-red-800 dark:text-red-400 dark:hover:text-red-200",children:[(0,a.jsx)(g.ExternalLink,{className:"h-3 w-3"}),"Official install guide"]})]})]}),M&&(0,a.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",children:M})]})}function j(e){return"claude"===e}function C(e){return!e}function A(e){return!e}function N(e){return"wizard"===e.mode&&!e.isMain&&!e.cliInstalled}function I(e){return"allow"===e}e.s(["isAllowModeActive",0,I,"isContinueEligible",0,function(e){return null!==e.mainBackend},"isRecommended",0,j,"shouldEnableVerifyInstall",0,A,"shouldShowCliInstall",0,C,"shouldShowWizardConfigureLaterHint",0,N],6131),e.s(["BackendCard",0,function(e){let{backendId:c,mode:u,isMain:p,authStatus:h,authStatusDetail:x,authFirstExpiredAt:f,authLastSuccessAt:g,authNotificationCount:v,cliInstalled:k,enabled:y,webSearchEnabled:w,webSearchSupported:S,permissionMode:E,busy:_=!1,installCheck:M,onCliInstalled:P,onVerifyInstall:K,onToggleEnable:O,onToggleWebSearch:B,renderExtra:D}=e,R=I(E),L=j(c),T=C(k),U=A(_),z=k&&M?.status!=="ok"&&M?.status!=="checking",V=N({mode:u,isMain:p,cliInstalled:k});return(0,a.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,a.jsx)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:(0,a.jsx)("div",{className:"min-w-0 space-y-1.5",children:(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,a.jsx)(l.Badge,{variant:d.BACKEND_BADGE_VARIANTS[c],children:d.BACKEND_PROVIDER_LABELS[c]}),L&&(0,a.jsx)(l.Badge,{variant:"gray",className:"font-normal",children:"Recommended"}),p&&(0,a.jsx)(l.Badge,{variant:"amber",children:"MAIN"}),(0,a.jsx)(m,{status:h,detail:x??null,firstExpiredAt:f??null,lastSuccessAt:g??null,notificationCount:v??0}),"settings"===u&&R&&(0,a.jsx)("a",{href:"#execution-mode",className:"inline-flex",children:(0,a.jsx)(l.Badge,{variant:"red",className:"cursor-pointer",title:"Allow mode is on for this backend — click to jump to the Execution Mode card",children:"Allow"})}),"settings"===u&&(0,a.jsx)(l.Badge,{variant:y?"green":"gray",children:y?"Enabled":"Disabled"})]})})}),(0,a.jsxs)("div",{className:"mt-4 space-y-3 border-t border-border pt-4",children:[T?(0,a.jsx)(b,{backendId:c,cliInstalled:k,compact:!0,onInstalled:()=>{P?.()}}):(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[(0,a.jsx)(t.CheckCircle2,{className:"h-4 w-4"}),(0,a.jsx)("span",{children:"CLI installed"})]}),(0,a.jsxs)("div",{className:(0,o.cn)("flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",z&&"rounded-lg border border-primary/40 bg-primary/5 p-3"),children:[(0,a.jsx)("div",{className:"space-y-1",children:z?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{className:"text-sm font-semibold text-foreground",children:"Verify the CLI runs on this machine"}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Confirms the ",d.BACKEND_PROVIDER_LABELS[c]," CLI is on your"," ",(0,a.jsx)("code",{className:"rounded bg-muted px-1",children:"PATH"})," and responds to"," ",(0,a.jsx)("code",{className:"rounded bg-muted px-1",children:"--version"}),"."]})]}):(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:k?"Re-run this whenever you reinstall or update the CLI to confirm it still launches.":"Install the CLI first, then verify it runs."})}),(0,a.jsxs)(i.Button,{size:z?"default":"sm",variant:z?"default":"outline",disabled:!U,onClick:K,className:(0,o.cn)("gap-2",z&&"shrink-0 self-start ring-2 ring-primary/40 ring-offset-2 ring-offset-background sm:self-auto"),children:[M?.status==="checking"?(0,a.jsx)(r.Loader2,{className:(0,o.cn)("animate-spin",z?"h-4 w-4":"h-3.5 w-3.5")}):M?.status==="ok"?(0,a.jsx)(t.CheckCircle2,{className:(0,o.cn)("text-green-500",z?"h-4 w-4":"h-3.5 w-3.5")}):M?.status==="error"?(0,a.jsx)(n.XCircle,{className:(0,o.cn)("text-red-500",z?"h-4 w-4":"h-3.5 w-3.5")}):z?(0,a.jsx)(s.Terminal,{className:"h-4 w-4"}):null,M?.status==="checking"?"Checking…":"Verify install"]})]}),M?.status==="ok"&&M.version&&(0,a.jsxs)("p",{className:"text-xs text-green-700 dark:text-green-400",children:["CLI runs OK —"," ",(0,a.jsx)("code",{className:"rounded bg-muted px-1",children:M.version})]}),M?.status==="error"&&M.error&&(0,a.jsx)("p",{className:"text-xs text-red-600 dark:text-red-400",children:M.error}),V&&(0,a.jsxs)("p",{className:"text-xs text-muted-foreground",children:["You can install the CLI and verify it later from"," ",(0,a.jsx)("code",{className:"rounded bg-muted px-1",children:"/settings/models"}),"."]})]}),D&&(0,a.jsx)("div",{className:"mt-4 border-t border-border pt-4",children:D()}),"settings"===u&&(0,a.jsx)("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-2 border-t border-border pt-4",children:(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[O&&(0,a.jsx)(i.Button,{size:"sm",variant:y?"outline":"default",onClick:O,disabled:_,children:y?"Disable backend":"Enable backend"}),B&&(0,a.jsxs)(i.Button,{size:"sm",variant:w?"default":"outline",onClick:B,disabled:!S||!y||_,title:S?void 0:"Web search is not supported for this backend.",children:["Web search: ",w?"on":"off"]})]})})]})}],17975)},16995,e=>{"use strict";var a=e.i(54710),t=e.i(59546),r=e.i(76610),s=e.i(72740),n=e.i(75750),l=e.i(34416),i=e.i(48467),o=e.i(20014),d=e.i(8652),c=e.i(10427),u=e.i(65268),m=e.i(76176),p=e.i(57415),h=e.i(14260),x=e.i(95486);let f=e=>["backend-api-key",e];e.i(18446);var g=e.i(28619);function v(e,a){switch((0,g.defaultApiKeyProvider)(e)){case"anthropic":return(0,g.isPlausibleAnthropicApiKey)(a);case"openai":return(0,g.isPlausibleOpenAiApiKey)(a);case"google":return(0,g.isPlausibleGeminiApiKey)(a);default:return!1}}function k(e){switch((0,g.defaultApiKeyProvider)(e)){case"anthropic":return"Anthropic key — starts with `sk-ant-…`.";case"openai":return"OpenAI key — starts with `sk-…` (not `sk-ant-…`).";case"google":return"Google API key — starts with `AIza…`, 39 chars total.";default:return"API key"}}let y={anthropic:"Anthropic API key",bedrock:"Amazon Bedrock",vertex:"Google Vertex AI",foundry:"Microsoft Foundry",openai:"OpenAI API key","azure-openai":"Azure OpenAI",google:"Google API key","gemini-vertex":"Google Vertex AI"},b={anthropic:"Direct Anthropic API key (`sk-ant-…`). Stored in the OS keychain and mirrored to `ANTHROPIC_API_KEY`.",bedrock:"Anthropic models on Amazon Bedrock. Sets `CLAUDE_CODE_USE_BEDROCK=1` plus AWS credentials. Required: `AWS_REGION`.",vertex:"Anthropic models on Google Vertex AI. Sets `CLAUDE_CODE_USE_VERTEX=1` plus GCP project / region. Auth via Application Default Credentials or a service-account key file.",foundry:"Anthropic models on Microsoft Foundry. Sets `CLAUDE_CODE_USE_FOUNDRY=1` plus the Foundry resource (or full base URL). API key optional — falls back to Azure DefaultAzureCredential (`az login`).",openai:"OpenAI API key (`sk-…`). Stored in the keychain and mirrored to `OPENAI_API_KEY`.","azure-openai":"Codex CLI on Azure OpenAI. Daemon writes a managed `config.toml` to `<dataDir>/codex-home/` and points `CODEX_HOME` there — your personal `~/.codex/` is untouched. Sets `AZURE_OPENAI_API_KEY`. **Important:** the daemon spawns codex with `--model <id>` from the model registry, which Codex treats as the deployment name on Azure. Name your Azure deployments to match the model IDs shown on the /settings/models page (e.g. `gpt-5-codex`).",google:"Direct Gemini API key (`AIza…`). Mirrored to `GEMINI_API_KEY` + `GOOGLE_API_KEY`.","gemini-vertex":"Gemini on Google Vertex AI. Sets `GOOGLE_GENAI_USE_VERTEXAI=true` plus GCP project / location. Auth via ADC, a service-account key file, or a Vertex API key."};function j(e){let a=g.RECOMMENDED_PINNED_MODELS_BY_PROVIDER[e];return{defaultOpusModel:a.defaultOpusModel,defaultSonnetModel:a.defaultSonnetModel,defaultHaikuModel:a.defaultHaikuModel}}let C={useMantle:!1,mantleBaseUrl:"",skipMantleAuth:!1};function A(e){switch(e){case"anthropic":return{provider:"anthropic",apiKey:""};case"bedrock":return N("access_key");case"vertex":return{provider:"vertex",projectId:"",region:"",credentialsFile:"",vertexBaseUrl:"",...j("vertex")};case"foundry":return{provider:"foundry",endpointKind:"resource",resource:"",baseUrl:"",apiKey:"",...j("foundry")};case"openai":return{provider:"openai",apiKey:""};case"azure-openai":return{provider:"azure-openai",resource:"",apiKey:"",apiVersion:g.DEFAULT_AZURE_OPENAI_API_VERSION,deploymentName:""};case"google":return{provider:"google",apiKey:""};case"gemini-vertex":return I("adc")}}function N(e){let a={awsRegion:"",bedrockBaseUrl:"",...C,...j("bedrock")};switch(e){case"access_key":return{provider:"bedrock",authMode:"access_key",awsAccessKeyId:"",awsSecretAccessKey:"",awsSessionToken:"",...a};case"bearer_token":return{provider:"bedrock",authMode:"bearer_token",awsBearerTokenBedrock:"",...a};case"profile":return{provider:"bedrock",authMode:"profile",awsProfile:"",...a}}}function I(e){let a={projectId:"",location:""};switch(e){case"adc":return{provider:"gemini-vertex",authMode:"adc",...a};case"service_account":return{provider:"gemini-vertex",authMode:"service_account",credentialsFile:"",...a};case"api_key":return{provider:"gemini-vertex",authMode:"api_key",apiKey:"",...a}}}function w(e){let a={};return e.defaultOpusModel.trim()&&(a.defaultOpusModel=e.defaultOpusModel.trim()),e.defaultSonnetModel.trim()&&(a.defaultSonnetModel=e.defaultSonnetModel.trim()),e.defaultHaikuModel.trim()&&(a.defaultHaikuModel=e.defaultHaikuModel.trim()),a}function S(e){switch(e.provider){case"anthropic":if(!e.apiKey.trim())return null;return{provider:"anthropic",apiKey:e.apiKey.trim()};case"bedrock":{let a=e.awsRegion.trim();if(!a)return null;let t=e.bedrockBaseUrl.trim(),r=t?{bedrockBaseUrl:t}:{},s={...e.useMantle?{useMantle:!0}:{},...e.mantleBaseUrl.trim()?{mantleBaseUrl:e.mantleBaseUrl.trim()}:{},...e.skipMantleAuth?{skipMantleAuth:!0}:{}},n=w(e);switch(e.authMode){case"access_key":if(!e.awsAccessKeyId.trim()||!e.awsSecretAccessKey.trim())break;return{provider:"bedrock",authMode:"access_key",awsAccessKeyId:e.awsAccessKeyId.trim(),awsSecretAccessKey:e.awsSecretAccessKey.trim(),...e.awsSessionToken.trim()?{awsSessionToken:e.awsSessionToken.trim()}:{},awsRegion:a,...r,...s,...n};case"bearer_token":if(!e.awsBearerTokenBedrock.trim())break;return{provider:"bedrock",authMode:"bearer_token",awsBearerTokenBedrock:e.awsBearerTokenBedrock.trim(),awsRegion:a,...r,...s,...n};case"profile":if(!e.awsProfile.trim())break;return{provider:"bedrock",authMode:"profile",awsProfile:e.awsProfile.trim(),awsRegion:a,...r,...s,...n}}return null}case"vertex":if(!e.projectId.trim()||!e.region.trim())return null;return{provider:"vertex",projectId:e.projectId.trim(),region:e.region.trim(),...e.credentialsFile.trim()?{credentialsFile:e.credentialsFile.trim()}:{},...e.vertexBaseUrl.trim()?{vertexBaseUrl:e.vertexBaseUrl.trim()}:{},...w(e)};case"foundry":{let a=e.resource.trim(),t=e.baseUrl.trim(),r=e.apiKey.trim(),s=w(e);if("resource"===e.endpointKind){if(!a)return null;return{provider:"foundry",resource:a,...r?{apiKey:r}:{},...s}}if(!t)return null;return{provider:"foundry",baseUrl:t,...r?{apiKey:r}:{},...s}}case"openai":if(!e.apiKey.trim())return null;return{provider:"openai",apiKey:e.apiKey.trim()};case"azure-openai":{let a=e.resource.trim(),t=e.apiKey.trim();if(!a||!t)return null;return{provider:"azure-openai",resource:a,apiKey:t,...e.apiVersion.trim()?{apiVersion:e.apiVersion.trim()}:{},...e.deploymentName.trim()?{deploymentName:e.deploymentName.trim()}:{}}}case"google":if(!e.apiKey.trim())return null;return{provider:"google",apiKey:e.apiKey.trim()};case"gemini-vertex":{let a=e.projectId.trim(),t=e.location.trim();if(!a||!t)return null;switch(e.authMode){case"adc":return{provider:"gemini-vertex",authMode:"adc",projectId:a,location:t};case"service_account":if(!e.credentialsFile.trim())break;return{provider:"gemini-vertex",authMode:"service_account",projectId:a,location:t,credentialsFile:e.credentialsFile.trim()};case"api_key":if(!e.apiKey.trim())break;return{provider:"gemini-vertex",authMode:"api_key",projectId:a,location:t,apiKey:e.apiKey.trim()}}return null}}}function E(e){return"anthropic"===e||"openai"===e||"google"===e}function _({backendId:e,draft:t,onChange:r,disabled:s}){switch(t.provider){case"anthropic":case"openai":case"google":return(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)(d.Input,{type:"password",autoComplete:"off",spellCheck:!1,placeholder:k(e),value:t.apiKey,onChange:e=>r({...t,apiKey:e.target.value}),disabled:s,"aria-label":`${y[t.provider]} API key`}),(0,a.jsx)("p",{className:"text-[11px] text-muted-foreground",children:k(e)})]});case"bedrock":return(0,a.jsx)(M,{draft:t,onChange:r,disabled:s});case"vertex":return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,a.jsx)(O,{label:"GCP project id",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"my-gcp-project",value:t.projectId,onChange:e=>r({...t,projectId:e.target.value}),disabled:s})}),(0,a.jsx)(O,{label:"Vertex region",hint:"`global`, a multi-region (`us`, `eu`), or a region (e.g. `us-east5`).",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"us-east5",value:t.region,onChange:e=>r({...t,region:e.target.value}),disabled:s})})]}),(0,a.jsx)(O,{label:"Service account key file path (optional)",hint:"Absolute path to a service-account JSON file. Leave blank to use Application Default Credentials (`gcloud auth application-default login`).",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"/Users/me/keys/sa.json",value:t.credentialsFile,onChange:e=>r({...t,credentialsFile:e.target.value}),disabled:s})}),(0,a.jsx)(O,{label:"Vertex base URL (optional)",hint:"Override for custom endpoints / gateways.",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"https://aiplatform.googleapis.com",value:t.vertexBaseUrl,onChange:e=>r({...t,vertexBaseUrl:e.target.value}),disabled:s})}),(0,a.jsx)(P,{draft:t,onChange:r,disabled:s})]});case"foundry":return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-xs font-medium text-foreground",children:"Endpoint"}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)(c.Select,{value:t.endpointKind,onValueChange:e=>r({...t,endpointKind:e}),children:[(0,a.jsx)(c.SelectTrigger,{className:"w-44",children:(0,a.jsx)(c.SelectValue,{})}),(0,a.jsxs)(c.SelectContent,{children:[(0,a.jsx)(c.SelectItem,{value:"resource",children:"Resource name"}),(0,a.jsx)(c.SelectItem,{value:"base_url",children:"Full base URL"})]})]}),"resource"===t.endpointKind?(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"my-foundry-resource",value:t.resource,onChange:e=>r({...t,resource:e.target.value}),disabled:s}):(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"https://my-foundry-resource.services.ai.azure.com/anthropic",value:t.baseUrl,onChange:e=>r({...t,baseUrl:e.target.value}),disabled:s})]}),(0,a.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Resource name is the simpler form; base URL is for custom gateways. Set exactly one."})]}),(0,a.jsx)(O,{label:"Foundry API key (optional)",hint:"Leave blank to use Azure DefaultAzureCredential (`az login`, managed identity, etc.).",children:(0,a.jsx)(d.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:t.apiKey,onChange:e=>r({...t,apiKey:e.target.value}),disabled:s})}),(0,a.jsx)(P,{draft:t,onChange:r,disabled:s})]});case"azure-openai":return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"rounded-md border border-amber-500/40 bg-amber-500/5 p-2 text-[11px] text-amber-700 dark:text-amber-400",children:[(0,a.jsx)("strong",{children:"Deployment-name alignment required."})," The daemon spawns codex with ",(0,a.jsx)("code",{children:"--model <id>"})," from the process-routing registry, which Codex treats as the Azure deployment name. Name your Azure deployments to match the model IDs configured on the ",(0,a.jsx)("code",{children:"/settings/models"})," ","page (e.g. ",(0,a.jsx)("code",{children:"gpt-5-codex"}),"). Renaming the deployment in Azure is the supported fix."]}),(0,a.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,a.jsx)(O,{label:"Azure resource name",hint:"The Foundry/Azure-OpenAI resource name (subdomain of `*.openai.azure.com`).",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"my-azure-resource",value:t.resource,onChange:e=>r({...t,resource:e.target.value}),disabled:s})}),(0,a.jsx)(O,{label:"Azure OpenAI API key",children:(0,a.jsx)(d.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:t.apiKey,onChange:e=>r({...t,apiKey:e.target.value}),disabled:s})}),(0,a.jsx)(O,{label:"API version",hint:"Azure OpenAI API version (Codex uses the `responses` wire API).",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,value:t.apiVersion,onChange:e=>r({...t,apiVersion:e.target.value}),disabled:s})}),(0,a.jsx)(O,{label:"Default deployment name (optional)",hint:"Falls back when the daemon does not pass --model. Most invocations override this via --model from the routing registry — see warning above.",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"gpt-5-codex",value:t.deploymentName,onChange:e=>r({...t,deploymentName:e.target.value}),disabled:s})})]})]});case"gemini-vertex":return(0,a.jsx)(K,{draft:t,onChange:r,disabled:s})}}function M({draft:e,onChange:t,disabled:r}){return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-xs font-medium text-foreground",children:"AWS authentication"}),(0,a.jsxs)(c.Select,{value:e.authMode,onValueChange:a=>{a!==e.authMode&&t(N(a))},children:[(0,a.jsx)(c.SelectTrigger,{className:"w-full",children:(0,a.jsx)(c.SelectValue,{})}),(0,a.jsxs)(c.SelectContent,{children:[(0,a.jsx)(c.SelectItem,{value:"access_key",children:"Access key id + secret"}),(0,a.jsx)(c.SelectItem,{value:"bearer_token",children:"Bedrock API key (`AWS_BEARER_TOKEN_BEDROCK`)"}),(0,a.jsx)(c.SelectItem,{value:"profile",children:"AWS profile (`~/.aws/config`)"})]})]})]}),"access_key"===e.authMode&&(0,a.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,a.jsx)(O,{label:"AWS access key id",hint:"`AKIA…` for IAM users; `ASIA…` for STS / Identity Center.",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"AKIAIOSFODNN7EXAMPLE",value:e.awsAccessKeyId,onChange:a=>t({...e,awsAccessKeyId:a.target.value}),disabled:r})}),(0,a.jsx)(O,{label:"AWS secret access key",children:(0,a.jsx)(d.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:e.awsSecretAccessKey,onChange:a=>t({...e,awsSecretAccessKey:a.target.value}),disabled:r})}),(0,a.jsx)(O,{label:"AWS session token (optional)",hint:"Required for STS / Identity Center temporary credentials.",children:(0,a.jsx)(d.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:e.awsSessionToken,onChange:a=>t({...e,awsSessionToken:a.target.value}),disabled:r})})]}),"bearer_token"===e.authMode&&(0,a.jsx)(O,{label:"Bedrock API key",hint:"See AWS docs: 'Bedrock API keys' for how to issue one.",children:(0,a.jsx)(d.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:e.awsBearerTokenBedrock,onChange:a=>t({...e,awsBearerTokenBedrock:a.target.value}),disabled:r})}),"profile"===e.authMode&&(0,a.jsx)(O,{label:"AWS profile name",hint:"Resolves credentials from `~/.aws/config` and `~/.aws/credentials`.",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"default",value:e.awsProfile,onChange:a=>t({...e,awsProfile:a.target.value}),disabled:r})}),(0,a.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,a.jsx)(O,{label:"AWS region",hint:"Required by Claude Code regardless of auth mode.",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"us-east-1",value:e.awsRegion,onChange:a=>t({...e,awsRegion:a.target.value}),disabled:r})}),(0,a.jsx)(O,{label:"Bedrock base URL (optional)",hint:"Override for VPC endpoints / gateways.",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"https://bedrock-runtime.us-east-1.amazonaws.com",value:e.bedrockBaseUrl,onChange:a=>t({...e,bedrockBaseUrl:a.target.value}),disabled:r})})]}),(0,a.jsxs)("details",{className:"rounded-md border border-border p-2 text-xs",children:[(0,a.jsx)("summary",{className:"cursor-pointer font-medium text-foreground",children:"Mantle endpoint (advanced)"}),(0,a.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,a.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Mantle is an alternate Bedrock endpoint that uses the native Anthropic API shape. Setting this alongside the standard Invoke API lets Claude Code route per model. Most operators should leave this off."}),(0,a.jsxs)("label",{className:"flex items-center gap-2 text-xs text-foreground",children:[(0,a.jsx)("input",{type:"checkbox",checked:e.useMantle,onChange:a=>t({...e,useMantle:a.target.checked}),disabled:r}),"Enable Mantle endpoint (`CLAUDE_CODE_USE_MANTLE=1`)"]}),(0,a.jsx)(O,{label:"Mantle base URL (optional)",hint:"Override the default Mantle endpoint URL.",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,value:e.mantleBaseUrl,onChange:a=>t({...e,mantleBaseUrl:a.target.value}),disabled:r||!e.useMantle})}),(0,a.jsxs)("label",{className:"flex items-center gap-2 text-xs text-foreground",children:[(0,a.jsx)("input",{type:"checkbox",checked:e.skipMantleAuth,onChange:a=>t({...e,skipMantleAuth:a.target.checked}),disabled:r||!e.useMantle}),"Skip client-side auth (gateway injects credentials)"]})]})]}),(0,a.jsx)(P,{draft:e,onChange:t,disabled:r})]})}function P({draft:e,onChange:t,disabled:r}){let s=a=>{t({...e,...a})};return(0,a.jsxs)("details",{className:"rounded-md border border-border p-2 text-xs",children:[(0,a.jsx)("summary",{className:"cursor-pointer font-medium text-foreground",children:"Pinned model IDs (recommended)"}),(0,a.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,a.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Pinning prevents the `sonnet`/`opus`/`haiku` aliases from resolving to a model not yet enabled in your cloud account. Pre-filled with Anthropic's recommended defaults — edit only if your account is on a different model tier."}),(0,a.jsx)(O,{label:"Opus model ID (`ANTHROPIC_DEFAULT_OPUS_MODEL`)",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,value:e.defaultOpusModel,onChange:e=>s({defaultOpusModel:e.target.value}),disabled:r})}),(0,a.jsx)(O,{label:"Sonnet model ID (`ANTHROPIC_DEFAULT_SONNET_MODEL`)",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,value:e.defaultSonnetModel,onChange:e=>s({defaultSonnetModel:e.target.value}),disabled:r})}),(0,a.jsx)(O,{label:"Haiku model ID (`ANTHROPIC_DEFAULT_HAIKU_MODEL`)",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,value:e.defaultHaikuModel,onChange:e=>s({defaultHaikuModel:e.target.value}),disabled:r})})]})]})}function K({draft:e,onChange:t,disabled:r}){return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,a.jsx)(O,{label:"GCP project id",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"my-gcp-project",value:e.projectId,onChange:a=>t({...e,projectId:a.target.value}),disabled:r})}),(0,a.jsx)(O,{label:"GCP location",hint:"e.g. `us-central1`",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"us-central1",value:e.location,onChange:a=>t({...e,location:a.target.value}),disabled:r})})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-xs font-medium text-foreground",children:"Authentication"}),(0,a.jsxs)(c.Select,{value:e.authMode,onValueChange:a=>{a!==e.authMode&&t(I(a))},children:[(0,a.jsx)(c.SelectTrigger,{className:"w-full",children:(0,a.jsx)(c.SelectValue,{})}),(0,a.jsxs)(c.SelectContent,{children:[(0,a.jsx)(c.SelectItem,{value:"adc",children:"Application Default Credentials (`gcloud auth`)"}),(0,a.jsx)(c.SelectItem,{value:"service_account",children:"Service-account JSON file path"}),(0,a.jsx)(c.SelectItem,{value:"api_key",children:"Vertex API key"})]})]})]}),"service_account"===e.authMode&&(0,a.jsx)(O,{label:"Service account key file path",children:(0,a.jsx)(d.Input,{autoComplete:"off",spellCheck:!1,placeholder:"/Users/me/keys/sa.json",value:e.credentialsFile,onChange:a=>t({...e,credentialsFile:a.target.value}),disabled:r})}),"api_key"===e.authMode&&(0,a.jsx)(O,{label:"Vertex API key",hint:"`AIza…`. Distinct from a direct Gemini API key — it goes to GOOGLE_API_KEY only and routes through Vertex.",children:(0,a.jsx)(d.Input,{type:"password",autoComplete:"off",spellCheck:!1,value:e.apiKey,onChange:a=>t({...e,apiKey:a.target.value}),disabled:r})})]})}function O({label:e,hint:t,children:r}){return(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-xs font-medium text-foreground",children:e}),r,t&&(0,a.jsx)("p",{className:"text-[11px] text-muted-foreground",children:t})]})}e.s(["BackendApiKeyPanel",0,function({backendId:e,onToast:d}){let j,C,{data:N,isLoading:I,error:w}=(0,h.useQuery)({queryKey:f(e),queryFn:()=>u.api.get(`/backends/${e}/api-key`),staleTime:3e4}),M=(j=(0,x.useQueryClient)(),(0,p.useMutation)({mutationFn:a=>u.api.put(`/backends/${e}/api-key`,a),onSuccess:()=>{j.invalidateQueries({queryKey:f(e)}),j.invalidateQueries({queryKey:["backends"]})}})),P=(C=(0,x.useQueryClient)(),(0,p.useMutation)({mutationFn:()=>u.api.delete(`/backends/${e}/api-key`),onSuccess:()=>{C.invalidateQueries({queryKey:f(e)}),C.invalidateQueries({queryKey:["backends"]})}})),K=(0,l.useMemo)(()=>N?.availableProviders??function(e){switch(e){case"claude":return["anthropic","bedrock","vertex","foundry"];case"codex":return["openai","azure-openai"];case"gemini":return["google","gemini-vertex"]}}(e),[N?.availableProviders,e]),O=K.length>1,[B,D]=(0,l.useState)(null),R=B??N?.provider??K[0],[L,T]=(0,l.useState)(()=>A(R)),[U,z]=(0,l.useState)(null),V=N?.source??"none",F=N?.configured??!1,$=N?.provider??null,G=N?.envVarNames??function(e){switch(e){case"claude":return["ANTHROPIC_API_KEY"];case"codex":return["OPENAI_API_KEY"];case"gemini":return["GEMINI_API_KEY","GOOGLE_API_KEY"]}}(e),H=M.isPending,Y=P.isPending,q=async()=>{let a;if(z(null),E(R)){let t="apiKey"in L?L.apiKey.trim():"";if(!v(e,t))return void z({kind:"error",message:k(e)});a={apiKey:t}}else{let e=S(L);if(!e)return void z({kind:"error",message:"Fill in all required fields for this provider."});a={config:e}}try{let t=await M.mutateAsync(a);T(A(R));let r=t.auth?.detail??null,s=t.provider?y[t.provider]:m.BACKEND_PROVIDER_LABELS[e];if(t.auth?.ok){let e=r?`Saved (${s}) — ${r}`:`Saved (${s}).`;z({kind:"success",message:e}),d?.("success",`${s} configured.`)}else{let e=r?`Saved (${s}), but the provider rejected it — ${r}`:`Saved (${s}), but the provider probe did not succeed.`;z({kind:"error",message:e}),d?.("error",e)}}catch(a){let e=a instanceof u.ApiError||a instanceof Error?a.message:"Failed to save provider config";z({kind:"error",message:e}),d?.("error",e)}},W=async()=>{z(null);try{let a=await P.mutateAsync(),t="shell"===a.source?"Cleared from keychain — falling back to the shell-set env var.":"Cleared from keychain — backend will use CLI / OAuth auth.";z({kind:"success",message:t}),d?.("success",`${m.BACKEND_PROVIDER_LABELS[e]} provider config cleared.`)}catch(a){let e=a instanceof u.ApiError||a instanceof Error?a.message:"Failed to clear provider config";z({kind:"error",message:e}),d?.("error",e)}},Q=E(R)?function(e){if(e.saving)return!1;let a=e.draftValue.trim();return!!a&&v(e.backendId,a)}({backendId:e,draftValue:"apiKey"in L?L.apiKey:"",saving:H}):function(e){if(e.saving)return!1;let a=S(e.draft);return!!a&&null===(0,g.validateBackendApiKeyConfigFormat)(e.backendId,a)}({backendId:e,draft:L,saving:H});return(0,a.jsxs)("div",{className:"space-y-3 rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)(r.KeyRound,{className:"h-4 w-4 text-muted-foreground"}),(0,a.jsxs)("h3",{className:"text-sm font-semibold text-foreground",children:["Provider auth",(0,a.jsx)("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:"(optional)"})]}),F&&(0,a.jsx)(i.Badge,{variant:"keychain"===V?"green":"gray",children:"keychain"===V?`Saved${$?` (${y[$]})`:""}`:"From shell"})]}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:I?"Loading…":w?"Could not read provider config from the daemon.":function(e){switch(e){case"keychain":return"API key configured (stored in OS keychain).";case"shell":return"Using API key from shell environment. Save a key here to override.";case"none":return"No API key configured. Falling back to CLI login / OAuth."}}(V)}),(0,a.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Stored in the OS keychain. Leave blank to skip — the daemon falls back to local CLI / OAuth auth or your shell-set env vars."})]}),O&&(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("label",{htmlFor:`${e}-provider`,className:"text-xs font-medium text-foreground",children:"Provider"}),(0,a.jsxs)(c.Select,{value:R,onValueChange:e=>{e===R||K.includes(e)&&(D(e),T(A(e)),z(null))},children:[(0,a.jsx)(c.SelectTrigger,{id:`${e}-provider`,className:"w-full",children:(0,a.jsx)(c.SelectValue,{})}),(0,a.jsx)(c.SelectContent,{children:K.map(e=>(0,a.jsx)(c.SelectItem,{value:e,children:y[e]},e))})]}),(0,a.jsx)("p",{className:"text-[11px] text-muted-foreground",children:b[R]})]}),(0,a.jsx)(_,{backendId:e,draft:L,onChange:T,disabled:H||Y}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)(o.Button,{size:"sm",onClick:()=>{q()},disabled:!Q,className:"gap-2",children:[H?(0,a.jsx)(s.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):null,F&&"keychain"===V?"Update provider":"Save provider"]}),"keychain"===V&&(0,a.jsxs)(o.Button,{size:"sm",variant:"outline",onClick:()=>{W()},disabled:H||Y,className:"gap-2",children:[Y?(0,a.jsx)(s.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):null,"Clear"]}),!O&&(0,a.jsxs)("span",{className:"text-[11px] text-muted-foreground",children:["Sets ",(0,a.jsx)("code",{className:"rounded bg-muted px-1",children:G.join(" / ")})]})]}),U&&(0,a.jsxs)("div",{role:"status",className:`flex items-start gap-2 rounded-md border p-2 text-xs ${"success"===U.kind?"border-green-500/30 bg-green-500/5 text-green-700 dark:text-green-400":"border-red-500/30 bg-red-500/5 text-red-600 dark:text-red-400"}`,children:["success"===U.kind?(0,a.jsx)(t.CheckCircle2,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}):(0,a.jsx)(n.XCircle,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,a.jsx)("span",{children:U.message})]})]})}],16995)},85462,e=>{"use strict";var a=e.i(54710),t=e.i(79634);e.s(["SubscriptionAuthWarning",0,function(){return(0,a.jsxs)(t.Alert,{variant:"warning",children:[(0,a.jsx)("p",{className:"font-semibold",children:"API key recommended — subscription auth is not supported by all providers"}),(0,a.jsxs)("p",{className:"mt-1 leading-relaxed",children:["You can skip API key setup and the daemon will fall back to each backend’s local CLI login (subscription auth). Most providers do not officially support running automated agents on a subscription plan; ",(0,a.jsx)("strong",{children:"Anthropic currently prohibits"})," ","using the Claude Agent SDK with a Claude Pro / Max subscription. Provider policies change often — to stay clear of the gray area, register a paid API key here."]})]})}])},78406,e=>{"use strict";let a=(0,e.i(77379).default)("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]);e.s(["Unlock",0,a],78406)},36598,e=>{"use strict";function a(e,a){if(null===e){if(null===a.claude||null===a.codex||null===a.gemini)return null;let e=function(e){let a=["claude","codex","gemini"],t=0,r=0;for(let s of a)"safe"===e[s]?t++:"allow"===e[s]&&r++;if(t>r)return"safe";if(r>t)return"allow";for(let t of a)if(null!==e[t])return e[t];return"safe"}(a),t={};for(let r of["claude","codex","gemini"]){let s=a[r];null!==s&&s!==e&&(t[r]=s)}let r={mode:e};return Object.keys(t).length>0&&(r.perBackend=t),r}let t={};for(let r of["claude","codex","gemini"]){let s=a[r];null!==s&&s!==e&&(t[r]=s)}let r={mode:e};return Object.keys(t).length>0&&(r.perBackend=t),r}e.s(["EMPTY_OVERRIDES",0,{claude:null,codex:null,gemini:null},"buildSetupModePayload",0,a,"canApply",0,function(e,t){return null!==a(e,t)},"hasDivergentOverride",0,function(e,a){return["claude","codex","gemini"].some(t=>null!==a[t]&&a[t]!==e)},"internalToUi",0,function(e){return"strict"===e?"safe":"allow"}])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13707,e=>{"use strict";var t=e.i(54710),r=e.i(34416),n=e.i(85565),a=e.i(90816),s=e.i(9413),l=e.i(22353),o=e.i(88248),i=e.i(75649),c=e.i(18731),d=e.i(27069),u=e.i(91967),p="ScrollArea",[h,m]=(0,s.createContextScope)(p),[f,g]=h(p),v=r.forwardRef((e,a)=>{let{__scopeScrollArea:s,type:o="hover",dir:c,scrollHideDelay:d=600,...u}=e,[p,h]=r.useState(null),[m,g]=r.useState(null),[v,x]=r.useState(null),[b,w]=r.useState(null),[y,S]=r.useState(null),[j,C]=r.useState(0),[E,k]=r.useState(0),[N,R]=r.useState(!1),[T,I]=r.useState(!1),L=(0,l.useComposedRefs)(a,e=>h(e)),P=(0,i.useDirection)(c);return(0,t.jsx)(f,{scope:s,type:o,dir:P,scrollHideDelay:d,scrollArea:p,viewport:m,onViewportChange:g,content:v,onContentChange:x,scrollbarX:b,onScrollbarXChange:w,scrollbarXEnabled:N,onScrollbarXEnabledChange:R,scrollbarY:y,onScrollbarYChange:S,scrollbarYEnabled:T,onScrollbarYEnabledChange:I,onCornerWidthChange:C,onCornerHeightChange:k,children:(0,t.jsx)(n.Primitive.div,{dir:P,...u,ref:L,style:{position:"relative","--radix-scroll-area-corner-width":j+"px","--radix-scroll-area-corner-height":E+"px",...e.style}})})});v.displayName=p;var x="ScrollAreaViewport",b=r.forwardRef((e,a)=>{let{__scopeScrollArea:s,children:o,nonce:i,...c}=e,d=g(x,s),u=r.useRef(null),p=(0,l.useComposedRefs)(a,u,d.onViewportChange);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),(0,t.jsx)(n.Primitive.div,{"data-radix-scroll-area-viewport":"",...c,ref:p,style:{overflowX:d.scrollbarXEnabled?"scroll":"hidden",overflowY:d.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:d.onContentChange,style:{minWidth:"100%",display:"table"},children:o})})]})});b.displayName=x;var w="ScrollAreaScrollbar",y=r.forwardRef((e,n)=>{let{forceMount:a,...s}=e,l=g(w,e.__scopeScrollArea),{onScrollbarXEnabledChange:o,onScrollbarYEnabledChange:i}=l,c="horizontal"===e.orientation;return r.useEffect(()=>(c?o(!0):i(!0),()=>{c?o(!1):i(!1)}),[c,o,i]),"hover"===l.type?(0,t.jsx)(S,{...s,ref:n,forceMount:a}):"scroll"===l.type?(0,t.jsx)(j,{...s,ref:n,forceMount:a}):"auto"===l.type?(0,t.jsx)(C,{...s,ref:n,forceMount:a}):"always"===l.type?(0,t.jsx)(E,{...s,ref:n}):null});y.displayName=w;var S=r.forwardRef((e,n)=>{let{forceMount:s,...l}=e,o=g(w,e.__scopeScrollArea),[i,c]=r.useState(!1);return r.useEffect(()=>{let e=o.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),c(!0)},n=()=>{t=window.setTimeout(()=>c(!1),o.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[o.scrollArea,o.scrollHideDelay]),(0,t.jsx)(a.Presence,{present:s||i,children:(0,t.jsx)(C,{"data-state":i?"visible":"hidden",...l,ref:n})})}),j=r.forwardRef((e,n)=>{var s;let{forceMount:l,...o}=e,i=g(w,e.__scopeScrollArea),c="horizontal"===e.orientation,d=U(()=>h("SCROLL_END"),100),[p,h]=(s={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},r.useReducer((e,t)=>s[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===p){let e=window.setTimeout(()=>h("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[p,i.scrollHideDelay,h]),r.useEffect(()=>{let e=i.viewport,t=c?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(h("SCROLL"),d()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[i.viewport,c,h,d]),(0,t.jsx)(a.Presence,{present:l||"hidden"!==p,children:(0,t.jsx)(E,{"data-state":"hidden"===p?"hidden":"visible",...o,ref:n,onPointerEnter:(0,u.composeEventHandlers)(e.onPointerEnter,()=>h("POINTER_ENTER")),onPointerLeave:(0,u.composeEventHandlers)(e.onPointerLeave,()=>h("POINTER_LEAVE"))})})}),C=r.forwardRef((e,n)=>{let s=g(w,e.__scopeScrollArea),{forceMount:l,...o}=e,[i,c]=r.useState(!1),d="horizontal"===e.orientation,u=U(()=>{if(s.viewport){let e=s.viewport.offsetWidth<s.viewport.scrollWidth,t=s.viewport.offsetHeight<s.viewport.scrollHeight;c(d?e:t)}},10);return q(s.viewport,u),q(s.content,u),(0,t.jsx)(a.Presence,{present:l||i,children:(0,t.jsx)(E,{"data-state":i?"visible":"hidden",...o,ref:n})})}),E=r.forwardRef((e,n)=>{let{orientation:a="vertical",...s}=e,l=g(w,e.__scopeScrollArea),o=r.useRef(null),i=r.useRef(0),[c,d]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=_(c.viewport,c.content),p={...s,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:e=>o.current=e,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:e=>i.current=e};function h(e,t){return function(e,t,r,n="ltr"){let a=z(r),s=t||a/2,l=r.scrollbar.paddingStart+s,o=r.scrollbar.size-r.scrollbar.paddingEnd-(a-s),i=r.content-r.viewport;return F([l,o],"ltr"===n?[0,i]:[-1*i,0])(e)}(e,i.current,c,t)}return"horizontal"===a?(0,t.jsx)(k,{...p,ref:n,onThumbPositionChange:()=>{if(l.viewport&&o.current){let e=B(l.viewport.scrollLeft,c,l.dir);o.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollLeft=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollLeft=h(e,l.dir))}}):"vertical"===a?(0,t.jsx)(N,{...p,ref:n,onThumbPositionChange:()=>{if(l.viewport&&o.current){let e=B(l.viewport.scrollTop,c);o.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollTop=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollTop=h(e))}}):null}),k=r.forwardRef((e,n)=>{let{sizes:a,onSizesChange:s,...o}=e,i=g(w,e.__scopeScrollArea),[c,d]=r.useState(),u=r.useRef(null),p=(0,l.useComposedRefs)(n,u,i.onScrollbarXChange);return r.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,t.jsx)(I,{"data-orientation":"horizontal",...o,ref:p,sizes:a,style:{bottom:0,left:"rtl"===i.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===i.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":z(a)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(i.viewport){var n,a;let s=i.viewport.scrollLeft+t.deltaX;e.onWheelScroll(s),n=s,a=r,n>0&&n<a&&t.preventDefault()}},onResize:()=>{u.current&&i.viewport&&c&&s({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:$(c.paddingLeft),paddingEnd:$(c.paddingRight)}})}})}),N=r.forwardRef((e,n)=>{let{sizes:a,onSizesChange:s,...o}=e,i=g(w,e.__scopeScrollArea),[c,d]=r.useState(),u=r.useRef(null),p=(0,l.useComposedRefs)(n,u,i.onScrollbarYChange);return r.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,t.jsx)(I,{"data-orientation":"vertical",...o,ref:p,sizes:a,style:{top:0,right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":z(a)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(i.viewport){var n,a;let s=i.viewport.scrollTop+t.deltaY;e.onWheelScroll(s),n=s,a=r,n>0&&n<a&&t.preventDefault()}},onResize:()=>{u.current&&i.viewport&&c&&s({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:$(c.paddingTop),paddingEnd:$(c.paddingBottom)}})}})}),[R,T]=h(w),I=r.forwardRef((e,a)=>{let{__scopeScrollArea:s,sizes:i,hasThumb:c,onThumbChange:d,onThumbPointerUp:p,onThumbPointerDown:h,onThumbPositionChange:m,onDragScroll:f,onWheelScroll:v,onResize:x,...b}=e,y=g(w,s),[S,j]=r.useState(null),C=(0,l.useComposedRefs)(a,e=>j(e)),E=r.useRef(null),k=r.useRef(""),N=y.viewport,T=i.content-i.viewport,I=(0,o.useCallbackRef)(v),L=(0,o.useCallbackRef)(m),P=U(x,10);function D(e){E.current&&f({x:e.clientX-E.current.left,y:e.clientY-E.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;S?.contains(t)&&I(e,T)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[N,S,T,I]),r.useEffect(L,[i,L]),q(S,P),q(y.content,P),(0,t.jsx)(R,{scope:s,scrollbar:S,hasThumb:c,onThumbChange:(0,o.useCallbackRef)(d),onThumbPointerUp:(0,o.useCallbackRef)(p),onThumbPositionChange:L,onThumbPointerDown:(0,o.useCallbackRef)(h),children:(0,t.jsx)(n.Primitive.div,{...b,ref:C,style:{position:"absolute",...b.style},onPointerDown:(0,u.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),E.current=S.getBoundingClientRect(),k.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",y.viewport&&(y.viewport.style.scrollBehavior="auto"),D(e))}),onPointerMove:(0,u.composeEventHandlers)(e.onPointerMove,D),onPointerUp:(0,u.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=k.current,y.viewport&&(y.viewport.style.scrollBehavior=""),E.current=null})})})}),L="ScrollAreaThumb",P=r.forwardRef((e,r)=>{let{forceMount:n,...s}=e,l=T(L,e.__scopeScrollArea);return(0,t.jsx)(a.Presence,{present:n||l.hasThumb,children:(0,t.jsx)(D,{ref:r,...s})})}),D=r.forwardRef((e,a)=>{let{__scopeScrollArea:s,style:o,...i}=e,c=g(L,s),d=T(L,s),{onThumbPositionChange:p}=d,h=(0,l.useComposedRefs)(a,e=>d.onThumbChange(e)),m=r.useRef(void 0),f=U(()=>{m.current&&(m.current(),m.current=void 0)},100);return r.useEffect(()=>{let e=c.viewport;if(e){let t=()=>{f(),m.current||(m.current=H(e,p),p())};return p(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[c.viewport,f,p]),(0,t.jsx)(n.Primitive.div,{"data-state":d.hasThumb?"visible":"hidden",...i,ref:h,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...o},onPointerDownCapture:(0,u.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=e.clientY-t.top;d.onThumbPointerDown({x:r,y:n})}),onPointerUp:(0,u.composeEventHandlers)(e.onPointerUp,d.onThumbPointerUp)})});P.displayName=L;var M="ScrollAreaCorner",A=r.forwardRef((e,r)=>{let n=g(M,e.__scopeScrollArea),a=!!(n.scrollbarX&&n.scrollbarY);return"scroll"!==n.type&&a?(0,t.jsx)(O,{...e,ref:r}):null});A.displayName=M;var O=r.forwardRef((e,a)=>{let{__scopeScrollArea:s,...l}=e,o=g(M,s),[i,c]=r.useState(0),[d,u]=r.useState(0),p=!!(i&&d);return q(o.scrollbarX,()=>{let e=o.scrollbarX?.offsetHeight||0;o.onCornerHeightChange(e),u(e)}),q(o.scrollbarY,()=>{let e=o.scrollbarY?.offsetWidth||0;o.onCornerWidthChange(e),c(e)}),p?(0,t.jsx)(n.Primitive.div,{...l,ref:a,style:{width:i,height:d,position:"absolute",right:"ltr"===o.dir?0:void 0,left:"rtl"===o.dir?0:void 0,bottom:0,...e.style}}):null});function $(e){return e?parseInt(e,10):0}function _(e,t){let r=e/t;return isNaN(r)?0:r}function z(e){let t=_(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function B(e,t,r="ltr"){let n=z(t),a=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-a,l=t.content-t.viewport,o=(0,d.clamp)(e,"ltr"===r?[0,l]:[-1*l,0]);return F([0,l],[0,s-n])(o)}function F(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}var H=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return!function a(){let s={left:e.scrollLeft,top:e.scrollTop},l=r.left!==s.left,o=r.top!==s.top;(l||o)&&t(),r=s,n=window.requestAnimationFrame(a)}(),()=>window.cancelAnimationFrame(n)};function U(e,t){let n=(0,o.useCallbackRef)(e),a=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(a.current),[]),r.useCallback(()=>{window.clearTimeout(a.current),a.current=window.setTimeout(n,t)},[n,t])}function q(e,t){let r=(0,o.useCallbackRef)(t);(0,c.useLayoutEffect)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}var W=e.i(81471);let X=(0,r.forwardRef)(({className:e,children:r,...n},a)=>(0,t.jsxs)(v,{className:(0,W.cn)("relative overflow-hidden",e),...n,children:[(0,t.jsx)(b,{ref:a,className:"h-full w-full rounded-[inherit]",children:r}),(0,t.jsx)(y,{orientation:"vertical",className:"flex h-full w-2.5 touch-none select-none border-l border-l-transparent p-[1px] transition-colors",children:(0,t.jsx)(P,{className:"relative flex-1 rounded-full bg-border"})}),(0,t.jsx)(A,{})]}));X.displayName="ScrollArea",e.s(["ScrollArea",0,X],13707)},89480,33586,e=>{"use strict";var t=e.i(54710),r=e.i(34416),n=e.i(40807),a=e.i(12878),s=e.i(81471),l=e.i(79634),o=e.i(29086),i=e.i(77379);let c=(0,i.default)("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);e.s(["Paperclip",0,c],33586);let d=(0,i.default)("FileImage",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]),u=(0,i.default)("FileSpreadsheet",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]);var p=e.i(52387);function h({mimeType:e,className:r}){return e.startsWith("image/")?(0,t.jsx)(d,{className:r}):"application/pdf"===e?(0,t.jsx)(o.FileText,{className:r}):e.includes("spreadsheet")||"text/csv"===e||e.includes("excel")?(0,t.jsx)(u,{className:r}):(0,t.jsx)(c,{className:r})}function m({id:e,alt:n}){let[a,s]=(0,r.useState)(null),[l,o]=(0,r.useState)(!1);return((0,r.useEffect)(()=>{let t=!1,r=null;return(async()=>{try{let n=await fetch(`/api/chat/attachments/${e}`);if(!n.ok)throw Error(`status ${n.status}`);let a=await n.blob();if(t)return;r=URL.createObjectURL(a),s(r)}catch{t||o(!0)}})(),()=>{t=!0,r&&URL.revokeObjectURL(r)}},[e]),l)?null:a?(0,t.jsx)("img",{src:a,alt:n,className:"max-h-64 max-w-full rounded-md border border-border"}):(0,t.jsx)("div",{className:"flex h-32 w-full max-w-xs items-center justify-center rounded-md border border-border bg-muted/20 text-xs text-muted-foreground",children:"loading…"})}function f({attachment:e,isOwn:r}){var n;let a=`/api/chat/attachments/${e.id}`,l=e.mimeType.startsWith("image/")&&"image/svg+xml"!==e.mimeType&&e.sizeBytes<2097152;return(0,t.jsxs)("div",{className:"space-y-1",children:[l&&(0,t.jsx)(m,{id:e.id,alt:e.originalFilename}),(0,t.jsxs)("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:(0,s.cn)("inline-flex items-center gap-2 rounded-md border px-2 py-1 text-xs hover:bg-muted/40",r?"border-primary-foreground/30 bg-primary-foreground/10 text-primary-foreground":"border-border bg-muted/30 text-foreground"),title:e.caption??e.originalFilename,children:[(0,t.jsx)(h,{mimeType:e.mimeType,className:"h-3 w-3 flex-shrink-0"}),(0,t.jsx)("span",{className:"max-w-[160px] truncate",children:e.originalFilename}),(0,t.jsx)("span",{className:"text-muted-foreground",children:(n=e.sizeBytes)<1024?`${n} B`:n<1048576?`${(n/1024).toFixed(0)} KB`:`${(n/1024/1024).toFixed(1)} MB`}),(0,t.jsx)(p.ExternalLink,{className:"h-3 w-3 flex-shrink-0 opacity-60"})]}),e.caption&&(0,t.jsx)("p",{className:"px-1 text-[10px] text-muted-foreground italic",children:e.caption})]})}function g({attachments:e,isOwn:r}){return 0===e.length?null:(0,t.jsx)("div",{className:"flex flex-col gap-2",children:e.map(e=>(0,t.jsx)(f,{attachment:e,isOwn:r},e.id))})}let v=[a.default],x={a:({children:e,href:r,...n})=>(0,t.jsx)("a",{href:r,target:"_blank",rel:"noopener noreferrer",...n,children:e})},b=(0,r.memo)(function({message:e,assistantLabel:r="Assistant"}){if("error"===e.role)return(0,t.jsx)(l.Alert,{variant:"error",className:"mx-auto max-w-md rounded-lg px-4 py-2 text-sm",children:e.content});let a="user"===e.role;return(0,t.jsx)("div",{className:(0,s.cn)("flex",a?"justify-end":"justify-start"),children:(0,t.jsxs)("div",{className:"max-w-[80%] space-y-1",children:[!a&&(0,t.jsx)("p",{className:"px-1 text-[11px] font-medium text-muted-foreground",children:r}),e.content&&(0,t.jsx)("div",{className:(0,s.cn)("rounded-2xl px-4 py-2.5 text-sm",a?"whitespace-pre-wrap rounded-br-md bg-primary text-primary-foreground [overflow-wrap:anywhere]":"markdown-body markdown-bubble rounded-bl-md border border-border bg-card text-foreground"),children:a?e.content:(0,t.jsx)(n.default,{remarkPlugins:v,components:x,children:e.content})}),e.attachments&&e.attachments.length>0&&(0,t.jsx)("div",{className:"px-1",children:(0,t.jsx)(g,{attachments:e.attachments,isOwn:a})}),!a&&e.meta&&(0,t.jsx)("p",{className:"px-1 text-[10px] text-muted-foreground/60",children:[e.meta.backend&&e.meta.model?`${e.meta.backend} \xb7 ${e.meta.model}`:e.meta.backend||e.meta.model,null!=e.meta.durationMs?`${(e.meta.durationMs/1e3).toFixed(1)}s`:null,null!=e.meta.costUsd?`$${e.meta.costUsd.toFixed(4)}`:null].filter(Boolean).join(" · ")})]})})});e.s(["MessageBubble",0,b],89480)},53756,e=>{"use strict";var t=e.i(54710),r=e.i(34416);let n=(0,e.i(77379).default)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);var a=e.i(72740),s=e.i(33586),l=e.i(36451),o=e.i(20014),i=e.i(81471);e.s(["ChatInput",0,function({onSend:e,disabled:c,disabledMessage:d,placeholder:u,className:p}){let[h,m]=(0,r.useState)(""),f=(0,r.useRef)(null),g=(0,r.useRef)(null),[v,x]=(0,r.useState)(!1),{pending:b,ready:w,uploading:y,addFiles:S,remove:j,clear:C,error:E}=function(){let[e,t]=(0,r.useState)([]),[n,a]=(0,r.useState)(null),s=(0,r.useRef)(new Map),l=(0,r.useCallback)((e,r)=>{t(t=>t.map(t=>t.clientId===e?{...t,...r}:t))},[]),o=(0,r.useCallback)((e,t=0)=>e.reduce((e,t)=>e+t.sizeBytes,0)+t,[]),i=(0,r.useCallback)(e=>{let r=s.current.get(e);r&&(r.abort(),s.current.delete(e)),t(t=>t.filter(t=>t.clientId!==e)),t(t=>{let r=t.find(t=>t.clientId===e);return r?.serverId&&fetch(`/api/chat/attachments/${r.serverId}`,{method:"DELETE"}).catch(()=>{}),t})},[]),c=(0,r.useCallback)(()=>{for(let e of s.current.values())e.abort();s.current.clear(),t([]),a(null)},[]),d=(0,r.useCallback)(e=>{let t=new XMLHttpRequest;s.current.set(e.clientId,t),t.open("POST","/api/chat/attachments"),t.upload.onprogress=t=>{t.lengthComputable&&l(e.clientId,{progress:Math.round(t.loaded/t.total*100)})},t.onload=()=>{if(s.current.delete(e.clientId),t.status>=200&&t.status<300)try{let r=JSON.parse(t.responseText);l(e.clientId,{serverId:r.id,mimeType:r.mimeType,progress:100,status:"uploaded"})}catch{l(e.clientId,{status:"error",error:"Malformed response from server"})}else{let r=`Upload failed (${t.status})`;try{let e=JSON.parse(t.responseText);e.message&&(r=e.message)}catch{}l(e.clientId,{status:"error",error:r})}},t.onerror=()=>{s.current.delete(e.clientId),l(e.clientId,{status:"error",error:"Network error during upload"})};let r=new FormData;r.append("file",e.file,e.file.name),t.send(r)},[l]),u=(0,r.useCallback)(e=>{a(null);let r=Array.from(e);0!==r.length&&t(e=>{if(e.filter(e=>"uploading"===e.status).length+r.length>5)return a("At most 5 concurrent uploads"),e;let t=o(e),n=[];for(let e of r){let r=e.type.startsWith("image/")?5242880:0x1900000;if(e.size>r){a(`"${e.name}" is ${(e.size/1024/1024).toFixed(1)} MB — over the ${(r/1024/1024).toFixed(0)} MB limit`);continue}if(t+e.size>0x6400000){a("Per-turn cap is 100 MB — skipping the rest");break}t+=e.size;let s={clientId:`pending-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,serverId:null,file:e,progress:0,status:"uploading",sizeBytes:e.size};n.push(s)}for(let e of n)queueMicrotask(()=>d(e));return[...e,...n]})},[o,d]),p=e.some(e=>"uploading"===e.status),h=e.filter(e=>"uploaded"===e.status&&null!==e.serverId).map(e=>({id:e.serverId,originalFilename:e.file.name,mimeType:e.mimeType??(e.file.type||"application/octet-stream"),sizeBytes:e.sizeBytes}));return{pending:e,ready:h,uploading:p,addFiles:u,remove:i,clear:c,error:n}}(),k=!c&&!y&&(h.trim().length>0||w.length>0),N=(0,r.useCallback)(()=>{k&&(e(h.trim(),w),m(""),C(),f.current&&(f.current.style.height="auto"))},[k,C,e,w,h]);return(0,r.useEffect)(()=>{let e=f.current;if(!e)return;let t=e=>{if(c)return;let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of t)if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),S(r))};return e.addEventListener("paste",t),()=>e.removeEventListener("paste",t)},[S,c]),(0,t.jsxs)("div",{className:(0,i.cn)("border-t border-border bg-background px-4 pt-3 pb-4",v&&"bg-primary/5",p),onDragOver:e=>{c||(e.preventDefault(),x(!0))},onDragLeave:()=>x(!1),onDrop:e=>{if(e.preventDefault(),x(!1),c)return;let t=e.dataTransfer.files;t.length>0&&S(t)},children:[c&&(0,t.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,t.jsx)(a.Loader2,{className:"h-3 w-3 animate-spin"}),(0,t.jsx)("span",{children:d??"Agent is generating a response — please wait"})]}),b.length>0&&(0,t.jsx)("div",{className:"mb-2 flex flex-wrap gap-2",children:b.map(e=>{var r;return(0,t.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 rounded-md border px-2 py-1 text-xs","error"===e.status?"border-destructive/40 bg-destructive/5 text-destructive":"border-border bg-muted/40"),children:[(0,t.jsx)(s.Paperclip,{className:"h-3 w-3 flex-shrink-0"}),(0,t.jsx)("span",{className:"max-w-[160px] truncate",title:e.file.name,children:e.file.name}),(0,t.jsx)("span",{className:"text-muted-foreground",children:(r=e.sizeBytes)<1024?`${r} B`:r<1048576?`${(r/1024).toFixed(0)} KB`:`${(r/1024/1024).toFixed(1)} MB`}),"uploading"===e.status&&(0,t.jsxs)("span",{className:"text-muted-foreground",children:[e.progress,"%"]}),"error"===e.status&&e.error&&(0,t.jsx)("span",{className:"text-muted-foreground/80",title:e.error,children:"failed"}),(0,t.jsx)("button",{type:"button",onClick:()=>j(e.clientId),className:"ml-1 text-muted-foreground hover:text-foreground","aria-label":`Remove ${e.file.name}`,children:(0,t.jsx)(l.X,{className:"h-3 w-3"})})]},e.clientId)})}),E&&(0,t.jsx)("div",{className:"mb-2 text-xs text-destructive",role:"alert",children:E}),(0,t.jsxs)("div",{className:"flex items-end gap-2",children:[(0,t.jsx)("input",{ref:g,type:"file",multiple:!0,className:"hidden",onChange:e=>{var t;(t=e.target.files)&&0!==t.length&&S(t),e.target.value=""}}),(0,t.jsx)(o.Button,{type:"button",size:"icon",variant:"ghost",onClick:()=>g.current?.click(),disabled:c,"aria-label":"Attach files",title:"Attach files",children:(0,t.jsx)(s.Paperclip,{className:"h-4 w-4"})}),(0,t.jsx)("textarea",{ref:f,value:h,onChange:e=>m(e.target.value),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&(e.preventDefault(),N())},onInput:()=>{let e=f.current;e&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,200)}px`)},placeholder:u??(c?"Waiting for response…":"Message the agent..."),disabled:c,rows:1,className:"flex-1 resize-none rounded-lg border border-input bg-background px-3 py-2 text-sm placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50"}),(0,t.jsx)(o.Button,{size:"icon",onClick:N,disabled:!k,children:c||y?(0,t.jsx)(a.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(n,{className:"h-4 w-4"})})]})]})}],53756)},34098,e=>{"use strict";var t=e.i(54710),r=e.i(99758),n=e.i(72740);e.s(["ToolProgress",0,function({items:e}){return 0===e.length?null:(0,t.jsx)("div",{className:"flex flex-wrap gap-2 px-2",children:e.map(e=>{let a="done"===e.status||"completed"===e.status;return(0,t.jsxs)("div",{className:"flex items-center gap-1.5 rounded-md bg-muted px-2.5 py-1 text-xs text-muted-foreground",children:[a?(0,t.jsx)(r.Check,{className:"h-3 w-3 text-emerald-500"}):(0,t.jsx)(n.Loader2,{className:"h-3 w-3 animate-spin"}),(0,t.jsx)("span",{children:e.tool})]},e.tool)})})}])},76,27779,e=>{"use strict";var t=e.i(34416),r=e.i(95486);function n({fetchedMessageCount:e,currentRestoredCount:t,currentLiveCount:r}){return e>0||t+r===0}function a(e){return`${e.role}\u0000${e.content}`}function s(e,t,r){let n=e.slice(-Math.max(t.length+4,4)),s=new Map;for(let e of n){let t=a(e);s.set(t,(s.get(t)??0)+1)}return t.filter(e=>{if("error"===e.role)return!0;if(e.id.startsWith("stream-")||e.timestamp.getTime()<=r)return!1;let t=a(e),n=s.get(t)??0;return!(n>0)||(s.set(t,n-1),!1)})}async function l(e,t){let r,n=t?.fetchImpl??fetch,a=[];for(;;){let s=await n(function(e,t){let r=new URLSearchParams({limit:String(200)});return void 0!==t&&r.set("before",String(t)),`/api/conversations/${e}/messages?${r.toString()}`}(e,r),{signal:t?.signal});if(!s.ok)throw Error(`Failed to load conversation ${e} history`);let l=await s.json();if(0===l.messages.length||(a.push(l.messages),!l.hasMore))break;let o=l.messages[0]?.id;if(!o||o===r)break;r=o}return a.reverse().flat()}e.s(["fetchConversationHistory",0,l],27779);var o=e.i(81471);let i="pa-chat-sessionId";function c(e){try{localStorage.setItem(i,String(e))}catch{}}function d(){try{localStorage.removeItem(i)}catch{}}async function u(e,t){return(await l(e,{signal:t})).filter(e=>"user"===e.role||"assistant"===e.role).map(e=>({id:`restored-${e.id}`,role:e.role,content:e.content,timestamp:(0,o.parseUtcDate)(e.timestamp),...e.attachments&&e.attachments.length>0?{attachments:e.attachments.map(e=>({id:e.id,originalFilename:e.originalFilename,mimeType:e.mimeType,sizeBytes:e.sizeBytes,direction:e.direction,...e.caption?{caption:e.caption}:{}}))}:{}}))}async function p(e){let t=new URLSearchParams({scope:"dashboard_chat",status:"active",limit:"1"}),r=await fetch(`/api/conversations?${t.toString()}`,{signal:e});if(!r.ok)throw Error("Failed to load active dashboard session");let n=await r.json(),a=n.conversations[0]?.id;return"number"==typeof a&&a>0?a:null}e.s(["fetchSessionMessages",0,u,"useChat",0,function({disableHistory:e=!1}={}){let a=(0,r.useQueryClient)(),[l,o]=(0,t.useState)([]),[h,m]=(0,t.useState)(!1),[f,g]=(0,t.useState)(!1),[v,x]=(0,t.useState)([]),[b,w]=(0,t.useState)(null),[y,S]=(0,t.useState)(!1),[j,C]=(0,t.useState)(0),[E,k]=(0,t.useState)([]),N=(0,t.useRef)(""),R=(0,t.useRef)(0),T=(0,t.useRef)(null),I=(0,t.useRef)(null),L=(0,t.useRef)([]),P=(0,t.useRef)([]),D=(0,t.useRef)(null),M=()=>`msg-${++R.current}`,A=(0,t.useCallback)((e,t)=>"string"==typeof e?.message?e.message:"string"==typeof e?.error?e.error:t,[]),O=(0,t.useCallback)(()=>{I.current&&(clearTimeout(I.current),I.current=null)},[]),$=(0,t.useCallback)(()=>{g(!0),O(),I.current=setTimeout(()=>{g(!1)},12e4)},[O]),_=(0,t.useCallback)(()=>{g(!1),O()},[O]),z=(0,t.useCallback)(e=>{"number"==typeof e?.resumeSessionId&&e.resumeSessionId>0?c(e.resumeSessionId):d(),N.current="",L.current=[],P.current=[],D.current=e?.resumeSessionId??null,_(),o([]),k([]),x([]),w(null),m(!1),S(!1),T.current&&(T.current.close(),T.current=null),C(e=>e+1)},[_]);(0,t.useEffect)(()=>{D.current=b?.sessionId??null},[b]),(0,t.useEffect)(()=>{L.current=l},[l]),(0,t.useEffect)(()=>{P.current=E},[E]),(0,t.useEffect)(()=>{let t=e?null:function(){try{let e=localStorage.getItem(i);if(!e)return null;let t=Number(e);return Number.isFinite(t)&&t>0?t:null}catch{return null}}(),r=new AbortController,a=new EventSource(t?`/api/chat/stream?sessionId=${t}`:"/api/chat/stream");T.current=a;let l=0;return e||p(r.signal).then(e=>{if(!e)return void d();c(e);let t=Date.now();return u(e,r.signal).then(e=>{n({fetchedMessageCount:e.length,currentRestoredCount:P.current.length,currentLiveCount:L.current.length})&&(k(e),o(r=>s(e,r,t)))})}).catch(()=>{}),a.onopen=()=>{l++,S(!0),l>1?console.debug("[chat] SSE reconnected"):console.debug("[chat] SSE connected")},a.onerror=()=>{S(!1),m(!1),_(),N.current="",console.warn("[chat] SSE connection lost — will auto-reconnect")},a.addEventListener("session_info",r=>{try{let a=JSON.parse(r.data),i="channelId"in a;w(e=>i?{...a}:{...e,...a}),!e&&("number"==typeof a.sessionId&&a.sessionId>0&&c(a.sessionId),t&&"channelId"in a&&!("sessionId"in a)&&d());let p=l>1,h="number"==typeof a.sessionId?a.sessionId:null;if(!e&&function({isInitialBinding:e,isReconnect:t,confirmedSessionId:r}){return null!==r&&(e||t)}({isInitialBinding:i,isReconnect:p,confirmedSessionId:h})&&null!==h){let e=Date.now();u(h).then(t=>{n({fetchedMessageCount:t.length,currentRestoredCount:P.current.length,currentLiveCount:L.current.length})&&(k(t),o(r=>s(t,r,e)))}).catch(()=>{})}}catch{}}),a.addEventListener("chat",e=>{try{let t=JSON.parse(e.data);o(e=>[...e,{id:M(),role:t.role,content:t.content,timestamp:new Date,...t.attachments&&t.attachments.length>0?{attachments:t.attachments.map(e=>({...e,direction:"outbound"}))}:{}}]),x([]),_()}catch{}}),a.addEventListener("chat_attachments",e=>{try{let{attachments:t}=JSON.parse(e.data);if(!Array.isArray(t)||0===t.length)return;o(e=>{for(let r=e.length-1;r>=0;r--)if("assistant"===e[r].role){let n=[...e];return n[r]={...n[r],attachments:t.map(e=>({...e,direction:"outbound"}))},n}return e})}catch{}}),a.addEventListener("chat_stream",e=>{try{let{chunk:t}=JSON.parse(e.data);m(!0),_(),N.current+=t,o(e=>{let t=e[e.length-1];return t?.role==="assistant"&&t.id.startsWith("stream-")?[...e.slice(0,-1),{...t,content:N.current}]:[...e,{id:`stream-${R.current}`,role:"assistant",content:N.current,timestamp:new Date}]})}catch{}}),a.addEventListener("stream_end",()=>{m(!1),N.current=""}),a.addEventListener("tool_progress",e=>{try{let t=JSON.parse(e.data);x(e=>{let r=e.findIndex(e=>e.tool===t.tool);if(r>=0){let n=[...e];return n[r]=t,n}return[...e,t]})}catch{}}),a.addEventListener("chat_meta",e=>{try{let t=JSON.parse(e.data);o(e=>{for(let r=e.length-1;r>=0;r--)if("assistant"===e[r].role){let n=[...e];return n[r]={...n[r],meta:t},n}return e});let r=D.current;if(r){let e=Date.now();u(r).then(t=>{n({fetchedMessageCount:t.length,currentRestoredCount:P.current.length,currentLiveCount:L.current.length})&&(k(t),o(r=>s(t,r,e)))}).catch(()=>{})}}catch{}}),a.addEventListener("chat_error",e=>{try{let{message:t}=JSON.parse(e.data);o(e=>[...e,{id:M(),role:"error",content:t,timestamp:new Date}]),m(!1),_()}catch{}}),a.addEventListener("ping",()=>{}),()=>{r.abort(),a.close(),T.current=null,S(!1),O()}},[_,O,j,e]);let B=(0,t.useCallback)(async(e,t)=>{if(b?.channelId){$(),o(r=>[...r,{id:M(),role:"user",content:e,timestamp:new Date,...t?.attachments&&t.attachments.length>0?{attachments:t.attachments.map(e=>({...e,direction:"inbound"}))}:{}}]);try{let r=await fetch("/api/chat/messages",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({channelId:b.channelId,content:e,...t?.requestedModel?{requestedModel:t.requestedModel}:{},...t?.requestedBackendId&&t?.requestedModelId?{requestedBackendId:t.requestedBackendId,requestedModelId:t.requestedModelId}:{},...t?.attachments&&t.attachments.length>0?{attachmentIds:t.attachments.map(e=>e.id)}:{}})});if(!r.ok){let e=await r.json().catch(()=>null);o(t=>[...t,{id:M(),role:"error",content:A(e,"send failed"),timestamp:new Date}]),_()}}catch(t){let e=t instanceof TypeError?t.message:String(t);console.error("[chat] POST /api/chat/messages failed:",e),o(t=>[...t,{id:M(),role:"error",content:`Failed to send message: ${e}`,timestamp:new Date}]),_()}}},[A,b,$,_]),F=(0,t.useCallback)(async()=>{if(b?.channelId)try{let e=await fetch("/api/chat/end-session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({channelId:b.channelId})});if(!e.ok){let t=await e.json().catch(()=>null);o(e=>[...e,{id:M(),role:"error",content:A(t,"failed to end session"),timestamp:new Date}]);return}a.invalidateQueries({queryKey:["conversations"]}).catch(()=>{}),a.invalidateQueries({queryKey:["chat-current-binding"]}).catch(()=>{}),z()}catch(t){let e=t instanceof TypeError?t.message:String(t);console.error("[chat] POST /api/chat/end-session failed:",e),o(t=>[...t,{id:M(),role:"error",content:`Failed to end session: ${e}`,timestamp:new Date}])}},[A,a,z,b]),H=(0,t.useCallback)(async e=>{console.debug("[chat] continueSession()",{sessionId:e});try{let t=await fetch("/api/chat/continue-session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e})});if(!t.ok){let e=await t.json().catch(()=>null);return o(t=>[...t,{id:M(),role:"error",content:A(e,"failed to continue session"),timestamp:new Date}]),!1}let r=await t.json().catch(()=>null),n="number"==typeof r?.sessionId&&r.sessionId>0?r.sessionId:e;return a.invalidateQueries({queryKey:["conversations"]}).catch(()=>{}),a.invalidateQueries({queryKey:["chat-current-binding"]}).catch(()=>{}),z({resumeSessionId:n}),!0}catch(t){let e=t instanceof TypeError?t.message:String(t);return console.error("[chat] POST /api/chat/continue-session failed:",e),o(t=>[...t,{id:M(),role:"error",content:`Failed to continue session: ${e}`,timestamp:new Date}]),!1}},[A,a,z]),U=y&&!!b?.channelId;return{messages:l,setMessages:o,restoredMessages:E,setRestoredMessages:k,streaming:h,waiting:f,busy:f||h,toolProgress:v,sessionInfo:b,sendMessage:B,endSession:F,continueSession:H,connected:y,ready:U}}],76)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,84603,e=>{"use strict";let t=(0,e.i(77379).default)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);e.s(["Activity",0,t],84603)},85631,e=>{"use strict";var t=e.i(54710),r=e.i(81471);e.s(["ConnectionsSectionHeader",0,function({title:e,description:a,healthy:n,total:i,attention:s,actions:l}){let o=i>0&&n===i,d=i>0&&0===n;return(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:e}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[i>0&&(0,t.jsxs)("span",{className:(0,r.cn)("text-xs font-medium tabular-nums",o?"text-emerald-600 dark:text-emerald-400":d?"text-muted-foreground":"text-amber-600 dark:text-amber-400"),children:[n,"/",i," connected"]}),l]})]}),a&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:a}),s&&(0,t.jsx)("p",{className:"text-xs text-amber-600 dark:text-amber-400",children:s})]})}])},20870,e=>{"use strict";var t=e.i(54710),r=e.i(48467),a=e.i(74490),n=e.i(81471);let i={connected:{variant:"green",label:"Connected"},configured:{variant:"amber",label:"Configured"},connecting:{variant:"amber",label:"Connecting…"},"needs-setup":{variant:"gray",label:"Not Configured"},error:{variant:"red",label:"Error"},disabled:{variant:"gray",label:"Disabled"}};e.s(["ConnectionCard",0,function({name:e,icon:s,status:l,error:o,metadata:d,children:c,className:u}){let m=i[l];return(0,t.jsxs)(a.Card,{tone:"connected"===l?"success":"error"===l?"error":"default",className:(0,n.cn)("relative",u),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:s}),(0,t.jsx)("h3",{className:"text-sm font-medium text-foreground",children:e})]}),(0,t.jsx)(r.Badge,{variant:m.variant,children:m.label})]}),o&&"connecting"!==l&&(0,t.jsx)("p",{className:"mb-2 text-xs text-red-600 dark:text-red-400",children:o}),d&&d.length>0&&(0,t.jsx)("div",{className:"mb-3 space-y-0.5",children:d.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:e.label}),(0,t.jsx)("span",{className:"text-foreground",children:e.value})]},e.label))}),c]})},"deriveConfiguredStatus",0,function(e){return e?"configured":"needs-setup"},"deriveIntegrationStatus",0,function(e){return e&&e.configured?e.error?"error":e.connected?"connected":"configured":"needs-setup"},"deriveMessagingStatus",0,function(e){return e&&"not_configured"!==e.runtimeState?"connecting"===e.runtimeState?"connecting":"error"===e.runtimeState?"error":"ok"===e.runtimeState?"connected":"configured":"needs-setup"},"messagingMetadata",0,function(e){if(e)return[{label:"Owner configured",value:e.ownerConfigured?"yes":"no"},{label:"Owner channel known",value:e.ownerChannelKnown?"yes":"no"},{label:"Reminder eligible",value:e.notificationEligible?"yes":"no"},{label:"Last inbound",value:e.lastInboundAt??"—"}]}])},20492,37720,e=>{"use strict";var t=e.i(77379);let r=(0,t.default)("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);e.s(["Power",0,r],20492);let a=(0,t.default)("PowerOff",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);e.s(["PowerOff",0,a],37720)},44178,e=>{"use strict";var t=e.i(57415),r=e.i(14260),a=e.i(95486),n=e.i(65268);class i extends Error{conflict;constructor(e){super("context_conflict"),this.conflict=e,this.name="ContextConflictError"}}e.s(["ContextConflictError",0,i,"useContextFile",0,function(e,t){return(0,r.useQuery)({queryKey:["context",e],queryFn:()=>n.api.get(`/context/${e}`),enabled:!!e&&t?.enabled!==!1,refetchOnWindowFocus:t?.enabled!==!1})},"useContextList",0,function(e){return(0,r.useQuery)({queryKey:["context-list",e],queryFn:()=>n.api.get(`/context/list/${e}`)})},"useDeleteContextFile",0,function(){let e=(0,a.useQueryClient)();return(0,t.useMutation)({mutationFn:async({path:e})=>n.api.delete(`/context/${e}`),onSuccess:(t,{path:r})=>{e.removeQueries({queryKey:["context",r]}),e.invalidateQueries({queryKey:["snapshots",r]});let a=r.includes("/")?r.split("/")[0]:null;a&&e.invalidateQueries({queryKey:["context-list",a]}),r.startsWith("routines/custom/")&&e.invalidateQueries({queryKey:["context-list","routines"]})}})},"useUpdateContextFile",0,function(){let e=(0,a.useQueryClient)();return(0,t.useMutation)({mutationFn:async({path:e,content:t,expectedMtime:r})=>{try{return await n.api.put(`/context/${e}`,{content:t,...void 0!==r?{expectedMtime:r}:{}})}catch(e){if(e instanceof n.ApiError&&409===e.status&&e.body?.error==="conflict"){let t=e.body;throw new i({currentMtime:t.currentMtime??"",currentContent:t.currentContent??""})}throw e}},onSuccess:(t,{path:r,content:a})=>{e.setQueryData(["context",r],e=>e?{...e,content:a,lastModified:t.lastModified}:{content:a,lastModified:t.lastModified,editable:!0}),e.invalidateQueries({queryKey:["snapshots",r]});let n=r.includes("/")?r.split("/")[0]:null;n&&e.invalidateQueries({queryKey:["context-list",n]})}})}])},40893,e=>{"use strict";var t=e.i(54710),r=e.i(81187),a=e.i(20014),n=e.i(81471);e.s(["FileConflictBanner",0,function({onReload:e,onOverwrite:i,isPending:s=!1,reloadLabel:l="Reload latest",className:o}){return(0,t.jsxs)("div",{role:"alert","aria-live":"assertive",className:(0,n.cn)("rounded-md border border-amber-500/50 bg-amber-500/10 p-3 text-xs",o),children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center gap-2 font-semibold text-amber-900 dark:text-amber-200",children:[(0,t.jsx)(r.AlertTriangle,{className:"h-3.5 w-3.5"}),"File was modified by another process"]}),(0,t.jsx)("p",{className:"mb-3 text-amber-900/90 dark:text-amber-100/90",children:"The agent or another tab wrote to this file after you started editing. Your unsaved draft is preserved — choose how to proceed."}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(a.Button,{size:"sm",variant:"outline",onClick:e,disabled:s,className:"h-7",children:l}),(0,t.jsx)(a.Button,{size:"sm",variant:"destructive",onClick:i,disabled:s,className:"h-7",children:s?"Overwriting…":"Overwrite with my edits"})]})]})}])},12077,e=>{"use strict";let t=(0,e.i(77379).default)("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);e.s(["Terminal",0,t],12077)},7663,e=>{"use strict";let t=(0,e.i(77379).default)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["Save",0,t],7663)},74490,e=>{"use strict";var t=e.i(54710),r=e.i(81471);let a=(0,e.i(94237).cva)("rounded-xl border p-5 shadow-[0_1px_3px_rgb(0_0_0/0.04)]",{variants:{tone:{default:"border-border bg-card",warning:"border-amber-200 bg-amber-50/50 dark:border-amber-900 dark:bg-amber-950/30",success:"border-emerald-200 bg-emerald-50/50 dark:border-emerald-900 dark:bg-emerald-950/30",error:"border-red-200 bg-red-50/50 dark:border-red-900 dark:bg-red-950/30"},interactive:{true:"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]",false:""}},defaultVariants:{tone:"default",interactive:!1}});e.s(["Card",0,function({className:e,tone:n,interactive:i,...s}){return(0,t.jsx)("div",{className:(0,r.cn)(a({tone:n,interactive:i}),e),...s})},"CardHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{className:(0,r.cn)("mb-3 flex items-center justify-between",e),...a})},"CardStatLabel",0,function({className:e,...a}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-sm font-medium text-muted-foreground",e),...a})},"CardTitle",0,function({className:e,...a}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-lg font-semibold text-foreground",e),...a})},"CardValue",0,function({className:e,...a}){return(0,t.jsx)("div",{className:(0,r.cn)("text-3xl font-bold text-foreground",e),...a})}])},90925,e=>{"use strict";let t=(0,e.i(77379).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",0,t],90925)},60168,e=>{"use strict";let t=(0,e.i(77379).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],60168)},21682,e=>{"use strict";let t=(0,e.i(77379).default)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],21682)},70986,e=>{"use strict";var t=e.i(34416),r=e.i(91967),a=e.i(9413),n=e.i(36567),i=e.i(18731),s=e.i(22353),l=e.i(85565),o=e.i(90816),d=e.i(11207),c=e.i(54710),u="Collapsible",[m,f]=(0,a.createContextScope)(u),[x,y]=m(u),b=t.forwardRef((e,r)=>{let{__scopeCollapsible:a,open:i,defaultOpen:s,disabled:o,onOpenChange:m,...f}=e,[y,b]=(0,n.useControllableState)({prop:i,defaultProp:s??!1,onChange:m,caller:u});return(0,c.jsx)(x,{scope:a,disabled:o,contentId:(0,d.useId)(),open:y,onOpenToggle:t.useCallback(()=>b(e=>!e),[b]),children:(0,c.jsx)(l.Primitive.div,{"data-state":C(y),"data-disabled":o?"":void 0,...f,ref:r})})});b.displayName=u;var p="CollapsibleTrigger",h=t.forwardRef((e,t)=>{let{__scopeCollapsible:a,...n}=e,i=y(p,a);return(0,c.jsx)(l.Primitive.button,{type:"button","aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":C(i.open),"data-disabled":i.disabled?"":void 0,disabled:i.disabled,...n,ref:t,onClick:(0,r.composeEventHandlers)(e.onClick,i.onOpenToggle)})});h.displayName=p;var v="CollapsibleContent",g=t.forwardRef((e,t)=>{let{forceMount:r,...a}=e,n=y(v,e.__scopeCollapsible);return(0,c.jsx)(o.Presence,{present:r||n.open,children:({present:e})=>(0,c.jsx)(k,{...a,ref:t,present:e})})});g.displayName=v;var k=t.forwardRef((e,r)=>{let{__scopeCollapsible:a,present:n,children:o,...d}=e,u=y(v,a),[m,f]=t.useState(n),x=t.useRef(null),b=(0,s.useComposedRefs)(r,x),p=t.useRef(0),h=p.current,g=t.useRef(0),k=g.current,j=u.open||m,w=t.useRef(j),N=t.useRef(void 0);return t.useEffect(()=>{let e=requestAnimationFrame(()=>w.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,i.useLayoutEffect)(()=>{let e=x.current;if(e){N.current=N.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();p.current=t.height,g.current=t.width,w.current||(e.style.transitionDuration=N.current.transitionDuration,e.style.animationName=N.current.animationName),f(n)}},[u.open,n]),(0,c.jsx)(l.Primitive.div,{"data-state":C(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!j,...d,ref:b,style:{"--radix-collapsible-content-height":h?`${h}px`:void 0,"--radix-collapsible-content-width":k?`${k}px`:void 0,...e.style},children:j&&o})});function C(e){return e?"open":"closed"}e.s(["Collapsible",0,b,"CollapsibleContent",0,g,"CollapsibleTrigger",0,h],70986)},75750,e=>{"use strict";let t=(0,e.i(77379).default)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",0,t],75750)},88175,e=>{"use strict";let t=(0,e.i(77379).default)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);e.s(["Download",0,t],88175)},68824,68399,e=>{"use strict";var t=e.i(77379);let r=(0,t.default)("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",0,r],68824);let a=(0,t.default)("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);e.s(["EyeOff",0,a],68399)}]);