@mycadet/web 0.0.1 → 0.12.6-dev.202610082152.34907d3

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 (503) hide show
  1. package/README.md +222 -3
  2. package/dist/THIRD-PARTY-LICENSES.md +486 -0
  3. package/dist/activation-mascots.svg +115 -0
  4. package/dist/activation-pill-mascots.svg +74 -0
  5. package/dist/assets/DMMono-Medium-BM4x6WFW.ttf +0 -0
  6. package/dist/assets/DMMono-Regular-DbtWzYYn.ttf +0 -0
  7. package/dist/assets/DMSans-Regular-C1Em6CGS.ttf +0 -0
  8. package/dist/assets/InstrumentSerif-Regular-DXer19By.ttf +0 -0
  9. package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  10. package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  11. package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  12. package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  13. package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  14. package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  15. package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  16. package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  17. package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  18. package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  19. package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  20. package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  21. package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  22. package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  23. package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  24. package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  25. package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  26. package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  27. package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  28. package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  29. package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  30. package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  31. package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  32. package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  33. package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  34. package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  35. package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  36. package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  37. package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  38. package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  39. package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  40. package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  41. package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  42. package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  43. package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  44. package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  45. package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  46. package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  47. package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  48. package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  49. package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  50. package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  51. package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  52. package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  53. package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  54. package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  55. package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  56. package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  57. package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  58. package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  59. package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  60. package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  61. package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  62. package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  63. package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  64. package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  65. package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  66. package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  67. package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  68. package/dist/assets/a2a-invite-B1nqyLY2.js +1 -0
  69. package/dist/assets/about-page-Bir_VFgt.js +1 -0
  70. package/dist/assets/account-9ifOctCs.js +1 -0
  71. package/dist/assets/account-C59_ZVEY.js +1 -0
  72. package/dist/assets/account-CnqVfERR.js +1 -0
  73. package/dist/assets/account-DVdolNcP.js +1 -0
  74. package/dist/assets/account-page-CkPid7fk.js +1 -0
  75. package/dist/assets/account-shell-CjG-BS9n.js +1 -0
  76. package/dist/assets/acp-run-detail-panel-OKgPEdXG.js +3 -0
  77. package/dist/assets/activation-C91KPzrh.js +1 -0
  78. package/dist/assets/activation-Dd7eAIHs.js +1 -0
  79. package/dist/assets/activation-ReimSfhn.js +1 -0
  80. package/dist/assets/activation-list-route-7JByuYLu.js +1 -0
  81. package/dist/assets/activation-tasks-CcT0Rqfx.js +1 -0
  82. package/dist/assets/activation-tasks-CjUCWfbQ.js +1 -0
  83. package/dist/assets/activation-tasks-rViOqW7C.js +1 -0
  84. package/dist/assets/activation-tasks-wtMwJ0EV.js +1 -0
  85. package/dist/assets/activation-yoBQ36AY.js +1 -0
  86. package/dist/assets/activity-redirect-page-CWH-GVMF.js +1 -0
  87. package/dist/assets/activity-steps-panel-D2dqhoQh.js +1 -0
  88. package/dist/assets/add-credits-modal-DjfZWINl.js +1 -0
  89. package/dist/assets/add-credits-modal-DpCSkNzI.js +1 -0
  90. package/dist/assets/ai-page-BAqXWP1E.js +1 -0
  91. package/dist/assets/all-chats-page-route-B6nXAclJ.js +1 -0
  92. package/dist/assets/android-billing-handoff-DuikPeLS.js +1 -0
  93. package/dist/assets/animated-stat-square-CwjVh_N7.js +1 -0
  94. package/dist/assets/api-key-screen-B5d53d9L.js +1 -0
  95. package/dist/assets/app-BXG8yk9C.css +1 -0
  96. package/dist/assets/app-DAMRg6Fy.js +401 -0
  97. package/dist/assets/app-info-CCqIMpt6.js +1 -0
  98. package/dist/assets/app-types-DLSc4FO-.js +1 -0
  99. package/dist/assets/archive-redirect-page-Bytjay1L.js +1 -0
  100. package/dist/assets/assistant-handle-modal-YUlxkpfj.js +1 -0
  101. package/dist/assets/assistant-inbox-CAvCHzi9.js +1 -0
  102. package/dist/assets/assistant-inbox-CQdSXLLi.js +1 -0
  103. package/dist/assets/assistant-inbox-DslyrhIn.js +1 -0
  104. package/dist/assets/assistant-inbox-page-route-Dp3Vtbu4.js +8 -0
  105. package/dist/assets/assistant-inbox-qWeVmA1L.js +1 -0
  106. package/dist/assets/assistant-status-panel-Cz2_5XrD.js +1 -0
  107. package/dist/assets/auth-store-CJg8mofW.js +1 -0
  108. package/dist/assets/auth-welcome-screen-BDGG5Ao4.js +1 -0
  109. package/dist/assets/avatar-bundled-components-rONuBMKZ.js +1 -0
  110. package/dist/assets/avatar-random-CxypmoUX.js +2 -0
  111. package/dist/assets/await-org-header-settled-C7txhoAb.js +1 -0
  112. package/dist/assets/background-task-detail-panel-CEqK2mWy.js +1 -0
  113. package/dist/assets/billing-page-D_ypn8c8.js +3 -0
  114. package/dist/assets/billing-redirect-page-C8b0pi7l.js +1 -0
  115. package/dist/assets/bookmarks-page-C4W-F9AC.js +1 -0
  116. package/dist/assets/build.umd-B0ATW5UM.js +7 -0
  117. package/dist/assets/bundle-confirm-page-BrWxsokC.js +1 -0
  118. package/dist/assets/channel-transcript-panel-D77mQbjS.js +1 -0
  119. package/dist/assets/channels-BTbV4MWS.js +9 -0
  120. package/dist/assets/channels-Bp2JIVff.js +9 -0
  121. package/dist/assets/channels-D1SpbqXl.js +9 -0
  122. package/dist/assets/channels-D6K1KGr-.js +9 -0
  123. package/dist/assets/channels-page-route-J3kHFWBa.js +1 -0
  124. package/dist/assets/chat-6mEQwXrT.js +5 -0
  125. package/dist/assets/chat-Bi8jqwGX.js +5 -0
  126. package/dist/assets/chat-D2mr40mK.js +5 -0
  127. package/dist/assets/chat-DI0DKw32.js +5 -0
  128. package/dist/assets/chat-info-panel-Q-Zug-4d.js +1 -0
  129. package/dist/assets/checkout-continuation-CWa2xIwI.js +1 -0
  130. package/dist/assets/checkout-page-DE4vh6nJ.js +1 -0
  131. package/dist/assets/checkout-return-target-CW9E2X_1.js +1 -0
  132. package/dist/assets/command-palette-6bYHXjBV.js +1 -0
  133. package/dist/assets/command-palette-D8lQh1Ri.js +1 -0
  134. package/dist/assets/command-palette-window-page-D-wEgziD.js +1 -0
  135. package/dist/assets/common-Bl28_zx0.js +1 -0
  136. package/dist/assets/common-CjxF28nX.js +1 -0
  137. package/dist/assets/common-DFAGeqca.js +1 -0
  138. package/dist/assets/common-ENHobhEF.js +1 -0
  139. package/dist/assets/community-page-CwkUOb9m.js +1 -0
  140. package/dist/assets/companion-accent-8T7jSVQ_.js +1 -0
  141. package/dist/assets/companion-dock-zones-page-D2Y9pwZq.js +1 -0
  142. package/dist/assets/companion-layout-ovc1RiIC.js +1 -0
  143. package/dist/assets/companion-popover-BqHgsmUm.js +1 -0
  144. package/dist/assets/companion-popover-page-OyT83r2x.js +1 -0
  145. package/dist/assets/companion-surface-page-HeZptPrt.js +1 -0
  146. package/dist/assets/companion-surface-uYDydwMU.js +1 -0
  147. package/dist/assets/companion-tour-entry-CLBzIqqO.js +1 -0
  148. package/dist/assets/companion-watch-frame-page-Ctyw02PH.js +1 -0
  149. package/dist/assets/connect-page-Dx8h_k8V.js +1 -0
  150. package/dist/assets/consent-controls-c0tYawFk.js +1 -0
  151. package/dist/assets/contacts-BTmOfEVL.js +1 -0
  152. package/dist/assets/contacts-Cxz-DyYF.js +1 -0
  153. package/dist/assets/contacts-DgC-8PHB.js +1 -0
  154. package/dist/assets/contacts-gateway-CQwH3OUz.js +1 -0
  155. package/dist/assets/contacts-mijLgegD.js +1 -0
  156. package/dist/assets/contacts-page-route-CPdCjuH2.js +1 -0
  157. package/dist/assets/copy-button-B2VBsMvc.js +1 -0
  158. package/dist/assets/credential-entry-page-LEdmKrzr.js +1 -0
  159. package/dist/assets/credential-requests-CmFaXPwz.js +1 -0
  160. package/dist/assets/credential-requests-D3J3i5oa.js +1 -0
  161. package/dist/assets/credential-requests-gl4lfjL4.js +1 -0
  162. package/dist/assets/credential-requests-h908NRpv.js +1 -0
  163. package/dist/assets/credentials-page-DS-N8gXi.js +1 -0
  164. package/dist/assets/csv-preview-4wLnyv9_.js +1 -0
  165. package/dist/assets/danger-zone-redirect-page-DcdBhqZS.js +1 -0
  166. package/dist/assets/debug-page-DEoFbZGN.js +4 -0
  167. package/dist/assets/debug-page-TdnZ7DQy.css +1 -0
  168. package/dist/assets/definitions-BUCExH-9.js +1 -0
  169. package/dist/assets/definitions-DpZNNWA7.js +1 -0
  170. package/dist/assets/deploy-dialogs-3T71kkIE.js +1 -0
  171. package/dist/assets/deploy-dialogs-DFUssjJM.js +1 -0
  172. package/dist/assets/desktop-preview-content-C0W8bbmT.js +2 -0
  173. package/dist/assets/desktop-status-BmV18rmS.js +1 -0
  174. package/dist/assets/desktop-viewer-DRnoSab8.js +5 -0
  175. package/dist/assets/detail-card-DXXbwWU3.js +1 -0
  176. package/dist/assets/detail-panel-stop-button-CV0VycLx.js +1 -0
  177. package/dist/assets/detail-primitives-BTT_ppGj.js +1 -0
  178. package/dist/assets/developer-page-Ch7BafTY.js +1 -0
  179. package/dist/assets/devices-redirect-page-CRe0zzN6.js +1 -0
  180. package/dist/assets/dictation-overlay-page-Dpc-dKY7.js +1 -0
  181. package/dist/assets/diff-rows-DD2i4Iv8.js +1 -0
  182. package/dist/assets/document-load-COGXO0Qg.js +1 -0
  183. package/dist/assets/document-load-YgSlXYTv.js +1 -0
  184. package/dist/assets/document-viewer-page-CVmqzUh1.js +1 -0
  185. package/dist/assets/ellipsis-vertical-DXwTXFid.js +1 -0
  186. package/dist/assets/emails-page-B0Gsympg.js +1 -0
  187. package/dist/assets/emoji-catalog-data-jMbpElmp.js +1 -0
  188. package/dist/assets/esm-3p9EjCxv.js +1 -0
  189. package/dist/assets/esm-81hjkY91.js +2 -0
  190. package/dist/assets/esm-B7eDjVec.js +1 -0
  191. package/dist/assets/esm-Bg5pAsee.js +2 -0
  192. package/dist/assets/esm-Bo2YRP0H.js +2 -0
  193. package/dist/assets/esm-Bogq5bK5.js +1 -0
  194. package/dist/assets/esm-OhpYdKED.js +1 -0
  195. package/dist/assets/esm-Qn-Ugt7M.js +2 -0
  196. package/dist/assets/esm-p-XTJuu2.js +2 -0
  197. package/dist/assets/esm-zzDLmzCb.js +2 -0
  198. package/dist/assets/file-diff-view-bePvgtip.js +3 -0
  199. package/dist/assets/file-view-mode-D6OA6gT9.js +3 -0
  200. package/dist/assets/format-countdown-jXi9FZ2J.js +1 -0
  201. package/dist/assets/format-file-size-zh148z6P.js +1 -0
  202. package/dist/assets/general-page-DF9G6p1X.js +2 -0
  203. package/dist/assets/hatching-screen-DzV6T9eF.js +1 -0
  204. package/dist/assets/home-BI-fzzA0.js +1 -0
  205. package/dist/assets/home-BZGFmZ0D.js +1 -0
  206. package/dist/assets/home-CM9kRnjx.js +1 -0
  207. package/dist/assets/home-D4Knhe9B.js +1 -0
  208. package/dist/assets/hosting-screen-BJBN_Jyw.js +1 -0
  209. package/dist/assets/icons-Dwi7aA1Y.js +1 -0
  210. package/dist/assets/identity-page-route-BMX2AtNg.js +7 -0
  211. package/dist/assets/inspect-page-C7E9asHD.js +8 -0
  212. package/dist/assets/integrations-page-C7sqUMoF.js +1 -0
  213. package/dist/assets/intelligence-BzXuH7C3.js +5 -0
  214. package/dist/assets/intelligence-CRQIvpoS.js +5 -0
  215. package/dist/assets/intelligence-D6JLt55y.js +5 -0
  216. package/dist/assets/intelligence-EUWmzIF9.js +5 -0
  217. package/dist/assets/intelligence-layout-DNZKT21g.js +1 -0
  218. package/dist/assets/intelligence-layout-slots-store-D2MRiwP2.js +1 -0
  219. package/dist/assets/is-record-VoZP3nYK.js +1 -0
  220. package/dist/assets/jszip.min-4SBnqRxq.js +2 -0
  221. package/dist/assets/katex-CfUWwwYf.css +1 -0
  222. package/dist/assets/keyboard-shortcuts-redirect-page-DPrjYSv1.js +1 -0
  223. package/dist/assets/latest-assistant-text-Ca1sl8vl.js +24 -0
  224. package/dist/assets/library-B5UBdwOv.js +1 -0
  225. package/dist/assets/library-CGTnSkcA.js +1 -0
  226. package/dist/assets/library-DEPrqINm.js +1 -0
  227. package/dist/assets/library-DNEpT1eD.js +1 -0
  228. package/dist/assets/library-detail-page-Dx2HhWYb.js +1 -0
  229. package/dist/assets/library-page-BLwuOqoQ.js +1 -0
  230. package/dist/assets/link-click-BJkFvMTf.js +1 -0
  231. package/dist/assets/list-detail-navigation-Bc3JpBO4.js +1 -0
  232. package/dist/assets/local-mode-BoQ0L4tu.js +1 -0
  233. package/dist/assets/login-page-BZO1_A18.js +1 -0
  234. package/dist/assets/logout-page-Ag0U-at0.js +1 -0
  235. package/dist/assets/logs-BKfLoluH.js +1 -0
  236. package/dist/assets/logs-BufZKV9C.js +1 -0
  237. package/dist/assets/logs-CAOgfUOH.js +1 -0
  238. package/dist/assets/logs-CW8mXm9O.js +1 -0
  239. package/dist/assets/logs-layout-BTso96p7.js +1 -0
  240. package/dist/assets/machine-sizes-DZLd-6DF.js +1 -0
  241. package/dist/assets/managed-export-DCL_kA7B.js +1 -0
  242. package/dist/assets/markdown-preview-BVUmJkhf.js +1 -0
  243. package/dist/assets/media-preview-BCbGqtAM.js +1 -0
  244. package/dist/assets/memory-page-route-CnHqd_og.js +2 -0
  245. package/dist/assets/memory-router-playground-page-BUTrpUh2.js +1 -0
  246. package/dist/assets/message-files-panel-BVuowO9l.js +1 -0
  247. package/dist/assets/mutation-error-HzvlW5mV.js +1 -0
  248. package/dist/assets/native-attachment-pickers-BUHuZCjT.js +1 -0
  249. package/dist/assets/native-file-DT_lhZ9D.js +1 -0
  250. package/dist/assets/notifications-page-CTYnbxLL.js +1 -0
  251. package/dist/assets/oauth-complete-page-BR0Vo3wa.js +105 -0
  252. package/dist/assets/oauth-popup-complete-page-CXmu9Rzw.js +105 -0
  253. package/dist/assets/onboarding-BnvKZweH.js +1 -0
  254. package/dist/assets/onboarding-ClaQ9TbS.js +1 -0
  255. package/dist/assets/onboarding-D5ZYk-vE.js +1 -0
  256. package/dist/assets/onboarding-DmjIVIBS.js +1 -0
  257. package/dist/assets/onboarding-step-layout-Vb0tyqKa.js +1 -0
  258. package/dist/assets/paired-platform-identity-BXVxQOmd.js +1 -0
  259. package/dist/assets/pairing-page-5KgJcCBL.js +1 -0
  260. package/dist/assets/password-reset-page-C7RJSMxz.js +1 -0
  261. package/dist/assets/pcm-downsample-worklet-CwNZrVLe.js +1 -0
  262. package/dist/assets/pdf-C1Mi1b5E.js +56 -0
  263. package/dist/assets/pdf-file-preview-CYzROKLv.js +1 -0
  264. package/dist/assets/pdf.worker.min-Dr1KORA9.mjs +31 -0
  265. package/dist/assets/peeking-eyes-CYWm-sDJ.js +1 -0
  266. package/dist/assets/permission-guide-page-CnPBRFK0.js +1 -0
  267. package/dist/assets/permission-guide-page-D6FWkh5j.css +1 -0
  268. package/dist/assets/permission-setup-CNHajm-X.js +1 -0
  269. package/dist/assets/personality-page-5uhztwAi.js +1 -0
  270. package/dist/assets/personality-page-DoFgYERT.js +1 -0
  271. package/dist/assets/personality-sliders-BI2zg6j0.js +1 -0
  272. package/dist/assets/plans-page-BjgrZY81.js +1 -0
  273. package/dist/assets/platform-loopback-page-kQwR549t.js +1 -0
  274. package/dist/assets/plugin-attribution-CTeP_GNV.js +1 -0
  275. package/dist/assets/plugin-detail-page-C-QYG3q7.js +1 -0
  276. package/dist/assets/plugins-page-BmjRpRXc.js +1 -0
  277. package/dist/assets/plugins-surface-CvjX9I16.js +1 -0
  278. package/dist/assets/preview-error-DXUPDcwJ.js +1 -0
  279. package/dist/assets/privacy-page-DwYlX-hB.js +1 -0
  280. package/dist/assets/privacy-screen-DOvPAuuk.js +1 -0
  281. package/dist/assets/profile-card-vJMp0Ivt.js +1 -0
  282. package/dist/assets/provider-callback-page-Ul4bIfVF.js +1 -0
  283. package/dist/assets/provider-key-BmLS_HdL.js +1 -0
  284. package/dist/assets/provider-signup-page-TWGu2gJp.js +1 -0
  285. package/dist/assets/provisioning-targets-DKc5ORwj.js +1 -0
  286. package/dist/assets/quick-input-page-B-03ExKQ.js +1 -0
  287. package/dist/assets/radio-card-nav-d-b41vKg.js +1 -0
  288. package/dist/assets/react-BJ4PZBJN.js +12 -0
  289. package/dist/assets/rehype-katex-CzhvmWzz.js +259 -0
  290. package/dist/assets/remote-web-B4U_dWd7.js +1 -0
  291. package/dist/assets/remote-web-BDCxnZ9y.js +1 -0
  292. package/dist/assets/remote-web-CVtBV7uq.js +1 -0
  293. package/dist/assets/remote-web-N0Odpq2-.js +1 -0
  294. package/dist/assets/research-mock-page-C2pznoEL.js +1 -0
  295. package/dist/assets/research-onboarding-route-D_hcb0zs.js +50 -0
  296. package/dist/assets/review-terms-screen-B1cyf-re.js +1 -0
  297. package/dist/assets/rolldown-runtime-BM3Ffeng.js +1 -0
  298. package/dist/assets/routes-Dr_MKmW8.js +1 -0
  299. package/dist/assets/schedules-BFqYjCDV.js +1 -0
  300. package/dist/assets/schedules-Bk7XGnqS.js +1 -0
  301. package/dist/assets/schedules-CGU7CKaM.js +1 -0
  302. package/dist/assets/schedules-J687h0Fh.js +1 -0
  303. package/dist/assets/schedules-JnprnWDo.js +1 -0
  304. package/dist/assets/schedules-page-CeJs3kYC.js +1 -0
  305. package/dist/assets/security-redirect-page-D81Zp7Sv.js +1 -0
  306. package/dist/assets/select-assistant-screen-Bg_5TFs4.js +1 -0
  307. package/dist/assets/self-hosted-servers-Cw5hxx1u.js +1 -0
  308. package/dist/assets/service-form-controls-XyeWFJJo.js +1 -0
  309. package/dist/assets/setting-row-Bgv-nBUo.js +1 -0
  310. package/dist/assets/settings-BAUjyIUb.js +5 -0
  311. package/dist/assets/settings-BEOMP91r.js +5 -0
  312. package/dist/assets/settings-BYrm7GEM.js +5 -0
  313. package/dist/assets/settings-C1JmohiF.js +5 -0
  314. package/dist/assets/settings-divider-CbqoHvTv.js +1 -0
  315. package/dist/assets/settings-layout-Cpg6ilCQ.js +1 -0
  316. package/dist/assets/share-feedback-modal-Dj8HPtKZ.js +2 -0
  317. package/dist/assets/share-feedback-modal-ejY5Eq3H.js +1 -0
  318. package/dist/assets/sidebar-tree-BT8WqPv8.js +1 -0
  319. package/dist/assets/signup-onboarding-handoff-aEYZuuHr.js +1 -0
  320. package/dist/assets/signup-page-C-i36ISz.js +1 -0
  321. package/dist/assets/signup-shell-BqzK_bwg.js +1 -0
  322. package/dist/assets/signup-shell-iu1RtjJg.css +1 -0
  323. package/dist/assets/skill-detail-page-CPXCOzse.js +2 -0
  324. package/dist/assets/skill-detail-panel-MmL9kcFl.js +1 -0
  325. package/dist/assets/skill-icon-H-0SEc1H.js +1 -0
  326. package/dist/assets/skill-removal-dialog-D-_Ee3Qy.js +1 -0
  327. package/dist/assets/skills-page-BXd5XM7M.js +1 -0
  328. package/dist/assets/sounds-page-gaaawlJb.js +1 -0
  329. package/dist/assets/start-screen-Der8G75u.js +1 -0
  330. package/dist/assets/status-badge-pill-CND5rJPR.js +1 -0
  331. package/dist/assets/step-detail-header-CKthESBJ.js +1 -0
  332. package/dist/assets/stt-language-picker-modal-DnPX-_k-.js +1 -0
  333. package/dist/assets/subagent-detail-panel-S1kUs30w.js +1 -0
  334. package/dist/assets/superpowers-page-efWilyKc.js +1 -0
  335. package/dist/assets/system-events-page-mWQb4Zun.js +1 -0
  336. package/dist/assets/system-events-redirect-page-COMTIkf1.js +1 -0
  337. package/dist/assets/tabular-grid-C0tAYvai.js +4 -0
  338. package/dist/assets/teleport-gateway-client-e0Iwbdy5.js +1 -0
  339. package/dist/assets/terminal-BV6xg9ZA.js +1 -0
  340. package/dist/assets/terminal-BjOF3LBT.js +1 -0
  341. package/dist/assets/terminal-CYHsl1AH.js +1 -0
  342. package/dist/assets/terminal-Cxm0NKaj.js +1 -0
  343. package/dist/assets/text-preview-l_pOtbYE.js +1 -0
  344. package/dist/assets/theme-stage-page-CwVBBQ7t.js +1 -0
  345. package/dist/assets/tiptap-document-editor-NlR6-gmC.js +323 -0
  346. package/dist/assets/tool-detail-panel-B3d-TF95.js +16 -0
  347. package/dist/assets/tool-detail-panel-CjE9tvGe.js +1 -0
  348. package/dist/assets/trait-cycle-row-iLhb8N9V.js +1 -0
  349. package/dist/assets/upgrade-cancel-page-BpxZBXA_.js +1 -0
  350. package/dist/assets/upgrade-success-page-C_ne2cH6.js +1 -0
  351. package/dist/assets/usage-redirect-page-Cgd_gJm7.js +1 -0
  352. package/dist/assets/usage-window-Dk_XVv4Y.js +1 -0
  353. package/dist/assets/use-app-delete-BLT87Ykw.js +1 -0
  354. package/dist/assets/use-assistant-identity-details-DCvl6Fy-.js +1 -0
  355. package/dist/assets/use-async-read-deCq0DBg.js +1 -0
  356. package/dist/assets/use-channel-trust-floors-C9q_EPCf.js +1 -0
  357. package/dist/assets/use-checkout-dismiss-refresh-Dzcf6UZl.js +1 -0
  358. package/dist/assets/use-debounced-value-CPLEzsNt.js +1 -0
  359. package/dist/assets/use-edge-swipe-back-DuDUDKrR.js +1 -0
  360. package/dist/assets/use-hotkey-recorder-DN2xr7ED.js +1 -0
  361. package/dist/assets/use-invite-link-dialog-BSB09dtp.js +1 -0
  362. package/dist/assets/use-plugins-list-CWuFp_Q9.js +1 -0
  363. package/dist/assets/use-return-to-short-circuit-B01me5gQ.js +1 -0
  364. package/dist/assets/use-side-list-room-CHdFBNyO.js +1 -0
  365. package/dist/assets/use-skill-actions-B_GSybnw.js +1 -0
  366. package/dist/assets/use-skill-detail-files-DPNhm1D1.js +1 -0
  367. package/dist/assets/use-supports-credentials-settings-B2LE4lxS.js +1 -0
  368. package/dist/assets/use-truncated-blob-text-D16QRG1n.js +1 -0
  369. package/dist/assets/vendor-CezcraPH.js +125 -0
  370. package/dist/assets/voice-page-BLtXzep8.js +1 -0
  371. package/dist/assets/wake-detail-panel-6HzlRWXT.js +1 -0
  372. package/dist/assets/weather-forecast-display-CLy9_XOi.js +1 -0
  373. package/dist/assets/web-BA_SEIKY.js +1 -0
  374. package/dist/assets/web-BGBSTUE5.js +1 -0
  375. package/dist/assets/web-BOoSclHV.js +1 -0
  376. package/dist/assets/web-Cnoc-36d.js +1 -0
  377. package/dist/assets/web-D36IPmll.js +1 -0
  378. package/dist/assets/web-DaDJItvE.js +1 -0
  379. package/dist/assets/web-GjGo6RCY.js +1 -0
  380. package/dist/assets/web-ZoqYnuKe.js +1 -0
  381. package/dist/assets/web-mirSqNWL.js +1 -0
  382. package/dist/assets/welcome-screen-D_DGrYN8.js +1 -0
  383. package/dist/assets/workflow-detail-panel-CxW-kRmn.js +1 -0
  384. package/dist/assets/workspace-Bcvg2VfS.js +1 -0
  385. package/dist/assets/workspace-BscXtFFU.js +1 -0
  386. package/dist/assets/workspace-C-huZiu_.js +1 -0
  387. package/dist/assets/workspace-P8HaFDdu.js +1 -0
  388. package/dist/assets/workspace-page-Cdm9g2X4.css +1 -0
  389. package/dist/assets/workspace-page-DgcWo0Qw.js +1 -0
  390. package/dist/assets/xlsx-preview-CPNIZGF4.js +1 -0
  391. package/dist/assets/xterm-Pyzkt_-B.js +7 -0
  392. package/dist/assets/xterm-addon-fit-HaY_WHvm.js +1 -0
  393. package/dist/cadet-logo-white.svg +10 -0
  394. package/dist/cadet-logo.svg +8 -0
  395. package/dist/cadet-scene-cut.mp4 +0 -0
  396. package/dist/favicon.svg +28 -0
  397. package/dist/fonts/InstrumentSerif-Regular.ttf +0 -0
  398. package/dist/images/integrations/airtable.svg +1 -0
  399. package/dist/images/integrations/amplemarket-mcp.png +0 -0
  400. package/dist/images/integrations/apple-notes.svg +1 -0
  401. package/dist/images/integrations/asana.svg +1 -0
  402. package/dist/images/integrations/ashby-mcp.png +0 -0
  403. package/dist/images/integrations/atlassian-mcp.png +0 -0
  404. package/dist/images/integrations/attio-mcp.png +0 -0
  405. package/dist/images/integrations/brex-mcp.png +0 -0
  406. package/dist/images/integrations/calendly-mcp.png +0 -0
  407. package/dist/images/integrations/calendly.svg +1 -0
  408. package/dist/images/integrations/circleback-mcp.png +0 -0
  409. package/dist/images/integrations/clay-mcp.png +0 -0
  410. package/dist/images/integrations/craft-mcp.png +0 -0
  411. package/dist/images/integrations/customer-io-mcp.png +0 -0
  412. package/dist/images/integrations/discord.svg +1 -0
  413. package/dist/images/integrations/dropbox.svg +1 -0
  414. package/dist/images/integrations/eventbrite.svg +1 -0
  415. package/dist/images/integrations/excel.svg +1 -0
  416. package/dist/images/integrations/fathom-mcp.png +0 -0
  417. package/dist/images/integrations/figma.svg +8 -0
  418. package/dist/images/integrations/fireflies-mcp.png +0 -0
  419. package/dist/images/integrations/gamma-mcp.png +0 -0
  420. package/dist/images/integrations/github-dark.svg +1 -0
  421. package/dist/images/integrations/github.svg +1 -0
  422. package/dist/images/integrations/gmail.svg +7 -0
  423. package/dist/images/integrations/google-calendar.svg +11 -0
  424. package/dist/images/integrations/google-drive.svg +8 -0
  425. package/dist/images/integrations/guru-mcp.png +0 -0
  426. package/dist/images/integrations/hubspot.svg +1 -0
  427. package/dist/images/integrations/interactive-brokers-mcp.png +0 -0
  428. package/dist/images/integrations/intercom-mcp.png +0 -0
  429. package/dist/images/integrations/jira.svg +4 -0
  430. package/dist/images/integrations/jotform-mcp.png +0 -0
  431. package/dist/images/integrations/juicebox-mcp.png +0 -0
  432. package/dist/images/integrations/klaviyo-mcp.png +0 -0
  433. package/dist/images/integrations/linear-light-logo.svg +1 -0
  434. package/dist/images/integrations/linear-mcp.png +0 -0
  435. package/dist/images/integrations/mailerlite-mcp.png +0 -0
  436. package/dist/images/integrations/meltwater-mcp.png +0 -0
  437. package/dist/images/integrations/mem-mcp.png +0 -0
  438. package/dist/images/integrations/mercury-mcp.png +0 -0
  439. package/dist/images/integrations/monday.svg +1 -0
  440. package/dist/images/integrations/navan-mcp.png +0 -0
  441. package/dist/images/integrations/notion-mcp.png +0 -0
  442. package/dist/images/integrations/notion.svg +7 -0
  443. package/dist/images/integrations/otter-mcp.png +0 -0
  444. package/dist/images/integrations/outlook.png +0 -0
  445. package/dist/images/integrations/profound-mcp.png +0 -0
  446. package/dist/images/integrations/quickbooks.svg +1 -0
  447. package/dist/images/integrations/ramp-mcp.png +0 -0
  448. package/dist/images/integrations/readwise-mcp.png +0 -0
  449. package/dist/images/integrations/salesforce.svg +5 -0
  450. package/dist/images/integrations/sanity.svg +1 -0
  451. package/dist/images/integrations/semrush-mcp.png +0 -0
  452. package/dist/images/integrations/sentry-mcp.png +0 -0
  453. package/dist/images/integrations/shopify.svg +1 -0
  454. package/dist/images/integrations/slack.svg +22 -0
  455. package/dist/images/integrations/spotify.svg +1 -0
  456. package/dist/images/integrations/stripe-link.svg +1 -0
  457. package/dist/images/integrations/stripe-mcp.png +0 -0
  458. package/dist/images/integrations/telegram.svg +1 -0
  459. package/dist/images/integrations/todoist-mcp.png +0 -0
  460. package/dist/images/integrations/todoist.svg +1 -0
  461. package/dist/images/integrations/typeform-mcp.png +0 -0
  462. package/dist/images/integrations/upwork-mcp.png +0 -0
  463. package/dist/images/integrations/webull-mcp.png +0 -0
  464. package/dist/images/integrations/wix-mcp.png +0 -0
  465. package/dist/images/integrations/x.svg +1 -0
  466. package/dist/images/prior-assistants/chatgpt.svg +3 -0
  467. package/dist/images/prior-assistants/claude.svg +3 -0
  468. package/dist/images/prior-assistants/copilot.svg +3 -0
  469. package/dist/images/prior-assistants/gemini.svg +10 -0
  470. package/dist/images/prior-assistants/hermes.png +0 -0
  471. package/dist/images/prior-assistants/manus.svg +6 -0
  472. package/dist/images/prior-assistants/openclaw.png +0 -0
  473. package/dist/index.html +371 -0
  474. package/dist/login-background-characters.svg +41 -0
  475. package/dist/skills/amazon/assets/icon.svg +38 -0
  476. package/dist/skills/api-mapping/assets/icon.svg +18 -0
  477. package/dist/skills/cadet-github-app-setup/assets/icon.svg +1 -0
  478. package/dist/skills/chat-complex-documents/assets/icon.svg +26 -0
  479. package/dist/skills/deepgram-voice/assets/icon.svg +1 -0
  480. package/dist/skills/discord-app-setup/assets/icon.svg +1 -0
  481. package/dist/skills/doordash/assets/icon.svg +1 -0
  482. package/dist/skills/elevenlabs-voice/assets/icon.svg +1 -0
  483. package/dist/skills/frontend-design/assets/icon.svg +16 -0
  484. package/dist/skills/gmail/assets/icon.svg +1 -0
  485. package/dist/skills/google-calendar/assets/icon.svg +1 -0
  486. package/dist/skills/inbox-cleanup/assets/icon.svg +1 -0
  487. package/dist/skills/inbox-management/assets/icon.svg +1 -0
  488. package/dist/skills/linear-app-setup/assets/icon.svg +1 -0
  489. package/dist/skills/macos-automation/assets/icon.svg +12 -0
  490. package/dist/skills/mailgun-setup/assets/icon.svg +1 -0
  491. package/dist/skills/notion/assets/icon.svg +1 -0
  492. package/dist/skills/outlook/assets/icon.svg +2 -0
  493. package/dist/skills/outlook-calendar/assets/icon.svg +2 -0
  494. package/dist/skills/slack/assets/icon.svg +6 -0
  495. package/dist/skills/start-the-day/assets/icon.svg +13 -0
  496. package/dist/skills/stripe-app-setup/assets/icon.svg +1 -0
  497. package/dist/skills/stripe-link-wallet/assets/icon.svg +1 -0
  498. package/dist/skills/telegram-setup/assets/icon.svg +1 -0
  499. package/dist/skills/twilio-setup/assets/icon.svg +1 -0
  500. package/dist/skills/vercel-token-setup/assets/icon.svg +1 -0
  501. package/dist/skills/voice-setup/assets/icon.svg +20 -0
  502. package/dist/skills/weather/assets/icon.svg +24 -0
  503. package/package.json +7 -7
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{At as t,Bt as n,Jn as r,Mt as i,On as a,Pn as o,Wn as s,YC as c,Zr as l,_t as u,bt as d,dt as f,eg as p,ft as m,gt as h,hi as g,ht as _,jt as v,kt as y,ot as b,pt as x,pv as S,qr as C,tc as w,tg as T,vt as E,wt as D}from"./app-DAMRg6Fy.js";import{t as O,x as k}from"./react-BJ4PZBJN.js";import{w as A}from"./vendor-CezcraPH.js";import{Ki as j,Yn as M}from"./icons-Dwi7aA1Y.js";import{l as N,n as P,o as F,t as I}from"./tool-detail-panel-B3d-TF95.js";import{n as L,t as R}from"./step-detail-header-CKthESBJ.js";var z=e(k(),1),B=O();function V({assistantId:e,image:r,title:i,ariaLabel:a,onPreview:s}){let c=(0,z.useRef)(null),{url:l,isError:u,isPending:d}=o(e,r,t(c)||typeof IntersectionObserver>`u`),[f,p]=(0,z.useState)(null);(0,z.useEffect)(()=>{p(null)},[r.id,r.previewUrl]);let m=l===f?null:l,h=d?null:{...r,previewUrl:m??null};return(0,B.jsx)(`div`,{ref:c,"data-testid":`activity-screenshot-tile`,"data-tool-call-id":r.toolCallId,children:(0,B.jsx)(n,{attachment:h,placeholder:u?null:(0,B.jsx)(M,{className:`h-6 w-6 animate-spin`,"aria-hidden":`true`}),labels:{title:i,ariaLabel:a,secondary:null},hideCaptions:!0,onPreview:()=>s(c.current?.firstElementChild instanceof HTMLElement?c.current.firstElementChild:null),onPreviewError:()=>p(l)})})}var H=60;function U(e,t){return W(e,t.flatMap(e=>e.kind===`tool`?[e.toolCallId]:[]))}function W(e,t,n=i){let r=new Set(t),a=new Set(e.filter(e=>r.has(e.id)&&S(e.name,e.input)).map(e=>e.id)),o=new Map;for(let t of n(e,(e,t,n)=>a.has(e.id)&&t===n))o.set(t.toolCallId,t);let s=[],c=new Set;for(let e of t){if(c.has(e))continue;let t=o.get(e);t&&(c.add(e),s.push({image:t,occurrenceKey:e}))}return s}function G({payload:e,onClose:t,assistantId:n}){return(0,B.jsx)(q,{payload:e,onClose:t,assistantId:n},K(e))}function K(e){if(e.messageId!=null){if(e.wholeTurn)return JSON.stringify([`message`,e.messageId,`turn`]);let t=e.groupToolCallIds?.[0];return JSON.stringify(t==null?[`message`,e.messageId,`index`,e.groupIndex??null]:[`message`,e.messageId,`tool`,t])}let t=e.toolCalls[0]?.id;return JSON.stringify(t==null?[`snapshot`,`index`,e.groupIndex??null]:[`snapshot`,`tool`,t])}function q({payload:e,onClose:t,assistantId:n}){let{t:i}=A(`chat`),[o,l]=(0,z.useState)(null),u=L(o),h=e.groupToolCallIds?.[0]??e.toolCalls[0]?.id,_=b(e.messageId,e.groupIndex,h,e.wholeTurn),y=_?.items??e.items,S=_?.toolCalls??e.toolCalls,C=T.use.phase(),w=_?_.isLastGroup&&_.isLatestMessage:e.messageId==null,E=x(y,{active:e.active===!0&&w&&p(C)}),D=(0,z.useMemo)(()=>y.flatMap(e=>e.kind===`toolCall`?[e.toolCall.id]:[]),[y]),O=(0,z.useMemo)(()=>v(),[]),k=(0,z.useMemo)(()=>W(S,D,O),[S,D,O]),M=(0,z.useMemo)(()=>k.map(e=>e.occurrenceKey),[k]),N=(0,z.useMemo)(()=>new Map(k.map((e,t)=>[e.occurrenceKey,t])),[k]),I=(0,z.useMemo)(()=>k.map(e=>e.image),[k]),H=(0,z.useRef)(null),{openPreview:U,previewModal:G}=a(n,I,M,{scopeKey:`${n??``}:${e.messageId??``}:${h??e.groupIndex??``}`,getFallbackFocus:()=>H.current?.querySelector(`button, [role="button"][tabindex="0"]`)??null}),K=m(E.state,E.steps),q=K===`loading`,Z=f(i,K,E),Q=q&&E.currentStepTitle||Z,$=(0,z.useMemo)(()=>new Map(S.map(e=>[e.id,e])),[S]);return(0,B.jsx)(`div`,{ref:H,className:`contents`,children:(0,B.jsxs)(s,{icon:o?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(c,{variant:`outlined`,iconOnly:(0,B.jsx)(j,{}),"aria-label":i(`activityStepsPanel.backAria`),tooltip:i(`activityStepsPanel.backTooltip`),onClick:()=>l(null),className:`shrink-0`}),(0,B.jsx)(R,{detail:o,source:F})]}):void 0,title:u,titleNode:o?o.kind===`thinking`?void 0:(0,B.jsx)(P,{detail:o,source:F}):(0,B.jsx)(r,{title:q?(0,B.jsx)(g,{children:Q}):Q,count:E.stepCount}),closeLabel:i(`activityStepsPanel.closeSteps`),onClose:t,children:[o?(0,B.jsx)(X,{detail:o,assistantId:n}):(0,B.jsx)(d,{steps:E.steps,timeline:!0,renderStep:t=>(0,B.jsx)(Y,{step:t,activeDetail:o,onOpenDetail:l,lookupToolCall:e=>$.get(e),messageId:e.wholeTurn?void 0:e.messageId,groupIndex:_?.groupIndex??e.groupIndex}),renderPhaseFooter:e=>{let t=J(e,k,N);if(!t)return null;let{entry:r,step:a,index:o}=t,s=a.activity?.trim(),c=s?i(`activityStepsPanel.screenshotTitle`,{activity:s}):i(`activityStepsPanel.screenshotFallbackTitle`),l=s?i(`activityStepsPanel.screenshotAria`,{activity:s}):i(`activityStepsPanel.screenshotFallbackAria`);return(0,B.jsx)(V,{assistantId:n,image:r.image,title:c,ariaLabel:l,onPreview:e=>U(r.image,o,e)})}}),G]})})}function J(e,t,n){if(!D(e.label))return null;for(let r=e.steps.length-1;r>=0;--r){let i=e.steps[r];if(i?.kind!==`tool`)continue;let a=n.get(i.toolCallId);if(a!==void 0)return{entry:t[a],step:i,index:a}}return null}function Y({step:e,activeDetail:t,onOpenDetail:n,lookupToolCall:r,messageId:i,groupIndex:a}){let{t:o}=A(`chat`),s=y();if(e.kind===`thinking`){let t=i!=null&&e.thinkingItemIndex!=null?{messageId:i,thinkingGroupIndex:a,thinkingItemIndex:e.thinkingItemIndex}:{};return(0,B.jsx)(u,{iconName:`brain`,label:w(l(e.text),H),ariaLabel:o(`activityStepsPanel.viewThinkingAria`),active:!1,onClick:()=>n({kind:`thinking`,toolCallId:``,toolName:``,title:o(`thinkingDetail.title`),activity:``,input:{},status:`completed`,thinkingText:e.text,...t})})}if(e.kind===`web_search`)return(0,B.jsx)(h,{step:e});if(e.kind===`web_search_error`)return(0,B.jsx)(_,{step:e});if(e.kind!==`tool`)return(0,B.jsx)(E,{step:e});let c=r(e.toolCallId);return(0,B.jsx)(u,{iconName:e.iconName,label:s({activity:e.activity,actionDisplayKey:e.actionDisplayKey,fallback:e.activity||e.info||e.title}),active:t?.toolCallId===e.toolCallId,onClick:()=>{c&&n(C(c))}})}function X({detail:e,assistantId:t}){return e.kind===`thinking`?(0,B.jsx)(N,{detail:e,assistantId:t}):(0,B.jsx)(I,{detail:e,source:F,assistantId:t})}export{G as ActivityStepsPanel,U as buildActivityScreenshotGallery};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ld as t,OC as n,Ry as r,YC as i,_S as a,cC as o,ew as s,fC as c,hf as l,zd as u,zy as d}from"./app-DAMRg6Fy.js";import{_ as f,d as p,n as m,t as h,x as g}from"./react-BJ4PZBJN.js";import{Jn as _,Zn as v,w as y}from"./vendor-CezcraPH.js";import{Gi as b,Ui as x}from"./icons-Dwi7aA1Y.js";import{n as S}from"./android-billing-handoff-DuikPeLS.js";import{t as C}from"./checkout-return-target-CW9E2X_1.js";var w=e(g(),1),T=h(),E=[`10.00`,`20.00`,`30.00`,`40.00`,`50.00`,`60.00`,`70.00`,`80.00`,`90.00`,`100.00`];function D(e){let t=parseFloat(e);if(Number.isNaN(t))return`0 credits`;let n=t.toLocaleString(`en-US`,{minimumFractionDigits:2,maximumFractionDigits:2});return`${n.endsWith(`.00`)?n.slice(0,-3):n} credits`}function O(e){if(e&&typeof e==`object`){let t=e.amount;if(Array.isArray(t)&&typeof t[0]==`string`)return t[0]}return`Failed to create checkout session. Please try again.`}function k({open:e,onOpenChange:h}){let{t:g}=y(),{pathname:S}=p(),[k]=f(),A=k.toString()?`${S}?${k.toString()}`:S,{data:j,isLoading:M}=v(t()),N=j?.allowed_top_up_amounts?.length?j.allowed_top_up_amounts:E,[P,F]=(0,w.useState)(null),I=P&&N.includes(P)?P:N[0]??E[0],L=_(u());return(0,w.useEffect)(()=>d(()=>{h(!1)}),[h]),l(`deeplink.billingCheckoutComplete`,({flow:e})=>{e===`top_up`&&h(!1)}),(0,T.jsx)(c.Root,{open:e,onOpenChange:h,children:(0,T.jsxs)(c.Content,{size:`sm`,children:[(0,T.jsxs)(c.Header,{children:[(0,T.jsx)(c.Title,{children:g(`addCreditsModal.title`)}),(0,T.jsx)(c.Description,{children:g(`addCreditsModal.description`)})]}),(0,T.jsx)(c.Body,{children:(0,T.jsxs)(`div`,{className:`space-y-4`,children:[(0,T.jsxs)(`div`,{children:[(0,T.jsx)(`label`,{htmlFor:`add-credits-amount`,className:`block text-body-small-default text-[var(--content-tertiary)]`,children:g(`addCreditsModal.amount`)}),(0,T.jsx)(o,{id:`add-credits-amount`,value:I,onChange:e=>{F(e),L.isError&&L.reset()},disabled:M||!j,options:N.map(e=>({value:e,label:D(e)}))})]}),L.isError&&(0,T.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,T.jsx)(x,{className:`h-3.5 w-3.5 shrink-0`}),O(L.error)]}),(0,T.jsxs)(m,{to:a.settings.usageBillingConfigureTopUps,className:s(n({tone:`quiet`}),`flex items-center gap-1 text-body-small-default text-[var(--content-tertiary)]`),onClick:()=>h(!1),children:[g(`addCreditsModal.configureAutoReload`),(0,T.jsx)(b,{className:`size-4`})]}),(0,T.jsx)(`div`,{className:`h-px w-full bg-[var(--border-subtle)]`})]})}),(0,T.jsxs)(c.Footer,{children:[(0,T.jsx)(c.Close,{asChild:!0,children:(0,T.jsx)(i,{variant:`outlined`,children:g(`addCreditsModal.cancel`)})}),(0,T.jsx)(i,{variant:`primary`,loading:L.isPending,onClick:()=>{L.isPending||L.mutate({body:{amount:I,return_path:A,return_target:C()}},{onSuccess:e=>{r(e.checkout_url)}})},disabled:L.isPending||M||!j,children:g(`addCreditsModal.continue`)})]})]})})}function A(e){return S({open:e.open,path:a.settings.usageBilling,onClose:()=>e.onOpenChange(!1)})?null:(0,T.jsx)(k,{...e})}export{A as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./add-credits-modal-DjfZWINl.js";export{e as AddCreditsModal};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$ as t,AC as n,Ab as r,Ao as i,As as a,BS as o,Bb as s,Bf as c,Bp as l,Bs as u,Bv as d,CC as f,Cb as p,Cr as m,Db as h,Ds as g,EC as _,ES as v,Eb as y,Em as b,Er as x,Es as S,Ev as C,FC as w,Fb as T,Fv as E,G as D,Gb as O,Gf as k,Hb as A,Hf as j,Hs as M,IS as N,Ib as P,Ig as F,Is as I,Jb as ee,Ji as L,Kb as te,Kf as R,Kn as ne,Lb as re,Lp as ie,Ls as z,MS as ae,Mb as oe,Mg as se,Mo as ce,Ms as le,Nb as ue,Ng as de,Ns as B,Ob as fe,Os as pe,Pb as me,Ps as he,Py as ge,RC as V,RS as _e,Rb as ve,Rm as ye,Rp as be,Rs as xe,SC as Se,Sb as Ce,Sr as we,Tb as Te,Tm as Ee,Tr as De,Ts as Oe,Ub as ke,Uf as Ae,Us as je,VC as Me,Vb as Ne,Vf as Pe,Vs as Fe,WC as H,Wb as Ie,Wf as Le,Wn as Re,Ws as ze,Wt as Be,X as Ve,XS as He,Xb as Ue,Xm as We,Y as Ge,YC as U,Yb as Ke,ZC as qe,Zm as Je,_g as Ye,_p as Xe,ah as Ze,ap as Qe,cC as W,ch as $e,dC as G,dh as et,eS as tt,eh as nt,ep as rt,fC as K,fm as it,fp as at,gp as ot,hp as st,hv as ct,ih as lt,ip as ut,jb as dt,jm as ft,jo as pt,js as mt,kb as ht,ks as gt,lh as _t,mm as vt,mp as yt,nh as bt,np as xt,oh as St,pm as Ct,pp as wt,q as Tt,qb as Et,qi as Dt,rC as Ot,rh as kt,rn as At,rp as jt,ry as Mt,sh as Nt,tp as Pt,tu as Ft,uC as It,uh as Lt,vp as Rt,wC as q,wb as zt,wr as Bt,xr as Vt,yy as Ht,zb as Ut,zf as Wt,zp as Gt,zv as Kt}from"./app-DAMRg6Fy.js";import{b as qt,t as Jt,x as Yt}from"./react-BJ4PZBJN.js";import{E as Xt,Jn as Zt,Zn as J,er as Y,k as X,w as Z}from"./vendor-CezcraPH.js";import{A as Qt,D as $t,Lt as en,Ui as tn,Xn as nn,Yn as rn,Zr as an,fr as on,vt as sn}from"./icons-Dwi7aA1Y.js";import{t as cn}from"./ellipsis-vertical-DXwTXFid.js";import{i as ln,n as un,r as dn,t as fn}from"./service-form-controls-XyeWFJJo.js";import{o as pn}from"./detail-primitives-BTT_ppGj.js";import{d as mn,o as hn,u as gn}from"./schedules-BFqYjCDV.js";import{t as _n}from"./stt-language-picker-modal-DnPX-_k-.js";var Q=e(Yt(),1);function vn(){let e=D();return(0,Q.useCallback)(async(t,n)=>{try{let{data:r}=await Ht({path:{assistant_id:e},body:{value:n,type:`api_key`,name:t},throwOnError:!0});p(r)}catch(e){throw e instanceof Error&&e.message===`No assistant found`?G.error(X(`settings:useDaemonConfig.assistantNotReadyToast`)):G.error(X(`settings:useDaemonConfig.saveApiKeyFailedToast`,{providerName:t})),v(e,{context:`provision_provider_key`}),e}},[e])}function yn(e){let[t,n]=(0,Q.useState)(void 0);return(0,Q.useEffect)(()=>{t!==void 0&&e===t.value&&n(void 0)},[e,t]),[t===void 0?e:t.value,(0,Q.useCallback)(e=>n(e===void 0?void 0:{value:e}),[])]}var bn=`0.11.0`;function xn(){return se(bn)}var $=Jt(),Sn=`gemini-3.1-flash-image-preview`;function Cn(e,t){return e===`openrouter`?`openrouter`:M(t)}function wn(){let{t:e}=Z(`settings`),t=D(),n=Y(),r=nt(),{data:i}=J({...at({path:{assistant_id:t}}),enabled:r,staleTime:3e4}),a=ft({onSuccess:e=>{yt(n,{path:{assistant_id:t}},e)}}),s=vn(),c=i?.services?.[`image-generation`],l=(0,Q.useMemo)(()=>i?c?.mode===`managed`?`cadet`:c?.provider||N(`cadet:ai:imageGenProvider`,`gemini`):N(S,`gemini`),[i,c?.mode,c?.provider]),[u,d]=yn(l),[f,p]=(0,Q.useState)(()=>N(Oe,Sn)),[m,h]=(0,Q.useState)(null),g=l===`openrouter`&&typeof c?.model==`string`?c.model:void 0,_=m??g??N(`cadet:ai:imageGenModel`,`google/gemini-3.1-flash-image-preview`),y=u===`openrouter`,b=Fe(u),x=y?_.trim()||`google/gemini-3.1-flash-image-preview`:b.includes(f)?f:b[0]??Sn,[C,w]=(0,Q.useState)(``),[T,E]=(0,Q.useState)(!1),O=z.map(e=>({value:e,label:xe[e]??e})),k=(0,Q.useMemo)(()=>Fe(u).map(e=>({value:e,label:I[e]??e})),[u]),A=u===`gemini`||u===`openai`||u===`openrouter`,{hasStoredCredential:j}=Je({assistantId:t,credentialKind:`api_key`,credentialName:u,enabled:A}),M=(0,Q.useCallback)(e=>{d(e),e===`openrouter`&&m===null&&h(g??`google/gemini-3.1-flash-image-preview`)},[m,g,d]),P=(0,Q.useCallback)(async()=>{E(!0);let r=C.trim(),i=A&&r.length>0;try{await F(),i&&await s(Cn(u,x),r);let o=u===`cadet`&&!xn()?{mode:`managed`}:{provider:u,mode:u===`cadet`?`managed`:`your-own`};await a.mutateAsync({path:{assistant_id:t},body:{services:{"image-generation":o}}}).catch(t=>{throw G.error(e(`imageGenerationCard.configUpdateFailedToast`)),v(t,{context:`patch_daemon_config`}),t});try{await Mt({path:{assistant_id:t},body:{modelId:x},throwOnError:!0})}catch(t){throw G.error(e(`imageGenerationCard.modelUpdateFailedToast`)),v(t,{context:`set_image_gen_model`}),t}finally{n.invalidateQueries({queryKey:wt({path:{assistant_id:t}})})}}catch{E(!1);return}E(!1);try{if(o(S,u),o(Oe,x),i){let e=We(t,`api_key`,u);n.setQueryData(e,!0),n.invalidateQueries({queryKey:e}),w(``)}G.success(e(`imageGenerationCard.savedToast`))}catch(t){v(t,{context:`settings-ai-image-gen-persist-local`}),G.error(e(`imageGenerationCard.localPreferencesFailedToast`))}},[C,u,A,x,t,a,s,n,e]),ee=(0,Q.useCallback)(()=>{if(w(``),u===`openrouter`){h(he),o(Oe,he);return}p(Sn),o(Oe,Sn)},[u]),L=e(u===`openai`?`imageGenerationCard.openaiApiKeyPlaceholder`:u===`openrouter`?`imageGenerationCard.openrouterApiKeyPlaceholder`:`imageGenerationCard.geminiApiKeyPlaceholder`);return(0,$.jsx)(ln,{title:e(`imageGenerationCard.title`),subtitle:e(`imageGenerationCard.subtitle`),children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`imageGenerationCard.providerLabel`)}),(0,$.jsx)(W,{"aria-label":e(`imageGenerationCard.providerAriaLabel`),value:u,onChange:M,options:O})]}),u===`cadet`&&(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`imageGenerationCard.cadetNote`)}),A&&(0,$.jsx)(q,{label:e(`imageGenerationCard.apiKeyLabel`),type:`password`,value:C,onChange:e=>w(e.target.value),placeholder:xt(L,j),fullWidth:!0}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`imageGenerationCard.activeModelLabel`)}),y?(0,$.jsx)(q,{"aria-label":e(`imageGenerationCard.modelAriaLabel`),value:_,onChange:e=>h(e.target.value),placeholder:e(`imageGenerationCard.openrouterModelPlaceholder`),fullWidth:!0}):(0,$.jsx)(W,{"aria-label":e(`imageGenerationCard.modelAriaLabel`),value:x,onChange:p,options:k})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(dn,{onClick:P,disabled:T}),T&&(0,$.jsx)(rn,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),A&&(0,$.jsx)(un,{onClick:ee})]})]})})}function Tn({title:e,count:t,action:n,children:r}){return(0,$.jsxs)(`section`,{className:`rounded-xl border border-[var(--border-hover)] bg-[var(--surface-overlay)] px-3 py-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,$.jsx)(V,{variant:`body-large-default`,as:`h3`,className:`text-[var(--content-secondary)]`,children:e}),t==null?null:(0,$.jsxs)(V,{variant:`body-large-default`,as:`span`,"aria-label":`${t} ${e.toLowerCase()}`,className:`text-[var(--content-disabled)]`,children:[`·`,` `,t]})]}),n]}),r==null?null:(0,$.jsx)(`div`,{className:`mt-4 border-t border-[var(--border-base)]`,children:r})]})}function En(e){return e.scheduleNames.length>0||e.deferredReminderCount>0||e.scheduleLookupFailed}var Dn=5;function On({title:e,items:t,mono:n}){return(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(V,{variant:`body-small-default`,as:`p`,className:`text-(--content-tertiary)`,children:e}),(0,$.jsx)(`ul`,{className:`space-y-1 pl-1`,children:t.map(e=>(0,$.jsxs)(`li`,{className:`text-body-small-default text-(--content-secondary)`,children:[`• `,n?(0,$.jsx)(`code`,{children:e}):e]},e))})]})}function kn(e){let t=e.label||e.name,n=[];e.isActive&&n.push(X(`settings:manageProfilesBlockedDeleteModal.clauseDefaultProfile`)),e.callSiteIds.length>0&&n.push(X(`settings:manageProfilesBlockedDeleteModal.clauseActionOverrides`,{count:e.callSiteIds.length}));let r=e.scheduleNames.length,i=e.deferredReminderCount;return r>0&&i>0?n.push(X(`settings:manageProfilesBlockedDeleteModal.clauseRunsBoth`,{schedules:r,reminders:i})):r>0?n.push(X(`settings:manageProfilesBlockedDeleteModal.clauseRunsSchedules`,{count:r})):i>0&&n.push(X(`settings:manageProfilesBlockedDeleteModal.clauseRunsReminders`,{count:i})),n.length===0?X(`settings:manageProfilesBlockedDeleteModal.summaryNoReferences`,{display:t}):n.length===1?X(`settings:manageProfilesBlockedDeleteModal.summaryOneClause`,{display:t,clause1:n[0]}):n.length===2?X(`settings:manageProfilesBlockedDeleteModal.summaryTwoClauses`,{display:t,clause1:n[0],clause2:n[1]}):X(`settings:manageProfilesBlockedDeleteModal.summaryThreeClauses`,{display:t,clause1:n[0],clause2:n[1],clause3:n[2]})}function An({blocked:e,availableReplacements:t,replacement:n,onReplacementChange:r,error:i,saving:a,onClose:o,onConfirm:s}){let{t:c}=Z(`settings`),l=e?.scheduleNames??[],u=l.slice(0,Dn),d=l.length-u.length,f=e!=null&&En(e);return(0,$.jsx)(K.Root,{open:e!==null,onOpenChange:e=>{e||o()},children:(0,$.jsxs)(K.Content,{size:`sm`,children:[(0,$.jsx)(K.Header,{children:(0,$.jsx)(K.Title,{children:c(`manageProfilesBlockedDeleteModal.title`)})}),(0,$.jsxs)(K.Body,{className:`space-y-4`,children:[e&&(0,$.jsx)(V,{variant:`body-medium-default`,as:`p`,children:kn(e)}),e&&e.callSiteIds.length>0&&(0,$.jsx)(On,{title:c(`manageProfilesBlockedDeleteModal.actionOverridesTitle`),items:e.callSiteIds,mono:!0}),u.length>0&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(On,{title:c(`manageProfilesBlockedDeleteModal.schedulesTitle`),items:u}),d>0&&(0,$.jsx)(V,{variant:`body-small-default`,as:`p`,className:`pl-1 text-(--content-tertiary)`,children:c(`manageProfilesBlockedDeleteModal.moreSchedules`,{count:d})})]}),e?.scheduleLookupFailed&&(0,$.jsx)(V,{variant:`body-small-default`,as:`p`,className:`text-(--system-mid-strong)`,children:c(`manageProfilesBlockedDeleteModal.scheduleLookupFailed`)}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-(--content-tertiary)`,children:c(`manageProfilesBlockedDeleteModal.replacementLabel`)}),(0,$.jsx)(W,{"aria-label":c(`manageProfilesBlockedDeleteModal.replacementLabel`),value:n,onChange:r,placeholder:c(`manageProfilesBlockedDeleteModal.replacementPlaceholder`),options:t.map(e=>{let t=f&&e.status===`disabled`;return{value:e.name,label:m(e),disabled:t,tooltip:t?c(`manageProfilesBlockedDeleteModal.disabledTargetTooltip`):void 0}})})]}),i&&(0,$.jsx)(V,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:i})]}),(0,$.jsxs)(K.Footer,{children:[(0,$.jsx)(U,{variant:`ghost`,size:`compact`,onClick:o,children:c(`manageProfilesBlockedDeleteModal.cancel`)}),(0,$.jsx)(U,{variant:`primary`,size:`compact`,disabled:!n||a,onClick:s,children:c(a?`manageProfilesBlockedDeleteModal.saving`:`manageProfilesBlockedDeleteModal.reassignAndDelete`)})]})]})})}function jn({profile:e,isActiveProfile:t,selected:r,connections:i,deletePending:a=!1,onOpen:o,onMakeActive:s,onSetStatus:c,onDelete:l}){let{t:u}=Z(`settings`),d=e.source===`managed`,f=e.status===`disabled`,p=e.label??e.name,m=[];e.name===`auto`&&d?m.push(u(`profileRow.autoRouting`)):e.model&&m.push(j(e.provider??void 0,e.model,i)),d&&m.push(u(`profileRow.managedByCadet`));let h=e.availability,g=e.config_issue,_=g!=null||h?.status===`incomplete`,v=h?.message??u(`profileRow.providerUnavailableDefault`),y=g==null?h!=null&&h.status!==`ok`?_?u(`profileRow.providerUnavailableFixable`,{message:v}):v:null:u(`profileRow.providerUnavailableFixable`,{message:u(g.code===`over_output_cap`?`profileRow.configIssueOverOutputCap`:g.code===`no_input_room`?`profileRow.configIssueNoInputRoom`:`profileRow.configIssueModelUnknown`)});return(0,$.jsx)(He,{title:(0,$.jsx)(`span`,{className:f?`opacity-55`:void 0,children:p}),subtitle:m.length>0?m.join(` • `):void 0,onClick:o,showChevron:!1,selected:r,disabled:a,contentAriaLabel:u(`profileRow.openProfileAriaLabel`,{displayName:p}),trailingInteractive:!0,trailing:(0,$.jsxs)($.Fragment,{children:[y==null?null:(0,$.jsx)(qe,{content:y,children:_?(0,$.jsx)(U,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(tn,{}),iconOnlyGlyphClassName:`[&_svg]:size-4`,tintColor:`var(--system-mid-strong)`,expandOnMobile:!1,onClick:o,"aria-label":y}):(0,$.jsx)(`span`,{className:`inline-flex p-0.5`,tabIndex:0,children:(0,$.jsx)(tn,{className:`h-4 w-4 text-[var(--system-mid-strong)]`,"aria-label":y,role:`img`})})}),f?(0,$.jsx)(n,{tone:`neutral`,children:u(`profileRow.disabledTag`)}):null,t?(0,$.jsx)(n,{tone:`positive`,children:u(`profileRow.defaultTag`)}):null,(0,$.jsxs)(H.Root,{children:[(0,$.jsx)(H.Trigger,{asChild:!0,children:(0,$.jsx)(U,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(cn,{}),"aria-label":u(`profileRow.actionsAriaLabel`,{displayName:p}),disabled:a})}),(0,$.jsxs)(H.Content,{align:`end`,sideOffset:4,children:[(0,$.jsx)(H.Item,{onSelect:o,children:u(d?`profileRow.view`:`profileRow.edit`)}),!t&&!f&&Et(e.provider,e.model)?(0,$.jsx)(H.Item,{onSelect:s,children:u(`profileRow.makeDefault`)}):null,f?(0,$.jsx)(H.Item,{onSelect:()=>c(!0),children:u(`profileRow.enable`)}):d?null:(0,$.jsx)(H.Item,{onSelect:()=>c(!1),children:u(`profileRow.disable`)}),d?null:(0,$.jsx)(H.Item,{onSelect:l,className:Me.anchored,children:u(`profileRow.delete`)})]})]})]})})}function Mn(e,t){let n=Dt(),{data:r}=J({...ie({path:{assistant_id:e}}),enabled:n,staleTime:3e4}),{profiles:i,profileOrder:a}=At(t?.llm,e);return(0,Q.useMemo)(()=>r==null?{entries:zt(i,a).map(e=>({name:e.name,label:e.label??null,provider:e.provider??null,model:e.model??null,status:e.status===`disabled`?`disabled`:`active`,source:e.source===`managed`?`managed`:`user`,provider_connection:e.provider_connection,availability:null})),isEffectiveCatalog:!1}:{entries:r.profiles,isEffectiveCatalog:!0},[r,i,a])}var Nn=`0.10.8`;function Pn(e){return de(Nn,e)}var Fn=`settings-ai-profile-make-active`,In=`Failed to set the active profile. Please try again.`;function Ln(e){let t=c(),n=Y(),r=Pn(e),i=ye({onSuccess:()=>{n.invalidateQueries({queryKey:wt({path:{assistant_id:e}})}),n.invalidateQueries({queryKey:be({path:{assistant_id:e}})})}});async function a(n,r,i){try{await t.mutateAsync({path:{assistant_id:e},body:{llm:n}})}catch(e){throw v(e,{context:r}),G.error(i),e}}async function o(t){if(!r){await a({activeProfile:t},Fn,In);return}try{await i.mutateAsync({path:{assistant_id:e},body:{name:t}})}catch(e){let t=ae(e);throw G.error(t??In),t||v(e,{context:Fn}),e}}return{makeActive:o,setStatus:(e,t)=>a({profiles:{[e]:{status:t?`active`:`disabled`}}},`settings-ai-profile-toggle`,`Failed to update the profile. Please try again.`),deleteProfile:(e,t,n)=>a({profiles:{[e]:null},profileOrder:t.filter(t=>t!==e),...n?.isAdvisor?{advisorProfile:null}:{}},`settings-ai-profile-delete`,`Failed to delete the profile. Please try again.`),patchLlm:a,isPending:t.isPending||i.isPending}}var Rn=`The profile was not deleted.`,zn=`Failed to move the schedules. ${Rn}`;function Bn(e){let t=ae(e);return t?`${/[.!?]$/.test(t)?t:`${t}.`} ${Rn}`:zn}function Vn(e,n,r){let i=Ln(e),a=Y(),o=t(),s=n?.llm?.activeProfile??null,c=n?.llm?.advisorProfile??null,l=n?.llm?.callSites??{},u=(0,Q.useMemo)(()=>n?.llm?.profiles??{},[n?.llm?.profiles]),d=(0,Q.useMemo)(()=>n?.llm?.profileOrder??[],[n?.llm?.profileOrder]),f=(0,Q.useMemo)(()=>zt(u,d),[u,d]),[p,m]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(null),[_,y]=(0,Q.useState)(``),[b,x]=(0,Q.useState)(!1),[S,C]=(0,Q.useState)(null),w=(0,Q.useRef)(!1);function T(e){return f.filter(t=>t.name===e?!1:t.status===`disabled`?!0:Vt(t,f,{requireOwnProviderAndModel:o}))}function E(e,t){let n=T(e).filter(e=>!t||e.status!==`disabled`),r=n.find(e=>e.name===s),i=n.find(e=>e.source!==`managed`);return(r??i??n[0])?.name??``}async function D(e){try{await i.deleteProfile(e,d,{isAdvisor:e===c}),r?.onDeleted?.(e)}catch{}}async function O(t){let n=u[t]?.label??t,r=t===s,i=Object.entries(l).filter(([e,n])=>e!==`mainAgent`&&n?.profile===t).map(([e])=>e),o=[],c=0,d=!1;try{let n=(await a.fetchQuery({...it({path:{assistant_id:e},query:{inference_profile:t,include_all:`true`}}),retry:!1,staleTime:0})).schedules??[];o=n.filter(e=>!e.isDeferred).map(e=>e.name),c=n.filter(e=>e.isDeferred).length}catch(e){v(e,{context:`settings-ai-profile-delete-schedule-scan`}),d=!0}if(!(r||i.length>0||o.length>0||c>0)&&!d){await D(t);return}let f={name:t,label:n,isActive:r,callSiteIds:i,scheduleNames:o,deferredReminderCount:c,scheduleLookupFailed:d};m(f),y(E(t,En(f))),g(null)}function k(e){n==null||w.current||(w.current=!0,C(e),O(e).finally(()=>{w.current=!1,C(null)}))}async function A(){if(!p||!_)return;if(x(!0),g(null),En(p))try{await hn(e,p.name,_),await a.invalidateQueries({queryKey:Ct({path:{assistant_id:e}})})}catch(e){v(e,{context:`settings-ai-profile-reassign-schedules`}),g(Bn(e)),x(!1);return}let t={};if(p.isActive&&(t.activeProfile=_),p.callSiteIds.length>0){let e={};for(let t of p.callSiteIds)e[t]={profile:_};t.callSites=e}if(Object.keys(t).length>0)try{await i.patchLlm(t,`settings-ai-profile-reassign-delete`,`Failed to reassign references. Please try again.`)}catch{g(`Failed to reassign references. Please try again.`),x(!1);return}let n=p.name;m(null),x(!1),D(n)}return{requestDelete:k,pendingDeleteName:S,blockedDeleteModalProps:{blocked:p,availableReplacements:T(p?.name??null),replacement:_,onReplacementChange:y,error:h,saving:b,onClose:()=>{m(null),g(null)},onConfirm:()=>void A()}}}function Hn(){}function Un({assistantId:e,config:t,connections:n,selectedProfileName:r,onOpenProfile:i,onCreateProfile:a,onProfileDeleted:o}){let{t:s}=Z(`settings`),{entries:c}=Mn(e,t),l=Ln(e),u=Vn(e,t,{onDeleted:o}),d=t?.llm?.activeProfile??null;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Tn,{title:s(`profilesSection.title`),action:(0,$.jsx)(U,{variant:`primary`,onClick:a,leftIcon:(0,$.jsx)(en,{}),disabled:t==null,children:s(`profilesSection.createProfile`)}),children:t==null?(0,$.jsx)(V,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:s(`profilesSection.loading`)}):c.length===0?(0,$.jsx)(V,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:s(`profilesSection.emptyState`)}):c.map(e=>(0,$.jsx)(jn,{profile:e,isActiveProfile:e.name===d,selected:e.name===r,connections:n,deletePending:u.pendingDeleteName===e.name,onOpen:()=>i(e.name),onMakeActive:()=>void l.makeActive(e.name).catch(Hn),onSetStatus:t=>void l.setStatus(e.name,t).catch(Hn),onDelete:()=>u.requestDelete(e.name)},e.name))}),(0,$.jsx)(An,{...u.blockedDeleteModalProps})]})}var Wn={anthropic:!0,openai:!0,gemini:!0,fireworks:!0,openrouter:!0,chatgpt:!0,cadet:!0,together:!0,"vercel-ai-gateway":!0,minimax:!0,atlascloud:!0,baseten:!0,ionet:!0,poolside:!0,litellm:!0,opencode:!0};function Gn(e){return e in Wn}function Kn(e){if(!e.baseUrl)return null;try{return new URL(e.baseUrl).host}catch{return e.baseUrl}}function qn(e){let t=Kn(e)??``,n=[];t&&n.push(t);let r=e.models?.length??0;return r>0&&n.push(`${r} ${r===1?`model`:`models`}`),e.auth.type===`none`&&n.push(`keyless`),n.join(` · `)}function Jn(e){switch(e.auth.type){case`api_key`:return`Own API key`;case`oauth_subscription`:return`ChatGPT subscription`;case`none`:return`No API key needed`;default:return null}}function Yn(e){if(e.provider===`cadet`)return`Included with your plan`;if(e.provider===`openai-compatible`)return qn(e);let t=[];if(e.provider===`ollama`||e.provider===`opencode`){let n=Kn(e);n&&t.push(n)}let n=e.provider===`chatgpt`?`openai`:e.provider,r=e.auth.type===`oauth_subscription`?Le(n):Ke(n),i=e.models?.length??r.length;i>0&&t.push(`${i} ${i===1?`model`:`models`}`);let a=Jn(e);return a&&t.push(a),t.join(` • `)}function Xn({connection:e,isDefault:t,supportsDefaultProvider:r,selected:i,isSettingDefault:a,onOpen:o,onSetDefault:s,onDelete:c}){let{t:l}=Z(`settings`),u=e.isManaged??!1,d=$e(e),f=Gn(e.provider),p=Yn(e),m=r&&!t&&f,h=!u&&o!=null,g=!u&&!t,_=m||h||g;return(0,$.jsx)(He,{title:d,subtitle:p.length>0?p:void 0,onClick:o,showChevron:!1,selected:i,contentAriaLabel:o?l(`providerRow.openProviderAriaLabel`,{displayName:d}):void 0,trailingInteractive:!0,trailing:(0,$.jsxs)($.Fragment,{children:[u?(0,$.jsx)(n,{tone:`neutral`,title:l(`providerRow.managedTagTitle`),children:l(`providerRow.managedTag`)}):null,t?(0,$.jsx)(n,{tone:`info`,title:l(`providerRow.defaultTagTitle`),children:l(`providerRow.defaultTag`)}):null,e.provider===`ollama`?(0,$.jsx)(n,{tone:`neutral`,title:l(`providerRow.localTagTitle`),children:l(`providerRow.localTag`)}):null,e.provider===`openai-compatible`?(0,$.jsx)(n,{tone:`neutral`,title:l(`providerRow.customTagTitle`),children:l(`providerRow.customTag`)}):null,_?(0,$.jsxs)(H.Root,{children:[(0,$.jsx)(H.Trigger,{asChild:!0,children:(0,$.jsx)(U,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(cn,{}),"aria-label":l(`providerRow.actionsAriaLabel`,{displayName:d})})}),(0,$.jsxs)(H.Content,{align:`end`,sideOffset:4,children:[h?(0,$.jsx)(H.Item,{onSelect:o,children:l(`providerRow.edit`)}):null,m?(0,$.jsx)(H.Item,{disabled:a,onSelect:s,children:l(`providerRow.setAsDefault`)}):null,g?(0,$.jsx)(H.Item,{onSelect:c,className:Me.anchored,children:l(`providerRow.delete`)}):null]})]}):(0,$.jsx)(`span`,{className:`inline-block w-8`,"aria-hidden":!0})]})})}function Zn(e,t){let n=Y(),r={path:{assistant_id:e}},i=Zt({...Rt(),onSuccess:()=>{n.invalidateQueries({queryKey:Xe(r)}),n.invalidateQueries({queryKey:wt(r)}),n.invalidateQueries({queryKey:be(r)})},onError:e=>{v(e,{context:`settings-ai-set-default-provider`}),G.error(X(`settings:useProviderActions.setDefaultFailedToast`))}});function a(t){Gn(t.provider)&&i.mutate({path:{assistant_id:e},body:{provider:t.provider,connectionName:t.name}})}function o(e){return i.isPending&&i.variables?.body?.connectionName===e}async function s(i){try{let{response:a}=await Kt({path:{assistant_id:e,name:i}});a?.ok||a?.status===404?(n.invalidateQueries({queryKey:l(r)}),t?.onDeleted?.(i)):a?.status===409?G.error(X(`settings:useProviderActions.deleteInUseToast`)):G.error(X(`settings:useProviderActions.deleteFailedToast`))}catch(e){v(e,{context:`settings-ai-provider-delete`}),G.error(X(`settings:useProviderActions.deleteFailedToast`))}}return{setDefault:a,isSettingDefault:o,deleteConnection:s}}function Qn({assistantId:e,selectedConnectionName:t,onOpenConnection:n,onAddProvider:r,onConnectionDeleted:i}){let{t:a}=Z(`settings`),{data:o,isLoading:s,isError:c}=J(Gt({path:{assistant_id:e}})),l=L(),{data:u}=J({...ot({path:{assistant_id:e}}),enabled:l}),d=l?u?.resolvedConnectionName??null:null,f=Zn(e,{onDeleted:i}),p=(0,Q.useMemo)(()=>{let e=o?.connections??[];return[...e.filter(e=>e.provider===Ne),...e.filter(e=>e.provider!==Ne)]},[o]);return(0,$.jsx)(Tn,{title:a(`providersSection.title`),action:(0,$.jsx)(U,{variant:`outlined`,onClick:r,leftIcon:(0,$.jsx)(en,{}),children:a(`providersSection.addProvider`)}),children:s?(0,$.jsx)(`div`,{className:`space-y-2 py-2`,children:[1,2,3].map(e=>(0,$.jsx)(Ot,{className:`h-10 rounded-lg`},e))}):c?(0,$.jsx)(V,{variant:`body-medium-default`,as:`p`,className:`py-4 text-center text-(--system-negative-strong)`,children:a(`providersSection.loadError`)}):p.length===0?(0,$.jsx)(V,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:a(`providersSection.empty`)}):p.map(e=>(0,$.jsx)(Xn,{connection:e,isDefault:e.name===d,supportsDefaultProvider:l,selected:e.name===t,isSettingDefault:f.isSettingDefault(e.name),onOpen:e.isManaged??!1?void 0:()=>n(e.name),onSetDefault:()=>f.setDefault(e),onDelete:()=>void f.deleteConnection(e.name)},e.name))})}function $n({panel:e,onOpenPanel:t,onClosePanel:n}){let{t:r}=Z(`settings`),i=D(),{data:a}=J({...at({path:{assistant_id:i}}),staleTime:3e4}),o=L(),{data:s}=J({...ot({path:{assistant_id:i}}),enabled:o}),c=s?.availability,{data:l}=J({...Gt({path:{assistant_id:i}})}),u=l?.connections,d=a?.llm?.callSites??{},f=Object.entries(d).filter(([e,t])=>e!==`mainAgent`&&(t?.profile!=null||t?.provider!=null||t?.model!=null)).length;return(0,$.jsx)(ln,{title:r(`languageModelCard.title`),subtitle:r(`languageModelCard.subtitle`),children:(0,$.jsxs)(`div`,{className:`space-y-2`,children:[c&&c.status!==`ok`&&(0,$.jsx)(w,{tone:c.status===`unknown`?`warning`:`error`,children:c.message??r(`languageModelCard.defaultProviderUnavailable`)}),i&&(0,$.jsx)(Un,{assistantId:i,config:a,connections:u,selectedProfileName:e?.kind===`profile`?e.name:null,onOpenProfile:e=>t({kind:`profile`,name:e}),onCreateProfile:()=>t({kind:`create-profile`}),onProfileDeleted:t=>{e?.kind===`profile`&&e.name===t&&n()}}),i&&(0,$.jsx)(Qn,{assistantId:i,selectedConnectionName:e?.kind===`provider`?e.name:null,onOpenConnection:e=>t({kind:`provider`,name:e}),onAddProvider:()=>t({kind:`add-provider`}),onConnectionDeleted:t=>{e?.kind===`provider`&&e.name===t&&n()}}),(0,$.jsx)(Tn,{title:r(`languageModelCard.overridesTitle`),count:f,action:(0,$.jsx)(U,{variant:`outlined`,onClick:()=>t({kind:`overrides`}),children:r(`languageModelCard.manage`)})})]})})}function er({children:e}){return(0,$.jsxs)(ge,{href:`https://www.mycadet.ai/docs/pricing`,tone:`default`,className:`inline-flex items-center gap-1`,glyph:!1,children:[e,(0,$.jsx)(an,{className:`h-3.5 w-3.5`})]})}function tr(){return(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-4 py-2.5`,children:[(0,$.jsx)(on,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:(0,$.jsx)(Xt,{i18nKey:`managedServicesBanner.body`,ns:`common`,components:{link:(0,$.jsx)(er,{})}})})]})}function nr({assistantId:e,profileName:t,onClose:r}){let{t:i}=Z(`settings`),{data:a}=J({...at({path:{assistant_id:e}}),staleTime:3e4}),{data:o}=J({...Gt({path:{assistant_id:e}})}),s=o?.connections,c=(0,Q.useMemo)(()=>a?.llm?.profiles??{},[a?.llm?.profiles]),l=Object.keys(c),u=(0,Q.useMemo)(()=>{if(t==null)return;let e=c[t];return e?{name:t,...e}:void 0},[t,c]),d=t==null?`create`:u?.source===`managed`||u?.invariant===!0?`view`:`edit`,{saveProfile:f,isPending:p}=Wt(e,{onSaved:r}),m=Pe({mode:d,profileName:t??void 0,initialValues:u,existingNames:l,connections:s,assistantId:e,onSave:f}),h=Vn(e,a,{onDeleted:()=>r()}),g=t!=null&&h.pendingDeleteName===t,_=t!=null&&a!=null&&!(t in c);(0,Q.useEffect)(()=>{_&&!m.saving&&!p&&r()},[_,m.saving,p,r]);let v=d===`view`;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Re,{title:m.effectiveMode===`create`?i(`profileDetailPanel.createTitle`):u?.label??t??i(`profileDetailPanel.defaultTitle`),closeVariant:`outlined`,onClose:r,headerTrailing:v&&m.effectiveMode!==`create`?(0,$.jsx)(n,{tone:`neutral`,children:i(`profileDetailPanel.managedTag`)}):null,headerActions:m.effectiveMode!==`create`&&!m.isReadOnly?(0,$.jsx)(U,{variant:`dangerOutline`,loading:g,iconOnly:(0,$.jsx)(Qt,{}),"aria-label":i(g?`profileDetailPanel.deleting`:`profileDetailPanel.delete`),tooltip:i(`profileDetailPanel.delete`),onClick:()=>{t!=null&&h.requestDelete(t)},disabled:m.saving||g}):null,footer:m.isReadOnly?(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(U,{variant:`outlined`,onClick:m.switchToSaveAsNew,disabled:m.saving,children:i(`profileDetailPanel.saveAsNew`)}),m.hasViewModeChanges?(0,$.jsx)(U,{variant:`primary`,onClick:()=>void m.handleSave(),disabled:m.saving,children:m.saving?i(`profileDetailPanel.saving`):i(`profileDetailPanel.save`)}):null]}):(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(U,{variant:`primary`,onClick:()=>void m.handleSave(),disabled:m.isInvalid||m.saving,children:m.saving?i(`profileDetailPanel.saving`):m.effectiveMode===`create`?i(`profileDetailPanel.create`):i(`profileDetailPanel.saveChanges`)})}),children:(0,$.jsx)(Ae,{editor:m,assistantId:e,connections:s,variant:`panel`})}),(0,$.jsx)(An,{...h.blockedDeleteModalProps})]})}function rr({value:e,profileOptions:t,disabled:n,onChange:r}){let{t:i}=Z(`settings`);return(0,$.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default font-medium text-[var(--content-default)]`,children:i(`advisorProfileRow.title`)}),(0,$.jsx)(`p`,{className:`mt-0.5 text-body-small-lighter text-[var(--content-tertiary)]`,children:i(`advisorProfileRow.description`)})]}),(0,$.jsx)(W,{value:e,onChange:r,options:t,placeholder:i(`advisorProfileRow.chooseProfilePlaceholder`),className:`w-44`,menuMinWidth:280,menuAlign:`start`,disabled:n})]})})}var ir=`__custom__`;function ar(e){return e?!!(e.profile||e.provider||e.model):!1}function or(e,t){if(t?.provider||t?.model)return null;let n=e.defaultProfile??e.shippedDefaultProfile;return n?{profile:n,via:t?.profile===n?`override`:`default`}:null}function sr(e,t){let n=ar(e);return n===ar(t)?n?(e?.profile??null)===(t?.profile??null)&&(e?.provider??null)===(t?.provider??null)&&(e?.model??null)===(t?.model??null):!0:!1}function cr({assistantId:e,callSites:n,domains:r,persistedOverrides:i,orderedProfiles:a,onClose:o,onApplied:s}){let{t:l}=Z(`settings`),u=c(),d=t(),f=(0,Q.useMemo)(()=>({requireOwnProviderAndModel:d,requireTextGeneration:!1}),[d]),p=(0,Q.useMemo)(()=>{let e=new Map;for(let t of n){let n=or(t,i[t.id]);n&&e.set(t.id,n)}return e},[n,i]),g=(0,Q.useMemo)(()=>{let e=new Set(Array.from(p.values(),e=>e.profile));return a.filter(t=>e.has(t.name))},[a,p]),[_,y]=(0,Q.useState)(()=>g[0]?.name??``),[b,S]=(0,Q.useState)(``),[C,T]=(0,Q.useState)(new Set),[E,D]=(0,Q.useState)(!1),O=(0,Q.useMemo)(()=>{let e=new Map(r.map(e=>[e.id,e.displayName]));return t=>e.get(t)??t},[r]),k=(0,Q.useMemo)(()=>n.filter(e=>p.get(e.id)?.profile===_),[n,p,_]),A=(0,Q.useMemo)(()=>k.map(e=>e.id).filter(e=>!C.has(e)),[k,C]),j=(0,Q.useMemo)(()=>g.map(e=>({value:e.name,label:m(e)})),[g]),M=(0,Q.useMemo)(()=>x(a,[],f).filter(e=>e.name!==_).map(e=>({value:e.name,label:m(e)})),[a,_,f]),N=h(a,_),P=h(a,b),F=C.size===0;function I(e){y(e),T(new Set),e===b&&S(``)}function ee(e,t){T(n=>{let r=new Set(n);return t?r.delete(e):r.add(e),r})}async function L(){if(!(!_||!b||A.length===0)){D(!0);try{let t={};for(let e of A)t[e]={profile:b};await u.mutateAsync({path:{assistant_id:e},body:{llm:{callSites:t}}}),G.success(l(`bulkOverrideSwapModal.successToast`,{count:A.length,targetLabel:P})),s(),o()}catch(e){let t=ae(e);G.error(t??l(`bulkOverrideSwapModal.updateFailedToast`)),t||v(e,{context:`settings-ai-bulk-override-swap`})}finally{D(!1)}}}return(0,$.jsx)(K.Root,{open:!0,onOpenChange:e=>{e||o()},children:(0,$.jsxs)(K.Content,{size:`md`,children:[(0,$.jsx)(K.Header,{children:(0,$.jsx)(K.Title,{children:l(`bulkOverrideSwapModal.title`)})}),(0,$.jsxs)(K.Body,{className:`space-y-4`,children:[(0,$.jsx)(V,{variant:`body-medium-default`,as:`p`,children:l(`bulkOverrideSwapModal.intro`)}),(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,$.jsx)(W,{id:`bulk-swap-source`,label:l(`bulkOverrideSwapModal.currentlyUsingLabel`),value:_,onChange:I,options:j}),(0,$.jsx)(W,{id:`bulk-swap-target`,label:l(`bulkOverrideSwapModal.changeToLabel`),value:b,onChange:S,options:M,placeholder:l(`bulkOverrideSwapModal.targetPlaceholder`)})]}),(0,$.jsx)(w,{tone:`info`,title:l(`bulkOverrideSwapModal.noticeTitle`),children:l(`bulkOverrideSwapModal.noticeBody`,{sourceLabel:N})}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`mb-2 flex items-baseline justify-between gap-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(V,{variant:`body-medium-default`,as:`p`,children:l(`bulkOverrideSwapModal.affectedSummary`,{count:k.length,profile:N})}),(0,$.jsx)(V,{variant:`body-small-default`,as:`p`,className:`text-[color:var(--content-secondary)]`,children:l(`bulkOverrideSwapModal.chooseActions`)})]}),(0,$.jsx)(U,{variant:`ghost`,onClick:()=>T(F?new Set(k.map(e=>e.id)):new Set),children:l(F?`bulkOverrideSwapModal.clearAll`:`bulkOverrideSwapModal.selectAll`)})]}),(0,$.jsx)(`div`,{className:`max-h-72 space-y-1 overflow-y-auto`,children:k.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-md border border-[var(--border-base)] px-3 py-2`,children:[(0,$.jsx)(Se,{checked:!C.has(e.id),onCheckedChange:t=>ee(e.id,t===!0),disabled:E,label:e.displayName,helperText:O(e.domain)}),(0,$.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:p.get(e.id)?.via===`override`?l(`bulkOverrideSwapModal.viaOverride`):l(`bulkOverrideSwapModal.viaDefault`)})]},e.id))})]})]}),(0,$.jsxs)(K.Footer,{children:[(0,$.jsx)(V,{variant:`body-small-default`,as:`p`,className:`mr-auto self-center text-[color:var(--content-secondary)]`,children:l(`bulkOverrideSwapModal.willChange`,{count:A.length})}),(0,$.jsx)(U,{variant:`ghost`,onClick:o,disabled:E,children:l(`bulkOverrideSwapModal.cancel`)}),(0,$.jsx)(U,{variant:`primary`,loading:E,disabled:!_||!b||A.length===0||E,onClick:()=>void L(),children:l(`bulkOverrideSwapModal.applyTo`,{count:A.length})})]})]})})}function lr({id:e,displayName:t,description:n,defaultProfileLabel:r,draft:i,profileOptions:a,connections:o,onDraftChange:s,onToggle:c}){let{t:l}=Z(`settings`),u=te({hostedInference:R.use.cadetHostedInference()}),d=ar(i),p=!i||!d?``:i.provider||i.model?ir:i.profile??``,m=p===ir,h=lt(),g=bt(),_=(o??[]).some(e=>e.provider===A),v=[...ke,..._?[A]:[]],y=h[0]??ke[0],b=i?.provider,x=Ie(b)?b:b===`chatgpt`?A:void 0,S=x!==void 0&&v.some(e=>e===x),C=x??y,w=k(C,``,(o??[]).filter(e=>kt(e.provider,C)))?Le(C):Ue(C,u),T=w.map(e=>({value:e.id,label:e.displayName})),E=typeof i?.model==`string`?i.model:``;if(E&&!w.some(e=>e.id===E)){let e=Ke(C).find(e=>e.id===E)?.displayName??E;T.push({value:E,label:l(`callSiteOverridesRow.unavailableOption`,{name:e})})}let D=!!i?.provider&&!i?.model,j=[...v.map(e=>({value:e,label:O[e]??e,...g(e)})),...x&&!S?[{value:x,label:l(`callSiteOverridesRow.unavailableOption`,{name:O[x]??x})}]:[]];function M(t){t===`__custom__`?s(e,{profile:null,provider:y,model:ee(y)??``}):t===``?s(e,null):s(e,{profile:t,provider:null,model:null})}function N(t){let n=ee(t)??``;s(e,{...i??{},profile:null,provider:t,model:n})}function P(t){s(e,{...i??{},model:t})}return(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default font-medium text-[var(--content-default)]`,children:t}),n&&(0,$.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[n,r&&(0,$.jsx)(`span`,{className:`ml-1.5 text-body-small-default text-[var(--content-tertiary)] opacity-60`,children:l(`callSiteOverridesRow.defaultProfileSuffix`,{label:r})})]})]}),(0,$.jsx)(f,{checked:d,onChange:t=>c(e,t),"aria-label":l(`callSiteOverridesRow.overrideAriaLabel`,{displayName:t}),className:`shrink-0`})]}),d&&(0,$.jsx)(`div`,{className:`mt-3`,children:(0,$.jsx)(W,{value:p,onChange:M,options:a,className:`w-44`,menuMinWidth:280,menuAlign:`start`})}),d&&m&&(0,$.jsxs)(`div`,{className:`mt-3 space-y-2 border-t border-[var(--border-base)] pt-3`,children:[(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex-1`,children:[(0,$.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:l(`callSiteOverridesRow.providerLabel`)}),(0,$.jsx)(W,{value:C??``,onChange:N,options:j})]}),(0,$.jsxs)(`div`,{className:`flex-1`,children:[(0,$.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:l(`callSiteOverridesRow.modelLabel`)}),(0,$.jsx)(W,{value:i?.model??``,onChange:P,options:T})]})]}),D&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:l(`callSiteOverridesRow.pickModelError`)})]})]})}function ur({groups:e,drafts:t,buildProfileOptionsForRow:n,profileLabelFor:r,advisorMatchesSearch:i,connections:a,onDraftChange:o,onToggle:s}){let{t:c}=Z(`settings`);return(0,$.jsx)(`div`,{className:`space-y-4`,children:e.length===0?i?null:(0,$.jsx)(`p`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:c(`overridesCallSiteList.emptySearch`)}):e.map(({domain:e,sites:i})=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(pn,{children:e.displayName}),(0,$.jsx)(`div`,{className:`space-y-1`,children:i.map(e=>{let i=(()=>{let n=t[e.id]??null;return!n||!ar(n)?``:n.provider||n.model?ir:n.profile??``})(),c=e.shippedDefaultProfile??e.defaultProfile,l=c?r(c):null;return(0,$.jsx)(lr,{id:e.id,displayName:e.displayName,description:e.description,defaultProfileLabel:l,draft:t[e.id]??null,profileOptions:n(i===``||i===`__custom__`?null:i),connections:a,onDraftChange:o,onToggle:s},e.id)})})]},e.id))})}function dr(e,t){let n={};for(let r of Object.keys(e)){let i=e[r]??null;ar(i)?n[r]={profile:i?.profile??null,provider:i?.provider??null,model:i?.model??null}:r in t&&t[r]===null&&(n[r]=null)}return n}function fr(e){let t={};for(let n of Object.keys(e))t[n]=null;return t}function pr({catalogCallSiteIds:e,persistedOverrides:t,persistedAdvisor:n,isSeeded:r}){let[i,a]=(0,Q.useState)({}),[o,s]=(0,Q.useState)(void 0),c=(0,Q.useMemo)(()=>{if(!r)return{};let n={};for(let r of e)if(r in i)n[r]=i[r];else{let e=t[r];n[r]=e?{...e}:{}}return n},[r,e,t,i]),l=o??n,u=l!==n,d=(0,Q.useMemo)(()=>{if(!r)return!1;for(let e of Object.keys(c))if(!sr(c[e],t[e]))return!0;return!1},[r,c,t]);return{drafts:c,advisorProfile:l,advisorDirty:u,callSiteDraftsDirty:d,hasUnsavedDrafts:u||d,hasValidationError:(0,Q.useMemo)(()=>Object.values(c).some(e=>ar(e)&&!!e?.provider&&!e?.model),[c]),setDraft:(0,Q.useCallback)((e,t)=>{a(n=>({...n,[e]:t}))},[]),setAdvisor:(0,Q.useCallback)(e=>{s(e)},[]),clearEdits:(0,Q.useCallback)(()=>{a({}),s(void 0)},[]),buildSavePatch:(0,Q.useCallback)(()=>dr(c,i),[c,i]),buildResetPatch:(0,Q.useCallback)(()=>fr(c),[c])}}function mr({assistantId:e,onClose:n}){let{t:r}=Z(`settings`),{data:i}=J({...at({path:{assistant_id:e}}),staleTime:3e4}),a=(0,Q.useMemo)(()=>i?.llm?.profiles??{},[i?.llm?.profiles]),o=(0,Q.useMemo)(()=>i?.llm?.profileOrder??[],[i?.llm?.profileOrder]),s=(0,Q.useMemo)(()=>i?.llm?.callSites??{},[i?.llm?.callSites]),l=(0,Q.useMemo)(()=>zt(a,o),[a,o]),u=lt(),d=t(),f=(0,Q.useMemo)(()=>({requireOwnProviderAndModel:d}),[d]),p=(0,Q.useMemo)(()=>({requireOwnProviderAndModel:d,requireTextGeneration:!1}),[d]),g=c(),[_,y]=(0,Q.useState)(``),[b,S]=(0,Q.useState)(!1),[C,T]=(0,Q.useState)(!1),[E,D]=(0,Q.useState)(!1),{data:O,isLoading:k,isError:A,refetch:j}=J({...st({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4,refetchOnWindowFocus:!1}),{data:M}=J({...Gt({path:{assistant_id:e}}),enabled:!!e}),N=(0,Q.useMemo)(()=>(O?.callSites??[]).filter(e=>e.id!==`mainAgent`),[O]),P=!k&&!A&&!!O,F=!!i,I=P&&F,L=(0,Q.useMemo)(()=>N.map(e=>e.id),[N]),te=i?.llm?.advisorProfile??``,{drafts:R,advisorProfile:re,advisorDirty:ie,callSiteDraftsDirty:z,hasUnsavedDrafts:ae,hasValidationError:oe,setDraft:se,setAdvisor:ce,clearEdits:le,buildSavePatch:ue,buildResetPatch:de}=pr({catalogCallSiteIds:L,persistedOverrides:s,persistedAdvisor:te,isSeeded:I}),B=(0,Q.useMemo)(()=>new Set(L),[L]),fe=(0,Q.useCallback)(e=>h(l,e),[l]),pe=(0,Q.useCallback)((e,t)=>({value:e.name,label:m(e),...we(e,l,t)===`undispatchable`?{icon:(0,$.jsx)(tn,{className:`h-3.5 w-3.5 text-[var(--system-mid-strong)]`}),tooltip:De(e)}:{}}),[l]),me=(0,Q.useMemo)(()=>x(l,[te],f).map(e=>pe(e,f)),[l,te,pe,f]),he=(0,Q.useMemo)(()=>{let e=_.trim().toLowerCase();return e===``||`advisor`.includes(e)||`second opinion`.includes(e)},[_]),ge=(0,Q.useMemo)(()=>N.some(e=>or(e,s[e.id])!==null),[N,s]),V=(0,Q.useMemo)(()=>Object.entries(s).some(([e,t])=>B.has(e)&&(t?.profile!=null||t?.provider!=null||t?.model!=null)),[s,B]),_e=(0,Q.useCallback)(e=>[...x(l,[e],p).map(e=>pe(e,p)),{value:ir,label:r(`overridesDetailPanel.customProfileOption`)}],[l,pe,p,r]),ve=(0,Q.useMemo)(()=>{if(!_.trim())return N;let e=_.toLowerCase();return N.filter(t=>(t.displayName??``).toLowerCase().includes(e)||(t.description??``).toLowerCase().includes(e)||(t.domain??``).toLowerCase().includes(e))},[N,_]),ye=(0,Q.useMemo)(()=>{if(!O)return[];let e=O.domains.map(e=>e.id),t=new Map(O.domains.map(e=>[e.id,e])),n=[];for(let r of e){let e=ve.filter(e=>e.domain===r);e.length>0&&n.push({domain:t.get(r),sites:e})}let i=new Set(e),a=ve.filter(e=>!i.has(e.domain));return a.length>0&&n.push({domain:{id:`other`,displayName:r(`overridesDetailPanel.otherDomain`)},sites:a}),n},[O,ve,r]),be=(0,Q.useCallback)((e,t)=>{if(!t){se(e,null);return}let n=Bt(l,N.find(t=>t.id===e)?.defaultProfile,p);if(n)se(e,{profile:n});else{let t=u[0]??ke[0];se(e,{provider:t,model:ee(t)??``})}},[N,l,u,se,p]),xe=(0,Q.useCallback)(async()=>{S(!0);try{let t=ue();await g.mutateAsync({path:{assistant_id:e},body:{llm:{...z?{callSites:t}:{},...ie?{advisorProfile:re}:{}}}}),n(),G.success(r(`overridesDetailPanel.overridesSavedToast`))}catch(e){G.error(r(`overridesDetailPanel.saveFailedToast`)),v(e,{context:`call_site_overrides_save`})}finally{S(!1)}},[ue,z,ie,re,n,g,e,r]),Se=(0,Q.useCallback)(async()=>{S(!0);try{let t=de();await g.mutateAsync({path:{assistant_id:e},body:{llm:{callSites:t}}}),n(),G.success(r(`overridesDetailPanel.overridesResetToast`))}catch(e){G.error(r(`overridesDetailPanel.resetFailedToast`)),v(e,{context:`call_site_overrides_reset`})}finally{S(!1)}},[de,n,g,e,r]),Ce=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[V&&(0,$.jsx)(U,{variant:`outlined`,onClick:()=>T(!0),disabled:b||!I,tintColor:`var(--system-negative-strong)`,className:`mr-auto`,children:r(`overridesDetailPanel.resetToDefaults`)}),(0,$.jsx)(U,{variant:`primary`,onClick:()=>void xe(),loading:b,disabled:!ae||oe||b,children:r(`overridesDetailPanel.save`)})]});return(0,$.jsxs)(Re,{title:r(`overridesDetailPanel.title`),closeVariant:`outlined`,onClose:n,footer:Ce,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:r(`overridesDetailPanel.description`)}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,$.jsx)(q,{type:`search`,value:_,onChange:e=>y(e.target.value),placeholder:r(`overridesDetailPanel.searchPlaceholder`),leftIcon:(0,$.jsx)(sn,{className:`h-4 w-4`}),fullWidth:!0})}),(0,$.jsx)(U,{variant:`outlined`,onClick:()=>D(!0),disabled:!I||b||ae||!ge,title:ae?r(`overridesDetailPanel.bulkChangeUnsavedTitle`):ge?void 0:r(`overridesDetailPanel.bulkChangeNoCandidatesTitle`),children:r(`overridesDetailPanel.bulkChange`)})]}),F&&he&&(0,$.jsxs)(`div`,{children:[(0,$.jsx)(pn,{children:r(`overridesDetailPanel.advisorSection`)}),(0,$.jsx)(rr,{value:re,profileOptions:me,disabled:b,onChange:ce})]}),k&&(0,$.jsx)(ne,{placement:`panel`}),A&&(0,$.jsx)(w,{tone:`error`,title:r(`overridesDetailPanel.loadErrorTitle`),actions:(0,$.jsx)(U,{variant:`outlined`,onClick:()=>void j(),children:r(`overridesDetailPanel.retry`)}),children:r(`overridesDetailPanel.loadErrorHint`)}),!k&&!A&&O&&(0,$.jsx)(ur,{groups:ye,drafts:R,buildProfileOptionsForRow:_e,profileLabelFor:fe,advisorMatchesSearch:he,connections:M?.connections,onDraftChange:se,onToggle:be})]})]}),E&&O&&(0,$.jsx)(cr,{assistantId:e,callSites:N,domains:O.domains,persistedOverrides:s,orderedProfiles:l,onClose:()=>D(!1),onApplied:le}),(0,$.jsx)(It,{open:C,title:r(`overridesDetailPanel.resetToDefaults`),message:r(`overridesDetailPanel.resetConfirmMessage`),confirmLabel:r(`overridesDetailPanel.resetToDefaults`),destructive:!0,onConfirm:()=>{T(!1),Se()},onCancel:()=>T(!1)})]})}var hr=e(qt(),1);function gr({mode:e,connection:t,assistantId:n,existingNames:r,connections:i,variant:a=`modal`,actionsSlot:o,onSave:s,onCancel:c}){let{t:l}=Z(`settings`),[u,f]=(0,Q.useState)(t?.label??``),p=t?.name??``,m=t?.provider??`anthropic`,h=t?.auth.type??`api_key`,[g,_]=(0,Q.useState)(()=>t?.auth.type===`api_key`?t.auth.credential:t?``:`credential/anthropic/api_key`),[v,y]=(0,Q.useState)(t?.baseUrl??``),[b,x]=(0,Q.useState)(()=>t?.models?t.models.map(e=>e.id).join(`, `):``),[S,C]=(0,Q.useState)(!1),[w,T]=(0,Q.useState)(null),E=m===`openai-compatible`,D=Nt(m),O=_t(m),[k,A]=(0,Q.useState)(``),[j,M]=(0,Q.useState)(!1),N=Y(),P=(0,Q.useMemo)(()=>St(g),[g]),F=h===`api_key`&&P!==null,{hasStoredCredential:I,isLoading:ee}=Je({assistantId:n,credentialKind:`credential`,credentialName:P?`${P.service}:${P.field}`:``,enabled:F}),{credentials:L}=Pt({assistantId:n,enabled:h===`api_key`});(0,Q.useEffect)(()=>{let e=t?.provider??`anthropic`;f(t?.label??``),t?.auth.type===`api_key`?_(t.auth.credential):_(t?``:`credential/${e}/api_key`),T(null),y(t?.baseUrl??``),x(t?.models?t.models.map(e=>e.id).join(`, `):``),A(``),M(!1)},[t]);let te=u.trim()!==(t?.label??``).trim(),R=E&&te?Qe(u,i,t?.name):null,ne=p.trim().length>0&&R===null;async function re(){if(ne){C(!0),T(null);try{let e;if(h===`api_key`){let t=g.trim()||`credential/${m}/api_key`,r=k.trim();if(r){M(!0);try{let e=St(t);await Ht({path:{assistant_id:n},body:e?{type:`credential`,name:`${e.service}:${e.field}`,value:r}:{type:`api_key`,name:m,value:r},throwOnError:!0});let i=We(n,`credential`,e?`${e.service}:${e.field}`:``);N.setQueryData(i,!0),N.invalidateQueries({queryKey:vt({path:{assistant_id:n}})})}catch{T(l(`providerEditorContent.failedSaveApiKey`));return}finally{M(!1)}}e={type:`api_key`,credential:t}}else if(t)e=t.auth;else{T(l(`providerEditorContent.nothingToEdit`));return}let r=u.trim()||null,i={auth:e,label:r,...D&&{base_url:v.trim()||null},...O&&{models:b.trim()?b.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}},{data:a,error:o,response:c}=await d({path:{assistant_id:n,name:t?.name??p.trim()},body:i});if(!c?.ok){T(Lt(c?.status,o)??Ze(c?.status));return}if(!a){T(l(`providerEditorContent.emptyServerResponse`));return}et(a,l),s(a)}catch{T(l(`providerEditorContent.failedSaveProvider`))}finally{C(!1)}}}let ie=L.filter(e=>e.service===m),z=e!==`create`&&t?.auth.type===`api_key`,ae=ie.length>0||z,oe=xt(l(`providerEditorContent.apiKeyPlaceholder`),I);if(e===`create`)return(0,$.jsx)(rt,{variant:a===`panel`?`inline`:`modal`,actionsSlot:o,assistantId:n,existingNames:r,connections:i,defaultProviderType:m,onCreated:s,onCancel:c});let se=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:(0,$.jsx)(Xt,{i18nKey:`providerEditorContent.displayNameLabel`,ns:`settings`,components:{optional:(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`})}})}),(0,$.jsx)(q,{value:u,onChange:e=>f(e.target.value),placeholder:l(`providerEditorContent.displayNamePlaceholder`),fullWidth:!0}),R?(0,$.jsx)(V,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:ut[R]}):null]}),D&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:l(`providerEditorContent.baseUrlLabel`)}),(0,$.jsx)(q,{value:v,onChange:e=>y(e.target.value),placeholder:l(m===`ollama`?`providerEditorContent.baseUrlPlaceholderOllama`:m===`opencode`?`providerEditorContent.baseUrlPlaceholderOpencode`:`providerEditorContent.baseUrlPlaceholder`),fullWidth:!0}),m===`ollama`?(0,$.jsx)(V,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:l(`providerEditorContent.baseUrlHintOllama`)}):null,m===`opencode`?(0,$.jsx)(V,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:l(`providerEditorContent.baseUrlHintOpencode`)}):null]}),O&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:l(`providerEditorContent.modelsLabel`)}),(0,$.jsx)(q,{value:b,onChange:e=>x(e.target.value),placeholder:l(`providerEditorContent.modelsPlaceholder`),fullWidth:!0}),(0,$.jsx)(V,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:l(`providerEditorContent.modelsHint`)})]}),h===`api_key`&&(0,$.jsx)(jt,{apiKeyValue:k,onApiKeyChange:A,credential:g,onCredentialChange:_,isLoadingCredential:ee,apiKeyPlaceholder:oe,provider:m,providerCredentials:ie,showAdvancedSection:ae,onError:T}),h===`oauth_subscription`&&(0,$.jsx)(ct,{assistantId:n,onConnected:s}),w&&(0,$.jsx)(V,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:w})]}),ce=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(U,{variant:`ghost`,onClick:c,children:l(`providerEditorContent.cancel`)}),(0,$.jsx)(U,{variant:`primary`,disabled:!ne||S||j,onClick:()=>void re(),children:l(S?`providerEditorContent.saving`:`providerEditorContent.saveChanges`)})]});return a===`panel`?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[se,o===void 0?(0,$.jsx)(`div`,{className:`flex justify-end gap-2`,children:ce}):o&&(0,hr.createPortal)(ce,o)]}):(0,$.jsxs)(K.Content,{size:`md`,children:[(0,$.jsxs)(K.Header,{children:[(0,$.jsx)(K.Title,{children:l(`providerEditorContent.editProviderTitle`)}),(0,$.jsx)(K.Description,{children:t?l(`providerEditorContent.editingConnection`,{name:$e(t)}):l(`providerEditorContent.editProviderSettingsFallback`)})]}),(0,$.jsx)(K.Body,{children:se}),(0,$.jsx)(K.Footer,{children:ce})]})}function _r({assistantId:e,connectionName:t,onClose:n}){let{t:r}=Z(`settings`),i=Y(),[a,o]=(0,Q.useState)(null),{data:s,isLoading:c}=J(Gt({path:{assistant_id:e}})),u=(0,Q.useMemo)(()=>s?.connections??[],[s]),d=(0,Q.useMemo)(()=>t==null?void 0:u.find(e=>e.name===t),[t,u]),f=t!=null&&s!=null&&d==null;(0,Q.useEffect)(()=>{f&&n()},[f,n]);function p(){i.invalidateQueries({queryKey:l({path:{assistant_id:e}})}),i.invalidateQueries({queryKey:Xe({path:{assistant_id:e}})}),n()}return(0,$.jsx)(Re,{title:d?$e(d):r(`providerDetailPanel.addProviderTitle`),closeVariant:`outlined`,onClose:n,footer:(0,$.jsx)(`div`,{ref:o,className:`flex justify-end gap-2`}),children:t!=null&&c?(0,$.jsx)(ne,{placement:`panel`}):t==null||d!=null?(0,$.jsx)(gr,{mode:d?`edit`:`create`,connection:d,variant:`panel`,actionsSlot:a,assistantId:e,existingNames:u.map(e=>e.name),connections:u,onSave:p,onCancel:n}):null})}var vr={cadet:{provider:`cadet`},deepgram:{provider:`deepgram`,credentialService:`deepgram`},openai:{provider:`openai-whisper`,credentialService:`openai`}},yr={cadet:`cadet`,deepgram:`deepgram`,"openai-whisper":`openai`},br=`deepgram`;function xr({assistantId:e,hideSaveButton:t=!1,hideCredentialsGuide:n=!1,onSaveStateChange:r}={}){let i=D(),a=e??i,s=nt(),c=Y(),{t:l}=Z(),u=(0,Q.useMemo)(()=>je(Ye(),{displayName:l(`sttProviderForm.windowsNativeDisplayName`),subtitle:l(`sttProviderForm.windowsNativeSubtitle`),setupWarning:l(`sttProviderForm.windowsNativeSetupWarning`)}).filter(e=>!e.requiresNativeDictation||ze()),[l]),d=br,{data:f}=J({...at({path:{assistant_id:a}}),enabled:s,staleTime:3e4}),p=f?.services?.stt,m=p?.mode===`managed`?`cadet`:p?.provider,h=(0,Q.useMemo)(()=>{let e=m?yr[m]:void 0;if(e&&u.some(t=>t.id===e))return e;let t=N(pe,d);return u.some(e=>e.id===t)?t:d},[m,u,d]),_=!!m,[v,y]=yn(h),{available:b,currentCode:x,configuredProviderId:S,selectLanguage:w,selecting:T}=Tt(a),[O,k]=(0,Q.useState)(!1),A=b&&v===h&&(vr[v]?.provider===S||!!m&&!yr[m]),[j,M]=(0,Q.useState)(``),[P,F]=(0,Q.useState)(!1),[I,ee]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{let e=N(pe,d);e===`macos-native`&&!u.some(t=>t.id===e)&&o(pe,d)},[u,d]);let L=(0,Q.useMemo)(()=>u.find(e=>e.id===v)??u[0],[u,v]),te=L.apiKeyPlaceholder!==void 0;(0,Q.useEffect)(()=>{F(N(g+v,``).length>0),M(``)},[v]);let R=(0,Q.useMemo)(()=>{let e=v!==h,t=j.trim().length>0;return e||t},[v,h,j]),ne=(0,Q.useCallback)(async()=>{let e=j.trim();o(pe,v),e.length>0&&o(g+v,e);let t=vr[v];ee(!0);try{if(t?.credentialService){let n=e.length>0?e:N(g+v,``);if(n.length>0){let{response:e}=await E({path:{assistant_id:a},body:{service:t.credentialService,field:`api_key`,value:n,label:`${L.displayName} API Key`},throwOnError:!1});if(!e?.ok)throw Error(`Failed to store API key (HTTP ${e?.status??`?`})`)}}if(t&&(v!==h||!_)||m===`cadet`&&v!==`cadet`){let e=t?.provider??br,{response:n}=await C({path:{assistant_id:a},body:{services:{stt:{provider:e,mode:e===`cadet`?`managed`:`your-own`}}},throwOnError:!1});if(!n?.ok)throw Error(`Failed to save configuration (HTTP ${n?.status??`?`})`)}return e.length>0&&F(!0),M(``),c.invalidateQueries({queryKey:wt({path:{assistant_id:a}})}),G.success(l(`sttProviderForm.saveSuccess`)),!0}catch(e){return G.error(e instanceof Error?e.message:l(`sttProviderForm.saveFailed`)),!1}finally{ee(!1)}},[a,v,j,L,h,_,m,c,l]);(0,Q.useEffect)(()=>{r?.({hasChanges:R,saving:I,save:ne})},[r,R,I,ne]);let re=(0,Q.useCallback)(()=>{o(g+v,``),F(!1),M(``)},[v]),ie=P?l(`sttProviderForm.apiKeyPlaceholderReplace`):L.apiKeyPlaceholder;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:l(`sttProviderForm.providerLabel`)}),(0,$.jsx)(W,{value:v,onChange:y,options:u.map(e=>({value:e.id,label:e.displayName})),"aria-label":l(`sttProviderForm.providerAriaLabel`)})]}),A&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:l(`sttProviderForm.spokenLanguage`)}),(0,$.jsx)(Ve,{"aria-label":l(`sttProviderForm.spokenLanguage`),"aria-haspopup":`dialog`,onClick:()=>k(!0),value:Ge(x,S)}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:l(`sttProviderForm.spokenLanguageApplies`)}),(0,$.jsx)(_n,{open:O,onOpenChange:k,title:l(`sttProviderForm.spokenLanguage`),currentCode:x,configuredProviderId:S,selectLanguage:w,selecting:T})]}),te&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:l(`sttProviderForm.apiKeyLabel`)}),(0,$.jsx)(q,{type:`password`,value:j,onChange:e=>M(e.target.value),placeholder:ie,fullWidth:!0})]}),L.setupWarning&&(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)($t,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-mid-strong)]`}),(0,$.jsx)(`span`,{children:L.setupWarning})]}),!n&&L.credentialsGuide&&(0,$.jsx)(fn,{guide:L.credentialsGuide}),v===`cadet`&&(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:l(`sttProviderForm.cadetTranscription`)}),(!t||P)&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!t&&(0,$.jsx)(dn,{onClick:ne,disabled:!R||I}),P&&(0,$.jsx)(un,{onClick:re})]})]})}var Sr={batch:`sttRoleOverrides.role.batch`,dictation:`sttRoleOverrides.role.dictation`,liveVoice:`sttRoleOverrides.role.liveVoice`,telephony:`sttRoleOverrides.role.telephony`,watch:`sttRoleOverrides.role.watch`};function Cr(e){let t=e?.roles;if(!t)return[];let n=e?.provider,r=n?e?.providers?.[n]?.model:void 0,i=[];for(let[e,a]of Object.entries(t)){let t=a?.provider;t&&(t===n&&a?.model===r||i.push({role:e,provider:t,...a?.model===void 0?{}:{model:a.model}}))}return i}function wr({assistantId:e}){let{t}=Z(`settings`),n=Y(),r=nt(),[i,a]=(0,Q.useState)(null),{data:o}=J({...at({path:{assistant_id:e}}),enabled:r,staleTime:3e4}),s=o?.services?.stt,c=Cr(s),{data:l}=J({...Ee({path:{assistant_id:e}}),enabled:r&&c.length>0,staleTime:5*6e4});if(c.length===0)return null;let u=e=>l?.providers?.find(t=>t.id===e)?.displayName??e,d=async r=>{a(r);try{let{response:t}=await C({path:{assistant_id:e},body:{services:{stt:{roles:{[r]:null}}}},throwOnError:!1});if(!t?.ok)throw Error(String(t?.status??``));await n.invalidateQueries({queryKey:wt({path:{assistant_id:e}})})}catch{G.error(t(`sttRoleOverrides.clearFailed`))}finally{a(null)}};return(0,$.jsxs)(`div`,{className:`mt-1 flex flex-col gap-2 border-t border-[var(--border-subtle)] pt-4`,children:[(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t(`sttRoleOverrides.title`)}),(0,$.jsx)(`ul`,{className:`flex flex-col gap-1`,children:c.map(e=>{let n=Sr[e.role];return(0,$.jsxs)(`li`,{className:`flex items-center gap-4 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] px-3 py-2`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:n?t(n):e.role}),(0,$.jsx)(`span`,{className:`min-w-0 truncate text-body-small-default text-[var(--content-default)]`,children:e.model?`${u(e.provider)} · ${e.model}`:u(e.provider)}),(0,$.jsx)(U,{variant:`ghost`,size:`compact`,"aria-label":t(`sttRoleOverrides.clearAria`,{feature:n?t(n):e.role}),className:`[--vbtn-fg:var(--content-tertiary)]`,disabled:i===e.role,onClick:()=>void d(e.role),children:t(`sttRoleOverrides.clear`)})]},e.role)})})]})}function Tr(){let{t:e}=Z(`settings`),t=D();return(0,$.jsxs)(ln,{title:e(`speechToTextCard.title`),subtitle:e(`speechToTextCard.subtitle`),children:[(0,$.jsx)(xr,{}),(0,$.jsx)(wr,{assistantId:t})]})}async function Er(e){let{provider:t,apiKey:n,voiceId:r,text:i}=e;if(n.trim().length===0)return{kind:`error`,message:`Save an API key for this provider first.`};try{return t===`elevenlabs`?await Dr(n,r,i):t===`deepgram`?await Or(n,i):t===`fish-audio`?{kind:`unsupported`,message:`Fish Audio TTS is only supported in the desktop app today. Use ElevenLabs or Deepgram to test from the browser.`}:t===`xai`?{kind:`unsupported`,message:`xAI TTS is only supported in the desktop app today. Use ElevenLabs or Deepgram to test from the browser.`}:{kind:`unsupported`,message:`TTS testing for "${t}" is not supported from the browser yet.`}}catch(e){return{kind:`error`,message:e instanceof Error?e.message:`Failed to reach the TTS provider.`}}}async function Dr(e,t,n){let r=t.trim();if(r.length===0)return{kind:`error`,message:`Enter and save a Voice ID before testing ElevenLabs.`};let i=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${encodeURIComponent(r)}?output_format=mp3_44100_128`,{method:`POST`,headers:{"xi-api-key":e,"Content-Type":`application/json`,Accept:`audio/mpeg`},body:JSON.stringify({text:n,model_id:`eleven_turbo_v2_5`})});return i.ok?{kind:`audio`,blob:await i.blob()}:{kind:`error`,message:await kr(i,`ElevenLabs rejected the request.`)}}async function Or(e,t){let n=await fetch(`https://api.deepgram.com/v1/speak?model=aura-2-thalia-en`,{method:`POST`,headers:{Authorization:`Token ${e}`,"Content-Type":`application/json`,Accept:`audio/mpeg`},body:JSON.stringify({text:t})});return n.ok?{kind:`audio`,blob:await n.blob()}:{kind:`error`,message:await kr(n,`Deepgram rejected the request.`)}}async function kr(e,t){try{let n=await e.text();if(n.length===0)return`${t} (HTTP ${e.status})`;try{let e=JSON.parse(n);if(e&&typeof e==`object`&&`detail`in e&&typeof e.detail==`string`)return e.detail;if(e&&typeof e==`object`&&`message`in e&&typeof e.message==`string`)return e.message}catch{}return n.slice(0,200)}catch{return`${t} (HTTP ${e.status})`}}function Ar({assistantId:e,value:t,onChange:n,className:r}){let{t:a}=Z(),[o,s]=(0,Q.useState)(!1),{voices:c}=pt(e);if(c.length===0)return null;let l=c.find(e=>e.model===t)??c[0];return(0,$.jsxs)(_.Root,{open:o,onOpenChange:s,children:[(0,$.jsx)(_.Trigger,{asChild:!0,children:(0,$.jsx)(Ve,{"aria-label":a(`voicePickerField.ariaLabel`),value:l?i(l.description):a(`voicePickerField.selectVoice`),className:r})}),(0,$.jsx)(_.Content,{side:`bottom`,align:`start`,className:`w-[var(--radix-popover-trigger-width)] p-1`,children:(0,$.jsx)(Be,{assistantId:e,value:t,onChange:n,onSelect:()=>s(!1),showSource:!0,autoScrollToSelected:!0})})]})}var jr={elevenlabs:`voiceId`,"fish-audio":`referenceId`,xai:`voiceId`};function Mr({assistantId:e,hideSaveButton:t=!1,hideCredentialsGuide:n=!1,onSaveStateChange:r}={}){let{t:i}=Z(),s=D(),c=e??s,l=tt.use.name()??`your assistant`,d=nt(),f=Y(),{data:p}=J({...b({path:{assistant_id:c}}),enabled:d,staleTime:1/0}),m=(0,Q.useMemo)(()=>{let e=p?.providers;if(!e)return u;if(e.some(e=>e.id===`cadet`))return e;let t=u.find(e=>e.id===`cadet`);return t?[t,...e]:e},[p]),{data:h}=J({...at({path:{assistant_id:c}}),enabled:d,staleTime:3e4}),g=h?.services?.tts,_=g?.mode===`managed`?`cadet`:g?.provider,v=`elevenlabs`,y=(0,Q.useMemo)(()=>_??N(`cadet:voice:ttsProvider`,v),[_,v]),x=!!_,[S,w]=yn(y),[T,O]=(0,Q.useState)(``),[k,A]=(0,Q.useState)(``),[j,M]=(0,Q.useState)(``),[P,F]=(0,Q.useState)(!1),[I,ee]=(0,Q.useState)(!1),[L,te]=(0,Q.useState)(!1),{voices:R,defaultModel:ne,fetched:re}=ce(c,{enabled:S===`cadet`}),ie=g?.providers?.cadet?.model??ne??``,[z,ae]=yn(ie),oe=R.find(e=>e.model===z)??R[0],[se,le]=(0,Q.useState)(null),ue=R.some(e=>e.model===ie),de=se??(re&&ie!==``&&!ue),B=(0,Q.useMemo)(()=>m.find(e=>e.id===S)??m[0],[S,m]),fe=S===`cadet`&&B.supportsVoiceSelection&&z.trim()!==``&&z.trim()!==ie,pe=(0,Q.useCallback)(e=>{let t=N(gt+e,``),n=N(mt+e,``);F(t.length>0),A(n),M(n),O(``)},[]);(0,Q.useEffect)(()=>{pe(S)},[S,pe]);let me=(0,Q.useMemo)(()=>{let e=S!==y,t=T.trim().length>0,n=k.trim()!==j;return e||t||n||fe},[S,y,T,k,j,fe]),he=(0,Q.useCallback)(async()=>{let e=T.trim(),t=k.trim(),n=B.id;o(a,n),e.length>0&&o(gt+n,e),o(mt+n,t);let r=e.length>0?e:N(gt+n,``),s=jr[n];te(!0);try{if(r.length>0){let{response:e}=await E({path:{assistant_id:c},body:{service:n,field:`api_key`,value:r,label:`${B.displayName} API Key`},throwOnError:!1});if(!e?.ok)throw Error(`Failed to store API key (HTTP ${e?.status??`?`})`)}let e={...S!==y||!x?{provider:n,mode:n===`cadet`?`managed`:`your-own`}:{},...s?{providers:{[n]:{[s]:t}}}:{},...fe?{providers:{cadet:{model:z.trim()}}}:{}};if(Object.keys(e).length>0){let{response:t}=await C({path:{assistant_id:c},body:{services:{tts:e}},throwOnError:!1});if(!t?.ok)throw Error(`Failed to save configuration (HTTP ${t?.status??`?`})`)}return F(r.length>0),M(t),O(``),f.invalidateQueries({queryKey:wt({path:{assistant_id:c}})}),G.success(i(`ttsProviderForm.saved`)),!0}catch(e){return G.error(e instanceof Error?e.message:i(`ttsProviderForm.saveFailed`)),!1}finally{te(!1)}},[c,S,z,fe,T,k,B,y,x,f,i]);(0,Q.useEffect)(()=>{r?.({hasChanges:me,saving:L,save:he})},[r,me,L,he]);let ge=(0,Q.useCallback)(()=>{o(gt+S,``),F(!1),O(``)},[S]),V=(0,Q.useCallback)(async()=>{ee(!0);try{let e=N(gt+S,``),t=T.trim(),n=t.length>0?t:e;if(n.length===0){G.error(i(`ttsProviderForm.apiKeyRequired`));return}let r=N(mt+S,``),a=k.trim(),o=await Er({provider:S,apiKey:n,voiceId:a.length>0?a:r,text:`Hey! It's ${l}. How does this sound?`});if(o.kind!==`audio`){G.error(o.message);return}let s=URL.createObjectURL(o.blob);try{let e=new Audio(s);await e.play(),await new Promise(t=>{e.onended=()=>t(),e.onerror=()=>t()})}finally{URL.revokeObjectURL(s)}}finally{ee(!1)}},[l,T,S,k,i]),_e=P?`•••••••• (Enter a new key to replace)`:B.apiKeyPlaceholder,ve=S===`cadet`,ye=ve&&B.supportsVoiceSelection,be=(0,$.jsxs)(U,{variant:`link`,size:`compact`,className:`inline-flex h-auto items-center gap-1 px-0 underline [--vbtn-fg:var(--content-tertiary)]`,onClick:()=>{le(!1),R.some(e=>e.model===z)||ae(ne||R[0]?.model||``)},children:[(0,$.jsx)(nn,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),i(`ttsProviderForm.chooseFromCatalog`)]}),xe=ye&&de&&R.length>0?be:null;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:i(`ttsProviderForm.provider`)}),(0,$.jsx)(W,{value:S,onChange:w,options:m.map(e=>({value:e.id,label:e.displayName})),"aria-label":i(`ttsProviderForm.providerAriaLabel`)})]}),!ve&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:i(`ttsProviderForm.apiKey`)}),(0,$.jsx)(q,{type:`password`,value:T,onChange:e=>O(e.target.value),placeholder:_e,fullWidth:!0})]}),ye&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:i(`ttsProviderForm.voice`)}),de?(0,$.jsx)(q,{type:`text`,value:z,onChange:e=>ae(e.target.value),placeholder:i(`ttsProviderForm.voiceIdPlaceholder`),"aria-label":i(`ttsProviderForm.customVoiceIdAriaLabel`),fullWidth:!0}):oe?(0,$.jsx)(Ar,{assistantId:c,value:z,onChange:ae}):re&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:i(`ttsProviderForm.noManagedVoices`)})]}),B.supportsVoiceSelection&&!ve&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:i(`ttsProviderForm.voiceId`)}),(0,$.jsx)(q,{type:`text`,value:k,onChange:e=>A(e.target.value),placeholder:i(`ttsProviderForm.voiceIdPlaceholder`),fullWidth:!0})]}),!n&&!ve&&(0,$.jsx)(fn,{guide:B.credentialsGuide}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!ve&&(0,$.jsx)(U,{variant:`outlined`,onClick:V,disabled:I,children:i(I?`ttsProviderForm.testing`:`ttsProviderForm.test`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[xe,!t&&(0,$.jsx)(dn,{onClick:he,disabled:!me||L}),P&&!ve&&(0,$.jsx)(un,{onClick:ge})]})]})]})}function Nr(){let{t:e}=Z(`settings`);return(0,$.jsx)(ln,{id:`text-to-speech`,title:e(`textToSpeechCard.title`),subtitle:e(`textToSpeechCard.subtitle`),children:(0,$.jsx)(Mr,{})})}var Pr=`default`;function Fr(){let{t:e}=Z(`settings`),t=D(),n=Y(),{data:r}=J({...at({path:{assistant_id:t}}),staleTime:3e4}),i=ft({onSuccess:e=>{yt(n,{path:{assistant_id:t}},e)}}),a=vn(),c=(0,Q.useMemo)(()=>r?r.services?.[`web-fetch`]?.provider||N(`cadet:ai:webFetchProvider`,Pr):N(le,Pr),[r]),l=(0,Q.useMemo)(()=>r?.services?.[`web-fetch`]?.apiBase??``,[r]),[u,d]=(0,Q.useState)(!1),[f,p]=yn(c),[m,h]=yn(l),[g,_]=(0,Q.useState)(``),y=T.has(f),b=P.has(f),{hasStoredCredential:x}=Je({assistantId:t,credentialKind:`api_key`,credentialName:f,enabled:b}),S=g.trim().length>0,C=m.trim(),w=Ce(f,y&&C.length>0),E=f!==c||y&&C!==l.trim(),O=u||b&&!w&&!x&&!S||!E&&!S,k=xt(s[f]??e(`webFetchCard.apiKeyPlaceholder`),x),A=re[f]??``,j=(0,Q.useCallback)(async()=>{d(!0);let r=g.trim(),s=b&&r.length>0;try{s&&await a(f,r),await i.mutateAsync({path:{assistant_id:t},body:{services:{"web-fetch":{provider:f,...y?{apiBase:C}:{}}}}}).catch(t=>{throw G.error(e(`webFetchCard.configUpdateFailedToast`)),v(t,{context:`patch_daemon_config`}),t})}catch{d(!1);return}d(!1);try{if(o(le,f),s){let e=Te(f);e&&o(e,r);let i=We(t,`api_key`,f);n.setQueryData(i,!0),n.invalidateQueries({queryKey:i}),_(``)}G.success(e(`webFetchCard.savedToast`))}catch(t){v(t,{context:`settings-ai-web-fetch-persist-local`}),G.error(e(`webFetchCard.localPreferencesFailedToast`))}},[b,i,a,n,t,g,f,y,C,e]),M=(0,Q.useCallback)(()=>{let e=Te(f);e&&_e(e),_(``),h(``),p(Pr),o(le,Pr)},[f,p,h]);return(0,$.jsx)(ln,{id:`web-fetch`,title:e(`webFetchCard.title`),subtitle:e(`webFetchCard.subtitle`),children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`webFetchCard.providerLabel`)}),(0,$.jsx)(W,{value:f,onChange:p,options:Ut.map(e=>({value:e,label:ve[e]??e}))})]}),y&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(q,{label:e(`webFetchCard.apiBaseLabel`),type:`url`,value:m,onChange:e=>h(e.target.value),placeholder:A||e(`webFetchCard.apiBasePlaceholder`),fullWidth:!0}),A?(0,$.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`webFetchCard.apiBaseHint`,{defaultBase:A})}):null]}),b&&(0,$.jsx)(q,{label:e(`webFetchCard.apiKeyLabel`),type:`password`,value:g,onChange:e=>_(e.target.value),placeholder:k,fullWidth:!0}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(dn,{onClick:j,disabled:O}),u&&(0,$.jsx)(rn,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),b&&(0,$.jsx)(un,{onClick:M,filled:!0})]})]})})}var Ir=`0.10.12`;function Lr(){return se(Ir)}function Rr(){let{t:e}=Z(`settings`),t=D(),n=Y(),i=nt(),{data:a}=J({...at({path:{assistant_id:t}}),enabled:i,staleTime:3e4}),s=ft({onSuccess:e=>{yt(n,{path:{assistant_id:t}},e)}}),c=vn(),l=(0,Q.useMemo)(()=>{if(!a)return N(B,`inference-provider-native`);let e=a.services?.[`web-search`];return(e?.mode===`managed`&&e?.provider!==`inference-provider-native`?`cadet`:e?.provider)||N(`cadet:ai:webSearchProvider`,`inference-provider-native`)},[a]),u=(0,Q.useMemo)(()=>a?.services?.[`web-search`]?.apiBase??``,[a]),[d,f]=(0,Q.useState)(!1),[p,m]=yn(l),[h,g]=yn(u),[_,b]=(0,Q.useState)(``),x=fe.has(p),S=ht.has(p),C=r.has(p),{hasStoredCredential:w}=Je({assistantId:t,credentialKind:`api_key`,credentialName:p,enabled:S}),T=_.trim().length>0,E=h.trim(),O=Ce(p,x&&E.length>0),k=p!==l||x&&E!==u.trim(),A=dt[p]??``,j=S&&!C&&!O&&!w&&!T,M=x&&A.length===0&&!E,P=d||j||M||!k&&!T,I=xt(me[p]??e(`webSearchCard.apiKeyPlaceholder`),w),ee=(0,Q.useCallback)(async()=>{f(!0);let r=_.trim(),i=y(p),a=S&&r.length>0;try{a&&await c(p,r),await F();let n=p===`cadet`?Lr()?{provider:`cadet`,mode:`managed`}:{mode:`managed`}:{provider:p,mode:`your-own`,...x?{apiBase:E}:{}};await s.mutateAsync({path:{assistant_id:t},body:{services:{"web-search":n}}}).catch(t=>{throw G.error(e(`webSearchCard.configUpdateFailedToast`)),v(t,{context:`patch_daemon_config`}),t})}catch{f(!1);return}f(!1);try{if(o(B,p),a){i&&o(i,r);let e=We(t,`api_key`,p);n.setQueryData(e,!0),n.invalidateQueries({queryKey:e}),b(``)}G.success(e(`webSearchCard.savedToast`))}catch(t){v(t,{context:`settings-ai-web-search-persist-local`}),G.error(e(`webSearchCard.localPreferencesFailedToast`))}},[S,s,c,n,t,_,p,x,E,e]),L=(0,Q.useCallback)(()=>{let e=y(p);e&&_e(e),b(``),g(``),m(`inference-provider-native`),o(B,`inference-provider-native`)},[p,m,g]);return(0,$.jsx)(ln,{title:e(`webSearchCard.title`),subtitle:e(`webSearchCard.subtitle`),children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`webSearchCard.providerLabel`)}),(0,$.jsx)(W,{"aria-label":e(`webSearchCard.providerAriaLabel`),value:p,onChange:m,options:ue.map(e=>({value:e,label:oe[e]??e}))})]}),p===`cadet`&&(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`webSearchCard.cadetNote`)}),x&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(q,{label:e(`webSearchCard.apiBaseLabel`),type:`url`,value:h,onChange:e=>g(e.target.value),placeholder:A||e(`webSearchCard.apiBasePlaceholder`),fullWidth:!0}),A?(0,$.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`webSearchCard.apiBaseHint`,{defaultBase:A})}):null]}),S&&(0,$.jsx)(q,{label:e(`webSearchCard.apiKeyLabel`),type:`password`,value:_,onChange:e=>b(e.target.value),placeholder:I,fullWidth:!0}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(dn,{onClick:ee,disabled:P}),d&&(0,$.jsx)(rn,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),S&&(0,$.jsx)(un,{onClick:L,filled:!0})]})]})})}function zr(){let e=D(),t=Ft(),[n,r]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{let e=window.location.hash.slice(1);e&&requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({block:`start`})})},[]);let i=(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-5 overflow-y-auto`,children:[(0,$.jsx)(tr,{}),(0,$.jsx)($n,{panel:n,onOpenPanel:r,onClosePanel:()=>r(null)}),(0,$.jsx)(Rr,{}),(0,$.jsx)(Fr,{}),(0,$.jsx)(wn,{}),(0,$.jsx)(Nr,{}),(0,$.jsx)(Tr,{})]}),a=`${e??`none`}:${n?.kind===`profile`?`profile:${n.name}`:n?.kind===`provider`?`provider:${n.name}`:n?.kind??`closed`}`,o=n?.kind===`provider`||n?.kind===`add-provider`,s=n!=null&&e?n.kind===`overrides`?(0,$.jsx)(mr,{assistantId:e,onClose:()=>r(null)},a):o?(0,$.jsx)(_r,{assistantId:e,connectionName:n.kind===`provider`?n.name:null,onClose:()=>r(null)},a):(0,$.jsx)(nr,{assistantId:e,profileName:n.kind===`profile`?n.name:null,onClose:()=>r(null)},a):null;return s&&t?(0,$.jsx)(mn,{children:s}):s?(0,$.jsx)(gn,{storageKey:`aiSettingsDetailDrawerWidth`,detailKey:a,section:i,detail:s}):i}export{zr as AiPage};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,$l as n,$m as r,$s as i,AS as a,Aa as o,Br as s,CC as c,Ca as l,Co as u,Do as d,ES as f,Eo as p,FC as m,G as h,HC as g,Nr as _,Oa as v,Qh as y,RC as b,Rn as x,Sa as S,So as C,Ta as w,To as T,Wa as E,YC as D,_S as O,_n as k,_o as A,aa as j,bS as M,bc as N,cC as P,c_ as F,du as I,ea as L,eh as R,eu as ee,ew as z,fC as B,fp as te,fu as ne,ga as re,gn as ie,gr as ae,gu as V,gv as H,ha as oe,hf as U,ia as se,jC as ce,jm as le,ka as ue,kr as de,lC as W,lc as fe,lu as G,mp as pe,mr as K,na as me,oa as he,os as ge,ou as _e,pa as ve,ra as ye,sa as be,su as xe,tC as Se,ta as Ce,u_ as we,ua as Te,uu as Ee,vc as De,vu as Oe,wC as ke,wo as Ae,xa as je,xo as Me,yu as Ne,zr as Pe}from"./app-DAMRg6Fy.js";import{_ as Fe,f as Ie,r as Le,t as Re,x as ze}from"./react-BJ4PZBJN.js";import{Zn as Be,er as q,n as J,w as Y}from"./vendor-CezcraPH.js";import{$r as X,Et as Ve,Ra as He,Ui as Ue,gt as We,i as Ge,vt as Ke}from"./icons-Dwi7aA1Y.js";var Z=e(ze(),1),Q=Re(),qe=[1,7,14,30],Je=`flex-row-reverse items-start gap-4 [&>div]:flex-1 [&>div>span]:text-[var(--content-secondary)] [&>button]:mt-1 [&>button]:before:absolute [&>button]:before:-inset-x-2.5 [&>button]:before:-inset-y-3.5`;function Ye(e,t){let n={};return t.autoArchive.enabled!==e.autoArchive.enabled&&(n.enabled=t.autoArchive.enabled),t.autoArchive.afterDays!==e.autoArchive.afterDays&&(n.afterDays=t.autoArchive.afterDays),{...Object.keys(n).length>0?{conversations:{autoArchive:n}}:{},...t.newMessageEnabled===e.newMessageEnabled?{}:{notifications:{newMessageEnabled:t.newMessageEnabled}}}}function Xe({values:e,saveStatus:t,onSave:n,onCancel:r}){let{t:i}=Y(`chat`),a=(0,Z.useId)(),[o]=(0,Z.useState)(()=>structuredClone(e)),[s,l]=(0,Z.useState)(o),u=Ye(o,s),d=Object.keys(u).length>0,f=t===`pending`;return(0,Q.jsxs)(`form`,{className:`flex min-h-0 flex-1 flex-col`,onSubmit:e=>{e.preventDefault(),!f&&d&&n(u)},children:[(0,Q.jsxs)(B.Body,{className:`min-h-0 space-y-5 pb-0`,"aria-busy":f,children:[(0,Q.jsx)(c,{size:`sm`,label:i(`chatsSettingsModal.autoArchive`),helperText:i(`chatsSettingsModal.autoArchiveHelper`),checked:s.autoArchive.enabled,onChange:e=>l({...s,autoArchive:{...s.autoArchive,enabled:e}}),disabled:f,className:Je}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Q.jsx)(b,{as:`label`,htmlFor:a,variant:`body-medium-default`,children:i(`chatsSettingsModal.timeToArchive`)}),(0,Q.jsx)(P,{id:a,size:`compact`,fullWidth:!1,value:String(s.autoArchive.afterDays),options:qe.map(e=>({value:String(e),label:i(`chatsSettingsModal.days`,{count:e})})),onChange:e=>{let t=qe.find(t=>String(t)===e);t!==void 0&&l({...s,autoArchive:{...s.autoArchive,afterDays:t}})},disabled:f||!s.autoArchive.enabled,className:`min-w-24`})]}),(0,Q.jsx)(`div`,{className:`border-t border-[var(--border-subtle)] pt-5`,children:(0,Q.jsx)(c,{size:`sm`,label:i(`chatsSettingsModal.notifications`),helperText:i(`chatsSettingsModal.notificationsHelper`),checked:s.newMessageEnabled,onChange:e=>l({...s,newMessageEnabled:e}),disabled:f,className:Je})}),t===`error`?(0,Q.jsx)(m,{tone:`error`,children:i(`chatsSettingsModal.saveError`)}):null]}),(0,Q.jsx)(`span`,{role:`status`,className:`sr-only`,children:f?i(`chatsSettingsModal.saving`):``}),(0,Q.jsxs)(B.Footer,{className:`shrink-0`,children:[(0,Q.jsx)(D,{type:`button`,variant:`outlined`,className:`text-[var(--content-default)] disabled:text-[var(--content-disabled)]`,onClick:r,disabled:f,children:i(`chatsSettingsModal.cancel`)}),(0,Q.jsx)(D,{type:`submit`,variant:`primary`,className:`[[data-theme=velvet]_&]:enabled:bg-[var(--primary-active)]`,disabled:!d,loading:f,children:i(f?`chatsSettingsModal.saving`:`chatsSettingsModal.confirm`)})]})]})}function Ze({open:e,onOpenChange:t,state:n,saveStatus:r,onSave:i,onRetryLoad:a,returnFocusRef:o}){let{t:s}=Y(`chat`),c=r===`pending`,l=()=>{c||t(!1)};return(0,Q.jsx)(B.Root,{open:e,onOpenChange:e=>{e||l()},children:(0,Q.jsxs)(B.Content,{size:`sm`,hideCloseButton:!0,dismissOnOverlayClick:!c,className:`max-h-[calc(100dvh-2rem-var(--safe-area-inset-top,env(safe-area-inset-top,0px))-var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))]`,overlayClassName:`pt-[max(1rem,var(--safe-area-inset-top,env(safe-area-inset-top,0px)))] pb-[max(1rem,var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))]`,onEscapeKeyDown:e=>{c&&e.preventDefault()},onCloseAutoFocus:e=>{o?.current&&(e.preventDefault(),o.current.focus())},children:[(0,Q.jsxs)(B.Header,{className:`shrink-0 pr-4`,children:[(0,Q.jsx)(B.Title,{className:`[&>span]:whitespace-normal`,children:s(`chatsSettingsModal.title`)}),(0,Q.jsx)(B.Description,{className:`sr-only`,children:s(`chatsSettingsModal.description`)})]}),n.status===`ready`?(0,Q.jsx)(Xe,{values:n.values,saveStatus:r,onSave:i,onCancel:l}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(B.Body,{className:`min-h-0`,children:n.status===`loading`?(0,Q.jsx)(b,{as:`p`,variant:`body-small-default`,role:`status`,children:s(`chatsSettingsModal.loading`)}):n.status===`error`?(0,Q.jsx)(m,{tone:`error`,actions:(0,Q.jsx)(D,{variant:`outlined`,className:`text-[var(--content-default)] disabled:text-[var(--content-disabled)]`,onClick:a,children:s(`chatsSettingsModal.retry`)}),children:s(`chatsSettingsModal.loadError`)}):(0,Q.jsx)(m,{tone:`info`,children:s(`chatsSettingsModal.unsupported`)})}),(0,Q.jsxs)(B.Footer,{className:`shrink-0`,children:[(0,Q.jsx)(D,{variant:`outlined`,className:`text-[var(--content-default)] disabled:text-[var(--content-disabled)]`,onClick:l,disabled:c,children:s(`chatsSettingsModal.cancel`)}),(0,Q.jsx)(D,{variant:`primary`,disabled:!0,children:s(`chatsSettingsModal.confirm`)})]})]})]})})}function Qe({assistantId:e,open:t,onSaved:n}){let i=fe(`chatsSettings`),a=i.data===!0,o=R(),s=q(),c=(0,Z.useRef)(!1),l=(0,Z.useRef)(!1),[u]=(0,Z.useState)(F),[d,p]=(0,Z.useState)(!1),m=()=>c.current&&F()===u,h=Be({...te({path:{assistant_id:e}}),enabled:t&&a&&o,staleTime:0,refetchOnMount:`always`}),g=le({onSuccess:(e,t)=>{m()&&(pe(s,{path:t.path},e),n())},onError:e=>{m()&&f(e,{context:`chats-settings-save`})}}),_=g.reset;(0,Z.useEffect)(()=>(c.current=!0,()=>{c.current=!1}),[]),(0,Z.useEffect)(()=>{t||_()},[t,_]);let v=h.data?.conversations?.autoArchive,y=h.data?.notifications?.newMessageEnabled,b=v!=null&&typeof y==`boolean`;(0,Z.useEffect)(()=>{h.isFetchedAfterMount&&h.isSuccess&&b&&p(!0)},[h.isFetchedAfterMount,h.isSuccess,b]);let x;return x=o?!a&&i.isPending?{status:`loading`}:!a&&i.isError?{status:`error`}:a?d&&v&&typeof y==`boolean`?{status:`ready`,values:{autoArchive:v,newMessageEnabled:y}}:h.isError||h.isFetchedAfterMount&&h.isSuccess&&!b?{status:`error`}:{status:`loading`}:{status:`unsupported`}:{status:`loading`},{state:x,saveStatus:g.isPending?`pending`:g.isError?`error`:`idle`,save:async n=>{if(!(!m()||!t||!a||x.status!==`ready`||r()!==`ready`||l.current)){l.current=!0;try{await g.mutateAsync({path:{assistant_id:e},body:{...n}})}catch{}finally{l.current=!1}}},retryLoad:()=>{m()&&o&&((i.isError||!a)&&i.refetch(),a&&h.refetch())}}}function $e({assistantId:e,onClose:t,returnFocusRef:n}){let r=Qe({assistantId:e,open:!0,onSaved:t});return(0,Q.jsx)(Ze,{open:!0,onOpenChange:e=>{e||t()},state:r.state,saveStatus:r.saveStatus,onSave:r.save,onRetryLoad:r.retryLoad,returnFocusRef:n})}function et(){}var tt={groupId:xe};function nt(e){return e instanceof _e||e instanceof a&&e.status===400}function rt(e,t=!0){let n=q(),[r,i]=(0,Z.useState)(null),a=r!==null&&r===e,o=Me(e,t&&!a),s=o.error;(0,Z.useEffect)(()=>{e&&nt(s)&&i(e)},[e,s]);let c=a||nt(s),l=t&&c,m=T(e,l),h=u(e,l),g=p(e,l),_=C(e,l),v=ve(e),y=d(e,tt,l&&v),b=(0,Z.useMemo)(()=>[...N(m.conversations,h.conversations,g.conversations,_.conversations,y.conversations)].sort(G),[m.conversations,h.conversations,g.conversations,_.conversations,y.conversations]),x=(0,Z.useMemo)(()=>[...o.conversations].sort(G),[o.conversations]),S=(0,Z.useCallback)(t=>{e&&De(n,e,t).catch(e=>{f(e,{context:`useAllChatsData.loadMore`,bestEffort:!0})})},[e,n]),w=(0,Z.useCallback)(()=>{S(I)},[S]),E=(0,Z.useCallback)(()=>{S(tt)},[S]),D=m.refetch,O=h.refetch,k=g.refetch,A=_.refetch,j=y.refetch,M=(0,Z.useCallback)(()=>{D(),O(),k(),A(),j()},[D,O,k,A,j]);return c?{conversations:b,hasMore:y.hasMore,loadMore:y.hasMore?E:et,isLoading:m.isLoading||h.isLoading||g.isLoading||_.isLoading||y.isLoading,isError:m.isError&&!m.hasData||h.isError&&!h.hasData||g.isError&&!g.hasData||_.isError&&!_.hasData||y.isError&&!y.hasData,retry:M}:{conversations:x,hasMore:o.hasMore,loadMore:w,isLoading:o.isLoading,isError:o.isError&&!o.hasData,retry:o.refetch}}function it(e,{concurrency:t=3,staleMs:n=3e4,now:r=Date.now}={}){let i=new Map,a=new Set,o=0,s=!1;function c(){if(s)for(let[l,u]of i){if(a.size>=t)break;if(!u.users||a.has(l)||u.revision===u.requestedRevision&&r()-u.refreshedAt<n)continue;a.add(l);let i=o,d=u.requestedRevision,f=()=>s&&o===i;e(l,f).catch(()=>{}).finally(()=>{a.delete(l),f()&&(u.refreshedAt=r(),u.revision=d),c()})}}return{start(){s=!0,c()},stop(){s=!1,o++},register(e){let t=i.get(e)??{users:0,refreshedAt:0,revision:-1,requestedRevision:0};return t.users++,i.set(e,t),c(),()=>{t.users=Math.max(0,t.users-1)}},refresh(e){for(let[t,n]of i)(e===void 0||t===e)&&n.requestedRevision++;c()}}}var at=new Set([`subagent_spawned`,`subagent_status_changed`,`acp_session_spawned`,`acp_session_completed`,`acp_session_error`,`background_tool_started`,`background_tool_completed`]);function ot(e,t){let n=R(),r=Oe(),i=(0,Z.useMemo)(()=>it(async(t,n)=>{r&&n()&&await V.getState().reconcileFromDaemon(e,t,`reopen`),n()&&await k(e,t,n,!1),n()&&await ie(e,t,n)}),[e,r]);return(0,Z.useEffect)(()=>(t&&n&&i.start(),()=>i.stop()),[i,t,n]),U(`sse.opened`,({assistantId:t,cause:n})=>{t===e&&n!==`anchor`&&i.refresh()}),U(`app.resume`,()=>i.refresh()),U(`sse.event`,({message:e,conversationId:t})=>{if(!at.has(e.type))return;let n=t||(`parentConversationId`in e?e.parentConversationId:void 0)||(`conversationId`in e?e.conversationId:void 0)||(`subagentId`in e?V.getState().byId[e.subagentId]?.parentConversationId:void 0)||(`acpSessionId`in e?K.getState().byId[e.acpSessionId]?.parentConversationId:void 0);i.refresh(n)}),i.register}function st({status:e,count:t,children:n}){let{t:r}=Y(`chat`),i=e===`attention`,a=i?r(`allChatsPage.needsAttention`):r(`allChatsPage.runningCount`,{count:t});return(0,Q.jsxs)(`span`,{role:`status`,"aria-label":a,className:z(`inline-flex shrink-0 items-center gap-1 rounded-full border border-[var(--border-base)] px-1.5 py-0.5`,i?`text-[var(--system-mid-strong)]`:`text-[var(--content-secondary)]`),children:[(0,Q.jsx)(`span`,{className:`sr-only`,children:a}),i?(0,Q.jsx)(Ue,{size:12,"aria-hidden":!0}):(0,Q.jsx)(X,{size:12,"aria-hidden":!0,className:`motion-safe:animate-pulse`}),(0,Q.jsx)(b,{variant:`body-small-lighter`,className:`max-sm:hidden`,"aria-hidden":!0,children:r(i?`allChatsPage.needsAttention`:`allChatsPage.running`)}),(0,Q.jsx)(`span`,{className:`hidden sm:contents`,"aria-hidden":!0,children:n})]})}function ct({conversation:e}){let t=e.conversationId,n=y(e=>e.processingConversationIds.has(t)),r=y(e=>e.attentionConversationIds.has(t)),i=V(J(e=>e.orderedIds.filter(n=>{let r=e.byId[n];return r?.parentConversationId===t&&Ne(r.status)&&r.status!==`awaiting_input`}))),a=V(e=>e.orderedIds.some(n=>{let r=e.byId[n];return r?.parentConversationId===t&&r.status===`awaiting_input`})),o=K(J(e=>e.orderedIds.filter(n=>{let r=e.byId[n];return r?.parentConversationId===t&&ae(r.status)}))),s=de(e=>e.orderedIds.filter(n=>{let r=e.byId[n];return r?.conversationId===t&&_(r.status)}).length),c=(0,Z.useMemo)(()=>({running:[...i.map(e=>({kind:`subagent`,id:e})),...o.map(e=>({kind:`acp-run`,id:e}))],completed:[],total:i.length+o.length}),[i,o]),l=c.total+s;return!r&&!a&&!n&&!e.isProcessing&&l===0?null:(0,Q.jsx)(st,{status:r||a?`attention`:`running`,count:Math.max(1,l),children:(0,Q.jsx)(x,{activity:c,maxChips:2})})}function $(e,t=0){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+t).getTime()}function lt(e){return e.kind===`month`?`month:${e.year}-${e.month}`:e.kind}function ut(e,t){if(e>=$(t))return{kind:`today`};if(e>=$(t,-1))return{kind:`yesterday`};if(e>=$(t,-7))return{kind:`previous7Days`};if(e>=$(t,-30))return{kind:`previous30Days`};let n=new Date(e);return{kind:`month`,year:n.getFullYear(),month:n.getMonth()}}var dt=[`today`,`yesterday`,`previous7Days`,`previous30Days`];function ft(e){return e.kind===`month`?dt.length:dt.indexOf(e.kind)}function pt(e,t){let n=ft(e.id)-ft(t.id);return n!==0||e.id.kind!==`month`||t.id.kind!==`month`?n:t.id.year-e.id.year||t.id.month-e.id.month}function mt(e,t,n){let r=new Map;for(let i of e){let e=t(i);if(e==null||!Number.isFinite(e))continue;let a=ut(e,n),o=lt(a),s=r.get(o);s?s.items.push(i):r.set(o,{key:o,id:a,items:[i]})}return[...r.values()].sort(pt)}var ht=new Map;function gt(e,t){let n=`${e}:${t??``}`,r=ht.get(n);return r||(r=new Intl.DateTimeFormat(t,e===`time`?{hour:`numeric`,minute:`2-digit`}:e===`dayMonth`?{day:`numeric`,month:`short`}:{day:`numeric`,month:`short`,year:`numeric`}),ht.set(n,r)),r}function _t(e,t,n){let r=ut(e,t).kind,i=new Date(e);return r===`today`||r===`yesterday`?gt(`time`,n).format(i):gt(i.getFullYear()===t.getFullYear()?`dayMonth`:`dayMonthYear`,n).format(i)}var vt={today:`allChatsPage.band.today`,yesterday:`allChatsPage.band.yesterday`,previous7Days:`allChatsPage.band.previous7Days`,previous30Days:`allChatsPage.band.previous30Days`};function yt(e,t,n){return e.kind===`month`?new Date(e.year,e.month,1).toLocaleDateString(n,{month:`long`,year:`numeric`}):t(vt[e.kind])}function bt(e){return Ee(e)??e.createdAt}var xt=`whitespace-nowrap tabular-nums text-body-small-lighter text-[color:var(--content-tertiary)]`,St=[`[&_[data-slot=crossfade-stack]>*]:w-full`,`[&_[data-slot=crossfade-stack]>*]:justify-end`].join(` `);function Ct(){let[e,t]=(0,Z.useState)(()=>new Date().setHours(0,0,0,0));return(0,Z.useEffect)(()=>{let e=new Date;e.setHours(24,0,0,0);let n=setTimeout(()=>t(new Date().setHours(0,0,0,0)),Math.max(1e3,e.getTime()-Date.now()));return()=>clearTimeout(n)},[e]),e}function wt({enabled:e,loadedCount:t,onLoadMore:n}){(0,Z.useEffect)(()=>{e&&n()},[e,t,n])}function Tt({conversation:e,now:n,activity:r,onMount:i}){let{t:a}=Y(`chat`),s=A(),c=ue(),u=j(e),d=s(e.title),f=(0,Z.useId)(),p=(0,Z.useId)(),m=ge(),h=t();(0,Z.useEffect)(()=>i?.(e.conversationId),[i,e.conversationId]);let _=bt(e),v=_===void 0?``:_t(_,n,M()),y=w(a,!0),b=u?y.unarchive:y.archive,x=o({shouldSkip:re}),C=oe(c,e),T=!C.isReadonly&&!!(u?c.onUnarchive:c.onArchive),E=(0,Z.useCallback)(()=>{u?c.onUnarchive?.(e):c.onArchive?.(e)},[c,e,u]),O=(0,Q.jsx)(g,{label:(0,Q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:z(`min-w-0 truncate`,u&&`text-[var(--content-tertiary)] line-through`),children:d}),e.hasUnseenLatestAssistantMessage&&(0,Q.jsx)(`span`,{id:p,className:`size-1.5 shrink-0 rounded-full bg-[var(--system-mid-strong)]`,children:(0,Q.jsx)(`span`,{className:`sr-only`,children:a(`allChatsPage.unread`)})}),(0,Q.jsx)(`span`,{id:f,className:`ml-auto flex shrink-0 items-center`,children:r})]}),"aria-label":u?a(`allChatsPage.doneLabel`,{title:d}):d,"aria-describedby":[e.hasUnseenLatestAssistantMessage&&p,f].filter(Boolean).join(` `),leadingSlot:(0,Q.jsx)(be,{channelId:e.originChannel,className:z(`size-5 shrink-0`,u?`text-[color:var(--content-disabled)]`:`text-[color:var(--content-tertiary)]`)}),badge:(0,Q.jsx)(`span`,{className:xt,children:v}),badgeBare:!0,onSelect:()=>c.onSelect(e.conversationId),trailingAction:(0,Q.jsxs)(`span`,{className:`flex items-center`,onKeyDown:e=>e.stopPropagation(),children:[h&&T&&(0,Q.jsx)(D,{variant:`ghost`,size:`compact`,iconOnly:u?(0,Q.jsx)(y.unarchiveIcon,{"aria-hidden":!0}):(0,Q.jsx)(y.archiveIcon,{"aria-hidden":!0}),"aria-label":b,tooltip:b,onClick:E}),h&&(0,Q.jsx)(D,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(He,{"aria-hidden":!0}),"aria-label":a(`allChatsPage.openChat`),tooltip:a(`allChatsPage.openChat`),onClick:()=>c.onSelect(e.conversationId)}),(0,Q.jsx)(je,{...C,doneLabels:y,side:`bottom`,align:`end`,trigger:(0,Q.jsx)(D,{variant:`ghost`,size:`compact`,className:`[@media(pointer:coarse)]:size-11`,iconOnly:(0,Q.jsx)(X,{"aria-hidden":!0}),"aria-label":a(`conversationActions.triggerAriaLabel`)})})]}),className:z(`min-h-11 px-2 py-2 max-md:py-2! text-[var(--content-default)]`,St),title:_===void 0?void 0:new Date(_).toLocaleString(M())});return m?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{...x.wrapperProps,children:O}),(0,Q.jsx)(S,{...C,doneLabels:y,open:x.open,onOpenChange:x.onOpenChange})]}):(0,Q.jsxs)(W.Root,{children:[(0,Q.jsx)(W.Trigger,{children:O}),(0,Q.jsx)(W.Content,{onClick:e=>e.stopPropagation(),children:l({Primitive:W,t:a,doneLabels:y,...C})})]})}function Et({conversations:e,groups:t,filter:n,onFilterChange:r,listContext:a,hasMore:o,onLoadMore:s,isLoading:c,isError:l,onRetry:u,onClose:d,onOpenSettings:f,settingsButtonRef:p,renderActivity:m,onRowMount:h,now:g}){i(`var(--surface-base)`);let{t:_}=Y(`chat`),v=A(),[y,x]=(0,Z.useState)(``),S=(0,Z.useMemo)(()=>Ce(e,t,n),[e,t,n]),C=(0,Z.useMemo)(()=>he(ye(e,n),y,v),[e,n,y,v]),w=Ct(),T=(0,Z.useMemo)(()=>g??new Date(w),[g,w]),E=M(),O=(0,Z.useMemo)(()=>mt(C,bt,T).flatMap(e=>[{kind:`header`,key:`header:${e.key}`,label:yt(e.id,_,E)},...e.items.map(e=>({kind:`row`,key:e.conversationId,conversation:e}))]),[C,T,_,E]),k=(0,Z.useCallback)(e=>t.find(t=>t.id===e)?.name??e,[t]),j=(0,Z.useCallback)(e=>{switch(e.kind){case`all`:return _(`allChatsPage.chip.all`);case`done`:return _(`allChatsPage.chip.done`);case`background`:return _(`allChatsPage.chip.background`);case`channel`:return Te(e.channelId);case`group`:return k(e.groupId)}},[_,k]),N=(0,Z.useCallback)((e,t)=>t.kind===`header`?(0,Q.jsx)(`h2`,{className:`px-2 pt-6 pb-1 text-body-small-lighter text-[color:var(--content-tertiary)]`,children:t.label}):(0,Q.jsx)(Tt,{conversation:t.conversation,now:T,activity:m?.(t.conversation),onMount:t.conversation.draft?void 0:h}),[T,m,h]),P=(0,Z.useCallback)(()=>{o&&s()},[o,s]);return wt({enabled:O.length===0&&o&&!c&&!l,loadedCount:e.length,onLoadMore:s}),(0,Q.jsx)(`section`,{className:`flex min-h-0 min-w-0 flex-1 flex-col px-3 pt-5 md:px-0 md:pt-6`,"aria-label":_(`allChatsPage.title`),children:(0,Q.jsxs)(`div`,{className:`flex min-h-0 w-full max-w-[600px] flex-1 flex-col self-center md:self-start md:ml-[max(0px,calc(100%_-_50vw_-_284px))]`,children:[(0,Q.jsxs)(`div`,{className:`mb-8 flex shrink-0 items-center justify-between gap-3`,children:[(0,Q.jsx)(b,{as:`h1`,variant:`title-large`,className:`text-[var(--content-default)] [--font-sans:var(--font-serif)] [--text-title-large-size:32px] [--text-title-large-weight:400]`,children:_(`allChatsPage.title`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[f&&(0,Q.jsx)(D,{ref:p,variant:`ghost`,size:`compact`,className:`[@media(pointer:coarse)]:size-11`,iconOnly:(0,Q.jsx)(We,{"aria-hidden":!0}),"aria-label":_(`chatsSettingsModal.title`),tooltip:_(`chatsSettingsModal.title`),onClick:f}),d&&(0,Q.jsx)(D,{variant:`ghost`,size:`compact`,className:`[@media(pointer:coarse)]:size-11`,iconOnly:(0,Q.jsx)(Ge,{"aria-hidden":!0}),"aria-label":_(`allChatsPage.close`),tooltip:_(`allChatsPage.close`),onClick:d})]})]}),(0,Q.jsx)(ke,{fullWidth:!0,wrapperClassName:`shrink-0`,type:`text`,placeholder:_(`allChatsPage.searchPlaceholder`),"aria-label":_(`allChatsPage.searchPlaceholder`),value:y,onChange:e=>x(e.target.value),leftIcon:(0,Q.jsx)(Ke,{size:16})}),(0,Q.jsx)(`div`,{role:`group`,"aria-label":_(`allChatsPage.filterAria`),className:`mt-4 mb-2 flex shrink-0 gap-2 overflow-x-auto pb-1`,children:S.map(e=>{let t=L(e);return(0,Q.jsx)(ce,{selected:t===L(n),className:z(`border-[var(--border-subtle)] [--text-body-medium-default-weight:400]`,t===L(n)?`bg-[var(--surface-active)] text-[var(--content-default)]`:`bg-transparent`),onClick:()=>r(e),children:j(e)},t)})}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,Q.jsx)(Ot,{items:O,isLoading:c,isError:l,onRetry:u,searchText:y,listContext:a,renderItem:N,hasMore:o,endReached:P})})]})})}function Dt({label:e}){return(0,Q.jsx)(`div`,{className:`size-6 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`,role:`status`,"aria-label":e})}function Ot({items:e,isLoading:t,isError:n,onRetry:r,searchText:i,listContext:a,renderItem:o,hasMore:s,endReached:c}){let{t:l}=Y(`chat`);return t?(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(Dt,{label:l(`allChatsPage.loading`)})}):n?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:l(`allChatsPage.loadError`)}),(0,Q.jsxs)(D,{variant:`outlined`,onClick:r,children:[(0,Q.jsx)(Ve,{className:`size-4`,"aria-hidden":!0}),l(`allChatsPage.retry`)]})]}):e.length===0?s?(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(Dt,{label:l(`allChatsPage.loading`)})}):(0,Q.jsx)(`div`,{className:`flex h-full flex-col items-center justify-center px-4`,children:(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:i.trim()?l(`allChatsPage.noMatches`,{query:i.trim()}):l(`allChatsPage.empty`)})}):(0,Q.jsx)(v,{value:a,children:(0,Q.jsx)(Se,{items:e,itemContent:o,computeItemKey:(e,t)=>t.key,endReached:c,className:`h-full bg-transparent`})})}function kt(e){return(0,Q.jsx)(ct,{conversation:e})}function At(){let e=h(),t=we();return(0,Q.jsx)(jt,{assistantId:e},`${t??`local`}:${e}`)}function jt({assistantId:e}){let t=Ie(),[r,i]=(0,Z.useState)(!1),a=(0,Z.useRef)(null),o=H.use.hydrated(),c=H.use.sidebarDone(),[l,u]=Fe(),d=o&&c,f=ot(e,d),p=rt(e,d),{conversationGroups:m}=Ae(e,d),{conversations:h}=T(e,d),g=y.use.activeConversationId(),_=(0,Z.useRef)(new Map),v=(0,Z.useCallback)(e=>{n(t,e)},[t]),{handleArchiveConversation:b,handleUnarchiveConversation:x,handleDeleteConversation:S,handleMarkConversationRead:C,handleMarkConversationUnread:w,handleTogglePinConversation:D,handleRenameConversation:k,handleMoveToGroup:A,handleRemoveFromGroup:j}=E({assistantId:e,activeConversationId:g,conversations:h,switchConversation:v,startNewConversation:(0,Z.useCallback)(e=>{ee(t,e)},[t]),prePinGroupIdsRef:_}),M=s({assistantId:e,deleteConversation:S}),N=M.requestDelete,P=(0,Z.useMemo)(()=>({activeConversationId:g??void 0,onSelect:v,onPin:D,onRename:k,onArchive:b,onUnarchive:x,onDelete:N,onMarkRead:C,onMarkUnread:w,conversationGroups:m,onMoveToGroup:A,onRemoveFromGroup:j}),[g,v,D,k,b,x,N,C,w,m,A,j]),F=(0,Z.useMemo)(()=>m.filter(e=>ne(e.id)),[m]),I=(0,Z.useMemo)(()=>({groupIds:F.map(e=>e.id)}),[F]),L=(0,Z.useMemo)(()=>se(l,I),[l,I]),R=(0,Z.useCallback)(e=>{u(new URLSearchParams(me(e).slice(1)),{replace:!0})},[u]);return o?c?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Et,{conversations:p.conversations,groups:F,filter:L,onFilterChange:R,listContext:P,hasMore:p.hasMore,onLoadMore:p.loadMore,isLoading:p.isLoading,isError:p.isError,onRetry:p.retry,renderActivity:kt,onRowMount:f,onOpenSettings:()=>i(!0),settingsButtonRef:a,onClose:()=>{g?n(t,g,{replace:!0}):t(O.assistant,{replace:!0})}}),r&&(0,Q.jsx)($e,{assistantId:e,onClose:()=>i(!1),returnFocusRef:a}),(0,Q.jsx)(Pe,{pending:M.pending,onConfirm:M.confirmDelete,onCancel:M.cancelDelete})]}):(0,Q.jsx)(Le,{to:O.assistant,replace:!0}):null}export{At as AllChatsPageRoute};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Og as t,Ry as n}from"./app-DAMRg6Fy.js";import{x as r}from"./react-BJ4PZBJN.js";var i=e(r(),1);function a(e){return new URL(e,window.location.origin).toString()}function o(e){n(a(e))}function s(e){let{open:n,path:r,onClose:a}=e,s=t(),c=(0,i.useRef)(a);return(0,i.useEffect)(()=>{c.current=a}),(0,i.useEffect)(()=>{s&&n&&(o(r),c.current())},[s,n,r]),s}export{s as n,o as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{ZS as t}from"./app-DAMRg6Fy.js";import{t as n,x as r}from"./react-BJ4PZBJN.js";import{s as i}from"./vendor-CezcraPH.js";import{Ya as a}from"./icons-Dwi7aA1Y.js";var o=a(`arrow-up-from-line`,[[`path`,{d:`m18 9-6-6-6 6`,key:`kcunyi`}],[`path`,{d:`M12 3v14`,key:`7cf3v8`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),s=e(r(),1),c=n();function l(e){if(e>=1e6){let t=e/1e6;return`${t%1==0?t.toFixed(0):t.toFixed(1)}M`}if(e>=1e3){let t=e/1e3;return`${t%1==0?t.toFixed(0):t.toFixed(1)}K`}return e.toLocaleString()}function u(e){let t=i(),[n,r]=(0,s.useState)(e),a=(0,s.useRef)(e),o=(0,s.useRef)(e),c=(0,s.useRef)(0);return(0,s.useEffect)(()=>{if(o.current=e,t){cancelAnimationFrame(c.current),c.current=0,a.current=e,r(e);return}if(a.current===e||c.current)return;let n=performance.now(),i=a.current,s=e=>{let t=o.current,l=Math.min((e-n)/300,1),u=1-(1-l)**3;a.current=l>=1?t:i+(t-i)*u,r(a.current),l<1?c.current=requestAnimationFrame(s):c.current=0};c.current=requestAnimationFrame(s)},[e,t]),(0,s.useEffect)(()=>()=>cancelAnimationFrame(c.current),[]),n}function d({icon:e,label:n,target:r,format:i}){return(0,c.jsx)(t,{icon:e,label:n,value:i(u(r))})}export{l as n,o as r,d as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ci as t,Py as n,YC as r,_S as i,ab as a,cC as o,ki as s,vS as c,wC as l}from"./app-DAMRg6Fy.js";import{_ as u,f as d,t as f,x as p}from"./react-BJ4PZBJN.js";import{w as m}from"./vendor-CezcraPH.js";import{a as h,c as g,i as _,o as v,r as y,s as b}from"./provider-key-BmLS_HdL.js";import"./onboarding-step-layout-Vb0tyqKa.js";var x=e(p(),1),S=f();function C(){let{t:e}=m(`onboarding`),f=d(),[p]=u(),C=p.get(`hosting`),w=c(),T=y(),[E,D]=(0,x.useState)(()=>T?.provider??h.id),[O,k]=(0,x.useState)(()=>T?.key??``),[A,j]=(0,x.useState)(()=>T?.model??b(T?.provider??h.id)??``),[M,N]=(0,x.useState)(()=>T?.baseUrl??``),[P,F]=(0,x.useState)(()=>T?.customModels??``),I=g(E)??h,L=I.models??[],R=I.requiresKey,z=L.length>0,B=E===`openai-compatible`,V=(!(R&&!B)||O.trim().length>0)&&(!z||A.trim().length>0)&&(!B||M.trim().length>0&&P.trim().length>0);return(0,S.jsx)(t,{avatarWave:`beside`,children:(0,S.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${w?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[(0,S.jsx)(`h1`,{className:w?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:e(`apiKeyScreen.title`)}),(0,S.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${w?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:e(`apiKeyScreen.body`)}),(0,S.jsxs)(`div`,{className:`flex w-full flex-col gap-4 ${w?`mt-8`:`mt-10`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:[(0,S.jsxs)(`div`,{className:`flex flex-col ${w?`gap-2`:`gap-1`}`,children:[(0,S.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`apiKeyScreen.providerLabel`)}),(0,S.jsx)(o,{"aria-label":e(`apiKeyScreen.providerLabel`),value:E,onChange:e=>{let t=g(e);t&&(D(t.id),k(``),j(b(t.id)??``))},options:v.map(e=>({value:e.id,label:e.displayName}))})]}),L.length>0&&(0,S.jsxs)(`div`,{className:`flex flex-col ${w?`gap-2`:`gap-1`}`,children:[(0,S.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`apiKeyScreen.modelLabel`)}),(0,S.jsx)(o,{"aria-label":e(`apiKeyScreen.modelLabel`),value:A,onChange:j,options:L.map(e=>({value:e.id,label:e.displayName}))})]}),B&&(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{className:`flex flex-col ${w?`gap-2`:`gap-1`}`,children:[(0,S.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`apiKeyScreen.baseUrlLabel`)}),(0,S.jsx)(l,{type:`text`,placeholder:`http://localhost:1234/v1`,value:M,onChange:e=>N(e.target.value),fullWidth:!0})]}),(0,S.jsxs)(`div`,{className:`flex flex-col ${w?`gap-2`:`gap-1`}`,children:[(0,S.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`apiKeyScreen.modelsLabel`)}),(0,S.jsx)(l,{type:`text`,placeholder:e(`apiKeyScreen.modelsPlaceholder`),value:P,onChange:e=>F(e.target.value),fullWidth:!0}),(0,S.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`apiKeyScreen.modelsHelp`)})]})]}),R&&(0,S.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,S.jsx)(l,{type:`password`,label:e(`apiKeyScreen.apiKeyLabel`,{provider:I.displayName}),placeholder:I.apiKeyPlaceholder??e(`apiKeyScreen.apiKeyPlaceholder`),value:O,onChange:e=>k(e.target.value),className:`touch-mobile:text-[16px]`,fullWidth:!0}),I.docsUrl&&(0,S.jsxs)(`p`,{className:`self-start text-body-medium-lighter text-[var(--content-tertiary)]`,children:[e(`apiKeyScreen.noKeyPrompt`),` `,(0,S.jsx)(n,{href:I.docsUrl,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1,children:e(`apiKeyScreen.getKeyLink`)})]})]})]}),(0,S.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${w?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[(0,S.jsx)(r,{variant:`primary`,size:w?`regular`:`large`,fullWidth:!0,disabled:!V,onClick:()=>{if(!V)return;let e=A.trim()||b(E);_({provider:E,key:O.trim(),...e?{model:e}:{},...B?{baseUrl:M.trim(),customModels:P.trim()}:{}});let t=new URLSearchParams({[a]:`1`});C&&t.set(`hosting`,C),f(`${i.onboarding.privacy}?${t.toString()}`,s)},children:e(`actions.continue`)}),(0,S.jsx)(r,{variant:`outlined`,size:w?`regular`:`large`,fullWidth:!0,onClick:()=>{f(i.onboarding.hosting,s)},children:e(`actions.back`)})]})]})})}export{C as ApiKeyScreen};