@aitne/dashboard 0.1.10 → 0.1.11

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 (1076) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +6 -9
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/diagnostics/route-bundle-stats.json +592 -614
  5. package/.next/fallback-build-manifest.json +3 -3
  6. package/.next/prerender-manifest.json +54 -126
  7. package/.next/routes-manifest.json +27 -45
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/server/app/_not-found/page/next-font-manifest.json +4 -2
  16. package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
  17. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/_not-found.html +1 -1
  20. package/.next/server/app/_not-found.rsc +15 -15
  21. package/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  22. package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  23. package/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  24. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  25. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  26. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  27. package/.next/server/app/activity/page/next-font-manifest.json +4 -2
  28. package/.next/server/app/activity/page/react-loadable-manifest.json +1 -1
  29. package/.next/server/app/activity/page.js.nft.json +1 -1
  30. package/.next/server/app/activity/page_client-reference-manifest.js +1 -1
  31. package/.next/server/app/activity.html +1 -1
  32. package/.next/server/app/activity.rsc +27 -25
  33. package/.next/server/app/activity.segments/_full.segment.rsc +27 -25
  34. package/.next/server/app/activity.segments/_head.segment.rsc +4 -4
  35. package/.next/server/app/activity.segments/_index.segment.rsc +10 -10
  36. package/.next/server/app/activity.segments/_tree.segment.rsc +3 -2
  37. package/.next/server/app/activity.segments/activity/__PAGE__.segment.rsc +4 -4
  38. package/.next/server/app/activity.segments/activity.segment.rsc +4 -4
  39. package/.next/server/app/agents/[slug]/executions/page/next-font-manifest.json +4 -2
  40. package/.next/server/app/agents/[slug]/executions/page/react-loadable-manifest.json +1 -1
  41. package/.next/server/app/agents/[slug]/executions/page.js.nft.json +1 -1
  42. package/.next/server/app/agents/[slug]/executions/page_client-reference-manifest.js +1 -1
  43. package/.next/server/app/agents/[slug]/page/next-font-manifest.json +4 -2
  44. package/.next/server/app/agents/[slug]/page/react-loadable-manifest.json +1 -1
  45. package/.next/server/app/agents/[slug]/page.js.nft.json +1 -1
  46. package/.next/server/app/agents/[slug]/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/agents/page/next-font-manifest.json +4 -2
  48. package/.next/server/app/agents/page/react-loadable-manifest.json +1 -1
  49. package/.next/server/app/agents/page.js.nft.json +1 -1
  50. package/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  51. package/.next/server/app/agents.html +1 -1
  52. package/.next/server/app/agents.rsc +18 -17
  53. package/.next/server/app/agents.segments/_full.segment.rsc +18 -17
  54. package/.next/server/app/agents.segments/_head.segment.rsc +4 -4
  55. package/.next/server/app/agents.segments/_index.segment.rsc +10 -10
  56. package/.next/server/app/agents.segments/_tree.segment.rsc +3 -2
  57. package/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +4 -4
  58. package/.next/server/app/agents.segments/agents.segment.rsc +3 -3
  59. package/.next/server/app/analytics/page/next-font-manifest.json +4 -2
  60. package/.next/server/app/analytics/page/react-loadable-manifest.json +1 -1
  61. package/.next/server/app/analytics/page.js.nft.json +1 -1
  62. package/.next/server/app/analytics/page_client-reference-manifest.js +1 -1
  63. package/.next/server/app/analytics.html +1 -1
  64. package/.next/server/app/analytics.rsc +25 -23
  65. package/.next/server/app/analytics.segments/_full.segment.rsc +25 -23
  66. package/.next/server/app/analytics.segments/_head.segment.rsc +4 -4
  67. package/.next/server/app/analytics.segments/_index.segment.rsc +10 -10
  68. package/.next/server/app/analytics.segments/_tree.segment.rsc +3 -2
  69. package/.next/server/app/analytics.segments/analytics/__PAGE__.segment.rsc +4 -4
  70. package/.next/server/app/analytics.segments/analytics.segment.rsc +4 -4
  71. package/.next/server/app/browser/page/app-paths-manifest.json +3 -0
  72. package/.next/server/app/browser/page/next-font-manifest.json +8 -0
  73. package/.next/server/app/{settings/advanced → browser}/page/react-loadable-manifest.json +1 -1
  74. package/.next/server/app/browser/page.js +15 -0
  75. package/.next/server/app/browser/page.js.nft.json +1 -0
  76. package/.next/server/app/browser/page_client-reference-manifest.js +3 -0
  77. package/.next/server/app/browser-tasks/[id]/page/next-font-manifest.json +4 -2
  78. package/.next/server/app/browser-tasks/[id]/page/react-loadable-manifest.json +1 -1
  79. package/.next/server/app/browser-tasks/[id]/page.js.nft.json +1 -1
  80. package/.next/server/app/browser-tasks/[id]/page_client-reference-manifest.js +1 -1
  81. package/.next/server/app/browser-tasks/page/next-font-manifest.json +4 -2
  82. package/.next/server/app/browser-tasks/page/react-loadable-manifest.json +1 -1
  83. package/.next/server/app/browser-tasks/page.js.nft.json +1 -1
  84. package/.next/server/app/browser-tasks/page_client-reference-manifest.js +1 -1
  85. package/.next/server/app/browser-tasks.html +1 -1
  86. package/.next/server/app/browser-tasks.rsc +18 -17
  87. package/.next/server/app/browser-tasks.segments/_full.segment.rsc +18 -17
  88. package/.next/server/app/browser-tasks.segments/_head.segment.rsc +4 -4
  89. package/.next/server/app/browser-tasks.segments/_index.segment.rsc +10 -10
  90. package/.next/server/app/browser-tasks.segments/_tree.segment.rsc +3 -2
  91. package/.next/server/app/browser-tasks.segments/browser-tasks/__PAGE__.segment.rsc +4 -4
  92. package/.next/server/app/browser-tasks.segments/browser-tasks.segment.rsc +3 -3
  93. package/.next/server/app/browser.html +1 -0
  94. package/.next/server/app/browser.meta +15 -0
  95. package/.next/server/app/browser.rsc +27 -0
  96. package/.next/server/app/browser.segments/_full.segment.rsc +27 -0
  97. package/.next/server/app/browser.segments/_head.segment.rsc +6 -0
  98. package/.next/server/app/browser.segments/_index.segment.rsc +11 -0
  99. package/.next/server/app/browser.segments/_tree.segment.rsc +3 -0
  100. package/.next/server/app/browser.segments/browser/__PAGE__.segment.rsc +9 -0
  101. package/.next/server/app/browser.segments/browser.segment.rsc +5 -0
  102. package/.next/server/app/chat/page/next-font-manifest.json +4 -2
  103. package/.next/server/app/chat/page/react-loadable-manifest.json +1 -1
  104. package/.next/server/app/chat/page.js.nft.json +1 -1
  105. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  106. package/.next/server/app/chat.html +1 -1
  107. package/.next/server/app/chat.rsc +18 -17
  108. package/.next/server/app/chat.segments/_full.segment.rsc +18 -17
  109. package/.next/server/app/chat.segments/_head.segment.rsc +4 -4
  110. package/.next/server/app/chat.segments/_index.segment.rsc +10 -10
  111. package/.next/server/app/chat.segments/_tree.segment.rsc +3 -2
  112. package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +4 -4
  113. package/.next/server/app/chat.segments/chat.segment.rsc +3 -3
  114. package/.next/server/app/connections/calendar/page/next-font-manifest.json +4 -2
  115. package/.next/server/app/connections/calendar/page/react-loadable-manifest.json +1 -1
  116. package/.next/server/app/connections/calendar/page.js.nft.json +1 -1
  117. package/.next/server/app/connections/calendar/page_client-reference-manifest.js +1 -1
  118. package/.next/server/app/connections/calendar.html +1 -1
  119. package/.next/server/app/connections/calendar.rsc +19 -18
  120. package/.next/server/app/connections/calendar.segments/_full.segment.rsc +19 -18
  121. package/.next/server/app/connections/calendar.segments/_head.segment.rsc +4 -4
  122. package/.next/server/app/connections/calendar.segments/_index.segment.rsc +10 -10
  123. package/.next/server/app/connections/calendar.segments/_tree.segment.rsc +3 -2
  124. package/.next/server/app/connections/calendar.segments/connections/calendar/__PAGE__.segment.rsc +4 -4
  125. package/.next/server/app/connections/calendar.segments/connections/calendar.segment.rsc +3 -3
  126. package/.next/server/app/connections/calendar.segments/connections.segment.rsc +4 -4
  127. package/.next/server/app/connections/journal/page/next-font-manifest.json +4 -2
  128. package/.next/server/app/connections/journal/page/react-loadable-manifest.json +1 -1
  129. package/.next/server/app/connections/journal/page.js.nft.json +1 -1
  130. package/.next/server/app/connections/journal/page_client-reference-manifest.js +1 -1
  131. package/.next/server/app/connections/journal.html +1 -1
  132. package/.next/server/app/connections/journal.rsc +18 -17
  133. package/.next/server/app/connections/journal.segments/_full.segment.rsc +18 -17
  134. package/.next/server/app/connections/journal.segments/_head.segment.rsc +4 -4
  135. package/.next/server/app/connections/journal.segments/_index.segment.rsc +10 -10
  136. package/.next/server/app/connections/journal.segments/_tree.segment.rsc +3 -2
  137. package/.next/server/app/connections/journal.segments/connections/journal/__PAGE__.segment.rsc +3 -3
  138. package/.next/server/app/connections/journal.segments/connections/journal.segment.rsc +3 -3
  139. package/.next/server/app/connections/journal.segments/connections.segment.rsc +4 -4
  140. package/.next/server/app/connections/mail/page/next-font-manifest.json +4 -2
  141. package/.next/server/app/connections/mail/page/react-loadable-manifest.json +1 -1
  142. package/.next/server/app/connections/mail/page.js.nft.json +1 -1
  143. package/.next/server/app/connections/mail/page_client-reference-manifest.js +1 -1
  144. package/.next/server/app/connections/mail.html +1 -1
  145. package/.next/server/app/connections/mail.rsc +19 -18
  146. package/.next/server/app/connections/mail.segments/_full.segment.rsc +19 -18
  147. package/.next/server/app/connections/mail.segments/_head.segment.rsc +4 -4
  148. package/.next/server/app/connections/mail.segments/_index.segment.rsc +10 -10
  149. package/.next/server/app/connections/mail.segments/_tree.segment.rsc +3 -2
  150. package/.next/server/app/connections/mail.segments/connections/mail/__PAGE__.segment.rsc +4 -4
  151. package/.next/server/app/connections/mail.segments/connections/mail.segment.rsc +3 -3
  152. package/.next/server/app/connections/mail.segments/connections.segment.rsc +4 -4
  153. package/.next/server/app/connections/mcp/page/next-font-manifest.json +4 -2
  154. package/.next/server/app/connections/mcp/page/react-loadable-manifest.json +1 -1
  155. package/.next/server/app/connections/mcp/page.js.nft.json +1 -1
  156. package/.next/server/app/connections/mcp/page_client-reference-manifest.js +1 -1
  157. package/.next/server/app/connections/mcp.html +1 -1
  158. package/.next/server/app/connections/mcp.rsc +19 -18
  159. package/.next/server/app/connections/mcp.segments/_full.segment.rsc +19 -18
  160. package/.next/server/app/connections/mcp.segments/_head.segment.rsc +4 -4
  161. package/.next/server/app/connections/mcp.segments/_index.segment.rsc +10 -10
  162. package/.next/server/app/connections/mcp.segments/_tree.segment.rsc +3 -2
  163. package/.next/server/app/connections/mcp.segments/connections/mcp/__PAGE__.segment.rsc +4 -4
  164. package/.next/server/app/connections/mcp.segments/connections/mcp.segment.rsc +3 -3
  165. package/.next/server/app/connections/mcp.segments/connections.segment.rsc +4 -4
  166. package/.next/server/app/connections/messaging/page/next-font-manifest.json +4 -2
  167. package/.next/server/app/connections/messaging/page/react-loadable-manifest.json +1 -1
  168. package/.next/server/app/connections/messaging/page.js.nft.json +1 -1
  169. package/.next/server/app/connections/messaging/page_client-reference-manifest.js +1 -1
  170. package/.next/server/app/connections/messaging.html +1 -1
  171. package/.next/server/app/connections/messaging.rsc +19 -18
  172. package/.next/server/app/connections/messaging.segments/_full.segment.rsc +19 -18
  173. package/.next/server/app/connections/messaging.segments/_head.segment.rsc +4 -4
  174. package/.next/server/app/connections/messaging.segments/_index.segment.rsc +10 -10
  175. package/.next/server/app/connections/messaging.segments/_tree.segment.rsc +3 -2
  176. package/.next/server/app/connections/messaging.segments/connections/messaging/__PAGE__.segment.rsc +4 -4
  177. package/.next/server/app/connections/messaging.segments/connections/messaging.segment.rsc +3 -3
  178. package/.next/server/app/connections/messaging.segments/connections.segment.rsc +4 -4
  179. package/.next/server/app/connections/notes/page/app-paths-manifest.json +3 -0
  180. package/.next/server/app/connections/notes/page/next-font-manifest.json +8 -0
  181. package/.next/server/app/{settings/backends → connections/notes}/page/react-loadable-manifest.json +1 -1
  182. package/.next/server/app/connections/{knowledge → notes}/page.js +6 -6
  183. package/.next/server/app/{settings/schedule → connections/notes}/page.js.nft.json +1 -1
  184. package/.next/server/app/connections/notes/page_client-reference-manifest.js +3 -0
  185. package/.next/server/app/connections/notes.html +1 -0
  186. package/.next/server/app/connections/{knowledge.meta → notes.meta} +3 -3
  187. package/.next/server/app/connections/notes.rsc +28 -0
  188. package/.next/server/app/connections/notes.segments/_full.segment.rsc +28 -0
  189. package/.next/server/app/connections/notes.segments/_head.segment.rsc +6 -0
  190. package/.next/server/app/connections/notes.segments/_index.segment.rsc +11 -0
  191. package/.next/server/app/connections/notes.segments/_tree.segment.rsc +3 -0
  192. package/.next/server/app/connections/notes.segments/connections/notes/__PAGE__.segment.rsc +9 -0
  193. package/.next/server/app/connections/notes.segments/connections/notes.segment.rsc +5 -0
  194. package/.next/server/app/connections/notes.segments/connections.segment.rsc +5 -0
  195. package/.next/server/app/connections/page/next-font-manifest.json +4 -2
  196. package/.next/server/app/connections/page/react-loadable-manifest.json +1 -1
  197. package/.next/server/app/connections/page.js.nft.json +1 -1
  198. package/.next/server/app/connections/page_client-reference-manifest.js +1 -1
  199. package/.next/server/app/connections/repositories/page/next-font-manifest.json +4 -2
  200. package/.next/server/app/connections/repositories/page/react-loadable-manifest.json +1 -1
  201. package/.next/server/app/connections/repositories/page.js.nft.json +1 -1
  202. package/.next/server/app/connections/repositories/page_client-reference-manifest.js +1 -1
  203. package/.next/server/app/connections/repositories.html +1 -1
  204. package/.next/server/app/connections/repositories.rsc +23 -21
  205. package/.next/server/app/connections/repositories.segments/_full.segment.rsc +23 -21
  206. package/.next/server/app/connections/repositories.segments/_head.segment.rsc +4 -4
  207. package/.next/server/app/connections/repositories.segments/_index.segment.rsc +10 -10
  208. package/.next/server/app/connections/repositories.segments/_tree.segment.rsc +3 -2
  209. package/.next/server/app/connections/repositories.segments/connections/repositories/__PAGE__.segment.rsc +4 -4
  210. package/.next/server/app/connections/repositories.segments/connections/repositories.segment.rsc +3 -3
  211. package/.next/server/app/connections/repositories.segments/connections.segment.rsc +4 -4
  212. package/.next/server/app/connections/routines/page/next-font-manifest.json +4 -2
  213. package/.next/server/app/connections/routines/page/react-loadable-manifest.json +1 -1
  214. package/.next/server/app/connections/routines/page.js.nft.json +1 -1
  215. package/.next/server/app/connections/routines/page_client-reference-manifest.js +1 -1
  216. package/.next/server/app/connections/routines.html +1 -1
  217. package/.next/server/app/connections/routines.rsc +18 -17
  218. package/.next/server/app/connections/routines.segments/_full.segment.rsc +18 -17
  219. package/.next/server/app/connections/routines.segments/_head.segment.rsc +4 -4
  220. package/.next/server/app/connections/routines.segments/_index.segment.rsc +10 -10
  221. package/.next/server/app/connections/routines.segments/_tree.segment.rsc +3 -2
  222. package/.next/server/app/connections/routines.segments/connections/routines/__PAGE__.segment.rsc +3 -3
  223. package/.next/server/app/connections/routines.segments/connections/routines.segment.rsc +3 -3
  224. package/.next/server/app/connections/routines.segments/connections.segment.rsc +4 -4
  225. package/.next/server/app/connections.html +1 -1
  226. package/.next/server/app/connections.rsc +17 -16
  227. package/.next/server/app/connections.segments/_full.segment.rsc +17 -16
  228. package/.next/server/app/connections.segments/_head.segment.rsc +4 -4
  229. package/.next/server/app/connections.segments/_index.segment.rsc +10 -10
  230. package/.next/server/app/connections.segments/_tree.segment.rsc +3 -2
  231. package/.next/server/app/connections.segments/connections/__PAGE__.segment.rsc +2 -2
  232. package/.next/server/app/connections.segments/connections.segment.rsc +4 -4
  233. package/.next/server/app/conversations/[id]/page/next-font-manifest.json +4 -2
  234. package/.next/server/app/conversations/[id]/page/react-loadable-manifest.json +1 -1
  235. package/.next/server/app/conversations/[id]/page.js.nft.json +1 -1
  236. package/.next/server/app/conversations/[id]/page_client-reference-manifest.js +1 -1
  237. package/.next/server/app/conversations/page/next-font-manifest.json +4 -2
  238. package/.next/server/app/conversations/page/react-loadable-manifest.json +1 -1
  239. package/.next/server/app/conversations/page.js.nft.json +1 -1
  240. package/.next/server/app/conversations/page_client-reference-manifest.js +1 -1
  241. package/.next/server/app/conversations.html +1 -1
  242. package/.next/server/app/conversations.rsc +16 -15
  243. package/.next/server/app/conversations.segments/_full.segment.rsc +16 -15
  244. package/.next/server/app/conversations.segments/_head.segment.rsc +4 -4
  245. package/.next/server/app/conversations.segments/_index.segment.rsc +10 -10
  246. package/.next/server/app/conversations.segments/_tree.segment.rsc +3 -2
  247. package/.next/server/app/conversations.segments/conversations/__PAGE__.segment.rsc +2 -2
  248. package/.next/server/app/conversations.segments/conversations.segment.rsc +3 -3
  249. package/.next/server/app/docs/[[...slug]]/page/next-font-manifest.json +4 -2
  250. package/.next/server/app/docs/[[...slug]]/page/react-loadable-manifest.json +1 -1
  251. package/.next/server/app/docs/[[...slug]]/page.js.nft.json +1 -1
  252. package/.next/server/app/docs/[[...slug]]/page_client-reference-manifest.js +1 -1
  253. package/.next/server/app/finance/page/next-font-manifest.json +4 -2
  254. package/.next/server/app/finance/page/react-loadable-manifest.json +1 -1
  255. package/.next/server/app/finance/page.js.nft.json +1 -1
  256. package/.next/server/app/finance/page_client-reference-manifest.js +1 -1
  257. package/.next/server/app/finance.html +1 -1
  258. package/.next/server/app/finance.rsc +18 -17
  259. package/.next/server/app/finance.segments/_full.segment.rsc +18 -17
  260. package/.next/server/app/finance.segments/_head.segment.rsc +4 -4
  261. package/.next/server/app/finance.segments/_index.segment.rsc +10 -10
  262. package/.next/server/app/finance.segments/_tree.segment.rsc +3 -2
  263. package/.next/server/app/finance.segments/finance/__PAGE__.segment.rsc +4 -4
  264. package/.next/server/app/finance.segments/finance.segment.rsc +3 -3
  265. package/.next/server/app/git/page/next-font-manifest.json +4 -2
  266. package/.next/server/app/git/page/react-loadable-manifest.json +1 -1
  267. package/.next/server/app/git/page.js.nft.json +1 -1
  268. package/.next/server/app/git/page_client-reference-manifest.js +1 -1
  269. package/.next/server/app/git.html +1 -1
  270. package/.next/server/app/git.rsc +18 -17
  271. package/.next/server/app/git.segments/_full.segment.rsc +18 -17
  272. package/.next/server/app/git.segments/_head.segment.rsc +4 -4
  273. package/.next/server/app/git.segments/_index.segment.rsc +10 -10
  274. package/.next/server/app/git.segments/_tree.segment.rsc +3 -2
  275. package/.next/server/app/git.segments/git/__PAGE__.segment.rsc +4 -4
  276. package/.next/server/app/git.segments/git.segment.rsc +3 -3
  277. package/.next/server/app/health/page/next-font-manifest.json +4 -2
  278. package/.next/server/app/health/page/react-loadable-manifest.json +1 -1
  279. package/.next/server/app/health/page.js.nft.json +1 -1
  280. package/.next/server/app/health/page_client-reference-manifest.js +1 -1
  281. package/.next/server/app/health.html +1 -1
  282. package/.next/server/app/health.rsc +18 -17
  283. package/.next/server/app/health.segments/_full.segment.rsc +18 -17
  284. package/.next/server/app/health.segments/_head.segment.rsc +4 -4
  285. package/.next/server/app/health.segments/_index.segment.rsc +10 -10
  286. package/.next/server/app/health.segments/_tree.segment.rsc +3 -2
  287. package/.next/server/app/health.segments/health/__PAGE__.segment.rsc +4 -4
  288. package/.next/server/app/health.segments/health.segment.rsc +3 -3
  289. package/.next/server/app/index.html +1 -1
  290. package/.next/server/app/index.rsc +18 -17
  291. package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  292. package/.next/server/app/index.segments/_full.segment.rsc +18 -17
  293. package/.next/server/app/index.segments/_head.segment.rsc +4 -4
  294. package/.next/server/app/index.segments/_index.segment.rsc +10 -10
  295. package/.next/server/app/index.segments/_tree.segment.rsc +3 -2
  296. package/.next/server/app/knowledge/page/next-font-manifest.json +4 -2
  297. package/.next/server/app/knowledge/page/react-loadable-manifest.json +1 -1
  298. package/.next/server/app/knowledge/page.js.nft.json +1 -1
  299. package/.next/server/app/knowledge/page_client-reference-manifest.js +1 -1
  300. package/.next/server/app/knowledge.html +1 -1
  301. package/.next/server/app/knowledge.rsc +19 -18
  302. package/.next/server/app/knowledge.segments/_full.segment.rsc +19 -18
  303. package/.next/server/app/knowledge.segments/_head.segment.rsc +4 -4
  304. package/.next/server/app/knowledge.segments/_index.segment.rsc +10 -10
  305. package/.next/server/app/knowledge.segments/_tree.segment.rsc +3 -2
  306. package/.next/server/app/knowledge.segments/knowledge/__PAGE__.segment.rsc +4 -4
  307. package/.next/server/app/knowledge.segments/knowledge.segment.rsc +4 -4
  308. package/.next/server/app/page/next-font-manifest.json +4 -2
  309. package/.next/server/app/page/react-loadable-manifest.json +1 -1
  310. package/.next/server/app/page.js.nft.json +1 -1
  311. package/.next/server/app/page_client-reference-manifest.js +1 -1
  312. package/.next/server/app/reading/page/next-font-manifest.json +4 -2
  313. package/.next/server/app/reading/page/react-loadable-manifest.json +1 -1
  314. package/.next/server/app/reading/page.js.nft.json +1 -1
  315. package/.next/server/app/reading/page_client-reference-manifest.js +1 -1
  316. package/.next/server/app/reading.html +1 -1
  317. package/.next/server/app/reading.rsc +18 -17
  318. package/.next/server/app/reading.segments/_full.segment.rsc +18 -17
  319. package/.next/server/app/reading.segments/_head.segment.rsc +4 -4
  320. package/.next/server/app/reading.segments/_index.segment.rsc +10 -10
  321. package/.next/server/app/reading.segments/_tree.segment.rsc +3 -2
  322. package/.next/server/app/reading.segments/reading/__PAGE__.segment.rsc +4 -4
  323. package/.next/server/app/reading.segments/reading.segment.rsc +3 -3
  324. package/.next/server/app/schedule/page/next-font-manifest.json +4 -2
  325. package/.next/server/app/schedule/page/react-loadable-manifest.json +1 -1
  326. package/.next/server/app/schedule/page.js.nft.json +1 -1
  327. package/.next/server/app/schedule/page_client-reference-manifest.js +1 -1
  328. package/.next/server/app/schedule.html +1 -1
  329. package/.next/server/app/schedule.rsc +18 -17
  330. package/.next/server/app/schedule.segments/_full.segment.rsc +18 -17
  331. package/.next/server/app/schedule.segments/_head.segment.rsc +4 -4
  332. package/.next/server/app/schedule.segments/_index.segment.rsc +10 -10
  333. package/.next/server/app/schedule.segments/_tree.segment.rsc +3 -2
  334. package/.next/server/app/schedule.segments/schedule/__PAGE__.segment.rsc +4 -4
  335. package/.next/server/app/schedule.segments/schedule.segment.rsc +3 -3
  336. package/.next/server/app/settings/commands/page/next-font-manifest.json +4 -2
  337. package/.next/server/app/settings/commands/page/react-loadable-manifest.json +1 -1
  338. package/.next/server/app/settings/commands/page.js.nft.json +1 -1
  339. package/.next/server/app/settings/commands/page_client-reference-manifest.js +1 -1
  340. package/.next/server/app/settings/commands.html +1 -1
  341. package/.next/server/app/settings/commands.rsc +19 -18
  342. package/.next/server/app/settings/commands.segments/_full.segment.rsc +19 -18
  343. package/.next/server/app/settings/commands.segments/_head.segment.rsc +4 -4
  344. package/.next/server/app/settings/commands.segments/_index.segment.rsc +10 -10
  345. package/.next/server/app/settings/commands.segments/_tree.segment.rsc +3 -2
  346. package/.next/server/app/settings/commands.segments/settings/commands/__PAGE__.segment.rsc +4 -4
  347. package/.next/server/app/settings/commands.segments/settings/commands.segment.rsc +3 -3
  348. package/.next/server/app/settings/commands.segments/settings.segment.rsc +4 -4
  349. package/.next/server/app/settings/danger-zone/page/app-paths-manifest.json +3 -0
  350. package/.next/server/app/settings/danger-zone/page/next-font-manifest.json +8 -0
  351. package/.next/server/app/{connections/knowledge → settings/danger-zone}/page/react-loadable-manifest.json +1 -1
  352. package/.next/server/app/settings/{advanced → danger-zone}/page.js +6 -6
  353. package/.next/server/app/settings/{connections → danger-zone}/page.js.nft.json +1 -1
  354. package/.next/server/app/settings/danger-zone/page_client-reference-manifest.js +3 -0
  355. package/.next/server/app/settings/danger-zone.html +1 -0
  356. package/.next/server/app/settings/{advanced.meta → danger-zone.meta} +3 -3
  357. package/.next/server/app/settings/danger-zone.rsc +28 -0
  358. package/.next/server/app/settings/danger-zone.segments/_full.segment.rsc +28 -0
  359. package/.next/server/app/settings/danger-zone.segments/_head.segment.rsc +6 -0
  360. package/.next/server/app/settings/danger-zone.segments/_index.segment.rsc +11 -0
  361. package/.next/server/app/settings/danger-zone.segments/_tree.segment.rsc +3 -0
  362. package/.next/server/app/settings/danger-zone.segments/settings/danger-zone/__PAGE__.segment.rsc +9 -0
  363. package/.next/server/app/settings/danger-zone.segments/settings/danger-zone.segment.rsc +5 -0
  364. package/.next/server/app/settings/danger-zone.segments/settings.segment.rsc +5 -0
  365. package/.next/server/app/settings/hours/page/app-paths-manifest.json +3 -0
  366. package/.next/server/app/settings/hours/page/next-font-manifest.json +8 -0
  367. package/.next/server/app/settings/{connections → hours}/page/react-loadable-manifest.json +1 -1
  368. package/.next/server/app/settings/{routines → hours}/page.js +6 -6
  369. package/.next/server/app/settings/{journal → hours}/page.js.nft.json +1 -1
  370. package/.next/server/app/settings/hours/page_client-reference-manifest.js +3 -0
  371. package/.next/server/app/settings/hours.html +1 -0
  372. package/.next/server/app/settings/{journal.meta → hours.meta} +3 -3
  373. package/.next/server/app/settings/hours.rsc +28 -0
  374. package/.next/server/app/settings/hours.segments/_full.segment.rsc +28 -0
  375. package/.next/server/app/settings/hours.segments/_head.segment.rsc +6 -0
  376. package/.next/server/app/settings/hours.segments/_index.segment.rsc +11 -0
  377. package/.next/server/app/settings/hours.segments/_tree.segment.rsc +3 -0
  378. package/.next/server/app/settings/hours.segments/settings/hours/__PAGE__.segment.rsc +9 -0
  379. package/.next/server/app/settings/hours.segments/settings/hours.segment.rsc +5 -0
  380. package/.next/server/app/settings/hours.segments/settings.segment.rsc +5 -0
  381. package/.next/server/app/settings/infrastructure/page/app-paths-manifest.json +3 -0
  382. package/.next/server/app/settings/infrastructure/page/next-font-manifest.json +8 -0
  383. package/.next/server/app/settings/infrastructure/page/react-loadable-manifest.json +8 -0
  384. package/.next/server/app/settings/{schedule → infrastructure}/page.js +6 -6
  385. package/.next/server/app/settings/{backends → infrastructure}/page.js.nft.json +1 -1
  386. package/.next/server/app/settings/infrastructure/page_client-reference-manifest.js +3 -0
  387. package/.next/server/app/settings/infrastructure.html +1 -0
  388. package/.next/server/app/settings/{connections.meta → infrastructure.meta} +3 -3
  389. package/.next/server/app/settings/infrastructure.rsc +28 -0
  390. package/.next/server/app/settings/infrastructure.segments/_full.segment.rsc +28 -0
  391. package/.next/server/app/settings/infrastructure.segments/_head.segment.rsc +6 -0
  392. package/.next/server/app/settings/infrastructure.segments/_index.segment.rsc +11 -0
  393. package/.next/server/app/settings/infrastructure.segments/_tree.segment.rsc +3 -0
  394. package/.next/server/app/settings/infrastructure.segments/settings/infrastructure/__PAGE__.segment.rsc +9 -0
  395. package/.next/server/app/settings/infrastructure.segments/settings/infrastructure.segment.rsc +5 -0
  396. package/.next/server/app/settings/infrastructure.segments/settings.segment.rsc +5 -0
  397. package/.next/server/app/settings/integrations/browser-history/page/next-font-manifest.json +4 -2
  398. package/.next/server/app/settings/integrations/browser-history/page/react-loadable-manifest.json +1 -1
  399. package/.next/server/app/settings/integrations/browser-history/page.js.nft.json +1 -1
  400. package/.next/server/app/settings/integrations/browser-history/page_client-reference-manifest.js +1 -1
  401. package/.next/server/app/settings/integrations/browser-history-managed/b4/page/next-font-manifest.json +4 -2
  402. package/.next/server/app/settings/integrations/browser-history-managed/b4/page/react-loadable-manifest.json +1 -1
  403. package/.next/server/app/settings/integrations/browser-history-managed/b4/page.js.nft.json +1 -1
  404. package/.next/server/app/settings/integrations/browser-history-managed/b4/page_client-reference-manifest.js +1 -1
  405. package/.next/server/app/settings/integrations/browser-history-managed/b4.html +1 -1
  406. package/.next/server/app/settings/integrations/browser-history-managed/b4.rsc +19 -18
  407. package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/_full.segment.rsc +19 -18
  408. package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/_head.segment.rsc +4 -4
  409. package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/_index.segment.rsc +10 -10
  410. package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/_tree.segment.rsc +3 -2
  411. package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings/integrations/browser-history-managed/b4/__PAGE__.segment.rsc +4 -4
  412. package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings/integrations/browser-history-managed/b4.segment.rsc +3 -3
  413. package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings/integrations/browser-history-managed.segment.rsc +3 -3
  414. package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings/integrations.segment.rsc +3 -3
  415. package/.next/server/app/settings/integrations/browser-history-managed/b4.segments/settings.segment.rsc +4 -4
  416. package/.next/server/app/settings/integrations/browser-history-managed/page/next-font-manifest.json +4 -2
  417. package/.next/server/app/settings/integrations/browser-history-managed/page/react-loadable-manifest.json +1 -1
  418. package/.next/server/app/settings/integrations/browser-history-managed/page.js.nft.json +1 -1
  419. package/.next/server/app/settings/integrations/browser-history-managed/page_client-reference-manifest.js +1 -1
  420. package/.next/server/app/settings/integrations/browser-history-managed.html +1 -1
  421. package/.next/server/app/settings/integrations/browser-history-managed.rsc +19 -18
  422. package/.next/server/app/settings/integrations/browser-history-managed.segments/_full.segment.rsc +19 -18
  423. package/.next/server/app/settings/integrations/browser-history-managed.segments/_head.segment.rsc +4 -4
  424. package/.next/server/app/settings/integrations/browser-history-managed.segments/_index.segment.rsc +10 -10
  425. package/.next/server/app/settings/integrations/browser-history-managed.segments/_tree.segment.rsc +3 -2
  426. package/.next/server/app/settings/integrations/browser-history-managed.segments/settings/integrations/browser-history-managed/__PAGE__.segment.rsc +4 -4
  427. package/.next/server/app/settings/integrations/browser-history-managed.segments/settings/integrations/browser-history-managed.segment.rsc +3 -3
  428. package/.next/server/app/settings/integrations/browser-history-managed.segments/settings/integrations.segment.rsc +3 -3
  429. package/.next/server/app/settings/integrations/browser-history-managed.segments/settings.segment.rsc +4 -4
  430. package/.next/server/app/settings/integrations/browser-history.html +1 -1
  431. package/.next/server/app/settings/integrations/browser-history.rsc +19 -18
  432. package/.next/server/app/settings/integrations/browser-history.segments/_full.segment.rsc +19 -18
  433. package/.next/server/app/settings/integrations/browser-history.segments/_head.segment.rsc +4 -4
  434. package/.next/server/app/settings/integrations/browser-history.segments/_index.segment.rsc +10 -10
  435. package/.next/server/app/settings/integrations/browser-history.segments/_tree.segment.rsc +3 -2
  436. package/.next/server/app/settings/integrations/browser-history.segments/settings/integrations/browser-history/__PAGE__.segment.rsc +4 -4
  437. package/.next/server/app/settings/integrations/browser-history.segments/settings/integrations/browser-history.segment.rsc +3 -3
  438. package/.next/server/app/settings/integrations/browser-history.segments/settings/integrations.segment.rsc +3 -3
  439. package/.next/server/app/settings/integrations/browser-history.segments/settings.segment.rsc +4 -4
  440. package/.next/server/app/settings/lessons/page/next-font-manifest.json +4 -2
  441. package/.next/server/app/settings/lessons/page/react-loadable-manifest.json +1 -1
  442. package/.next/server/app/settings/lessons/page.js.nft.json +1 -1
  443. package/.next/server/app/settings/lessons/page_client-reference-manifest.js +1 -1
  444. package/.next/server/app/settings/lessons.html +1 -1
  445. package/.next/server/app/settings/lessons.rsc +19 -18
  446. package/.next/server/app/settings/lessons.segments/_full.segment.rsc +19 -18
  447. package/.next/server/app/settings/lessons.segments/_head.segment.rsc +4 -4
  448. package/.next/server/app/settings/lessons.segments/_index.segment.rsc +10 -10
  449. package/.next/server/app/settings/lessons.segments/_tree.segment.rsc +3 -2
  450. package/.next/server/app/settings/lessons.segments/settings/lessons/__PAGE__.segment.rsc +4 -4
  451. package/.next/server/app/settings/lessons.segments/settings/lessons.segment.rsc +3 -3
  452. package/.next/server/app/settings/lessons.segments/settings.segment.rsc +4 -4
  453. package/.next/server/app/settings/management/page/next-font-manifest.json +4 -2
  454. package/.next/server/app/settings/management/page/react-loadable-manifest.json +1 -1
  455. package/.next/server/app/settings/management/page.js.nft.json +1 -1
  456. package/.next/server/app/settings/management/page_client-reference-manifest.js +1 -1
  457. package/.next/server/app/settings/management.html +1 -1
  458. package/.next/server/app/settings/management.rsc +19 -18
  459. package/.next/server/app/settings/management.segments/_full.segment.rsc +19 -18
  460. package/.next/server/app/settings/management.segments/_head.segment.rsc +4 -4
  461. package/.next/server/app/settings/management.segments/_index.segment.rsc +10 -10
  462. package/.next/server/app/settings/management.segments/_tree.segment.rsc +3 -2
  463. package/.next/server/app/settings/management.segments/settings/management/__PAGE__.segment.rsc +4 -4
  464. package/.next/server/app/settings/management.segments/settings/management.segment.rsc +3 -3
  465. package/.next/server/app/settings/management.segments/settings.segment.rsc +4 -4
  466. package/.next/server/app/settings/models/page/next-font-manifest.json +4 -2
  467. package/.next/server/app/settings/models/page/react-loadable-manifest.json +1 -1
  468. package/.next/server/app/settings/models/page.js.nft.json +1 -1
  469. package/.next/server/app/settings/models/page_client-reference-manifest.js +1 -1
  470. package/.next/server/app/settings/models.html +1 -1
  471. package/.next/server/app/settings/models.rsc +19 -18
  472. package/.next/server/app/settings/models.segments/_full.segment.rsc +19 -18
  473. package/.next/server/app/settings/models.segments/_head.segment.rsc +4 -4
  474. package/.next/server/app/settings/models.segments/_index.segment.rsc +10 -10
  475. package/.next/server/app/settings/models.segments/_tree.segment.rsc +3 -2
  476. package/.next/server/app/settings/models.segments/settings/models/__PAGE__.segment.rsc +4 -4
  477. package/.next/server/app/settings/models.segments/settings/models.segment.rsc +3 -3
  478. package/.next/server/app/settings/models.segments/settings.segment.rsc +4 -4
  479. package/.next/server/app/settings/page/next-font-manifest.json +4 -2
  480. package/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
  481. package/.next/server/app/settings/page.js.nft.json +1 -1
  482. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  483. package/.next/server/app/settings/safety/page/app-paths-manifest.json +3 -0
  484. package/.next/server/app/settings/safety/page/next-font-manifest.json +8 -0
  485. package/.next/server/app/settings/safety/page/react-loadable-manifest.json +8 -0
  486. package/.next/server/app/settings/{journal → safety}/page.js +6 -6
  487. package/.next/server/app/settings/{processes → safety}/page.js.nft.json +1 -1
  488. package/.next/server/app/settings/safety/page_client-reference-manifest.js +3 -0
  489. package/.next/server/app/settings/safety.html +1 -0
  490. package/.next/server/app/settings/{backends.meta → safety.meta} +3 -3
  491. package/.next/server/app/settings/safety.rsc +28 -0
  492. package/.next/server/app/settings/safety.segments/_full.segment.rsc +28 -0
  493. package/.next/server/app/settings/safety.segments/_head.segment.rsc +6 -0
  494. package/.next/server/app/settings/safety.segments/_index.segment.rsc +11 -0
  495. package/.next/server/app/settings/safety.segments/_tree.segment.rsc +3 -0
  496. package/.next/server/app/settings/safety.segments/settings/safety/__PAGE__.segment.rsc +9 -0
  497. package/.next/server/app/settings/safety.segments/settings/safety.segment.rsc +5 -0
  498. package/.next/server/app/settings/safety.segments/settings.segment.rsc +5 -0
  499. package/.next/server/app/settings/self-learning/page/next-font-manifest.json +4 -2
  500. package/.next/server/app/settings/self-learning/page/react-loadable-manifest.json +1 -1
  501. package/.next/server/app/settings/self-learning/page.js.nft.json +1 -1
  502. package/.next/server/app/settings/self-learning/page_client-reference-manifest.js +1 -1
  503. package/.next/server/app/settings/self-learning.html +1 -1
  504. package/.next/server/app/settings/self-learning.rsc +19 -18
  505. package/.next/server/app/settings/self-learning.segments/_full.segment.rsc +19 -18
  506. package/.next/server/app/settings/self-learning.segments/_head.segment.rsc +4 -4
  507. package/.next/server/app/settings/self-learning.segments/_index.segment.rsc +10 -10
  508. package/.next/server/app/settings/self-learning.segments/_tree.segment.rsc +3 -2
  509. package/.next/server/app/settings/self-learning.segments/settings/self-learning/__PAGE__.segment.rsc +4 -4
  510. package/.next/server/app/settings/self-learning.segments/settings/self-learning.segment.rsc +3 -3
  511. package/.next/server/app/settings/self-learning.segments/settings.segment.rsc +4 -4
  512. package/.next/server/app/settings/wiki/page/next-font-manifest.json +4 -2
  513. package/.next/server/app/settings/wiki/page/react-loadable-manifest.json +1 -1
  514. package/.next/server/app/settings/wiki/page.js.nft.json +1 -1
  515. package/.next/server/app/settings/wiki/page_client-reference-manifest.js +1 -1
  516. package/.next/server/app/settings/wiki/timeline/page/next-font-manifest.json +4 -2
  517. package/.next/server/app/settings/wiki/timeline/page/react-loadable-manifest.json +1 -1
  518. package/.next/server/app/settings/wiki/timeline/page.js.nft.json +1 -1
  519. package/.next/server/app/settings/wiki/timeline/page_client-reference-manifest.js +1 -1
  520. package/.next/server/app/settings/wiki/timeline.html +1 -1
  521. package/.next/server/app/settings/wiki/timeline.rsc +17 -16
  522. package/.next/server/app/settings/wiki/timeline.segments/_full.segment.rsc +17 -16
  523. package/.next/server/app/settings/wiki/timeline.segments/_head.segment.rsc +4 -4
  524. package/.next/server/app/settings/wiki/timeline.segments/_index.segment.rsc +10 -10
  525. package/.next/server/app/settings/wiki/timeline.segments/_tree.segment.rsc +3 -2
  526. package/.next/server/app/settings/wiki/timeline.segments/settings/wiki/timeline/__PAGE__.segment.rsc +2 -2
  527. package/.next/server/app/settings/wiki/timeline.segments/settings/wiki/timeline.segment.rsc +3 -3
  528. package/.next/server/app/settings/wiki/timeline.segments/settings/wiki.segment.rsc +3 -3
  529. package/.next/server/app/settings/wiki/timeline.segments/settings.segment.rsc +4 -4
  530. package/.next/server/app/settings/wiki.html +1 -1
  531. package/.next/server/app/settings/wiki.rsc +19 -18
  532. package/.next/server/app/settings/wiki.segments/_full.segment.rsc +19 -18
  533. package/.next/server/app/settings/wiki.segments/_head.segment.rsc +4 -4
  534. package/.next/server/app/settings/wiki.segments/_index.segment.rsc +10 -10
  535. package/.next/server/app/settings/wiki.segments/_tree.segment.rsc +3 -2
  536. package/.next/server/app/settings/wiki.segments/settings/wiki/__PAGE__.segment.rsc +4 -4
  537. package/.next/server/app/settings/wiki.segments/settings/wiki.segment.rsc +3 -3
  538. package/.next/server/app/settings/wiki.segments/settings.segment.rsc +4 -4
  539. package/.next/server/app/settings.html +1 -1
  540. package/.next/server/app/settings.rsc +19 -18
  541. package/.next/server/app/settings.segments/_full.segment.rsc +19 -18
  542. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  543. package/.next/server/app/settings.segments/_index.segment.rsc +10 -10
  544. package/.next/server/app/settings.segments/_tree.segment.rsc +3 -2
  545. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  546. package/.next/server/app/settings.segments/settings.segment.rsc +4 -4
  547. package/.next/server/app/setup/page/next-font-manifest.json +4 -2
  548. package/.next/server/app/setup/page/react-loadable-manifest.json +1 -1
  549. package/.next/server/app/setup/page.js.nft.json +1 -1
  550. package/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  551. package/.next/server/app/setup.html +1 -1
  552. package/.next/server/app/setup.rsc +18 -17
  553. package/.next/server/app/setup.segments/_full.segment.rsc +18 -17
  554. package/.next/server/app/setup.segments/_head.segment.rsc +4 -4
  555. package/.next/server/app/setup.segments/_index.segment.rsc +10 -10
  556. package/.next/server/app/setup.segments/_tree.segment.rsc +3 -2
  557. package/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +4 -4
  558. package/.next/server/app/setup.segments/setup.segment.rsc +3 -3
  559. package/.next/server/app/trip/page/next-font-manifest.json +4 -2
  560. package/.next/server/app/trip/page/react-loadable-manifest.json +1 -1
  561. package/.next/server/app/trip/page.js.nft.json +1 -1
  562. package/.next/server/app/trip/page_client-reference-manifest.js +1 -1
  563. package/.next/server/app/trip.html +1 -1
  564. package/.next/server/app/trip.rsc +18 -17
  565. package/.next/server/app/trip.segments/_full.segment.rsc +18 -17
  566. package/.next/server/app/trip.segments/_head.segment.rsc +4 -4
  567. package/.next/server/app/trip.segments/_index.segment.rsc +10 -10
  568. package/.next/server/app/trip.segments/_tree.segment.rsc +3 -2
  569. package/.next/server/app/trip.segments/trip/__PAGE__.segment.rsc +4 -4
  570. package/.next/server/app/trip.segments/trip.segment.rsc +3 -3
  571. package/.next/server/app/wiki/page/next-font-manifest.json +4 -2
  572. package/.next/server/app/wiki/page/react-loadable-manifest.json +1 -1
  573. package/.next/server/app/wiki/page.js.nft.json +1 -1
  574. package/.next/server/app/wiki/page_client-reference-manifest.js +1 -1
  575. package/.next/server/app/wiki/timeline/page/next-font-manifest.json +4 -2
  576. package/.next/server/app/wiki/timeline/page/react-loadable-manifest.json +1 -1
  577. package/.next/server/app/wiki/timeline/page.js.nft.json +1 -1
  578. package/.next/server/app/wiki/timeline/page_client-reference-manifest.js +1 -1
  579. package/.next/server/app/wiki/timeline.html +1 -1
  580. package/.next/server/app/wiki/timeline.rsc +18 -17
  581. package/.next/server/app/wiki/timeline.segments/_full.segment.rsc +18 -17
  582. package/.next/server/app/wiki/timeline.segments/_head.segment.rsc +4 -4
  583. package/.next/server/app/wiki/timeline.segments/_index.segment.rsc +10 -10
  584. package/.next/server/app/wiki/timeline.segments/_tree.segment.rsc +3 -2
  585. package/.next/server/app/wiki/timeline.segments/wiki/timeline/__PAGE__.segment.rsc +4 -4
  586. package/.next/server/app/wiki/timeline.segments/wiki/timeline.segment.rsc +3 -3
  587. package/.next/server/app/wiki/timeline.segments/wiki.segment.rsc +3 -3
  588. package/.next/server/app/wiki.html +1 -1
  589. package/.next/server/app/wiki.rsc +18 -17
  590. package/.next/server/app/wiki.segments/_full.segment.rsc +18 -17
  591. package/.next/server/app/wiki.segments/_head.segment.rsc +4 -4
  592. package/.next/server/app/wiki.segments/_index.segment.rsc +10 -10
  593. package/.next/server/app/wiki.segments/_tree.segment.rsc +3 -2
  594. package/.next/server/app/wiki.segments/wiki/__PAGE__.segment.rsc +4 -4
  595. package/.next/server/app/wiki.segments/wiki.segment.rsc +3 -3
  596. package/.next/server/app-paths-manifest.json +6 -9
  597. package/.next/server/chunks/0z~i_next_dist_esm_build_templates_app-route_0o_o_hp.js +1 -1
  598. package/.next/server/chunks/[root-of-the-server]__02gp4s0._.js +1 -1
  599. package/.next/server/chunks/[root-of-the-server]__0gckkni._.js +1 -1
  600. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_connections_notes_page_actions_04zn1-i.js +3 -0
  601. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_danger-zone_page_actions_0mp3gc-.js +3 -0
  602. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_safety_page_actions_05rsfax.js +3 -0
  603. package/.next/server/chunks/ssr/0juq_dashboard_src_app_settings_integrations_browser-history_page_tsx_0.30t~j._.js +1 -1
  604. package/.next/server/chunks/ssr/0x9-__next-internal_server_app_settings_infrastructure_page_actions_0u8fwic.js +3 -0
  605. package/.next/server/chunks/ssr/0x9-_src_app_settings_integrations_browser-history-managed_b4_page_tsx_03zkdyv._.js +1 -1
  606. package/.next/server/chunks/ssr/0x9-_src_app_settings_integrations_browser-history-managed_page_tsx_0q.v5ph._.js +1 -1
  607. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0-xf3nq.js +1 -1
  608. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_05t.o5v.js +4 -0
  609. package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0rzk_wb.js → 0z~i_next_dist_esm_build_templates_app-page_07tjgqy.js} +3 -3
  610. package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0dgjd77.js → 0z~i_next_dist_esm_build_templates_app-page_08-8pml.js} +3 -3
  611. package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0~l1-oo.js → 0z~i_next_dist_esm_build_templates_app-page_0_hw.~x.js} +3 -3
  612. package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0i5nfg6.js → 0z~i_next_dist_esm_build_templates_app-page_0gja0sp.js} +3 -3
  613. package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0i3pbzc.js → 0z~i_next_dist_esm_build_templates_app-page_0xk7dvj.js} +3 -3
  614. package/.next/server/chunks/ssr/{[root-of-the-server]__0.oq_nd._.js → [root-of-the-server]__064iw-m._.js} +2 -2
  615. package/.next/server/chunks/ssr/[root-of-the-server]__0bcu47h._.js +3 -0
  616. package/.next/server/chunks/ssr/{[root-of-the-server]__0hxae6t._.js → [root-of-the-server]__0dz8grn._.js} +2 -2
  617. package/.next/server/chunks/ssr/[root-of-the-server]__0e3togs._.js +1 -1
  618. package/.next/server/chunks/ssr/[root-of-the-server]__0own5qk._.js +7 -0
  619. package/.next/server/chunks/ssr/{[root-of-the-server]__0k4~6v4._.js → [root-of-the-server]__0p.rqkz._.js} +2 -2
  620. package/.next/server/chunks/ssr/[root-of-the-server]__0twuzim._.js +1 -1
  621. package/.next/server/chunks/ssr/[root-of-the-server]__0v.2-w_._.js +9 -0
  622. package/.next/server/chunks/ssr/{[root-of-the-server]__0ku1mlh._.js → [root-of-the-server]__0x90fri._.js} +2 -2
  623. package/.next/server/chunks/ssr/{[root-of-the-server]__138v34b._.js → [root-of-the-server]__12ocbb6._.js} +2 -2
  624. package/.next/server/chunks/ssr/_0-fa0e6._.js +3 -0
  625. package/.next/server/chunks/ssr/_0-fv_sr._.js +1 -1
  626. package/.next/server/chunks/ssr/_0.83~vc._.js +3 -0
  627. package/.next/server/chunks/ssr/_0.buz~z._.js +3 -0
  628. package/.next/server/chunks/ssr/_00m~lu3._.js +3 -0
  629. package/.next/server/chunks/ssr/_00yd82b._.js +3 -0
  630. package/.next/server/chunks/ssr/_01u8_20._.js +1 -1
  631. package/.next/server/chunks/ssr/_02-~4_x._.js +3 -0
  632. package/.next/server/chunks/ssr/_03ylkmo._.js +1 -1
  633. package/.next/server/chunks/ssr/_042qll3._.js +3 -0
  634. package/.next/server/chunks/ssr/_05-nasq._.js +3 -0
  635. package/.next/server/chunks/ssr/_052c-d8._.js +1 -1
  636. package/.next/server/chunks/ssr/_05etcnw._.js +3 -0
  637. package/.next/server/chunks/ssr/_06pfh8i._.js +3 -0
  638. package/.next/server/chunks/ssr/_07y8~wo._.js +3 -0
  639. package/.next/server/chunks/ssr/_0837jo1._.js +1 -1
  640. package/.next/server/chunks/ssr/_095g5nv._.js +3 -0
  641. package/.next/server/chunks/ssr/_0_59iz5._.js +3 -0
  642. package/.next/server/chunks/ssr/_0_mohhy._.js +3 -0
  643. package/.next/server/chunks/ssr/_0_qa7ix._.js +3 -0
  644. package/.next/server/chunks/ssr/_0a0gitj._.js +3 -0
  645. package/.next/server/chunks/ssr/_0bbgll1._.js +3 -0
  646. package/.next/server/chunks/ssr/_0bsns8f._.js +3 -0
  647. package/.next/server/chunks/ssr/_0cus~q3._.js +3 -0
  648. package/.next/server/chunks/ssr/_0cwcz17._.js +1 -1
  649. package/.next/server/chunks/ssr/_0do3r93._.js +3 -0
  650. package/.next/server/chunks/ssr/_0eoqkp.._.js +3 -0
  651. package/.next/server/chunks/ssr/_0fse1qi._.js +3 -0
  652. package/.next/server/chunks/ssr/_0g7_r5i._.js +1 -1
  653. package/.next/server/chunks/ssr/_0h-mq6i._.js +3 -0
  654. package/.next/server/chunks/ssr/_0h7l~qt._.js +3 -0
  655. package/.next/server/chunks/ssr/_0hojxqy._.js +1 -1
  656. package/.next/server/chunks/ssr/_0jlpcde._.js +3 -0
  657. package/.next/server/chunks/ssr/_0kn1u4v._.js +3 -0
  658. package/.next/server/chunks/ssr/_0l7uzol._.js +3 -0
  659. package/.next/server/chunks/ssr/_0m~vcd.._.js +3 -0
  660. package/.next/server/chunks/ssr/_0n2_n8d._.js +3 -0
  661. package/.next/server/chunks/ssr/_0p4ugyq._.js +3 -0
  662. package/.next/server/chunks/ssr/_0pbcc~c._.js +3 -0
  663. package/.next/server/chunks/ssr/_0q6ga5s._.js +3 -0
  664. package/.next/server/chunks/ssr/_0rcvmzk._.js +3 -0
  665. package/.next/server/chunks/ssr/_0tl98en._.js +1 -1
  666. package/.next/server/chunks/ssr/_0vtof91._.js +3 -0
  667. package/.next/server/chunks/ssr/_0wj-xi-._.js +1 -1
  668. package/.next/server/chunks/ssr/_0y-w3is._.js +1 -1
  669. package/.next/server/chunks/ssr/_0ys19k1._.js +3 -0
  670. package/.next/server/chunks/ssr/_0zegd8c._.js +3 -0
  671. package/.next/server/chunks/ssr/_0zskdhg._.js +3 -0
  672. package/.next/server/chunks/ssr/_0~5jogr._.js +3 -0
  673. package/.next/server/chunks/ssr/_10t~mm1._.js +5 -0
  674. package/.next/server/chunks/ssr/_12yrbbd._.js +3 -0
  675. package/.next/server/chunks/ssr/_12~voz0._.js +3 -0
  676. package/.next/server/chunks/ssr/_13x8vt3._.js +3 -0
  677. package/.next/server/chunks/ssr/node_modules__pnpm_0hiwu9~._.js +3 -0
  678. package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_browser_page_actions_09ozuw5.js +3 -0
  679. package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_settings_hours_page_actions_090o.uf.js +3 -0
  680. package/.next/server/chunks/ssr/packages_dashboard_src_08ni3k2._.js +1 -1
  681. package/.next/server/chunks/ssr/packages_dashboard_src_0dzu4m3._.js +1 -1
  682. package/.next/server/chunks/ssr/packages_dashboard_src_0l-df62._.js +1 -1
  683. package/.next/server/chunks/ssr/packages_dashboard_src_0somi_b._.js +3 -0
  684. package/.next/server/chunks/ssr/packages_dashboard_src_0uxs9-.._.js +1 -1
  685. package/.next/server/chunks/ssr/packages_dashboard_src_0wg3sud._.js +1 -1
  686. package/.next/server/chunks/ssr/packages_dashboard_src_0yi7124._.js +3 -0
  687. package/.next/server/chunks/ssr/packages_dashboard_src_0zhdaa4._.js +1 -1
  688. package/.next/server/chunks/ssr/packages_dashboard_src_13g~g03._.js +1 -1
  689. package/.next/server/chunks/ssr/packages_dashboard_src_app_activity_loading_tsx_0rzsqef._.js +1 -1
  690. package/.next/server/chunks/ssr/packages_dashboard_src_app_activity_page_tsx_08yep46._.js +1 -1
  691. package/.next/server/chunks/ssr/packages_dashboard_src_app_agents_[slug]_page_tsx_038yph.._.js +1 -1
  692. package/.next/server/chunks/ssr/packages_dashboard_src_app_agents_page_tsx_0simg3k._.js +2 -2
  693. package/.next/server/chunks/ssr/packages_dashboard_src_app_analytics_page_tsx_0tb_amd._.js +1 -1
  694. package/.next/server/chunks/ssr/packages_dashboard_src_app_browser-tasks_[id]_page_tsx_0.80q8e._.js +1 -1
  695. package/.next/server/chunks/ssr/packages_dashboard_src_app_chat_page_tsx_0i0_8pw._.js +1 -1
  696. package/.next/server/chunks/ssr/packages_dashboard_src_app_connections_mcp_page_tsx_0lc.low._.js +2 -2
  697. package/.next/server/chunks/ssr/packages_dashboard_src_app_connections_repositories_page_tsx_08y6paq._.js +1 -1
  698. package/.next/server/chunks/ssr/packages_dashboard_src_app_git_page_tsx_0ah19-6._.js +1 -1
  699. package/.next/server/chunks/ssr/packages_dashboard_src_app_knowledge_page_tsx_0uf4..4._.js +1 -1
  700. package/.next/server/chunks/ssr/packages_dashboard_src_app_page_tsx_0.p6n1a._.js +1 -1
  701. package/.next/server/chunks/ssr/packages_dashboard_src_app_schedule_page_tsx_0znc404._.js +1 -1
  702. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_commands_page_tsx_0nacqrh._.js +1 -1
  703. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_hours_page_tsx_0shgzxo._.js +3 -0
  704. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_infrastructure_page_tsx_0c9oi1c._.js +3 -0
  705. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_management_page_tsx_09mnin5._.js +1 -1
  706. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_models_page_tsx_0djsx88._.js +1 -1
  707. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_page_tsx_13_rdav._.js +1 -1
  708. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_self-learning_page_tsx_0noj6fo._.js +1 -1
  709. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_wiki_page_tsx_0..1tkb._.js +1 -1
  710. package/.next/server/chunks/ssr/packages_dashboard_src_app_setup_page_tsx_06k3via._.js +1 -1
  711. package/.next/server/chunks/ssr/packages_dashboard_src_components_0c08h~y._.js +3 -0
  712. package/.next/server/chunks/ssr/packages_dashboard_src_components_agents_AgentEditor_tsx_1379k-6._.js +2 -2
  713. package/.next/server/chunks/ssr/packages_dashboard_src_components_connections_integration-card_tsx_0yh1a-~._.js +2 -2
  714. package/.next/server/chunks/ssr/packages_dashboard_src_components_connections_slack-card_tsx_0mahejj._.js +1 -1
  715. package/.next/server/chunks/ssr/packages_dashboard_src_components_logs_event-row_tsx_0gwfgqo._.js +3 -0
  716. package/.next/server/chunks/ssr/packages_dashboard_src_components_mail_gmail-card_tsx_0kpway8._.js +1 -1
  717. package/.next/server/chunks/ssr/packages_shared_dist_index_0kuvow-.js +1 -1
  718. package/.next/server/edge/chunks/[root-of-the-server]__0iap10r._.js +1 -1
  719. package/.next/server/middleware/middleware-manifest.json +29 -5
  720. package/.next/server/middleware-build-manifest.js +3 -3
  721. package/.next/server/middleware-manifest.json +29 -5
  722. package/.next/server/next-font-manifest.js +1 -1
  723. package/.next/server/next-font-manifest.json +51 -2
  724. package/.next/server/pages/404.html +1 -1
  725. package/.next/server/pages/500.html +1 -1
  726. package/.next/server/server-reference-manifest.js +1 -1
  727. package/.next/server/server-reference-manifest.json +1 -1
  728. package/.next/static/{i_QR0WWkZFeICcOMbfuUs → 4Wu33OvzutxPxXUu1PWPC}/_clientMiddlewareManifest.js +24 -0
  729. package/.next/static/chunks/0-sq9td.e1huw.js +1 -0
  730. package/.next/static/chunks/0-~s5n1hsw0xz.css +1 -0
  731. package/.next/static/chunks/0.1mo3ft90qg_.js +1 -0
  732. package/.next/static/chunks/0.eu.rxoo07x6.js +1 -0
  733. package/.next/static/chunks/0147tjztlthxv.js +1 -0
  734. package/.next/static/chunks/01~5c-.ttg~hv.js +1 -0
  735. package/.next/static/chunks/02jrxwgg0c4jp.js +1 -0
  736. package/.next/static/chunks/02tb-nh0a2y6t.js +1 -0
  737. package/.next/static/chunks/03ndokpk6o0.5.js +1 -0
  738. package/.next/static/chunks/03qz~hx5zgr~d.js +1 -0
  739. package/.next/static/chunks/042u~0qpgty0o.js +10 -0
  740. package/.next/static/chunks/050-z9-4lo_4l.js +1 -0
  741. package/.next/static/chunks/051m0t~qz1jvu.js +1 -0
  742. package/.next/static/chunks/0755mii5h~0jr.js +1 -0
  743. package/.next/static/chunks/07_-k85izz7.j.js +1 -0
  744. package/.next/static/chunks/07qdiaq4h1bev.js +1 -0
  745. package/.next/static/chunks/07w_f8nwejvtm.js +1 -0
  746. package/.next/static/chunks/087m534nojkn2.js +1 -0
  747. package/.next/static/chunks/08tuvmjn9p090.js +1 -0
  748. package/.next/static/chunks/09k746-3cizz1.js +19 -0
  749. package/.next/static/chunks/09sekcnc01we8.js +1 -0
  750. package/.next/static/chunks/0_-a6t77lnxg4.js +1 -0
  751. package/.next/static/chunks/0_b4esx30vjxq.js +1 -0
  752. package/.next/static/chunks/0_r~att41ue.r.js +1 -0
  753. package/.next/static/chunks/0cj6iorqj7he_.js +1 -0
  754. package/.next/static/chunks/0c~_onh_gv7zj.js +1 -0
  755. package/.next/static/chunks/0d13hqow~d37h.js +1 -0
  756. package/.next/static/chunks/0drk956_8nbwg.js +1 -0
  757. package/.next/static/chunks/0e-txs97b3.x9.js +1 -0
  758. package/.next/static/chunks/0ezl44_wv~csn.js +1 -0
  759. package/.next/static/chunks/0g-eqp3qwkojl.js +1 -0
  760. package/.next/static/chunks/0h5rf~pu59~hu.js +1 -0
  761. package/.next/static/chunks/0i8.oj~1w~u~..js +1 -0
  762. package/.next/static/chunks/0iichp621kqto.js +1 -0
  763. package/.next/static/chunks/{0afrwc5vvwfx4.js → 0iscxmienbk2m.js} +1 -1
  764. package/.next/static/chunks/0iv9k-z7~xtww.js +1 -0
  765. package/.next/static/chunks/0k6jf41ge3u~8.js +1 -0
  766. package/.next/static/chunks/0k9-e5pear~t4.js +3 -0
  767. package/.next/static/chunks/0kib-9vm23r0j.js +1 -0
  768. package/.next/static/chunks/0kj.5xdofdrz7.js +1 -0
  769. package/.next/static/chunks/0lbnukk03a8nv.js +1 -0
  770. package/.next/static/chunks/0m8e4hy-r8y-4.js +1 -0
  771. package/.next/static/chunks/{02k085x_j4_bz.js → 0mkryl3ctt_xh.js} +1 -1
  772. package/.next/static/chunks/0mxp..4l7j1dn.js +1 -0
  773. package/.next/static/chunks/0o61x2xdye~o2.js +1 -0
  774. package/.next/static/chunks/0os-c6-aqwq4d.js +1 -0
  775. package/.next/static/chunks/0pxjn_pm269cw.js +1 -0
  776. package/.next/static/chunks/0qyxjj5z_is.d.js +1 -0
  777. package/.next/static/chunks/0s.cyrhyscm8x.js +1 -0
  778. package/.next/static/chunks/0wvyy~m_e1q5c.js +3 -0
  779. package/.next/static/chunks/0x96~upcinv2_.js +1 -0
  780. package/.next/static/chunks/0zo_ws6shrfnh.js +1 -0
  781. package/.next/static/chunks/0~kj3qxs7kx58.js +1 -0
  782. package/.next/static/chunks/10rtk-h9y-705.js +2 -0
  783. package/.next/static/chunks/115_4xjsk0jzh.js +1 -0
  784. package/.next/static/chunks/12zmqqk8p-b.~.js +1 -0
  785. package/.next/static/chunks/135nkfxk7so9p.js +1 -0
  786. package/.next/static/chunks/153z3m3.a2ubk.js +5 -0
  787. package/.next/static/chunks/15fpord4hyosp.js +1 -0
  788. package/.next/static/chunks/15~h2wegwdbf4.js +1 -0
  789. package/.next/static/chunks/16-i4p1ipmpts.js +1 -0
  790. package/.next/static/chunks/171j55n_9gyxb.js +1 -0
  791. package/.next/static/chunks/17c6~kld51ls5.js +11 -0
  792. package/.next/static/chunks/17tv5jbg2hiup.js +1 -0
  793. package/.next/static/chunks/187a-majiuj8r.js +1 -0
  794. package/.next/static/media/fraunces-latin-ext-wght-normal.08-a-oz-atsnn.woff2 +0 -0
  795. package/.next/static/media/fraunces-latin-wght-normal.0l9v6sgnyeoq8.woff2 +0 -0
  796. package/.next/static/media/fraunces-vietnamese-wght-normal.05ntv1..6v~z7.woff2 +0 -0
  797. package/.next/static/media/instrument-sans-latin-ext-wght-normal.0td0--1m0lec9.woff2 +0 -0
  798. package/.next/static/media/instrument-sans-latin-wght-normal.10bj0-z630vnn.woff2 +0 -0
  799. package/.next/types/routes.d.ts +7 -10
  800. package/.next/types/validator.ts +33 -60
  801. package/package.json +4 -2
  802. package/.next/server/app/connections/knowledge/page/app-paths-manifest.json +0 -3
  803. package/.next/server/app/connections/knowledge/page/next-font-manifest.json +0 -6
  804. package/.next/server/app/connections/knowledge/page.js.nft.json +0 -1
  805. package/.next/server/app/connections/knowledge/page_client-reference-manifest.js +0 -3
  806. package/.next/server/app/connections/knowledge.html +0 -1
  807. package/.next/server/app/connections/knowledge.rsc +0 -27
  808. package/.next/server/app/connections/knowledge.segments/_full.segment.rsc +0 -27
  809. package/.next/server/app/connections/knowledge.segments/_head.segment.rsc +0 -6
  810. package/.next/server/app/connections/knowledge.segments/_index.segment.rsc +0 -11
  811. package/.next/server/app/connections/knowledge.segments/_tree.segment.rsc +0 -2
  812. package/.next/server/app/connections/knowledge.segments/connections/knowledge/__PAGE__.segment.rsc +0 -9
  813. package/.next/server/app/connections/knowledge.segments/connections/knowledge.segment.rsc +0 -5
  814. package/.next/server/app/connections/knowledge.segments/connections.segment.rsc +0 -5
  815. package/.next/server/app/settings/advanced/page/app-paths-manifest.json +0 -3
  816. package/.next/server/app/settings/advanced/page/next-font-manifest.json +0 -6
  817. package/.next/server/app/settings/advanced/page.js.nft.json +0 -1
  818. package/.next/server/app/settings/advanced/page_client-reference-manifest.js +0 -3
  819. package/.next/server/app/settings/advanced.html +0 -1
  820. package/.next/server/app/settings/advanced.rsc +0 -27
  821. package/.next/server/app/settings/advanced.segments/_full.segment.rsc +0 -27
  822. package/.next/server/app/settings/advanced.segments/_head.segment.rsc +0 -6
  823. package/.next/server/app/settings/advanced.segments/_index.segment.rsc +0 -11
  824. package/.next/server/app/settings/advanced.segments/_tree.segment.rsc +0 -2
  825. package/.next/server/app/settings/advanced.segments/settings/advanced/__PAGE__.segment.rsc +0 -9
  826. package/.next/server/app/settings/advanced.segments/settings/advanced.segment.rsc +0 -5
  827. package/.next/server/app/settings/advanced.segments/settings.segment.rsc +0 -5
  828. package/.next/server/app/settings/backends/page/app-paths-manifest.json +0 -3
  829. package/.next/server/app/settings/backends/page/next-font-manifest.json +0 -6
  830. package/.next/server/app/settings/backends/page.js +0 -17
  831. package/.next/server/app/settings/backends/page_client-reference-manifest.js +0 -3
  832. package/.next/server/app/settings/backends.html +0 -1
  833. package/.next/server/app/settings/backends.rsc +0 -24
  834. package/.next/server/app/settings/backends.segments/_full.segment.rsc +0 -24
  835. package/.next/server/app/settings/backends.segments/_head.segment.rsc +0 -6
  836. package/.next/server/app/settings/backends.segments/_index.segment.rsc +0 -11
  837. package/.next/server/app/settings/backends.segments/_tree.segment.rsc +0 -2
  838. package/.next/server/app/settings/backends.segments/settings/backends/__PAGE__.segment.rsc +0 -6
  839. package/.next/server/app/settings/backends.segments/settings/backends.segment.rsc +0 -5
  840. package/.next/server/app/settings/backends.segments/settings.segment.rsc +0 -5
  841. package/.next/server/app/settings/connections/page/app-paths-manifest.json +0 -3
  842. package/.next/server/app/settings/connections/page/next-font-manifest.json +0 -6
  843. package/.next/server/app/settings/connections/page.js +0 -17
  844. package/.next/server/app/settings/connections/page_client-reference-manifest.js +0 -3
  845. package/.next/server/app/settings/connections.html +0 -1
  846. package/.next/server/app/settings/connections.rsc +0 -24
  847. package/.next/server/app/settings/connections.segments/_full.segment.rsc +0 -24
  848. package/.next/server/app/settings/connections.segments/_head.segment.rsc +0 -6
  849. package/.next/server/app/settings/connections.segments/_index.segment.rsc +0 -11
  850. package/.next/server/app/settings/connections.segments/_tree.segment.rsc +0 -2
  851. package/.next/server/app/settings/connections.segments/settings/connections/__PAGE__.segment.rsc +0 -6
  852. package/.next/server/app/settings/connections.segments/settings/connections.segment.rsc +0 -5
  853. package/.next/server/app/settings/connections.segments/settings.segment.rsc +0 -5
  854. package/.next/server/app/settings/journal/page/app-paths-manifest.json +0 -3
  855. package/.next/server/app/settings/journal/page/next-font-manifest.json +0 -6
  856. package/.next/server/app/settings/journal/page/react-loadable-manifest.json +0 -8
  857. package/.next/server/app/settings/journal/page_client-reference-manifest.js +0 -3
  858. package/.next/server/app/settings/journal.html +0 -1
  859. package/.next/server/app/settings/journal.rsc +0 -27
  860. package/.next/server/app/settings/journal.segments/_full.segment.rsc +0 -27
  861. package/.next/server/app/settings/journal.segments/_head.segment.rsc +0 -6
  862. package/.next/server/app/settings/journal.segments/_index.segment.rsc +0 -11
  863. package/.next/server/app/settings/journal.segments/_tree.segment.rsc +0 -2
  864. package/.next/server/app/settings/journal.segments/settings/journal/__PAGE__.segment.rsc +0 -9
  865. package/.next/server/app/settings/journal.segments/settings/journal.segment.rsc +0 -5
  866. package/.next/server/app/settings/journal.segments/settings.segment.rsc +0 -5
  867. package/.next/server/app/settings/messaging/page/app-paths-manifest.json +0 -3
  868. package/.next/server/app/settings/messaging/page/next-font-manifest.json +0 -6
  869. package/.next/server/app/settings/messaging/page/react-loadable-manifest.json +0 -8
  870. package/.next/server/app/settings/messaging/page.js +0 -17
  871. package/.next/server/app/settings/messaging/page.js.nft.json +0 -1
  872. package/.next/server/app/settings/messaging/page_client-reference-manifest.js +0 -3
  873. package/.next/server/app/settings/messaging.html +0 -1
  874. package/.next/server/app/settings/messaging.meta +0 -16
  875. package/.next/server/app/settings/messaging.rsc +0 -24
  876. package/.next/server/app/settings/messaging.segments/_full.segment.rsc +0 -24
  877. package/.next/server/app/settings/messaging.segments/_head.segment.rsc +0 -6
  878. package/.next/server/app/settings/messaging.segments/_index.segment.rsc +0 -11
  879. package/.next/server/app/settings/messaging.segments/_tree.segment.rsc +0 -2
  880. package/.next/server/app/settings/messaging.segments/settings/messaging/__PAGE__.segment.rsc +0 -6
  881. package/.next/server/app/settings/messaging.segments/settings/messaging.segment.rsc +0 -5
  882. package/.next/server/app/settings/messaging.segments/settings.segment.rsc +0 -5
  883. package/.next/server/app/settings/processes/page/app-paths-manifest.json +0 -3
  884. package/.next/server/app/settings/processes/page/build-manifest.json +0 -18
  885. package/.next/server/app/settings/processes/page/next-font-manifest.json +0 -6
  886. package/.next/server/app/settings/processes/page/react-loadable-manifest.json +0 -8
  887. package/.next/server/app/settings/processes/page/server-reference-manifest.json +0 -4
  888. package/.next/server/app/settings/processes/page.js +0 -17
  889. package/.next/server/app/settings/processes/page_client-reference-manifest.js +0 -3
  890. package/.next/server/app/settings/processes.html +0 -1
  891. package/.next/server/app/settings/processes.meta +0 -16
  892. package/.next/server/app/settings/processes.rsc +0 -24
  893. package/.next/server/app/settings/processes.segments/_full.segment.rsc +0 -24
  894. package/.next/server/app/settings/processes.segments/_head.segment.rsc +0 -6
  895. package/.next/server/app/settings/processes.segments/_index.segment.rsc +0 -11
  896. package/.next/server/app/settings/processes.segments/_tree.segment.rsc +0 -2
  897. package/.next/server/app/settings/processes.segments/settings/processes/__PAGE__.segment.rsc +0 -6
  898. package/.next/server/app/settings/processes.segments/settings/processes.segment.rsc +0 -5
  899. package/.next/server/app/settings/processes.segments/settings.segment.rsc +0 -5
  900. package/.next/server/app/settings/routines/page/app-paths-manifest.json +0 -3
  901. package/.next/server/app/settings/routines/page/build-manifest.json +0 -18
  902. package/.next/server/app/settings/routines/page/next-font-manifest.json +0 -6
  903. package/.next/server/app/settings/routines/page/react-loadable-manifest.json +0 -8
  904. package/.next/server/app/settings/routines/page/server-reference-manifest.json +0 -4
  905. package/.next/server/app/settings/routines/page.js.nft.json +0 -1
  906. package/.next/server/app/settings/routines/page_client-reference-manifest.js +0 -3
  907. package/.next/server/app/settings/routines.html +0 -1
  908. package/.next/server/app/settings/routines.meta +0 -16
  909. package/.next/server/app/settings/routines.rsc +0 -27
  910. package/.next/server/app/settings/routines.segments/_full.segment.rsc +0 -27
  911. package/.next/server/app/settings/routines.segments/_head.segment.rsc +0 -6
  912. package/.next/server/app/settings/routines.segments/_index.segment.rsc +0 -11
  913. package/.next/server/app/settings/routines.segments/_tree.segment.rsc +0 -2
  914. package/.next/server/app/settings/routines.segments/settings/routines/__PAGE__.segment.rsc +0 -9
  915. package/.next/server/app/settings/routines.segments/settings/routines.segment.rsc +0 -5
  916. package/.next/server/app/settings/routines.segments/settings.segment.rsc +0 -5
  917. package/.next/server/app/settings/schedule/page/app-paths-manifest.json +0 -3
  918. package/.next/server/app/settings/schedule/page/build-manifest.json +0 -18
  919. package/.next/server/app/settings/schedule/page/next-font-manifest.json +0 -6
  920. package/.next/server/app/settings/schedule/page/react-loadable-manifest.json +0 -8
  921. package/.next/server/app/settings/schedule/page/server-reference-manifest.json +0 -4
  922. package/.next/server/app/settings/schedule/page_client-reference-manifest.js +0 -3
  923. package/.next/server/app/settings/schedule.html +0 -1
  924. package/.next/server/app/settings/schedule.meta +0 -16
  925. package/.next/server/app/settings/schedule.rsc +0 -27
  926. package/.next/server/app/settings/schedule.segments/_full.segment.rsc +0 -27
  927. package/.next/server/app/settings/schedule.segments/_head.segment.rsc +0 -6
  928. package/.next/server/app/settings/schedule.segments/_index.segment.rsc +0 -11
  929. package/.next/server/app/settings/schedule.segments/_tree.segment.rsc +0 -2
  930. package/.next/server/app/settings/schedule.segments/settings/schedule/__PAGE__.segment.rsc +0 -9
  931. package/.next/server/app/settings/schedule.segments/settings/schedule.segment.rsc +0 -5
  932. package/.next/server/app/settings/schedule.segments/settings.segment.rsc +0 -5
  933. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_connections_knowledge_page_actions_06w7ski.js +0 -3
  934. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_advanced_page_actions_0x06bjx.js +0 -3
  935. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_backends_page_actions_0z3vipu.js +0 -3
  936. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_connections_page_actions_0n0b1rb.js +0 -3
  937. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_journal_page_actions_0_.h.-y.js +0 -3
  938. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_messaging_page_actions_0czehcp.js +0 -3
  939. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_processes_page_actions_0zbumx3.js +0 -3
  940. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_routines_page_actions_0-37ia4.js +0 -3
  941. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_schedule_page_actions_045j4zv.js +0 -3
  942. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0s6jb_7.js +0 -4
  943. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0wu80v6.js +0 -4
  944. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0~yic40.js +0 -4
  945. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_113c8xj.js +0 -4
  946. package/.next/server/chunks/ssr/[root-of-the-server]__00ch_ms._.js +0 -3
  947. package/.next/server/chunks/ssr/[root-of-the-server]__00s5z4o._.js +0 -3
  948. package/.next/server/chunks/ssr/[root-of-the-server]__03yuq_v._.js +0 -7
  949. package/.next/server/chunks/ssr/[root-of-the-server]__0kcivrd._.js +0 -3
  950. package/.next/server/chunks/ssr/[root-of-the-server]__0kvyeu1._.js +0 -3
  951. package/.next/server/chunks/ssr/[root-of-the-server]__0t-9jvt._.js +0 -3
  952. package/.next/server/chunks/ssr/_0-3uzu1._.js +0 -3
  953. package/.next/server/chunks/ssr/_0.yhrky._.js +0 -3
  954. package/.next/server/chunks/ssr/_0.zct4p._.js +0 -3
  955. package/.next/server/chunks/ssr/_00_--i0._.js +0 -3
  956. package/.next/server/chunks/ssr/_00ej8j9._.js +0 -3
  957. package/.next/server/chunks/ssr/_03bq.de._.js +0 -3
  958. package/.next/server/chunks/ssr/_04jkn8c._.js +0 -3
  959. package/.next/server/chunks/ssr/_04kt9.8._.js +0 -3
  960. package/.next/server/chunks/ssr/_05jfize._.js +0 -3
  961. package/.next/server/chunks/ssr/_06_m-vp._.js +0 -3
  962. package/.next/server/chunks/ssr/_09-o1vq._.js +0 -3
  963. package/.next/server/chunks/ssr/_095u19_._.js +0 -3
  964. package/.next/server/chunks/ssr/_0_qwmiz._.js +0 -3
  965. package/.next/server/chunks/ssr/_0bzj8lx._.js +0 -3
  966. package/.next/server/chunks/ssr/_0cccma-._.js +0 -3
  967. package/.next/server/chunks/ssr/_0da0k2u._.js +0 -3
  968. package/.next/server/chunks/ssr/_0evcd7w._.js +0 -3
  969. package/.next/server/chunks/ssr/_0e~4oah._.js +0 -3
  970. package/.next/server/chunks/ssr/_0ibeuw6._.js +0 -3
  971. package/.next/server/chunks/ssr/_0ixicrb._.js +0 -3
  972. package/.next/server/chunks/ssr/_0jg6hy0._.js +0 -3
  973. package/.next/server/chunks/ssr/_0jrxrig._.js +0 -3
  974. package/.next/server/chunks/ssr/_0mbbas-._.js +0 -3
  975. package/.next/server/chunks/ssr/_0n5nlcq._.js +0 -3
  976. package/.next/server/chunks/ssr/_0nvpv18._.js +0 -3
  977. package/.next/server/chunks/ssr/_0o~hk.m._.js +0 -3
  978. package/.next/server/chunks/ssr/_0pdbiu.._.js +0 -9
  979. package/.next/server/chunks/ssr/_0pg6_56._.js +0 -3
  980. package/.next/server/chunks/ssr/_0q8o~q1._.js +0 -3
  981. package/.next/server/chunks/ssr/_0r1lb0f._.js +0 -3
  982. package/.next/server/chunks/ssr/_0r25vcp._.js +0 -3
  983. package/.next/server/chunks/ssr/_0r9.4nv._.js +0 -3
  984. package/.next/server/chunks/ssr/_0tf7hjz._.js +0 -3
  985. package/.next/server/chunks/ssr/_0xmdrbq._.js +0 -3
  986. package/.next/server/chunks/ssr/_0zz58.-._.js +0 -5
  987. package/.next/server/chunks/ssr/_0~62r4-._.js +0 -3
  988. package/.next/server/chunks/ssr/_0~fi8o-._.js +0 -3
  989. package/.next/server/chunks/ssr/_10s6iy.._.js +0 -3
  990. package/.next/server/chunks/ssr/_11pdc0s._.js +0 -3
  991. package/.next/server/chunks/ssr/_12u1eq4._.js +0 -3
  992. package/.next/server/chunks/ssr/_12~0n.1._.js +0 -3
  993. package/.next/server/chunks/ssr/_139rl~~._.js +0 -3
  994. package/.next/server/chunks/ssr/node_modules__pnpm_0ehnn5t._.js +0 -3
  995. package/.next/server/chunks/ssr/packages_dashboard_src_0ylj~og._.js +0 -3
  996. package/.next/server/chunks/ssr/packages_dashboard_src_0z~3g5n._.js +0 -3
  997. package/.next/server/chunks/ssr/packages_dashboard_src_app_connections_knowledge_page_tsx_027jwd3._.js +0 -3
  998. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_advanced_page_tsx_0o~_885._.js +0 -3
  999. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_routines_page_tsx_0wcgtqz._.js +0 -27
  1000. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_schedule_page_tsx_0b8zr2l._.js +0 -3
  1001. package/.next/static/chunks/0-7buty0ytvtv.js +0 -1
  1002. package/.next/static/chunks/0-dw-4a8vg9m8.js +0 -1
  1003. package/.next/static/chunks/0.42rv-zt_0x9.js +0 -1
  1004. package/.next/static/chunks/0.za~0o8~5n1~.css +0 -1
  1005. package/.next/static/chunks/0.~7m9beb0bmp.js +0 -11
  1006. package/.next/static/chunks/00bnu7r6428v0.js +0 -5
  1007. package/.next/static/chunks/00w3emoohg-8r.js +0 -1
  1008. package/.next/static/chunks/01v7jn283j2tm.js +0 -1
  1009. package/.next/static/chunks/04l41qp5lpt_e.js +0 -1
  1010. package/.next/static/chunks/04ufv2_7i_b6..js +0 -1
  1011. package/.next/static/chunks/053f~_moi~csx.js +0 -2
  1012. package/.next/static/chunks/05xugzf8sfrxt.js +0 -1
  1013. package/.next/static/chunks/05z4egti~pj9t.js +0 -1
  1014. package/.next/static/chunks/073hnld9_qq5g.js +0 -1
  1015. package/.next/static/chunks/08ql4siwtlgpn.js +0 -1
  1016. package/.next/static/chunks/08wmxlql_xq.d.js +0 -1
  1017. package/.next/static/chunks/0e3ds9mkx7.~v.js +0 -1
  1018. package/.next/static/chunks/0eaf903zc7v~5.js +0 -1
  1019. package/.next/static/chunks/0fri59ogcsfbl.js +0 -1
  1020. package/.next/static/chunks/0gj-lf~wlbr8e.js +0 -1
  1021. package/.next/static/chunks/0gurc-kqffso6.js +0 -1
  1022. package/.next/static/chunks/0gyst06ap~-n~.js +0 -19
  1023. package/.next/static/chunks/0g~py-0sje~1m.js +0 -1
  1024. package/.next/static/chunks/0hk8v-849puw8.js +0 -1
  1025. package/.next/static/chunks/0hlvfkk1o66wf.js +0 -1
  1026. package/.next/static/chunks/0hog4tqr3.skm.js +0 -10
  1027. package/.next/static/chunks/0igwe6jdxslbt.js +0 -1
  1028. package/.next/static/chunks/0ikm~jl5uiw6-.js +0 -1
  1029. package/.next/static/chunks/0j15hn~z~i56..js +0 -1
  1030. package/.next/static/chunks/0jffu_yb.90.i.js +0 -1
  1031. package/.next/static/chunks/0mfem_s.3s4r-.js +0 -1
  1032. package/.next/static/chunks/0n3b0fpsgml2x.js +0 -1
  1033. package/.next/static/chunks/0p.w04inifyq..js +0 -1
  1034. package/.next/static/chunks/0qqty6t-yyty4.js +0 -3
  1035. package/.next/static/chunks/0q~dvm61tpf3~.js +0 -1
  1036. package/.next/static/chunks/0rt76ki54i~hm.js +0 -1
  1037. package/.next/static/chunks/0scggusqhhid7.js +0 -1
  1038. package/.next/static/chunks/0t.xvj-t_vtrp.js +0 -25
  1039. package/.next/static/chunks/0t9rda60_m-vk.js +0 -1
  1040. package/.next/static/chunks/0u9qsqnsm-skj.js +0 -1
  1041. package/.next/static/chunks/0urw8_v9f97en.js +0 -1
  1042. package/.next/static/chunks/0vcwfsuf878wc.js +0 -1
  1043. package/.next/static/chunks/0vivqt8njmkpv.js +0 -1
  1044. package/.next/static/chunks/0vktbjh2e4xpg.js +0 -1
  1045. package/.next/static/chunks/0v~gg~hn-8_k2.js +0 -1
  1046. package/.next/static/chunks/0ws8mq3rp~572.js +0 -1
  1047. package/.next/static/chunks/0x..-zi0av524.js +0 -1
  1048. package/.next/static/chunks/0xsb_r_t_1r-u.js +0 -1
  1049. package/.next/static/chunks/0zaa6zhrjsaik.js +0 -1
  1050. package/.next/static/chunks/0zimhqr6r4xlz.js +0 -1
  1051. package/.next/static/chunks/0~7d6m~du_b.d.js +0 -1
  1052. package/.next/static/chunks/0~nct--xt2~bi.js +0 -1
  1053. package/.next/static/chunks/1121be2-kv8g~.js +0 -1
  1054. package/.next/static/chunks/1257_06cutyq_.js +0 -1
  1055. package/.next/static/chunks/12ee4r9-orwi8.js +0 -1
  1056. package/.next/static/chunks/13kdqs0pmjqy5.js +0 -1
  1057. package/.next/static/chunks/13tf0oa.w743m.js +0 -1
  1058. package/.next/static/chunks/16s5r16k361sd.js +0 -1
  1059. package/.next/static/chunks/16tqshshex~qk.js +0 -1
  1060. package/.next/static/chunks/17846-azlpszq.js +0 -1
  1061. package/.next/static/chunks/17b2~cmid8qeu.js +0 -3
  1062. package/.next/static/chunks/17rcecfesskxn.js +0 -1
  1063. /package/.next/server/app/{connections/knowledge → browser}/page/build-manifest.json +0 -0
  1064. /package/.next/server/app/{connections/knowledge → browser}/page/server-reference-manifest.json +0 -0
  1065. /package/.next/server/app/{settings/advanced → connections/notes}/page/build-manifest.json +0 -0
  1066. /package/.next/server/app/{settings/advanced → connections/notes}/page/server-reference-manifest.json +0 -0
  1067. /package/.next/server/app/settings/{backends → danger-zone}/page/build-manifest.json +0 -0
  1068. /package/.next/server/app/settings/{backends → danger-zone}/page/server-reference-manifest.json +0 -0
  1069. /package/.next/server/app/settings/{connections → hours}/page/build-manifest.json +0 -0
  1070. /package/.next/server/app/settings/{connections → hours}/page/server-reference-manifest.json +0 -0
  1071. /package/.next/server/app/settings/{journal → infrastructure}/page/build-manifest.json +0 -0
  1072. /package/.next/server/app/settings/{journal → infrastructure}/page/server-reference-manifest.json +0 -0
  1073. /package/.next/server/app/settings/{messaging → safety}/page/build-manifest.json +0 -0
  1074. /package/.next/server/app/settings/{messaging → safety}/page/server-reference-manifest.json +0 -0
  1075. /package/.next/static/{i_QR0WWkZFeICcOMbfuUs → 4Wu33OvzutxPxXUu1PWPC}/_buildManifest.js +0 -0
  1076. /package/.next/static/{i_QR0WWkZFeICcOMbfuUs → 4Wu33OvzutxPxXUu1PWPC}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,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)},66127,e=>{"use strict";var t=e.i(65268);async function s({title:e,defaultPath:a}){let n=await t.api.post("/system/pick-directory",{title:e,...a?{defaultPath:a}:{}});if("selected"===n.status&&n.path)return n.path;if("cancelled"===n.status)return null;throw Error(n.message??"Folder picker is unavailable.")}e.s(["pickDirectoryFromDesktop",0,s])},58436,e=>{"use strict";var t=e.i(54710),s=e.i(34416),a=e.i(55575),n=e.i(72740),r=e.i(20014),i=e.i(8652),l=e.i(66127),d=e.i(81471);e.s(["DirectoryPickerField",0,function({id:e,value:c,onChange:o,title:u,placeholder:m="Choose a folder...",defaultPath:x,disabled:h=!1,className:g,inputClassName:p,buttonLabel:f="Choose"}){let[b,v]=(0,s.useState)(!1),[j,y]=(0,s.useState)(null),N=async()=>{v(!0),y(null);try{let e=await (0,l.pickDirectoryFromDesktop)({title:u,defaultPath:c.trim()||x});e&&o(e)}catch(e){y(e instanceof Error?e.message:"Folder picker is unavailable.")}finally{v(!1)}};return(0,t.jsxs)("div",{className:(0,d.cn)("space-y-1",g),children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row",children:[(0,t.jsx)(i.Input,{id:e,value:c,onChange:e=>{o(e.target.value),y(null)},placeholder:m,className:(0,d.cn)("font-mono text-sm",p),disabled:h||b}),(0,t.jsxs)(r.Button,{type:"button",variant:"outline",onClick:N,disabled:h||b,className:"shrink-0 gap-2",children:[b?(0,t.jsx)(n.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(a.FolderOpen,{className:"h-4 w-4"}),b?"Opening...":f]})]}),j&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:j})]})}])},85631,e=>{"use strict";var t=e.i(54710),s=e.i(81471);e.s(["ConnectionsSectionHeader",0,function({title:e,description:a,healthy:n,total:r,attention:i,actions:l}){let d=r>0&&n===r,c=r>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:[r>0&&(0,t.jsxs)("span",{className:(0,s.cn)("text-xs font-medium tabular-nums",d?"text-success":c?"text-muted-foreground":"text-warning"),children:[n,"/",r," connected"]}),l]})]}),a&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:a}),i&&(0,t.jsx)("p",{className:"text-xs text-warning",children:i})]})}])},20870,e=>{"use strict";var t=e.i(54710),s=e.i(48467),a=e.i(74490),n=e.i(81471);let r={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:i,status:l,error:d,metadata:c,children:o,className:u}){let m=r[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:i}),(0,t.jsx)("h3",{className:"text-sm font-medium text-foreground",children:e})]}),(0,t.jsx)(s.Badge,{variant:m.variant,children:m.label})]}),d&&"connecting"!==l&&(0,t.jsx)("p",{className:"mb-2 text-xs text-destructive",children:d}),c&&c.length>0&&(0,t.jsx)("div",{className:"mb-3 space-y-0.5",children:c.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))}),o]})},"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??"—"}]}])},73550,e=>{"use strict";let t=(0,e.i(77379).default)("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);e.s(["Hash",0,t],73550)},14949,e=>{"use strict";var t=e.i(54710),s=e.i(88423),a=e.i(75187),n=e.i(44791),r=e.i(66665),i=e.i(45764),l=e.i(49578),d=e.i(26317),c=e.i(20870);function o(){let{data:e}=(0,a.useHealth)(),s=e?.messaging?.dashboard;return(0,t.jsx)(c.ConnectionCard,{name:"Dashboard",icon:(0,t.jsx)(d.LayoutDashboard,{className:"h-4 w-4"}),status:(0,c.deriveMessagingStatus)(s),error:s?.error,children:(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"The dashboard chat shares the same conversation as your other messaging apps. Routine reminders aren't delivered here by default — they go to the destinations you pick below."})})}var u=e.i(2126),m=e.i(85631);let x=["slack","telegram","discord","whatsapp","dashboard"],h={slack:"Slack",telegram:"Telegram",discord:"Discord",whatsapp:"WhatsApp",dashboard:"Dashboard"};function g(){return(0,t.jsx)("div",{className:"space-y-4 animate-pulse",children:[1,2,3].map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-border p-5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-4 w-4 rounded bg-muted"}),(0,t.jsx)("div",{className:"h-4 w-20 rounded bg-muted"})]}),(0,t.jsx)("div",{className:"h-5 w-24 rounded-full bg-muted"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("div",{className:"h-3 w-full max-w-xs rounded bg-muted"}),(0,t.jsx)("div",{className:"h-3 w-full max-w-[200px] rounded bg-muted"})]})]},e))})}e.s(["default",0,function(){let{data:e,isLoading:d}=(0,s.useConfig)(),{data:c,isLoading:p}=(0,a.useHealth)(),f=d||p,b=!f&&(!e||!c),v=c?.messaging??{},j=x.filter(e=>v[e]?.runtimeState==="ok").length,y=x.filter(e=>v[e]?.runtimeState==="error").map(e=>h[e]),N=y.length>0?`${y.join(", ")} ${1===y.length?"needs":"need"} attention`:null;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m.ConnectionsSectionHeader,{title:"Messaging",description:"Apps you use to talk with the agent. DMs and @-mentions only — group chats are out of scope.",healthy:j,total:x.length,attention:N}),b&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Daemon not connected. Start the daemon to configure channels."}),f?(0,t.jsx)(g,{}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(n.SlackCard,{}),(0,t.jsx)(r.TelegramCard,{}),(0,t.jsx)(i.DiscordCard,{}),(0,t.jsx)(l.WhatsAppCard,{}),(0,t.jsx)(o,{})]}),!f&&(0,t.jsx)(u.DestinationSelector,{})]})}],14949)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,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)},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)},50862,e=>{"use strict";var t=e.i(54710),r=e.i(81471);e.s(["EmptyState",0,function({icon:e,title:n,description:s,className:a,children:i}){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}),s&&(0,t.jsx)("p",{className:"mt-1 max-w-prose text-xs text-muted-foreground/70",children:s}),i]})}])},76176,e=>{"use strict";e.i(18446);var t=e.i(38082);let r={claude:"Claude Code",codex:"OpenAI Codex",gemini:"Gemini CLI",opencode:"OpenCode"},n=new Set(["opencode"]);function s(e){return n.has(e)}let a={gemini:{badgeLabel:"Vendor deprecation",shortSuffix:" (deprecated)",reason:"Google announced Gemini CLI will stop serving free, Pro, and Ultra requests on 2026-06-18 in favor of Antigravity CLI. Standard / Enterprise licenses keep access. Avoid binding new processes to Gemini if you rely on consumer-tier auth."}},i={claude:"Claude",codex:"Codex",gemini:"Gemini",opencode:"OpenCode"},l={claude:["#7C2D12","#B54B2D","#E15B40","#F97316","#FDBA74"],codex:["#86198F","#A21CAF","#D946EF","#E879F9","#F5D0FE"],gemini:["#1E3A8A","#1D4ED8","#1C69FF","#60A5FA","#93C5FD"],opencode:["#7C2D12","#C2410C","#FF7300","#F59E0B","#FCD34D"]},o=["#6b7280","#9ca3af","#4b5563","#374151"],c={claude:"orange",codex:"pink",gemini:"blue",opencode:"orange"},d={"routine.morning_routine":"Morning Routine","routine.evening_review":"Evening Review","routine.weekly_review":"Weekly Review","routine.monthly_review":"Monthly Review","routine.activity_scan":"Activity Scan","routine.roadmap_refresh":"Roadmap Refresh","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","wiki.ingest_url":"Wiki URL Ingest","wiki.compile":"Wiki Compile","wiki.ask":"Wiki Ask"};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,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 h(e){if(!e)return null;let t=e.toLowerCase();return/^[a-z0-9_.-]+\/[a-z0-9_.-]+/.test(t)?"opencode":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,c,"BACKEND_COLORS",0,{claude:"#E15B40",codex:"#D946EF",gemini:"#1C69FF",opencode:"#FF7300"},"BACKEND_LABELS",0,r,"BACKEND_PROVIDER_LABELS",0,{claude:"Claude (Anthropic)",codex:"ChatGPT (OpenAI)",gemini:"Gemini (Google)",opencode:"OpenCode (sst/opencode)"},"BACKEND_PROVIDER_SHORT",0,{claude:"Claude",codex:"ChatGPT",gemini:"Gemini",opencode:"OpenCode"},"BACKEND_WEB_SEARCH_DESCRIPTIONS",0,{claude:"Lets the agent call Anthropic's built-in WebSearch tool.",codex:"Lets the agent call OpenAI's web_search tool. Works in safe (sandbox) mode — the tool runs at OpenAI, not as a local shell command.",gemini:"Lets the agent call Gemini's google_web_search tool.",opencode:"Lets the agent call the configured OpenCode provider's web-search tool when the OpenCode runtime is enabled."},"CHART_CATEGORY_PALETTE",0,["#3b82f6","#10b981","#f59e0b","#8b5cf6","#ec4899","#14b8a6","#f97316","#6366f1","#ef4444","#22c55e"],"UI_PREVIEW_ONLY_BADGE_SUFFIX",0," (coming soon)","UI_PREVIEW_ONLY_REASON",0,"Coming soon — OpenCode is wired internally but not yet ready for selection in this release. The card stays visible so you can see what is on the roadmap.","assignModelColors",0,function(e){let t=new Map;for(let r of e){if(!r)continue;let e=h(r)??"other",n=t.get(e)??[];n.push(r),t.set(e,n)}let r={};for(let[e,n]of t){n.sort((e,t)=>e.localeCompare(t));let t="other"===e?o:l[e],s=n.length;n.forEach((e,n)=>{let a;a=s>=t.length?n%t.length:1===s?Math.floor(t.length/2):Math.floor((n+.5)*t.length/s),r[e]=t[a]})}return r},"detectBackendFromModel",0,h,"formatModelName",0,function(e){return e?e.replace(/^[a-z0-9_.-]+\//i,"").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(/^[a-z0-9_.-]+\//i,""),r=t.replace(/-\d{8,}$/,"").replace(/^claude-/,"").replace(/(\d+)-(\d+)(?![-\d])/g,"$1.$2").replace(/-/g," ");return t.startsWith("gpt-")&&(r=`GPT-${r.replace(/^gpt\s*/i,"")}`),t.startsWith("gemini-")&&(r=r.replace(/^gemini\s*/i,"Gemini ")),r.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()},"getBackendDeprecation",0,function(e){return a[e]??null},"getBackendLabel",0,function(e){return r[e]},"getBackendShortLabel",0,function(e){return i[e]},"getProcessGroup",0,function(e){return e.startsWith("wiki.")?"Wiki":e.startsWith("message.")||e.startsWith("dashboard.")?"Conversation":e.startsWith("routine.")?"Routines":e.startsWith("git.")||e.startsWith("github.")?"Git & GitHub":e.startsWith("calendar.")||"gmail_classify"===e?"Integrations":"Tasks"},"getProcessLabel",0,function(e){return d[e]??e},"isBackendSelectionDisabled",0,function(e){return!(0,t.isRuntimeAvailableBackendId)(e)||s(e)},"isUiPreviewOnlyBackend",0,s,"modelBadgeVariant",0,function(e){if(!e)return"gray";let t=h(e);return t?c[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}])},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})}])},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,s=super.createResult(e,t),{isFetching:a,isRefetching:i,isError:l,isRefetchError:o}=s,c=n.fetchMeta?.fetchMore?.direction,d=l&&"forward"===c,u=a&&"forward"===c,h=l&&"backward"===c,m=a&&"backward"===c;return{...s,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,r.hasNextPage)(t,n.data),hasPreviousPage:(0,r.hasPreviousPage)(t,n.data),isFetchNextPageError:d,isFetchingNextPage:u,isFetchPreviousPageError:h,isFetchingPreviousPage:m,isRefetchError:o&&!d&&!h,isRefetching:i&&!u&&!m}}},s=e.i(98757);e.s(["useInfiniteQuery",0,function(e,t){return(0,s.useBaseQuery)(e,n,t)}],75540)},52387,e=>{"use strict";let t=(0,e.i(77379).default)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",0,t],52387)},13707,e=>{"use strict";var t=e.i(54710),r=e.i(34416),n=e.i(85565),s=e.i(90816),a=e.i(9413),i=e.i(22353),l=e.i(88248),o=e.i(75649),c=e.i(18731),d=e.i(27069),u=e.i(91967),h="ScrollArea",[m,p]=(0,a.createContextScope)(h),[f,g]=m(h),x=r.forwardRef((e,s)=>{let{__scopeScrollArea:a,type:l="hover",dir:c,scrollHideDelay:d=600,...u}=e,[h,m]=r.useState(null),[p,g]=r.useState(null),[x,b]=r.useState(null),[v,y]=r.useState(null),[w,S]=r.useState(null),[k,j]=r.useState(0),[C,N]=r.useState(0),[E,I]=r.useState(!1),[T,P]=r.useState(!1),A=(0,i.useComposedRefs)(s,e=>m(e)),R=(0,o.useDirection)(c);return(0,t.jsx)(f,{scope:a,type:l,dir:R,scrollHideDelay:d,scrollArea:h,viewport:p,onViewportChange:g,content:x,onContentChange:b,scrollbarX:v,onScrollbarXChange:y,scrollbarXEnabled:E,onScrollbarXEnabledChange:I,scrollbarY:w,onScrollbarYChange:S,scrollbarYEnabled:T,onScrollbarYEnabledChange:P,onCornerWidthChange:j,onCornerHeightChange:N,children:(0,t.jsx)(n.Primitive.div,{dir:R,...u,ref:A,style:{position:"relative","--radix-scroll-area-corner-width":k+"px","--radix-scroll-area-corner-height":C+"px",...e.style}})})});x.displayName=h;var b="ScrollAreaViewport",v=r.forwardRef((e,s)=>{let{__scopeScrollArea:a,children:l,nonce:o,...c}=e,d=g(b,a),u=r.useRef(null),h=(0,i.useComposedRefs)(s,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:o}),(0,t.jsx)(n.Primitive.div,{"data-radix-scroll-area-viewport":"",...c,ref:h,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:l})})]})});v.displayName=b;var y="ScrollAreaScrollbar",w=r.forwardRef((e,n)=>{let{forceMount:s,...a}=e,i=g(y,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:o}=i,c="horizontal"===e.orientation;return r.useEffect(()=>(c?l(!0):o(!0),()=>{c?l(!1):o(!1)}),[c,l,o]),"hover"===i.type?(0,t.jsx)(S,{...a,ref:n,forceMount:s}):"scroll"===i.type?(0,t.jsx)(k,{...a,ref:n,forceMount:s}):"auto"===i.type?(0,t.jsx)(j,{...a,ref:n,forceMount:s}):"always"===i.type?(0,t.jsx)(C,{...a,ref:n}):null});w.displayName=y;var S=r.forwardRef((e,n)=>{let{forceMount:a,...i}=e,l=g(y,e.__scopeScrollArea),[o,c]=r.useState(!1);return r.useEffect(()=>{let e=l.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),c(!0)},n=()=>{t=window.setTimeout(()=>c(!1),l.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[l.scrollArea,l.scrollHideDelay]),(0,t.jsx)(s.Presence,{present:a||o,children:(0,t.jsx)(j,{"data-state":o?"visible":"hidden",...i,ref:n})})}),k=r.forwardRef((e,n)=>{var a;let{forceMount:i,...l}=e,o=g(y,e.__scopeScrollArea),c="horizontal"===e.orientation,d=z(()=>m("SCROLL_END"),100),[h,m]=(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"===h){let e=window.setTimeout(()=>m("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(e)}},[h,o.scrollHideDelay,m]),r.useEffect(()=>{let e=o.viewport,t=c?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(m("SCROLL"),d()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[o.viewport,c,m,d]),(0,t.jsx)(s.Presence,{present:i||"hidden"!==h,children:(0,t.jsx)(C,{"data-state":"hidden"===h?"hidden":"visible",...l,ref:n,onPointerEnter:(0,u.composeEventHandlers)(e.onPointerEnter,()=>m("POINTER_ENTER")),onPointerLeave:(0,u.composeEventHandlers)(e.onPointerLeave,()=>m("POINTER_LEAVE"))})})}),j=r.forwardRef((e,n)=>{let a=g(y,e.__scopeScrollArea),{forceMount:i,...l}=e,[o,c]=r.useState(!1),d="horizontal"===e.orientation,u=z(()=>{if(a.viewport){let e=a.viewport.offsetWidth<a.viewport.scrollWidth,t=a.viewport.offsetHeight<a.viewport.scrollHeight;c(d?e:t)}},10);return H(a.viewport,u),H(a.content,u),(0,t.jsx)(s.Presence,{present:i||o,children:(0,t.jsx)(C,{"data-state":o?"visible":"hidden",...l,ref:n})})}),C=r.forwardRef((e,n)=>{let{orientation:s="vertical",...a}=e,i=g(y,e.__scopeScrollArea),l=r.useRef(null),o=r.useRef(0),[c,d]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=O(c.viewport,c.content),h={...a,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:e=>l.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function m(e,t){return function(e,t,r,n="ltr"){let s=F(r),a=t||s/2,i=r.scrollbar.paddingStart+a,l=r.scrollbar.size-r.scrollbar.paddingEnd-(s-a),o=r.content-r.viewport;return U([i,l],"ltr"===n?[0,o]:[-1*o,0])(e)}(e,o.current,c,t)}return"horizontal"===s?(0,t.jsx)(N,{...h,ref:n,onThumbPositionChange:()=>{if(i.viewport&&l.current){let e=$(i.viewport.scrollLeft,c,i.dir);l.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=m(e,i.dir))}}):"vertical"===s?(0,t.jsx)(E,{...h,ref:n,onThumbPositionChange:()=>{if(i.viewport&&l.current){let e=$(i.viewport.scrollTop,c);l.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=m(e))}}):null}),N=r.forwardRef((e,n)=>{let{sizes:s,onSizesChange:a,...l}=e,o=g(y,e.__scopeScrollArea),[c,d]=r.useState(),u=r.useRef(null),h=(0,i.useComposedRefs)(n,u,o.onScrollbarXChange);return r.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,t.jsx)(P,{"data-orientation":"horizontal",...l,ref:h,sizes:s,style:{bottom:0,left:"rtl"===o.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===o.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":F(s)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(o.viewport){var n,s;let a=o.viewport.scrollLeft+t.deltaX;e.onWheelScroll(a),n=a,s=r,n>0&&n<s&&t.preventDefault()}},onResize:()=>{u.current&&o.viewport&&c&&a({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:B(c.paddingLeft),paddingEnd:B(c.paddingRight)}})}})}),E=r.forwardRef((e,n)=>{let{sizes:s,onSizesChange:a,...l}=e,o=g(y,e.__scopeScrollArea),[c,d]=r.useState(),u=r.useRef(null),h=(0,i.useComposedRefs)(n,u,o.onScrollbarYChange);return r.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,t.jsx)(P,{"data-orientation":"vertical",...l,ref:h,sizes:s,style:{top:0,right:"ltr"===o.dir?0:void 0,left:"rtl"===o.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":F(s)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(o.viewport){var n,s;let a=o.viewport.scrollTop+t.deltaY;e.onWheelScroll(a),n=a,s=r,n>0&&n<s&&t.preventDefault()}},onResize:()=>{u.current&&o.viewport&&c&&a({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:B(c.paddingTop),paddingEnd:B(c.paddingBottom)}})}})}),[I,T]=m(y),P=r.forwardRef((e,s)=>{let{__scopeScrollArea:a,sizes:o,hasThumb:c,onThumbChange:d,onThumbPointerUp:h,onThumbPointerDown:m,onThumbPositionChange:p,onDragScroll:f,onWheelScroll:x,onResize:b,...v}=e,w=g(y,a),[S,k]=r.useState(null),j=(0,i.useComposedRefs)(s,e=>k(e)),C=r.useRef(null),N=r.useRef(""),E=w.viewport,T=o.content-o.viewport,P=(0,l.useCallbackRef)(x),A=(0,l.useCallbackRef)(p),R=z(b,10);function D(e){C.current&&f({x:e.clientX-C.current.left,y:e.clientY-C.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;S?.contains(t)&&P(e,T)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[E,S,T,P]),r.useEffect(A,[o,A]),H(S,R),H(w.content,R),(0,t.jsx)(I,{scope:a,scrollbar:S,hasThumb:c,onThumbChange:(0,l.useCallbackRef)(d),onThumbPointerUp:(0,l.useCallbackRef)(h),onThumbPositionChange:A,onThumbPointerDown:(0,l.useCallbackRef)(m),children:(0,t.jsx)(n.Primitive.div,{...v,ref:j,style:{position:"absolute",...v.style},onPointerDown:(0,u.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),C.current=S.getBoundingClientRect(),N.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",w.viewport&&(w.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=N.current,w.viewport&&(w.viewport.style.scrollBehavior=""),C.current=null})})})}),A="ScrollAreaThumb",R=r.forwardRef((e,r)=>{let{forceMount:n,...a}=e,i=T(A,e.__scopeScrollArea);return(0,t.jsx)(s.Presence,{present:n||i.hasThumb,children:(0,t.jsx)(D,{ref:r,...a})})}),D=r.forwardRef((e,s)=>{let{__scopeScrollArea:a,style:l,...o}=e,c=g(A,a),d=T(A,a),{onThumbPositionChange:h}=d,m=(0,i.useComposedRefs)(s,e=>d.onThumbChange(e)),p=r.useRef(void 0),f=z(()=>{p.current&&(p.current(),p.current=void 0)},100);return r.useEffect(()=>{let e=c.viewport;if(e){let t=()=>{f(),p.current||(p.current=q(e,h),h())};return h(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[c.viewport,f,h]),(0,t.jsx)(n.Primitive.div,{"data-state":d.hasThumb?"visible":"hidden",...o,ref:m,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},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)})});R.displayName=A;var L="ScrollAreaCorner",M=r.forwardRef((e,r)=>{let n=g(L,e.__scopeScrollArea),s=!!(n.scrollbarX&&n.scrollbarY);return"scroll"!==n.type&&s?(0,t.jsx)(_,{...e,ref:r}):null});M.displayName=L;var _=r.forwardRef((e,s)=>{let{__scopeScrollArea:a,...i}=e,l=g(L,a),[o,c]=r.useState(0),[d,u]=r.useState(0),h=!!(o&&d);return H(l.scrollbarX,()=>{let e=l.scrollbarX?.offsetHeight||0;l.onCornerHeightChange(e),u(e)}),H(l.scrollbarY,()=>{let e=l.scrollbarY?.offsetWidth||0;l.onCornerWidthChange(e),c(e)}),h?(0,t.jsx)(n.Primitive.div,{...i,ref:s,style:{width:o,height:d,position:"absolute",right:"ltr"===l.dir?0:void 0,left:"rtl"===l.dir?0:void 0,bottom:0,...e.style}}):null});function B(e){return e?parseInt(e,10):0}function O(e,t){let r=e/t;return isNaN(r)?0:r}function F(e){let t=O(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function $(e,t,r="ltr"){let n=F(t),s=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-s,i=t.content-t.viewport,l=(0,d.clamp)(e,"ltr"===r?[0,i]:[-1*i,0]);return U([0,i],[0,a-n])(l)}function U(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 q=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return!function s(){let a={left:e.scrollLeft,top:e.scrollTop},i=r.left!==a.left,l=r.top!==a.top;(i||l)&&t(),r=a,n=window.requestAnimationFrame(s)}(),()=>window.cancelAnimationFrame(n)};function z(e,t){let n=(0,l.useCallbackRef)(e),s=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(s.current),[]),r.useCallback(()=>{window.clearTimeout(s.current),s.current=window.setTimeout(n,t)},[n,t])}function H(e,t){let r=(0,l.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 V=(0,r.forwardRef)(({className:e,children:r,...n},s)=>(0,t.jsxs)(x,{className:(0,W.cn)("relative overflow-hidden",e),...n,children:[(0,t.jsx)(v,{ref:s,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)(R,{className:"relative flex-1 rounded-full bg-border"})}),(0,t.jsx)(w,{orientation:"horizontal",className:"flex h-2.5 w-full flex-col touch-none select-none border-t border-t-transparent p-[1px] transition-colors",children:(0,t.jsx)(R,{className:"relative flex-1 rounded-full bg-border"})}),(0,t.jsx)(M,{})]}));V.displayName="ScrollArea",e.s(["ScrollArea",0,V],13707)},52563,e=>{"use strict";var t=e.i(76176);let r="__auto__",n=new Set(["expired","missing"]);e.s(["AUTO_VALUE",0,r,"SEPARATOR",0,"::","buildPickerGroups",0,function(e){return e.filter(e=>e.enabled&&e.models.length>0).map(e=>({backendId:e.id,label:(0,t.getBackendShortLabel)(e.id),authBlocked:n.has(e.authStatus),authStatus:e.authStatus,models:[...e.models].sort((e,t)=>{if(e.tier!==t.tier)return"high"===e.tier?-1:1;let r=+(!0===e.deprecated),n=+(!0===t.deprecated);return r!==n?r-n:e.label.localeCompare(t.label)})}))},"decodeSelection",0,function(e){if(e===r)return null;let t=e.indexOf("::");return t<0?null:{backendId:e.slice(0,t),modelId:e.slice(t+2)}},"encodeSelection",0,function(e){return`${e.backendId}::${e.modelId}`},"heavyTierHint",0,function(e,t){if(!e)return null;let r=t.find(t=>t.backendId===e.backendId),n=r?.models.find(t=>t.modelId===e.modelId);return n&&"high"===n.tier?{backendId:e.backendId,modelLabel:n.label}:null}])},62126,e=>{"use strict";var t=e.i(86954),r=e.i(75540),n=e.i(65268);e.s(["useConversations",0,function(e,s){return(0,r.useInfiniteQuery)({queryKey:["conversations",e],queryFn:({pageParam:t=1})=>n.api.get("/conversations",{page:t,limit:20,platform:e?.platform,status:e?.status,scope:e?.scope}),getNextPageParam:e=>e.pagination.page<e.pagination.totalPages?e.pagination.page+1:void 0,initialPageParam:1,enabled:s?.enabled??!0,placeholderData:t.keepPreviousData})}])},89480,33586,e=>{"use strict";var t=e.i(54710),r=e.i(34416),n=e.i(40807),s=e.i(12878),a=e.i(81471),i=e.i(79634),l=e.i(29086),o=e.i(77379);let c=(0,o.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,o.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,o.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 h=e.i(52387);function m({mimeType:e,className:r}){return e.startsWith("image/")?(0,t.jsx)(d,{className:r}):"application/pdf"===e?(0,t.jsx)(l.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 p({id:e,alt:n}){let[s,a]=(0,r.useState)(null),[i,l]=(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 s=await n.blob();if(t)return;r=URL.createObjectURL(s),a(r)}catch{t||l(!0)}})(),()=>{t=!0,r&&URL.revokeObjectURL(r)}},[e]),i)?null:s?(0,t.jsx)("img",{src:s,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 s=`/api/chat/attachments/${e.id}`,i=e.mimeType.startsWith("image/")&&"image/svg+xml"!==e.mimeType&&e.sizeBytes<2097152;return(0,t.jsxs)("div",{className:"space-y-1",children:[i&&(0,t.jsx)(p,{id:e.id,alt:e.originalFilename}),(0,t.jsxs)("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:(0,a.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)(m,{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)(h.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 x=[s.default],b={a:({children:e,href:r,...n})=>(0,t.jsx)("a",{href:r,target:"_blank",rel:"noopener noreferrer",...n,children:e})},v=(0,r.memo)(function({message:e,assistantLabel:r="Assistant"}){if("error"===e.role)return(0,t.jsx)(i.Alert,{variant:"error",className:"mx-auto max-w-md rounded-lg px-4 py-2 text-sm",children:e.content});let s="user"===e.role;return(0,t.jsx)("div",{className:(0,a.cn)("flex",s?"justify-end":"justify-start"),children:(0,t.jsxs)("div",{className:"max-w-[80%] space-y-1",children:[!s&&(0,t.jsx)("p",{className:"px-1 text-[11px] font-medium text-muted-foreground",children:r}),e.content&&(0,t.jsx)("div",{className:(0,a.cn)("rounded-2xl px-4 py-2.5 text-sm",s?"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:s?e.content:(0,t.jsx)(n.default,{remarkPlugins:x,components:b,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:s})}),!s&&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,v],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 s=e.i(72740),a=e.i(33586),i=e.i(36451),l=e.i(20014),o=e.i(81471);e.s(["ChatInput",0,function({onSend:e,disabled:c,disabledMessage:d,placeholder:u,className:h}){let[m,p]=(0,r.useState)(""),f=(0,r.useRef)(null),g=(0,r.useRef)(null),[x,b]=(0,r.useState)(!1),{pending:v,ready:y,uploading:w,addFiles:S,remove:k,clear:j,error:C}=function(){let[e,t]=(0,r.useState)([]),[n,s]=(0,r.useState)(null),a=(0,r.useRef)(new Map),i=(0,r.useCallback)((e,r)=>{t(t=>t.map(t=>t.clientId===e?{...t,...r}:t))},[]),l=(0,r.useCallback)((e,t=0)=>e.reduce((e,t)=>e+t.sizeBytes,0)+t,[]),o=(0,r.useCallback)(e=>{let r=a.current.get(e);r&&(r.abort(),a.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 a.current.values())e.abort();a.current.clear(),t([]),s(null)},[]),d=(0,r.useCallback)(e=>{let t=new XMLHttpRequest;a.current.set(e.clientId,t),t.open("POST","/api/chat/attachments"),t.upload.onprogress=t=>{t.lengthComputable&&i(e.clientId,{progress:Math.round(t.loaded/t.total*100)})},t.onload=()=>{if(a.current.delete(e.clientId),t.status>=200&&t.status<300)try{let r=JSON.parse(t.responseText);i(e.clientId,{serverId:r.id,mimeType:r.mimeType,progress:100,status:"uploaded"})}catch{i(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{}i(e.clientId,{status:"error",error:r})}},t.onerror=()=>{a.current.delete(e.clientId),i(e.clientId,{status:"error",error:"Network error during upload"})};let r=new FormData;r.append("file",e.file,e.file.name),t.send(r)},[i]),u=(0,r.useCallback)(e=>{s(null);let r=Array.from(e);0!==r.length&&t(e=>{if(e.filter(e=>"uploading"===e.status).length+r.length>5)return s("At most 5 concurrent uploads"),e;let t=l(e),n=[];for(let e of r){let r=e.type.startsWith("image/")?5242880:0x1900000;if(e.size>r){s(`"${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){s("Per-turn cap is 100 MB — skipping the rest");break}t+=e.size;let a={clientId:`pending-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,serverId:null,file:e,progress:0,status:"uploading",sizeBytes:e.size};n.push(a)}for(let e of n)queueMicrotask(()=>d(e));return[...e,...n]})},[l,d]),h=e.some(e=>"uploading"===e.status),m=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:m,uploading:h,addFiles:u,remove:o,clear:c,error:n}}(),N=!c&&!w&&(m.trim().length>0||y.length>0),E=(0,r.useCallback)(()=>{N&&(e(m.trim(),y),p(""),j(),f.current&&(f.current.style.height="auto"))},[N,j,e,y,m]);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,o.cn)("border-t border-border bg-background px-4 pt-3 pb-4",x&&"bg-primary/5",h),onDragOver:e=>{c||(e.preventDefault(),b(!0))},onDragLeave:()=>b(!1),onDrop:e=>{if(e.preventDefault(),b(!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)(s.Loader2,{className:"h-3 w-3 animate-spin"}),(0,t.jsx)("span",{children:d??"Agent is generating a response — please wait"})]}),v.length>0&&(0,t.jsx)("div",{className:"mb-2 flex flex-wrap gap-2",children:v.map(e=>{var r;return(0,t.jsxs)("div",{className:(0,o.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)(a.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:()=>k(e.clientId),className:"ml-1 text-muted-foreground hover:text-foreground","aria-label":`Remove ${e.file.name}`,children:(0,t.jsx)(i.X,{className:"h-3 w-3"})})]},e.clientId)})}),C&&(0,t.jsx)("div",{className:"mb-2 text-xs text-destructive",role:"alert",children:C}),(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)(l.Button,{type:"button",size:"icon",variant:"ghost",onClick:()=>g.current?.click(),disabled:c,"aria-label":"Attach files",title:"Attach files",children:(0,t.jsx)(a.Paperclip,{className:"h-4 w-4"})}),(0,t.jsx)("textarea",{ref:f,value:m,onChange:e=>p(e.target.value),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&(e.preventDefault(),E())},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)(l.Button,{size:"icon",onClick:E,disabled:!N,children:c||w?(0,t.jsx)(s.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 s="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:[s?(0,t.jsx)(r.Check,{className:"h-3 w-3 text-success"}):(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 s(e){return`${e.role}\u0000${e.content}`}function a(e,t,r){let n=e.slice(-Math.max(t.length+4,4)),a=new Map;for(let e of n){let t=s(e);a.set(t,(a.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=s(e),n=a.get(t)??0;return!(n>0)||(a.set(t,n-1),!1)})}async function i(e,t){let r,n=t?.fetchImpl??fetch,s=[];for(;;){let a=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(!a.ok)throw Error(`Failed to load conversation ${e} history`);let i=await a.json();if(0===i.messages.length||(s.push(i.messages),!i.hasMore))break;let l=i.messages[0]?.id;if(!l||l===r)break;r=l}return s.reverse().flat()}e.s(["fetchConversationHistory",0,i],27779);var l=e.i(81471);let o="pa-chat-sessionId";function c(e){try{localStorage.setItem(o,String(e))}catch{}}function d(){try{localStorage.removeItem(o)}catch{}}async function u(e,t){return(await i(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,l.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 h(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(),s=n.conversations[0]?.id;return"number"==typeof s&&s>0?s:null}e.s(["fetchSessionMessages",0,u,"useChat",0,function({disableHistory:e=!1}={}){let s=(0,r.useQueryClient)(),[i,l]=(0,t.useState)([]),[m,p]=(0,t.useState)(!1),[f,g]=(0,t.useState)(!1),[x,b]=(0,t.useState)([]),[v,y]=(0,t.useState)(null),[w,S]=(0,t.useState)(!1),[k,j]=(0,t.useState)(0),[C,N]=(0,t.useState)([]),E=(0,t.useRef)(""),I=(0,t.useRef)(0),T=(0,t.useRef)(null),P=(0,t.useRef)(null),A=(0,t.useRef)([]),R=(0,t.useRef)([]),D=(0,t.useRef)(null),L=()=>`msg-${++I.current}`,M=(0,t.useCallback)((e,t)=>"string"==typeof e?.message?e.message:"string"==typeof e?.error?e.error:t,[]),_=(0,t.useCallback)(()=>{P.current&&(clearTimeout(P.current),P.current=null)},[]),B=(0,t.useCallback)(()=>{g(!0),_(),P.current=setTimeout(()=>{g(!1)},12e4)},[_]),O=(0,t.useCallback)(()=>{g(!1),_()},[_]),F=(0,t.useCallback)(e=>{"number"==typeof e?.resumeSessionId&&e.resumeSessionId>0?c(e.resumeSessionId):d(),E.current="",A.current=[],R.current=[],D.current=e?.resumeSessionId??null,O(),l([]),N([]),b([]),y(null),p(!1),S(!1),T.current&&(T.current.close(),T.current=null),j(e=>e+1)},[O]);(0,t.useEffect)(()=>{D.current=v?.sessionId??null},[v]),(0,t.useEffect)(()=>{A.current=i},[i]),(0,t.useEffect)(()=>{R.current=C},[C]),(0,t.useEffect)(()=>{let t=e?null:function(){try{let e=localStorage.getItem(o);if(!e)return null;let t=Number(e);return Number.isFinite(t)&&t>0?t:null}catch{return null}}(),r=new AbortController,s=new EventSource(t?`/api/chat/stream?sessionId=${t}`:"/api/chat/stream");T.current=s;let i=0;return e||h(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:R.current.length,currentLiveCount:A.current.length})&&(N(e),l(r=>a(e,r,t)))})}).catch(()=>{}),s.onopen=()=>{i++,S(!0),i>1?console.debug("[chat] SSE reconnected"):console.debug("[chat] SSE connected")},s.onerror=()=>{S(!1),p(!1),O(),E.current="",console.warn("[chat] SSE connection lost — will auto-reconnect")},s.addEventListener("session_info",r=>{try{let s=JSON.parse(r.data),o="channelId"in s;y(e=>o?{...s}:{...e,...s}),!e&&("number"==typeof s.sessionId&&s.sessionId>0&&c(s.sessionId),t&&"channelId"in s&&!("sessionId"in s)&&d());let h=i>1,m="number"==typeof s.sessionId?s.sessionId:null;if(!e&&function({isInitialBinding:e,isReconnect:t,confirmedSessionId:r}){return null!==r&&(e||t)}({isInitialBinding:o,isReconnect:h,confirmedSessionId:m})&&null!==m){let e=Date.now();u(m).then(t=>{n({fetchedMessageCount:t.length,currentRestoredCount:R.current.length,currentLiveCount:A.current.length})&&(N(t),l(r=>a(t,r,e)))}).catch(()=>{})}}catch{}}),s.addEventListener("chat",e=>{try{let t=JSON.parse(e.data);l(e=>[...e,{id:L(),role:t.role,content:t.content,timestamp:new Date,...t.attachments&&t.attachments.length>0?{attachments:t.attachments.map(e=>({...e,direction:"outbound"}))}:{}}]),b([]),O()}catch{}}),s.addEventListener("chat_attachments",e=>{try{let{attachments:t}=JSON.parse(e.data);if(!Array.isArray(t)||0===t.length)return;l(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{}}),s.addEventListener("chat_stream",e=>{try{let{chunk:t}=JSON.parse(e.data);p(!0),O(),E.current+=t,l(e=>{let t=e[e.length-1];return t?.role==="assistant"&&t.id.startsWith("stream-")?[...e.slice(0,-1),{...t,content:E.current}]:[...e,{id:`stream-${I.current}`,role:"assistant",content:E.current,timestamp:new Date}]})}catch{}}),s.addEventListener("stream_end",()=>{p(!1),E.current=""}),s.addEventListener("tool_progress",e=>{try{let t=JSON.parse(e.data);b(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{}}),s.addEventListener("chat_meta",e=>{try{let t=JSON.parse(e.data);l(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:R.current.length,currentLiveCount:A.current.length})&&(N(t),l(r=>a(t,r,e)))}).catch(()=>{})}}catch{}}),s.addEventListener("chat_error",e=>{try{let{message:t}=JSON.parse(e.data);l(e=>[...e,{id:L(),role:"error",content:t,timestamp:new Date}]),p(!1),O()}catch{}}),s.addEventListener("ping",()=>{}),()=>{r.abort(),s.close(),T.current=null,S(!1),_()}},[O,_,k,e]);let $=(0,t.useCallback)(async(e,t)=>{if(v?.channelId){B(),l(r=>[...r,{id:L(),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:v.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);l(t=>[...t,{id:L(),role:"error",content:M(e,"send failed"),timestamp:new Date}]),O()}}catch(t){let e=t instanceof TypeError?t.message:String(t);console.error("[chat] POST /api/chat/messages failed:",e),l(t=>[...t,{id:L(),role:"error",content:`Failed to send message: ${e}`,timestamp:new Date}]),O()}}},[M,v,B,O]),U=(0,t.useCallback)(async()=>{if(v?.channelId)try{let e=await fetch("/api/chat/end-session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({channelId:v.channelId})});if(!e.ok){let t=await e.json().catch(()=>null);l(e=>[...e,{id:L(),role:"error",content:M(t,"failed to end session"),timestamp:new Date}]);return}s.invalidateQueries({queryKey:["conversations"]}).catch(()=>{}),s.invalidateQueries({queryKey:["chat-current-binding"]}).catch(()=>{}),F()}catch(t){let e=t instanceof TypeError?t.message:String(t);console.error("[chat] POST /api/chat/end-session failed:",e),l(t=>[...t,{id:L(),role:"error",content:`Failed to end session: ${e}`,timestamp:new Date}])}},[M,s,F,v]),q=(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 l(t=>[...t,{id:L(),role:"error",content:M(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 s.invalidateQueries({queryKey:["conversations"]}).catch(()=>{}),s.invalidateQueries({queryKey:["chat-current-binding"]}).catch(()=>{}),F({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),l(t=>[...t,{id:L(),role:"error",content:`Failed to continue session: ${e}`,timestamp:new Date}]),!1}},[M,s,F]),z=w&&!!v?.channelId;return{messages:i,setMessages:l,restoredMessages:C,setRestoredMessages:N,streaming:m,waiting:f,busy:f||m,toolProgress:x,sessionInfo:v,sendMessage:$,endSession:U,continueSession:q,connected:w,ready:z}}],76)},18507,e=>{"use strict";var t=e.i(54710),r=e.i(34416);e.i(18446);var n=e.i(41460),s=e.i(23916),a=e.i(57415),i=e.i(95486),l=e.i(53756),o=e.i(63991),c=e.i(30040),d=e.i(20668),u=e.i(10427),h=e.i(24756),m=e.i(76176),p=e.i(52563);function f({value:e,onChange:n,disabled:s}){let a=(0,h.useBackends)(),i=(0,r.useMemo)(()=>(0,p.buildPickerGroups)(a.data?.backends??[]),[a.data]),l=e?(0,p.encodeSelection)(e):p.AUTO_VALUE,g=(0,p.heavyTierHint)(e,i),x=s||a.isLoading;return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Sparkles,{className:"h-3.5 w-3.5 text-muted-foreground","aria-hidden":"true"}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"Model"}),(0,t.jsxs)(u.Select,{value:l,onValueChange:function(e){n((0,p.decodeSelection)(e))},disabled:x,children:[(0,t.jsx)(u.SelectTrigger,{className:"h-7 w-auto min-w-[10rem] px-2 py-0 text-xs",children:(0,t.jsx)(u.SelectValue,{placeholder:"Auto"})}),(0,t.jsxs)(u.SelectContent,{children:[(0,t.jsx)(u.SelectItem,{value:p.AUTO_VALUE,children:"Auto (default)"}),i.map(e=>{let r=(0,m.isUiPreviewOnlyBackend)(e.backendId);return(0,t.jsxs)(u.SelectGroup,{children:[(0,t.jsxs)(u.SelectLabel,{className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wide",children:[(0,t.jsx)("span",{children:e.label}),r&&(0,t.jsx)("span",{className:"rounded bg-muted px-1 py-0 text-[9px] font-medium text-muted-foreground",children:"coming soon"}),e.authBlocked&&!r&&(0,t.jsxs)("span",{className:"rounded bg-destructive/15 px-1 py-0 text-[9px] font-medium text-destructive",children:["auth ",e.authStatus]})]}),e.models.map(n=>{let s=!n.available||e.authBlocked||r;return(0,t.jsxs)(u.SelectItem,{value:`${e.backendId}${p.SEPARATOR}${n.modelId}`,disabled:s,children:[n.label,r?m.UI_PREVIEW_ONLY_BADGE_SUFFIX:""]},`${e.backendId}${p.SEPARATOR}${n.modelId}`)})]},e.backendId)})]})]})]}),a.isError&&(0,t.jsxs)("div",{role:"alert",className:"flex items-center gap-1.5 text-[11px] text-destructive",children:[(0,t.jsx)(o.AlertCircle,{className:"h-3 w-3 flex-shrink-0","aria-hidden":"true"}),(0,t.jsx)("span",{children:"Couldn't load backend list — falling back to process default."})]}),g&&(0,t.jsxs)("div",{role:"status",className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[(0,t.jsx)(c.Info,{className:"h-3 w-3 flex-shrink-0","aria-hidden":"true"}),(0,t.jsxs)("span",{children:["Heavy-tier model (",g.modelLabel,") — higher cost & rate limits than Auto. Switch to Auto when not needed."]})]})]})}var g=e.i(89480),x=e.i(48467),b=e.i(20014),v=e.i(81471);function y({sessionInfo:e,binding:r,sessionSourceLabel:n,readOnly:s=!1,messageCount:a,onEndSession:i,showEndSession:l=!0}){let o=e?.model||e?.modelLabel?{backend:e.backend,label:e.modelLabel??e.model??null}:r?{backend:r.activeBackend,label:r.activeModelLabel??r.activeModel}:null,c=o?.label?o.backend?`${o.backend} / ${o.label}`:o.label:null;return(0,t.jsx)("div",{className:"border-b border-border bg-background px-4 py-2",children:(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[c&&(0,t.jsx)(x.Badge,{variant:o?.backend?m.BACKEND_BADGE_VARIANTS[o.backend]:"gray",children:c}),r?.fallbackActive&&(0,t.jsxs)(x.Badge,{variant:"amber",children:["Fallback: ",r.fallbackBackend," / ",r.fallbackModel]}),n&&(0,t.jsx)(x.Badge,{variant:"gray",children:n}),s&&(0,t.jsx)(x.Badge,{variant:"gray",children:"Read-only"}),"number"==typeof e?.costUsd&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:(0,v.formatCurrency)(e.costUsd)}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:[a," messages"]})]}),l&&(0,t.jsx)(b.Button,{variant:"outline",size:"sm",className:"border-success/40 text-success hover:bg-success/10 hover:text-success",onClick:i,children:"New Chat"})]})})}var w=e.i(79634),S=e.i(13707),k=e.i(57628),j=e.i(10628);let C={dashboard:0,whatsapp:1,telegram:2,slack:3,discord:4},N={dashboard:"Browser",whatsapp:"WhatsApp",telegram:"Telegram",slack:"Slack",discord:"Discord"};function E(e){return N[e]??e}var I=e.i(38082),T=e.i(27136),P=e.i(60168);let A=(0,e.i(77379).default)("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var R=e.i(90925),D=e.i(36451);function L({pastSessions:e,currentSessionInfo:r,currentMessageCount:n,activePastId:s,onSelectPast:a,onContinuePast:i,onSelectCurrent:l,onEndSession:o,onDeletePast:c,onCleanAll:d,deleteInFlight:u,deleteError:h,onDismissDeleteError:p}){var f;let g=null===s,y=e=>{!e.readOnlyFromDashboard&&e.continueAvailable?i({id:e.id}):a({id:e.id})};return(0,t.jsxs)("div",{className:"flex h-full w-64 shrink-0 flex-col border-r border-border bg-sidebar",children:[(0,t.jsxs)("div",{className:"flex h-12 items-center justify-between px-3",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:"Sessions"}),null!==s&&(0,t.jsx)(b.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:l,title:"Back to current session",children:(0,t.jsx)(P.Plus,{className:"h-3.5 w-3.5"})})]}),(0,t.jsx)(k.Separator,{}),(0,t.jsxs)("div",{className:"p-2",children:[(0,t.jsxs)("button",{onClick:l,className:(0,v.cn)("flex w-full flex-col gap-1.5 rounded-lg p-2.5 text-left transition-colors",g?"bg-primary/10 ring-1 ring-primary/20":"hover:bg-accent"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:(0,v.cn)("h-2 w-2 shrink-0 rounded-full",r?"bg-success animate-pulse":"bg-gray-400")}),(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Current Session"})]}),r?(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[11px] text-muted-foreground",children:[(r.modelLabel||r.model)&&(0,t.jsx)(x.Badge,{variant:(f=r.backend)&&(0,I.isBackendId)(f)?m.BACKEND_BADGE_VARIANTS[f]:"gray",className:"h-4 text-[10px] px-1.5 py-0",children:r.modelLabel??r.model}),(0,t.jsx)("span",{children:(0,v.formatCurrency)(r.costUsd??0)}),(0,t.jsxs)("span",{children:[n," msgs"]})]}):(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:"Connecting..."})]}),r&&g&&(0,t.jsxs)(b.Button,{variant:"outline",size:"sm",className:"mt-1.5 w-full text-xs border-success/40 text-success hover:bg-success/10 hover:text-success",onClick:o,children:[(0,t.jsx)(A,{className:"mr-1.5 h-3 w-3"}),"New Chat"]})]}),(0,t.jsx)(k.Separator,{}),h&&(0,t.jsx)("div",{className:"px-2 pt-2",children:(0,t.jsxs)(w.Alert,{variant:"error",className:"items-center",children:[(0,t.jsx)("span",{className:"flex-1",children:h}),(0,t.jsx)("button",{type:"button",onClick:p,className:"ml-2 rounded p-0.5 text-destructive hover:bg-destructive/10","aria-label":"Dismiss error",children:(0,t.jsx)(D.X,{className:"h-3 w-3"})})]})}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2",children:[(0,t.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:"History"}),e.length>0&&(0,t.jsxs)(b.Button,{variant:"ghost",size:"sm",className:"h-6 px-2 text-[10px] text-muted-foreground hover:bg-destructive/10 hover:text-destructive",onClick:d,disabled:u,title:"Delete all past sessions",children:[(0,t.jsx)(R.Trash2,{className:"mr-1 h-3 w-3"}),"Clean all"]})]}),(0,t.jsx)(S.ScrollArea,{className:"flex-1",children:(0,t.jsxs)("div",{className:"space-y-0.5 px-2 pb-2",children:[0===e.length&&(0,t.jsx)("p",{className:"px-2 py-4 text-center text-xs text-muted-foreground",children:"Chat with the agent to see session history here"}),e.map(e=>{let r=s===e.id;return(0,t.jsxs)("div",{role:"button",tabIndex:0,className:(0,v.cn)("flex w-full cursor-pointer flex-col gap-1 rounded-lg p-2.5 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",r?"bg-primary/10 ring-1 ring-primary/20":"hover:bg-accent"),onClick:()=>y(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),y(e))},title:e.readOnlyFromDashboard?"View this session":e.continueAvailable?"Resume this browser session":"View this archived session",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(T.MessageSquare,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,t.jsxs)("span",{className:"text-sm text-foreground truncate",children:["Session #",e.id]}),e.readOnlyFromDashboard&&(0,t.jsx)(x.Badge,{variant:"gray",className:"px-1.5 py-0 text-[10px]",children:"Read-only"})]}),(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1",children:e.sourcePlatforms.map(r=>(0,t.jsx)(x.Badge,{variant:"dashboard"===r?"blue":"purple",className:"px-1.5 py-0 text-[10px]",children:E(r)},`${e.id}-${r}`))}),(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[11px] text-muted-foreground",children:[(0,t.jsxs)("span",{children:[e.message_count," msgs"]}),(0,t.jsx)("span",{children:"·"}),(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"font-mono tabular-nums",children:(0,v.formatShortDateTime)(e.last_message_at)})}),(0,t.jsxs)(j.TooltipContent,{children:[(0,v.formatAbsoluteTime)(e.last_message_at)," (",(0,v.formatRelativeTime)(e.last_message_at),")"]})]})]}),e.summary&&(0,t.jsx)("p",{className:"line-clamp-1 text-[11px] text-muted-foreground/70",children:e.summary}),(0,t.jsx)("div",{className:"mt-1 flex items-center justify-end",children:(0,t.jsx)(b.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:bg-destructive/10 hover:text-destructive",disabled:u,onClick:t=>{t.stopPropagation(),c({id:e.id})},title:"Delete this session","aria-label":`Delete session ${e.id}`,children:(0,t.jsx)(R.Trash2,{className:"h-3.5 w-3.5"})})})]},e.id)})]})})]})}var M=e.i(34098),_=e.i(50862),B=e.i(90826),O=e.i(65268),F=e.i(14260),$=e.i(76),U=e.i(88423),q=e.i(27779),z=e.i(62126);e.s(["default",0,function(){var e,o;let[c,d]=(0,r.useState)(null),u=(0,B.useConfirm)(),h=(0,i.useQueryClient)(),{data:p}=(0,U.useConfig)(),{data:x}=(0,F.useQuery)({queryKey:["chat-current-binding"],queryFn:()=>O.api.get("/chat/current-binding"),refetchInterval:15e3}),{data:b}=(0,z.useConversations)({scope:n.CHAT_SIDEBAR_SCOPE_PARAM}),{messages:w,restoredMessages:k,streaming:j,busy:N,toolProgress:I,sessionInfo:P,sendMessage:A,endSession:R,continueSession:D,connected:H,ready:W}=(0,$.useChat)(),[V,G]=(0,r.useState)(null),K=(0,r.useRef)(null),Q=(0,r.useRef)(!0),X=(0,r.useMemo)(()=>(b?.pages.flatMap(e=>e.conversations)??[]).filter(e=>"active"!==e.status).map(e=>{var t;let r,n=(0===(r=new Set(((t=e).source_platforms??[]).filter(e=>"string"==typeof e&&e.length>0))).size&&"owner"!==t.platform&&r.add(t.platform),[...r].sort((e,t)=>{let r=C[e]??Number.MAX_SAFE_INTEGER,n=C[t]??Number.MAX_SAFE_INTEGER;return r!==n?r-n:e.localeCompare(t)})),s=n.length>0&&n.every(e=>"dashboard"===e);return{...e,sourcePlatforms:n,sourceSummary:n.length>0?n.map(E).join(" + "):"Unknown",readOnlyFromDashboard:!s,continueAvailable:s&&e.continue_available}}),[b]),Y=(0,r.useCallback)(()=>{let e=K.current;e&&(Q.current=e.scrollHeight-e.scrollTop-e.clientHeight<100)},[]);(0,r.useEffect)(()=>{let e=K.current;if(e)return e.addEventListener("scroll",Y,{passive:!0}),()=>e.removeEventListener("scroll",Y)},[Y]);let{data:J,isError:Z}=(e=c?.id??0,o={enabled:null!==c},(0,F.useQuery)({queryKey:["conversation-history",e],queryFn:({signal:t})=>(0,q.fetchConversationHistory)(e,{signal:t}),enabled:(o?.enabled??!0)&&e>0,staleTime:6e4,refetchOnWindowFocus:!1})),ee=(0,r.useMemo)(()=>c?(J??[]).map(e=>({id:`past-${e.id}`,role:e.role,content:e.content,timestamp:(0,v.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}:{}}))}:{}})):[],[c,J]),et=(0,r.useMemo)(()=>(function({manualPastSessionId:e,pastMessagesError:t,pastMessages:r,restoredMessages:n,liveMessages:s,busy:a}){let i=e&&!t?e:null,l=null!==i,o=[...n,...s];return{activePastId:i,currentSessionMessageCount:o.length,displayMessages:l?r:o,inputDisabled:a||l,inputDisabledMessage:l?"Viewing history — switch to Current Session to continue chatting":void 0,inputPlaceholder:l?"Viewing history...":void 0,isViewingPastSession:l,showCurrentSessionControls:!l,showLiveSessionActivity:!l}})({manualPastSessionId:c?.id??null,pastMessagesError:Z,pastMessages:ee,restoredMessages:k,liveMessages:w,busy:N}),[N,w,c,ee,Z,k]),er=et.activePastId?X.find(e=>e.id===et.activePastId):null,en=p?.agentDisplayName??s.DEFAULT_AGENT_DISPLAY_NAME,es=(0,r.useMemo)(()=>er?{channelId:P?.channelId??"",model:er.model,modelLabel:(0,m.formatShortModelName)(er.model),backend:(0,m.detectBackendFromModel)(er.model)??void 0}:V?{...P??{channelId:""},channelId:P?.channelId??"",model:V.modelId,modelLabel:(0,m.formatShortModelName)(V.modelId),backend:V.backendId}:P,[er,V,P]),ea=(0,r.useMemo)(()=>et.isViewingPastSession||V?null:x??null,[x,et.isViewingPastSession,V]);(0,r.useEffect)(()=>{let e=K.current;e&&Q.current&&(e.scrollTop=e.scrollHeight)},[et.displayMessages.length,I]);let ei=(0,r.useCallback)((e,t)=>{Q.current=!0,A(e,{...V?{requestedBackendId:V.backendId,requestedModelId:V.modelId}:{},...t.length>0?{attachments:t}:{}})},[V,A]),el=(0,r.useCallback)(async()=>{d(null),G(null),await R()},[R]),[eo,ec]=(0,r.useState)(null);(0,r.useEffect)(()=>{if(!eo)return;let e=window.setTimeout(()=>ec(null),5e3);return()=>window.clearTimeout(e)},[eo]);let ed=()=>h.getQueriesData({queryKey:["conversations"]}),eu=e=>{for(let[t,r]of e)h.setQueryData(t,r)},eh=(0,a.useMutation)({mutationFn:e=>O.api.delete(`/conversations/${e}`),onMutate:async e=>{await h.cancelQueries({queryKey:["conversations"]});let t=ed();return h.setQueriesData({queryKey:["conversations"]},t=>t&&{...t,pages:t.pages.map(t=>{let r=t.conversations.filter(t=>t.id!==e),n=t.conversations.length-r.length;return{...t,conversations:r,pagination:{...t.pagination,total:Math.max(0,t.pagination.total-n)}}})}),{previous:t}},onError:(e,t,r)=>{r&&eu(r.previous)},onSettled:()=>h.invalidateQueries({queryKey:["conversations"]})}),em=(0,a.useMutation)({mutationFn:()=>O.api.delete("/conversations"),onMutate:async()=>{await h.cancelQueries({queryKey:["conversations"]});let e=ed();return h.setQueriesData({queryKey:["conversations"]},e=>e&&{...e,pages:e.pages.map(e=>({...e,conversations:[],pagination:{...e.pagination,total:0,totalPages:0}}))}),{previous:e}},onError:(e,t,r)=>{r&&eu(r.previous)},onSettled:()=>h.invalidateQueries({queryKey:["conversations"]})}),ep=eh.isPending||em.isPending,ef=(0,r.useCallback)(async e=>{if(await u({title:`Delete session #${e.id}?`,description:"The transcript and any cached workdir will be removed. This cannot be undone.",confirmLabel:"Delete",variant:"destructive"})){ec(null);try{await eh.mutateAsync(e.id)}catch(e){ec(e instanceof O.ApiError?e.message:"Failed to delete session");return}d(t=>t?.id===e.id?null:t)}},[u,eh]),eg=(0,r.useCallback)(async()=>{let e=X.length;if(await u({title:e>0?`Delete all ${e} past session${1===e?"":"s"}?`:"Delete all past sessions?",description:"This removes every past dashboard chat AND every owner DM transcript (Telegram/Slack/Discord/WhatsApp) stored on this device. The current active session is kept. If the sidebar has more pages than are loaded, those are deleted too. This cannot be undone.",confirmLabel:"Delete all",variant:"destructive"})){ec(null);try{await em.mutateAsync()}catch(e){ec(e instanceof O.ApiError?e.message:"Failed to delete sessions");return}d(null)}},[u,em,X.length]),ex=(0,r.useCallback)(async e=>{await D(e.id)&&(d(null),G(null))},[D]),eb=et.inputDisabled||!W,ev=et.inputDisabled?er?er.readOnlyFromDashboard?`Viewing ${er.sourceSummary} history — read-only`:er.continueAvailable?"Viewing browser history — use Continue to resume this session":"Viewing browser history — this session can no longer be resumed":et.inputDisabledMessage:"Connecting — please wait a moment",ey=W?er?`Viewing ${er.sourceSummary} history...`:et.inputPlaceholder:"Connecting...";return(0,t.jsxs)("div",{className:"flex h-full",children:[(0,t.jsx)(L,{pastSessions:X,currentSessionInfo:H?P:null,currentMessageCount:et.currentSessionMessageCount,activePastId:et.activePastId,onSelectPast:e=>{d(e),G(null)},onContinuePast:ex,onSelectCurrent:()=>{d(null),G(null)},onEndSession:el,onDeletePast:ef,onCleanAll:eg,deleteInFlight:ep,deleteError:eo,onDismissDeleteError:()=>ec(null)}),(0,t.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,t.jsx)(y,{sessionInfo:es,binding:ea,sessionSourceLabel:er?`${er.sourceSummary} history`:null,readOnly:er?.readOnlyFromDashboard??!1,messageCount:et.displayMessages.length,onEndSession:el,showEndSession:et.showCurrentSessionControls&&W}),(0,t.jsx)(S.ScrollArea,{ref:K,className:"flex-1 p-4",children:(0,t.jsxs)("div",{className:"mx-auto max-w-4xl space-y-4",children:[et.displayMessages.map(e=>(0,t.jsx)(g.MessageBubble,{message:e,assistantLabel:en},e.id)),et.showLiveSessionActivity&&(0,t.jsx)(M.ToolProgress,{items:I}),et.showLiveSessionActivity&&N&&!j&&0===I.length&&(0,t.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1",children:[(0,t.jsxs)("span",{className:"flex gap-1",children:[(0,t.jsx)("span",{className:"h-2 w-2 animate-bounce rounded-full bg-muted-foreground [animation-delay:0ms]"}),(0,t.jsx)("span",{className:"h-2 w-2 animate-bounce rounded-full bg-muted-foreground [animation-delay:150ms]"}),(0,t.jsx)("span",{className:"h-2 w-2 animate-bounce rounded-full bg-muted-foreground [animation-delay:300ms]"})]}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"Agent is processing…"})]}),et.showLiveSessionActivity&&j&&(0,t.jsx)("div",{className:"flex justify-start",children:(0,t.jsx)("span",{className:"inline-block h-5 w-1 animate-pulse rounded-full bg-foreground"})}),0===et.displayMessages.length&&(0,t.jsx)("div",{className:"flex min-h-[60vh] items-center justify-center",children:(0,t.jsx)(_.EmptyState,{icon:T.MessageSquare,title:et.isViewingPastSession?"No saved messages in this session":"Send a message to start chatting",description:et.isViewingPastSession?"This saved session has no persisted messages.":"Direct chat with the agent — uses the same backend, context files, and memory as DMs from messaging apps. Long tasks (file edits, tool chains) can take tens of seconds; you'll see live tool progress above. Use the sidebar to open past sessions or end the current one (clears in-memory context but keeps the transcript in Activity → Conversations)."})})]})}),(0,t.jsxs)("div",{className:"border-t border-border bg-background",children:[(0,t.jsx)("div",{className:"px-4 pt-3",children:(0,t.jsx)(f,{value:V,onChange:G,disabled:eb})}),(0,t.jsx)(l.ChatInput,{onSend:ei,disabled:eb,className:"border-t-0",disabledMessage:ev,placeholder:ey})]})]})]})}],18507)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,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_2px_rgb(0_0_0/0.04),0_8px_24px_-16px_rgb(0_0_0/0.10)]",{variants:{tone:{default:"border-border bg-card",warning:"border-warning/40 bg-warning/5",success:"border-success/40 bg-success/5",error:"border-destructive/40 bg-destructive/5"},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:a,interactive:l,...s}){return(0,t.jsx)("div",{className:(0,r.cn)(n({tone:a,interactive:l}),e),...s})},"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-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",e),...n})},"CardTitle",0,function({className:e,...n}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-base font-semibold tracking-tight text-foreground",e),...n})},"CardValue",0,function({className:e,...n}){return(0,t.jsx)("div",{className:(0,r.cn)("font-display text-3xl font-semibold tracking-tight text-foreground",e),...n})}])},39982,e=>{"use strict";var t=e.i(54710),r=e.i(81471);e.s(["PageHeader",0,function({title:e,description:n,icon:a,badge:l,actions:s,children:i,className:o}){return(0,t.jsxs)("header",{className:(0,r.cn)("flex flex-col gap-1.5",o),children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[a&&(0,t.jsx)(a,{className:"h-5 w-5 text-muted-foreground"}),(0,t.jsx)("h1",{className:"font-display text-[1.75rem] font-semibold leading-tight tracking-tight text-foreground",children:e}),l]}),s&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:s})]}),n&&(0,t.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-muted-foreground",children:n}),i]})}])},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)},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)},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)},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)},66127,e=>{"use strict";var t=e.i(65268);async function r({title:e,defaultPath:n}){let a=await t.api.post("/system/pick-directory",{title:e,...n?{defaultPath:n}:{}});if("selected"===a.status&&a.path)return a.path;if("cancelled"===a.status)return null;throw Error(a.message??"Folder picker is unavailable.")}e.s(["pickDirectoryFromDesktop",0,r])},25795,e=>{"use strict";let t=(0,e.i(77379).default)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,t],25795)},76176,e=>{"use strict";e.i(18446);var t=e.i(38082);let r={claude:"Claude Code",codex:"OpenAI Codex",gemini:"Gemini CLI",opencode:"OpenCode"},n=new Set(["opencode"]);function a(e){return n.has(e)}let l={gemini:{badgeLabel:"Vendor deprecation",shortSuffix:" (deprecated)",reason:"Google announced Gemini CLI will stop serving free, Pro, and Ultra requests on 2026-06-18 in favor of Antigravity CLI. Standard / Enterprise licenses keep access. Avoid binding new processes to Gemini if you rely on consumer-tier auth."}},s={claude:"Claude",codex:"Codex",gemini:"Gemini",opencode:"OpenCode"},i={claude:["#7C2D12","#B54B2D","#E15B40","#F97316","#FDBA74"],codex:["#86198F","#A21CAF","#D946EF","#E879F9","#F5D0FE"],gemini:["#1E3A8A","#1D4ED8","#1C69FF","#60A5FA","#93C5FD"],opencode:["#7C2D12","#C2410C","#FF7300","#F59E0B","#FCD34D"]},o=["#6b7280","#9ca3af","#4b5563","#374151"],d={claude:"orange",codex:"pink",gemini:"blue",opencode:"orange"},c={"routine.morning_routine":"Morning Routine","routine.evening_review":"Evening Review","routine.weekly_review":"Weekly Review","routine.monthly_review":"Monthly Review","routine.activity_scan":"Activity Scan","routine.roadmap_refresh":"Roadmap Refresh","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","wiki.ingest_url":"Wiki URL Ingest","wiki.compile":"Wiki Compile","wiki.ask":"Wiki Ask"};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,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 m(e){if(!e)return null;let t=e.toLowerCase();return/^[a-z0-9_.-]+\/[a-z0-9_.-]+/.test(t)?"opencode":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,d,"BACKEND_COLORS",0,{claude:"#E15B40",codex:"#D946EF",gemini:"#1C69FF",opencode:"#FF7300"},"BACKEND_LABELS",0,r,"BACKEND_PROVIDER_LABELS",0,{claude:"Claude (Anthropic)",codex:"ChatGPT (OpenAI)",gemini:"Gemini (Google)",opencode:"OpenCode (sst/opencode)"},"BACKEND_PROVIDER_SHORT",0,{claude:"Claude",codex:"ChatGPT",gemini:"Gemini",opencode:"OpenCode"},"BACKEND_WEB_SEARCH_DESCRIPTIONS",0,{claude:"Lets the agent call Anthropic's built-in WebSearch tool.",codex:"Lets the agent call OpenAI's web_search tool. Works in safe (sandbox) mode — the tool runs at OpenAI, not as a local shell command.",gemini:"Lets the agent call Gemini's google_web_search tool.",opencode:"Lets the agent call the configured OpenCode provider's web-search tool when the OpenCode runtime is enabled."},"CHART_CATEGORY_PALETTE",0,["#3b82f6","#10b981","#f59e0b","#8b5cf6","#ec4899","#14b8a6","#f97316","#6366f1","#ef4444","#22c55e"],"UI_PREVIEW_ONLY_BADGE_SUFFIX",0," (coming soon)","UI_PREVIEW_ONLY_REASON",0,"Coming soon — OpenCode is wired internally but not yet ready for selection in this release. The card stays visible so you can see what is on the roadmap.","assignModelColors",0,function(e){let t=new Map;for(let r of e){if(!r)continue;let e=m(r)??"other",n=t.get(e)??[];n.push(r),t.set(e,n)}let r={};for(let[e,n]of t){n.sort((e,t)=>e.localeCompare(t));let t="other"===e?o:i[e],a=n.length;n.forEach((e,n)=>{let l;l=a>=t.length?n%t.length:1===a?Math.floor(t.length/2):Math.floor((n+.5)*t.length/a),r[e]=t[l]})}return r},"detectBackendFromModel",0,m,"formatModelName",0,function(e){return e?e.replace(/^[a-z0-9_.-]+\//i,"").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(/^[a-z0-9_.-]+\//i,""),r=t.replace(/-\d{8,}$/,"").replace(/^claude-/,"").replace(/(\d+)-(\d+)(?![-\d])/g,"$1.$2").replace(/-/g," ");return t.startsWith("gpt-")&&(r=`GPT-${r.replace(/^gpt\s*/i,"")}`),t.startsWith("gemini-")&&(r=r.replace(/^gemini\s*/i,"Gemini ")),r.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()},"getBackendDeprecation",0,function(e){return l[e]??null},"getBackendLabel",0,function(e){return r[e]},"getBackendShortLabel",0,function(e){return s[e]},"getProcessGroup",0,function(e){return e.startsWith("wiki.")?"Wiki":e.startsWith("message.")||e.startsWith("dashboard.")?"Conversation":e.startsWith("routine.")?"Routines":e.startsWith("git.")||e.startsWith("github.")?"Git & GitHub":e.startsWith("calendar.")||"gmail_classify"===e?"Integrations":"Tasks"},"getProcessLabel",0,function(e){return c[e]??e},"isBackendSelectionDisabled",0,function(e){return!(0,t.isRuntimeAvailableBackendId)(e)||a(e)},"isUiPreviewOnlyBackend",0,a,"modelBadgeVariant",0,function(e){if(!e)return"gray";let t=m(e);return t?d[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}])},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})}])},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)},70986,e=>{"use strict";var t=e.i(34416),r=e.i(91967),n=e.i(9413),a=e.i(36567),l=e.i(18731),s=e.i(22353),i=e.i(85565),o=e.i(90816),d=e.i(11207),c=e.i(54710),u="Collapsible",[m,p]=(0,n.createContextScope)(u),[h,f]=m(u),g=t.forwardRef((e,r)=>{let{__scopeCollapsible:n,open:l,defaultOpen:s,disabled:o,onOpenChange:m,...p}=e,[f,g]=(0,a.useControllableState)({prop:l,defaultProp:s??!1,onChange:m,caller:u});return(0,c.jsx)(h,{scope:n,disabled:o,contentId:(0,d.useId)(),open:f,onOpenToggle:t.useCallback(()=>g(e=>!e),[g]),children:(0,c.jsx)(i.Primitive.div,{"data-state":y(f),"data-disabled":o?"":void 0,...p,ref:r})})});g.displayName=u;var x="CollapsibleTrigger",b=t.forwardRef((e,t)=>{let{__scopeCollapsible:n,...a}=e,l=f(x,n);return(0,c.jsx)(i.Primitive.button,{type:"button","aria-controls":l.contentId,"aria-expanded":l.open||!1,"data-state":y(l.open),"data-disabled":l.disabled?"":void 0,disabled:l.disabled,...a,ref:t,onClick:(0,r.composeEventHandlers)(e.onClick,l.onOpenToggle)})});b.displayName=x;var v="CollapsibleContent",k=t.forwardRef((e,t)=>{let{forceMount:r,...n}=e,a=f(v,e.__scopeCollapsible);return(0,c.jsx)(o.Presence,{present:r||a.open,children:({present:e})=>(0,c.jsx)(w,{...n,ref:t,present:e})})});k.displayName=v;var w=t.forwardRef((e,r)=>{let{__scopeCollapsible:n,present:a,children:o,...d}=e,u=f(v,n),[m,p]=t.useState(a),h=t.useRef(null),g=(0,s.useComposedRefs)(r,h),x=t.useRef(0),b=x.current,k=t.useRef(0),w=k.current,j=u.open||m,C=t.useRef(j),S=t.useRef(void 0);return t.useEffect(()=>{let e=requestAnimationFrame(()=>C.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,l.useLayoutEffect)(()=>{let e=h.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();x.current=t.height,k.current=t.width,C.current||(e.style.transitionDuration=S.current.transitionDuration,e.style.animationName=S.current.animationName),p(a)}},[u.open,a]),(0,c.jsx)(i.Primitive.div,{"data-state":y(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!j,...d,ref:g,style:{"--radix-collapsible-content-height":b?`${b}px`:void 0,"--radix-collapsible-content-width":w?`${w}px`:void 0,...e.style},children:j&&o})});function y(e){return e?"open":"closed"}e.s(["Collapsible",0,g,"CollapsibleContent",0,k,"CollapsibleTrigger",0,b],70986)},58436,e=>{"use strict";var t=e.i(54710),r=e.i(34416),n=e.i(55575),a=e.i(72740),l=e.i(20014),s=e.i(8652),i=e.i(66127),o=e.i(81471);e.s(["DirectoryPickerField",0,function({id:e,value:d,onChange:c,title:u,placeholder:m="Choose a folder...",defaultPath:p,disabled:h=!1,className:f,inputClassName:g,buttonLabel:x="Choose"}){let[b,v]=(0,r.useState)(!1),[k,w]=(0,r.useState)(null),y=async()=>{v(!0),w(null);try{let e=await (0,i.pickDirectoryFromDesktop)({title:u,defaultPath:d.trim()||p});e&&c(e)}catch(e){w(e instanceof Error?e.message:"Folder picker is unavailable.")}finally{v(!1)}};return(0,t.jsxs)("div",{className:(0,o.cn)("space-y-1",f),children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row",children:[(0,t.jsx)(s.Input,{id:e,value:d,onChange:e=>{c(e.target.value),w(null)},placeholder:m,className:(0,o.cn)("font-mono text-sm",g),disabled:h||b}),(0,t.jsxs)(l.Button,{type:"button",variant:"outline",onClick:y,disabled:h||b,className:"shrink-0 gap-2",children:[b?(0,t.jsx)(a.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(n.FolderOpen,{className:"h-4 w-4"}),b?"Opening...":x]})]}),k&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:k})]})}])},13707,e=>{"use strict";var t=e.i(54710),r=e.i(34416),n=e.i(85565),a=e.i(90816),l=e.i(9413),s=e.i(22353),i=e.i(88248),o=e.i(75649),d=e.i(18731),c=e.i(27069),u=e.i(91967),m="ScrollArea",[p,h]=(0,l.createContextScope)(m),[f,g]=p(m),x=r.forwardRef((e,a)=>{let{__scopeScrollArea:l,type:i="hover",dir:d,scrollHideDelay:c=600,...u}=e,[m,p]=r.useState(null),[h,g]=r.useState(null),[x,b]=r.useState(null),[v,k]=r.useState(null),[w,y]=r.useState(null),[j,C]=r.useState(0),[S,N]=r.useState(0),[_,E]=r.useState(!1),[R,T]=r.useState(!1),P=(0,s.useComposedRefs)(a,e=>p(e)),B=(0,o.useDirection)(d);return(0,t.jsx)(f,{scope:l,type:i,dir:B,scrollHideDelay:c,scrollArea:m,viewport:h,onViewportChange:g,content:x,onContentChange:b,scrollbarX:v,onScrollbarXChange:k,scrollbarXEnabled:_,onScrollbarXEnabledChange:E,scrollbarY:w,onScrollbarYChange:y,scrollbarYEnabled:R,onScrollbarYEnabledChange:T,onCornerWidthChange:C,onCornerHeightChange:N,children:(0,t.jsx)(n.Primitive.div,{dir:B,...u,ref:P,style:{position:"relative","--radix-scroll-area-corner-width":j+"px","--radix-scroll-area-corner-height":S+"px",...e.style}})})});x.displayName=m;var b="ScrollAreaViewport",v=r.forwardRef((e,a)=>{let{__scopeScrollArea:l,children:i,nonce:o,...d}=e,c=g(b,l),u=r.useRef(null),m=(0,s.useComposedRefs)(a,u,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:o}),(0,t.jsx)(n.Primitive.div,{"data-radix-scroll-area-viewport":"",...d,ref:m,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:i})})]})});v.displayName=b;var k="ScrollAreaScrollbar",w=r.forwardRef((e,n)=>{let{forceMount:a,...l}=e,s=g(k,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:o}=s,d="horizontal"===e.orientation;return r.useEffect(()=>(d?i(!0):o(!0),()=>{d?i(!1):o(!1)}),[d,i,o]),"hover"===s.type?(0,t.jsx)(y,{...l,ref:n,forceMount:a}):"scroll"===s.type?(0,t.jsx)(j,{...l,ref:n,forceMount:a}):"auto"===s.type?(0,t.jsx)(C,{...l,ref:n,forceMount:a}):"always"===s.type?(0,t.jsx)(S,{...l,ref:n}):null});w.displayName=k;var y=r.forwardRef((e,n)=>{let{forceMount:l,...s}=e,i=g(k,e.__scopeScrollArea),[o,d]=r.useState(!1);return r.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),d(!0)},n=()=>{t=window.setTimeout(()=>d(!1),i.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[i.scrollArea,i.scrollHideDelay]),(0,t.jsx)(a.Presence,{present:l||o,children:(0,t.jsx)(C,{"data-state":o?"visible":"hidden",...s,ref:n})})}),j=r.forwardRef((e,n)=>{var l;let{forceMount:s,...i}=e,o=g(k,e.__scopeScrollArea),d="horizontal"===e.orientation,c=K(()=>p("SCROLL_END"),100),[m,p]=(l={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)=>l[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===m){let e=window.setTimeout(()=>p("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(e)}},[m,o.scrollHideDelay,p]),r.useEffect(()=>{let e=o.viewport,t=d?"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)}},[o.viewport,d,p,c]),(0,t.jsx)(a.Presence,{present:s||"hidden"!==m,children:(0,t.jsx)(S,{"data-state":"hidden"===m?"hidden":"visible",...i,ref:n,onPointerEnter:(0,u.composeEventHandlers)(e.onPointerEnter,()=>p("POINTER_ENTER")),onPointerLeave:(0,u.composeEventHandlers)(e.onPointerLeave,()=>p("POINTER_LEAVE"))})})}),C=r.forwardRef((e,n)=>{let l=g(k,e.__scopeScrollArea),{forceMount:s,...i}=e,[o,d]=r.useState(!1),c="horizontal"===e.orientation,u=K(()=>{if(l.viewport){let e=l.viewport.offsetWidth<l.viewport.scrollWidth,t=l.viewport.offsetHeight<l.viewport.scrollHeight;d(c?e:t)}},10);return q(l.viewport,u),q(l.content,u),(0,t.jsx)(a.Presence,{present:s||o,children:(0,t.jsx)(S,{"data-state":o?"visible":"hidden",...i,ref:n})})}),S=r.forwardRef((e,n)=>{let{orientation:a="vertical",...l}=e,s=g(k,e.__scopeScrollArea),i=r.useRef(null),o=r.useRef(0),[d,c]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=F(d.viewport,d.content),m={...l,sizes:d,onSizesChange:c,hasThumb:!!(u>0&&u<1),onThumbChange:e=>i.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function p(e,t){return function(e,t,r,n="ltr"){let a=O(r),l=t||a/2,s=r.scrollbar.paddingStart+l,i=r.scrollbar.size-r.scrollbar.paddingEnd-(a-l),o=r.content-r.viewport;return U([s,i],"ltr"===n?[0,o]:[-1*o,0])(e)}(e,o.current,d,t)}return"horizontal"===a?(0,t.jsx)(N,{...m,ref:n,onThumbPositionChange:()=>{if(s.viewport&&i.current){let e=H(s.viewport.scrollLeft,d,s.dir);i.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{s.viewport&&(s.viewport.scrollLeft=e)},onDragScroll:e=>{s.viewport&&(s.viewport.scrollLeft=p(e,s.dir))}}):"vertical"===a?(0,t.jsx)(_,{...m,ref:n,onThumbPositionChange:()=>{if(s.viewport&&i.current){let e=H(s.viewport.scrollTop,d);i.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{s.viewport&&(s.viewport.scrollTop=e)},onDragScroll:e=>{s.viewport&&(s.viewport.scrollTop=p(e))}}):null}),N=r.forwardRef((e,n)=>{let{sizes:a,onSizesChange:l,...i}=e,o=g(k,e.__scopeScrollArea),[d,c]=r.useState(),u=r.useRef(null),m=(0,s.useComposedRefs)(n,u,o.onScrollbarXChange);return r.useEffect(()=>{u.current&&c(getComputedStyle(u.current))},[u]),(0,t.jsx)(T,{"data-orientation":"horizontal",...i,ref:m,sizes:a,style:{bottom:0,left:"rtl"===o.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===o.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":O(a)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(o.viewport){var n,a;let l=o.viewport.scrollLeft+t.deltaX;e.onWheelScroll(l),n=l,a=r,n>0&&n<a&&t.preventDefault()}},onResize:()=>{u.current&&o.viewport&&d&&l({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:I(d.paddingLeft),paddingEnd:I(d.paddingRight)}})}})}),_=r.forwardRef((e,n)=>{let{sizes:a,onSizesChange:l,...i}=e,o=g(k,e.__scopeScrollArea),[d,c]=r.useState(),u=r.useRef(null),m=(0,s.useComposedRefs)(n,u,o.onScrollbarYChange);return r.useEffect(()=>{u.current&&c(getComputedStyle(u.current))},[u]),(0,t.jsx)(T,{"data-orientation":"vertical",...i,ref:m,sizes:a,style:{top:0,right:"ltr"===o.dir?0:void 0,left:"rtl"===o.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":O(a)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(o.viewport){var n,a;let l=o.viewport.scrollTop+t.deltaY;e.onWheelScroll(l),n=l,a=r,n>0&&n<a&&t.preventDefault()}},onResize:()=>{u.current&&o.viewport&&d&&l({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:I(d.paddingTop),paddingEnd:I(d.paddingBottom)}})}})}),[E,R]=p(k),T=r.forwardRef((e,a)=>{let{__scopeScrollArea:l,sizes:o,hasThumb:d,onThumbChange:c,onThumbPointerUp:m,onThumbPointerDown:p,onThumbPositionChange:h,onDragScroll:f,onWheelScroll:x,onResize:b,...v}=e,w=g(k,l),[y,j]=r.useState(null),C=(0,s.useComposedRefs)(a,e=>j(e)),S=r.useRef(null),N=r.useRef(""),_=w.viewport,R=o.content-o.viewport,T=(0,i.useCallbackRef)(x),P=(0,i.useCallbackRef)(h),B=K(b,10);function L(e){S.current&&f({x:e.clientX-S.current.left,y:e.clientY-S.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;y?.contains(t)&&T(e,R)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[_,y,R,T]),r.useEffect(P,[o,P]),q(y,B),q(w.content,B),(0,t.jsx)(E,{scope:l,scrollbar:y,hasThumb:d,onThumbChange:(0,i.useCallbackRef)(c),onThumbPointerUp:(0,i.useCallbackRef)(m),onThumbPositionChange:P,onThumbPointerDown:(0,i.useCallbackRef)(p),children:(0,t.jsx)(n.Primitive.div,{...v,ref:C,style:{position:"absolute",...v.style},onPointerDown:(0,u.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),S.current=y.getBoundingClientRect(),N.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",w.viewport&&(w.viewport.style.scrollBehavior="auto"),L(e))}),onPointerMove:(0,u.composeEventHandlers)(e.onPointerMove,L),onPointerUp:(0,u.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=N.current,w.viewport&&(w.viewport.style.scrollBehavior=""),S.current=null})})})}),P="ScrollAreaThumb",B=r.forwardRef((e,r)=>{let{forceMount:n,...l}=e,s=R(P,e.__scopeScrollArea);return(0,t.jsx)(a.Presence,{present:n||s.hasThumb,children:(0,t.jsx)(L,{ref:r,...l})})}),L=r.forwardRef((e,a)=>{let{__scopeScrollArea:l,style:i,...o}=e,d=g(P,l),c=R(P,l),{onThumbPositionChange:m}=c,p=(0,s.useComposedRefs)(a,e=>c.onThumbChange(e)),h=r.useRef(void 0),f=K(()=>{h.current&&(h.current(),h.current=void 0)},100);return r.useEffect(()=>{let e=d.viewport;if(e){let t=()=>{f(),h.current||(h.current=W(e,m),m())};return m(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[d.viewport,f,m]),(0,t.jsx)(n.Primitive.div,{"data-state":c.hasThumb?"visible":"hidden",...o,ref:p,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...i},onPointerDownCapture:(0,u.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,u.composeEventHandlers)(e.onPointerUp,c.onThumbPointerUp)})});B.displayName=P;var D="ScrollAreaCorner",A=r.forwardRef((e,r)=>{let n=g(D,e.__scopeScrollArea),a=!!(n.scrollbarX&&n.scrollbarY);return"scroll"!==n.type&&a?(0,t.jsx)(M,{...e,ref:r}):null});A.displayName=D;var M=r.forwardRef((e,a)=>{let{__scopeScrollArea:l,...s}=e,i=g(D,l),[o,d]=r.useState(0),[c,u]=r.useState(0),m=!!(o&&c);return q(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),u(e)}),q(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),d(e)}),m?(0,t.jsx)(n.Primitive.div,{...s,ref:a,style:{width:o,height:c,position:"absolute",right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:0,...e.style}}):null});function I(e){return e?parseInt(e,10):0}function F(e,t){let r=e/t;return isNaN(r)?0:r}function O(e){let t=F(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function H(e,t,r="ltr"){let n=O(t),a=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,l=t.scrollbar.size-a,s=t.content-t.viewport,i=(0,c.clamp)(e,"ltr"===r?[0,s]:[-1*s,0]);return U([0,s],[0,l-n])(i)}function U(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 W=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return!function a(){let l={left:e.scrollLeft,top:e.scrollTop},s=r.left!==l.left,i=r.top!==l.top;(s||i)&&t(),r=l,n=window.requestAnimationFrame(a)}(),()=>window.cancelAnimationFrame(n)};function K(e,t){let n=(0,i.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,i.useCallbackRef)(t);(0,d.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 G=e.i(81471);let z=(0,r.forwardRef)(({className:e,children:r,...n},a)=>(0,t.jsxs)(x,{className:(0,G.cn)("relative overflow-hidden",e),...n,children:[(0,t.jsx)(v,{ref:a,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)(B,{className:"relative flex-1 rounded-full bg-border"})}),(0,t.jsx)(w,{orientation:"horizontal",className:"flex h-2.5 w-full flex-col touch-none select-none border-t border-t-transparent p-[1px] transition-colors",children:(0,t.jsx)(B,{className:"relative flex-1 rounded-full bg-border"})}),(0,t.jsx)(A,{})]}));z.displayName="ScrollArea",e.s(["ScrollArea",0,z],13707)},72010,e=>{"use strict";var t=e.i(54710),r=e.i(94237),n=e.i(72740),a=e.i(81471);let l=(0,r.cva)("animate-spin",{variants:{size:{xs:"h-3 w-3",sm:"h-3.5 w-3.5",md:"h-4 w-4",lg:"h-5 w-5"}},defaultVariants:{size:"md"}});e.s(["Spinner",0,function({className:e,size:r,...s}){return(0,t.jsx)(n.Loader2,{"aria-hidden":!0,className:(0,a.cn)(l({size:r}),e),...s})}])},86923,e=>{"use strict";var t=e.i(54710),r=e.i(34416),n=e.i(95486),a=e.i(72740),l=e.i(21682),s=e.i(7663),i=e.i(75750),o=e.i(74490),d=e.i(79634),c=e.i(48467),u=e.i(20014),m=e.i(8652),p=e.i(10427),h=e.i(65268),f=e.i(24756),g=e.i(87040),x=e.i(76176),b=e.i(81471),v=e.i(99758),k=e.i(59134),w=e.i(1718),y=e.i(27102),j=e.i(13707),C=e.i(57415),S=e.i(14260);function N({value:e,onChange:a,disabled:l,preferredTier:s,placeholder:i="Select model"}){let o,[p,f]=(0,r.useState)(!1),[g,x]=(0,r.useState)(""),[v,R]=(0,r.useState)(s??"all"),[T,P]=(0,r.useState)(!1),[B,L]=(0,r.useState)(!0),{data:D,isLoading:A,error:M}=(0,S.useQuery)({queryKey:["opencode-live-models"],queryFn:()=>h.api.get("/backends/opencode/live-models"),enabled:p,staleTime:3e5}),I=(o=(0,n.useQueryClient)(),(0,C.useMutation)({mutationFn:()=>h.api.get("/backends/opencode/live-models?refresh=1"),onSuccess:e=>{o.setQueryData(["opencode-live-models"],e)}})),F=(0,r.useMemo)(()=>{if(!D)return[];let e=g.trim().toLowerCase();return D.providers.map(t=>({...t,models:t.models.filter(t=>(!T||!!t.isFree)&&(!B||!!t.supportsToolUse)&&("all"===v||t.tier===v)&&(!e||t.modelId.toLowerCase().includes(e)||t.shortId.toLowerCase().includes(e)||t.name.toLowerCase().includes(e)||t.family.toLowerCase().includes(e)))})).filter(e=>e.models.length>0)},[D,g,v,T,B]),O=F.reduce((e,t)=>e+t.models.length,0),H=D?.providers.reduce((e,t)=>e+t.models.length,0)??0;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.Button,{type:"button",variant:"outline",disabled:l,onClick:()=>f(!0),className:"w-full justify-start truncate font-mono text-xs",children:e||(0,t.jsx)("span",{className:"text-muted-foreground italic",children:i})}),(0,t.jsx)(y.Dialog,{open:p,onOpenChange:f,children:(0,t.jsxs)(y.DialogContent,{className:"max-w-3xl",children:[(0,t.jsx)(y.DialogTitle,{children:"OpenCode model"}),(0,t.jsxs)(y.DialogDescription,{children:["Live catalogue from ",(0,t.jsx)("code",{children:"client.config.providers()"})," — every model your opencode server can route to. Selecting writes the full ",(0,t.jsx)("code",{children:"provider/model"})," composite."]}),(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsx)(w.Search,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),(0,t.jsx)(m.Input,{autoFocus:!0,placeholder:"Search by id, name, or family (e.g. gpt-oss, haiku, qwen)",value:g,onChange:e=>x(e.target.value),className:"pl-8"})]}),(0,t.jsx)(u.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>I.mutate(),disabled:I.isPending,title:"Re-enumerate after opencode auth changes",children:(0,t.jsx)(k.RefreshCw,{className:(0,b.cn)("h-3.5 w-3.5",I.isPending&&"animate-spin")})})]}),(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-xs",children:[(0,t.jsx)(_,{active:"all"===v,onClick:()=>R("all"),label:"All tiers"}),["lite","medium","high"].map(e=>(0,t.jsx)(_,{active:v===e,onClick:()=>R(e),label:e},e)),(0,t.jsx)("div",{className:"mx-1 h-4 w-px bg-border"}),(0,t.jsx)(_,{active:B,onClick:()=>L(e=>!e),label:"tool-use only"}),(0,t.jsx)(_,{active:T,onClick:()=>P(e=>!e),label:"free only"}),(0,t.jsxs)("span",{className:"ml-auto text-muted-foreground",children:[O,"/",H," models"]})]}),A&&(0,t.jsx)("p",{className:"mt-4 text-sm text-muted-foreground",children:"Loading…"}),M&&(0,t.jsxs)(d.Alert,{variant:"warning",className:"mt-3 text-xs",children:["Failed to enumerate models: ",M instanceof Error?M.message:"unknown error",". Confirm the daemon is running and the opencode server has at least one provider configured."]}),D&&(0,t.jsxs)(j.ScrollArea,{className:"mt-3 h-[420px] rounded-md border border-border",children:[0===F.length&&(0,t.jsx)("div",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"No models match these filters."}),F.map(r=>(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"sticky top-0 z-10 flex items-center gap-2 border-b border-border bg-muted/95 px-3 py-1.5 backdrop-blur",children:[(0,t.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wider text-foreground",children:r.name}),(0,t.jsx)(c.Badge,{variant:"gray",className:"text-[10px]",children:r.source}),(0,t.jsx)("span",{className:"ml-auto text-xs text-muted-foreground",children:r.models.length})]}),r.models.map(r=>(0,t.jsx)(E,{model:r,selected:r.modelId===e,onSelect:()=>{a(r.modelId),f(!1)}},r.modelId))]},r.id))]}),D&&(0,t.jsxs)("p",{className:"mt-2 text-[11px] text-muted-foreground",children:[D.cached?"Cached":"Fresh"," as of ",new Date(D.fetchedAt).toLocaleTimeString(),". Add providers via ",(0,t.jsx)("code",{children:"opencode auth login"}),", then click Refresh."]})]})})]})}function _({active:e,onClick:r,label:n}){return(0,t.jsx)("button",{type:"button",onClick:r,className:(0,b.cn)("rounded-full border px-2 py-0.5 transition-colors",e?"border-foreground bg-foreground text-background":"border-border bg-background text-muted-foreground hover:bg-muted"),children:n})}function E({model:e,selected:r,onSelect:n}){return(0,t.jsxs)("button",{type:"button",onClick:n,className:(0,b.cn)("flex w-full items-center gap-3 border-b border-border/40 px-3 py-2 text-left transition-colors hover:bg-muted/50",r&&"bg-accent/40"),children:[(0,t.jsx)(v.Check,{className:(0,b.cn)("h-3.5 w-3.5 shrink-0",r?"text-foreground":"text-transparent")}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-sm font-medium text-foreground",children:e.name}),(0,t.jsx)("div",{className:"truncate font-mono text-[11px] text-muted-foreground",children:e.modelId})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-1.5",children:[e.isFree&&(0,t.jsx)(c.Badge,{variant:"green",className:"text-[10px]",children:"free"}),!e.supportsToolUse&&(0,t.jsx)(c.Badge,{variant:"gray",className:"text-[10px] text-muted-foreground",children:"no tools"}),(0,t.jsx)(c.Badge,{variant:"gray",className:"text-[10px]",children:e.tier}),!e.isFree&&null!==e.usdPer1kIn&&(0,t.jsxs)("span",{className:"font-mono text-[10px] tabular-nums text-muted-foreground",children:["$",e.usdPer1kIn.toFixed(4),"/$",e.usdPer1kOut?.toFixed(4)??"?"]})]})]})}let R={"message.dm":"DM response quality may degrade. Sonnet is recommended for important conversations.","message.mention":"Mention response quality may degrade. Sonnet is recommended.","dashboard.chat":"Dashboard chat response quality may degrade. Sonnet is recommended.","routine.morning_routine":"Long-form generation may produce shorter/rougher output with Haiku. Sonnet is recommended.","routine.evening_review":"Long-form generation may produce shorter/rougher output with Haiku. Sonnet is recommended.","routine.weekly_review":"Weekly reviews require reasoning depth. Haiku may produce less coherent output.","routine.monthly_review":"Monthly reviews require reasoning depth. Haiku may produce less coherent output.","agent.task":"Sonnet is recommended for complex task execution. Haiku may make rougher tool-use decisions."};function T(e){return!(e&&e.mainModel.trim()&&(!e.fallbackBackend||e.fallbackModel?.trim()))}function P(e,t,r){let n,a=(n=e.filter(e=>e.tier===t)).length>0?n:e;return r&&a.some(e=>e.modelId===r)?r:a[0]?.modelId??e[0]?.modelId??""}function B(e,t){return t?e.find(e=>e.modelId===t)?.label??(0,x.formatModelName)(t):"Disabled"}e.s(["BackendSettingsSection",0,function({onToast:e,sections:v=["processes"],processKeys:k,title:w="Process Routing",description:y}){let j=v.includes("processes"),C=(0,n.useQueryClient)(),{data:S,error:_,isLoading:E}=(0,f.useBackends)({enabled:j}),{data:L,error:D,isLoading:A}=(0,g.useProcessConfig)({enabled:j}),[M,I]=(0,r.useState)(null),[F,O]=(0,r.useState)(null),[H,U]=(0,r.useState)(!1),W=(0,r.useCallback)(async()=>{await Promise.all([C.invalidateQueries({queryKey:["backends"]}),C.invalidateQueries({queryKey:["process-config"]}),C.invalidateQueries({queryKey:["cost"]}),C.invalidateQueries({queryKey:["metrics"]})])},[C]),K=j?_??D:null;if(K){let e=K instanceof h.ApiError&&503===K.status;return(0,t.jsxs)(o.Card,{children:[(0,t.jsx)(o.CardHeader,{children:(0,t.jsx)(o.CardTitle,{children:"Process Routing"})}),(0,t.jsx)("p",{className:"max-w-prose text-sm text-muted-foreground",children:e?"Multi-backend tables are not available yet. Run migrations first.":K instanceof Error?K.message:"Failed to load process routing."})]})}if(!j)return null;if(E||!S||A||!L)return(0,t.jsxs)(o.Card,{children:[(0,t.jsx)(o.CardHeader,{children:(0,t.jsx)(o.CardTitle,{children:"Process Routing"})}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading process routing…"})]});let q=new Map(S.backends.map(e=>[e.id,e])),G=S.backends.filter(e=>e.enabled),z=(k?L.configs.filter(e=>k.includes(e.processKey)):L.configs).reduce((e,t)=>{let r=(0,x.getProcessGroup)(t.processKey),n=e.find(e=>e.group===r);return n?n.configs.push(t):e.push({group:r,configs:[t]}),e},[]);async function V(){if(F){U(!0);try{let t=await h.api.put(`/process-config/${F.processKey}`,{mainBackend:F.mainBackend,mainModel:F.mainModel,fallbackBackend:F.fallbackBackend,fallbackModel:F.fallbackModel,maxTurns:F.maxTurns,maxBudgetUsd:F.maxBudgetUsd});await W(),t.warnings?.length?e("warning",`Saved — ${t.warnings.map(e=>e.message).join("; ")}`):e("success",`${(0,x.getProcessLabel)(F.processKey)} updated`),I(null),O(null)}catch(t){e("error",function(e){if(!(e instanceof h.ApiError))return e instanceof Error?e.message:"Request failed";let t=e.body,r="string"==typeof t?.error?t.error:null,n=Array.isArray(t?.processKeys)?t.processKeys.filter(e=>"string"==typeof e):[];switch(r){case"backend_in_use":return`This backend is still used by: ${n.join(", ")}. Reassign those processes first.`;case"default_backend":return"Reassign the default backend before disabling it.";case"main_backend_disabled":return"The selected main backend is disabled. Enable it first.";case"fallback_backend_disabled":return"The selected fallback backend is disabled. Enable it first.";case"fallback_same_as_main":return"Fallback backend must differ from the main backend.";case"fallback_incomplete":return"Fallback backend and fallback model must either both be set or both be disabled.";case"invalid_main_model":return"The selected main model does not belong to the chosen backend.";case"invalid_fallback_model":return"The selected fallback model does not belong to the chosen fallback backend.";case"multi_backend_unavailable":return"Multi-backend tables are not available yet. Run migrations first.";default:return e.message}}(t))}finally{U(!1)}}}return(0,t.jsxs)(o.Card,{children:[(0,t.jsx)(o.CardHeader,{className:"items-start",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(o.CardTitle,{children:w}),(0,t.jsx)("p",{className:"mt-1 max-w-3xl text-sm text-muted-foreground",children:y??(0,t.jsxs)(t.Fragment,{children:["One row per process (event-handling pipeline). Each row shows the resolved main backend and model, an optional fallback, and the per-run limits. Click ",(0,t.jsx)("em",{children:"Edit"})," to override any of them. Fallback kicks in only on ",(0,t.jsx)("em",{children:"decisive"})," main-backend failures (quota exhausted, auth broken, model unavailable, timeout — not ordinary rate limiting)."," ","“Default” badges mean the value is inherited from the main backend’s preset defaults above."]})})]})}),(0,t.jsx)("div",{className:"space-y-3",children:z.map(e=>(0,t.jsxs)("div",{className:"space-y-3",children:[!k&&(0,t.jsx)("h3",{className:"px-1 text-xs font-semibold uppercase text-muted-foreground",children:e.group}),e.configs.map(e=>{var r;let n,o=q.get(e.mainBackend),h=e.fallbackBackend?q.get(e.fallbackBackend):null,f=M===e.processKey&&F,g=f?q.get(F.mainBackend)?.models??[]:[],v=f&&F.fallbackBackend?q.get(F.fallbackBackend)?.models??[]:[];return(0,t.jsxs)("div",{className:"rounded-xl border border-border p-4",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between",children:[(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("p",{className:"text-base font-medium text-foreground",children:(0,x.getProcessLabel)(e.processKey)}),(0,t.jsxs)(c.Badge,{variant:"high"===e.defaultTier?"purple":"medium"===e.defaultTier?"blue":"default",children:["Default ",e.defaultTier]})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e.processKey}),(n=function(e,t,r){if("routine.morning_routine"===e&&"claude"===t){let e=r.find(e=>"high"===e.tier&&e.available&&!e.deprecated);return e?`Defaults to Sonnet to preserve Claude quota — ${e.label} depletes the 5h window much faster. If you want better instruction-following or more thorough day-plan output, switch Main Model to ${e.label}.`:null}return null}(e.processKey,e.mainBackend,o?.models??[]))?(0,t.jsx)(d.Alert,{variant:"info",className:"mt-2 text-xs",children:n}):null]}),(0,t.jsxs)("div",{className:"grid gap-3 text-sm text-muted-foreground md:grid-cols-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:"Main"}),(0,t.jsx)("p",{children:o?(0,x.getBackendLabel)(o.id):e.mainBackend}),(0,t.jsx)("p",{children:o?B(o.models,e.mainModel):e.mainModel})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:"Fallback"}),h&&e.fallbackModel?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{children:(0,x.getBackendLabel)(h.id)}),(0,t.jsx)("p",{children:B(h.models,e.fallbackModel)})]}):(0,t.jsx)("p",{children:"Disabled"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:"Limits"}),(0,t.jsxs)("p",{children:[e.maxTurns," turns"]}),(0,t.jsxs)("p",{children:[(0,b.formatCurrency)(e.maxBudgetUsd)," soft budget"]})]})]})]}),(0,t.jsxs)(u.Button,{variant:"outline",onClick:()=>{I(e.processKey),O({processKey:e.processKey,defaultTier:e.defaultTier,mainBackend:e.mainBackend,mainModel:e.mainModel,fallbackBackend:e.fallbackBackend,fallbackModel:e.fallbackModel,maxTurns:e.maxTurns,maxBudgetUsd:e.maxBudgetUsd})},children:[(0,t.jsx)(l.Pencil,{className:"h-3.5 w-3.5"}),"Edit"]})]}),f&&F&&(0,t.jsxs)("div",{className:"mt-4 grid gap-4 rounded-xl border border-border/80 bg-muted/30 p-4 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Main backend"}),(0,t.jsxs)(p.Select,{value:F.mainBackend,onValueChange:e=>(function(e){let t=q.get(e);if(!t||!F)return;let r=F.fallbackBackend===e,n="opencode"===e?t.models.some(e=>e.modelId===F.mainModel)?F.mainModel:"":P(t.models,F.defaultTier,F.mainModel);O({...F,mainBackend:e,mainModel:n,fallbackBackend:r?null:F.fallbackBackend,fallbackModel:r?null:F.fallbackModel})})(e),children:[(0,t.jsx)(p.SelectTrigger,{children:(0,t.jsx)(p.SelectValue,{placeholder:"Select backend"})}),(0,t.jsx)(p.SelectContent,{children:S.backends.map(e=>{let r=(0,x.isUiPreviewOnlyBackend)(e.id);return(0,t.jsxs)(p.SelectItem,{value:e.id,disabled:!e.enabled||r,children:[(0,x.getBackendLabel)(e.id),r?x.UI_PREVIEW_ONLY_BADGE_SUFFIX:""]},e.id)})})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Main model"}),"opencode"===F.mainBackend?(0,t.jsx)(N,{value:F.mainModel,onChange:e=>O(t=>t?{...t,mainModel:e}:t),preferredTier:F.defaultTier}):(0,t.jsxs)(p.Select,{value:F.mainModel,onValueChange:e=>O(t=>t?{...t,mainModel:e}:t),children:[(0,t.jsx)(p.SelectTrigger,{children:(0,t.jsx)(p.SelectValue,{placeholder:"Select model"})}),(0,t.jsx)(p.SelectContent,{children:g.map(e=>(0,t.jsx)(p.SelectItem,{value:e.modelId,children:e.label},e.modelId))})]}),!!(r=F.mainModel)&&r.toLowerCase().includes("haiku")&&R[F.processKey]&&(0,t.jsx)(d.Alert,{variant:"warning",className:"mt-2 text-xs",children:R[F.processKey]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Fallback backend"}),(0,t.jsxs)(p.Select,{value:F.fallbackBackend??"__none__",onValueChange:e=>(function(e){if(!F)return;if(!e)return void O({...F,fallbackBackend:null,fallbackModel:null});let t=q.get(e);if(!t)return;let r="opencode"===e?F.fallbackModel&&t.models.some(e=>e.modelId===F.fallbackModel)?F.fallbackModel:"":P(t.models,F.defaultTier,F.fallbackModel);O({...F,fallbackBackend:e,fallbackModel:r})})("__none__"===e?null:e),children:[(0,t.jsx)(p.SelectTrigger,{children:(0,t.jsx)(p.SelectValue,{placeholder:"Select backend"})}),(0,t.jsxs)(p.SelectContent,{children:[(0,t.jsx)(p.SelectItem,{value:"__none__",children:"Disabled"}),S.backends.map(e=>{let r=(0,x.isUiPreviewOnlyBackend)(e.id);return(0,t.jsxs)(p.SelectItem,{value:e.id,disabled:!e.enabled||e.id===F.mainBackend||r,children:[(0,x.getBackendLabel)(e.id),r?x.UI_PREVIEW_ONLY_BADGE_SUFFIX:""]},e.id)})]})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Fallback model"}),"opencode"===F.fallbackBackend?(0,t.jsx)(N,{value:F.fallbackModel??"",onChange:e=>O(t=>t?{...t,fallbackModel:e}:t),preferredTier:F.defaultTier,placeholder:"Select fallback model"}):(0,t.jsxs)(p.Select,{disabled:!F.fallbackBackend,value:F.fallbackModel??"__none__",onValueChange:e=>O(t=>t?{...t,fallbackModel:"__none__"===e?null:e}:t),children:[(0,t.jsx)(p.SelectTrigger,{children:(0,t.jsx)(p.SelectValue,{placeholder:"Select model"})}),(0,t.jsxs)(p.SelectContent,{children:[(0,t.jsx)(p.SelectItem,{value:"__none__",children:"Disabled"}),v.map(e=>(0,t.jsx)(p.SelectItem,{value:e.modelId,children:e.label},e.modelId))]})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Max turns"}),(0,t.jsx)(m.Input,{type:"number",min:1,max:1e3,value:F.maxTurns,onChange:e=>O(t=>t?{...t,maxTurns:Number(e.target.value)||1}:t)}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Hard cap on agent turns per run for this process. One turn = one model response (possibly with tool calls). When reached, the run stops mid-task — raise this if you see ",(0,t.jsx)("code",{children:"max_turns_reached"})," in the audit log."]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Soft budget (USD)"}),(0,t.jsx)(m.Input,{type:"number",min:0,max:1e4,step:"0.01",value:F.maxBudgetUsd,onChange:e=>O(t=>t?{...t,maxBudgetUsd:Number(e.target.value)||0}:t)}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Per-run spend cap in USD. “Soft” because the check happens between turns, so a single long turn can overshoot slightly. Runs that exceed the cap are aborted. Set to 0 to disable and rely only on the turn cap."})]}),(0,t.jsxs)("div",{className:"md:col-span-2 flex items-center justify-between gap-3",children:[(0,t.jsxs)("p",{className:"max-w-xl text-xs text-muted-foreground",children:[(0,t.jsx)("strong",{children:"Fallback backend/model"})," is consulted only on decisive failures: quota exhaustion, auth breakage, model refusal, timeout, or unrecoverable provider errors. Transient 5xx and ordinary rate limits are retried on the main backend first."]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)(u.Button,{variant:"outline",onClick:()=>{I(null),O(null)},children:[(0,t.jsx)(i.XCircle,{className:"h-4 w-4"}),"Cancel"]}),(0,t.jsxs)(u.Button,{onClick:V,disabled:H||T(F),title:T(F)?"Pick a main model first — opencode requires an explicit selection from the live catalogue.":void 0,children:[H?(0,t.jsx)(a.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(s.Save,{className:"h-4 w-4"}),"Save Process"]})]})]})]})]},e.processKey)})]},e.group))}),G.length<2&&(0,t.jsx)(d.Alert,{variant:"warning",className:"mt-4 rounded-xl px-4 py-3 text-sm",children:"Enable another backend if you want fallback routing to be available for any process."})]})}],86923)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74490,e=>{"use strict";var t=e.i(54710),s=e.i(81471);let a=(0,e.i(94237).cva)("rounded-xl border p-5 shadow-[0_1px_2px_rgb(0_0_0/0.04),0_8px_24px_-16px_rgb(0_0_0/0.10)]",{variants:{tone:{default:"border-border bg-card",warning:"border-warning/40 bg-warning/5",success:"border-success/40 bg-success/5",error:"border-destructive/40 bg-destructive/5"},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:r,interactive:d,...i}){return(0,t.jsx)("div",{className:(0,s.cn)(a({tone:r,interactive:d}),e),...i})},"CardHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{className:(0,s.cn)("mb-3 flex items-center justify-between",e),...a})},"CardStatLabel",0,function({className:e,...a}){return(0,t.jsx)("h3",{className:(0,s.cn)("text-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",e),...a})},"CardTitle",0,function({className:e,...a}){return(0,t.jsx)("h3",{className:(0,s.cn)("text-base font-semibold tracking-tight text-foreground",e),...a})},"CardValue",0,function({className:e,...a}){return(0,t.jsx)("div",{className:(0,s.cn)("font-display text-3xl font-semibold tracking-tight text-foreground",e),...a})}])},39982,e=>{"use strict";var t=e.i(54710),s=e.i(81471);e.s(["PageHeader",0,function({title:e,description:a,icon:r,badge:d,actions:i,children:n,className:c}){return(0,t.jsxs)("header",{className:(0,s.cn)("flex flex-col gap-1.5",c),children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[r&&(0,t.jsx)(r,{className:"h-5 w-5 text-muted-foreground"}),(0,t.jsx)("h1",{className:"font-display text-[1.75rem] font-semibold leading-tight tracking-tight text-foreground",children:e}),d]}),i&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:i})]}),a&&(0,t.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-muted-foreground",children:a}),n]})}])},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)},7022,e=>{"use strict";var t=e.i(54710),s=e.i(74490),a=e.i(48467),r=e.i(39982),d=e.i(3360),i=e.i(49297),n=e.i(84603);let c=(0,e.i(77379).default)("Apple",[["path",{d:"M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z",key:"3s7exb"}],["path",{d:"M10 2c1 .5 2 2 2 5",key:"fcco2y"}]]);e.s(["default",0,function(){return(0,t.jsxs)("div",{className:"space-y-6 p-6",children:[(0,t.jsx)(r.PageHeader,{icon:d.Heart,title:"Health",badge:(0,t.jsx)(a.Badge,{variant:"gray",className:"text-[10px]",children:"Skeleton"}),description:"A long-horizon space for body, sleep, and habit data. No backing implementation yet — integrations and visualizations will follow."}),(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-4",children:[(0,t.jsxs)(s.Card,{className:"border-dashed",children:[(0,t.jsx)(s.CardHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(n.Activity,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)(s.CardStatLabel,{children:"Activity"})]})}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Steps, workouts, and weekly trends."})]}),(0,t.jsxs)(s.Card,{className:"border-dashed",children:[(0,t.jsx)(s.CardHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(i.Moon,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)(s.CardStatLabel,{children:"Sleep"})]})}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Bedtime, duration, and consistency over time."})]}),(0,t.jsxs)(s.Card,{className:"border-dashed",children:[(0,t.jsx)(s.CardHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)(s.CardStatLabel,{children:"Habits"})]})}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Streaks for the few habits you choose to track."})]}),(0,t.jsxs)(s.Card,{className:"border-dashed",children:[(0,t.jsx)(s.CardHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Heart,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)(s.CardStatLabel,{children:"Journal"})]})}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Free-form daily check-ins, MD-backed."})]})]})]})}],7022)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74490,e=>{"use strict";var t=e.i(54710),s=e.i(81471);let a=(0,e.i(94237).cva)("rounded-xl border p-5 shadow-[0_1px_2px_rgb(0_0_0/0.04),0_8px_24px_-16px_rgb(0_0_0/0.10)]",{variants:{tone:{default:"border-border bg-card",warning:"border-warning/40 bg-warning/5",success:"border-success/40 bg-success/5",error:"border-destructive/40 bg-destructive/5"},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:r,interactive:i,...n}){return(0,t.jsx)("div",{className:(0,s.cn)(a({tone:r,interactive:i}),e),...n})},"CardHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{className:(0,s.cn)("mb-3 flex items-center justify-between",e),...a})},"CardStatLabel",0,function({className:e,...a}){return(0,t.jsx)("h3",{className:(0,s.cn)("text-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",e),...a})},"CardTitle",0,function({className:e,...a}){return(0,t.jsx)("h3",{className:(0,s.cn)("text-base font-semibold tracking-tight text-foreground",e),...a})},"CardValue",0,function({className:e,...a}){return(0,t.jsx)("div",{className:(0,s.cn)("font-display text-3xl font-semibold tracking-tight text-foreground",e),...a})}])},39982,e=>{"use strict";var t=e.i(54710),s=e.i(81471);e.s(["PageHeader",0,function({title:e,description:a,icon:r,badge:i,actions:n,children:l,className:o}){return(0,t.jsxs)("header",{className:(0,s.cn)("flex flex-col gap-1.5",o),children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[r&&(0,t.jsx)(r,{className:"h-5 w-5 text-muted-foreground"}),(0,t.jsx)("h1",{className:"font-display text-[1.75rem] font-semibold leading-tight tracking-tight text-foreground",children:e}),i]}),n&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:n})]}),a&&(0,t.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-muted-foreground",children:a}),l]})}])},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)},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)},70986,e=>{"use strict";var t=e.i(34416),s=e.i(91967),a=e.i(9413),r=e.i(36567),i=e.i(18731),n=e.i(22353),l=e.i(85565),o=e.i(90816),c=e.i(11207),d=e.i(54710),u="Collapsible",[m,x]=(0,a.createContextScope)(u),[h,p]=m(u),f=t.forwardRef((e,s)=>{let{__scopeCollapsible:a,open:i,defaultOpen:n,disabled:o,onOpenChange:m,...x}=e,[p,f]=(0,r.useControllableState)({prop:i,defaultProp:n??!1,onChange:m,caller:u});return(0,d.jsx)(h,{scope:a,disabled:o,contentId:(0,c.useId)(),open:p,onOpenToggle:t.useCallback(()=>f(e=>!e),[f]),children:(0,d.jsx)(l.Primitive.div,{"data-state":N(p),"data-disabled":o?"":void 0,...x,ref:s})})});f.displayName=u;var g="CollapsibleTrigger",v=t.forwardRef((e,t)=>{let{__scopeCollapsible:a,...r}=e,i=p(g,a);return(0,d.jsx)(l.Primitive.button,{type:"button","aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":N(i.open),"data-disabled":i.disabled?"":void 0,disabled:i.disabled,...r,ref:t,onClick:(0,s.composeEventHandlers)(e.onClick,i.onOpenToggle)})});v.displayName=g;var j="CollapsibleContent",y=t.forwardRef((e,t)=>{let{forceMount:s,...a}=e,r=p(j,e.__scopeCollapsible);return(0,d.jsx)(o.Presence,{present:s||r.open,children:({present:e})=>(0,d.jsx)(b,{...a,ref:t,present:e})})});y.displayName=j;var b=t.forwardRef((e,s)=>{let{__scopeCollapsible:a,present:r,children:o,...c}=e,u=p(j,a),[m,x]=t.useState(r),h=t.useRef(null),f=(0,n.useComposedRefs)(s,h),g=t.useRef(0),v=g.current,y=t.useRef(0),b=y.current,k=u.open||m,w=t.useRef(k),C=t.useRef(void 0);return t.useEffect(()=>{let e=requestAnimationFrame(()=>w.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,i.useLayoutEffect)(()=>{let e=h.current;if(e){C.current=C.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,y.current=t.width,w.current||(e.style.transitionDuration=C.current.transitionDuration,e.style.animationName=C.current.animationName),x(r)}},[u.open,r]),(0,d.jsx)(l.Primitive.div,{"data-state":N(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!k,...c,ref:f,style:{"--radix-collapsible-content-height":v?`${v}px`:void 0,"--radix-collapsible-content-width":b?`${b}px`:void 0,...e.style},children:k&&o})});function N(e){return e?"open":"closed"}e.s(["Collapsible",0,f,"CollapsibleContent",0,y,"CollapsibleTrigger",0,v],70986)},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)},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)},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)},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)},66127,e=>{"use strict";var t=e.i(65268);async function s({title:e,defaultPath:a}){let r=await t.api.post("/system/pick-directory",{title:e,...a?{defaultPath:a}:{}});if("selected"===r.status&&r.path)return r.path;if("cancelled"===r.status)return null;throw Error(r.message??"Folder picker is unavailable.")}e.s(["pickDirectoryFromDesktop",0,s])},25795,e=>{"use strict";let t=(0,e.i(77379).default)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,t],25795)},82239,e=>{"use strict";var t=e.i(54710),s=e.i(25795),a=e.i(10628);e.s(["RestartRequiredBadge",0,function(){return(0,t.jsxs)(a.Tooltip,{children:[(0,t.jsx)(a.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-sm bg-warning/15 px-1 py-0.5 text-[10px] font-medium text-warning",children:[(0,t.jsx)(s.RotateCcw,{className:"h-2.5 w-2.5"}),"restart"]})}),(0,t.jsx)(a.TooltipContent,{side:"top",className:"max-w-[220px] text-xs",children:"Changing this value requires a daemon restart to take effect."})]})}])},49681,e=>{"use strict";var t=e.i(54710),s=e.i(7771),a=e.i(95486),r=e.i(8011),i=e.i(10628),n=e.i(81471);e.s(["DocsHelpInline",0,function({docId:e,anchor:l=null,label:o,className:c}){let d=(0,a.useQueryClient)(),u=o??"Help";return(0,t.jsx)(i.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(i.Tooltip,{children:[(0,t.jsx)(i.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:t=>{t.preventDefault(),t.stopPropagation(),(0,r.openDocsHelpSlideover)(d,{docId:e,anchor:l,autoFocusComposer:!1})},className:(0,n.cn)("inline-flex h-5 w-5 items-center justify-center rounded-full text-muted-foreground/70 transition hover:bg-accent hover:text-foreground",c),"aria-label":`Open help — ${u}`,"data-testid":"docs-help-inline",children:(0,t.jsx)(s.HelpCircle,{className:"h-3.5 w-3.5","aria-hidden":"true"})})}),(0,t.jsx)(i.TooltipContent,{side:"top",children:(0,t.jsx)("span",{children:u})})]})})}])},88,e=>{"use strict";var t=e.i(54710),s=e.i(34416),a=e.i(99758),r=e.i(55575),i=e.i(21682),n=e.i(60168),l=e.i(25795),o=e.i(90925),c=e.i(36451);e.i(18446);var d=e.i(28444),u=e.i(48467),m=e.i(20014),x=e.i(74490),h=e.i(8652),p=e.i(82239),f=e.i(49681),g=e.i(66127),v=e.i(36413);let j=new Set(d.RESTART_REQUIRED_KEY_TUPLE);function y(e){return null===e?"":String(e)}e.s(["ConfigSection",0,function({title:e,children:s,helpDocId:a,helpAnchor:r}){return(0,t.jsxs)(x.Card,{children:[(0,t.jsx)(x.CardHeader,{children:(0,t.jsxs)(x.CardTitle,{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{children:e}),a&&(0,t.jsx)(f.DocsHelpInline,{docId:a,anchor:r??null,label:e})]})}),(0,t.jsx)("div",{className:"space-y-0.5 [&>p]:max-w-prose",children:s})]})},"EditableArrayField",0,function({label:e,values:a,configKey:i,variant:l="gray",placeholder:o="Add item...",directoryPicker:d,modified:x,onSave:f}){let v=j.has(i),[y,b]=(0,s.useState)(""),[N,k]=(0,s.useState)(!1),[w,C]=(0,s.useState)(null),_=async()=>{let e=y.trim();if(!(!e||a.includes(e))){k(!0),C(null);try{await f(i,[...a,e]),b("")}catch{}finally{k(!1)}}},S=async e=>{k(!0);try{await f(i,a.filter(t=>t!==e))}finally{k(!1)}},P=async()=>{if(d){k(!0),C(null);try{let e=await (0,g.pickDirectoryFromDesktop)({title:d.title,defaultPath:y.trim()||d.defaultPath});if(!e)return;if(a.includes(e)){b(e),C("That directory is already in the list.");return}await f(i,[...a,e]),b("")}catch(e){C(e instanceof Error?e.message:"Folder picker is unavailable.")}finally{k(!1)}}};return(0,t.jsxs)("div",{className:`py-2${x?" border-l-2 border-primary pl-2 -ml-1 rounded":""}`,"data-config-key":i,children:[(0,t.jsxs)("p",{className:"text-sm text-muted-foreground mb-2 inline-flex items-center gap-1.5",children:[e,v&&(0,t.jsx)(p.RestartRequiredBadge,{}),x&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-primary",children:"modified"})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-1.5 mb-2",children:[a.map(e=>(0,t.jsxs)(u.Badge,{variant:l,className:"gap-1 pr-1",children:[e,(0,t.jsx)("button",{onClick:()=>S(e),disabled:N,className:"ml-0.5 rounded-sm hover:bg-black/10 dark:hover:bg-white/10 p-0.5 transition-colors",children:(0,t.jsx)(c.X,{className:"h-3 w-3"})})]},e)),0===a.length&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground italic",children:"No items"})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(h.Input,{value:y,onChange:e=>b(e.target.value),onKeyDown:e=>{"Enter"===e.key&&_()},placeholder:o,className:"max-w-[320px]",disabled:N}),d&&(0,t.jsxs)(m.Button,{size:"sm",variant:"outline",onClick:P,disabled:N,children:[(0,t.jsx)(r.FolderOpen,{className:"h-3.5 w-3.5 mr-1"}),d.buttonLabel??"Choose"]}),(0,t.jsxs)(m.Button,{size:"sm",variant:"outline",onClick:_,disabled:!y.trim()||N,children:[(0,t.jsx)(n.Plus,{className:"h-3.5 w-3.5 mr-1"}),"Add"]})]}),w&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive",children:w})]})},"EditableBooleanField",0,function({label:e,value:a,configKey:r,description:i,modified:n,defaultValue:o,onSave:c}){let[d,u]=(0,s.useState)(!1),x=j.has(r),h=void 0!==o&&a===o,f=async()=>{u(!0);try{await c(r,!a)}finally{u(!1)}},g=async()=>{if(void 0!==o){u(!0);try{await c(r,o)}finally{u(!1)}}};return(0,t.jsx)("div",{className:`py-1.5 group${n?" border-l-2 border-primary pl-2 -ml-1 rounded":""}`,"data-config-key":r,children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("p",{className:"text-sm text-muted-foreground inline-flex items-center gap-1.5",children:[e,x&&(0,t.jsx)(p.RestartRequiredBadge,{}),n&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-primary",children:"modified"}),void 0!==o&&!h&&!n&&(0,t.jsxs)("button",{type:"button",onClick:g,className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(l.RotateCcw,{className:"h-2.5 w-2.5"}),"reset"]})]}),i&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:i})]}),(0,t.jsx)(m.Button,{variant:a?"default":"outline",size:"sm",onClick:f,disabled:d,children:a?"Enabled":"Disabled"})]})})},"EditableField",0,function({label:e,value:r,configKey:n,type:d="text",suffix:u,description:x,min:f,max:g,nullable:b=!1,emptyLabel:N="Not set",modified:k,defaultValue:w,onSave:C}){let _=j.has(n),[S,P]=(0,s.useState)(!1),[T,R]=(0,s.useState)(y(r)),[E,F]=(0,s.useState)(!1),[D,A]=(0,s.useState)(null),M=(0,s.useRef)(null),B=(0,v.useDiscardGeneration)(),z=(0,s.useRef)(B);(0,s.useEffect)(()=>{B!==z.current&&(z.current=B,P(!1),A(null))},[B]),(0,s.useEffect)(()=>{S&&M.current?.focus()},[S]),(0,s.useEffect)(()=>{S||R(y(r))},[r,S]);let H=void 0!==w&&r===w,$=async e=>{if(e.stopPropagation(),void 0!==w){F(!0);try{await C(n,w)}finally{F(!1)}}},I=async e=>{e.stopPropagation(),F(!0);try{await C(n,null)}finally{F(!1)}},q=async()=>{let e=T.trim(),t=b&&""===e?null:"number"===d?Number(T):T;if(t===r)return void P(!1);if(null!==t&&"number"===d&&(void 0!==f||void 0!==g)&&(void 0!==f&&t<f||void 0!==g&&t>g))return void A(`Must be ${f??""}–${g??""}`);A(null),F(!0);try{await C(n,t),P(!1)}catch{}finally{F(!1)}};return S?(0,t.jsxs)("div",{className:"py-1.5","data-config-key":n,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"text-sm text-muted-foreground shrink-0 min-w-[140px] inline-flex items-center gap-1.5",children:[e,_&&(0,t.jsx)(p.RestartRequiredBadge,{})]}),(0,t.jsx)(h.Input,{ref:M,type:d,value:T,onChange:e=>{R(e.target.value),A(null)},onKeyDown:e=>{"Enter"===e.key&&q(),"Escape"===e.key&&(R(y(r)),P(!1))},className:"max-w-[240px]",disabled:E,min:f,max:g}),u&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:u}),(0,t.jsx)(m.Button,{size:"sm",variant:"ghost",onClick:q,disabled:E,className:"h-7 w-7 p-0",children:(0,t.jsx)(a.Check,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(m.Button,{size:"sm",variant:"ghost",onClick:()=>{R(y(r)),A(null),P(!1)},className:"h-7 w-7 p-0",children:(0,t.jsx)(c.X,{className:"h-3.5 w-3.5"})})]}),D&&(0,t.jsx)("p",{className:"text-xs text-destructive mt-1 ml-[148px]",children:D}),x&&!D&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1 ml-[148px]",children:x})]}):(0,t.jsxs)("div",{className:`py-1.5 group cursor-pointer rounded px-1 -mx-1 hover:bg-muted/50 transition-colors${k?" border-l-2 border-primary pl-2":""}`,"data-config-key":n,onClick:()=>P(!0),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-sm text-muted-foreground inline-flex items-center gap-1.5",children:[e,_&&(0,t.jsx)(p.RestartRequiredBadge,{})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[k&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-primary",children:"modified"}),void 0!==w&&!H&&!k&&(0,t.jsxs)("button",{type:"button",onClick:$,className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(l.RotateCcw,{className:"h-2.5 w-2.5"}),"reset"]}),b&&null!==r&&!k&&(0,t.jsxs)("button",{type:"button",onClick:I,title:`Clear — sets ${e} to ${N}`,className:"text-[10px] text-muted-foreground hover:text-destructive transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(o.Trash2,{className:"h-2.5 w-2.5"}),"clear"]}),(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:null===r?N:"$"===u?`$${r}`:u?`${r} ${u}`:String(r)}),(0,t.jsx)(i.Pencil,{className:"h-3 w-3 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity"})]})]}),x&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:x})]})}])},58436,e=>{"use strict";var t=e.i(54710),s=e.i(34416),a=e.i(55575),r=e.i(72740),i=e.i(20014),n=e.i(8652),l=e.i(66127),o=e.i(81471);e.s(["DirectoryPickerField",0,function({id:e,value:c,onChange:d,title:u,placeholder:m="Choose a folder...",defaultPath:x,disabled:h=!1,className:p,inputClassName:f,buttonLabel:g="Choose"}){let[v,j]=(0,s.useState)(!1),[y,b]=(0,s.useState)(null),N=async()=>{j(!0),b(null);try{let e=await (0,l.pickDirectoryFromDesktop)({title:u,defaultPath:c.trim()||x});e&&d(e)}catch(e){b(e instanceof Error?e.message:"Folder picker is unavailable.")}finally{j(!1)}};return(0,t.jsxs)("div",{className:(0,o.cn)("space-y-1",p),children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row",children:[(0,t.jsx)(n.Input,{id:e,value:c,onChange:e=>{d(e.target.value),b(null)},placeholder:m,className:(0,o.cn)("font-mono text-sm",f),disabled:h||v}),(0,t.jsxs)(i.Button,{type:"button",variant:"outline",onClick:N,disabled:h||v,className:"shrink-0 gap-2",children:[v?(0,t.jsx)(r.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(a.FolderOpen,{className:"h-4 w-4"}),v?"Opening...":g]})]}),y&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:y})]})}])},62452,64387,58692,e=>{"use strict";let t=(0,e.i(77379).default)("FolderSymlink",[["path",{d:"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7",key:"x1c07l"}],["path",{d:"m8 16 3-3-3-3",key:"rlqrt1"}]]);function s(e){return/^[A-Za-z]:[\\/]/.test(e)||/^\\\\/.test(e)||/^\/\/[^/]+\/[^/]+/.test(e)||e.includes("\\")}function a(e,t){let s=e.trim().replace(/[\\/]+$/g,"");return t&&(s=s.replace(/[\\/]+/g,"/").toLowerCase()),s}e.s(["FolderSymlink",0,t],62452),e.s(["hasPathTraversalSegment",0,function(e){return e.trim().split(/[\\/]+/).some(e=>".."===e)},"isClientAbsolutePath",0,function(e){let t=e.trim();return t.startsWith("/")||t.startsWith("~/")||t.startsWith("~\\")||/^[A-Za-z]:[\\/]/.test(t)||/^\\\\[^\\/]+[\\/][^\\/]+/.test(t)||/^\/\/[^/]+\/[^/]+/.test(t)},"isClientPathInsideOrEqual",0,function(e,t){if(0===e.trim().length||0===t.trim().length)return!1;let r=s(e)||s(t),i=a(e,r),n=a(t,r);return n===i||n.startsWith(`${i}/`)}],64387);var r=e.i(54710),i=e.i(81471);e.s(["CHARACTER_MAX_LENGTH",0,1e3,"CharacterEditor",0,function({value:e,onChange:t,disabled:s=!1,placeholder:a,rows:n=6}){let l=e.length,o=l>1e3,c=1e3===l;return(0,r.jsxs)("div",{className:"space-y-1",children:[(0,r.jsx)("textarea",{"data-testid":"character-editor-textarea",className:"w-full rounded border border-input bg-background p-3 text-sm font-mono resize-y focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",style:{minHeight:`${24*n}px`},value:e,onChange:e=>t(e.target.value),disabled:s,placeholder:a??"How should the agent talk to you? E.g. 'Speak casually. Tight bullets, no emoji. Use plain language for technical terms.'"}),(0,r.jsx)("div",{className:"flex justify-end",children:(0,r.jsxs)("span",{"data-testid":"character-editor-counter","aria-live":"polite",className:(0,i.cn)("text-xs tabular-nums",o?"font-semibold text-destructive":c?"text-warning":"text-muted-foreground"),children:[l,"/",1e3]})})]})},"isCharacterOverCap",0,function(e){return e.length>1e3}],58692)},62880,e=>{"use strict";var t=e.i(54710),s=e.i(34416),a=e.i(21682),r=e.i(88423),i=e.i(36413),n=e.i(20014),l=e.i(10427),o=e.i(8652),c=e.i(39982),d=e.i(88),u=e.i(77379);let m=(0,u.default)("FolderCog",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["path",{d:"M10.3 20H4a2 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.9H20a2 2 0 0 1 2 2v3.3",key:"1k8050"}],["path",{d:"m21.7 19.4-.9-.3",key:"1qgwi9"}],["path",{d:"m15.2 16.9-.9-.3",key:"1t7mvx"}],["path",{d:"m16.6 21.7.3-.9",key:"1j67ps"}],["path",{d:"m19.1 15.2.3-.9",key:"18r7jp"}],["path",{d:"m19.6 21.7-.4-1",key:"z2vh2"}],["path",{d:"m16.8 15.3-.4-1",key:"1ei7r6"}],["path",{d:"m14.3 19.6 1-.4",key:"11sv9r"}],["path",{d:"m20.7 16.8 1-.4",key:"19m87a"}]]);var x=e.i(55575),h=e.i(75187),p=e.i(79634),f=e.i(94328),g=e.i(95486),v=e.i(81187),j=e.i(62452),y=e.i(72740),b=e.i(43477),N=e.i(58436),k=e.i(65268),w=e.i(81471),C=e.i(68894),_=e.i(64387);function S(e,t){return t?"Migrating…":"sessions_active"===e||"executions_active"===e||"migration_in_progress"===e?"Wait Then Retry":e?"Retry":"Confirm & Migrate"}function P({currentVaultMode:e,currentPrimaryVaultPath:a,onToast:r,trigger:i}){var l;let[o,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(e),[m,x]=(0,s.useState)(a),[h,f]=(0,s.useState)("abort"),[v,R]=(0,s.useState)(!1),[E,F]=(0,s.useState)(null),[D,A]=(0,s.useState)(null),[M,B]=(0,s.useState)({status:"idle"}),[z,H]=(0,s.useState)(null),$=(0,g.useQueryClient)(),{subscribeNamedEvent:I}=(0,C.useSSE)(),q=(0,s.useRef)(0);(0,s.useEffect)(()=>{o&&(u(e),x(a),f("abort"),F(null),A(null),B({status:"idle"}),H(null))},[o]),(0,s.useEffect)(()=>{if(o)return I("context_migration_progress",e=>{H(e)})},[o,I]),(0,s.useEffect)(()=>{o&&(F(null),A(null),H(null))},[d,m]),(0,s.useEffect)(()=>{let e=function(e){switch(e){case"target_has_agent_file_conflicts":return"overwrite_agent_files";case"target_has_unrelated_files":return"merge";default:return null}}("valid"===M.status?M.response.conflict?.kind:E?.error);e&&f(e)},[E?.error,M]);let L=(0,s.useMemo)(()=>{let e;return"obsidian"!==d?null:0===(e=m.trim()).length?{code:"empty",message:"Path is required."}:(0,_.isClientAbsolutePath)(e)?(0,_.hasPathTraversalSegment)(e)?{code:"path_traversal",message:"Path may not contain `..` segments."}:null:{code:"not_absolute",message:"Path must be absolute (for example /Users/me/Vault, ~/Vault, C:\\Vault, or \\\\server\\share)."}},[d,m]);(0,s.useEffect)(()=>{if(!o||"obsidian"!==d)return void B({status:"idle"});let e=m.trim();if(0===e.length)return void B({status:"idle"});if(L)return void B({status:"invalid",message:L.message});let t=++q.current;B({status:"validating"});let s=window.setTimeout(async()=>{try{let s=await k.api.post("/setup/validate-vault-path",{targetVaultMode:"obsidian",targetVaultPath:e});if(q.current!==t)return;B({status:"valid",response:s})}catch(e){if(q.current!==t)return;if(e instanceof k.ApiError){let t=e.body;B({status:"invalid",message:t?.message??e.message})}else B({status:"invalid",message:e instanceof Error?e.message:"Path validation failed."})}},250);return()=>window.clearTimeout(s)},[d,o,m,L]);let O="valid"===M.status?M.response.conflict:null,V=E?.error==="target_has_agent_file_conflicts"?{kind:"target_has_agent_file_conflicts",entries:E.entries??[],allowedPolicies:["overwrite_agent_files"]}:E?.error==="target_has_unrelated_files"?{kind:"target_has_unrelated_files",entries:E.entries??[],allowedPolicies:["merge","overwrite_agent_files"]}:null,W=null!==O||null!==V,K=O?.allowedPolicies??V?.allowedPolicies??["abort","merge","overwrite_agent_files"],U=O?.entries??V?.entries??[],Q="valid"===M.status?M.response.targetDir:m.trim(),G=!(l={submitting:v,samePath:d===e&&("plain"===d||Q===a.trim()),mode:d,path:m,pathIssue:L,validationStatus:M.status,policy:h,allowedPolicies:K}).submitting&&!l.samePath&&("plain"===l.mode||l.path.trim().length>0&&null===l.pathIssue&&"valid"===l.validationStatus&&l.allowedPolicies.includes(l.policy));async function X(){R(!0),F(null),A(null);try{let e={targetVaultMode:d,conflictPolicy:h};"obsidian"===d&&(e.targetVaultPath=m.trim()),H(null);let t=await k.api.post("/setup/migrate-context",e);if("noop"===t.status)r("info","No change needed — already in the target state.");else{let{filesMoved:e,bytes:s,durationMs:a,manualActionRequired:i}=t,n=(s/1024).toFixed(1),l=`Moved ${e} file${1===e?"":"s"} (${n} KiB) in ${a} ms.`;i?r("warning",`${l} Observers failed to resume — restart the daemon.`):r("success",l)}await $.invalidateQueries({queryKey:["config"]}),await $.invalidateQueries({queryKey:["health"]}),c(!1)}catch(e){e instanceof k.ApiError?(F(e.body??{}),A(e.status)):(F({error:"internal_error",message:e instanceof Error?e.message:"Unexpected error."}),A(500))}finally{R(!1)}}return(0,t.jsxs)(b.Sheet,{open:o,onOpenChange:c,children:[(0,t.jsx)(b.SheetTrigger,{asChild:!0,children:i}),(0,t.jsxs)(b.SheetContent,{className:"overflow-y-auto",children:[(0,t.jsx)(b.SheetHeader,{children:(0,t.jsx)(b.SheetTitle,{children:"Change Management Mode"})}),(0,t.jsxs)("div",{className:"mt-6 space-y-5",children:[(0,t.jsxs)("section",{children:[(0,t.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Where should the agent store its personal data?"}),(0,t.jsx)("div",{className:"mt-2 grid grid-cols-1 gap-2",children:["plain","obsidian"].map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>u(e),className:(0,w.cn)("rounded-md border px-3 py-2 text-left text-sm transition-colors",d===e?"border-primary bg-primary/10 text-foreground":"border-border bg-background text-muted-foreground hover:border-primary/50"),children:[(0,t.jsx)("span",{className:"block font-medium",children:"plain"===e?"This app manages it":"Obsidian-style local directory"}),(0,t.jsx)("span",{className:"block text-xs text-muted-foreground",children:"plain"===e?"Data lives in ~/.personal-agent/context. Only this app reads and writes.":"Data lives in a folder you pick (iCloud, Dropbox, Google Drive, or a plain local path)."})]},e))})]}),"obsidian"===d&&(0,t.jsxs)("section",{"data-testid":"path-input-section",children:[(0,t.jsx)("label",{htmlFor:"mm-path-input",className:"text-sm font-medium text-foreground",children:"Directory path"}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Use the folder picker to select a local directory. Cloud-sync folders (iCloud Drive, Dropbox, OneDrive, Google Drive) are supported. You can paste an absolute path if your desktop blocks native dialogs."}),(0,t.jsx)(N.DirectoryPickerField,{id:"mm-path-input",value:m,onChange:x,title:"Choose primary vault directory",placeholder:"Choose a folder for the primary vault",defaultPath:a||void 0,className:"mt-2",disabled:v}),L&&m.length>0&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive",children:L.message}),"obsidian"===d&&!L&&"validating"===M.status&&(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Checking the path and target directory contents…"}),"obsidian"===d&&!L&&"invalid"===M.status&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive",children:M.message}),"obsidian"===d&&"valid"===M.status&&M.response.fsInfo?.isCloudSync&&(0,t.jsx)(p.Alert,{variant:"info",className:"mt-2",children:(0,t.jsxs)("p",{children:["Cloud sync detected:"," ",(0,t.jsx)("strong",{children:M.response.fsInfo.isCloudSync}),". Migration is supported, but performance can be slower than a local SSD."]})})]}),W&&(0,t.jsxs)("section",{"data-testid":"policy-picker",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Target directory already has content — pick a conflict policy:"}),(0,t.jsx)("div",{className:"mt-2 space-y-2",children:K.map(e=>(0,t.jsxs)("label",{className:"flex cursor-pointer items-start gap-2 rounded-md border border-border p-2 text-sm hover:bg-muted/40",children:[(0,t.jsx)("input",{type:"radio",name:"conflict-policy",value:e,checked:h===e,onChange:()=>f(e),className:"mt-1"}),(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"block font-medium",children:function(e){switch(e){case"abort":return"Abort on any conflict";case"merge":return"Merge (preserve existing target files)";case"overwrite_agent_files":return"Overwrite agent files at target"}}(e)}),(0,t.jsx)("span",{className:"block text-xs text-muted-foreground",children:function(e){switch(e){case"abort":return"Stop if the target has any unrelated content.";case"merge":return"Move source files alongside existing target content. Unrelated target files are left in place.";case"overwrite_agent_files":return"If target has files with the same names as the agent's, the target copies are archived into the backup and the source versions take their place."}}(e)})]})]},e))}),U.length>0&&(0,t.jsxs)("div",{className:"mt-2 rounded border border-border bg-muted/30 p-2",children:[(0,t.jsxs)("p",{className:"text-xs font-medium text-muted-foreground",children:["Conflicting entries (",U.length,"):"]}),(0,t.jsxs)("ul",{className:"mt-1 max-h-32 overflow-y-auto text-xs text-muted-foreground",children:[U.slice(0,50).map(e=>(0,t.jsx)("li",{className:"font-mono",children:e},e)),U.length>50&&(0,t.jsxs)("li",{className:"italic",children:["…and ",U.length-50," more"]})]})]})]}),(0,t.jsx)(p.Alert,{variant:"info",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium",children:"Backup made before the move"}),(0,t.jsxs)("p",{className:"mt-0.5",children:["We'll back up your current data under ",(0,t.jsx)("code",{children:"~/.personal-agent/migration-backups/"})," for 7 days before moving. If the migration fails, all files are restored automatically."]})]})}),z&&(0,t.jsx)(p.Alert,{variant:"failed"===z.status?"error":"completed"===z.status?"success":"info",children:(0,t.jsxs)("div",{children:[(0,t.jsxs)("p",{className:"font-medium",children:["Migration progress: ",z.progress,"%"]}),(0,t.jsx)("p",{className:"mt-0.5",children:z.message})]})}),E&&(0,t.jsx)(T,{status:D,body:E,onDismiss:()=>{F(null),A(null)}}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-2",children:[(0,t.jsx)(n.Button,{variant:"outline",onClick:()=>c(!1),disabled:v,children:"Cancel"}),(0,t.jsx)(n.Button,{onClick:X,disabled:!G,"data-testid":"mm-confirm",children:v?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(y.Loader2,{className:"h-4 w-4 animate-spin"}),"Migrating…"]}):"Wait Then Retry"===S(E?.error,!1)?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(j.FolderSymlink,{className:"h-4 w-4"}),"Wait Then Retry"]}):"Retry"===S(E?.error,!1)?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(j.FolderSymlink,{className:"h-4 w-4"}),"Retry"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(j.FolderSymlink,{className:"h-4 w-4"}),"Confirm & Migrate"]})})]})]})]})]})}function T({status:e,body:s,onDismiss:a}){return(0,t.jsx)(p.Alert,{variant:409===e?"warning":"error",children:(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("p",{className:"font-medium",children:[(0,t.jsx)(v.AlertTriangle,{className:"mr-1 inline h-3.5 w-3.5"}),function(e){switch(e.error){case"sessions_active":return"Active sessions block migration";case"executions_active":return"In-flight executions block migration";case"migration_in_progress":return"Another migration is already running";case"target_has_unrelated_files":return"Target has unrelated files";case"target_has_agent_file_conflicts":return"Target has conflicting files";case"target_invalid":return"Target path is invalid";case"backup_failed":return"Backup creation failed";case"move_failed":case"cross_fs_partial_failure":case"icloud_file_evicted":return"File move failed";case"move_verification_failed":return"Move verification failed";case"db_rewrite_failed":return"Database rewrite failed";case"settings_update_failed":return"Settings update failed";case"invalid_request":return"Request was rejected";case"internal_error":return"Unexpected error"}}(s)]}),(0,t.jsx)("p",{children:s.message}),"sessions_active"===s.error&&s.sessions&&s.sessions.length>0&&(0,t.jsx)("ul",{className:"mt-1 list-disc pl-4 text-xs",children:s.sessions.map(e=>(0,t.jsxs)("li",{children:["Session #",e.id," — ",e.scope," / ",e.scope_key]},e.id))}),"executions_active"===s.error&&s.executions&&s.executions.length>0&&(0,t.jsx)("ul",{className:"mt-1 list-disc pl-4 text-xs",children:s.executions.map((e,s)=>(0,t.jsx)("li",{children:JSON.stringify(e)},s))}),s.backupPath&&(0,t.jsxs)("div",{className:"mt-2 rounded bg-muted/40 p-2 text-xs",children:[(0,t.jsx)("p",{className:"font-medium",children:"Backup preserved at:"}),(0,t.jsx)("code",{className:"break-all",children:s.backupPath}),(0,t.jsx)("p",{className:"mt-1 text-muted-foreground",children:"Manual recovery: copy files back from this directory if the automatic rollback did not complete."}),(0,t.jsx)("a",{href:"#mm-recovery-instructions",className:"mt-2 inline-block underline underline-offset-2",children:"Recovery instructions"})]}),"manual_required"===s.rollbackStatus&&(0,t.jsx)("p",{className:"mt-1 text-xs font-medium",children:"Automatic rollback did not complete. Please restore from the backup above, then restart the daemon."}),s.backupPath&&(0,t.jsxs)("ol",{id:"mm-recovery-instructions",className:"list-decimal pl-4 text-xs text-muted-foreground",children:[(0,t.jsx)("li",{children:"Stop the daemon before touching the vault contents."}),(0,t.jsx)("li",{children:"Copy the backup contents back to the original location if the automatic rollback did not finish."}),(0,t.jsx)("li",{children:"Re-open Settings → Management Mode and retry the migration once the files are back in place."})]}),(0,t.jsx)("div",{className:"pt-2",children:(0,t.jsx)(n.Button,{size:"sm",variant:"ghost",onClick:a,children:"Dismiss"})})]})})}function R(){let{data:e}=(0,r.useConfig)(),{data:a}=(0,h.useHealth)(),[i,l]=(0,s.useState)(null);if((0,s.useEffect)(()=>{if(!i)return;let e=setTimeout(()=>l(null),6e3);return()=>clearTimeout(e)},[i]),!e)return null;let o=e.vaultMode,c=e.primaryVaultPath,u=e.contextDir,g=a?.degraded??null,v=g?.reason==="primary_vault_unreachable";return(0,t.jsx)("section",{id:"management-mode",className:"scroll-mt-4",children:(0,t.jsxs)(d.ConfigSection,{title:"Management Mode",children:[(0,t.jsx)("p",{className:"pb-2 text-xs text-muted-foreground",children:"Where the agent stores its personal data — the six-class vault (identity, state, plans, journal, knowledge, policies). Switching here moves every existing file to the new location atomically — no reinstall needed."}),(0,t.jsxs)("div",{className:"space-y-3 pb-2",children:[(0,t.jsx)(E,{label:"Mode",value:"obsidian"===o?"Obsidian-style local directory":"This app"}),"obsidian"===o&&(0,t.jsx)(E,{label:"Directory",value:c?(0,t.jsx)("code",{className:"font-mono text-xs break-all",children:c}):(0,t.jsx)("span",{className:"italic text-muted-foreground",children:"Not configured"})}),(0,t.jsx)(E,{label:"Effective path",value:(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,t.jsx)(x.FolderOpen,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,t.jsx)("code",{className:"font-mono text-xs break-all",children:u})]})}),v&&(0,t.jsx)(p.Alert,{variant:"error",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium",children:"Primary vault unreachable"}),(0,t.jsxs)("p",{className:"mt-0.5",children:["The configured directory",g?.path?(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)("code",{className:"font-mono",children:g.path})]}):null," ","is missing or not writable. Writes to the context API are currently blocked. Fix the path or switch back to “This app” to restore normal operation."]})]})}),(0,t.jsx)("div",{className:"flex items-center gap-2 pt-1",children:(0,t.jsx)(P,{currentVaultMode:o,currentPrimaryVaultPath:c,onToast:(e,t)=>l({type:e,message:t}),trigger:(0,t.jsxs)(n.Button,{size:"sm",variant:"outline",children:[(0,t.jsx)(m,{className:"h-3.5 w-3.5"}),"Change…"]})})}),(0,t.jsx)(f.SettingsToast,{toast:i})]})]})})}function E({label:e,value:s}){return(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4 py-1",children:[(0,t.jsx)("span",{className:"text-sm text-muted-foreground min-w-[140px]",children:e}),(0,t.jsx)("div",{className:"text-sm text-foreground text-right",children:s})]})}var F=e.i(59546),D=e.i(96263);let A=(0,u.default)("FileWarning",[["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:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var M=e.i(59134),B=e.i(2745);let z=(0,u.default)("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);var H=e.i(75750),$=e.i(57415),I=e.i(14260),q=e.i(48467),L=e.i(74490),O=e.i(70986);function V({title:e,count:a,children:r,defaultOpen:i}){let[n,l]=(0,s.useState)(i??a>0);return 0===a?null:(0,t.jsxs)(O.Collapsible,{open:n,onOpenChange:l,children:[(0,t.jsxs)(O.CollapsibleTrigger,{className:"flex w-full items-center justify-between rounded-md px-2 py-1.5 text-left text-sm font-medium text-foreground hover:bg-accent",children:[(0,t.jsx)("span",{children:e}),(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[a,(0,t.jsx)(D.ChevronRight,{className:(0,w.cn)("h-3.5 w-3.5 transition-transform",n&&"rotate-90")})]})]}),(0,t.jsx)(O.CollapsibleContent,{children:(0,t.jsx)("div",{className:"mt-2 divide-y divide-border rounded-md border border-border",children:r})})]})}function W({issue:e,repairingPath:s,onRepair:a}){let r=s===e.path;return(0,t.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2 text-sm",children:[(0,t.jsx)(A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate font-mono text-xs text-foreground",children:e.path}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:e.message})]}),e.repairable&&(0,t.jsxs)(n.Button,{size:"sm",variant:"outline",className:"h-7 shrink-0 gap-1",disabled:null!==s,onClick:()=>a(e.path),children:[(0,t.jsx)(z,{className:(0,w.cn)("h-3.5 w-3.5",r&&"animate-spin")}),r?"Fixing":"Fix"]})]})}function K({issue:e}){return(0,t.jsxs)("div",{className:"flex items-start gap-3 px-3 py-2 text-sm",children:[(0,t.jsx)(v.AlertTriangle,{className:"mt-0.5 h-4 w-4 shrink-0 text-warning"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate font-mono text-xs text-foreground",children:e.path}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:e.message})]})]})}function U({issue:e}){return(0,t.jsxs)("div",{className:"flex items-start gap-3 px-3 py-2 text-sm",children:[(0,t.jsx)(v.AlertTriangle,{className:"mt-0.5 h-4 w-4 shrink-0 text-warning"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate font-mono text-xs text-foreground",children:e.path}),(0,t.jsxs)("div",{className:"text-xs text-muted-foreground",children:[(0,w.formatBytes)(e.bytes)," / ",(0,w.formatBytes)(e.capBytes)]})]})]})}function Q({issue:e}){return(0,t.jsxs)("div",{className:"flex items-start gap-3 px-3 py-2 text-sm",children:[(0,t.jsx)(v.AlertTriangle,{className:"mt-0.5 h-4 w-4 shrink-0 text-warning"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate font-mono text-xs text-foreground",children:e.source}),(0,t.jsxs)("div",{className:"text-xs text-muted-foreground",children:["missing ",(0,t.jsx)("span",{className:"font-mono",children:e.target})]})]})]})}function G(){var e;let a,{data:r,isLoading:i,error:l,refetch:o,isFetching:c}=(0,I.useQuery)({queryKey:["context-health"],queryFn:()=>k.api.get("/context/health"),refetchInterval:3e4}),d=(a=(0,g.useQueryClient)(),(0,$.useMutation)({mutationFn:({path:e})=>k.api.post("/context/repair/stub",{path:e}),onSuccess:(e,{path:t})=>{a.invalidateQueries({queryKey:["context-health"]});let s=t.includes("/")?t.split("/")[0]:null;s&&a.invalidateQueries({queryKey:["context-list",s]}),a.invalidateQueries({queryKey:["context",t.replace(/\.md$/,"")]})}})),[u,m]=(0,s.useState)(null),[x,h]=(0,s.useState)(null),[f,j]=(0,s.useState)(null),y=async e=>{m(e),h(null),j(null);try{let t=await d.mutateAsync({path:e});h("created"===t.status?`${t.path} created.`:`${t.path} already exists.`)}catch(e){e instanceof k.ApiError?j(`Repair failed: ${e.message}`):j(e instanceof Error?e.message:"Repair failed")}finally{m(null)}},b=r?.status??"warning",N="ok"===b?{variant:"green",label:"Healthy"}:"warning"===b?{variant:"amber",label:"Warnings"}:{variant:"red",label:"Needs Repair"},C="ok"===b?F.CheckCircle2:"warning"===b?v.AlertTriangle:H.XCircle;return(0,t.jsxs)(L.Card,{tone:r?"ok"===(e=r.status)?"success":"warning"===e?"warning":"error":"default",children:[(0,t.jsxs)("div",{className:"mb-3 flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)(B.ShieldCheck,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsx)("h3",{className:"truncate text-sm font-medium text-foreground",children:"Vault Health"})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[r&&(0,t.jsx)(q.Badge,{variant:N.variant,children:N.label}),(0,t.jsx)(n.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>void o(),disabled:c,"aria-label":"Refresh vault health",children:(0,t.jsx)(M.RefreshCw,{className:(0,w.cn)("h-3.5 w-3.5",c&&"animate-spin")})})]})]}),i&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Checking vault..."}),l&&(0,t.jsx)(p.Alert,{variant:"error",children:l instanceof Error?l.message:"Failed to load vault health."}),r&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)(C,{className:(0,w.cn)("h-4 w-4","ok"===r.status&&"text-success","warning"===r.status&&"text-warning","error"===r.status&&"text-destructive")}),(0,t.jsx)("span",{className:"text-foreground",children:"ok"===r.status?"All required vault checks passed.":`${r.summary.missingFiles+r.summary.frontmatterErrors+r.summary.sizeWarnings+r.summary.indexLinkIssues} issue(s) found.`}),(0,t.jsx)("span",{className:"ml-auto text-xs text-muted-foreground",children:(0,w.formatAbsoluteTime)(r.checkedAt)})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-2 text-xs sm:grid-cols-4",children:[(0,t.jsx)(X,{label:"Missing",value:r.summary.missingFiles}),(0,t.jsx)(X,{label:"Frontmatter",value:r.summary.frontmatterErrors}),(0,t.jsx)(X,{label:"Oversize",value:r.summary.sizeWarnings}),(0,t.jsx)(X,{label:"Index links",value:r.summary.indexLinkIssues})]}),x&&(0,t.jsx)(p.Alert,{variant:"success",children:x}),f&&(0,t.jsx)(p.Alert,{variant:"error",children:f}),(0,t.jsx)(V,{title:"Missing files",count:r.missingFiles.length,children:r.missingFiles.map(e=>(0,t.jsx)(W,{issue:e,repairingPath:u,onRepair:e=>void y(e)},e.path))}),(0,t.jsx)(V,{title:"Frontmatter errors",count:r.frontmatterErrors.length,children:r.frontmatterErrors.map(e=>(0,t.jsx)(K,{issue:e},`${e.path}:${e.code}`))}),(0,t.jsx)(V,{title:"Oversize injected files",count:r.sizeWarnings.length,children:r.sizeWarnings.map(e=>(0,t.jsx)(U,{issue:e},e.path))}),(0,t.jsx)(V,{title:"Broken index references",count:r.indexLinkIssues.length,children:r.indexLinkIssues.map(e=>(0,t.jsx)(Q,{issue:e},`${e.source}:${e.target}`))})]})]})}function X({label:e,value:s}){return(0,t.jsxs)("div",{className:"rounded-md border border-border px-2 py-1.5",children:[(0,t.jsx)("div",{className:"text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"font-mono text-base font-semibold text-foreground",children:s})]})}var Z=e.i(58692);function Y({value:e,onSave:r}){let[l,o]=(0,s.useState)(!1),[c,d]=(0,s.useState)(e),[u,m]=(0,s.useState)(!1),x=(0,i.useDiscardGeneration)(),h=(0,s.useRef)(x);(0,s.useEffect)(()=>{x!==h.current&&(h.current=x,o(!1))},[x]),(0,s.useEffect)(()=>{l||d(e)},[e,l]);let p=(0,Z.isCharacterOverCap)(c),f=(0,s.useCallback)(async()=>{if(c===e)return void o(!1);m(!0);try{await r("character",c),o(!1)}catch{}finally{m(!1)}},[c,e,r]);return l?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(Z.CharacterEditor,{value:c,onChange:d,disabled:u}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(n.Button,{size:"sm",onClick:f,disabled:u||p,children:u?"Applying...":"Done"}),(0,t.jsx)(n.Button,{size:"sm",variant:"ghost",onClick:()=>{d(e),o(!1)},children:"Cancel"})]})]}):(0,t.jsxs)("div",{className:"space-y-2",children:[e?(0,t.jsx)("pre",{className:"whitespace-pre-wrap rounded bg-muted p-3 text-xs text-foreground min-h-[60px]",children:e}):(0,t.jsx)("p",{className:"text-xs italic text-muted-foreground",children:"(no character set — default behavior)"}),(0,t.jsxs)(n.Button,{size:"sm",variant:"outline",onClick:()=>o(!0),children:[(0,t.jsx)(a.Pencil,{className:"h-3.5 w-3.5 mr-1"}),"Edit"]})]})}let J=[{tag:"en",label:"English"},{tag:"ja",label:"Japanese"},{tag:"zh",label:"Chinese"},{tag:"es",label:"Español (Spanish)"},{tag:"fr",label:"Français (French)"},{tag:"de",label:"Deutsch (German)"},{tag:"pt",label:"Português (Portuguese)"},{tag:"ko",label:"한국어 (Korean)"},{tag:"__custom__",label:"Other (BCP-47 tag…)"}],ee=/^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})?$/;function et({value:e,modified:a,onSave:r}){let i=J.some(t=>t.tag===e&&"__custom__"!==t.tag),[n,c]=(0,s.useState)(null),[d,u]=(0,s.useState)(null),m=i?e:"__custom__",x=n??m,h=d??(i?"":e),p="__custom__"===x&&h.trim().length>0&&!ee.test(h.trim());return(0,t.jsxs)("div",{className:(0,w.cn)("py-1.5",a&&"border-l-2 border-primary pl-2 -ml-1 rounded"),"data-config-key":"primaryLanguage",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("p",{className:"text-sm text-muted-foreground inline-flex items-center gap-1.5",children:["Primary Language",a&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-primary",children:"modified"})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Used for user-facing prose: profile, daily journal, and weekly/monthly reviews. System files (agent journal, dossiers, context index) always stay in English."})]}),(0,t.jsxs)(l.Select,{value:x,onValueChange:t=>{c(t===m?null:t),"__custom__"===t?u(i?"":e):(u(null),t!==e&&r("primaryLanguage",t))},children:[(0,t.jsx)(l.SelectTrigger,{className:"w-[220px]",children:(0,t.jsx)(l.SelectValue,{})}),(0,t.jsx)(l.SelectContent,{children:J.map(e=>(0,t.jsx)(l.SelectItem,{value:e.tag,children:e.label},e.tag))})]})]}),"__custom__"===x&&(0,t.jsxs)("div",{className:"flex flex-col gap-1 pt-2",children:[(0,t.jsx)(o.Input,{value:h,onChange:e=>u(e.target.value),onBlur:()=>{let t=h.trim();t&&t!==e&&ee.test(t)&&(r("primaryLanguage",t),c(null),u(null))},placeholder:"e.g. zh-Hans or pt-BR",className:"max-w-[240px]"}),p&&(0,t.jsxs)("p",{className:"text-xs text-destructive",children:["Use a BCP-47 tag like ",(0,t.jsx)("code",{children:"en-US"})," or ",(0,t.jsx)("code",{children:"zh-Hans"}),"."]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Blur the field to save."})]})]})}e.s(["default",0,function(){let{data:e}=(0,r.useConfig)(),{df:s}=(0,r.useConfigDefaults)(),{deferSaveFor:a,dv:n,dirtyFields:l}=(0,i.useDirtyFields)();if(!e)return(0,t.jsx)("div",{className:"text-muted-foreground",children:"Loading..."});let o=a(e);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.PageHeader,{title:"Profile",description:"Your agent’s identity and personality, plus the storage location for its personal data."}),(0,t.jsx)(d.ConfigSection,{title:"Agent Identity",children:(0,t.jsx)(d.EditableField,{label:"Display Name",value:n("agentDisplayName",e.agentDisplayName),configKey:"agentDisplayName",modified:l.has("agentDisplayName"),defaultValue:s("agentDisplayName"),description:"The name your agent signs off with. Shown in the dashboard header and prefixed to WhatsApp replies as `[name]` so you can tell its messages apart from human contacts.",onSave:o})}),(0,t.jsxs)(d.ConfigSection,{title:"Personality",children:[(0,t.jsxs)("p",{className:"pb-2 text-xs text-muted-foreground",children:["How the agent should talk to you. Safety rules still take precedence. Capped at ",Z.CHARACTER_MAX_LENGTH," characters; leave empty for default behavior."]}),(0,t.jsx)(Y,{value:n("character",e.character),onSave:o})]}),(0,t.jsxs)(d.ConfigSection,{title:"Language",children:[(0,t.jsx)("p",{className:"pb-2 text-xs text-muted-foreground",children:"Changes take effect the next time the agent writes a user-facing file. Existing files are not rewritten."}),(0,t.jsx)(et,{value:n("primaryLanguage",e.primaryLanguage),modified:l.has("primaryLanguage"),onSave:o})]}),(0,t.jsx)(R,{}),(0,t.jsx)("section",{id:"vault-health",className:"scroll-mt-4",children:(0,t.jsx)(G,{})})]})}],62880)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,25239,e=>{"use strict";let i=(0,e.i(77379).default)("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);e.s(["Calendar",0,i],25239)},89883,e=>{"use strict";let i=(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,i],89883)},76158,e=>{"use strict";let i=(0,e.i(77379).default)("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);e.s(["Server",0,i],76158)},78203,e=>{"use strict";var i=e.i(54710),t=e.i(45958),r=e.i(71060),n=e.i(27136),o=e.i(59481),a=e.i(42071),s=e.i(25239),l=e.i(89883),c=e.i(76158),d=e.i(81471);let h=[{href:"/connections/messaging",label:"Messaging",icon:n.MessageSquare,description:"Slack, Telegram, Discord, WhatsApp, Dashboard"},{href:"/connections/repositories",label:"Repositories",icon:o.GitBranch,description:"GitHub remotes and local clones"},{href:"/connections/notes",label:"Notes",icon:a.BookText,description:"Obsidian vault and Notion pages"},{href:"/connections/calendar",label:"Calendar",icon:s.Calendar,description:"Google, Outlook, Apple"},{href:"/connections/mail",label:"Mail",icon:l.Mail,description:"Gmail, Outlook, Yahoo, iCloud"},{href:"/connections/mcp",label:"MCP Servers",icon:c.Server,description:"Shared tool bundles for every session"}];e.s(["ConnectionsNavigation",0,function(){let e=(0,r.usePathname)();return(0,i.jsx)("nav",{"aria-label":"Connections sections",className:"w-full md:w-60 md:shrink-0",children:(0,i.jsx)("ul",{className:"flex flex-row gap-1 overflow-x-auto md:flex-col md:gap-0.5",children:h.map(r=>{let n=e===r.href||e.startsWith(r.href+"/"),o=r.icon;return(0,i.jsx)("li",{children:(0,i.jsxs)(t.default,{href:r.href,"aria-current":n?"page":void 0,className:(0,d.cn)("group flex items-center gap-3 whitespace-nowrap rounded-lg px-3 py-2 text-sm transition-colors md:whitespace-normal",n?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,i.jsx)(o,{className:"h-4 w-4 shrink-0"}),(0,i.jsxs)("span",{className:"flex-1",children:[(0,i.jsx)("span",{className:"block",children:r.label}),(0,i.jsx)("span",{className:(0,d.cn)("hidden text-[11px] font-normal md:block",n?"text-primary/70":"text-muted-foreground/70 group-hover:text-muted-foreground"),children:r.description})]})]})},r.href)})})})}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74490,e=>{"use strict";var t=e.i(54710),s=e.i(81471);let r=(0,e.i(94237).cva)("rounded-xl border p-5 shadow-[0_1px_2px_rgb(0_0_0/0.04),0_8px_24px_-16px_rgb(0_0_0/0.10)]",{variants:{tone:{default:"border-border bg-card",warning:"border-warning/40 bg-warning/5",success:"border-success/40 bg-success/5",error:"border-destructive/40 bg-destructive/5"},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:a,interactive:i,...n}){return(0,t.jsx)("div",{className:(0,s.cn)(r({tone:a,interactive:i}),e),...n})},"CardHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{className:(0,s.cn)("mb-3 flex items-center justify-between",e),...r})},"CardStatLabel",0,function({className:e,...r}){return(0,t.jsx)("h3",{className:(0,s.cn)("text-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",e),...r})},"CardTitle",0,function({className:e,...r}){return(0,t.jsx)("h3",{className:(0,s.cn)("text-base font-semibold tracking-tight text-foreground",e),...r})},"CardValue",0,function({className:e,...r}){return(0,t.jsx)("div",{className:(0,s.cn)("font-display text-3xl font-semibold tracking-tight text-foreground",e),...r})}])},39982,e=>{"use strict";var t=e.i(54710),s=e.i(81471);e.s(["PageHeader",0,function({title:e,description:r,icon:a,badge:i,actions:n,children:o,className:l}){return(0,t.jsxs)("header",{className:(0,s.cn)("flex flex-col gap-1.5",l),children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[a&&(0,t.jsx)(a,{className:"h-5 w-5 text-muted-foreground"}),(0,t.jsx)("h1",{className:"font-display text-[1.75rem] font-semibold leading-tight tracking-tight text-foreground",children:e}),i]}),n&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:n})]}),r&&(0,t.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-muted-foreground",children:r}),o]})}])},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)},25795,e=>{"use strict";let t=(0,e.i(77379).default)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,t],25795)},54879,e=>{"use strict";let t=(0,e.i(77379).default)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",0,t],54879)},63441,e=>{"use strict";var t=e.i(54710),s=e.i(34416),r=e.i(81187),a=e.i(25795),i=e.i(90925),n=e.i(54879),o=e.i(95486),l=e.i(65268),c=e.i(81471),d=e.i(20014),u=e.i(74490),p=e.i(39982),m=e.i(57628),h=e.i(90826);async function f(e){switch(e){case"reset-config":return l.api.post("/system/reset-config");case"purge-history":return l.api.post("/system/purge-history");case"reinstall-context":return l.api.post("/system/reinstall-context",{confirm:"CLEAN"});case"factory-reset":return l.api.post("/system/factory-reset")}}function x(e,t){switch(e){case"reset-config":t.invalidateQueries({queryKey:["config"]});return;case"purge-history":t.invalidateQueries({queryKey:["conversations"]}),t.invalidateQueries({queryKey:["events"]}),t.invalidateQueries({queryKey:["cost"]});return;case"reinstall-context":t.invalidateQueries({queryKey:["context"]}),t.invalidateQueries({queryKey:["setup-status"]});return;case"factory-reset":t.invalidateQueries();return}}function g(){let[e,d]=(0,s.useState)(null),[p,g]=(0,s.useState)(null),[b,v]=(0,s.useState)(null),w=(0,h.useConfirm)(),j=(0,o.useQueryClient)(),k=async(e,t)=>{if(await w({title:t.title,description:t.description,confirmLabel:t.confirmLabel,variant:"destructive"})&&(!t.doubleConfirm||await w({title:t.doubleConfirm.title,description:t.doubleConfirm.description,confirmLabel:t.doubleConfirm.confirmLabel,variant:"destructive",requireText:t.doubleConfirm.requireText}))){d(e),g(null),v(null);try{let s=await f(e);x(e,j),v(t.successMessage(s))}catch(e){g(e instanceof l.ApiError?e.message:"Request failed")}finally{d(null)}}};return(0,t.jsxs)(u.Card,{className:"border-destructive/40",children:[(0,t.jsx)(u.CardHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.AlertTriangle,{className:"h-4 w-4 text-destructive"}),(0,t.jsx)(u.CardTitle,{className:"text-destructive",children:"Danger Zone"})]})}),(0,t.jsxs)("div",{className:"space-y-4 pb-1",children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground max-w-prose",children:"Destructive actions that cannot be undone. Each action requires confirmation before executing."}),p&&(0,t.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/5 px-3 py-2 text-xs text-destructive",children:p}),b&&(0,t.jsx)("p",{className:"rounded-md border border-border bg-muted/30 px-3 py-2 text-xs text-muted-foreground",children:b}),(0,t.jsx)(y,{title:"Reset all config to defaults",description:"Restores every runtime setting to its factory default. Bootstrap values in .env (API port, data directory, log level) and integration credentials are preserved.",icon:(0,t.jsx)(a.RotateCcw,{className:"h-3.5 w-3.5 mr-1"}),label:"Reset config",busy:"reset-config"===e,disabled:null!==e,onClick:()=>k("reset-config",{title:"Reset all config to defaults?",description:"Restores every runtime setting in the database to its factory default. Bootstrap values in .env (API port, data directory, log level) and integration credentials are preserved.",confirmLabel:"Reset config",successMessage:e=>`Cleared ${e.cleared??0} runtime setting(s).`})}),(0,t.jsx)(m.Separator,{}),(0,t.jsx)(y,{title:"Delete all sessions and history",description:"Permanently removes all non-active conversation sessions, messages, action logs, observations, notification logs, MD snapshots, and scheduled tasks. The active session is preserved.",icon:(0,t.jsx)(i.Trash2,{className:"h-3.5 w-3.5 mr-1"}),label:"Delete history",busy:"purge-history"===e,disabled:null!==e,onClick:()=>k("purge-history",{title:"Delete all sessions and history?",description:"Permanently removes every non-active conversation session, message, action log, observation, notification log, MD snapshot, and scheduled task. The active session is preserved.",confirmLabel:"Delete history",successMessage:e=>`Deleted ${e.deletedSessions??0} session(s), ${e.deletedMessages??0} message(s), ${e.deletedActions??0} action(s).`})}),(0,t.jsx)(m.Separator,{}),(0,t.jsx)(y,{title:"Reinstall context",description:"Writes a tarball backup first, then wipes context/ (including policies/management.md) and md_file_snapshots. Conversation history, settings, and credentials are preserved. Restart the daemon to re-seed the vault from templates.",icon:(0,t.jsx)(a.RotateCcw,{className:"h-3.5 w-3.5 mr-1"}),label:"Reinstall context",busy:"reinstall-context"===e,disabled:null!==e,onClick:()=>(async()=>{d("reinstall-context"),g(null),v(null);try{let e,t=await l.api.get("/system/reinstall-context/plan");if(!await w({title:"Clean reinstall of context/ (B-007)?",description:(e=t.ancillaryDirs.length>0?`Ancillary caches to remove: ${t.ancillaryDirs.join(", ")}.`:"No ancillary caches are scheduled for removal.",[`This will remove ${t.fileCount} file(s) (${(0,c.formatBytes)(t.totalBytes)}) from ${t.contextDir}, clear ${t.snapshotRowCount} snapshot row(s), and then re-run setup on the next daemon start.`,e,`Backup tarball path: ${t.backupPath}`].join(" ")),confirmLabel:"Continue",variant:"destructive"})||!await w({title:"Type CLEAN to confirm",description:`Backup tarball: ${t.backupPath}. Proceed to remove ${t.fileCount} file(s) and clear ${t.snapshotRowCount} snapshot row(s).`,confirmLabel:"Reinstall context",variant:"destructive",requireText:"CLEAN"}))return;let s=await f("reinstall-context");x("reinstall-context",j),v(`Reinstalled. Removed ${s.filesDeleted??0} file(s), cleared ${s.snapshotRowsDeleted??0} snapshot row(s). Backup at ${s.backupPath??t.backupPath}.`)}catch(e){g(e instanceof l.ApiError?e.message:"Request failed")}finally{d(null)}})()}),(0,t.jsx)(m.Separator,{}),(0,t.jsx)(y,{title:"Factory reset",description:"Wipe everything: history, settings, context, credentials, encrypted blobs, attachments, session workdirs, backups, caches, user skills, integrations, backend configs, mail accounts, and recurring schedules. The SQLite DB is compacted afterward.",icon:(0,t.jsx)(n.Zap,{className:"h-3.5 w-3.5 mr-1"}),label:"Factory reset",busy:"factory-reset"===e,disabled:null!==e,onClick:()=>k("factory-reset",{title:"Factory reset — really?",description:"Wipes everything on this device: conversation history, action logs, runtime settings, context files (including policies/management.md), keychain secrets, encrypted blobs, uploaded attachments, session and skill-optimizer workdirs, all backups, caches, user skills, the managed Codex Azure config, the Whisper model cache, and every user-data table (backends, mail accounts, recurring schedules, receipts, books, travel bookings, runtime state, auth telemetry). The SQLite DB is compacted afterward; restart the daemon to re-bootstrap observers and adapters.",confirmLabel:"Continue",doubleConfirm:{title:"Final confirmation",description:"There is no undo. Type the confirmation phrase below to proceed.",confirmLabel:"Factory reset",requireText:"RESET EVERYTHING"},successMessage:e=>{let t="string"==typeof e.status?e.status:"reset",s=Array.isArray(e.errors)?e.errors.length:0,r=Array.isArray(e.adapterReloadErrors)?e.adapterReloadErrors.length:0;return"reset_with_errors"===t||s>0||r>0?`Factory reset finished with warnings. Restart the daemon to re-bootstrap observers and adapters. (${s} reset step warning(s), ${r} adapter reload warning(s).)`:"Factory reset complete. Restart the daemon to re-bootstrap observers and adapters."}})})]})]})}function y({title:e,description:s,icon:r,label:a,busy:i,disabled:n,onClick:o}){return(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsxs)("div",{className:"space-y-0.5",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:e}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:s})]}),(0,t.jsxs)(d.Button,{variant:"destructive",size:"sm",onClick:o,disabled:n,className:"shrink-0",children:[r,i?"Working...":a]})]})}e.s(["default",0,function(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(p.PageHeader,{title:"Danger Zone",description:"Destructive maintenance actions. Every action asks for confirmation; factory reset and context reinstall additionally require a typed phrase."}),(0,t.jsx)(g,{})]})}])}]);