@aitne/dashboard 0.1.9 → 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 (1082) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +7 -9
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/diagnostics/route-bundle-stats.json +595 -643
  5. package/.next/fallback-build-manifest.json +3 -3
  6. package/.next/prerender-manifest.json +57 -105
  7. package/.next/routes-manifest.json +30 -42
  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 +30 -27
  33. package/.next/server/app/activity.segments/_full.segment.rsc +30 -27
  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 +21 -20
  65. package/.next/server/app/analytics.segments/_full.segment.rsc +21 -20
  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/{routines → 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/{connections.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/{schedule → hours}/page.js +6 -6
  369. package/.next/server/app/settings/{backends → 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/infrastructure/page.js +16 -0
  385. package/.next/server/app/settings/{messaging → 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/infrastructure.meta +16 -0
  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/app-paths-manifest.json +3 -0
  441. package/.next/server/app/settings/lessons/page/next-font-manifest.json +8 -0
  442. package/.next/server/app/settings/lessons/page/react-loadable-manifest.json +8 -0
  443. package/.next/server/app/settings/{journal → lessons}/page.js +6 -6
  444. package/.next/server/app/settings/{journal → lessons}/page.js.nft.json +1 -1
  445. package/.next/server/app/settings/lessons/page_client-reference-manifest.js +3 -0
  446. package/.next/server/app/settings/lessons.html +1 -0
  447. package/.next/server/app/settings/{backends.meta → lessons.meta} +3 -3
  448. package/.next/server/app/settings/lessons.rsc +28 -0
  449. package/.next/server/app/settings/lessons.segments/_full.segment.rsc +28 -0
  450. package/.next/server/app/settings/lessons.segments/_head.segment.rsc +6 -0
  451. package/.next/server/app/settings/lessons.segments/_index.segment.rsc +11 -0
  452. package/.next/server/app/settings/lessons.segments/_tree.segment.rsc +3 -0
  453. package/.next/server/app/settings/lessons.segments/settings/lessons/__PAGE__.segment.rsc +9 -0
  454. package/.next/server/app/settings/lessons.segments/settings/lessons.segment.rsc +5 -0
  455. package/.next/server/app/settings/lessons.segments/settings.segment.rsc +5 -0
  456. package/.next/server/app/settings/management/page/next-font-manifest.json +4 -2
  457. package/.next/server/app/settings/management/page/react-loadable-manifest.json +1 -1
  458. package/.next/server/app/settings/management/page.js.nft.json +1 -1
  459. package/.next/server/app/settings/management/page_client-reference-manifest.js +1 -1
  460. package/.next/server/app/settings/management.html +1 -1
  461. package/.next/server/app/settings/management.rsc +19 -18
  462. package/.next/server/app/settings/management.segments/_full.segment.rsc +19 -18
  463. package/.next/server/app/settings/management.segments/_head.segment.rsc +4 -4
  464. package/.next/server/app/settings/management.segments/_index.segment.rsc +10 -10
  465. package/.next/server/app/settings/management.segments/_tree.segment.rsc +3 -2
  466. package/.next/server/app/settings/management.segments/settings/management/__PAGE__.segment.rsc +4 -4
  467. package/.next/server/app/settings/management.segments/settings/management.segment.rsc +3 -3
  468. package/.next/server/app/settings/management.segments/settings.segment.rsc +4 -4
  469. package/.next/server/app/settings/models/page/next-font-manifest.json +4 -2
  470. package/.next/server/app/settings/models/page/react-loadable-manifest.json +1 -1
  471. package/.next/server/app/settings/models/page.js.nft.json +1 -1
  472. package/.next/server/app/settings/models/page_client-reference-manifest.js +1 -1
  473. package/.next/server/app/settings/models.html +1 -1
  474. package/.next/server/app/settings/models.rsc +19 -18
  475. package/.next/server/app/settings/models.segments/_full.segment.rsc +19 -18
  476. package/.next/server/app/settings/models.segments/_head.segment.rsc +4 -4
  477. package/.next/server/app/settings/models.segments/_index.segment.rsc +10 -10
  478. package/.next/server/app/settings/models.segments/_tree.segment.rsc +3 -2
  479. package/.next/server/app/settings/models.segments/settings/models/__PAGE__.segment.rsc +4 -4
  480. package/.next/server/app/settings/models.segments/settings/models.segment.rsc +3 -3
  481. package/.next/server/app/settings/models.segments/settings.segment.rsc +4 -4
  482. package/.next/server/app/settings/page/next-font-manifest.json +4 -2
  483. package/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
  484. package/.next/server/app/settings/page.js.nft.json +1 -1
  485. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  486. package/.next/server/app/settings/safety/page/app-paths-manifest.json +3 -0
  487. package/.next/server/app/settings/safety/page/next-font-manifest.json +8 -0
  488. package/.next/server/app/settings/safety/page/react-loadable-manifest.json +8 -0
  489. package/.next/server/app/settings/{advanced → safety}/page.js +6 -6
  490. package/.next/server/app/settings/{processes → safety}/page.js.nft.json +1 -1
  491. package/.next/server/app/settings/safety/page_client-reference-manifest.js +3 -0
  492. package/.next/server/app/settings/safety.html +1 -0
  493. package/.next/server/app/settings/{advanced.meta → safety.meta} +3 -3
  494. package/.next/server/app/settings/safety.rsc +28 -0
  495. package/.next/server/app/settings/safety.segments/_full.segment.rsc +28 -0
  496. package/.next/server/app/settings/safety.segments/_head.segment.rsc +6 -0
  497. package/.next/server/app/settings/safety.segments/_index.segment.rsc +11 -0
  498. package/.next/server/app/settings/safety.segments/_tree.segment.rsc +3 -0
  499. package/.next/server/app/settings/safety.segments/settings/safety/__PAGE__.segment.rsc +9 -0
  500. package/.next/server/app/settings/safety.segments/settings/safety.segment.rsc +5 -0
  501. package/.next/server/app/settings/safety.segments/settings.segment.rsc +5 -0
  502. package/.next/server/app/settings/self-learning/page/next-font-manifest.json +4 -2
  503. package/.next/server/app/settings/self-learning/page/react-loadable-manifest.json +1 -1
  504. package/.next/server/app/settings/self-learning/page.js.nft.json +1 -1
  505. package/.next/server/app/settings/self-learning/page_client-reference-manifest.js +1 -1
  506. package/.next/server/app/settings/self-learning.html +1 -1
  507. package/.next/server/app/settings/self-learning.rsc +19 -18
  508. package/.next/server/app/settings/self-learning.segments/_full.segment.rsc +19 -18
  509. package/.next/server/app/settings/self-learning.segments/_head.segment.rsc +4 -4
  510. package/.next/server/app/settings/self-learning.segments/_index.segment.rsc +10 -10
  511. package/.next/server/app/settings/self-learning.segments/_tree.segment.rsc +3 -2
  512. package/.next/server/app/settings/self-learning.segments/settings/self-learning/__PAGE__.segment.rsc +4 -4
  513. package/.next/server/app/settings/self-learning.segments/settings/self-learning.segment.rsc +3 -3
  514. package/.next/server/app/settings/self-learning.segments/settings.segment.rsc +4 -4
  515. package/.next/server/app/settings/wiki/page/next-font-manifest.json +4 -2
  516. package/.next/server/app/settings/wiki/page/react-loadable-manifest.json +1 -1
  517. package/.next/server/app/settings/wiki/page.js.nft.json +1 -1
  518. package/.next/server/app/settings/wiki/page_client-reference-manifest.js +1 -1
  519. package/.next/server/app/settings/wiki/timeline/page/next-font-manifest.json +4 -2
  520. package/.next/server/app/settings/wiki/timeline/page/react-loadable-manifest.json +1 -1
  521. package/.next/server/app/settings/wiki/timeline/page.js.nft.json +1 -1
  522. package/.next/server/app/settings/wiki/timeline/page_client-reference-manifest.js +1 -1
  523. package/.next/server/app/settings/wiki/timeline.html +1 -1
  524. package/.next/server/app/settings/wiki/timeline.rsc +17 -16
  525. package/.next/server/app/settings/wiki/timeline.segments/_full.segment.rsc +17 -16
  526. package/.next/server/app/settings/wiki/timeline.segments/_head.segment.rsc +4 -4
  527. package/.next/server/app/settings/wiki/timeline.segments/_index.segment.rsc +10 -10
  528. package/.next/server/app/settings/wiki/timeline.segments/_tree.segment.rsc +3 -2
  529. package/.next/server/app/settings/wiki/timeline.segments/settings/wiki/timeline/__PAGE__.segment.rsc +2 -2
  530. package/.next/server/app/settings/wiki/timeline.segments/settings/wiki/timeline.segment.rsc +3 -3
  531. package/.next/server/app/settings/wiki/timeline.segments/settings/wiki.segment.rsc +3 -3
  532. package/.next/server/app/settings/wiki/timeline.segments/settings.segment.rsc +4 -4
  533. package/.next/server/app/settings/wiki.html +1 -1
  534. package/.next/server/app/settings/wiki.rsc +19 -18
  535. package/.next/server/app/settings/wiki.segments/_full.segment.rsc +19 -18
  536. package/.next/server/app/settings/wiki.segments/_head.segment.rsc +4 -4
  537. package/.next/server/app/settings/wiki.segments/_index.segment.rsc +10 -10
  538. package/.next/server/app/settings/wiki.segments/_tree.segment.rsc +3 -2
  539. package/.next/server/app/settings/wiki.segments/settings/wiki/__PAGE__.segment.rsc +4 -4
  540. package/.next/server/app/settings/wiki.segments/settings/wiki.segment.rsc +3 -3
  541. package/.next/server/app/settings/wiki.segments/settings.segment.rsc +4 -4
  542. package/.next/server/app/settings.html +1 -1
  543. package/.next/server/app/settings.rsc +19 -18
  544. package/.next/server/app/settings.segments/_full.segment.rsc +19 -18
  545. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  546. package/.next/server/app/settings.segments/_index.segment.rsc +10 -10
  547. package/.next/server/app/settings.segments/_tree.segment.rsc +3 -2
  548. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  549. package/.next/server/app/settings.segments/settings.segment.rsc +4 -4
  550. package/.next/server/app/setup/page/next-font-manifest.json +4 -2
  551. package/.next/server/app/setup/page/react-loadable-manifest.json +1 -1
  552. package/.next/server/app/setup/page.js.nft.json +1 -1
  553. package/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  554. package/.next/server/app/setup.html +1 -1
  555. package/.next/server/app/setup.rsc +18 -17
  556. package/.next/server/app/setup.segments/_full.segment.rsc +18 -17
  557. package/.next/server/app/setup.segments/_head.segment.rsc +4 -4
  558. package/.next/server/app/setup.segments/_index.segment.rsc +10 -10
  559. package/.next/server/app/setup.segments/_tree.segment.rsc +3 -2
  560. package/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +4 -4
  561. package/.next/server/app/setup.segments/setup.segment.rsc +3 -3
  562. package/.next/server/app/trip/page/next-font-manifest.json +4 -2
  563. package/.next/server/app/trip/page/react-loadable-manifest.json +1 -1
  564. package/.next/server/app/trip/page.js.nft.json +1 -1
  565. package/.next/server/app/trip/page_client-reference-manifest.js +1 -1
  566. package/.next/server/app/trip.html +1 -1
  567. package/.next/server/app/trip.rsc +18 -17
  568. package/.next/server/app/trip.segments/_full.segment.rsc +18 -17
  569. package/.next/server/app/trip.segments/_head.segment.rsc +4 -4
  570. package/.next/server/app/trip.segments/_index.segment.rsc +10 -10
  571. package/.next/server/app/trip.segments/_tree.segment.rsc +3 -2
  572. package/.next/server/app/trip.segments/trip/__PAGE__.segment.rsc +4 -4
  573. package/.next/server/app/trip.segments/trip.segment.rsc +3 -3
  574. package/.next/server/app/wiki/page/next-font-manifest.json +4 -2
  575. package/.next/server/app/wiki/page/react-loadable-manifest.json +1 -1
  576. package/.next/server/app/wiki/page.js.nft.json +1 -1
  577. package/.next/server/app/wiki/page_client-reference-manifest.js +1 -1
  578. package/.next/server/app/wiki/timeline/page/next-font-manifest.json +4 -2
  579. package/.next/server/app/wiki/timeline/page/react-loadable-manifest.json +1 -1
  580. package/.next/server/app/wiki/timeline/page.js.nft.json +1 -1
  581. package/.next/server/app/wiki/timeline/page_client-reference-manifest.js +1 -1
  582. package/.next/server/app/wiki/timeline.html +1 -1
  583. package/.next/server/app/wiki/timeline.rsc +18 -17
  584. package/.next/server/app/wiki/timeline.segments/_full.segment.rsc +18 -17
  585. package/.next/server/app/wiki/timeline.segments/_head.segment.rsc +4 -4
  586. package/.next/server/app/wiki/timeline.segments/_index.segment.rsc +10 -10
  587. package/.next/server/app/wiki/timeline.segments/_tree.segment.rsc +3 -2
  588. package/.next/server/app/wiki/timeline.segments/wiki/timeline/__PAGE__.segment.rsc +4 -4
  589. package/.next/server/app/wiki/timeline.segments/wiki/timeline.segment.rsc +3 -3
  590. package/.next/server/app/wiki/timeline.segments/wiki.segment.rsc +3 -3
  591. package/.next/server/app/wiki.html +1 -1
  592. package/.next/server/app/wiki.rsc +18 -17
  593. package/.next/server/app/wiki.segments/_full.segment.rsc +18 -17
  594. package/.next/server/app/wiki.segments/_head.segment.rsc +4 -4
  595. package/.next/server/app/wiki.segments/_index.segment.rsc +10 -10
  596. package/.next/server/app/wiki.segments/_tree.segment.rsc +3 -2
  597. package/.next/server/app/wiki.segments/wiki/__PAGE__.segment.rsc +4 -4
  598. package/.next/server/app/wiki.segments/wiki.segment.rsc +3 -3
  599. package/.next/server/app-paths-manifest.json +7 -9
  600. package/.next/server/chunks/0z~i_next_dist_esm_build_templates_app-route_0o_o_hp.js +1 -1
  601. package/.next/server/chunks/[root-of-the-server]__02gp4s0._.js +1 -1
  602. package/.next/server/chunks/[root-of-the-server]__0gckkni._.js +1 -1
  603. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_connections_notes_page_actions_04zn1-i.js +3 -0
  604. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_danger-zone_page_actions_0mp3gc-.js +3 -0
  605. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_lessons_page_actions_0_yqadq.js +3 -0
  606. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_safety_page_actions_05rsfax.js +3 -0
  607. package/.next/server/chunks/ssr/0juq_dashboard_src_app_settings_integrations_browser-history_page_tsx_0.30t~j._.js +1 -1
  608. package/.next/server/chunks/ssr/0x9-__next-internal_server_app_settings_infrastructure_page_actions_0u8fwic.js +3 -0
  609. package/.next/server/chunks/ssr/0x9-_src_app_settings_integrations_browser-history-managed_b4_page_tsx_03zkdyv._.js +1 -1
  610. package/.next/server/chunks/ssr/0x9-_src_app_settings_integrations_browser-history-managed_page_tsx_0q.v5ph._.js +1 -1
  611. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0-xf3nq.js +1 -1
  612. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_05t.o5v.js +4 -0
  613. package/.next/server/chunks/ssr/{0z~i_next_dist_esm_build_templates_app-page_0~yic40.js → 0z~i_next_dist_esm_build_templates_app-page_07tjgqy.js} +3 -3
  614. 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
  615. 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
  616. 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
  617. 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_0h7ji04.js} +3 -3
  618. 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
  619. package/.next/server/chunks/ssr/{[root-of-the-server]__0.oq_nd._.js → [root-of-the-server]__064iw-m._.js} +2 -2
  620. package/.next/server/chunks/ssr/[root-of-the-server]__0bcu47h._.js +3 -0
  621. package/.next/server/chunks/ssr/[root-of-the-server]__0dz8grn._.js +3 -0
  622. package/.next/server/chunks/ssr/[root-of-the-server]__0e3togs._.js +1 -1
  623. package/.next/server/chunks/ssr/[root-of-the-server]__0own5qk._.js +7 -0
  624. package/.next/server/chunks/ssr/{[root-of-the-server]__0k4~6v4._.js → [root-of-the-server]__0p.rqkz._.js} +2 -2
  625. package/.next/server/chunks/ssr/[root-of-the-server]__0twuzim._.js +1 -1
  626. package/.next/server/chunks/ssr/[root-of-the-server]__0v.2-w_._.js +9 -0
  627. package/.next/server/chunks/ssr/{[root-of-the-server]__0hxae6t._.js → [root-of-the-server]__0x90fri._.js} +2 -2
  628. package/.next/server/chunks/ssr/{[root-of-the-server]__0ku1mlh._.js → [root-of-the-server]__0znkqrs._.js} +2 -2
  629. package/.next/server/chunks/ssr/{[root-of-the-server]__138v34b._.js → [root-of-the-server]__12ocbb6._.js} +2 -2
  630. package/.next/server/chunks/ssr/_0-fa0e6._.js +3 -0
  631. package/.next/server/chunks/ssr/_0-fv_sr._.js +1 -1
  632. package/.next/server/chunks/ssr/_0.83~vc._.js +3 -0
  633. package/.next/server/chunks/ssr/_0.buz~z._.js +3 -0
  634. package/.next/server/chunks/ssr/_00m~lu3._.js +3 -0
  635. package/.next/server/chunks/ssr/_00yd82b._.js +3 -0
  636. package/.next/server/chunks/ssr/_01u8_20._.js +1 -1
  637. package/.next/server/chunks/ssr/_02-~4_x._.js +3 -0
  638. package/.next/server/chunks/ssr/_03ylkmo._.js +1 -1
  639. package/.next/server/chunks/ssr/_042qll3._.js +3 -0
  640. package/.next/server/chunks/ssr/_05-nasq._.js +3 -0
  641. package/.next/server/chunks/ssr/_052c-d8._.js +1 -1
  642. package/.next/server/chunks/ssr/_05etcnw._.js +3 -0
  643. package/.next/server/chunks/ssr/_06pfh8i._.js +3 -0
  644. package/.next/server/chunks/ssr/_07y8~wo._.js +3 -0
  645. package/.next/server/chunks/ssr/_0837jo1._.js +1 -1
  646. package/.next/server/chunks/ssr/_095g5nv._.js +3 -0
  647. package/.next/server/chunks/ssr/_0_59iz5._.js +3 -0
  648. package/.next/server/chunks/ssr/_0_mohhy._.js +3 -0
  649. package/.next/server/chunks/ssr/_0_qa7ix._.js +3 -0
  650. package/.next/server/chunks/ssr/_0a0gitj._.js +3 -0
  651. package/.next/server/chunks/ssr/_0bbgll1._.js +3 -0
  652. package/.next/server/chunks/ssr/_0bsns8f._.js +3 -0
  653. package/.next/server/chunks/ssr/_0cus~q3._.js +3 -0
  654. package/.next/server/chunks/ssr/_0cwcz17._.js +1 -1
  655. package/.next/server/chunks/ssr/_0do3r93._.js +3 -0
  656. package/.next/server/chunks/ssr/_0eoqkp.._.js +3 -0
  657. package/.next/server/chunks/ssr/_0fse1qi._.js +3 -0
  658. package/.next/server/chunks/ssr/_0g7_r5i._.js +1 -1
  659. package/.next/server/chunks/ssr/_0h-mq6i._.js +3 -0
  660. package/.next/server/chunks/ssr/_0h7l~qt._.js +3 -0
  661. package/.next/server/chunks/ssr/_0hojxqy._.js +1 -1
  662. package/.next/server/chunks/ssr/_0jlpcde._.js +3 -0
  663. package/.next/server/chunks/ssr/_0kn1u4v._.js +3 -0
  664. package/.next/server/chunks/ssr/_0l7uzol._.js +3 -0
  665. package/.next/server/chunks/ssr/_0m~vcd.._.js +3 -0
  666. package/.next/server/chunks/ssr/_0n2_n8d._.js +3 -0
  667. package/.next/server/chunks/ssr/_0p4ugyq._.js +3 -0
  668. package/.next/server/chunks/ssr/_0pbcc~c._.js +3 -0
  669. package/.next/server/chunks/ssr/_0q6ga5s._.js +3 -0
  670. package/.next/server/chunks/ssr/_0rcvmzk._.js +3 -0
  671. package/.next/server/chunks/ssr/_0tl98en._.js +1 -1
  672. package/.next/server/chunks/ssr/_0vtof91._.js +3 -0
  673. package/.next/server/chunks/ssr/_0wj-xi-._.js +1 -1
  674. package/.next/server/chunks/ssr/_0y-w3is._.js +3 -0
  675. package/.next/server/chunks/ssr/_0ys19k1._.js +3 -0
  676. package/.next/server/chunks/ssr/_0zegd8c._.js +3 -0
  677. package/.next/server/chunks/ssr/_0zskdhg._.js +3 -0
  678. package/.next/server/chunks/ssr/_0~5jogr._.js +3 -0
  679. package/.next/server/chunks/ssr/_10t~mm1._.js +5 -0
  680. package/.next/server/chunks/ssr/_12yrbbd._.js +3 -0
  681. package/.next/server/chunks/ssr/_12~voz0._.js +3 -0
  682. package/.next/server/chunks/ssr/_13x8vt3._.js +3 -0
  683. package/.next/server/chunks/ssr/node_modules__pnpm_0hiwu9~._.js +3 -0
  684. package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_browser_page_actions_09ozuw5.js +3 -0
  685. package/.next/server/chunks/ssr/packages_dashboard__next-internal_server_app_settings_hours_page_actions_090o.uf.js +3 -0
  686. package/.next/server/chunks/ssr/packages_dashboard_src_08ni3k2._.js +1 -1
  687. package/.next/server/chunks/ssr/packages_dashboard_src_0dzu4m3._.js +1 -1
  688. package/.next/server/chunks/ssr/packages_dashboard_src_0l-df62._.js +1 -1
  689. package/.next/server/chunks/ssr/packages_dashboard_src_0somi_b._.js +3 -0
  690. package/.next/server/chunks/ssr/packages_dashboard_src_0uxs9-.._.js +1 -1
  691. package/.next/server/chunks/ssr/packages_dashboard_src_0wg3sud._.js +1 -1
  692. package/.next/server/chunks/ssr/packages_dashboard_src_0yi7124._.js +3 -0
  693. package/.next/server/chunks/ssr/packages_dashboard_src_0zhdaa4._.js +1 -1
  694. package/.next/server/chunks/ssr/packages_dashboard_src_13g~g03._.js +1 -1
  695. package/.next/server/chunks/ssr/packages_dashboard_src_app_activity_loading_tsx_0rzsqef._.js +1 -1
  696. package/.next/server/chunks/ssr/packages_dashboard_src_app_activity_page_tsx_08yep46._.js +1 -1
  697. package/.next/server/chunks/ssr/packages_dashboard_src_app_agents_[slug]_page_tsx_038yph.._.js +1 -1
  698. package/.next/server/chunks/ssr/packages_dashboard_src_app_agents_page_tsx_0simg3k._.js +2 -2
  699. package/.next/server/chunks/ssr/packages_dashboard_src_app_analytics_page_tsx_0tb_amd._.js +1 -1
  700. package/.next/server/chunks/ssr/packages_dashboard_src_app_browser-tasks_[id]_page_tsx_0.80q8e._.js +1 -1
  701. package/.next/server/chunks/ssr/packages_dashboard_src_app_chat_page_tsx_0i0_8pw._.js +1 -1
  702. package/.next/server/chunks/ssr/packages_dashboard_src_app_connections_mcp_page_tsx_0lc.low._.js +2 -2
  703. package/.next/server/chunks/ssr/packages_dashboard_src_app_connections_repositories_page_tsx_08y6paq._.js +1 -1
  704. package/.next/server/chunks/ssr/packages_dashboard_src_app_git_page_tsx_0ah19-6._.js +1 -1
  705. package/.next/server/chunks/ssr/packages_dashboard_src_app_knowledge_page_tsx_0uf4..4._.js +1 -1
  706. package/.next/server/chunks/ssr/packages_dashboard_src_app_page_tsx_0.p6n1a._.js +1 -1
  707. package/.next/server/chunks/ssr/packages_dashboard_src_app_schedule_page_tsx_0znc404._.js +1 -1
  708. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_commands_page_tsx_0nacqrh._.js +1 -1
  709. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_hours_page_tsx_0shgzxo._.js +3 -0
  710. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_infrastructure_page_tsx_0c9oi1c._.js +3 -0
  711. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_management_page_tsx_09mnin5._.js +1 -1
  712. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_models_page_tsx_0djsx88._.js +1 -1
  713. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_page_tsx_13_rdav._.js +1 -1
  714. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_self-learning_page_tsx_0noj6fo._.js +1 -1
  715. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_wiki_page_tsx_0..1tkb._.js +1 -1
  716. package/.next/server/chunks/ssr/packages_dashboard_src_app_setup_page_tsx_06k3via._.js +1 -1
  717. package/.next/server/chunks/ssr/packages_dashboard_src_components_0c08h~y._.js +3 -0
  718. package/.next/server/chunks/ssr/packages_dashboard_src_components_agents_AgentEditor_tsx_1379k-6._.js +2 -2
  719. package/.next/server/chunks/ssr/packages_dashboard_src_components_connections_integration-card_tsx_0yh1a-~._.js +2 -2
  720. package/.next/server/chunks/ssr/packages_dashboard_src_components_connections_slack-card_tsx_0mahejj._.js +1 -1
  721. package/.next/server/chunks/ssr/packages_dashboard_src_components_logs_event-row_tsx_0gwfgqo._.js +3 -0
  722. package/.next/server/chunks/ssr/packages_dashboard_src_components_mail_gmail-card_tsx_0kpway8._.js +1 -1
  723. package/.next/server/chunks/ssr/packages_shared_dist_index_0kuvow-.js +1 -1
  724. package/.next/server/edge/chunks/[root-of-the-server]__0iap10r._.js +1 -1
  725. package/.next/server/middleware/middleware-manifest.json +29 -5
  726. package/.next/server/middleware-build-manifest.js +3 -3
  727. package/.next/server/middleware-manifest.json +29 -5
  728. package/.next/server/next-font-manifest.js +1 -1
  729. package/.next/server/next-font-manifest.json +51 -2
  730. package/.next/server/pages/404.html +1 -1
  731. package/.next/server/pages/500.html +1 -1
  732. package/.next/server/server-reference-manifest.js +1 -1
  733. package/.next/server/server-reference-manifest.json +1 -1
  734. package/.next/static/{buq5uD5wcoRL2KUVTM1i7 → 4Wu33OvzutxPxXUu1PWPC}/_clientMiddlewareManifest.js +24 -0
  735. package/.next/static/chunks/0-sq9td.e1huw.js +1 -0
  736. package/.next/static/chunks/0-~s5n1hsw0xz.css +1 -0
  737. package/.next/static/chunks/0.1mo3ft90qg_.js +1 -0
  738. package/.next/static/chunks/0.eu.rxoo07x6.js +1 -0
  739. package/.next/static/chunks/0147tjztlthxv.js +1 -0
  740. package/.next/static/chunks/01~5c-.ttg~hv.js +1 -0
  741. package/.next/static/chunks/02jrxwgg0c4jp.js +1 -0
  742. package/.next/static/chunks/02tb-nh0a2y6t.js +1 -0
  743. package/.next/static/chunks/03ndokpk6o0.5.js +1 -0
  744. package/.next/static/chunks/03qz~hx5zgr~d.js +1 -0
  745. package/.next/static/chunks/042u~0qpgty0o.js +10 -0
  746. package/.next/static/chunks/050-z9-4lo_4l.js +1 -0
  747. package/.next/static/chunks/051m0t~qz1jvu.js +1 -0
  748. package/.next/static/chunks/0755mii5h~0jr.js +1 -0
  749. package/.next/static/chunks/07_-k85izz7.j.js +1 -0
  750. package/.next/static/chunks/07qdiaq4h1bev.js +1 -0
  751. package/.next/static/chunks/07w_f8nwejvtm.js +1 -0
  752. package/.next/static/chunks/087m534nojkn2.js +1 -0
  753. package/.next/static/chunks/08tuvmjn9p090.js +1 -0
  754. package/.next/static/chunks/09k746-3cizz1.js +19 -0
  755. package/.next/static/chunks/09sekcnc01we8.js +1 -0
  756. package/.next/static/chunks/0_-a6t77lnxg4.js +1 -0
  757. package/.next/static/chunks/0_b4esx30vjxq.js +1 -0
  758. package/.next/static/chunks/0_r~att41ue.r.js +1 -0
  759. package/.next/static/chunks/0cj6iorqj7he_.js +1 -0
  760. package/.next/static/chunks/0c~_onh_gv7zj.js +1 -0
  761. package/.next/static/chunks/0d13hqow~d37h.js +1 -0
  762. package/.next/static/chunks/0drk956_8nbwg.js +1 -0
  763. package/.next/static/chunks/0e-txs97b3.x9.js +1 -0
  764. package/.next/static/chunks/0ezl44_wv~csn.js +1 -0
  765. package/.next/static/chunks/0g-eqp3qwkojl.js +1 -0
  766. package/.next/static/chunks/0h5rf~pu59~hu.js +1 -0
  767. package/.next/static/chunks/0i8.oj~1w~u~..js +1 -0
  768. package/.next/static/chunks/0iichp621kqto.js +1 -0
  769. package/.next/static/chunks/{0afrwc5vvwfx4.js → 0iscxmienbk2m.js} +1 -1
  770. package/.next/static/chunks/0iv9k-z7~xtww.js +1 -0
  771. package/.next/static/chunks/0k6jf41ge3u~8.js +1 -0
  772. package/.next/static/chunks/0k9-e5pear~t4.js +3 -0
  773. package/.next/static/chunks/0kib-9vm23r0j.js +1 -0
  774. package/.next/static/chunks/0kj.5xdofdrz7.js +1 -0
  775. package/.next/static/chunks/0lbnukk03a8nv.js +1 -0
  776. package/.next/static/chunks/0m8e4hy-r8y-4.js +1 -0
  777. package/.next/static/chunks/{0ndazhatbfzo7.js → 0mkryl3ctt_xh.js} +1 -1
  778. package/.next/static/chunks/0mxp..4l7j1dn.js +1 -0
  779. package/.next/static/chunks/0o61x2xdye~o2.js +1 -0
  780. package/.next/static/chunks/0os-c6-aqwq4d.js +1 -0
  781. package/.next/static/chunks/0pxjn_pm269cw.js +1 -0
  782. package/.next/static/chunks/0qyxjj5z_is.d.js +1 -0
  783. package/.next/static/chunks/0s.cyrhyscm8x.js +1 -0
  784. package/.next/static/chunks/0wvyy~m_e1q5c.js +3 -0
  785. package/.next/static/chunks/0x96~upcinv2_.js +1 -0
  786. package/.next/static/chunks/0zo_ws6shrfnh.js +1 -0
  787. package/.next/static/chunks/0~kj3qxs7kx58.js +1 -0
  788. package/.next/static/chunks/10rtk-h9y-705.js +2 -0
  789. package/.next/static/chunks/115_4xjsk0jzh.js +1 -0
  790. package/.next/static/chunks/12zmqqk8p-b.~.js +1 -0
  791. package/.next/static/chunks/135nkfxk7so9p.js +1 -0
  792. package/.next/static/chunks/153z3m3.a2ubk.js +5 -0
  793. package/.next/static/chunks/15fpord4hyosp.js +1 -0
  794. package/.next/static/chunks/15~h2wegwdbf4.js +1 -0
  795. package/.next/static/chunks/16-i4p1ipmpts.js +1 -0
  796. package/.next/static/chunks/171j55n_9gyxb.js +1 -0
  797. package/.next/static/chunks/17c6~kld51ls5.js +11 -0
  798. package/.next/static/chunks/17tv5jbg2hiup.js +1 -0
  799. package/.next/static/chunks/187a-majiuj8r.js +1 -0
  800. package/.next/static/media/fraunces-latin-ext-wght-normal.08-a-oz-atsnn.woff2 +0 -0
  801. package/.next/static/media/fraunces-latin-wght-normal.0l9v6sgnyeoq8.woff2 +0 -0
  802. package/.next/static/media/fraunces-vietnamese-wght-normal.05ntv1..6v~z7.woff2 +0 -0
  803. package/.next/static/media/instrument-sans-latin-ext-wght-normal.0td0--1m0lec9.woff2 +0 -0
  804. package/.next/static/media/instrument-sans-latin-wght-normal.10bj0-z630vnn.woff2 +0 -0
  805. package/.next/types/routes.d.ts +8 -10
  806. package/.next/types/validator.ts +36 -54
  807. package/package.json +4 -2
  808. package/.next/server/app/connections/knowledge/page/app-paths-manifest.json +0 -3
  809. package/.next/server/app/connections/knowledge/page/next-font-manifest.json +0 -6
  810. package/.next/server/app/connections/knowledge/page.js.nft.json +0 -1
  811. package/.next/server/app/connections/knowledge/page_client-reference-manifest.js +0 -3
  812. package/.next/server/app/connections/knowledge.html +0 -1
  813. package/.next/server/app/connections/knowledge.rsc +0 -27
  814. package/.next/server/app/connections/knowledge.segments/_full.segment.rsc +0 -27
  815. package/.next/server/app/connections/knowledge.segments/_head.segment.rsc +0 -6
  816. package/.next/server/app/connections/knowledge.segments/_index.segment.rsc +0 -11
  817. package/.next/server/app/connections/knowledge.segments/_tree.segment.rsc +0 -2
  818. package/.next/server/app/connections/knowledge.segments/connections/knowledge/__PAGE__.segment.rsc +0 -9
  819. package/.next/server/app/connections/knowledge.segments/connections/knowledge.segment.rsc +0 -5
  820. package/.next/server/app/connections/knowledge.segments/connections.segment.rsc +0 -5
  821. package/.next/server/app/settings/advanced/page/app-paths-manifest.json +0 -3
  822. package/.next/server/app/settings/advanced/page/next-font-manifest.json +0 -6
  823. package/.next/server/app/settings/advanced/page.js.nft.json +0 -1
  824. package/.next/server/app/settings/advanced/page_client-reference-manifest.js +0 -3
  825. package/.next/server/app/settings/advanced.html +0 -1
  826. package/.next/server/app/settings/advanced.rsc +0 -27
  827. package/.next/server/app/settings/advanced.segments/_full.segment.rsc +0 -27
  828. package/.next/server/app/settings/advanced.segments/_head.segment.rsc +0 -6
  829. package/.next/server/app/settings/advanced.segments/_index.segment.rsc +0 -11
  830. package/.next/server/app/settings/advanced.segments/_tree.segment.rsc +0 -2
  831. package/.next/server/app/settings/advanced.segments/settings/advanced/__PAGE__.segment.rsc +0 -9
  832. package/.next/server/app/settings/advanced.segments/settings/advanced.segment.rsc +0 -5
  833. package/.next/server/app/settings/advanced.segments/settings.segment.rsc +0 -5
  834. package/.next/server/app/settings/backends/page/app-paths-manifest.json +0 -3
  835. package/.next/server/app/settings/backends/page/next-font-manifest.json +0 -6
  836. package/.next/server/app/settings/backends/page.js +0 -17
  837. package/.next/server/app/settings/backends/page_client-reference-manifest.js +0 -3
  838. package/.next/server/app/settings/backends.html +0 -1
  839. package/.next/server/app/settings/backends.rsc +0 -24
  840. package/.next/server/app/settings/backends.segments/_full.segment.rsc +0 -24
  841. package/.next/server/app/settings/backends.segments/_head.segment.rsc +0 -6
  842. package/.next/server/app/settings/backends.segments/_index.segment.rsc +0 -11
  843. package/.next/server/app/settings/backends.segments/_tree.segment.rsc +0 -2
  844. package/.next/server/app/settings/backends.segments/settings/backends/__PAGE__.segment.rsc +0 -6
  845. package/.next/server/app/settings/backends.segments/settings/backends.segment.rsc +0 -5
  846. package/.next/server/app/settings/backends.segments/settings.segment.rsc +0 -5
  847. package/.next/server/app/settings/connections/page/app-paths-manifest.json +0 -3
  848. package/.next/server/app/settings/connections/page/next-font-manifest.json +0 -6
  849. package/.next/server/app/settings/connections/page.js +0 -17
  850. package/.next/server/app/settings/connections/page_client-reference-manifest.js +0 -3
  851. package/.next/server/app/settings/connections.html +0 -1
  852. package/.next/server/app/settings/connections.rsc +0 -24
  853. package/.next/server/app/settings/connections.segments/_full.segment.rsc +0 -24
  854. package/.next/server/app/settings/connections.segments/_head.segment.rsc +0 -6
  855. package/.next/server/app/settings/connections.segments/_index.segment.rsc +0 -11
  856. package/.next/server/app/settings/connections.segments/_tree.segment.rsc +0 -2
  857. package/.next/server/app/settings/connections.segments/settings/connections/__PAGE__.segment.rsc +0 -6
  858. package/.next/server/app/settings/connections.segments/settings/connections.segment.rsc +0 -5
  859. package/.next/server/app/settings/connections.segments/settings.segment.rsc +0 -5
  860. package/.next/server/app/settings/journal/page/app-paths-manifest.json +0 -3
  861. package/.next/server/app/settings/journal/page/next-font-manifest.json +0 -6
  862. package/.next/server/app/settings/journal/page/react-loadable-manifest.json +0 -8
  863. package/.next/server/app/settings/journal/page_client-reference-manifest.js +0 -3
  864. package/.next/server/app/settings/journal.html +0 -1
  865. package/.next/server/app/settings/journal.rsc +0 -27
  866. package/.next/server/app/settings/journal.segments/_full.segment.rsc +0 -27
  867. package/.next/server/app/settings/journal.segments/_head.segment.rsc +0 -6
  868. package/.next/server/app/settings/journal.segments/_index.segment.rsc +0 -11
  869. package/.next/server/app/settings/journal.segments/_tree.segment.rsc +0 -2
  870. package/.next/server/app/settings/journal.segments/settings/journal/__PAGE__.segment.rsc +0 -9
  871. package/.next/server/app/settings/journal.segments/settings/journal.segment.rsc +0 -5
  872. package/.next/server/app/settings/journal.segments/settings.segment.rsc +0 -5
  873. package/.next/server/app/settings/messaging/page/app-paths-manifest.json +0 -3
  874. package/.next/server/app/settings/messaging/page/next-font-manifest.json +0 -6
  875. package/.next/server/app/settings/messaging/page/react-loadable-manifest.json +0 -8
  876. package/.next/server/app/settings/messaging/page.js +0 -17
  877. package/.next/server/app/settings/messaging/page_client-reference-manifest.js +0 -3
  878. package/.next/server/app/settings/messaging.html +0 -1
  879. package/.next/server/app/settings/messaging.meta +0 -16
  880. package/.next/server/app/settings/messaging.rsc +0 -24
  881. package/.next/server/app/settings/messaging.segments/_full.segment.rsc +0 -24
  882. package/.next/server/app/settings/messaging.segments/_head.segment.rsc +0 -6
  883. package/.next/server/app/settings/messaging.segments/_index.segment.rsc +0 -11
  884. package/.next/server/app/settings/messaging.segments/_tree.segment.rsc +0 -2
  885. package/.next/server/app/settings/messaging.segments/settings/messaging/__PAGE__.segment.rsc +0 -6
  886. package/.next/server/app/settings/messaging.segments/settings/messaging.segment.rsc +0 -5
  887. package/.next/server/app/settings/messaging.segments/settings.segment.rsc +0 -5
  888. package/.next/server/app/settings/processes/page/app-paths-manifest.json +0 -3
  889. package/.next/server/app/settings/processes/page/next-font-manifest.json +0 -6
  890. package/.next/server/app/settings/processes/page/react-loadable-manifest.json +0 -8
  891. package/.next/server/app/settings/processes/page.js +0 -17
  892. package/.next/server/app/settings/processes/page_client-reference-manifest.js +0 -3
  893. package/.next/server/app/settings/processes.html +0 -1
  894. package/.next/server/app/settings/processes.meta +0 -16
  895. package/.next/server/app/settings/processes.rsc +0 -24
  896. package/.next/server/app/settings/processes.segments/_full.segment.rsc +0 -24
  897. package/.next/server/app/settings/processes.segments/_head.segment.rsc +0 -6
  898. package/.next/server/app/settings/processes.segments/_index.segment.rsc +0 -11
  899. package/.next/server/app/settings/processes.segments/_tree.segment.rsc +0 -2
  900. package/.next/server/app/settings/processes.segments/settings/processes/__PAGE__.segment.rsc +0 -6
  901. package/.next/server/app/settings/processes.segments/settings/processes.segment.rsc +0 -5
  902. package/.next/server/app/settings/processes.segments/settings.segment.rsc +0 -5
  903. package/.next/server/app/settings/routines/page/app-paths-manifest.json +0 -3
  904. package/.next/server/app/settings/routines/page/build-manifest.json +0 -18
  905. package/.next/server/app/settings/routines/page/next-font-manifest.json +0 -6
  906. package/.next/server/app/settings/routines/page/react-loadable-manifest.json +0 -8
  907. package/.next/server/app/settings/routines/page/server-reference-manifest.json +0 -4
  908. package/.next/server/app/settings/routines/page.js.nft.json +0 -1
  909. package/.next/server/app/settings/routines/page_client-reference-manifest.js +0 -3
  910. package/.next/server/app/settings/routines.html +0 -1
  911. package/.next/server/app/settings/routines.meta +0 -16
  912. package/.next/server/app/settings/routines.rsc +0 -27
  913. package/.next/server/app/settings/routines.segments/_full.segment.rsc +0 -27
  914. package/.next/server/app/settings/routines.segments/_head.segment.rsc +0 -6
  915. package/.next/server/app/settings/routines.segments/_index.segment.rsc +0 -11
  916. package/.next/server/app/settings/routines.segments/_tree.segment.rsc +0 -2
  917. package/.next/server/app/settings/routines.segments/settings/routines/__PAGE__.segment.rsc +0 -9
  918. package/.next/server/app/settings/routines.segments/settings/routines.segment.rsc +0 -5
  919. package/.next/server/app/settings/routines.segments/settings.segment.rsc +0 -5
  920. package/.next/server/app/settings/schedule/page/app-paths-manifest.json +0 -3
  921. package/.next/server/app/settings/schedule/page/build-manifest.json +0 -18
  922. package/.next/server/app/settings/schedule/page/next-font-manifest.json +0 -6
  923. package/.next/server/app/settings/schedule/page/react-loadable-manifest.json +0 -8
  924. package/.next/server/app/settings/schedule/page/server-reference-manifest.json +0 -4
  925. package/.next/server/app/settings/schedule/page_client-reference-manifest.js +0 -3
  926. package/.next/server/app/settings/schedule.html +0 -1
  927. package/.next/server/app/settings/schedule.meta +0 -16
  928. package/.next/server/app/settings/schedule.rsc +0 -27
  929. package/.next/server/app/settings/schedule.segments/_full.segment.rsc +0 -27
  930. package/.next/server/app/settings/schedule.segments/_head.segment.rsc +0 -6
  931. package/.next/server/app/settings/schedule.segments/_index.segment.rsc +0 -11
  932. package/.next/server/app/settings/schedule.segments/_tree.segment.rsc +0 -2
  933. package/.next/server/app/settings/schedule.segments/settings/schedule/__PAGE__.segment.rsc +0 -9
  934. package/.next/server/app/settings/schedule.segments/settings/schedule.segment.rsc +0 -5
  935. package/.next/server/app/settings/schedule.segments/settings.segment.rsc +0 -5
  936. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_connections_knowledge_page_actions_06w7ski.js +0 -3
  937. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_advanced_page_actions_0x06bjx.js +0 -3
  938. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_backends_page_actions_0z3vipu.js +0 -3
  939. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_connections_page_actions_0n0b1rb.js +0 -3
  940. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_journal_page_actions_0_.h.-y.js +0 -3
  941. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_messaging_page_actions_0czehcp.js +0 -3
  942. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_processes_page_actions_0zbumx3.js +0 -3
  943. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_routines_page_actions_0-37ia4.js +0 -3
  944. package/.next/server/chunks/ssr/0juq_dashboard__next-internal_server_app_settings_schedule_page_actions_045j4zv.js +0 -3
  945. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0s6jb_7.js +0 -4
  946. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0wu80v6.js +0 -4
  947. package/.next/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_113c8xj.js +0 -4
  948. package/.next/server/chunks/ssr/[root-of-the-server]__0.tf.7i._.js +0 -7
  949. package/.next/server/chunks/ssr/[root-of-the-server]__00ch_ms._.js +0 -3
  950. package/.next/server/chunks/ssr/[root-of-the-server]__00s5z4o._.js +0 -3
  951. package/.next/server/chunks/ssr/[root-of-the-server]__0j8z8rh._.js +0 -3
  952. package/.next/server/chunks/ssr/[root-of-the-server]__0kcivrd._.js +0 -3
  953. package/.next/server/chunks/ssr/[root-of-the-server]__0t-9jvt._.js +0 -3
  954. package/.next/server/chunks/ssr/_0-3uzu1._.js +0 -3
  955. package/.next/server/chunks/ssr/_0.yhrky._.js +0 -3
  956. package/.next/server/chunks/ssr/_0.zct4p._.js +0 -3
  957. package/.next/server/chunks/ssr/_03bq.de._.js +0 -3
  958. package/.next/server/chunks/ssr/_03qiunv._.js +0 -3
  959. package/.next/server/chunks/ssr/_03~tfh5._.js +0 -3
  960. package/.next/server/chunks/ssr/_04kt9.8._.js +0 -3
  961. package/.next/server/chunks/ssr/_05jfize._.js +0 -3
  962. package/.next/server/chunks/ssr/_06_m-vp._.js +0 -3
  963. package/.next/server/chunks/ssr/_06pec-y._.js +0 -9
  964. package/.next/server/chunks/ssr/_07fm8yg._.js +0 -3
  965. package/.next/server/chunks/ssr/_095u19_._.js +0 -3
  966. package/.next/server/chunks/ssr/_0_qwmiz._.js +0 -3
  967. package/.next/server/chunks/ssr/_0b--0p5._.js +0 -3
  968. package/.next/server/chunks/ssr/_0bz7.8y._.js +0 -3
  969. package/.next/server/chunks/ssr/_0bzj8lx._.js +0 -3
  970. package/.next/server/chunks/ssr/_0cvy_5o._.js +0 -3
  971. package/.next/server/chunks/ssr/_0da0k2u._.js +0 -3
  972. package/.next/server/chunks/ssr/_0erbggi._.js +0 -3
  973. package/.next/server/chunks/ssr/_0e~4oah._.js +0 -3
  974. package/.next/server/chunks/ssr/_0gp2p2l._.js +0 -3
  975. package/.next/server/chunks/ssr/_0ibeuw6._.js +0 -3
  976. package/.next/server/chunks/ssr/_0ixicrb._.js +0 -3
  977. package/.next/server/chunks/ssr/_0jbimd_._.js +0 -3
  978. package/.next/server/chunks/ssr/_0jg6hy0._.js +0 -3
  979. package/.next/server/chunks/ssr/_0klzava._.js +0 -3
  980. package/.next/server/chunks/ssr/_0mbbas-._.js +0 -3
  981. package/.next/server/chunks/ssr/_0n.cr_p._.js +0 -3
  982. package/.next/server/chunks/ssr/_0n5nlcq._.js +0 -3
  983. package/.next/server/chunks/ssr/_0nnu1fp._.js +0 -3
  984. package/.next/server/chunks/ssr/_0pg6_56._.js +0 -3
  985. package/.next/server/chunks/ssr/_0pigg8p._.js +0 -3
  986. package/.next/server/chunks/ssr/_0q8o~q1._.js +0 -3
  987. package/.next/server/chunks/ssr/_0qu5la9._.js +0 -3
  988. package/.next/server/chunks/ssr/_0r1lb0f._.js +0 -3
  989. package/.next/server/chunks/ssr/_0r9.4nv._.js +0 -3
  990. package/.next/server/chunks/ssr/_0s4udmt._.js +0 -3
  991. package/.next/server/chunks/ssr/_0vn~fot._.js +0 -3
  992. package/.next/server/chunks/ssr/_0x._qd7._.js +0 -3
  993. package/.next/server/chunks/ssr/_0yh7rb_._.js +0 -3
  994. package/.next/server/chunks/ssr/_0zz58.-._.js +0 -5
  995. package/.next/server/chunks/ssr/_0~62r4-._.js +0 -3
  996. package/.next/server/chunks/ssr/_12u1eq4._.js +0 -3
  997. package/.next/server/chunks/ssr/_12~0n.1._.js +0 -3
  998. package/.next/server/chunks/ssr/_139rl~~._.js +0 -3
  999. package/.next/server/chunks/ssr/node_modules__pnpm_0ehnn5t._.js +0 -3
  1000. package/.next/server/chunks/ssr/packages_dashboard_src_0ylj~og._.js +0 -3
  1001. package/.next/server/chunks/ssr/packages_dashboard_src_app_connections_knowledge_page_tsx_027jwd3._.js +0 -3
  1002. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_advanced_page_tsx_0o~_885._.js +0 -3
  1003. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_routines_page_tsx_0wcgtqz._.js +0 -27
  1004. package/.next/server/chunks/ssr/packages_dashboard_src_app_settings_schedule_page_tsx_0b8zr2l._.js +0 -3
  1005. package/.next/static/chunks/0-7buty0ytvtv.js +0 -1
  1006. package/.next/static/chunks/0.42rv-zt_0x9.js +0 -1
  1007. package/.next/static/chunks/00bnu7r6428v0.js +0 -5
  1008. package/.next/static/chunks/00w3emoohg-8r.js +0 -1
  1009. package/.next/static/chunks/0105cq0xp5_hx.js +0 -1
  1010. package/.next/static/chunks/01eo9jrlkjy03.js +0 -3
  1011. package/.next/static/chunks/01v7jn283j2tm.js +0 -1
  1012. package/.next/static/chunks/04l41qp5lpt_e.js +0 -1
  1013. package/.next/static/chunks/04ufv2_7i_b6..js +0 -1
  1014. package/.next/static/chunks/053f~_moi~csx.js +0 -2
  1015. package/.next/static/chunks/05z4egti~pj9t.js +0 -1
  1016. package/.next/static/chunks/08ql4siwtlgpn.js +0 -1
  1017. package/.next/static/chunks/08wmxlql_xq.d.js +0 -1
  1018. package/.next/static/chunks/0_31fedlksujg.js +0 -1
  1019. package/.next/static/chunks/0eaf903zc7v~5.js +0 -1
  1020. package/.next/static/chunks/0flms4gevti3_.js +0 -1
  1021. package/.next/static/chunks/0gj-lf~wlbr8e.js +0 -1
  1022. package/.next/static/chunks/0gurc-kqffso6.js +0 -1
  1023. package/.next/static/chunks/0gyst06ap~-n~.js +0 -19
  1024. package/.next/static/chunks/0g~py-0sje~1m.js +0 -1
  1025. package/.next/static/chunks/0hk8v-849puw8.js +0 -1
  1026. package/.next/static/chunks/0hlvfkk1o66wf.js +0 -1
  1027. package/.next/static/chunks/0hog4tqr3.skm.js +0 -10
  1028. package/.next/static/chunks/0igwe6jdxslbt.js +0 -1
  1029. package/.next/static/chunks/0ikm~jl5uiw6-.js +0 -1
  1030. package/.next/static/chunks/0jffu_yb.90.i.js +0 -1
  1031. package/.next/static/chunks/0m04i2v9cb~qe.js +0 -1
  1032. package/.next/static/chunks/0mjh8s01-3c7z.css +0 -1
  1033. package/.next/static/chunks/0n3b0fpsgml2x.js +0 -1
  1034. package/.next/static/chunks/0n6_wx41s~.c6.js +0 -1
  1035. package/.next/static/chunks/0obgpq3wenu4s.js +0 -11
  1036. package/.next/static/chunks/0p.w04inifyq..js +0 -1
  1037. package/.next/static/chunks/0qqty6t-yyty4.js +0 -3
  1038. package/.next/static/chunks/0q~dvm61tpf3~.js +0 -1
  1039. package/.next/static/chunks/0rt76ki54i~hm.js +0 -1
  1040. package/.next/static/chunks/0scggusqhhid7.js +0 -1
  1041. package/.next/static/chunks/0t9rda60_m-vk.js +0 -1
  1042. package/.next/static/chunks/0u9qsqnsm-skj.js +0 -1
  1043. package/.next/static/chunks/0urw8_v9f97en.js +0 -1
  1044. package/.next/static/chunks/0vcwfsuf878wc.js +0 -1
  1045. package/.next/static/chunks/0vktbjh2e4xpg.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/0yh77irip2zjn.js +0 -1
  1050. package/.next/static/chunks/0ym9.va55pvtp.js +0 -1
  1051. package/.next/static/chunks/0ytubabo8p3y0.js +0 -1
  1052. package/.next/static/chunks/0z8eq-9fm5tni.js +0 -1
  1053. package/.next/static/chunks/0zaa6zhrjsaik.js +0 -1
  1054. package/.next/static/chunks/0zimhqr6r4xlz.js +0 -1
  1055. package/.next/static/chunks/1121be2-kv8g~.js +0 -1
  1056. package/.next/static/chunks/1257_06cutyq_.js +0 -1
  1057. package/.next/static/chunks/12ee4r9-orwi8.js +0 -1
  1058. package/.next/static/chunks/13kdqs0pmjqy5.js +0 -1
  1059. package/.next/static/chunks/13tf0oa.w743m.js +0 -1
  1060. package/.next/static/chunks/159r5abwjgz~a.js +0 -25
  1061. package/.next/static/chunks/15pljj6~je.kw.js +0 -1
  1062. package/.next/static/chunks/16s5r16k361sd.js +0 -1
  1063. package/.next/static/chunks/16tqshshex~qk.js +0 -1
  1064. package/.next/static/chunks/1763zl5q3pn~0.js +0 -1
  1065. package/.next/static/chunks/17846-azlpszq.js +0 -1
  1066. package/.next/static/chunks/17ncd9sikwfzz.js +0 -1
  1067. /package/.next/server/app/{connections/knowledge → browser}/page/build-manifest.json +0 -0
  1068. /package/.next/server/app/{connections/knowledge → browser}/page/server-reference-manifest.json +0 -0
  1069. /package/.next/server/app/{settings/advanced → connections/notes}/page/build-manifest.json +0 -0
  1070. /package/.next/server/app/{settings/advanced → connections/notes}/page/server-reference-manifest.json +0 -0
  1071. /package/.next/server/app/settings/{backends → danger-zone}/page/build-manifest.json +0 -0
  1072. /package/.next/server/app/settings/{backends → danger-zone}/page/server-reference-manifest.json +0 -0
  1073. /package/.next/server/app/settings/{connections → hours}/page/build-manifest.json +0 -0
  1074. /package/.next/server/app/settings/{connections → hours}/page/server-reference-manifest.json +0 -0
  1075. /package/.next/server/app/settings/{journal → infrastructure}/page/build-manifest.json +0 -0
  1076. /package/.next/server/app/settings/{journal → infrastructure}/page/server-reference-manifest.json +0 -0
  1077. /package/.next/server/app/settings/{messaging → lessons}/page/build-manifest.json +0 -0
  1078. /package/.next/server/app/settings/{messaging → lessons}/page/server-reference-manifest.json +0 -0
  1079. /package/.next/server/app/settings/{processes → safety}/page/build-manifest.json +0 -0
  1080. /package/.next/server/app/settings/{processes → safety}/page/server-reference-manifest.json +0 -0
  1081. /package/.next/static/{buq5uD5wcoRL2KUVTM1i7 → 4Wu33OvzutxPxXUu1PWPC}/_buildManifest.js +0 -0
  1082. /package/.next/static/{buq5uD5wcoRL2KUVTM1i7 → 4Wu33OvzutxPxXUu1PWPC}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- module.exports=[94085,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(32307),e=a.i(82687),f=a.i(42732),g=a.i(5423);let h=(0,g.default)("CircleDashed",[["path",{d:"M10.1 2.182a10 10 0 0 1 3.8 0",key:"5ilxe3"}],["path",{d:"M13.9 21.818a10 10 0 0 1-3.8 0",key:"11zvb9"}],["path",{d:"M17.609 3.721a10 10 0 0 1 2.69 2.7",key:"1iw5b2"}],["path",{d:"M2.182 13.9a10 10 0 0 1 0-3.8",key:"c0bmvh"}],["path",{d:"M20.279 17.609a10 10 0 0 1-2.7 2.69",key:"1ruxm7"}],["path",{d:"M21.818 10.1a10 10 0 0 1 0 3.8",key:"qkgqxc"}],["path",{d:"M3.721 6.391a10 10 0 0 1 2.7-2.69",key:"1mcia2"}],["path",{d:"M6.391 20.279a10 10 0 0 1-2.69-2.7",key:"1fvljs"}]]),i=(0,g.default)("HardDrive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["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"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]);var j=a.i(92241);let k=(0,g.default)("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);var l=a.i(70297),m=a.i(96336),n=a.i(14859),o=a.i(81130),p=a.i(62588);a.i(70010);var q=a.i(35875),r=a.i(59974),s=a.i(54150),t=a.i(78933),u=a.i(92379),v=a.i(21218),w=a.i(30400),x=a.i(87206),y=a.i(57216),z=a.i(47696),A=a.i(23780),B=a.i(28314),C=a.i(48558),D=a.i(56295),E=a.i(74345);function F(){let a=(0,o.useQueryClient)(),d=(0,B.useConfirm)(),[e,f]=(0,c.useState)(!1),[g,h]=(0,c.useState)(!1),[i,l]=(0,c.useState)(null),[m,n]=(0,c.useState)(null),{data:s}=(0,p.useQuery)({queryKey:["voice-status"],queryFn:async()=>{try{return await r.api.get("/voice/status")}catch(a){if(g)return{enabled:!1,installing:!0,installed:!0,modelOnDisk:!1,modelSizeBytes:0,modelDir:"",status:"running",error:null,startedAt:null,finishedAt:null,model:"onnx-community/whisper-large-v3-turbo",progress:null,primaryLanguage:null,suggestedPrimaryLanguage:"en"};throw a}},refetchInterval:a=>{let b=a.state.data;return!!(g||b?.installing||b?.status==="running")&&1500},refetchOnWindowFocus:!1});(0,c.useEffect)(()=>{if(!s)return;let a=s.primaryLanguage??s.suggestedPrimaryLanguage;n(b=>b??a)},[s?.primaryLanguage,s?.suggestedPrimaryLanguage,s]),(0,c.useEffect)(()=>{g&&s?.enabled&&(h(!1),a.invalidateQueries({queryKey:["config"]}))},[g,s?.enabled,a]),(0,c.useEffect)(()=>{s?.status!=="ready"||s.enabled||h(!0)},[s?.status,s?.enabled]);let t=async()=>{l(null),f(!0);try{await r.api.post("/voice/install",{primaryLanguage:m}),await a.invalidateQueries({queryKey:["voice-status"]})}catch(a){l(a instanceof r.ApiError?a.message:"Install failed")}finally{f(!1)}},u=async()=>{if(await d({title:"Delete the local Whisper model?",description:'Removes the on-disk Whisper weights (~800 MB). Voice mode stays enabled — click "Upgrade & install" afterwards to download the model again. Use this when an install attempt failed and the dashboard is stuck on an error banner.',confirmLabel:"Delete model",variant:"destructive"})){l(null),f(!0);try{await r.api.delete("/voice/model"),await a.invalidateQueries({queryKey:["voice-status"]})}catch(a){l(a instanceof r.ApiError?a.message:"Deleting voice model failed")}finally{f(!1)}}},x=async b=>{l(null),f(!0);try{await r.api.patch("/config",{voiceTranscriptionPrimaryLanguage:b}),n(b),await a.invalidateQueries({queryKey:["voice-status"]}),await a.invalidateQueries({queryKey:["config"]})}catch(a){l(a instanceof r.ApiError?a.message:"Saving primary language failed")}finally{f(!1)}},y=s?.enabled??!1,A=e||(s?.installing??!1)||g,D=s?.progress??null,E=i??s?.error??null,F=y&&s?.modelOnDisk===!1&&!A,H=(0,c.useMemo)(()=>{let a=new Set(q.VOICE_LANGUAGE_TOP.map(a=>a.code)),b=q.VOICE_LANGUAGE_FULL.filter(b=>!a.has(b.code)).slice().sort((a,b)=>a.englishName.localeCompare(b.englishName));return{top:q.VOICE_LANGUAGE_TOP,more:b}},[]),I=a=>(0,b.jsxs)(z.Select,{value:m??void 0,onValueChange:a=>n(a),disabled:A,children:[(0,b.jsx)(z.SelectTrigger,{id:a,className:"w-full max-w-sm",children:(0,b.jsx)(z.SelectValue,{placeholder:"Select language…"})}),(0,b.jsxs)(z.SelectContent,{children:[H.top.length>0&&(0,b.jsxs)(z.SelectGroup,{children:[(0,b.jsx)(z.SelectLabel,{children:"Common"}),H.top.map(a=>(0,b.jsxs)(z.SelectItem,{value:a.code,children:[a.nativeName,a.nativeName!==a.englishName&&(0,b.jsxs)("span",{className:"text-muted-foreground",children:[" · ",a.englishName]})]},a.code))]}),H.more.length>0&&(0,b.jsxs)(z.SelectGroup,{children:[(0,b.jsx)(z.SelectLabel,{children:"More languages"}),H.more.map(a=>(0,b.jsxs)(z.SelectItem,{value:a.code,children:[a.nativeName,a.nativeName!==a.englishName&&(0,b.jsxs)("span",{className:"text-muted-foreground",children:[" · ",a.englishName]})]},a.code))]})]})]});return(0,b.jsxs)(w.Card,{children:[(0,b.jsx)(w.CardHeader,{children:(0,b.jsxs)(w.CardTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(k,{className:"h-4 w-4"}),"Voice Mode"]})}),(0,b.jsxs)("div",{className:"space-y-3 [&>p]:max-w-prose",children:[(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Transcribe inbound voice messages (Telegram voice / WhatsApp PTT / Discord audio / Slack audio file) locally with Whisper before they reach the agent. Audio bytes never leave the host. See"," ",(0,b.jsx)("code",{children:"docs/design/appendices/voice-transcription.md"})," for implementation details."]}),(0,b.jsx)(G,{status:s,modelOnDisk:s?.modelOnDisk??!1,upgradeAvailable:F,installing:A,waitingForRestart:g,onDelete:u,deleteDisabled:e}),E&&(0,b.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/5 px-3 py-2 text-xs text-destructive",children:E}),F&&(0,b.jsxs)("div",{className:"rounded-md border border-amber-500/40 bg-amber-500/5 px-3 py-2 text-xs",children:[(0,b.jsx)("p",{className:"font-medium text-amber-700 dark:text-amber-400",children:"Upgrade voice model"}),(0,b.jsxs)("p",{className:"text-muted-foreground mt-0.5",children:["The configured model"," ",(0,b.jsx)("code",{children:s?.model})," is not yet downloaded — likely because a package update changed the default. Click"," ",(0,b.jsx)("strong",{children:"Upgrade & install"})," below to fetch it. Inbound voice will keep using the previous model until then."]})]}),!y&&!A&&(0,b.jsxs)("div",{className:"space-y-2 rounded-md border border-border bg-muted/30 px-3 py-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{htmlFor:"voice-primary-language",className:"text-sm font-medium",children:"Your primary spoken language"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Used as the fallback when Whisper's automatic language detection fails on a clip. Other languages are still transcribed correctly when detected — this only kicks in when detection is uncertain."})]}),I("voice-primary-language")]}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("p",{className:"text-sm",children:["Status:"," ",(0,b.jsx)("span",{className:"font-medium",children:A?g?"Restarting daemon to apply…":D?.phase==="ready"?"Finalizing…":D?.currentFile?`Downloading ${D.currentFile}…`:"Starting model download…":y?F?"Enabled (upgrade available)":"Enabled":"Disabled"})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:y?"Inbound audio is transcribed locally before it reaches the agent. You can change your primary language below at any time.":"Turning this on downloads the Whisper weights (~800 MB), then auto-restarts the daemon so the transcriber picks up the new flag. First download takes a minute or two, depending on your connection."})]}),(0,b.jsx)(v.Button,{size:"sm",variant:y&&!F?"outline":"default",onClick:t,disabled:e||A||y&&!F||null===m,children:A?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(j.Loader2,{className:"h-3.5 w-3.5 mr-1 animate-spin"}),"Working…"]}):F?"Upgrade & install":y?"Enabled":"Enable & install"})]}),y&&!A&&(0,b.jsxs)("div",{className:"space-y-2 rounded-md border border-border bg-muted/30 px-3 py-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{htmlFor:"voice-primary-language-live",className:"text-sm font-medium",children:"Primary spoken language"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Saved changes apply to the next inbound voice attachment — no daemon restart needed."})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[I("voice-primary-language-live"),(0,b.jsx)(v.Button,{size:"sm",variant:"outline",disabled:e||null===m||m===s?.primaryLanguage,onClick:()=>{m&&x(m)},children:"Save"})]})]}),A&&!g&&(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-muted",children:(0,b.jsx)("div",{className:(0,C.cn)("h-full bg-primary transition-[width] duration-200",(!D||0===D.percent)&&"animate-pulse"),style:{width:`${Math.min(100,Math.max(D?.percent??0,D?2:8))}%`}})}),(0,b.jsxs)("div",{className:"flex items-center justify-between text-[11px] text-muted-foreground tabular-nums",children:[(0,b.jsxs)("span",{children:[D&&D.totalBytes>0?`${J(D.loadedBytes)} / ${J(D.totalBytes)}`:"Contacting Hugging Face…",D&&D.filesDownloaded>0&&(0,b.jsxs)(b.Fragment,{children:[" · ",D.filesDownloaded," file",1===D.filesDownloaded?"":"s"," complete"]})]}),(0,b.jsx)("span",{children:D&&D.percent>0?`${Math.round(D.percent)}%`:""})]})]})]})]})}function G({status:a,modelOnDisk:c,upgradeAvailable:f,installing:g,waitingForRestart:k,onDelete:l,deleteDisabled:n}){let o=a?.model??"onnx-community/whisper-large-v3-turbo",p=a?.modelSizeBytes??0,q=a?.modelDir??null,r=g?"installing":f?"upgrade":c?"installed":"missing",s={installing:{container:"border-border bg-muted/30",pill:"bg-muted text-foreground",iconBg:"text-muted-foreground"},upgrade:{container:"border-amber-500/40 bg-amber-500/5",pill:"bg-amber-500/15 text-amber-700 dark:text-amber-400",iconBg:"text-amber-600 dark:text-amber-400"},installed:{container:"border-emerald-500/40 bg-emerald-500/5",pill:"bg-emerald-500/15 text-emerald-700 dark:text-emerald-400",iconBg:"text-emerald-600 dark:text-emerald-400"},missing:{container:"border-border bg-muted/30",pill:"bg-muted text-muted-foreground",iconBg:"text-muted-foreground"}}[r],t="installing"===r?(0,b.jsx)(j.Loader2,{className:(0,C.cn)("h-4 w-4 animate-spin",s.iconBg)}):"installed"===r?(0,b.jsx)(e.CheckCircle2,{className:(0,C.cn)("h-4 w-4",s.iconBg)}):"upgrade"===r?(0,b.jsx)(d.AlertTriangle,{className:(0,C.cn)("h-4 w-4",s.iconBg)}):(0,b.jsx)(h,{className:(0,C.cn)("h-4 w-4",s.iconBg)}),u="installed"===r&&p>0?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 tabular-nums",children:[(0,b.jsx)(i,{className:"h-3 w-3"}),J(p)," on disk"]}):"upgrade"===r?(0,b.jsx)("span",{children:"Configured model is not on disk yet."}):"installing"===r?(0,b.jsx)("span",{children:"Downloading weights from Hugging Face…"}):(0,b.jsxs)("span",{children:["Click ",(0,b.jsx)("strong",{children:"Enable & install"})," below to download (~800 MB)."]});return(0,b.jsx)("div",{className:(0,C.cn)("rounded-md border px-3 py-2.5",s.container),children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("div",{className:"mt-0.5",children:t}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("span",{className:(0,C.cn)("inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium uppercase tracking-wide",s.pill),children:"installing"===r?k?"Restarting":"Installing":"installed"===r?"Installed":"upgrade"===r?"Upgrade available":"Not installed"}),(0,b.jsx)("code",{className:"break-all text-xs",children:o})]}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:u}),q&&"installed"===r&&(0,b.jsx)("div",{className:"text-[10px] text-muted-foreground/70 font-mono break-all",children:q})]}),!g&&("installed"===r||"upgrade"===r)&&(0,b.jsxs)(v.Button,{size:"sm",variant:"ghost",onClick:l,disabled:n,className:"h-7 shrink-0 px-2 text-xs text-muted-foreground hover:text-destructive",children:[(0,b.jsx)(m.Trash2,{className:"h-3 w-3 mr-1"}),"Delete"]})]})})}async function H(a){switch(a){case"reset-config":return r.api.post("/system/reset-config");case"purge-history":return r.api.post("/system/purge-history");case"reinstall-context":return r.api.post("/system/reinstall-context",{confirm:"CLEAN"});case"factory-reset":return r.api.post("/system/factory-reset")}}function I(a,b){switch(a){case"reset-config":b.invalidateQueries({queryKey:["config"]});return;case"purge-history":b.invalidateQueries({queryKey:["conversations"]}),b.invalidateQueries({queryKey:["events"]}),b.invalidateQueries({queryKey:["cost"]});return;case"reinstall-context":b.invalidateQueries({queryKey:["context"]}),b.invalidateQueries({queryKey:["setup-status"]});return;case"factory-reset":b.invalidateQueries();return}}function J(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:a<0x40000000?`${(a/1048576).toFixed(1)} MB`:`${(a/0x40000000).toFixed(1)} GB`}function K(){let[a,e]=(0,c.useState)(!1),[g,h]=(0,c.useState)(null),[i,j]=(0,c.useState)(null),[k,p]=(0,c.useState)(null),q=(0,B.useConfirm)(),s=(0,o.useQueryClient)(),t=async(a,b)=>{if(await q({title:b.title,description:b.description,confirmLabel:b.confirmLabel,variant:"destructive"})&&(!b.doubleConfirm||await q({title:b.doubleConfirm.title,description:b.doubleConfirm.description,confirmLabel:b.doubleConfirm.confirmLabel,variant:"destructive",requireText:b.doubleConfirm.requireText}))){h(a),j(null),p(null);try{let c=await H(a);I(a,s),p(b.successMessage(c))}catch(a){j(a instanceof r.ApiError?a.message:"Request failed")}finally{h(null)}}};return(0,b.jsx)(y.Collapsible,{open:a,onOpenChange:e,children:(0,b.jsxs)(w.Card,{className:"border-destructive/40",children:[(0,b.jsx)(y.CollapsibleTrigger,{asChild:!0,children:(0,b.jsx)(w.CardHeader,{className:"cursor-pointer select-none",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(f.ChevronRight,{className:(0,C.cn)("h-4 w-4 text-destructive transition-transform",a&&"rotate-90")}),(0,b.jsx)(d.AlertTriangle,{className:"h-4 w-4 text-destructive"}),(0,b.jsx)(w.CardTitle,{className:"text-destructive",children:"Danger Zone"})]})})}),(0,b.jsx)(y.CollapsibleContent,{children:(0,b.jsxs)("div",{className:"space-y-4 pb-1",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground max-w-prose",children:"Destructive actions that cannot be undone. Each action requires confirmation before executing."}),i&&(0,b.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/5 px-3 py-2 text-xs text-destructive",children:i}),k&&(0,b.jsx)("p",{className:"rounded-md border border-border bg-muted/30 px-3 py-2 text-xs text-muted-foreground",children:k}),(0,b.jsx)(L,{title:"Reset all config to defaults",description:"Restores every runtime setting to its factory default. Bootstrap values in .env (API port, data directory, log level) and integration credentials are preserved.",icon:(0,b.jsx)(l.RotateCcw,{className:"h-3.5 w-3.5 mr-1"}),label:"Reset config",busy:"reset-config"===g,disabled:null!==g,onClick:()=>t("reset-config",{title:"Reset all config to defaults?",description:"Restores every runtime setting in the database to its factory default. Bootstrap values in .env (API port, data directory, log level) and integration credentials are preserved.",confirmLabel:"Reset config",successMessage:a=>`Cleared ${a.cleared??0} runtime setting(s).`})}),(0,b.jsx)(A.Separator,{}),(0,b.jsx)(L,{title:"Delete all sessions and history",description:"Permanently removes all non-active conversation sessions, messages, action logs, observations, notification logs, MD snapshots, and scheduled tasks. The active session is preserved.",icon:(0,b.jsx)(m.Trash2,{className:"h-3.5 w-3.5 mr-1"}),label:"Delete history",busy:"purge-history"===g,disabled:null!==g,onClick:()=>t("purge-history",{title:"Delete all sessions and history?",description:"Permanently removes every non-active conversation session, message, action log, observation, notification log, MD snapshot, and scheduled task. The active session is preserved.",confirmLabel:"Delete history",successMessage:a=>`Deleted ${a.deletedSessions??0} session(s), ${a.deletedMessages??0} message(s), ${a.deletedActions??0} action(s).`})}),(0,b.jsx)(A.Separator,{}),(0,b.jsx)(L,{title:"Reinstall context",description:"Writes a tarball backup first, then wipes context/ (including policies/management.md) and md_file_snapshots. Conversation history, settings, and credentials are preserved. Restart the daemon to re-seed the vault from templates.",icon:(0,b.jsx)(l.RotateCcw,{className:"h-3.5 w-3.5 mr-1"}),label:"Reinstall context",busy:"reinstall-context"===g,disabled:null!==g,onClick:()=>(async()=>{h("reinstall-context"),j(null),p(null);try{let a,b=await r.api.get("/system/reinstall-context/plan");if(!await q({title:"Clean reinstall of context/ (B-007)?",description:(a=b.ancillaryDirs.length>0?`Ancillary caches to remove: ${b.ancillaryDirs.join(", ")}.`:"No ancillary caches are scheduled for removal.",[`This will remove ${b.fileCount} file(s) (${J(b.totalBytes)}) from ${b.contextDir}, clear ${b.snapshotRowCount} snapshot row(s), and then re-run setup on the next daemon start.`,a,`Backup tarball path: ${b.backupPath}`].join(" ")),confirmLabel:"Continue",variant:"destructive"})||!await q({title:"Type CLEAN to confirm",description:`Backup tarball: ${b.backupPath}. Proceed to remove ${b.fileCount} file(s) and clear ${b.snapshotRowCount} snapshot row(s).`,confirmLabel:"Reinstall context",variant:"destructive",requireText:"CLEAN"}))return;let c=await H("reinstall-context");I("reinstall-context",s),p(`Reinstalled. Removed ${c.filesDeleted??0} file(s), cleared ${c.snapshotRowsDeleted??0} snapshot row(s). Backup at ${c.backupPath??b.backupPath}.`)}catch(a){j(a instanceof r.ApiError?a.message:"Request failed")}finally{h(null)}})()}),(0,b.jsx)(A.Separator,{}),(0,b.jsx)(L,{title:"Factory reset",description:"Wipe everything: history, settings, context, credentials, encrypted blobs, attachments, session workdirs, backups, caches, user skills, integrations, backend configs, mail accounts, and recurring schedules. The SQLite DB is compacted afterward.",icon:(0,b.jsx)(n.Zap,{className:"h-3.5 w-3.5 mr-1"}),label:"Factory reset",busy:"factory-reset"===g,disabled:null!==g,onClick:()=>t("factory-reset",{title:"Factory reset — really?",description:"Wipes everything on this device: conversation history, action logs, runtime settings, context files (including policies/management.md), keychain secrets, encrypted blobs, uploaded attachments, session and skill-optimizer workdirs, all backups, caches, user skills, the managed Codex Azure config, the Whisper model cache, and every user-data table (backends, mail accounts, recurring schedules, receipts, books, travel bookings, runtime state, auth telemetry). The SQLite DB is compacted afterward; restart the daemon to re-bootstrap observers and adapters.",confirmLabel:"Continue",doubleConfirm:{title:"Final confirmation",description:"There is no undo. Type the confirmation phrase below to proceed.",confirmLabel:"Factory reset",requireText:"RESET EVERYTHING"},successMessage:a=>{let b="string"==typeof a.status?a.status:"reset",c=Array.isArray(a.errors)?a.errors.length:0,d=Array.isArray(a.adapterReloadErrors)?a.adapterReloadErrors.length:0;return"reset_with_errors"===b||c>0||d>0?`Factory reset finished with warnings. Restart the daemon to re-bootstrap observers and adapters. (${c} reset step warning(s), ${d} adapter reload warning(s).)`:"Factory reset complete. Restart the daemon to re-bootstrap observers and adapters."}})})]})})]})})}function L({title:a,description:c,icon:d,label:e,busy:f,disabled:g,onClick:h}){return(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium",children:a}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:c})]}),(0,b.jsxs)(v.Button,{variant:"destructive",size:"sm",onClick:h,disabled:g,className:"shrink-0",children:[d,f?"Working...":e]})]})}a.s(["default",0,function(){let{data:a}=(0,s.useConfig)(),{toast:d,showToast:e}=(0,t.useSaveConfig)(),{deferSaveFor:f,dv:g,dirtyFields:h,clearDirtyKeys:i}=(0,u.useDirtyFields)(),j=(0,o.useQueryClient)(),k=(0,B.useConfirm)(),[m,n]=(0,c.useState)(!1),p=async()=>{if(await k({title:"Reset disallowed tools to defaults?",description:"This will restore the default safety tool list, replacing any customizations.",confirmLabel:"Reset",variant:"destructive"})){n(!0);try{await r.api.post("/config/reset-safety"),j.invalidateQueries({queryKey:["config"]}),i(["disallowedTools","allowedToolsOverride"]),e("success","Safety tools reset to defaults")}finally{n(!1)}}};if(!a)return(0,b.jsx)("div",{className:"text-muted-foreground",children:"Loading..."});let q=f(a);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(x.PageHeader,{title:"Advanced",description:"Power-user knobs and safety settings. Most of these are low-level — read each description carefully before saving."}),(0,b.jsx)(E.SettingsToast,{toast:d}),(0,b.jsxs)(w.Card,{children:[(0,b.jsx)(w.CardHeader,{children:(0,b.jsx)(w.CardTitle,{children:"Safety — Tool Policy"})}),(0,b.jsxs)("div",{className:"space-y-3 [&>p]:max-w-prose",children:[(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Guardrails applied to every backend’s tool calls, enforced before each call runs. Entries are either a plain tool name (",(0,b.jsx)("code",{children:"Write"}),", ",(0,b.jsx)("code",{children:"WebFetch"}),") or a tool name with an argument pattern in parentheses (",(0,b.jsx)("code",{children:"Bash(rm -rf *)"}),") to match only specific invocations."," ",(0,b.jsx)("strong",{children:"Disallowed wins over allowed"})," — any match in the disallowed list blocks the call even if the allowed override would otherwise permit it. The per-backend Safe / Allow toggle lives in"," ",(0,b.jsx)("strong",{children:"Models & Cost → Execution Mode"}),"."]}),(0,b.jsx)(D.EditableArrayField,{label:"Disallowed Tools",values:g("disallowedTools",a.disallowedTools),configKey:"disallowedTools",variant:"red",placeholder:"e.g. Bash(rm -rf *)",modified:h.has("disallowedTools"),onSave:q}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground -mt-1",children:"Tools the agent is forbidden from calling. The defaults block destructive shell commands and dangerous file operations. Use Reset to Defaults below to restore them after experimenting."}),(0,b.jsx)(A.Separator,{}),(0,b.jsx)(D.EditableArrayField,{label:"Allowed Tools Override",values:g("allowedToolsOverride",a.allowedTools),configKey:"allowedToolsOverride",variant:"green",placeholder:"e.g. Bash(git push)",modified:h.has("allowedToolsOverride"),onSave:q}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground -mt-1",children:["Narrow exceptions to the disallowed list. Use this to permit a specific safe invocation of an otherwise-blocked tool — for example, allow ",(0,b.jsx)("code",{children:"Bash(git push)"})," while keeping arbitrary"," ",(0,b.jsx)("code",{children:"Bash"})," blocked."]}),(0,b.jsx)(A.Separator,{}),(0,b.jsxs)(v.Button,{variant:"outline",size:"sm",onClick:p,disabled:m,children:[(0,b.jsx)(l.RotateCcw,{className:"h-3.5 w-3.5 mr-1"}),m?"Resetting...":"Reset to Defaults"]}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Restores the built-in disallowed-tool list and"," ",(0,b.jsx)("strong",{children:"clears the allowed override list"}),", replacing any customizations in both. Use this when your safety config has drifted and you want a clean slate."]})]})]}),(0,b.jsx)(F,{}),(0,b.jsx)(K,{})]})}],94085)}];
2
-
3
- //# sourceMappingURL=packages_dashboard_src_app_settings_advanced_page_tsx_0o~_885._.js.map
@@ -1,27 +0,0 @@
1
- module.exports=[88701,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(45952),e=a.i(43179),f=a.i(77694),g=a.i(92417),h=a.i(43169),i=a.i(96336),j=a.i(59974),k=a.i(7437),l=a.i(54150),m=a.i(28314),n=a.i(21218),o=a.i(30400),p=a.i(6943),q=a.i(70300),r=a.i(8212),s=a.i(28627),t=a.i(87206),u=a.i(23780),v=a.i(48558);let w={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},x={sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6},y={Sun:0,Mon:1,Tue:2,Wed:3,Thu:4,Fri:5,Sat:6};function z(a,b,c={}){let d=function(a){let b=a.trim().split(/\s+/);if(5!==b.length)return{ok:!1,error:"Cron must have exactly 5 fields: minute hour day-of-month month day-of-week."};let c=A(b[0],"minute");if(!c.ok)return c;let d=A(b[1],"hour");if(!d.ok)return d;let e=A(b[2],"dayOfMonth");if(!e.ok)return e;let f=A(b[3],"month");if(!f.ok)return f;let g=A(b[4],"dayOfWeek");return g.ok?{ok:!0,value:{minute:c.value,hour:d.value,dayOfMonth:e.value,month:f.value,dayOfWeek:g.value}}:g}(a);if(!d.ok)return d;let e=c.count??3,f=new Intl.DateTimeFormat("en-US",{timeZone:b,weekday:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",hourCycle:"h23"}),g=[],h=new Date(6e4*Math.floor((c.from??new Date).getTime()/6e4)+6e4),i=0;for(;g.length<e&&i<527040;)(function(a,b,c){let d=function(a,b){let c=a.formatToParts(b),d=a=>c.find(b=>b.type===a)?.value??"";return{minute:Number(d("minute")),hour:Number(d("hour")),day:Number(d("day")),month:Number(d("month")),weekday:y[d("weekday")]??-1}}(b,c);if(!a.minute.matches(d.minute)||!a.hour.matches(d.hour)||!a.month.matches(d.month))return!1;let e=a.dayOfMonth.matches(d.day),f=a.dayOfWeek.matches(d.weekday);return!!a.dayOfMonth.isWildcard&&!!a.dayOfWeek.isWildcard||(a.dayOfMonth.isWildcard?f:a.dayOfWeek.isWildcard?e:e||f)})(d.value,f,h)&&g.push(new Date(h)),h=new Date(h.getTime()+6e4),i+=1;return 0===g.length?{ok:!1,error:"No upcoming runs found within the next year for this timezone."}:{ok:!0,nextRuns:g}}function A(a,b){var c,d;let e,f=(c=a,(e="month"===(d=b)?w:"dayOfWeek"===d?x:null)?c.toLowerCase().replace(/[a-z]{3}/g,a=>{let b=e[a];return void 0===b?a:String(b)}):c.toLowerCase());if(0===f.length)return{ok:!1,error:`Cron ${D(b)} field is empty.`};let g=function(a){switch(a){case"minute":return{min:0,max:59};case"hour":return{min:0,max:23};case"dayOfMonth":return{min:1,max:31};case"month":return{min:1,max:12};case"dayOfWeek":return{min:0,max:7}}}(b),h=new Set;for(let a of f.split(",")){let c,d;if(!a)return{ok:!1,error:`Cron ${D(b)} field has an empty list item.`};let[e,f]=a.split("/");if(a.split("/").length>2)return{ok:!1,error:`Cron ${D(b)} field has an invalid step: \`${a}\`.`};let i=void 0===f?1:Number.parseInt(f,10);if(!Number.isInteger(i)||i<=0)return{ok:!1,error:`Cron ${D(b)} step must be a positive integer.`};if("*"===e)c=g.min,d=g.max;else if(e.includes("-")){let[f,g]=e.split("-");if(c=B(f,b),d=B(g,b),Number.isNaN(c)||Number.isNaN(d)||c>d)return{ok:!1,error:`Cron ${D(b)} range is invalid: \`${a}\`.`}}else if(d=c=B(e,b),Number.isNaN(c))return{ok:!1,error:`Cron ${D(b)} value is invalid: \`${a}\`.`};if(c<g.min||d>g.max)return{ok:!1,error:`Cron ${D(b)} values must stay within ${g.min}-${g.max}.`};for(let a=c;a<=d;a+=i)h.add(C(a,b))}if(0===h.size)return{ok:!1,error:`Cron ${D(b)} field produced no values.`};let i="dayOfWeek"===b?7:g.max-g.min+1;return{ok:!0,value:{matches:a=>h.has(C(a,b)),isWildcard:h.size===i}}}function B(a,b){let c=Number.parseInt(a,10);return Number.isInteger(c)?c:NaN}function C(a,b){return"dayOfWeek"===b&&7===a?0:a}function D(a){switch(a){case"minute":return"minute";case"hour":return"hour";case"dayOfMonth":return"day-of-month";case"month":return"month";case"dayOfWeek":return"day-of-week"}}let E=[{stem:"_index",label:"Overview",cadence:"navigation"},{stem:"hourly",label:"Hourly",cadence:"every hour"},{stem:"morning",label:"Morning",cadence:"04:00 daily"},{stem:"evening",label:"Evening",cadence:"18:00 daily"},{stem:"weekly",label:"Weekly",cadence:"Fri 18:00"},{stem:"monthly",label:"Monthly",cadence:"month end"}],F=new Map(E.map(a=>[a.stem,a]));function G(a){return`policies/routines/custom/${a}`}function H(a,b){let c=a.match(/^---\r?\n([\s\S]*?)\r?\n---/);if(!c)return null;let d=RegExp(`^${b}\\s*:\\s*(.+?)\\s*$`,"m"),e=c[1].match(d);if(!e)return null;let f=e[1].trim();return(f.startsWith('"')&&f.endsWith('"')||f.startsWith("'")&&f.endsWith("'"))&&(f=f.slice(1,-1)),f}function I({cronExpression:a,timeZone:d,title:e="Next runs"}){let f=(0,c.useMemo)(()=>a&&0!==a.trim().length?z(a,d,{count:3}):{ok:!1,error:"Add a `cron:` frontmatter field to preview the schedule."},[a,d]);return(0,b.jsxs)(o.Card,{className:"border-dashed p-3",children:[(0,b.jsx)("div",{className:"flex items-center justify-between gap-3",children:(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:e}),(0,b.jsxs)("p",{className:"pt-1 text-xs text-muted-foreground",children:["Previewed in daemon timezone: ",(0,b.jsx)("code",{children:d})]})]})}),f.ok?(0,b.jsx)("div",{className:"pt-3 text-sm",children:f.nextRuns.map((a,c)=>(0,b.jsx)("div",{className:"font-mono text-xs text-foreground",children:new Intl.DateTimeFormat("en-US",{timeZone:d,dateStyle:"medium",timeStyle:"short"}).format(a)},`${a.toISOString()}-${c}`))}):(0,b.jsx)("p",{className:"pt-3 text-xs text-muted-foreground",children:f.error})]})}function J({selection:a,onSelect:f,onCreateClick:g}){let{data:i}=(0,k.useContextList)("routines"),j=(0,c.useMemo)(()=>(i?.files??[]).filter(a=>a.name.startsWith("custom/")&&a.name.endsWith(".md")).map(a=>({slug:a.name.slice(7,-3),lastModified:a.lastModified})).sort((a,b)=>a.slug.localeCompare(b.slug)),[i?.files]),l=(0,c.useMemo)(()=>[...E,...(i?.files??[]).filter(a=>!a.name.startsWith("custom/")&&a.name.endsWith(".md")).map(a=>{var b;return(b=a.name).endsWith(".md")?b.slice(0,-3):b}).filter(a=>!F.has(a)).sort((a,b)=>a.localeCompare(b)).map(a=>({stem:a,label:a,cadence:"additional"}))],[i?.files]),m=b=>a.kind===b.kind&&("builtin"===a.kind?a.stem===b.stem:a.slug===b.slug);return(0,b.jsxs)(o.Card,{className:"p-3",children:[(0,b.jsx)("div",{className:"flex items-center justify-between px-1 pb-2",children:(0,b.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:"Built-in"})}),(0,b.jsx)("nav",{className:"flex flex-col",children:l.map(a=>{let c={kind:"builtin",stem:a.stem},e="_index"===a.stem;return(0,b.jsxs)("button",{type:"button",onClick:()=>f(c),className:(0,v.cn)("flex items-center justify-between rounded-md px-2 py-1.5 text-left text-sm hover:bg-accent",m(c)&&"bg-accent text-foreground"),children:[(0,b.jsxs)("span",{className:"flex items-center gap-2",children:[e?(0,b.jsx)(d.FileText,{className:"h-3.5 w-3.5 text-muted-foreground"}):(0,b.jsx)(h.Repeat,{className:"h-3.5 w-3.5 text-muted-foreground"}),a.label]}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a.cadence})]},a.stem)})}),(0,b.jsx)(u.Separator,{className:"my-3"}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-1 pb-2",children:[(0,b.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:"Custom"}),(0,b.jsxs)(n.Button,{type:"button",size:"sm",variant:"outline",className:"h-6 gap-1 px-2 text-xs",onClick:g,children:[(0,b.jsx)(e.Plus,{className:"h-3 w-3"}),"Add"]})]}),0===j.length?(0,b.jsx)("p",{className:"px-2 py-2 text-xs text-muted-foreground",children:"No custom routines yet."}):(0,b.jsx)("nav",{className:"flex flex-col",children:j.map(({slug:a})=>(0,b.jsx)(K,{slug:a,selected:m({kind:"custom",slug:a}),onSelect:()=>f({kind:"custom",slug:a})},a))})]})}function K({slug:a,selected:c,onSelect:d}){let e=G(a),f=(0,k.useContextFile)(e),h="false"===(f.data?H(f.data.content,"enabled"):null);return(0,b.jsxs)("button",{type:"button",onClick:d,className:(0,v.cn)("flex items-center justify-between rounded-md px-2 py-1.5 text-left text-sm hover:bg-accent",c&&"bg-accent text-foreground",h&&"opacity-60"),title:h?"Disabled — cron job not running":void 0,children:[(0,b.jsx)("span",{className:"truncate font-mono text-xs",children:a}),h&&(0,b.jsx)(g.PowerOff,{className:"ml-2 h-3 w-3 shrink-0 text-muted-foreground"})]})}function L({selection:a,timezone:c,onDeleted:d}){var e;let f="builtin"===a.kind?(e=a.stem,`routines/${e}`):G(a.slug),g=(0,k.useContextFile)(f);return g.isLoading?(0,b.jsx)(o.Card,{className:"p-4",children:(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading…"})}):g.error||!g.data?404===g.error?.status?(0,b.jsx)(o.Card,{className:"p-4",children:(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"This routine file does not exist yet. Built-in routines are created by setup; custom routines are created via the Add button or by the agent on your request."})}):(0,b.jsx)(o.Card,{className:"p-4",children:(0,b.jsxs)("p",{className:"text-sm text-destructive",children:["Failed to load: ",g.error?.message??"unknown"]})}):(0,b.jsx)(M,{path:f,selection:a,timezone:c,editable:!1!==g.data.editable,initialFile:g.data,onDeleted:d},f)}function M({path:a,selection:d,timezone:e,editable:h,initialFile:l,onDeleted:p}){let[q,r]=(0,c.useState)(l.content),[s,t]=(0,c.useState)({content:l.content,mtime:l.lastModified}),[u,v]=(0,c.useState)(null),[w,x]=(0,c.useState)(null),y=(0,k.useUpdateContextFile)(),z=(0,k.useDeleteContextFile)(),A=(0,m.useConfirm)(),B=q!==s.content,C="custom"===d.kind?H(q,"cron"):null,D="custom"===d.kind?H(q,"enabled"):null,E="true"===D,F=async()=>{x(null);try{let b=await y.mutateAsync({path:a,content:q,expectedMtime:s.mtime});t({content:q,mtime:b.lastModified}),v("Saved."),setTimeout(()=>v(null),2500)}catch(a){a instanceof k.ContextConflictError?x("Another writer changed this file. Refresh to see the latest version."):(j.ApiError,x(a.message))}},G=async()=>{if("custom"===d.kind&&await A({title:`Delete custom routine "${d.slug}"?`,description:"This removes the file and unregisters its cron job. This cannot be undone from here; restore from the Knowledge page snapshots if needed.",confirmLabel:"Delete",variant:"destructive"}))try{await z.mutateAsync({path:a}),p()}catch(a){x((a instanceof j.ApiError,a.message))}};return(0,b.jsxs)(o.Card,{className:"flex flex-col gap-3 p-4",children:[(0,b.jsxs)(o.CardHeader,{className:"flex flex-row items-center justify-between p-0 pb-0",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)(o.CardTitle,{className:"text-sm font-semibold",children:[a,".md"]}),"custom"===d.kind?(0,b.jsxs)("p",{className:"pt-1 text-xs text-muted-foreground",children:["Frontmatter (",(0,b.jsx)("code",{children:"cron:"}),", ",(0,b.jsx)("code",{children:"process_key"}),","," ",(0,b.jsx)("code",{children:"enabled"}),", ",(0,b.jsx)("code",{children:"backend_tier"}),","," ",(0,b.jsx)("code",{children:"max_budget_usd"}),") and a ",(0,b.jsx)("code",{children:"## Checks"})," ","section are required. The scheduler reloads on save."]}):(0,b.jsxs)("p",{className:"pt-1 text-xs text-muted-foreground",children:["All files under ",(0,b.jsx)("code",{children:"policies/routines/"}),", including"," ",(0,b.jsx)("code",{children:"_index.md"}),", are editable here."]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:["custom"===d.kind&&("true"===D||"false"===D)&&(0,b.jsx)(n.Button,{type:"button",variant:E?"default":"outline",size:"sm",className:"gap-1",onClick:()=>{"custom"===d.kind&&h&&r(function(a,b,c){let d=a.match(/^---\r?\n([\s\S]*?)\r?\n---/);if(!d)return a;let e=d[1],f=RegExp(`^(${b})\\s*:\\s*.+?\\s*$`,"m");if(f.test(e)){let g=e.replace(f,`${b}: ${c}`);return a.replace(d[0],`---
2
- ${g}
3
- ---`)}let g=`${e}
4
- ${b}: ${c}`;return a.replace(d[0],`---
5
- ${g}
6
- ---`)}(q,"enabled",E?"false":"true"))},disabled:!h,title:E?"Disable this routine (stops the cron job on save)":"Enable this routine (registers the cron job on save)",children:E?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.Power,{className:"h-3.5 w-3.5"}),"Enabled"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.PowerOff,{className:"h-3.5 w-3.5"}),"Disabled"]})}),"custom"===d.kind&&(0,b.jsxs)(n.Button,{type:"button",variant:"ghost",size:"sm",className:"gap-1 text-destructive hover:text-destructive",onClick:G,children:[(0,b.jsx)(i.Trash2,{className:"h-3.5 w-3.5"}),"Delete"]}),(0,b.jsx)(n.Button,{type:"button",size:"sm",onClick:F,disabled:!B||!h||y.isPending,children:y.isPending?"Saving…":"Save"})]})]}),"custom"===d.kind&&(0,b.jsx)(I,{cronExpression:C,timeZone:e}),(0,b.jsx)("textarea",{value:q??"",onChange:a=>r(a.target.value),disabled:!h,spellCheck:!1,className:"min-h-[480px] w-full resize-y rounded-md border border-border bg-muted/30 p-3 font-mono text-xs leading-relaxed focus:outline-none focus:ring-2 focus:ring-ring"}),u&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:u}),w&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:w})]})}let N=/^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$/;function O({open:a,timeZone:d,onOpenChange:e,onCreated:f}){let[g,h]=(0,c.useState)(""),[i,l]=(0,c.useState)("0 11 * * 2"),[m,o]=(0,c.useState)("medium"),[t,u]=(0,c.useState)("0.05"),[v,w]=(0,c.useState)(""),[x,y]=(0,c.useState)(null),A=(0,k.useUpdateContextFile)(),B=(0,c.useMemo)(()=>z(i,d,{count:3}),[i,d]),C=async a=>{let b;if(a.preventDefault(),y(null),!N.test(g)||g.length>64)return void y("Slug must be lowercase kebab-case (a–z, 0–9, hyphen), 1–64 chars, and may not start or end with a hyphen.");if(!B.ok)return void y(B.error);let c=Number(t);if(!Number.isFinite(c)||c<=0)return void y("Max budget must be a positive number in USD.");let d=(b=new Date().toISOString().slice(0,10),`---
7
- type: rule
8
- slug: ${g}
9
- cron: "${i}"
10
- process_key: routine.custom.${g}
11
- enabled: true
12
- added_at: ${b}
13
- added_by: user via dashboard
14
- backend_tier: ${m}
15
- max_budget_usd: ${c}
16
- ---
17
- # ${g}
18
-
19
- ${v.trim()||"Describe what this routine should do here."}
20
-
21
- ## Checks
22
-
23
- ### First check
24
- - **Action**: describe the action to take each run.
25
- `);try{await A.mutateAsync({path:G(g),content:d}),f(g)}catch(a){y((a instanceof j.ApiError,a.message))}};return(0,b.jsx)(p.Dialog,{open:a,onOpenChange:e,children:(0,b.jsxs)(p.DialogContent,{children:[(0,b.jsx)(p.DialogHeader,{children:(0,b.jsx)(p.DialogTitle,{children:"New custom routine"})}),(0,b.jsxs)("form",{className:"flex flex-col gap-3",onSubmit:C,children:[(0,b.jsx)(q.FormField,{label:"Slug",children:(0,b.jsx)(r.Input,{value:g,onChange:a=>h(a.target.value.trim()),placeholder:"tuesday-notion-sync",autoFocus:!0})}),(0,b.jsx)(q.FormField,{label:"Cron expression (5 fields, daemon timezone)",children:(0,b.jsx)(r.Input,{value:i,onChange:a=>l(a.target.value),placeholder:"0 11 * * 2",className:"font-mono"})}),(0,b.jsx)(I,{cronExpression:i,timeZone:d,title:"Cron preview"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,b.jsx)(q.FormField,{label:"Backend tier",children:(0,b.jsxs)(s.NativeSelect,{value:m,onChange:a=>o(a.target.value),children:[(0,b.jsx)("option",{value:"lite",children:"lite (haiku)"}),(0,b.jsx)("option",{value:"medium",children:"medium (sonnet)"}),(0,b.jsx)("option",{value:"high",children:"high (opus)"})]})}),(0,b.jsx)(q.FormField,{label:"Max budget (USD)",children:(0,b.jsx)(r.Input,{value:t,onChange:a=>u(a.target.value),placeholder:"0.05"})})]}),(0,b.jsx)(q.FormField,{label:"Description (optional)",children:(0,b.jsx)("textarea",{value:v,onChange:a=>w(a.target.value),placeholder:"Weekly Tuesday check of the Notion planning DB…",className:"min-h-[80px] resize-y rounded-md border border-input bg-background p-2 text-sm ring-offset-background focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1"})}),x&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:x}),(0,b.jsxs)(p.DialogFooter,{children:[(0,b.jsx)(n.Button,{type:"button",variant:"ghost",onClick:()=>e(!1),children:"Cancel"}),(0,b.jsx)(n.Button,{type:"submit",disabled:A.isPending,children:A.isPending?"Creating…":"Create"})]})]})]})})}a.s(["default",0,function(){let[a,d]=(0,c.useState)({kind:"builtin",stem:"_index"}),[e,f]=(0,c.useState)(!1),g=(0,l.useConfig)(),h=(g.data?.timezone&&g.data.timezone.length>0?g.data.timezone:Intl.DateTimeFormat().resolvedOptions().timeZone)||"UTC";return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.PageHeader,{title:"Routines",description:"Per-cadence check rulebooks. Each file is injected into the task-flow prompt when its routine fires. Edits persist immediately; saving an enabled custom routine registers (or refreshes) its cron job."}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-[280px_minmax(0,1fr)]",children:[(0,b.jsx)(J,{selection:a,onSelect:d,onCreateClick:()=>f(!0)}),(0,b.jsx)(L,{selection:a,timezone:h,onDeleted:()=>d({kind:"builtin",stem:"_index"})})]}),e&&(0,b.jsx)(O,{open:!0,timeZone:h,onOpenChange:f,onCreated:a=>{d({kind:"custom",slug:a}),f(!1)}})]})}],88701)}];
26
-
27
- //# sourceMappingURL=packages_dashboard_src_app_settings_routines_page_tsx_0wcgtqz._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[21532,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(54150),e=a.i(40410),f=a.i(92379),g=a.i(56295),h=a.i(91340);function i(a){return a%24/24*Math.PI*2-Math.PI/2}function j(a,b){return{x:120+b*Math.cos(a),y:120+b*Math.sin(a)}}function k(a,b,c){let d=b-a;d<=0&&(d+=2*Math.PI),d>2*Math.PI-.001&&(d=2*Math.PI-.001);let e=+(d>Math.PI),f=j(a,c),g=j(a+d,c);return`M ${f.x} ${f.y} A ${c} ${c} 0 ${e} 1 ${g.x} ${g.y}`}function l(a){let[b,c]=a.split(":").map(Number);return(b??0)+(c??0)/60}function m(a){let b=Math.floor((a%24+24)%24),c=Math.round((a-Math.floor(a))*60)%60;return`${String(b).padStart(2,"0")}:${String(c).padStart(2,"0")}`}function n(a){return Math.round(4*a)/4}function o(a){return Math.round(a)%24}let p="var(--color-destructive)",q="var(--color-success)",r="var(--color-primary)";function s({values:a,onChange:d}){let e,f,g,h=(0,c.useRef)(null),[u,v]=(0,c.useState)(null),[w,x]=(0,c.useState)(null),y=l(a.quietHoursStart),z=l(a.quietHoursEnd),A=a.activeStartHour,B=a.activeEndHour%24,C=i(y),D=i(z),E=i(A),F=i(B),G=i(a.dayBoundaryHour),H=()=>{v(null)};return(0,b.jsx)("div",{className:"flex items-center justify-center",children:(0,b.jsxs)("svg",{ref:h,viewBox:"0 0 240 240",className:"w-full max-w-[280px] select-none touch-none",onPointerMove:b=>{if(!u)return;let c=(a=>{let b,c=h.current;if(!c)return 0;let d=c.getBoundingClientRect(),e=240/d.width,f=240/d.height,g=(a.clientX-d.left)*e-120;return(b=(Math.atan2((a.clientY-d.top)*f-120,g)+Math.PI/2)/(2*Math.PI)*24)<0&&(b+=24),b%24})(b),e={...a};switch(u){case"quietStart":e.quietHoursStart=m(n(c));break;case"quietEnd":e.quietHoursEnd=m(n(c));break;case"activeStart":e.activeStartHour=o(c);break;case"activeEnd":{let a=o(c);e.activeEndHour=0===a?24:a}}d(e)},onPointerUp:H,onPointerLeave:H,children:[(0,b.jsx)("circle",{cx:120,cy:120,r:100,fill:"none",stroke:"currentColor",strokeWidth:1,className:"text-border"}),Array.from({length:24},(a,c)=>{let d=i(c),e=c%3==0,f=j(d,e?95:97),g=j(d,100);return(0,b.jsx)("line",{x1:f.x,y1:f.y,x2:g.x,y2:g.y,stroke:"currentColor",strokeWidth:e?1.5:.5,className:"text-muted-foreground"},c)}),[0,3,6,9,12,15,18,21].map(a=>{let c=j(i(a),108);return(0,b.jsx)("text",{x:c.x,y:c.y,textAnchor:"middle",dominantBaseline:"central",className:"fill-muted-foreground text-[9px]",children:a},a)}),(0,b.jsx)("path",{d:k(C,D,90),fill:"none",stroke:p,strokeWidth:8,strokeLinecap:"round",opacity:.6}),(0,b.jsx)("path",{d:k(E,F,75),fill:"none",stroke:q,strokeWidth:8,strokeLinecap:"round",opacity:.6}),(e=j(G,60),f=j(G,100),(0,b.jsx)("line",{x1:e.x,y1:e.y,x2:f.x,y2:f.y,stroke:r,strokeWidth:2,strokeDasharray:"4 2"})),(g=j(G,53),(0,b.jsx)("text",{x:g.x,y:g.y,textAnchor:"middle",dominantBaseline:"central",className:"fill-primary text-[8px] font-medium",children:"day"})),function({dragging:a,hovered:c,setHovered:d,handlePointerDown:e,quietStartA:f,quietEndA:g,activeStartA:h,activeEndA:i,QUIET_R:j,ACTIVE_R:k,values:l}){let m=a??c,n=[{target:"quietStart",angle:f,r:j,color:p,label:l.quietHoursStart},{target:"quietEnd",angle:g,r:j,color:p,label:l.quietHoursEnd},{target:"activeStart",angle:h,r:k,color:q,label:`${l.activeStartHour}:00`},{target:"activeEnd",angle:i,r:k,color:q,label:`${l.activeEndHour}:00`}].sort((a,b)=>(a.target===m)-(b.target===m));return(0,b.jsx)(b.Fragment,{children:n.map(a=>(0,b.jsx)(t,{angle:a.angle,r:a.r,color:a.color,label:a.label,active:a.target===m,onPointerDown:e(a.target),onPointerEnter:()=>d(a.target),onPointerLeave:()=>d(null)},a.target))})}({dragging:u,hovered:w,setDragging:v,setHovered:x,handlePointerDown:a=>b=>{b.preventDefault(),b.target.setPointerCapture(b.pointerId),v(a)},quietStartA:C,quietEndA:D,activeStartA:E,activeEndA:F,QUIET_R:90,ACTIVE_R:75,values:a}),(0,b.jsxs)("text",{x:120,y:112,textAnchor:"middle",className:"fill-muted-foreground text-[8px]",children:[(0,b.jsx)("tspan",{style:{fill:p},children:"●"})," quiet hours"]}),(0,b.jsxs)("text",{x:120,y:124,textAnchor:"middle",className:"fill-muted-foreground text-[8px]",children:[(0,b.jsx)("tspan",{style:{fill:q},children:"●"})," active window"]}),(0,b.jsxs)("text",{x:120,y:136,textAnchor:"middle",className:"fill-muted-foreground text-[8px]",children:[(0,b.jsx)("tspan",{style:{fill:r},children:"---"})," day boundary"]})]})})}function t({angle:a,r:c,color:d,label:e,active:f,onPointerDown:g,onPointerEnter:h,onPointerLeave:i}){let k=j(a,c),{lx:l,ly:m}={lx:Math.max(12,Math.min(228,k.x)),ly:Math.max(12,Math.min(228,k.y-12))};return(0,b.jsxs)("g",{onPointerDown:g,onPointerEnter:h,onPointerLeave:i,className:"cursor-grab active:cursor-grabbing",children:[(0,b.jsx)("circle",{cx:k.x,cy:k.y,r:12,fill:"transparent"}),(0,b.jsx)("circle",{cx:k.x,cy:k.y,r:f?7:5,fill:d,stroke:"var(--color-background)",strokeWidth:2}),f&&(0,b.jsx)("text",{x:l,y:m,textAnchor:"middle",className:"fill-foreground text-[9px] font-medium pointer-events-none",children:e})]})}var u=a.i(92241),v=a.i(87759),w=a.i(70297),x=a.i(21218),y=a.i(8212),z=a.i(30400),A=a.i(7384),B=a.i(8753),C=a.i(62588),D=a.i(81130),E=a.i(59974);let F=["delegated-sync"];function G(){let{data:a,isLoading:c}=(0,C.useQuery)({queryKey:F,queryFn:()=>E.api.get("/delegated-sync"),staleTime:5e3,refetchInterval:15e3});if(c||!a)return null;let d=Object.entries(a.cadences).map(([a,b])=>({id:a,...b}));if(!a.workerRunning&&0===d.length)return null;if(!a.workerRunning)return(0,b.jsxs)(z.Card,{children:[(0,b.jsx)(z.CardHeader,{children:(0,b.jsx)(z.CardTitle,{children:"Background Sync"})}),(0,b.jsxs)("div",{className:"p-4 text-sm text-muted-foreground",children:["No integrations are in delegated mode, so background cadences are inactive. Move an integration (Calendar / Gmail / Notion) to delegated mode in ",(0,b.jsx)("code",{children:"/connections"})," to enable opt-in cadences here. Native-mode integrations fetch their observations directly during the hourly check turn and do not use this worker."]})]});let e=d.some(a=>a.enabled);return(0,b.jsxs)(z.Card,{children:[(0,b.jsx)(z.CardHeader,{children:(0,b.jsxs)(z.CardTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{children:"Background Sync"}),a.withinActiveHours?(0,b.jsx)(A.Badge,{variant:"green",children:"active"}):(0,b.jsx)(A.Badge,{variant:"gray",children:"outside active hours"})]})}),(0,b.jsxs)("div",{className:"space-y-1 p-4 pt-0",children:[(0,b.jsx)("p",{className:"pb-2 text-xs text-muted-foreground",children:"Background cadences poll Calendar, Gmail, and Notion through a backend MCP subprocess so the hourly check sees fresh observations. Every poll spends tokens, so all cadences are off by default — enable just the ones you want. Enabled cadences respect the shared active-hours window below."}),(0,b.jsx)("div",{className:"space-y-2",children:d.map(a=>(0,b.jsx)(H,{row:a},a.id))}),e&&(0,b.jsx)(J,{startHour:a.activeHours.startHour,endHour:a.activeHours.endHour})]})]})}function H({row:a}){let d,e,f=(d=(0,D.useQueryClient)(),(0,B.useMutation)({mutationFn:({cadenceId:a,body:b})=>E.api.patch(`/delegated-sync/cadences/${encodeURIComponent(a)}`,b),onSuccess:()=>{d.invalidateQueries({queryKey:F})}})),g=(e=(0,D.useQueryClient)(),(0,B.useMutation)({mutationFn:({cadenceId:a})=>E.api.post(`/delegated-sync/cadences/${encodeURIComponent(a)}/run`,{}),onSuccess:()=>{e.invalidateQueries({queryKey:F})}})),[h,i]=(0,c.useState)(String(Math.round(a.intervalSeconds/60))),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(null);(0,c.useEffect)(()=>{i(String(Math.round(a.intervalSeconds/60)))},[a.intervalSeconds]);let n=Math.ceil(a.softFloorSeconds/60),o=Math.round(a.defaultIntervalSeconds/60),p=async()=>{m(null);try{await g.mutateAsync({cadenceId:a.id})}catch(a){m(a instanceof Error?a.message:"Run Now failed")}},q=f.isPending,r=g.isPending,s=a.intervalSeconds===a.defaultIntervalSeconds,t="native"===a.mode;return(0,b.jsxs)("div",{className:"rounded border border-border/50 p-3",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-foreground",children:a.displayName}),"native"===a.mode&&(0,b.jsx)(A.Badge,{variant:"green",children:"native"}),"delegated"===a.mode&&(0,b.jsxs)(A.Badge,{variant:"blue",children:["delegated",a.backend?` \xb7 ${a.backend}`:""]}),!t&&"tripped"===a.circuitState&&(0,b.jsx)(A.Badge,{variant:"red",children:"circuit tripped"}),!t&&a.failureCount>0&&"ok"===a.circuitState&&(0,b.jsxs)(A.Badge,{variant:"amber",children:[a.failureCount," recent failure",1===a.failureCount?"":"s"]})]}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:a.description}),!t&&(0,b.jsx)(I,{row:a})]}),!t&&(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,b.jsx)(x.Button,{variant:a.enabled?"default":"outline",size:"sm",onClick:()=>{f.mutate({cadenceId:a.id,body:{enabled:!a.enabled}})},disabled:q,children:q?(0,b.jsx)(u.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):a.enabled?"Enabled":"Disabled"}),(0,b.jsxs)(x.Button,{variant:"outline",size:"sm",onClick:p,disabled:r,title:"Run this cadence once, regardless of schedule",children:[r?(0,b.jsx)(u.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(v.Play,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{className:"ml-1",children:"Run now"})]})]})]}),t?(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:"Observations land via the in-turn fetch during the hourly check turn — no background cadence runs for this row."}):(0,b.jsxs)("div",{className:"mt-2 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,b.jsxs)("label",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{children:"Interval:"}),(0,b.jsx)(y.Input,{type:"number",min:n,max:1440,value:h,onChange:a=>i(a.target.value),onBlur:()=>{k(null);let b=Number(h);!Number.isInteger(b)||b<=0?k("Whole positive number required"):b<n?k(`Minimum ${n} min`):b>1440?k("Maximum 1440 min (24 h)"):60*b!==a.intervalSeconds&&f.mutate({cadenceId:a.id,body:{intervalSeconds:60*b}},{onError:a=>k(a.message)})},onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),a.target.blur())},className:"h-7 w-20 px-2 text-xs"}),(0,b.jsx)("span",{children:"min"})]}),(0,b.jsxs)("span",{className:"text-muted-foreground/70",children:["(",n,"–",1440,"; default ",o,")"]}),!s&&(0,b.jsxs)("button",{type:"button",onClick:()=>{i(String(o)),f.mutate({cadenceId:a.id,body:{intervalSeconds:60*o}})},className:"inline-flex items-center gap-0.5 text-[10px] text-muted-foreground hover:text-foreground",children:[(0,b.jsx)(w.RotateCcw,{className:"h-2.5 w-2.5"}),"reset"]}),j&&(0,b.jsx)("span",{className:"text-destructive",children:j})]}),l&&(0,b.jsxs)("p",{className:"mt-1 text-xs text-destructive",children:["Run Now: ",l]})]})}function I({row:a}){var d;let e=(0,c.useMemo)(()=>K(a.lastSuccessAt),[a.lastSuccessAt]),f=(0,c.useMemo)(()=>K(a.nextRunAt),[a.nextRunAt]);return a.lastAttemptAt||a.nextRunAt?(0,b.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground/70",children:[a.lastSuccessAt?`Last success ${e}.`:"No successful run yet.",a.enabled&&a.nextRunAt&&` Next run ${f}.`,a.lastError&&` Last error: ${(d=a.lastError).length<=80?d:`${d.slice(0,79)}…`}`]}):(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground/70",children:"Has not run yet."})}function J({startHour:a,endHour:d}){let e,f=(e=(0,D.useQueryClient)(),(0,B.useMutation)({mutationFn:a=>E.api.patch("/delegated-sync/active-hours",a),onSuccess:()=>{e.invalidateQueries({queryKey:F})}})),[g,h]=(0,c.useState)(String(a)),[i,j]=(0,c.useState)(String(d)),[k,l]=(0,c.useState)(null);(0,c.useEffect)(()=>{h(String(a))},[a]),(0,c.useEffect)(()=>{j(String(d))},[d]);let m=()=>{l(null);let b=Number(g),c=Number(i);!Number.isInteger(b)||b<0||b>23?l("Start must be an integer 0–23"):!Number.isInteger(c)||c<1||c>24?l("End must be an integer 1–24"):b>=c?l("Start must be earlier than end"):(b!==a||c!==d)&&f.mutate({startHour:b,endHour:c},{onError:a=>l(a.message)})};return(0,b.jsxs)("div",{className:"mt-3 rounded border border-border/50 bg-muted/30 p-3",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Active hours"}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:"Shared by every enabled cadence. Outside this window no cadence runs; Run Now still works. Interpreted in the configured timezone. End hour is exclusive — set 24 to run through 23:59."}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-xs",children:[(0,b.jsxs)("label",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{children:"Start:"}),(0,b.jsx)(y.Input,{type:"number",min:0,max:23,value:g,onChange:a=>h(a.target.value),onBlur:m,onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),a.target.blur())},className:"h-7 w-16 px-2 text-xs"}),(0,b.jsx)("span",{children:":00"})]}),(0,b.jsxs)("label",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{children:"End:"}),(0,b.jsx)(y.Input,{type:"number",min:1,max:24,value:i,onChange:a=>j(a.target.value),onBlur:m,onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),a.target.blur())},className:"h-7 w-16 px-2 text-xs"}),(0,b.jsx)("span",{children:":00"})]}),f.isPending&&(0,b.jsx)(u.Loader2,{className:"h-3.5 w-3.5 animate-spin text-muted-foreground"}),k&&(0,b.jsx)("span",{className:"text-destructive",children:k})]})]})}function K(a){var b,c;if(!a)return"—";let d=Date.parse(a);if(!Number.isFinite(d))return"—";let e=Math.round((d-Date.now())/1e3);return e>=0?(b=e)<60?`in ${b}s`:b<3600?`in ${Math.round(b/60)}m`:b<86400?`in ${Math.round(b/3600)}h`:`in ${Math.round(b/86400)}d`:(c=-e)<60?`${c}s ago`:c<3600?`${Math.round(c/60)}m ago`:c<86400?`${Math.round(c/3600)}h ago`:`${Math.round(c/86400)}d ago`}var L=a.i(87206);a.s(["default",0,function(){let{data:a}=(0,d.useConfig)(),{df:i}=(0,d.useConfigDefaults)(),{data:j}=(0,e.useHealth)(),{deferSaveFor:k,dv:l,dirtyFields:m,setDirty:n}=(0,f.useDirtyFields)(),o=(0,c.useCallback)(b=>{a&&(n("quietHoursStart",b.quietHoursStart,a.quietHoursStart),n("quietHoursEnd",b.quietHoursEnd,a.quietHoursEnd),n("hourlyCheckActiveStartHour",b.activeStartHour,a.hourlyCheckActiveStartHour),n("hourlyCheckActiveEndHour",b.activeEndHour,a.hourlyCheckActiveEndHour))},[a,n]);if(!a)return(0,b.jsx)("div",{className:"text-muted-foreground",children:"Loading..."});let p=k(a),q={quietHoursStart:l("quietHoursStart",a.quietHoursStart),quietHoursEnd:l("quietHoursEnd",a.quietHoursEnd),activeStartHour:l("hourlyCheckActiveStartHour",a.hourlyCheckActiveStartHour),activeEndHour:l("hourlyCheckActiveEndHour",a.hourlyCheckActiveEndHour),dayBoundaryHour:l("dayBoundaryHour",a.dayBoundaryHour)};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L.PageHeader,{title:"Schedule & Notifications",description:"When the agent runs in the background and how often it can interrupt you. All times are interpreted in the configured timezone."}),(0,b.jsxs)(g.ConfigSection,{title:"Time axis",helpDocId:"concepts/agent-day",children:[(0,b.jsx)("p",{className:"pb-2 text-xs text-muted-foreground",children:"Drag the handles to adjust quiet hours (red) and the hourly-check active window (green). The dashed blue line marks the day boundary. Changes are staged — save with the bar below."}),(0,b.jsx)(s,{values:q,onChange:o})]}),(0,b.jsxs)(g.ConfigSection,{title:"Day shape",helpDocId:"concepts/agent-day",children:[(0,b.jsx)(g.EditableField,{label:"Timezone",value:l("timezone",a.timezone),configKey:"timezone",modified:m.has("timezone"),defaultValue:i("timezone"),description:"IANA timezone name (e.g. America/New_York, America/Los_Angeles). All schedules, quiet hours, and daily boundaries are interpreted in this zone.",onSave:p}),(0,b.jsx)(g.EditableField,{label:"Day Boundary Hour",value:l("dayBoundaryHour",a.dayBoundaryHour),configKey:"dayBoundaryHour",type:"number",min:0,max:9,modified:m.has("dayBoundaryHour"),defaultValue:i("dayBoundaryHour"),description:"Hour (0–9, local time) at which a new agent day begins. At this hour the previous today.md is archived, a new one is generated, and daily retention and summary routines run. Pick a time you're reliably asleep — 04:00 is the default.",onSave:p})]}),(0,b.jsxs)(g.ConfigSection,{title:"Hourly Check",helpDocId:"features/routines/hourly-check",children:[(0,b.jsxs)("p",{className:"pb-2 text-xs text-muted-foreground",children:["The hourly check is the agent’s passive review loop. At each interval it scans pending observations (file edits, calendar updates, git events, Notion changes), folds anything actionable into your context files (",(0,b.jsx)("code",{children:"today.md"}),", ",(0,b.jsx)("code",{children:"roadmap.md"}),", project notes), and stays silent otherwise. Most runs produce no output — that is by design."]}),(0,b.jsx)(g.EditableBooleanField,{label:"Hourly Check Enabled",value:l("hourlyCheckEnabled",a.hourlyCheckEnabled),configKey:"hourlyCheckEnabled",modified:m.has("hourlyCheckEnabled"),defaultValue:i("hourlyCheckEnabled"),description:"Master switch for the polling routine. When off, the agent only runs on direct messages, schedule.approaching events, and explicitly scheduled tasks.",onSave:p}),(0,b.jsx)(g.EditableField,{label:"Check Interval",value:l("hourlyCheckIntervalMinutes",a.hourlyCheckIntervalMinutes),configKey:"hourlyCheckIntervalMinutes",type:"number",suffix:"min",min:1,max:1440,modified:m.has("hourlyCheckIntervalMinutes"),defaultValue:i("hourlyCheckIntervalMinutes"),description:"How often the check runs during the active window, in minutes (1–1440). Lower values give faster feedback; higher values cut quota burn. The cadence is anchored to the active-window start, so the first fire of each agent-day lands exactly at that hour.",onSave:p}),(0,b.jsx)(g.EditableField,{label:"Active Start Hour",value:l("hourlyCheckActiveStartHour",a.hourlyCheckActiveStartHour),configKey:"hourlyCheckActiveStartHour",type:"number",min:0,max:23,modified:m.has("hourlyCheckActiveStartHour"),defaultValue:i("hourlyCheckActiveStartHour"),description:"Hour (0–23, local time) when the hourly check window opens. Runs before this hour are skipped entirely.",onSave:p}),(0,b.jsx)(g.EditableField,{label:"Active End Hour",value:l("hourlyCheckActiveEndHour",a.hourlyCheckActiveEndHour),configKey:"hourlyCheckActiveEndHour",type:"number",min:1,max:24,modified:m.has("hourlyCheckActiveEndHour"),defaultValue:i("hourlyCheckActiveEndHour"),description:"Hour (1–24, local time) when the window closes. Exclusive: set 24 to run through 23:59. Prevents the check from firing while you sleep.",onSave:p}),(0,b.jsx)(g.EditableField,{label:"Min Observations",value:l("hourlyCheckMinObservations",a.hourlyCheckMinObservations),configKey:"hourlyCheckMinObservations",type:"number",min:0,max:1e3,modified:m.has("hourlyCheckMinObservations"),defaultValue:i("hourlyCheckMinObservations"),description:"Minimum number of pending user-actor observations required to launch the agent. If fewer are queued, the tick is skipped with no cost. Raise this if you see too many no-op runs.",onSave:p}),(0,b.jsx)("p",{className:"pt-2 text-xs text-muted-foreground",children:"Trigger one immediately from the CLI:"}),(0,b.jsx)("pre",{className:"overflow-x-auto rounded bg-muted p-2 font-mono text-[11px] text-muted-foreground",children:'curl -X POST http://localhost:8321/api/agent/run-now -H "Authorization: Bearer <daemon-api-token>" -H "Content-Type: application/json" -d \'{"reason":"manual"}\''})]}),(0,b.jsxs)(g.ConfigSection,{title:"Monthly Review (experimental — off by default)",children:[(0,b.jsxs)("p",{className:"pb-2 text-xs text-muted-foreground",children:["The monthly review is a once-per-month synthesis routine. At the last day of each month it reads the month’s daily files, weekly retrospectives, and the agent journal, then writes a user-facing snapshot to ",(0,b.jsx)("code",{children:"journal/monthly/YYYY-MM.md"})," and appends a ",(0,b.jsx)("code",{children:"## Monthly YYYY-MM"})," block to"," ",(0,b.jsx)("code",{children:"journal/agent.md"}),"."]}),(0,b.jsxs)("p",{className:"pb-2 text-xs text-muted-foreground",children:["It is ",(0,b.jsx)("strong",{children:"disabled by default"}),"pre-release because the current task-flow’s cost-to-value ratio is poor — it reads roughly 30 daily files plus 4–5 weekly files per run (~$0.30–$1.50 in tokens) and produces a snapshot that no downstream routine currently consumes. A leaner “Mirror + Prune” redesign — one trend observation plus aged carry-over decisions — is planned before the flag flips to on-by-default. Enable below to opt in to the current heavy version."]}),(0,b.jsx)(g.EditableBooleanField,{label:"Monthly Review Enabled",value:l("monthlyReviewEnabled",a.monthlyReviewEnabled),configKey:"monthlyReviewEnabled",modified:m.has("monthlyReviewEnabled"),defaultValue:i("monthlyReviewEnabled"),description:"When on, the daemon fires routine.monthly_review on the last day of each month at 18:00 local time. The flag is consulted at fire time, so flipping it takes effect on the next month-end — no daemon restart needed. Expect one Sonnet-class session per month near the per-execute $1.00 budget cap, plus one optional notification.",onSave:p})]}),(0,b.jsx)(G,{}),(0,b.jsxs)(g.ConfigSection,{title:"Notifications",helpDocId:"features/operations/quiet-hours",children:[(0,b.jsx)("p",{className:"pb-2 text-xs text-muted-foreground",children:"Rate limits and quiet hours for outbound notifications — proactive messages the agent sends you (reminders, alerts, summaries). Replies to messages you initiated are not affected. Delivery destinations are managed in Connections → Messaging."}),(0,b.jsx)(g.EditableField,{label:"Max Per Hour",value:l("maxNotificationsPerHour",a.maxNotificationsPerHour),configKey:"maxNotificationsPerHour",type:"number",modified:m.has("maxNotificationsPerHour"),defaultValue:i("maxNotificationsPerHour"),description:"Hard cap on outbound notifications in any rolling 60-minute window. Anything above the cap is suppressed — not delivered, but still logged to Activity → Notifications so you can see what was dropped. Protects against runaway notification loops.",onSave:p}),(0,b.jsx)(g.EditableField,{label:"Max Per Day",value:l("maxNotificationsPerDay",a.maxNotificationsPerDay),configKey:"maxNotificationsPerDay",type:"number",modified:m.has("maxNotificationsPerDay"),defaultValue:i("maxNotificationsPerDay"),description:"Hard cap per calendar day (resets at the Day Boundary Hour). A safety net on top of the per-hour cap. Suppressed notifications are still logged.",onSave:p}),(0,b.jsx)(g.EditableField,{label:"Quiet Hours Start",value:l("quietHoursStart",a.quietHoursStart),configKey:"quietHoursStart",modified:m.has("quietHoursStart"),defaultValue:i("quietHoursStart"),description:"24-hour time (HH:MM, e.g. 22:00) when quiet hours begin in the configured timezone. During quiet hours, regular notifications are held back. Safety-category notifications (deadline, error, security, critical) still go through.",onSave:p}),(0,b.jsx)(g.EditableField,{label:"Quiet Hours End",value:l("quietHoursEnd",a.quietHoursEnd),configKey:"quietHoursEnd",modified:m.has("quietHoursEnd"),defaultValue:i("quietHoursEnd"),description:"24-hour time (HH:MM, e.g. 08:00) when quiet hours end. If end is earlier than start, the window wraps over midnight.",onSave:p}),(0,b.jsx)(g.EditableField,{label:"Batch Interval",value:l("batchIntervalMinutes",a.batchIntervalMinutes),configKey:"batchIntervalMinutes",type:"number",suffix:"min",modified:m.has("batchIntervalMinutes"),defaultValue:i("batchIntervalMinutes"),description:"Minimum minutes between notification deliveries from the same routine. Multiple notifications queued within this window are combined into a single message so you don’t get spammed.",onSave:p}),(0,b.jsxs)("div",{className:"py-2 border-b text-sm text-muted-foreground",children:["Default reminder destinations are managed in"," ",(0,b.jsx)("a",{href:"/connections/messaging",className:"text-foreground underline underline-offset-2 hover:no-underline",children:"Connections → Messaging → Default Reminder Destinations"}),"."]}),(0,b.jsx)(h.PrimaryPlatformField,{health:j,value:l("primaryPlatform",a.primaryPlatform),defaultValue:i("primaryPlatform"),modified:m.has("primaryPlatform"),onSave:p})]})]})}],21532)}];
2
-
3
- //# sourceMappingURL=packages_dashboard_src_app_settings_schedule_page_tsx_0b8zr2l._.js.map
@@ -1 +0,0 @@
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_3px_rgb(0_0_0/0.04)]",{variants:{tone:{default:"border-border bg-card",warning:"border-amber-200 bg-amber-50/50 dark:border-amber-900 dark:bg-amber-950/30",success:"border-emerald-200 bg-emerald-50/50 dark:border-emerald-900 dark:bg-emerald-950/30",error:"border-red-200 bg-red-50/50 dark:border-red-900 dark:bg-red-950/30"},interactive:{true:"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]",false:""}},defaultVariants:{tone:"default",interactive:!1}});e.s(["Card",0,function({className:e,tone:a,interactive:n,...i}){return(0,t.jsx)("div",{className:(0,r.cn)(s({tone:a,interactive:n}),e),...i})},"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-sm font-medium text-muted-foreground",e),...s})},"CardTitle",0,function({className:e,...s}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-lg font-semibold text-foreground",e),...s})},"CardValue",0,function({className:e,...s}){return(0,t.jsx)("div",{className:(0,r.cn)("text-3xl font-bold 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:a,badge:n,actions:i,children:l,className:o}){return(0,t.jsxs)("header",{className:(0,r.cn)("flex flex-col gap-1",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",children:[a&&(0,t.jsx)(a,{className:"h-5 w-5 text-muted-foreground"}),(0,t.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:e}),n]}),i&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:i})]}),s&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:s}),l]})}])},75649,e=>{"use strict";var t=e.i(34416);e.i(54710);var r=t.createContext(void 0);e.s(["useDirection",0,function(e){let s=t.useContext(r);return e||s||"ltr"}])},87099,e=>{"use strict";var t=e.i(34416),r=e.i(9413),s=e.i(22353),a=e.i(60310),n=e.i(54710),i=new WeakMap;function l(e,t){var r,s;let a,n,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let l=(r=e,s=t,a=r.length,(i=(n=o(s))>=0?n:a+n)<0||i>=a?-1:i);return -1===l?void 0:e[l]}function o(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],i.set(this,!0)}set(e,t){return i.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let s,a=this.has(t),n=this.#e.length,i=o(e),l=i>=0?i:n+i,d=l<0||l>=n?-1:l;if(d===this.size||a&&d===this.size-1||-1===d)return this.set(t,r),this;let c=this.size+ +!a;i<0&&l++;let u=[...this.#e],x=!1;for(let e=l;e<c;e++)if(l===e){let n=u[e];u[e]===t&&(n=u[e+1]),a&&this.delete(t),s=this.get(n),this.set(t,r)}else{x||u[e-1]!==t||(x=!0);let r=u[x?e:e-1],a=s;s=this.get(r),this.delete(r),this.set(r,a)}return this}with(t,r,s){let a=new e(this);return a.insert(t,r,s),a}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=l(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=l(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return l(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.at(s)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return s;r++}}findIndex(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return r;r++}return -1}filter(t,r){let s=[],a=0;for(let e of this)Reflect.apply(t,r,[e,a,this])&&s.push(e),a++;return new e(s)}map(t,r){let s=[],a=0;for(let e of this)s.push([e[0],Reflect.apply(t,r,[e,a,this])]),a++;return new e(s)}reduce(...e){let[t,r]=e,s=0,a=r??this.at(0);for(let r of this)a=0===s&&1===e.length?r:Reflect.apply(t,this,[a,r,s,this]),s++;return a}reduceRight(...e){let[t,r]=e,s=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let a=this.at(r);s=r===this.size-1&&1===e.length?a:Reflect.apply(t,this,[s,a,r,this])}return s}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),s=this.get(r);t.set(r,s)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let s=new e,a=this.size-1;if(void 0===t)return s;t<0&&(t+=this.size),void 0!==r&&r>0&&(a=r-1);for(let e=t;e<=a;e++){let t=this.keyAt(e),r=this.get(t);s.set(t,r)}return s}every(e,t){let r=0;for(let s of this){if(!Reflect.apply(e,t,[s,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return!0;r++}return!1}}),e.s(["createCollection",0,function(e){let i=e+"CollectionProvider",[l,o]=(0,r.createContextScope)(i),[d,c]=l(i,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:r,children:s}=e,a=t.default.useRef(null),i=t.default.useRef(new Map).current;return(0,n.jsx)(d,{scope:r,itemMap:i,collectionRef:a,children:s})};u.displayName=i;let x=e+"CollectionSlot",h=(0,a.createSlot)(x),m=t.default.forwardRef((e,t)=>{let{scope:r,children:a}=e,i=c(x,r),l=(0,s.useComposedRefs)(t,i.collectionRef);return(0,n.jsx)(h,{ref:l,children:a})});m.displayName=x;let f=e+"CollectionItemSlot",p="data-radix-collection-item",g=(0,a.createSlot)(f),b=t.default.forwardRef((e,r)=>{let{scope:a,children:i,...l}=e,o=t.default.useRef(null),d=(0,s.useComposedRefs)(r,o),u=c(f,a);return t.default.useEffect(()=>(u.itemMap.set(o,{ref:o,...l}),()=>void u.itemMap.delete(o))),(0,n.jsx)(g,{...{[p]:""},ref:d,children:i})});return b.displayName=f,[{Provider:u,Slot:m,ItemSlot:b},function(r){let s=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=s.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${p}]`));return Array.from(s.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[s.collectionRef,s.itemMap])},o]}])},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"},s=new Set(["opencode"]);function a(e){return s.has(e)}let n={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.hourly_check":"Hourly Check","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,s]of Object.entries(t))s&&"object"==typeof s&&r.push({modelId:e,inputTokens:"number"==typeof s.inputTokens?s.inputTokens:0,outputTokens:"number"==typeof s.outputTokens?s.outputTokens:0,costUsd:"number"==typeof s.costUsd?s.costUsd:0});return r.sort((e,t)=>t.costUsd-e.costUsd)}function x(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=x(r)??"other",s=t.get(e)??[];s.push(r),t.set(e,s)}let r={};for(let[e,s]of t){s.sort((e,t)=>e.localeCompare(t));let t="other"===e?o:l[e],a=s.length;s.forEach((e,s)=>{let n;n=a>=t.length?s%t.length:1===a?Math.floor(t.length/2):Math.floor((s+.5)*t.length/a),r[e]=t[n]})}return r},"detectBackendFromModel",0,x,"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 n[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)||a(e)},"isUiPreviewOnlyBackend",0,a,"modelBadgeVariant",0,function(e){if(!e)return"gray";let t=x(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}])},49785,e=>{"use strict";var t=e.i(54710),r=e.i(63991),s=e.i(72740),a=e.i(20014),n=e.i(81471);function i(){return(0,t.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,t.jsx)(s.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})})}function l({error:e,onRetry:s}){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}),s&&(0,t.jsx)(a.Button,{variant:"outline",size:"sm",onClick:s,children:"Retry"})]})}e.s(["CardSkeleton",0,function({count:e=3}){return(0,t.jsx)("div",{className:(0,n.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:s,onRetry:a,skeleton:o,className:d,children:c}){return e?(0,t.jsx)("div",{className:(0,n.cn)(d),children:o??(0,t.jsx)(i,{})}):r?(0,t.jsx)("div",{className:(0,n.cn)(d),children:(0,t.jsx)(l,{error:s,onRetry:a})}):(0,t.jsx)(t.Fragment,{children:c})},"TableSkeleton",0,function({rows:e=5}){return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("div",{className:"h-10 animate-pulse rounded-lg bg-muted/40"}),Array.from({length:e}).map((e,r)=>(0,t.jsx)("div",{className:"h-12 animate-pulse rounded-lg bg-muted/20"},r))]})}])},26406,e=>{"use strict";var t=e.i(54710),r=e.i(34416),s=e.i(91967),a=e.i(9413),n=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),x="rovingFocusGroup.onEntryFocus",h={bubbles:!1,cancelable:!0},m="RovingFocusGroup",[f,p,g]=(0,n.createCollection)(m),[b,v]=(0,a.createContextScope)(m,[g]),[j,y]=b(m),C=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)(k,{...e,ref:r})})}));C.displayName=m;var k=r.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:n,orientation:l,loop:f=!1,dir:g,currentTabStopId:b,defaultCurrentTabStopId:v,onCurrentTabStopIdChange:y,onEntryFocus:C,preventScrollOnEntryFocus:k=!1,...N}=e,w=r.useRef(null),T=(0,i.useComposedRefs)(a,w),A=(0,u.useDirection)(g),[D,S]=(0,c.useControllableState)({prop:b,defaultProp:v??null,onChange:y,caller:m}),[E,I]=r.useState(!1),M=(0,d.useCallbackRef)(C),F=p(n),_=r.useRef(!1),[B,L]=r.useState(0);return r.useEffect(()=>{let e=w.current;if(e)return e.addEventListener(x,M),()=>e.removeEventListener(x,M)},[M]),(0,t.jsx)(j,{scope:n,orientation:l,dir:A,loop:f,currentTabStopId:D,onItemFocus:r.useCallback(e=>S(e),[S]),onItemShiftTab:r.useCallback(()=>I(!0),[]),onFocusableItemAdd:r.useCallback(()=>L(e=>e+1),[]),onFocusableItemRemove:r.useCallback(()=>L(e=>e-1),[]),children:(0,t.jsx)(o.Primitive.div,{tabIndex:E||0===B?-1:0,"data-orientation":l,...N,ref:T,style:{outline:"none",...e.style},onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,()=>{_.current=!0}),onFocus:(0,s.composeEventHandlers)(e.onFocus,e=>{let t=!_.current;if(e.target===e.currentTarget&&t&&!E){let t=new CustomEvent(x,h);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=F().filter(e=>e.focusable);R([e.find(e=>e.active),e.find(e=>e.id===D),...e].filter(Boolean).map(e=>e.ref.current),k)}}_.current=!1}),onBlur:(0,s.composeEventHandlers)(e.onBlur,()=>I(!1))})})}),N="RovingFocusGroupItem",w=r.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:n,focusable:i=!0,active:d=!1,tabStopId:c,children:u,...x}=e,h=(0,l.useId)(),m=c||h,g=y(N,n),b=g.currentTabStopId===m,v=p(n),{onFocusableItemAdd:j,onFocusableItemRemove:C,currentTabStopId:k}=g;return r.useEffect(()=>{if(i)return j(),()=>C()},[i,j,C]),(0,t.jsx)(f.ItemSlot,{scope:n,id:m,focusable:i,active:d,children:(0,t.jsx)(o.Primitive.span,{tabIndex:b?0:-1,"data-orientation":g.orientation,...x,ref:a,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{i?g.onItemFocus(m):e.preventDefault()}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(m)),onKeyDown:(0,s.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 s;let a=(s=e.key,"rtl"!==r?s:"ArrowLeft"===s?"ArrowRight":"ArrowRight"===s?"ArrowLeft":s);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return T[a]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let a=v().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)a.reverse();else if("prev"===t||"next"===t){var r,s;"prev"===t&&a.reverse();let n=a.indexOf(e.currentTarget);a=g.loop?(r=a,s=n+1,r.map((e,t)=>r[(s+t)%r.length])):a.slice(n+1)}setTimeout(()=>R(a))}}),children:"function"==typeof u?u({isCurrentTabStop:b,hasTabStop:null!=k}):u})})});w.displayName=N;var T={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function R(e,t=!1){let r=document.activeElement;for(let s of e)if(s===r||(s.focus({preventScroll:t}),document.activeElement!==r))return}var A=e.i(90816),D="Tabs",[S,E]=(0,a.createContextScope)(D,[v]),I=v(),[M,F]=S(D),_=r.forwardRef((e,r)=>{let{__scopeTabs:s,value:a,onValueChange:n,defaultValue:i,orientation:d="horizontal",dir:x,activationMode:h="automatic",...m}=e,f=(0,u.useDirection)(x),[p,g]=(0,c.useControllableState)({prop:a,onChange:n,defaultProp:i??"",caller:D});return(0,t.jsx)(M,{scope:s,baseId:(0,l.useId)(),value:p,onValueChange:g,orientation:d,dir:f,activationMode:h,children:(0,t.jsx)(o.Primitive.div,{dir:f,"data-orientation":d,...m,ref:r})})});_.displayName=D;var B="TabsList",L=r.forwardRef((e,r)=>{let{__scopeTabs:s,loop:a=!0,...n}=e,i=F(B,s),l=I(s);return(0,t.jsx)(C,{asChild:!0,...l,orientation:i.orientation,dir:i.dir,loop:a,children:(0,t.jsx)(o.Primitive.div,{role:"tablist","aria-orientation":i.orientation,...n,ref:r})})});L.displayName=B;var O="TabsTrigger",P=r.forwardRef((e,r)=>{let{__scopeTabs:a,value:n,disabled:i=!1,...l}=e,d=F(O,a),c=I(a),u=$(d.baseId,n),x=V(d.baseId,n),h=n===d.value;return(0,t.jsx)(w,{asChild:!0,...c,focusable:!i,active:h,children:(0,t.jsx)(o.Primitive.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":x,"data-state":h?"active":"inactive","data-disabled":i?"":void 0,disabled:i,id:u,...l,ref:r,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{i||0!==e.button||!1!==e.ctrlKey?e.preventDefault():d.onValueChange(n)}),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&d.onValueChange(n)}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==d.activationMode;h||i||!e||d.onValueChange(n)})})})});P.displayName=O;var H="TabsContent",G=r.forwardRef((e,s)=>{let{__scopeTabs:a,value:n,forceMount:i,children:l,...d}=e,c=F(H,a),u=$(c.baseId,n),x=V(c.baseId,n),h=n===c.value,m=r.useRef(h);return r.useEffect(()=>{let e=requestAnimationFrame(()=>m.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(A.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:x,tabIndex:0,...d,ref:s,style:{...e.style,animationDuration:m.current?"0s":void 0},children:r&&l})})});function $(e,t){return`${e}-trigger-${t}`}function V(e,t){return`${e}-content-${t}`}G.displayName=H;var z=e.i(81471);e.s(["Tabs",0,_,"TabsContent",0,function({className:e,...r}){return(0,t.jsx)(G,{className:(0,z.cn)("mt-2 ring-offset-background focus-visible:outline-none",e),...r})},"TabsList",0,function({className:e,...r}){return(0,t.jsx)(L,{className:(0,z.cn)("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...r})},"TabsTrigger",0,function({className:e,...r}){return(0,t.jsx)(P,{className:(0,z.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...r})}],26406)},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)},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})}])},2412,e=>{"use strict";var t=e.i(54710),r=e.i(26181),s=e.i(95486),a=e.i(8011),n=e.i(81471);e.s(["DocsLearnMore",0,function({docId:e,anchor:i=null,label:l="What is this?",className:o}){let d=(0,s.useQueryClient)();return(0,t.jsxs)("button",{type:"button",onClick:()=>(0,a.openDocsHelpSlideover)(d,{docId:e,anchor:i,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",o),"data-testid":"docs-learn-more",children:[(0,t.jsx)("span",{children:l}),(0,t.jsx)(r.ArrowUpRight,{className:"h-3 w-3","aria-hidden":"true"})]})}])},51226,21420,e=>{"use strict";var t=e.i(14260),r=e.i(65268);e.s(["useCost",0,function(e="daily",s){return(0,t.useQuery)({queryKey:["cost",e],queryFn:()=>r.api.get("/cost",{period:e}),refetchInterval:6e4,enabled:s?.enabled??!0})}],51226);var s=e.i(54710);e.s(["Sparkline",0,function({values:e,color:t,width:r=80,height:a=24,ariaLabel:n}){if(e.length<2)return null;let i=e.filter(e=>null!==e);if(0===i.length)return null;let l=Math.max(...i,1),o=r/(e.length-1),d=[[]];return e.forEach((e,t)=>{if(null===e){d[d.length-1].length>0&&d.push([]);return}d[d.length-1].push({x:t*o,y:a-e/l*(a-4)-2})}),(0,s.jsxs)("svg",{width:r,height:a,className:"mt-2",role:"img","aria-label":n??"sparkline",children:[d.filter(e=>e.length>=2).map((e,r)=>(0,s.jsx)("polyline",{points:e.map(e=>`${e.x},${e.y}`).join(" "),fill:"none",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},`l${r}`)),d.filter(e=>1===e.length).map((e,r)=>(0,s.jsx)("circle",{cx:e[0].x,cy:e[0].y,r:"1.5",fill:t},`d${r}`))]})}],21420)},7209,e=>{"use strict";var t=e.i(54710),r=e.i(34416),s=e.i(71060),a=e.i(26406),n=e.i(39982),i=e.i(97);e.i(18446);var l=e.i(38082),o=e.i(51226),d=e.i(34855),c=e.i(49785),u=e.i(74490),x=e.i(20014),h=e.i(48467),m=e.i(81471),f=e.i(76176);let p=()=>(0,t.jsx)("div",{className:"h-[300px] animate-pulse rounded-lg bg-muted/20"}),g=(0,i.default)(()=>e.A(33983).then(e=>e.CostTrendChart),{loadableGenerated:{modules:[67754]},ssr:!1,loading:p}),b=(0,i.default)(()=>e.A(25670).then(e=>e.ModelBreakdownChart),{loadableGenerated:{modules:[56592]},ssr:!1,loading:p}),v=(0,i.default)(()=>e.A(63862).then(e=>e.EventTypeChart),{loadableGenerated:{modules:[89481]},ssr:!1,loading:p}),j=(0,i.default)(()=>e.A(74131).then(e=>e.BackendCostChart),{loadableGenerated:{modules:[96241]},ssr:!1,loading:p}),y=[{value:"daily",label:"Daily"},{value:"weekly",label:"Weekly"},{value:"monthly",label:"Monthly"}];function C({enabled:e=!0}){let[s,n]=(0,r.useState)("daily"),[i,p]=(0,r.useState)("overview"),{data:N,isLoading:w,isError:T,error:R,refetch:A}=(0,o.useCost)(s,{enabled:e}),{data:D}=(0,d.useMetrics)({enabled:e}),S=[{label:"Today",value:N?.today.costUsd??0,sub:`${N?.today.sessions??0} sessions`},{label:"Last 7 Days",value:D?.cost.last7dUsd??0},{label:"Last 30 Days",value:D?.cost.last30dUsd??0}],E=(0,l.getBackendIds)().map(e=>{let t=N?.byBackend.find(t=>t.backend===e);return{backendId:e,totalCost:t?.total_cost??0,sessions:t?.session_count??0}}),I=E.reduce((e,t)=>e+t.totalCost,0);return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(c.QueryResult,{isLoading:w&&!N,isError:!1,skeleton:(0,t.jsx)(c.CardSkeleton,{count:3}),children:(0,t.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-3",children:S.map(e=>(0,t.jsxs)(u.Card,{children:[(0,t.jsx)(u.CardHeader,{children:(0,t.jsx)(u.CardStatLabel,{children:e.label})}),(0,t.jsx)(u.CardValue,{children:(0,m.formatCurrency)(e.value)}),e.sub&&(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e.sub})]},e.label))})}),(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-3",children:(0,t.jsx)("div",{className:"flex gap-1",children:y.map(e=>(0,t.jsx)(x.Button,{variant:s===e.value?"default":"outline",size:"sm",onClick:()=>n(e.value),children:e.label},e.value))})}),(0,t.jsx)(c.QueryResult,{isLoading:w,isError:T,error:R,onRetry:()=>A(),skeleton:(0,t.jsx)(c.CardSkeleton,{count:3}),children:(0,t.jsxs)(a.Tabs,{value:i,onValueChange:p,children:[(0,t.jsxs)(a.TabsList,{children:[(0,t.jsx)(a.TabsTrigger,{value:"overview",children:"Overview"}),(0,t.jsx)(a.TabsTrigger,{value:"backend",children:"By Backend"})]}),(0,t.jsxs)(a.TabsContent,{value:"overview",children:[(0,t.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,t.jsxs)(u.Card,{className:"lg:col-span-2",children:[(0,t.jsx)(u.CardHeader,{children:(0,t.jsx)(u.CardTitle,{children:"Cost Trend"})}),(0,t.jsx)(g,{data:N?.byPeriod??[]})]}),(0,t.jsxs)(u.Card,{children:[(0,t.jsx)(u.CardHeader,{children:(0,t.jsx)(u.CardTitle,{children:"Model Breakdown"})}),(0,t.jsx)(b,{data:N?.byModel??[]})]}),(0,t.jsxs)(u.Card,{children:[(0,t.jsx)(u.CardHeader,{children:(0,t.jsx)(u.CardTitle,{children:"By Event Type"})}),(0,t.jsx)(v,{data:N?.byEventType??[]})]})]}),(0,t.jsx)(k,{})]}),(0,t.jsx)(a.TabsContent,{value:"backend",children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-3",children:E.map(e=>(0,t.jsxs)(u.Card,{children:[(0,t.jsx)(u.CardHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(u.CardStatLabel,{children:(0,f.getBackendShortLabel)(e.backendId)}),(0,t.jsxs)(h.Badge,{variant:f.BACKEND_BADGE_VARIANTS[e.backendId],children:[e.sessions," sessions"]})]})}),(0,t.jsx)(u.CardValue,{children:(0,m.formatCurrency)(e.totalCost)}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:I>0?`${(e.totalCost/I*100).toFixed(1)}% of selected window`:"No spend in selected window"})]},e.backendId))}),(0,t.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[2fr,1fr]",children:[(0,t.jsxs)(u.Card,{children:[(0,t.jsx)(u.CardHeader,{children:(0,t.jsx)(u.CardTitle,{children:"Backend Cost Trend"})}),(0,t.jsx)(j,{data:N?.byBackendPeriod??[]})]}),(0,t.jsxs)(u.Card,{children:[(0,t.jsx)(u.CardHeader,{children:(0,t.jsx)(u.CardTitle,{children:"Backend Totals"})}),(0,t.jsx)("div",{className:"space-y-3",children:E.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between rounded-lg border border-border/70 px-3 py-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsx)(h.Badge,{variant:f.BACKEND_BADGE_VARIANTS[e.backendId],children:(0,f.getBackendShortLabel)(e.backendId)})}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[e.sessions," runs"]})]}),(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsx)("p",{className:"text-sm font-semibold text-foreground",children:(0,m.formatCurrency)(e.totalCost)}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Avg ",(0,m.formatCurrency)(e.sessions>0?e.totalCost/e.sessions:0)]})]})]},e.backendId))}),(0,t.jsx)("p",{className:"mt-4 text-xs text-muted-foreground",children:"Backend analytics reflect the backend that actually executed each run, not just the configured preferred backend."}),(0,t.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:"Gemini may auto-route to a different runtime model than the configured preferred model. The totals here reflect the model and backend that actually ran."})]})]})]})})]})})]})}function k(){return(0,t.jsxs)("p",{className:"mt-4 text-xs text-muted-foreground",children:["Only ",(0,t.jsx)("strong",{children:"cross-backend"}),"delegated calls show up under per-tool delegated-proxy telemetry — calls where your DM session runs on a different backend than the connector's owner. Same-backend delegated calls (for example, a Codex DM session using Codex's own Gmail connector) skip the proxy and roll up under the parent session's totals. Per-tool cost isn't measurable in those cases."]})}var N=e.i(14260),w=e.i(65268),T=e.i(21420);let R={good:"Good",warn:"Warning",crit:"Critical"},A={good:"#10b981",warn:"#f59e0b",crit:"#ef4444",neutral:"#94a3b8"};function D({level:e}){return"neutral"===e?null:(0,t.jsxs)("span",{className:"flex items-center gap-1.5 text-xs",children:[(0,t.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${"good"===e?"bg-emerald-500":"warn"===e?"bg-amber-500":"bg-red-500"}`}),(0,t.jsx)("span",{className:"good"===e?"text-emerald-500":"warn"===e?"text-amber-500":"text-red-500",children:R[e]})]})}function S({daily:e,days:r,snapshot:s}){let a,n,i,l,o,d,c,x,h,f,p,g,b,v,j,y=(a=0===r?"today":`${r}d`,n=0===r?"today":`${r}-day`,i=e.reduce((e,t)=>e+t.executions,0),l=e.reduce((e,t)=>e+t.failures,0),o=i>0?(i-l)/i:null,d=e.map(e=>e.executions>0?(e.executions-e.failures)/e.executions:null),c=e.map(e=>e.executions>0?e.failures:null),x=s?.responseTime.p50??null,h=s?.responseTime.p95??null,f=null!==x&&null!==h?`${(0,m.formatDuration)(x)} / ${(0,m.formatDuration)(h)}`:"—",g=null!==(p=s?.notificationConfirmRate??null)?`${Math.round(100*p)}%`:"—",b=s?.notificationCounts.delivered??0,v=s?.notificationCounts.reacted??0,j=e.map(e=>e.notificationsDelivered>0?e.notificationsReacted/e.notificationsDelivered:null),[{title:"Success Rate",value:null!==o?`${(100*o).toFixed(1)}%`:"—",subtitle:null!==o?`${i-l} / ${i} ok`:"no data",level:null===o?"neutral":o>=.95?"good":o>=.8?"warn":"crit",sparkline:d},{title:`Errors (${a})`,value:String(l),subtitle:0===l?"no failures":0===r?"today total":`${n} total`,level:0===l?"good":l<=5?"warn":"crit",sparkline:c},{title:"Response P50 / P95",value:f,subtitle:"rolling 30d",level:"neutral",sparkline:null},{title:"Reaction Rate",value:g,subtitle:void 0!==s?`${v} of ${b} in 30d`:"rolling 30d",level:"neutral",sparkline:j}]);return(0,t.jsx)("div",{className:"grid grid-cols-2 gap-4 md:grid-cols-4",children:y.map(e=>(0,t.jsxs)(u.Card,{children:[(0,t.jsx)(u.CardHeader,{children:(0,t.jsx)(u.CardStatLabel,{children:e.title})}),(0,t.jsx)(u.CardValue,{className:"text-2xl",children:e.value}),(0,t.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:e.subtitle}),(0,t.jsxs)("div",{className:"mt-2 flex items-end justify-between",children:[null!==e.sparkline?(0,t.jsx)(T.Sparkline,{values:e.sparkline,color:A[e.level],ariaLabel:`${e.title} trend`}):(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)(D,{level:e.level})]})]},e.title))})}var E=e.i(10628);let I=["Mon","","Wed","","Fri","",""];function M({data:e}){let{days:r,numWeeks:s}=function(e){let t=new Map(e.map(e=>[e.date,e.count])),r=new Date,s=new Date(r);s.setDate(r.getDate()-83);let a=s.getDay();s.setDate(s.getDate()+(0===a?-6:1-a));let n=[],i=new Date(s),l=0,o=-1;for(;i<=r;){let e=i.toISOString().slice(0,10),r=0===i.getDay()?6:i.getDay()-1,a=Math.floor((i.getTime()-s.getTime())/6048e5);a!==o&&(l=a,o=a),n.push({date:e,count:t.get(e)??0,dow:r,week:l}),i.setDate(i.getDate()+1)}return{days:n,numWeeks:l+1}}(e),a=Math.max(...r.map(e=>e.count),1);return(0,t.jsxs)(u.Card,{children:[(0,t.jsxs)(u.CardHeader,{children:[(0,t.jsx)(u.CardTitle,{children:"Activity"}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"Last 12 weeks · fixed range (does not follow period selector)"})]}),(0,t.jsxs)("div",{className:"flex gap-2 overflow-x-auto pb-2",children:[(0,t.jsx)("div",{className:"flex flex-col gap-[3px] pt-0",children:I.map((e,r)=>(0,t.jsx)("div",{className:"flex h-[13px] w-6 items-center text-[10px] text-muted-foreground",children:e},r))}),(0,t.jsx)("div",{className:"grid gap-[3px]",style:{gridTemplateColumns:`repeat(${s}, 13px)`,gridTemplateRows:"repeat(7, 13px)",gridAutoFlow:"column"},children:r.map(e=>(0,t.jsxs)(E.Tooltip,{delayDuration:0,children:[(0,t.jsx)(E.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{className:`h-[13px] w-[13px] rounded-[2px] ${function(e,t){if(0===e)return"bg-muted/40";let r=e/t;return r<=.25?"bg-emerald-200 dark:bg-emerald-900/60":r<=.5?"bg-emerald-400 dark:bg-emerald-700/80":r<=.75?"bg-emerald-500 dark:bg-emerald-600":"bg-emerald-600 dark:bg-emerald-500"}(e.count,a)}`})}),(0,t.jsxs)(E.TooltipContent,{side:"top",className:"text-xs",children:[(0,t.jsx)("span",{className:"font-medium",children:e.count})," execution",1!==e.count?"s":""," on ",e.date]})]},e.date))})]}),(0,t.jsxs)("div",{className:"mt-2 flex items-center gap-1.5 text-[10px] text-muted-foreground",children:[(0,t.jsx)("span",{children:"Less"}),(0,t.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-muted/40"}),(0,t.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-emerald-200 dark:bg-emerald-900/60"}),(0,t.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-emerald-400 dark:bg-emerald-700/80"}),(0,t.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-emerald-500 dark:bg-emerald-600"}),(0,t.jsx)("div",{className:"h-[10px] w-[10px] rounded-[2px] bg-emerald-600 dark:bg-emerald-500"}),(0,t.jsx)("span",{children:"More"})]})]})}function F({daily:e}){let r=e.reduce((e,t)=>e+t.executionsAutonomous,0),s=e.reduce((e,t)=>e+t.contextUpdatesAutonomous,0),a=e.reduce((e,t)=>e+t.executionsReactive,0),n=e.reduce((e,t)=>e+t.contextUpdatesReactive,0),i=e=>null!==e?`${(100*e).toFixed(0)}%`:"—";return(0,t.jsxs)(u.Card,{children:[(0,t.jsx)(u.CardHeader,{children:(0,t.jsx)(u.CardTitle,{children:"Context Update Rate"})}),(0,t.jsx)("p",{className:"mb-3 text-xs text-muted-foreground",children:"Share of executions that wrote to context MD files."}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Autonomous"}),(0,t.jsx)(u.CardValue,{className:"text-2xl",children:i(r>0?s/r:null)}),(0,t.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:[s," / ",r]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Reactive"}),(0,t.jsx)(u.CardValue,{className:"text-2xl",children:i(a>0?n/a:null)}),(0,t.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:[n," / ",a]})]})]})]})}var _=e.i(45958),B=e.i(59546),L=e.i(31501),O=e.i(76610),P=e.i(77379);let H=(0,P.default)("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);var G=e.i(7771),$=e.i(2412);let V={quota:{label:"Rate Limit / Quota",icon:L.Clock,badgeVariant:"amber",docId:"troubleshooting/quota-exhausted"},timeout:{label:"Timeout",icon:L.Clock,badgeVariant:"amber"},auth:{label:"Authentication",icon:O.KeyRound,badgeVariant:"red",docId:"troubleshooting/auth-failed"},network:{label:"Network",icon:H,badgeVariant:"amber"},other:{label:"Other",icon:G.HelpCircle,badgeVariant:"gray"}};function z({errors:e,days:r}){let s=e.reduce((e,t)=>e+t.count,0);return(0,t.jsxs)(u.Card,{children:[(0,t.jsxs)(u.CardHeader,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(u.CardTitle,{children:"Errors"}),s>0&&(0,t.jsx)(h.Badge,{variant:"red",className:"text-xs",children:s})]}),(0,t.jsx)(_.default,{href:"/activity",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"View all →"})]}),0===e.length?(0,t.jsxs)("div",{className:"flex items-center gap-2 py-4 text-sm text-muted-foreground",children:[(0,t.jsx)(B.CheckCircle2,{className:"h-4 w-4 text-emerald-500"}),"No errors in the last ",r," days"]}):(0,t.jsx)("div",{className:"space-y-2",children:e.map(e=>{let r=V[e.category]??V.other,s=r.icon;return(0,t.jsxs)("div",{className:"flex items-start gap-3 rounded-lg border border-border/70 px-3 py-2.5",children:[(0,t.jsx)(s,{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",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:r.label}),(0,t.jsxs)(h.Badge,{variant:r.badgeVariant,className:"text-[10px]",children:[e.count,"×"]}),e.backend&&(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:e.backend})]}),(0,t.jsx)("p",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:e.sampleMessage}),(0,t.jsxs)("div",{className:"mt-0.5 flex items-center justify-between gap-2",children:[(0,t.jsxs)("p",{className:"text-[10px] font-mono tabular-nums text-muted-foreground",children:["Last:"," ",(0,t.jsxs)(E.Tooltip,{children:[(0,t.jsx)(E.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,m.formatShortDateTime)(e.lastSeen)})}),(0,t.jsxs)(E.TooltipContent,{children:[(0,m.formatAbsoluteTime)(e.lastSeen)," (",(0,m.formatRelativeTime)(e.lastSeen),")"]})]})]}),r.docId&&(0,t.jsx)($.DocsLearnMore,{docId:r.docId,label:"Learn more →"})]})]})]},e.category)})})]})}function W({snapshot:e}){let r=e?.advisorCallRate??null,s=void 0!==e?e.modelCounts.sonnetSessions+e.modelCounts.opusSessions:0,a=null!==r?`${r.toFixed(2)} calls / session`:"—";return(0,t.jsxs)(u.Card,{children:[(0,t.jsxs)(u.CardHeader,{children:[(0,t.jsx)(u.CardTitle,{className:"text-base",children:"Advisor Usage"}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:"Claude runs only"})]}),(0,t.jsxs)("div",{className:"flex items-baseline gap-3",children:[(0,t.jsx)("span",{className:"text-2xl font-bold text-foreground",children:a}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:["Based on ",s," Claude run",1===s?"":"s"," in last 30d"]})]})]})}var U=e.i(81187);let K=(0,P.default)("MessageSquareReply",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}],["path",{d:"m10 7-3 3 3 3",key:"1eugdv"}],["path",{d:"M17 13v-1a2 2 0 0 0-2-2H7",key:"ernfh3"}]]);function q({snapshot:e}){let r=e?.proactiveForwardResume,s=r?.ratio??null,a=null===s?null:Math.round(1e3*s)/10,n=Math.round((r?.threshold??.05)*100),i=null!==s&&void 0!==r&&s>=r.threshold,l=i?U.AlertTriangle:B.CheckCircle2;return(0,t.jsxs)(u.Card,{children:[(0,t.jsx)(u.CardHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(K,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)(u.CardTitle,{children:"Forwarded DM Context"}),i&&(0,t.jsx)(h.Badge,{variant:"amber",className:"text-[10px]",children:"Watch"})]})}),r&&0!==r.injected?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-lg border border-border/70 px-3 py-2.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(l,{className:i?"h-4 w-4 text-amber-500":"h-4 w-4 text-emerald-500"}),(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Disavowal ratio"})]}),(0,t.jsxs)("span",{className:"font-mono text-lg tabular-nums text-foreground",children:[a,"%"]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-2 text-xs text-muted-foreground",children:[(0,t.jsxs)("div",{className:"rounded-md border border-border/70 px-3 py-2",children:[(0,t.jsx)("div",{className:"font-mono text-sm tabular-nums text-foreground",children:r.injected}),(0,t.jsx)("div",{children:"Injected"})]}),(0,t.jsxs)("div",{className:"rounded-md border border-border/70 px-3 py-2",children:[(0,t.jsx)("div",{className:"font-mono text-sm tabular-nums text-foreground",children:r.disavowed}),(0,t.jsx)("div",{children:"Disavowed"})]})]}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Fresh-session fallback threshold: ",n,"%"]})]}):(0,t.jsxs)("div",{className:"flex items-center gap-2 py-4 text-sm text-muted-foreground",children:[(0,t.jsx)(B.CheckCircle2,{className:"h-4 w-4 text-emerald-500"}),"No forwarded notifications injected in the last 30 days"]})]})}let Q=(0,i.default)(()=>e.A(35923).then(e=>e.ExecutionBreakdownChart),{loadableGenerated:{modules:[15616]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"h-[280px] animate-pulse rounded-lg bg-muted/20"})}),Y=[{value:0,label:"Today"},{value:7,label:"7d"},{value:30,label:"30d"}];function J({enabled:e=!0}){let[s,a]=(0,r.useState)(7),{data:n,isLoading:i,isError:l,error:o,refetch:h}=function(e=30,t){return(0,N.useQuery)({queryKey:["metrics-timeseries",e],queryFn:()=>w.api.get("/metrics/timeseries",{days:e}),refetchInterval:6e4,enabled:t?.enabled??!0})}(s,{enabled:e}),{data:m}=(0,d.useMetrics)({enabled:e});return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"flex items-center justify-end",children:(0,t.jsx)("div",{className:"flex gap-1",children:Y.map(e=>(0,t.jsx)(x.Button,{variant:s===e.value?"default":"outline",size:"sm",onClick:()=>a(e.value),children:e.label},e.value))})}),(0,t.jsx)(c.QueryResult,{isLoading:i,isError:l,error:o,onRetry:()=>h(),skeleton:(0,t.jsx)(c.CardSkeleton,{count:4}),children:n&&(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(S,{daily:n.daily,days:s,snapshot:m}),(0,t.jsx)(M,{data:n.heatmap}),(0,t.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[2fr,1fr]",children:[(0,t.jsxs)(u.Card,{children:[(0,t.jsx)(u.CardHeader,{children:(0,t.jsx)(u.CardTitle,{children:"Execution Breakdown"})}),(0,t.jsx)("p",{className:"-mt-2 mb-3 text-xs text-muted-foreground",children:"Reactive failures break owner dialogue; autonomous failures break background work."}),(0,t.jsx)(Q,{data:n.daily})]}),(0,t.jsx)(F,{daily:n.daily})]}),(0,t.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,t.jsx)(z,{errors:n.recentErrors,days:s}),(0,t.jsx)(q,{snapshot:m})]}),(0,t.jsx)(W,{snapshot:m})]})})]})}function X(){let e=(0,s.useSearchParams)(),r=(0,s.useRouter)(),i=e.get("tab")??"cost";return(0,t.jsxs)("div",{className:"flex min-h-full flex-col p-6 pb-8",children:[(0,t.jsx)(n.PageHeader,{className:"mb-4",title:"Analytics",description:(0,t.jsxs)(t.Fragment,{children:["Usage and spend trends for the agent. ",(0,t.jsx)("strong",{children:"Cost"})," aggregates per-run USD spend (computed from token counts × backend pricing) across days, weeks, and months, broken down by backend and process. ",(0,t.jsx)("strong",{children:"Metrics"}),"shows operational health — activity volume, execution breakdown, error rates, notification throughput. Data is derived from the daemon’s local SQLite database, not sent anywhere external."]})}),(0,t.jsxs)(a.Tabs,{value:i,onValueChange:e=>{r.replace(`/analytics?tab=${e}`,{scroll:!1})},className:"flex flex-col",children:[(0,t.jsxs)(a.TabsList,{className:"w-fit",children:[(0,t.jsx)(a.TabsTrigger,{value:"cost",children:"Cost"}),(0,t.jsx)(a.TabsTrigger,{value:"metrics",children:"Metrics"})]}),(0,t.jsx)(a.TabsContent,{value:"cost",className:"mt-4",children:(0,t.jsx)(C,{enabled:"cost"===i})}),(0,t.jsx)(a.TabsContent,{value:"metrics",className:"mt-4",children:(0,t.jsx)(J,{enabled:"metrics"===i})})]})]})}e.s(["default",0,function(){return(0,t.jsx)(r.Suspense,{children:(0,t.jsx)(X,{})})}],7209)},33983,e=>{e.v(t=>Promise.all(["static/chunks/06gaoy7cms92z.js","static/chunks/0v6hvvo6scvx7.js"].map(t=>e.l(t))).then(()=>t(67754)))},25670,e=>{e.v(t=>Promise.all(["static/chunks/14v5ojhq6eaq9.js","static/chunks/0v6hvvo6scvx7.js"].map(t=>e.l(t))).then(()=>t(56592)))},63862,e=>{e.v(t=>Promise.all(["static/chunks/09.2lxmkpe4vt.js","static/chunks/0v6hvvo6scvx7.js"].map(t=>e.l(t))).then(()=>t(89481)))},74131,e=>{e.v(t=>Promise.all(["static/chunks/0udv6m08jothr.js","static/chunks/0v6hvvo6scvx7.js"].map(t=>e.l(t))).then(()=>t(96241)))},35923,e=>{e.v(t=>Promise.all(["static/chunks/0ojqq~83_pe89.js","static/chunks/0v6hvvo6scvx7.js"].map(t=>e.l(t))).then(()=>t(15616)))}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55575,e=>{"use strict";let t=(0,e.i(77379).default)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",0,t],55575)},66127,e=>{"use strict";var t=e.i(65268);async function a({title:e,defaultPath:s}){let n=await t.api.post("/system/pick-directory",{title:e,...s?{defaultPath:s}:{}});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])},58436,e=>{"use strict";var t=e.i(54710),a=e.i(34416),s=e.i(55575),n=e.i(72740),r=e.i(20014),i=e.i(8652),l=e.i(66127),d=e.i(81471);e.s(["DirectoryPickerField",0,function({id:e,value:o,onChange:c,title:u,placeholder:m="Choose a folder...",defaultPath:x,disabled:h=!1,className:g,inputClassName:p,buttonLabel:f="Choose"}){let[b,j]=(0,a.useState)(!1),[v,y]=(0,a.useState)(null),N=async()=>{j(!0),y(null);try{let e=await (0,l.pickDirectoryFromDesktop)({title:u,defaultPath:o.trim()||x});e&&c(e)}catch(e){y(e instanceof Error?e.message:"Folder picker is unavailable.")}finally{j(!1)}};return(0,t.jsxs)("div",{className:(0,d.cn)("space-y-1",g),children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row",children:[(0,t.jsx)(i.Input,{id:e,value:o,onChange:e=>{c(e.target.value),y(null)},placeholder:m,className:(0,d.cn)("font-mono text-sm",p),disabled:h||b}),(0,t.jsxs)(r.Button,{type:"button",variant:"outline",onClick:N,disabled:h||b,className:"shrink-0 gap-2",children:[b?(0,t.jsx)(n.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(s.FolderOpen,{className:"h-4 w-4"}),b?"Opening...":f]})]}),v&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:v})]})}])},85631,e=>{"use strict";var t=e.i(54710),a=e.i(81471);e.s(["ConnectionsSectionHeader",0,function({title:e,description:s,healthy:n,total:r,attention:i,actions:l}){let d=r>0&&n===r,o=r>0&&0===n;return(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:e}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[r>0&&(0,t.jsxs)("span",{className:(0,a.cn)("text-xs font-medium tabular-nums",d?"text-emerald-600 dark:text-emerald-400":o?"text-muted-foreground":"text-amber-600 dark:text-amber-400"),children:[n,"/",r," connected"]}),l]})]}),s&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:s}),i&&(0,t.jsx)("p",{className:"text-xs text-amber-600 dark:text-amber-400",children:i})]})}])},20870,e=>{"use strict";var t=e.i(54710),a=e.i(48467),s=e.i(74490),n=e.i(81471);let r={connected:{variant:"green",label:"Connected"},configured:{variant:"amber",label:"Configured"},connecting:{variant:"amber",label:"Connecting…"},"needs-setup":{variant:"gray",label:"Not Configured"},error:{variant:"red",label:"Error"},disabled:{variant:"gray",label:"Disabled"}};e.s(["ConnectionCard",0,function({name:e,icon:i,status:l,error:d,metadata:o,children:c,className:u}){let m=r[l];return(0,t.jsxs)(s.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:m.variant,children:m.label})]}),d&&"connecting"!==l&&(0,t.jsx)("p",{className:"mb-2 text-xs text-red-600 dark:text-red-400",children:d}),o&&o.length>0&&(0,t.jsx)("div",{className:"mb-3 space-y-0.5",children:o.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:e.label}),(0,t.jsx)("span",{className:"text-foreground",children:e.value})]},e.label))}),c]})},"deriveConfiguredStatus",0,function(e){return e?"configured":"needs-setup"},"deriveIntegrationStatus",0,function(e){return e&&e.configured?e.error?"error":e.connected?"connected":"configured":"needs-setup"},"deriveMessagingStatus",0,function(e){return e&&"not_configured"!==e.runtimeState?"connecting"===e.runtimeState?"connecting":"error"===e.runtimeState?"error":"ok"===e.runtimeState?"connected":"configured":"needs-setup"},"messagingMetadata",0,function(e){if(e)return[{label:"Owner configured",value:e.ownerConfigured?"yes":"no"},{label:"Owner channel known",value:e.ownerChannelKnown?"yes":"no"},{label:"Reminder eligible",value:e.notificationEligible?"yes":"no"},{label:"Last inbound",value:e.lastInboundAt??"—"}]}])},73550,e=>{"use strict";let t=(0,e.i(77379).default)("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);e.s(["Hash",0,t],73550)},14949,e=>{"use strict";var t=e.i(54710),a=e.i(88423),s=e.i(75187),n=e.i(44791),r=e.i(66665),i=e.i(45764),l=e.i(49578),d=e.i(26317),o=e.i(20870);function c(){let{data:e}=(0,s.useHealth)(),a=e?.messaging?.dashboard;return(0,t.jsx)(o.ConnectionCard,{name:"Dashboard",icon:(0,t.jsx)(d.LayoutDashboard,{className:"h-4 w-4"}),status:(0,o.deriveMessagingStatus)(a),error:a?.error,children:(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"The dashboard chat shares the same conversation as your other messaging apps. Routine reminders aren't delivered here by default — they go to the destinations you pick below."})})}var u=e.i(2126),m=e.i(85631);let x=["slack","telegram","discord","whatsapp","dashboard"],h={slack:"Slack",telegram:"Telegram",discord:"Discord",whatsapp:"WhatsApp",dashboard:"Dashboard"};function g(){return(0,t.jsx)("div",{className:"space-y-4 animate-pulse",children:[1,2,3].map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-border p-5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-4 w-4 rounded bg-muted"}),(0,t.jsx)("div",{className:"h-4 w-20 rounded bg-muted"})]}),(0,t.jsx)("div",{className:"h-5 w-24 rounded-full bg-muted"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("div",{className:"h-3 w-full max-w-xs rounded bg-muted"}),(0,t.jsx)("div",{className:"h-3 w-full max-w-[200px] rounded bg-muted"})]})]},e))})}e.s(["default",0,function(){let{data:e,isLoading:d}=(0,a.useConfig)(),{data:o,isLoading:p}=(0,s.useHealth)(),f=d||p,b=!f&&(!e||!o),j=o?.messaging??{},v=x.filter(e=>j[e]?.runtimeState==="ok").length,y=x.filter(e=>j[e]?.runtimeState==="error").map(e=>h[e]),N=y.length>0?`${y.join(", ")} ${1===y.length?"needs":"need"} attention`:null;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m.ConnectionsSectionHeader,{title:"Messaging",description:"Apps you use to talk with the agent. DMs and @-mentions only — group chats are out of scope.",healthy:v,total:x.length,attention:N}),b&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Daemon not connected. Start the daemon to configure channels."}),f?(0,t.jsx)(g,{}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(n.SlackCard,{}),(0,t.jsx)(r.TelegramCard,{}),(0,t.jsx)(i.DiscordCard,{}),(0,t.jsx)(l.WhatsAppCard,{}),(0,t.jsx)(c,{})]}),!f&&(0,t.jsx)(u.DestinationSelector,{})]})}],14949)}]);
@@ -1,5 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,39982,e=>{"use strict";var t=e.i(54710),r=e.i(81471);e.s(["PageHeader",0,function({title:e,description:n,icon:s,badge:a,actions:i,children:l,className:u}){return(0,t.jsxs)("header",{className:(0,r.cn)("flex flex-col gap-1",u),children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[s&&(0,t.jsx)(s,{className:"h-5 w-5 text-muted-foreground"}),(0,t.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:e}),a]}),i&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:i})]}),n&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:n}),l]})}])},60168,e=>{"use strict";let t=(0,e.i(77379).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],60168)},50862,e=>{"use strict";var t=e.i(54710),r=e.i(81471);e.s(["EmptyState",0,function({icon:e,title:n,description:s,className:a,children:i}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center justify-center py-16 text-muted-foreground",a),children:[(0,t.jsx)(e,{className:"mb-3 h-10 w-10 opacity-40"}),(0,t.jsx)("p",{className:"text-sm font-medium",children:n}),s&&(0,t.jsx)("p",{className:"mt-1 max-w-prose text-xs text-muted-foreground/70",children:s}),i]})}])},49785,e=>{"use strict";var t=e.i(54710),r=e.i(63991),n=e.i(72740),s=e.i(20014),a=e.i(81471);function i(){return(0,t.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,t.jsx)(n.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})})}function l({error:e,onRetry:n}){return(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-16",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-destructive",children:[(0,t.jsx)(r.AlertCircle,{className:"h-5 w-5"}),(0,t.jsx)("p",{className:"text-sm font-medium",children:"Failed to load data"})]}),e?.message&&(0,t.jsx)("p",{className:"max-w-md text-center text-xs text-muted-foreground",children:e.message}),n&&(0,t.jsx)(s.Button,{variant:"outline",size:"sm",onClick:n,children:"Retry"})]})}e.s(["CardSkeleton",0,function({count:e=3}){return(0,t.jsx)("div",{className:(0,a.cn)("grid gap-4",e<=2?"grid-cols-1 md:grid-cols-2":4===e?"grid-cols-2 md:grid-cols-4":"grid-cols-1 md:grid-cols-3"),children:Array.from({length:e}).map((e,r)=>(0,t.jsx)("div",{className:"h-28 animate-pulse rounded-xl border border-border bg-muted/30"},r))})},"QueryResult",0,function({isLoading:e,isError:r,error:n,onRetry:s,skeleton:u,className:o,children:d}){return e?(0,t.jsx)("div",{className:(0,a.cn)(o),children:u??(0,t.jsx)(i,{})}):r?(0,t.jsx)("div",{className:(0,a.cn)(o),children:(0,t.jsx)(l,{error:n,onRetry:s})}):(0,t.jsx)(t.Fragment,{children:d})},"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),n=class extends t.QueryObserver{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){super.setOptions({...e,behavior:(0,r.infiniteQueryBehavior)()})}getOptimisticResult(e){return e.behavior=(0,r.infiniteQueryBehavior)(),super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){let{state:n}=e,s=super.createResult(e,t),{isFetching:a,isRefetching:i,isError:l,isRefetchError:u}=s,o=n.fetchMeta?.fetchMore?.direction,d=l&&"forward"===o,c=a&&"forward"===o,m=l&&"backward"===o,h=a&&"backward"===o;return{...s,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,r.hasNextPage)(t,n.data),hasPreviousPage:(0,r.hasPreviousPage)(t,n.data),isFetchNextPageError:d,isFetchingNextPage:c,isFetchPreviousPageError:m,isFetchingPreviousPage:h,isRefetchError:u&&!d&&!m,isRefetching:i&&!c&&!h}}},s=e.i(98757);e.s(["useInfiniteQuery",0,function(e,t){return(0,s.useBaseQuery)(e,n,t)}],75540)},67935,e=>{"use strict";var t=e.i(54710),r=e.i(16047),n=e.i(34416),s=e.i(81471);let a=(0,n.forwardRef)(({className:e,children:n,...a},i)=>(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("select",{ref:i,className:(0,s.cn)("flex h-9 w-full appearance-none rounded-md border border-input bg-background px-3 py-2 pr-8 text-sm ring-offset-background","focus:outline-none focus:ring-2 focus:ring-ring","disabled:cursor-not-allowed disabled:opacity-50",e),...a,children:n}),(0,t.jsx)(r.ChevronDown,{className:"pointer-events-none absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2 opacity-50"})]}));a.displayName="NativeSelect",e.s(["NativeSelect",0,a])},8006,e=>{"use strict";let t=(0,e.i(77379).default)("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);e.s(["Settings2",0,t],8006)},69986,55606,e=>{"use strict";var t=e.i(34416),r=e.i(75540),n=e.i(57415),s=e.i(14260),a=e.i(95486),i=e.i(65268),l=e.i(68894);let u=["agents"];function o(e){return["agents","detail",e]}e.s(["useAgent",0,function(e){return(0,s.useQuery)({queryKey:o(e??""),queryFn:()=>i.api.get(`/agents/${e}`),enabled:!!e})},"useAgentExecutionsInfinite",0,function(e,t){return(0,r.useInfiniteQuery)({queryKey:["agents","executions-page",e??"",t??{}],queryFn:({pageParam:r})=>i.api.get(`/agents/${e}/executions`,{params:{limit:50,result:t?.result,before:r??void 0}}),initialPageParam:void 0,getNextPageParam:e=>{if(e.executions.length<50)return;let t=e.executions[e.executions.length-1];return t?.id},enabled:!!e})},"useAgentLiveRefresh",0,function(){let{subscribeEvent:e}=(0,l.useSSE)(),r=(0,a.useQueryClient)();(0,t.useEffect)(()=>e(e=>{let t=e.kind;if("string"!=typeof t||!t.startsWith("agent."))return;let n=e.slug;"string"==typeof n&&(r.invalidateQueries({queryKey:o(n)}),r.invalidateQueries({queryKey:["agents","executions",n,(void 0)??{}]})),r.invalidateQueries({queryKey:u})}),[e,r])},"useAgents",0,function(e){return(0,s.useQuery)({queryKey:["agents","list",e??{}],queryFn:()=>i.api.get("/agents",{params:{source:e?.source,enabled:e?.enabled===void 0?void 0:String(e.enabled),include_invalid:e?.include_invalid===void 0?void 0:String(e.include_invalid)}})})},"useDeleteAgent",0,function(){let e=(0,a.useQueryClient)();return(0,n.useMutation)({mutationFn:({slug:e,keepHistory:t})=>i.api.delete(`/agents/${e}`,{body:{keep_history:t}}),onSuccess:(t,{slug:r})=>{e.invalidateQueries({queryKey:o(r)}),e.invalidateQueries({queryKey:u})}})},"usePatchAgent",0,function(){let e=(0,a.useQueryClient)();return(0,n.useMutation)({mutationFn:({slug:e,body:t})=>i.api.patch(`/agents/${e}`,t),onSuccess:(t,{slug:r})=>{e.invalidateQueries({queryKey:o(r)}),e.invalidateQueries({queryKey:u})}})},"useRunAgentNow",0,function(){let e=(0,a.useQueryClient)();return(0,n.useMutation)({mutationFn:e=>i.api.post(`/agents/${e}/run-now`,{}),onSuccess:(t,r)=>{e.invalidateQueries({queryKey:o(r)})}})},"useRunningAgents",0,function(){let{subscribeEvent:e}=(0,l.useSSE)(),[r,n]=(0,t.useState)(new Set);return(0,t.useEffect)(()=>e(e=>{let t=e.kind,r=e.slug;"string"==typeof r&&("agent.execution.started"===t?n(e=>new Set(e).add(r)):"agent.execution.completed"===t&&n(e=>{if(!e.has(r))return e;let t=new Set(e);return t.delete(r),t}))}),[e]),r},"useSaveUserAgent",0,function(){let e=(0,a.useQueryClient)();return(0,n.useMutation)({mutationFn:({slug:e,content:t,expectedMtime:r})=>i.api.put(`/context/policies/agents/${e}/agent.md`,{content:t,...r?{expectedMtime:r}:{}}),onSuccess:(t,{slug:r})=>{e.invalidateQueries({queryKey:o(r)}),e.invalidateQueries({queryKey:u})}})}],69986);let d=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function c(e){return e<10?`0${e}`:String(e)}function m(e){if(!Number.isFinite(e)||e<=0)return`${e}m`;let t=Math.floor(e/60),r=e%60;return t>0&&r>0?`${t}h ${r}m`:t>0?`${t}h`:`${r}m`}function h(e){return`Every ${m(e.interval_minutes)}`}function g(e){let{active_start_hour:t,active_end_hour:r}=e;return t<=0&&r>=24?null:`${c(t)}:00–${c(r)}:00`}function x(e){let t=/^\*\/(\d+)$/.exec(e);if(!t)return null;let r=Number(t[1]);return Number.isInteger(r)&&r>0?r:null}function f(e){let t=/^(\d+)-(\d+)$/.exec(e);if(!t)return null;let r=Number(t[1]),n=Number(t[2]);return!Number.isInteger(r)||!Number.isInteger(n)||r<0||n>23||r>=n?null:{start:r,end:n}}function p(e){if(null==e||!Number.isFinite(e)||e<0)return"—";let t=Math.round(e/1e3),r=Math.floor(t/3600),n=Math.floor(t%3600/60),s=t%60;return r>0?`${r}h ${n}m`:n>0?`${n}m ${s}s`:`${s}s`}e.s(["describeSchedule",0,function(e){switch(e.kind){case"cron":if(e.interval){var t;let r,n;return r=h(t=e.interval),(n=g(t))?`${r}, ${n}`:r}return e.expression?function(e){let t=e.trim().split(/\s+/);if(5!==t.length&&6!==t.length)return e;let[r,n,s,a,i]=6===t.length?t.slice(1):t,l=function(e,t,r,n,s){if("*"!==r||"*"!==n||"*"!==s)return null;let a=x(e)??function(e){if(!e.includes(","))return null;let t=e.split(",").map(e=>Number(e));if(t.length<2||t.some(e=>!Number.isInteger(e))||0!==t[0])return null;let r=t[1]-t[0];if(r<=0)return null;for(let e=1;e<t.length;e++)if(t[e]-t[e-1]!==r)return null;return r}(e);if(null!==a){let e=`Every ${m(a)}`;if("*"===t)return e;let r=f(t);return r?`${e}, ${c(r.start)}:00–${c(r.end+1)}:00`:null}if("*"===e){if("*"===t)return"Every minute";let e=f(t);return e?`Every minute, ${c(e.start)}:00–${c(e.end+1)}:00`:null}let i=Number(e);if(!Number.isInteger(i)||i<0||i>=60)return null;let l=0===i?"":` at :${c(i)}`,u=x(t);return null!==u?`Every ${u}h${l}`:"*"===t?`Hourly${l}`:null}(r,n,s,a,i);if(l)return l;let u=Number(r),o=Number(n);if(!(Number.isInteger(u)&&Number.isInteger(o)&&u>=0&&u<60&&o>=0&&o<24))return e;let h=`${c(o)}:${c(u)}`;if("*"===s&&"*"===a&&"*"===i)return`Every day at ${h}`;if("*"===s&&"*"===a){let e=Number(i);if(Number.isInteger(e)&&e>=0&&e<=6)return`Every ${d[e]} at ${h}`}return e}(e.expression):"Recurring";case"one_shot":return"One-shot";case"event":return e.expression?`On event: ${e.expression}`:"On event";default:return e.kind}},"executionDurationMs",0,function(e){if(!e.started_at||!e.ended_at)return null;let t=Date.parse(e.started_at),r=Date.parse(e.ended_at);return Number.isFinite(t)&&Number.isFinite(r)&&!(r<t)?r-t:null},"formatActiveHours",0,g,"formatCostUsd",0,function(e){return null==e?"—":`$${e.toFixed(2)}`},"formatDurationSeconds",0,function(e){return null==e?"—":p(1e3*e)},"formatDurationShort",0,p,"formatIntervalEvery",0,h,"formatPercent",0,function(e){return null==e?"—":`${Math.round(100*e)}%`},"isIntervalSchedule",0,function(e){if(e.interval)return!0;if("cron"!==e.kind||!e.expression)return!1;let t=e.expression.trim().split(/\s+/);if(5!==t.length&&6!==t.length)return!1;let[r,n]=6===t.length?t.slice(1):t,s=e=>"*"===e||e.includes(",")||e.includes("-")||e.includes("/");return s(r)||s(n)},"kindLabel",0,function(e){return"builtin"===e?"System":"User"},"resultBadgeVariant",0,function(e){switch(e){case"success":return"green";case"error":return"red";case"timeout":return"amber";default:return"gray"}}],55606)},37682,e=>{"use strict";var t=e.i(54710),r=e.i(81471);let n="text-xs font-medium text-muted-foreground",s="text-xs text-muted-foreground",a="text-xs text-destructive";e.s(["FormField",0,function({label:e,description:i,error:l,htmlFor:u,className:o,children:d}){return u?(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col gap-1 text-sm",o),children:[e&&(0,t.jsx)("label",{htmlFor:u,className:n,children:e}),d,i&&!l&&(0,t.jsx)("p",{className:s,children:i}),l&&(0,t.jsx)("p",{className:a,children:l})]}):(0,t.jsxs)("label",{className:(0,r.cn)("flex flex-col gap-1 text-sm",o),children:[e&&(0,t.jsx)("span",{className:n,children:e}),d,i&&!l&&(0,t.jsx)("span",{className:s,children:i}),l&&(0,t.jsx)("span",{className:a,children:l})]})}])},1833,e=>{"use strict";var t=e.i(54710),r=e.i(34416),n=e.i(45958),s=e.i(71060),a=e.i(19660),i=e.i(60168),l=e.i(81187);let u=(0,e.i(77379).default)("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);var o=e.i(8006),d=e.i(39982),c=e.i(20014),m=e.i(48467),h=e.i(79634),g=e.i(57628),x=e.i(50862),f=e.i(49785),p=e.i(27102),b=e.i(8652),y=e.i(67935),v=e.i(37682),N=e.i(81471),j=e.i(92861);e.i(18446);var k=e.i(16016),w=e.i(38082);let S=["hourly","daily","weekly","monthly"],F=["",...w.RUNTIME_AVAILABLE_BACKEND_IDS],A=["",...k.AGENT_TIERS],$={name:"",slug:"",description:"",enabled:!0,frequency:"daily",time:"09:00",intervalHours:1,minuteOfHour:0,daysOfWeek:[],daysOfMonth:[],backendId:"",tier:"",maxTurns:20,maxBudgetUsd:.25,timeoutMinutes:10,prompt:""},M=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],C=Array.from({length:31},(e,t)=>t+1),O={hourly:"Hourly",daily:"Daily",weekly:"Weekly",monthly:"Monthly"};function I({saving:e,saveError:n,existingSlugs:s,onSave:a,onCancel:i}){let[l,u]=(0,r.useState)($),[o,d]=(0,r.useState)(!1),[m,g]=(0,r.useState)(!1),x=(0,r.useMemo)(()=>(function(e,t=[]){let r={};0===e.name.trim().length&&(r.name="Name is required.");let n=e.slug.trim();return 0===n.length?r.slug="ID is required.":k.AGENT_SLUG_PATTERN.test(n)?t.includes(n)&&(r.slug=`An agent with the ID "${n}" already exists — choose a different ID.`):r.slug="ID must be lowercase letters, numbers and hyphens, and start with a letter (e.g. daily-digest).",0===e.description.trim().length&&(r.description="Description is required."),0===e.prompt.trim().length&&(r.prompt="Task prompt is required — it is what the agent does each time it runs."),"hourly"===e.frequency?((!Number.isInteger(e.intervalHours)||e.intervalHours<1||e.intervalHours>23)&&(r.intervalHours="Every N hours must be a whole number from 1 to 23."),(!Number.isInteger(e.minuteOfHour)||e.minuteOfHour<0||e.minuteOfHour>59)&&(r.minuteOfHour="Minute must be a whole number from 0 to 59.")):/^\d{2}:\d{2}$/.test(e.time)||(r.time="Time must be HH:MM."),"weekly"===e.frequency&&0===e.daysOfWeek.length&&(r.daysOfWeek="Select at least one day of the week."),"monthly"===e.frequency&&0===e.daysOfMonth.length&&(r.daysOfMonth="Select at least one day of the month."),(!Number.isInteger(e.maxTurns)||e.maxTurns<1)&&(r.maxTurns="Must be a whole number of 1 or more."),(Number.isNaN(e.maxBudgetUsd)||e.maxBudgetUsd<0)&&(r.maxBudgetUsd="Must be 0 or more."),(!Number.isInteger(e.timeoutMinutes)||e.timeoutMinutes<1)&&(r.timeoutMinutes="Must be a whole number of 1 or more."),0===Object.keys(r).length?null:r})(l,s),[l,s]),f=(e,t)=>u(r=>({...r,[e]:t})),p=e=>m?x?.[e]:void 0;return(0,t.jsxs)("div",{className:"space-y-5",children:[(0,t.jsx)(v.FormField,{htmlFor:"agent-name",label:"Name",description:"A human label shown in the agents list. e.g. “Daily Digest”.",error:p("name"),children:(0,t.jsx)(b.Input,{id:"agent-name",value:l.name,onChange:e=>{let t;return t=e.target.value,u(e=>({...e,name:t,slug:o?e.slug:t.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}))},placeholder:"Daily Digest"})}),(0,t.jsx)(v.FormField,{htmlFor:"agent-slug",label:"ID",description:"URL and folder name, auto-filled from the name. Lowercase letters, numbers and hyphens; cannot be changed later.",error:p("slug"),children:(0,t.jsx)(b.Input,{id:"agent-slug",value:l.slug,onChange:e=>{var t;return t=e.target.value,void(d(!0),f("slug",t))},placeholder:"daily-digest",className:"font-mono"})}),(0,t.jsx)(v.FormField,{htmlFor:"agent-description",label:"Description",description:"One line on what this agent is for. Shown in the list and its detail page.",error:p("description"),children:(0,t.jsx)(b.Input,{id:"agent-description",value:l.description,onChange:e=>f("description",e.target.value),placeholder:"Summarise the day and surface what needs attention."})}),(0,t.jsx)(v.FormField,{label:"Enabled",description:"When on, the agent runs automatically on its schedule. Turn off to keep the definition without firing it.",children:(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",checked:l.enabled,onChange:e=>f("enabled",e.target.checked),className:"h-4 w-4 rounded border-input"}),(0,t.jsx)("span",{className:"text-muted-foreground",children:l.enabled?"On — will run on schedule":"Off — paused"})]})}),(0,t.jsxs)("div",{className:"space-y-3 rounded-lg border border-border bg-muted/20 p-3",children:[(0,t.jsx)(v.FormField,{label:"Schedule",description:"How often the agent runs. Pick a cadence, then set when.",error:p("daysOfWeek")??p("daysOfMonth"),children:(0,t.jsx)("div",{className:"flex flex-wrap gap-1",role:"radiogroup","aria-label":"Schedule frequency",children:S.map(e=>(0,t.jsx)(c.Button,{type:"button",size:"sm",variant:l.frequency===e?"default":"outline",onClick:()=>f("frequency",e),"aria-pressed":l.frequency===e,children:O[e]},e))})}),"hourly"===l.frequency&&(0,t.jsxs)("div",{className:"flex flex-wrap gap-3",children:[(0,t.jsx)(v.FormField,{htmlFor:"agent-interval-hours",label:"Every N hours",description:"1–23.",error:p("intervalHours"),children:(0,t.jsx)(b.Input,{id:"agent-interval-hours",type:"number",min:1,max:23,value:Number.isNaN(l.intervalHours)?"":l.intervalHours,onChange:e=>f("intervalHours",e.target.valueAsNumber),className:"w-24"})}),(0,t.jsx)(v.FormField,{htmlFor:"agent-minute-of-hour",label:"At minute",description:"0–59 past the hour.",error:p("minuteOfHour"),children:(0,t.jsx)(b.Input,{id:"agent-minute-of-hour",type:"number",min:0,max:59,value:Number.isNaN(l.minuteOfHour)?"":l.minuteOfHour,onChange:e=>f("minuteOfHour",e.target.valueAsNumber),className:"w-24"})})]}),"weekly"===l.frequency&&(0,t.jsx)(v.FormField,{label:"Days of week",description:"Select one or more days.",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:M.map((e,r)=>{let n=l.daysOfWeek.includes(r);return(0,t.jsx)(c.Button,{type:"button",size:"sm",variant:n?"default":"outline",onClick:()=>f("daysOfWeek",l.daysOfWeek.includes(r)?l.daysOfWeek.filter(e=>e!==r):[...l.daysOfWeek,r]),"aria-pressed":n,children:e},e)})})}),"monthly"===l.frequency&&(0,t.jsx)(v.FormField,{label:"Days of month",description:"Select one or more days (1–31).",children:(0,t.jsx)("div",{className:"grid grid-cols-7 gap-1 sm:grid-cols-10",children:C.map(e=>{let r=l.daysOfMonth.includes(e);return(0,t.jsx)("button",{type:"button",onClick:()=>f("daysOfMonth",l.daysOfMonth.includes(e)?l.daysOfMonth.filter(t=>t!==e):[...l.daysOfMonth,e]),"aria-pressed":r,className:(0,N.cn)("h-7 rounded-md border text-xs tabular-nums transition-colors",r?"border-primary bg-primary text-primary-foreground":"border-input bg-background hover:bg-muted"),children:e},e)})})}),"hourly"!==l.frequency&&(0,t.jsx)(v.FormField,{htmlFor:"agent-time",label:"Time of day",description:"Interpreted in the daemon's configured timezone.",error:p("time"),children:(0,t.jsx)(b.Input,{id:"agent-time",type:"time",value:l.time,onChange:e=>f("time",e.target.value),className:"w-auto"})})]}),(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsx)(v.FormField,{htmlFor:"agent-backend",label:"Backend engine",description:"Which CLI runs the agent. Default uses your configured routing.",children:(0,t.jsx)(y.NativeSelect,{id:"agent-backend",value:l.backendId,onChange:e=>f("backendId",e.target.value),children:F.map(e=>(0,t.jsx)("option",{value:e,children:""===e?"Default":e},e||"default"))})}),(0,t.jsx)(v.FormField,{htmlFor:"agent-tier",label:"Model tier",description:"Lite is cheapest, high is most capable. Default uses the routing tier.",children:(0,t.jsx)(y.NativeSelect,{id:"agent-tier",value:l.tier,onChange:e=>f("tier",e.target.value),children:A.map(e=>(0,t.jsx)("option",{value:e,children:""===e?"Default":e},e||"default"))})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Limits (per run)"}),(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-3",children:[(0,t.jsx)(v.FormField,{htmlFor:"agent-max-turns",label:"Max turns",description:"Agent ↔ tool round-trips.",error:p("maxTurns"),children:(0,t.jsx)(b.Input,{id:"agent-max-turns",type:"number",min:1,step:1,value:Number.isNaN(l.maxTurns)?"":l.maxTurns,onChange:e=>f("maxTurns",e.target.valueAsNumber)})}),(0,t.jsx)(v.FormField,{htmlFor:"agent-max-budget",label:"Max budget (USD)",description:"Soft spend cap per run.",error:p("maxBudgetUsd"),children:(0,t.jsx)(b.Input,{id:"agent-max-budget",type:"number",min:0,step:.05,value:Number.isNaN(l.maxBudgetUsd)?"":l.maxBudgetUsd,onChange:e=>f("maxBudgetUsd",e.target.valueAsNumber)})}),(0,t.jsx)(v.FormField,{htmlFor:"agent-timeout",label:"Timeout (min)",description:"Hard stop after this long.",error:p("timeoutMinutes"),children:(0,t.jsx)(b.Input,{id:"agent-timeout",type:"number",min:1,step:1,value:Number.isNaN(l.timeoutMinutes)?"":l.timeoutMinutes,onChange:e=>f("timeoutMinutes",e.target.valueAsNumber)})})]})]}),(0,t.jsx)(v.FormField,{htmlFor:"agent-prompt",label:"Task prompt",description:"The instructions the agent follows each time it runs. Be specific about what to read, do, and produce.",error:p("prompt"),children:(0,t.jsx)("textarea",{id:"agent-prompt",value:l.prompt,onChange:e=>f("prompt",e.target.value),rows:6,placeholder:"Read today's notes, summarise what changed, and DM me the three things that need attention.",className:"w-full resize-y rounded-md border border-input bg-background p-2 text-sm focus:outline-none focus:ring-2 focus:ring-ring"})}),n&&(0,t.jsx)(h.Alert,{variant:"error",children:n}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Button,{onClick:()=>{if(g(!0),!x){let e,t,r,n;a((r=j.default.dump((e={process_key:"agent.task"},l.tier&&(e.tier=l.tier),l.backendId&&(e.backend_id=l.backendId),t={kind:"cron",expression:function(e){if("hourly"===e.frequency){let t=e.intervalHours;return`${e.minuteOfHour} ${1===t?"*":`*/${t}`} * * *`}let[t,r]=e.time.split(":"),n=Number.parseInt(t,10),s=Number.parseInt(r,10),a=Number.isFinite(n)?n:0,i=Number.isFinite(s)?s:0;if("weekly"===e.frequency){let t=e.daysOfWeek.length>0?[...e.daysOfWeek].sort((e,t)=>e-t).join(","):"*";return`${i} ${a} * * ${t}`}if("monthly"===e.frequency){let t=e.daysOfMonth.length>0?[...e.daysOfMonth].sort((e,t)=>e-t).join(","):"*";return`${i} ${a} ${t} * *`}return`${i} ${a} * * *`}(l)},{slug:l.slug.trim(),name:l.name.trim(),description:l.description.trim(),kind:"user",enabled:l.enabled,schedule:t,backend:e,limits:{max_turns:l.maxTurns,max_budget_usd:l.maxBudgetUsd,timeout_minutes:l.timeoutMinutes}}),{lineWidth:-1,noRefs:!0,sortKeys:!1}),n=l.prompt.trim(),`---
2
- ${r}---
3
-
4
- ${n}
5
- `),l.slug.trim())}},disabled:e,children:e?"Creating…":"Create agent"}),(0,t.jsx)(c.Button,{variant:"outline",onClick:i,disabled:e,children:"Cancel"})]})]})}var _=e.i(28562),D=e.i(69986),P=e.i(52693);function T({trigger:e}){let[n,a]=(0,r.useState)(!1),[i,l]=(0,r.useState)("form"),u=(0,D.useSaveUserAgent)(),o=(0,s.useRouter)(),[d,m]=(0,r.useState)(null),{data:h}=(0,D.useAgents)({include_invalid:!0}),g=(0,r.useMemo)(()=>(h?.agents??[]).map(e=>e.slug),[h?.agents]),x=(e,t)=>{m(null),u.mutate({slug:t,content:e},{onSuccess:()=>{a(!1),o.push(`/agents/${t}`)}})};return(0,t.jsxs)(p.Dialog,{open:n,onOpenChange:e=>{a(e),e||(m(null),l("form"))},children:[(0,t.jsx)(p.DialogTrigger,{asChild:!0,children:e}),(0,t.jsxs)(p.DialogContent,{className:"max-h-[88vh] max-w-2xl overflow-y-auto",children:[(0,t.jsxs)(p.DialogHeader,{children:[(0,t.jsx)(p.DialogTitle,{children:"New Agent"}),(0,t.jsx)(p.DialogDescription,{children:"form"===i?(0,t.jsxs)(t.Fragment,{children:["Fill in the fields below to create a User Agent. Saving writes"," ",(0,t.jsx)("code",{children:"policies/agents/<id>/agent.md"})," through the context vault."]}):(0,t.jsxs)(t.Fragment,{children:["Define a user Agent in YAML. The ",(0,t.jsx)("code",{children:"slug"})," becomes its URL and directory name. Saving writes ",(0,t.jsx)("code",{children:"policies/agents/<slug>/agent.md"})," through the context vault."]})})]}),(0,t.jsxs)("div",{className:"mb-3 flex gap-1",children:[(0,t.jsx)(c.Button,{type:"button",size:"sm",variant:"form"===i?"default":"outline",onClick:()=>l("form"),"aria-pressed":"form"===i,children:"Form"}),(0,t.jsx)(c.Button,{type:"button",size:"sm",variant:"yaml"===i?"default":"outline",onClick:()=>l("yaml"),"aria-pressed":"yaml"===i,children:"Advanced (YAML)"})]}),"form"===i?(0,t.jsx)(I,{saving:u.isPending,saveError:d??(u.isError?u.error.message:null),existingSlugs:g,onSave:x,onCancel:()=>a(!1)}):(0,t.jsx)(_.UserAgentYamlEditor,{initialContent:(0,P.scaffoldUserAgentMarkdown)("my-agent"),saving:u.isPending,saveError:d??(u.isError?u.error.message:null),onSave:e=>{m(null);let t=(0,P.slugFromMarkdown)(e);t?x(e,t):m("The definition must declare a `slug:` field.")},onCancel:()=>a(!1),allowUnchanged:!0})]})]})}var q=e.i(55606);let E={search:"",kind:"all",status:"all",cadence:"all"};function B(e,t){switch(t){case"name":return e.name.toLowerCase();case"kind":return e.kind;case"schedule":return(e.schedule.expression??e.schedule.kind).toLowerCase();case"status":return+!e.enabled;case"last":let r=e.last_execution?.started_at;if(!r)return-1/0;let n=Date.parse(r);return Number.isFinite(n)?n:-1/0;case"errorRate":return e.metrics_7d.error_rate??-1;case"cost":return e.metrics_7d.avg_cost_usd??-1}}let H=[{value:"all",label:"All"},{value:"builtin",label:"System"},{value:"user",label:"User"}],R=[{value:"all",label:"All"},{value:"enabled",label:"Enabled"},{value:"disabled",label:"Disabled"}],U=[{value:"all",label:"All"},{value:"interval",label:"Interval"},{value:"scheduled",label:"Scheduled"}],Q=[{key:"name",label:"Name"},{key:"kind",label:"Kind"},{key:"schedule",label:"Schedule"},{key:"status",label:"Status"},{key:"last",label:"Last run"},{key:"errorRate",label:"Err%"},{key:"cost",label:"$/exec"}];function L({agent:e,running:r,onClick:n}){return(0,t.jsxs)("tr",{className:"cursor-pointer border-b border-border hover:bg-muted/30",onClick:n,children:[(0,t.jsx)("td",{className:"px-3 py-2 text-sm",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium text-foreground",children:e.name}),(0,t.jsx)("code",{className:"text-xs text-muted-foreground",children:e.slug})]})}),(0,t.jsx)("td",{className:"px-3 py-2",children:"builtin"===e.kind?(0,t.jsxs)(m.Badge,{variant:"blue",children:[(0,t.jsx)(o.Settings2,{className:"mr-1 h-3 w-3"})," System"]}):(0,t.jsx)(m.Badge,{variant:"gray",children:"User"})}),(0,t.jsx)("td",{className:"px-3 py-2 text-xs text-muted-foreground",children:e.schedule.interval?(0,t.jsxs)("span",{className:"flex flex-col leading-tight",children:[(0,t.jsx)("span",{className:"text-foreground",children:(0,q.formatIntervalEvery)(e.schedule.interval)}),(0,q.formatActiveHours)(e.schedule.interval)&&(0,t.jsx)("span",{children:(0,q.formatActiveHours)(e.schedule.interval)})]}):(0,q.describeSchedule)(e.schedule)}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsxs)("span",{className:"flex items-center gap-1.5 text-sm",children:[r&&(0,t.jsx)("span",{className:"h-1.5 w-1.5 animate-pulse rounded-full bg-emerald-500","aria-label":"executing"}),(0,t.jsx)(m.Badge,{variant:e.enabled?"green":"gray",children:e.enabled?"ON":"OFF"})]})}),(0,t.jsx)("td",{className:"px-3 py-2 text-xs text-muted-foreground",children:e.last_execution?.started_at?new Date(e.last_execution.started_at).toLocaleString():"—"}),(0,t.jsx)("td",{className:"px-3 py-2 text-sm tabular-nums",children:(0,q.formatPercent)(e.metrics_7d.error_rate)}),(0,t.jsx)("td",{className:"px-3 py-2 text-sm tabular-nums",children:(0,q.formatCostUsd)(e.metrics_7d.avg_cost_usd)})]})}e.s(["default",0,function(){(0,D.useAgentLiveRefresh)();let e=(0,D.useRunningAgents)(),o=(0,s.useRouter)(),{data:p,isLoading:b,isError:y,error:v,refetch:j}=(0,D.useAgents)({include_invalid:!0}),[k,w]=(0,r.useState)(E),[S,F]=(0,r.useState)("last"),[A,$]=(0,r.useState)("desc"),{invalid:M,visible:C}=(0,r.useMemo)(()=>{var e;let t,r,{invalid:n,valid:s}=function(e){let t=[],r=[];for(let n of e)(n.invalid?t:r).push(n);return{invalid:t,valid:r}}(p?.agents??[]);return{invalid:n,visible:(t=k.search.trim().toLowerCase(),e=s.filter(e=>{if("all"!==k.kind&&e.kind!==k.kind||"enabled"===k.status&&!e.enabled||"disabled"===k.status&&e.enabled)return!1;if("all"!==k.cadence){let t=(0,q.isIntervalSchedule)(e.schedule);if("interval"===k.cadence&&!t||"scheduled"===k.cadence&&t)return!1}return(!(t.length>0)||!![e.slug,e.name,e.description,...e.tags].join(" ").toLowerCase().includes(t))&&!0}),r="asc"===A?1:-1,[...e].map((e,t)=>({item:e,index:t})).sort((e,t)=>{let n,s=B(e.item,S),a=B(t.item,S);return 0===(n="number"==typeof s&&"number"==typeof a?s<a?-1:+(s>a):String(s).localeCompare(String(a)))?e.index-t.index:n*r}).map(({item:e})=>e))}},[p?.agents,k,S,A]);return(0,t.jsxs)("div",{className:"space-y-6 p-6",children:[(0,t.jsx)(d.PageHeader,{title:"Agents",description:(0,t.jsxs)(t.Fragment,{children:["Every Agent that exists — shipped ",(0,t.jsx)("strong",{children:"System"})," routines (morning routine, reviews, hourly check, …) and your own ",(0,t.jsx)("strong",{children:"User"})," Agents — with its schedule, status, and recent health. This is the identity view; the"," ",(0,t.jsx)(n.default,{href:"/schedule",className:"underline underline-offset-2 hover:text-foreground",children:"queue view"})," ","shows what is about to fire."]}),actions:(0,t.jsx)(T,{trigger:(0,t.jsxs)(c.Button,{children:[(0,t.jsx)(i.Plus,{className:"mr-1 h-4 w-4"}),"New Agent"]})})}),M.length>0&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("h2",{className:"flex items-center gap-2 text-sm font-semibold text-foreground",children:[(0,t.jsx)(l.AlertTriangle,{className:"h-4 w-4 text-amber-500"}),"Needs attention"]}),M.map(e=>(0,t.jsx)(n.default,{href:`/agents/${e.slug}`,className:"block",children:(0,t.jsx)(h.Alert,{variant:"warning",className:"hover:bg-amber-100/60 dark:hover:bg-amber-950/60",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium",children:e.slug}),(0,t.jsx)(m.Badge,{variant:"builtin"===e.kind?"blue":"gray",children:(0,q.kindLabel)(e.kind)}),(0,t.jsx)("span",{className:"text-muted-foreground",children:e.last_error??"Definition failed to load"})]})})},e.slug))]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3",role:"toolbar","aria-label":"Agent filters",children:[(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:H.map(e=>(0,t.jsx)(c.Button,{variant:k.kind===e.value?"default":"outline",size:"sm",onClick:()=>w(t=>({...t,kind:e.value})),"aria-pressed":k.kind===e.value,children:e.label},e.value))}),(0,t.jsx)(g.Separator,{orientation:"vertical",className:"h-6"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:R.map(e=>(0,t.jsx)(c.Button,{variant:k.status===e.value?"default":"outline",size:"sm",onClick:()=>w(t=>({...t,status:e.value})),"aria-pressed":k.status===e.value,children:e.label},e.value))}),(0,t.jsx)(g.Separator,{orientation:"vertical",className:"h-6"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",role:"group","aria-label":"Filter by cadence",children:U.map(e=>(0,t.jsx)(c.Button,{variant:k.cadence===e.value?"default":"outline",size:"sm",onClick:()=>w(t=>({...t,cadence:e.value})),"aria-pressed":k.cadence===e.value,title:"interval"===e.value?"Agents that fire every N minutes/hours (e.g. hourly check)":"scheduled"===e.value?"Agents that fire at a fixed daily/weekly time":void 0,children:e.label},e.value))}),(0,t.jsx)("input",{type:"search",value:k.search,onChange:e=>w(t=>({...t,search:e.target.value})),placeholder:"Search agents…","aria-label":"Search agents",className:"ml-auto h-8 w-56 rounded-md border border-border bg-background px-2 text-sm"})]}),(0,t.jsxs)(f.QueryResult,{isLoading:b,isError:y,error:v,onRetry:()=>j(),skeleton:(0,t.jsx)(f.TableSkeleton,{rows:6}),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":"Agents",children:[(0,t.jsx)("thead",{children:(0,t.jsx)("tr",{className:"border-b border-border bg-muted/50",children:Q.map(e=>(0,t.jsx)("th",{className:"px-3 py-2 text-xs font-medium text-muted-foreground",children:(0,t.jsxs)("button",{type:"button",onClick:()=>{var t;(t=e.key)===S?$(e=>"asc"===e?"desc":"asc"):(F(t),$("last"===t?"desc":"asc"))},className:"inline-flex items-center gap-1 hover:text-foreground","aria-label":`Sort by ${e.label}`,children:[e.label,(0,t.jsx)(u,{className:(0,N.cn)("h-3 w-3",S===e.key?"text-foreground":"text-muted-foreground/40")})]})},e.key))})}),(0,t.jsx)("tbody",{children:C.map(r=>(0,t.jsx)(L,{agent:r,running:e.has(r.slug),onClick:()=>o.push(`/agents/${r.slug}`)},r.slug))})]})}),0===C.length&&(0,t.jsx)(x.EmptyState,{icon:a.Bot,title:"No agents match",description:"Adjust the filters, or create a new Agent."})]})]})}],1833)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74490,e=>{"use strict";var t=e.i(54710),r=e.i(81471);let n=(0,e.i(94237).cva)("rounded-xl border p-5 shadow-[0_1px_3px_rgb(0_0_0/0.04)]",{variants:{tone:{default:"border-border bg-card",warning:"border-amber-200 bg-amber-50/50 dark:border-amber-900 dark:bg-amber-950/30",success:"border-emerald-200 bg-emerald-50/50 dark:border-emerald-900 dark:bg-emerald-950/30",error:"border-red-200 bg-red-50/50 dark:border-red-900 dark:bg-red-950/30"},interactive:{true:"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]",false:""}},defaultVariants:{tone:"default",interactive:!1}});e.s(["Card",0,function({className:e,tone:o,interactive:i,...a}){return(0,t.jsx)("div",{className:(0,r.cn)(n({tone:o,interactive:i}),e),...a})},"CardHeader",0,function({className:e,...n}){return(0,t.jsx)("div",{className:(0,r.cn)("mb-3 flex items-center justify-between",e),...n})},"CardStatLabel",0,function({className:e,...n}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-sm font-medium text-muted-foreground",e),...n})},"CardTitle",0,function({className:e,...n}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-lg font-semibold text-foreground",e),...n})},"CardValue",0,function({className:e,...n}){return(0,t.jsx)("div",{className:(0,r.cn)("text-3xl font-bold text-foreground",e),...n})}])},39982,e=>{"use strict";var t=e.i(54710),r=e.i(81471);e.s(["PageHeader",0,function({title:e,description:n,icon:o,badge:i,actions:a,children:s,className:l}){return(0,t.jsxs)("header",{className:(0,r.cn)("flex flex-col gap-1",l),children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[o&&(0,t.jsx)(o,{className:"h-5 w-5 text-muted-foreground"}),(0,t.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:e}),i]}),a&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:a})]}),n&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:n}),s]})}])},50862,e=>{"use strict";var t=e.i(54710),r=e.i(81471);e.s(["EmptyState",0,function({icon:e,title:n,description:o,className:i,children:a}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center justify-center py-16 text-muted-foreground",i),children:[(0,t.jsx)(e,{className:"mb-3 h-10 w-10 opacity-40"}),(0,t.jsx)("p",{className:"text-sm font-medium",children:n}),o&&(0,t.jsx)("p",{className:"mt-1 max-w-prose text-xs text-muted-foreground/70",children:o}),a]})}])},90925,e=>{"use strict";let t=(0,e.i(77379).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",0,t],90925)},70986,e=>{"use strict";var t=e.i(34416),r=e.i(91967),n=e.i(9413),o=e.i(36567),i=e.i(18731),a=e.i(22353),s=e.i(85565),l=e.i(90816),c=e.i(11207),d=e.i(54710),u="Collapsible",[p,f]=(0,n.createContextScope)(u),[h,m]=p(u),g=t.forwardRef((e,r)=>{let{__scopeCollapsible:n,open:i,defaultOpen:a,disabled:l,onOpenChange:p,...f}=e,[m,g]=(0,o.useControllableState)({prop:i,defaultProp:a??!1,onChange:p,caller:u});return(0,d.jsx)(h,{scope:n,disabled:l,contentId:(0,c.useId)(),open:m,onOpenToggle:t.useCallback(()=>g(e=>!e),[g]),children:(0,d.jsx)(s.Primitive.div,{"data-state":C(m),"data-disabled":l?"":void 0,...f,ref:r})})});g.displayName=u;var v="CollapsibleTrigger",b=t.forwardRef((e,t)=>{let{__scopeCollapsible:n,...o}=e,i=m(v,n);return(0,d.jsx)(s.Primitive.button,{type:"button","aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":C(i.open),"data-disabled":i.disabled?"":void 0,disabled:i.disabled,...o,ref:t,onClick:(0,r.composeEventHandlers)(e.onClick,i.onOpenToggle)})});b.displayName=v;var x="CollapsibleContent",w=t.forwardRef((e,t)=>{let{forceMount:r,...n}=e,o=m(x,e.__scopeCollapsible);return(0,d.jsx)(l.Presence,{present:r||o.open,children:({present:e})=>(0,d.jsx)(y,{...n,ref:t,present:e})})});w.displayName=x;var y=t.forwardRef((e,r)=>{let{__scopeCollapsible:n,present:o,children:l,...c}=e,u=m(x,n),[p,f]=t.useState(o),h=t.useRef(null),g=(0,a.useComposedRefs)(r,h),v=t.useRef(0),b=v.current,w=t.useRef(0),y=w.current,R=u.open||p,E=t.useRef(R),S=t.useRef(void 0);return t.useEffect(()=>{let e=requestAnimationFrame(()=>E.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,i.useLayoutEffect)(()=>{let e=h.current;if(e){S.current=S.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();v.current=t.height,w.current=t.width,E.current||(e.style.transitionDuration=S.current.transitionDuration,e.style.animationName=S.current.animationName),f(o)}},[u.open,o]),(0,d.jsx)(s.Primitive.div,{"data-state":C(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!R,...c,ref:g,style:{"--radix-collapsible-content-height":b?`${b}px`:void 0,"--radix-collapsible-content-width":y?`${y}px`:void 0,...e.style},children:R&&l})});function C(e){return e?"open":"closed"}e.s(["Collapsible",0,g,"CollapsibleContent",0,w,"CollapsibleTrigger",0,b],70986)},76176,e=>{"use strict";e.i(18446);var t=e.i(38082);let r={claude:"Claude Code",codex:"OpenAI Codex",gemini:"Gemini CLI",opencode:"OpenCode"},n=new Set(["opencode"]);function o(e){return n.has(e)}let i={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."}},a={claude:"Claude",codex:"Codex",gemini:"Gemini",opencode:"OpenCode"},s={claude:["#7C2D12","#B54B2D","#E15B40","#F97316","#FDBA74"],codex:["#86198F","#A21CAF","#D946EF","#E879F9","#F5D0FE"],gemini:["#1E3A8A","#1D4ED8","#1C69FF","#60A5FA","#93C5FD"],opencode:["#7C2D12","#C2410C","#FF7300","#F59E0B","#FCD34D"]},l=["#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.hourly_check":"Hourly Check","routine.roadmap_refresh":"Roadmap Refresh","message.dm":"Direct Messages","message.mention":"Mentions","dashboard.chat":"Dashboard Chat","agent.task":"Scheduled Tasks","calendar.change":"Calendar Events",gmail_classify:"Gmail Classification","github.pull_request.review_requested":"GitHub Review Requests","github.assigned":"GitHub Assignments","github.security_alert":"GitHub Security Alerts","github.workflow_run.failed":"GitHub CI Failures","wiki.ingest_url":"Wiki URL Ingest","wiki.compile":"Wiki Compile","wiki.ask":"Wiki Ask"};function u(e){let t;if(!e)return[];try{t=JSON.parse(e)}catch{return[]}if(!t||"object"!=typeof t)return[];let r=[];for(let[e,n]of Object.entries(t))n&&"object"==typeof n&&r.push({modelId:e,inputTokens:"number"==typeof n.inputTokens?n.inputTokens:0,outputTokens:"number"==typeof n.outputTokens?n.outputTokens:0,costUsd:"number"==typeof n.costUsd?n.costUsd:0});return r.sort((e,t)=>t.costUsd-e.costUsd)}function p(e){if(!e)return null;let t=e.toLowerCase();return/^[a-z0-9_.-]+\/[a-z0-9_.-]+/.test(t)?"opencode":t.includes("claude")||t.includes("sonnet")||t.includes("opus")||t.includes("haiku")?"claude":t.includes("gemini")?"gemini":t.includes("gpt")||t.includes("codex")||t.includes("o3")||t.includes("o4")?"codex":null}e.s(["BACKEND_BADGE_VARIANTS",0,c,"BACKEND_COLORS",0,{claude:"#E15B40",codex:"#D946EF",gemini:"#1C69FF",opencode:"#FF7300"},"BACKEND_LABELS",0,r,"BACKEND_PROVIDER_LABELS",0,{claude:"Claude (Anthropic)",codex:"ChatGPT (OpenAI)",gemini:"Gemini (Google)",opencode:"OpenCode (sst/opencode)"},"BACKEND_PROVIDER_SHORT",0,{claude:"Claude",codex:"ChatGPT",gemini:"Gemini",opencode:"OpenCode"},"BACKEND_WEB_SEARCH_DESCRIPTIONS",0,{claude:"Lets the agent call Anthropic's built-in WebSearch tool.",codex:"Lets the agent call OpenAI's web_search tool. Works in safe (sandbox) mode — the tool runs at OpenAI, not as a local shell command.",gemini:"Lets the agent call Gemini's google_web_search tool.",opencode:"Lets the agent call the configured OpenCode provider's web-search tool when the OpenCode runtime is enabled."},"CHART_CATEGORY_PALETTE",0,["#3b82f6","#10b981","#f59e0b","#8b5cf6","#ec4899","#14b8a6","#f97316","#6366f1","#ef4444","#22c55e"],"UI_PREVIEW_ONLY_BADGE_SUFFIX",0," (coming soon)","UI_PREVIEW_ONLY_REASON",0,"Coming soon — OpenCode is wired internally but not yet ready for selection in this release. The card stays visible so you can see what is on the roadmap.","assignModelColors",0,function(e){let t=new Map;for(let r of e){if(!r)continue;let e=p(r)??"other",n=t.get(e)??[];n.push(r),t.set(e,n)}let r={};for(let[e,n]of t){n.sort((e,t)=>e.localeCompare(t));let t="other"===e?l:s[e],o=n.length;n.forEach((e,n)=>{let i;i=o>=t.length?n%t.length:1===o?Math.floor(t.length/2):Math.floor((n+.5)*t.length/o),r[e]=t[i]})}return r},"detectBackendFromModel",0,p,"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 i[e]??null},"getBackendLabel",0,function(e){return r[e]},"getBackendShortLabel",0,function(e){return a[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)||o(e)},"isUiPreviewOnlyBackend",0,o,"modelBadgeVariant",0,function(e){if(!e)return"gray";let t=p(e);return t?c[t]:"gray"},"parseModelUsage",0,u,"pickDisplayModel",0,function(e,t){let r=u(t);return r.length>0&&r[0]?r[0].modelId:e??null}])},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)},49785,e=>{"use strict";var t=e.i(54710),r=e.i(63991),n=e.i(72740),o=e.i(20014),i=e.i(81471);function a(){return(0,t.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,t.jsx)(n.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})})}function s({error:e,onRetry:n}){return(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-16",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-destructive",children:[(0,t.jsx)(r.AlertCircle,{className:"h-5 w-5"}),(0,t.jsx)("p",{className:"text-sm font-medium",children:"Failed to load data"})]}),e?.message&&(0,t.jsx)("p",{className:"max-w-md text-center text-xs text-muted-foreground",children:e.message}),n&&(0,t.jsx)(o.Button,{variant:"outline",size:"sm",onClick:n,children:"Retry"})]})}e.s(["CardSkeleton",0,function({count:e=3}){return(0,t.jsx)("div",{className:(0,i.cn)("grid gap-4",e<=2?"grid-cols-1 md:grid-cols-2":4===e?"grid-cols-2 md:grid-cols-4":"grid-cols-1 md:grid-cols-3"),children:Array.from({length:e}).map((e,r)=>(0,t.jsx)("div",{className:"h-28 animate-pulse rounded-xl border border-border bg-muted/30"},r))})},"QueryResult",0,function({isLoading:e,isError:r,error:n,onRetry:o,skeleton:l,className:c,children:d}){return e?(0,t.jsx)("div",{className:(0,i.cn)(c),children:l??(0,t.jsx)(a,{})}):r?(0,t.jsx)("div",{className:(0,i.cn)(c),children:(0,t.jsx)(s,{error:n,onRetry:o})}):(0,t.jsx)(t.Fragment,{children:d})},"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),n=class extends t.QueryObserver{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){super.setOptions({...e,behavior:(0,r.infiniteQueryBehavior)()})}getOptimisticResult(e){return e.behavior=(0,r.infiniteQueryBehavior)(),super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){let{state:n}=e,o=super.createResult(e,t),{isFetching:i,isRefetching:a,isError:s,isRefetchError:l}=o,c=n.fetchMeta?.fetchMore?.direction,d=s&&"forward"===c,u=i&&"forward"===c,p=s&&"backward"===c,f=i&&"backward"===c;return{...o,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,r.hasNextPage)(t,n.data),hasPreviousPage:(0,r.hasPreviousPage)(t,n.data),isFetchNextPageError:d,isFetchingNextPage:u,isFetchPreviousPageError:p,isFetchingPreviousPage:f,isRefetchError:l&&!d&&!p,isRefetching:a&&!u&&!f}}},o=e.i(98757);e.s(["useInfiniteQuery",0,function(e,t){return(0,o.useBaseQuery)(e,n,t)}],75540)},26406,e=>{"use strict";var t=e.i(54710),r=e.i(34416),n=e.i(91967),o=e.i(9413),i=e.i(87099),a=e.i(22353),s=e.i(11207),l=e.i(85565),c=e.i(88248),d=e.i(36567),u=e.i(75649),p="rovingFocusGroup.onEntryFocus",f={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[m,g,v]=(0,i.createCollection)(h),[b,x]=(0,o.createContextScope)(h,[v]),[w,y]=b(h),C=r.forwardRef((e,r)=>(0,t.jsx)(m.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(m.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(R,{...e,ref:r})})}));C.displayName=h;var R=r.forwardRef((e,o)=>{let{__scopeRovingFocusGroup:i,orientation:s,loop:m=!1,dir:v,currentTabStopId:b,defaultCurrentTabStopId:x,onCurrentTabStopIdChange:y,onEntryFocus:C,preventScrollOnEntryFocus:R=!1,...E}=e,S=r.useRef(null),P=(0,a.useComposedRefs)(o,S),T=(0,u.useDirection)(v),[k,N]=(0,d.useControllableState)({prop:b,defaultProp:x??null,onChange:y,caller:h}),[_,A]=r.useState(!1),D=(0,c.useCallbackRef)(C),L=g(i),I=r.useRef(!1),[F,O]=r.useState(0);return r.useEffect(()=>{let e=S.current;if(e)return e.addEventListener(p,D),()=>e.removeEventListener(p,D)},[D]),(0,t.jsx)(w,{scope:i,orientation:s,dir:T,loop:m,currentTabStopId:k,onItemFocus:r.useCallback(e=>N(e),[N]),onItemShiftTab:r.useCallback(()=>A(!0),[]),onFocusableItemAdd:r.useCallback(()=>O(e=>e+1),[]),onFocusableItemRemove:r.useCallback(()=>O(e=>e-1),[]),children:(0,t.jsx)(l.Primitive.div,{tabIndex:_||0===F?-1:0,"data-orientation":s,...E,ref:P,style:{outline:"none",...e.style},onMouseDown:(0,n.composeEventHandlers)(e.onMouseDown,()=>{I.current=!0}),onFocus:(0,n.composeEventHandlers)(e.onFocus,e=>{let t=!I.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(p,f);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=L().filter(e=>e.focusable);j([e.find(e=>e.active),e.find(e=>e.id===k),...e].filter(Boolean).map(e=>e.ref.current),R)}}I.current=!1}),onBlur:(0,n.composeEventHandlers)(e.onBlur,()=>A(!1))})})}),E="RovingFocusGroupItem",S=r.forwardRef((e,o)=>{let{__scopeRovingFocusGroup:i,focusable:a=!0,active:c=!1,tabStopId:d,children:u,...p}=e,f=(0,s.useId)(),h=d||f,v=y(E,i),b=v.currentTabStopId===h,x=g(i),{onFocusableItemAdd:w,onFocusableItemRemove:C,currentTabStopId:R}=v;return r.useEffect(()=>{if(a)return w(),()=>C()},[a,w,C]),(0,t.jsx)(m.ItemSlot,{scope:i,id:h,focusable:a,active:c,children:(0,t.jsx)(l.Primitive.span,{tabIndex:b?0:-1,"data-orientation":v.orientation,...p,ref:o,onMouseDown:(0,n.composeEventHandlers)(e.onMouseDown,e=>{a?v.onItemFocus(h):e.preventDefault()}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>v.onItemFocus(h)),onKeyDown:(0,n.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void v.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let o=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return P[o]}(e,v.orientation,v.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=x().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)o.reverse();else if("prev"===t||"next"===t){var r,n;"prev"===t&&o.reverse();let i=o.indexOf(e.currentTarget);o=v.loop?(r=o,n=i+1,r.map((e,t)=>r[(n+t)%r.length])):o.slice(i+1)}setTimeout(()=>j(o))}}),children:"function"==typeof u?u({isCurrentTabStop:b,hasTabStop:null!=R}):u})})});S.displayName=E;var P={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function j(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}var T=e.i(90816),k="Tabs",[N,_]=(0,o.createContextScope)(k,[x]),A=x(),[D,L]=N(k),I=r.forwardRef((e,r)=>{let{__scopeTabs:n,value:o,onValueChange:i,defaultValue:a,orientation:c="horizontal",dir:p,activationMode:f="automatic",...h}=e,m=(0,u.useDirection)(p),[g,v]=(0,d.useControllableState)({prop:o,onChange:i,defaultProp:a??"",caller:k});return(0,t.jsx)(D,{scope:n,baseId:(0,s.useId)(),value:g,onValueChange:v,orientation:c,dir:m,activationMode:f,children:(0,t.jsx)(l.Primitive.div,{dir:m,"data-orientation":c,...h,ref:r})})});I.displayName=k;var F="TabsList",O=r.forwardRef((e,r)=>{let{__scopeTabs:n,loop:o=!0,...i}=e,a=L(F,n),s=A(n);return(0,t.jsx)(C,{asChild:!0,...s,orientation:a.orientation,dir:a.dir,loop:o,children:(0,t.jsx)(l.Primitive.div,{role:"tablist","aria-orientation":a.orientation,...i,ref:r})})});O.displayName=F;var H="TabsTrigger",M=r.forwardRef((e,r)=>{let{__scopeTabs:o,value:i,disabled:a=!1,...s}=e,c=L(H,o),d=A(o),u=G(c.baseId,i),p=U(c.baseId,i),f=i===c.value;return(0,t.jsx)(S,{asChild:!0,...d,focusable:!a,active:f,children:(0,t.jsx)(l.Primitive.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":p,"data-state":f?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:u,...s,ref:r,onMouseDown:(0,n.composeEventHandlers)(e.onMouseDown,e=>{a||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(i)}),onKeyDown:(0,n.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(i)}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;f||a||!e||c.onValueChange(i)})})})});M.displayName=H;var B="TabsContent",W=r.forwardRef((e,n)=>{let{__scopeTabs:o,value:i,forceMount:a,children:s,...c}=e,d=L(B,o),u=G(d.baseId,i),p=U(d.baseId,i),f=i===d.value,h=r.useRef(f);return r.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(T.Presence,{present:a||f,children:({present:r})=>(0,t.jsx)(l.Primitive.div,{"data-state":f?"active":"inactive","data-orientation":d.orientation,role:"tabpanel","aria-labelledby":u,hidden:!r,id:p,tabIndex:0,...c,ref:n,style:{...e.style,animationDuration:h.current?"0s":void 0},children:r&&s})})});function G(e,t){return`${e}-trigger-${t}`}function U(e,t){return`${e}-content-${t}`}W.displayName=B;var z=e.i(81471);e.s(["Tabs",0,I,"TabsContent",0,function({className:e,...r}){return(0,t.jsx)(W,{className:(0,z.cn)("mt-2 ring-offset-background focus-visible:outline-none",e),...r})},"TabsList",0,function({className:e,...r}){return(0,t.jsx)(O,{className:(0,z.cn)("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...r})},"TabsTrigger",0,function({className:e,...r}){return(0,t.jsx)(M,{className:(0,z.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...r})}],26406)},13707,e=>{"use strict";var t=e.i(54710),r=e.i(34416),n=e.i(85565),o=e.i(90816),i=e.i(9413),a=e.i(22353),s=e.i(88248),l=e.i(75649),c=e.i(18731),d=e.i(27069),u=e.i(91967),p="ScrollArea",[f,h]=(0,i.createContextScope)(p),[m,g]=f(p),v=r.forwardRef((e,o)=>{let{__scopeScrollArea:i,type:s="hover",dir:c,scrollHideDelay:d=600,...u}=e,[p,f]=r.useState(null),[h,g]=r.useState(null),[v,b]=r.useState(null),[x,w]=r.useState(null),[y,C]=r.useState(null),[R,E]=r.useState(0),[S,P]=r.useState(0),[j,T]=r.useState(!1),[k,N]=r.useState(!1),_=(0,a.useComposedRefs)(o,e=>f(e)),A=(0,l.useDirection)(c);return(0,t.jsx)(m,{scope:i,type:s,dir:A,scrollHideDelay:d,scrollArea:p,viewport:h,onViewportChange:g,content:v,onContentChange:b,scrollbarX:x,onScrollbarXChange:w,scrollbarXEnabled:j,onScrollbarXEnabledChange:T,scrollbarY:y,onScrollbarYChange:C,scrollbarYEnabled:k,onScrollbarYEnabledChange:N,onCornerWidthChange:E,onCornerHeightChange:P,children:(0,t.jsx)(n.Primitive.div,{dir:A,...u,ref:_,style:{position:"relative","--radix-scroll-area-corner-width":R+"px","--radix-scroll-area-corner-height":S+"px",...e.style}})})});v.displayName=p;var b="ScrollAreaViewport",x=r.forwardRef((e,o)=>{let{__scopeScrollArea:i,children:s,nonce:l,...c}=e,d=g(b,i),u=r.useRef(null),p=(0,a.useComposedRefs)(o,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:l}),(0,t.jsx)(n.Primitive.div,{"data-radix-scroll-area-viewport":"",...c,ref:p,style:{overflowX:d.scrollbarXEnabled?"scroll":"hidden",overflowY:d.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:d.onContentChange,style:{minWidth:"100%",display:"table"},children:s})})]})});x.displayName=b;var w="ScrollAreaScrollbar",y=r.forwardRef((e,n)=>{let{forceMount:o,...i}=e,a=g(w,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:l}=a,c="horizontal"===e.orientation;return r.useEffect(()=>(c?s(!0):l(!0),()=>{c?s(!1):l(!1)}),[c,s,l]),"hover"===a.type?(0,t.jsx)(C,{...i,ref:n,forceMount:o}):"scroll"===a.type?(0,t.jsx)(R,{...i,ref:n,forceMount:o}):"auto"===a.type?(0,t.jsx)(E,{...i,ref:n,forceMount:o}):"always"===a.type?(0,t.jsx)(S,{...i,ref:n}):null});y.displayName=w;var C=r.forwardRef((e,n)=>{let{forceMount:i,...a}=e,s=g(w,e.__scopeScrollArea),[l,c]=r.useState(!1);return r.useEffect(()=>{let e=s.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),c(!0)},n=()=>{t=window.setTimeout(()=>c(!1),s.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[s.scrollArea,s.scrollHideDelay]),(0,t.jsx)(o.Presence,{present:i||l,children:(0,t.jsx)(E,{"data-state":l?"visible":"hidden",...a,ref:n})})}),R=r.forwardRef((e,n)=>{var i;let{forceMount:a,...s}=e,l=g(w,e.__scopeScrollArea),c="horizontal"===e.orientation,d=U(()=>f("SCROLL_END"),100),[p,f]=(i={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)=>i[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===p){let e=window.setTimeout(()=>f("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(e)}},[p,l.scrollHideDelay,f]),r.useEffect(()=>{let e=l.viewport,t=c?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(f("SCROLL"),d()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[l.viewport,c,f,d]),(0,t.jsx)(o.Presence,{present:a||"hidden"!==p,children:(0,t.jsx)(S,{"data-state":"hidden"===p?"hidden":"visible",...s,ref:n,onPointerEnter:(0,u.composeEventHandlers)(e.onPointerEnter,()=>f("POINTER_ENTER")),onPointerLeave:(0,u.composeEventHandlers)(e.onPointerLeave,()=>f("POINTER_LEAVE"))})})}),E=r.forwardRef((e,n)=>{let i=g(w,e.__scopeScrollArea),{forceMount:a,...s}=e,[l,c]=r.useState(!1),d="horizontal"===e.orientation,u=U(()=>{if(i.viewport){let e=i.viewport.offsetWidth<i.viewport.scrollWidth,t=i.viewport.offsetHeight<i.viewport.scrollHeight;c(d?e:t)}},10);return z(i.viewport,u),z(i.content,u),(0,t.jsx)(o.Presence,{present:a||l,children:(0,t.jsx)(S,{"data-state":l?"visible":"hidden",...s,ref:n})})}),S=r.forwardRef((e,n)=>{let{orientation:o="vertical",...i}=e,a=g(w,e.__scopeScrollArea),s=r.useRef(null),l=r.useRef(0),[c,d]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=H(c.viewport,c.content),p={...i,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:e=>s.current=e,onThumbPointerUp:()=>l.current=0,onThumbPointerDown:e=>l.current=e};function f(e,t){return function(e,t,r,n="ltr"){let o=M(r),i=t||o/2,a=r.scrollbar.paddingStart+i,s=r.scrollbar.size-r.scrollbar.paddingEnd-(o-i),l=r.content-r.viewport;return W([a,s],"ltr"===n?[0,l]:[-1*l,0])(e)}(e,l.current,c,t)}return"horizontal"===o?(0,t.jsx)(P,{...p,ref:n,onThumbPositionChange:()=>{if(a.viewport&&s.current){let e=B(a.viewport.scrollLeft,c,a.dir);s.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollLeft=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollLeft=f(e,a.dir))}}):"vertical"===o?(0,t.jsx)(j,{...p,ref:n,onThumbPositionChange:()=>{if(a.viewport&&s.current){let e=B(a.viewport.scrollTop,c);s.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollTop=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollTop=f(e))}}):null}),P=r.forwardRef((e,n)=>{let{sizes:o,onSizesChange:i,...s}=e,l=g(w,e.__scopeScrollArea),[c,d]=r.useState(),u=r.useRef(null),p=(0,a.useComposedRefs)(n,u,l.onScrollbarXChange);return r.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,t.jsx)(N,{"data-orientation":"horizontal",...s,ref:p,sizes:o,style:{bottom:0,left:"rtl"===l.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===l.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":M(o)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(l.viewport){var n,o;let i=l.viewport.scrollLeft+t.deltaX;e.onWheelScroll(i),n=i,o=r,n>0&&n<o&&t.preventDefault()}},onResize:()=>{u.current&&l.viewport&&c&&i({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:O(c.paddingLeft),paddingEnd:O(c.paddingRight)}})}})}),j=r.forwardRef((e,n)=>{let{sizes:o,onSizesChange:i,...s}=e,l=g(w,e.__scopeScrollArea),[c,d]=r.useState(),u=r.useRef(null),p=(0,a.useComposedRefs)(n,u,l.onScrollbarYChange);return r.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,t.jsx)(N,{"data-orientation":"vertical",...s,ref:p,sizes:o,style:{top:0,right:"ltr"===l.dir?0:void 0,left:"rtl"===l.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":M(o)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(l.viewport){var n,o;let i=l.viewport.scrollTop+t.deltaY;e.onWheelScroll(i),n=i,o=r,n>0&&n<o&&t.preventDefault()}},onResize:()=>{u.current&&l.viewport&&c&&i({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:O(c.paddingTop),paddingEnd:O(c.paddingBottom)}})}})}),[T,k]=f(w),N=r.forwardRef((e,o)=>{let{__scopeScrollArea:i,sizes:l,hasThumb:c,onThumbChange:d,onThumbPointerUp:p,onThumbPointerDown:f,onThumbPositionChange:h,onDragScroll:m,onWheelScroll:v,onResize:b,...x}=e,y=g(w,i),[C,R]=r.useState(null),E=(0,a.useComposedRefs)(o,e=>R(e)),S=r.useRef(null),P=r.useRef(""),j=y.viewport,k=l.content-l.viewport,N=(0,s.useCallbackRef)(v),_=(0,s.useCallbackRef)(h),A=U(b,10);function D(e){S.current&&m({x:e.clientX-S.current.left,y:e.clientY-S.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;C?.contains(t)&&N(e,k)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[j,C,k,N]),r.useEffect(_,[l,_]),z(C,A),z(y.content,A),(0,t.jsx)(T,{scope:i,scrollbar:C,hasThumb:c,onThumbChange:(0,s.useCallbackRef)(d),onThumbPointerUp:(0,s.useCallbackRef)(p),onThumbPositionChange:_,onThumbPointerDown:(0,s.useCallbackRef)(f),children:(0,t.jsx)(n.Primitive.div,{...x,ref:E,style:{position:"absolute",...x.style},onPointerDown:(0,u.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),S.current=C.getBoundingClientRect(),P.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=P.current,y.viewport&&(y.viewport.style.scrollBehavior=""),S.current=null})})})}),_="ScrollAreaThumb",A=r.forwardRef((e,r)=>{let{forceMount:n,...i}=e,a=k(_,e.__scopeScrollArea);return(0,t.jsx)(o.Presence,{present:n||a.hasThumb,children:(0,t.jsx)(D,{ref:r,...i})})}),D=r.forwardRef((e,o)=>{let{__scopeScrollArea:i,style:s,...l}=e,c=g(_,i),d=k(_,i),{onThumbPositionChange:p}=d,f=(0,a.useComposedRefs)(o,e=>d.onThumbChange(e)),h=r.useRef(void 0),m=U(()=>{h.current&&(h.current(),h.current=void 0)},100);return r.useEffect(()=>{let e=c.viewport;if(e){let t=()=>{m(),h.current||(h.current=G(e,p),p())};return p(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[c.viewport,m,p]),(0,t.jsx)(n.Primitive.div,{"data-state":d.hasThumb?"visible":"hidden",...l,ref:f,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...s},onPointerDownCapture:(0,u.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=e.clientY-t.top;d.onThumbPointerDown({x:r,y:n})}),onPointerUp:(0,u.composeEventHandlers)(e.onPointerUp,d.onThumbPointerUp)})});A.displayName=_;var L="ScrollAreaCorner",I=r.forwardRef((e,r)=>{let n=g(L,e.__scopeScrollArea),o=!!(n.scrollbarX&&n.scrollbarY);return"scroll"!==n.type&&o?(0,t.jsx)(F,{...e,ref:r}):null});I.displayName=L;var F=r.forwardRef((e,o)=>{let{__scopeScrollArea:i,...a}=e,s=g(L,i),[l,c]=r.useState(0),[d,u]=r.useState(0),p=!!(l&&d);return z(s.scrollbarX,()=>{let e=s.scrollbarX?.offsetHeight||0;s.onCornerHeightChange(e),u(e)}),z(s.scrollbarY,()=>{let e=s.scrollbarY?.offsetWidth||0;s.onCornerWidthChange(e),c(e)}),p?(0,t.jsx)(n.Primitive.div,{...a,ref:o,style:{width:l,height:d,position:"absolute",right:"ltr"===s.dir?0:void 0,left:"rtl"===s.dir?0:void 0,bottom:0,...e.style}}):null});function O(e){return e?parseInt(e,10):0}function H(e,t){let r=e/t;return isNaN(r)?0:r}function M(e){let t=H(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function B(e,t,r="ltr"){let n=M(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-o,a=t.content-t.viewport,s=(0,d.clamp)(e,"ltr"===r?[0,a]:[-1*a,0]);return W([0,a],[0,i-n])(s)}function W(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}var G=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return!function o(){let i={left:e.scrollLeft,top:e.scrollTop},a=r.left!==i.left,s=r.top!==i.top;(a||s)&&t(),r=i,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function U(e,t){let n=(0,s.useCallbackRef)(e),o=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(o.current),[]),r.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(n,t)},[n,t])}function z(e,t){let r=(0,s.useCallbackRef)(t);(0,c.useLayoutEffect)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}var K=e.i(81471);let V=(0,r.forwardRef)(({className:e,children:r,...n},o)=>(0,t.jsxs)(v,{className:(0,K.cn)("relative overflow-hidden",e),...n,children:[(0,t.jsx)(x,{ref:o,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)(A,{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)(A,{className:"relative flex-1 rounded-full bg-border"})}),(0,t.jsx)(I,{})]}));V.displayName="ScrollArea",e.s(["ScrollArea",0,V],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)},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(75540),r=e.i(65268);e.s(["useConversations",0,function(e,n){return(0,t.useInfiniteQuery)({queryKey:["conversations",e],queryFn:({pageParam:t=1})=>r.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})}])},2412,e=>{"use strict";var t=e.i(54710),r=e.i(26181),n=e.i(95486),o=e.i(8011),i=e.i(81471);e.s(["DocsLearnMore",0,function({docId:e,anchor:a=null,label:s="What is this?",className:l}){let c=(0,n.useQueryClient)();return(0,t.jsxs)("button",{type:"button",onClick:()=>(0,o.openDocsHelpSlideover)(c,{docId:e,anchor:a,autoFocusComposer:!1}),className:(0,i.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",l),"data-testid":"docs-learn-more",children:[(0,t.jsx)("span",{children:s}),(0,t.jsx)(r.ArrowUpRight,{className:"h-3 w-3","aria-hidden":"true"})]})}])},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(75540),r=e.i(65268);e.s(["useEvents",0,function(e,n){return(0,t.useInfiniteQuery)({queryKey:["events",e],queryFn:({pageParam:t=1})=>r.api.get("/events",{page:t,limit:50,type:e?.type,result:e?.result,days:e?.days}),getNextPageParam:e=>e.pagination.page<e.pagination.totalPages?e.pagination.page+1:void 0,initialPageParam:1,enabled:n?.enabled})}])},36516,e=>{"use strict";e.s(["EVENT_TYPE_COLORS",0,{"message.received":"blue","routine.morning_routine":"green","routine.evening_review":"green","routine.hourly_check":"teal","scheduled.task":"purple","git.push":"gray","schedule.approaching":"amber"},"RESULT_COLORS",0,{success:"green",failed:"red",partial:"amber",skipped:"gray"}])}]);