@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,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)},13451,e=>{"use strict";var t=e.i(34416),a=e.i(95486),n=e.i(65268);e.s(["useSaveConfig",0,function(){let e=(0,a.useQueryClient)(),[s,r]=(0,t.useState)(null),i=(0,t.useCallback)((e,t)=>{r({type:e,message:t}),setTimeout(()=>r(null),4e3)},[]),l=(0,t.useCallback)((e,t)=>{let a=Object.values(e.errors??{});a.length>0?i("warning",a.join(" ")):e.requiresRestart?.length>0?i("warning",`Updated. Restart daemon for: ${e.requiresRestart.join(", ")}`):i("success",t)},[i]),o=(0,t.useCallback)(async(t,a)=>{try{let s=await n.api.patch("/config",{[t]:a});e.invalidateQueries({queryKey:["config"]}),l(s,"Setting updated")}catch(e){throw i("error",`Failed to save: ${e instanceof Error?e.message:"Unknown error"}`),e}},[e,l,i]),c=(0,t.useCallback)(async t=>{try{let a=await n.api.patch("/config",t);e.invalidateQueries({queryKey:["config"]}),l(a,"Settings updated")}catch(e){throw i("error",`Failed to save: ${e instanceof Error?e.message:"Unknown error"}`),e}},[e,l,i]);return{toast:s,showToast:i,saveField:o,saveMultipleFields:c,patchConfig:(0,t.useCallback)(async t=>{let a=await n.api.patch("/config",t);return e.invalidateQueries({queryKey:["config"]}),a},[e])}}])},7663,e=>{"use strict";let t=(0,e.i(77379).default)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["Save",0,t],7663)},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:r,...i}){return(0,t.jsx)("div",{className:(0,a.cn)(n({tone:s,interactive:r}),e),...i})},"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)},60168,e=>{"use strict";let t=(0,e.i(77379).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],60168)},21682,e=>{"use strict";let t=(0,e.i(77379).default)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],21682)},55575,e=>{"use strict";let t=(0,e.i(77379).default)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",0,t],55575)},66127,e=>{"use strict";var t=e.i(65268);async function a({title:e,defaultPath:n}){let s=await t.api.post("/system/pick-directory",{title:e,...n?{defaultPath:n}:{}});if("selected"===s.status&&s.path)return s.path;if("cancelled"===s.status)return null;throw Error(s.message??"Folder picker is unavailable.")}e.s(["pickDirectoryFromDesktop",0,a])},25795,e=>{"use strict";let t=(0,e.i(77379).default)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,t],25795)},36413,e=>{"use strict";var t=e.i(34416);let a=(0,t.createContext)(null);e.s(["DirtyFieldsProvider",0,function({children:e}){let[n,s]=(0,t.useState)(()=>new Map),[r,i]=(0,t.useState)(0),l=(0,t.useCallback)((e,t,a)=>{s(n=>{if(void 0!==a&&(t===a||Array.isArray(t)&&Array.isArray(a)&&t.length===a.length&&t.every((e,t)=>e===a[t]))){if(!n.has(e))return n;let t=new Map(n);return t.delete(e),t}let s=new Map(n);return s.set(e,t),s})},[]),o=(0,t.useCallback)(e=>{s(t=>{if(!t.has(e))return t;let a=new Map(t);return a.delete(e),a})},[]),c=(0,t.useCallback)(e=>{0!==e.length&&s(t=>{if(!e.some(e=>t.has(e)))return t;let a=new Map(t);for(let t of e)a.delete(t);return a})},[]),d=(0,t.useCallback)(()=>{s(new Map),i(e=>e+1)},[]),u=n.size>0,m=n.size,p=(0,t.useMemo)(()=>({dirtyFields:n,setDirty:l,clearDirty:o,clearDirtyKeys:c,discardAll:d,discardGeneration:r,isDirty:u,dirtyCount:m}),[n,l,o,c,d,r,u,m]);return(0,t.createElement)(a.Provider,{value:p},e)},"useDirtyFields",0,function(){let e=(0,t.useContext)(a);if(!e)throw Error("useDirtyFields must be used inside DirtyFieldsProvider");let{setDirty:n,dirtyFields:s}=e,r=(0,t.useCallback)(e=>async(t,a)=>{let s=e[t];n(t,a,s)},[n]),i=(0,t.useCallback)((e,t)=>s.has(e)?s.get(e):t,[s]);return{...e,deferSaveFor:r,dv:i}},"useDiscardGeneration",0,function(){let e=(0,t.useContext)(a);return e?.discardGeneration??0}])},28444,e=>{"use strict";e.s(["RESTART_REQUIRED_KEY_TUPLE",0,["apiPort","externalObsidianVaultName","externalObsidianVaultPath","externalObsidianWatch","primaryVaultPath","primaryVaultName","slackOwnerUserId","telegramOwnerChatId","discordOwnerUserId","whatsappEnabled","whatsappOwnerPhone","whatsappAuthDir","notionDatabaseIds","gmailPollIntervalSeconds","delegatedProbeIntervalMinutes","gitPollIntervalSeconds","githubPollIntervalSeconds","voiceTranscriptionEnabled","observationSummarizerEnabled","observationSummarizerConcurrency","observationSummarizerMaxCallsPerMinute","observationSummarizerQueueLimit","observationSummarizerTimeoutMs"]])},82239,e=>{"use strict";var t=e.i(54710),a=e.i(25795),n=e.i(10628);e.s(["RestartRequiredBadge",0,function(){return(0,t.jsxs)(n.Tooltip,{children:[(0,t.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-sm bg-amber-100 px-1 py-0.5 text-[10px] font-medium text-amber-700 dark:bg-amber-900/40 dark:text-amber-300",children:[(0,t.jsx)(a.RotateCcw,{className:"h-2.5 w-2.5"}),"restart"]})}),(0,t.jsx)(n.TooltipContent,{side:"top",className:"max-w-[220px] text-xs",children:"Changing this value requires a daemon restart to take effect."})]})}])},49681,e=>{"use strict";var t=e.i(54710),a=e.i(7771),n=e.i(95486),s=e.i(8011),r=e.i(10628),i=e.i(81471);e.s(["DocsHelpInline",0,function({docId:e,anchor:l=null,label:o,className:c}){let d=(0,n.useQueryClient)(),u=o??"Help";return(0,t.jsx)(r.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(r.Tooltip,{children:[(0,t.jsx)(r.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:t=>{t.preventDefault(),t.stopPropagation(),(0,s.openDocsHelpSlideover)(d,{docId:e,anchor:l,autoFocusComposer:!1})},className:(0,i.cn)("inline-flex h-5 w-5 items-center justify-center rounded-full text-muted-foreground/70 transition hover:bg-accent hover:text-foreground",c),"aria-label":`Open help — ${u}`,"data-testid":"docs-help-inline",children:(0,t.jsx)(a.HelpCircle,{className:"h-3.5 w-3.5","aria-hidden":"true"})})}),(0,t.jsx)(r.TooltipContent,{side:"top",children:(0,t.jsx)("span",{children:u})})]})})}])},88,e=>{"use strict";var t=e.i(54710),a=e.i(34416),n=e.i(99758),s=e.i(55575),r=e.i(21682),i=e.i(60168),l=e.i(25795),o=e.i(90925),c=e.i(36451);e.i(18446);var d=e.i(28444),u=e.i(48467),m=e.i(20014),p=e.i(74490),x=e.i(8652),h=e.i(82239),g=e.i(49681),f=e.i(66127),b=e.i(36413);let y=new Set(d.RESTART_REQUIRED_KEY_TUPLE);function v(e){return null===e?"":String(e)}e.s(["ConfigSection",0,function({title:e,children:a,helpDocId:n,helpAnchor:s}){return(0,t.jsxs)(p.Card,{children:[(0,t.jsx)(p.CardHeader,{children:(0,t.jsxs)(p.CardTitle,{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{children:e}),n&&(0,t.jsx)(g.DocsHelpInline,{docId:n,anchor:s??null,label:e})]})}),(0,t.jsx)("div",{className:"space-y-0.5 [&>p]:max-w-prose",children:a})]})},"EditableArrayField",0,function({label:e,values:n,configKey:r,variant:l="gray",placeholder:o="Add item...",directoryPicker:d,modified:p,onSave:g}){let b=y.has(r),[v,j]=(0,a.useState)(""),[C,k]=(0,a.useState)(!1),[N,w]=(0,a.useState)(null),S=async()=>{let e=v.trim();if(!(!e||n.includes(e))){k(!0),w(null);try{await g(r,[...n,e]),j("")}catch{}finally{k(!1)}}},A=async e=>{k(!0);try{await g(r,n.filter(t=>t!==e))}finally{k(!1)}},E=async()=>{if(d){k(!0),w(null);try{let e=await (0,f.pickDirectoryFromDesktop)({title:d.title,defaultPath:v.trim()||d.defaultPath});if(!e)return;if(n.includes(e)){j(e),w("That directory is already in the list.");return}await g(r,[...n,e]),j("")}catch(e){w(e instanceof Error?e.message:"Folder picker is unavailable.")}finally{k(!1)}}};return(0,t.jsxs)("div",{className:`py-2${p?" border-l-2 border-blue-500 pl-2 -ml-1 rounded":""}`,"data-config-key":r,children:[(0,t.jsxs)("p",{className:"text-sm text-muted-foreground mb-2 inline-flex items-center gap-1.5",children:[e,b&&(0,t.jsx)(h.RestartRequiredBadge,{}),p&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-blue-600 dark:text-blue-400",children:"modified"})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-1.5 mb-2",children:[n.map(e=>(0,t.jsxs)(u.Badge,{variant:l,className:"gap-1 pr-1",children:[e,(0,t.jsx)("button",{onClick:()=>A(e),disabled:C,className:"ml-0.5 rounded-sm hover:bg-black/10 dark:hover:bg-white/10 p-0.5 transition-colors",children:(0,t.jsx)(c.X,{className:"h-3 w-3"})})]},e)),0===n.length&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground italic",children:"No items"})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(x.Input,{value:v,onChange:e=>j(e.target.value),onKeyDown:e=>{"Enter"===e.key&&S()},placeholder:o,className:"max-w-[320px]",disabled:C}),d&&(0,t.jsxs)(m.Button,{size:"sm",variant:"outline",onClick:E,disabled:C,children:[(0,t.jsx)(s.FolderOpen,{className:"h-3.5 w-3.5 mr-1"}),d.buttonLabel??"Choose"]}),(0,t.jsxs)(m.Button,{size:"sm",variant:"outline",onClick:S,disabled:!v.trim()||C,children:[(0,t.jsx)(i.Plus,{className:"h-3.5 w-3.5 mr-1"}),"Add"]})]}),N&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive",children:N})]})},"EditableBooleanField",0,function({label:e,value:n,configKey:s,description:r,modified:i,defaultValue:o,onSave:c}){let[d,u]=(0,a.useState)(!1),p=y.has(s),x=void 0!==o&&n===o,g=async()=>{u(!0);try{await c(s,!n)}finally{u(!1)}},f=async()=>{if(void 0!==o){u(!0);try{await c(s,o)}finally{u(!1)}}};return(0,t.jsx)("div",{className:`py-1.5 group${i?" border-l-2 border-blue-500 pl-2 -ml-1 rounded":""}`,"data-config-key":s,children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("p",{className:"text-sm text-muted-foreground inline-flex items-center gap-1.5",children:[e,p&&(0,t.jsx)(h.RestartRequiredBadge,{}),i&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-blue-600 dark:text-blue-400",children:"modified"}),void 0!==o&&!x&&!i&&(0,t.jsxs)("button",{type:"button",onClick:f,className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(l.RotateCcw,{className:"h-2.5 w-2.5"}),"reset"]})]}),r&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:r})]}),(0,t.jsx)(m.Button,{variant:n?"default":"outline",size:"sm",onClick:g,disabled:d,children:n?"Enabled":"Disabled"})]})})},"EditableField",0,function({label:e,value:s,configKey:i,type:d="text",suffix:u,description:p,min:g,max:f,nullable:j=!1,emptyLabel:C="Not set",modified:k,defaultValue:N,onSave:w}){let S=y.has(i),[A,E]=(0,a.useState)(!1),[B,R]=(0,a.useState)(v(s)),[D,I]=(0,a.useState)(!1),[M,T]=(0,a.useState)(null),_=(0,a.useRef)(null),F=(0,b.useDiscardGeneration)(),P=(0,a.useRef)(F);(0,a.useEffect)(()=>{F!==P.current&&(P.current=F,E(!1),T(null))},[F]),(0,a.useEffect)(()=>{A&&_.current?.focus()},[A]),(0,a.useEffect)(()=>{A||R(v(s))},[s,A]);let O=void 0!==N&&s===N,L=async e=>{if(e.stopPropagation(),void 0!==N){I(!0);try{await w(i,N)}finally{I(!1)}}},q=async e=>{e.stopPropagation(),I(!0);try{await w(i,null)}finally{I(!1)}},G=async()=>{let e=B.trim(),t=j&&""===e?null:"number"===d?Number(B):B;if(t===s)return void E(!1);if(null!==t&&"number"===d&&(void 0!==g||void 0!==f)&&(void 0!==g&&t<g||void 0!==f&&t>f))return void T(`Must be ${g??""}–${f??""}`);T(null),I(!0);try{await w(i,t),E(!1)}catch{}finally{I(!1)}};return A?(0,t.jsxs)("div",{className:"py-1.5","data-config-key":i,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"text-sm text-muted-foreground shrink-0 min-w-[140px] inline-flex items-center gap-1.5",children:[e,S&&(0,t.jsx)(h.RestartRequiredBadge,{})]}),(0,t.jsx)(x.Input,{ref:_,type:d,value:B,onChange:e=>{R(e.target.value),T(null)},onKeyDown:e=>{"Enter"===e.key&&G(),"Escape"===e.key&&(R(v(s)),E(!1))},className:"max-w-[240px]",disabled:D,min:g,max:f}),u&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:u}),(0,t.jsx)(m.Button,{size:"sm",variant:"ghost",onClick:G,disabled:D,className:"h-7 w-7 p-0",children:(0,t.jsx)(n.Check,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(m.Button,{size:"sm",variant:"ghost",onClick:()=>{R(v(s)),T(null),E(!1)},className:"h-7 w-7 p-0",children:(0,t.jsx)(c.X,{className:"h-3.5 w-3.5"})})]}),M&&(0,t.jsx)("p",{className:"text-xs text-destructive mt-1 ml-[148px]",children:M}),p&&!M&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1 ml-[148px]",children:p})]}):(0,t.jsxs)("div",{className:`py-1.5 group cursor-pointer rounded px-1 -mx-1 hover:bg-muted/50 transition-colors${k?" border-l-2 border-blue-500 pl-2":""}`,"data-config-key":i,onClick:()=>E(!0),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-sm text-muted-foreground inline-flex items-center gap-1.5",children:[e,S&&(0,t.jsx)(h.RestartRequiredBadge,{})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[k&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-blue-600 dark:text-blue-400",children:"modified"}),void 0!==N&&!O&&!k&&(0,t.jsxs)("button",{type:"button",onClick:L,className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(l.RotateCcw,{className:"h-2.5 w-2.5"}),"reset"]}),j&&null!==s&&!k&&(0,t.jsxs)("button",{type:"button",onClick:q,title:`Clear — sets ${e} to ${C}`,className:"text-[10px] text-muted-foreground hover:text-destructive transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(o.Trash2,{className:"h-2.5 w-2.5"}),"clear"]}),(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:null===s?C:"$"===u?`$${s}`:u?`${s} ${u}`:String(s)}),(0,t.jsx)(r.Pencil,{className:"h-3 w-3 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity"})]})]}),p&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:p})]})}])},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:r,attention:i,actions:l}){let o=r>0&&s===r,c=r>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:[r>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,"/",r," connected"]}),l]})]}),n&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:n}),i&&(0,t.jsx)("p",{className:"text-xs text-amber-600 dark:text-amber-400",children:i})]})}])},20870,e=>{"use strict";var t=e.i(54710),a=e.i(48467),n=e.i(74490),s=e.i(81471);let r={connected:{variant:"green",label:"Connected"},configured:{variant:"amber",label:"Configured"},connecting:{variant:"amber",label:"Connecting…"},"needs-setup":{variant:"gray",label:"Not Configured"},error:{variant:"red",label:"Error"},disabled:{variant:"gray",label:"Disabled"}};e.s(["ConnectionCard",0,function({name:e,icon:i,status:l,error:o,metadata:c,children:d,className:u}){let m=r[l];return(0,t.jsxs)(n.Card,{tone:"connected"===l?"success":"error"===l?"error":"default",className:(0,s.cn)("relative",u),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:i}),(0,t.jsx)("h3",{className:"text-sm font-medium text-foreground",children:e})]}),(0,t.jsx)(a.Badge,{variant:m.variant,children:m.label})]}),o&&"connecting"!==l&&(0,t.jsx)("p",{className:"mb-2 text-xs text-red-600 dark:text-red-400",children:o}),c&&c.length>0&&(0,t.jsx)("div",{className:"mb-3 space-y-0.5",children:c.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:e.label}),(0,t.jsx)("span",{className:"text-foreground",children:e.value})]},e.label))}),d]})},"deriveConfiguredStatus",0,function(e){return e?"configured":"needs-setup"},"deriveIntegrationStatus",0,function(e){return e&&e.configured?e.error?"error":e.connected?"connected":"configured":"needs-setup"},"deriveMessagingStatus",0,function(e){return e&&"not_configured"!==e.runtimeState?"connecting"===e.runtimeState?"connecting":"error"===e.runtimeState?"error":"ok"===e.runtimeState?"connected":"configured":"needs-setup"},"messagingMetadata",0,function(e){if(e)return[{label:"Owner configured",value:e.ownerConfigured?"yes":"no"},{label:"Owner channel known",value:e.ownerChannelKnown?"yes":"no"},{label:"Reminder eligible",value:e.notificationEligible?"yes":"no"},{label:"Last inbound",value:e.lastInboundAt??"—"}]}])},78927,e=>{"use strict";let t=(0,e.i(77379).default)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);e.s(["Upload",0,t],78927)},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})}])},75750,e=>{"use strict";let t=(0,e.i(77379).default)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",0,t],75750)},59134,e=>{"use strict";let t=(0,e.i(77379).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],59134)},70986,e=>{"use strict";var t=e.i(34416),a=e.i(91967),n=e.i(9413),s=e.i(36567),r=e.i(18731),i=e.i(22353),l=e.i(85565),o=e.i(90816),c=e.i(11207),d=e.i(54710),u="Collapsible",[m,p]=(0,n.createContextScope)(u),[x,h]=m(u),g=t.forwardRef((e,a)=>{let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:o,onOpenChange:m,...p}=e,[h,g]=(0,s.useControllableState)({prop:r,defaultProp:i??!1,onChange:m,caller:u});return(0,d.jsx)(x,{scope:n,disabled:o,contentId:(0,c.useId)(),open:h,onOpenToggle:t.useCallback(()=>g(e=>!e),[g]),children:(0,d.jsx)(l.Primitive.div,{"data-state":C(h),"data-disabled":o?"":void 0,...p,ref:a})})});g.displayName=u;var f="CollapsibleTrigger",b=t.forwardRef((e,t)=>{let{__scopeCollapsible:n,...s}=e,r=h(f,n);return(0,d.jsx)(l.Primitive.button,{type:"button","aria-controls":r.contentId,"aria-expanded":r.open||!1,"data-state":C(r.open),"data-disabled":r.disabled?"":void 0,disabled:r.disabled,...s,ref:t,onClick:(0,a.composeEventHandlers)(e.onClick,r.onOpenToggle)})});b.displayName=f;var y="CollapsibleContent",v=t.forwardRef((e,t)=>{let{forceMount:a,...n}=e,s=h(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=h(y,n),[m,p]=t.useState(s),x=t.useRef(null),g=(0,i.useComposedRefs)(a,x),f=t.useRef(0),b=f.current,v=t.useRef(0),j=v.current,k=u.open||m,N=t.useRef(k),w=t.useRef(void 0);return t.useEffect(()=>{let e=requestAnimationFrame(()=>N.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,r.useLayoutEffect)(()=>{let e=x.current;if(e){w.current=w.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=w.current.transitionDuration,e.style.animationName=w.current.animationName),p(s)}},[u.open,s]),(0,d.jsx)(l.Primitive.div,{"data-state":C(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!k,...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:k&&o})});function C(e){return e?"open":"closed"}e.s(["Collapsible",0,g,"CollapsibleContent",0,v,"CollapsibleTrigger",0,b],70986)},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 r={gemini:{badgeLabel:"Vendor deprecation",shortSuffix:" (deprecated)",reason:"Google announced Gemini CLI will stop serving free, Pro, and Ultra requests on 2026-06-18 in favor of Antigravity CLI. Standard / Enterprise licenses keep access. Avoid binding new processes to Gemini if you rely on consumer-tier auth."}},i={claude:"Claude",codex:"Codex",gemini:"Gemini",opencode:"OpenCode"},l={claude:["#7C2D12","#B54B2D","#E15B40","#F97316","#FDBA74"],codex:["#86198F","#A21CAF","#D946EF","#E879F9","#F5D0FE"],gemini:["#1E3A8A","#1D4ED8","#1C69FF","#60A5FA","#93C5FD"],opencode:["#7C2D12","#C2410C","#FF7300","#F59E0B","#FCD34D"]},o=["#6b7280","#9ca3af","#4b5563","#374151"],c={claude:"orange",codex:"pink",gemini:"blue",opencode:"orange"},d={"routine.morning_routine":"Morning Routine","routine.evening_review":"Evening Review","routine.weekly_review":"Weekly Review","routine.monthly_review":"Monthly Review","routine.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 m(e){if(!e)return null;let t=e.toLowerCase();return/^[a-z0-9_.-]+\/[a-z0-9_.-]+/.test(t)?"opencode":t.includes("claude")||t.includes("sonnet")||t.includes("opus")||t.includes("haiku")?"claude":t.includes("gemini")?"gemini":t.includes("gpt")||t.includes("codex")||t.includes("o3")||t.includes("o4")?"codex":null}e.s(["BACKEND_BADGE_VARIANTS",0,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=m(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 r;r=s>=t.length?n%t.length:1===s?Math.floor(t.length/2):Math.floor((n+.5)*t.length/s),a[e]=t[r]})}return a},"detectBackendFromModel",0,m,"formatModelName",0,function(e){return e?e.replace(/^[a-z0-9_.-]+\//i,"").replace(/^claude-/,"Claude ").replace(/^gpt-/,"GPT-").replace(/^gemini-/,"Gemini ").replace(/-/g," ").replace(/\bpreview\b/gi,"(preview)").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\bcodex\b/gi,"Codex").replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\s+/g," ").trim():"Not set"},"formatShortModelName",0,function(e){if(!e)return"unknown";if("opus"===e)return"Opus";if("sonnet"===e)return"Sonnet";let t=e.replace(/^[a-z0-9_.-]+\//i,""),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 r[e]??null},"getBackendLabel",0,function(e){return a[e]},"getBackendShortLabel",0,function(e){return i[e]},"getProcessGroup",0,function(e){return e.startsWith("wiki.")?"Wiki":e.startsWith("message.")||e.startsWith("dashboard.")?"Conversation":e.startsWith("routine.")?"Routines":e.startsWith("git.")||e.startsWith("github.")?"Git & GitHub":e.startsWith("calendar.")||"gmail_classify"===e?"Integrations":"Tasks"},"getProcessLabel",0,function(e){return d[e]??e},"isBackendSelectionDisabled",0,function(e){return!(0,t.isRuntimeAvailableBackendId)(e)||s(e)},"isUiPreviewOnlyBackend",0,s,"modelBadgeVariant",0,function(e){if(!e)return"gray";let t=m(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})}])},40974,e=>{"use strict";let t=(0,e.i(77379).default)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);e.s(["Lock",0,t],40974)},67490,e=>{"use strict";var t=e.i(14260),a=e.i(57415),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:r=!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:r&&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),r=e.i(72740),i=e.i(21682),l=e.i(7663),o=e.i(75750),c=e.i(74490),d=e.i(20014),u=e.i(48467),m=e.i(79634),p=e.i(10427),x=e.i(65268),h=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,h.useBackends)(),{data:C}=(0,g.useProcessConfig)(),[k,N]=(0,a.useState)(!1),[w,S]=(0,a.useState)(null),[A,E]=(0,a.useState)(null),[B,R]=(0,a.useState)(!1),[D,I]=(0,a.useState)(null),M=C?.configs.find(t=>t.processKey===e),T=new Map((j?.backends??[]).map(e=>[e.id,e])),_=(j?.backends??[]).filter(e=>e.enabled);if(!j||!C||!M)return null;let F=T.get(M.mainBackend),P=F?.models.find(e=>e.modelId===M.mainModel)?.label??(0,f.formatModelName)(M.mainModel),O=w?T.get(w):null,L=O?.models??[];async function q(){if(w&&A){R(!0),I(null);try{await x.api.put(`/process-config/${e}`,{mainBackend:w,mainModel:A,fallbackBackend:M.fallbackBackend,fallbackModel:M.fallbackModel,maxTurns:M.maxTurns,maxBudgetUsd:M.maxBudgetUsd}),await v.invalidateQueries({queryKey:["process-config"]}),I({type:"success",message:"Saved"}),N(!1)}catch(t){let e=t instanceof x.ApiError?t.body:null;I({type:"error",message:"string"==typeof e?.error?e.error:t instanceof Error?t.message:"Save failed"})}finally{R(!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"===M.updatedBy&&(0,t.jsx)(u.Badge,{variant:"blue",className:"text-xs",children:"Custom"})]}),!k&&(0,t.jsxs)(d.Button,{variant:"ghost",size:"sm",onClick:function(){S(M.mainBackend),E(M.mainModel),I(null),N(!0)},className:"h-8",children:[(0,t.jsx)(i.Pencil,{className:"h-3.5 w-3.5"}),"Edit"]})]}),!k&&(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[M.mainBackend],children:(0,f.getBackendLabel)(M.mainBackend)}),(0,t.jsx)("span",{className:"text-muted-foreground",children:P}),(0,t.jsx)(u.Badge,{variant:"high"===M.defaultTier?"purple":"medium"===M.defaultTier?"blue":"default",className:"text-xs",children:M.defaultTier})]}),y&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:y})]}),k&&(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)(p.Select,{value:w??"",onValueChange:e=>(function(e){var t,a;let n,s=T.get(e);if(!s)return;S(e);let r=(t=s.models,a=M.defaultTier,(n=t.filter(e=>e.tier===a)).length>0?n:t);E(r[0]?.modelId??s.models[0]?.modelId??"")})(e),children:[(0,t.jsx)(p.SelectTrigger,{children:(0,t.jsx)(p.SelectValue,{})}),(0,t.jsx)(p.SelectContent,{children:_.map(e=>{let a=(0,f.isUiPreviewOnlyBackend)(e.id);return(0,t.jsxs)(p.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)(p.Select,{value:A??"",onValueChange:e=>E(e),children:[(0,t.jsx)(p.SelectTrigger,{children:(0,t.jsx)(p.SelectValue,{})}),(0,t.jsx)(p.SelectContent,{children:L.map(e=>(0,t.jsx)(p.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),S(null),E(null)},disabled:B,children:[(0,t.jsx)(o.XCircle,{className:"h-3.5 w-3.5"}),"Cancel"]}),(0,t.jsxs)(d.Button,{size:"sm",onClick:()=>{q()},disabled:B||!A,children:[B?(0,t.jsx)(r.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(l.Save,{className:"h-3.5 w-3.5"}),"Save"]})]})]}),D&&(0,t.jsx)(m.Alert,{variant:"success"===D.type?"success":"error",className:"mt-3",children:D.message})]})}])},85090,e=>{"use strict";var t=e.i(54710),a=e.i(34416),n=e.i(95486),s=e.i(88423),r=e.i(75187),i=e.i(13451),l=e.i(65268),o=e.i(20014),c=e.i(79634),d=e.i(70986),u=e.i(16047),m=e.i(78927),p=e.i(59546),x=e.i(52387),h=e.i(81471),g=e.i(88),f=e.i(20870);function b({label:e,accept:n,onUpload:s,configured:r}){let[i,l]=(0,a.useState)(!1),[d,u]=(0,a.useState)(null),x=(0,a.useRef)(null),h=(0,a.useCallback)(async e=>{l(!0),u(null);try{await s(e),u({type:"success",fileName:e.name})}catch(e){u({type:"error",message:e instanceof Error?e.message:"Upload failed"})}finally{l(!1)}},[s]);return(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{ref:x,type:"file",accept:n,className:"hidden",onChange:e=>{let t=e.target.files?.[0];t&&h(t),e.target.value=""}}),(0,t.jsxs)(o.Button,{size:"sm",variant:r?"outline":"default",onClick:()=>x.current?.click(),disabled:i,className:"text-xs",children:[(0,t.jsx)(m.Upload,{className:"h-3.5 w-3.5 mr-1"}),i?"Uploading...":e]}),r&&(0,t.jsx)(p.CheckCircle2,{className:"h-4 w-4 text-emerald-500"})]}),d&&(0,t.jsx)(c.Alert,{variant:"success"===d.type?"success":"error",children:"success"===d.type?(0,t.jsxs)("span",{className:"block break-all",title:d.fileName,children:[function(e,t=36){if(e.length<=t)return e;let a=Math.floor((t-1)/2);return`${e.slice(0,t-1-a)}…${e.slice(-a)}`}(d.fileName)," uploaded"]}):(0,t.jsx)("span",{className:"block break-all",children:d.message})})]})}function y(){return(0,t.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("path",{d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1Z",fill:"#4285F4"}),(0,t.jsx)("path",{d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23Z",fill:"#34A853"}),(0,t.jsx)("path",{d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18A10.96 10.96 0 0 0 1 12c0 1.77.42 3.45 1.18 4.93l3.66-2.84Z",fill:"#FBBC05"}),(0,t.jsx)("path",{d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53Z",fill:"#EA4335"})]})}e.s(["GoogleCard",0,function(){let{data:e}=(0,s.useConfig)(),{data:m}=(0,r.useHealth)(),{toast:v,saveField:j}=(0,i.useSaveConfig)(),C=(0,n.useQueryClient)(),k=m?.integrations?.google,[N,w]=(0,a.useState)(!1),[S,A]=(0,a.useState)(null),E=(0,a.useRef)(null),B=e?.googleCalendarCredentialsConfigured??!1,R=e?.googleCalendarTokenConfigured??!1,D=e?.googleCredentialType==="service_account",I=async e=>{await l.api.upload("/config/upload/google-credentials",e),C.invalidateQueries({queryKey:["config"]}),C.invalidateQueries({queryKey:["health"]})};(0,a.useEffect)(()=>()=>{E.current&&clearInterval(E.current)},[]),(0,a.useEffect)(()=>{let e=e=>{e.origin.startsWith("http://localhost")&&e.data?.type==="google-auth-success"&&(E.current&&(clearInterval(E.current),E.current=null),w(!1),C.invalidateQueries({queryKey:["config"]}),C.invalidateQueries({queryKey:["health"]}))};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[C]);let M=async()=>{w(!0),A(null);try{let e=await l.api.post("/config/google-auth/start"),t=window.open(e.authUrl,"google-auth","width=600,height=700");if(!t){A("Popup blocked. Allow popups for this site and try again."),w(!1);return}E.current=setInterval(()=>{t.closed&&(E.current&&(clearInterval(E.current),E.current=null),w(!1),C.invalidateQueries({queryKey:["config"]}),C.invalidateQueries({queryKey:["health"]}))},1e3)}catch(e){A(e instanceof Error?e.message:"Failed to start authorization"),w(!1)}};if(!e||!m)return null;let T=k?.services?.calendar,_=k?.services?.gmail,F=N?"connecting":(0,f.deriveIntegrationStatus)(k);return(0,t.jsxs)(f.ConnectionCard,{name:"Google",icon:(0,t.jsx)(y,{}),status:F,error:k?.error,children:[k?.configured&&(0,t.jsxs)("div",{className:"flex gap-4 mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,t.jsx)("span",{className:(0,h.cn)("inline-block h-2 w-2 rounded-full",T?.connected?"bg-emerald-500":"bg-gray-300 dark:bg-gray-600")}),(0,t.jsx)("span",{className:"text-muted-foreground",children:"Calendar"}),(0,t.jsx)("span",{className:T?.connected?"text-emerald-600 dark:text-emerald-400":"text-muted-foreground",children:T?.connected?"Active":"Inactive"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,t.jsx)("span",{className:(0,h.cn)("inline-block h-2 w-2 rounded-full",_?.connected?"bg-emerald-500":"bg-gray-300 dark:bg-gray-600")}),(0,t.jsx)("span",{className:"text-muted-foreground",children:"Gmail"}),(0,t.jsx)("span",{className:_?.connected?"text-emerald-600 dark:text-emerald-400":"text-muted-foreground",children:_?.connected?"Active":"Not yet implemented"})]})]}),(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"1. Upload credentials"}),(0,t.jsx)(b,{label:"Credentials JSON",accept:".json,application/json",onUpload:I,configured:B})]}),!D&&(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"2. Authorize"}),(0,t.jsxs)(o.Button,{size:"sm",variant:R?"outline":"default",onClick:M,disabled:!B||N,className:"text-xs",children:[(0,t.jsx)(x.ExternalLink,{className:"h-3.5 w-3.5 mr-1"}),N?"Waiting...":R?"Re-authorize":"Authorize with Google"]}),R&&(0,t.jsx)(p.CheckCircle2,{className:"inline-block ml-2 h-4 w-4 text-emerald-500"}),S&&(0,t.jsx)(c.Alert,{variant:"error",className:"mt-1",children:S}),!B&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Upload credentials first"})]})]}),!k?.connected&&B&&(D||R)&&(0,t.jsxs)(c.Alert,{variant:"warning",className:"mt-3",children:[D?"Service account configured.":"Authorized."," Restart the daemon to connect."]}),(0,t.jsxs)(d.Collapsible,{children:[(0,t.jsxs)(d.CollapsibleTrigger,{className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground mt-3",children:["Advanced setup notes ",(0,t.jsx)(u.ChevronDown,{className:"h-3 w-3"})]}),(0,t.jsx)(d.CollapsibleContent,{children:(0,t.jsxs)("div",{className:"mt-2 rounded bg-muted/50 p-2 space-y-1 text-xs",children:[(0,t.jsx)("p",{className:"font-medium text-muted-foreground",children:"Secrets are stored in the macOS Keychain."}),(0,t.jsx)("p",{className:"text-muted-foreground",children:"Use the upload button above for credentials JSON, then complete OAuth in the browser."}),(0,t.jsx)("p",{className:"text-muted-foreground mt-1",children:"Same credentials are used for Calendar and Gmail (scopes: calendar, gmail.modify, gmail.send)."}),(0,t.jsx)("p",{className:"text-muted-foreground",children:'Calendar ID defaults to "primary" and can be changed below.'})]})})]}),k?.configured&&(0,t.jsxs)("div",{className:"mt-3 pt-3 border-t border-border",children:[v&&(0,t.jsx)(c.Alert,{variant:v.type,className:"mb-2",children:v.message}),(0,t.jsx)(g.EditableField,{label:"Calendar ID",value:e.googleCalendarId,configKey:"googleCalendarId",description:'Use "primary" for your main calendar, or paste a full calendar ID (e.g. abc123@group.calendar.google.com) for a secondary or shared calendar.',onSave:j})]})]})}])},1026,e=>{"use strict";var t=e.i(54710),a=e.i(88423),n=e.i(75187),s=e.i(34416),r=e.i(25239),i=e.i(52387),l=e.i(65268),o=e.i(90826),c=e.i(79634),d=e.i(48467),u=e.i(20014),m=e.i(74490),p=e.i(8652),x=e.i(57628);function h(){let e=(0,o.useConfirm)(),[a,n]=(0,s.useState)(null),[h,g]=(0,s.useState)([]),[f,b]=(0,s.useState)(null),[y,v]=(0,s.useState)(""),[j,C]=(0,s.useState)(""),[k,N]=(0,s.useState)(!1),[w,S]=(0,s.useState)(null),[A,E]=(0,s.useState)(null),B=(0,s.useCallback)(async()=>{try{let e=await l.api.get("/apple-calendar/status");if(n(e),e.available)try{let e=await l.api.get("/apple-calendar/calendars");g(e.calendars),b(null)}catch(e){g([]),b(e instanceof Error?e.message:"Failed to load calendars")}else g([]),b(null)}catch{n(null)}},[]);(0,s.useEffect)(()=>{B()},[B]);let R=async()=>{N(!0),S(null),E(null);try{let e=await l.api.post("/apple-calendar/credentials",{email:y.trim(),appPassword:j.trim()});E(`Connected as ${e.email}. ${e.calendars.length} calendar${1===e.calendars.length?"":"s"} discovered.`),v(""),C(""),await B()}catch(e){S(e instanceof l.ApiError||e instanceof Error?e.message:"Failed to connect")}finally{N(!1)}},D=async()=>{if(await e({title:"Disconnect Apple Calendar?",description:"The app-specific password will be removed from the OS keychain. The agent will no longer be able to read or write your iCloud calendar until you reconnect.",confirmLabel:"Disconnect"})){N(!0),S(null),E(null);try{await l.api.delete("/apple-calendar/credentials"),E("Apple Calendar disconnected."),await B()}catch(e){S(e instanceof Error?e.message:"Failed to disconnect")}finally{N(!1)}}},I=async e=>{N(!0),S(null);try{let t=await l.api.post("/apple-calendar/default-calendar",{calendarUrl:e});g(t.calendars)}catch(e){S(e instanceof Error?e.message:"Failed to set primary")}finally{N(!1)}},M=a?.available?"success":a?.configured?"warning":"default",T=a?.available?"Connected":a?.configured?"Auth issue":"Not connected",_=a?.available?"green":a?.configured?"amber":"gray";return(0,t.jsxs)(m.Card,{tone:M,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)(r.Calendar,{className:"h-4 w-4 text-muted-foreground shrink-0"}),(0,t.jsx)("h3",{className:"text-base font-semibold text-foreground truncate",children:"Apple Calendar (iCloud)"})]}),(0,t.jsx)(d.Badge,{variant:_,children:T})]}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Read and write events on your iCloud calendar over CalDAV. The daemon authenticates with an Apple ID app-specific password — the same kind used by iCloud Mail — and stores it in the OS keychain."}),(0,t.jsx)(x.Separator,{className:"my-4"}),!a?.available&&(0,t.jsxs)("div",{className:"space-y-3",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-specific password"}),(0,t.jsxs)("p",{className:"text-muted-foreground",children:["Apple only allows app-specific passwords on Apple IDs that have two-factor authentication turned on."," ",(0,t.jsxs)("a",{href:"https://account.apple.com",target:"_blank",rel:"noreferrer",className:"underline inline-flex items-center gap-0.5",children:["Open Apple Account ",(0,t.jsx)(i.ExternalLink,{className:"h-3 w-3"})]}),", then go to ",(0,t.jsx)("strong",{children:"Sign-In and Security"})," →"," ",(0,t.jsx)("strong",{children:"App-Specific Passwords"})," →"," ",(0,t.jsx)("strong",{children:"Generate an app-specific password"}),"."]}),(0,t.jsxs)("p",{className:"text-muted-foreground",children:["Apple shows a 19-character password in the form"," ",(0,t.jsx)("code",{children:"xxxx-xxxx-xxxx-xxxx"}),". Copy it exactly — the dashes are required."]})]}),(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"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:"apple-cal-email",children:"Apple ID email"}),(0,t.jsx)(p.Input,{id:"apple-cal-email",value:y,onChange:e=>v(e.target.value),placeholder:"you@icloud.com",className:"h-8 text-xs",autoComplete:"username"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground mb-1",htmlFor:"apple-cal-password",children:"App-specific password"}),(0,t.jsx)(p.Input,{id:"apple-cal-password",type:"password",value:j,onChange:e=>C(e.target.value),placeholder:"xxxx-xxxx-xxxx-xxxx",className:"h-8 text-xs",autoComplete:"current-password"}),(0,t.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:"Format: xxxx-xxxx-xxxx-xxxx. Dashes are required — paste, don't retype."})]}),(0,t.jsx)(u.Button,{size:"sm",onClick:()=>void R(),disabled:k||0===y.trim().length||0===j.trim().length,className:"h-7 text-xs px-3",children:k?"Authenticating…":"Authenticate"})]})]}),a?.available&&0===h.length&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(c.Alert,{variant:"warning",children:f?`Could not load the calendar list — ${f}. Try refreshing the page; if the error persists, disconnect and re-authenticate.`:"Connected, but no calendars are visible. iCloud may still be syncing — refresh in a moment."}),(0,t.jsx)(u.Button,{size:"sm",variant:"ghost",onClick:()=>void D(),disabled:k,className:"h-7 text-xs px-3 text-destructive",children:"Disconnect"})]}),a?.available&&h.length>0&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-foreground",children:"Calendars"}),(0,t.jsx)("ul",{className:"rounded-md border border-border divide-y divide-border",children:h.map(e=>(0,t.jsxs)("li",{className:"flex items-center justify-between px-3 py-2 text-xs",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"font-medium truncate",children:e.summary}),e.description&&(0,t.jsx)("div",{className:"text-muted-foreground truncate",children:e.description})]}),e.primary?(0,t.jsx)(d.Badge,{variant:"green",children:"Primary"}):(0,t.jsx)(u.Button,{size:"sm",variant:"ghost",className:"h-6 text-[11px] px-2",disabled:k,onClick:()=>void I(e.id),children:"Set primary"})]},e.id))}),(0,t.jsx)(u.Button,{size:"sm",variant:"ghost",onClick:()=>void D(),disabled:k,className:"h-7 text-xs px-3 text-destructive",children:"Disconnect"})]}),A&&(0,t.jsx)(c.Alert,{variant:"success",className:"mt-3",children:A}),w&&(0,t.jsx)(c.Alert,{variant:"error",className:"mt-3",children:w})]})}var g=e.i(85090),f=e.i(32077);function b(){let{data:e}=(0,a.useConfig)(),{data:s}=(0,n.useHealth)();return e&&s?(0,t.jsx)(f.IntegrationCard,{integrationKey:"outlook_calendar"}):null}var y=e.i(32220),v=e.i(85631);e.s(["default",0,function(){let{data:e,isLoading:s}=(0,a.useConfig)(),{data:r,isLoading:i}=(0,n.useHealth)(),l=s||i,o=!l&&(!e||!r),c=r?.integrations?.google?.services?.calendar?.connected??!1,d=r?.integrationModes?.google_calendar?.mode==="delegated";return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(v.ConnectionsSectionHeader,{title:"Calendar",description:"Google, Outlook, and Apple calendars. Google and Outlook reuse the OAuth from their matching Mail account — manage those accounts on the Mail page. Apple Calendar uses a separate CalDAV credential set up here.",healthy:+!!c,total:1}),o&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Daemon not connected. Start the daemon to configure calendar access."}),!l&&(0,t.jsxs)("div",{id:"google",className:"space-y-4",children:[(0,t.jsx)(f.IntegrationCard,{integrationKey:"google_calendar"}),(0,t.jsx)(g.GoogleCard,{}),!d&&(0,t.jsx)(y.ProcessModelCard,{processKey:"calendar.change",title:"Calendar Event Model",description:"Runs when the daemon-side poller detects a calendar change. Light-tier (Haiku 4.5 / gpt-5.4-mini) handles event classification at low cost."})]}),!l&&(0,t.jsx)("div",{id:"outlook",className:"space-y-4",children:(0,t.jsx)(b,{})}),!l&&(0,t.jsx)("div",{id:"apple",className:"space-y-4",children:(0,t.jsx)(h,{})})]})}],1026)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74490,e=>{"use strict";var t=e.i(54710),r=e.i(81471);let i=(0,e.i(94237).cva)("rounded-xl border p-5 shadow-[0_1px_3px_rgb(0_0_0/0.04)]",{variants:{tone:{default:"border-border bg-card",warning:"border-amber-200 bg-amber-50/50 dark:border-amber-900 dark:bg-amber-950/30",success:"border-emerald-200 bg-emerald-50/50 dark:border-emerald-900 dark:bg-emerald-950/30",error:"border-red-200 bg-red-50/50 dark:border-red-900 dark:bg-red-950/30"},interactive:{true:"transition-shadow duration-150 hover:shadow-[0_4px_6px_rgb(0_0_0/0.06)]",false:""}},defaultVariants:{tone:"default",interactive:!1}});e.s(["Card",0,function({className:e,tone:n,interactive:s,...a}){return(0,t.jsx)("div",{className:(0,r.cn)(i({tone:n,interactive:s}),e),...a})},"CardHeader",0,function({className:e,...i}){return(0,t.jsx)("div",{className:(0,r.cn)("mb-3 flex items-center justify-between",e),...i})},"CardStatLabel",0,function({className:e,...i}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-sm font-medium text-muted-foreground",e),...i})},"CardTitle",0,function({className:e,...i}){return(0,t.jsx)("h3",{className:(0,r.cn)("text-lg font-semibold text-foreground",e),...i})},"CardValue",0,function({className:e,...i}){return(0,t.jsx)("div",{className:(0,r.cn)("text-3xl font-bold text-foreground",e),...i})}])},39982,e=>{"use strict";var t=e.i(54710),r=e.i(81471);e.s(["PageHeader",0,function({title:e,description:i,icon:n,badge:s,actions:a,children:l,className:o}){return(0,t.jsxs)("header",{className:(0,r.cn)("flex flex-col gap-1",o),children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[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}),s]}),a&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:a})]}),i&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:i}),l]})}])},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)},76176,e=>{"use strict";e.i(18446);var t=e.i(38082);let r={claude:"Claude Code",codex:"OpenAI Codex",gemini:"Gemini CLI",opencode:"OpenCode"},i=new Set(["opencode"]);function n(e){return i.has(e)}let s={gemini:{badgeLabel:"Vendor deprecation",shortSuffix:" (deprecated)",reason:"Google announced Gemini CLI will stop serving free, Pro, and Ultra requests on 2026-06-18 in favor of Antigravity CLI. Standard / Enterprise licenses keep access. Avoid binding new processes to Gemini if you rely on consumer-tier auth."}},a={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"],u={claude:"orange",codex:"pink",gemini:"blue",opencode:"orange"},c={"routine.morning_routine":"Morning Routine","routine.evening_review":"Evening Review","routine.weekly_review":"Weekly Review","routine.monthly_review":"Monthly Review","routine.hourly_check":"Hourly Check","routine.roadmap_refresh":"Roadmap Refresh","message.dm":"Direct Messages","message.mention":"Mentions","dashboard.chat":"Dashboard Chat","agent.task":"Scheduled Tasks","calendar.change":"Calendar Events",gmail_classify:"Gmail Classification","github.pull_request.review_requested":"GitHub Review Requests","github.assigned":"GitHub Assignments","github.security_alert":"GitHub Security Alerts","github.workflow_run.failed":"GitHub CI Failures","wiki.ingest_url":"Wiki URL Ingest","wiki.compile":"Wiki Compile","wiki.ask":"Wiki Ask"};function d(e){let t;if(!e)return[];try{t=JSON.parse(e)}catch{return[]}if(!t||"object"!=typeof t)return[];let r=[];for(let[e,i]of Object.entries(t))i&&"object"==typeof i&&r.push({modelId:e,inputTokens:"number"==typeof i.inputTokens?i.inputTokens:0,outputTokens:"number"==typeof i.outputTokens?i.outputTokens:0,costUsd:"number"==typeof i.costUsd?i.costUsd:0});return r.sort((e,t)=>t.costUsd-e.costUsd)}function g(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,u,"BACKEND_COLORS",0,{claude:"#E15B40",codex:"#D946EF",gemini:"#1C69FF",opencode:"#FF7300"},"BACKEND_LABELS",0,r,"BACKEND_PROVIDER_LABELS",0,{claude:"Claude (Anthropic)",codex:"ChatGPT (OpenAI)",gemini:"Gemini (Google)",opencode:"OpenCode (sst/opencode)"},"BACKEND_PROVIDER_SHORT",0,{claude:"Claude",codex:"ChatGPT",gemini:"Gemini",opencode:"OpenCode"},"BACKEND_WEB_SEARCH_DESCRIPTIONS",0,{claude:"Lets the agent call Anthropic's built-in WebSearch tool.",codex:"Lets the agent call OpenAI's web_search tool. Works in safe (sandbox) mode — the tool runs at OpenAI, not as a local shell command.",gemini:"Lets the agent call Gemini's google_web_search tool.",opencode:"Lets the agent call the configured OpenCode provider's web-search tool when the OpenCode runtime is enabled."},"CHART_CATEGORY_PALETTE",0,["#3b82f6","#10b981","#f59e0b","#8b5cf6","#ec4899","#14b8a6","#f97316","#6366f1","#ef4444","#22c55e"],"UI_PREVIEW_ONLY_BADGE_SUFFIX",0," (coming soon)","UI_PREVIEW_ONLY_REASON",0,"Coming soon — OpenCode is wired internally but not yet ready for selection in this release. The card stays visible so you can see what is on the roadmap.","assignModelColors",0,function(e){let t=new Map;for(let r of e){if(!r)continue;let e=g(r)??"other",i=t.get(e)??[];i.push(r),t.set(e,i)}let r={};for(let[e,i]of t){i.sort((e,t)=>e.localeCompare(t));let t="other"===e?o:l[e],n=i.length;i.forEach((e,i)=>{let s;s=n>=t.length?i%t.length:1===n?Math.floor(t.length/2):Math.floor((i+.5)*t.length/n),r[e]=t[s]})}return r},"detectBackendFromModel",0,g,"formatModelName",0,function(e){return e?e.replace(/^[a-z0-9_.-]+\//i,"").replace(/^claude-/,"Claude ").replace(/^gpt-/,"GPT-").replace(/^gemini-/,"Gemini ").replace(/-/g," ").replace(/\bpreview\b/gi,"(preview)").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\bcodex\b/gi,"Codex").replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\s+/g," ").trim():"Not set"},"formatShortModelName",0,function(e){if(!e)return"unknown";if("opus"===e)return"Opus";if("sonnet"===e)return"Sonnet";let t=e.replace(/^[a-z0-9_.-]+\//i,""),r=t.replace(/-\d{8,}$/,"").replace(/^claude-/,"").replace(/(\d+)-(\d+)(?![-\d])/g,"$1.$2").replace(/-/g," ");return t.startsWith("gpt-")&&(r=`GPT-${r.replace(/^gpt\s*/i,"")}`),t.startsWith("gemini-")&&(r=r.replace(/^gemini\s*/i,"Gemini ")),r.replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\s+/g," ").trim()},"getBackendDeprecation",0,function(e){return s[e]??null},"getBackendLabel",0,function(e){return r[e]},"getBackendShortLabel",0,function(e){return a[e]},"getProcessGroup",0,function(e){return e.startsWith("wiki.")?"Wiki":e.startsWith("message.")||e.startsWith("dashboard.")?"Conversation":e.startsWith("routine.")?"Routines":e.startsWith("git.")||e.startsWith("github.")?"Git & GitHub":e.startsWith("calendar.")||"gmail_classify"===e?"Integrations":"Tasks"},"getProcessLabel",0,function(e){return c[e]??e},"isBackendSelectionDisabled",0,function(e){return!(0,t.isRuntimeAvailableBackendId)(e)||n(e)},"isUiPreviewOnlyBackend",0,n,"modelBadgeVariant",0,function(e){if(!e)return"gray";let t=g(e);return t?u[t]:"gray"},"parseModelUsage",0,d,"pickDisplayModel",0,function(e,t){let r=d(t);return r.length>0&&r[0]?r[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)},49785,e=>{"use strict";var t=e.i(54710),r=e.i(63991),i=e.i(72740),n=e.i(20014),s=e.i(81471);function a(){return(0,t.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,t.jsx)(i.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})})}function l({error:e,onRetry:i}){return(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-16",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-destructive",children:[(0,t.jsx)(r.AlertCircle,{className:"h-5 w-5"}),(0,t.jsx)("p",{className:"text-sm font-medium",children:"Failed to load data"})]}),e?.message&&(0,t.jsx)("p",{className:"max-w-md text-center text-xs text-muted-foreground",children:e.message}),i&&(0,t.jsx)(n.Button,{variant:"outline",size:"sm",onClick:i,children:"Retry"})]})}e.s(["CardSkeleton",0,function({count:e=3}){return(0,t.jsx)("div",{className:(0,s.cn)("grid gap-4",e<=2?"grid-cols-1 md:grid-cols-2":4===e?"grid-cols-2 md:grid-cols-4":"grid-cols-1 md:grid-cols-3"),children:Array.from({length:e}).map((e,r)=>(0,t.jsx)("div",{className:"h-28 animate-pulse rounded-xl border border-border bg-muted/30"},r))})},"QueryResult",0,function({isLoading:e,isError:r,error:i,onRetry:n,skeleton:o,className:u,children:c}){return e?(0,t.jsx)("div",{className:(0,s.cn)(u),children:o??(0,t.jsx)(a,{})}):r?(0,t.jsx)("div",{className:(0,s.cn)(u),children:(0,t.jsx)(l,{error:i,onRetry:n})}):(0,t.jsx)(t.Fragment,{children:c})},"TableSkeleton",0,function({rows:e=5}){return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("div",{className:"h-10 animate-pulse rounded-lg bg-muted/40"}),Array.from({length:e}).map((e,r)=>(0,t.jsx)("div",{className:"h-12 animate-pulse rounded-lg bg-muted/20"},r))]})}])},75540,e=>{"use strict";var t=e.i(46437),r=e.i(49457),i=class extends t.QueryObserver{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){super.setOptions({...e,behavior:(0,r.infiniteQueryBehavior)()})}getOptimisticResult(e){return e.behavior=(0,r.infiniteQueryBehavior)(),super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){let{state:i}=e,n=super.createResult(e,t),{isFetching:s,isRefetching:a,isError:l,isRefetchError:o}=n,u=i.fetchMeta?.fetchMore?.direction,c=l&&"forward"===u,d=s&&"forward"===u,g=l&&"backward"===u,h=s&&"backward"===u;return{...n,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,r.hasNextPage)(t,i.data),hasPreviousPage:(0,r.hasPreviousPage)(t,i.data),isFetchNextPageError:c,isFetchingNextPage:d,isFetchPreviousPageError:g,isFetchingPreviousPage:h,isRefetchError:o&&!c&&!g,isRefetching:a&&!d&&!h}}},n=e.i(98757);e.s(["useInfiniteQuery",0,function(e,t){return(0,n.useBaseQuery)(e,i,t)}],75540)},89883,e=>{"use strict";let t=(0,e.i(77379).default)("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);e.s(["Mail",0,t],89883)},42455,e=>{"use strict";var t=e.i(14260),r=e.i(65268);e.s(["useScheduleNext",0,function(){return(0,t.useQuery)({queryKey:["schedule-next"],queryFn:()=>r.api.get("/schedule/next"),refetchInterval:3e4})}])},34855,e=>{"use strict";var t=e.i(14260),r=e.i(65268);e.s(["useMetrics",0,function(e){return(0,t.useQuery)({queryKey:["metrics"],queryFn:()=>r.api.get("/metrics"),refetchInterval:3e4,enabled:e?.enabled??!0})}])},36516,e=>{"use strict";e.s(["EVENT_TYPE_COLORS",0,{"message.received":"blue","routine.morning_routine":"green","routine.evening_review":"green","routine.hourly_check":"teal","scheduled.task":"purple","git.push":"gray","schedule.approaching":"amber"},"RESULT_COLORS",0,{success:"green",failed:"red",partial:"amber",skipped:"gray"}])},68741,e=>{"use strict";var t=e.i(75540),r=e.i(65268);e.s(["useEvents",0,function(e,i){return(0,t.useInfiniteQuery)({queryKey:["events",e],queryFn:({pageParam:t=1})=>r.api.get("/events",{page:t,limit:50,type:e?.type,result:e?.result,days:e?.days}),getNextPageParam:e=>e.pagination.page<e.pagination.totalPages?e.pagination.page+1:void 0,initialPageParam:1,enabled:i?.enabled})}])},92134,e=>{"use strict";var t=e.i(14260),r=e.i(57415),i=e.i(95486),n=e.i(65268);e.s(["useBookHighlights",0,function(e,r){return(0,t.useQuery)({queryKey:["book-highlights",e,r],queryFn:()=>n.api.get(`/books/${e}/highlights`,{limit:r??100}),enabled:null!==e,staleTime:3e4})},"useBooks",0,function(e){return(0,t.useQuery)({queryKey:["books",e],queryFn:()=>n.api.get("/books",{status:e?.status??"all",source:e?.source??"all",limit:e?.limit??50,offset:e?.offset??0}),staleTime:3e4})},"useBooksSummary",0,function(e){return(0,t.useQuery)({queryKey:["books-summary",e],queryFn:()=>n.api.get("/books/summary",{months:e??12}),staleTime:6e4})},"useImportClippings",0,function(){let e=(0,i.useQueryClient)();return(0,r.useMutation)({mutationFn:({data:e})=>n.api.post("/books/import-clippings",{data:e}),onSuccess:()=>{e.invalidateQueries({queryKey:["books"]}),e.invalidateQueries({queryKey:["book-highlights"]}),e.invalidateQueries({queryKey:["books-summary"]})}})}])},51226,21420,e=>{"use strict";var t=e.i(14260),r=e.i(65268);e.s(["useCost",0,function(e="daily",i){return(0,t.useQuery)({queryKey:["cost",e],queryFn:()=>r.api.get("/cost",{period:e}),refetchInterval:6e4,enabled:i?.enabled??!0})}],51226);var i=e.i(54710);e.s(["Sparkline",0,function({values:e,color:t,width:r=80,height:n=24,ariaLabel:s}){if(e.length<2)return null;let a=e.filter(e=>null!==e);if(0===a.length)return null;let l=Math.max(...a,1),o=r/(e.length-1),u=[[]];return e.forEach((e,t)=>{if(null===e){u[u.length-1].length>0&&u.push([]);return}u[u.length-1].push({x:t*o,y:n-e/l*(n-4)-2})}),(0,i.jsxs)("svg",{width:r,height:n,className:"mt-2",role:"img","aria-label":s??"sparkline",children:[u.filter(e=>e.length>=2).map((e,r)=>(0,i.jsx)("polyline",{points:e.map(e=>`${e.x},${e.y}`).join(" "),fill:"none",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},`l${r}`)),u.filter(e=>1===e.length).map((e,r)=>(0,i.jsx)("circle",{cx:e[0].x,cy:e[0].y,r:"1.5",fill:t},`d${r}`))]})}],21420)},71816,49214,e=>{"use strict";var t=e.i(34416),r=e.i(95486),i=e.i(65268);e.s(["useRegenerate",0,function(){let[e,n]=(0,t.useState)(null),[s,a]=(0,t.useState)("idle"),[l,o]=(0,t.useState)(null),u=(0,r.useQueryClient)(),c=(0,t.useRef)(null),d=(0,t.useRef)(null),g=(0,t.useRef)(0);(0,t.useEffect)(()=>()=>{c.current&&clearInterval(c.current)},[]);let h=(0,t.useCallback)(()=>{c.current&&(clearInterval(c.current),c.current=null)},[]);return{regenerate:(0,t.useCallback)(async e=>{if("triggered"===s||"running"===s)return;n(e),a("triggered"),o(null),g.current=Date.now();let t=await i.api.get(`/context/${e}`).catch(()=>null);d.current=t?.lastModified??null;try{await i.api.post("/agent/regenerate",{target:e}),a("running"),c.current=setInterval(async()=>{if(Date.now()-g.current>3e5){h(),a("error"),o("Timeout — agent may still be processing");return}try{let t=await i.api.get(`/context/${e}`);(null===d.current||t.lastModified!==d.current)&&(h(),a("done"),u.invalidateQueries({queryKey:["context",e]}),u.invalidateQueries({queryKey:["calendar"]}),setTimeout(()=>{a("idle"),n(null)},5e3))}catch{}},3e3)}catch(e){a("error"),o(e instanceof Error?e.message:"Failed to trigger")}},[s,u,h]),target:e,status:s,error:l,dismiss:(0,t.useCallback)(()=>{h(),a("idle"),n(null),o(null)},[h])}}],71816);var n=e.i(54710),s=e.i(20014),a=e.i(81471),l=e.i(59134),o=e.i(99758),u=e.i(63991),c=e.i(72740);e.s(["RegenerateButton",0,function({target:e,label:t,currentTarget:r,status:i,error:d,onRegenerate:g,onDismiss:h,variant:m="outline",size:p="sm",className:f}){let b=r===e;return b&&"done"===i?(0,n.jsxs)(s.Button,{variant:m,size:p,className:(0,a.cn)("text-emerald-600 dark:text-emerald-400",f),onClick:h,children:[(0,n.jsx)(o.Check,{className:"h-3.5 w-3.5 mr-1.5"}),"Updated"]}):b&&"error"===i?(0,n.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,n.jsxs)(s.Button,{variant:m,size:p,className:(0,a.cn)("text-red-600 dark:text-red-400",f),onClick:h,children:[(0,n.jsx)(u.AlertCircle,{className:"h-3.5 w-3.5 mr-1.5"}),"Failed"]}),d&&(0,n.jsx)("span",{className:"text-xs text-red-600 dark:text-red-400 max-w-48 truncate",children:d})]}):(0,n.jsxs)(s.Button,{variant:m,size:p,onClick:()=>g(e),disabled:"triggered"===i||"running"===i,className:f,children:[b&&"idle"!==i?(0,n.jsx)(c.Loader2,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}):(0,n.jsx)(l.RefreshCw,{className:"h-3.5 w-3.5 mr-1.5"}),b&&"triggered"===i?"Triggering...":b&&"running"===i?"Running...":t]})}],49214)},17532,e=>{"use strict";var t=e.i(14260),r=e.i(65268);e.s(["useSetupStatus",0,function(){return(0,t.useQuery)({queryKey:["setup-status"],queryFn:()=>r.api.get("/setup/status"),staleTime:3e4})}])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74490,e=>{"use strict";var t=e.i(54710),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:r,...l}){return(0,t.jsx)("div",{className:(0,a.cn)(n({tone:s,interactive:r}),e),...l})},"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})}])},39982,e=>{"use strict";var t=e.i(54710),a=e.i(81471);e.s(["PageHeader",0,function({title:e,description:n,icon:s,badge:r,actions:l,children:i,className:o}){return(0,t.jsxs)("header",{className:(0,a.cn)("flex flex-col gap-1",o),children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[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}),r]}),l&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:l})]}),n&&(0,t.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:n}),i]})}])},52387,e=>{"use strict";let t=(0,e.i(77379).default)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",0,t],52387)},75750,e=>{"use strict";let t=(0,e.i(77379).default)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",0,t],75750)},2745,e=>{"use strict";let t=(0,e.i(77379).default)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["ShieldCheck",0,t],2745)},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 r={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."}},l={claude:"Claude",codex:"Codex",gemini:"Gemini",opencode:"OpenCode"},i={claude:["#7C2D12","#B54B2D","#E15B40","#F97316","#FDBA74"],codex:["#86198F","#A21CAF","#D946EF","#E879F9","#F5D0FE"],gemini:["#1E3A8A","#1D4ED8","#1C69FF","#60A5FA","#93C5FD"],opencode:["#7C2D12","#C2410C","#FF7300","#F59E0B","#FCD34D"]},o=["#6b7280","#9ca3af","#4b5563","#374151"],d={claude:"orange",codex:"pink",gemini:"blue",opencode:"orange"},c={"routine.morning_routine":"Morning Routine","routine.evening_review":"Evening Review","routine.weekly_review":"Weekly Review","routine.monthly_review":"Monthly Review","routine.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 m(e){if(!e)return null;let t=e.toLowerCase();return/^[a-z0-9_.-]+\/[a-z0-9_.-]+/.test(t)?"opencode":t.includes("claude")||t.includes("sonnet")||t.includes("opus")||t.includes("haiku")?"claude":t.includes("gemini")?"gemini":t.includes("gpt")||t.includes("codex")||t.includes("o3")||t.includes("o4")?"codex":null}e.s(["BACKEND_BADGE_VARIANTS",0,d,"BACKEND_COLORS",0,{claude:"#E15B40",codex:"#D946EF",gemini:"#1C69FF",opencode:"#FF7300"},"BACKEND_LABELS",0,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=m(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:i[e],s=n.length;n.forEach((e,n)=>{let r;r=s>=t.length?n%t.length:1===s?Math.floor(t.length/2):Math.floor((n+.5)*t.length/s),a[e]=t[r]})}return a},"detectBackendFromModel",0,m,"formatModelName",0,function(e){return e?e.replace(/^[a-z0-9_.-]+\//i,"").replace(/^claude-/,"Claude ").replace(/^gpt-/,"GPT-").replace(/^gemini-/,"Gemini ").replace(/-/g," ").replace(/\bpreview\b/gi,"(preview)").replace(/\bpro\b/gi,"Pro").replace(/\bflash\b/gi,"Flash").replace(/\blite\b/gi,"Lite").replace(/\bmini\b/gi,"Mini").replace(/\bcodex\b/gi,"Codex").replace(/\bopus\b/gi,"Opus").replace(/\bsonnet\b/gi,"Sonnet").replace(/\bhaiku\b/gi,"Haiku").replace(/\s+/g," ").trim():"Not set"},"formatShortModelName",0,function(e){if(!e)return"unknown";if("opus"===e)return"Opus";if("sonnet"===e)return"Sonnet";let t=e.replace(/^[a-z0-9_.-]+\//i,""),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 r[e]??null},"getBackendLabel",0,function(e){return a[e]},"getBackendShortLabel",0,function(e){return l[e]},"getProcessGroup",0,function(e){return e.startsWith("wiki.")?"Wiki":e.startsWith("message.")||e.startsWith("dashboard.")?"Conversation":e.startsWith("routine.")?"Routines":e.startsWith("git.")||e.startsWith("github.")?"Git & GitHub":e.startsWith("calendar.")||"gmail_classify"===e?"Integrations":"Tasks"},"getProcessLabel",0,function(e){return c[e]??e},"isBackendSelectionDisabled",0,function(e){return!(0,t.isRuntimeAvailableBackendId)(e)||s(e)},"isUiPreviewOnlyBackend",0,s,"modelBadgeVariant",0,function(e){if(!e)return"gray";let t=m(e);return t?d[t]:"gray"},"parseModelUsage",0,u,"pickDisplayModel",0,function(e,t){let a=u(t);return a.length>0&&a[0]?a[0].modelId:e??null}])},59134,e=>{"use strict";let t=(0,e.i(77379).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],59134)},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})}])},21682,e=>{"use strict";let t=(0,e.i(77379).default)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],21682)},70986,e=>{"use strict";var t=e.i(34416),a=e.i(91967),n=e.i(9413),s=e.i(36567),r=e.i(18731),l=e.i(22353),i=e.i(85565),o=e.i(90816),d=e.i(11207),c=e.i(54710),u="Collapsible",[m,p]=(0,n.createContextScope)(u),[h,x]=m(u),f=t.forwardRef((e,a)=>{let{__scopeCollapsible:n,open:r,defaultOpen:l,disabled:o,onOpenChange:m,...p}=e,[x,f]=(0,s.useControllableState)({prop:r,defaultProp:l??!1,onChange:m,caller:u});return(0,c.jsx)(h,{scope:n,disabled:o,contentId:(0,d.useId)(),open:x,onOpenToggle:t.useCallback(()=>f(e=>!e),[f]),children:(0,c.jsx)(i.Primitive.div,{"data-state":j(x),"data-disabled":o?"":void 0,...p,ref:a})})});f.displayName=u;var b="CollapsibleTrigger",g=t.forwardRef((e,t)=>{let{__scopeCollapsible:n,...s}=e,r=x(b,n);return(0,c.jsx)(i.Primitive.button,{type:"button","aria-controls":r.contentId,"aria-expanded":r.open||!1,"data-state":j(r.open),"data-disabled":r.disabled?"":void 0,disabled:r.disabled,...s,ref:t,onClick:(0,a.composeEventHandlers)(e.onClick,r.onOpenToggle)})});g.displayName=b;var v="CollapsibleContent",y=t.forwardRef((e,t)=>{let{forceMount:a,...n}=e,s=x(v,e.__scopeCollapsible);return(0,c.jsx)(o.Presence,{present:a||s.open,children:({present:e})=>(0,c.jsx)(k,{...n,ref:t,present:e})})});y.displayName=v;var k=t.forwardRef((e,a)=>{let{__scopeCollapsible:n,present:s,children:o,...d}=e,u=x(v,n),[m,p]=t.useState(s),h=t.useRef(null),f=(0,l.useComposedRefs)(a,h),b=t.useRef(0),g=b.current,y=t.useRef(0),k=y.current,w=u.open||m,C=t.useRef(w),S=t.useRef(void 0);return t.useEffect(()=>{let e=requestAnimationFrame(()=>C.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,r.useLayoutEffect)(()=>{let e=h.current;if(e){S.current=S.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();b.current=t.height,y.current=t.width,C.current||(e.style.transitionDuration=S.current.transitionDuration,e.style.animationName=S.current.animationName),p(s)}},[u.open,s]),(0,c.jsx)(i.Primitive.div,{"data-state":j(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!w,...d,ref:f,style:{"--radix-collapsible-content-height":g?`${g}px`:void 0,"--radix-collapsible-content-width":k?`${k}px`:void 0,...e.style},children:w&&o})});function j(e){return e?"open":"closed"}e.s(["Collapsible",0,f,"CollapsibleContent",0,y,"CollapsibleTrigger",0,g],70986)},13707,e=>{"use strict";var t=e.i(54710),a=e.i(34416),n=e.i(85565),s=e.i(90816),r=e.i(9413),l=e.i(22353),i=e.i(88248),o=e.i(75649),d=e.i(18731),c=e.i(27069),u=e.i(91967),m="ScrollArea",[p,h]=(0,r.createContextScope)(m),[x,f]=p(m),b=a.forwardRef((e,s)=>{let{__scopeScrollArea:r,type:i="hover",dir:d,scrollHideDelay:c=600,...u}=e,[m,p]=a.useState(null),[h,f]=a.useState(null),[b,g]=a.useState(null),[v,y]=a.useState(null),[k,j]=a.useState(null),[w,C]=a.useState(0),[S,N]=a.useState(0),[E,T]=a.useState(!1),[R,_]=a.useState(!1),D=(0,l.useComposedRefs)(s,e=>p(e)),M=(0,o.useDirection)(d);return(0,t.jsx)(x,{scope:r,type:i,dir:M,scrollHideDelay:c,scrollArea:m,viewport:h,onViewportChange:f,content:b,onContentChange:g,scrollbarX:v,onScrollbarXChange:y,scrollbarXEnabled:E,onScrollbarXEnabledChange:T,scrollbarY:k,onScrollbarYChange:j,scrollbarYEnabled:R,onScrollbarYEnabledChange:_,onCornerWidthChange:C,onCornerHeightChange:N,children:(0,t.jsx)(n.Primitive.div,{dir:M,...u,ref:D,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":S+"px",...e.style}})})});b.displayName=m;var g="ScrollAreaViewport",v=a.forwardRef((e,s)=>{let{__scopeScrollArea:r,children:i,nonce:o,...d}=e,c=f(g,r),u=a.useRef(null),m=(0,l.useComposedRefs)(s,u,c.onViewportChange);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),(0,t.jsx)(n.Primitive.div,{"data-radix-scroll-area-viewport":"",...d,ref:m,style:{overflowX:c.scrollbarXEnabled?"scroll":"hidden",overflowY:c.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:c.onContentChange,style:{minWidth:"100%",display:"table"},children:i})})]})});v.displayName=g;var y="ScrollAreaScrollbar",k=a.forwardRef((e,n)=>{let{forceMount:s,...r}=e,l=f(y,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:o}=l,d="horizontal"===e.orientation;return a.useEffect(()=>(d?i(!0):o(!0),()=>{d?i(!1):o(!1)}),[d,i,o]),"hover"===l.type?(0,t.jsx)(j,{...r,ref:n,forceMount:s}):"scroll"===l.type?(0,t.jsx)(w,{...r,ref:n,forceMount:s}):"auto"===l.type?(0,t.jsx)(C,{...r,ref:n,forceMount:s}):"always"===l.type?(0,t.jsx)(S,{...r,ref:n}):null});k.displayName=y;var j=a.forwardRef((e,n)=>{let{forceMount:r,...l}=e,i=f(y,e.__scopeScrollArea),[o,d]=a.useState(!1);return a.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let a=()=>{window.clearTimeout(t),d(!0)},n=()=>{t=window.setTimeout(()=>d(!1),i.scrollHideDelay)};return e.addEventListener("pointerenter",a),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",a),e.removeEventListener("pointerleave",n)}}},[i.scrollArea,i.scrollHideDelay]),(0,t.jsx)(s.Presence,{present:r||o,children:(0,t.jsx)(C,{"data-state":o?"visible":"hidden",...l,ref:n})})}),w=a.forwardRef((e,n)=>{var r;let{forceMount:l,...i}=e,o=f(y,e.__scopeScrollArea),d="horizontal"===e.orientation,c=V(()=>p("SCROLL_END"),100),[m,p]=(r={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},a.useReducer((e,t)=>r[e][t]??e,"hidden"));return a.useEffect(()=>{if("idle"===m){let e=window.setTimeout(()=>p("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(e)}},[m,o.scrollHideDelay,p]),a.useEffect(()=>{let e=o.viewport,t=d?"scrollLeft":"scrollTop";if(e){let a=e[t],n=()=>{let n=e[t];a!==n&&(p("SCROLL"),c()),a=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[o.viewport,d,p,c]),(0,t.jsx)(s.Presence,{present:l||"hidden"!==m,children:(0,t.jsx)(S,{"data-state":"hidden"===m?"hidden":"visible",...i,ref:n,onPointerEnter:(0,u.composeEventHandlers)(e.onPointerEnter,()=>p("POINTER_ENTER")),onPointerLeave:(0,u.composeEventHandlers)(e.onPointerLeave,()=>p("POINTER_LEAVE"))})})}),C=a.forwardRef((e,n)=>{let r=f(y,e.__scopeScrollArea),{forceMount:l,...i}=e,[o,d]=a.useState(!1),c="horizontal"===e.orientation,u=V(()=>{if(r.viewport){let e=r.viewport.offsetWidth<r.viewport.scrollWidth,t=r.viewport.offsetHeight<r.viewport.scrollHeight;d(c?e:t)}},10);return q(r.viewport,u),q(r.content,u),(0,t.jsx)(s.Presence,{present:l||o,children:(0,t.jsx)(S,{"data-state":o?"visible":"hidden",...i,ref:n})})}),S=a.forwardRef((e,n)=>{let{orientation:s="vertical",...r}=e,l=f(y,e.__scopeScrollArea),i=a.useRef(null),o=a.useRef(0),[d,c]=a.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=F(d.viewport,d.content),m={...r,sizes:d,onSizesChange:c,hasThumb:!!(u>0&&u<1),onThumbChange:e=>i.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function p(e,t){return function(e,t,a,n="ltr"){let s=O(a),r=t||s/2,l=a.scrollbar.paddingStart+r,i=a.scrollbar.size-a.scrollbar.paddingEnd-(s-r),o=a.content-a.viewport;return U([l,i],"ltr"===n?[0,o]:[-1*o,0])(e)}(e,o.current,d,t)}return"horizontal"===s?(0,t.jsx)(N,{...m,ref:n,onThumbPositionChange:()=>{if(l.viewport&&i.current){let e=H(l.viewport.scrollLeft,d,l.dir);i.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollLeft=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollLeft=p(e,l.dir))}}):"vertical"===s?(0,t.jsx)(E,{...m,ref:n,onThumbPositionChange:()=>{if(l.viewport&&i.current){let e=H(l.viewport.scrollTop,d);i.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollTop=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollTop=p(e))}}):null}),N=a.forwardRef((e,n)=>{let{sizes:s,onSizesChange:r,...i}=e,o=f(y,e.__scopeScrollArea),[d,c]=a.useState(),u=a.useRef(null),m=(0,l.useComposedRefs)(n,u,o.onScrollbarXChange);return a.useEffect(()=>{u.current&&c(getComputedStyle(u.current))},[u]),(0,t.jsx)(_,{"data-orientation":"horizontal",...i,ref:m,sizes:s,style:{bottom:0,left:"rtl"===o.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===o.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":O(s)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,a)=>{if(o.viewport){var n,s;let r=o.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),n=r,s=a,n>0&&n<s&&t.preventDefault()}},onResize:()=>{u.current&&o.viewport&&d&&r({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:I(d.paddingLeft),paddingEnd:I(d.paddingRight)}})}})}),E=a.forwardRef((e,n)=>{let{sizes:s,onSizesChange:r,...i}=e,o=f(y,e.__scopeScrollArea),[d,c]=a.useState(),u=a.useRef(null),m=(0,l.useComposedRefs)(n,u,o.onScrollbarYChange);return a.useEffect(()=>{u.current&&c(getComputedStyle(u.current))},[u]),(0,t.jsx)(_,{"data-orientation":"vertical",...i,ref:m,sizes:s,style:{top:0,right:"ltr"===o.dir?0:void 0,left:"rtl"===o.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":O(s)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,a)=>{if(o.viewport){var n,s;let r=o.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),n=r,s=a,n>0&&n<s&&t.preventDefault()}},onResize:()=>{u.current&&o.viewport&&d&&r({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:I(d.paddingTop),paddingEnd:I(d.paddingBottom)}})}})}),[T,R]=p(y),_=a.forwardRef((e,s)=>{let{__scopeScrollArea:r,sizes:o,hasThumb:d,onThumbChange:c,onThumbPointerUp:m,onThumbPointerDown:p,onThumbPositionChange:h,onDragScroll:x,onWheelScroll:b,onResize:g,...v}=e,k=f(y,r),[j,w]=a.useState(null),C=(0,l.useComposedRefs)(s,e=>w(e)),S=a.useRef(null),N=a.useRef(""),E=k.viewport,R=o.content-o.viewport,_=(0,i.useCallbackRef)(b),D=(0,i.useCallbackRef)(h),M=V(g,10);function A(e){S.current&&x({x:e.clientX-S.current.left,y:e.clientY-S.current.top})}return a.useEffect(()=>{let e=e=>{let t=e.target;j?.contains(t)&&_(e,R)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[E,j,R,_]),a.useEffect(D,[o,D]),q(j,M),q(k.content,M),(0,t.jsx)(T,{scope:r,scrollbar:j,hasThumb:d,onThumbChange:(0,i.useCallbackRef)(c),onThumbPointerUp:(0,i.useCallbackRef)(m),onThumbPositionChange:D,onThumbPointerDown:(0,i.useCallbackRef)(p),children:(0,t.jsx)(n.Primitive.div,{...v,ref:C,style:{position:"absolute",...v.style},onPointerDown:(0,u.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),S.current=j.getBoundingClientRect(),N.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",k.viewport&&(k.viewport.style.scrollBehavior="auto"),A(e))}),onPointerMove:(0,u.composeEventHandlers)(e.onPointerMove,A),onPointerUp:(0,u.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=N.current,k.viewport&&(k.viewport.style.scrollBehavior=""),S.current=null})})})}),D="ScrollAreaThumb",M=a.forwardRef((e,a)=>{let{forceMount:n,...r}=e,l=R(D,e.__scopeScrollArea);return(0,t.jsx)(s.Presence,{present:n||l.hasThumb,children:(0,t.jsx)(A,{ref:a,...r})})}),A=a.forwardRef((e,s)=>{let{__scopeScrollArea:r,style:i,...o}=e,d=f(D,r),c=R(D,r),{onThumbPositionChange:m}=c,p=(0,l.useComposedRefs)(s,e=>c.onThumbChange(e)),h=a.useRef(void 0),x=V(()=>{h.current&&(h.current(),h.current=void 0)},100);return a.useEffect(()=>{let e=d.viewport;if(e){let t=()=>{x(),h.current||(h.current=K(e,m),m())};return m(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[d.viewport,x,m]),(0,t.jsx)(n.Primitive.div,{"data-state":c.hasThumb?"visible":"hidden",...o,ref:p,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...i},onPointerDownCapture:(0,u.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),a=e.clientX-t.left,n=e.clientY-t.top;c.onThumbPointerDown({x:a,y:n})}),onPointerUp:(0,u.composeEventHandlers)(e.onPointerUp,c.onThumbPointerUp)})});M.displayName=D;var L="ScrollAreaCorner",P=a.forwardRef((e,a)=>{let n=f(L,e.__scopeScrollArea),s=!!(n.scrollbarX&&n.scrollbarY);return"scroll"!==n.type&&s?(0,t.jsx)(B,{...e,ref:a}):null});P.displayName=L;var B=a.forwardRef((e,s)=>{let{__scopeScrollArea:r,...l}=e,i=f(L,r),[o,d]=a.useState(0),[c,u]=a.useState(0),m=!!(o&&c);return q(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),u(e)}),q(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),d(e)}),m?(0,t.jsx)(n.Primitive.div,{...l,ref:s,style:{width:o,height:c,position:"absolute",right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:0,...e.style}}):null});function I(e){return e?parseInt(e,10):0}function F(e,t){let a=e/t;return isNaN(a)?0:a}function O(e){let t=F(e.viewport,e.content),a=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-a)*t,18)}function H(e,t,a="ltr"){let n=O(t),s=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,r=t.scrollbar.size-s,l=t.content-t.viewport,i=(0,c.clamp)(e,"ltr"===a?[0,l]:[-1*l,0]);return U([0,l],[0,r-n])(i)}function U(e,t){return a=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(a-e[0])}}var K=(e,t=()=>{})=>{let a={left:e.scrollLeft,top:e.scrollTop},n=0;return!function s(){let r={left:e.scrollLeft,top:e.scrollTop},l=a.left!==r.left,i=a.top!==r.top;(l||i)&&t(),a=r,n=window.requestAnimationFrame(s)}(),()=>window.cancelAnimationFrame(n)};function V(e,t){let n=(0,i.useCallbackRef)(e),s=a.useRef(0);return a.useEffect(()=>()=>window.clearTimeout(s.current),[]),a.useCallback(()=>{window.clearTimeout(s.current),s.current=window.setTimeout(n,t)},[n,t])}function q(e,t){let a=(0,i.useCallbackRef)(t);(0,d.useLayoutEffect)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(a)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,a])}var $=e.i(81471);let W=(0,a.forwardRef)(({className:e,children:a,...n},s)=>(0,t.jsxs)(b,{className:(0,$.cn)("relative overflow-hidden",e),...n,children:[(0,t.jsx)(v,{ref:s,className:"h-full w-full rounded-[inherit]",children:a}),(0,t.jsx)(k,{orientation:"vertical",className:"flex h-full w-2.5 touch-none select-none border-l border-l-transparent p-[1px] transition-colors",children:(0,t.jsx)(M,{className:"relative flex-1 rounded-full bg-border"})}),(0,t.jsx)(k,{orientation:"horizontal",className:"flex h-2.5 w-full flex-col touch-none select-none border-t border-t-transparent p-[1px] transition-colors",children:(0,t.jsx)(M,{className:"relative flex-1 rounded-full bg-border"})}),(0,t.jsx)(P,{})]}));W.displayName="ScrollArea",e.s(["ScrollArea",0,W],13707)},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)},99758,e=>{"use strict";let t=(0,e.i(77379).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],99758)},55575,e=>{"use strict";let t=(0,e.i(77379).default)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",0,t],55575)},66127,e=>{"use strict";var t=e.i(65268);async function a({title:e,defaultPath:n}){let s=await t.api.post("/system/pick-directory",{title:e,...n?{defaultPath:n}:{}});if("selected"===s.status&&s.path)return s.path;if("cancelled"===s.status)return null;throw Error(s.message??"Folder picker is unavailable.")}e.s(["pickDirectoryFromDesktop",0,a])},25795,e=>{"use strict";let t=(0,e.i(77379).default)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,t],25795)},49681,e=>{"use strict";var t=e.i(54710),a=e.i(7771),n=e.i(95486),s=e.i(8011),r=e.i(10628),l=e.i(81471);e.s(["DocsHelpInline",0,function({docId:e,anchor:i=null,label:o,className:d}){let c=(0,n.useQueryClient)(),u=o??"Help";return(0,t.jsx)(r.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(r.Tooltip,{children:[(0,t.jsx)(r.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:t=>{t.preventDefault(),t.stopPropagation(),(0,s.openDocsHelpSlideover)(c,{docId:e,anchor:i,autoFocusComposer:!1})},className:(0,l.cn)("inline-flex h-5 w-5 items-center justify-center rounded-full text-muted-foreground/70 transition hover:bg-accent hover:text-foreground",d),"aria-label":`Open help — ${u}`,"data-testid":"docs-help-inline",children:(0,t.jsx)(a.HelpCircle,{className:"h-3.5 w-3.5","aria-hidden":"true"})})}),(0,t.jsx)(r.TooltipContent,{side:"top",children:(0,t.jsx)("span",{children:u})})]})})}])},82239,e=>{"use strict";var t=e.i(54710),a=e.i(25795),n=e.i(10628);e.s(["RestartRequiredBadge",0,function(){return(0,t.jsxs)(n.Tooltip,{children:[(0,t.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-sm bg-amber-100 px-1 py-0.5 text-[10px] font-medium text-amber-700 dark:bg-amber-900/40 dark:text-amber-300",children:[(0,t.jsx)(a.RotateCcw,{className:"h-2.5 w-2.5"}),"restart"]})}),(0,t.jsx)(n.TooltipContent,{side:"top",className:"max-w-[220px] text-xs",children:"Changing this value requires a daemon restart to take effect."})]})}])},88,e=>{"use strict";var t=e.i(54710),a=e.i(34416),n=e.i(99758),s=e.i(55575),r=e.i(21682),l=e.i(60168),i=e.i(25795),o=e.i(90925),d=e.i(36451);e.i(18446);var c=e.i(28444),u=e.i(48467),m=e.i(20014),p=e.i(74490),h=e.i(8652),x=e.i(82239),f=e.i(49681),b=e.i(66127),g=e.i(36413);let v=new Set(c.RESTART_REQUIRED_KEY_TUPLE);function y(e){return null===e?"":String(e)}e.s(["ConfigSection",0,function({title:e,children:a,helpDocId:n,helpAnchor:s}){return(0,t.jsxs)(p.Card,{children:[(0,t.jsx)(p.CardHeader,{children:(0,t.jsxs)(p.CardTitle,{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{children:e}),n&&(0,t.jsx)(f.DocsHelpInline,{docId:n,anchor:s??null,label:e})]})}),(0,t.jsx)("div",{className:"space-y-0.5 [&>p]:max-w-prose",children:a})]})},"EditableArrayField",0,function({label:e,values:n,configKey:r,variant:i="gray",placeholder:o="Add item...",directoryPicker:c,modified:p,onSave:f}){let g=v.has(r),[y,k]=(0,a.useState)(""),[j,w]=(0,a.useState)(!1),[C,S]=(0,a.useState)(null),N=async()=>{let e=y.trim();if(!(!e||n.includes(e))){w(!0),S(null);try{await f(r,[...n,e]),k("")}catch{}finally{w(!1)}}},E=async e=>{w(!0);try{await f(r,n.filter(t=>t!==e))}finally{w(!1)}},T=async()=>{if(c){w(!0),S(null);try{let e=await (0,b.pickDirectoryFromDesktop)({title:c.title,defaultPath:y.trim()||c.defaultPath});if(!e)return;if(n.includes(e)){k(e),S("That directory is already in the list.");return}await f(r,[...n,e]),k("")}catch(e){S(e instanceof Error?e.message:"Folder picker is unavailable.")}finally{w(!1)}}};return(0,t.jsxs)("div",{className:`py-2${p?" border-l-2 border-blue-500 pl-2 -ml-1 rounded":""}`,"data-config-key":r,children:[(0,t.jsxs)("p",{className:"text-sm text-muted-foreground mb-2 inline-flex items-center gap-1.5",children:[e,g&&(0,t.jsx)(x.RestartRequiredBadge,{}),p&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-blue-600 dark:text-blue-400",children:"modified"})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-1.5 mb-2",children:[n.map(e=>(0,t.jsxs)(u.Badge,{variant:i,className:"gap-1 pr-1",children:[e,(0,t.jsx)("button",{onClick:()=>E(e),disabled:j,className:"ml-0.5 rounded-sm hover:bg-black/10 dark:hover:bg-white/10 p-0.5 transition-colors",children:(0,t.jsx)(d.X,{className:"h-3 w-3"})})]},e)),0===n.length&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground italic",children:"No items"})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(h.Input,{value:y,onChange:e=>k(e.target.value),onKeyDown:e=>{"Enter"===e.key&&N()},placeholder:o,className:"max-w-[320px]",disabled:j}),c&&(0,t.jsxs)(m.Button,{size:"sm",variant:"outline",onClick:T,disabled:j,children:[(0,t.jsx)(s.FolderOpen,{className:"h-3.5 w-3.5 mr-1"}),c.buttonLabel??"Choose"]}),(0,t.jsxs)(m.Button,{size:"sm",variant:"outline",onClick:N,disabled:!y.trim()||j,children:[(0,t.jsx)(l.Plus,{className:"h-3.5 w-3.5 mr-1"}),"Add"]})]}),C&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive",children:C})]})},"EditableBooleanField",0,function({label:e,value:n,configKey:s,description:r,modified:l,defaultValue:o,onSave:d}){let[c,u]=(0,a.useState)(!1),p=v.has(s),h=void 0!==o&&n===o,f=async()=>{u(!0);try{await d(s,!n)}finally{u(!1)}},b=async()=>{if(void 0!==o){u(!0);try{await d(s,o)}finally{u(!1)}}};return(0,t.jsx)("div",{className:`py-1.5 group${l?" border-l-2 border-blue-500 pl-2 -ml-1 rounded":""}`,"data-config-key":s,children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("p",{className:"text-sm text-muted-foreground inline-flex items-center gap-1.5",children:[e,p&&(0,t.jsx)(x.RestartRequiredBadge,{}),l&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-blue-600 dark:text-blue-400",children:"modified"}),void 0!==o&&!h&&!l&&(0,t.jsxs)("button",{type:"button",onClick:b,className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(i.RotateCcw,{className:"h-2.5 w-2.5"}),"reset"]})]}),r&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:r})]}),(0,t.jsx)(m.Button,{variant:n?"default":"outline",size:"sm",onClick:f,disabled:c,children:n?"Enabled":"Disabled"})]})})},"EditableField",0,function({label:e,value:s,configKey:l,type:c="text",suffix:u,description:p,min:f,max:b,nullable:k=!1,emptyLabel:j="Not set",modified:w,defaultValue:C,onSave:S}){let N=v.has(l),[E,T]=(0,a.useState)(!1),[R,_]=(0,a.useState)(y(s)),[D,M]=(0,a.useState)(!1),[A,L]=(0,a.useState)(null),P=(0,a.useRef)(null),B=(0,g.useDiscardGeneration)(),I=(0,a.useRef)(B);(0,a.useEffect)(()=>{B!==I.current&&(I.current=B,T(!1),L(null))},[B]),(0,a.useEffect)(()=>{E&&P.current?.focus()},[E]),(0,a.useEffect)(()=>{E||_(y(s))},[s,E]);let F=void 0!==C&&s===C,O=async e=>{if(e.stopPropagation(),void 0!==C){M(!0);try{await S(l,C)}finally{M(!1)}}},H=async e=>{e.stopPropagation(),M(!0);try{await S(l,null)}finally{M(!1)}},U=async()=>{let e=R.trim(),t=k&&""===e?null:"number"===c?Number(R):R;if(t===s)return void T(!1);if(null!==t&&"number"===c&&(void 0!==f||void 0!==b)&&(void 0!==f&&t<f||void 0!==b&&t>b))return void L(`Must be ${f??""}–${b??""}`);L(null),M(!0);try{await S(l,t),T(!1)}catch{}finally{M(!1)}};return E?(0,t.jsxs)("div",{className:"py-1.5","data-config-key":l,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"text-sm text-muted-foreground shrink-0 min-w-[140px] inline-flex items-center gap-1.5",children:[e,N&&(0,t.jsx)(x.RestartRequiredBadge,{})]}),(0,t.jsx)(h.Input,{ref:P,type:c,value:R,onChange:e=>{_(e.target.value),L(null)},onKeyDown:e=>{"Enter"===e.key&&U(),"Escape"===e.key&&(_(y(s)),T(!1))},className:"max-w-[240px]",disabled:D,min:f,max:b}),u&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:u}),(0,t.jsx)(m.Button,{size:"sm",variant:"ghost",onClick:U,disabled:D,className:"h-7 w-7 p-0",children:(0,t.jsx)(n.Check,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(m.Button,{size:"sm",variant:"ghost",onClick:()=>{_(y(s)),L(null),T(!1)},className:"h-7 w-7 p-0",children:(0,t.jsx)(d.X,{className:"h-3.5 w-3.5"})})]}),A&&(0,t.jsx)("p",{className:"text-xs text-destructive mt-1 ml-[148px]",children:A}),p&&!A&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1 ml-[148px]",children:p})]}):(0,t.jsxs)("div",{className:`py-1.5 group cursor-pointer rounded px-1 -mx-1 hover:bg-muted/50 transition-colors${w?" border-l-2 border-blue-500 pl-2":""}`,"data-config-key":l,onClick:()=>T(!0),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-sm text-muted-foreground inline-flex items-center gap-1.5",children:[e,N&&(0,t.jsx)(x.RestartRequiredBadge,{})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[w&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-blue-600 dark:text-blue-400",children:"modified"}),void 0!==C&&!F&&!w&&(0,t.jsxs)("button",{type:"button",onClick:O,className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(i.RotateCcw,{className:"h-2.5 w-2.5"}),"reset"]}),k&&null!==s&&!w&&(0,t.jsxs)("button",{type:"button",onClick:H,title:`Clear — sets ${e} to ${j}`,className:"text-[10px] text-muted-foreground hover:text-destructive transition-colors inline-flex items-center gap-0.5 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)(o.Trash2,{className:"h-2.5 w-2.5"}),"clear"]}),(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:null===s?j:"$"===u?`$${s}`:u?`${s} ${u}`:String(s)}),(0,t.jsx)(r.Pencil,{className:"h-3 w-3 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity"})]})]}),p&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:p})]})}])},88175,e=>{"use strict";let t=(0,e.i(77379).default)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);e.s(["Download",0,t],88175)},76610,e=>{"use strict";let t=(0,e.i(77379).default)("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);e.s(["KeyRound",0,t],76610)},18518,e=>{"use strict";let t=(0,e.i(77379).default)("ClipboardCopy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]);e.s(["ClipboardCopy",0,t],18518)},86923,e=>{"use strict";var t=e.i(54710),a=e.i(34416),n=e.i(95486),s=e.i(72740),r=e.i(21682),l=e.i(7663),i=e.i(75750),o=e.i(74490),d=e.i(79634),c=e.i(48467),u=e.i(20014),m=e.i(8652),p=e.i(10427),h=e.i(65268),x=e.i(24756),f=e.i(87040),b=e.i(76176),g=e.i(81471),v=e.i(99758),y=e.i(59134),k=e.i(1718),j=e.i(27102),w=e.i(13707),C=e.i(57415),S=e.i(14260);function N({value:e,onChange:s,disabled:r,preferredTier:l,placeholder:i="Select model"}){let o,[p,x]=(0,a.useState)(!1),[f,b]=(0,a.useState)(""),[v,R]=(0,a.useState)(l??"all"),[_,D]=(0,a.useState)(!1),[M,A]=(0,a.useState)(!0),{data:L,isLoading:P,error:B}=(0,S.useQuery)({queryKey:["opencode-live-models"],queryFn:()=>h.api.get("/backends/opencode/live-models"),enabled:p,staleTime:3e5}),I=(o=(0,n.useQueryClient)(),(0,C.useMutation)({mutationFn:()=>h.api.get("/backends/opencode/live-models?refresh=1"),onSuccess:e=>{o.setQueryData(["opencode-live-models"],e)}})),F=(0,a.useMemo)(()=>{if(!L)return[];let e=f.trim().toLowerCase();return L.providers.map(t=>({...t,models:t.models.filter(t=>(!_||!!t.isFree)&&(!M||!!t.supportsToolUse)&&("all"===v||t.tier===v)&&(!e||t.modelId.toLowerCase().includes(e)||t.shortId.toLowerCase().includes(e)||t.name.toLowerCase().includes(e)||t.family.toLowerCase().includes(e)))})).filter(e=>e.models.length>0)},[L,f,v,_,M]),O=F.reduce((e,t)=>e+t.models.length,0),H=L?.providers.reduce((e,t)=>e+t.models.length,0)??0;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.Button,{type:"button",variant:"outline",disabled:r,onClick:()=>x(!0),className:"w-full justify-start truncate font-mono text-xs",children:e||(0,t.jsx)("span",{className:"text-muted-foreground italic",children:i})}),(0,t.jsx)(j.Dialog,{open:p,onOpenChange:x,children:(0,t.jsxs)(j.DialogContent,{className:"max-w-3xl",children:[(0,t.jsx)(j.DialogTitle,{children:"OpenCode model"}),(0,t.jsxs)(j.DialogDescription,{children:["Live catalogue from ",(0,t.jsx)("code",{children:"client.config.providers()"})," — every model your opencode server can route to. Selecting writes the full ",(0,t.jsx)("code",{children:"provider/model"})," composite."]}),(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsx)(k.Search,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),(0,t.jsx)(m.Input,{autoFocus:!0,placeholder:"Search by id, name, or family (e.g. gpt-oss, haiku, qwen)",value:f,onChange:e=>b(e.target.value),className:"pl-8"})]}),(0,t.jsx)(u.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>I.mutate(),disabled:I.isPending,title:"Re-enumerate after opencode auth changes",children:(0,t.jsx)(y.RefreshCw,{className:(0,g.cn)("h-3.5 w-3.5",I.isPending&&"animate-spin")})})]}),(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-xs",children:[(0,t.jsx)(E,{active:"all"===v,onClick:()=>R("all"),label:"All tiers"}),["lite","medium","high"].map(e=>(0,t.jsx)(E,{active:v===e,onClick:()=>R(e),label:e},e)),(0,t.jsx)("div",{className:"mx-1 h-4 w-px bg-border"}),(0,t.jsx)(E,{active:M,onClick:()=>A(e=>!e),label:"tool-use only"}),(0,t.jsx)(E,{active:_,onClick:()=>D(e=>!e),label:"free only"}),(0,t.jsxs)("span",{className:"ml-auto text-muted-foreground",children:[O,"/",H," models"]})]}),P&&(0,t.jsx)("p",{className:"mt-4 text-sm text-muted-foreground",children:"Loading…"}),B&&(0,t.jsxs)(d.Alert,{variant:"warning",className:"mt-3 text-xs",children:["Failed to enumerate models: ",B instanceof Error?B.message:"unknown error",". Confirm the daemon is running and the opencode server has at least one provider configured."]}),L&&(0,t.jsxs)(w.ScrollArea,{className:"mt-3 h-[420px] rounded-md border border-border",children:[0===F.length&&(0,t.jsx)("div",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"No models match these filters."}),F.map(a=>(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"sticky top-0 z-10 flex items-center gap-2 border-b border-border bg-muted/95 px-3 py-1.5 backdrop-blur",children:[(0,t.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wider text-foreground",children:a.name}),(0,t.jsx)(c.Badge,{variant:"gray",className:"text-[10px]",children:a.source}),(0,t.jsx)("span",{className:"ml-auto text-xs text-muted-foreground",children:a.models.length})]}),a.models.map(a=>(0,t.jsx)(T,{model:a,selected:a.modelId===e,onSelect:()=>{s(a.modelId),x(!1)}},a.modelId))]},a.id))]}),L&&(0,t.jsxs)("p",{className:"mt-2 text-[11px] text-muted-foreground",children:[L.cached?"Cached":"Fresh"," as of ",new Date(L.fetchedAt).toLocaleTimeString(),". Add providers via ",(0,t.jsx)("code",{children:"opencode auth login"}),", then click Refresh."]})]})})]})}function E({active:e,onClick:a,label:n}){return(0,t.jsx)("button",{type:"button",onClick:a,className:(0,g.cn)("rounded-full border px-2 py-0.5 transition-colors",e?"border-foreground bg-foreground text-background":"border-border bg-background text-muted-foreground hover:bg-muted"),children:n})}function T({model:e,selected:a,onSelect:n}){return(0,t.jsxs)("button",{type:"button",onClick:n,className:(0,g.cn)("flex w-full items-center gap-3 border-b border-border/40 px-3 py-2 text-left transition-colors hover:bg-muted/50",a&&"bg-accent/40"),children:[(0,t.jsx)(v.Check,{className:(0,g.cn)("h-3.5 w-3.5 shrink-0",a?"text-foreground":"text-transparent")}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-sm font-medium text-foreground",children:e.name}),(0,t.jsx)("div",{className:"truncate font-mono text-[11px] text-muted-foreground",children:e.modelId})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-1.5",children:[e.isFree&&(0,t.jsx)(c.Badge,{variant:"green",className:"text-[10px]",children:"free"}),!e.supportsToolUse&&(0,t.jsx)(c.Badge,{variant:"gray",className:"text-[10px] text-muted-foreground",children:"no tools"}),(0,t.jsx)(c.Badge,{variant:"gray",className:"text-[10px]",children:e.tier}),!e.isFree&&null!==e.usdPer1kIn&&(0,t.jsxs)("span",{className:"font-mono text-[10px] tabular-nums text-muted-foreground",children:["$",e.usdPer1kIn.toFixed(4),"/$",e.usdPer1kOut?.toFixed(4)??"?"]})]})]})}let R={"message.dm":"DM response quality may degrade. Sonnet is recommended for important conversations.","message.mention":"Mention response quality may degrade. Sonnet is recommended.","dashboard.chat":"Dashboard chat response quality may degrade. Sonnet is recommended.","routine.morning_routine":"Long-form generation may produce shorter/rougher output with Haiku. Sonnet is recommended.","routine.evening_review":"Long-form generation may produce shorter/rougher output with Haiku. Sonnet is recommended.","routine.weekly_review":"Weekly reviews require reasoning depth. Haiku may produce less coherent output.","routine.monthly_review":"Monthly reviews require reasoning depth. Haiku may produce less coherent output.","agent.task":"Sonnet is recommended for complex task execution. Haiku may make rougher tool-use decisions."};function _(e){return!(e&&e.mainModel.trim()&&(!e.fallbackBackend||e.fallbackModel?.trim()))}function D(e,t,a){let n,s=(n=e.filter(e=>e.tier===t)).length>0?n:e;return a&&s.some(e=>e.modelId===a)?a:s[0]?.modelId??e[0]?.modelId??""}function M(e,t){return t?e.find(e=>e.modelId===t)?.label??(0,b.formatModelName)(t):"Disabled"}e.s(["BackendSettingsSection",0,function({onToast:e,sections:v=["processes"],processKeys:y,title:k="Process Routing",description:j}){let w=v.includes("processes"),C=(0,n.useQueryClient)(),{data:S,error:E,isLoading:T}=(0,x.useBackends)({enabled:w}),{data:A,error:L,isLoading:P}=(0,f.useProcessConfig)({enabled:w}),[B,I]=(0,a.useState)(null),[F,O]=(0,a.useState)(null),[H,U]=(0,a.useState)(!1),K=(0,a.useCallback)(async()=>{await Promise.all([C.invalidateQueries({queryKey:["backends"]}),C.invalidateQueries({queryKey:["process-config"]}),C.invalidateQueries({queryKey:["cost"]}),C.invalidateQueries({queryKey:["metrics"]})])},[C]),V=w?E??L:null;if(V){let e=V instanceof h.ApiError&&503===V.status;return(0,t.jsxs)(o.Card,{children:[(0,t.jsx)(o.CardHeader,{children:(0,t.jsx)(o.CardTitle,{children:"Process Routing"})}),(0,t.jsx)("p",{className:"max-w-prose text-sm text-muted-foreground",children:e?"Multi-backend tables are not available yet. Run migrations first.":V instanceof Error?V.message:"Failed to load process routing."})]})}if(!w)return null;if(T||!S||P||!A)return(0,t.jsxs)(o.Card,{children:[(0,t.jsx)(o.CardHeader,{children:(0,t.jsx)(o.CardTitle,{children:"Process Routing"})}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading process routing…"})]});let q=new Map(S.backends.map(e=>[e.id,e])),$=S.backends.filter(e=>e.enabled),W=(y?A.configs.filter(e=>y.includes(e.processKey)):A.configs).reduce((e,t)=>{let a=(0,b.getProcessGroup)(t.processKey),n=e.find(e=>e.group===a);return n?n.configs.push(t):e.push({group:a,configs:[t]}),e},[]);async function z(){if(F){U(!0);try{let t=await h.api.put(`/process-config/${F.processKey}`,{mainBackend:F.mainBackend,mainModel:F.mainModel,fallbackBackend:F.fallbackBackend,fallbackModel:F.fallbackModel,maxTurns:F.maxTurns,maxBudgetUsd:F.maxBudgetUsd});await K(),t.warnings?.length?e("warning",`Saved — ${t.warnings.map(e=>e.message).join("; ")}`):e("success",`${(0,b.getProcessLabel)(F.processKey)} updated`),I(null),O(null)}catch(t){e("error",function(e){if(!(e instanceof h.ApiError))return e instanceof Error?e.message:"Request failed";let t=e.body,a="string"==typeof t?.error?t.error:null,n=Array.isArray(t?.processKeys)?t.processKeys.filter(e=>"string"==typeof e):[];switch(a){case"backend_in_use":return`This backend is still used by: ${n.join(", ")}. Reassign those processes first.`;case"default_backend":return"Reassign the default backend before disabling it.";case"main_backend_disabled":return"The selected main backend is disabled. Enable it first.";case"fallback_backend_disabled":return"The selected fallback backend is disabled. Enable it first.";case"fallback_same_as_main":return"Fallback backend must differ from the main backend.";case"fallback_incomplete":return"Fallback backend and fallback model must either both be set or both be disabled.";case"invalid_main_model":return"The selected main model does not belong to the chosen backend.";case"invalid_fallback_model":return"The selected fallback model does not belong to the chosen fallback backend.";case"multi_backend_unavailable":return"Multi-backend tables are not available yet. Run migrations first.";default:return e.message}}(t))}finally{U(!1)}}}return(0,t.jsxs)(o.Card,{children:[(0,t.jsx)(o.CardHeader,{className:"items-start",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(o.CardTitle,{children:k}),(0,t.jsx)("p",{className:"mt-1 max-w-3xl text-sm text-muted-foreground",children:j??(0,t.jsxs)(t.Fragment,{children:["One row per process (event-handling pipeline). Each row shows the resolved main backend and model, an optional fallback, and the per-run limits. Click ",(0,t.jsx)("em",{children:"Edit"})," to override any of them. Fallback kicks in only on ",(0,t.jsx)("em",{children:"decisive"})," main-backend failures (quota exhausted, auth broken, model unavailable, timeout — not ordinary rate limiting)."," ","“Default” badges mean the value is inherited from the main backend’s preset defaults above."]})})]})}),(0,t.jsx)("div",{className:"space-y-3",children:W.map(e=>(0,t.jsxs)("div",{className:"space-y-3",children:[!y&&(0,t.jsx)("h3",{className:"px-1 text-xs font-semibold uppercase text-muted-foreground",children:e.group}),e.configs.map(e=>{var a;let n,o=q.get(e.mainBackend),h=e.fallbackBackend?q.get(e.fallbackBackend):null,x=B===e.processKey&&F,f=x?q.get(F.mainBackend)?.models??[]:[],v=x&&F.fallbackBackend?q.get(F.fallbackBackend)?.models??[]:[];return(0,t.jsxs)("div",{className:"rounded-xl border border-border p-4",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between",children:[(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("p",{className:"text-base font-medium text-foreground",children:(0,b.getProcessLabel)(e.processKey)}),(0,t.jsxs)(c.Badge,{variant:"high"===e.defaultTier?"purple":"medium"===e.defaultTier?"blue":"default",children:["Default ",e.defaultTier]})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e.processKey}),(n=function(e,t,a){if("routine.morning_routine"===e&&"claude"===t){let e=a.find(e=>"high"===e.tier&&e.available&&!e.deprecated);return e?`Defaults to Sonnet to preserve Claude quota — ${e.label} depletes the 5h window much faster. If you want better instruction-following or more thorough day-plan output, switch Main Model to ${e.label}.`:null}return null}(e.processKey,e.mainBackend,o?.models??[]))?(0,t.jsx)(d.Alert,{variant:"info",className:"mt-2 text-xs",children:n}):null]}),(0,t.jsxs)("div",{className:"grid gap-3 text-sm text-muted-foreground md:grid-cols-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:"Main"}),(0,t.jsx)("p",{children:o?(0,b.getBackendLabel)(o.id):e.mainBackend}),(0,t.jsx)("p",{children:o?M(o.models,e.mainModel):e.mainModel})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:"Fallback"}),h&&e.fallbackModel?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{children:(0,b.getBackendLabel)(h.id)}),(0,t.jsx)("p",{children:M(h.models,e.fallbackModel)})]}):(0,t.jsx)("p",{children:"Disabled"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:"Limits"}),(0,t.jsxs)("p",{children:[e.maxTurns," turns"]}),(0,t.jsxs)("p",{children:[(0,g.formatCurrency)(e.maxBudgetUsd)," soft budget"]})]})]})]}),(0,t.jsxs)(u.Button,{variant:"outline",onClick:()=>{I(e.processKey),O({processKey:e.processKey,defaultTier:e.defaultTier,mainBackend:e.mainBackend,mainModel:e.mainModel,fallbackBackend:e.fallbackBackend,fallbackModel:e.fallbackModel,maxTurns:e.maxTurns,maxBudgetUsd:e.maxBudgetUsd})},children:[(0,t.jsx)(r.Pencil,{className:"h-3.5 w-3.5"}),"Edit"]})]}),x&&F&&(0,t.jsxs)("div",{className:"mt-4 grid gap-4 rounded-xl border border-border/80 bg-muted/30 p-4 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Main backend"}),(0,t.jsxs)(p.Select,{value:F.mainBackend,onValueChange:e=>(function(e){let t=q.get(e);if(!t||!F)return;let a=F.fallbackBackend===e,n="opencode"===e?t.models.some(e=>e.modelId===F.mainModel)?F.mainModel:"":D(t.models,F.defaultTier,F.mainModel);O({...F,mainBackend:e,mainModel:n,fallbackBackend:a?null:F.fallbackBackend,fallbackModel:a?null:F.fallbackModel})})(e),children:[(0,t.jsx)(p.SelectTrigger,{children:(0,t.jsx)(p.SelectValue,{placeholder:"Select backend"})}),(0,t.jsx)(p.SelectContent,{children:S.backends.map(e=>{let a=(0,b.isUiPreviewOnlyBackend)(e.id);return(0,t.jsxs)(p.SelectItem,{value:e.id,disabled:!e.enabled||a,children:[(0,b.getBackendLabel)(e.id),a?b.UI_PREVIEW_ONLY_BADGE_SUFFIX:""]},e.id)})})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Main model"}),"opencode"===F.mainBackend?(0,t.jsx)(N,{value:F.mainModel,onChange:e=>O(t=>t?{...t,mainModel:e}:t),preferredTier:F.defaultTier}):(0,t.jsxs)(p.Select,{value:F.mainModel,onValueChange:e=>O(t=>t?{...t,mainModel:e}:t),children:[(0,t.jsx)(p.SelectTrigger,{children:(0,t.jsx)(p.SelectValue,{placeholder:"Select model"})}),(0,t.jsx)(p.SelectContent,{children:f.map(e=>(0,t.jsx)(p.SelectItem,{value:e.modelId,children:e.label},e.modelId))})]}),!!(a=F.mainModel)&&a.toLowerCase().includes("haiku")&&R[F.processKey]&&(0,t.jsx)(d.Alert,{variant:"warning",className:"mt-2 text-xs",children:R[F.processKey]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Fallback backend"}),(0,t.jsxs)(p.Select,{value:F.fallbackBackend??"__none__",onValueChange:e=>(function(e){if(!F)return;if(!e)return void O({...F,fallbackBackend:null,fallbackModel:null});let t=q.get(e);if(!t)return;let a="opencode"===e?F.fallbackModel&&t.models.some(e=>e.modelId===F.fallbackModel)?F.fallbackModel:"":D(t.models,F.defaultTier,F.fallbackModel);O({...F,fallbackBackend:e,fallbackModel:a})})("__none__"===e?null:e),children:[(0,t.jsx)(p.SelectTrigger,{children:(0,t.jsx)(p.SelectValue,{placeholder:"Select backend"})}),(0,t.jsxs)(p.SelectContent,{children:[(0,t.jsx)(p.SelectItem,{value:"__none__",children:"Disabled"}),S.backends.map(e=>{let a=(0,b.isUiPreviewOnlyBackend)(e.id);return(0,t.jsxs)(p.SelectItem,{value:e.id,disabled:!e.enabled||e.id===F.mainBackend||a,children:[(0,b.getBackendLabel)(e.id),a?b.UI_PREVIEW_ONLY_BADGE_SUFFIX:""]},e.id)})]})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Fallback model"}),"opencode"===F.fallbackBackend?(0,t.jsx)(N,{value:F.fallbackModel??"",onChange:e=>O(t=>t?{...t,fallbackModel:e}:t),preferredTier:F.defaultTier,placeholder:"Select fallback model"}):(0,t.jsxs)(p.Select,{disabled:!F.fallbackBackend,value:F.fallbackModel??"__none__",onValueChange:e=>O(t=>t?{...t,fallbackModel:"__none__"===e?null:e}:t),children:[(0,t.jsx)(p.SelectTrigger,{children:(0,t.jsx)(p.SelectValue,{placeholder:"Select model"})}),(0,t.jsxs)(p.SelectContent,{children:[(0,t.jsx)(p.SelectItem,{value:"__none__",children:"Disabled"}),v.map(e=>(0,t.jsx)(p.SelectItem,{value:e.modelId,children:e.label},e.modelId))]})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Max turns"}),(0,t.jsx)(m.Input,{type:"number",min:1,max:1e3,value:F.maxTurns,onChange:e=>O(t=>t?{...t,maxTurns:Number(e.target.value)||1}:t)}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Hard cap on agent turns per run for this process. One turn = one model response (possibly with tool calls). When reached, the run stops mid-task — raise this if you see ",(0,t.jsx)("code",{children:"max_turns_reached"})," in the audit log."]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Soft budget (USD)"}),(0,t.jsx)(m.Input,{type:"number",min:0,max:1e4,step:"0.01",value:F.maxBudgetUsd,onChange:e=>O(t=>t?{...t,maxBudgetUsd:Number(e.target.value)||0}:t)}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Per-run spend cap in USD. “Soft” because the check happens between turns, so a single long turn can overshoot slightly. Runs that exceed the cap are aborted. Set to 0 to disable and rely only on the turn cap."})]}),(0,t.jsxs)("div",{className:"md:col-span-2 flex items-center justify-between gap-3",children:[(0,t.jsxs)("p",{className:"max-w-xl text-xs text-muted-foreground",children:[(0,t.jsx)("strong",{children:"Fallback backend/model"})," is consulted only on decisive failures: quota exhaustion, auth breakage, model refusal, timeout, or unrecoverable provider errors. Transient 5xx and ordinary rate limits are retried on the main backend first."]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)(u.Button,{variant:"outline",onClick:()=>{I(null),O(null)},children:[(0,t.jsx)(i.XCircle,{className:"h-4 w-4"}),"Cancel"]}),(0,t.jsxs)(u.Button,{onClick:z,disabled:H||_(F),title:_(F)?"Pick a main model first — opencode requires an explicit selection from the live catalogue.":void 0,children:[H?(0,t.jsx)(s.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(l.Save,{className:"h-4 w-4"}),"Save Process"]})]})]})]})]},e.processKey)})]},e.group))}),$.length<2&&(0,t.jsx)(d.Alert,{variant:"warning",className:"mt-4 rounded-xl px-4 py-3 text-sm",children:"Enable another backend if you want fallback routing to be available for any process."})]})}],86923)},93772,e=>{"use strict";var t=e.i(54710),a=e.i(34416),n=e.i(96263),s=e.i(88423),r=e.i(13451),l=e.i(36413),i=e.i(86923),o=e.i(72740),d=e.i(95486);e.i(18446);var c=e.i(38082),u=e.i(9897),m=e.i(20014),p=e.i(10427),h=e.i(65268),x=e.i(76176),f=e.i(24756),b=e.i(17975),g=e.i(16995),v=e.i(85462);let y=(0,c.getBackendIds)();function k({onToast:e}){let{data:n,refetch:r}=(0,f.useBackends)(),{data:l}=(0,s.useConfig)(),i=(0,d.useQueryClient)(),[c,j]=(0,a.useState)(null),[w,C]=(0,a.useState)({claude:{status:"idle"},codex:{status:"idle"},gemini:{status:"idle"},opencode:{status:"idle"}}),[S,N]=(0,a.useState)(null),[E,T]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await h.api.get("/backends/advisor");if(e)return;N({enabled:t.enabled,model:t.model})}catch{e||N({enabled:!1,model:null})}})(),()=>{e=!0}},[]);let R=(0,a.useCallback)(async e=>{C(t=>({...t,[e]:{status:"checking"}}));try{let t=await h.api.post(`/backends/${e}/verify-install`);if(await r(),t.ok)C(a=>({...a,[e]:{status:"ok",version:t.version}}));else{let a=t.cliInstalled?t.timedOut?`${t.cliCommand} --version timed out`:t.stderr.trim()||t.stdout.trim()||"CLI failed to run":`${t.cliCommand} not found on PATH`;C(t=>({...t,[e]:{status:"error",error:a}}))}}catch(t){C(a=>({...a,[e]:{status:"error",error:t instanceof Error?t.message:"Verify install failed"}}))}},[r]),_=(0,a.useCallback)(async t=>{j(t);try{let a=await h.api.put("/backends/main",{backendId:t});await r(),await i.invalidateQueries({queryKey:["backends"]}),await i.invalidateQueries({queryKey:["integrations"]}),await i.invalidateQueries({queryKey:["health"]}),await i.invalidateQueries({queryKey:["agent-actions","native_unbound"]});let n=a?.nativeUnbound??[];if(n.length>0){let a=n.map(e=>e.key).join(", ");e("warning",`Main backend set to ${x.BACKEND_PROVIDER_LABELS[t]}. ${n.length} native integration${1===n.length?"":"s"} disabled (${a}). Re-configure on /connections.`)}else e("success",`Main backend set to ${x.BACKEND_PROVIDER_LABELS[t]}.`)}catch(t){e("error",t instanceof h.ApiError||t instanceof Error?t.message:"Failed to set main backend")}finally{j(null)}},[r,i,e]),D=(0,a.useCallback)(async t=>{let a=n?.backends.find(e=>e.id===t);if(!a)return;let s=!a.enabled;j(t);try{await h.api.post(`/backends/${t}/${s?"enable":"disable"}`),await r(),e("success",`${x.BACKEND_PROVIDER_LABELS[t]} ${s?"enabled":"disabled"}.`)}catch(t){e("error",t instanceof Error?t.message:"Failed to update backend")}finally{j(null)}},[n,r,e]),M=(0,a.useCallback)(async t=>{let a=n?.backends.find(e=>e.id===t);if(!a)return;let s=!a.webSearchEnabled;j(t);try{await h.api.post(`/backends/${t}/web-search`,{enabled:s}),await r()}catch(t){e("error",t instanceof Error?t.message:"Failed to update web search")}finally{j(null)}},[n,r,e]),A=(0,a.useCallback)(async t=>{T(!0);try{await h.api.put("/backends/advisor",{enabled:t.enabled,model:t.model}),N(t),e("success",`Advisor ${t.enabled?"enabled":"disabled"}.`)}catch(t){e("error",t instanceof Error?t.message:"Failed to save advisor")}finally{T(!1)}},[e]),L=n?.defaultBackend??null;return(0,t.jsxs)("section",{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Backends"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Install each backend’s CLI, verify authentication, and pick the main backend. The main backend runs every configurable process by default; per-process overrides live in the Process Routing card below."})]}),(0,t.jsx)(v.SubscriptionAuthWarning,{}),(0,t.jsx)("div",{className:"space-y-3",children:y.map(a=>{let s=n?.backends.find(e=>e.id===a),i=L===a,o=(0,x.isBackendSelectionDisabled)(a),d=l?l[`${a}ExecutionPermissionMode`]:null;return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(b.BackendCard,{backendId:a,mode:"settings",isMain:i,authStatus:s?.authStatus??"unknown",authStatusDetail:s?.authDetail??null,authFirstExpiredAt:s?.authFirstExpiredAt??null,authLastSuccessAt:s?.authLastSuccessAt??null,authNotificationCount:s?.authNotificationCount??0,cliInstalled:s?.cliInstalled??!0,enabled:s?.enabled??!1,webSearchEnabled:s?.webSearchEnabled??!1,webSearchSupported:s?.webSearchSupported??!1,permissionMode:d,busy:c===a,controlsDisabled:o,disabledReason:o?x.UI_PREVIEW_ONLY_REASON:void 0,installCheck:w[a],onCliInstalled:()=>{r()},onVerifyInstall:()=>{R(a)},onToggleEnable:()=>{D(a)},onToggleWebSearch:()=>{M(a)}}),!o&&(0,t.jsx)(g.BackendApiKeyPanel,{backendId:a,onToast:e}),!i&&(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsxs)(m.Button,{size:"sm",variant:"outline",disabled:o||null!==c||!s?.cliInstalled,onClick:()=>{_(a)},children:["Set ",x.BACKEND_PROVIDER_SHORT[a]," as main"]})})]},a)})}),S&&(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 shadow-sm",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:"Advisor (Claude Agent SDK)"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"When enabled, the Claude Agent SDK’s server-side advisor tool can offer a second-opinion model on long turns. Off by default; turn it on only when the extra cost is worth it."})]}),(0,t.jsxs)(m.Button,{size:"sm",variant:S.enabled?"outline":"default",disabled:E,onClick:()=>{A(S.enabled?{enabled:!1,model:null}:{enabled:!0,model:S.model??u.ADVISOR_ALLOWED_MODELS[0]})},children:[E&&(0,t.jsx)(o.Loader2,{className:"mr-2 h-3.5 w-3.5 animate-spin"}),S.enabled?"Disable advisor":"Enable advisor"]})]}),S.enabled&&(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"Model:"}),(0,t.jsxs)(p.Select,{value:S.model??u.ADVISOR_ALLOWED_MODELS[0],onValueChange:e=>{(0,u.isAdvisorModel)(e)&&A({enabled:!0,model:e})},disabled:E,children:[(0,t.jsx)(p.SelectTrigger,{className:"h-8 w-auto min-w-[12rem] text-xs",children:(0,t.jsx)(p.SelectValue,{})}),(0,t.jsx)(p.SelectContent,{children:u.ADVISOR_ALLOWED_MODELS.map(e=>(0,t.jsx)(p.SelectItem,{value:e,children:e},e))})]})]})]})]})}var j=e.i(81187),w=e.i(16047),C=e.i(2745),S=e.i(78406),N=e.i(74490),E=e.i(49681),T=e.i(70986),R=e.i(81471),_=e.i(36598);function D(e){let t=(0,c.getBackendIds)().map(t=>(0,_.internalToUi)(e[`${t}ExecutionPermissionMode`])),a=t[0]??"safe";return t.every(e=>e===a)?a:null}let M=(0,c.getBackendIds)();function A({onToast:e}){let{data:n}=(0,s.useConfig)(),[r,l]=(0,a.useState)(0);return n?(0,t.jsx)(L,{config:n,onToast:e,onApplied:()=>l(e=>e+1)},r):(0,t.jsx)(N.Card,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(o.Loader2,{className:"h-4 w-4 animate-spin"})," Loading…"]})})}function L({config:e,onToast:n,onApplied:s}){let r=(0,d.useQueryClient)(),l=(0,a.useState)(()=>{let t;return{topLevel:t=D(e),overrides:null!==D(e)?{..._.EMPTY_OVERRIDES}:Object.fromEntries((0,c.getBackendIds)().map(t=>[t,(0,_.internalToUi)(e[`${t}ExecutionPermissionMode`])])),forceAccordionOpen:null===t}})[0],[i,u]=(0,a.useState)(l.topLevel),[p,f]=(0,a.useState)(l.overrides),[b,g]=(0,a.useState)(l.forceAccordionOpen),[v,y]=(0,a.useState)(!1),k=null===i||(0,_.hasDivergentOverride)(i,p);async function j(){let e=(0,_.buildSetupModePayload)(i,p);if(null!==e){y(!0);try{await h.api.post("/setup/mode",e),await r.invalidateQueries({queryKey:["config"]}),n("success","Execution mode updated"),s()}catch(e){e instanceof h.ApiError||e instanceof Error?n("error",e.message):n("error","Failed to update execution mode")}finally{y(!1)}}}return(0,t.jsxs)(N.Card,{id:"execution-mode",children:[(0,t.jsx)(N.CardHeader,{className:"px-0 pt-0",children:(0,t.jsxs)(N.CardTitle,{className:"flex items-center gap-1.5 text-base",children:[(0,t.jsx)("span",{children:"Execution Mode"}),(0,t.jsx)(E.DocsHelpInline,{docId:"concepts/safety-and-execution",label:"Execution Mode"})]})}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Pick how freely the agent may run shell, file, and tool commands on your machine. Dangerous operations — recursive deletes, privilege escalation, and secret-file reads — remain blocked in both modes."}),(0,t.jsxs)("div",{className:"mt-4 space-y-3",children:[(0,t.jsx)(P,{icon:(0,t.jsx)(C.ShieldCheck,{className:"h-5 w-5"}),title:"Safe",badge:"Recommended",selected:"safe"===i,onSelect:()=>u("safe"),children:"Agent runs with strict permission checks and confirms before any side-effectful action. Pick this when you want the agent to stay narrow."}),(0,t.jsxs)(P,{icon:(0,t.jsx)(S.Unlock,{className:"h-5 w-5"}),title:"Allow",selected:"allow"===i,onSelect:()=>u("allow"),children:["Agent runs without the daemon’s per-call permission prompts, using the skills, plugins, and MCP servers installed in your CLI harness. Faster and more capable, but the harness — not the daemon — decides which tools are reachable.",(0,t.jsx)(I,{})]}),(0,t.jsxs)(T.Collapsible,{open:b,onOpenChange:g,children:[(0,t.jsx)(T.CollapsibleTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between rounded-md border border-border bg-muted/20 px-3 py-2 text-left text-xs text-muted-foreground hover:bg-muted/40",children:[(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)(w.ChevronDown,{className:(0,R.cn)("h-3.5 w-3.5 transition-transform",b&&"rotate-180")}),"Advanced — per-backend overrides",k&&(0,t.jsx)("span",{className:"rounded bg-amber-500/15 px-1.5 py-0.5 text-[10px] font-medium text-amber-700 dark:text-amber-300",children:"mixed"})]}),(0,t.jsx)("span",{className:"text-[11px]",children:b?"Hide":"Show"})]})}),(0,t.jsx)(T.CollapsibleContent,{className:"mt-2 space-y-2 rounded-md border border-border bg-background p-3",children:M.map(e=>(0,t.jsx)(B,{backend:e,topLevel:i,override:p[e]??null,disabled:(0,x.isUiPreviewOnlyBackend)(e),onChange:t=>f(a=>({...a,[e]:t}))},e))})]}),(0,t.jsx)("div",{className:"flex justify-end pt-2",children:(0,t.jsx)(m.Button,{onClick:j,disabled:!(0,_.canApply)(i,p)||v,children:v?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Saving…"]}):"Apply"})})]})]})}function P({icon:e,title:a,badge:n,selected:s,onSelect:r,children:l}){return(0,t.jsxs)("button",{type:"button",onClick:r,className:(0,R.cn)("block w-full rounded-lg border p-3 text-left transition-colors",s?"border-primary bg-primary/5 shadow-sm":"border-border hover:border-foreground/30"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 font-semibold text-foreground",children:[e,a,n&&(0,t.jsx)("span",{className:"rounded bg-primary/15 px-1.5 py-0.5 text-[10px] font-medium text-primary",children:n})]}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:l})]})}function B({backend:e,topLevel:a,override:n,disabled:s=!1,onChange:r}){let l=n??a,i=null===l?"pick a top-level mode first":`runs as: ${l}`;return(0,t.jsxs)("div",{className:(0,R.cn)("rounded-md border border-border/60 px-3 py-2",s&&"opacity-60"),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"text-sm",children:[(0,t.jsxs)("div",{className:"font-medium text-foreground",children:[x.BACKEND_PROVIDER_LABELS[e],(0,t.jsxs)("span",{className:"ml-1 text-xs text-muted-foreground",children:["(",x.BACKEND_PROVIDER_SHORT[e],")"]}),s&&(0,t.jsx)("span",{className:"ml-2 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground",children:"Coming soon"})]}),(0,t.jsx)("div",{className:"text-[11px] text-muted-foreground",children:i})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 text-xs",children:[(0,t.jsx)(F,{active:null===n,label:"Follow",disabled:s,onClick:()=>r(null)}),(0,t.jsx)(F,{active:"safe"===n,label:"Safe",disabled:s,onClick:()=>r("safe")}),(0,t.jsx)(F,{active:"allow"===n,label:"Allow",disabled:s,onClick:()=>r("allow")})]})]}),"codex"===e&&"allow"===l&&(0,t.jsxs)("p",{className:"mt-2 flex items-start gap-1.5 text-[11px] text-amber-700 dark:text-amber-300",children:[(0,t.jsx)(j.AlertTriangle,{className:"mt-0.5 h-3 w-3 shrink-0"}),(0,t.jsx)("span",{children:"Codex Allow disables the daemon's absolute-block layer (sandbox-off). See the Allow card above."})]})]})}function I(){return(0,t.jsxs)("span",{className:"mt-3 flex items-start gap-2 rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-900 dark:text-amber-200",children:[(0,t.jsx)(j.AlertTriangle,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,t.jsxs)("span",{className:"space-y-1",children:[(0,t.jsxs)("span",{className:"block",children:[(0,t.jsx)("span",{className:"font-semibold",children:"Codex caveat."})," Codex CLI runs Allow mode under"," ",(0,t.jsx)("code",{className:"rounded bg-black/10 px-1 font-mono text-[11px] dark:bg-white/10",children:"--dangerously-bypass-approvals-and-sandbox"}),", a binary sandbox-off switch. Codex has no per-command hook layer for the daemon to attach the absolute-block patterns to, so destructive shell commands (",(0,t.jsx)("code",{className:"rounded bg-black/10 px-1 font-mono text-[11px] dark:bg-white/10",children:"rm -rf"}),","," ",(0,t.jsx)("code",{className:"rounded bg-black/10 px-1 font-mono text-[11px] dark:bg-white/10",children:"eval $(curl …)"}),", secret-file reads) are ",(0,t.jsx)("span",{className:"font-semibold",children:"not"})," ","pre-blocked for Codex in Allow mode the way they are for Claude Code and Gemini CLI."]}),(0,t.jsx)("span",{className:"block",children:"Use the Advanced section below to keep Codex on Safe (its workspace-write sandbox still applies) unless you accept this gap."})]})]})}function F({active:e,label:a,disabled:n=!1,onClick:s}){return(0,t.jsx)("button",{type:"button",onClick:s,disabled:n,className:(0,R.cn)("rounded-md border px-2 py-1 transition-colors",e?"border-primary bg-primary/10 text-foreground":"border-border text-muted-foreground hover:border-foreground/30",n&&"cursor-not-allowed opacity-60 hover:border-border"),children:a})}var O=e.i(39982),H=e.i(88),U=e.i(94328);function K({title:e,defaultOpen:s=!1,children:r}){let[l,i]=(0,a.useState)(s);return(0,t.jsxs)(T.Collapsible,{open:l,onOpenChange:i,children:[(0,t.jsx)(T.CollapsibleTrigger,{asChild:!0,children:(0,t.jsxs)("button",{className:"flex w-full items-center gap-2 rounded-lg px-1 py-2 text-xs font-semibold uppercase tracking-wider text-muted-foreground hover:bg-muted/50 hover:text-foreground transition-colors",children:[(0,t.jsx)(n.ChevronRight,{className:(0,R.cn)("h-3.5 w-3.5 shrink-0 transition-transform duration-200",l&&"rotate-90")}),e]})}),(0,t.jsx)(T.CollapsibleContent,{className:"space-y-3 pt-1",children:r})]})}e.s(["default",0,function(){let{data:e}=(0,s.useConfig)(),{df:a}=(0,s.useConfigDefaults)(),{toast:n,showToast:o}=(0,r.useSaveConfig)(),{deferSaveFor:d,dv:c,dirtyFields:u}=(0,l.useDirtyFields)();if(!e)return(0,t.jsx)("div",{className:"text-muted-foreground",children:"Loading..."});let m=d(e);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(O.PageHeader,{title:"Models & Cost",description:"AI backends, per-task routing, and execution limits. The backend and process cards are always visible; expand the sections below to tune concurrency, session timeouts, or cost guardrails."}),(0,t.jsx)(U.SettingsToast,{toast:n}),(0,t.jsx)(k,{onToast:o}),(0,t.jsx)(A,{onToast:o}),(0,t.jsx)(i.BackendSettingsSection,{onToast:o,sections:["processes"]}),(0,t.jsx)(K,{title:"Execution limits",children:(0,t.jsxs)(H.ConfigSection,{title:"Execution limits",children:[(0,t.jsx)("p",{className:"pb-2 text-xs text-muted-foreground",children:"Concurrency and wall-clock limits that apply across every agent run, regardless of backend or tier."}),(0,t.jsx)(H.EditableField,{label:"Max Concurrent Sessions",value:c("maxConcurrentSessions",e.maxConcurrentSessions),configKey:"maxConcurrentSessions",type:"number",modified:u.has("maxConcurrentSessions"),defaultValue:a("maxConcurrentSessions"),description:"Total number of agent sessions allowed to run in parallel across all sources (DMs, routines, schedules). Additional requests are queued until a slot opens.",onSave:m}),(0,t.jsx)(H.EditableField,{label:"Max Reactive Sessions",value:c("maxReactiveSessions",e.maxReactiveSessions),configKey:"maxReactiveSessions",type:"number",modified:u.has("maxReactiveSessions"),defaultValue:a("maxReactiveSessions"),description:"Subset of the concurrent slots reserved for reactive work (incoming DMs, mentions, and dashboard chat). This guarantees routines never starve out messages you send right now — and the remaining slots guarantee the reverse.",onSave:m}),(0,t.jsx)(H.EditableField,{label:"Execute Timeout",value:c("executeTimeoutMinutes",e.executeTimeoutMinutes),configKey:"executeTimeoutMinutes",type:"number",suffix:"min",min:1,max:1440,modified:u.has("executeTimeoutMinutes"),defaultValue:a("executeTimeoutMinutes"),description:"Maximum wall-clock time for a single agent execution. When exceeded the run is cancelled so retries don’t double-bill quota. Applies per attempt, not per retry chain.",onSave:m}),(0,t.jsx)(H.EditableField,{label:"Delegated Proxy Concurrency",value:c("delegatedProxyMaxConcurrent",e.delegatedProxyMaxConcurrent),configKey:"delegatedProxyMaxConcurrent",type:"number",min:1,max:64,modified:u.has("delegatedProxyMaxConcurrent"),defaultValue:a("delegatedProxyMaxConcurrent"),description:"Maximum simultaneous delegated-proxy invocations. Integrations in delegated mode (Gmail, Calendar, Notion) spawn a one-shot subprocess on the configured backend; excess requests FIFO-queue for up to 60 seconds, then fail. Raise this if you see queue timeouts; lower it to cap parallel backend cost.",onSave:m})]})}),(0,t.jsx)(K,{title:"Session timeouts",children:(0,t.jsxs)(H.ConfigSection,{title:"Session timeouts",children:[(0,t.jsx)("p",{className:"pb-2 text-xs text-muted-foreground",children:"How long an idle conversation keeps its context before the next message starts fresh. Lower values save tokens on long-lived chats; higher values preserve continuity."}),(0,t.jsx)(H.EditableField,{label:"DM Timeout",value:c("sessionTimeoutDmMinutes",e.sessionTimeoutDmMinutes),configKey:"sessionTimeoutDmMinutes",type:"number",suffix:"min",modified:u.has("sessionTimeoutDmMinutes"),defaultValue:a("sessionTimeoutDmMinutes"),description:"Idle minutes before a direct-message session expires. Once expired, the next DM opens a new session without prior conversation history.",onSave:m}),(0,t.jsx)(H.EditableField,{label:"Channel Timeout",value:c("sessionTimeoutChannelMinutes",e.sessionTimeoutChannelMinutes),configKey:"sessionTimeoutChannelMinutes",type:"number",suffix:"min",modified:u.has("sessionTimeoutChannelMinutes"),defaultValue:a("sessionTimeoutChannelMinutes"),description:"Idle minutes before an @mention thread in a public channel expires. Usually shorter than DM timeout since channel context rotates faster.",onSave:m}),(0,t.jsx)(H.EditableField,{label:"Dashboard Timeout",value:c("sessionTimeoutDashboardMinutes",e.sessionTimeoutDashboardMinutes),configKey:"sessionTimeoutDashboardMinutes",type:"number",suffix:"min",modified:u.has("sessionTimeoutDashboardMinutes"),defaultValue:a("sessionTimeoutDashboardMinutes"),description:"Idle minutes before a dashboard Chat session expires. The session sidebar will still show it as a past conversation you can reopen.",onSave:m})]})}),(0,t.jsx)(K,{title:"Cost guardrails",children:(0,t.jsxs)(H.ConfigSection,{title:"Cost guardrails",children:[(0,t.jsx)("p",{className:"pb-2 text-xs text-muted-foreground",children:"Guardrails and alert thresholds for autonomous routine spend. The daily cap can skip lower-priority routines; the monthly cap only notifies. Reactive work such as DMs and mentions still runs."}),(0,t.jsx)(H.EditableField,{label:"Autonomous Daily Cost Cap",value:c("autonomousDailyCostCapUsd",e.autonomousDailyCostCapUsd),configKey:"autonomousDailyCostCapUsd",type:"number",suffix:"$",nullable:!0,emptyLabel:"Disabled",min:.01,modified:u.has("autonomousDailyCostCapUsd"),defaultValue:a("autonomousDailyCostCapUsd"),description:"Maximum daily USD spend for autonomous sessions before lower-priority routines are skipped. Leave blank to disable the cap.",onSave:m}),(0,t.jsx)(H.EditableField,{label:"Autonomous Monthly Cost Cap (alert only)",value:c("autonomousMonthlyCostCapUsd",e.autonomousMonthlyCostCapUsd),configKey:"autonomousMonthlyCostCapUsd",type:"number",suffix:"$",nullable:!0,emptyLabel:"Disabled",min:.01,modified:u.has("autonomousMonthlyCostCapUsd"),defaultValue:a("autonomousMonthlyCostCapUsd"),description:"Notification threshold for the rolling 30-day spend. Surfaces a warning at 80% and an error at 100% in the Notifications panel. No dispatcher enforcement — pair with the daily cap for hard guardrails.",onSave:m})]})})]})}],93772)}]);