@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 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,29855,e=>{"use strict";var t=e.i(54710),s=e.i(34416),a=e.i(71060),n=e.i(26406),l=e.i(39982),r=e.i(97),i=e.i(95486),o=e.i(65268),d=e.i(44178),c=e.i(14260);function m(e,t){return`${e}/${t.replace(/\.md$/,"")}`}function u(e){return(0,c.useQuery)({queryKey:["snapshots",e],queryFn:()=>o.api.get(`/snapshots/${e}`),enabled:!!e})}var x=e.i(71816),h=e.i(49214),p=e.i(90826),f=e.i(40893),g=e.i(13707),j=e.i(48467),b=e.i(20014),y=e.i(70986),v=e.i(10628),N=e.i(81471),w=e.i(1718),k=e.i(77379);let C=(0,k.default)("File",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);var S=e.i(55575),T=e.i(96263),A=e.i(31501),F=e.i(21682),M=e.i(81187),B=e.i(59546);let R=(0,r.default)(()=>e.A(93823).then(e=>e.RenderedMarkdown),{loadableGenerated:{modules:[37023]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"max-w-3xl space-y-2 py-2","aria-hidden":"true",children:Array.from({length:5}).map((e,s)=>(0,t.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${65+11*s%30}%`}},s))})});function E({html:e}){let s=e.split(/(<mark>|<\/mark>)/),a=!1,n=[];for(let e=0;e<s.length;e++){if("<mark>"===s[e]){a=!0;continue}if("</mark>"===s[e]){a=!1;continue}let l=s[e].replace(/<[^>]*>/g,"");l&&n.push(a?(0,t.jsx)("mark",{className:"bg-yellow-200 dark:bg-yellow-800 rounded-sm px-0.5",children:l},e):l)}return(0,t.jsx)(t.Fragment,{children:n})}let L=["_index","identity/profile","identity/_index","today","yesterday","roadmap","policies/management","policies/mcp","policies/journal-format","policies/journal-export","policies/redaction","journal/agent","context-index"],P=["identity","state/inbox","plans/projects","journal/daily","journal/weekly","journal/monthly","knowledge/repos","knowledge/dossiers","policies","policies/routines","policies/management-captures"],$=new Set(["today","roadmap"]),z={"policies/management":{filename:"policies/management.md",description:"defines the agent's behavioral contract. Edits here can change how the agent acts."},"journal/agent":{filename:"journal/agent.md",description:"is the agent's internal reflection journal — append-only from the Weekly Review routine. Manual edits can remove the agent's own improvement history and break the append-only contract. Prefer leaving it alone unless you are deliberately pruning noise."}};function I(e){return e.endsWith(".base")?e:`${e}.md`}function D({node:e,topDir:a,selectedPath:n,onSelect:l}){let r=`${a}/${e.relPath}`,i=n?.startsWith(`${r}/`)??!1,[o,d]=(0,s.useState)(i),[c,u]=(0,s.useState)(n);return n!==c&&(u(n),i&&d(!0)),(0,t.jsxs)(y.Collapsible,{open:o,onOpenChange:d,children:[(0,t.jsxs)(y.CollapsibleTrigger,{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-foreground",children:[(0,t.jsx)(T.ChevronRight,{className:(0,N.cn)("h-3 w-3 transition-transform",o&&"rotate-90")}),(0,t.jsx)(S.FolderOpen,{className:"h-3.5 w-3.5"}),e.name,"/"]}),(0,t.jsx)(y.CollapsibleContent,{children:(0,t.jsx)("div",{className:"ml-5 space-y-0.5",children:e.children.map(e=>"dir"===e.kind?(0,t.jsx)(D,{node:e,topDir:a,selectedPath:n,onSelect:l},e.relPath):(0,t.jsx)(K,{name:e.name,active:n===m(a,e.relPath),onClick:()=>l(m(a,e.relPath))},e.relPath))})})]})}function q({dir:e,selectedPath:a,onSelect:n}){let{data:l}=(0,d.useContextList)(e),r=a?.startsWith(`${e}/`)??!1,[i,o]=(0,s.useState)(r),[c,u]=(0,s.useState)(a);a!==c&&(u(a),r&&o(!0));let x=(0,s.useMemo)(()=>{let t=new Set(["identity","policies","policies/routines","policies/management-captures","plans/projects","knowledge/dossiers"]);return function(e){let t=[];for(let s of e){let e=s.name.split("/"),a=t,n="";for(let t=0;t<e.length;t++){let s=e[t],l=t===e.length-1;if(n=n?`${n}/${s}`:s,l)a.push({kind:"file",name:s,relPath:n});else{let e=a.find(e=>"dir"===e.kind&&e.name===s);e||(e={kind:"dir",name:s,relPath:n,children:[]},a.push(e)),a=e.children}}}let s=e=>{for(let t of(e.sort((e,t)=>e.kind!==t.kind?"dir"===e.kind?-1:1:e.name.localeCompare(t.name)),e))"dir"===t.kind&&s(t.children)};return s(t),t}(l?.files.filter(s=>!(t.has(e)&&"_index.md"===s.name))??[])},[l?.files,e]);return(0,t.jsxs)(y.Collapsible,{open:i,onOpenChange:o,children:[(0,t.jsxs)(y.CollapsibleTrigger,{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-foreground",children:[(0,t.jsx)(T.ChevronRight,{className:(0,N.cn)("h-3 w-3 transition-transform",i&&"rotate-90")}),(0,t.jsx)(S.FolderOpen,{className:"h-3.5 w-3.5"}),e,"/"]}),(0,t.jsx)(y.CollapsibleContent,{children:(0,t.jsx)("div",{className:"ml-5 space-y-0.5",children:x.map(s=>"dir"===s.kind?(0,t.jsx)(D,{node:s,topDir:e,selectedPath:a,onSelect:n},s.relPath):(0,t.jsx)(K,{name:s.name,active:a===m(e,s.relPath),onClick:()=>n(m(e,s.relPath))},s.relPath))})})]})}function K({name:e,active:s,onClick:a}){return(0,t.jsxs)("button",{onClick:a,className:(0,N.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors",s?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,t.jsx)(C,{className:"h-3.5 w-3.5"}),e]})}let _=(0,s.forwardRef)(function(e,n){var l;let r,m=(0,a.useSearchParams)(),k=(r=m?.get("path"))?r.replace(/\.(md|base)$/i,""):null,[C,S]=(0,s.useState)(k??"identity/profile"),[D,_]=(0,s.useState)(k);k!==D&&(_(k),k&&S(k));let[U,Q]=(0,s.useState)(""),[O,V]=(0,s.useState)(!1),[H,W]=(0,s.useState)(null),[G,Y]=(0,s.useState)(!1),[Z,X]=(0,s.useState)(""),[J,ee]=(0,s.useState)(""),[et,es]=(0,s.useState)(""),[ea,en]=(0,s.useState)(null),[el,er]=(0,s.useState)(null),[ei,eo]=(0,s.useState)(!1),ed=(0,s.useRef)(null),{data:ec}=(0,d.useContextFile)(C,{enabled:!G}),{data:em}=(l=O?U:"",(0,c.useQuery)({queryKey:["search",l],queryFn:()=>o.api.get("/search",{q:l}),enabled:l.length>=2})),{data:eu}=u(C),{data:ex}=(0,c.useQuery)({queryKey:["snapshot-content",H],queryFn:()=>o.api.get(`/snapshots/content/${H}`),enabled:null!==H}),{regenerate:eh,target:ep,status:ef,error:eg,dismiss:ej}=(0,x.useRegenerate)(),eb=(0,d.useUpdateContextFile)(),ey=(0,i.useQueryClient)(),ev=(0,p.useConfirm)(),eN=G&&Z!==J;(0,s.useImperativeHandle)(n,()=>({isDirty:()=>eN,confirmDiscard:async()=>!eN||ev({title:"Discard unsaved changes?",description:"Your edits will be lost if you switch tabs.",confirmLabel:"Discard",variant:"destructive"})}));let ew=()=>{V(!1),Q("")},ek=async()=>!eN||ev({title:"Discard unsaved changes?",description:"Your edits will be lost.",confirmLabel:"Discard",variant:"destructive"}),eC=async e=>{await ek()&&(S(e),W(null),Y(!1),X(""),ee(""),es(""),en(null),er(null),ew())},eS=async()=>{await ek()&&(Y(!1),en(null),er(null),X(""),ee(""),es(""))},eT=()=>{eo(!0),window.setTimeout(()=>eo(!1),2e3)},eA=async(e,t)=>{if(!C)return!1;en(null);try{return await eb.mutateAsync({path:C,content:e,expectedMtime:t}),Y(!1),X(""),ee(""),es(""),er(null),eT(),!0}catch(e){if(e instanceof d.ContextConflictError)return er(e.conflict),!1;if(e instanceof o.ApiError){let t=e.body,s="string"==typeof t?.error?t.error:null;en("forbidden"===s?"This file is read-only — it's not in the daemon's write whitelist.":"morning_routine_lock_held"===s?"state/today.md is locked by the morning routine. Please try again shortly.":"validation_error"===s?"Content failed validation.":`Save failed: ${e.message}`)}else en(e instanceof Error?e.message:"Save failed");return!1}},eF=()=>eA(Z,et),eM=async()=>{el&&await eA(Z,el.currentMtime)},eB=async e=>{(!G||await ek())&&(G&&(Y(!1),X(""),ee(""),es(""),en(null),er(null)),W(e))};(0,s.useEffect)(()=>{if(!eN)return;let e=e=>{e.preventDefault(),e.returnValue=""};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[eN]),(0,s.useEffect)(()=>{G&&ed.current?.focus()},[G]);let eR=null!==H,eE=!!C&&!eR&&ec?.editable===!0,eL=!!C&&eR&&!!ex&&ec?.editable===!0,eP=H&&ex?ex.content:ec?.content,e$=async()=>{if(C&&ex&&null!==H&&await ev({title:"Restore this snapshot?",description:`This will overwrite ${I(C)} with the snapshot from ${(0,N.formatAbsoluteTime)(ex.created_at)}. The current on-disk version will be backed up as a new snapshot first.`,confirmLabel:"Restore snapshot",variant:"destructive"})){en(null);try{let e=await o.api.post(`/context/restore-snapshot/${H}`);ey.setQueryData(["context",C],t=>t?{...t,content:ex.content,lastModified:e.lastModified}:{content:ex.content,lastModified:e.lastModified,editable:!0}),ey.invalidateQueries({queryKey:["snapshots",C]}),W(null),er(null),eT()}catch(e){if(e instanceof o.ApiError){let t=e.body,s="string"==typeof t?.error?t.error:null;en("morning_routine_lock_held"===s?"state/today.md is locked by the morning routine. Please try again shortly.":"forbidden"===s?"This snapshot cannot be restored because the file is not writable.":"validation_error"===s?"Snapshot restore was rejected because the stored content no longer passes validation.":`Restore failed: ${e.message}`)}else en(e instanceof Error?e.message:"Restore failed")}}};return(0,t.jsxs)("div",{className:"flex h-full min-h-0",children:[(0,t.jsxs)("div",{className:"flex w-64 shrink-0 flex-col border-r border-border min-h-0",children:[(0,t.jsxs)("div",{className:"border-b border-border p-4",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:"Context Files"}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Have a file to bring in?"," ",(0,t.jsx)("a",{href:"/knowledge?tab=upload",className:"underline",children:"Upload"})]})]}),(0,t.jsx)(g.ScrollArea,{className:"flex-1 min-h-0",children:(0,t.jsxs)("div",{className:"space-y-0.5 p-2",children:[L.map(e=>(0,t.jsx)(K,{name:I(e),active:C===e,onClick:()=>eC(e)},e)),(0,t.jsx)("div",{className:"my-2 h-px bg-border"}),P.map(e=>(0,t.jsx)(q,{dir:e,selectedPath:C,onSelect:eC},e))]})})]}),(0,t.jsxs)("div",{className:"flex flex-1 flex-col",children:[(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),U.length>=2&&V(!0)},className:"flex items-center gap-2 border-b border-border px-4 py-2",children:[(0,t.jsx)(w.Search,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("input",{type:"text",value:U,onChange:e=>{Q(e.target.value),e.target.value.length<2&&V(!1)},placeholder:"Search actions and messages...",className:"flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground"}),O&&(0,t.jsx)(b.Button,{variant:"ghost",size:"sm",onClick:ew,children:"Clear"})]}),(0,t.jsx)(g.ScrollArea,{className:"flex-1",children:O&&em?(0,t.jsxs)("div",{className:"space-y-4 p-4",children:[(0,t.jsxs)("h3",{className:"text-sm font-semibold text-foreground",children:["Search Results for “",U,"”"]}),em.actions.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"mb-2 text-xs font-medium text-muted-foreground",children:"Actions"}),em.actions.map(e=>(0,t.jsxs)("div",{className:"rounded-md border border-border p-2 mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(j.Badge,{variant:"blue",children:e.action_type}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-xs font-mono tabular-nums text-muted-foreground",children:(0,N.formatShortDateTime)(e.started_at)})}),(0,t.jsxs)(v.TooltipContent,{children:[(0,N.formatAbsoluteTime)(e.started_at)," (",(0,N.formatRelativeTime)(e.started_at),")"]})]})]}),(0,t.jsx)("p",{className:"mt-1 text-sm",children:(0,t.jsx)(E,{html:e.snippet})})]},e.id))]}),em.messages.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"mb-2 text-xs font-medium text-muted-foreground",children:"Messages"}),em.messages.map(e=>(0,t.jsxs)("div",{className:"rounded-md border border-border p-2 mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(j.Badge,{variant:"user"===e.role?"blue":"gray",children:e.role}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-xs font-mono tabular-nums text-muted-foreground",children:(0,N.formatShortDateTime)(e.timestamp)})}),(0,t.jsxs)(v.TooltipContent,{children:[(0,N.formatAbsoluteTime)(e.timestamp)," (",(0,N.formatRelativeTime)(e.timestamp),")"]})]})]}),(0,t.jsx)("p",{className:"mt-1 text-sm",children:(0,t.jsx)(E,{html:e.snippet})})]},e.id))]}),0===em.actions.length&&0===em.messages.length&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No results found"})]}):(0,t.jsxs)("div",{className:"p-4",children:[C&&ec&&(0,t.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-3 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{className:"font-mono",children:I(C)}),(0,t.jsxs)("span",{children:["Last modified:"," ",(0,N.formatAbsoluteTime)(G?et:ec.lastModified)]}),ei&&(0,t.jsxs)("span",{className:"flex items-center gap-1 font-medium text-emerald-600 dark:text-emerald-400",children:[(0,t.jsx)(B.CheckCircle2,{className:"h-3 w-3"}),"Saved"]}),eN&&!el&&(0,t.jsx)(j.Badge,{variant:"gray",className:"text-[10px]",children:"Unsaved"}),eR&&(0,t.jsx)(b.Button,{variant:"ghost",size:"sm",onClick:()=>W(null),children:"Back to current"}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[eL&&(0,t.jsxs)(b.Button,{variant:"outline",size:"sm",onClick:()=>void e$(),className:"h-7 gap-1 text-xs",children:[(0,t.jsx)(A.Clock,{className:"h-3 w-3"}),"Restore snapshot"]}),$.has(C)&&!eR&&!G&&(0,t.jsx)(h.RegenerateButton,{target:C,label:"Regenerate",currentTarget:ep,status:ef,error:eg,onRegenerate:eh,onDismiss:ej,className:"text-xs"}),eE&&!G&&(0,t.jsxs)(b.Button,{variant:"outline",size:"sm",onClick:()=>{ec&&(X(ec.content),ee(ec.content),es(ec.lastModified),en(null),er(null),Y(!0))},className:"h-7 gap-1 text-xs",children:[(0,t.jsx)(F.Pencil,{className:"h-3 w-3"}),"Edit"]}),G&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.Button,{variant:"ghost",size:"sm",onClick:eS,disabled:eb.isPending,className:"h-7 text-xs",children:"Cancel"}),(0,t.jsx)(b.Button,{size:"sm",onClick:eF,disabled:eb.isPending||!eN||null!==el,className:"h-7 text-xs",children:eb.isPending?"Saving...":"Save"})]})]})]}),G&&C&&z[C]&&(0,t.jsxs)("div",{className:"mb-3 flex items-start gap-2 rounded-md border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-xs text-amber-900 dark:text-amber-200",children:[(0,t.jsx)(M.AlertTriangle,{className:"mt-0.5 h-3.5 w-3.5 flex-shrink-0"}),(0,t.jsxs)("span",{children:["This file (",(0,t.jsx)("code",{className:"font-mono",children:z[C].filename}),") ",z[C].description]})]}),ea&&(0,t.jsx)("div",{className:"mb-3 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:ea}),el&&(0,t.jsx)(f.FileConflictBanner,{className:"mb-3",onReload:()=>{el&&(X(el.currentContent),ee(el.currentContent),es(el.currentMtime),er(null),en(null))},onOverwrite:eM,isPending:eb.isPending,reloadLabel:"Reload latest and re-edit"}),G?(0,t.jsx)("textarea",{ref:ed,value:Z,onChange:e=>X(e.target.value),onKeyDown:e=>{if((e.metaKey||e.ctrlKey)&&"s"===e.key.toLowerCase()){e.preventDefault(),Z===J||eb.isPending||eF();return}"Escape"===e.key&&(e.preventDefault(),eS())},spellCheck:!1,className:"min-h-[60vh] w-full max-w-3xl resize-y rounded-md border border-input bg-background p-3 font-mono text-xs leading-relaxed text-foreground focus:outline-none focus:ring-2 focus:ring-ring"}):eP?(0,t.jsx)(R,{content:eP}):(0,t.jsx)("p",{className:"text-muted-foreground",children:"Select a file to view"})]})}),C&&eu&&eu.snapshots.length>0&&!O&&(0,t.jsxs)(y.Collapsible,{children:[(0,t.jsxs)(y.CollapsibleTrigger,{className:"flex w-full items-center justify-between border-t border-border px-4 py-2 text-xs text-muted-foreground hover:bg-accent",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)(A.Clock,{className:"h-3 w-3"}),"Snapshots (",eu.snapshots.length,")"]}),(0,t.jsx)(T.ChevronRight,{className:"h-3 w-3"})]}),(0,t.jsx)(y.CollapsibleContent,{children:(0,t.jsx)("div",{className:"max-h-40 overflow-y-auto border-t border-border",children:eu.snapshots.map(e=>(0,t.jsxs)("button",{onClick:()=>eB(e.id),className:(0,N.cn)("flex w-full items-center gap-3 px-4 py-1.5 text-xs hover:bg-accent",H===e.id&&"bg-primary/10"),children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:(0,N.formatAbsoluteTime)(e.created_at)}),(0,t.jsx)(j.Badge,{variant:"gray",children:e.trigger}),e.session_id&&(0,t.jsx)("span",{className:"font-mono text-muted-foreground",children:String(e.session_id).slice(0,8)})]},e.id))})})]})]})]})});var U=e.i(57415),Q=e.i(79634),O=e.i(8652),V=e.i(57628);let H=(0,k.default)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]);var W=e.i(40974),G=e.i(60168),Y=e.i(7663),Z=e.i(90925),X=e.i(78927),J=e.i(36451);function ee(){var e;let a,n,l,r,{data:d,isLoading:m}=(0,c.useQuery)({queryKey:["skills"],queryFn:()=>o.api.get("/skills")}),[u,x]=(0,s.useState)(null),[h,f]=(0,s.useState)("view"),[j,y]=(0,s.useState)({name:"",description:"",content:"",allowedTools:""}),[v,N]=(0,s.useState)(null),w=(0,s.useRef)(null),{data:k}=(e="view"===h||"edit"===h?u:null,(0,c.useQuery)({queryKey:["skill",e],queryFn:()=>o.api.get(`/skills/${e}`),enabled:!!e})),C=(a=(0,i.useQueryClient)(),(0,U.useMutation)({mutationFn:e=>o.api.post("/skills",e),onSuccess:(e,t)=>{a.invalidateQueries({queryKey:["skills"]}),a.invalidateQueries({queryKey:["skill",t.name]})}})),S=(n=(0,i.useQueryClient)(),(0,U.useMutation)({mutationFn:({name:e,...t})=>o.api.put(`/skills/${e}`,t),onSuccess:(e,t)=>{n.invalidateQueries({queryKey:["skills"]}),n.invalidateQueries({queryKey:["skill",t.name]})}})),T=(l=(0,i.useQueryClient)(),(0,U.useMutation)({mutationFn:e=>o.api.delete(`/skills/${e}`),onSuccess:(e,t)=>{l.invalidateQueries({queryKey:["skills"]}),l.removeQueries({queryKey:["skill",t]})}})),A=(r=(0,i.useQueryClient)(),(0,U.useMutation)({mutationFn:({file:e,name:t})=>{let s=new FormData;return s.append("file",e),t&&s.append("name",t),fetch("/api/skills/upload",{method:"POST",body:s}).then(async e=>{if(!e.ok){let t=await e.json().catch(()=>null);throw Error(t?.error??`Upload failed (${e.status})`)}return e.json()})},onSuccess:()=>{r.invalidateQueries({queryKey:["skills"]})}}));(0,s.useEffect)(()=>{"view"===h&&k&&y({name:k.name,description:k.description,content:k.content,allowedTools:k.allowedTools.join("\n")})},[k,h]);let F=(0,s.useMemo)(()=>d?.skills.filter(e=>!e.builtin)??[],[d]),M=(0,s.useMemo)(()=>d?.skills.filter(e=>e.builtin)??[],[d]),B=k?.builtin??!1,R=e=>{if(e&&"body"in e&&e.body){let t=e.body;return t.message||t.error||e.message}return e.message||"Unknown error"},E=e=>{x(e),f("view"),N(null)},L=async()=>{N(null);try{let e=j.allowedTools.split("\n").map(e=>e.trim()).filter(e=>e.length>0);"new"===h?(await C.mutateAsync({name:j.name.trim(),description:j.description.trim(),content:j.content,allowedTools:e.length>0?e:void 0}),x(j.name.trim()),f("view")):"edit"===h&&u&&(await S.mutateAsync({name:u,description:j.description.trim(),content:j.content,allowedTools:e}),f("view"))}catch(e){N(R(e))}},P=(0,p.useConfirm)(),$=async()=>{if(u&&!B&&await P({title:`Delete skill "${u}"?`,description:"This cannot be undone.",confirmLabel:"Delete",variant:"destructive"})){N(null);try{await T.mutateAsync(u),x(null),f("view")}catch(e){N(R(e))}}},z=async e=>{N(null);try{let t=await A.mutateAsync({file:e});x(t.name),f("view")}catch(e){N(R(e))}finally{w.current&&(w.current.value="")}},I="new"===h?j.name.trim().length>0&&j.description.trim().length>0&&j.content.trim().length>0:j.description.trim().length>0&&j.content.trim().length>0;return(0,t.jsx)("div",{className:"flex h-full flex-col",children:(0,t.jsxs)("div",{className:"flex min-h-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex w-64 shrink-0 flex-col border-r border-border",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:"Skills"}),(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsx)(b.Button,{variant:"ghost",size:"icon",onClick:()=>w.current?.click(),title:"Upload .md file",children:(0,t.jsx)(X.Upload,{className:"h-4 w-4"})}),(0,t.jsx)(b.Button,{variant:"ghost",size:"icon",onClick:()=>{x(null),f("new"),y({name:"",description:"",content:"# My Skill\n\nUse when ...\n",allowedTools:""}),N(null)},title:"New skill",children:(0,t.jsx)(G.Plus,{className:"h-4 w-4"})})]}),(0,t.jsx)("input",{ref:w,type:"file",accept:".md,text/markdown",className:"hidden",onChange:e=>{let t=e.target.files?.[0];t&&z(t)}})]}),(0,t.jsx)(g.ScrollArea,{className:"flex-1",children:(0,t.jsxs)("div",{className:"space-y-0.5 p-2",children:[(0,t.jsxs)("div",{className:"px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:["User (",F.length,")"]}),0===F.length&&!m&&(0,t.jsx)("p",{className:"px-2 py-1 text-xs text-muted-foreground",children:"No user skills yet — click + to create one."}),F.map(e=>(0,t.jsx)(et,{name:e.name,description:e.description,active:u===e.name&&"new"!==h,onClick:()=>E(e.name)},e.name)),(0,t.jsx)(V.Separator,{className:"my-2"}),(0,t.jsxs)("div",{className:"flex items-center gap-1 px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:[(0,t.jsx)(W.Lock,{className:"h-2.5 w-2.5"}),"Built-in (",M.length,")"]}),M.map(e=>(0,t.jsx)(et,{name:e.name,description:e.description,builtin:!0,active:u===e.name&&"new"!==h,onClick:()=>E(e.name)},e.name))]})})]}),(0,t.jsx)("div",{className:"flex flex-1 flex-col overflow-hidden",children:"new"===h?(0,t.jsx)(el,{title:"New skill",draft:j,setDraft:y,showName:!0,onCancel:()=>{f("view"),x(null),N(null)},onSave:L,saving:C.isPending,canSave:I,errorMsg:v}):u&&k?"edit"===h?(0,t.jsx)(el,{title:`Edit: ${k.name}`,draft:j,setDraft:y,showName:!1,onCancel:()=>{f("view"),N(null),k&&y({name:k.name,description:k.description,content:k.content,allowedTools:k.allowedTools.join("\n")})},onSave:L,saving:S.isPending,canSave:I,errorMsg:v}):(0,t.jsx)(en,{detail:k,onEdit:()=>{k&&!k.builtin&&(f("edit"),N(null))},onDelete:$,deleting:T.isPending,errorMsg:v}):(0,t.jsx)(es,{})})]})})}function et({name:e,description:s,active:a,builtin:n,onClick:l}){return(0,t.jsxs)("button",{onClick:l,className:(0,N.cn)("flex w-full flex-col gap-0.5 rounded-md px-2 py-1.5 text-left transition-colors",a?"bg-primary/10 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[n?(0,t.jsx)(W.Lock,{className:"h-3 w-3 shrink-0"}):(0,t.jsx)(H,{className:"h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate text-xs font-medium",children:e})]}),s&&(0,t.jsx)("span",{className:"line-clamp-2 pl-4 text-[10px] leading-tight opacity-70",children:s})]})}function es(){return(0,t.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:"Select a skill or create a new one."})}function ea({message:e}){return(0,t.jsx)(Q.Alert,{variant:"error",children:e})}function en({detail:e,onEdit:s,onDelete:a,deleting:n,errorMsg:l}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 border-b border-border px-6 py-3",children:[(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("h1",{className:"text-base font-semibold text-foreground",children:e.name}),e.builtin?(0,t.jsxs)(j.Badge,{variant:"gray",children:[(0,t.jsx)(W.Lock,{className:"mr-1 h-2.5 w-2.5"})," built-in"]}):(0,t.jsx)(j.Badge,{variant:"blue",children:"user"})]}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Updated ",(0,N.formatAbsoluteTime)(e.updatedAt)]})]}),(0,t.jsx)("div",{className:"ml-auto flex gap-2",children:!e.builtin&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.Button,{variant:"outline",size:"sm",onClick:s,children:"Edit"}),(0,t.jsxs)(b.Button,{variant:"destructive",size:"sm",onClick:a,disabled:n,children:[(0,t.jsx)(Z.Trash2,{className:"h-3.5 w-3.5"})," Delete"]})]})})]}),(0,t.jsx)(g.ScrollArea,{className:"flex-1",children:(0,t.jsxs)("div",{className:"space-y-4 p-6",children:[l&&(0,t.jsx)(ea,{message:l}),e.description&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Description"}),(0,t.jsx)("p",{className:"text-sm text-foreground",children:e.description})]}),e.allowedTools.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Allowed tools"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:e.allowedTools.map(e=>(0,t.jsx)(j.Badge,{variant:"gray",className:"font-mono text-[10px]",children:e},e))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"SKILL.md body"}),(0,t.jsx)("pre",{className:"whitespace-pre-wrap rounded-md border border-border bg-muted/30 p-3 font-mono text-xs text-foreground",children:e.content})]})]})})]})}function el({title:e,draft:s,setDraft:a,showName:n,onCancel:l,onSave:r,saving:i,canSave:o,errorMsg:d}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 border-b border-border px-6 py-3",children:[(0,t.jsx)("h1",{className:"text-base font-semibold text-foreground",children:e}),(0,t.jsxs)("div",{className:"ml-auto flex gap-2",children:[(0,t.jsxs)(b.Button,{variant:"outline",size:"sm",onClick:l,children:[(0,t.jsx)(J.X,{className:"h-3.5 w-3.5"})," Cancel"]}),(0,t.jsxs)(b.Button,{size:"sm",onClick:r,disabled:!o||i,children:[(0,t.jsx)(Y.Save,{className:"h-3.5 w-3.5"})," ",i?"Saving...":"Save"]})]})]}),(0,t.jsx)(g.ScrollArea,{className:"flex-1",children:(0,t.jsxs)("div",{className:"space-y-4 p-6",children:[d&&(0,t.jsx)(ea,{message:d}),n&&(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Name (kebab-case)"}),(0,t.jsx)(O.Input,{value:s.name,onChange:e=>a({...s,name:e.target.value}),placeholder:"my-new-skill"}),(0,t.jsx)("p",{className:"mt-1 text-[10px] text-muted-foreground",children:"Lowercase letters, digits, and hyphens only. 1-64 characters."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Description"}),(0,t.jsx)(O.Input,{value:s.description,onChange:e=>a({...s,description:e.target.value}),placeholder:"One-line description the agent reads to decide when to load this skill"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Allowed tools (optional)"}),(0,t.jsx)("textarea",{value:s.allowedTools,onChange:e=>a({...s,allowedTools:e.target.value}),className:"min-h-[80px] w-full rounded-md border border-input bg-background p-3 font-mono text-xs text-foreground focus:outline-none focus:ring-2 focus:ring-ring",placeholder:"One per line, e.g.\nBash(curl *)\nRead"}),(0,t.jsx)("p",{className:"mt-1 text-[10px] text-muted-foreground",children:"Tool matchers in Claude Code format. Leave blank to inherit the agent's defaults."})]}),(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("label",{className:"mb-1 block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"SKILL.md body"}),(0,t.jsx)("textarea",{value:s.content,onChange:e=>a({...s,content:e.target.value}),className:"min-h-[400px] w-full rounded-md border border-input bg-background p-3 font-mono text-xs text-foreground focus:outline-none focus:ring-2 focus:ring-ring",placeholder:"# Skill body Markdown content here. Frontmatter is injected automatically."})]})]})})]})}var er=e.i(29086),ei=e.i(72740),eo=e.i(10427),ed=e.i(24756),ec=e.i(17532),em=e.i(76176);let eu=[{value:"self-written",label:"Wrote it myself"},{value:"obsidian-export",label:"Exported from Obsidian"},{value:"notion-export",label:"Exported from Notion"},{value:"other",label:"Other"}],ex="__auto__";function eh(){let e=(0,s.useRef)(null),[a,n]=(0,s.useState)(null),[l,r]=(0,s.useState)("self-written"),[i,d]=(0,s.useState)(ex),[c,m]=(0,s.useState)(!1),[u,x]=(0,s.useState)(null),[h,p]=(0,s.useState)(null),{data:f}=(0,ed.useBackends)(),{data:g}=(0,ec.useSetupStatus)(),j=g?.needsSetup===!0,y=(0,s.useMemo)(()=>(f?.backends??[]).filter(e=>e.enabled&&e.cliInstalled&&e.models.length>0).filter(e=>"expired"!==e.authStatus&&"missing"!==e.authStatus),[f]),v=0===y.length,N=async()=>{if(a){m(!0),p(null),x(null);try{let t=new FormData;if(t.append("file",a),t.append("source",l),i!==ex){let e=i.indexOf("::");e>0&&(t.append("requestedBackendId",i.slice(0,e)),t.append("requestedModelId",i.slice(e+2)))}let s=await fetch("/api/knowledge/import",{method:"POST",body:t});if(!s.ok){let e=await s.json().catch(()=>null);throw new o.ApiError(s.status,e)}let r=await s.json();x({traceId:r.traceId,filename:a.name,source:l}),n(null),e.current&&(e.current.value="")}catch(e){if(e instanceof o.ApiError){let t=e.body;p(t?.message??t?.error??`HTTP ${e.status}`)}else p(e instanceof Error?e.message:"Upload failed.")}finally{m(!1)}}};if(j)return(0,t.jsxs)("div",{className:"max-w-2xl space-y-3",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Import a file into Context Files"}),(0,t.jsxs)(Q.Alert,{variant:"warning",children:["Complete the initial setup wizard first. The"," ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:"user/*.md"})," files the import targets are seeded only after you finish setup —"," ",(0,t.jsx)("a",{href:"/setup",className:"underline",children:"open setup"}),"."]})]});let w=c||v;return(0,t.jsxs)("div",{className:"max-w-2xl space-y-6",children:[(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Import a file into Context Files"}),(0,t.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Bring a personal-info file you wrote elsewhere (an Obsidian export, a Notion export, a hand-written profile). The agent reads it once and folds its facts into the right ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:"user/*.md"})," Context Files — appending bullets verbatim, never overwriting, never paraphrasing."]}),(0,t.jsxs)("div",{className:"rounded-md border bg-card p-3 text-sm",children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:"Recommended formats"}),(0,t.jsxs)("ul",{className:"mt-1 space-y-0.5 text-muted-foreground",children:[(0,t.jsxs)("li",{children:[(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:".md"})," /"," ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:".markdown"})," — Markdown. Preferred — bullets, headings, and front-matter all carry through."]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:".txt"})," — plain text. Use when the source is unstructured prose."]})]}),(0,t.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:"These are the file types every supported execution agent — Claude Code, Codex CLI, and Gemini CLI — reads natively, so the import runs the same way no matter which backend you pick. Other formats (PDF, DOCX, HTML) are not accepted: convert to Markdown or plain text first so the agent reads exactly the bytes you intend."})]}),(0,t.jsxs)("div",{className:"rounded-md border bg-card p-3 text-sm",children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:"Where facts land"}),(0,t.jsxs)("ul",{className:"mt-1 space-y-0.5 text-muted-foreground",children:[(0,t.jsx)("li",{children:"Identity (name, timezone, language, DOB) → flagged for your confirmation, not auto-written."}),(0,t.jsxs)("li",{children:["Relationships (family, partners, close friends) → ",(0,t.jsx)("code",{children:"identity/people.md"})]}),(0,t.jsxs)("li",{children:["Work, employer, role, colleagues → ",(0,t.jsx)("code",{children:"identity/work.md"})]}),(0,t.jsxs)("li",{children:["Skills, expertise, languages spoken → ",(0,t.jsx)("code",{children:"identity/expertise.md"})]}),(0,t.jsxs)("li",{children:["Lifestyle, hobbies, preferences, health → ",(0,t.jsx)("code",{children:"identity/personal.md"})]}),(0,t.jsxs)("li",{children:["Goals, aspirations, current focus → ",(0,t.jsx)("code",{children:"identity/goals.md"})]}),(0,t.jsxs)("li",{children:["Anything else → ",(0,t.jsx)("code",{children:"identity/profile.md"})," under a Misc section."]})]})]}),(0,t.jsxs)("div",{className:"rounded-md border bg-card p-3 text-sm",children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:"Strict-fidelity guarantee"}),(0,t.jsxs)("p",{className:"mt-1 text-muted-foreground",children:["The session runs under a dedicated agent profile (",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:"profile-importer"}),") materialized into ",(0,t.jsx)("code",{children:"CLAUDE.md"})," / ",(0,t.jsx)("code",{children:"AGENTS.md"})," /"," ",(0,t.jsx)("code",{children:"GEMINI.md"})," for the chosen backend. Its top-level rule:"]}),(0,t.jsxs)("ul",{className:"mt-1 space-y-0.5 text-muted-foreground",children:[(0,t.jsxs)("li",{children:["Copy bullets ",(0,t.jsx)("strong",{children:"verbatim"})," — no paraphrase, no summary, no inference beyond the literal text."]}),(0,t.jsxs)("li",{children:["Existing bullets are never overwritten. Contradictions land in a ",(0,t.jsx)("code",{children:"## Pending Conflicts"})," section for you to resolve."]}),(0,t.jsx)("li",{children:"If a sentence is ambiguous, the agent skips it and notes the skip in its journal."})]})]}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Limits: max file size ",64,"KB (split larger files and import in pieces — strict fidelity does not scale beyond this). Files that contain private keys, API tokens, or credentials are rejected at upload time and never written to disk inside the agent’s vault."]})]}),(0,t.jsxs)("div",{className:"space-y-3 rounded-lg border bg-card p-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1.5 block text-sm font-medium",children:"File"}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("input",{ref:e,type:"file",accept:".md,.markdown,.txt",className:"hidden",onChange:e=>{let t=e.target.files?.[0]??null;if(p(null),x(null),t&&t.size>65536){p(`File is ${(t.size/1024).toFixed(1)} KB. Maximum is 64 KB — split the file and import in pieces.`),n(null),e.target.value="";return}n(t)}}),(0,t.jsxs)(b.Button,{type:"button",variant:"outline",onClick:()=>e.current?.click(),disabled:w,children:[(0,t.jsx)(X.Upload,{className:"mr-1.5 h-4 w-4"}),"Choose file"]}),a&&(0,t.jsxs)("span",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[(0,t.jsx)(er.FileText,{className:"h-3.5 w-3.5"}),a.name," (",(a.size/1024).toFixed(1)," KB)"]})]}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Accepts ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:".md"}),","," ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:".markdown"}),", or"," ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:".txt"}),". Up to ",64," KB after UTF-8 encoding (Japanese / non-ASCII characters take 3 bytes each)."]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1.5 block text-sm font-medium",children:"Source"}),(0,t.jsxs)(eo.Select,{value:l,onValueChange:r,disabled:c,children:[(0,t.jsx)(eo.SelectTrigger,{className:"w-full",children:(0,t.jsx)(eo.SelectValue,{})}),(0,t.jsx)(eo.SelectContent,{children:eu.map(e=>(0,t.jsx)(eo.SelectItem,{value:e.value,children:e.label},e.value))})]}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Recorded in the journal entry the import session writes when it finishes."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-1.5 block text-sm font-medium",children:"Execution agent"}),(0,t.jsxs)(eo.Select,{value:i,onValueChange:d,disabled:c||v,children:[(0,t.jsx)(eo.SelectTrigger,{className:"w-full",children:(0,t.jsx)(eo.SelectValue,{})}),(0,t.jsxs)(eo.SelectContent,{children:[(0,t.jsx)(eo.SelectItem,{value:ex,children:"Use default routing"}),y.map(e=>(0,t.jsxs)(eo.SelectGroup,{children:[(0,t.jsx)(eo.SelectLabel,{children:(0,em.getBackendShortLabel)(e.id)}),e.models.map(s=>(0,t.jsx)(eo.SelectItem,{value:`${e.id}::${s.modelId}`,children:s.label},`${e.id}::${s.modelId}`))]},e.id))]})]}),v?(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["No authenticated backends — set one up under"," ",(0,t.jsx)("a",{href:"/connections/backends",className:"underline",children:"Connections → Backends"}),"."]}):(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Choose which backend runs this import. Only backends you’ve authenticated and whose CLI binary is on PATH are listed. “Use default routing” falls back to the daemon’s configured main backend."})]}),(0,t.jsx)("div",{className:"flex items-center gap-3 pt-1",children:(0,t.jsx)(b.Button,{onClick:N,disabled:!a||c||v,children:c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ei.Loader2,{className:"mr-1.5 h-4 w-4 animate-spin"}),"Uploading…"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(X.Upload,{className:"mr-1.5 h-4 w-4"}),"Import"]})})}),h&&(0,t.jsx)(Q.Alert,{variant:"error",children:h}),u&&(0,t.jsxs)(Q.Alert,{variant:"success",children:["Import accepted — the agent is processing"," ",(0,t.jsx)("strong",{children:u.filename}),". Watch progress in"," ",(0,t.jsxs)("a",{href:`/activity?correlationId=${encodeURIComponent(u.traceId)}`,className:"underline",children:["Activity (trace ",u.traceId.slice(0,8),")"]})," ","and review the resulting bullets in"," ",(0,t.jsx)("a",{href:"/knowledge?tab=context-files",className:"underline",children:"Context Files"})," ","once the run finishes."]})]})]})}var ep=e.i(84603),ef=e.i(26928);e.i(18446);var eg=e.i(54530);function ej(e){if(!e)return[];let t=new Map;for(let s of e){let e=(0,eg.normalizeAppLabel)(s.app),a=t.get(e);a?a.count+=1:t.set(e,{normalized:e,label:s.app,count:1,status:"active"})}return Array.from(t.values()).sort((e,t)=>e.label.localeCompare(t.label))}var eb=e.i(74490),ey=e.i(50862),ev=e.i(49785);let eN=(0,r.default)(()=>e.A(93823).then(e=>e.RenderedMarkdown),{loadableGenerated:{modules:[37023]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"space-y-2 py-2",children:Array.from({length:5}).map((e,s)=>(0,t.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${65+11*s%30}%`}},s))})});function ew(){let e=(0,ef.useManagedTasks)(),a=(0,c.useQuery)({queryKey:["activity-sources"],queryFn:()=>o.api.get("/activity-sources"),staleTime:6e4}),n=(0,s.useMemo)(()=>(function(e,t){if(!t||0===t.length)return e;let s=new Map;for(let t of e)s.set(t.normalized,t);for(let e of t)s.has(e.normalized)||s.set(e.normalized,{normalized:e.normalized,label:e.label,count:0,status:e.status});return Array.from(s.values()).sort((e,t)=>e.label.localeCompare(t.label))})(ej(e.data?.items),a.data?.items),[e.data,a.data]),[l,r]=(0,s.useState)(null),i=l??n.find(e=>"active"===e.status)?.normalized??n[0]?.normalized??null;return(0,t.jsxs)("div",{className:"grid h-full grid-cols-1 gap-4 md:grid-cols-[16rem_1fr]",children:[(0,t.jsxs)(eb.Card,{className:"flex h-full min-h-0 flex-col p-3",children:[(0,t.jsx)("h3",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Sources"}),(0,t.jsx)(ev.QueryResult,{isLoading:e.isLoading,isError:e.isError,error:e.error,onRetry:()=>e.refetch(),children:0===n.length?(0,t.jsx)(ey.EmptyState,{icon:ep.Activity,title:"No sources",description:"Active managed tasks define which sources have an activity view."}):(0,t.jsx)(g.ScrollArea,{className:"min-h-0 flex-1",children:(0,t.jsx)("ul",{className:"space-y-0.5",children:n.map(e=>{let s=e.normalized===i,a="stopped"===e.status;return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>r(e.normalized),className:(0,N.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm transition-colors",s?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground",a&&!s&&"opacity-70"),title:a?"Stopped — kept for the 90-day activity window.":void 0,children:[(0,t.jsx)(er.FileText,{className:"h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{className:"flex-1 truncate",children:e.label}),a?(0,t.jsx)(j.Badge,{variant:"amber",className:"shrink-0 text-[10px]",children:"stopped"}):(0,t.jsx)(j.Badge,{variant:"gray",className:"shrink-0",children:e.count})]})},e.normalized)})})})})]}),(0,t.jsx)(eb.Card,{className:"flex h-full min-h-0 flex-col p-4",children:i?(0,t.jsx)(ek,{source:i}):(0,t.jsx)(ey.EmptyState,{icon:ep.Activity,title:"No source selected",description:"Pick a source on the left to view its activity log."})})]})}function ek({source:e}){let a=`state/activity/${e}.md`,n=(0,d.useContextFile)(a),l=u(a),[r,i]=(0,s.useState)(!1);return n.isLoading?(0,t.jsx)("div",{className:"space-y-2 py-2",children:Array.from({length:5}).map((e,s)=>(0,t.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${50+11*s%30}%`}},s))}):n.error?404===n.error?.status?(0,t.jsx)(ey.EmptyState,{icon:A.Clock,title:"No activity recorded yet",description:"The activity-view reconciler will produce "+a+" after the next scheduled run."}):(0,t.jsxs)("p",{className:"text-sm text-destructive",children:["Failed to load: ",n.error.message]}):n.data?(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,t.jsxs)("div",{className:"mb-3 flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:(0,t.jsx)("code",{className:"font-mono text-xs",children:a})}),(0,t.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["Auto-generated · last modified"," ",(0,N.formatRelativeTime)(n.data.lastModified)]})]}),l.data&&l.data.snapshots.length>0&&(0,t.jsx)(b.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>i(e=>!e),children:r?"Hide history":`Show history (${l.data.snapshots.length})`})]}),r&&l.data&&(0,t.jsx)(eC,{snapshots:l.data.snapshots}),(0,t.jsx)(g.ScrollArea,{className:"min-h-0 flex-1",children:(0,t.jsx)(eN,{content:n.data.content})})]}):null}function eC({snapshots:e}){return(0,t.jsx)("ul",{className:"mb-3 space-y-1 rounded-md border border-border/40 bg-muted/30 p-2 text-[11px]",children:e.slice(0,10).map(e=>(0,t.jsxs)("li",{className:"flex items-center justify-between gap-2 px-1 py-0.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:(0,N.formatRelativeTime)(e.created_at)}),(0,t.jsx)("span",{className:"text-muted-foreground/70",children:e.trigger})]},e.id))})}let eS=(0,k.default)("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);var eT=e.i(77901);let eA=(0,r.default)(()=>e.A(93823).then(e=>e.RenderedMarkdown),{loadableGenerated:{modules:[37023]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"space-y-2 py-2",children:Array.from({length:5}).map((e,s)=>(0,t.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${65+11*s%30}%`}},s))})});function eF(){let[e,a]=(0,s.useState)("source");return(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col gap-4",children:[(0,t.jsx)(eb.Card,{className:"p-3",children:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(eT.Filter,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-border bg-background p-0.5",children:[(0,t.jsx)("button",{type:"button",onClick:()=>a("source"),className:(0,N.cn)("rounded px-2.5 py-1 text-xs transition-colors","source"===e?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:"By source"}),(0,t.jsx)("button",{type:"button",onClick:()=>a("domain"),className:(0,N.cn)("rounded px-2.5 py-1 text-xs transition-colors","domain"===e?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:"By domain"})]})]})}),"source"===e?(0,t.jsx)(eM,{}):(0,t.jsx)(eB,{})]})}function eM(){let e=(0,ef.useManagedTasks)(),a=(0,s.useMemo)(()=>ej(e.data?.items),[e.data]),[n,l]=(0,s.useState)(null),r=n??a[0]?.normalized??null,i=function(e,t=100){return(0,c.useQuery)({queryKey:["entities-by-source",e,t],queryFn:()=>o.api.get("/entities",{source:e,limit:t}),enabled:!!e,staleTime:3e4})}(r,200);return(0,t.jsx)(eR,{sidebar:(0,t.jsxs)(eb.Card,{className:"flex h-full min-h-0 flex-col p-3",children:[(0,t.jsx)("h3",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Sources"}),(0,t.jsx)(ev.QueryResult,{isLoading:e.isLoading,isError:e.isError,error:e.error,onRetry:()=>e.refetch(),children:0===a.length?(0,t.jsx)(ey.EmptyState,{icon:eS,title:"No sources",description:"Register a managed task first."}):(0,t.jsx)(g.ScrollArea,{className:"min-h-0 flex-1",children:(0,t.jsx)("ul",{className:"space-y-0.5",children:a.map(e=>{let s=e.normalized===r;return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>l(e.normalized),className:(0,N.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm transition-colors",s?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,t.jsx)("span",{className:"flex-1 truncate",children:e.label}),(0,t.jsx)(j.Badge,{variant:"gray",className:"shrink-0",children:e.count})]})},e.normalized)})})})})]}),content:(0,t.jsx)(eE,{query:i,emptyTitle:"No entities tagged yet",emptyDescription:"Once the scheduled-managed-task skill runs, entity files appear here."})})}function eB(){let e=(0,s.useMemo)(()=>new Date().toISOString().slice(0,10),[]),[a,n]=(0,s.useState)("work"),[l,r]=(0,s.useState)("meeting"),[i,d]=(0,s.useState)(e),[m,u]=(0,s.useState)(""),x=function(e){let{domain:t,type:s,date:a,q:n,limit:l}=e,r=!!t&&!!s&&!!a;return(0,c.useQuery)({queryKey:["entities-by-domain-type-date",t,s,a,n,l],queryFn:()=>o.api.get("/entities",{domain:t,type:s,date:a,...n?{q:n}:{},...l?{limit:l}:{}}),enabled:r,staleTime:3e4})}({domain:a,type:l,date:i,q:m.trim()?m.trim():void 0,limit:100});return(0,t.jsx)(eR,{sidebar:(0,t.jsxs)(eb.Card,{className:"flex h-full min-h-0 flex-col gap-3 p-3",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-domain",children:"Domain"}),(0,t.jsxs)(eo.Select,{value:a,onValueChange:e=>n(e),children:[(0,t.jsx)(eo.SelectTrigger,{id:"filter-domain",className:"h-8 text-xs",children:(0,t.jsx)(eo.SelectValue,{})}),(0,t.jsx)(eo.SelectContent,{children:eg.DOMAINS.map(e=>(0,t.jsx)(eo.SelectItem,{value:e,children:e},e))})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-type",children:"Type"}),(0,t.jsxs)(eo.Select,{value:l,onValueChange:e=>r(e),children:[(0,t.jsx)(eo.SelectTrigger,{id:"filter-type",className:"h-8 text-xs",children:(0,t.jsx)(eo.SelectValue,{})}),(0,t.jsx)(eo.SelectContent,{children:eg.ENTITY_TYPES.map(e=>(0,t.jsx)(eo.SelectItem,{value:e,children:eg.TYPE_PLURALS[e]},e))})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-date",children:"Date"}),(0,t.jsx)(O.Input,{id:"filter-date",type:"date",value:i,onChange:e=>d(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"text-xs font-medium",htmlFor:"filter-q",children:"Title contains"}),(0,t.jsx)(O.Input,{id:"filter-q",type:"search",value:m,onChange:e=>u(e.target.value),placeholder:"optional"})]})]}),content:(0,t.jsx)(eE,{query:x,emptyTitle:"No matches",emptyDescription:`No entities under ${a}/${eg.TYPE_PLURALS[l]} on ${i}.`})})}function eR({sidebar:e,content:s}){return(0,t.jsxs)("div",{className:"grid min-h-0 flex-1 grid-cols-1 gap-4 md:grid-cols-[18rem_1fr]",children:[e,s]})}function eE({query:e,emptyTitle:a,emptyDescription:n}){let[l,r]=(0,s.useState)(null);return(0,t.jsx)(eb.Card,{className:"flex h-full min-h-0 flex-col p-0",children:(0,t.jsxs)("div",{className:"grid min-h-0 flex-1 grid-cols-1 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"flex min-h-0 flex-col border-b border-border md:border-b-0 md:border-r",children:[(0,t.jsxs)("div",{className:"border-b border-border px-3 py-2 text-[11px] uppercase tracking-wide text-muted-foreground",children:["Results ",e.data?`(${e.data.items.length})`:""]}),(0,t.jsx)("div",{className:"min-h-0 flex-1",children:(0,t.jsx)(ev.QueryResult,{isLoading:e.isLoading,isError:e.isError,error:e.error,onRetry:()=>e.refetch(),children:e.data&&0!==e.data.items.length?(0,t.jsx)(g.ScrollArea,{className:"h-full",children:(0,t.jsx)("ul",{className:"divide-y divide-border/40",children:e.data.items.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>r(e.path),className:(0,N.cn)("flex w-full flex-col gap-0.5 px-3 py-2 text-left text-sm transition-colors",l===e.path?"bg-primary/10 text-primary":"hover:bg-accent"),children:[(0,t.jsxs)("span",{className:"flex items-start gap-2",children:[(0,t.jsx)(er.FileText,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"flex-1 truncate font-medium",children:e.title}),e.status&&(0,t.jsx)(j.Badge,{variant:"gray",className:"shrink-0",children:e.status})]}),(0,t.jsx)("span",{className:"ml-5 truncate text-[11px] text-muted-foreground",children:(0,t.jsx)("code",{children:e.path})}),Object.keys(e.sources).length>0&&(0,t.jsx)("span",{className:"ml-5 flex flex-wrap gap-1",children:Object.keys(e.sources).map(e=>(0,t.jsx)(j.Badge,{variant:"blue",className:"text-[10px]",children:e},e))})]})},e.path))})}):(0,t.jsx)(ey.EmptyState,{icon:eS,title:a,description:n})})})]}),(0,t.jsx)("div",{className:"flex min-h-0 flex-col",children:l?(0,t.jsx)(eL,{path:l}):(0,t.jsx)(ey.EmptyState,{icon:er.FileText,title:"No entity selected",description:"Pick a result on the left to view the underlying MD file.",className:"py-8"})})]})})}function eL({path:e}){let s=e.endsWith(".md")?e.slice(0,-3):e,a=(0,d.useContextFile)(s);return a.isLoading?(0,t.jsx)("div",{className:"space-y-2 p-4",children:Array.from({length:5}).map((e,s)=>(0,t.jsx)("div",{className:"h-4 animate-pulse rounded bg-muted/30",style:{width:`${50+11*s%30}%`}},s))}):a.error?404===a.error?.status?(0,t.jsx)(ey.EmptyState,{icon:er.FileText,title:"Mirror is stale",description:`The entity file at ${e} was deleted but the mirror still has the row. The watcher should reconcile shortly.`}):(0,t.jsxs)("p",{className:"p-4 text-sm text-destructive",children:["Failed to load: ",a.error.message]}):a.data?(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,t.jsxs)("div",{className:"border-b border-border px-3 py-2",children:[(0,t.jsx)("code",{className:"font-mono text-[11px] text-muted-foreground",children:e}),(0,t.jsxs)("p",{className:"text-[11px] text-muted-foreground/70",children:["Last modified ",(0,N.formatRelativeTime)(a.data.lastModified)]})]}),(0,t.jsx)(g.ScrollArea,{className:"min-h-0 flex-1",children:(0,t.jsx)("div",{className:"p-4",children:(0,t.jsx)(eA,{content:a.data.content})})})]}):null}function eP(){let e=(0,a.useSearchParams)(),r=(0,a.useRouter)(),i=e.get("tab")??"context-files",o=(0,s.useRef)(null),d=async e=>{("context-files"!==i||"context-files"===e||await o.current?.confirmDiscard())&&r.replace(`/knowledge?tab=${e}`,{scroll:!1})};return(0,t.jsxs)("div",{className:"flex h-full flex-col p-6",children:[(0,t.jsx)(l.PageHeader,{className:"mb-4",title:"Knowledge",description:(0,t.jsxs)(t.Fragment,{children:["The agent’s long-term memory. ",(0,t.jsx)("strong",{children:"Context Files"}),"— Markdown notes the agent loads on each run."," ",(0,t.jsx)("strong",{children:"Skills"}),"— per-event-type behavioral guides materialized into the session workdir."," ",(0,t.jsx)("strong",{children:"Activity"}),"— per-source aggregates written by the management registry."," ",(0,t.jsx)("strong",{children:"Entities"}),"— structured records (people, organizations, projects) filterable by source, domain, type, or date."," ",(0,t.jsx)("strong",{children:"Upload"}),"— ingest a Markdown or text file; facts are folded into the right Context Files by topic."]})}),(0,t.jsxs)(n.Tabs,{value:i,onValueChange:d,className:"flex min-h-0 flex-1 flex-col",children:[(0,t.jsxs)(n.TabsList,{className:"w-fit",children:[(0,t.jsx)(n.TabsTrigger,{value:"context-files",children:"Context Files"}),(0,t.jsx)(n.TabsTrigger,{value:"skills",children:"Skills"}),(0,t.jsx)(n.TabsTrigger,{value:"activity",children:"Activity"}),(0,t.jsx)(n.TabsTrigger,{value:"entities",children:"Entities"}),(0,t.jsx)(n.TabsTrigger,{value:"upload",children:"Upload"})]}),(0,t.jsx)(n.TabsContent,{value:"context-files",className:"mt-4 min-h-0 flex-1",children:(0,t.jsx)(_,{ref:o})}),(0,t.jsx)(n.TabsContent,{value:"skills",className:"mt-4 min-h-0 flex-1",children:(0,t.jsx)(ee,{})}),(0,t.jsx)(n.TabsContent,{value:"activity",className:"mt-4 min-h-0 flex-1",children:(0,t.jsx)(ew,{})}),(0,t.jsx)(n.TabsContent,{value:"entities",className:"mt-4 min-h-0 flex-1",children:(0,t.jsx)(eF,{})}),(0,t.jsx)(n.TabsContent,{value:"upload",className:"mt-4 min-h-0 flex-1 overflow-y-auto",children:(0,t.jsx)(eh,{})})]})]})}e.s(["default",0,function(){return(0,t.jsx)(s.Suspense,{children:(0,t.jsx)(eP,{})})}],29855)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,25239,e=>{"use strict";let i=(0,e.i(77379).default)("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);e.s(["Calendar",0,i],25239)},89883,e=>{"use strict";let i=(0,e.i(77379).default)("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);e.s(["Mail",0,i],89883)},76158,e=>{"use strict";let i=(0,e.i(77379).default)("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);e.s(["Server",0,i],76158)},78203,e=>{"use strict";var i=e.i(54710),r=e.i(45958),t=e.i(71060),n=e.i(27136),o=e.i(59481),a=e.i(75314),s=e.i(25239),l=e.i(89883),c=e.i(76158),d=e.i(81471);let h=[{href:"/connections/messaging",label:"Messaging",icon:n.MessageSquare,description:"Slack, Telegram, Discord, WhatsApp, Dashboard"},{href:"/connections/repositories",label:"Repositories",icon:o.GitBranch,description:"GitHub remotes and local clones"},{href:"/connections/knowledge",label:"Knowledge",icon:a.Brain,description:"Obsidian and Notion"},{href:"/connections/calendar",label:"Calendar",icon:s.Calendar,description:"Google, Outlook, Apple"},{href:"/connections/mail",label:"Mail",icon:l.Mail,description:"Gmail, Outlook, Yahoo, iCloud"},{href:"/connections/mcp",label:"MCP Servers",icon:c.Server,description:"Shared tool bundles for every session"}];e.s(["ConnectionsNavigation",0,function(){let e=(0,t.usePathname)();return(0,i.jsx)("nav",{"aria-label":"Connections sections",className:"w-full md:w-60 md:shrink-0",children:(0,i.jsx)("ul",{className:"flex flex-row gap-1 overflow-x-auto md:flex-col md:gap-0.5",children:h.map(t=>{let n=e===t.href||e.startsWith(t.href+"/"),o=t.icon;return(0,i.jsx)("li",{children:(0,i.jsxs)(r.default,{href:t.href,"aria-current":n?"page":void 0,className:(0,d.cn)("group flex items-center gap-3 whitespace-nowrap rounded-lg px-3 py-2 text-sm transition-colors md:whitespace-normal",n?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,i.jsx)(o,{className:"h-4 w-4 shrink-0"}),(0,i.jsxs)("span",{className:"flex-1",children:[(0,i.jsx)("span",{className:"block",children:t.label}),(0,i.jsx)("span",{className:(0,d.cn)("hidden text-[11px] font-normal md:block",n?"text-primary/70":"text-muted-foreground/70 group-hover:text-muted-foreground"),children:t.description})]})]})},t.href)})})})}])}]);
@@ -1,25 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74490,e=>{"use strict";var t=e.i(54710),n=e.i(81471);let r=(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:s,interactive:i,...a}){return(0,t.jsx)("div",{className:(0,n.cn)(r({tone:s,interactive:i}),e),...a})},"CardHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{className:(0,n.cn)("mb-3 flex items-center justify-between",e),...r})},"CardStatLabel",0,function({className:e,...r}){return(0,t.jsx)("h3",{className:(0,n.cn)("text-sm font-medium text-muted-foreground",e),...r})},"CardTitle",0,function({className:e,...r}){return(0,t.jsx)("h3",{className:(0,n.cn)("text-lg font-semibold text-foreground",e),...r})},"CardValue",0,function({className:e,...r}){return(0,t.jsx)("div",{className:(0,n.cn)("text-3xl font-bold text-foreground",e),...r})}])},39982,e=>{"use strict";var t=e.i(54710),n=e.i(81471);e.s(["PageHeader",0,function({title:e,description:r,icon:s,badge:i,actions:a,children:o,className:l}){return(0,t.jsxs)("header",{className:(0,n.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:[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}),i]}),a&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:a})]}),r&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:r}),o]})}])},90925,e=>{"use strict";let t=(0,e.i(77379).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",0,t],90925)},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)},67935,e=>{"use strict";var t=e.i(54710),n=e.i(16047),r=e.i(34416),s=e.i(81471);let i=(0,r.forwardRef)(({className:e,children:r,...i},a)=>(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("select",{ref:a,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),...i,children:r}),(0,t.jsx)(n.ChevronDown,{className:"pointer-events-none absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2 opacity-50"})]}));i.displayName="NativeSelect",e.s(["NativeSelect",0,i])},44178,e=>{"use strict";var t=e.i(57415),n=e.i(14260),r=e.i(95486),s=e.i(65268);class i extends Error{conflict;constructor(e){super("context_conflict"),this.conflict=e,this.name="ContextConflictError"}}e.s(["ContextConflictError",0,i,"useContextFile",0,function(e,t){return(0,n.useQuery)({queryKey:["context",e],queryFn:()=>s.api.get(`/context/${e}`),enabled:!!e&&t?.enabled!==!1,refetchOnWindowFocus:t?.enabled!==!1})},"useContextList",0,function(e){return(0,n.useQuery)({queryKey:["context-list",e],queryFn:()=>s.api.get(`/context/list/${e}`)})},"useDeleteContextFile",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({path:e})=>s.api.delete(`/context/${e}`),onSuccess:(t,{path:n})=>{e.removeQueries({queryKey:["context",n]}),e.invalidateQueries({queryKey:["snapshots",n]});let r=n.includes("/")?n.split("/")[0]:null;r&&e.invalidateQueries({queryKey:["context-list",r]}),n.startsWith("policies/routines/custom/")&&e.invalidateQueries({queryKey:["context-list","routines"]})}})},"useUpdateContextFile",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({path:e,content:t,expectedMtime:n})=>{try{return await s.api.put(`/context/${e}`,{content:t,...void 0!==n?{expectedMtime:n}:{}})}catch(e){if(e instanceof s.ApiError&&409===e.status&&e.body?.error==="conflict"){let t=e.body;throw new i({currentMtime:t.currentMtime??"",currentContent:t.currentContent??""})}throw e}},onSuccess:(t,{path:n,content:r})=>{e.setQueryData(["context",n],e=>e?{...e,content:r,lastModified:t.lastModified}:{content:r,lastModified:t.lastModified,editable:!0}),e.invalidateQueries({queryKey:["snapshots",n]});let s=n.includes("/")?n.split("/")[0]:null;s&&e.invalidateQueries({queryKey:["context-list",s]})}})}])},20492,37720,e=>{"use strict";var t=e.i(77379);let n=(0,t.default)("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);e.s(["Power",0,n],20492);let r=(0,t.default)("PowerOff",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);e.s(["PowerOff",0,r],37720)},37682,e=>{"use strict";var t=e.i(54710),n=e.i(81471);let r="text-xs font-medium text-muted-foreground",s="text-xs text-muted-foreground",i="text-xs text-destructive";e.s(["FormField",0,function({label:e,description:a,error:o,htmlFor:l,className:d,children:c}){return l?(0,t.jsxs)("div",{className:(0,n.cn)("flex flex-col gap-1 text-sm",d),children:[e&&(0,t.jsx)("label",{htmlFor:l,className:r,children:e}),c,a&&!o&&(0,t.jsx)("p",{className:s,children:a}),o&&(0,t.jsx)("p",{className:i,children:o})]}):(0,t.jsxs)("label",{className:(0,n.cn)("flex flex-col gap-1 text-sm",d),children:[e&&(0,t.jsx)("span",{className:r,children:e}),c,a&&!o&&(0,t.jsx)("span",{className:s,children:a}),o&&(0,t.jsx)("span",{className:i,children:o})]})}])},93909,e=>{"use strict";var t=e.i(54710),n=e.i(34416),r=e.i(29086),s=e.i(60168),i=e.i(20492),a=e.i(37720),o=e.i(69426),l=e.i(90925),d=e.i(65268),c=e.i(44178),u=e.i(88423),m=e.i(90826),x=e.i(20014),h=e.i(74490),f=e.i(27102),p=e.i(37682),g=e.i(8652),b=e.i(67935),y=e.i(39982),j=e.i(57628),v=e.i(81471);let k={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},N={sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6},w={Sun:0,Mon:1,Tue:2,Wed:3,Thu:4,Fri:5,Sat:6};function C(e,t,n={}){let r=function(e){let t=e.trim().split(/\s+/);if(5!==t.length)return{ok:!1,error:"Cron must have exactly 5 fields: minute hour day-of-month month day-of-week."};let n=S(t[0],"minute");if(!n.ok)return n;let r=S(t[1],"hour");if(!r.ok)return r;let s=S(t[2],"dayOfMonth");if(!s.ok)return s;let i=S(t[3],"month");if(!i.ok)return i;let a=S(t[4],"dayOfWeek");return a.ok?{ok:!0,value:{minute:n.value,hour:r.value,dayOfMonth:s.value,month:i.value,dayOfWeek:a.value}}:a}(e);if(!r.ok)return r;let s=n.count??3,i=new Intl.DateTimeFormat("en-US",{timeZone:t,weekday:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",hourCycle:"h23"}),a=[],o=new Date(6e4*Math.floor((n.from??new Date).getTime()/6e4)+6e4),l=0;for(;a.length<s&&l<527040;)(function(e,t,n){let r=function(e,t){let n=e.formatToParts(t),r=e=>n.find(t=>t.type===e)?.value??"";return{minute:Number(r("minute")),hour:Number(r("hour")),day:Number(r("day")),month:Number(r("month")),weekday:w[r("weekday")]??-1}}(t,n);if(!e.minute.matches(r.minute)||!e.hour.matches(r.hour)||!e.month.matches(r.month))return!1;let s=e.dayOfMonth.matches(r.day),i=e.dayOfWeek.matches(r.weekday);return!!e.dayOfMonth.isWildcard&&!!e.dayOfWeek.isWildcard||(e.dayOfMonth.isWildcard?i:e.dayOfWeek.isWildcard?s:s||i)})(r.value,i,o)&&a.push(new Date(o)),o=new Date(o.getTime()+6e4),l+=1;return 0===a.length?{ok:!1,error:"No upcoming runs found within the next year for this timezone."}:{ok:!0,nextRuns:a}}function S(e,t){var n,r;let s,i=(n=e,(s="month"===(r=t)?k:"dayOfWeek"===r?N:null)?n.toLowerCase().replace(/[a-z]{3}/g,e=>{let t=s[e];return void 0===t?e:String(t)}):n.toLowerCase());if(0===i.length)return{ok:!1,error:`Cron ${M(t)} field is empty.`};let a=function(e){switch(e){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}}}(t),o=new Set;for(let e of i.split(",")){let n,r;if(!e)return{ok:!1,error:`Cron ${M(t)} field has an empty list item.`};let[s,i]=e.split("/");if(e.split("/").length>2)return{ok:!1,error:`Cron ${M(t)} field has an invalid step: \`${e}\`.`};let l=void 0===i?1:Number.parseInt(i,10);if(!Number.isInteger(l)||l<=0)return{ok:!1,error:`Cron ${M(t)} step must be a positive integer.`};if("*"===s)n=a.min,r=a.max;else if(s.includes("-")){let[i,a]=s.split("-");if(n=$(i,t),r=$(a,t),Number.isNaN(n)||Number.isNaN(r)||n>r)return{ok:!1,error:`Cron ${M(t)} range is invalid: \`${e}\`.`}}else if(r=n=$(s,t),Number.isNaN(n))return{ok:!1,error:`Cron ${M(t)} value is invalid: \`${e}\`.`};if(n<a.min||r>a.max)return{ok:!1,error:`Cron ${M(t)} values must stay within ${a.min}-${a.max}.`};for(let e=n;e<=r;e+=l)o.add(F(e,t))}if(0===o.size)return{ok:!1,error:`Cron ${M(t)} field produced no values.`};let l="dayOfWeek"===t?7:a.max-a.min+1;return{ok:!0,value:{matches:e=>o.has(F(e,t)),isWildcard:o.size===l}}}function $(e,t){let n=Number.parseInt(e,10);return Number.isInteger(n)?n:NaN}function F(e,t){return"dayOfWeek"===t&&7===e?0:e}function M(e){switch(e){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 D=[{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"}],O=new Map(D.map(e=>[e.stem,e]));function W(e){return`policies/routines/custom/${e}`}function _(e,t){let n=e.match(/^---\r?\n([\s\S]*?)\r?\n---/);if(!n)return null;let r=RegExp(`^${t}\\s*:\\s*(.+?)\\s*$`,"m"),s=n[1].match(r);if(!s)return null;let i=s[1].trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1)),i}function T({cronExpression:e,timeZone:r,title:s="Next runs"}){let i=(0,n.useMemo)(()=>e&&0!==e.trim().length?C(e,r,{count:3}):{ok:!1,error:"Add a `cron:` frontmatter field to preview the schedule."},[e,r]);return(0,t.jsxs)(h.Card,{className:"border-dashed p-3",children:[(0,t.jsx)("div",{className:"flex items-center justify-between gap-3",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:s}),(0,t.jsxs)("p",{className:"pt-1 text-xs text-muted-foreground",children:["Previewed in daemon timezone: ",(0,t.jsx)("code",{children:r})]})]})}),i.ok?(0,t.jsx)("div",{className:"pt-3 text-sm",children:i.nextRuns.map((e,n)=>(0,t.jsx)("div",{className:"font-mono text-xs text-foreground",children:new Intl.DateTimeFormat("en-US",{timeZone:r,dateStyle:"medium",timeStyle:"short"}).format(e)},`${e.toISOString()}-${n}`))}):(0,t.jsx)("p",{className:"pt-3 text-xs text-muted-foreground",children:i.error})]})}function z({selection:e,onSelect:i,onCreateClick:a}){let{data:l}=(0,c.useContextList)("routines"),d=(0,n.useMemo)(()=>(l?.files??[]).filter(e=>e.name.startsWith("custom/")&&e.name.endsWith(".md")).map(e=>({slug:e.name.slice(7,-3),lastModified:e.lastModified})).sort((e,t)=>e.slug.localeCompare(t.slug)),[l?.files]),u=(0,n.useMemo)(()=>[...D,...(l?.files??[]).filter(e=>!e.name.startsWith("custom/")&&e.name.endsWith(".md")).map(e=>{var t;return(t=e.name).endsWith(".md")?t.slice(0,-3):t}).filter(e=>!O.has(e)).sort((e,t)=>e.localeCompare(t)).map(e=>({stem:e,label:e,cadence:"additional"}))],[l?.files]),m=t=>e.kind===t.kind&&("builtin"===e.kind?e.stem===t.stem:e.slug===t.slug);return(0,t.jsxs)(h.Card,{className:"p-3",children:[(0,t.jsx)("div",{className:"flex items-center justify-between px-1 pb-2",children:(0,t.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:"Built-in"})}),(0,t.jsx)("nav",{className:"flex flex-col",children:u.map(e=>{let n={kind:"builtin",stem:e.stem},s="_index"===e.stem;return(0,t.jsxs)("button",{type:"button",onClick:()=>i(n),className:(0,v.cn)("flex items-center justify-between rounded-md px-2 py-1.5 text-left text-sm hover:bg-accent",m(n)&&"bg-accent text-foreground"),children:[(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[s?(0,t.jsx)(r.FileText,{className:"h-3.5 w-3.5 text-muted-foreground"}):(0,t.jsx)(o.Repeat,{className:"h-3.5 w-3.5 text-muted-foreground"}),e.label]}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:e.cadence})]},e.stem)})}),(0,t.jsx)(j.Separator,{className:"my-3"}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-1 pb-2",children:[(0,t.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:"Custom"}),(0,t.jsxs)(x.Button,{type:"button",size:"sm",variant:"outline",className:"h-6 gap-1 px-2 text-xs",onClick:a,children:[(0,t.jsx)(s.Plus,{className:"h-3 w-3"}),"Add"]})]}),0===d.length?(0,t.jsx)("p",{className:"px-2 py-2 text-xs text-muted-foreground",children:"No custom routines yet."}):(0,t.jsx)("nav",{className:"flex flex-col",children:d.map(({slug:e})=>(0,t.jsx)(P,{slug:e,selected:m({kind:"custom",slug:e}),onSelect:()=>i({kind:"custom",slug:e})},e))})]})}function P({slug:e,selected:n,onSelect:r}){let s=W(e),i=(0,c.useContextFile)(s),o="false"===(i.data?_(i.data.content,"enabled"):null);return(0,t.jsxs)("button",{type:"button",onClick:r,className:(0,v.cn)("flex items-center justify-between rounded-md px-2 py-1.5 text-left text-sm hover:bg-accent",n&&"bg-accent text-foreground",o&&"opacity-60"),title:o?"Disabled — cron job not running":void 0,children:[(0,t.jsx)("span",{className:"truncate font-mono text-xs",children:e}),o&&(0,t.jsx)(a.PowerOff,{className:"ml-2 h-3 w-3 shrink-0 text-muted-foreground"})]})}function E({selection:e,timezone:n,onDeleted:r}){var s;let i="builtin"===e.kind?(s=e.stem,`routines/${s}`):W(e.slug),a=(0,c.useContextFile)(i);return a.isLoading?(0,t.jsx)(h.Card,{className:"p-4",children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading…"})}):a.error||!a.data?404===a.error?.status?(0,t.jsx)(h.Card,{className:"p-4",children:(0,t.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,t.jsx)(h.Card,{className:"p-4",children:(0,t.jsxs)("p",{className:"text-sm text-destructive",children:["Failed to load: ",a.error?.message??"unknown"]})}):(0,t.jsx)(A,{path:i,selection:e,timezone:n,editable:!1!==a.data.editable,initialFile:a.data,onDeleted:r},i)}function A({path:e,selection:r,timezone:s,editable:o,initialFile:u,onDeleted:f}){let[p,g]=(0,n.useState)(u.content),[b,y]=(0,n.useState)({content:u.content,mtime:u.lastModified}),[j,v]=(0,n.useState)(null),[k,N]=(0,n.useState)(null),w=(0,c.useUpdateContextFile)(),C=(0,c.useDeleteContextFile)(),S=(0,m.useConfirm)(),$=p!==b.content,F="custom"===r.kind?_(p,"cron"):null,M="custom"===r.kind?_(p,"enabled"):null,D="true"===M,O=async()=>{N(null);try{let t=await w.mutateAsync({path:e,content:p,expectedMtime:b.mtime});y({content:p,mtime:t.lastModified}),v("Saved."),setTimeout(()=>v(null),2500)}catch(e){e instanceof c.ContextConflictError?N("Another writer changed this file. Refresh to see the latest version."):(d.ApiError,N(e.message))}},W=async()=>{if("custom"===r.kind&&await S({title:`Delete custom routine "${r.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 C.mutateAsync({path:e}),f()}catch(e){N((e instanceof d.ApiError,e.message))}};return(0,t.jsxs)(h.Card,{className:"flex flex-col gap-3 p-4",children:[(0,t.jsxs)(h.CardHeader,{className:"flex flex-row items-center justify-between p-0 pb-0",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)(h.CardTitle,{className:"text-sm font-semibold",children:[e,".md"]}),"custom"===r.kind?(0,t.jsxs)("p",{className:"pt-1 text-xs text-muted-foreground",children:["Frontmatter (",(0,t.jsx)("code",{children:"cron:"}),", ",(0,t.jsx)("code",{children:"process_key"}),","," ",(0,t.jsx)("code",{children:"enabled"}),", ",(0,t.jsx)("code",{children:"backend_tier"}),","," ",(0,t.jsx)("code",{children:"max_budget_usd"}),") and a ",(0,t.jsx)("code",{children:"## Checks"})," ","section are required. The scheduler reloads on save."]}):(0,t.jsxs)("p",{className:"pt-1 text-xs text-muted-foreground",children:["All files under ",(0,t.jsx)("code",{children:"policies/routines/"}),", including"," ",(0,t.jsx)("code",{children:"_index.md"}),", are editable here."]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:["custom"===r.kind&&("true"===M||"false"===M)&&(0,t.jsx)(x.Button,{type:"button",variant:D?"default":"outline",size:"sm",className:"gap-1",onClick:()=>{"custom"===r.kind&&o&&g(function(e,t,n){let r=e.match(/^---\r?\n([\s\S]*?)\r?\n---/);if(!r)return e;let s=r[1],i=RegExp(`^(${t})\\s*:\\s*.+?\\s*$`,"m");if(i.test(s)){let a=s.replace(i,`${t}: ${n}`);return e.replace(r[0],`---
2
- ${a}
3
- ---`)}let a=`${s}
4
- ${t}: ${n}`;return e.replace(r[0],`---
5
- ${a}
6
- ---`)}(p,"enabled",D?"false":"true"))},disabled:!o,title:D?"Disable this routine (stops the cron job on save)":"Enable this routine (registers the cron job on save)",children:D?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.Power,{className:"h-3.5 w-3.5"}),"Enabled"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.PowerOff,{className:"h-3.5 w-3.5"}),"Disabled"]})}),"custom"===r.kind&&(0,t.jsxs)(x.Button,{type:"button",variant:"ghost",size:"sm",className:"gap-1 text-destructive hover:text-destructive",onClick:W,children:[(0,t.jsx)(l.Trash2,{className:"h-3.5 w-3.5"}),"Delete"]}),(0,t.jsx)(x.Button,{type:"button",size:"sm",onClick:O,disabled:!$||!o||w.isPending,children:w.isPending?"Saving…":"Save"})]})]}),"custom"===r.kind&&(0,t.jsx)(T,{cronExpression:F,timeZone:s}),(0,t.jsx)("textarea",{value:p??"",onChange:e=>g(e.target.value),disabled:!o,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"}),j&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:j}),k&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:k})]})}let q=/^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$/;function B({open:e,timeZone:r,onOpenChange:s,onCreated:i}){let[a,o]=(0,n.useState)(""),[l,u]=(0,n.useState)("0 11 * * 2"),[m,h]=(0,n.useState)("medium"),[y,j]=(0,n.useState)("0.05"),[v,k]=(0,n.useState)(""),[N,w]=(0,n.useState)(null),S=(0,c.useUpdateContextFile)(),$=(0,n.useMemo)(()=>C(l,r,{count:3}),[l,r]),F=async e=>{let t;if(e.preventDefault(),w(null),!q.test(a)||a.length>64)return void w("Slug must be lowercase kebab-case (a–z, 0–9, hyphen), 1–64 chars, and may not start or end with a hyphen.");if(!$.ok)return void w($.error);let n=Number(y);if(!Number.isFinite(n)||n<=0)return void w("Max budget must be a positive number in USD.");let r=(t=new Date().toISOString().slice(0,10),`---
7
- type: rule
8
- slug: ${a}
9
- cron: "${l}"
10
- process_key: routine.custom.${a}
11
- enabled: true
12
- added_at: ${t}
13
- added_by: user via dashboard
14
- backend_tier: ${m}
15
- max_budget_usd: ${n}
16
- ---
17
- # ${a}
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 S.mutateAsync({path:W(a),content:r}),i(a)}catch(e){w((e instanceof d.ApiError,e.message))}};return(0,t.jsx)(f.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(f.DialogContent,{children:[(0,t.jsx)(f.DialogHeader,{children:(0,t.jsx)(f.DialogTitle,{children:"New custom routine"})}),(0,t.jsxs)("form",{className:"flex flex-col gap-3",onSubmit:F,children:[(0,t.jsx)(p.FormField,{label:"Slug",children:(0,t.jsx)(g.Input,{value:a,onChange:e=>o(e.target.value.trim()),placeholder:"tuesday-notion-sync",autoFocus:!0})}),(0,t.jsx)(p.FormField,{label:"Cron expression (5 fields, daemon timezone)",children:(0,t.jsx)(g.Input,{value:l,onChange:e=>u(e.target.value),placeholder:"0 11 * * 2",className:"font-mono"})}),(0,t.jsx)(T,{cronExpression:l,timeZone:r,title:"Cron preview"}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsx)(p.FormField,{label:"Backend tier",children:(0,t.jsxs)(b.NativeSelect,{value:m,onChange:e=>h(e.target.value),children:[(0,t.jsx)("option",{value:"lite",children:"lite (haiku)"}),(0,t.jsx)("option",{value:"medium",children:"medium (sonnet)"}),(0,t.jsx)("option",{value:"high",children:"high (opus)"})]})}),(0,t.jsx)(p.FormField,{label:"Max budget (USD)",children:(0,t.jsx)(g.Input,{value:y,onChange:e=>j(e.target.value),placeholder:"0.05"})})]}),(0,t.jsx)(p.FormField,{label:"Description (optional)",children:(0,t.jsx)("textarea",{value:v,onChange:e=>k(e.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"})}),N&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:N}),(0,t.jsxs)(f.DialogFooter,{children:[(0,t.jsx)(x.Button,{type:"button",variant:"ghost",onClick:()=>s(!1),children:"Cancel"}),(0,t.jsx)(x.Button,{type:"submit",disabled:S.isPending,children:S.isPending?"Creating…":"Create"})]})]})]})})}e.s(["default",0,function(){let[e,r]=(0,n.useState)({kind:"builtin",stem:"_index"}),[s,i]=(0,n.useState)(!1),a=(0,u.useConfig)(),o=(a.data?.timezone&&a.data.timezone.length>0?a.data.timezone:Intl.DateTimeFormat().resolvedOptions().timeZone)||"UTC";return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(y.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,t.jsxs)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-[280px_minmax(0,1fr)]",children:[(0,t.jsx)(z,{selection:e,onSelect:r,onCreateClick:()=>i(!0)}),(0,t.jsx)(E,{selection:e,timezone:o,onDeleted:()=>r({kind:"builtin",stem:"_index"})})]}),s&&(0,t.jsx)(B,{open:!0,timeZone:o,onOpenChange:i,onCreated:e=>{r({kind:"custom",slug:e}),i(!1)}})]})}],93909)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,52387,e=>{"use strict";let t=(0,e.i(77379).default)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",0,t],52387)},76176,e=>{"use strict";e.i(18446);var t=e.i(38082);let a={claude:"Claude Code",codex:"OpenAI Codex",gemini:"Gemini CLI",opencode:"OpenCode"},n=new Set(["opencode"]);function s(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."}},r={claude:"Claude",codex:"Codex",gemini:"Gemini",opencode:"OpenCode"},l={claude:["#7C2D12","#B54B2D","#E15B40","#F97316","#FDBA74"],codex:["#86198F","#A21CAF","#D946EF","#E879F9","#F5D0FE"],gemini:["#1E3A8A","#1D4ED8","#1C69FF","#60A5FA","#93C5FD"],opencode:["#7C2D12","#C2410C","#FF7300","#F59E0B","#FCD34D"]},o=["#6b7280","#9ca3af","#4b5563","#374151"],c={claude:"orange",codex:"pink",gemini:"blue",opencode:"orange"},d={"routine.morning_routine":"Morning Routine","routine.evening_review":"Evening Review","routine.weekly_review":"Weekly Review","routine.monthly_review":"Monthly Review","routine.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 a=[];for(let[e,n]of Object.entries(t))n&&"object"==typeof n&&a.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 a.sort((e,t)=>t.costUsd-e.costUsd)}function h(e){if(!e)return null;let t=e.toLowerCase();return/^[a-z0-9_.-]+\/[a-z0-9_.-]+/.test(t)?"opencode":t.includes("claude")||t.includes("sonnet")||t.includes("opus")||t.includes("haiku")?"claude":t.includes("gemini")?"gemini":t.includes("gpt")||t.includes("codex")||t.includes("o3")||t.includes("o4")?"codex":null}e.s(["BACKEND_BADGE_VARIANTS",0,c,"BACKEND_COLORS",0,{claude:"#E15B40",codex:"#D946EF",gemini:"#1C69FF",opencode:"#FF7300"},"BACKEND_LABELS",0,a,"BACKEND_PROVIDER_LABELS",0,{claude:"Claude (Anthropic)",codex:"ChatGPT (OpenAI)",gemini:"Gemini (Google)",opencode:"OpenCode (sst/opencode)"},"BACKEND_PROVIDER_SHORT",0,{claude:"Claude",codex:"ChatGPT",gemini:"Gemini",opencode:"OpenCode"},"BACKEND_WEB_SEARCH_DESCRIPTIONS",0,{claude:"Lets the agent call Anthropic's built-in WebSearch tool.",codex:"Lets the agent call OpenAI's web_search tool. Works in safe (sandbox) mode — the tool runs at OpenAI, not as a local shell command.",gemini:"Lets the agent call Gemini's google_web_search tool.",opencode:"Lets the agent call the configured OpenCode provider's web-search tool when the OpenCode runtime is enabled."},"CHART_CATEGORY_PALETTE",0,["#3b82f6","#10b981","#f59e0b","#8b5cf6","#ec4899","#14b8a6","#f97316","#6366f1","#ef4444","#22c55e"],"UI_PREVIEW_ONLY_BADGE_SUFFIX",0," (coming soon)","UI_PREVIEW_ONLY_REASON",0,"Coming soon — OpenCode is wired internally but not yet ready for selection in this release. The card stays visible so you can see what is on the roadmap.","assignModelColors",0,function(e){let t=new Map;for(let a of e){if(!a)continue;let e=h(a)??"other",n=t.get(e)??[];n.push(a),t.set(e,n)}let a={};for(let[e,n]of t){n.sort((e,t)=>e.localeCompare(t));let t="other"===e?o:l[e],s=n.length;n.forEach((e,n)=>{let i;i=s>=t.length?n%t.length:1===s?Math.floor(t.length/2):Math.floor((n+.5)*t.length/s),a[e]=t[i]})}return a},"detectBackendFromModel",0,h,"formatModelName",0,function(e){return e?e.replace(/^[a-z0-9_.-]+\//i,"").replace(/^claude-/,"Claude ").replace(/^gpt-/,"GPT-").replace(/^gemini-/,"Gemini ").replace(/-/g," ").replace(/\bpreview\b/gi,"(preview)").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\bcodex\b/gi,"Codex").replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\s+/g," ").trim():"Not set"},"formatShortModelName",0,function(e){if(!e)return"unknown";if("opus"===e)return"Opus";if("sonnet"===e)return"Sonnet";let t=e.replace(/^[a-z0-9_.-]+\//i,""),a=t.replace(/-\d{8,}$/,"").replace(/^claude-/,"").replace(/(\d+)-(\d+)(?![-\d])/g,"$1.$2").replace(/-/g," ");return t.startsWith("gpt-")&&(a=`GPT-${a.replace(/^gpt\s*/i,"")}`),t.startsWith("gemini-")&&(a=a.replace(/^gemini\s*/i,"Gemini ")),a.replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\s+/g," ").trim()},"getBackendDeprecation",0,function(e){return i[e]??null},"getBackendLabel",0,function(e){return a[e]},"getBackendShortLabel",0,function(e){return r[e]},"getProcessGroup",0,function(e){return e.startsWith("wiki.")?"Wiki":e.startsWith("message.")||e.startsWith("dashboard.")?"Conversation":e.startsWith("routine.")?"Routines":e.startsWith("git.")||e.startsWith("github.")?"Git & GitHub":e.startsWith("calendar.")||"gmail_classify"===e?"Integrations":"Tasks"},"getProcessLabel",0,function(e){return d[e]??e},"isBackendSelectionDisabled",0,function(e){return!(0,t.isRuntimeAvailableBackendId)(e)||s(e)},"isUiPreviewOnlyBackend",0,s,"modelBadgeVariant",0,function(e){if(!e)return"gray";let t=h(e);return t?c[t]:"gray"},"parseModelUsage",0,u,"pickDisplayModel",0,function(e,t){let a=u(t);return a.length>0&&a[0]?a[0].modelId:e??null}])},99758,e=>{"use strict";let t=(0,e.i(77379).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],99758)},24756,e=>{"use strict";var t=e.i(14260),a=e.i(65268);e.s(["useBackends",0,function(e){return(0,t.useQuery)({queryKey:["backends"],queryFn:()=>a.api.get("/backends"),enabled:e?.enabled??!0,staleTime:6e4})}])},74490,e=>{"use strict";var t=e.i(54710),a=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:s,interactive:i,...r}){return(0,t.jsx)("div",{className:(0,a.cn)(n({tone:s,interactive:i}),e),...r})},"CardHeader",0,function({className:e,...n}){return(0,t.jsx)("div",{className:(0,a.cn)("mb-3 flex items-center justify-between",e),...n})},"CardStatLabel",0,function({className:e,...n}){return(0,t.jsx)("h3",{className:(0,a.cn)("text-sm font-medium text-muted-foreground",e),...n})},"CardTitle",0,function({className:e,...n}){return(0,t.jsx)("h3",{className:(0,a.cn)("text-lg font-semibold text-foreground",e),...n})},"CardValue",0,function({className:e,...n}){return(0,t.jsx)("div",{className:(0,a.cn)("text-3xl font-bold text-foreground",e),...n})}])},90925,e=>{"use strict";let t=(0,e.i(77379).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",0,t],90925)},21682,e=>{"use strict";let t=(0,e.i(77379).default)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],21682)},7663,e=>{"use strict";let t=(0,e.i(77379).default)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["Save",0,t],7663)},59134,e=>{"use strict";let t=(0,e.i(77379).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],59134)},70986,e=>{"use strict";var t=e.i(34416),a=e.i(91967),n=e.i(9413),s=e.i(36567),i=e.i(18731),r=e.i(22353),l=e.i(85565),o=e.i(90816),c=e.i(11207),d=e.i(54710),u="Collapsible",[h,m]=(0,n.createContextScope)(u),[p,x]=h(u),g=t.forwardRef((e,a)=>{let{__scopeCollapsible:n,open:i,defaultOpen:r,disabled:o,onOpenChange:h,...m}=e,[x,g]=(0,s.useControllableState)({prop:i,defaultProp:r??!1,onChange:h,caller:u});return(0,d.jsx)(p,{scope:n,disabled:o,contentId:(0,c.useId)(),open:x,onOpenToggle:t.useCallback(()=>g(e=>!e),[g]),children:(0,d.jsx)(l.Primitive.div,{"data-state":k(x),"data-disabled":o?"":void 0,...m,ref:a})})});g.displayName=u;var f="CollapsibleTrigger",b=t.forwardRef((e,t)=>{let{__scopeCollapsible:n,...s}=e,i=x(f,n);return(0,d.jsx)(l.Primitive.button,{type:"button","aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":k(i.open),"data-disabled":i.disabled?"":void 0,disabled:i.disabled,...s,ref:t,onClick:(0,a.composeEventHandlers)(e.onClick,i.onOpenToggle)})});b.displayName=f;var y="CollapsibleContent",v=t.forwardRef((e,t)=>{let{forceMount:a,...n}=e,s=x(y,e.__scopeCollapsible);return(0,d.jsx)(o.Presence,{present:a||s.open,children:({present:e})=>(0,d.jsx)(j,{...n,ref:t,present:e})})});v.displayName=y;var j=t.forwardRef((e,a)=>{let{__scopeCollapsible:n,present:s,children:o,...c}=e,u=x(y,n),[h,m]=t.useState(s),p=t.useRef(null),g=(0,r.useComposedRefs)(a,p),f=t.useRef(0),b=f.current,v=t.useRef(0),j=v.current,w=u.open||h,N=t.useRef(w),C=t.useRef(void 0);return t.useEffect(()=>{let e=requestAnimationFrame(()=>N.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,i.useLayoutEffect)(()=>{let e=p.current;if(e){C.current=C.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();f.current=t.height,v.current=t.width,N.current||(e.style.transitionDuration=C.current.transitionDuration,e.style.animationName=C.current.animationName),m(s)}},[u.open,s]),(0,d.jsx)(l.Primitive.div,{"data-state":k(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!w,...c,ref:g,style:{"--radix-collapsible-content-height":b?`${b}px`:void 0,"--radix-collapsible-content-width":j?`${j}px`:void 0,...e.style},children:w&&o})});function k(e){return e?"open":"closed"}e.s(["Collapsible",0,g,"CollapsibleContent",0,v,"CollapsibleTrigger",0,b],70986)},87040,e=>{"use strict";var t=e.i(14260),a=e.i(65268);e.s(["useProcessConfig",0,function(e){return(0,t.useQuery)({queryKey:["process-config"],queryFn:()=>a.api.get("/process-config"),enabled:e?.enabled??!0,staleTime:6e4})}])},85631,e=>{"use strict";var t=e.i(54710),a=e.i(81471);e.s(["ConnectionsSectionHeader",0,function({title:e,description:n,healthy:s,total:i,attention:r,actions:l}){let o=i>0&&s===i,c=i>0&&0===s;return(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:e}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[i>0&&(0,t.jsxs)("span",{className:(0,a.cn)("text-xs font-medium tabular-nums",o?"text-emerald-600 dark:text-emerald-400":c?"text-muted-foreground":"text-amber-600 dark:text-amber-400"),children:[s,"/",i," connected"]}),l]})]}),n&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:n}),r&&(0,t.jsx)("p",{className:"text-xs text-amber-600 dark:text-amber-400",children:r})]})}])},40974,e=>{"use strict";let t=(0,e.i(77379).default)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);e.s(["Lock",0,t],40974)},75750,e=>{"use strict";let t=(0,e.i(77379).default)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",0,t],75750)},67490,e=>{"use strict";var t=e.i(14260),a=e.i(57415),n=e.i(95486),s=e.i(65268);e.s(["useIntegrationProbeLive",0,function(){let e=(0,n.useQueryClient)();return(0,a.useMutation)({mutationFn:e=>{let{key:t}=e,a={};return"liveProbe"in e?(a.liveProbe=!0,e.backend&&(a.backend=e.backend)):(a.backend=e.backend,a.tools=e.tools),s.api.post(`/integrations/${t}/probe`,a)},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:["integration-probe",a.key]}),e.invalidateQueries({queryKey:["health"]})}})},"useIntegrations",0,function(){return(0,t.useQuery)({queryKey:["integrations"],queryFn:()=>s.api.get("/integrations"),staleTime:3e4})},"useNativeUnboundActions",0,function(e={}){let a=e.sinceHours??168;return(0,t.useQuery)({queryKey:["agent-actions","native_unbound",a],queryFn:async()=>{let e=new URLSearchParams({since:new Date(Date.now()-60*a*6e4).toISOString(),limit:"50"});e.append("kind","integration.native_unbound");let t=await s.api.get(`/agent/actions?${e.toString()}`),n=[];for(let e of t.actions)if(e.detail)try{let t=JSON.parse(e.detail);if("string"!=typeof t.key)continue;n.push({id:e.id,key:t.key,priorNativeBackend:t.priorNativeBackend??null,newMainBackend:t.newMainBackend??null,priorDeniedTools:t.priorDeniedTools??[],startedAt:e.startedAt})}catch{continue}return n},staleTime:6e4})},"usePatchIntegration",0,function(){let e=(0,n.useQueryClient)();return(0,a.useMutation)({mutationFn:({key:e,body:t})=>s.api.patch(`/integrations/${e}`,t),onSuccess:()=>{e.invalidateQueries({queryKey:["integrations"]}),e.invalidateQueries({queryKey:["health"]})}})},"useProxyModels",0,function(e){return(0,t.useQuery)({queryKey:["proxy-models",e??null],queryFn:()=>s.api.get(`/integrations/proxy-models/${e}`),enabled:null!=e,staleTime:6e4})},"useRecentProxyCalls",0,function(e,a={}){let{limit:n,enabled:i=!0}=a;return(0,t.useQuery)({queryKey:["recent-proxy-calls",e,n??null],queryFn:()=>{let t=void 0!==n?`?limit=${n}`:"";return s.api.get(`/integrations/${e}/recent-proxy-calls${t}`)},enabled:i&&null!==e,staleTime:1e4})}])},32220,e=>{"use strict";var t=e.i(54710),a=e.i(34416),n=e.i(95486),s=e.i(19660),i=e.i(72740),r=e.i(21682),l=e.i(7663),o=e.i(75750),c=e.i(74490),d=e.i(20014),u=e.i(48467),h=e.i(79634),m=e.i(10427),p=e.i(65268),x=e.i(24756),g=e.i(87040),f=e.i(76176);e.s(["ProcessModelCard",0,function({processKey:e,title:b="AI Model",description:y}){let v=(0,n.useQueryClient)(),{data:j}=(0,x.useBackends)(),{data:k}=(0,g.useProcessConfig)(),[w,N]=(0,a.useState)(!1),[C,A]=(0,a.useState)(null),[S,I]=(0,a.useState)(null),[E,M]=(0,a.useState)(!1),[T,F]=(0,a.useState)(null),R=k?.configs.find(t=>t.processKey===e),_=new Map((j?.backends??[]).map(e=>[e.id,e])),B=(j?.backends??[]).filter(e=>e.enabled);if(!j||!k||!R)return null;let D=_.get(R.mainBackend),O=D?.models.find(e=>e.modelId===R.mainModel)?.label??(0,f.formatModelName)(R.mainModel),P=C?_.get(C):null,L=P?.models??[];async function G(){if(C&&S){M(!0),F(null);try{await p.api.put(`/process-config/${e}`,{mainBackend:C,mainModel:S,fallbackBackend:R.fallbackBackend,fallbackModel:R.fallbackModel,maxTurns:R.maxTurns,maxBudgetUsd:R.maxBudgetUsd}),await v.invalidateQueries({queryKey:["process-config"]}),F({type:"success",message:"Saved"}),N(!1)}catch(t){let e=t instanceof p.ApiError?t.body:null;F({type:"error",message:"string"==typeof e?.error?e.error:t instanceof Error?t.message:"Save failed"})}finally{M(!1)}}}return(0,t.jsxs)(c.Card,{children:[(0,t.jsxs)(c.CardHeader,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(s.Bot,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)(c.CardTitle,{className:"text-base",children:b}),"user"===R.updatedBy&&(0,t.jsx)(u.Badge,{variant:"blue",className:"text-xs",children:"Custom"})]}),!w&&(0,t.jsxs)(d.Button,{variant:"ghost",size:"sm",onClick:function(){A(R.mainBackend),I(R.mainModel),F(null),N(!0)},className:"h-8",children:[(0,t.jsx)(r.Pencil,{className:"h-3.5 w-3.5"}),"Edit"]})]}),!w&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,t.jsx)(u.Badge,{variant:f.BACKEND_BADGE_VARIANTS[R.mainBackend],children:(0,f.getBackendLabel)(R.mainBackend)}),(0,t.jsx)("span",{className:"text-muted-foreground",children:O}),(0,t.jsx)(u.Badge,{variant:"high"===R.defaultTier?"purple":"medium"===R.defaultTier?"blue":"default",className:"text-xs",children:R.defaultTier})]}),y&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:y})]}),w&&(0,t.jsxs)("div",{className:"mt-1 space-y-3",children:[(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Backend"}),(0,t.jsxs)(m.Select,{value:C??"",onValueChange:e=>(function(e){var t,a;let n,s=_.get(e);if(!s)return;A(e);let i=(t=s.models,a=R.defaultTier,(n=t.filter(e=>e.tier===a)).length>0?n:t);I(i[0]?.modelId??s.models[0]?.modelId??"")})(e),children:[(0,t.jsx)(m.SelectTrigger,{children:(0,t.jsx)(m.SelectValue,{})}),(0,t.jsx)(m.SelectContent,{children:B.map(e=>{let a=(0,f.isUiPreviewOnlyBackend)(e.id);return(0,t.jsxs)(m.SelectItem,{value:e.id,disabled:a,children:[(0,f.getBackendLabel)(e.id),a?f.UI_PREVIEW_ONLY_BADGE_SUFFIX:""]},e.id)})})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Model"}),(0,t.jsxs)(m.Select,{value:S??"",onValueChange:e=>I(e),children:[(0,t.jsx)(m.SelectTrigger,{children:(0,t.jsx)(m.SelectValue,{})}),(0,t.jsx)(m.SelectContent,{children:L.map(e=>(0,t.jsx)(m.SelectItem,{value:e.modelId,children:e.label},e.modelId))})]})]})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsxs)(d.Button,{variant:"outline",size:"sm",onClick:function(){N(!1),A(null),I(null)},disabled:E,children:[(0,t.jsx)(o.XCircle,{className:"h-3.5 w-3.5"}),"Cancel"]}),(0,t.jsxs)(d.Button,{size:"sm",onClick:()=>{G()},disabled:E||!S,children:[E?(0,t.jsx)(i.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(l.Save,{className:"h-3.5 w-3.5"}),"Save"]})]})]}),T&&(0,t.jsx)(h.Alert,{variant:"success"===T.type?"success":"error",className:"mt-3",children:T.message})]})}])},86567,6423,86704,29472,e=>{"use strict";var t=e.i(54710),a=e.i(34416),n=e.i(45958),s=e.i(52387),i=e.i(20014),r=e.i(90826),l=e.i(81187),o=e.i(89883),c=e.i(90925),d=e.i(65268),u=e.i(8652),h=e.i(48467),m=e.i(79634),p=e.i(81471),x=e.i(14260),g=e.i(95486);function f(e,t){return(0,x.useQuery)({queryKey:["mail-health",e],queryFn:()=>d.api.get(`/mail/${encodeURIComponent(e)}/health`),refetchInterval:1e4,enabled:t})}function b(){let e=(0,g.useQueryClient)();return()=>{e.invalidateQueries({queryKey:["mail-providers"]}),e.invalidateQueries({queryKey:["mail-accounts"]}),e.invalidateQueries({queryKey:["mail-health"]})}}async function y(e,t,a){let n=new Set(e);a?n.add(t):n.delete(t);let s=["gmail","outlook","yahoo","icloud"].filter(e=>n.has(e));return await d.api.patch("/mail/providers",{enabledKinds:s}),s}e.s(["toggleProviderEnabled",0,y,"useInvalidateMail",0,b,"useMailAccountHealth",0,f,"useMailAccounts",0,function(){return(0,x.useQuery)({queryKey:["mail-accounts"],queryFn:()=>d.api.get("/mail/accounts"),refetchInterval:1e4})},"useMailProviders",0,function(){return(0,x.useQuery)({queryKey:["mail-providers"],queryFn:()=>d.api.get("/mail/providers"),refetchInterval:3e4})}],6423);let v={healthy:{variant:"green",label:"Healthy"},requires_consent:{variant:"amber",label:"Re-authenticate"},degraded:{variant:"red",label:"Degraded"}};function j({account:e,highlight:n=!1,hideActive:s=!1,hideHealth:l=!1,onReauthenticate:u,isLastOfKind:p=!1,onAfterRemove:x}){let g=(0,a.useRef)(null),y=(0,r.useConfirm)(),N=b(),[C,A]=(0,a.useState)(!1),[S,I]=(0,a.useState)(null);(0,a.useEffect)(()=>{n&&g.current&&g.current.scrollIntoView({behavior:"smooth",block:"center"})},[n]);let E=f(e.id,!l).data??null,M="yahoo"===e.kind||"icloud"===e.kind,[T,F]=(0,a.useState)(!1),R=async()=>{I(null),A(!0);try{await d.api.patch(`/mail/accounts/${encodeURIComponent(e.id)}`,{active:!e.active}),N()}catch(e){I(e instanceof Error?e.message:"Failed to update")}finally{A(!1)}},_=async()=>{if(await y({title:`Remove ${e.email}?`,description:"Local credentials are revoked and the account is removed from this app. The mailbox itself is untouched at the provider."+(p?" This is the last account of its kind, so the provider will also be disabled — re-authenticate and toggle Enable to bring it back.":""),confirmLabel:"Remove",variant:"destructive"})){I(null),A(!0);try{await d.api.delete(`/mail/accounts/${encodeURIComponent(e.id)}`),x&&await x(),N()}catch(e){I(e instanceof Error?e.message:"Failed to remove")}finally{A(!1)}}},B=v[e.authStatus],D=l||!e.idleEnabled?null:E?.idleFallbackUntilUtc?{label:"polling (IDLE down)",variant:"amber"}:{label:"IDLE",variant:"green"};return(0,t.jsxs)("div",{ref:g,id:`account-${e.id}`,className:"rounded-md border p-3 transition-colors "+(n?"border-amber-400 ring-1 ring-amber-300/60":"border-border"),children:[(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)(o.Mail,{className:"mt-0.5 h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-foreground truncate",children:e.email}),e.label&&(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",e.label,")"]}),(0,t.jsx)(h.Badge,{variant:B.variant,children:B.label}),D&&(0,t.jsx)(h.Badge,{variant:D.variant,children:D.label})]}),!l&&(0,t.jsx)(w,{health:E})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[!s&&(0,t.jsxs)("label",{className:"flex items-center gap-1 text-xs cursor-pointer select-none",children:[(0,t.jsx)("input",{type:"checkbox",checked:e.active,disabled:C,onChange:()=>void R(),className:"h-3.5 w-3.5 rounded border-border"}),"Active"]}),"requires_consent"===e.authStatus&&(M?(0,t.jsx)(i.Button,{size:"sm",variant:"outline",disabled:C,onClick:()=>F(e=>!e),className:"h-7 text-xs px-2",children:T?"Cancel":"Re-authenticate"}):u&&(0,t.jsx)(i.Button,{size:"sm",variant:"outline",disabled:C,onClick:()=>void u(),className:"h-7 text-xs px-2",children:"Re-authenticate"})),(0,t.jsx)(i.Button,{size:"sm",variant:"outline",onClick:()=>void _(),disabled:C,className:"h-7 px-2",title:"Remove account",children:(0,t.jsx)(c.Trash2,{className:"h-3.5 w-3.5"})})]})]}),S&&(0,t.jsx)(m.Alert,{variant:"error",className:"mt-2",children:S}),M&&T&&(0,t.jsx)(k,{accountId:e.id,onSuccess:()=>{F(!1),N()}})]})}function k({accountId:e,onSuccess:n}){let[s,r]=(0,a.useState)(""),[l,o]=(0,a.useState)(!1),[c,h]=(0,a.useState)(null),p=async()=>{o(!0),h(null);try{await d.api.post(`/config/mail/app-password/${encodeURIComponent(e)}/refresh`,{appPassword:s.trim()}),r(""),n()}catch(e){h(e instanceof Error?e.message:"Failed to refresh")}finally{o(!1)}};return(0,t.jsxs)("div",{className:"mt-2 rounded-md border border-amber-200 bg-amber-50/50 p-3 dark:border-amber-900 dark:bg-amber-950/30 space-y-2",children:[(0,t.jsx)("p",{className:"text-xs text-foreground",children:"Generate a new app password at the provider, paste it here, and the daemon will swap it in place — the polling cursor and account ID stay intact."}),(0,t.jsx)(u.Input,{type:"password",value:s,onChange:e=>r(e.target.value),placeholder:"paste new app password",className:"h-8 text-xs"}),(0,t.jsx)("div",{className:"flex gap-2",children:(0,t.jsx)(i.Button,{size:"sm",onClick:()=>void p(),disabled:l||0===s.trim().length,className:"h-7 text-xs px-3",children:l?"Verifying…":"Update password"})}),c&&(0,t.jsx)(m.Alert,{variant:"error",children:c})]})}function w({health:e}){if(!e)return(0,t.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:"Waiting for first poll…"});let a=e.lastPollAtUtc,n=null!=a&&Date.now()-(0,p.parseUtcDate)(a).getTime()>9e5;return(0,t.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-muted-foreground",children:[(0,t.jsxs)("span",{children:["last poll:"," ",a?(0,t.jsxs)("span",{title:(0,p.formatAbsoluteTime)(a),className:n?"text-amber-600 dark:text-amber-400":void 0,children:[(0,p.formatRelativeTime)(a),n?" · stale":""]}):(0,t.jsx)("span",{children:"never"})]}),e.consecutiveErrorCount>0&&(0,t.jsxs)("span",{className:"text-amber-600 dark:text-amber-400",children:[e.consecutiveErrorCount," consecutive errors"]}),e.lastError&&(0,t.jsxs)("span",{className:"flex items-center gap-1 text-red-600 dark:text-red-400 max-w-full truncate",title:e.lastError,children:[(0,t.jsx)(l.AlertTriangle,{className:"h-3 w-3 shrink-0"}),e.lastError]})]})}var N=e.i(74490),C=e.i(57628);let A={"not-connected":{variant:"gray",label:"Not connected"},"needs-setup":{variant:"gray",label:"Needs setup"},disabled:{variant:"amber",label:"Ready to enable"},enabled:{variant:"green",label:"Enabled"},attention:{variant:"red",label:"Needs attention"}};function S(e){return e.accounts.some(e=>"healthy"!==e.authStatus)?"attention":0===e.accounts.length?e.awaitingProviderSetup?"needs-setup":"not-connected":e.enabled?"enabled":"disabled"}function I(e){let a=A[e.status],n="attention"===e.status?"warning":"enabled"===e.status?"success":"default";return(0,t.jsxs)(N.Card,{tone:n,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)(o.Mail,{className:"h-4 w-4 text-muted-foreground shrink-0"}),(0,t.jsx)("h3",{className:"text-base font-semibold text-foreground truncate",children:e.name})]}),(0,t.jsx)(h.Badge,{variant:a.variant,children:a.label})]}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e.description}),(0,t.jsx)("div",{className:"mt-3 space-y-3",children:e.setupSection}),e.accountsSection&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(C.Separator,{className:"my-4"}),(0,t.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground mb-2",children:"Authenticated accounts"}),(0,t.jsx)("div",{className:"space-y-2",children:e.accountsSection})]}),(0,t.jsx)(C.Separator,{className:"my-4"}),(0,t.jsx)(E,{toggle:e.enableToggle})]})}function E({toggle:e}){let[n,s]=(0,a.useState)(null),i=async t=>{s(null);try{await e.onChange(t)}catch(e){s(e instanceof Error?e.message:"Failed to update")}};return(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm select-none "+(e.disabled||e.busy?"cursor-not-allowed opacity-60":"cursor-pointer"),title:e.disabled?e.disabledReason:void 0,children:[(0,t.jsx)("input",{type:"checkbox",checked:e.enabled,disabled:e.disabled||e.busy,onChange:e=>void i(e.target.checked),className:"h-4 w-4 rounded border-border"}),(0,t.jsx)("span",{className:"font-medium text-foreground",children:"Enable for the agent"}),e.busy&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"saving…"})]}),e.disabled&&e.disabledReason&&(0,t.jsx)("p",{className:"mt-1 ml-6 text-xs text-muted-foreground",children:e.disabledReason}),!e.disabled&&e.explainer&&(0,t.jsx)("p",{className:"mt-1 ml-6 text-xs text-muted-foreground",children:e.explainer}),n&&(0,t.jsx)(m.Alert,{variant:"error",className:"mt-2",children:n})]})}e.s(["GmailCard",0,function({accounts:e,enabledKinds:l,focusAccountId:o,hideExternalGoogleLink:c=!1}){let d=b(),u=(0,r.useConfirm)(),[h,m]=(0,a.useState)(!1),p=l.includes("gmail"),x=S({accounts:e,enabled:p}),g=async e=>{if(e||await u({title:"Disable Gmail for the agent?",description:"This stops the unified mail poller from observing Gmail — receipts, travel bookings, and Kindle highlights will not be classified until you re-enable Gmail. Tokens stay in the keychain and the integration resumes the moment you flip the switch back on.",confirmLabel:"Disable Gmail",variant:"destructive"})){m(!0);try{await y(l,"gmail",e),d()}finally{m(!1)}}};return(0,t.jsx)(I,{name:"Gmail / Google Workspace",description:(0,t.jsx)(t.Fragment,{children:"Authenticated through your existing Google connection (it is shared with Calendar). Manage Google OAuth on the Connections page."}),status:x,setupSection:0===e.length?(0,t.jsxs)("div",{className:"rounded-md border border-dashed border-border p-3 text-xs",children:[(0,t.jsx)("p",{className:"text-foreground font-medium mb-1",children:"No Gmail account connected yet."}),(0,t.jsx)("p",{className:"text-muted-foreground mb-2",children:c?"Switch the Mode above to Direct and complete the Google connection step on this page — the daemon detects your Gmail address from the OAuth response and registers it here.":"Authenticate Google in Connections — the daemon detects your Gmail address from the OAuth response and registers it here."}),!c&&(0,t.jsx)(n.default,{href:"/connections/calendar#google",children:(0,t.jsxs)(i.Button,{size:"sm",variant:"outline",className:"h-7 text-xs px-3",children:["Open Google connection",(0,t.jsx)(s.ExternalLink,{className:"ml-1 h-3 w-3"})]})})]}):c?null:(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Re-authentication, scope changes, or revoking access live on the"," ",(0,t.jsx)(n.default,{href:"/connections/calendar#google",className:"underline underline-offset-2",children:"Google connection card"}),"."]}),accountsSection:e.length>0?e.map(a=>(0,t.jsx)(j,{account:a,highlight:o===a.id,hideActive:!0,hideHealth:!0,isLastOfKind:1===e.length,onAfterRemove:async()=>{1===e.length&&p&&await y(l,"gmail",!1)}},a.id)):void 0,enableToggle:{enabled:p,disabled:0===e.length,disabledReason:0===e.length?"Connect a Google account first.":void 0,busy:h,onChange:g,explainer:"When enabled, the legacy Gmail poller observes your inbox and the agent can read, draft, and send messages."}})}],86567),e.i(18446);var M=e.i(49445);function T({index:e,title:a,completed:n=!1,disabled:s=!1,children:i}){return(0,t.jsxs)("div",{className:"rounded-md border border-dashed p-3 "+(s?"border-border opacity-50":n?"border-emerald-300 dark:border-emerald-800":"border-border"),children:[(0,t.jsxs)("p",{className:"text-xs font-semibold text-foreground mb-2",children:["Step ",e,": ",a,n&&(0,t.jsx)("span",{className:"ml-2 text-emerald-600 dark:text-emerald-400",children:"✓"})]}),i]})}e.s(["OutlookCard",0,function({accounts:e,enabledKinds:n,focusAccountId:l}){let o=b(),c=(0,r.useConfirm)(),h=n.includes("outlook"),p=(0,x.useQuery)({queryKey:["outlook-client-config"],queryFn:()=>d.api.get("/config/mail/outlook/client-config"),staleTime:3e4}),g=p.data?.configured===!0,f=S({accounts:e,enabled:h,awaitingProviderSetup:!g}),[v,k]=(0,a.useState)(!1),[w,N]=(0,a.useState)(""),[C,A]=(0,a.useState)("common"),[E,F]=(0,a.useState)(""),[R,_]=(0,a.useState)(!1),[B,D]=(0,a.useState)(null),[O,P]=(0,a.useState)(null),[L,G]=(0,a.useState)(null),[q,K]=(0,a.useState)(!1),U=async e=>{K(!0);try{await y(n,"outlook",e),o()}finally{K(!1)}},W=async()=>{_(!0),D(null);try{await d.api.put("/config/mail/outlook/client-config",{clientId:w.trim(),tenant:C.trim()||"common"}),await p.refetch(),k(!1)}catch(e){D(e instanceof Error?e.message:"Failed to save client config")}finally{_(!1)}},z=async()=>{if(await c({title:"Reset Azure app registration?",description:"Existing Outlook accounts keep working until their tokens expire. You'll need to re-enter the client ID before adding new accounts.",confirmLabel:"Reset",variant:"destructive"})){_(!0),D(null);try{await d.api.delete("/config/mail/outlook/client-config"),await p.refetch()}catch(e){D(e instanceof Error?e.message:"Failed to reset")}finally{_(!1)}}},$=async()=>{if(await c({title:"Open Microsoft sign-in?",description:"The daemon will open your browser to sign in to Microsoft. macOS or Windows may show a one-time firewall prompt — accept it so the loopback callback can complete.",confirmLabel:"Continue"})){_(!0),D(null),P(null);try{await d.api.post("/mail/accounts",{kind:"outlook",label:E.trim()||void 0}),P("Outlook account authenticated. Toggle the switch below to start using it."),F(""),o()}catch(e){D(e instanceof Error?e.message:"OAuth failed")}finally{_(!1)}}},H=async()=>{_(!0),D(null),P(null),G(null);try{let e=await fetch("/api/mail/accounts/device-code",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({kind:"outlook",label:E.trim()||void 0})});if(!e.ok||!e.body)throw Error(`HTTP ${e.status}`);let t=e.body.getReader(),a=new TextDecoder,n="";for(;;){let{value:e,done:s}=await t.read();if(s)break;let i=(n+=a.decode(e,{stream:!0})).split("\n\n");for(let e of(n=i.pop()??"",i)){let t=e.split("\n"),a="",n="";for(let e of t)e.startsWith("event:")&&(a=e.slice(6).trim()),e.startsWith("data:")&&(n+=e.slice(5).trim());if(a){if("prompt"===a)G(JSON.parse(n));else if("completed"===a)P("Outlook account authenticated. Toggle the switch below to start using it."),G(null),F(""),o();else if("failed"===a){let e=JSON.parse(n);throw Error(e.message??"device-code failed")}}}}}catch(e){D(e instanceof Error?e.message:"Device-code OAuth failed"),G(null)}finally{_(!1)}},V=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(T,{index:1,title:"Register an Azure app (one-time)",completed:g,children:[!g&&!v&&(0,t.jsxs)("div",{className:"space-y-3 text-xs",children:[(0,t.jsxs)("p",{className:"text-muted-foreground",children:["One-time setup: you'll tell Microsoft that the ",M.APP_NAME,"daemon on your computer is allowed to read and send mail on your behalf. Follow every sub-step — two of them are easy to miss and will make sign-in fail with ",(0,t.jsx)("code",{children:"server_error"})," later."]}),(0,t.jsxs)("ol",{className:"list-decimal list-outside pl-4 space-y-2 text-muted-foreground",children:[(0,t.jsxs)("li",{children:["Open the"," ",(0,t.jsxs)("a",{href:"https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade",target:"_blank",rel:"noreferrer",className:"underline inline-flex items-center gap-0.5",children:["Azure portal — App registrations"," ",(0,t.jsx)(s.ExternalLink,{className:"h-3 w-3"})]}),". Sign in with the Microsoft account you want the agent to use."]}),(0,t.jsxs)("li",{children:["Click ",(0,t.jsx)("strong",{children:"+ New registration"})," at the top of the page."]}),(0,t.jsxs)("li",{children:["Fill in the form:",(0,t.jsxs)("ul",{className:"list-disc list-outside pl-4 mt-1 space-y-1",children:[(0,t.jsxs)("li",{children:[(0,t.jsx)("strong",{children:"Name"}),": anything, e.g. ",(0,t.jsx)("code",{children:M.APP_NAME}),"."]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("strong",{children:"Supported account types"}),": pick"," ",(0,t.jsx)("em",{children:"Accounts in any organizational directory (Any Microsoft Entra ID tenant – Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)"}),"."]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("strong",{children:"Redirect URI"}),": in the left-hand dropdown choose ",(0,t.jsx)("code",{children:"Public client/native (mobile & desktop)"})," ",(0,t.jsx)("strong",{children:"— not"})," ",(0,t.jsx)("code",{children:"Web"}),". Then type"," ",(0,t.jsx)("code",{children:"http://127.0.0.1/callback"})," in the box on the right."]})]}),(0,t.jsxs)("p",{className:"mt-1 rounded-md border border-amber-400/60 bg-amber-400/10 px-2 py-1 text-amber-700 dark:text-amber-300",children:["⚠ Trap #1: if you leave ",(0,t.jsx)("code",{children:"Web"})," selected, Microsoft will later return ",(0,t.jsx)("code",{children:"Authorization failed: server_error"}),". Use the Public client/native option."]})]}),(0,t.jsxs)("li",{children:["Click ",(0,t.jsx)("strong",{children:"Register"})," at the bottom of the form."]}),(0,t.jsxs)("li",{children:["You'll land on the ",(0,t.jsx)("em",{children:"Overview"})," page. Copy the value labelled ",(0,t.jsx)("strong",{children:"Application (client) ID"}),"— you'll paste it into the form below in a moment."]}),(0,t.jsxs)("li",{children:["In the left sidebar click ",(0,t.jsx)("strong",{children:"Authentication"}),". Scroll to the very bottom, find ",(0,t.jsx)("em",{children:"Advanced settings"})," →"," ",(0,t.jsx)("strong",{children:"Allow public client flows"}),", flip the toggle to"," ",(0,t.jsx)("strong",{children:"Yes"}),", then click ",(0,t.jsx)("strong",{children:"Save"})," at the top of the page.",(0,t.jsxs)("p",{className:"mt-1 rounded-md border border-amber-400/60 bg-amber-400/10 px-2 py-1 text-amber-700 dark:text-amber-300",children:["⚠ Trap #2: this toggle is off by default. Without it sign-in also fails with ",(0,t.jsx)("code",{children:"server_error"}),"."]})]}),(0,t.jsxs)("li",{children:["In the left sidebar click ",(0,t.jsx)("strong",{children:"API permissions"})," →"," ",(0,t.jsx)("strong",{children:"+ Add a permission"})," →"," ",(0,t.jsx)("strong",{children:"Microsoft Graph"})," →"," ",(0,t.jsx)("strong",{children:"Delegated permissions"}),". Use the search box to find and tick each of:",(0,t.jsxs)("ul",{className:"list-disc list-outside pl-4 mt-1",children:[(0,t.jsx)("li",{children:(0,t.jsx)("code",{children:"offline_access"})}),(0,t.jsx)("li",{children:(0,t.jsx)("code",{children:"User.Read"})}),(0,t.jsx)("li",{children:(0,t.jsx)("code",{children:"Mail.ReadWrite"})}),(0,t.jsx)("li",{children:(0,t.jsx)("code",{children:"Mail.Send"})})]}),"Then click ",(0,t.jsx)("strong",{children:"Add permissions"})," at the bottom."]}),(0,t.jsxs)("li",{children:["(Work/school tenant only) If your org requires admin consent for these scopes, click ",(0,t.jsx)("strong",{children:"Grant admin consent"}),". Personal Microsoft accounts don't need this step."]}),(0,t.jsxs)("li",{children:["Come back here and click ",(0,t.jsx)("strong",{children:"I have a client ID"}),". Paste the Application (client) ID you copied in step 5; leave Tenant as ",(0,t.jsx)("code",{children:"common"})," unless your admin told you otherwise."]})]}),(0,t.jsx)(i.Button,{size:"sm",variant:"outline",onClick:()=>k(!0),className:"h-7 text-xs px-3",children:"I have a client ID"})]}),v&&(0,t.jsxs)("div",{className:"space-y-2 rounded-md border border-border p-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:"outlook-client-id",children:"Application (client) ID"}),(0,t.jsx)(u.Input,{id:"outlook-client-id",value:w,onChange:e=>N(e.target.value),placeholder:"00000000-0000-0000-0000-000000000000",className:"h-8 text-xs"})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:"outlook-tenant",children:["Tenant (default ",(0,t.jsx)("code",{children:"common"}),")"]}),(0,t.jsx)(u.Input,{id:"outlook-tenant",value:C,onChange:e=>A(e.target.value),placeholder:"common / organizations / <tenant-guid>",className:"h-8 text-xs"})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(i.Button,{size:"sm",variant:"outline",onClick:()=>void W(),disabled:R||0===w.trim().length,className:"h-7 text-xs px-3",children:R?"Saving…":"Save"}),(0,t.jsx)(i.Button,{size:"sm",variant:"outline",onClick:()=>k(!1),disabled:R,className:"h-7 text-xs px-3",children:"Cancel"})]})]}),g&&!v&&(0,t.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Application ID:"," ",(0,t.jsx)("code",{className:"font-mono",children:p.data?.clientId})," ","(tenant ",(0,t.jsx)("code",{children:p.data?.tenant}),")."," ",(0,t.jsx)("button",{type:"button",className:"underline",onClick:()=>void z(),disabled:R,children:"reset"})]})]}),(0,t.jsx)(T,{index:2,title:"Authenticate an Outlook account",disabled:!g,children:g?(0,t.jsxs)("div",{className:"space-y-2 rounded-md border border-border p-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:"outlook-label",children:"Label (optional)"}),(0,t.jsx)(u.Input,{id:"outlook-label",value:E,onChange:e=>F(e.target.value),placeholder:"work, personal, …",className:"h-8 text-xs"})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(i.Button,{size:"sm",onClick:()=>void $(),disabled:R,className:"h-7 text-xs px-3",children:R?"Waiting for consent…":"Authenticate (browser)"}),(0,t.jsx)(i.Button,{size:"sm",variant:"outline",onClick:()=>void H(),disabled:R,className:"h-7 text-xs px-3",title:"Use if the daemon runs headless (SSH / WSL)",children:"Authenticate (device code)"})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"The browser flow may trigger a one-time macOS / Windows firewall prompt — accept it so the loopback callback can complete."})]}):(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Save the client ID first."})}),L&&(0,t.jsx)(m.Alert,{variant:"warning",children:(0,t.jsxs)("div",{className:"text-xs",children:["Visit"," ",(0,t.jsx)("a",{href:L.verificationUri,target:"_blank",rel:"noreferrer",className:"underline",children:L.verificationUri})," ","and enter code"," ",(0,t.jsx)("code",{className:"font-mono",children:L.userCode}),". Expires in ",Math.round(L.expiresIn/60)," min."]})}),O&&(0,t.jsx)(m.Alert,{variant:"success",children:O}),B&&(0,t.jsx)(m.Alert,{variant:"error",children:B})]});return(0,t.jsx)(I,{name:"Outlook / Microsoft 365",description:(0,t.jsx)(t.Fragment,{children:"One-time Azure app registration, then connect as many Outlook / outlook.com / Microsoft 365 accounts as you need."}),status:f,setupSection:V,accountsSection:e.length>0?e.map(a=>(0,t.jsx)(j,{account:a,highlight:l===a.id,onReauthenticate:()=>void $(),isLastOfKind:1===e.length,onAfterRemove:async()=>{1===e.length&&h&&await y(n,"outlook",!1)}},a.id)):void 0,enableToggle:{enabled:h,disabled:0===e.length,disabledReason:0===e.length?"Authenticate an Outlook account first.":void 0,busy:q,onChange:U,explainer:"When enabled, the agent observes your Outlook inbox via Microsoft Graph and can read, draft, and send messages."}})}],86704);let F={yahoo:{name:"Yahoo Mail",description:"App-password login over IMAP/SMTP. Generate the password in Yahoo Account Security, paste it once, and the daemon stores it in the OS keychain.",setupUrl:"https://login.yahoo.com/account/security",setupLabel:"Yahoo Account Security",passwordLabel:"Yahoo app password",defaultDomain:"yahoo.com",prerequisite:"Yahoo requires two-step verification on the account before it lets you create app passwords. If you haven't enabled it yet, turn it on first from the same Account Security page.",passwordSteps:[(0,t.jsxs)(t.Fragment,{children:["Open the"," ",(0,t.jsx)("strong",{children:"Yahoo Account Security"})," page and sign in with the Yahoo account you want to connect."]}),(0,t.jsxs)(t.Fragment,{children:["Scroll to ",(0,t.jsx)("strong",{children:"Other ways to sign in"})," and click"," ",(0,t.jsx)("strong",{children:"Generate and manage app passwords"}),". (If the link is missing, enable two-step verification first.)"]}),(0,t.jsxs)(t.Fragment,{children:["In the ",(0,t.jsx)("em",{children:"App name"})," field type ",(0,t.jsx)("code",{children:M.APP_NAME})," (any name works; this is just a label Yahoo shows in your account), then click ",(0,t.jsx)("strong",{children:"Generate password"}),"."]}),(0,t.jsxs)(t.Fragment,{children:["Yahoo shows a 16-character password with spaces. Copy it exactly as shown — ",(0,t.jsx)("strong",{children:"do not type it by hand"}),". Spaces are part of the password."]}),(0,t.jsx)(t.Fragment,{children:"Paste it into the password field below, then click Authenticate."})],passwordHint:"16 characters from Yahoo, spaces included. Do not retype — paste."},icloud:{name:"iCloud Mail",description:"App-specific-password login over IMAP/SMTP. Create the password in Apple Account → Sign-In and Security, paste it once, and the daemon stores it in the OS keychain.",setupUrl:"https://account.apple.com",setupLabel:"Apple Account",passwordLabel:"Apple app-specific password",defaultDomain:"icloud.com",prerequisite:"Apple only allows app-specific passwords on Apple IDs that have two-factor authentication turned on. If your Apple ID doesn't have 2FA yet, enable it first at appleid.apple.com.",passwordSteps:[(0,t.jsxs)(t.Fragment,{children:["Open ",(0,t.jsx)("strong",{children:"Apple Account"})," and sign in with the Apple ID whose iCloud mailbox you want to connect."]}),(0,t.jsxs)(t.Fragment,{children:["In the left sidebar click ",(0,t.jsx)("strong",{children:"Sign-In and Security"}),", then click ",(0,t.jsx)("strong",{children:"App-Specific Passwords"}),"."]}),(0,t.jsxs)(t.Fragment,{children:["Click ",(0,t.jsx)("strong",{children:"+ Generate an app-specific password"}),". Apple may ask you to re-enter your Apple ID password."]}),(0,t.jsxs)(t.Fragment,{children:["In the label field type ",(0,t.jsx)("code",{children:M.APP_NAME})," (any name works), then click ",(0,t.jsx)("strong",{children:"Create"}),"."]}),(0,t.jsxs)(t.Fragment,{children:["Apple shows a 19-character password in the form"," ",(0,t.jsx)("code",{children:"xxxx-xxxx-xxxx-xxxx"}),". Copy it exactly —"," ",(0,t.jsx)("strong",{children:"the dashes are required"}),"."]}),(0,t.jsx)(t.Fragment,{children:"Paste it into the password field below, then click Authenticate."})],passwordHint:"Format: xxxx-xxxx-xxxx-xxxx. Dashes are required — paste, don't retype."}};e.s(["ImapCard",0,function({kind:e,accounts:n,enabledKinds:r,focusAccountId:l}){let o=b(),c=F[e],h=r.includes(e),p=S({accounts:n,enabled:h}),[x,g]=(0,a.useState)(""),[f,v]=(0,a.useState)(""),[k,w]=(0,a.useState)(""),[N,C]=(0,a.useState)(!1),[A,E]=(0,a.useState)(null),[M,T]=(0,a.useState)(null),[R,_]=(0,a.useState)(!1),B=async t=>{_(!0);try{await y(r,e,t),o()}finally{_(!1)}},D=async()=>{C(!0),E(null),T(null);try{await d.api.post("/config/mail/app-password",{kind:e,email:`${x.trim()}@${c.defaultDomain}`,appPassword:f.trim(),label:k.trim()||void 0}),T(`${c.name} authenticated. Toggle the switch below to start using it.`),g(""),v(""),w(""),o()}catch(e){E(e instanceof Error?e.message:"Failed to connect")}finally{C(!1)}},O=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"rounded-md border border-dashed border-border p-3 text-xs space-y-2",children:[(0,t.jsx)("p",{className:"text-foreground font-medium",children:"Step 1: Generate an app password"}),(0,t.jsxs)("p",{className:"text-muted-foreground",children:[c.prerequisite," ",(0,t.jsxs)("a",{href:c.setupUrl,target:"_blank",rel:"noreferrer",className:"underline inline-flex items-center gap-0.5",children:["Open ",c.setupLabel," ",(0,t.jsx)(s.ExternalLink,{className:"h-3 w-3"})]}),"."]}),(0,t.jsx)("ol",{className:"list-decimal list-outside pl-4 space-y-1 text-muted-foreground",children:c.passwordSteps.map((e,a)=>(0,t.jsx)("li",{children:e},a))})]}),(0,t.jsxs)("div",{className:"rounded-md border border-border p-3 space-y-2",children:[(0,t.jsx)("p",{className:"text-xs font-semibold text-foreground",children:"Step 2: Authenticate the account"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:`${e}-email`,children:"Account email"}),(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsx)(u.Input,{id:`${e}-email`,value:x,onChange:e=>g(e.target.value),placeholder:"username",className:"h-8 text-xs rounded-r-none"}),(0,t.jsxs)("span",{className:"inline-flex h-8 items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-xs text-muted-foreground select-none",children:["@",c.defaultDomain]})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:`${e}-app-password`,children:c.passwordLabel}),(0,t.jsx)(u.Input,{id:`${e}-app-password`,type:"password",value:f,onChange:e=>v(e.target.value),placeholder:"paste generated password",className:"h-8 text-xs"}),(0,t.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:c.passwordHint})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:`${e}-label`,children:"Label (optional)"}),(0,t.jsx)(u.Input,{id:`${e}-label`,value:k,onChange:e=>w(e.target.value),placeholder:"personal, family, …",className:"h-8 text-xs"})]}),(0,t.jsx)(i.Button,{size:"sm",onClick:()=>void D(),disabled:N||0===x.trim().length||0===f.trim().length,className:"h-7 text-xs px-3",children:N?"Authenticating…":"Authenticate"})]}),M&&(0,t.jsx)(m.Alert,{variant:"success",children:M}),A&&(0,t.jsx)(m.Alert,{variant:"error",children:A})]});return(0,t.jsx)(I,{name:c.name,description:c.description,status:p,setupSection:O,accountsSection:n.length>0?n.map(a=>(0,t.jsx)(j,{account:a,highlight:l===a.id,isLastOfKind:1===n.length,onAfterRemove:async()=>{1===n.length&&h&&await y(r,e,!1)}},a.id)):void 0,enableToggle:{enabled:h,disabled:0===n.length,disabledReason:0===n.length?`Authenticate a ${c.name} account first.`:void 0,busy:R,onChange:B,explainer:`When enabled, the agent observes your ${c.name} inbox via IMAP IDLE and can read, draft, and send messages.`}})}],29472)},91653,e=>{"use strict";var t=e.i(54710),a=e.i(34416),n=e.i(79634),s=e.i(86567),i=e.i(86704),r=e.i(29472),l=e.i(6423),o=e.i(85631),c=e.i(32077),d=e.i(32220);e.s(["default",0,function(){let e=(0,l.useMailAccounts)(),u=(0,l.useMailProviders)(),h=function(){let[e,t]=(0,a.useState)(null);return(0,a.useEffect)(()=>{let e=()=>{let e=window.location.hash.replace(/^#/,"");t(e.length>0?e:null)};return e(),window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]),e}(),m=e.data?.accounts??[],p=u.data?.enabledKinds??[],x=function(e){let t={gmail:[],outlook:[],yahoo:[],icloud:[]};for(let a of e)t[a.kind].push(a);return t}(m),g=e.isLoading||u.isLoading,f=e.error??u.error,b=m.filter(e=>e.active&&p.includes(e.kind)).length;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.ConnectionsSectionHeader,{title:"Mail",description:"Connect each mail provider in two steps: authenticate, then flip the provider's enable switch. Once enabled, the per-account Active toggle lets you mute a single mailbox without disabling the whole provider.",healthy:b,total:m.length}),f&&(0,t.jsxs)(n.Alert,{variant:"error",children:["Couldn't load mail data:"," ",f instanceof Error?f.message:"unknown error"]}),g?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading…"}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(c.IntegrationCard,{integrationKey:"gmail",gmailAccountCount:x.gmail.length}),(0,t.jsx)(d.ProcessModelCard,{processKey:"gmail_classify",title:"Gmail Classification Model",description:"Classifies each incoming Gmail message and decides how the agent should respond. Light-tier (Haiku 4.5 / gpt-5.4-mini) handles this well at low cost."}),(0,t.jsx)(s.GmailCard,{accounts:x.gmail,enabledKinds:p,focusAccountId:h}),(0,t.jsx)(c.IntegrationCard,{integrationKey:"outlook_mail"}),(0,t.jsx)(i.OutlookCard,{accounts:x.outlook,enabledKinds:p,focusAccountId:h}),(0,t.jsx)(r.ImapCard,{kind:"yahoo",accounts:x.yahoo,enabledKinds:p,focusAccountId:h}),(0,t.jsx)(r.ImapCard,{kind:"icloud",accounts:x.icloud,enabledKinds:p,focusAccountId:h})]})]})}])}]);
@@ -1 +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:s,icon:n,badge:i,actions:a,children:u,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:[n&&(0,t.jsx)(n,{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})]}),s&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:s}),u]})}])},50862,e=>{"use strict";var t=e.i(54710),r=e.i(81471);e.s(["EmptyState",0,function({icon:e,title:s,description:n,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:s}),n&&(0,t.jsx)("p",{className:"mt-1 max-w-prose text-xs text-muted-foreground/70",children:n}),a]})}])},49785,e=>{"use strict";var t=e.i(54710),r=e.i(63991),s=e.i(72740),n=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)(s.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})})}function u({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)(n.Button,{variant:"outline",size:"sm",onClick:s,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:s,onRetry:n,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)(u,{error:s,onRetry:n})}):(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),s=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:s}=e,n=super.createResult(e,t),{isFetching:i,isRefetching:a,isError:u,isRefetchError:l}=n,c=s.fetchMeta?.fetchMore?.direction,d=u&&"forward"===c,o=i&&"forward"===c,m=u&&"backward"===c,x=i&&"backward"===c;return{...n,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,r.hasNextPage)(t,s.data),hasPreviousPage:(0,r.hasPreviousPage)(t,s.data),isFetchNextPageError:d,isFetchingNextPage:o,isFetchPreviousPageError:m,isFetchingPreviousPage:x,isRefetchError:l&&!d&&!m,isRefetching:a&&!o&&!x}}},n=e.i(98757);e.s(["useInfiniteQuery",0,function(e,t){return(0,n.useBaseQuery)(e,s,t)}],75540)},69986,55606,e=>{"use strict";var t=e.i(34416),r=e.i(75540),s=e.i(57415),n=e.i(14260),i=e.i(95486),a=e.i(65268),u=e.i(68894);let l=["agents"];function c(e){return["agents","detail",e]}e.s(["useAgent",0,function(e){return(0,n.useQuery)({queryKey:c(e??""),queryFn:()=>a.api.get(`/agents/${e}`),enabled:!!e})},"useAgentExecutionsInfinite",0,function(e,t){return(0,r.useInfiniteQuery)({queryKey:["agents","executions-page",e??"",t??{}],queryFn:({pageParam:r})=>a.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,u.useSSE)(),r=(0,i.useQueryClient)();(0,t.useEffect)(()=>e(e=>{let t=e.kind;if("string"!=typeof t||!t.startsWith("agent."))return;let s=e.slug;"string"==typeof s&&(r.invalidateQueries({queryKey:c(s)}),r.invalidateQueries({queryKey:["agents","executions",s,(void 0)??{}]})),r.invalidateQueries({queryKey:l})}),[e,r])},"useAgents",0,function(e){return(0,n.useQuery)({queryKey:["agents","list",e??{}],queryFn:()=>a.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,i.useQueryClient)();return(0,s.useMutation)({mutationFn:({slug:e,keepHistory:t})=>a.api.delete(`/agents/${e}`,{body:{keep_history:t}}),onSuccess:(t,{slug:r})=>{e.invalidateQueries({queryKey:c(r)}),e.invalidateQueries({queryKey:l})}})},"usePatchAgent",0,function(){let e=(0,i.useQueryClient)();return(0,s.useMutation)({mutationFn:({slug:e,body:t})=>a.api.patch(`/agents/${e}`,t),onSuccess:(t,{slug:r})=>{e.invalidateQueries({queryKey:c(r)}),e.invalidateQueries({queryKey:l})}})},"useRunAgentNow",0,function(){let e=(0,i.useQueryClient)();return(0,s.useMutation)({mutationFn:e=>a.api.post(`/agents/${e}/run-now`,{}),onSuccess:(t,r)=>{e.invalidateQueries({queryKey:c(r)})}})},"useRunningAgents",0,function(){let{subscribeEvent:e}=(0,u.useSSE)(),[r,s]=(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?s(e=>new Set(e).add(r)):"agent.execution.completed"===t&&s(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,i.useQueryClient)();return(0,s.useMutation)({mutationFn:({slug:e,content:t,expectedMtime:r})=>a.api.put(`/context/policies/agents/${e}/agent.md`,{content:t,...r?{expectedMtime:r}:{}}),onSuccess:(t,{slug:r})=>{e.invalidateQueries({queryKey:c(r)}),e.invalidateQueries({queryKey:l})}})}],69986);let d=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function o(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 x(e){return`Every ${m(e.interval_minutes)}`}function h(e){let{active_start_hour:t,active_end_hour:r}=e;return t<=0&&r>=24?null:`${o(t)}:00–${o(r)}:00`}function f(e){let t=/^\*\/(\d+)$/.exec(e);if(!t)return null;let r=Number(t[1]);return Number.isInteger(r)&&r>0?r:null}function g(e){let t=/^(\d+)-(\d+)$/.exec(e);if(!t)return null;let r=Number(t[1]),s=Number(t[2]);return!Number.isInteger(r)||!Number.isInteger(s)||r<0||s>23||r>=s?null:{start:r,end:s}}function p(e){if(null==e||!Number.isFinite(e)||e<0)return"—";let t=Math.round(e/1e3),r=Math.floor(t/3600),s=Math.floor(t%3600/60),n=t%60;return r>0?`${r}h ${s}m`:s>0?`${s}m ${n}s`:`${n}s`}e.s(["describeSchedule",0,function(e){switch(e.kind){case"cron":if(e.interval){var t;let r,s;return r=x(t=e.interval),(s=h(t))?`${r}, ${s}`:r}return e.expression?function(e){let t=e.trim().split(/\s+/);if(5!==t.length&&6!==t.length)return e;let[r,s,n,i,a]=6===t.length?t.slice(1):t,u=function(e,t,r,s,n){if("*"!==r||"*"!==s||"*"!==n)return null;let i=f(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!==i){let e=`Every ${m(i)}`;if("*"===t)return e;let r=g(t);return r?`${e}, ${o(r.start)}:00–${o(r.end+1)}:00`:null}if("*"===e){if("*"===t)return"Every minute";let e=g(t);return e?`Every minute, ${o(e.start)}:00–${o(e.end+1)}:00`:null}let a=Number(e);if(!Number.isInteger(a)||a<0||a>=60)return null;let u=0===a?"":` at :${o(a)}`,l=f(t);return null!==l?`Every ${l}h${u}`:"*"===t?`Hourly${u}`:null}(r,s,n,i,a);if(u)return u;let l=Number(r),c=Number(s);if(!(Number.isInteger(l)&&Number.isInteger(c)&&l>=0&&l<60&&c>=0&&c<24))return e;let x=`${o(c)}:${o(l)}`;if("*"===n&&"*"===i&&"*"===a)return`Every day at ${x}`;if("*"===n&&"*"===i){let e=Number(a);if(Number.isInteger(e)&&e>=0&&e<=6)return`Every ${d[e]} at ${x}`}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,h,"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,x,"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,s]=6===t.length?t.slice(1):t,n=e=>"*"===e||e.includes(",")||e.includes("-")||e.includes("/");return n(r)||n(s)},"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)},35277,e=>{"use strict";var t=e.i(54710),r=e.i(34416),s=e.i(45958),n=e.i(71060),i=e.i(92785),a=e.i(16047),u=e.i(96263),l=e.i(84972),c=e.i(39982),d=e.i(20014),o=e.i(48467),m=e.i(49785),x=e.i(50862),h=e.i(69986),f=e.i(55606);let g=[{value:"all",label:"All"},{value:"success",label:"Success"},{value:"error",label:"Error"},{value:"timeout",label:"Timeout"},{value:"skipped",label:"Skipped"}];function p({execution:e}){let[s,n]=(0,r.useState)(!1),i=e.success_criteria?Object.entries(e.success_criteria):[];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("tr",{className:"cursor-pointer border-b border-border hover:bg-muted/30",onClick:()=>n(e=>!e),children:[(0,t.jsx)("td",{className:"px-3 py-2 text-muted-foreground",children:s?(0,t.jsx)(a.ChevronDown,{className:"h-4 w-4"}):(0,t.jsx)(u.ChevronRight,{className:"h-4 w-4"})}),(0,t.jsx)("td",{className:"whitespace-nowrap px-3 py-2 text-xs tabular-nums text-muted-foreground",children:e.started_at?new Date(e.started_at).toLocaleString():"—"}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)(o.Badge,{variant:(0,f.resultBadgeVariant)(e.result),children:e.result??"running"})}),(0,t.jsx)("td",{className:"px-3 py-2 tabular-nums",children:(0,f.formatDurationShort)((0,f.executionDurationMs)(e))}),(0,t.jsx)("td",{className:"px-3 py-2 text-xs text-muted-foreground",children:e.trigger??"—"}),(0,t.jsx)("td",{className:"px-3 py-2 tabular-nums",children:(0,f.formatCostUsd)(e.cost_usd)})]}),s&&(0,t.jsx)("tr",{className:"border-b border-border bg-muted/20",children:(0,t.jsxs)("td",{colSpan:6,className:"px-6 py-3",children:[(0,t.jsxs)("dl",{className:"grid gap-x-6 gap-y-1 text-xs sm:grid-cols-2",children:[(0,t.jsxs)(y,{label:"Execution id",children:["#",e.id]}),(0,t.jsx)(y,{label:"Schedule row",children:e.schedule_row_id??"—"}),(0,t.jsxs)(y,{label:"Tokens in / out",children:[e.tokens_input??"—"," / ",e.tokens_output??"—"]}),(0,t.jsx)(y,{label:"Turns",children:e.turns??"—"}),e.error_kind&&(0,t.jsx)(y,{label:"Error kind",children:e.error_kind}),e.error_message&&(0,t.jsx)(y,{label:"Error",children:e.error_message})]}),i.length>0&&(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground",children:"Success criteria"}),(0,t.jsx)("div",{className:"mt-1 flex flex-wrap gap-1",children:i.map(([e,r])=>(0,t.jsxs)(o.Badge,{variant:r?"green":"red",children:[r?"✓":"✗"," ",e]},e))})]}),e.output_summary&&(0,t.jsx)("p",{className:"mt-2 whitespace-pre-wrap text-xs text-muted-foreground",children:e.output_summary})]})})]})}function y({label:e,children:r}){return(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)("dt",{className:"font-medium text-muted-foreground",children:[e,":"]}),(0,t.jsx)("dd",{className:"text-foreground",children:r})]})}e.s(["default",0,function(){let e=(0,n.useParams)().slug;(0,h.useAgentLiveRefresh)();let[a,u]=(0,r.useState)("all"),o=(0,h.useAgentExecutionsInfinite)(e,{result:"all"===a?void 0:a}),f=(0,r.useMemo)(()=>o.data?.pages.flatMap(e=>e.executions)??[],[o.data]);return(0,t.jsxs)("div",{className:"space-y-6 p-6",children:[(0,t.jsxs)(s.default,{href:`/agents/${e}`,className:"inline-flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground",children:[(0,t.jsx)(i.ArrowLeft,{className:"h-4 w-4"})," Back to ",e]}),(0,t.jsx)(c.PageHeader,{title:"Execution history",description:(0,t.jsxs)(t.Fragment,{children:["Every recorded run of ",(0,t.jsx)("code",{children:e}),". Expand a row to see cost, tokens, turns, error detail, and success-criteria results."]})}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",role:"toolbar","aria-label":"Result filter",children:g.map(e=>(0,t.jsx)(d.Button,{variant:a===e.value?"default":"outline",size:"sm",onClick:()=>u(e.value),"aria-pressed":a===e.value,children:e.label},e.value))}),(0,t.jsxs)(m.QueryResult,{isLoading:o.isLoading,isError:o.isError,error:o.error,onRetry:()=>o.refetch(),children:[0===f.length?(0,t.jsx)(x.EmptyState,{icon:l.History,title:"No executions",description:"This Agent has not run yet."}):(0,t.jsx)("div",{className:"overflow-hidden rounded-xl border border-border",children:(0,t.jsxs)("table",{className:"w-full text-left text-sm",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"border-b border-border bg-muted/50 text-xs text-muted-foreground",children:[(0,t.jsx)("th",{className:"w-8 px-3 py-2"}),(0,t.jsx)("th",{className:"px-3 py-2",children:"Started"}),(0,t.jsx)("th",{className:"px-3 py-2",children:"Result"}),(0,t.jsx)("th",{className:"px-3 py-2",children:"Duration"}),(0,t.jsx)("th",{className:"px-3 py-2",children:"Trigger"}),(0,t.jsx)("th",{className:"px-3 py-2",children:"Cost"})]})}),(0,t.jsx)("tbody",{children:f.map(e=>(0,t.jsx)(p,{execution:e},e.id))})]})}),o.hasNextPage&&(0,t.jsx)("div",{className:"flex justify-center",children:(0,t.jsx)(d.Button,{variant:"outline",onClick:()=>o.fetchNextPage(),disabled:o.isFetchingNextPage,children:o.isFetchingNextPage?"Loading…":"Load older"})})]})]})}])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74490,e=>{"use strict";var s=e.i(54710),a=e.i(81471);let t=(0,e.i(94237).cva)("rounded-xl border p-5 shadow-[0_1px_3px_rgb(0_0_0/0.04)]",{variants:{tone:{default:"border-border bg-card",warning:"border-amber-200 bg-amber-50/50 dark:border-amber-900 dark:bg-amber-950/30",success:"border-emerald-200 bg-emerald-50/50 dark:border-emerald-900 dark:bg-emerald-950/30",error:"border-red-200 bg-red-50/50 dark:border-red-900 dark:bg-red-950/30"},interactive:{true:"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]",false:""}},defaultVariants:{tone:"default",interactive:!1}});e.s(["Card",0,function({className:e,tone:n,interactive:i,...r}){return(0,s.jsx)("div",{className:(0,a.cn)(t({tone:n,interactive:i}),e),...r})},"CardHeader",0,function({className:e,...t}){return(0,s.jsx)("div",{className:(0,a.cn)("mb-3 flex items-center justify-between",e),...t})},"CardStatLabel",0,function({className:e,...t}){return(0,s.jsx)("h3",{className:(0,a.cn)("text-sm font-medium text-muted-foreground",e),...t})},"CardTitle",0,function({className:e,...t}){return(0,s.jsx)("h3",{className:(0,a.cn)("text-lg font-semibold text-foreground",e),...t})},"CardValue",0,function({className:e,...t}){return(0,s.jsx)("div",{className:(0,a.cn)("text-3xl font-bold text-foreground",e),...t})}])},39982,e=>{"use strict";var s=e.i(54710),a=e.i(81471);e.s(["PageHeader",0,function({title:e,description:t,icon:n,badge:i,actions:r,children:d,className:l}){return(0,s.jsxs)("header",{className:(0,a.cn)("flex flex-col gap-1",l),children:[(0,s.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[n&&(0,s.jsx)(n,{className:"h-5 w-5 text-muted-foreground"}),(0,s.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:e}),i]}),r&&(0,s.jsx)("div",{className:"flex items-center gap-2",children:r})]}),t&&(0,s.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:t}),d]})}])},59134,e=>{"use strict";let s=(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,s],59134)},75750,e=>{"use strict";let s=(0,e.i(77379).default)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",0,s],75750)},2745,e=>{"use strict";let s=(0,e.i(77379).default)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["ShieldCheck",0,s],2745)},88175,e=>{"use strict";let s=(0,e.i(77379).default)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);e.s(["Download",0,s],88175)},98797,e=>{"use strict";let s=(0,e.i(77379).default)("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);e.s(["Clock3",0,s],98797)},4971,e=>{"use strict";let s=(0,e.i(77379).default)("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);e.s(["ShieldAlert",0,s],4971)},65209,e=>{"use strict";var s=e.i(54710),a=e.i(34416),t=e.i(57415),n=e.i(14260),i=e.i(95486),r=e.i(45958),d=e.i(81187),l=e.i(93512),o=e.i(59546),c=e.i(98797),m=e.i(88175),u=e.i(72740);let h=(0,e.i(77379).default)("PlugZap",[["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m18 3-4 4h6l-4 4",key:"16psg9"}]]);var x=e.i(59134),g=e.i(4971),p=e.i(2745),b=e.i(75750),j=e.i(79634),y=e.i(48467),f=e.i(20014),v=e.i(74490),w=e.i(39982),N=e.i(65268);function k({onToast:e}){let t=(0,i.useQueryClient)(),{data:r,isLoading:d}=(0,n.useQuery)({queryKey:["config"],queryFn:()=>N.api.get("/config"),staleTime:3e4}),l=(r?.browserTaskHostnameDenylist??[]).join("\n"),[o,c]=(0,a.useState)(null),[m,h]=(0,a.useState)(!1),x=!d&&void 0!==r,g=o??l,p=null!==o&&o!==l;async function b(){if(p){h(!0);try{await N.api.patch("/config",{browserTaskHostnameDenylist:Array.from(new Set(g.split(/[\s,]+/).map(e=>e.trim().toLowerCase()).filter(e=>e.length>0)))}),t.invalidateQueries({queryKey:["config"]}),c(null),e?.("success","Browser-task denylist saved")}catch(s){e?.("error",`Failed to save denylist: ${s instanceof Error?s.message:"Unknown error"}`)}finally{h(!1)}}}return(0,s.jsxs)(v.Card,{children:[(0,s.jsx)(v.CardHeader,{children:(0,s.jsx)(v.CardTitle,{className:"text-base",children:"Browser-task hostname exclusions"})}),(0,s.jsxs)("div",{className:"space-y-3 px-6 pb-6",children:[(0,s.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Browser-task runs with open navigation by default. Add hostnames here to block the sub-agent from visiting them — one entry per line. A bare hostname (",(0,s.jsx)("code",{children:"paypal.com"}),") blocks the host and any subdomain (",(0,s.jsx)("code",{children:"checkout.paypal.com"}),"); a wildcard form (",(0,s.jsx)("code",{children:"*.example.com"}),") is accepted as syntactic sugar for the same. Empty by default."]}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground",children:["The list is independent of the network-layer protection inside the daemon (RFC1918, loopback, cloud-metadata ",(0,s.jsx)("code",{children:"169.254.169.254"}),"), which stays on regardless. URL-pattern blocking of checkout / commit- money flows (",(0,s.jsx)("code",{children:"payment-path-blocker"}),") is also always on."]}),(0,s.jsx)("textarea",{className:"font-mono min-h-32 w-full rounded-md border bg-background p-3 text-xs",value:g,placeholder:"paypal.com\nchase.com\n*.example.com",spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",onChange:e=>c(e.target.value),disabled:!x||m}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)(f.Button,{size:"sm",onClick:()=>void b(),disabled:!p||m,children:[m?(0,s.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):null,"Save"]}),p&&(0,s.jsx)(f.Button,{size:"sm",variant:"outline",onClick:function(){c(null)},disabled:m,children:"Revert"}),!x&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Loading…"})]})]})]})}let C=["browser-history-managed-status"],A=["browser-history-managed-setup-status"],S=["browser-automation-sites"],B=["managed-chromium-install-status"];function M({status:e,onInstall:t,pending:n}){var i;let r,d,l,c=e?.state??"idle",h="downloading"===c||"verifying"===c,x=e?.progressPercent??0,g=e?.totalMib,p=e?.downloadedMib,[b,j]=(0,a.useState)(()=>Date.now());(0,a.useEffect)(()=>{if(!h)return;let e=setInterval(()=>j(Date.now()),1e3);return()=>clearInterval(e)},[h]);let y=e?.startedAt!=null?Math.max(0,b-e.startedAt):0,v=(d=Math.floor((r=Math.floor(y/1e3))/60),l=r%60,d>0?`${d}m ${l.toString().padStart(2,"0")}s`:`${l}s`),w=null!=p&&y>1e3?p/(y/1e3):null,N=null!=w&&w>0?`${w.toFixed(1)} MiB/s`:null;return(0,s.jsx)("div",{className:"mt-3 space-y-2",children:"completed"===c?(0,s.jsxs)("div",{className:"inline-flex items-center gap-2 rounded-md bg-emerald-50 px-3 py-1.5 text-sm text-emerald-800 dark:bg-emerald-950/40 dark:text-emerald-300",children:[(0,s.jsx)(o.CheckCircle2,{className:"h-4 w-4"}),"Chromium installed",e?.binaryPath?(0,s.jsx)("code",{className:"ml-1 text-xs text-emerald-900/70 dark:text-emerald-300/70",children:(i=e.binaryPath).length<=60?i:`…${i.slice(i.length-57)}`}):null]}):h?(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[(0,s.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,s.jsx)(u.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),"verifying"===c?"Verifying download…":"Downloading Chromium…"]}),(0,s.jsxs)("span",{children:[x,"%",null!=p&&null!=g?` (${p} / ${g} MiB)`:null]})]}),(0,s.jsx)("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-muted",children:(0,s.jsx)("div",{className:"h-full rounded-full bg-blue-500 transition-[width] duration-500",style:{width:`${Math.max(2,x)}%`},"aria-label":`Install progress ${x}%`})}),(0,s.jsxs)("div",{className:"flex items-center justify-between text-[11px] text-muted-foreground",children:[(0,s.jsxs)("span",{children:["Elapsed ",v]}),N?(0,s.jsx)("span",{children:N}):(0,s.jsx)("span",{children:"connecting…"})]})]}):(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsxs)(f.Button,{size:"sm",onClick:t,disabled:n,children:[n?(0,s.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(m.Download,{className:"h-4 w-4"}),"failed"===c?"Retry download (~150 MiB)":"Download Chromium (~150 MiB)"]}),"failed"===c&&e?.errorMessage?(0,s.jsx)("span",{className:"text-xs text-red-700",children:e.errorMessage}):null]})})}function P(){return(0,s.jsx)(v.Card,{tone:"warning",children:(0,s.jsxs)(v.CardHeader,{className:"items-start",children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(g.ShieldAlert,{className:"h-4 w-4 text-amber-700 dark:text-amber-300"}),(0,s.jsx)(v.CardTitle,{className:"text-base",children:"Experimental purchase confirmations (B-4)"})]}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"DM-token-gated checkout flows. Default off — every safety gate (master toggle, per-site caps, primary DM channel, §23 hard-deny categories) is configured on a dedicated page."})]}),(0,s.jsxs)(r.default,{href:"/settings/integrations/browser-history-managed/b4",className:"inline-flex shrink-0 items-center gap-1.5 rounded-md border border-border bg-background px-3 py-1.5 text-sm font-medium hover:bg-accent",children:["Open B-4 settings",(0,s.jsx)(l.ArrowRight,{className:"h-3.5 w-3.5"})]})]})})}function L({state:e}){return"ready"===e?(0,s.jsxs)(y.Badge,{variant:"green",children:[(0,s.jsx)(o.CheckCircle2,{className:"mr-1 h-3.5 w-3.5"})," Ready"]}):"needs_setup"===e?(0,s.jsxs)(y.Badge,{variant:"gray",children:[(0,s.jsx)(h,{className:"mr-1 h-3.5 w-3.5"})," Needs setup"]}):"needs_reauth"===e?(0,s.jsxs)(y.Badge,{variant:"amber",children:[(0,s.jsx)(g.ShieldAlert,{className:"mr-1 h-3.5 w-3.5"})," Re-auth needed"]}):"missing_binary"===e||"missing_sandbox"===e?(0,s.jsxs)(y.Badge,{variant:"red",children:[(0,s.jsx)(b.XCircle,{className:"mr-1 h-3.5 w-3.5"})," ",e.replace("_"," ")]}):"disconnected"===e?(0,s.jsx)(y.Badge,{variant:"gray",children:"Disconnected"}):(0,s.jsx)(y.Badge,{variant:"gray",children:"Off"})}function q({status:e,onAccept:t,pending:n,enableError:i,installStatus:r,onInstall:d,installPending:l}){let o="none"===e.sandboxPrimitive,c=!e.chromiumBinaryFound,m=r?.state??"idle",h="downloading"===m||"verifying"===m,[x,b]=(0,a.useState)(!1),y=(0,a.useRef)(t);(0,a.useEffect)(()=>{y.current=t},[t]),(0,a.useEffect)(()=>{!x||c||(b(!1),y.current())},[c,x]),(0,a.useEffect)(()=>{"failed"===m&&x&&b(!1)},[m,x]);let w="failed"===m,N=c&&(h||x),k=c?N?"Installing Chromium…":w?"Retry: download Chromium then enable":"Download Chromium (~150 MiB) then enable":"I understand — enable Browser Automation",C=n||l||N,A=i instanceof Error?i.message:null;return(0,s.jsxs)(v.Card,{tone:"warning",children:[(0,s.jsx)(v.CardHeader,{children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(g.ShieldAlert,{className:"h-5 w-5 text-amber-700 dark:text-amber-300"}),(0,s.jsx)(v.CardTitle,{className:"text-base",children:"Consent required to enable Browser Automation"})]})}),(0,s.jsxs)("div",{className:"space-y-4 text-sm leading-relaxed text-foreground",children:[(0,s.jsx)("p",{children:"Aitne wants to run a dedicated Chromium browser signed in to your Google account so it can continuously sync your phone's browser history and, on opt-in, drive open-ended tasks on signed-in sites."}),(0,s.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,s.jsxs)("div",{className:"rounded-md border border-border bg-background/60 p-3 dark:bg-background/30",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wide text-amber-700 dark:text-amber-300",children:[(0,s.jsx)(g.ShieldAlert,{className:"h-3.5 w-3.5"})," Risk"]}),(0,s.jsx)("p",{className:"mt-1.5",children:"Aitne holds an OAuth refresh token for your Google account. If the daemon were ever compromised, an attacker could use that token to access your Gmail, Drive, Calendar, and other Google services."})]}),(0,s.jsxs)("div",{className:"rounded-md border border-border bg-background/60 p-3 dark:bg-background/30",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wide text-emerald-700 dark:text-emerald-300",children:[(0,s.jsx)(p.ShieldCheck,{className:"h-3.5 w-3.5"})," Mitigations"]}),(0,s.jsxs)("p",{className:"mt-1.5",children:["Chromium runs under an OS-level sandbox (",(0,s.jsx)("code",{className:"font-mono text-xs",children:e.sandboxPrimitive}),") and cannot exfiltrate to arbitrary networks. The agent layer has no tool capable of reading the profile directory. Disconnecting at any time removes the token from this machine."]})]})]}),o&&(0,s.jsxs)(j.Alert,{variant:"warning",children:[(0,s.jsx)("div",{className:"font-medium",children:"No sandbox primitive detected on this host."}),(0,s.jsxs)("p",{className:"mt-1",children:["Enabling will run Chromium unsandboxed. We strongly recommend installing ",(0,s.jsx)("code",{className:"mx-1",children:"bubblewrap"})," or"," ",(0,s.jsx)("code",{className:"mx-1",children:"systemd-run"})," before proceeding."]})]}),c&&(0,s.jsxs)(j.Alert,{variant:"warning",children:[(0,s.jsx)("div",{className:"font-medium",children:"Chromium isn't installed yet."}),(0,s.jsx)("p",{className:"mt-1",children:"Clicking the button below will download the Playwright-managed Chromium build (~150 MiB) into your Playwright cache and then enable Browser Automation. You can also start the download manually here:"}),(0,s.jsx)(M,{status:r,onInstall:d,pending:l}),(0,s.jsxs)("p",{className:"mt-3 text-xs text-muted-foreground",children:["OS-package alternative — macOS:"," ",(0,s.jsx)("code",{children:"brew install --cask chromium"}),"; Debian/Ubuntu:"," ",(0,s.jsx)("code",{children:"sudo apt install chromium"}),"; Fedora:"," ",(0,s.jsx)("code",{children:"sudo dnf install chromium"}),"; Windows:"," ",(0,s.jsx)("code",{children:"winget install Hibbiki.Chromium"})," (or"," ",(0,s.jsx)("code",{children:"choco install chromium"}),")."]})]}),A&&(0,s.jsxs)(j.Alert,{variant:"error",children:[(0,s.jsx)("div",{className:"font-medium",children:"Enable failed."}),(0,s.jsx)("p",{className:"mt-1",children:A})]}),(0,s.jsxs)("p",{className:"text-muted-foreground",children:[(0,s.jsx)("strong",{className:"font-medium text-foreground",children:"Alternative."})," ","The unmanaged Browser History integration on the other settings page works against your existing Chrome installation without holding an OAuth token."]}),(0,s.jsx)("div",{className:"flex flex-wrap items-center gap-2 pt-1",children:(0,s.jsxs)(f.Button,{onClick:()=>{if(c){b(!0),h||d();return}t()},disabled:C,size:"sm",children:[n||N?(0,s.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(p.ShieldCheck,{className:"h-4 w-4"}),k]})})]})]})}function F({status:e,sandboxLabel:a}){return(0,s.jsxs)(v.Card,{children:[(0,s.jsx)(v.CardHeader,{children:(0,s.jsx)(v.CardTitle,{className:"text-base",children:"Sync status"})}),(0,s.jsxs)("dl",{className:"grid grid-cols-1 gap-x-6 gap-y-2 text-sm sm:grid-cols-2",children:[(0,s.jsx)(K,{label:"Signed-in user",value:e.signedInUser??"—"}),(0,s.jsx)(K,{label:"Sandbox",value:a}),(0,s.jsx)(K,{label:"Last successful check",value:e.lastCheckAt?D(e.lastCheckAt):"Never"}),(0,s.jsx)(K,{label:"Last sync (History mtime)",value:e.lastSyncAt?D(e.lastSyncAt):"Never"}),(0,s.jsx)(K,{label:"Consecutive failures",value:String(e.consecutiveFailures)}),(0,s.jsx)(K,{label:"Paused until",value:e.pausedUntil?D(e.pausedUntil):"—"}),(0,s.jsx)(K,{label:"Chromium binary",value:e.chromiumBinaryFound?"Found":"Not installed"}),(0,s.jsx)(K,{label:"Display present",value:e.hasDisplay?"Yes":"No"})]})]})}function K({label:e,value:a}){return(0,s.jsxs)("div",{className:"flex items-start gap-2",children:[(0,s.jsx)("span",{className:"w-44 shrink-0 text-muted-foreground",children:e}),(0,s.jsx)("span",{className:"font-mono text-foreground",children:a})]})}function T({setupStatus:e,onFinish:a,finishPending:t}){let n=e?.state==="running"&&e.signedIn;return(0,s.jsxs)(v.Card,{children:[(0,s.jsx)(v.CardHeader,{children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(c.Clock3,{className:"h-5 w-5 text-blue-600 dark:text-blue-400"}),(0,s.jsx)(v.CardTitle,{className:"text-base",children:"Sign-in in progress"})]})}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsx)("p",{children:"A Chromium window is open. Complete the Google sign-in (including 2FA if prompted). Once you're signed in, the dashboard will automatically detect the change and you can confirm below."}),(0,s.jsx)("div",{className:"flex items-center gap-3",children:n?(0,s.jsxs)(y.Badge,{variant:"green",children:[(0,s.jsx)(o.CheckCircle2,{className:"mr-1 h-3.5 w-3.5"})," Signed in as"," ",e?.observedUser??"(unknown)"]}):(0,s.jsxs)(y.Badge,{variant:"gray",children:[(0,s.jsx)(u.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"})," Waiting for sign-in…"]})}),(0,s.jsx)("div",{children:(0,s.jsxs)(f.Button,{onClick:a,disabled:!n||t,size:"sm",children:[t?(0,s.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(o.CheckCircle2,{className:"h-4 w-4"}),"Confirm + close sign-in window"]})})]})]})}function _({status:e,onSetup:a,setupPending:t,onReconnect:n,reconnectPending:i,onDisconnect:r,disconnectPending:l}){let o="needs_setup"===e.state&&e.chromiumBinaryFound&&"none"!==e.sandboxPrimitive,c="needs_reauth"===e.state||"ready"===e.state;return(0,s.jsxs)(v.Card,{children:[(0,s.jsx)(v.CardHeader,{children:(0,s.jsx)(v.CardTitle,{className:"text-base",children:"Actions"})}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsxs)(f.Button,{size:"sm",onClick:a,disabled:!o||t,children:[t?(0,s.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(h,{className:"h-4 w-4"}),"Connect Google account"]}),(0,s.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:n,disabled:!c||i,children:[i?(0,s.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(x.RefreshCw,{className:"h-4 w-4"}),"Reconnect / re-authenticate"]}),(0,s.jsxs)(f.Button,{size:"sm",variant:"outline",className:"border-red-500 text-red-700 hover:bg-red-50 dark:border-red-700 dark:text-red-400 dark:hover:bg-red-950/40",onClick:r,disabled:l,children:[l?(0,s.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(d.AlertTriangle,{className:"h-4 w-4"}),"Disconnect"]})]}),(0,s.jsxs)("p",{className:"mt-3 text-xs text-muted-foreground",children:["Disconnect quits the managed Chromium, deletes the profile directory from this device, and clears the cached state. Revoke the OAuth grant separately at"," ",(0,s.jsx)("a",{href:"https://myaccount.google.com/permissions",className:"underline",target:"_blank",rel:"noreferrer",children:"myaccount.google.com/permissions"})," ","for full account-side revocation."]})]})}function D(e){return new Date(e).toLocaleString()}function O({sites:e,isLoading:a,onMutated:t}){return(0,s.jsxs)(v.Card,{children:[(0,s.jsx)(v.CardHeader,{children:(0,s.jsx)(v.CardTitle,{className:"text-base",children:"Authenticated sites"})}),(0,s.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Sign in once per site to let Aitne run authenticated browser tasks (e.g. fetch your Amazon order history). Each site keeps a separate profile dir under"," ",(0,s.jsx)("code",{children:"~/.personal-agent/chromium-automation-auth/<site>/"}),"; cookies for one site are never reachable from another."]}),(0,s.jsxs)("div",{className:"mt-4 space-y-3",children:[a&&(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,s.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"})," Loading sites…"]}),!a&&0===e.length&&(0,s.jsxs)("p",{className:"text-sm text-muted-foreground",children:["No sites registered. Add an entry to"," ",(0,s.jsx)("code",{children:"site-registry.ts"})," and rebuild the daemon."]}),e.map(e=>(0,s.jsx)(z,{site:e,onMutated:t},e.siteKey))]})]})}function z({site:e,onMutated:a}){var i;let r=(i="bootstrap_running"===e.state?e.siteKey:null,(0,n.useQuery)({queryKey:["browser-automation-site-status",i],queryFn:()=>N.api.get(`/browser-automation/sites/${i}/status`),refetchInterval:!!i&&2e3,enabled:!!i,staleTime:1e3})),l=(0,t.useMutation)({mutationFn:()=>N.api.post(`/browser-automation/sites/${e.siteKey}/connect`,{}),onSettled:a}),m=(0,t.useMutation)({mutationFn:()=>N.api.post(`/browser-automation/sites/${e.siteKey}/finalize`,{}),onSettled:a}),p=(0,t.useMutation)({mutationFn:()=>N.api.post(`/browser-automation/sites/${e.siteKey}/reauth`,{}),onSettled:a}),b=(0,t.useMutation)({mutationFn:()=>N.api.post(`/browser-automation/sites/${e.siteKey}/disconnect`,{}),onSettled:a}),j="connected"===e.state?(0,s.jsxs)(y.Badge,{variant:"green",children:[(0,s.jsx)(o.CheckCircle2,{className:"mr-1 h-3.5 w-3.5"})," Connected"]}):"bootstrap_running"===e.state?(0,s.jsxs)(y.Badge,{variant:"gray",children:[(0,s.jsx)(u.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"})," Signing in…"]}):"needs_reauth"===e.state?(0,s.jsxs)(y.Badge,{variant:"amber",children:[(0,s.jsx)(g.ShieldAlert,{className:"mr-1 h-3.5 w-3.5"})," Re-auth needed"]}):(0,s.jsx)(y.Badge,{variant:"gray",children:"Not connected"});return(0,s.jsxs)("div",{className:"rounded-md border border-border bg-card p-3",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm font-semibold",children:e.displayName}),(0,s.jsxs)("div",{className:"text-xs text-muted-foreground",children:[(0,s.jsx)("code",{children:e.siteKey})," · session max"," ",e.sessionMaxAgeDays," d",e.accountLabel?` \xb7 ${e.accountLabel}`:"",e.connectedAt?` \xb7 connected ${D(e.connectedAt)}`:""]})]}),j]}),"bootstrap_running"===e.state&&(0,s.jsxs)("div",{className:"mt-3 rounded-md border border-blue-200 bg-blue-50 p-3 text-xs text-blue-900 dark:border-blue-900 dark:bg-blue-950/40 dark:text-blue-200",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 font-medium",children:[(0,s.jsx)(c.Clock3,{className:"h-3.5 w-3.5"})," Sign-in window open"]}),(0,s.jsxs)("p",{className:"mt-1",children:["Complete the sign-in in the Chromium window that just opened. Aitne is watching for"," ",(0,s.jsx)("code",{className:"font-mono",children:r.data?.signedIn?`the signed-in selector (detected${r.data.accountLabel?` as ${r.data.accountLabel}`:""})`:"the signed-in selector to resolve"}),"."]}),(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsxs)(f.Button,{size:"sm",onClick:()=>m.mutate(),disabled:!r.data?.signedIn||m.isPending,children:[m.isPending?(0,s.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(o.CheckCircle2,{className:"h-4 w-4"}),"Confirm + close window"]})})]}),(0,s.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:["not_connected"===e.state&&(0,s.jsxs)(f.Button,{size:"sm",onClick:()=>l.mutate(),disabled:l.isPending,children:[l.isPending?(0,s.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(h,{className:"h-4 w-4"}),"Connect ",e.displayName]}),("needs_reauth"===e.state||"connected"===e.state)&&(0,s.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>p.mutate(),disabled:p.isPending,children:[p.isPending?(0,s.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(x.RefreshCw,{className:"h-4 w-4"}),"Re-authenticate"]}),("connected"===e.state||"needs_reauth"===e.state||"bootstrap_running"===e.state)&&(0,s.jsxs)(f.Button,{size:"sm",variant:"outline",className:"border-red-500 text-red-700 hover:bg-red-50 dark:border-red-700 dark:text-red-400 dark:hover:bg-red-950/40",onClick:()=>b.mutate(),disabled:b.isPending,children:[b.isPending?(0,s.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(d.AlertTriangle,{className:"h-4 w-4"}),"Disconnect"]})]})]})}e.s(["default",0,function(){var e;let r=(0,i.useQueryClient)(),d=(0,n.useQuery)({queryKey:C,queryFn:()=>N.api.get("/browser-history/managed/status"),refetchInterval:15e3,staleTime:5e3}),l=d.data,o=!!l?.bootstrapInProgress,c=(0,n.useQuery)({queryKey:A,queryFn:()=>N.api.get("/browser-history/managed/setup-status"),refetchInterval:!!o&&2e3,enabled:o,staleTime:1e3}),m=l?.state==="ready",h=(e=!!m,(0,n.useQuery)({queryKey:S,queryFn:()=>N.api.get("/browser-automation/sites"),refetchInterval:!!e&&15e3,enabled:e,staleTime:5e3})),x=(0,n.useQuery)({queryKey:B,queryFn:()=>N.api.get("/browser-history/managed/install-chromium/status"),refetchInterval:e=>{let s=e.state.data?.state;return"downloading"===s||"verifying"===s?1e3:5e3},staleTime:500}),g=x.data?.state==="downloading"||x.data?.state==="verifying",p=x.data,b=p?.state==="completed";(0,a.useEffect)(()=>{b&&r.invalidateQueries({queryKey:C})},[b,r]);let y=(0,t.useMutation)({mutationFn:()=>N.api.post("/browser-history/managed/install-chromium",{}),onSettled:()=>{r.invalidateQueries({queryKey:B}),r.invalidateQueries({queryKey:C})}}),K=(0,t.useMutation)({mutationFn:e=>N.api.post("/browser-history/managed/enable",e),onSettled:()=>r.invalidateQueries({queryKey:C})}),D=(0,t.useMutation)({mutationFn:()=>N.api.post("/browser-history/managed/setup",{}),onSettled:()=>{r.invalidateQueries({queryKey:C}),r.invalidateQueries({queryKey:A})}}),z=(0,t.useMutation)({mutationFn:()=>N.api.post("/browser-history/managed/setup-finish",{}),onSettled:()=>{r.invalidateQueries({queryKey:C}),r.invalidateQueries({queryKey:A})}}),I=(0,t.useMutation)({mutationFn:()=>N.api.post("/browser-history/managed/reconnect",{}),onSettled:()=>{r.invalidateQueries({queryKey:C}),r.invalidateQueries({queryKey:A})}}),H=(0,t.useMutation)({mutationFn:()=>N.api.post("/browser-history/managed/disconnect",{}),onSettled:()=>r.invalidateQueries({queryKey:C})}),Q=(0,a.useMemo)(()=>{let e=l?.sandboxPrimitive??"none";return"none"===e?"None (unsandboxed)":"sandbox-exec"===e?"macOS sandbox-exec":"bubblewrap"===e?"Linux bubblewrap":"systemd-run"===e?"Linux systemd-run":"appcontainer-jobobject"===e?"Windows AppContainer":e},[l?.sandboxPrimitive]);if(d.isLoading)return(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)(w.PageHeader,{title:"Browser Automation",description:"Optional daemon-supervised Chromium for OAuth-bound sync + automation."}),(0,s.jsx)(v.Card,{children:(0,s.jsxs)("div",{className:"flex items-center gap-3 text-sm text-muted-foreground",children:[(0,s.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}),(0,s.jsx)("span",{children:"Loading managed Chromium status…"})]})})]});if(!l)return(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)(w.PageHeader,{title:"Browser Automation",description:"Optional daemon-supervised Chromium for OAuth-bound sync + automation."}),(0,s.jsxs)(j.Alert,{variant:"error",children:[(0,s.jsx)("div",{className:"font-medium",children:"Status unavailable."}),(0,s.jsx)("p",{className:"mt-1",children:"The daemon did not return a status payload for Browser Automation. Check the daemon logs and reload this page."})]})]});let R=l.enabled;return(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)(w.PageHeader,{title:"Browser Automation",description:"Optional daemon-supervised Chromium for OAuth-bound sync + automation.",actions:(0,s.jsx)(L,{state:l.state})}),!R&&(0,s.jsx)(q,{status:l,onAccept:()=>K.mutate({enabled:!0,unsandboxedOptIn:"none"===l.sandboxPrimitive||void 0}),pending:K.isPending,enableError:K.error,installStatus:p??null,onInstall:()=>y.mutate(),installPending:y.isPending||g}),R&&(0,s.jsxs)(s.Fragment,{children:["missing_binary"===l.state&&(0,s.jsxs)(j.Alert,{variant:"error",children:[(0,s.jsx)("div",{className:"font-medium",children:"Chromium binary not found."}),(0,s.jsx)("p",{className:"mt-1",children:"Aitne can download the Playwright-managed Chromium build (~150 MiB) into your Playwright cache, or you can install Chromium via your OS package manager."}),(0,s.jsx)(M,{status:p??null,onInstall:()=>y.mutate(),pending:y.isPending}),(0,s.jsxs)("p",{className:"mt-3 text-xs text-muted-foreground",children:["OS-package alternative — macOS:"," ",(0,s.jsx)("code",{children:"brew install --cask chromium"}),"; Debian/Ubuntu:"," ",(0,s.jsx)("code",{children:"sudo apt install chromium"}),"; Fedora:"," ",(0,s.jsx)("code",{children:"sudo dnf install chromium"}),"; Windows:"," ",(0,s.jsx)("code",{children:"winget install Hibbiki.Chromium"})," (or"," ",(0,s.jsx)("code",{children:"choco install chromium"}),")."]})]}),"missing_sandbox"===l.state&&(0,s.jsxs)(j.Alert,{variant:"warning",children:[(0,s.jsx)("div",{className:"font-medium",children:"No OS sandbox primitive available."}),(0,s.jsxs)("p",{className:"mt-1",children:["The host has neither ",(0,s.jsx)("code",{children:"bwrap"})," nor ",(0,s.jsx)("code",{children:"systemd-run"})," on PATH. Install ",(0,s.jsx)("code",{children:"bubblewrap"})," (",(0,s.jsx)("code",{children:"sudo apt install bubblewrap"}),") or explicitly opt in to unsandboxed mode below."]}),(0,s.jsx)("div",{className:"mt-3",children:(0,s.jsx)(f.Button,{size:"sm",onClick:()=>K.mutate({enabled:!0,unsandboxedOptIn:!0}),disabled:K.isPending,children:"Enable unsandboxed (not recommended)"})})]}),(0,s.jsx)(F,{status:l,sandboxLabel:Q}),o?(0,s.jsx)(T,{setupStatus:c.data,onFinish:()=>z.mutate(),finishPending:z.isPending}):(0,s.jsx)(_,{status:l,onSetup:()=>D.mutate(),setupPending:D.isPending,onReconnect:()=>I.mutate(),reconnectPending:I.isPending,onDisconnect:()=>H.mutate(),disconnectPending:H.isPending}),m&&(0,s.jsx)(O,{sites:h.data?.sites??[],isLoading:h.isLoading,onMutated:()=>{r.invalidateQueries({queryKey:S})}}),m&&(0,s.jsx)(P,{})]}),(0,s.jsx)(k,{})]})}],65209)}]);