@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,74490,e=>{"use strict";var t=e.i(54710),r=e.i(81471);let a=(0,e.i(94237).cva)("rounded-xl border p-5 shadow-[0_1px_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:n,interactive:s,...i}){return(0,t.jsx)("div",{className:(0,r.cn)(a({tone:n,interactive:s}),e),...i})},"CardHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{className:(0,r.cn)("mb-3 flex items-center justify-between",e),...a})},"CardStatLabel",0,function({className:e,...a}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-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,r.cn)("text-base font-semibold tracking-tight text-foreground",e),...a})},"CardValue",0,function({className:e,...a}){return(0,t.jsx)("div",{className:(0,r.cn)("font-display text-3xl font-semibold tracking-tight text-foreground",e),...a})}])},39982,e=>{"use strict";var t=e.i(54710),r=e.i(81471);e.s(["PageHeader",0,function({title:e,description:a,icon:n,badge:s,actions:i,children:l,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:[n&&(0,t.jsx)(n,{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}),s]}),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}),l]})}])},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)},50862,e=>{"use strict";var t=e.i(54710),r=e.i(81471);e.s(["EmptyState",0,function({icon:e,title:a,description:n,className:s,children:i}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center justify-center py-16 text-muted-foreground",s),children:[(0,t.jsx)(e,{className:"mb-3 h-10 w-10 opacity-40"}),(0,t.jsx)("p",{className:"text-sm font-medium",children:a}),n&&(0,t.jsx)("p",{className:"mt-1 max-w-prose text-xs text-muted-foreground/70",children:n}),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"},a=new Set(["opencode"]);function n(e){return a.has(e)}let s={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"],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,a]of Object.entries(t))a&&"object"==typeof a&&r.push({modelId:e,inputTokens:"number"==typeof a.inputTokens?a.inputTokens:0,outputTokens:"number"==typeof a.outputTokens?a.outputTokens:0,costUsd:"number"==typeof a.costUsd?a.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",a=t.get(e)??[];a.push(r),t.set(e,a)}let r={};for(let[e,a]of t){a.sort((e,t)=>e.localeCompare(t));let t="other"===e?o:l[e],n=a.length;a.forEach((e,a)=>{let s;s=n>=t.length?a%t.length:1===n?Math.floor(t.length/2):Math.floor((a+.5)*t.length/n),r[e]=t[s]})}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 s[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 c[e]??e},"isBackendSelectionDisabled",0,function(e){return!(0,t.isRuntimeAvailableBackendId)(e)||n(e)},"isUiPreviewOnlyBackend",0,n,"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}])},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),a=e.i(9413),n=e.i(36567),s=e.i(18731),i=e.i(22353),l=e.i(85565),o=e.i(90816),d=e.i(11207),c=e.i(54710),u="Collapsible",[m,h]=(0,a.createContextScope)(u),[p,f]=m(u),x=t.forwardRef((e,r)=>{let{__scopeCollapsible:a,open:s,defaultOpen:i,disabled:o,onOpenChange:m,...h}=e,[f,x]=(0,n.useControllableState)({prop:s,defaultProp:i??!1,onChange:m,caller:u});return(0,c.jsx)(p,{scope:a,disabled:o,contentId:(0,d.useId)(),open:f,onOpenToggle:t.useCallback(()=>x(e=>!e),[x]),children:(0,c.jsx)(l.Primitive.div,{"data-state":w(f),"data-disabled":o?"":void 0,...h,ref:r})})});x.displayName=u;var g="CollapsibleTrigger",v=t.forwardRef((e,t)=>{let{__scopeCollapsible:a,...n}=e,s=f(g,a);return(0,c.jsx)(l.Primitive.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":w(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...n,ref:t,onClick:(0,r.composeEventHandlers)(e.onClick,s.onOpenToggle)})});v.displayName=g;var b="CollapsibleContent",j=t.forwardRef((e,t)=>{let{forceMount:r,...a}=e,n=f(b,e.__scopeCollapsible);return(0,c.jsx)(o.Presence,{present:r||n.open,children:({present:e})=>(0,c.jsx)(y,{...a,ref:t,present:e})})});j.displayName=b;var y=t.forwardRef((e,r)=>{let{__scopeCollapsible:a,present:n,children:o,...d}=e,u=f(b,a),[m,h]=t.useState(n),p=t.useRef(null),x=(0,i.useComposedRefs)(r,p),g=t.useRef(0),v=g.current,j=t.useRef(0),y=j.current,C=u.open||m,N=t.useRef(C),S=t.useRef(void 0);return t.useEffect(()=>{let e=requestAnimationFrame(()=>N.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,s.useLayoutEffect)(()=>{let e=p.current;if(e){S.current=S.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();g.current=t.height,j.current=t.width,N.current||(e.style.transitionDuration=S.current.transitionDuration,e.style.animationName=S.current.animationName),h(n)}},[u.open,n]),(0,c.jsx)(l.Primitive.div,{"data-state":w(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!C,...d,ref:x,style:{"--radix-collapsible-content-height":v?`${v}px`:void 0,"--radix-collapsible-content-width":y?`${y}px`:void 0,...e.style},children:C&&o})});function w(e){return e?"open":"closed"}e.s(["Collapsible",0,x,"CollapsibleContent",0,j,"CollapsibleTrigger",0,v],70986)},13707,e=>{"use strict";var t=e.i(54710),r=e.i(34416),a=e.i(85565),n=e.i(90816),s=e.i(9413),i=e.i(22353),l=e.i(88248),o=e.i(75649),d=e.i(18731),c=e.i(27069),u=e.i(91967),m="ScrollArea",[h,p]=(0,s.createContextScope)(m),[f,x]=h(m),g=r.forwardRef((e,n)=>{let{__scopeScrollArea:s,type:l="hover",dir:d,scrollHideDelay:c=600,...u}=e,[m,h]=r.useState(null),[p,x]=r.useState(null),[g,v]=r.useState(null),[b,j]=r.useState(null),[y,w]=r.useState(null),[C,N]=r.useState(0),[S,k]=r.useState(0),[T,_]=r.useState(!1),[R,E]=r.useState(!1),P=(0,i.useComposedRefs)(n,e=>h(e)),L=(0,o.useDirection)(d);return(0,t.jsx)(f,{scope:s,type:l,dir:L,scrollHideDelay:c,scrollArea:m,viewport:p,onViewportChange:x,content:g,onContentChange:v,scrollbarX:b,onScrollbarXChange:j,scrollbarXEnabled:T,onScrollbarXEnabledChange:_,scrollbarY:y,onScrollbarYChange:w,scrollbarYEnabled:R,onScrollbarYEnabledChange:E,onCornerWidthChange:N,onCornerHeightChange:k,children:(0,t.jsx)(a.Primitive.div,{dir:L,...u,ref:P,style:{position:"relative","--radix-scroll-area-corner-width":C+"px","--radix-scroll-area-corner-height":S+"px",...e.style}})})});g.displayName=m;var v="ScrollAreaViewport",b=r.forwardRef((e,n)=>{let{__scopeScrollArea:s,children:l,nonce:o,...d}=e,c=x(v,s),u=r.useRef(null),m=(0,i.useComposedRefs)(n,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)(a.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:l})})]})});b.displayName=v;var j="ScrollAreaScrollbar",y=r.forwardRef((e,a)=>{let{forceMount:n,...s}=e,i=x(j,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:o}=i,d="horizontal"===e.orientation;return r.useEffect(()=>(d?l(!0):o(!0),()=>{d?l(!1):o(!1)}),[d,l,o]),"hover"===i.type?(0,t.jsx)(w,{...s,ref:a,forceMount:n}):"scroll"===i.type?(0,t.jsx)(C,{...s,ref:a,forceMount:n}):"auto"===i.type?(0,t.jsx)(N,{...s,ref:a,forceMount:n}):"always"===i.type?(0,t.jsx)(S,{...s,ref:a}):null});y.displayName=j;var w=r.forwardRef((e,a)=>{let{forceMount:s,...i}=e,l=x(j,e.__scopeScrollArea),[o,d]=r.useState(!1);return r.useEffect(()=>{let e=l.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),d(!0)},a=()=>{t=window.setTimeout(()=>d(!1),l.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",a),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",a)}}},[l.scrollArea,l.scrollHideDelay]),(0,t.jsx)(n.Presence,{present:s||o,children:(0,t.jsx)(N,{"data-state":o?"visible":"hidden",...i,ref:a})})}),C=r.forwardRef((e,a)=>{var s;let{forceMount:i,...l}=e,o=x(j,e.__scopeScrollArea),d="horizontal"===e.orientation,c=W(()=>h("SCROLL_END"),100),[m,h]=(s={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},r.useReducer((e,t)=>s[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===m){let e=window.setTimeout(()=>h("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(e)}},[m,o.scrollHideDelay,h]),r.useEffect(()=>{let e=o.viewport,t=d?"scrollLeft":"scrollTop";if(e){let r=e[t],a=()=>{let a=e[t];r!==a&&(h("SCROLL"),c()),r=a};return e.addEventListener("scroll",a),()=>e.removeEventListener("scroll",a)}},[o.viewport,d,h,c]),(0,t.jsx)(n.Presence,{present:i||"hidden"!==m,children:(0,t.jsx)(S,{"data-state":"hidden"===m?"hidden":"visible",...l,ref:a,onPointerEnter:(0,u.composeEventHandlers)(e.onPointerEnter,()=>h("POINTER_ENTER")),onPointerLeave:(0,u.composeEventHandlers)(e.onPointerLeave,()=>h("POINTER_LEAVE"))})})}),N=r.forwardRef((e,a)=>{let s=x(j,e.__scopeScrollArea),{forceMount:i,...l}=e,[o,d]=r.useState(!1),c="horizontal"===e.orientation,u=W(()=>{if(s.viewport){let e=s.viewport.offsetWidth<s.viewport.scrollWidth,t=s.viewport.offsetHeight<s.viewport.scrollHeight;d(c?e:t)}},10);return U(s.viewport,u),U(s.content,u),(0,t.jsx)(n.Presence,{present:i||o,children:(0,t.jsx)(S,{"data-state":o?"visible":"hidden",...l,ref:a})})}),S=r.forwardRef((e,a)=>{let{orientation:n="vertical",...s}=e,i=x(j,e.__scopeScrollArea),l=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={...s,sizes:d,onSizesChange:c,hasThumb:!!(u>0&&u<1),onThumbChange:e=>l.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function h(e,t){return function(e,t,r,a="ltr"){let n=O(r),s=t||n/2,i=r.scrollbar.paddingStart+s,l=r.scrollbar.size-r.scrollbar.paddingEnd-(n-s),o=r.content-r.viewport;return V([i,l],"ltr"===a?[0,o]:[-1*o,0])(e)}(e,o.current,d,t)}return"horizontal"===n?(0,t.jsx)(k,{...m,ref:a,onThumbPositionChange:()=>{if(i.viewport&&l.current){let e=H(i.viewport.scrollLeft,d,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=h(e,i.dir))}}):"vertical"===n?(0,t.jsx)(T,{...m,ref:a,onThumbPositionChange:()=>{if(i.viewport&&l.current){let e=H(i.viewport.scrollTop,d);l.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=h(e))}}):null}),k=r.forwardRef((e,a)=>{let{sizes:n,onSizesChange:s,...l}=e,o=x(j,e.__scopeScrollArea),[d,c]=r.useState(),u=r.useRef(null),m=(0,i.useComposedRefs)(a,u,o.onScrollbarXChange);return r.useEffect(()=>{u.current&&c(getComputedStyle(u.current))},[u]),(0,t.jsx)(E,{"data-orientation":"horizontal",...l,ref:m,sizes:n,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(n)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(o.viewport){var a,n;let s=o.viewport.scrollLeft+t.deltaX;e.onWheelScroll(s),a=s,n=r,a>0&&a<n&&t.preventDefault()}},onResize:()=>{u.current&&o.viewport&&d&&s({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:B(d.paddingLeft),paddingEnd:B(d.paddingRight)}})}})}),T=r.forwardRef((e,a)=>{let{sizes:n,onSizesChange:s,...l}=e,o=x(j,e.__scopeScrollArea),[d,c]=r.useState(),u=r.useRef(null),m=(0,i.useComposedRefs)(a,u,o.onScrollbarYChange);return r.useEffect(()=>{u.current&&c(getComputedStyle(u.current))},[u]),(0,t.jsx)(E,{"data-orientation":"vertical",...l,ref:m,sizes:n,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(n)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(o.viewport){var a,n;let s=o.viewport.scrollTop+t.deltaY;e.onWheelScroll(s),a=s,n=r,a>0&&a<n&&t.preventDefault()}},onResize:()=>{u.current&&o.viewport&&d&&s({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:B(d.paddingTop),paddingEnd:B(d.paddingBottom)}})}})}),[_,R]=h(j),E=r.forwardRef((e,n)=>{let{__scopeScrollArea:s,sizes:o,hasThumb:d,onThumbChange:c,onThumbPointerUp:m,onThumbPointerDown:h,onThumbPositionChange:p,onDragScroll:f,onWheelScroll:g,onResize:v,...b}=e,y=x(j,s),[w,C]=r.useState(null),N=(0,i.useComposedRefs)(n,e=>C(e)),S=r.useRef(null),k=r.useRef(""),T=y.viewport,R=o.content-o.viewport,E=(0,l.useCallbackRef)(g),P=(0,l.useCallbackRef)(p),L=W(v,10);function D(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;w?.contains(t)&&E(e,R)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[T,w,R,E]),r.useEffect(P,[o,P]),U(w,L),U(y.content,L),(0,t.jsx)(_,{scope:s,scrollbar:w,hasThumb:d,onThumbChange:(0,l.useCallbackRef)(c),onThumbPointerUp:(0,l.useCallbackRef)(m),onThumbPositionChange:P,onThumbPointerDown:(0,l.useCallbackRef)(h),children:(0,t.jsx)(a.Primitive.div,{...b,ref:N,style:{position:"absolute",...b.style},onPointerDown:(0,u.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),S.current=w.getBoundingClientRect(),k.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",y.viewport&&(y.viewport.style.scrollBehavior="auto"),D(e))}),onPointerMove:(0,u.composeEventHandlers)(e.onPointerMove,D),onPointerUp:(0,u.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=k.current,y.viewport&&(y.viewport.style.scrollBehavior=""),S.current=null})})})}),P="ScrollAreaThumb",L=r.forwardRef((e,r)=>{let{forceMount:a,...s}=e,i=R(P,e.__scopeScrollArea);return(0,t.jsx)(n.Presence,{present:a||i.hasThumb,children:(0,t.jsx)(D,{ref:r,...s})})}),D=r.forwardRef((e,n)=>{let{__scopeScrollArea:s,style:l,...o}=e,d=x(P,s),c=R(P,s),{onThumbPositionChange:m}=c,h=(0,i.useComposedRefs)(n,e=>c.onThumbChange(e)),p=r.useRef(void 0),f=W(()=>{p.current&&(p.current(),p.current=void 0)},100);return r.useEffect(()=>{let e=d.viewport;if(e){let t=()=>{f(),p.current||(p.current=z(e,m),m())};return m(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[d.viewport,f,m]),(0,t.jsx)(a.Primitive.div,{"data-state":c.hasThumb?"visible":"hidden",...o,ref:h,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,a=e.clientY-t.top;c.onThumbPointerDown({x:r,y:a})}),onPointerUp:(0,u.composeEventHandlers)(e.onPointerUp,c.onThumbPointerUp)})});L.displayName=P;var A="ScrollAreaCorner",I=r.forwardRef((e,r)=>{let a=x(A,e.__scopeScrollArea),n=!!(a.scrollbarX&&a.scrollbarY);return"scroll"!==a.type&&n?(0,t.jsx)(M,{...e,ref:r}):null});I.displayName=A;var M=r.forwardRef((e,n)=>{let{__scopeScrollArea:s,...i}=e,l=x(A,s),[o,d]=r.useState(0),[c,u]=r.useState(0),m=!!(o&&c);return U(l.scrollbarX,()=>{let e=l.scrollbarX?.offsetHeight||0;l.onCornerHeightChange(e),u(e)}),U(l.scrollbarY,()=>{let e=l.scrollbarY?.offsetWidth||0;l.onCornerWidthChange(e),d(e)}),m?(0,t.jsx)(a.Primitive.div,{...i,ref:n,style:{width:o,height:c,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 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 a=O(t),n=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-n,i=t.content-t.viewport,l=(0,c.clamp)(e,"ltr"===r?[0,i]:[-1*i,0]);return V([0,i],[0,s-a])(l)}function V(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let a=(t[1]-t[0])/(e[1]-e[0]);return t[0]+a*(r-e[0])}}var z=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},a=0;return!function n(){let s={left:e.scrollLeft,top:e.scrollTop},i=r.left!==s.left,l=r.top!==s.top;(i||l)&&t(),r=s,a=window.requestAnimationFrame(n)}(),()=>window.cancelAnimationFrame(a)};function W(e,t){let a=(0,l.useCallbackRef)(e),n=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(n.current),[]),r.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(a,t)},[a,t])}function U(e,t){let r=(0,l.useCallbackRef)(t);(0,d.useLayoutEffect)(()=>{let t=0;if(e){let a=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return a.observe(e),()=>{window.cancelAnimationFrame(t),a.unobserve(e)}}},[e,r])}var G=e.i(81471);let q=(0,r.forwardRef)(({className:e,children:r,...a},n)=>(0,t.jsxs)(g,{className:(0,G.cn)("relative overflow-hidden",e),...a,children:[(0,t.jsx)(b,{ref:n,className:"h-full w-full rounded-[inherit]",children:r}),(0,t.jsx)(y,{orientation:"vertical",className:"flex h-full w-2.5 touch-none select-none border-l border-l-transparent p-[1px] transition-colors",children:(0,t.jsx)(L,{className:"relative flex-1 rounded-full bg-border"})}),(0,t.jsx)(y,{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)(L,{className:"relative flex-1 rounded-full bg-border"})}),(0,t.jsx)(I,{})]}));q.displayName="ScrollArea",e.s(["ScrollArea",0,q],13707)},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)},24182,e=>{"use strict";let t={pending:"blue",started:"blue",running:"amber",completed:"green",failed:"red",timeout:"red",skipped:"gray",cancelled:"gray",abandoned:"gray",rolled_back:"amber",awaiting_user:"orange",final_confirm:"pink",delivered:"green",batched:"blue",suppressed:"gray",reading:"blue"};e.s(["statusBadgeVariant",0,function(e){return t[e]??"gray"}])},40818,e=>{"use strict";var t=e.i(54710),r=e.i(48467),a=e.i(24182);e.s(["StatusBadge",0,function({status:e,label:n,live:s,className:i}){let l=s??"running"===e,o=n??e;return(0,t.jsx)(r.Badge,{variant:(0,a.statusBadgeVariant)(e),className:i,children:l?(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"h-1.5 w-1.5 animate-pulse rounded-full bg-warning"}),o]}):o})}])},49785,e=>{"use strict";var t=e.i(54710),r=e.i(63991),a=e.i(72740),n=e.i(20014),s=e.i(81471);function i(){return(0,t.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,t.jsx)(a.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})})}function l({error:e,onRetry:a}){return(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-16",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-destructive",children:[(0,t.jsx)(r.AlertCircle,{className:"h-5 w-5"}),(0,t.jsx)("p",{className:"text-sm font-medium",children:"Failed to load data"})]}),e?.message&&(0,t.jsx)("p",{className:"max-w-md text-center text-xs text-muted-foreground",children:e.message}),a&&(0,t.jsx)(n.Button,{variant:"outline",size:"sm",onClick:a,children:"Retry"})]})}e.s(["CardSkeleton",0,function({count:e=3}){return(0,t.jsx)("div",{className:(0,s.cn)("grid gap-4",e<=2?"grid-cols-1 md:grid-cols-2":4===e?"grid-cols-2 md:grid-cols-4":"grid-cols-1 md:grid-cols-3"),children:Array.from({length:e}).map((e,r)=>(0,t.jsx)("div",{className:"h-28 animate-pulse rounded-xl border border-border bg-muted/30"},r))})},"QueryResult",0,function({isLoading:e,isError:r,error:a,onRetry:n,skeleton:o,className:d,children:c}){return e?(0,t.jsx)("div",{className:(0,s.cn)(d),children:o??(0,t.jsx)(i,{})}):r?(0,t.jsx)("div",{className:(0,s.cn)(d),children:(0,t.jsx)(l,{error:a,onRetry:n})}):(0,t.jsx)(t.Fragment,{children:c})},"TableSkeleton",0,function({rows:e=5}){return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("div",{className:"h-10 animate-pulse rounded-lg bg-muted/40"}),Array.from({length:e}).map((e,r)=>(0,t.jsx)("div",{className:"h-12 animate-pulse rounded-lg bg-muted/20"},r))]})}])},75540,e=>{"use strict";var t=e.i(46437),r=e.i(49457),a=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:a}=e,n=super.createResult(e,t),{isFetching:s,isRefetching:i,isError:l,isRefetchError:o}=n,d=a.fetchMeta?.fetchMore?.direction,c=l&&"forward"===d,u=s&&"forward"===d,m=l&&"backward"===d,h=s&&"backward"===d;return{...n,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,r.hasNextPage)(t,a.data),hasPreviousPage:(0,r.hasPreviousPage)(t,a.data),isFetchNextPageError:c,isFetchingNextPage:u,isFetchPreviousPageError:m,isFetchingPreviousPage:h,isRefetchError:o&&!c&&!m,isRefetching:i&&!u&&!h}}},n=e.i(98757);e.s(["useInfiniteQuery",0,function(e,t){return(0,n.useBaseQuery)(e,a,t)}],75540)},26406,e=>{"use strict";var t=e.i(54710),r=e.i(34416),a=e.i(91967),n=e.i(9413),s=e.i(87099),i=e.i(22353),l=e.i(11207),o=e.i(85565),d=e.i(88248),c=e.i(36567),u=e.i(75649),m="rovingFocusGroup.onEntryFocus",h={bubbles:!1,cancelable:!0},p="RovingFocusGroup",[f,x,g]=(0,s.createCollection)(p),[v,b]=(0,n.createContextScope)(p,[g]),[j,y]=v(p),w=r.forwardRef((e,r)=>(0,t.jsx)(f.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(f.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(C,{...e,ref:r})})}));w.displayName=p;var C=r.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:s,orientation:l,loop:f=!1,dir:g,currentTabStopId:v,defaultCurrentTabStopId:b,onCurrentTabStopIdChange:y,onEntryFocus:w,preventScrollOnEntryFocus:C=!1,...N}=e,S=r.useRef(null),k=(0,i.useComposedRefs)(n,S),_=(0,u.useDirection)(g),[R,E]=(0,c.useControllableState)({prop:v,defaultProp:b??null,onChange:y,caller:p}),[P,L]=r.useState(!1),D=(0,d.useCallbackRef)(w),A=x(s),I=r.useRef(!1),[M,B]=r.useState(0);return r.useEffect(()=>{let e=S.current;if(e)return e.addEventListener(m,D),()=>e.removeEventListener(m,D)},[D]),(0,t.jsx)(j,{scope:s,orientation:l,dir:_,loop:f,currentTabStopId:R,onItemFocus:r.useCallback(e=>E(e),[E]),onItemShiftTab:r.useCallback(()=>L(!0),[]),onFocusableItemAdd:r.useCallback(()=>B(e=>e+1),[]),onFocusableItemRemove:r.useCallback(()=>B(e=>e-1),[]),children:(0,t.jsx)(o.Primitive.div,{tabIndex:P||0===M?-1:0,"data-orientation":l,...N,ref:k,style:{outline:"none",...e.style},onMouseDown:(0,a.composeEventHandlers)(e.onMouseDown,()=>{I.current=!0}),onFocus:(0,a.composeEventHandlers)(e.onFocus,e=>{let t=!I.current;if(e.target===e.currentTarget&&t&&!P){let t=new CustomEvent(m,h);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=A().filter(e=>e.focusable);T([e.find(e=>e.active),e.find(e=>e.id===R),...e].filter(Boolean).map(e=>e.ref.current),C)}}I.current=!1}),onBlur:(0,a.composeEventHandlers)(e.onBlur,()=>L(!1))})})}),N="RovingFocusGroupItem",S=r.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:s,focusable:i=!0,active:d=!1,tabStopId:c,children:u,...m}=e,h=(0,l.useId)(),p=c||h,g=y(N,s),v=g.currentTabStopId===p,b=x(s),{onFocusableItemAdd:j,onFocusableItemRemove:w,currentTabStopId:C}=g;return r.useEffect(()=>{if(i)return j(),()=>w()},[i,j,w]),(0,t.jsx)(f.ItemSlot,{scope:s,id:p,focusable:i,active:d,children:(0,t.jsx)(o.Primitive.span,{tabIndex:v?0:-1,"data-orientation":g.orientation,...m,ref:n,onMouseDown:(0,a.composeEventHandlers)(e.onMouseDown,e=>{i?g.onItemFocus(p):e.preventDefault()}),onFocus:(0,a.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(p)),onKeyDown:(0,a.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var a;let n=(a=e.key,"rtl"!==r?a:"ArrowLeft"===a?"ArrowRight":"ArrowRight"===a?"ArrowLeft":a);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(n))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(n)))return k[n]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=b().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)n.reverse();else if("prev"===t||"next"===t){var r,a;"prev"===t&&n.reverse();let s=n.indexOf(e.currentTarget);n=g.loop?(r=n,a=s+1,r.map((e,t)=>r[(a+t)%r.length])):n.slice(s+1)}setTimeout(()=>T(n))}}),children:"function"==typeof u?u({isCurrentTabStop:v,hasTabStop:null!=C}):u})})});S.displayName=N;var k={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function T(e,t=!1){let r=document.activeElement;for(let a of e)if(a===r||(a.focus({preventScroll:t}),document.activeElement!==r))return}var _=e.i(90816),R="Tabs",[E,P]=(0,n.createContextScope)(R,[b]),L=b(),[D,A]=E(R),I=r.forwardRef((e,r)=>{let{__scopeTabs:a,value:n,onValueChange:s,defaultValue:i,orientation:d="horizontal",dir:m,activationMode:h="automatic",...p}=e,f=(0,u.useDirection)(m),[x,g]=(0,c.useControllableState)({prop:n,onChange:s,defaultProp:i??"",caller:R});return(0,t.jsx)(D,{scope:a,baseId:(0,l.useId)(),value:x,onValueChange:g,orientation:d,dir:f,activationMode:h,children:(0,t.jsx)(o.Primitive.div,{dir:f,"data-orientation":d,...p,ref:r})})});I.displayName=R;var M="TabsList",B=r.forwardRef((e,r)=>{let{__scopeTabs:a,loop:n=!0,...s}=e,i=A(M,a),l=L(a);return(0,t.jsx)(w,{asChild:!0,...l,orientation:i.orientation,dir:i.dir,loop:n,children:(0,t.jsx)(o.Primitive.div,{role:"tablist","aria-orientation":i.orientation,...s,ref:r})})});B.displayName=M;var F="TabsTrigger",O=r.forwardRef((e,r)=>{let{__scopeTabs:n,value:s,disabled:i=!1,...l}=e,d=A(F,n),c=L(n),u=z(d.baseId,s),m=W(d.baseId,s),h=s===d.value;return(0,t.jsx)(S,{asChild:!0,...c,focusable:!i,active:h,children:(0,t.jsx)(o.Primitive.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":m,"data-state":h?"active":"inactive","data-disabled":i?"":void 0,disabled:i,id:u,...l,ref:r,onMouseDown:(0,a.composeEventHandlers)(e.onMouseDown,e=>{i||0!==e.button||!1!==e.ctrlKey?e.preventDefault():d.onValueChange(s)}),onKeyDown:(0,a.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&d.onValueChange(s)}),onFocus:(0,a.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==d.activationMode;h||i||!e||d.onValueChange(s)})})})});O.displayName=F;var H="TabsContent",V=r.forwardRef((e,a)=>{let{__scopeTabs:n,value:s,forceMount:i,children:l,...d}=e,c=A(H,n),u=z(c.baseId,s),m=W(c.baseId,s),h=s===c.value,p=r.useRef(h);return r.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(_.Presence,{present:i||h,children:({present:r})=>(0,t.jsx)(o.Primitive.div,{"data-state":h?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":u,hidden:!r,id:m,tabIndex:0,...d,ref:a,style:{...e.style,animationDuration:p.current?"0s":void 0},children:r&&l})})});function z(e,t){return`${e}-trigger-${t}`}function W(e,t){return`${e}-content-${t}`}V.displayName=H;var U=e.i(81471);e.s(["Tabs",0,I,"TabsContent",0,function({className:e,...r}){return(0,t.jsx)(V,{className:(0,U.cn)("mt-2 ring-offset-background focus-visible:outline-none",e),...r})},"TabsList",0,function({className:e,...r}){return(0,t.jsx)(B,{className:(0,U.cn)("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...r})},"TabsTrigger",0,function({className:e,...r}){return(0,t.jsx)(O,{className:(0,U.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...r})}],26406)},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)},62126,e=>{"use strict";var t=e.i(86954),r=e.i(75540),a=e.i(65268);e.s(["useConversations",0,function(e,n){return(0,r.useInfiniteQuery)({queryKey:["conversations",e],queryFn:({pageParam:t=1})=>a.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:n?.enabled??!0,placeholderData:t.keepPreviousData})}])},36516,e=>{"use strict";e.s(["EVENT_TYPE_COLORS",0,{"message.received":"blue","routine.morning_routine":"green","routine.evening_review":"green","routine.activity_scan":"teal","scheduled.task":"purple","git.push":"gray","schedule.approaching":"amber"},"RESULT_COLORS",0,{success:"green",failed:"red",partial:"amber",skipped:"gray"}])},34855,e=>{"use strict";var t=e.i(14260),r=e.i(65268);e.s(["useMetrics",0,function(e){return(0,t.useQuery)({queryKey:["metrics"],queryFn:()=>r.api.get("/metrics"),refetchInterval:3e4,enabled:e?.enabled??!0})}])},68741,e=>{"use strict";var t=e.i(86954),r=e.i(75540),a=e.i(65268);e.s(["useEvents",0,function(e,n){return(0,r.useInfiniteQuery)({queryKey:["events",e],queryFn:({pageParam:t=1})=>a.api.get("/events",{page:t,limit:50,type:e?.type,result:e?.result,days:e?.days}),getNextPageParam:e=>e.pagination.page<e.pagination.totalPages?e.pagination.page+1:void 0,initialPageParam:1,enabled:n?.enabled,placeholderData:t.keepPreviousData})}])},35864,2412,41719,e=>{"use strict";var t=e.i(54710),r=e.i(48467),a=e.i(10628),n=e.i(81471),s=e.i(36516),i=e.i(76176);e.s(["EventRow",0,function({event:e,onClick:l}){let o=s.EVENT_TYPE_COLORS[e.action_type]??"gray",d=s.RESULT_COLORS[e.result]??"gray",c=(0,i.parseModelUsage)(e.model_usage_json),u=(0,i.pickDisplayModel)(e.model_used,e.model_usage_json),m=u?(0,i.formatShortModelName)(u):null,h=null!=e.model_used&&c.length>0&&c.some(t=>t.modelId!==e.model_used);return(0,t.jsxs)("tr",{onClick:l,className:"cursor-pointer border-b border-border transition-colors hover:bg-muted/50",children:[(0,t.jsx)("td",{className:"px-3 py-2 text-xs font-mono tabular-nums text-muted-foreground whitespace-nowrap",children:(0,t.jsxs)(a.Tooltip,{children:[(0,t.jsx)(a.TooltipTrigger,{children:(0,n.formatAbsoluteTime)(e.started_at)}),(0,t.jsx)(a.TooltipContent,{children:(0,n.formatRelativeTime)(e.started_at)})]})}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)(r.Badge,{variant:o,children:e.action_type})}),(0,t.jsx)("td",{className:"hidden xl:table-cell px-3 py-2 text-xs text-muted-foreground",children:e.trigger}),(0,t.jsx)("td",{className:"hidden lg:table-cell px-3 py-2",children:m&&(h?(0,t.jsxs)(a.Tooltip,{children:[(0,t.jsx)(a.TooltipTrigger,{children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,t.jsx)(r.Badge,{variant:(0,i.modelBadgeVariant)(u),children:m}),(0,t.jsx)(r.Badge,{variant:"amber",className:"text-[10px] uppercase tracking-wide",children:"routed"})]})}),(0,t.jsx)(a.TooltipContent,{children:(0,t.jsxs)("div",{className:"space-y-0.5 text-xs font-mono",children:[(0,t.jsxs)("div",{children:["requested: ",(0,i.formatShortModelName)(e.model_used)]}),c.map(e=>(0,t.jsxs)("div",{children:["billed: ",(0,i.formatShortModelName)(e.modelId)]},e.modelId))]})})]}):(0,t.jsx)(r.Badge,{variant:(0,i.modelBadgeVariant)(u),children:m}))}),(0,t.jsx)("td",{className:"hidden xl:table-cell px-3 py-2 text-xs font-mono text-muted-foreground",children:e.model_used?(0,t.jsxs)(a.Tooltip,{children:[(0,t.jsx)(a.TooltipTrigger,{children:(0,n.formatTokens)(e.tokens_input,e.tokens_output,e.cache_creation_tokens,e.cache_read_tokens)}),(0,t.jsx)(a.TooltipContent,{children:(0,t.jsxs)("div",{className:"space-y-0.5 text-xs font-mono",children:[(0,t.jsxs)("div",{children:["fresh in: ",(0,n.formatTokenCount)(e.tokens_input)]}),(0,t.jsxs)("div",{children:["cache write: ",(0,n.formatTokenCount)(e.cache_creation_tokens)]}),(0,t.jsxs)("div",{children:["cache read: ",(0,n.formatTokenCount)(e.cache_read_tokens)]}),(0,t.jsxs)("div",{className:"border-t border-border pt-0.5 mt-1",children:["out: ",(0,n.formatTokenCount)(e.tokens_output)]})]})})]}):null}),(0,t.jsx)("td",{className:"px-3 py-2 text-xs font-mono text-muted-foreground",children:(0,n.formatCurrency)(e.cost_usd)}),(0,t.jsx)("td",{className:"hidden lg:table-cell px-3 py-2 text-xs font-mono text-muted-foreground",children:(0,n.formatDuration)(e.duration_ms)}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)(r.Badge,{variant:d,children:e.result})})]})}],35864);var l=e.i(34416),o=e.i(43477),d=e.i(70986),c=e.i(16047),u=e.i(26181),m=e.i(95486),h=e.i(8011);function p({docId:e,anchor:r=null,label:a="What is this?",className:s}){let i=(0,m.useQueryClient)();return(0,t.jsxs)("button",{type:"button",onClick:()=>(0,h.openDocsHelpSlideover)(i,{docId:e,anchor:r,autoFocusComposer:!1}),className:(0,n.cn)("inline-flex items-center gap-1 rounded-md border border-border bg-card px-2.5 py-1 text-xs text-muted-foreground transition hover:bg-accent hover:text-foreground",s),"data-testid":"docs-learn-more",children:[(0,t.jsx)("span",{children:a}),(0,t.jsx)(u.ArrowUpRight,{className:"h-3 w-3","aria-hidden":"true"})]})}e.s(["DocsLearnMore",0,p],2412);let f={"routine.morning_routine":"features/routines/morning-routine","routine.evening_review":"features/routines/evening-review","routine.weekly_review":"features/routines/weekly-review","routine.activity_scan":"features/routines/activity-scan","routine.roadmap_refresh":"features/memory-files/roadmap","routine.today_refresh":"features/memory-files/today","routine.user_profile_sweep":"features/memory-files/user-profile","message.received":"features/messaging/overview","scheduled.task":"features/memory-files/schedule","schedule.approaching":"features/operations/schedule-approaching","routine.morning_routine_initial":"features/routines/morning-routine","routine.morning_routine_today":"features/routines/morning-routine","routine.morning_routine_journal":"features/routines/morning-routine","dashboard.docs_qa":"features/operations/activity-and-conversations",gmail_classify:"features/integrations/mail"},x=[{prefix:"routine.custom.",docId:"features/routines/custom-routines"},{prefix:"setup.",docId:"guides/setup-wizard"},{prefix:"calendar.",docId:"features/integrations/calendar"},{prefix:"git.",docId:"features/integrations/git"}];function g({event:e}){let a,u,m,[h,b]=(0,l.useState)(!1),j=s.RESULT_COLORS[e.result]??"gray",y=null;if(e.detail)try{y=JSON.stringify(JSON.parse(e.detail),null,2)}catch{y=e.detail}return(0,t.jsxs)(o.SheetContent,{className:"flex flex-col",children:[(0,t.jsx)(o.SheetHeader,{children:(0,t.jsx)(o.SheetTitle,{children:"Event Detail"})}),(0,t.jsxs)("div",{className:"mt-4 flex-1 space-y-4 overflow-y-auto pr-2 -mr-2",children:[(0,t.jsx)(v,{label:"Event ID",children:(0,t.jsx)("code",{className:"font-mono text-xs",children:e.event_id})}),(0,t.jsx)(v,{label:"Type",children:(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,t.jsx)(r.Badge,{variant:"blue",children:e.action_type}),(a=function(e){let t=f[e];if(t)return t;for(let t of x)if(e.startsWith(t.prefix))return t.docId;return null}(e.action_type))?(0,t.jsx)(p,{docId:a,label:"Learn →"}):null]})}),(0,t.jsx)(v,{label:"Trigger",children:(0,t.jsx)("span",{className:"text-sm",children:e.trigger})}),(0,t.jsx)(v,{label:"Result",children:(0,t.jsx)(r.Badge,{variant:j,children:e.result})}),(0,t.jsx)(v,{label:"Started",children:(0,t.jsx)("span",{className:"text-sm",children:(0,n.formatAbsoluteTime)(e.started_at)})}),e.completed_at&&(0,t.jsx)(v,{label:"Completed",children:(0,t.jsx)("span",{className:"text-sm",children:(0,n.formatAbsoluteTime)(e.completed_at)})}),(0,t.jsx)(v,{label:"Duration",children:(0,t.jsx)("span",{className:"text-sm font-mono",children:(0,n.formatDuration)(e.duration_ms)})}),(m=1===(u=(0,i.parseModelUsage)(e.model_usage_json)).length&&u[0]?.modelId===e.model_used,0===u.length||m?(0,t.jsx)(v,{label:"Model",children:(0,t.jsx)("span",{className:"text-sm",children:e.model_used??"—"})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(v,{label:"Model (requested)",children:(0,t.jsx)("span",{className:"text-sm",children:e.model_used??"—"})}),(0,t.jsx)(v,{label:"Model (billed)",children:(0,t.jsx)("div",{className:"space-y-0.5 text-right",children:u.map(e=>(0,t.jsxs)("div",{className:"text-sm font-mono",children:[e.modelId,(0,t.jsxs)("span",{className:"ml-2 text-xs text-muted-foreground",children:["(",(0,n.formatCurrency)(e.costUsd),")"]})]},e.modelId))})})]})),e.model_used&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(v,{label:"Input (fresh)",children:(0,t.jsx)("span",{className:"text-sm font-mono",children:(0,n.formatTokenCount)(e.tokens_input)})}),(0,t.jsx)(v,{label:"Input (cache write)",children:(0,t.jsx)("span",{className:"text-sm font-mono",children:(0,n.formatTokenCount)(e.cache_creation_tokens)})}),(0,t.jsx)(v,{label:"Input (cache read)",children:(0,t.jsx)("span",{className:"text-sm font-mono",children:(0,n.formatTokenCount)(e.cache_read_tokens)})}),(0,t.jsx)(v,{label:"Input total",children:(0,t.jsx)("span",{className:"text-sm font-mono",children:(0,n.formatTokenCount)((e.tokens_input??0)+(e.cache_creation_tokens??0)+(e.cache_read_tokens??0))})}),(0,t.jsx)(v,{label:"Output",children:(0,t.jsx)("span",{className:"text-sm font-mono",children:(0,n.formatTokenCount)(e.tokens_output)})})]}),(0,t.jsx)(v,{label:"Turns",children:(0,t.jsx)("span",{className:"text-sm font-mono",children:e.num_turns})}),(0,t.jsx)(v,{label:"Cost",children:(0,t.jsx)("span",{className:"text-sm font-mono",children:(0,n.formatCurrency)(e.cost_usd)})}),y&&(0,t.jsxs)(d.Collapsible,{open:h,onOpenChange:b,children:[(0,t.jsxs)(d.CollapsibleTrigger,{className:"flex w-full items-center gap-1 text-sm text-muted-foreground hover:text-foreground",children:["Detail",(0,t.jsx)(c.ChevronDown,{className:(0,n.cn)("h-3 w-3 transition-transform",h&&"rotate-180")})]}),(0,t.jsx)(d.CollapsibleContent,{children:(0,t.jsx)("pre",{className:"mt-2 max-h-64 overflow-auto rounded-md bg-muted p-3 text-xs font-mono",children:y})})]}),e.error&&(0,t.jsxs)("div",{className:"rounded-lg bg-destructive/10 p-3",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-destructive",children:"Error"}),(0,t.jsx)("pre",{className:"mt-1 whitespace-pre-wrap text-xs text-destructive",children:e.error})]})]})]})}function v({label:e,children:r}){return(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsx)("span",{className:"shrink-0 text-sm text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"text-right",children:r})]})}e.s(["EventDetailSheet",0,function({event:e,onClose:r}){return(0,t.jsx)(o.Sheet,{open:!!e,onOpenChange:e=>!e&&r(),children:e&&(0,t.jsx)(g,{event:e})})}],41719)},77924,e=>{"use strict";var t=e.i(54710),r=e.i(34416),a=e.i(71060),n=e.i(26406),s=e.i(39982),i=e.i(68741),l=e.i(31703),o=e.i(10427),d=e.i(57628),c=e.i(20014),u=e.i(59134),m=e.i(81471);let h=["all","message.received","routine.morning_routine","routine.evening_review","scheduled.task","schedule.approaching"],p=["all","success","failed","partial","skipped"],f=[{label:"Today",value:"today"},{label:"7 days",value:"7d"},{label:"30 days",value:"30d"}];function x(e){return(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,t.jsxs)(o.Select,{value:e.type,onValueChange:e.onTypeChange,children:[(0,t.jsx)(o.SelectTrigger,{className:"w-48",children:(0,t.jsx)(o.SelectValue,{placeholder:"Event Type"})}),(0,t.jsx)(o.SelectContent,{children:h.map(e=>(0,t.jsx)(o.SelectItem,{value:e,children:"all"===e?"All Types":e},e))})]}),(0,t.jsxs)(o.Select,{value:e.result,onValueChange:e.onResultChange,children:[(0,t.jsx)(o.SelectTrigger,{className:"w-32",children:(0,t.jsx)(o.SelectValue,{placeholder:"Result"})}),(0,t.jsx)(o.SelectContent,{children:p.map(e=>(0,t.jsx)(o.SelectItem,{value:e,children:"all"===e?"All Results":e},e))})]}),(0,t.jsx)(d.Separator,{orientation:"vertical",className:"h-6"}),(0,t.jsx)("div",{className:"flex gap-1",children:f.map(r=>(0,t.jsx)(c.Button,{variant:e.dateRange===r.value?"default":"outline",size:"sm",onClick:()=>e.onDateRangeChange(r.value),children:r.label},r.value))}),(0,t.jsx)(d.Separator,{orientation:"vertical",className:"h-6"}),(0,t.jsxs)("button",{onClick:e.onLiveToggle,className:(0,m.cn)("flex items-center gap-2 rounded-md px-3 py-1.5 text-xs font-medium transition-colors",e.live?"bg-success/15 text-success":"bg-muted text-muted-foreground"),children:[(0,t.jsx)("span",{className:(0,m.cn)("h-2 w-2 rounded-full",e.live?"bg-success animate-pulse":"bg-gray-400")}),"Live"]}),(0,t.jsxs)(c.Button,{variant:"outline",size:"sm",onClick:e.onRefresh,disabled:e.isRefreshing,"aria-label":"Refresh events",title:"Refresh events",children:[(0,t.jsx)(u.RefreshCw,{className:(0,m.cn)("h-3.5 w-3.5",e.isRefreshing&&"animate-spin")}),(0,t.jsx)("span",{className:"ml-1.5",children:"Refresh"})]})]})}var g=e.i(35864),v=e.i(41719),b=e.i(50862),j=e.i(2412),y=e.i(49785),w=e.i(84603);let C={today:"1","7d":"7","30d":"30"};function N({enabled:e}){let[a,n]=(0,r.useState)("all"),[s,o]=(0,r.useState)("all"),[d,u]=(0,r.useState)("today"),[m,h]=(0,r.useState)(!0),[p,f]=(0,r.useState)(null),S={type:"all"===a?void 0:a,result:"all"===s?void 0:s,days:C[d]},{data:k,fetchNextPage:T,hasNextPage:_,isFetchingNextPage:R,isLoading:E,isError:P,error:L,refetch:D,isRefetching:A}=(0,i.useEvents)(S,{enabled:e}),I=(0,l.useEventStream)(m&&e?50:0),M=k?.pages.flatMap(e=>e.events)??[],B=new Set,F=[];if(m&&e)for(let e of I)B.has(e.id)||S.type&&e.action_type!==S.type||S.result&&e.result!==S.result||(B.add(e.id),F.push(e));for(let e of M)B.has(e.id)||(B.add(e.id),F.push(e));return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(x,{type:a,onTypeChange:n,result:s,onResultChange:o,dateRange:d,onDateRangeChange:u,live:m,onLiveToggle:()=>h(!m),onRefresh:()=>D(),isRefreshing:A}),(0,t.jsxs)(y.QueryResult,{isLoading:E,isError:P,error:L,onRetry:()=>D(),skeleton:(0,t.jsx)(y.TableSkeleton,{rows:8}),children:[0===F.length?(0,t.jsx)(b.EmptyState,{icon:w.Activity,title:"No events found",description:"Events will appear here as the agent processes tasks",children:(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(j.DocsLearnMore,{docId:"features/operations/activity-and-conversations"})})}):(0,t.jsx)("div",{className:"overflow-x-auto rounded-xl border border-border",children:(0,t.jsxs)("table",{className:"w-full text-left","aria-label":"Agent events",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"border-b border-border bg-muted/50",children:[(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Time"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Type"}),(0,t.jsx)("th",{className:"hidden xl:table-cell px-3 py-2 text-xs font-medium text-muted-foreground",children:"Trigger"}),(0,t.jsx)("th",{className:"hidden lg:table-cell px-3 py-2 text-xs font-medium text-muted-foreground",children:"Model"}),(0,t.jsx)("th",{className:"hidden xl:table-cell px-3 py-2 text-xs font-medium text-muted-foreground",children:"In / Out"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Cost"}),(0,t.jsx)("th",{className:"hidden lg:table-cell px-3 py-2 text-xs font-medium text-muted-foreground",children:"Duration"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Result"})]})}),(0,t.jsx)("tbody",{children:F.map(e=>(0,t.jsx)(g.EventRow,{event:e,onClick:()=>f(e)},e.id))})]})}),_&&(0,t.jsx)("div",{className:"flex justify-center",children:(0,t.jsx)(c.Button,{variant:"outline",onClick:()=>T(),disabled:R,children:R?"Loading...":"Load More"})})]}),(0,t.jsx)(v.EventDetailSheet,{event:p,onClose:()=>f(null)})]})}var S=e.i(14260),k=e.i(65268),T=e.i(48467),_=e.i(13707),R=e.i(77379);let E=(0,R.default)("ScrollText",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);var P=e.i(90925);let L=(0,R.default)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);var D=e.i(96263);let A={info:{badge:"blue",text:"text-foreground"},warn:{badge:"amber",text:"text-warning"},error:{badge:"red",text:"text-destructive"},fatal:{badge:"red",text:"text-destructive font-semibold"}},I=(0,r.memo)(function({entry:e}){let[a,n]=(0,r.useState)(!1),s=A[e.level]??A.info,i=!!e.data,l=(0,r.useCallback)(()=>{i&&n(e=>!e)},[i]);return(0,t.jsxs)("div",{className:(0,m.cn)("group border-b border-border/50 px-3 py-1.5 font-mono text-[13px] leading-relaxed hover:bg-muted/30 transition-colors","error"===e.level||"fatal"===e.level?"bg-destructive/10":"warn"===e.level?"bg-warning/5":""),children:[(0,t.jsxs)("div",{className:(0,m.cn)("flex items-start gap-2",i&&"cursor-pointer select-none"),onClick:i?l:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,onKeyDown:i?e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),l())}:void 0,"aria-expanded":i?a:void 0,children:[(0,t.jsx)("span",{className:"shrink-0 text-muted-foreground tabular-nums",children:function(e){try{return(0,m.parseUtcDate)(e).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return e}}(e.timestamp)}),(0,t.jsx)(T.Badge,{variant:s.badge,className:"shrink-0 w-12 justify-center uppercase text-[10px]",children:e.level}),(0,t.jsx)("span",{className:"shrink-0 text-muted-foreground w-28 truncate",title:e.logger,children:e.logger}),(0,t.jsx)("span",{className:(0,m.cn)("min-w-0 flex-1 break-all",s.text),children:e.message}),i&&(0,t.jsx)("span",{className:"shrink-0 p-0.5 text-muted-foreground","aria-hidden":"true",children:(0,t.jsx)(D.ChevronRight,{className:(0,m.cn)("h-3.5 w-3.5 transition-transform",a&&"rotate-90")})})]}),a&&e.data&&(0,t.jsx)("pre",{className:"mt-1 ml-44 min-w-0 max-w-full max-h-[50vh] overflow-auto rounded bg-muted/50 p-2 text-xs text-muted-foreground",children:JSON.stringify(e.data,null,2)})]})});function M({enabled:e}){var a;let[n,s]=(0,r.useState)("all"),[i,l]=(0,r.useState)("all"),[d,u]=(0,r.useState)(!0),[h,p]=(0,r.useState)(!0),[f,x]=(0,r.useState)(0),g={level:"all"===n?void 0:n,logger:"all"===i?void 0:i},{data:v,isLoading:j,isError:w,error:C,refetch:N}=(a={enabled:e},(0,S.useQuery)({queryKey:["system-logs",g],queryFn:()=>k.api.get("/logs",{limit:500,level:g?.level,logger:g?.logger}),enabled:a?.enabled})),{entries:T,connected:R,clear:D}=function(e=500,t){let[a,n]=(0,r.useState)([]),[s,i]=(0,r.useState)(!1),l=(0,r.useRef)(null),o=(0,r.useRef)(0),d=(0,r.useCallback)(()=>{o.current=0,n([])},[]),c=(0,r.useCallback)(t=>{0!==t.length&&n(r=>{let a=function(e,t,r){let a=new Map;for(let t of e)a.set(t.id,t);for(let e of t)a.set(e.id,e);return[...a.values()].sort((e,t)=>e.id-t.id).slice(-r)}(r,t,e),n=a[a.length-1];return o.current=n?.id??o.current,a})},[e]);return(0,r.useEffect)(()=>{if((0,r.startTransition)(()=>{d(),e||i(!1)}),!e)return;let a=new EventSource("/api/logs/stream");return l.current=a,a.onopen=()=>{i(!0),o.current>0&&k.api.get("/logs",{limit:e,afterId:o.current,level:t?.level,logger:t?.logger}).then(e=>c(e.logs)).catch(()=>{})},a.onerror=()=>i(!1),a.addEventListener("log",e=>{try{let t=JSON.parse(e.data);c([t])}catch{}}),a.addEventListener("ping",()=>{}),()=>{a.close(),l.current=null,i(!1)}},[d,t?.level,t?.logger,e,c]),{entries:a,connected:s,clear:d}}(d&&e?1e3:0,g),A=(0,r.useRef)(null),B=(0,r.useRef)(null),F=(0,r.useMemo)(()=>{let e=0===f?v?.logs??[]:[],t=new Set,r=[];for(let a of e)t.has(a.id)||(t.add(a.id),r.push(a));if(d)for(let e of T)t.has(e.id)||e.id<=f||g.level&&e.level!==g.level||g.logger&&e.logger!==g.logger||(t.add(e.id),r.push(e));return r.sort((e,t)=>e.id-t.id),r},[v,T,d,g.level,g.logger,f]),O=(0,r.useMemo)(()=>[...new Set([...v?.loggers??[],...new Set(T.map(e=>e.logger))])].sort(),[v?.loggers,T]);(0,r.useEffect)(()=>{h&&B.current&&B.current.scrollIntoView({behavior:"smooth"})},[F.length,h]);let H=(0,r.useCallback)(()=>{let e=A.current;e&&p(e.scrollHeight-e.scrollTop-e.clientHeight<40)},[]),V=(0,r.useCallback)(()=>{x(T.length>0?Math.max(...T.map(e=>e.id)):(v?.logs??[]).reduce((e,t)=>Math.max(e,t.id),0)),D()},[T,v?.logs,D]);return(0,t.jsxs)("div",{className:"flex h-full flex-col",children:[(0,t.jsx)("div",{className:"mb-4 flex items-center justify-end",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{className:(0,m.cn)("h-2 w-2 rounded-full",R?"bg-success":"bg-gray-400")}),R?"Connected":"Disconnected"]})}),(0,t.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-3",children:[(0,t.jsxs)(o.Select,{value:n,onValueChange:s,children:[(0,t.jsx)(o.SelectTrigger,{className:"w-32",children:(0,t.jsx)(o.SelectValue,{placeholder:"Level"})}),(0,t.jsxs)(o.SelectContent,{children:[(0,t.jsx)(o.SelectItem,{value:"all",children:"All Levels"}),(0,t.jsx)(o.SelectItem,{value:"info",children:"Info"}),(0,t.jsx)(o.SelectItem,{value:"warn",children:"Warn"}),(0,t.jsx)(o.SelectItem,{value:"error",children:"Error"}),(0,t.jsx)(o.SelectItem,{value:"fatal",children:"Fatal"})]})]}),(0,t.jsxs)(o.Select,{value:i,onValueChange:l,children:[(0,t.jsx)(o.SelectTrigger,{className:"w-44",children:(0,t.jsx)(o.SelectValue,{placeholder:"Logger"})}),(0,t.jsxs)(o.SelectContent,{children:[(0,t.jsx)(o.SelectItem,{value:"all",children:"All Loggers"}),O.map(e=>(0,t.jsx)(o.SelectItem,{value:e,children:e},e))]})]}),(0,t.jsxs)(c.Button,{variant:"outline",size:"sm",onClick:V,children:[(0,t.jsx)(P.Trash2,{className:"mr-1.5 h-3.5 w-3.5"}),"Clear"]}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsxs)("button",{onClick:()=>u(!d),className:(0,m.cn)("flex items-center gap-2 rounded-md px-3 py-1.5 text-xs font-medium transition-colors",d?"bg-success/15 text-success":"bg-muted text-muted-foreground"),children:[(0,t.jsx)("span",{className:(0,m.cn)("h-2 w-2 rounded-full",d?"bg-success animate-pulse":"bg-gray-400")}),"Live"]}),!h&&(0,t.jsxs)(c.Button,{variant:"outline",size:"sm",onClick:()=>{p(!0),B.current?.scrollIntoView({behavior:"smooth"})},children:[(0,t.jsx)(L,{className:"mr-1.5 h-3.5 w-3.5"}),"Scroll to bottom"]})]}),(0,t.jsx)(y.QueryResult,{isLoading:j,isError:w,error:C,onRetry:()=>N(),skeleton:(0,t.jsx)(y.TableSkeleton,{rows:12}),children:0===F.length?(0,t.jsx)(b.EmptyState,{icon:E,title:"No logs yet",description:"Application logs will appear here as the daemon runs"}):(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden rounded-xl border border-border",children:(0,t.jsxs)(_.ScrollArea,{ref:A,className:"h-full",onScrollCapture:H,children:[F.map(e=>(0,t.jsx)(I,{entry:e},e.id)),(0,t.jsx)("div",{ref:B})]})})}),(0,t.jsxs)("div",{className:"mt-2 shrink-0 text-xs text-muted-foreground",children:[F.length," entries"]})]})}var B=e.i(45958),F=e.i(62126),O=e.i(74490),H=e.i(10628),V=e.i(76176),z=e.i(73550),W=e.i(27136);let U=(0,R.default)("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]),G=(0,R.default)("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]),q=(0,R.default)("Smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);var K=e.i(26317);let Q=["all","slack","discord","telegram","whatsapp","dashboard"],Y=["all","active","expired","closed"],$={slack:z.Hash,discord:U,telegram:G,whatsapp:q,dashboard:K.LayoutDashboard},X={active:"green",closed:"red",expired:"gray"},J={slack:"border-l-purple-500",discord:"border-l-indigo-500",telegram:"border-l-sky-500",whatsapp:"border-l-emerald-500",dashboard:"border-l-gray-400"};function Z({enabled:e=!0}){let[a,n]=(0,r.useState)("all"),[s,i]=(0,r.useState)("all"),{data:l,fetchNextPage:o,hasNextPage:u,isFetchingNextPage:h,isLoading:p,isError:f,error:x,refetch:g}=(0,F.useConversations)({platform:"all"===a?void 0:a,status:"all"===s?void 0:s},{enabled:e}),v=l?.pages.flatMap(e=>e.conversations)??[];return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3",role:"toolbar","aria-label":"Conversation filters",children:[(0,t.jsx)("div",{className:"flex gap-1",children:Q.map(e=>(0,t.jsx)(c.Button,{variant:a===e?"default":"outline",size:"sm",onClick:()=>n(e),"aria-pressed":a===e,children:"all"===e?"All":e},e))}),(0,t.jsx)(d.Separator,{orientation:"vertical",className:"h-6"}),(0,t.jsx)("div",{className:"flex gap-1",children:Y.map(e=>(0,t.jsx)(c.Button,{variant:s===e?"default":"outline",size:"sm",onClick:()=>i(e),"aria-pressed":s===e,children:"all"===e?"All":e},e))})]}),(0,t.jsxs)(y.QueryResult,{isLoading:p,isError:f,error:x,onRetry:()=>g(),children:[(0,t.jsx)("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-3",children:v.map(e=>{let r=$[e.platform]??W.MessageSquare;return(0,t.jsx)(B.default,{href:`/conversations/${e.id}`,children:(0,t.jsxs)(O.Card,{className:`cursor-pointer border-l-4 min-h-[120px] ${J[e.platform]??"border-l-gray-300"}`,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-sm font-medium text-foreground capitalize",children:e.platform})]}),(0,t.jsx)(T.Badge,{variant:X[e.status]??"gray",children:e.status})]}),(0,t.jsxs)("div",{className:"mt-3 space-y-1",children:[(0,t.jsxs)("p",{className:"text-sm text-muted-foreground",children:[(0,t.jsx)(T.Badge,{variant:(0,V.modelBadgeVariant)(e.model),className:"mr-1.5",children:(0,V.formatShortModelName)(e.model)}),e.message_count," messages"]}),(0,t.jsxs)(H.Tooltip,{children:[(0,t.jsx)(H.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("p",{className:"text-xs font-mono tabular-nums text-muted-foreground",children:(0,m.formatShortDateTime)(e.last_message_at)})}),(0,t.jsxs)(H.TooltipContent,{children:[(0,m.formatAbsoluteTime)(e.last_message_at)," (",(0,m.formatRelativeTime)(e.last_message_at),")"]})]}),e.summary&&(0,t.jsx)("p",{className:"line-clamp-1 text-xs text-muted-foreground",children:e.summary})]})]})},e.id)})}),0===v.length?(0,t.jsx)(b.EmptyState,{icon:U,title:"No conversations found",description:"Conversations will appear here when the agent interacts via messaging platforms",children:(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(j.DocsLearnMore,{docId:"features/operations/activity-and-conversations"})})}):null,u&&(0,t.jsx)("div",{className:"flex justify-center",children:(0,t.jsx)(c.Button,{variant:"outline",onClick:()=>o(),disabled:h,children:h?"Loading...":"Load More"})})]})]})}var ee=e.i(86954),et=e.i(75540),er=e.i(34855),ea=e.i(40818);let en=(0,R.default)("Bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]),es={critical:"red",high:"amber",normal:"blue",low:"gray"};function ei({enabled:e=!0}){var a,n;let[s,i]=(0,r.useState)("all"),[l,d]=(0,r.useState)("all"),{data:u,fetchNextPage:h,hasNextPage:p,isFetchingNextPage:f,isLoading:x,isError:g,error:v,refetch:w}=(a={status:"all"===s?void 0:s,priority:"all"===l?void 0:l},n={enabled:e},(0,et.useInfiniteQuery)({queryKey:["notifications",a],enabled:n?.enabled??!0,queryFn:({pageParam:e=1})=>k.api.get("/notifications",{page:e,limit:50,status:a?.status,priority:a?.priority}),getNextPageParam:e=>e.pagination.page<e.pagination.totalPages?e.pagination.page+1:void 0,initialPageParam:1,placeholderData:ee.keepPreviousData})),{data:C,isLoading:N}=(0,er.useMetrics)({enabled:e}),S=u?.pages.flatMap(e=>e.notifications)??[];return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(y.QueryResult,{isLoading:N,isError:!1,skeleton:(0,t.jsx)(y.CardSkeleton,{count:4}),children:(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4 md:grid-cols-4",children:[(0,t.jsxs)(O.Card,{children:[(0,t.jsx)(O.CardHeader,{children:(0,t.jsx)(O.CardStatLabel,{children:"Delivered"})}),(0,t.jsx)(O.CardValue,{className:"text-2xl",children:C?.notificationCounts.delivered??0})]}),(0,t.jsxs)(O.Card,{children:[(0,t.jsx)(O.CardHeader,{children:(0,t.jsx)(O.CardStatLabel,{children:"Reacted"})}),(0,t.jsx)(O.CardValue,{className:"text-2xl",children:C?.notificationCounts.reacted??0})]}),(0,t.jsxs)(O.Card,{children:[(0,t.jsx)(O.CardHeader,{children:(0,t.jsx)(O.CardStatLabel,{children:"Suppressed"})}),(0,t.jsx)(O.CardValue,{className:"text-2xl",children:C?.notificationCounts.suppressed??0})]}),(0,t.jsxs)(O.Card,{children:[(0,t.jsx)(O.CardHeader,{children:(0,t.jsx)(O.CardStatLabel,{children:"Confirm Rate"})}),(0,t.jsx)(O.CardValue,{className:"text-2xl",children:C?.notificationConfirmRate!==null&&C?.notificationConfirmRate!==void 0?`${(100*C.notificationConfirmRate).toFixed(0)}%`:"—"})]})]})}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3",role:"toolbar","aria-label":"Notification filters",children:[(0,t.jsxs)(o.Select,{value:s,onValueChange:i,children:[(0,t.jsx)(o.SelectTrigger,{className:"w-40",children:(0,t.jsx)(o.SelectValue,{placeholder:"Status"})}),(0,t.jsx)(o.SelectContent,{children:["all","delivered","batched","suppressed","failed"].map(e=>(0,t.jsx)(o.SelectItem,{value:e,children:"all"===e?"All Status":e},e))})]}),(0,t.jsxs)(o.Select,{value:l,onValueChange:d,children:[(0,t.jsx)(o.SelectTrigger,{className:"w-40",children:(0,t.jsx)(o.SelectValue,{placeholder:"Priority"})}),(0,t.jsx)(o.SelectContent,{children:["all","critical","high","normal","low"].map(e=>(0,t.jsx)(o.SelectItem,{value:e,children:"all"===e?"All Priority":e},e))})]})]}),(0,t.jsxs)(y.QueryResult,{isLoading:x,isError:g,error:v,onRetry:()=>w(),children:[(0,t.jsx)("div",{className:"overflow-x-auto rounded-xl border border-border",children:(0,t.jsxs)("table",{className:"w-full text-left","aria-label":"Notifications",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"border-b border-border bg-muted/50",children:[(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Time"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Priority"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Message"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Platform"}),(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:"Status"})]})}),(0,t.jsx)("tbody",{children:S.map(e=>(0,t.jsxs)("tr",{className:"border-b border-border",children:[(0,t.jsx)("td",{className:"px-3 py-2 text-xs font-mono tabular-nums text-muted-foreground whitespace-nowrap",children:(0,t.jsxs)(H.Tooltip,{children:[(0,t.jsx)(H.TooltipTrigger,{children:(0,m.formatAbsoluteTime)(e.created_at)}),(0,t.jsx)(H.TooltipContent,{children:(0,m.formatRelativeTime)(e.created_at)})]})}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)(T.Badge,{variant:es[e.priority]??"gray",children:e.priority})}),(0,t.jsx)("td",{className:"max-w-md truncate px-3 py-2 text-sm text-foreground",children:e.message}),(0,t.jsx)("td",{className:"px-3 py-2 text-xs text-muted-foreground",children:e.platform}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)(ea.StatusBadge,{status:e.status})})]},e.id))})]})}),0===S.length?(0,t.jsx)(b.EmptyState,{icon:en,title:"No notifications yet",description:"Notifications will appear here as the agent sends them",children:(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(j.DocsLearnMore,{docId:"features/operations/notifications"})})}):null,p&&(0,t.jsx)("div",{className:"flex justify-center",children:(0,t.jsx)(c.Button,{variant:"outline",onClick:()=>h(),disabled:f,children:f?"Loading...":"Load More"})})]})]})}function el(){let e=(0,a.useSearchParams)(),r=(0,a.useRouter)(),i=e.get("tab")??"events",l="system"===i;return(0,t.jsxs)("div",{className:(0,m.cn)("flex flex-col p-6 pb-8",l?"h-full":"min-h-full"),children:[(0,t.jsx)(s.PageHeader,{className:"mb-4",title:"Agent Log",description:(0,t.jsxs)(t.Fragment,{children:["A historical record of everything the agent has seen or done. Use ",(0,t.jsx)("strong",{children:"Events"})," for agent invocations (what triggered a run, which backend served it, success/failure),"," ",(0,t.jsx)("strong",{children:"System Logs"})," for daemon-level output (startup, errors, warnings from the Hono server),"," ",(0,t.jsx)("strong",{children:"Conversations"})," for completed chat threads from every messaging platform, and ",(0,t.jsx)("strong",{children:"Notifications"})," for outbound messages the agent sent proactively."]})}),(0,t.jsxs)(n.Tabs,{value:i,onValueChange:e=>{r.replace(`/activity?tab=${e}`,{scroll:!1})},className:(0,m.cn)("flex flex-col",l&&"min-h-0 flex-1"),children:[(0,t.jsxs)(n.TabsList,{className:"w-fit",children:[(0,t.jsx)(n.TabsTrigger,{value:"events",children:"Events"}),(0,t.jsx)(n.TabsTrigger,{value:"system",children:"System Logs"}),(0,t.jsx)(n.TabsTrigger,{value:"conversations",children:"Conversations"}),(0,t.jsx)(n.TabsTrigger,{value:"notifications",children:"Notifications"})]}),(0,t.jsx)(n.TabsContent,{value:"events",className:"mt-4",children:(0,t.jsx)(N,{enabled:"events"===i})}),(0,t.jsx)(n.TabsContent,{value:"system",className:"mt-4 flex min-h-0 flex-1 flex-col",children:(0,t.jsx)(M,{enabled:"system"===i})}),(0,t.jsx)(n.TabsContent,{value:"conversations",className:"mt-4",children:(0,t.jsx)(Z,{enabled:"conversations"===i})}),(0,t.jsx)(n.TabsContent,{value:"notifications",className:"mt-4",children:(0,t.jsx)(ei,{enabled:"notifications"===i})})]})]})}e.s(["default",0,function(){return(0,t.jsx)(r.Suspense,{children:(0,t.jsx)(el,{})})}],77924)}]);
@@ -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 s=(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:i,interactive:a,...n}){return(0,t.jsx)("div",{className:(0,r.cn)(s({tone:i,interactive:a}),e),...n})},"CardHeader",0,function({className:e,...s}){return(0,t.jsx)("div",{className:(0,r.cn)("mb-3 flex items-center justify-between",e),...s})},"CardStatLabel",0,function({className:e,...s}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",e),...s})},"CardTitle",0,function({className:e,...s}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-base font-semibold tracking-tight text-foreground",e),...s})},"CardValue",0,function({className:e,...s}){return(0,t.jsx)("div",{className:(0,r.cn)("font-display text-3xl font-semibold tracking-tight text-foreground",e),...s})}])},39982,e=>{"use strict";var t=e.i(54710),r=e.i(81471);e.s(["PageHeader",0,function({title:e,description:s,icon:i,badge:a,actions:n,children:l,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:[i&&(0,t.jsx)(i,{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}),a]}),n&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:n})]}),s&&(0,t.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-muted-foreground",children:s}),l]})}])},70986,e=>{"use strict";var t=e.i(34416),r=e.i(91967),s=e.i(9413),i=e.i(36567),a=e.i(18731),n=e.i(22353),l=e.i(85565),o=e.i(90816),d=e.i(11207),c=e.i(54710),m="Collapsible",[u,x]=(0,s.createContextScope)(m),[f,p]=u(m),h=t.forwardRef((e,r)=>{let{__scopeCollapsible:s,open:a,defaultOpen:n,disabled:o,onOpenChange:u,...x}=e,[p,h]=(0,i.useControllableState)({prop:a,defaultProp:n??!1,onChange:u,caller:m});return(0,c.jsx)(f,{scope:s,disabled:o,contentId:(0,d.useId)(),open:p,onOpenToggle:t.useCallback(()=>h(e=>!e),[h]),children:(0,c.jsx)(l.Primitive.div,{"data-state":N(p),"data-disabled":o?"":void 0,...x,ref:r})})});h.displayName=m;var g="CollapsibleTrigger",j=t.forwardRef((e,t)=>{let{__scopeCollapsible:s,...i}=e,a=p(g,s);return(0,c.jsx)(l.Primitive.button,{type:"button","aria-controls":a.contentId,"aria-expanded":a.open||!1,"data-state":N(a.open),"data-disabled":a.disabled?"":void 0,disabled:a.disabled,...i,ref:t,onClick:(0,r.composeEventHandlers)(e.onClick,a.onOpenToggle)})});j.displayName=g;var y="CollapsibleContent",v=t.forwardRef((e,t)=>{let{forceMount:r,...s}=e,i=p(y,e.__scopeCollapsible);return(0,c.jsx)(o.Presence,{present:r||i.open,children:({present:e})=>(0,c.jsx)(b,{...s,ref:t,present:e})})});v.displayName=y;var b=t.forwardRef((e,r)=>{let{__scopeCollapsible:s,present:i,children:o,...d}=e,m=p(y,s),[u,x]=t.useState(i),f=t.useRef(null),h=(0,n.useComposedRefs)(r,f),g=t.useRef(0),j=g.current,v=t.useRef(0),b=v.current,w=m.open||u,k=t.useRef(w),C=t.useRef(void 0);return t.useEffect(()=>{let e=requestAnimationFrame(()=>k.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,a.useLayoutEffect)(()=>{let e=f.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,v.current=t.width,k.current||(e.style.transitionDuration=C.current.transitionDuration,e.style.animationName=C.current.animationName),x(i)}},[m.open,i]),(0,c.jsx)(l.Primitive.div,{"data-state":N(m.open),"data-disabled":m.disabled?"":void 0,id:m.contentId,hidden:!w,...d,ref:h,style:{"--radix-collapsible-content-height":j?`${j}px`:void 0,"--radix-collapsible-content-width":b?`${b}px`:void 0,...e.style},children:w&&o})});function N(e){return e?"open":"closed"}e.s(["Collapsible",0,h,"CollapsibleContent",0,v,"CollapsibleTrigger",0,j],70986)},50862,e=>{"use strict";var t=e.i(54710),r=e.i(81471);e.s(["EmptyState",0,function({icon:e,title:s,description:i,className:a,children:n}){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:s}),i&&(0,t.jsx)("p",{className:"mt-1 max-w-prose text-xs text-muted-foreground/70",children:i}),n]})}])},72010,e=>{"use strict";var t=e.i(54710),r=e.i(94237),s=e.i(72740),i=e.i(81471);let a=(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,...n}){return(0,t.jsx)(s.Loader2,{"aria-hidden":!0,className:(0,i.cn)(a({size:r}),e),...n})}])},43641,e=>{"use strict";let t=/^-\s+(\S+)\s+(\S+)\s+(\S+)\s+(.+?)\s*$/,r=/^90_meta\/health\/(\d{4}-\d{2}-\d{2})\.md$/;function s(e,t){let r=e.split(/\r?\n/),s=RegExp(`^##\\s+${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*$`,"i"),i=!1,a=[];for(let e of r){if(s.test(e)){i=!0;continue}if(i&&/^##\s+/.test(e))break;if(!i)continue;let t=e.trim();if(!t||"_(none)_"===t)continue;let r=/^[-*]\s+(.+)$/.exec(t);r?a.push(r[1].trim()):a.length>0&&(a[a.length-1]+=` ${t}`)}return a}e.s(["distinctProcessKeys",0,function(e){let t=new Set;for(let r of e)t.add(r.processKey);return Array.from(t).sort((e,t)=>e.localeCompare(t))},"filterByProcessKey",0,function(e,t){return t&&"all"!==t?e.filter(e=>e.processKey===t):[...e]},"findLatestHealthReportPath",0,function(e){return e.map(e=>e.path).filter(e=>r.test(e)).sort((e,t)=>e<t?1:-1)[0]??null},"parseWikiHealthReport",0,function(e,t){let i=r.exec(e);return i?{date:i[1],path:e,summary:s(t,"Summary"),actionItems:s(t,"Action items"),rawBody:t}:null},"parseWikiLog",0,function(e){if(!e)return[];let r=e.split(/\r?\n/),s=[];for(let e=0;e<r.length;e++){var i,a;let n=r[e],l=t.exec(n);if(!l)continue;let[,o,d,c,m]=l;if(i=o,/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})$/.test(i)){("unknown"===(a=d)||/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/.test(a))&&s.push({timestamp:o,processKey:d,operation:c,relPath:m,lineNumber:e+1})}}return s},"sortWikiLogEntries",0,function(e){return[...e].sort((e,t)=>e.timestamp===t.timestamp?t.lineNumber-e.lineNumber:e.timestamp<t.timestamp?1:-1)}])},15778,e=>{"use strict";var t=e.i(54710),r=e.i(34416),s=e.i(45958),i=e.i(14260),a=e.i(77379);let n=(0,a.default)("HeartPulse",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}],["path",{d:"M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27",key:"1uw2ng"}]]);var l=e.i(84972);let o=(0,a.default)("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);var d=e.i(65268),c=e.i(81471),m=e.i(43641),u=e.i(50862),x=e.i(79634),f=e.i(48467),p=e.i(20014),h=e.i(74490),g=e.i(39982),j=e.i(72010),y=e.i(70986),v=e.i(10427);let b="wiki.ask";function N({children:e}){return(0,t.jsx)(g.PageHeader,{title:"Wiki Timeline",description:(0,t.jsxs)(t.Fragment,{children:["Wiki activity history and the latest health report from"," ",(0,t.jsx)("code",{children:"!lint"}),"."]}),children:e})}function w({report:e}){return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(f.Badge,{variant:"purple",children:e.date}),(0,t.jsx)("code",{className:"text-xs text-muted-foreground",children:e.path})]}),e.summary.length>0&&(0,t.jsxs)("section",{children:[(0,t.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Summary"}),(0,t.jsx)("ul",{className:"mt-1 ml-5 list-disc space-y-1 text-sm text-muted-foreground",children:e.summary.map((e,r)=>(0,t.jsx)("li",{children:e},r))})]}),(0,t.jsxs)("section",{children:[(0,t.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Action items"}),0===e.actionItems.length?(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"No action items in the latest report."}):(0,t.jsx)("ul",{className:"mt-1 ml-5 list-disc space-y-1 text-sm text-foreground",children:e.actionItems.map((e,r)=>(0,t.jsx)("li",{children:e},r))})]}),(0,t.jsxs)(y.Collapsible,{children:[(0,t.jsx)(y.CollapsibleTrigger,{asChild:!0,children:(0,t.jsx)(p.Button,{variant:"outline",size:"sm",children:"View full report"})}),(0,t.jsx)(y.CollapsibleContent,{className:"mt-3",children:(0,t.jsx)("pre",{className:"overflow-x-auto rounded-md border border-border bg-muted p-3 text-xs leading-snug",children:e.rawBody})})]})]})}e.s(["default",0,function(){var e;let a,p,g,y,k=(0,i.useQuery)({queryKey:["wiki-workspaces"],queryFn:()=>d.api.get("/wiki/workspaces")}),C=k.data?.workspaces.find(e=>e.active)??k.data?.workspaces[0]??null,S=!!C,_=function({workspace:e,enabled:t}){let s=(0,i.useQuery)({queryKey:["wiki-index",e],enabled:t,queryFn:()=>d.api.get(`/wiki/${e}/index`,{headers:{"x-process-key":b}})}),a=s.data?(0,m.findLatestHealthReportPath)(s.data.files):null,n=(0,i.useQuery)({queryKey:["wiki-health",e,a],enabled:t&&!!a,queryFn:()=>d.api.get(`/wiki/${e}/files/${encodeURI(a)}`,{headers:{"x-process-key":b}})}),l=(0,r.useMemo)(()=>n.data&&a?(0,m.parseWikiHealthReport)(a,n.data.content):null,[n.data,a]);return{isLoading:s.isLoading||n.isLoading,error:s.error??n.error,report:l,hasIndex:!!s.data,latestPath:a}}({workspace:C?.name??"default",enabled:S}),A=(e=C?.name??"default",a=(0,i.useQuery)({queryKey:["wiki-log",e],enabled:S,queryFn:()=>d.api.get(`/wiki/${e}/files/log.md`,{headers:{"x-process-key":b}})}),p=(0,r.useMemo)(()=>a.data?(0,m.sortWikiLogEntries)((0,m.parseWikiLog)(a.data.content)):[],[a.data]),y=(g=a.error)instanceof d.ApiError&&404===g.status,{isLoading:a.isLoading,error:y?null:g,entries:p}),[L,R]=(0,r.useState)("all"),P=(0,r.useMemo)(()=>(0,m.filterByProcessKey)(A.entries,L),[A.entries,L]),T=(0,r.useMemo)(()=>(0,m.distinctProcessKeys)(A.entries),[A.entries]);return k.isLoading?(0,t.jsx)("div",{className:"flex flex-col gap-4 p-6",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(j.Spinner,{})," Loading…"]})}):k.error?(0,t.jsx)("div",{className:"flex flex-col gap-4 p-6",children:(0,t.jsx)(x.Alert,{variant:"error",children:(0,c.formatApiError)(k.error)})}):C?(0,t.jsxs)("div",{className:"flex flex-col gap-4 p-6",children:[(0,t.jsx)(N,{children:(0,t.jsxs)("div",{className:"mt-2 text-sm text-muted-foreground",children:["Workspace ",(0,t.jsx)("code",{className:"font-mono",children:C.name})," ·"," ",(0,t.jsx)(s.default,{className:"underline",href:"/wiki",children:"Back to wiki"})," · ",(0,t.jsx)(s.default,{className:"underline",href:"/settings/wiki",children:"Configuration"})]})}),(0,t.jsxs)(h.Card,{children:[(0,t.jsx)(h.CardHeader,{className:"items-start",children:(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-md border border-border bg-muted text-muted-foreground",children:(0,t.jsx)(n,{className:"h-4 w-4"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(h.CardTitle,{children:"Latest health report"}),(0,t.jsxs)("p",{className:"mt-1 max-w-3xl text-sm text-muted-foreground",children:["Newest ",(0,t.jsx)("code",{children:"90_meta/health/<date>.md"}),". Action items come from ",(0,t.jsx)("code",{children:"!lint"})," runs."]})]})]})}),_.isLoading?(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(j.Spinner,{})," Loading…"]}):_.error?(0,t.jsx)(x.Alert,{variant:"error",children:(0,c.formatApiError)(_.error)}):_.latestPath?_.report?(0,t.jsx)(w,{report:_.report}):(0,t.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Could not parse the latest health report at"," ",(0,t.jsx)("code",{children:_.latestPath}),"."]}):(0,t.jsx)(u.EmptyState,{icon:n,title:"No health reports yet",description:"Send !lint from a DM to generate the first one."})]}),(0,t.jsxs)(h.Card,{children:[(0,t.jsx)(h.CardHeader,{className:"items-start",children:(0,t.jsxs)("div",{className:"flex w-full flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-md border border-border bg-muted text-muted-foreground",children:(0,t.jsx)(l.History,{className:"h-4 w-4"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(h.CardTitle,{children:"Activity timeline"}),(0,t.jsxs)("p",{className:"mt-1 max-w-3xl text-sm text-muted-foreground",children:["Reverse-chronological view of ",(0,t.jsx)("code",{children:"log.md"}),". Filter by wiki command to focus on a specific surface."]})]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,t.jsx)("label",{htmlFor:"wiki-timeline-filter",className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Filter"}),(0,t.jsxs)(v.Select,{value:L,onValueChange:R,children:[(0,t.jsx)(v.SelectTrigger,{id:"wiki-timeline-filter",className:"w-48",children:(0,t.jsx)(v.SelectValue,{})}),(0,t.jsxs)(v.SelectContent,{children:[(0,t.jsx)(v.SelectItem,{value:"all",children:"All commands"}),T.map(e=>(0,t.jsx)(v.SelectItem,{value:e,children:e},e))]})]})]})]})}),A.isLoading?(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(j.Spinner,{})," Loading…"]}):A.error?(0,t.jsx)(x.Alert,{variant:"error",children:(0,c.formatApiError)(A.error)}):0===P.length?0===A.entries.length?(0,t.jsx)(u.EmptyState,{icon:o,title:"No activity yet",description:"Run !ingest, !compile, !ask, !lint, !trace, or !connect from a DM to populate the log."}):(0,t.jsx)(u.EmptyState,{icon:o,title:"No entries match the current filter",description:"Try a different command or reset to All commands."}):(0,t.jsx)("ol",{className:"divide-y divide-border",children:P.map(e=>(0,t.jsxs)("li",{className:"flex flex-col gap-1 py-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(f.Badge,{variant:"blue",children:e.processKey}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:e.operation}),(0,t.jsx)("code",{className:"font-mono text-sm",children:e.relPath})]}),(0,t.jsx)("time",{className:"text-xs text-muted-foreground",dateTime:e.timestamp,title:e.timestamp,children:(0,c.formatTimestamp)(e.timestamp)})]},`${e.lineNumber}-${e.timestamp}`))})]})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-4 p-6",children:[(0,t.jsx)(N,{}),(0,t.jsxs)(x.Alert,{variant:"info",children:["The wiki is not enabled. Open"," ",(0,t.jsx)(s.default,{className:"underline",href:"/settings/wiki",children:"/settings/wiki"})," ","to enable a workspace first."]})]})}],15778)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,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)},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)},2745,e=>{"use strict";let t=(0,e.i(77379).default)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["ShieldCheck",0,t],2745)},36413,e=>{"use strict";var t=e.i(34416);let a=(0,t.createContext)(null);e.s(["DirtyFieldsProvider",0,function({children:e}){let[r,n]=(0,t.useState)(()=>new Map),[s,i]=(0,t.useState)(0),l=(0,t.useCallback)((e,t,a)=>{n(r=>{if(void 0!==a&&(t===a||Array.isArray(t)&&Array.isArray(a)&&t.length===a.length&&t.every((e,t)=>e===a[t]))){if(!r.has(e))return r;let t=new Map(r);return t.delete(e),t}let n=new Map(r);return n.set(e,t),n})},[]),o=(0,t.useCallback)(e=>{n(t=>{if(!t.has(e))return t;let a=new Map(t);return a.delete(e),a})},[]),c=(0,t.useCallback)(e=>{0!==e.length&&n(t=>{if(!e.some(e=>t.has(e)))return t;let a=new Map(t);for(let t of e)a.delete(t);return a})},[]),d=(0,t.useCallback)(()=>{n(new Map),i(e=>e+1)},[]),u=r.size>0,h=r.size,p=(0,t.useMemo)(()=>({dirtyFields:r,setDirty:l,clearDirty:o,clearDirtyKeys:c,discardAll:d,discardGeneration:s,isDirty:u,dirtyCount:h}),[r,l,o,c,d,s,u,h]);return(0,t.createElement)(a.Provider,{value:p},e)},"useDirtyFields",0,function(){let e=(0,t.useContext)(a);if(!e)throw Error("useDirtyFields must be used inside DirtyFieldsProvider");let{setDirty:r,dirtyFields:n}=e,s=(0,t.useCallback)(e=>async(t,a)=>{let n=e[t];r(t,a,n)},[r]),i=(0,t.useCallback)((e,t)=>n.has(e)?n.get(e):t,[n]);return{...e,deferSaveFor:s,dv:i}},"useDiscardGeneration",0,function(){let e=(0,t.useContext)(a);return e?.discardGeneration??0}])},28444,e=>{"use strict";e.s(["RESTART_REQUIRED_KEY_TUPLE",0,["apiPort","externalObsidianVaultName","externalObsidianVaultPath","externalObsidianWatch","primaryVaultPath","primaryVaultName","slackOwnerUserId","telegramOwnerChatId","discordOwnerUserId","whatsappEnabled","whatsappOwnerPhone","whatsappAuthDir","notionDatabaseIds","gmailPollIntervalSeconds","preventSleepMode","delegatedProbeIntervalMinutes","gitPollIntervalSeconds","githubPollIntervalSeconds","voiceTranscriptionEnabled","observationSummarizerEnabled","observationSummarizerConcurrency","observationSummarizerMaxCallsPerMinute","observationSummarizerQueueLimit","observationSummarizerTimeoutMs"]])},74490,e=>{"use strict";var t=e.i(54710),a=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:n,interactive:s,...i}){return(0,t.jsx)("div",{className:(0,a.cn)(r({tone:n,interactive:s}),e),...i})},"CardHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{className:(0,a.cn)("mb-3 flex items-center justify-between",e),...r})},"CardStatLabel",0,function({className:e,...r}){return(0,t.jsx)("h3",{className:(0,a.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,a.cn)("text-base font-semibold tracking-tight text-foreground",e),...r})},"CardValue",0,function({className:e,...r}){return(0,t.jsx)("div",{className:(0,a.cn)("font-display text-3xl font-semibold tracking-tight text-foreground",e),...r})}])},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)},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)},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)},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 a({title:e,defaultPath:r}){let n=await t.api.post("/system/pick-directory",{title:e,...r?{defaultPath:r}:{}});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,a])},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),a=e.i(25795),r=e.i(10628);e.s(["RestartRequiredBadge",0,function(){return(0,t.jsxs)(r.Tooltip,{children:[(0,t.jsx)(r.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)(a.RotateCcw,{className:"h-2.5 w-2.5"}),"restart"]})}),(0,t.jsx)(r.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),a=e.i(7771),r=e.i(95486),n=e.i(8011),s=e.i(10628),i=e.i(81471);e.s(["DocsHelpInline",0,function({docId:e,anchor:l=null,label:o,className:c}){let d=(0,r.useQueryClient)(),u=o??"Help";return(0,t.jsx)(s.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(s.Tooltip,{children:[(0,t.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:t=>{t.preventDefault(),t.stopPropagation(),(0,n.openDocsHelpSlideover)(d,{docId:e,anchor:l,autoFocusComposer:!1})},className:(0,i.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)(a.HelpCircle,{className:"h-3.5 w-3.5","aria-hidden":"true"})})}),(0,t.jsx)(s.TooltipContent,{side:"top",children:(0,t.jsx)("span",{children:u})})]})})}])},88,e=>{"use strict";var t=e.i(54710),a=e.i(34416),r=e.i(99758),n=e.i(55575),s=e.i(21682),i=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),h=e.i(20014),p=e.i(74490),m=e.i(8652),x=e.i(82239),f=e.i(49681),g=e.i(66127),b=e.i(36413);let y=new Set(d.RESTART_REQUIRED_KEY_TUPLE);function v(e){return null===e?"":String(e)}e.s(["ConfigSection",0,function({title:e,children:a,helpDocId:r,helpAnchor:n}){return(0,t.jsxs)(p.Card,{children:[(0,t.jsx)(p.CardHeader,{children:(0,t.jsxs)(p.CardTitle,{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{children:e}),r&&(0,t.jsx)(f.DocsHelpInline,{docId:r,anchor:n??null,label:e})]})}),(0,t.jsx)("div",{className:"space-y-0.5 [&>p]:max-w-prose",children:a})]})},"EditableArrayField",0,function({label:e,values:r,configKey:s,variant:l="gray",placeholder:o="Add item...",directoryPicker:d,modified:p,onSave:f}){let b=y.has(s),[v,w]=(0,a.useState)(""),[j,k]=(0,a.useState)(!1),[N,C]=(0,a.useState)(null),S=async()=>{let e=v.trim();if(!(!e||r.includes(e))){k(!0),C(null);try{await f(s,[...r,e]),w("")}catch{}finally{k(!1)}}},E=async e=>{k(!0);try{await f(s,r.filter(t=>t!==e))}finally{k(!1)}},A=async()=>{if(d){k(!0),C(null);try{let e=await (0,g.pickDirectoryFromDesktop)({title:d.title,defaultPath:v.trim()||d.defaultPath});if(!e)return;if(r.includes(e)){w(e),C("That directory is already in the list.");return}await f(s,[...r,e]),w("")}catch(e){C(e instanceof Error?e.message:"Folder picker is unavailable.")}finally{k(!1)}}};return(0,t.jsxs)("div",{className:`py-2${p?" border-l-2 border-primary pl-2 -ml-1 rounded":""}`,"data-config-key":s,children:[(0,t.jsxs)("p",{className:"text-sm text-muted-foreground mb-2 inline-flex items-center gap-1.5",children:[e,b&&(0,t.jsx)(x.RestartRequiredBadge,{}),p&&(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:[r.map(e=>(0,t.jsxs)(u.Badge,{variant:l,className:"gap-1 pr-1",children:[e,(0,t.jsx)("button",{onClick:()=>E(e),disabled:j,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===r.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)(m.Input,{value:v,onChange:e=>w(e.target.value),onKeyDown:e=>{"Enter"===e.key&&S()},placeholder:o,className:"max-w-[320px]",disabled:j}),d&&(0,t.jsxs)(h.Button,{size:"sm",variant:"outline",onClick:A,disabled:j,children:[(0,t.jsx)(n.FolderOpen,{className:"h-3.5 w-3.5 mr-1"}),d.buttonLabel??"Choose"]}),(0,t.jsxs)(h.Button,{size:"sm",variant:"outline",onClick:S,disabled:!v.trim()||j,children:[(0,t.jsx)(i.Plus,{className:"h-3.5 w-3.5 mr-1"}),"Add"]})]}),N&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive",children:N})]})},"EditableBooleanField",0,function({label:e,value:r,configKey:n,description:s,modified:i,defaultValue:o,onSave:c}){let[d,u]=(0,a.useState)(!1),p=y.has(n),m=void 0!==o&&r===o,f=async()=>{u(!0);try{await c(n,!r)}finally{u(!1)}},g=async()=>{if(void 0!==o){u(!0);try{await c(n,o)}finally{u(!1)}}};return(0,t.jsx)("div",{className:`py-1.5 group${i?" border-l-2 border-primary pl-2 -ml-1 rounded":""}`,"data-config-key":n,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,p&&(0,t.jsx)(x.RestartRequiredBadge,{}),i&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-primary",children:"modified"}),void 0!==o&&!m&&!i&&(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"]})]}),s&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:s})]}),(0,t.jsx)(h.Button,{variant:r?"default":"outline",size:"sm",onClick:f,disabled:d,children:r?"Enabled":"Disabled"})]})})},"EditableField",0,function({label:e,value:n,configKey:i,type:d="text",suffix:u,description:p,min:f,max:g,nullable:w=!1,emptyLabel:j="Not set",modified:k,defaultValue:N,onSave:C}){let S=y.has(i),[E,A]=(0,a.useState)(!1),[I,R]=(0,a.useState)(v(n)),[T,D]=(0,a.useState)(!1),[P,M]=(0,a.useState)(null),L=(0,a.useRef)(null),F=(0,b.useDiscardGeneration)(),O=(0,a.useRef)(F);(0,a.useEffect)(()=>{F!==O.current&&(O.current=F,A(!1),M(null))},[F]),(0,a.useEffect)(()=>{E&&L.current?.focus()},[E]),(0,a.useEffect)(()=>{E||R(v(n))},[n,E]);let _=void 0!==N&&n===N,B=async e=>{if(e.stopPropagation(),void 0!==N){D(!0);try{await C(i,N)}finally{D(!1)}}},q=async e=>{e.stopPropagation(),D(!0);try{await C(i,null)}finally{D(!1)}},z=async()=>{let e=I.trim(),t=w&&""===e?null:"number"===d?Number(I):I;if(t===n)return void A(!1);if(null!==t&&"number"===d&&(void 0!==f||void 0!==g)&&(void 0!==f&&t<f||void 0!==g&&t>g))return void M(`Must be ${f??""}–${g??""}`);M(null),D(!0);try{await C(i,t),A(!1)}catch{}finally{D(!1)}};return E?(0,t.jsxs)("div",{className:"py-1.5","data-config-key":i,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,S&&(0,t.jsx)(x.RestartRequiredBadge,{})]}),(0,t.jsx)(m.Input,{ref:L,type:d,value:I,onChange:e=>{R(e.target.value),M(null)},onKeyDown:e=>{"Enter"===e.key&&z(),"Escape"===e.key&&(R(v(n)),A(!1))},className:"max-w-[240px]",disabled:T,min:f,max:g}),u&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:u}),(0,t.jsx)(h.Button,{size:"sm",variant:"ghost",onClick:z,disabled:T,className:"h-7 w-7 p-0",children:(0,t.jsx)(r.Check,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(h.Button,{size:"sm",variant:"ghost",onClick:()=>{R(v(n)),M(null),A(!1)},className:"h-7 w-7 p-0",children:(0,t.jsx)(c.X,{className:"h-3.5 w-3.5"})})]}),P&&(0,t.jsx)("p",{className:"text-xs text-destructive mt-1 ml-[148px]",children:P}),p&&!P&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1 ml-[148px]",children:p})]}):(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":i,onClick:()=>A(!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,S&&(0,t.jsx)(x.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!==N&&!_&&!k&&(0,t.jsxs)("button",{type:"button",onClick:B,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"]}),w&&null!==n&&!k&&(0,t.jsxs)("button",{type:"button",onClick:q,title:`Clear — sets ${e} to ${j}`,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===n?j:"$"===u?`$${n}`:u?`${n} ${u}`:String(n)}),(0,t.jsx)(s.Pencil,{className:"h-3 w-3 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity"})]})]}),p&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:p})]})}])},58436,e=>{"use strict";var t=e.i(54710),a=e.i(34416),r=e.i(55575),n=e.i(72740),s=e.i(20014),i=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:h="Choose a folder...",defaultPath:p,disabled:m=!1,className:x,inputClassName:f,buttonLabel:g="Choose"}){let[b,y]=(0,a.useState)(!1),[v,w]=(0,a.useState)(null),j=async()=>{y(!0),w(null);try{let e=await (0,l.pickDirectoryFromDesktop)({title:u,defaultPath:c.trim()||p});e&&d(e)}catch(e){w(e instanceof Error?e.message:"Folder picker is unavailable.")}finally{y(!1)}};return(0,t.jsxs)("div",{className:(0,o.cn)("space-y-1",x),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=>{d(e.target.value),w(null)},placeholder:h,className:(0,o.cn)("font-mono text-sm",f),disabled:m||b}),(0,t.jsxs)(s.Button,{type:"button",variant:"outline",onClick:j,disabled:m||b,className:"shrink-0 gap-2",children:[b?(0,t.jsx)(n.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(r.FolderOpen,{className:"h-4 w-4"}),b?"Opening...":g]})]}),v&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:v})]})}])},76176,e=>{"use strict";e.i(18446);var t=e.i(38082);let a={claude:"Claude Code",codex:"OpenAI Codex",gemini:"Gemini CLI",opencode:"OpenCode"},r=new Set(["opencode"]);function n(e){return r.has(e)}let s={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 a=[];for(let[e,r]of Object.entries(t))r&&"object"==typeof r&&a.push({modelId:e,inputTokens:"number"==typeof r.inputTokens?r.inputTokens:0,outputTokens:"number"==typeof r.outputTokens?r.outputTokens:0,costUsd:"number"==typeof r.costUsd?r.costUsd:0});return a.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,a,"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 a of e){if(!a)continue;let e=h(a)??"other",r=t.get(e)??[];r.push(a),t.set(e,r)}let a={};for(let[e,r]of t){r.sort((e,t)=>e.localeCompare(t));let t="other"===e?o:l[e],n=r.length;r.forEach((e,r)=>{let s;s=n>=t.length?r%t.length:1===n?Math.floor(t.length/2):Math.floor((r+.5)*t.length/n),a[e]=t[s]})}return a},"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,""),a=t.replace(/-\d{8,}$/,"").replace(/^claude-/,"").replace(/(\d+)-(\d+)(?![-\d])/g,"$1.$2").replace(/-/g," ");return t.startsWith("gpt-")&&(a=`GPT-${a.replace(/^gpt\s*/i,"")}`),t.startsWith("gemini-")&&(a=a.replace(/^gemini\s*/i,"Gemini ")),a.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 s[e]??null},"getBackendLabel",0,function(e){return a[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)||n(e)},"isUiPreviewOnlyBackend",0,n,"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 a=u(t);return a.length>0&&a[0]?a[0].modelId:e??null}])},24756,e=>{"use strict";var t=e.i(14260),a=e.i(65268);e.s(["useBackends",0,function(e){return(0,t.useQuery)({queryKey:["backends"],queryFn:()=>a.api.get("/backends"),enabled:e?.enabled??!0,staleTime:6e4})}])},7663,e=>{"use strict";let t=(0,e.i(77379).default)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["Save",0,t],7663)},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),a=e.i(91967),r=e.i(9413),n=e.i(36567),s=e.i(18731),i=e.i(22353),l=e.i(85565),o=e.i(90816),c=e.i(11207),d=e.i(54710),u="Collapsible",[h,p]=(0,r.createContextScope)(u),[m,x]=h(u),f=t.forwardRef((e,a)=>{let{__scopeCollapsible:r,open:s,defaultOpen:i,disabled:o,onOpenChange:h,...p}=e,[x,f]=(0,n.useControllableState)({prop:s,defaultProp:i??!1,onChange:h,caller:u});return(0,d.jsx)(m,{scope:r,disabled:o,contentId:(0,c.useId)(),open:x,onOpenToggle:t.useCallback(()=>f(e=>!e),[f]),children:(0,d.jsx)(l.Primitive.div,{"data-state":j(x),"data-disabled":o?"":void 0,...p,ref:a})})});f.displayName=u;var g="CollapsibleTrigger",b=t.forwardRef((e,t)=>{let{__scopeCollapsible:r,...n}=e,s=x(g,r);return(0,d.jsx)(l.Primitive.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":j(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...n,ref:t,onClick:(0,a.composeEventHandlers)(e.onClick,s.onOpenToggle)})});b.displayName=g;var y="CollapsibleContent",v=t.forwardRef((e,t)=>{let{forceMount:a,...r}=e,n=x(y,e.__scopeCollapsible);return(0,d.jsx)(o.Presence,{present:a||n.open,children:({present:e})=>(0,d.jsx)(w,{...r,ref:t,present:e})})});v.displayName=y;var w=t.forwardRef((e,a)=>{let{__scopeCollapsible:r,present:n,children:o,...c}=e,u=x(y,r),[h,p]=t.useState(n),m=t.useRef(null),f=(0,i.useComposedRefs)(a,m),g=t.useRef(0),b=g.current,v=t.useRef(0),w=v.current,k=u.open||h,N=t.useRef(k),C=t.useRef(void 0);return t.useEffect(()=>{let e=requestAnimationFrame(()=>N.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,s.useLayoutEffect)(()=>{let e=m.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,v.current=t.width,N.current||(e.style.transitionDuration=C.current.transitionDuration,e.style.animationName=C.current.animationName),p(n)}},[u.open,n]),(0,d.jsx)(l.Primitive.div,{"data-state":j(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!k,...c,ref:f,style:{"--radix-collapsible-content-height":b?`${b}px`:void 0,"--radix-collapsible-content-width":w?`${w}px`:void 0,...e.style},children:k&&o})});function j(e){return e?"open":"closed"}e.s(["Collapsible",0,f,"CollapsibleContent",0,v,"CollapsibleTrigger",0,b],70986)},13707,e=>{"use strict";var t=e.i(54710),a=e.i(34416),r=e.i(85565),n=e.i(90816),s=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",[p,m]=(0,s.createContextScope)(h),[x,f]=p(h),g=a.forwardRef((e,n)=>{let{__scopeScrollArea:s,type:l="hover",dir:c,scrollHideDelay:d=600,...u}=e,[h,p]=a.useState(null),[m,f]=a.useState(null),[g,b]=a.useState(null),[y,v]=a.useState(null),[w,j]=a.useState(null),[k,N]=a.useState(0),[C,S]=a.useState(0),[E,A]=a.useState(!1),[I,R]=a.useState(!1),T=(0,i.useComposedRefs)(n,e=>p(e)),D=(0,o.useDirection)(c);return(0,t.jsx)(x,{scope:s,type:l,dir:D,scrollHideDelay:d,scrollArea:h,viewport:m,onViewportChange:f,content:g,onContentChange:b,scrollbarX:y,onScrollbarXChange:v,scrollbarXEnabled:E,onScrollbarXEnabledChange:A,scrollbarY:w,onScrollbarYChange:j,scrollbarYEnabled:I,onScrollbarYEnabledChange:R,onCornerWidthChange:N,onCornerHeightChange:S,children:(0,t.jsx)(r.Primitive.div,{dir:D,...u,ref:T,style:{position:"relative","--radix-scroll-area-corner-width":k+"px","--radix-scroll-area-corner-height":C+"px",...e.style}})})});g.displayName=h;var b="ScrollAreaViewport",y=a.forwardRef((e,n)=>{let{__scopeScrollArea:s,children:l,nonce:o,...c}=e,d=f(b,s),u=a.useRef(null),h=(0,i.useComposedRefs)(n,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)(r.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})})]})});y.displayName=b;var v="ScrollAreaScrollbar",w=a.forwardRef((e,r)=>{let{forceMount:n,...s}=e,i=f(v,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:o}=i,c="horizontal"===e.orientation;return a.useEffect(()=>(c?l(!0):o(!0),()=>{c?l(!1):o(!1)}),[c,l,o]),"hover"===i.type?(0,t.jsx)(j,{...s,ref:r,forceMount:n}):"scroll"===i.type?(0,t.jsx)(k,{...s,ref:r,forceMount:n}):"auto"===i.type?(0,t.jsx)(N,{...s,ref:r,forceMount:n}):"always"===i.type?(0,t.jsx)(C,{...s,ref:r}):null});w.displayName=v;var j=a.forwardRef((e,r)=>{let{forceMount:s,...i}=e,l=f(v,e.__scopeScrollArea),[o,c]=a.useState(!1);return a.useEffect(()=>{let e=l.scrollArea,t=0;if(e){let a=()=>{window.clearTimeout(t),c(!0)},r=()=>{t=window.setTimeout(()=>c(!1),l.scrollHideDelay)};return e.addEventListener("pointerenter",a),e.addEventListener("pointerleave",r),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",a),e.removeEventListener("pointerleave",r)}}},[l.scrollArea,l.scrollHideDelay]),(0,t.jsx)(n.Presence,{present:s||o,children:(0,t.jsx)(N,{"data-state":o?"visible":"hidden",...i,ref:r})})}),k=a.forwardRef((e,r)=>{var s;let{forceMount:i,...l}=e,o=f(v,e.__scopeScrollArea),c="horizontal"===e.orientation,d=U(()=>p("SCROLL_END"),100),[h,p]=(s={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},a.useReducer((e,t)=>s[e][t]??e,"hidden"));return a.useEffect(()=>{if("idle"===h){let e=window.setTimeout(()=>p("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(e)}},[h,o.scrollHideDelay,p]),a.useEffect(()=>{let e=o.viewport,t=c?"scrollLeft":"scrollTop";if(e){let a=e[t],r=()=>{let r=e[t];a!==r&&(p("SCROLL"),d()),a=r};return e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[o.viewport,c,p,d]),(0,t.jsx)(n.Presence,{present:i||"hidden"!==h,children:(0,t.jsx)(C,{"data-state":"hidden"===h?"hidden":"visible",...l,ref:r,onPointerEnter:(0,u.composeEventHandlers)(e.onPointerEnter,()=>p("POINTER_ENTER")),onPointerLeave:(0,u.composeEventHandlers)(e.onPointerLeave,()=>p("POINTER_LEAVE"))})})}),N=a.forwardRef((e,r)=>{let s=f(v,e.__scopeScrollArea),{forceMount:i,...l}=e,[o,c]=a.useState(!1),d="horizontal"===e.orientation,u=U(()=>{if(s.viewport){let e=s.viewport.offsetWidth<s.viewport.scrollWidth,t=s.viewport.offsetHeight<s.viewport.scrollHeight;c(d?e:t)}},10);return H(s.viewport,u),H(s.content,u),(0,t.jsx)(n.Presence,{present:i||o,children:(0,t.jsx)(C,{"data-state":o?"visible":"hidden",...l,ref:r})})}),C=a.forwardRef((e,r)=>{let{orientation:n="vertical",...s}=e,i=f(v,e.__scopeScrollArea),l=a.useRef(null),o=a.useRef(0),[c,d]=a.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=_(c.viewport,c.content),h={...s,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:e=>l.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function p(e,t){return function(e,t,a,r="ltr"){let n=B(a),s=t||n/2,i=a.scrollbar.paddingStart+s,l=a.scrollbar.size-a.scrollbar.paddingEnd-(n-s),o=a.content-a.viewport;return z([i,l],"ltr"===r?[0,o]:[-1*o,0])(e)}(e,o.current,c,t)}return"horizontal"===n?(0,t.jsx)(S,{...h,ref:r,onThumbPositionChange:()=>{if(i.viewport&&l.current){let e=q(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=p(e,i.dir))}}):"vertical"===n?(0,t.jsx)(E,{...h,ref:r,onThumbPositionChange:()=>{if(i.viewport&&l.current){let e=q(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=p(e))}}):null}),S=a.forwardRef((e,r)=>{let{sizes:n,onSizesChange:s,...l}=e,o=f(v,e.__scopeScrollArea),[c,d]=a.useState(),u=a.useRef(null),h=(0,i.useComposedRefs)(r,u,o.onScrollbarXChange);return a.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,t.jsx)(R,{"data-orientation":"horizontal",...l,ref:h,sizes:n,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":B(n)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,a)=>{if(o.viewport){var r,n;let s=o.viewport.scrollLeft+t.deltaX;e.onWheelScroll(s),r=s,n=a,r>0&&r<n&&t.preventDefault()}},onResize:()=>{u.current&&o.viewport&&c&&s({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:O(c.paddingLeft),paddingEnd:O(c.paddingRight)}})}})}),E=a.forwardRef((e,r)=>{let{sizes:n,onSizesChange:s,...l}=e,o=f(v,e.__scopeScrollArea),[c,d]=a.useState(),u=a.useRef(null),h=(0,i.useComposedRefs)(r,u,o.onScrollbarYChange);return a.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,t.jsx)(R,{"data-orientation":"vertical",...l,ref:h,sizes:n,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":B(n)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,a)=>{if(o.viewport){var r,n;let s=o.viewport.scrollTop+t.deltaY;e.onWheelScroll(s),r=s,n=a,r>0&&r<n&&t.preventDefault()}},onResize:()=>{u.current&&o.viewport&&c&&s({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:O(c.paddingTop),paddingEnd:O(c.paddingBottom)}})}})}),[A,I]=p(v),R=a.forwardRef((e,n)=>{let{__scopeScrollArea:s,sizes:o,hasThumb:c,onThumbChange:d,onThumbPointerUp:h,onThumbPointerDown:p,onThumbPositionChange:m,onDragScroll:x,onWheelScroll:g,onResize:b,...y}=e,w=f(v,s),[j,k]=a.useState(null),N=(0,i.useComposedRefs)(n,e=>k(e)),C=a.useRef(null),S=a.useRef(""),E=w.viewport,I=o.content-o.viewport,R=(0,l.useCallbackRef)(g),T=(0,l.useCallbackRef)(m),D=U(b,10);function P(e){C.current&&x({x:e.clientX-C.current.left,y:e.clientY-C.current.top})}return a.useEffect(()=>{let e=e=>{let t=e.target;j?.contains(t)&&R(e,I)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[E,j,I,R]),a.useEffect(T,[o,T]),H(j,D),H(w.content,D),(0,t.jsx)(A,{scope:s,scrollbar:j,hasThumb:c,onThumbChange:(0,l.useCallbackRef)(d),onThumbPointerUp:(0,l.useCallbackRef)(h),onThumbPositionChange:T,onThumbPointerDown:(0,l.useCallbackRef)(p),children:(0,t.jsx)(r.Primitive.div,{...y,ref:N,style:{position:"absolute",...y.style},onPointerDown:(0,u.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),C.current=j.getBoundingClientRect(),S.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",w.viewport&&(w.viewport.style.scrollBehavior="auto"),P(e))}),onPointerMove:(0,u.composeEventHandlers)(e.onPointerMove,P),onPointerUp:(0,u.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=S.current,w.viewport&&(w.viewport.style.scrollBehavior=""),C.current=null})})})}),T="ScrollAreaThumb",D=a.forwardRef((e,a)=>{let{forceMount:r,...s}=e,i=I(T,e.__scopeScrollArea);return(0,t.jsx)(n.Presence,{present:r||i.hasThumb,children:(0,t.jsx)(P,{ref:a,...s})})}),P=a.forwardRef((e,n)=>{let{__scopeScrollArea:s,style:l,...o}=e,c=f(T,s),d=I(T,s),{onThumbPositionChange:h}=d,p=(0,i.useComposedRefs)(n,e=>d.onThumbChange(e)),m=a.useRef(void 0),x=U(()=>{m.current&&(m.current(),m.current=void 0)},100);return a.useEffect(()=>{let e=c.viewport;if(e){let t=()=>{x(),m.current||(m.current=$(e,h),h())};return h(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[c.viewport,x,h]),(0,t.jsx)(r.Primitive.div,{"data-state":d.hasThumb?"visible":"hidden",...o,ref:p,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(),a=e.clientX-t.left,r=e.clientY-t.top;d.onThumbPointerDown({x:a,y:r})}),onPointerUp:(0,u.composeEventHandlers)(e.onPointerUp,d.onThumbPointerUp)})});D.displayName=T;var M="ScrollAreaCorner",L=a.forwardRef((e,a)=>{let r=f(M,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return"scroll"!==r.type&&n?(0,t.jsx)(F,{...e,ref:a}):null});L.displayName=M;var F=a.forwardRef((e,n)=>{let{__scopeScrollArea:s,...i}=e,l=f(M,s),[o,c]=a.useState(0),[d,u]=a.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)(r.Primitive.div,{...i,ref:n,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 O(e){return e?parseInt(e,10):0}function _(e,t){let a=e/t;return isNaN(a)?0:a}function B(e){let t=_(e.viewport,e.content),a=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-a)*t,18)}function q(e,t,a="ltr"){let r=B(t),n=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-n,i=t.content-t.viewport,l=(0,d.clamp)(e,"ltr"===a?[0,i]:[-1*i,0]);return z([0,i],[0,s-r])(l)}function z(e,t){return a=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(a-e[0])}}var $=(e,t=()=>{})=>{let a={left:e.scrollLeft,top:e.scrollTop},r=0;return!function n(){let s={left:e.scrollLeft,top:e.scrollTop},i=a.left!==s.left,l=a.top!==s.top;(i||l)&&t(),a=s,r=window.requestAnimationFrame(n)}(),()=>window.cancelAnimationFrame(r)};function U(e,t){let r=(0,l.useCallbackRef)(e),n=a.useRef(0);return a.useEffect(()=>()=>window.clearTimeout(n.current),[]),a.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function H(e,t){let a=(0,l.useCallbackRef)(t);(0,c.useLayoutEffect)(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(a)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,a])}var K=e.i(81471);let G=(0,a.forwardRef)(({className:e,children:a,...r},n)=>(0,t.jsxs)(g,{className:(0,K.cn)("relative overflow-hidden",e),...r,children:[(0,t.jsx)(y,{ref:n,className:"h-full w-full rounded-[inherit]",children:a}),(0,t.jsx)(w,{orientation:"vertical",className:"flex h-full w-2.5 touch-none select-none border-l border-l-transparent p-[1px] transition-colors",children:(0,t.jsx)(D,{className:"relative flex-1 rounded-full bg-border"})}),(0,t.jsx)(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)(D,{className:"relative flex-1 rounded-full bg-border"})}),(0,t.jsx)(L,{})]}));G.displayName="ScrollArea",e.s(["ScrollArea",0,G],13707)},12077,e=>{"use strict";let t=(0,e.i(77379).default)("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);e.s(["Terminal",0,t],12077)},13451,e=>{"use strict";var t=e.i(34416),a=e.i(95486),r=e.i(65268);e.s(["useSaveConfig",0,function(){let e=(0,a.useQueryClient)(),[n,s]=(0,t.useState)(null),i=(0,t.useCallback)((e,t)=>{s({type:e,message:t}),setTimeout(()=>s(null),4e3)},[]),l=(0,t.useCallback)((e,t)=>{let a=Object.values(e.errors??{});a.length>0?i("warning",a.join(" ")):e.requiresRestart?.length>0?i("warning",`Updated. Restart daemon for: ${e.requiresRestart.join(", ")}`):i("success",t)},[i]),o=(0,t.useCallback)(async(t,a)=>{try{let n=await r.api.patch("/config",{[t]:a});e.invalidateQueries({queryKey:["config"]}),l(n,"Setting updated")}catch(e){throw i("error",`Failed to save: ${e instanceof Error?e.message:"Unknown error"}`),e}},[e,l,i]),c=(0,t.useCallback)(async t=>{try{let a=await r.api.patch("/config",t);e.invalidateQueries({queryKey:["config"]}),l(a,"Settings updated")}catch(e){throw i("error",`Failed to save: ${e instanceof Error?e.message:"Unknown error"}`),e}},[e,l,i]);return{toast:n,showToast:i,saveField:o,saveMultipleFields:c,patchConfig:(0,t.useCallback)(async t=>{let a=await r.api.patch("/config",t);return e.invalidateQueries({queryKey:["config"]}),a},[e])}}])},76610,e=>{"use strict";let t=(0,e.i(77379).default)("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);e.s(["KeyRound",0,t],76610)},88175,e=>{"use strict";let t=(0,e.i(77379).default)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);e.s(["Download",0,t],88175)},89883,e=>{"use strict";let t=(0,e.i(77379).default)("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);e.s(["Mail",0,t],89883)},78927,e=>{"use strict";let t=(0,e.i(77379).default)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);e.s(["Upload",0,t],78927)},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)},20870,e=>{"use strict";var t=e.i(54710),a=e.i(48467),r=e.i(74490),n=e.i(81471);let s={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:o,metadata:c,children:d,className:u}){let h=s[l];return(0,t.jsxs)(r.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)(a.Badge,{variant:h.variant,children:h.label})]}),o&&"connecting"!==l&&(0,t.jsx)("p",{className:"mb-2 text-xs text-destructive",children:o}),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))}),d]})},"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??"—"}]}])},40974,e=>{"use strict";let t=(0,e.i(77379).default)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);e.s(["Lock",0,t],40974)},67490,e=>{"use strict";var t=e.i(14260),a=e.i(57415),r=e.i(95486),n=e.i(65268);e.s(["useIntegrationProbeLive",0,function(){let e=(0,r.useQueryClient)();return(0,a.useMutation)({mutationFn:e=>{let{key:t}=e,a={};return"liveProbe"in e?(a.liveProbe=!0,e.backend&&(a.backend=e.backend)):(a.backend=e.backend,a.tools=e.tools),n.api.post(`/integrations/${t}/probe`,a)},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:["integration-probe",a.key]}),e.invalidateQueries({queryKey:["health"]})}})},"useIntegrations",0,function(){return(0,t.useQuery)({queryKey:["integrations"],queryFn:()=>n.api.get("/integrations"),staleTime:3e4})},"useNativeUnboundActions",0,function(e={}){let a=e.sinceHours??168;return(0,t.useQuery)({queryKey:["agent-actions","native_unbound",a],queryFn:async()=>{let e=new URLSearchParams({since:new Date(Date.now()-60*a*6e4).toISOString(),limit:"50"});e.append("kind","integration.native_unbound");let t=await n.api.get(`/agent/actions?${e.toString()}`),r=[];for(let e of t.actions)if(e.detail)try{let t=JSON.parse(e.detail);if("string"!=typeof t.key)continue;r.push({id:e.id,key:t.key,priorNativeBackend:t.priorNativeBackend??null,newMainBackend:t.newMainBackend??null,priorDeniedTools:t.priorDeniedTools??[],startedAt:e.startedAt})}catch{continue}return r},staleTime:6e4})},"usePatchIntegration",0,function(){let e=(0,r.useQueryClient)();return(0,a.useMutation)({mutationFn:({key:e,body:t})=>n.api.patch(`/integrations/${e}`,t),onSuccess:()=>{e.invalidateQueries({queryKey:["integrations"]}),e.invalidateQueries({queryKey:["health"]})}})},"useProxyModels",0,function(e){return(0,t.useQuery)({queryKey:["proxy-models",e??null],queryFn:()=>n.api.get(`/integrations/proxy-models/${e}`),enabled:null!=e,staleTime:6e4})},"useRecentProxyCalls",0,function(e,a={}){let{limit:r,enabled:s=!0}=a;return(0,t.useQuery)({queryKey:["recent-proxy-calls",e,r??null],queryFn:()=>{let t=void 0!==r?`?limit=${r}`:"";return n.api.get(`/integrations/${e}/recent-proxy-calls${t}`)},enabled:s&&null!==e,staleTime:1e4})}])},18518,e=>{"use strict";let t=(0,e.i(77379).default)("ClipboardCopy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]);e.s(["ClipboardCopy",0,t],18518)},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 a(e){return/^[A-Za-z]:[\\/]/.test(e)||/^\\\\/.test(e)||/^\/\/[^/]+\/[^/]+/.test(e)||e.includes("\\")}function r(e,t){let a=e.trim().replace(/[\\/]+$/g,"");return t&&(a=a.replace(/[\\/]+/g,"/").toLowerCase()),a}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 n=a(e)||a(t),s=r(e,n),i=r(t,n);return i===s||i.startsWith(`${s}/`)}],64387);var n=e.i(54710),s=e.i(81471);e.s(["CHARACTER_MAX_LENGTH",0,1e3,"CharacterEditor",0,function({value:e,onChange:t,disabled:a=!1,placeholder:r,rows:i=6}){let l=e.length,o=l>1e3,c=1e3===l;return(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.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*i}px`},value:e,onChange:e=>t(e.target.value),disabled:a,placeholder:r??"How should the agent talk to you? E.g. 'Speak casually. Tight bullets, no emoji. Use plain language for technical terms.'"}),(0,n.jsx)("div",{className:"flex justify-end",children:(0,n.jsxs)("span",{"data-testid":"character-editor-counter","aria-live":"polite",className:(0,s.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)},85090,e=>{"use strict";var t=e.i(54710),a=e.i(34416),r=e.i(95486),n=e.i(88423),s=e.i(75187),i=e.i(13451),l=e.i(65268),o=e.i(20014),c=e.i(79634),d=e.i(70986),u=e.i(16047),h=e.i(78927),p=e.i(59546),m=e.i(52387),x=e.i(81471),f=e.i(88),g=e.i(20870);function b({label:e,accept:r,onUpload:n,configured:s}){let[i,l]=(0,a.useState)(!1),[d,u]=(0,a.useState)(null),m=(0,a.useRef)(null),x=(0,a.useCallback)(async e=>{l(!0),u(null);try{await n(e),u({type:"success",fileName:e.name})}catch(e){u({type:"error",message:e instanceof Error?e.message:"Upload failed"})}finally{l(!1)}},[n]);return(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{ref:m,type:"file",accept:r,className:"hidden",onChange:e=>{let t=e.target.files?.[0];t&&x(t),e.target.value=""}}),(0,t.jsxs)(o.Button,{size:"sm",variant:s?"outline":"default",onClick:()=>m.current?.click(),disabled:i,className:"text-xs",children:[(0,t.jsx)(h.Upload,{className:"h-3.5 w-3.5 mr-1"}),i?"Uploading...":e]}),s&&(0,t.jsx)(p.CheckCircle2,{className:"h-4 w-4 text-success"})]}),d&&(0,t.jsx)(c.Alert,{variant:"success"===d.type?"success":"error",children:"success"===d.type?(0,t.jsxs)("span",{className:"block break-all",title:d.fileName,children:[function(e,t=36){if(e.length<=t)return e;let a=Math.floor((t-1)/2);return`${e.slice(0,t-1-a)}…${e.slice(-a)}`}(d.fileName)," uploaded"]}):(0,t.jsx)("span",{className:"block break-all",children:d.message})})]})}function y(){return(0,t.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("path",{d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1Z",fill:"#4285F4"}),(0,t.jsx)("path",{d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23Z",fill:"#34A853"}),(0,t.jsx)("path",{d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18A10.96 10.96 0 0 0 1 12c0 1.77.42 3.45 1.18 4.93l3.66-2.84Z",fill:"#FBBC05"}),(0,t.jsx)("path",{d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53Z",fill:"#EA4335"})]})}e.s(["GoogleCard",0,function(){let{data:e}=(0,n.useConfig)(),{data:h}=(0,s.useHealth)(),{toast:v,saveField:w}=(0,i.useSaveConfig)(),j=(0,r.useQueryClient)(),k=h?.integrations?.google,[N,C]=(0,a.useState)(!1),[S,E]=(0,a.useState)(null),A=(0,a.useRef)(null),I=e?.googleCalendarCredentialsConfigured??!1,R=e?.googleCalendarTokenConfigured??!1,T=e?.googleCredentialType==="service_account",D=async e=>{await l.api.upload("/config/upload/google-credentials",e),j.invalidateQueries({queryKey:["config"]}),j.invalidateQueries({queryKey:["health"]})};(0,a.useEffect)(()=>()=>{A.current&&clearInterval(A.current)},[]),(0,a.useEffect)(()=>{let e=e=>{e.origin.startsWith("http://localhost")&&e.data?.type==="google-auth-success"&&(A.current&&(clearInterval(A.current),A.current=null),C(!1),j.invalidateQueries({queryKey:["config"]}),j.invalidateQueries({queryKey:["health"]}))};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[j]);let P=async()=>{C(!0),E(null);try{let e=await l.api.post("/config/google-auth/start"),t=window.open(e.authUrl,"google-auth","width=600,height=700");if(!t){E("Popup blocked. Allow popups for this site and try again."),C(!1);return}A.current=setInterval(()=>{t.closed&&(A.current&&(clearInterval(A.current),A.current=null),C(!1),j.invalidateQueries({queryKey:["config"]}),j.invalidateQueries({queryKey:["health"]}))},1e3)}catch(e){E(e instanceof Error?e.message:"Failed to start authorization"),C(!1)}};if(!e||!h)return null;let M=k?.services?.calendar,L=k?.services?.gmail,F=N?"connecting":(0,g.deriveIntegrationStatus)(k);return(0,t.jsxs)(g.ConnectionCard,{name:"Google",icon:(0,t.jsx)(y,{}),status:F,error:k?.error,children:[k?.configured&&(0,t.jsxs)("div",{className:"flex gap-4 mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,t.jsx)("span",{className:(0,x.cn)("inline-block h-2 w-2 rounded-full",M?.connected?"bg-success":"bg-gray-300 dark:bg-gray-600")}),(0,t.jsx)("span",{className:"text-muted-foreground",children:"Calendar"}),(0,t.jsx)("span",{className:M?.connected?"text-success":"text-muted-foreground",children:M?.connected?"Active":"Inactive"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,t.jsx)("span",{className:(0,x.cn)("inline-block h-2 w-2 rounded-full",L?.connected?"bg-success":"bg-gray-300 dark:bg-gray-600")}),(0,t.jsx)("span",{className:"text-muted-foreground",children:"Gmail"}),(0,t.jsx)("span",{className:L?.connected?"text-success":"text-muted-foreground",children:L?.connected?"Active":"Not yet implemented"})]})]}),(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"1. Upload credentials"}),(0,t.jsx)(b,{label:"Credentials JSON",accept:".json,application/json",onUpload:D,configured:I})]}),!T&&(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"2. Authorize"}),(0,t.jsxs)(o.Button,{size:"sm",variant:R?"outline":"default",onClick:P,disabled:!I||N,className:"text-xs",children:[(0,t.jsx)(m.ExternalLink,{className:"h-3.5 w-3.5 mr-1"}),N?"Waiting...":R?"Re-authorize":"Authorize with Google"]}),R&&(0,t.jsx)(p.CheckCircle2,{className:"inline-block ml-2 h-4 w-4 text-success"}),S&&(0,t.jsx)(c.Alert,{variant:"error",className:"mt-1",children:S}),!I&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Upload credentials first"})]})]}),!k?.connected&&I&&(T||R)&&(0,t.jsxs)(c.Alert,{variant:"warning",className:"mt-3",children:[T?"Service account configured.":"Authorized."," Restart the daemon to connect."]}),(0,t.jsxs)(d.Collapsible,{children:[(0,t.jsxs)(d.CollapsibleTrigger,{className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground mt-3",children:["Advanced setup notes ",(0,t.jsx)(u.ChevronDown,{className:"h-3 w-3"})]}),(0,t.jsx)(d.CollapsibleContent,{children:(0,t.jsxs)("div",{className:"mt-2 rounded bg-muted/50 p-2 space-y-1 text-xs",children:[(0,t.jsx)("p",{className:"font-medium text-muted-foreground",children:"Secrets are stored in the macOS Keychain."}),(0,t.jsx)("p",{className:"text-muted-foreground",children:"Use the upload button above for credentials JSON, then complete OAuth in the browser."}),(0,t.jsx)("p",{className:"text-muted-foreground mt-1",children:"Same credentials are used for Calendar and Gmail (scopes: calendar, gmail.modify, gmail.send)."}),(0,t.jsx)("p",{className:"text-muted-foreground",children:'Calendar ID defaults to "primary" and can be changed below.'})]})})]}),k?.configured&&(0,t.jsxs)("div",{className:"mt-3 pt-3 border-t border-border",children:[v&&(0,t.jsx)(c.Alert,{variant:v.type,className:"mb-2",children:v.message}),(0,t.jsx)(f.EditableField,{label:"Calendar ID",value:e.googleCalendarId,configKey:"googleCalendarId",description:'Use "primary" for your main calendar, or paste a full calendar ID (e.g. abc123@group.calendar.google.com) for a secondary or shared calendar.',onSave:w})]})]})}])},68399,e=>{"use strict";let t=(0,e.i(77379).default)("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);e.s(["EyeOff",0,t],68399)},68824,e=>{"use strict";let t=(0,e.i(77379).default)("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",0,t],68824)},71404,e=>{"use strict";var t=e.i(54710),a=e.i(34416),r=e.i(95486),n=e.i(88423),s=e.i(75187),i=e.i(67490),l=e.i(65268);async function o({build:e,queryClient:t,apiClient:a=l.api}){let r=(await a.get("/config")).notionDatabaseIds??{},n=e(r);try{let e=await a.patch("/config",{notionDatabaseIdsBase:r,notionDatabaseIds:n});return await Promise.all([t.invalidateQueries({queryKey:["config"]}),t.invalidateQueries({queryKey:["health"]})]),e}catch(e){throw e instanceof l.ApiError&&409===e.status&&await Promise.all([t.invalidateQueries({queryKey:["config"]}),t.invalidateQueries({queryKey:["health"]})]),e}}var c=e.i(20014),d=e.i(8652),u=e.i(79634),h=e.i(70986),p=e.i(16047),m=e.i(60168),x=e.i(90925),f=e.i(68824),g=e.i(68399),b=e.i(59546),y=e.i(15553),v=e.i(52387);e.i(18446);var w=e.i(5957);e.i(20870),e.s(["NotionDirectSettingsBody",0,function(){let{data:e}=(0,n.useConfig)(),{data:j}=(0,s.useHealth)(),k=(0,i.useIntegrations)(),N=(0,i.usePatchIntegration)(),C=(0,r.useQueryClient)(),[S,E]=(0,a.useState)(""),[A,I]=(0,a.useState)(!1),[R,T]=(0,a.useState)(!1),[D,P]=(0,a.useState)(!1),[M,L]=(0,a.useState)(null),[F,O]=(0,a.useState)(""),[_,B]=(0,a.useState)(""),[q,z]=(0,a.useState)(null),[$,U]=(0,a.useState)(""),[H,K]=(0,a.useState)(!1),[G,W]=(0,a.useState)(null),[Q,V]=(0,a.useState)(null),[Y,X]=(0,a.useState)(""),[J,Z]=(0,a.useState)(null);if(!e||!j)return null;let ee=!!e.notionConfigured,et=e.notionDatabaseIds??{},ea=k.data?.integrations.find(e=>"notion"===e.key),er=ea?.state.fetchTargets??[],en=async()=>{let e=S.trim();if(e){T(!0),L(null);try{await l.api.put("/secrets/notion",{apiKey:e}),C.invalidateQueries({queryKey:["config"]}),C.invalidateQueries({queryKey:["health"]}),P(!0),E("")}catch(e){L(e instanceof Error?e.message:"Failed to save")}finally{T(!1)}}},es=async e=>{K(!0),W(null),V(null);try{let t=await o({build:e,queryClient:C});t.requiresRestart?.length>0&&V("Restart daemon to apply changes.")}catch(e){W(e instanceof Error?e.message:"Failed to save")}finally{K(!1)}},ei=async()=>{let e=F.trim(),t=_.trim();e&&t&&(await es(a=>({...a,[e]:t})),O(""),B(""))},el=async e=>{await es(t=>{let{[e]:a,...r}=t;return r})},eo=async()=>{if(null===q)return;let e=$.trim();e&&e!==et[q]&&await es(t=>({...t,[q]:e})),z(null)},ec=async e=>{if(ea){Z(null);try{var t,a;await N.mutateAsync({key:"notion",body:(t=ea.state,a=e,{mode:t.mode,..."delegated"===t.mode&&t.delegatedBackend?{delegatedBackend:t.delegatedBackend}:{},..."native"===t.mode&&t.nativeBackend?{nativeBackend:t.nativeBackend}:{},fetchTargets:a})})}catch(e){Z(e instanceof Error?e.message:"Failed to save fetch targets")}}},ed=async()=>{let e=Y.trim();if(!e||!ea)return;let t=e.toLocaleLowerCase();er.some(e=>e.locator.toLocaleLowerCase()===t)?Z("That Notion target is already listed."):(await ec([...er,{label:e.slice(0,200),locator:e}]),X(""))},eu=async e=>{await ec(er.filter((t,a)=>a!==e))},eh=Object.entries(et);return(0,t.jsxs)(t.Fragment,{children:[ee&&(0,t.jsxs)("div",{className:"mt-3 rounded-md border border-border bg-muted/30 px-3 py-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(y.BookOpen,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Notion workspace"})]}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[eh.length," watched database",1===eh.length?"":"s"," · ",er.length," routine fetch target",1===er.length?"":"s"]})]}),(0,t.jsxs)("div",{className:"space-y-1.5 mt-3",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-foreground",children:"API Key"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsx)(d.Input,{type:A?"text":"password",value:S,onChange:e=>{E(e.target.value),P(!1)},placeholder:ee?"ntn_... (configured)":"ntn_...",className:"h-7 text-xs pr-8"}),(0,t.jsx)("button",{type:"button",onClick:()=>I(!A),className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:A?(0,t.jsx)(g.EyeOff,{className:"h-3.5 w-3.5"}):(0,t.jsx)(f.Eye,{className:"h-3.5 w-3.5"})})]}),(0,t.jsx)(c.Button,{size:"sm",variant:"outline",onClick:en,disabled:R||!S.trim(),className:"h-7 text-xs px-2 shrink-0",children:R?"...":"Save"}),(D||ee)&&(0,t.jsx)(b.CheckCircle2,{className:"h-4 w-4 text-success shrink-0"})]}),M&&(0,t.jsx)(u.Alert,{variant:"error",children:M})]}),(0,t.jsxs)("div",{className:"space-y-2 mt-3 border-t border-border pt-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-medium text-foreground",children:"Watched databases"}),(0,t.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"The daemon polls these databases for changes (direct mode). Label them so the agent can refer to each by name."})]}),eh.length>0&&(0,t.jsx)("div",{className:"space-y-1.5",children:eh.map(([e,a])=>(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)("span",{className:"font-medium text-foreground min-w-[60px]",children:e}),q===e?(0,t.jsx)(d.Input,{type:"text",value:$,onChange:e=>U(e.target.value),onBlur:()=>void eo(),onKeyDown:e=>{"Enter"===e.key&&eo(),"Escape"===e.key&&z(null)},autoFocus:!0,className:"h-6 text-xs font-mono flex-1"}):(0,t.jsx)("button",{type:"button",onClick:()=>{z(e),U(et[e]??"")},className:"text-muted-foreground font-mono truncate flex-1 text-left hover:text-foreground transition-colors",title:"Click to edit",children:a}),(0,t.jsx)("button",{type:"button",onClick:()=>el(e),disabled:H,className:"text-muted-foreground hover:text-destructive shrink-0",children:(0,t.jsx)(x.Trash2,{className:"h-3.5 w-3.5"})})]},e))}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Input,{type:"text",value:F,onChange:e=>O(e.target.value),placeholder:"Label (e.g. tasks)",className:"h-7 text-xs flex-[1]"}),(0,t.jsx)(d.Input,{type:"text",value:_,onChange:e=>B(e.target.value),placeholder:"Database ID",className:"h-7 text-xs flex-[2] font-mono",onKeyDown:e=>{"Enter"===e.key&&ei()}}),(0,t.jsx)(c.Button,{size:"sm",variant:"outline",onClick:ei,disabled:H||!F.trim()||!_.trim(),className:"h-7 text-xs px-2 shrink-0",children:(0,t.jsx)(m.Plus,{className:"h-3.5 w-3.5"})})]}),Q&&(0,t.jsx)(u.Alert,{variant:"warning",children:Q}),G&&(0,t.jsx)(u.Alert,{variant:"error",children:G})]}),(0,t.jsxs)("div",{className:"space-y-2 mt-3 border-t border-border pt-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-medium text-foreground",children:"Routine fetch targets"}),(0,t.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Autonomous Notion checks are limited to these pages. Use a page URL or page ID when possible; titles are matched best-effort."})]}),er.length>0&&(0,t.jsx)("div",{className:"space-y-1.5",children:er.map((e,a)=>(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)("span",{className:"truncate flex-1 text-foreground",title:e.locator,children:e.label}),(0,t.jsx)("button",{type:"button",onClick:()=>void eu(a),disabled:N.isPending,className:"text-muted-foreground hover:text-destructive shrink-0",children:(0,t.jsx)(x.Trash2,{className:"h-3.5 w-3.5"})})]},`${e.locator}-${a}`))}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Input,{type:"text",value:Y,onChange:e=>X(e.target.value),placeholder:"Notion page name, URL, or ID",maxLength:2e3,className:"h-7 text-xs flex-1",disabled:!ea||N.isPending,onKeyDown:e=>{"Enter"===e.key&&ed()}}),(0,t.jsx)(c.Button,{size:"sm",variant:"outline",onClick:ed,disabled:!ea||N.isPending||!Y.trim(),className:"h-7 text-xs px-2 shrink-0",children:(0,t.jsx)(m.Plus,{className:"h-3.5 w-3.5"})})]}),0===er.length&&(0,t.jsx)(u.Alert,{variant:"warning",children:"Notion routine fetches are skipped until at least one target is listed."}),er.length>10&&(0,t.jsx)(u.Alert,{variant:"warning",children:"Routine passes fetch at most 10 targets per window — entries beyond the first 10 are skipped each pass."}),J&&(0,t.jsx)(u.Alert,{variant:"error",children:J})]}),(0,t.jsxs)(h.Collapsible,{children:[(0,t.jsxs)(h.CollapsibleTrigger,{className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground mt-3",children:["Setup notes ",(0,t.jsx)(p.ChevronDown,{className:"h-3 w-3"})]}),(0,t.jsx)(h.CollapsibleContent,{children:(0,t.jsxs)("div",{className:"mt-2 rounded bg-muted/50 p-2 space-y-1 text-xs",children:[(0,t.jsxs)("p",{className:"text-muted-foreground",children:["Create an internal integration at"," ",(0,t.jsx)("a",{href:"https://www.notion.so/my-integrations",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-foreground",children:"notion.so/my-integrations"}),", enter the API key above, and share each target database with the integration. Then add the database mappings."]}),(0,t.jsxs)("p",{className:"text-muted-foreground",children:["The database ID is the 32-character hex string in the Notion URL (e.g. ",(0,t.jsx)("code",{className:"text-foreground",children:"notion.so/<workspace>/<database-id>"}),")."]}),w.INTEGRATION_DESCRIPTORS.notion.directSetup?.helpUrl&&(0,t.jsxs)("p",{className:"text-muted-foreground",children:["See Notion's official guide:"," ",(0,t.jsxs)("a",{href:w.INTEGRATION_DESCRIPTORS.notion.directSetup.helpUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 underline hover:text-foreground",children:["Create a Notion integration",(0,t.jsx)(v.ExternalLink,{className:"h-3 w-3"})]})]})]})})]})]})}],71404)},89480,33586,e=>{"use strict";var t=e.i(54710),a=e.i(34416),r=e.i(40807),n=e.i(12878),s=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 p({mimeType:e,className:a}){return e.startsWith("image/")?(0,t.jsx)(d,{className:a}):"application/pdf"===e?(0,t.jsx)(l.FileText,{className:a}):e.includes("spreadsheet")||"text/csv"===e||e.includes("excel")?(0,t.jsx)(u,{className:a}):(0,t.jsx)(c,{className:a})}function m({id:e,alt:r}){let[n,s]=(0,a.useState)(null),[i,l]=(0,a.useState)(!1);return((0,a.useEffect)(()=>{let t=!1,a=null;return(async()=>{try{let r=await fetch(`/api/chat/attachments/${e}`);if(!r.ok)throw Error(`status ${r.status}`);let n=await r.blob();if(t)return;a=URL.createObjectURL(n),s(a)}catch{t||l(!0)}})(),()=>{t=!0,a&&URL.revokeObjectURL(a)}},[e]),i)?null:n?(0,t.jsx)("img",{src:n,alt:r,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 x({attachment:e,isOwn:a}){var r;let n=`/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)(m,{id:e.id,alt:e.originalFilename}),(0,t.jsxs)("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:(0,s.cn)("inline-flex items-center gap-2 rounded-md border px-2 py-1 text-xs hover:bg-muted/40",a?"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)(p,{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:(r=e.sizeBytes)<1024?`${r} B`:r<1048576?`${(r/1024).toFixed(0)} KB`:`${(r/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 f({attachments:e,isOwn:a}){return 0===e.length?null:(0,t.jsx)("div",{className:"flex flex-col gap-2",children:e.map(e=>(0,t.jsx)(x,{attachment:e,isOwn:a},e.id))})}let g=[n.default],b={a:({children:e,href:a,...r})=>(0,t.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",...r,children:e})},y=(0,a.memo)(function({message:e,assistantLabel:a="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 n="user"===e.role;return(0,t.jsx)("div",{className:(0,s.cn)("flex",n?"justify-end":"justify-start"),children:(0,t.jsxs)("div",{className:"max-w-[80%] space-y-1",children:[!n&&(0,t.jsx)("p",{className:"px-1 text-[11px] font-medium text-muted-foreground",children:a}),e.content&&(0,t.jsx)("div",{className:(0,s.cn)("rounded-2xl px-4 py-2.5 text-sm",n?"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:n?e.content:(0,t.jsx)(r.default,{remarkPlugins:g,components:b,children:e.content})}),e.attachments&&e.attachments.length>0&&(0,t.jsx)("div",{className:"px-1",children:(0,t.jsx)(f,{attachments:e.attachments,isOwn:n})}),!n&&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,y],89480)},76,27779,e=>{"use strict";var t=e.i(34416),a=e.i(95486);function r({fetchedMessageCount:e,currentRestoredCount:t,currentLiveCount:a}){return e>0||t+a===0}function n(e){return`${e.role}\u0000${e.content}`}function s(e,t,a){let r=e.slice(-Math.max(t.length+4,4)),s=new Map;for(let e of r){let t=n(e);s.set(t,(s.get(t)??0)+1)}return t.filter(e=>{if("error"===e.role)return!0;if(e.id.startsWith("stream-")||e.timestamp.getTime()<=a)return!1;let t=n(e),r=s.get(t)??0;return!(r>0)||(s.set(t,r-1),!1)})}async function i(e,t){let a,r=t?.fetchImpl??fetch,n=[];for(;;){let s=await r(function(e,t){let a=new URLSearchParams({limit:String(200)});return void 0!==t&&a.set("before",String(t)),`/api/conversations/${e}/messages?${a.toString()}`}(e,a),{signal:t?.signal});if(!s.ok)throw Error(`Failed to load conversation ${e} history`);let i=await s.json();if(0===i.messages.length||(n.push(i.messages),!i.hasMore))break;let l=i.messages[0]?.id;if(!l||l===a)break;a=l}return n.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"}),a=await fetch(`/api/conversations?${t.toString()}`,{signal:e});if(!a.ok)throw Error("Failed to load active dashboard session");let r=await a.json(),n=r.conversations[0]?.id;return"number"==typeof n&&n>0?n:null}e.s(["fetchSessionMessages",0,u,"useChat",0,function({disableHistory:e=!1}={}){let n=(0,a.useQueryClient)(),[i,l]=(0,t.useState)([]),[p,m]=(0,t.useState)(!1),[x,f]=(0,t.useState)(!1),[g,b]=(0,t.useState)([]),[y,v]=(0,t.useState)(null),[w,j]=(0,t.useState)(!1),[k,N]=(0,t.useState)(0),[C,S]=(0,t.useState)([]),E=(0,t.useRef)(""),A=(0,t.useRef)(0),I=(0,t.useRef)(null),R=(0,t.useRef)(null),T=(0,t.useRef)([]),D=(0,t.useRef)([]),P=(0,t.useRef)(null),M=()=>`msg-${++A.current}`,L=(0,t.useCallback)((e,t)=>"string"==typeof e?.message?e.message:"string"==typeof e?.error?e.error:t,[]),F=(0,t.useCallback)(()=>{R.current&&(clearTimeout(R.current),R.current=null)},[]),O=(0,t.useCallback)(()=>{f(!0),F(),R.current=setTimeout(()=>{f(!1)},12e4)},[F]),_=(0,t.useCallback)(()=>{f(!1),F()},[F]),B=(0,t.useCallback)(e=>{"number"==typeof e?.resumeSessionId&&e.resumeSessionId>0?c(e.resumeSessionId):d(),E.current="",T.current=[],D.current=[],P.current=e?.resumeSessionId??null,_(),l([]),S([]),b([]),v(null),m(!1),j(!1),I.current&&(I.current.close(),I.current=null),N(e=>e+1)},[_]);(0,t.useEffect)(()=>{P.current=y?.sessionId??null},[y]),(0,t.useEffect)(()=>{T.current=i},[i]),(0,t.useEffect)(()=>{D.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}}(),a=new AbortController,n=new EventSource(t?`/api/chat/stream?sessionId=${t}`:"/api/chat/stream");I.current=n;let i=0;return e||h(a.signal).then(e=>{if(!e)return void d();c(e);let t=Date.now();return u(e,a.signal).then(e=>{r({fetchedMessageCount:e.length,currentRestoredCount:D.current.length,currentLiveCount:T.current.length})&&(S(e),l(a=>s(e,a,t)))})}).catch(()=>{}),n.onopen=()=>{i++,j(!0),i>1?console.debug("[chat] SSE reconnected"):console.debug("[chat] SSE connected")},n.onerror=()=>{j(!1),m(!1),_(),E.current="",console.warn("[chat] SSE connection lost — will auto-reconnect")},n.addEventListener("session_info",a=>{try{let n=JSON.parse(a.data),o="channelId"in n;v(e=>o?{...n}:{...e,...n}),!e&&("number"==typeof n.sessionId&&n.sessionId>0&&c(n.sessionId),t&&"channelId"in n&&!("sessionId"in n)&&d());let h=i>1,p="number"==typeof n.sessionId?n.sessionId:null;if(!e&&function({isInitialBinding:e,isReconnect:t,confirmedSessionId:a}){return null!==a&&(e||t)}({isInitialBinding:o,isReconnect:h,confirmedSessionId:p})&&null!==p){let e=Date.now();u(p).then(t=>{r({fetchedMessageCount:t.length,currentRestoredCount:D.current.length,currentLiveCount:T.current.length})&&(S(t),l(a=>s(t,a,e)))}).catch(()=>{})}}catch{}}),n.addEventListener("chat",e=>{try{let t=JSON.parse(e.data);l(e=>[...e,{id:M(),role:t.role,content:t.content,timestamp:new Date,...t.attachments&&t.attachments.length>0?{attachments:t.attachments.map(e=>({...e,direction:"outbound"}))}:{}}]),b([]),_()}catch{}}),n.addEventListener("chat_attachments",e=>{try{let{attachments:t}=JSON.parse(e.data);if(!Array.isArray(t)||0===t.length)return;l(e=>{for(let a=e.length-1;a>=0;a--)if("assistant"===e[a].role){let r=[...e];return r[a]={...r[a],attachments:t.map(e=>({...e,direction:"outbound"}))},r}return e})}catch{}}),n.addEventListener("chat_stream",e=>{try{let{chunk:t}=JSON.parse(e.data);m(!0),_(),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-${A.current}`,role:"assistant",content:E.current,timestamp:new Date}]})}catch{}}),n.addEventListener("stream_end",()=>{m(!1),E.current=""}),n.addEventListener("tool_progress",e=>{try{let t=JSON.parse(e.data);b(e=>{let a=e.findIndex(e=>e.tool===t.tool);if(a>=0){let r=[...e];return r[a]=t,r}return[...e,t]})}catch{}}),n.addEventListener("chat_meta",e=>{try{let t=JSON.parse(e.data);l(e=>{for(let a=e.length-1;a>=0;a--)if("assistant"===e[a].role){let r=[...e];return r[a]={...r[a],meta:t},r}return e});let a=P.current;if(a){let e=Date.now();u(a).then(t=>{r({fetchedMessageCount:t.length,currentRestoredCount:D.current.length,currentLiveCount:T.current.length})&&(S(t),l(a=>s(t,a,e)))}).catch(()=>{})}}catch{}}),n.addEventListener("chat_error",e=>{try{let{message:t}=JSON.parse(e.data);l(e=>[...e,{id:M(),role:"error",content:t,timestamp:new Date}]),m(!1),_()}catch{}}),n.addEventListener("ping",()=>{}),()=>{a.abort(),n.close(),I.current=null,j(!1),F()}},[_,F,k,e]);let q=(0,t.useCallback)(async(e,t)=>{if(y?.channelId){O(),l(a=>[...a,{id:M(),role:"user",content:e,timestamp:new Date,...t?.attachments&&t.attachments.length>0?{attachments:t.attachments.map(e=>({...e,direction:"inbound"}))}:{}}]);try{let a=await fetch("/api/chat/messages",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({channelId:y.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(!a.ok){let e=await a.json().catch(()=>null);l(t=>[...t,{id:M(),role:"error",content:L(e,"send failed"),timestamp:new Date}]),_()}}catch(t){let e=t instanceof TypeError?t.message:String(t);console.error("[chat] POST /api/chat/messages failed:",e),l(t=>[...t,{id:M(),role:"error",content:`Failed to send message: ${e}`,timestamp:new Date}]),_()}}},[L,y,O,_]),z=(0,t.useCallback)(async()=>{if(y?.channelId)try{let e=await fetch("/api/chat/end-session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({channelId:y.channelId})});if(!e.ok){let t=await e.json().catch(()=>null);l(e=>[...e,{id:M(),role:"error",content:L(t,"failed to end session"),timestamp:new Date}]);return}n.invalidateQueries({queryKey:["conversations"]}).catch(()=>{}),n.invalidateQueries({queryKey:["chat-current-binding"]}).catch(()=>{}),B()}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:M(),role:"error",content:`Failed to end session: ${e}`,timestamp:new Date}])}},[L,n,B,y]),$=(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:M(),role:"error",content:L(e,"failed to continue session"),timestamp:new Date}]),!1}let a=await t.json().catch(()=>null),r="number"==typeof a?.sessionId&&a.sessionId>0?a.sessionId:e;return n.invalidateQueries({queryKey:["conversations"]}).catch(()=>{}),n.invalidateQueries({queryKey:["chat-current-binding"]}).catch(()=>{}),B({resumeSessionId:r}),!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:M(),role:"error",content:`Failed to continue session: ${e}`,timestamp:new Date}]),!1}},[L,n,B]),U=w&&!!y?.channelId;return{messages:i,setMessages:l,restoredMessages:C,setRestoredMessages:S,streaming:p,waiting:x,busy:x||p,toolProgress:g,sessionInfo:y,sendMessage:q,endSession:z,continueSession:$,connected:w,ready:U}}],76)},34098,e=>{"use strict";var t=e.i(54710),a=e.i(99758),r=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 n="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:[n?(0,t.jsx)(a.Check,{className:"h-3 w-3 text-success"}):(0,t.jsx)(r.Loader2,{className:"h-3 w-3 animate-spin"}),(0,t.jsx)("span",{children:e.tool})]},e.tool)})})}])},53756,e=>{"use strict";var t=e.i(54710),a=e.i(34416);let r=(0,e.i(77379).default)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);var n=e.i(72740),s=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[p,m]=(0,a.useState)(""),x=(0,a.useRef)(null),f=(0,a.useRef)(null),[g,b]=(0,a.useState)(!1),{pending:y,ready:v,uploading:w,addFiles:j,remove:k,clear:N,error:C}=function(){let[e,t]=(0,a.useState)([]),[r,n]=(0,a.useState)(null),s=(0,a.useRef)(new Map),i=(0,a.useCallback)((e,a)=>{t(t=>t.map(t=>t.clientId===e?{...t,...a}:t))},[]),l=(0,a.useCallback)((e,t=0)=>e.reduce((e,t)=>e+t.sizeBytes,0)+t,[]),o=(0,a.useCallback)(e=>{let a=s.current.get(e);a&&(a.abort(),s.current.delete(e)),t(t=>t.filter(t=>t.clientId!==e)),t(t=>{let a=t.find(t=>t.clientId===e);return a?.serverId&&fetch(`/api/chat/attachments/${a.serverId}`,{method:"DELETE"}).catch(()=>{}),t})},[]),c=(0,a.useCallback)(()=>{for(let e of s.current.values())e.abort();s.current.clear(),t([]),n(null)},[]),d=(0,a.useCallback)(e=>{let t=new XMLHttpRequest;s.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(s.current.delete(e.clientId),t.status>=200&&t.status<300)try{let a=JSON.parse(t.responseText);i(e.clientId,{serverId:a.id,mimeType:a.mimeType,progress:100,status:"uploaded"})}catch{i(e.clientId,{status:"error",error:"Malformed response from server"})}else{let a=`Upload failed (${t.status})`;try{let e=JSON.parse(t.responseText);e.message&&(a=e.message)}catch{}i(e.clientId,{status:"error",error:a})}},t.onerror=()=>{s.current.delete(e.clientId),i(e.clientId,{status:"error",error:"Network error during upload"})};let a=new FormData;a.append("file",e.file,e.file.name),t.send(a)},[i]),u=(0,a.useCallback)(e=>{n(null);let a=Array.from(e);0!==a.length&&t(e=>{if(e.filter(e=>"uploading"===e.status).length+a.length>5)return n("At most 5 concurrent uploads"),e;let t=l(e),r=[];for(let e of a){let a=e.type.startsWith("image/")?5242880:0x1900000;if(e.size>a){n(`"${e.name}" is ${(e.size/1024/1024).toFixed(1)} MB — over the ${(a/1024/1024).toFixed(0)} MB limit`);continue}if(t+e.size>0x6400000){n("Per-turn cap is 100 MB — skipping the rest");break}t+=e.size;let s={clientId:`pending-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,serverId:null,file:e,progress:0,status:"uploading",sizeBytes:e.size};r.push(s)}for(let e of r)queueMicrotask(()=>d(e));return[...e,...r]})},[l,d]),h=e.some(e=>"uploading"===e.status),p=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:p,uploading:h,addFiles:u,remove:o,clear:c,error:r}}(),S=!c&&!w&&(p.trim().length>0||v.length>0),E=(0,a.useCallback)(()=>{S&&(e(p.trim(),v),m(""),N(),x.current&&(x.current.style.height="auto"))},[S,N,e,v,p]);return(0,a.useEffect)(()=>{let e=x.current;if(!e)return;let t=e=>{if(c)return;let t=e.clipboardData?.items;if(!t)return;let a=[];for(let e of t)if("file"===e.kind){let t=e.getAsFile();t&&a.push(t)}a.length>0&&(e.preventDefault(),j(a))};return e.addEventListener("paste",t),()=>e.removeEventListener("paste",t)},[j,c]),(0,t.jsxs)("div",{className:(0,o.cn)("border-t border-border bg-background px-4 pt-3 pb-4",g&&"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&&j(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)(n.Loader2,{className:"h-3 w-3 animate-spin"}),(0,t.jsx)("span",{children:d??"Agent is generating a response — please wait"})]}),y.length>0&&(0,t.jsx)("div",{className:"mb-2 flex flex-wrap gap-2",children:y.map(e=>{var a;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)(s.Paperclip,{className:"h-3 w-3 flex-shrink-0"}),(0,t.jsx)("span",{className:"max-w-[160px] truncate",title:e.file.name,children:e.file.name}),(0,t.jsx)("span",{className:"text-muted-foreground",children:(a=e.sizeBytes)<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(0)} KB`:`${(a/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:f,type:"file",multiple:!0,className:"hidden",onChange:e=>{var t;(t=e.target.files)&&0!==t.length&&j(t),e.target.value=""}}),(0,t.jsx)(l.Button,{type:"button",size:"icon",variant:"ghost",onClick:()=>f.current?.click(),disabled:c,"aria-label":"Attach files",title:"Attach files",children:(0,t.jsx)(s.Paperclip,{className:"h-4 w-4"})}),(0,t.jsx)("textarea",{ref:x,value:p,onChange:e=>m(e.target.value),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&(e.preventDefault(),E())},onInput:()=>{let e=x.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:!S,children:c||w?(0,t.jsx)(n.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(r,{className:"h-4 w-4"})})]})]})}],53756)},86567,6423,86704,29472,e=>{"use strict";var t=e.i(54710),a=e.i(34416),r=e.i(45958),n=e.i(52387),s=e.i(20014),i=e.i(90826),l=e.i(81187),o=e.i(89883),c=e.i(90925),d=e.i(65268),u=e.i(8652),h=e.i(48467),p=e.i(79634),m=e.i(81471),x=e.i(14260),f=e.i(95486);function g(e,t){return(0,x.useQuery)({queryKey:["mail-health",e],queryFn:()=>d.api.get(`/mail/${encodeURIComponent(e)}/health`),refetchInterval:1e4,enabled:t})}function b(){let e=(0,f.useQueryClient)();return()=>{e.invalidateQueries({queryKey:["mail-providers"]}),e.invalidateQueries({queryKey:["mail-accounts"]}),e.invalidateQueries({queryKey:["mail-health"]})}}async function y(e,t,a){let r=new Set(e);a?r.add(t):r.delete(t);let n=["gmail","outlook","yahoo","icloud"].filter(e=>r.has(e));return await d.api.patch("/mail/providers",{enabledKinds:n}),n}e.s(["toggleProviderEnabled",0,y,"useInvalidateMail",0,b,"useMailAccountHealth",0,g,"useMailAccounts",0,function(){return(0,x.useQuery)({queryKey:["mail-accounts"],queryFn:()=>d.api.get("/mail/accounts"),refetchInterval:1e4})},"useMailProviders",0,function(){return(0,x.useQuery)({queryKey:["mail-providers"],queryFn:()=>d.api.get("/mail/providers"),refetchInterval:3e4})}],6423);let v={healthy:{variant:"green",label:"Healthy"},requires_consent:{variant:"amber",label:"Re-authenticate"},degraded:{variant:"red",label:"Degraded"}};function w({account:e,highlight:r=!1,hideActive:n=!1,hideHealth:l=!1,onReauthenticate:u,isLastOfKind:m=!1,onAfterRemove:x}){let f=(0,a.useRef)(null),y=(0,i.useConfirm)(),N=b(),[C,S]=(0,a.useState)(!1),[E,A]=(0,a.useState)(null);(0,a.useEffect)(()=>{r&&f.current&&f.current.scrollIntoView({behavior:"smooth",block:"center"})},[r]);let I=g(e.id,!l).data??null,R="yahoo"===e.kind||"icloud"===e.kind,[T,D]=(0,a.useState)(!1),P=async()=>{A(null),S(!0);try{await d.api.patch(`/mail/accounts/${encodeURIComponent(e.id)}`,{active:!e.active}),N()}catch(e){A(e instanceof Error?e.message:"Failed to update")}finally{S(!1)}},M=async()=>{if(await y({title:`Remove ${e.email}?`,description:"Local credentials are revoked and the account is removed from this app. The mailbox itself is untouched at the provider."+(m?" This is the last account of its kind, so the provider will also be disabled — re-authenticate and toggle Enable to bring it back.":""),confirmLabel:"Remove",variant:"destructive"})){A(null),S(!0);try{await d.api.delete(`/mail/accounts/${encodeURIComponent(e.id)}`),x&&await x(),N()}catch(e){A(e instanceof Error?e.message:"Failed to remove")}finally{S(!1)}}},L=v[e.authStatus],F=l||!e.idleEnabled?null:I?.idleFallbackUntilUtc?{label:"polling (IDLE down)",variant:"amber"}:{label:"IDLE",variant:"green"};return(0,t.jsxs)("div",{ref:f,id:`account-${e.id}`,className:"rounded-md border p-3 transition-colors "+(r?"border-warning ring-1 ring-warning/40":"border-border"),children:[(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)(o.Mail,{className:"mt-0.5 h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-foreground truncate",children:e.email}),e.label&&(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",e.label,")"]}),(0,t.jsx)(h.Badge,{variant:L.variant,children:L.label}),F&&(0,t.jsx)(h.Badge,{variant:F.variant,children:F.label})]}),!l&&(0,t.jsx)(k,{health:I})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[!n&&(0,t.jsxs)("label",{className:"flex items-center gap-1 text-xs cursor-pointer select-none",children:[(0,t.jsx)("input",{type:"checkbox",checked:e.active,disabled:C,onChange:()=>void P(),className:"h-3.5 w-3.5 rounded border-border"}),"Active"]}),"requires_consent"===e.authStatus&&(R?(0,t.jsx)(s.Button,{size:"sm",variant:"outline",disabled:C,onClick:()=>D(e=>!e),className:"h-7 text-xs px-2",children:T?"Cancel":"Re-authenticate"}):u&&(0,t.jsx)(s.Button,{size:"sm",variant:"outline",disabled:C,onClick:()=>void u(),className:"h-7 text-xs px-2",children:"Re-authenticate"})),(0,t.jsx)(s.Button,{size:"sm",variant:"outline",onClick:()=>void M(),disabled:C,className:"h-7 px-2",title:"Remove account",children:(0,t.jsx)(c.Trash2,{className:"h-3.5 w-3.5"})})]})]}),E&&(0,t.jsx)(p.Alert,{variant:"error",className:"mt-2",children:E}),R&&T&&(0,t.jsx)(j,{accountId:e.id,onSuccess:()=>{D(!1),N()}})]})}function j({accountId:e,onSuccess:r}){let[n,i]=(0,a.useState)(""),[l,o]=(0,a.useState)(!1),[c,h]=(0,a.useState)(null),m=async()=>{o(!0),h(null);try{await d.api.post(`/config/mail/app-password/${encodeURIComponent(e)}/refresh`,{appPassword:n.trim()}),i(""),r()}catch(e){h(e instanceof Error?e.message:"Failed to refresh")}finally{o(!1)}};return(0,t.jsxs)("div",{className:"mt-2 rounded-md border border-warning/40 bg-warning/10 p-3 space-y-2",children:[(0,t.jsx)("p",{className:"text-xs text-foreground",children:"Generate a new app password at the provider, paste it here, and the daemon will swap it in place — the polling cursor and account ID stay intact."}),(0,t.jsx)(u.Input,{type:"password",value:n,onChange:e=>i(e.target.value),placeholder:"paste new app password",className:"h-8 text-xs"}),(0,t.jsx)("div",{className:"flex gap-2",children:(0,t.jsx)(s.Button,{size:"sm",onClick:()=>void m(),disabled:l||0===n.trim().length,className:"h-7 text-xs px-3",children:l?"Verifying…":"Update password"})}),c&&(0,t.jsx)(p.Alert,{variant:"error",children:c})]})}function k({health:e}){if(!e)return(0,t.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:"Waiting for first poll…"});let a=e.lastPollAtUtc,r=null!=a&&Date.now()-(0,m.parseUtcDate)(a).getTime()>9e5;return(0,t.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-muted-foreground",children:[(0,t.jsxs)("span",{children:["last poll:"," ",a?(0,t.jsxs)("span",{title:(0,m.formatAbsoluteTime)(a),className:r?"text-warning":void 0,children:[(0,m.formatRelativeTime)(a),r?" · stale":""]}):(0,t.jsx)("span",{children:"never"})]}),e.consecutiveErrorCount>0&&(0,t.jsxs)("span",{className:"text-warning",children:[e.consecutiveErrorCount," consecutive errors"]}),e.lastError&&(0,t.jsxs)("span",{className:"flex items-center gap-1 text-destructive max-w-full truncate",title:e.lastError,children:[(0,t.jsx)(l.AlertTriangle,{className:"h-3 w-3 shrink-0"}),e.lastError]})]})}var N=e.i(74490),C=e.i(57628);let S={"not-connected":{variant:"gray",label:"Not connected"},"needs-setup":{variant:"gray",label:"Needs setup"},disabled:{variant:"amber",label:"Ready to enable"},enabled:{variant:"green",label:"Enabled"},attention:{variant:"red",label:"Needs attention"}};function E(e){return e.accounts.some(e=>"healthy"!==e.authStatus)?"attention":0===e.accounts.length?e.awaitingProviderSetup?"needs-setup":"not-connected":e.enabled?"enabled":"disabled"}function A(e){let a=S[e.status],r="attention"===e.status?"warning":"enabled"===e.status?"success":"default";return(0,t.jsxs)(N.Card,{tone:r,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)(o.Mail,{className:"h-4 w-4 text-muted-foreground shrink-0"}),(0,t.jsx)("h3",{className:"text-base font-semibold text-foreground truncate",children:e.name})]}),(0,t.jsx)(h.Badge,{variant:a.variant,children:a.label})]}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e.description}),(0,t.jsx)("div",{className:"mt-3 space-y-3",children:e.setupSection}),e.accountsSection&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(C.Separator,{className:"my-4"}),(0,t.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground mb-2",children:"Authenticated accounts"}),(0,t.jsx)("div",{className:"space-y-2",children:e.accountsSection})]}),(0,t.jsx)(C.Separator,{className:"my-4"}),(0,t.jsx)(I,{toggle:e.enableToggle})]})}function I({toggle:e}){let[r,n]=(0,a.useState)(null),s=async t=>{n(null);try{await e.onChange(t)}catch(e){n(e instanceof Error?e.message:"Failed to update")}};return(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm select-none "+(e.disabled||e.busy?"cursor-not-allowed opacity-60":"cursor-pointer"),title:e.disabled?e.disabledReason:void 0,children:[(0,t.jsx)("input",{type:"checkbox",checked:e.enabled,disabled:e.disabled||e.busy,onChange:e=>void s(e.target.checked),className:"h-4 w-4 rounded border-border"}),(0,t.jsx)("span",{className:"font-medium text-foreground",children:"Enable for the agent"}),e.busy&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"saving…"})]}),e.disabled&&e.disabledReason&&(0,t.jsx)("p",{className:"mt-1 ml-6 text-xs text-muted-foreground",children:e.disabledReason}),!e.disabled&&e.explainer&&(0,t.jsx)("p",{className:"mt-1 ml-6 text-xs text-muted-foreground",children:e.explainer}),r&&(0,t.jsx)(p.Alert,{variant:"error",className:"mt-2",children:r})]})}e.s(["GmailCard",0,function({accounts:e,enabledKinds:l,focusAccountId:o,hideExternalGoogleLink:c=!1}){let d=b(),u=(0,i.useConfirm)(),[h,p]=(0,a.useState)(!1),m=l.includes("gmail"),x=E({accounts:e,enabled:m}),f=async e=>{if(e||await u({title:"Disable Gmail for the agent?",description:"This stops the unified mail poller from observing Gmail — receipts, travel bookings, and Kindle highlights will not be classified until you re-enable Gmail. Tokens stay in the keychain and the integration resumes the moment you flip the switch back on.",confirmLabel:"Disable Gmail",variant:"destructive"})){p(!0);try{await y(l,"gmail",e),d()}finally{p(!1)}}};return(0,t.jsx)(A,{name:"Gmail / Google Workspace",description:(0,t.jsx)(t.Fragment,{children:"Authenticated through your existing Google connection (it is shared with Calendar). Manage Google OAuth on the Connections page."}),status:x,setupSection:0===e.length?(0,t.jsxs)("div",{className:"rounded-md border border-dashed border-border p-3 text-xs",children:[(0,t.jsx)("p",{className:"text-foreground font-medium mb-1",children:"No Gmail account connected yet."}),(0,t.jsx)("p",{className:"text-muted-foreground mb-2",children:c?"Switch the Mode above to Direct and complete the Google connection step on this page — the daemon detects your Gmail address from the OAuth response and registers it here.":"Authenticate Google in Connections — the daemon detects your Gmail address from the OAuth response and registers it here."}),!c&&(0,t.jsx)(r.default,{href:"/connections/calendar#google",children:(0,t.jsxs)(s.Button,{size:"sm",variant:"outline",className:"h-7 text-xs px-3",children:["Open Google connection",(0,t.jsx)(n.ExternalLink,{className:"ml-1 h-3 w-3"})]})})]}):c?null:(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Re-authentication, scope changes, or revoking access live on the"," ",(0,t.jsx)(r.default,{href:"/connections/calendar#google",className:"underline underline-offset-2",children:"Google connection card"}),"."]}),accountsSection:e.length>0?e.map(a=>(0,t.jsx)(w,{account:a,highlight:o===a.id,hideActive:!0,hideHealth:!0,isLastOfKind:1===e.length,onAfterRemove:async()=>{1===e.length&&m&&await y(l,"gmail",!1)}},a.id)):void 0,enableToggle:{enabled:m,disabled:0===e.length,disabledReason:0===e.length?"Connect a Google account first.":void 0,busy:h,onChange:f,explainer:"When enabled, the legacy Gmail poller observes your inbox and the agent can read, draft, and send messages."}})}],86567),e.i(18446);var R=e.i(49445);function T({index:e,title:a,completed:r=!1,disabled:n=!1,children:s}){return(0,t.jsxs)("div",{className:"rounded-md border border-dashed p-3 "+(n?"border-border opacity-50":r?"border-success/40":"border-border"),children:[(0,t.jsxs)("p",{className:"text-xs font-semibold text-foreground mb-2",children:["Step ",e,": ",a,r&&(0,t.jsx)("span",{className:"ml-2 text-success",children:"✓"})]}),s]})}e.s(["OutlookCard",0,function({accounts:e,enabledKinds:r,focusAccountId:l}){let o=b(),c=(0,i.useConfirm)(),h=r.includes("outlook"),m=(0,x.useQuery)({queryKey:["outlook-client-config"],queryFn:()=>d.api.get("/config/mail/outlook/client-config"),staleTime:3e4}),f=m.data?.configured===!0,g=E({accounts:e,enabled:h,awaitingProviderSetup:!f}),[v,j]=(0,a.useState)(!1),[k,N]=(0,a.useState)(""),[C,S]=(0,a.useState)("common"),[I,D]=(0,a.useState)(""),[P,M]=(0,a.useState)(!1),[L,F]=(0,a.useState)(null),[O,_]=(0,a.useState)(null),[B,q]=(0,a.useState)(null),[z,$]=(0,a.useState)(!1),U=async e=>{$(!0);try{await y(r,"outlook",e),o()}finally{$(!1)}},H=async()=>{M(!0),F(null);try{await d.api.put("/config/mail/outlook/client-config",{clientId:k.trim(),tenant:C.trim()||"common"}),await m.refetch(),j(!1)}catch(e){F(e instanceof Error?e.message:"Failed to save client config")}finally{M(!1)}},K=async()=>{if(await c({title:"Reset Azure app registration?",description:"Existing Outlook accounts keep working until their tokens expire. You'll need to re-enter the client ID before adding new accounts.",confirmLabel:"Reset",variant:"destructive"})){M(!0),F(null);try{await d.api.delete("/config/mail/outlook/client-config"),await m.refetch()}catch(e){F(e instanceof Error?e.message:"Failed to reset")}finally{M(!1)}}},G=async()=>{if(await c({title:"Open Microsoft sign-in?",description:"The daemon will open your browser to sign in to Microsoft. macOS or Windows may show a one-time firewall prompt — accept it so the loopback callback can complete.",confirmLabel:"Continue"})){M(!0),F(null),_(null);try{await d.api.post("/mail/accounts",{kind:"outlook",label:I.trim()||void 0}),_("Outlook account authenticated. Toggle the switch below to start using it."),D(""),o()}catch(e){F(e instanceof Error?e.message:"OAuth failed")}finally{M(!1)}}},W=async()=>{M(!0),F(null),_(null),q(null);try{let e=await fetch("/api/mail/accounts/device-code",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({kind:"outlook",label:I.trim()||void 0})});if(!e.ok||!e.body)throw Error(`HTTP ${e.status}`);let t=e.body.getReader(),a=new TextDecoder,r="";for(;;){let{value:e,done:n}=await t.read();if(n)break;let s=(r+=a.decode(e,{stream:!0})).split("\n\n");for(let e of(r=s.pop()??"",s)){let t=e.split("\n"),a="",r="";for(let e of t)e.startsWith("event:")&&(a=e.slice(6).trim()),e.startsWith("data:")&&(r+=e.slice(5).trim());if(a){if("prompt"===a)q(JSON.parse(r));else if("completed"===a)_("Outlook account authenticated. Toggle the switch below to start using it."),q(null),D(""),o();else if("failed"===a){let e=JSON.parse(r);throw Error(e.message??"device-code failed")}}}}}catch(e){F(e instanceof Error?e.message:"Device-code OAuth failed"),q(null)}finally{M(!1)}},Q=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(T,{index:1,title:"Register an Azure app (one-time)",completed:f,children:[!f&&!v&&(0,t.jsxs)("div",{className:"space-y-3 text-xs",children:[(0,t.jsxs)("p",{className:"text-muted-foreground",children:["One-time setup: you'll tell Microsoft that the ",R.APP_NAME,"daemon on your computer is allowed to read and send mail on your behalf. Follow every sub-step — two of them are easy to miss and will make sign-in fail with ",(0,t.jsx)("code",{children:"server_error"})," later."]}),(0,t.jsxs)("ol",{className:"list-decimal list-outside pl-4 space-y-2 text-muted-foreground",children:[(0,t.jsxs)("li",{children:["Open the"," ",(0,t.jsxs)("a",{href:"https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade",target:"_blank",rel:"noreferrer",className:"underline inline-flex items-center gap-0.5",children:["Azure portal — App registrations"," ",(0,t.jsx)(n.ExternalLink,{className:"h-3 w-3"})]}),". Sign in with the Microsoft account you want the agent to use."]}),(0,t.jsxs)("li",{children:["Click ",(0,t.jsx)("strong",{children:"+ New registration"})," at the top of the page."]}),(0,t.jsxs)("li",{children:["Fill in the form:",(0,t.jsxs)("ul",{className:"list-disc list-outside pl-4 mt-1 space-y-1",children:[(0,t.jsxs)("li",{children:[(0,t.jsx)("strong",{children:"Name"}),": anything, e.g. ",(0,t.jsx)("code",{children:R.APP_NAME}),"."]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("strong",{children:"Supported account types"}),": pick"," ",(0,t.jsx)("em",{children:"Accounts in any organizational directory (Any Microsoft Entra ID tenant – Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)"}),"."]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("strong",{children:"Redirect URI"}),": in the left-hand dropdown choose ",(0,t.jsx)("code",{children:"Public client/native (mobile & desktop)"})," ",(0,t.jsx)("strong",{children:"— not"})," ",(0,t.jsx)("code",{children:"Web"}),". Then type"," ",(0,t.jsx)("code",{children:"http://127.0.0.1/callback"})," in the box on the right."]})]}),(0,t.jsxs)("p",{className:"mt-1 rounded-md border border-warning/40 bg-warning/10 px-2 py-1 text-warning",children:["⚠ Trap #1: if you leave ",(0,t.jsx)("code",{children:"Web"})," selected, Microsoft will later return ",(0,t.jsx)("code",{children:"Authorization failed: server_error"}),". Use the Public client/native option."]})]}),(0,t.jsxs)("li",{children:["Click ",(0,t.jsx)("strong",{children:"Register"})," at the bottom of the form."]}),(0,t.jsxs)("li",{children:["You'll land on the ",(0,t.jsx)("em",{children:"Overview"})," page. Copy the value labelled ",(0,t.jsx)("strong",{children:"Application (client) ID"}),"— you'll paste it into the form below in a moment."]}),(0,t.jsxs)("li",{children:["In the left sidebar click ",(0,t.jsx)("strong",{children:"Authentication"}),". Scroll to the very bottom, find ",(0,t.jsx)("em",{children:"Advanced settings"})," →"," ",(0,t.jsx)("strong",{children:"Allow public client flows"}),", flip the toggle to"," ",(0,t.jsx)("strong",{children:"Yes"}),", then click ",(0,t.jsx)("strong",{children:"Save"})," at the top of the page.",(0,t.jsxs)("p",{className:"mt-1 rounded-md border border-warning/40 bg-warning/10 px-2 py-1 text-warning",children:["⚠ Trap #2: this toggle is off by default. Without it sign-in also fails with ",(0,t.jsx)("code",{children:"server_error"}),"."]})]}),(0,t.jsxs)("li",{children:["In the left sidebar click ",(0,t.jsx)("strong",{children:"API permissions"})," →"," ",(0,t.jsx)("strong",{children:"+ Add a permission"})," →"," ",(0,t.jsx)("strong",{children:"Microsoft Graph"})," →"," ",(0,t.jsx)("strong",{children:"Delegated permissions"}),". Use the search box to find and tick each of:",(0,t.jsxs)("ul",{className:"list-disc list-outside pl-4 mt-1",children:[(0,t.jsx)("li",{children:(0,t.jsx)("code",{children:"offline_access"})}),(0,t.jsx)("li",{children:(0,t.jsx)("code",{children:"User.Read"})}),(0,t.jsx)("li",{children:(0,t.jsx)("code",{children:"Mail.ReadWrite"})}),(0,t.jsx)("li",{children:(0,t.jsx)("code",{children:"Mail.Send"})})]}),"Then click ",(0,t.jsx)("strong",{children:"Add permissions"})," at the bottom."]}),(0,t.jsxs)("li",{children:["(Work/school tenant only) If your org requires admin consent for these scopes, click ",(0,t.jsx)("strong",{children:"Grant admin consent"}),". Personal Microsoft accounts don't need this step."]}),(0,t.jsxs)("li",{children:["Come back here and click ",(0,t.jsx)("strong",{children:"I have a client ID"}),". Paste the Application (client) ID you copied in step 5; leave Tenant as ",(0,t.jsx)("code",{children:"common"})," unless your admin told you otherwise."]})]}),(0,t.jsx)(s.Button,{size:"sm",variant:"outline",onClick:()=>j(!0),className:"h-7 text-xs px-3",children:"I have a client ID"})]}),v&&(0,t.jsxs)("div",{className:"space-y-2 rounded-md border border-border p-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:"outlook-client-id",children:"Application (client) ID"}),(0,t.jsx)(u.Input,{id:"outlook-client-id",value:k,onChange:e=>N(e.target.value),placeholder:"00000000-0000-0000-0000-000000000000",className:"h-8 text-xs"})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:"outlook-tenant",children:["Tenant (default ",(0,t.jsx)("code",{children:"common"}),")"]}),(0,t.jsx)(u.Input,{id:"outlook-tenant",value:C,onChange:e=>S(e.target.value),placeholder:"common / organizations / <tenant-guid>",className:"h-8 text-xs"})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(s.Button,{size:"sm",variant:"outline",onClick:()=>void H(),disabled:P||0===k.trim().length,className:"h-7 text-xs px-3",children:P?"Saving…":"Save"}),(0,t.jsx)(s.Button,{size:"sm",variant:"outline",onClick:()=>j(!1),disabled:P,className:"h-7 text-xs px-3",children:"Cancel"})]})]}),f&&!v&&(0,t.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Application ID:"," ",(0,t.jsx)("code",{className:"font-mono",children:m.data?.clientId})," ","(tenant ",(0,t.jsx)("code",{children:m.data?.tenant}),")."," ",(0,t.jsx)("button",{type:"button",className:"underline",onClick:()=>void K(),disabled:P,children:"reset"})]})]}),(0,t.jsx)(T,{index:2,title:"Authenticate an Outlook account",disabled:!f,children:f?(0,t.jsxs)("div",{className:"space-y-2 rounded-md border border-border p-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:"outlook-label",children:"Label (optional)"}),(0,t.jsx)(u.Input,{id:"outlook-label",value:I,onChange:e=>D(e.target.value),placeholder:"work, personal, …",className:"h-8 text-xs"})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(s.Button,{size:"sm",onClick:()=>void G(),disabled:P,className:"h-7 text-xs px-3",children:P?"Waiting for consent…":"Authenticate (browser)"}),(0,t.jsx)(s.Button,{size:"sm",variant:"outline",onClick:()=>void W(),disabled:P,className:"h-7 text-xs px-3",title:"Use if the daemon runs headless (SSH / WSL)",children:"Authenticate (device code)"})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"The browser flow may trigger a one-time macOS / Windows firewall prompt — accept it so the loopback callback can complete."})]}):(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Save the client ID first."})}),B&&(0,t.jsx)(p.Alert,{variant:"warning",children:(0,t.jsxs)("div",{className:"text-xs",children:["Visit"," ",(0,t.jsx)("a",{href:B.verificationUri,target:"_blank",rel:"noreferrer",className:"underline",children:B.verificationUri})," ","and enter code"," ",(0,t.jsx)("code",{className:"font-mono",children:B.userCode}),". Expires in ",Math.round(B.expiresIn/60)," min."]})}),O&&(0,t.jsx)(p.Alert,{variant:"success",children:O}),L&&(0,t.jsx)(p.Alert,{variant:"error",children:L})]});return(0,t.jsx)(A,{name:"Outlook / Microsoft 365",description:(0,t.jsx)(t.Fragment,{children:"One-time Azure app registration, then connect as many Outlook / outlook.com / Microsoft 365 accounts as you need."}),status:g,setupSection:Q,accountsSection:e.length>0?e.map(a=>(0,t.jsx)(w,{account:a,highlight:l===a.id,onReauthenticate:()=>void G(),isLastOfKind:1===e.length,onAfterRemove:async()=>{1===e.length&&h&&await y(r,"outlook",!1)}},a.id)):void 0,enableToggle:{enabled:h,disabled:0===e.length,disabledReason:0===e.length?"Authenticate an Outlook account first.":void 0,busy:z,onChange:U,explainer:"When enabled, the agent observes your Outlook inbox via Microsoft Graph and can read, draft, and send messages."}})}],86704);let D={yahoo:{name:"Yahoo Mail",description:"App-password login over IMAP/SMTP. Generate the password in Yahoo Account Security, paste it once, and the daemon stores it in the OS keychain.",setupUrl:"https://login.yahoo.com/account/security",setupLabel:"Yahoo Account Security",passwordLabel:"Yahoo app password",defaultDomain:"yahoo.com",prerequisite:"Yahoo requires two-step verification on the account before it lets you create app passwords. If you haven't enabled it yet, turn it on first from the same Account Security page.",passwordSteps:[(0,t.jsxs)(t.Fragment,{children:["Open the"," ",(0,t.jsx)("strong",{children:"Yahoo Account Security"})," page and sign in with the Yahoo account you want to connect."]}),(0,t.jsxs)(t.Fragment,{children:["Scroll to ",(0,t.jsx)("strong",{children:"Other ways to sign in"})," and click"," ",(0,t.jsx)("strong",{children:"Generate and manage app passwords"}),". (If the link is missing, enable two-step verification first.)"]}),(0,t.jsxs)(t.Fragment,{children:["In the ",(0,t.jsx)("em",{children:"App name"})," field type ",(0,t.jsx)("code",{children:R.APP_NAME})," (any name works; this is just a label Yahoo shows in your account), then click ",(0,t.jsx)("strong",{children:"Generate password"}),"."]}),(0,t.jsxs)(t.Fragment,{children:["Yahoo shows a 16-character password with spaces. Copy it exactly as shown — ",(0,t.jsx)("strong",{children:"do not type it by hand"}),". Spaces are part of the password."]}),(0,t.jsx)(t.Fragment,{children:"Paste it into the password field below, then click Authenticate."})],passwordHint:"16 characters from Yahoo, spaces included. Do not retype — paste."},icloud:{name:"iCloud Mail",description:"App-specific-password login over IMAP/SMTP. Create the password in Apple Account → Sign-In and Security, paste it once, and the daemon stores it in the OS keychain.",setupUrl:"https://account.apple.com",setupLabel:"Apple Account",passwordLabel:"Apple app-specific password",defaultDomain:"icloud.com",prerequisite:"Apple only allows app-specific passwords on Apple IDs that have two-factor authentication turned on. If your Apple ID doesn't have 2FA yet, enable it first at appleid.apple.com.",passwordSteps:[(0,t.jsxs)(t.Fragment,{children:["Open ",(0,t.jsx)("strong",{children:"Apple Account"})," and sign in with the Apple ID whose iCloud mailbox you want to connect."]}),(0,t.jsxs)(t.Fragment,{children:["In the left sidebar click ",(0,t.jsx)("strong",{children:"Sign-In and Security"}),", then click ",(0,t.jsx)("strong",{children:"App-Specific Passwords"}),"."]}),(0,t.jsxs)(t.Fragment,{children:["Click ",(0,t.jsx)("strong",{children:"+ Generate an app-specific password"}),". Apple may ask you to re-enter your Apple ID password."]}),(0,t.jsxs)(t.Fragment,{children:["In the label field type ",(0,t.jsx)("code",{children:R.APP_NAME})," (any name works), then click ",(0,t.jsx)("strong",{children:"Create"}),"."]}),(0,t.jsxs)(t.Fragment,{children:["Apple shows a 19-character password in the form"," ",(0,t.jsx)("code",{children:"xxxx-xxxx-xxxx-xxxx"}),". Copy it exactly —"," ",(0,t.jsx)("strong",{children:"the dashes are required"}),"."]}),(0,t.jsx)(t.Fragment,{children:"Paste it into the password field below, then click Authenticate."})],passwordHint:"Format: xxxx-xxxx-xxxx-xxxx. Dashes are required — paste, don't retype."}};e.s(["ImapCard",0,function({kind:e,accounts:r,enabledKinds:i,focusAccountId:l}){let o=b(),c=D[e],h=i.includes(e),m=E({accounts:r,enabled:h}),[x,f]=(0,a.useState)(""),[g,v]=(0,a.useState)(""),[j,k]=(0,a.useState)(""),[N,C]=(0,a.useState)(!1),[S,I]=(0,a.useState)(null),[R,T]=(0,a.useState)(null),[P,M]=(0,a.useState)(!1),L=async t=>{M(!0);try{await y(i,e,t),o()}finally{M(!1)}},F=async()=>{C(!0),I(null),T(null);try{await d.api.post("/config/mail/app-password",{kind:e,email:`${x.trim()}@${c.defaultDomain}`,appPassword:g.trim(),label:j.trim()||void 0}),T(`${c.name} authenticated. Toggle the switch below to start using it.`),f(""),v(""),k(""),o()}catch(e){I(e instanceof Error?e.message:"Failed to connect")}finally{C(!1)}},O=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"rounded-md border border-dashed border-border p-3 text-xs space-y-2",children:[(0,t.jsx)("p",{className:"text-foreground font-medium",children:"Step 1: Generate an app password"}),(0,t.jsxs)("p",{className:"text-muted-foreground",children:[c.prerequisite," ",(0,t.jsxs)("a",{href:c.setupUrl,target:"_blank",rel:"noreferrer",className:"underline inline-flex items-center gap-0.5",children:["Open ",c.setupLabel," ",(0,t.jsx)(n.ExternalLink,{className:"h-3 w-3"})]}),"."]}),(0,t.jsx)("ol",{className:"list-decimal list-outside pl-4 space-y-1 text-muted-foreground",children:c.passwordSteps.map((e,a)=>(0,t.jsx)("li",{children:e},a))})]}),(0,t.jsxs)("div",{className:"rounded-md border border-border p-3 space-y-2",children:[(0,t.jsx)("p",{className:"text-xs font-semibold text-foreground",children:"Step 2: Authenticate the account"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:`${e}-email`,children:"Account email"}),(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsx)(u.Input,{id:`${e}-email`,value:x,onChange:e=>f(e.target.value),placeholder:"username",className:"h-8 text-xs rounded-r-none"}),(0,t.jsxs)("span",{className:"inline-flex h-8 items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-xs text-muted-foreground select-none",children:["@",c.defaultDomain]})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:`${e}-app-password`,children:c.passwordLabel}),(0,t.jsx)(u.Input,{id:`${e}-app-password`,type:"password",value:g,onChange:e=>v(e.target.value),placeholder:"paste generated password",className:"h-8 text-xs"}),(0,t.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:c.passwordHint})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:`${e}-label`,children:"Label (optional)"}),(0,t.jsx)(u.Input,{id:`${e}-label`,value:j,onChange:e=>k(e.target.value),placeholder:"personal, family, …",className:"h-8 text-xs"})]}),(0,t.jsx)(s.Button,{size:"sm",onClick:()=>void F(),disabled:N||0===x.trim().length||0===g.trim().length,className:"h-7 text-xs px-3",children:N?"Authenticating…":"Authenticate"})]}),R&&(0,t.jsx)(p.Alert,{variant:"success",children:R}),S&&(0,t.jsx)(p.Alert,{variant:"error",children:S})]});return(0,t.jsx)(A,{name:c.name,description:c.description,status:m,setupSection:O,accountsSection:r.length>0?r.map(a=>(0,t.jsx)(w,{account:a,highlight:l===a.id,isLastOfKind:1===r.length,onAfterRemove:async()=>{1===r.length&&h&&await y(i,e,!1)}},a.id)):void 0,enableToggle:{enabled:h,disabled:0===r.length,disabledReason:0===r.length?`Authenticate a ${c.name} account first.`:void 0,busy:P,onChange:L,explainer:`When enabled, the agent observes your ${c.name} inbox via IMAP IDLE and can read, draft, and send messages.`}})}],29472)}]);